{
  "$comment": "Please use vscode; otherwise, markdownDescription may not work.",
  "$schema": "http://json-schema.org/draft-07/schema",
  "$id": "https://schema.abgox.com/scoop-manifest.en-US.json",
  "title": "Schema for Scoop manifest",
  "type": "object",
  "required": [
    "version",
    "description",
    "homepage",
    "license"
  ],
  "definitions": {
    "bool": {
      "type": "boolean",
      "examples": [
        true
      ]
    },
    "str": {
      "type": "string",
      "minLength": 1,
      "allOf": [
        {
          "not": {
            "pattern": "^\\s[^\\s]"
          },
          "errorMessage": "Please remove the leading space"
        },
        {
          "not": {
            "pattern": "[^\\s]\\s$"
          },
          "errorMessage": "Please remove the trailing space"
        }
      ]
    },
    "str_or_arr": {
      "type": [
        "string",
        "array"
      ],
      "items": {
        "type": "string",
        "allOf": [
          {
            "not": {
              "maxLength": 0
            },
            "errorMessage": "String is shorter than the minimum length of 1.\nIf you just want to avoid warnings, you can add a space."
          }
        ]
      },
      "minLength": 1,
      "minItems": 1,
      "$ref": "#/definitions/use_string_if_single"
    },
    "use_string_if_single": {
      "if": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "then": {
        "not": {
          "minItems": 1,
          "maxItems": 1
        },
        "errorMessage": "When the array has only one item, it should be a string."
      }
    },
    "spdx_license_identifier": {
      "enum": [
        "0BSD",
        "3D-Slicer-1.0",
        "AAL",
        "Abstyles",
        "AdaCore-doc",
        "Adobe-2006",
        "Adobe-Display-PostScript",
        "Adobe-Glyph",
        "Adobe-Utopia",
        "ADSL",
        "Advanced-Cryptics-Dictionary",
        "AFL-1.1",
        "AFL-1.2",
        "AFL-2.0",
        "AFL-2.1",
        "AFL-3.0",
        "Afmparse",
        "AGPL-1.0-only",
        "AGPL-1.0-or-later",
        "AGPL-3.0-only",
        "AGPL-3.0-or-later",
        "Aladdin",
        "ALGLIB-Documentation",
        "AMD-newlib",
        "AMDPLPA",
        "AML",
        "AML-glslang",
        "AMPAS",
        "ANTLR-PD",
        "ANTLR-PD-fallback",
        "any-OSI",
        "any-OSI-perl-modules",
        "Apache-1.0",
        "Apache-1.1",
        "Apache-2.0",
        "APAFML",
        "APL-1.0",
        "App-s2p",
        "APSL-1.0",
        "APSL-1.1",
        "APSL-1.2",
        "APSL-2.0",
        "Arphic-1999",
        "Artistic-1.0",
        "Artistic-1.0-cl8",
        "Artistic-1.0-Perl",
        "Artistic-2.0",
        "Artistic-dist",
        "Aspell-RU",
        "ASWF-Digital-Assets-1.0",
        "ASWF-Digital-Assets-1.1",
        "Baekmuk",
        "Bahyph",
        "Barr",
        "bcrypt-Solar-Designer",
        "Beerware",
        "Bitstream-Charter",
        "Bitstream-Vera",
        "BitTorrent-1.0",
        "BitTorrent-1.1",
        "blessing",
        "BlueOak-1.0.0",
        "Boehm-GC",
        "Boehm-GC-without-fee",
        "BOLA-1.1",
        "Borceux",
        "Brian-Gladman-2-Clause",
        "Brian-Gladman-3-Clause",
        "BSD-1-Clause",
        "BSD-2-Clause",
        "BSD-2-Clause-Darwin",
        "BSD-2-Clause-first-lines",
        "BSD-2-Clause-Patent",
        "BSD-2-Clause-pkgconf-disclaimer",
        "BSD-2-Clause-Views",
        "BSD-3-Clause",
        "BSD-3-Clause-acpica",
        "BSD-3-Clause-Attribution",
        "BSD-3-Clause-Clear",
        "BSD-3-Clause-flex",
        "BSD-3-Clause-HP",
        "BSD-3-Clause-LBNL",
        "BSD-3-Clause-Modification",
        "BSD-3-Clause-No-Military-License",
        "BSD-3-Clause-No-Nuclear-License",
        "BSD-3-Clause-No-Nuclear-License-2014",
        "BSD-3-Clause-No-Nuclear-Warranty",
        "BSD-3-Clause-Open-MPI",
        "BSD-3-Clause-Sun",
        "BSD-3-Clause-Tso",
        "BSD-4-Clause",
        "BSD-4-Clause-Shortened",
        "BSD-4-Clause-UC",
        "BSD-4.3RENO",
        "BSD-4.3TAHOE",
        "BSD-Advertising-Acknowledgement",
        "BSD-Attribution-HPND-disclaimer",
        "BSD-Inferno-Nettverk",
        "BSD-Mark-Modifications",
        "BSD-Protection",
        "BSD-Source-beginning-file",
        "BSD-Source-Code",
        "BSD-Systemics",
        "BSD-Systemics-W3Works",
        "BSL-1.0",
        "Buddy",
        "BUSL-1.1",
        "bzip2-1.0.6",
        "C-UDA-1.0",
        "CAL-1.0",
        "CAL-1.0-Combined-Work-Exception",
        "Caldera",
        "Caldera-no-preamble",
        "CAPEC-tou",
        "Catharon",
        "CATOSL-1.1",
        "CC-BY-1.0",
        "CC-BY-2.0",
        "CC-BY-2.5",
        "CC-BY-2.5-AU",
        "CC-BY-3.0",
        "CC-BY-3.0-AT",
        "CC-BY-3.0-AU",
        "CC-BY-3.0-DE",
        "CC-BY-3.0-IGO",
        "CC-BY-3.0-NL",
        "CC-BY-3.0-US",
        "CC-BY-4.0",
        "CC-BY-NC-1.0",
        "CC-BY-NC-2.0",
        "CC-BY-NC-2.5",
        "CC-BY-NC-3.0",
        "CC-BY-NC-3.0-DE",
        "CC-BY-NC-4.0",
        "CC-BY-NC-ND-1.0",
        "CC-BY-NC-ND-2.0",
        "CC-BY-NC-ND-2.5",
        "CC-BY-NC-ND-3.0",
        "CC-BY-NC-ND-3.0-DE",
        "CC-BY-NC-ND-3.0-IGO",
        "CC-BY-NC-ND-4.0",
        "CC-BY-NC-SA-1.0",
        "CC-BY-NC-SA-2.0",
        "CC-BY-NC-SA-2.0-DE",
        "CC-BY-NC-SA-2.0-FR",
        "CC-BY-NC-SA-2.0-UK",
        "CC-BY-NC-SA-2.5",
        "CC-BY-NC-SA-3.0",
        "CC-BY-NC-SA-3.0-DE",
        "CC-BY-NC-SA-3.0-IGO",
        "CC-BY-NC-SA-4.0",
        "CC-BY-ND-1.0",
        "CC-BY-ND-2.0",
        "CC-BY-ND-2.5",
        "CC-BY-ND-3.0",
        "CC-BY-ND-3.0-DE",
        "CC-BY-ND-4.0",
        "CC-BY-SA-1.0",
        "CC-BY-SA-2.0",
        "CC-BY-SA-2.0-UK",
        "CC-BY-SA-2.1-JP",
        "CC-BY-SA-2.5",
        "CC-BY-SA-3.0",
        "CC-BY-SA-3.0-AT",
        "CC-BY-SA-3.0-DE",
        "CC-BY-SA-3.0-IGO",
        "CC-BY-SA-4.0",
        "CC-PDDC",
        "CC-PDM-1.0",
        "CC-SA-1.0",
        "CC0-1.0",
        "CDDL-1.0",
        "CDDL-1.1",
        "CDL-1.0",
        "CDLA-Permissive-1.0",
        "CDLA-Permissive-2.0",
        "CDLA-Sharing-1.0",
        "CECILL-1.0",
        "CECILL-1.1",
        "CECILL-2.0",
        "CECILL-2.1",
        "CECILL-B",
        "CECILL-C",
        "CERN-OHL-1.1",
        "CERN-OHL-1.2",
        "CERN-OHL-P-2.0",
        "CERN-OHL-S-2.0",
        "CERN-OHL-W-2.0",
        "CFITSIO",
        "check-cvs",
        "checkmk",
        "ClArtistic",
        "Clips",
        "CMU-Mach",
        "CMU-Mach-nodoc",
        "CNRI-Jython",
        "CNRI-Python",
        "CNRI-Python-GPL-Compatible",
        "COIL-1.0",
        "Community-Spec-1.0",
        "Condor-1.1",
        "copyleft-next-0.3.0",
        "copyleft-next-0.3.1",
        "Cornell-Lossless-JPEG",
        "CPAL-1.0",
        "CPL-1.0",
        "CPOL-1.02",
        "Cronyx",
        "Crossword",
        "CryptoSwift",
        "CrystalStacker",
        "CUA-OPL-1.0",
        "Cube",
        "curl",
        "cve-tou",
        "D-FSL-1.0",
        "DEC-3-Clause",
        "diffmark",
        "DL-DE-BY-2.0",
        "DL-DE-ZERO-2.0",
        "DOC",
        "DocBook-DTD",
        "DocBook-Schema",
        "DocBook-Stylesheet",
        "DocBook-XML",
        "Dotseqn",
        "DRL-1.0",
        "DRL-1.1",
        "DSDP",
        "dtoa",
        "dvipdfm",
        "ECL-1.0",
        "ECL-2.0",
        "EFL-1.0",
        "EFL-2.0",
        "eGenix",
        "Elastic-2.0",
        "Entessa",
        "EPICS",
        "EPL-1.0",
        "EPL-2.0",
        "ErlPL-1.1",
        "ESA-PL-permissive-2.4",
        "ESA-PL-strong-copyleft-2.4",
        "ESA-PL-weak-copyleft-2.4",
        "etalab-2.0",
        "EUDatagrid",
        "EUPL-1.0",
        "EUPL-1.1",
        "EUPL-1.2",
        "Eurosym",
        "Fair",
        "FBM",
        "FDK-AAC",
        "Ferguson-Twofish",
        "Frameworx-1.0",
        "FreeBSD-DOC",
        "FreeImage",
        "FSFAP",
        "FSFAP-no-warranty-disclaimer",
        "FSFUL",
        "FSFULLR",
        "FSFULLRSD",
        "FSFULLRWD",
        "FSL-1.1-ALv2",
        "FSL-1.1-MIT",
        "FTL",
        "Furuseth",
        "fwlw",
        "Game-Programming-Gems",
        "GCR-docs",
        "GD",
        "generic-xts",
        "GFDL-1.1-invariants-only",
        "GFDL-1.1-invariants-or-later",
        "GFDL-1.1-no-invariants-only",
        "GFDL-1.1-no-invariants-or-later",
        "GFDL-1.1-only",
        "GFDL-1.1-or-later",
        "GFDL-1.2-invariants-only",
        "GFDL-1.2-invariants-or-later",
        "GFDL-1.2-no-invariants-only",
        "GFDL-1.2-no-invariants-or-later",
        "GFDL-1.2-only",
        "GFDL-1.2-or-later",
        "GFDL-1.3-invariants-only",
        "GFDL-1.3-invariants-or-later",
        "GFDL-1.3-no-invariants-only",
        "GFDL-1.3-no-invariants-or-later",
        "GFDL-1.3-only",
        "GFDL-1.3-or-later",
        "Giftware",
        "GL2PS",
        "Glide",
        "Glulxe",
        "GLWTPL",
        "gnuplot",
        "GPL-1.0-only",
        "GPL-1.0-or-later",
        "GPL-2.0-only",
        "GPL-2.0-or-later",
        "GPL-3.0-only",
        "GPL-3.0-or-later",
        "Graphics-Gems",
        "gSOAP-1.3b",
        "gtkbook",
        "Gutmann",
        "HaskellReport",
        "HDF5",
        "hdparm",
        "HIDAPI",
        "Hippocratic-2.1",
        "HP-1986",
        "HP-1989",
        "HPND",
        "HPND-DEC",
        "HPND-doc",
        "HPND-doc-sell",
        "HPND-export-US",
        "HPND-export-US-acknowledgement",
        "HPND-export-US-modify",
        "HPND-export2-US",
        "HPND-Fenneberg-Livingston",
        "HPND-INRIA-IMAG",
        "HPND-Intel",
        "HPND-Kevlin-Henney",
        "HPND-Markus-Kuhn",
        "HPND-merchantability-variant",
        "HPND-MIT-disclaimer",
        "HPND-Netrek",
        "HPND-Pbmplus",
        "HPND-sell-MIT-disclaimer-xserver",
        "HPND-sell-regexpr",
        "HPND-sell-variant",
        "HPND-sell-variant-critical-systems",
        "HPND-sell-variant-MIT-disclaimer",
        "HPND-sell-variant-MIT-disclaimer-rev",
        "HPND-SMC",
        "HPND-UC",
        "HPND-UC-export-US",
        "HTMLTIDY",
        "hyphen-bulgarian",
        "IBM-pibs",
        "ICU",
        "IEC-Code-Components-EULA",
        "IJG",
        "IJG-short",
        "ImageMagick",
        "iMatix",
        "Imlib2",
        "Info-ZIP",
        "Inner-Net-2.0",
        "InnoSetup",
        "Intel",
        "Intel-ACPI",
        "Interbase-1.0",
        "IPA",
        "IPL-1.0",
        "ISC",
        "ISC-Veillard",
        "ISO-permission",
        "Jam",
        "JasPer-2.0",
        "jove",
        "JPL-image",
        "JPNIC",
        "JSON",
        "Kastrup",
        "Kazlib",
        "Knuth-CTAN",
        "LAL-1.2",
        "LAL-1.3",
        "Latex2e",
        "Latex2e-translated-notice",
        "Leptonica",
        "LGPL-2.0-only",
        "LGPL-2.0-or-later",
        "LGPL-2.1-only",
        "LGPL-2.1-or-later",
        "LGPL-3.0-only",
        "LGPL-3.0-or-later",
        "LGPLLR",
        "Libpng",
        "libpng-1.6.35",
        "libpng-2.0",
        "libselinux-1.0",
        "libtiff",
        "libutil-David-Nugent",
        "LiLiQ-P-1.1",
        "LiLiQ-R-1.1",
        "LiLiQ-Rplus-1.1",
        "Linux-man-pages-1-para",
        "Linux-man-pages-copyleft",
        "Linux-man-pages-copyleft-2-para",
        "Linux-man-pages-copyleft-var",
        "Linux-OpenIB",
        "LOOP",
        "LPD-document",
        "LPL-1.0",
        "LPL-1.02",
        "LPPL-1.0",
        "LPPL-1.1",
        "LPPL-1.2",
        "LPPL-1.3a",
        "LPPL-1.3c",
        "lsof",
        "Lucida-Bitmap-Fonts",
        "LZMA-SDK-9.11-to-9.20",
        "LZMA-SDK-9.22",
        "Mackerras-3-Clause",
        "Mackerras-3-Clause-acknowledgment",
        "magaz",
        "mailprio",
        "MakeIndex",
        "man2html",
        "Martin-Birgmeier",
        "McPhee-slideshow",
        "metamail",
        "Minpack",
        "MIPS",
        "MirOS",
        "MIT",
        "MIT-0",
        "MIT-advertising",
        "MIT-Click",
        "MIT-CMU",
        "MIT-enna",
        "MIT-feh",
        "MIT-Festival",
        "MIT-Khronos-old",
        "MIT-Modern-Variant",
        "MIT-open-group",
        "MIT-STK",
        "MIT-testregex",
        "MIT-Wu",
        "MITNFA",
        "MMIXware",
        "MMPL-1.0.1",
        "Motosoto",
        "MPEG-SSG",
        "mpi-permissive",
        "mpich2",
        "MPL-1.0",
        "MPL-1.1",
        "MPL-2.0",
        "MPL-2.0-no-copyleft-exception",
        "mplus",
        "MS-LPL",
        "MS-PL",
        "MS-RL",
        "MTLL",
        "MulanPSL-1.0",
        "MulanPSL-2.0",
        "Multics",
        "Mup",
        "NAIST-2003",
        "NASA-1.3",
        "Naumen",
        "NBPL-1.0",
        "NCBI-PD",
        "NCGL-UK-2.0",
        "NCL",
        "NCSA",
        "NetCDF",
        "Newsletr",
        "NGPL",
        "ngrep",
        "NICTA-1.0",
        "NIST-PD",
        "NIST-PD-fallback",
        "NIST-PD-TNT",
        "NIST-Software",
        "NLOD-1.0",
        "NLOD-2.0",
        "NLPL",
        "Nokia",
        "NOSL",
        "Noweb",
        "NPL-1.0",
        "NPL-1.1",
        "NPOSL-3.0",
        "NRL",
        "NTIA-PD",
        "NTP",
        "NTP-0",
        "O-UDA-1.0",
        "OAR",
        "OCCT-PL",
        "OCLC-2.0",
        "ODbL-1.0",
        "ODC-By-1.0",
        "OFFIS",
        "OFL-1.0",
        "OFL-1.0-no-RFN",
        "OFL-1.0-RFN",
        "OFL-1.1",
        "OFL-1.1-no-RFN",
        "OFL-1.1-RFN",
        "OGC-1.0",
        "OGDL-Taiwan-1.0",
        "OGL-Canada-2.0",
        "OGL-UK-1.0",
        "OGL-UK-2.0",
        "OGL-UK-3.0",
        "OGTSL",
        "OLDAP-1.1",
        "OLDAP-1.2",
        "OLDAP-1.3",
        "OLDAP-1.4",
        "OLDAP-2.0",
        "OLDAP-2.0.1",
        "OLDAP-2.1",
        "OLDAP-2.2",
        "OLDAP-2.2.1",
        "OLDAP-2.2.2",
        "OLDAP-2.3",
        "OLDAP-2.4",
        "OLDAP-2.5",
        "OLDAP-2.6",
        "OLDAP-2.7",
        "OLDAP-2.8",
        "OLFL-1.3",
        "OML",
        "OpenMDW-1.0",
        "OpenPBS-2.3",
        "OpenSSL",
        "OpenSSL-standalone",
        "OpenVision",
        "OPL-1.0",
        "OPL-UK-3.0",
        "OPUBL-1.0",
        "OSC-1.0",
        "OSET-PL-2.1",
        "OSL-1.0",
        "OSL-1.1",
        "OSL-2.0",
        "OSL-2.1",
        "OSL-3.0",
        "OSSP",
        "PADL",
        "ParaType-Free-Font-1.3",
        "Parity-6.0.0",
        "Parity-7.0.0",
        "PDDL-1.0",
        "PHP-3.0",
        "PHP-3.01",
        "Pixar",
        "pkgconf",
        "Plexus",
        "pnmstitch",
        "PolyForm-Noncommercial-1.0.0",
        "PolyForm-Small-Business-1.0.0",
        "PostgreSQL",
        "PPL",
        "PSF-2.0",
        "psfrag",
        "psutils",
        "Python-2.0",
        "Python-2.0.1",
        "python-ldap",
        "Qhull",
        "QPL-1.0",
        "QPL-1.0-INRIA-2004",
        "radvd",
        "Rdisc",
        "RHeCos-1.1",
        "RPL-1.1",
        "RPL-1.5",
        "RPSL-1.0",
        "RSA-MD",
        "RSCPL",
        "Ruby",
        "Ruby-pty",
        "SAX-PD",
        "SAX-PD-2.0",
        "Saxpath",
        "SCEA",
        "SchemeReport",
        "Sendmail",
        "Sendmail-8.23",
        "Sendmail-Open-Source-1.1",
        "SGI-B-1.0",
        "SGI-B-1.1",
        "SGI-B-2.0",
        "SGI-OpenGL",
        "SGMLUG-PM",
        "SGP4",
        "SHL-0.5",
        "SHL-0.51",
        "SimPL-2.0",
        "SISSL",
        "SISSL-1.2",
        "SL",
        "Sleepycat",
        "SMAIL-GPL",
        "SMLNJ",
        "SMPPL",
        "SNIA",
        "snprintf",
        "SOFA",
        "softSurfer",
        "Soundex",
        "Spencer-86",
        "Spencer-94",
        "Spencer-99",
        "SPL-1.0",
        "ssh-keyscan",
        "SSH-OpenSSH",
        "SSH-short",
        "SSLeay-standalone",
        "SSPL-1.0",
        "SugarCRM-1.1.3",
        "SUL-1.0",
        "Sun-PPP",
        "Sun-PPP-2000",
        "SunPro",
        "SWL",
        "swrule",
        "Symlinks",
        "TAPR-OHL-1.0",
        "TCL",
        "TCP-wrappers",
        "TekHVC",
        "TermReadKey",
        "TGPPL-1.0",
        "ThirdEye",
        "threeparttable",
        "TMate",
        "TORQUE-1.1",
        "TOSL",
        "TPDL",
        "TPL-1.0",
        "TrustedQSL",
        "TTWL",
        "TTYP0",
        "TU-Berlin-1.0",
        "TU-Berlin-2.0",
        "Ubuntu-font-1.0",
        "UCAR",
        "UCL-1.0",
        "ulem",
        "UMich-Merit",
        "Unicode-3.0",
        "Unicode-DFS-2015",
        "Unicode-DFS-2016",
        "Unicode-TOU",
        "UnixCrypt",
        "Unlicense",
        "Unlicense-libtelnet",
        "Unlicense-libwhirlpool",
        "UnRAR",
        "UPL-1.0",
        "URT-RLE",
        "Vim",
        "Vixie-Cron",
        "VOSTROM",
        "VSL-1.0",
        "W3C",
        "W3C-19980720",
        "W3C-20150513",
        "w3m",
        "Watcom-1.0",
        "Widget-Workshop",
        "WordNet",
        "Wsuipa",
        "WTFNMFPL",
        "WTFPL",
        "wwl",
        "X11",
        "X11-distribute-modifications-variant",
        "X11-no-permit-persons",
        "X11-swapped",
        "Xdebug-1.03",
        "Xerox",
        "Xfig",
        "XFree86-1.1",
        "xinetd",
        "xkeyboard-config-Zinoviev",
        "xlock",
        "Xnet",
        "xpp",
        "XSkat",
        "xzoom",
        "YPL-1.0",
        "YPL-1.1",
        "Zed",
        "Zeeff",
        "Zend-2.0",
        "Zimbra-1.3",
        "Zimbra-1.4",
        "Zlib",
        "zlib-acknowledgement",
        "ZPL-1.1",
        "ZPL-2.0",
        "ZPL-2.1"
      ],
      "markdownEnumDescriptions": [
        "[BSD Zero Clause License](https://spdx.org/licenses/0BSD.html)",
        "[3D Slicer License v1.0](https://spdx.org/licenses/3D-Slicer-1.0.html)",
        "[Attribution Assurance License](https://spdx.org/licenses/AAL.html)",
        "[Abstyles License](https://spdx.org/licenses/Abstyles.html)",
        "[AdaCore Doc License](https://spdx.org/licenses/AdaCore-doc.html)",
        "[Adobe Systems Incorporated Source Code License Agreement](https://spdx.org/licenses/Adobe-2006.html)",
        "[Adobe Display PostScript License](https://spdx.org/licenses/Adobe-Display-PostScript.html)",
        "[Adobe Glyph List License](https://spdx.org/licenses/Adobe-Glyph.html)",
        "[Adobe Utopia Font License](https://spdx.org/licenses/Adobe-Utopia.html)",
        "[Amazon Digital Services License](https://spdx.org/licenses/ADSL.html)",
        "[Advanced Cryptics Dictionary License](https://spdx.org/licenses/Advanced-Cryptics-Dictionary.html)",
        "[Academic Free License v1.1](https://spdx.org/licenses/AFL-1.1.html)",
        "[Academic Free License v1.2](https://spdx.org/licenses/AFL-1.2.html)",
        "[Academic Free License v2.0](https://spdx.org/licenses/AFL-2.0.html)",
        "[Academic Free License v2.1](https://spdx.org/licenses/AFL-2.1.html)",
        "[Academic Free License v3.0](https://spdx.org/licenses/AFL-3.0.html)",
        "[Afmparse License](https://spdx.org/licenses/Afmparse.html)",
        "[Affero General Public License v1.0 only](https://spdx.org/licenses/AGPL-1.0-only.html)",
        "[Affero General Public License v1.0 or later](https://spdx.org/licenses/AGPL-1.0-or-later.html)",
        "[GNU Affero General Public License v3.0 only](https://spdx.org/licenses/AGPL-3.0-only.html)",
        "[GNU Affero General Public License v3.0 or later](https://spdx.org/licenses/AGPL-3.0-or-later.html)",
        "[Aladdin Free Public License](https://spdx.org/licenses/Aladdin.html)",
        "[ALGLIB Documentation License](https://spdx.org/licenses/ALGLIB-Documentation.html)",
        "[AMD newlib License](https://spdx.org/licenses/AMD-newlib.html)",
        "[AMD's plpa_map.c License](https://spdx.org/licenses/AMDPLPA.html)",
        "[Apple MIT License](https://spdx.org/licenses/AML.html)",
        "[AML glslang variant License](https://spdx.org/licenses/AML-glslang.html)",
        "[Academy of Motion Picture Arts and Sciences BSD](https://spdx.org/licenses/AMPAS.html)",
        "[ANTLR Software Rights Notice](https://spdx.org/licenses/ANTLR-PD.html)",
        "[ANTLR Software Rights Notice with license fallback](https://spdx.org/licenses/ANTLR-PD-fallback.html)",
        "[Any OSI License](https://spdx.org/licenses/any-OSI.html)",
        "[Any OSI License - Perl Modules](https://spdx.org/licenses/any-OSI-perl-modules.html)",
        "[Apache License 1.0](https://spdx.org/licenses/Apache-1.0.html)",
        "[Apache License 1.1](https://spdx.org/licenses/Apache-1.1.html)",
        "[Apache License 2.0](https://spdx.org/licenses/Apache-2.0.html)",
        "[Adobe Postscript AFM License](https://spdx.org/licenses/APAFML.html)",
        "[Adaptive Public License 1.0](https://spdx.org/licenses/APL-1.0.html)",
        "[App::s2p License](https://spdx.org/licenses/App-s2p.html)",
        "[Apple Public Source License 1.0](https://spdx.org/licenses/APSL-1.0.html)",
        "[Apple Public Source License 1.1](https://spdx.org/licenses/APSL-1.1.html)",
        "[Apple Public Source License 1.2](https://spdx.org/licenses/APSL-1.2.html)",
        "[Apple Public Source License 2.0](https://spdx.org/licenses/APSL-2.0.html)",
        "[Arphic Public License](https://spdx.org/licenses/Arphic-1999.html)",
        "[Artistic License 1.0](https://spdx.org/licenses/Artistic-1.0.html)",
        "[Artistic License 1.0 w/clause 8](https://spdx.org/licenses/Artistic-1.0-cl8.html)",
        "[Artistic License 1.0 (Perl)](https://spdx.org/licenses/Artistic-1.0-Perl.html)",
        "[Artistic License 2.0](https://spdx.org/licenses/Artistic-2.0.html)",
        "[Artistic License 1.0 (dist)](https://spdx.org/licenses/Artistic-dist.html)",
        "[Aspell Russian License](https://spdx.org/licenses/Aspell-RU.html)",
        "[ASWF Digital Assets License version 1.0](https://spdx.org/licenses/ASWF-Digital-Assets-1.0.html)",
        "[ASWF Digital Assets License 1.1](https://spdx.org/licenses/ASWF-Digital-Assets-1.1.html)",
        "[Baekmuk License](https://spdx.org/licenses/Baekmuk.html)",
        "[Bahyph License](https://spdx.org/licenses/Bahyph.html)",
        "[Barr License](https://spdx.org/licenses/Barr.html)",
        "[bcrypt Solar Designer License](https://spdx.org/licenses/bcrypt-Solar-Designer.html)",
        "[Beerware License](https://spdx.org/licenses/Beerware.html)",
        "[Bitstream Charter Font License](https://spdx.org/licenses/Bitstream-Charter.html)",
        "[Bitstream Vera Font License](https://spdx.org/licenses/Bitstream-Vera.html)",
        "[BitTorrent Open Source License v1.0](https://spdx.org/licenses/BitTorrent-1.0.html)",
        "[BitTorrent Open Source License v1.1](https://spdx.org/licenses/BitTorrent-1.1.html)",
        "[SQLite Blessing](https://spdx.org/licenses/blessing.html)",
        "[Blue Oak Model License 1.0.0](https://spdx.org/licenses/BlueOak-1.0.0.html)",
        "[Boehm-Demers-Weiser GC License](https://spdx.org/licenses/Boehm-GC.html)",
        "[Boehm-Demers-Weiser GC License (without fee)](https://spdx.org/licenses/Boehm-GC-without-fee.html)",
        "[Buena Onda License Agreement v1.1](https://spdx.org/licenses/BOLA-1.1.html)",
        "[Borceux license](https://spdx.org/licenses/Borceux.html)",
        "[Brian Gladman 2-Clause License](https://spdx.org/licenses/Brian-Gladman-2-Clause.html)",
        "[Brian Gladman 3-Clause License](https://spdx.org/licenses/Brian-Gladman-3-Clause.html)",
        "[BSD 1-Clause License](https://spdx.org/licenses/BSD-1-Clause.html)",
        "[BSD 2-Clause \"Simplified\" License](https://spdx.org/licenses/BSD-2-Clause.html)",
        "[BSD 2-Clause - Ian Darwin variant](https://spdx.org/licenses/BSD-2-Clause-Darwin.html)",
        "[BSD 2-Clause - first lines requirement](https://spdx.org/licenses/BSD-2-Clause-first-lines.html)",
        "[BSD-2-Clause Plus Patent License](https://spdx.org/licenses/BSD-2-Clause-Patent.html)",
        "[BSD 2-Clause pkgconf disclaimer variant](https://spdx.org/licenses/BSD-2-Clause-pkgconf-disclaimer.html)",
        "[BSD 2-Clause with views sentence](https://spdx.org/licenses/BSD-2-Clause-Views.html)",
        "[BSD 3-Clause \"New\" or \"Revised\" License](https://spdx.org/licenses/BSD-3-Clause.html)",
        "[BSD 3-Clause acpica variant](https://spdx.org/licenses/BSD-3-Clause-acpica.html)",
        "[BSD with attribution](https://spdx.org/licenses/BSD-3-Clause-Attribution.html)",
        "[BSD 3-Clause Clear License](https://spdx.org/licenses/BSD-3-Clause-Clear.html)",
        "[BSD 3-Clause Flex variant](https://spdx.org/licenses/BSD-3-Clause-flex.html)",
        "[Hewlett-Packard BSD variant license](https://spdx.org/licenses/BSD-3-Clause-HP.html)",
        "[Lawrence Berkeley National Labs BSD variant license](https://spdx.org/licenses/BSD-3-Clause-LBNL.html)",
        "[BSD 3-Clause Modification](https://spdx.org/licenses/BSD-3-Clause-Modification.html)",
        "[BSD 3-Clause No Military License](https://spdx.org/licenses/BSD-3-Clause-No-Military-License.html)",
        "[BSD 3-Clause No Nuclear License](https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License.html)",
        "[BSD 3-Clause No Nuclear License 2014](https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License-2014.html)",
        "[BSD 3-Clause No Nuclear Warranty](https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-Warranty.html)",
        "[BSD 3-Clause Open MPI variant](https://spdx.org/licenses/BSD-3-Clause-Open-MPI.html)",
        "[BSD 3-Clause Sun Microsystems](https://spdx.org/licenses/BSD-3-Clause-Sun.html)",
        "[BSD 3-Clause Tso variant](https://spdx.org/licenses/BSD-3-Clause-Tso.html)",
        "[BSD 4-Clause \"Original\" or \"Old\" License](https://spdx.org/licenses/BSD-4-Clause.html)",
        "[BSD 4 Clause Shortened](https://spdx.org/licenses/BSD-4-Clause-Shortened.html)",
        "[BSD-4-Clause (University of California-Specific)](https://spdx.org/licenses/BSD-4-Clause-UC.html)",
        "[BSD 4.3 RENO License](https://spdx.org/licenses/BSD-4.3RENO.html)",
        "[BSD 4.3 TAHOE License](https://spdx.org/licenses/BSD-4.3TAHOE.html)",
        "[BSD Advertising Acknowledgement License](https://spdx.org/licenses/BSD-Advertising-Acknowledgement.html)",
        "[BSD with Attribution and HPND disclaimer](https://spdx.org/licenses/BSD-Attribution-HPND-disclaimer.html)",
        "[BSD-Inferno-Nettverk](https://spdx.org/licenses/BSD-Inferno-Nettverk.html)",
        "[BSD Mark Modifications License](https://spdx.org/licenses/BSD-Mark-Modifications.html)",
        "[BSD Protection License](https://spdx.org/licenses/BSD-Protection.html)",
        "[BSD Source Code Attribution - beginning of file variant](https://spdx.org/licenses/BSD-Source-beginning-file.html)",
        "[BSD Source Code Attribution](https://spdx.org/licenses/BSD-Source-Code.html)",
        "[Systemics BSD variant license](https://spdx.org/licenses/BSD-Systemics.html)",
        "[Systemics W3Works BSD variant license](https://spdx.org/licenses/BSD-Systemics-W3Works.html)",
        "[Boost Software License 1.0](https://spdx.org/licenses/BSL-1.0.html)",
        "[Buddy License](https://spdx.org/licenses/Buddy.html)",
        "[Business Source License 1.1](https://spdx.org/licenses/BUSL-1.1.html)",
        "[bzip2 and libbzip2 License v1.0.6](https://spdx.org/licenses/bzip2-1.0.6.html)",
        "[Computational Use of Data Agreement v1.0](https://spdx.org/licenses/C-UDA-1.0.html)",
        "[Cryptographic Autonomy License 1.0](https://spdx.org/licenses/CAL-1.0.html)",
        "[Cryptographic Autonomy License 1.0 (Combined Work Exception)](https://spdx.org/licenses/CAL-1.0-Combined-Work-Exception.html)",
        "[Caldera License](https://spdx.org/licenses/Caldera.html)",
        "[Caldera License (without preamble)](https://spdx.org/licenses/Caldera-no-preamble.html)",
        "[Common Attack Pattern Enumeration and Classification License](https://spdx.org/licenses/CAPEC-tou.html)",
        "[Catharon License](https://spdx.org/licenses/Catharon.html)",
        "[Computer Associates Trusted Open Source License 1.1](https://spdx.org/licenses/CATOSL-1.1.html)",
        "[Creative Commons Attribution 1.0 Generic](https://spdx.org/licenses/CC-BY-1.0.html)",
        "[Creative Commons Attribution 2.0 Generic](https://spdx.org/licenses/CC-BY-2.0.html)",
        "[Creative Commons Attribution 2.5 Generic](https://spdx.org/licenses/CC-BY-2.5.html)",
        "[Creative Commons Attribution 2.5 Australia](https://spdx.org/licenses/CC-BY-2.5-AU.html)",
        "[Creative Commons Attribution 3.0 Unported](https://spdx.org/licenses/CC-BY-3.0.html)",
        "[Creative Commons Attribution 3.0 Austria](https://spdx.org/licenses/CC-BY-3.0-AT.html)",
        "[Creative Commons Attribution 3.0 Australia](https://spdx.org/licenses/CC-BY-3.0-AU.html)",
        "[Creative Commons Attribution 3.0 Germany](https://spdx.org/licenses/CC-BY-3.0-DE.html)",
        "[Creative Commons Attribution 3.0 IGO](https://spdx.org/licenses/CC-BY-3.0-IGO.html)",
        "[Creative Commons Attribution 3.0 Netherlands](https://spdx.org/licenses/CC-BY-3.0-NL.html)",
        "[Creative Commons Attribution 3.0 United States](https://spdx.org/licenses/CC-BY-3.0-US.html)",
        "[Creative Commons Attribution 4.0 International](https://spdx.org/licenses/CC-BY-4.0.html)",
        "[Creative Commons Attribution Non Commercial 1.0 Generic](https://spdx.org/licenses/CC-BY-NC-1.0.html)",
        "[Creative Commons Attribution Non Commercial 2.0 Generic](https://spdx.org/licenses/CC-BY-NC-2.0.html)",
        "[Creative Commons Attribution Non Commercial 2.5 Generic](https://spdx.org/licenses/CC-BY-NC-2.5.html)",
        "[Creative Commons Attribution Non Commercial 3.0 Unported](https://spdx.org/licenses/CC-BY-NC-3.0.html)",
        "[Creative Commons Attribution Non Commercial 3.0 Germany](https://spdx.org/licenses/CC-BY-NC-3.0-DE.html)",
        "[Creative Commons Attribution Non Commercial 4.0 International](https://spdx.org/licenses/CC-BY-NC-4.0.html)",
        "[Creative Commons Attribution Non Commercial No Derivatives 1.0 Generic](https://spdx.org/licenses/CC-BY-NC-ND-1.0.html)",
        "[Creative Commons Attribution Non Commercial No Derivatives 2.0 Generic](https://spdx.org/licenses/CC-BY-NC-ND-2.0.html)",
        "[Creative Commons Attribution Non Commercial No Derivatives 2.5 Generic](https://spdx.org/licenses/CC-BY-NC-ND-2.5.html)",
        "[Creative Commons Attribution Non Commercial No Derivatives 3.0 Unported](https://spdx.org/licenses/CC-BY-NC-ND-3.0.html)",
        "[Creative Commons Attribution Non Commercial No Derivatives 3.0 Germany](https://spdx.org/licenses/CC-BY-NC-ND-3.0-DE.html)",
        "[Creative Commons Attribution Non Commercial No Derivatives 3.0 IGO](https://spdx.org/licenses/CC-BY-NC-ND-3.0-IGO.html)",
        "[Creative Commons Attribution Non Commercial No Derivatives 4.0 International](https://spdx.org/licenses/CC-BY-NC-ND-4.0.html)",
        "[Creative Commons Attribution Non Commercial Share Alike 1.0 Generic](https://spdx.org/licenses/CC-BY-NC-SA-1.0.html)",
        "[Creative Commons Attribution Non Commercial Share Alike 2.0 Generic](https://spdx.org/licenses/CC-BY-NC-SA-2.0.html)",
        "[Creative Commons Attribution Non Commercial Share Alike 2.0 Germany](https://spdx.org/licenses/CC-BY-NC-SA-2.0-DE.html)",
        "[Creative Commons Attribution-NonCommercial-ShareAlike 2.0 France](https://spdx.org/licenses/CC-BY-NC-SA-2.0-FR.html)",
        "[Creative Commons Attribution Non Commercial Share Alike 2.0 England and Wales](https://spdx.org/licenses/CC-BY-NC-SA-2.0-UK.html)",
        "[Creative Commons Attribution Non Commercial Share Alike 2.5 Generic](https://spdx.org/licenses/CC-BY-NC-SA-2.5.html)",
        "[Creative Commons Attribution Non Commercial Share Alike 3.0 Unported](https://spdx.org/licenses/CC-BY-NC-SA-3.0.html)",
        "[Creative Commons Attribution Non Commercial Share Alike 3.0 Germany](https://spdx.org/licenses/CC-BY-NC-SA-3.0-DE.html)",
        "[Creative Commons Attribution Non Commercial Share Alike 3.0 IGO](https://spdx.org/licenses/CC-BY-NC-SA-3.0-IGO.html)",
        "[Creative Commons Attribution Non Commercial Share Alike 4.0 International](https://spdx.org/licenses/CC-BY-NC-SA-4.0.html)",
        "[Creative Commons Attribution No Derivatives 1.0 Generic](https://spdx.org/licenses/CC-BY-ND-1.0.html)",
        "[Creative Commons Attribution No Derivatives 2.0 Generic](https://spdx.org/licenses/CC-BY-ND-2.0.html)",
        "[Creative Commons Attribution No Derivatives 2.5 Generic](https://spdx.org/licenses/CC-BY-ND-2.5.html)",
        "[Creative Commons Attribution No Derivatives 3.0 Unported](https://spdx.org/licenses/CC-BY-ND-3.0.html)",
        "[Creative Commons Attribution No Derivatives 3.0 Germany](https://spdx.org/licenses/CC-BY-ND-3.0-DE.html)",
        "[Creative Commons Attribution No Derivatives 4.0 International](https://spdx.org/licenses/CC-BY-ND-4.0.html)",
        "[Creative Commons Attribution Share Alike 1.0 Generic](https://spdx.org/licenses/CC-BY-SA-1.0.html)",
        "[Creative Commons Attribution Share Alike 2.0 Generic](https://spdx.org/licenses/CC-BY-SA-2.0.html)",
        "[Creative Commons Attribution Share Alike 2.0 England and Wales](https://spdx.org/licenses/CC-BY-SA-2.0-UK.html)",
        "[Creative Commons Attribution Share Alike 2.1 Japan](https://spdx.org/licenses/CC-BY-SA-2.1-JP.html)",
        "[Creative Commons Attribution Share Alike 2.5 Generic](https://spdx.org/licenses/CC-BY-SA-2.5.html)",
        "[Creative Commons Attribution Share Alike 3.0 Unported](https://spdx.org/licenses/CC-BY-SA-3.0.html)",
        "[Creative Commons Attribution Share Alike 3.0 Austria](https://spdx.org/licenses/CC-BY-SA-3.0-AT.html)",
        "[Creative Commons Attribution Share Alike 3.0 Germany](https://spdx.org/licenses/CC-BY-SA-3.0-DE.html)",
        "[Creative Commons Attribution-ShareAlike 3.0 IGO](https://spdx.org/licenses/CC-BY-SA-3.0-IGO.html)",
        "[Creative Commons Attribution Share Alike 4.0 International](https://spdx.org/licenses/CC-BY-SA-4.0.html)",
        "[Creative Commons Public Domain Dedication and Certification](https://spdx.org/licenses/CC-PDDC.html)",
        "[Creative Commons Public Domain Mark 1.0 Universal](https://spdx.org/licenses/CC-PDM-1.0.html)",
        "[Creative Commons Share Alike 1.0 Generic](https://spdx.org/licenses/CC-SA-1.0.html)",
        "[Creative Commons Zero v1.0 Universal](https://spdx.org/licenses/CC0-1.0.html)",
        "[Common Development and Distribution License 1.0](https://spdx.org/licenses/CDDL-1.0.html)",
        "[Common Development and Distribution License 1.1](https://spdx.org/licenses/CDDL-1.1.html)",
        "[Common Documentation License 1.0](https://spdx.org/licenses/CDL-1.0.html)",
        "[Community Data License Agreement Permissive 1.0](https://spdx.org/licenses/CDLA-Permissive-1.0.html)",
        "[Community Data License Agreement Permissive 2.0](https://spdx.org/licenses/CDLA-Permissive-2.0.html)",
        "[Community Data License Agreement Sharing 1.0](https://spdx.org/licenses/CDLA-Sharing-1.0.html)",
        "[CeCILL Free Software License Agreement v1.0](https://spdx.org/licenses/CECILL-1.0.html)",
        "[CeCILL Free Software License Agreement v1.1](https://spdx.org/licenses/CECILL-1.1.html)",
        "[CeCILL Free Software License Agreement v2.0](https://spdx.org/licenses/CECILL-2.0.html)",
        "[CeCILL Free Software License Agreement v2.1](https://spdx.org/licenses/CECILL-2.1.html)",
        "[CeCILL-B Free Software License Agreement](https://spdx.org/licenses/CECILL-B.html)",
        "[CeCILL-C Free Software License Agreement](https://spdx.org/licenses/CECILL-C.html)",
        "[CERN Open Hardware Licence v1.1](https://spdx.org/licenses/CERN-OHL-1.1.html)",
        "[CERN Open Hardware Licence v1.2](https://spdx.org/licenses/CERN-OHL-1.2.html)",
        "[CERN Open Hardware Licence Version 2 - Permissive](https://spdx.org/licenses/CERN-OHL-P-2.0.html)",
        "[CERN Open Hardware Licence Version 2 - Strongly Reciprocal](https://spdx.org/licenses/CERN-OHL-S-2.0.html)",
        "[CERN Open Hardware Licence Version 2 - Weakly Reciprocal](https://spdx.org/licenses/CERN-OHL-W-2.0.html)",
        "[CFITSIO License](https://spdx.org/licenses/CFITSIO.html)",
        "[check-cvs License](https://spdx.org/licenses/check-cvs.html)",
        "[Checkmk License](https://spdx.org/licenses/checkmk.html)",
        "[Clarified Artistic License](https://spdx.org/licenses/ClArtistic.html)",
        "[Clips License](https://spdx.org/licenses/Clips.html)",
        "[CMU Mach License](https://spdx.org/licenses/CMU-Mach.html)",
        "[CMU Mach - no notices-in-documentation variant](https://spdx.org/licenses/CMU-Mach-nodoc.html)",
        "[CNRI Jython License](https://spdx.org/licenses/CNRI-Jython.html)",
        "[CNRI Python License](https://spdx.org/licenses/CNRI-Python.html)",
        "[CNRI Python Open Source GPL Compatible License Agreement](https://spdx.org/licenses/CNRI-Python-GPL-Compatible.html)",
        "[Copyfree Open Innovation License](https://spdx.org/licenses/COIL-1.0.html)",
        "[Community Specification License 1.0](https://spdx.org/licenses/Community-Spec-1.0.html)",
        "[Condor Public License v1.1](https://spdx.org/licenses/Condor-1.1.html)",
        "[copyleft-next 0.3.0](https://spdx.org/licenses/copyleft-next-0.3.0.html)",
        "[copyleft-next 0.3.1](https://spdx.org/licenses/copyleft-next-0.3.1.html)",
        "[Cornell Lossless JPEG License](https://spdx.org/licenses/Cornell-Lossless-JPEG.html)",
        "[Common Public Attribution License 1.0](https://spdx.org/licenses/CPAL-1.0.html)",
        "[Common Public License 1.0](https://spdx.org/licenses/CPL-1.0.html)",
        "[Code Project Open License 1.02](https://spdx.org/licenses/CPOL-1.02.html)",
        "[Cronyx License](https://spdx.org/licenses/Cronyx.html)",
        "[Crossword License](https://spdx.org/licenses/Crossword.html)",
        "[CryptoSwift License](https://spdx.org/licenses/CryptoSwift.html)",
        "[CrystalStacker License](https://spdx.org/licenses/CrystalStacker.html)",
        "[CUA Office Public License v1.0](https://spdx.org/licenses/CUA-OPL-1.0.html)",
        "[Cube License](https://spdx.org/licenses/Cube.html)",
        "[curl License](https://spdx.org/licenses/curl.html)",
        "[Common Vulnerability Enumeration ToU License](https://spdx.org/licenses/cve-tou.html)",
        "[Deutsche Freie Software Lizenz](https://spdx.org/licenses/D-FSL-1.0.html)",
        "[DEC 3-Clause License](https://spdx.org/licenses/DEC-3-Clause.html)",
        "[diffmark license](https://spdx.org/licenses/diffmark.html)",
        "[Data licence Germany – attribution – version 2.0](https://spdx.org/licenses/DL-DE-BY-2.0.html)",
        "[Data licence Germany – zero – version 2.0](https://spdx.org/licenses/DL-DE-ZERO-2.0.html)",
        "[DOC License](https://spdx.org/licenses/DOC.html)",
        "[DocBook DTD License](https://spdx.org/licenses/DocBook-DTD.html)",
        "[DocBook Schema License](https://spdx.org/licenses/DocBook-Schema.html)",
        "[DocBook Stylesheet License](https://spdx.org/licenses/DocBook-Stylesheet.html)",
        "[DocBook XML License](https://spdx.org/licenses/DocBook-XML.html)",
        "[Dotseqn License](https://spdx.org/licenses/Dotseqn.html)",
        "[Detection Rule License 1.0](https://spdx.org/licenses/DRL-1.0.html)",
        "[Detection Rule License 1.1](https://spdx.org/licenses/DRL-1.1.html)",
        "[DSDP License](https://spdx.org/licenses/DSDP.html)",
        "[David M. Gay dtoa License](https://spdx.org/licenses/dtoa.html)",
        "[dvipdfm License](https://spdx.org/licenses/dvipdfm.html)",
        "[Educational Community License v1.0](https://spdx.org/licenses/ECL-1.0.html)",
        "[Educational Community License v2.0](https://spdx.org/licenses/ECL-2.0.html)",
        "[Eiffel Forum License v1.0](https://spdx.org/licenses/EFL-1.0.html)",
        "[Eiffel Forum License v2.0](https://spdx.org/licenses/EFL-2.0.html)",
        "[eGenix.com Public License 1.1.0](https://spdx.org/licenses/eGenix.html)",
        "[Elastic License 2.0](https://spdx.org/licenses/Elastic-2.0.html)",
        "[Entessa Public License v1.0](https://spdx.org/licenses/Entessa.html)",
        "[EPICS Open License](https://spdx.org/licenses/EPICS.html)",
        "[Eclipse Public License 1.0](https://spdx.org/licenses/EPL-1.0.html)",
        "[Eclipse Public License 2.0](https://spdx.org/licenses/EPL-2.0.html)",
        "[Erlang Public License v1.1](https://spdx.org/licenses/ErlPL-1.1.html)",
        "[European Space Agency Public License – v2.4 – Permissive (Type 3)](https://spdx.org/licenses/ESA-PL-permissive-2.4.html)",
        "[European Space Agency Public License (ESA-PL) - V2.4 - Strong Copyleft (Type 1)](https://spdx.org/licenses/ESA-PL-strong-copyleft-2.4.html)",
        "[European Space Agency Public License – v2.4 – Weak Copyleft (Type 2)](https://spdx.org/licenses/ESA-PL-weak-copyleft-2.4.html)",
        "[Etalab Open License 2.0](https://spdx.org/licenses/etalab-2.0.html)",
        "[EU DataGrid Software License](https://spdx.org/licenses/EUDatagrid.html)",
        "[European Union Public License 1.0](https://spdx.org/licenses/EUPL-1.0.html)",
        "[European Union Public License 1.1](https://spdx.org/licenses/EUPL-1.1.html)",
        "[European Union Public License 1.2](https://spdx.org/licenses/EUPL-1.2.html)",
        "[Eurosym License](https://spdx.org/licenses/Eurosym.html)",
        "[Fair License](https://spdx.org/licenses/Fair.html)",
        "[Fuzzy Bitmap License](https://spdx.org/licenses/FBM.html)",
        "[Fraunhofer FDK AAC Codec Library](https://spdx.org/licenses/FDK-AAC.html)",
        "[Ferguson Twofish License](https://spdx.org/licenses/Ferguson-Twofish.html)",
        "[Frameworx Open License 1.0](https://spdx.org/licenses/Frameworx-1.0.html)",
        "[FreeBSD Documentation License](https://spdx.org/licenses/FreeBSD-DOC.html)",
        "[FreeImage Public License v1.0](https://spdx.org/licenses/FreeImage.html)",
        "[FSF All Permissive License](https://spdx.org/licenses/FSFAP.html)",
        "[FSF All Permissive License (without Warranty)](https://spdx.org/licenses/FSFAP-no-warranty-disclaimer.html)",
        "[FSF Unlimited License](https://spdx.org/licenses/FSFUL.html)",
        "[FSF Unlimited License (with License Retention)](https://spdx.org/licenses/FSFULLR.html)",
        "[FSF Unlimited License (with License Retention and Short Disclaimer)](https://spdx.org/licenses/FSFULLRSD.html)",
        "[FSF Unlimited License (With License Retention and Warranty Disclaimer)](https://spdx.org/licenses/FSFULLRWD.html)",
        "[Functional Source License, Version 1.1, ALv2 Future License](https://spdx.org/licenses/FSL-1.1-ALv2.html)",
        "[Functional Source License, Version 1.1, MIT Future License](https://spdx.org/licenses/FSL-1.1-MIT.html)",
        "[Freetype Project License](https://spdx.org/licenses/FTL.html)",
        "[Furuseth License](https://spdx.org/licenses/Furuseth.html)",
        "[fwlw License](https://spdx.org/licenses/fwlw.html)",
        "[Game Programming Gems License](https://spdx.org/licenses/Game-Programming-Gems.html)",
        "[Gnome GCR Documentation License](https://spdx.org/licenses/GCR-docs.html)",
        "[GD License](https://spdx.org/licenses/GD.html)",
        "[Generic XTS License](https://spdx.org/licenses/generic-xts.html)",
        "[GNU Free Documentation License v1.1 only - invariants](https://spdx.org/licenses/GFDL-1.1-invariants-only.html)",
        "[GNU Free Documentation License v1.1 or later - invariants](https://spdx.org/licenses/GFDL-1.1-invariants-or-later.html)",
        "[GNU Free Documentation License v1.1 only - no invariants](https://spdx.org/licenses/GFDL-1.1-no-invariants-only.html)",
        "[GNU Free Documentation License v1.1 or later - no invariants](https://spdx.org/licenses/GFDL-1.1-no-invariants-or-later.html)",
        "[GNU Free Documentation License v1.1 only](https://spdx.org/licenses/GFDL-1.1-only.html)",
        "[GNU Free Documentation License v1.1 or later](https://spdx.org/licenses/GFDL-1.1-or-later.html)",
        "[GNU Free Documentation License v1.2 only - invariants](https://spdx.org/licenses/GFDL-1.2-invariants-only.html)",
        "[GNU Free Documentation License v1.2 or later - invariants](https://spdx.org/licenses/GFDL-1.2-invariants-or-later.html)",
        "[GNU Free Documentation License v1.2 only - no invariants](https://spdx.org/licenses/GFDL-1.2-no-invariants-only.html)",
        "[GNU Free Documentation License v1.2 or later - no invariants](https://spdx.org/licenses/GFDL-1.2-no-invariants-or-later.html)",
        "[GNU Free Documentation License v1.2 only](https://spdx.org/licenses/GFDL-1.2-only.html)",
        "[GNU Free Documentation License v1.2 or later](https://spdx.org/licenses/GFDL-1.2-or-later.html)",
        "[GNU Free Documentation License v1.3 only - invariants](https://spdx.org/licenses/GFDL-1.3-invariants-only.html)",
        "[GNU Free Documentation License v1.3 or later - invariants](https://spdx.org/licenses/GFDL-1.3-invariants-or-later.html)",
        "[GNU Free Documentation License v1.3 only - no invariants](https://spdx.org/licenses/GFDL-1.3-no-invariants-only.html)",
        "[GNU Free Documentation License v1.3 or later - no invariants](https://spdx.org/licenses/GFDL-1.3-no-invariants-or-later.html)",
        "[GNU Free Documentation License v1.3 only](https://spdx.org/licenses/GFDL-1.3-only.html)",
        "[GNU Free Documentation License v1.3 or later](https://spdx.org/licenses/GFDL-1.3-or-later.html)",
        "[Giftware License](https://spdx.org/licenses/Giftware.html)",
        "[GL2PS License](https://spdx.org/licenses/GL2PS.html)",
        "[3dfx Glide License](https://spdx.org/licenses/Glide.html)",
        "[Glulxe License](https://spdx.org/licenses/Glulxe.html)",
        "[Good Luck With That Public License](https://spdx.org/licenses/GLWTPL.html)",
        "[gnuplot License](https://spdx.org/licenses/gnuplot.html)",
        "[GNU General Public License v1.0 only](https://spdx.org/licenses/GPL-1.0-only.html)",
        "[GNU General Public License v1.0 or later](https://spdx.org/licenses/GPL-1.0-or-later.html)",
        "[GNU General Public License v2.0 only](https://spdx.org/licenses/GPL-2.0-only.html)",
        "[GNU General Public License v2.0 or later](https://spdx.org/licenses/GPL-2.0-or-later.html)",
        "[GNU General Public License v3.0 only](https://spdx.org/licenses/GPL-3.0-only.html)",
        "[GNU General Public License v3.0 or later](https://spdx.org/licenses/GPL-3.0-or-later.html)",
        "[Graphics Gems License](https://spdx.org/licenses/Graphics-Gems.html)",
        "[gSOAP Public License v1.3b](https://spdx.org/licenses/gSOAP-1.3b.html)",
        "[gtkbook License](https://spdx.org/licenses/gtkbook.html)",
        "[Gutmann License](https://spdx.org/licenses/Gutmann.html)",
        "[Haskell Language Report License](https://spdx.org/licenses/HaskellReport.html)",
        "[HDF5 License](https://spdx.org/licenses/HDF5.html)",
        "[hdparm License](https://spdx.org/licenses/hdparm.html)",
        "[HIDAPI License](https://spdx.org/licenses/HIDAPI.html)",
        "[Hippocratic License 2.1](https://spdx.org/licenses/Hippocratic-2.1.html)",
        "[Hewlett-Packard 1986 License](https://spdx.org/licenses/HP-1986.html)",
        "[Hewlett-Packard 1989 License](https://spdx.org/licenses/HP-1989.html)",
        "[Historical Permission Notice and Disclaimer](https://spdx.org/licenses/HPND.html)",
        "[Historical Permission Notice and Disclaimer - DEC variant](https://spdx.org/licenses/HPND-DEC.html)",
        "[Historical Permission Notice and Disclaimer - documentation variant](https://spdx.org/licenses/HPND-doc.html)",
        "[Historical Permission Notice and Disclaimer - documentation sell variant](https://spdx.org/licenses/HPND-doc-sell.html)",
        "[HPND with US Government export control warning](https://spdx.org/licenses/HPND-export-US.html)",
        "[HPND with US Government export control warning and acknowledgment](https://spdx.org/licenses/HPND-export-US-acknowledgement.html)",
        "[HPND with US Government export control warning and modification rqmt](https://spdx.org/licenses/HPND-export-US-modify.html)",
        "[HPND with US Government export control and 2 disclaimers](https://spdx.org/licenses/HPND-export2-US.html)",
        "[Historical Permission Notice and Disclaimer - Fenneberg-Livingston variant](https://spdx.org/licenses/HPND-Fenneberg-Livingston.html)",
        "[Historical Permission Notice and Disclaimer - INRIA-IMAG variant](https://spdx.org/licenses/HPND-INRIA-IMAG.html)",
        "[Historical Permission Notice and Disclaimer - Intel variant](https://spdx.org/licenses/HPND-Intel.html)",
        "[Historical Permission Notice and Disclaimer - Kevlin Henney variant](https://spdx.org/licenses/HPND-Kevlin-Henney.html)",
        "[Historical Permission Notice and Disclaimer - Markus Kuhn variant](https://spdx.org/licenses/HPND-Markus-Kuhn.html)",
        "[Historical Permission Notice and Disclaimer - merchantability variant](https://spdx.org/licenses/HPND-merchantability-variant.html)",
        "[Historical Permission Notice and Disclaimer with MIT disclaimer](https://spdx.org/licenses/HPND-MIT-disclaimer.html)",
        "[Historical Permission Notice and Disclaimer - Netrek variant](https://spdx.org/licenses/HPND-Netrek.html)",
        "[Historical Permission Notice and Disclaimer - Pbmplus variant](https://spdx.org/licenses/HPND-Pbmplus.html)",
        "[Historical Permission Notice and Disclaimer - sell xserver variant with MIT disclaimer](https://spdx.org/licenses/HPND-sell-MIT-disclaimer-xserver.html)",
        "[Historical Permission Notice and Disclaimer - sell regexpr variant](https://spdx.org/licenses/HPND-sell-regexpr.html)",
        "[Historical Permission Notice and Disclaimer - sell variant](https://spdx.org/licenses/HPND-sell-variant.html)",
        "[HPND - sell variant with safety critical systems clause](https://spdx.org/licenses/HPND-sell-variant-critical-systems.html)",
        "[HPND sell variant with MIT disclaimer](https://spdx.org/licenses/HPND-sell-variant-MIT-disclaimer.html)",
        "[HPND sell variant with MIT disclaimer - reverse](https://spdx.org/licenses/HPND-sell-variant-MIT-disclaimer-rev.html)",
        "[Historical Permission Notice and Disclaimer - SMC variant](https://spdx.org/licenses/HPND-SMC.html)",
        "[Historical Permission Notice and Disclaimer - University of California variant](https://spdx.org/licenses/HPND-UC.html)",
        "[Historical Permission Notice and Disclaimer - University of California, US export warning](https://spdx.org/licenses/HPND-UC-export-US.html)",
        "[HTML Tidy License](https://spdx.org/licenses/HTMLTIDY.html)",
        "[hyphen-bulgarian License](https://spdx.org/licenses/hyphen-bulgarian.html)",
        "[IBM PowerPC Initialization and Boot Software](https://spdx.org/licenses/IBM-pibs.html)",
        "[ICU License](https://spdx.org/licenses/ICU.html)",
        "[IEC Code Components End-user licence agreement](https://spdx.org/licenses/IEC-Code-Components-EULA.html)",
        "[Independent JPEG Group License](https://spdx.org/licenses/IJG.html)",
        "[Independent JPEG Group License - short](https://spdx.org/licenses/IJG-short.html)",
        "[ImageMagick License](https://spdx.org/licenses/ImageMagick.html)",
        "[iMatix Standard Function Library Agreement](https://spdx.org/licenses/iMatix.html)",
        "[Imlib2 License](https://spdx.org/licenses/Imlib2.html)",
        "[Info-ZIP License](https://spdx.org/licenses/Info-ZIP.html)",
        "[Inner Net License v2.0](https://spdx.org/licenses/Inner-Net-2.0.html)",
        "[Inno Setup License](https://spdx.org/licenses/InnoSetup.html)",
        "[Intel Open Source License](https://spdx.org/licenses/Intel.html)",
        "[Intel ACPI Software License Agreement](https://spdx.org/licenses/Intel-ACPI.html)",
        "[Interbase Public License v1.0](https://spdx.org/licenses/Interbase-1.0.html)",
        "[IPA Font License](https://spdx.org/licenses/IPA.html)",
        "[IBM Public License v1.0](https://spdx.org/licenses/IPL-1.0.html)",
        "[ISC License](https://spdx.org/licenses/ISC.html)",
        "[ISC Veillard variant](https://spdx.org/licenses/ISC-Veillard.html)",
        "[ISO permission notice](https://spdx.org/licenses/ISO-permission.html)",
        "[Jam License](https://spdx.org/licenses/Jam.html)",
        "[JasPer License](https://spdx.org/licenses/JasPer-2.0.html)",
        "[Jove License](https://spdx.org/licenses/jove.html)",
        "[JPL Image Use Policy](https://spdx.org/licenses/JPL-image.html)",
        "[Japan Network Information Center License](https://spdx.org/licenses/JPNIC.html)",
        "[JSON License](https://spdx.org/licenses/JSON.html)",
        "[Kastrup License](https://spdx.org/licenses/Kastrup.html)",
        "[Kazlib License](https://spdx.org/licenses/Kazlib.html)",
        "[Knuth CTAN License](https://spdx.org/licenses/Knuth-CTAN.html)",
        "[Licence Art Libre 1.2](https://spdx.org/licenses/LAL-1.2.html)",
        "[Licence Art Libre 1.3](https://spdx.org/licenses/LAL-1.3.html)",
        "[Latex2e License](https://spdx.org/licenses/Latex2e.html)",
        "[Latex2e with translated notice permission](https://spdx.org/licenses/Latex2e-translated-notice.html)",
        "[Leptonica License](https://spdx.org/licenses/Leptonica.html)",
        "[GNU Library General Public License v2 only](https://spdx.org/licenses/LGPL-2.0-only.html)",
        "[GNU Library General Public License v2 or later](https://spdx.org/licenses/LGPL-2.0-or-later.html)",
        "[GNU Lesser General Public License v2.1 only](https://spdx.org/licenses/LGPL-2.1-only.html)",
        "[GNU Lesser General Public License v2.1 or later](https://spdx.org/licenses/LGPL-2.1-or-later.html)",
        "[GNU Lesser General Public License v3.0 only](https://spdx.org/licenses/LGPL-3.0-only.html)",
        "[GNU Lesser General Public License v3.0 or later](https://spdx.org/licenses/LGPL-3.0-or-later.html)",
        "[Lesser General Public License For Linguistic Resources](https://spdx.org/licenses/LGPLLR.html)",
        "[libpng License](https://spdx.org/licenses/Libpng.html)",
        "[PNG Reference Library License v1 (for libpng 0.5 through 1.6.35)](https://spdx.org/licenses/libpng-1.6.35.html)",
        "[PNG Reference Library version 2](https://spdx.org/licenses/libpng-2.0.html)",
        "[libselinux public domain notice](https://spdx.org/licenses/libselinux-1.0.html)",
        "[libtiff License](https://spdx.org/licenses/libtiff.html)",
        "[libutil David Nugent License](https://spdx.org/licenses/libutil-David-Nugent.html)",
        "[Licence Libre du Québec – Permissive version 1.1](https://spdx.org/licenses/LiLiQ-P-1.1.html)",
        "[Licence Libre du Québec – Réciprocité version 1.1](https://spdx.org/licenses/LiLiQ-R-1.1.html)",
        "[Licence Libre du Québec – Réciprocité forte version 1.1](https://spdx.org/licenses/LiLiQ-Rplus-1.1.html)",
        "[Linux man-pages - 1 paragraph](https://spdx.org/licenses/Linux-man-pages-1-para.html)",
        "[Linux man-pages Copyleft](https://spdx.org/licenses/Linux-man-pages-copyleft.html)",
        "[Linux man-pages Copyleft - 2 paragraphs](https://spdx.org/licenses/Linux-man-pages-copyleft-2-para.html)",
        "[Linux man-pages Copyleft Variant](https://spdx.org/licenses/Linux-man-pages-copyleft-var.html)",
        "[Linux Kernel Variant of OpenIB.org license](https://spdx.org/licenses/Linux-OpenIB.html)",
        "[Common Lisp LOOP License](https://spdx.org/licenses/LOOP.html)",
        "[LPD Documentation License](https://spdx.org/licenses/LPD-document.html)",
        "[Lucent Public License Version 1.0](https://spdx.org/licenses/LPL-1.0.html)",
        "[Lucent Public License v1.02](https://spdx.org/licenses/LPL-1.02.html)",
        "[LaTeX Project Public License v1.0](https://spdx.org/licenses/LPPL-1.0.html)",
        "[LaTeX Project Public License v1.1](https://spdx.org/licenses/LPPL-1.1.html)",
        "[LaTeX Project Public License v1.2](https://spdx.org/licenses/LPPL-1.2.html)",
        "[LaTeX Project Public License v1.3a](https://spdx.org/licenses/LPPL-1.3a.html)",
        "[LaTeX Project Public License v1.3c](https://spdx.org/licenses/LPPL-1.3c.html)",
        "[lsof License](https://spdx.org/licenses/lsof.html)",
        "[Lucida Bitmap Fonts License](https://spdx.org/licenses/Lucida-Bitmap-Fonts.html)",
        "[LZMA SDK License (versions 9.11 to 9.20)](https://spdx.org/licenses/LZMA-SDK-9.11-to-9.20.html)",
        "[LZMA SDK License (versions 9.22 and beyond)](https://spdx.org/licenses/LZMA-SDK-9.22.html)",
        "[Mackerras 3-Clause License](https://spdx.org/licenses/Mackerras-3-Clause.html)",
        "[Mackerras 3-Clause - acknowledgment variant](https://spdx.org/licenses/Mackerras-3-Clause-acknowledgment.html)",
        "[magaz License](https://spdx.org/licenses/magaz.html)",
        "[mailprio License](https://spdx.org/licenses/mailprio.html)",
        "[MakeIndex License](https://spdx.org/licenses/MakeIndex.html)",
        "[man2html License](https://spdx.org/licenses/man2html.html)",
        "[Martin Birgmeier License](https://spdx.org/licenses/Martin-Birgmeier.html)",
        "[McPhee Slideshow License](https://spdx.org/licenses/McPhee-slideshow.html)",
        "[metamail License](https://spdx.org/licenses/metamail.html)",
        "[Minpack License](https://spdx.org/licenses/Minpack.html)",
        "[MIPS License](https://spdx.org/licenses/MIPS.html)",
        "[The MirOS Licence](https://spdx.org/licenses/MirOS.html)",
        "[MIT License](https://spdx.org/licenses/MIT.html)",
        "[MIT No Attribution](https://spdx.org/licenses/MIT-0.html)",
        "[Enlightenment License (e16)](https://spdx.org/licenses/MIT-advertising.html)",
        "[MIT Click License](https://spdx.org/licenses/MIT-Click.html)",
        "[CMU License](https://spdx.org/licenses/MIT-CMU.html)",
        "[enna License](https://spdx.org/licenses/MIT-enna.html)",
        "[feh License](https://spdx.org/licenses/MIT-feh.html)",
        "[MIT Festival Variant](https://spdx.org/licenses/MIT-Festival.html)",
        "[MIT Khronos - old variant](https://spdx.org/licenses/MIT-Khronos-old.html)",
        "[MIT License Modern Variant](https://spdx.org/licenses/MIT-Modern-Variant.html)",
        "[MIT Open Group variant](https://spdx.org/licenses/MIT-open-group.html)",
        "[MIT-STK License](https://spdx.org/licenses/MIT-STK.html)",
        "[MIT testregex Variant](https://spdx.org/licenses/MIT-testregex.html)",
        "[MIT Tom Wu Variant](https://spdx.org/licenses/MIT-Wu.html)",
        "[MIT +no-false-attribs license](https://spdx.org/licenses/MITNFA.html)",
        "[MMIXware License](https://spdx.org/licenses/MMIXware.html)",
        "[Minecraft Mod Public License v1.0.1](https://spdx.org/licenses/MMPL-1.0.1.html)",
        "[Motosoto License](https://spdx.org/licenses/Motosoto.html)",
        "[MPEG Software Simulation](https://spdx.org/licenses/MPEG-SSG.html)",
        "[mpi Permissive License](https://spdx.org/licenses/mpi-permissive.html)",
        "[mpich2 License](https://spdx.org/licenses/mpich2.html)",
        "[Mozilla Public License 1.0](https://spdx.org/licenses/MPL-1.0.html)",
        "[Mozilla Public License 1.1](https://spdx.org/licenses/MPL-1.1.html)",
        "[Mozilla Public License 2.0](https://spdx.org/licenses/MPL-2.0.html)",
        "[Mozilla Public License 2.0 (no copyleft exception)](https://spdx.org/licenses/MPL-2.0-no-copyleft-exception.html)",
        "[mplus Font License](https://spdx.org/licenses/mplus.html)",
        "[Microsoft Limited Public License](https://spdx.org/licenses/MS-LPL.html)",
        "[Microsoft Public License](https://spdx.org/licenses/MS-PL.html)",
        "[Microsoft Reciprocal License](https://spdx.org/licenses/MS-RL.html)",
        "[Matrix Template Library License](https://spdx.org/licenses/MTLL.html)",
        "[Mulan Permissive Software License, Version 1](https://spdx.org/licenses/MulanPSL-1.0.html)",
        "[Mulan Permissive Software License, Version 2](https://spdx.org/licenses/MulanPSL-2.0.html)",
        "[Multics License](https://spdx.org/licenses/Multics.html)",
        "[Mup License](https://spdx.org/licenses/Mup.html)",
        "[Nara Institute of Science and Technology License (2003)](https://spdx.org/licenses/NAIST-2003.html)",
        "[NASA Open Source Agreement 1.3](https://spdx.org/licenses/NASA-1.3.html)",
        "[Naumen Public License](https://spdx.org/licenses/Naumen.html)",
        "[Net Boolean Public License v1](https://spdx.org/licenses/NBPL-1.0.html)",
        "[NCBI Public Domain Notice](https://spdx.org/licenses/NCBI-PD.html)",
        "[Non-Commercial Government Licence](https://spdx.org/licenses/NCGL-UK-2.0.html)",
        "[NCL Source Code License](https://spdx.org/licenses/NCL.html)",
        "[University of Illinois/NCSA Open Source License](https://spdx.org/licenses/NCSA.html)",
        "[NetCDF license](https://spdx.org/licenses/NetCDF.html)",
        "[Newsletr License](https://spdx.org/licenses/Newsletr.html)",
        "[Nethack General Public License](https://spdx.org/licenses/NGPL.html)",
        "[ngrep License](https://spdx.org/licenses/ngrep.html)",
        "[NICTA Public Software License, Version 1.0](https://spdx.org/licenses/NICTA-1.0.html)",
        "[NIST Public Domain Notice](https://spdx.org/licenses/NIST-PD.html)",
        "[NIST Public Domain Notice with license fallback](https://spdx.org/licenses/NIST-PD-fallback.html)",
        "[NIST Public Domain Notice TNT variant](https://spdx.org/licenses/NIST-PD-TNT.html)",
        "[NIST Software License](https://spdx.org/licenses/NIST-Software.html)",
        "[Norwegian Licence for Open Government Data (NLOD) 1.0](https://spdx.org/licenses/NLOD-1.0.html)",
        "[Norwegian Licence for Open Government Data (NLOD) 2.0](https://spdx.org/licenses/NLOD-2.0.html)",
        "[No Limit Public License](https://spdx.org/licenses/NLPL.html)",
        "[Nokia Open Source License](https://spdx.org/licenses/Nokia.html)",
        "[Netizen Open Source License](https://spdx.org/licenses/NOSL.html)",
        "[Noweb License](https://spdx.org/licenses/Noweb.html)",
        "[Netscape Public License v1.0](https://spdx.org/licenses/NPL-1.0.html)",
        "[Netscape Public License v1.1](https://spdx.org/licenses/NPL-1.1.html)",
        "[Non-Profit Open Software License 3.0](https://spdx.org/licenses/NPOSL-3.0.html)",
        "[NRL License](https://spdx.org/licenses/NRL.html)",
        "[NTIA Public Domain Notice](https://spdx.org/licenses/NTIA-PD.html)",
        "[NTP License](https://spdx.org/licenses/NTP.html)",
        "[NTP No Attribution](https://spdx.org/licenses/NTP-0.html)",
        "[Open Use of Data Agreement v1.0](https://spdx.org/licenses/O-UDA-1.0.html)",
        "[OAR License](https://spdx.org/licenses/OAR.html)",
        "[Open CASCADE Technology Public License](https://spdx.org/licenses/OCCT-PL.html)",
        "[OCLC Research Public License 2.0](https://spdx.org/licenses/OCLC-2.0.html)",
        "[Open Data Commons Open Database License v1.0](https://spdx.org/licenses/ODbL-1.0.html)",
        "[Open Data Commons Attribution License v1.0](https://spdx.org/licenses/ODC-By-1.0.html)",
        "[OFFIS License](https://spdx.org/licenses/OFFIS.html)",
        "[SIL Open Font License 1.0](https://spdx.org/licenses/OFL-1.0.html)",
        "[SIL Open Font License 1.0 with no Reserved Font Name](https://spdx.org/licenses/OFL-1.0-no-RFN.html)",
        "[SIL Open Font License 1.0 with Reserved Font Name](https://spdx.org/licenses/OFL-1.0-RFN.html)",
        "[SIL Open Font License 1.1](https://spdx.org/licenses/OFL-1.1.html)",
        "[SIL Open Font License 1.1 with no Reserved Font Name](https://spdx.org/licenses/OFL-1.1-no-RFN.html)",
        "[SIL Open Font License 1.1 with Reserved Font Name](https://spdx.org/licenses/OFL-1.1-RFN.html)",
        "[OGC Software License, Version 1.0](https://spdx.org/licenses/OGC-1.0.html)",
        "[Taiwan Open Government Data License, version 1.0](https://spdx.org/licenses/OGDL-Taiwan-1.0.html)",
        "[Open Government Licence - Canada](https://spdx.org/licenses/OGL-Canada-2.0.html)",
        "[Open Government Licence v1.0](https://spdx.org/licenses/OGL-UK-1.0.html)",
        "[Open Government Licence v2.0](https://spdx.org/licenses/OGL-UK-2.0.html)",
        "[Open Government Licence v3.0](https://spdx.org/licenses/OGL-UK-3.0.html)",
        "[Open Group Test Suite License](https://spdx.org/licenses/OGTSL.html)",
        "[Open LDAP Public License v1.1](https://spdx.org/licenses/OLDAP-1.1.html)",
        "[Open LDAP Public License v1.2](https://spdx.org/licenses/OLDAP-1.2.html)",
        "[Open LDAP Public License v1.3](https://spdx.org/licenses/OLDAP-1.3.html)",
        "[Open LDAP Public License v1.4](https://spdx.org/licenses/OLDAP-1.4.html)",
        "[Open LDAP Public License v2.0 (or possibly 2.0A and 2.0B)](https://spdx.org/licenses/OLDAP-2.0.html)",
        "[Open LDAP Public License v2.0.1](https://spdx.org/licenses/OLDAP-2.0.1.html)",
        "[Open LDAP Public License v2.1](https://spdx.org/licenses/OLDAP-2.1.html)",
        "[Open LDAP Public License v2.2](https://spdx.org/licenses/OLDAP-2.2.html)",
        "[Open LDAP Public License v2.2.1](https://spdx.org/licenses/OLDAP-2.2.1.html)",
        "[Open LDAP Public License 2.2.2](https://spdx.org/licenses/OLDAP-2.2.2.html)",
        "[Open LDAP Public License v2.3](https://spdx.org/licenses/OLDAP-2.3.html)",
        "[Open LDAP Public License v2.4](https://spdx.org/licenses/OLDAP-2.4.html)",
        "[Open LDAP Public License v2.5](https://spdx.org/licenses/OLDAP-2.5.html)",
        "[Open LDAP Public License v2.6](https://spdx.org/licenses/OLDAP-2.6.html)",
        "[Open LDAP Public License v2.7](https://spdx.org/licenses/OLDAP-2.7.html)",
        "[Open LDAP Public License v2.8](https://spdx.org/licenses/OLDAP-2.8.html)",
        "[Open Logistics Foundation License Version 1.3](https://spdx.org/licenses/OLFL-1.3.html)",
        "[Open Market License](https://spdx.org/licenses/OML.html)",
        "[OpenMDW License Agreement v1.0](https://spdx.org/licenses/OpenMDW-1.0.html)",
        "[OpenPBS v2.3 Software License](https://spdx.org/licenses/OpenPBS-2.3.html)",
        "[OpenSSL License](https://spdx.org/licenses/OpenSSL.html)",
        "[OpenSSL License - standalone](https://spdx.org/licenses/OpenSSL-standalone.html)",
        "[OpenVision License](https://spdx.org/licenses/OpenVision.html)",
        "[Open Public License v1.0](https://spdx.org/licenses/OPL-1.0.html)",
        "[United Kingdom Open Parliament Licence v3.0](https://spdx.org/licenses/OPL-UK-3.0.html)",
        "[Open Publication License v1.0](https://spdx.org/licenses/OPUBL-1.0.html)",
        "[OSC License 1.0](https://spdx.org/licenses/OSC-1.0.html)",
        "[OSET Public License version 2.1](https://spdx.org/licenses/OSET-PL-2.1.html)",
        "[Open Software License 1.0](https://spdx.org/licenses/OSL-1.0.html)",
        "[Open Software License 1.1](https://spdx.org/licenses/OSL-1.1.html)",
        "[Open Software License 2.0](https://spdx.org/licenses/OSL-2.0.html)",
        "[Open Software License 2.1](https://spdx.org/licenses/OSL-2.1.html)",
        "[Open Software License 3.0](https://spdx.org/licenses/OSL-3.0.html)",
        "[OSSP License](https://spdx.org/licenses/OSSP.html)",
        "[PADL License](https://spdx.org/licenses/PADL.html)",
        "[ParaType Free Font Licensing Agreement v1.3](https://spdx.org/licenses/ParaType-Free-Font-1.3.html)",
        "[The Parity Public License 6.0.0](https://spdx.org/licenses/Parity-6.0.0.html)",
        "[The Parity Public License 7.0.0](https://spdx.org/licenses/Parity-7.0.0.html)",
        "[Open Data Commons Public Domain Dedication & License 1.0](https://spdx.org/licenses/PDDL-1.0.html)",
        "[PHP License v3.0](https://spdx.org/licenses/PHP-3.0.html)",
        "[PHP License v3.01](https://spdx.org/licenses/PHP-3.01.html)",
        "[Pixar License](https://spdx.org/licenses/Pixar.html)",
        "[pkgconf License](https://spdx.org/licenses/pkgconf.html)",
        "[Plexus Classworlds License](https://spdx.org/licenses/Plexus.html)",
        "[pnmstitch License](https://spdx.org/licenses/pnmstitch.html)",
        "[PolyForm Noncommercial License 1.0.0](https://spdx.org/licenses/PolyForm-Noncommercial-1.0.0.html)",
        "[PolyForm Small Business License 1.0.0](https://spdx.org/licenses/PolyForm-Small-Business-1.0.0.html)",
        "[PostgreSQL License](https://spdx.org/licenses/PostgreSQL.html)",
        "[Peer Production License](https://spdx.org/licenses/PPL.html)",
        "[Python Software Foundation License 2.0](https://spdx.org/licenses/PSF-2.0.html)",
        "[psfrag License](https://spdx.org/licenses/psfrag.html)",
        "[psutils License](https://spdx.org/licenses/psutils.html)",
        "[Python License 2.0](https://spdx.org/licenses/Python-2.0.html)",
        "[Python License 2.0.1](https://spdx.org/licenses/Python-2.0.1.html)",
        "[Python ldap License](https://spdx.org/licenses/python-ldap.html)",
        "[Qhull License](https://spdx.org/licenses/Qhull.html)",
        "[Q Public License 1.0](https://spdx.org/licenses/QPL-1.0.html)",
        "[Q Public License 1.0 - INRIA 2004 variant](https://spdx.org/licenses/QPL-1.0-INRIA-2004.html)",
        "[radvd License](https://spdx.org/licenses/radvd.html)",
        "[Rdisc License](https://spdx.org/licenses/Rdisc.html)",
        "[Red Hat eCos Public License v1.1](https://spdx.org/licenses/RHeCos-1.1.html)",
        "[Reciprocal Public License 1.1](https://spdx.org/licenses/RPL-1.1.html)",
        "[Reciprocal Public License 1.5](https://spdx.org/licenses/RPL-1.5.html)",
        "[RealNetworks Public Source License v1.0](https://spdx.org/licenses/RPSL-1.0.html)",
        "[RSA Message-Digest License](https://spdx.org/licenses/RSA-MD.html)",
        "[Ricoh Source Code Public License](https://spdx.org/licenses/RSCPL.html)",
        "[Ruby License](https://spdx.org/licenses/Ruby.html)",
        "[Ruby pty extension license](https://spdx.org/licenses/Ruby-pty.html)",
        "[Sax Public Domain Notice](https://spdx.org/licenses/SAX-PD.html)",
        "[Sax Public Domain Notice 2.0](https://spdx.org/licenses/SAX-PD-2.0.html)",
        "[Saxpath License](https://spdx.org/licenses/Saxpath.html)",
        "[SCEA Shared Source License](https://spdx.org/licenses/SCEA.html)",
        "[Scheme Language Report License](https://spdx.org/licenses/SchemeReport.html)",
        "[Sendmail License](https://spdx.org/licenses/Sendmail.html)",
        "[Sendmail License 8.23](https://spdx.org/licenses/Sendmail-8.23.html)",
        "[Sendmail Open Source License v1.1](https://spdx.org/licenses/Sendmail-Open-Source-1.1.html)",
        "[SGI Free Software License B v1.0](https://spdx.org/licenses/SGI-B-1.0.html)",
        "[SGI Free Software License B v1.1](https://spdx.org/licenses/SGI-B-1.1.html)",
        "[SGI Free Software License B v2.0](https://spdx.org/licenses/SGI-B-2.0.html)",
        "[SGI OpenGL License](https://spdx.org/licenses/SGI-OpenGL.html)",
        "[SGMLUG Parser Materials License](https://spdx.org/licenses/SGMLUG-PM.html)",
        "[SGP4 Permission Notice](https://spdx.org/licenses/SGP4.html)",
        "[Solderpad Hardware License v0.5](https://spdx.org/licenses/SHL-0.5.html)",
        "[Solderpad Hardware License, Version 0.51](https://spdx.org/licenses/SHL-0.51.html)",
        "[Simple Public License 2.0](https://spdx.org/licenses/SimPL-2.0.html)",
        "[Sun Industry Standards Source License v1.1](https://spdx.org/licenses/SISSL.html)",
        "[Sun Industry Standards Source License v1.2](https://spdx.org/licenses/SISSL-1.2.html)",
        "[SL License](https://spdx.org/licenses/SL.html)",
        "[Sleepycat License](https://spdx.org/licenses/Sleepycat.html)",
        "[SMAIL General Public License](https://spdx.org/licenses/SMAIL-GPL.html)",
        "[Standard ML of New Jersey License](https://spdx.org/licenses/SMLNJ.html)",
        "[Secure Messaging Protocol Public License](https://spdx.org/licenses/SMPPL.html)",
        "[SNIA Public License 1.1](https://spdx.org/licenses/SNIA.html)",
        "[snprintf License](https://spdx.org/licenses/snprintf.html)",
        "[SOFA Software License](https://spdx.org/licenses/SOFA.html)",
        "[softSurfer License](https://spdx.org/licenses/softSurfer.html)",
        "[Soundex License](https://spdx.org/licenses/Soundex.html)",
        "[Spencer License 86](https://spdx.org/licenses/Spencer-86.html)",
        "[Spencer License 94](https://spdx.org/licenses/Spencer-94.html)",
        "[Spencer License 99](https://spdx.org/licenses/Spencer-99.html)",
        "[Sun Public License v1.0](https://spdx.org/licenses/SPL-1.0.html)",
        "[ssh-keyscan License](https://spdx.org/licenses/ssh-keyscan.html)",
        "[SSH OpenSSH license](https://spdx.org/licenses/SSH-OpenSSH.html)",
        "[SSH short notice](https://spdx.org/licenses/SSH-short.html)",
        "[SSLeay License - standalone](https://spdx.org/licenses/SSLeay-standalone.html)",
        "[Server Side Public License, v 1](https://spdx.org/licenses/SSPL-1.0.html)",
        "[SugarCRM Public License v1.1.3](https://spdx.org/licenses/SugarCRM-1.1.3.html)",
        "[Sustainable Use License v1.0](https://spdx.org/licenses/SUL-1.0.html)",
        "[Sun PPP License](https://spdx.org/licenses/Sun-PPP.html)",
        "[Sun PPP License (2000)](https://spdx.org/licenses/Sun-PPP-2000.html)",
        "[SunPro License](https://spdx.org/licenses/SunPro.html)",
        "[Scheme Widget Library (SWL) Software License Agreement](https://spdx.org/licenses/SWL.html)",
        "[swrule License](https://spdx.org/licenses/swrule.html)",
        "[Symlinks License](https://spdx.org/licenses/Symlinks.html)",
        "[TAPR Open Hardware License v1.0](https://spdx.org/licenses/TAPR-OHL-1.0.html)",
        "[TCL/TK License](https://spdx.org/licenses/TCL.html)",
        "[TCP Wrappers License](https://spdx.org/licenses/TCP-wrappers.html)",
        "[TekHVC License](https://spdx.org/licenses/TekHVC.html)",
        "[TermReadKey License](https://spdx.org/licenses/TermReadKey.html)",
        "[Transitive Grace Period Public Licence 1.0](https://spdx.org/licenses/TGPPL-1.0.html)",
        "[ThirdEye License](https://spdx.org/licenses/ThirdEye.html)",
        "[threeparttable License](https://spdx.org/licenses/threeparttable.html)",
        "[TMate Open Source License](https://spdx.org/licenses/TMate.html)",
        "[TORQUE v2.5+ Software License v1.1](https://spdx.org/licenses/TORQUE-1.1.html)",
        "[Trusster Open Source License](https://spdx.org/licenses/TOSL.html)",
        "[Time::ParseDate License](https://spdx.org/licenses/TPDL.html)",
        "[THOR Public License 1.0](https://spdx.org/licenses/TPL-1.0.html)",
        "[TrustedQSL License](https://spdx.org/licenses/TrustedQSL.html)",
        "[Text-Tabs+Wrap License](https://spdx.org/licenses/TTWL.html)",
        "[TTYP0 License](https://spdx.org/licenses/TTYP0.html)",
        "[Technische Universitaet Berlin License 1.0](https://spdx.org/licenses/TU-Berlin-1.0.html)",
        "[Technische Universitaet Berlin License 2.0](https://spdx.org/licenses/TU-Berlin-2.0.html)",
        "[Ubuntu Font Licence v1.0](https://spdx.org/licenses/Ubuntu-font-1.0.html)",
        "[UCAR License](https://spdx.org/licenses/UCAR.html)",
        "[Upstream Compatibility License v1.0](https://spdx.org/licenses/UCL-1.0.html)",
        "[ulem License](https://spdx.org/licenses/ulem.html)",
        "[Michigan/Merit Networks License](https://spdx.org/licenses/UMich-Merit.html)",
        "[Unicode License v3](https://spdx.org/licenses/Unicode-3.0.html)",
        "[Unicode License Agreement - Data Files and Software (2015)](https://spdx.org/licenses/Unicode-DFS-2015.html)",
        "[Unicode License Agreement - Data Files and Software (2016)](https://spdx.org/licenses/Unicode-DFS-2016.html)",
        "[Unicode Terms of Use](https://spdx.org/licenses/Unicode-TOU.html)",
        "[UnixCrypt License](https://spdx.org/licenses/UnixCrypt.html)",
        "[The Unlicense](https://spdx.org/licenses/Unlicense.html)",
        "[Unlicense - libtelnet variant](https://spdx.org/licenses/Unlicense-libtelnet.html)",
        "[Unlicense - libwhirlpool variant](https://spdx.org/licenses/Unlicense-libwhirlpool.html)",
        "[UnRAR License](https://spdx.org/licenses/UnRAR.html)",
        "[Universal Permissive License v1.0](https://spdx.org/licenses/UPL-1.0.html)",
        "[Utah Raster Toolkit Run Length Encoded License](https://spdx.org/licenses/URT-RLE.html)",
        "[Vim License](https://spdx.org/licenses/Vim.html)",
        "[Vixie Cron License](https://spdx.org/licenses/Vixie-Cron.html)",
        "[VOSTROM Public License for Open Source](https://spdx.org/licenses/VOSTROM.html)",
        "[Vovida Software License v1.0](https://spdx.org/licenses/VSL-1.0.html)",
        "[W3C Software Notice and License (2002-12-31)](https://spdx.org/licenses/W3C.html)",
        "[W3C Software Notice and License (1998-07-20)](https://spdx.org/licenses/W3C-19980720.html)",
        "[W3C Software Notice and Document License (2015-05-13)](https://spdx.org/licenses/W3C-20150513.html)",
        "[w3m License](https://spdx.org/licenses/w3m.html)",
        "[Sybase Open Watcom Public License 1.0](https://spdx.org/licenses/Watcom-1.0.html)",
        "[Widget Workshop License](https://spdx.org/licenses/Widget-Workshop.html)",
        "[WordNet License](https://spdx.org/licenses/WordNet.html)",
        "[Wsuipa License](https://spdx.org/licenses/Wsuipa.html)",
        "[Do What The F*ck You Want To But It's Not My Fault Public License](https://spdx.org/licenses/WTFNMFPL.html)",
        "[Do What The F*ck You Want To Public License](https://spdx.org/licenses/WTFPL.html)",
        "[WWL License](https://spdx.org/licenses/wwl.html)",
        "[X11 License](https://spdx.org/licenses/X11.html)",
        "[X11 License Distribution Modification Variant](https://spdx.org/licenses/X11-distribute-modifications-variant.html)",
        "[X11 no permit persons clause](https://spdx.org/licenses/X11-no-permit-persons.html)",
        "[X11 swapped final paragraphs](https://spdx.org/licenses/X11-swapped.html)",
        "[Xdebug License v 1.03](https://spdx.org/licenses/Xdebug-1.03.html)",
        "[Xerox License](https://spdx.org/licenses/Xerox.html)",
        "[Xfig License](https://spdx.org/licenses/Xfig.html)",
        "[XFree86 License 1.1](https://spdx.org/licenses/XFree86-1.1.html)",
        "[xinetd License](https://spdx.org/licenses/xinetd.html)",
        "[xkeyboard-config Zinoviev License](https://spdx.org/licenses/xkeyboard-config-Zinoviev.html)",
        "[xlock License](https://spdx.org/licenses/xlock.html)",
        "[X.Net License](https://spdx.org/licenses/Xnet.html)",
        "[XPP License](https://spdx.org/licenses/xpp.html)",
        "[XSkat License](https://spdx.org/licenses/XSkat.html)",
        "[xzoom License](https://spdx.org/licenses/xzoom.html)",
        "[Yahoo! Public License v1.0](https://spdx.org/licenses/YPL-1.0.html)",
        "[Yahoo! Public License v1.1](https://spdx.org/licenses/YPL-1.1.html)",
        "[Zed License](https://spdx.org/licenses/Zed.html)",
        "[Zeeff License](https://spdx.org/licenses/Zeeff.html)",
        "[Zend License v2.0](https://spdx.org/licenses/Zend-2.0.html)",
        "[Zimbra Public License v1.3](https://spdx.org/licenses/Zimbra-1.3.html)",
        "[Zimbra Public License v1.4](https://spdx.org/licenses/Zimbra-1.4.html)",
        "[zlib License](https://spdx.org/licenses/Zlib.html)",
        "[zlib/libpng License with Acknowledgement](https://spdx.org/licenses/zlib-acknowledgement.html)",
        "[Zope Public License 1.1](https://spdx.org/licenses/ZPL-1.1.html)",
        "[Zope Public License 2.0](https://spdx.org/licenses/ZPL-2.0.html)",
        "[Zope Public License 2.1](https://spdx.org/licenses/ZPL-2.1.html)"
      ]
    },
    "license_identifier": {
      "$comment": "Add known licenses here to provide better error messages for the validator",
      "allOf": [
        {
          "$ref": "#/definitions/spdx_license_identifier"
        }
      ]
    },
    "license_field": {
      "anyOf": [
        {
          "enum": [
            "Unknown"
          ],
          "markdownDescription": [
            "The [official field defined by Scoop](https://github.com/ScoopInstaller/Scoop/wiki/App-Manifests#required-properties), to indicate that the license cannot be determined."
          ]
        },
        {
          "enum": [
            "Freeware"
          ],
          "markdownDescription": [
            "The [official field defined by Scoop](https://github.com/ScoopInstaller/Scoop/wiki/App-Manifests#required-properties), to indicate that the software is free to use forever."
          ]
        },
        {
          "enum": [
            "Proprietary"
          ],
          "markdownDescription": [
            "The [official field defined by Scoop](https://github.com/ScoopInstaller/Scoop/wiki/App-Manifests#required-properties), to indicate that the software is a paid software(must pay to use)"
          ]
        },
        {
          "enum": [
            "Public Domain"
          ],
          "markdownDescription": [
            "The [official field defined by Scoop](https://github.com/ScoopInstaller/Scoop/wiki/App-Manifests#required-properties), to indicate that the software belongs to the public domain."
          ]
        },
        {
          "enum": [
            "Shareware"
          ],
          "markdownDescription": [
            "The [official field defined by Scoop](https://github.com/ScoopInstaller/Scoop/wiki/App-Manifests#required-properties), to indicate that the software is free to try, but must pay eventually."
          ]
        }
      ]
    },
    "license": {
      "title": "Software License",
      "markdownDescription": "- Specify the license or type field of the software\n- If different files have different licenses, use `,` to separate the licenses\n- If the entire application is multi-licensed, use `|` to separate the licenses\n- https://spdx.org/licenses\n- https://opensource.org/license",
      "type": [
        "string",
        "object"
      ],
      "examples": [
        {}
      ],
      "anyOf": [
        {
          "minLength": 1
        },
        {
          "$ref": "#/definitions/license_field"
        },
        {
          "$ref": "#/definitions/license_identifier"
        }
      ],
      "if": {
        "type": "object"
      },
      "then": {
        "required": [
          "identifier"
        ],
        "additionalProperties": false,
        "properties": {
          "identifier": {
            "title": "License Identifier",
            "markdownDescription": "- Specify the license of the software\n- If different files have different licenses, use `,` to separate the licenses\n- If the entire application is multi-licensed, use `|` to separate the licenses\n- https://spdx.org/licenses\n- https://opensource.org/license",
            "$ref": "#/definitions/str",
            "anyOf": [
              {
                "minLength": 1
              },
              {
                "$ref": "#/definitions/license_field"
              },
              {
                "$ref": "#/definitions/license_identifier"
              }
            ]
          },
          "url": {
            "examples": [
              ""
            ],
            "allOf": [
              {
                "$ref": "#/definitions/str"
              },
              {
                "$ref": "#/definitions/url_validation"
              }
            ],
            "title": "License URL",
            "markdownDescription": "- Specify the URL of the software license."
          }
        }
      }
    },
    "notes": {
      "title": "Notes",
      "markdownDescription": "- The notes after installing the software.\n- You can use some variables, which will be automatically replaced when displayed.\n  - `$dir`\n  - `$original_dir`\n  - `$persist_dir`",
      "$ref": "#/definitions/str_or_arr"
    },
    "url_validation": {
      "pattern": "^https?://",
      "errorMessage": "Require a valid http/https URL"
    },
    "url": {
      "title": "Download URL",
      "markdownDescription": "- The URL of the file to be downloaded\n- If there are multiple URLs, an array can be used.\n```json\n  \"url\": [\n      \"http://example.com/file1.zip\",\n      \"http://example.com/file2.zip\"\n  ]\n  ```\n- If you need to change the file name of the download URL, you can add `#/dl.7z` at the end of the URL. For example:\n```json\n  \"url\": \"http://example.org/program.exe#/dl.7z\"\n  ```\n- Scoop will download program.exe, but save it as dl.7z, and then automatically extract it using 7-Zip.",
      "examples": [
        "https://github.com/abgox/abyss/releases/download/empty/empty"
      ],
      "type": [
        "string",
        "array"
      ],
      "$ref": "#/definitions/url_validation",
      "minLength": 1,
      "minItems": 1,
      "items": {
        "allOf": [
          {
            "$ref": "#/definitions/str"
          },
          {
            "$ref": "#/definitions/url_validation"
          }
        ],
        "examples": [
          "https://github.com/abgox/abyss/releases/download/empty/empty"
        ]
      }
    },
    "hash": {
      "title": "Hash of the download file",
      "markdownDescription": "- The hash of the downloaded file.\n- The default is `SHA256`.\n- You can also use `SHA512`, `SHA1`, or `MD5` by prefixing the string with `sha512:`, `sha1:`, or `md5:`, respectively.",
      "examples": [
        "36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068"
      ],
      "type": [
        "string",
        "array"
      ],
      "minLength": 1,
      "minItems": 1,
      "items": {
        "$ref": "#/definitions/str",
        "examples": [
          "36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068"
        ],
        "pattern": "^([a-fA-F0-9]{64}|(sha1|sha256|sha512|md5):([a-fA-F0-9]{32}|[a-fA-F0-9]{40}|[a-fA-F0-9]{64}|[a-fA-F0-9]{128}))$",
        "errorMessage": "It must be a valid hash"
      },
      "pattern": "^([a-fA-F0-9]{64}|(sha1|sha256|sha512|md5):([a-fA-F0-9]{32}|[a-fA-F0-9]{40}|[a-fA-F0-9]{64}|[a-fA-F0-9]{128}))$",
      "errorMessage": "It must be a valid hash"
    },
    "architecture_example": {
      "examples": [
        {
          "64bit": {
            "url": "https://github.com/abgox/abyss/releases/download/empty/empty",
            "hash": "36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068"
          },
          "arm64": {
            "url": "https://github.com/abgox/abyss/releases/download/empty/empty",
            "hash": "36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068"
          }
        }
      ]
    },
    "architecture_property": {
      "examples": [
        {}
      ],
      "properties": {
        "url": {
          "examples": [
            "",
            []
          ],
          "$ref": "#/definitions/url"
        },
        "hash": {
          "$ref": "#/definitions/hash"
        },
        "bin": {
          "$ref": "#/definitions/bin"
        },
        "checkver": {
          "$ref": "#/definitions/checkver"
        },
        "env_add_path": {
          "$comment": "This property is not officially documented, but it is actually available",
          "$ref": "#/definitions/env_add_path"
        },
        "extract_dir": {
          "$ref": "#/definitions/extract_dir"
        },
        "installer": {
          "$ref": "#/definitions/installer"
        },
        "pre_install": {
          "$ref": "#/definitions/pre_install"
        },
        "post_install": {
          "$ref": "#/definitions/post_install"
        },
        "shortcuts": {
          "$ref": "#/definitions/shortcuts"
        },
        "uninstaller": {
          "$ref": "#/definitions/uninstaller"
        }
      },
      "minProperties": 1,
      "additionalProperties": false
    },
    "architecture": {
      "title": "Architecture information",
      "markdownDescription": "- The architecture information of the program.\n- Architecture can be used to wrap differences",
      "type": "object",
      "minProperties": 1,
      "additionalProperties": false,
      "properties": {
        "64bit": {
          "markdownDescription": "- 64bit architecture",
          "$ref": "#/definitions/architecture_property"
        },
        "32bit": {
          "markdownDescription": "- 32bit architecture",
          "$ref": "#/definitions/architecture_property"
        },
        "arm64": {
          "markdownDescription": "- arm64 architecture",
          "$ref": "#/definitions/architecture_property"
        }
      }
    },
    "extract_dir": {
      "title": "Extract specified directory only",
      "markdownDescription": "- If the value of the url property points to a compressed package, Scoop will extract all content by default.\n  - Compressed package types: `.zip`/`.7z`/`.tar`/`.gz`/`.lzma`/`.lzh`\n- If the `extract_dir` property is defined, Scoop will only extract the specified directory defined in `extract_dir`.",
      "$ref": "#/definitions/str_or_arr"
    },
    "extract_to": {
      "title": "Extract content to specified directory",
      "markdownDescription": "- If the value of the url property points to a compressed package, Scoop will extract all content to the directory defined by `extract_to`\n  - Compressed package types: `.zip`/`.7z`/`.tar`/`.gz`/`.lzma`/`.lzh`\n- If url is an array with multiple compressed packages, `extract_to` should also be an array with the same order as url",
      "$ref": "#/definitions/str_or_arr"
    },
    "env_add_path": {
      "title": "Add the specified directory to the PATH environment variable",
      "markdownDescription": "- Add the specified directory to the PATH environment variable (current user)\n- If you want to specify the `$dir` directory, please use `.` instead.\n- If the `--global` or `-g` parameter is used during installation, the directory will be added to the PATH environment variable (system level)",
      "type": [
        "string",
        "array"
      ],
      "examples": [
        []
      ],
      "minLength": 1,
      "minItems": 1,
      "uniqueItems": true,
      "$ref": "#/definitions/use_string_if_single"
    },
    "env_set": {
      "title": "Set environment variables",
      "markdownDescription": "- Set one or more environment variables (current user)\n- If the `--global` or `-g` parameter is used during installation, the variables will be set in the system environment variables (system level)\n- Available variables:\n  - `$dir`\n  - `$persist_dir`\n  - `$home`\n  - `$env:AppData`\n  - ...",
      "allOf": [
        {
          "type": "object"
        },
        {
          "patternProperties": {
            "^.+$": {
              "$ref": "#/definitions/str",
              "title": "The key of the environment variable",
              "examples": [
                "$dir\\xxx",
                "$persist_dir\\xxx"
              ]
            }
          },
          "minProperties": 1,
          "additionalProperties": false,
          "errorMessage": "Property names cannot be empty strings"
        }
      ]
    },
    "psmodule": {
      "title": "PowerShell module",
      "markdownDescription": "- Install as PowerShell module in `$scoopdir/modules`",
      "type": "object",
      "required": [
        "name"
      ],
      "examples": [
        {
          "name": ""
        }
      ],
      "properties": {
        "name": {
          "title": "Module name",
          "markdownDescription": "- The name of the module, which should match at least one file in the extract directory for PowerShell to recognize it as a module",
          "$ref": "#/definitions/str"
        }
      },
      "additionalProperties": false
    },
    "bin": {
      "markdownDescription": "Program (executable or script) string or string array\n\n- A string or array of strings representing programs (executables or scripts) to be made available on the user's PATH\n- If the program file is a GUI application and it doesn't accept any commandline arguments, no need to add it in `bin`\n\n### Example\n\n1. Scoop will create a shim named `a`, so you can run a.exe by typing `a`\n\n   ```json\n   \"bin\": \"a.exe\"\n   ```\n\n2. Same as 1, but Scoop creates two shims: `a` and `b`\n\n   ```json\n   \"bin\": [\n       \"a.exe\",\n       \"b.exe\"\n   ]\n   ```\n\n3. Same as 2, but the shims are named `ax` and `bx`\n\n   ```json\n   \"bin\": [\n       [\n           \"a.exe\",\n           \"ax\"\n       ],\n       [\n           \"b.exe\",\n           \"bx\"\n       ]\n   ]\n   ```\n\n4. Same as 3, but running the shims will automatically pass `--config $dir/config.json`\n\n```json\n    \"bin\": [\n        [\n            \"a.exe\",\n            \"ax\",\n            \"--config $dir/config.json\"\n        ],\n        [\n            \"b.exe\",\n            \"bx\",\n            \"--config $dir/config.json\"\n        ]\n    ]\n```",
      "type": [
        "string",
        "array"
      ],
      "items": {
        "type": [
          "string",
          "array"
        ],
        "minLength": 1,
        "anyOf": [
          {
            "type": "array",
            "items": {
              "$ref": "#/definitions/str"
            },
            "allOf": [
              {
                "items": [
                  {
                    "markdownDescription": "Required: program name"
                  },
                  {
                    "markdownDescription": "Required: alias (shim)"
                  },
                  {
                    "markdownDescription": "Optional: parameters"
                  }
                ]
              },
              {
                "if": {
                  "minItems": 1,
                  "maxItems": 1
                },
                "then": {
                  "not": true,
                  "errorMessage": "Missing second required value: alias (shim)"
                }
              },
              {
                "if": {
                  "maxItems": 0
                },
                "then": {
                  "not": true,
                  "errorMessage": "Missing two required values: program name, alias (shim)"
                }
              }
            ],
            "minItems": 1,
            "maxItems": 3
          },
          {
            "$ref": "#/definitions/str"
          }
        ]
      },
      "minLength": 1,
      "minItems": 1,
      "uniqueItems": true,
      "$ref": "#/definitions/use_string_if_single"
    },
    "shortcuts": {
      "type": "array",
      "title": "Some shortcuts added to the Start menu",
      "markdownDescription": "- Specifies shortcuts to be added to the Start menu, placed in the `Scoop Apps` folder\n- Each array can contain up to four values:\n    1. Required: path to the target file\n    2. Required: name of the shortcut; subdirectories are supported: `aaa\\bbb`\n    3. Optional: launch arguments\n    4. Optional: path to the icon file",
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/str"
        },
        "allOf": [
          {
            "items": [
              {
                "markdownDescription": "Required: path to the target file"
              },
              {
                "markdownDescription": "Required: name of the shortcut; subdirectories are supported: `aaa\\bbb`"
              },
              {
                "markdownDescription": "Optional: launch arguments"
              },
              {
                "markdownDescription": "Optional: path to the icon file"
              }
            ]
          },
          {
            "if": {
              "minItems": 1,
              "maxItems": 1
            },
            "then": {
              "not": true,
              "errorMessage": "Missing second required value: shortcut name"
            }
          },
          {
            "if": {
              "maxItems": 0
            },
            "then": {
              "not": true,
              "errorMessage": "Missing two required values: target file path, shortcut name"
            }
          }
        ],
        "minItems": 1,
        "maxItems": 4
      },
      "minItems": 1,
      "uniqueItems": true
    },
    "persist": {
      "markdownDescription": "[Persisted data](https://github.com/ScoopInstaller/Scoop/wiki/Persistent-data)\n\n- Scoop will persist the specified directories and files.\n\n### Note\n\n- Scoop creates directory junctions by default.\n- If you need file-level linking, create the file first in your install script.\n\n### Example\n\n1. Directory junction: `$dir\\data` => `$persist_dir\\data`\n\n   ```json\n   \"persist\": \"data\"\n   ```\n\n2.Same as 1 but multiple items\n\n    ```json\n    \"persist\": [\n        \"data\",\n        \"config.json\"\n    ]\n    ```\n\n3. Same as 2 but with custom target names\n\n   ```json\n   \"persist\": [\n       [\n           \"app\\\\data\",\n           \"userData\"\n       ],\n       [\n           \"app\\\\config.json\",\n           \"config.json\"\n       ]\n   ]\n   ```",
      "type": [
        "string",
        "array"
      ],
      "items": {
        "type": [
          "string",
          "array"
        ],
        "minLength": 1,
        "anyOf": [
          {
            "type": "array",
            "items": {
              "$ref": "#/definitions/str"
            },
            "allOf": [
              {
                "items": [
                  {
                    "markdownDescription": "Original file or directory to persist"
                  },
                  {
                    "markdownDescription": "Target location for the persisted data, supports subdirectories: `aaa\\bbb`"
                  }
                ]
              },
              {
                "if": {
                  "minItems": 1,
                  "maxItems": 1
                },
                "then": {
                  "not": true,
                  "errorMessage": "Missing second required value: target location for the persisted data"
                }
              },
              {
                "if": {
                  "maxItems": 0
                },
                "then": {
                  "not": true,
                  "errorMessage": "Missing two required values: original file or directory to persist, target location for the persisted data"
                }
              }
            ],
            "minItems": 1,
            "maxItems": 3
          },
          {
            "$ref": "#/definitions/str"
          }
        ]
      },
      "minLength": 1,
      "minItems": 1,
      "uniqueItems": true,
      "examples": [
        "",
        [],
        [
          []
        ]
      ]
    },
    "pre_install": {
      "title": "Pre-install script",
      "markdownDescription": "- Commands to be executed before installing the application\n- Execution order: `pre_install` -> `installer` -> `post_install`\n\n|Variables|Description|\n|:-:|-|\n|`$app`|Application name (manifest name)|\n|`$architecture`|CPU architecture of the installed application, e.g. 64bit/32bit/arm64|\n|`$cmd`|Current running subcommand, e.g. uninstall/update/install|\n|`$fname`|Downloaded file name (may be multiple files, treat as array unless you are sure url is not an array)|\n|`$scoopConfig`|Scoop configuration (PowerShell object), e.g. {SCOOP_BRANCH, SCOOP_REPO}|\n|`$global`|If value is $true, then it's a global installation|\n|`$manifest`|Deserialized manifest (PowerShell object), e.g. @{version=1.2.3; description=xxx;...}|\n|`$version`|Version being installed, e.g. 1.2.3|\n|`$dir`|Application installation directory (actual version number directory)|\n|`$persist_dir`|Data persistence directory|\n|`$bucketsdir`|Scoop buckets directory, e.g. D:\\scoop\\buckets|\n|`$bucket`|Name of the bucket to which the currently installed application belongs|\n|`$cachedir`|Scoop cache directory|\n|`$configFile`|Path to Scoop configuration|\n|`$globaldir`|Global installation directory|\n|`$original_dir`|Application installation directory (actual version number directory)|\n|`$scoopdir`|Scoop installation directory",
      "$ref": "#/definitions/str_or_arr"
    },
    "installer": {
      "title": "Installer configuration",
      "markdownDescription": "- Configuration for running non-MSI installers\n- Called during scoop install and scoop update\n- Execution order: `pre_install` -> `installer` -> `post_install`",
      "type": "object",
      "minProperties": 1,
      "additionalProperties": false,
      "examples": [
        {}
      ],
      "properties": {
        "file": {
          "markdownDescription": "Executable file for the installer\n- Defaults to the last downloaded URL if not specified\n- Required if specified in uninstaller",
          "$ref": "#/definitions/str"
        },
        "script": {
          "markdownDescription": "Execute as an installer instead of a file\n- Available variables in the script:\n    - $fname: downloaded file(s) (may be an array; treat as array unless you are sure url is not an array)\n    - $manifest: validated manifest reference\n    - $architecture: 64bit/32bit/arm64\n    - $dir: installation directory",
          "$ref": "#/definitions/str_or_arr"
        },
        "args": {
          "type": "array",
          "markdownDescription": "Array of arguments to pass to the installer\n- Optional property",
          "items": {
            "$ref": "#/definitions/str"
          },
          "minItems": 1
        },
        "keep": {
          "markdownDescription": "Set to true if the installer should be kept after running (e.g., for future uninstallation)\n- If omitted or set to any other value, the installer will be deleted after running",
          "$ref": "#/definitions/bool"
        }
      }
    },
    "post_install": {
      "title": "Post-install script",
      "markdownDescription": "- Commands executed after the application is installed\n- Execution order: `pre_install` -> `installer` -> `post_install`\n- Note: At this point, Scoop has already completed persist, so if you need to create files for persist, do it before this (in `pre_install`)\n\n|Variables|Description|\n|:-:|-|\n|`$app`|Application name (manifest name)|\n|`$architecture`|CPU architecture of the installed application, e.g. 64bit/32bit/arm64|\n|`$cmd`|Current running subcommand, e.g. uninstall/update/install|\n|`$fname`|Downloaded file name (may be multiple files, treat as array unless you are sure url is not an array)|\n|`$scoopConfig`|Scoop configuration (PowerShell object), e.g. {SCOOP_BRANCH, SCOOP_REPO}|\n|`$global`|If value is $true, then it's a global installation|\n|`$manifest`|Deserialized manifest (PowerShell object), e.g. @{version=1.2.3; description=xxx;...}|\n|`$version`|Version being installed, e.g. 1.2.3|\n|`$dir`|Application installation directory (current directory)|\n|`$persist_dir`|Data persistence directory|\n|`$bucketsdir`|Scoop buckets directory, e.g. D:\\scoop\\buckets|\n|`$bucket`|Name of the bucket to which the currently installed application belongs|\n|`$cachedir`|Scoop cache directory|\n|`$configFile`|Path to Scoop configuration|\n|`$globaldir`|Global installation directory|\n|`$original_dir`|Application installation directory (actual version number directory)|\n|`$scoopdir`|Scoop installation directory",
      "$ref": "#/definitions/str_or_arr"
    },
    "pre_uninstall": {
      "title": "Pre-uninstall script",
      "markdownDescription": "- Execute commands before uninstalling the application\n- Execution order: `pre_uninstall` -> `uninstaller` -> `post_uninstall`\n\n|Variables|Description|\n|:-:|-|\n|`$app`|Application name (manifest name)|\n|`$architecture`|CPU architecture of the installed application, e.g. 64bit/32bit/arm64|\n|`$cmd`|Current running subcommand, e.g. uninstall/update/install|\n|`$fname`|Downloaded file name (may be multiple files, treat as array unless you are sure url is not an array)|\n|`$scoopConfig`|Scoop configuration (PowerShell object), e.g. {SCOOP_BRANCH, SCOOP_REPO}|\n|`$global`|If value is $true, then it's a global installation|\n|`$manifest`|Deserialized manifest (PowerShell object), e.g. @{version=1.2.3; description=xxx;...}|\n|`$version`|Version being installed, e.g. 1.2.3|\n|`$dir`|Application installation directory (actual version number directory)|\n|`$persist_dir`|Data persistence directory|\n|`$bucketsdir`|Scoop buckets directory, e.g. D:\\scoop\\buckets|\n|`$bucket`|Name of the bucket to which the currently installed application belongs|\n|`$cachedir`|Scoop cache directory|\n|`$configFile`|Path to Scoop configuration|\n|`$globaldir`|Global installation directory|\n|`$original_dir`|Application installation directory (actual version number directory)|\n|`$scoopdir`|Scoop installation directory",
      "$ref": "#/definitions/str_or_arr"
    },
    "uninstaller": {
      "title": "Uninstaller configuration",
      "markdownDescription": "- Configuration for running non-MSI uninstallers\n- Called during scoop uninstall and scoop update\n- Execution order: `pre_uninstall` -> `uninstaller` -> `post_uninstall`",
      "type": "object",
      "minProperties": 1,
      "additionalProperties": false,
      "examples": [
        {}
      ],
      "properties": {
        "file": {
          "markdownDescription": "Uninstall the program executable file",
          "$ref": "#/definitions/str"
        },
        "script": {
          "markdownDescription": "Execute as an uninstaller rather than a file\n- Variables available in the script: \n    - $fname: downloaded file (there may be multiple files, which need to be handled as an array unless you are sure the url is not an array)\n    - $manifest: verified manifest reference\n    - $architecture: 64bit/32bit/arm64\n    - $dir: installation directory",
          "$ref": "#/definitions/str_or_arr"
        },
        "args": {
          "type": "array",
          "markdownDescription": "Array of arguments to pass to the uninstaller\n- Optional property",
          "items": {
            "$ref": "#/definitions/str"
          },
          "minItems": 1
        }
      }
    },
    "post_uninstall": {
      "title": "Post-uninstall script",
      "markdownDescription": "- Used to execute commands after uninstalling the application\n- Execution order: `pre_uninstall` -> `uninstaller` -> `post_uninstall`\n\n|Variables|Description|\n|:-:|-|\n|`$app`|Application name (manifest name)|\n|`$architecture`|CPU architecture of the installed application, e.g. 64bit/32bit/arm64|\n|`$cmd`|Current running subcommand, e.g. uninstall/update/install|\n|`$fname`|Downloaded file name (may be multiple files, treat as array unless you are sure url is not an array)|\n|`$scoopConfig`|Scoop configuration (PowerShell object), e.g. {SCOOP_BRANCH, SCOOP_REPO}|\n|`$global`|If value is $true, then it's a global installation|\n|`$manifest`|Deserialized manifest (PowerShell object), e.g. @{version=1.2.3; description=xxx;...}|\n|`$version`|Version being installed, e.g. 1.2.3|\n|`$dir`|Application installation directory (current directory)|\n|`$persist_dir`|Data persistence directory|\n|`$bucketsdir`|Scoop buckets directory, e.g. D:\\scoop\\buckets|\n|`$bucket`|Name of the bucket to which the currently installed application belongs|\n|`$cachedir`|Scoop cache directory|\n|`$configFile`|Path to Scoop configuration|\n|`$globaldir`|Global installation directory|\n|`$original_dir`|Application installation directory (actual version number directory)|\n|`$scoopdir`|Scoop installation directory",
      "$ref": "#/definitions/str_or_arr"
    },
    "checkver": {
      "title": "Version check configuration",
      "markdownDescription": "- Application maintainers and developers can use the bin/checkver tool to check for updates to the application\n- String: RegEx to find the version on the homepage\n- Object: More rich configuration\n- Refer to: https://github.com/ScoopInstaller/Scoop/wiki/App-Manifest-Autoupdate",
      "type": [
        "string",
        "object"
      ],
      "examples": [
        "",
        "github",
        {}
      ],
      "minLength": 1,
      "oneOf": [
        {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "url": {
              "markdownDescription": "URL of the page where the version is located",
              "$ref": "#/definitions/str"
            },
            "github": {
              "markdownDescription": "GitHub repository of the application",
              "$ref": "#/definitions/str",
              "if": {
                "type": "string"
              },
              "then": {
                "minLength": 1,
                "pattern": "^https?://github\\.com/[^/]+/[^/]+/?$",
                "not": {
                  "pattern": "\\.git(\\/|$)"
                },
                "errorMessage": "GitHub repository format error, such as: https://github.com/abgox/abyss"
              }
            },
            "re": {
              "markdownDescription": "RegEx to find the version on the homepage\n\n### Example\n\n- By default, the content of the first capturing group is stored in `$version`.\n\n  ```json\n  \"regex\": \"(.+)\"\n  ```\n\n- Limit the version number format to numbers and periods.\n\n  ```json\n  \"regex\": \"([\\\\d.]+)\"\n  ```\n\n- Use named capturing groups to store the version number in `$version`.\n\n  ```json\n  \"regex\": \"(?<version>[\\\\d.]+)\"\n  ```\n\n- Strictly match the beginning and end of the version number.\n\n  ```json\n  \"regex\": \"^(?<version>[\\\\d.]+)$\"\n  ```",
              "$ref": "#/definitions/str"
            },
            "regex": {
              "markdownDescription": "RegEx to find the version on the homepage\n\n### Example\n\n- By default, the content of the first capturing group is stored in `$version`.\n\n  ```json\n  \"regex\": \"(.+)\"\n  ```\n\n- Limit the version number format to numbers and periods.\n\n  ```json\n  \"regex\": \"([\\\\d.]+)\"\n  ```\n\n- Use named capturing groups to store the version number in `$version`.\n\n  ```json\n  \"regex\": \"(?<version>[\\\\d.]+)\"\n  ```\n\n- Strictly match the beginning and end of the version number.\n\n  ```json\n  \"regex\": \"^(?<version>[\\\\d.]+)$\"\n  ```",
              "$ref": "#/definitions/str",
              "examples": [
                "(.+)",
                "^([\\d.]+)$",
                "^(?<version>[\\d.]+)$"
              ]
            },
            "jsonpath": {
              "markdownDescription": "Use a JSON endpoint with a JSONPath expression to retrieve the version, you can use dot notation or bracket notation.\n\n### Example\n\n- Extract the value of `version`\n\n  ```json\n  \"jsonpath\": \"$.version\"\n  ```\n\n- Extract the value of `productVersion` or `version`\n\n  ```json\n  \"jsonpath\": \"$...[?(@.productVersion || @.version)]\"\n  ```\n\n- Extract `updated_at` from the field in `assets` where `name` is `xxx`\n\n  ```json\n  \"jsonpath\": \"$.assets[?(@.name == 'xxx')].updated_at\"\n  ```\n\n- Extract the values of these two fields and form an array. Like: `\"[\"1.2.3\",\"1.2.3-rc\"]\"`\n\n  ```json\n  \"jsonpath\": \"$..['productVersion','version']\"\n  ```",
              "$ref": "#/definitions/str"
            },
            "jp": {
              "markdownDescription": "Use a JSON endpoint with a JSONPath expression to retrieve the version, you can use dot notation or bracket notation.\n\n### Example\n\n- Extract the value of `version`\n\n  ```json\n  \"jsonpath\": \"$.version\"\n  ```\n\n- Extract the value of `productVersion` or `version`\n\n  ```json\n  \"jsonpath\": \"$...[?(@.productVersion || @.version)]\"\n  ```\n\n- Extract `updated_at` from the field in `assets` where `name` is `xxx`\n\n  ```json\n  \"jsonpath\": \"$.assets[?(@.name == 'xxx')].updated_at\"\n  ```\n\n- Extract the values of these two fields and form an array. Like: `\"[\"1.2.3\",\"1.2.3-rc\"]\"`\n\n  ```json\n  \"jsonpath\": \"$..['productVersion','version']\"\n  ```",
              "$ref": "#/definitions/str"
            },
            "xpath": {
              "markdownDescription": "XPath expression to find the version on the homepage",
              "$ref": "#/definitions/str"
            },
            "reverse": {
              "markdownDescription": "If set to true, it matches the last occurrence (default is the first occurrence)",
              "$ref": "#/definitions/bool"
            },
            "replace": {
              "markdownDescription": "Replace the matched value with the computed value",
              "$ref": "#/definitions/str",
              "anyOf": [
                {},
                {
                  "enum": [
                    "${1}.${2}.${3}.${4}${5}${6}"
                  ],
                  "markdownEnumDescriptions": [
                    "Replace the matched value, where `${1}` represents the first match group, `${2}` represents the second match group, and so on."
                  ]
                }
              ]
            },
            "useragent": {
              "markdownDescription": "User-Agent used to fetch the webpage content",
              "$ref": "#/definitions/str"
            },
            "script": {
              "markdownDescription": "PowerShell script to track multiple links",
              "$ref": "#/definitions/str_or_arr"
            },
            "sourceforge": {
              "markdownDescription": "SourceForge project version check configuration",
              "$ref": "#/definitions/str"
            }
          },
          "minProperties": 1
        },
        {
          "$ref": "#/definitions/str",
          "anyOf": [
            {},
            {
              "enum": [
                "github"
              ],
              "markdownEnumDescriptions": [
                "If the homepage is a GitHub repository homepage, you can use the \"github\" string as the checkver configuration"
              ]
            }
          ]
        }
      ]
    },
    "autoupdate_url": {
      "title": "Software download URL",
      "markdownDescription": "- It is usually dynamic and includes [version variables](https://github.com/ScoopInstaller/Scoop/wiki/App-Manifest-Autoupdate#version-variables), refer to the hover tip of the `autoupdate` field\n- For example: `https://github.com/owner/repo/releases/download/v$version/xxx.exe`\n- If there are multiple URLs, an array can be used.\n```json\n  \"url\": [\n      \"http://example.com/file1.zip\",\n      \"http://example.com/file2.zip\"\n  ]\n  ```\n- If you need to change the file name of the download URL, you can add `#/dl.7z` at the end of the URL. For example:\n```json\n  \"url\": \"http://example.org/program.exe#/dl.7z\"\n  ```\n- Scoop will download program.exe, but save it as dl.7z, and then automatically extract it using 7-Zip.",
      "type": [
        "string",
        "array"
      ],
      "examples": [
        "",
        []
      ],
      "minLength": 1,
      "minItems": 1,
      "items": {
        "$ref": "#/definitions/str"
      }
    },
    "autoupdate_hash": {
      "markdownDescription": "- Define how to get the hash for the software download",
      "type": "object",
      "additionalProperties": false,
      "minProperties": 1,
      "properties": {
        "url": {
          "markdownDescription": "URL template to download the RDF/JSON file or extract the hash",
          "$ref": "#/definitions/str"
        },
        "regex": {
          "markdownDescription": "RegEx expression to extract the hash (Alias: find)",
          "$ref": "#/definitions/str"
        },
        "find": {
          "markdownDescription": "RegEx expression to extract the hash (Alias: regex)",
          "$ref": "#/definitions/str"
        },
        "mode": {
          "title": "Hash retrieval mode",
          "oneOf": [
            {
              "enum": [
                "github"
              ],
              "markdownEnumDescriptions": [
                "Get the hash generated by GitHub automatically, for more details, please refer to [GitHub blog](https://github.blog/changelog/2025-06-03-releases-now-expose-digests-for-release-assets/)"
              ]
            },
            {
              "enum": [
                "extract"
              ],
              "markdownEnumDescriptions": [
                "Extract the hash from a plain text file or web page using RegEx (default, can be omitted)"
              ]
            },
            {
              "enum": [
                "json"
              ],
              "markdownEnumDescriptions": [
                "Extract the hash from a JSON file using JSONPath"
              ]
            },
            {
              "enum": [
                "xpath"
              ],
              "markdownEnumDescriptions": [
                "Extract the hash from an XML file using XPath"
              ]
            },
            {
              "enum": [
                "rdf"
              ],
              "markdownEnumDescriptions": [
                "Extract the hash from an RDF file"
              ]
            },
            {
              "enum": [
                "metalink"
              ],
              "markdownEnumDescriptions": [
                "Extract the hash from a Metalink header file or .meta4 file"
              ]
            },
            {
              "enum": [
                "fosshub"
              ],
              "markdownEnumDescriptions": [
                "Predefined for FossHub"
              ]
            },
            {
              "enum": [
                "sourceforge"
              ],
              "markdownEnumDescriptions": [
                "Predefined for SourceForge"
              ]
            },
            {
              "enum": [
                "download"
              ],
              "markdownEnumDescriptions": [
                "Download the application file and hash it locally (fallback)"
              ]
            }
          ]
        },
        "jp": {
          "markdownDescription": "Use a JSON endpoint with a JSONPath expression to retrieve the version, you can use dot notation or bracket notation.\n\n### Example\n\n- Extract the value of `version`\n\n  ```json\n  \"jsonpath\": \"$.version\"\n  ```\n\n- Extract the value of `productVersion` or `version`\n\n  ```json\n  \"jsonpath\": \"$...[?(@.productVersion || @.version)]\"\n  ```\n\n- Extract `updated_at` from the field in `assets` where `name` is `xxx`\n\n  ```json\n  \"jsonpath\": \"$.assets[?(@.name == 'xxx')].updated_at\"\n  ```\n\n- Extract the values of these two fields and form an array. Like: `\"[\"1.2.3\",\"1.2.3-rc\"]\"`\n\n  ```json\n  \"jsonpath\": \"$..['productVersion','version']\"\n  ```",
          "$ref": "#/definitions/str"
        },
        "jsonpath": {
          "markdownDescription": "Use a JSON endpoint with a JSONPath expression to retrieve the version, you can use dot notation or bracket notation.\n\n### Example\n\n- Extract the value of `version`\n\n  ```json\n  \"jsonpath\": \"$.version\"\n  ```\n\n- Extract the value of `productVersion` or `version`\n\n  ```json\n  \"jsonpath\": \"$...[?(@.productVersion || @.version)]\"\n  ```\n\n- Extract `updated_at` from the field in `assets` where `name` is `xxx`\n\n  ```json\n  \"jsonpath\": \"$.assets[?(@.name == 'xxx')].updated_at\"\n  ```\n\n- Extract the values of these two fields and form an array. Like: `\"[\"1.2.3\",\"1.2.3-rc\"]\"`\n\n  ```json\n  \"jsonpath\": \"$..['productVersion','version']\"\n  ```",
          "$ref": "#/definitions/str"
        },
        "xpath": {
          "markdownDescription": "XPath expression to extract the hash value",
          "$ref": "#/definitions/str"
        }
      }
    },
    "autoupdate_architecture": {
      "required": [
        "url"
      ],
      "properties": {
        "url": {
          "$ref": "#/definitions/autoupdate_url"
        },
        "hash": {
          "$ref": "#/definitions/autoupdate_hash"
        },
        "bin": {
          "$ref": "#/definitions/bin"
        },
        "checkver": {
          "$ref": "#/definitions/checkver"
        },
        "env_add_path": {
          "$comment": "This property is not officially documented, but it is actually available",
          "$ref": "#/definitions/env_add_path"
        },
        "extract_dir": {
          "$ref": "#/definitions/extract_dir"
        },
        "installer": {
          "$ref": "#/definitions/installer"
        },
        "pre_install": {
          "$ref": "#/definitions/pre_install"
        },
        "post_install": {
          "$ref": "#/definitions/post_install"
        },
        "shortcuts": {
          "$ref": "#/definitions/shortcuts"
        },
        "uninstaller": {
          "$ref": "#/definitions/uninstaller"
        }
      },
      "minProperties": 1,
      "additionalProperties": false
    },
    "github_release_url": {
      "required": [
        "url"
      ],
      "properties": {
        "url": {
          "type": [
            "array",
            "string"
          ],
          "examples": [
            "",
            []
          ],
          "pattern": "^https://github\\.com/[^/]+/[^/]+/releases/download/",
          "items": {
            "type": "string",
            "pattern": "^https://github\\.com/[^/]+/[^/]+/releases/download/"
          }
        }
      }
    },
    "url_hash_type_match": {
      "required": [
        "url",
        "hash"
      ],
      "if": {
        "properties": {
          "url": {
            "type": "string"
          }
        }
      },
      "then": {
        "properties": {
          "hash": {
            "$ref": "#/definitions/str",
            "errorMessage": "The type of 'url' and 'hash' must be same"
          }
        }
      },
      "else": {
        "properties": {
          "hash": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/hash"
            },
            "minItems": 1,
            "errorMessage": "The type of 'url' and 'hash' must be same"
          }
        }
      }
    }
  },
  "properties": {
    "##": {
      "title": "Comment",
      "markdownDescription": "- Comment for readers or maintainers of this manifest.",
      "$ref": "#/definitions/str_or_arr"
    },
    "version": {
      "title": "Version",
      "markdownDescription": "- Version number of the software.",
      "$ref": "#/definitions/str",
      "examples": [
        "0.0.0"
      ],
      "anyOf": [
        {},
        {
          "enum": [
            "0.0.0"
          ],
          "markdownEnumDescriptions": [
            "Use 0.0.0 version"
          ]
        },
        {
          "enum": [
            "nightly"
          ],
          "markdownEnumDescriptions": [
            "Use nightly version"
          ]
        }
      ]
    },
    "description": {
      "title": "App Description",
      "markdownDescription": "- A brief description of the software.",
      "$ref": "#/definitions/str"
    },
    "homepage": {
      "title": "Homepage",
      "markdownDescription": "- Homepage or repository URL of the app",
      "examples": [
        ""
      ],
      "allOf": [
        {
          "$ref": "#/definitions/str"
        },
        {
          "$ref": "#/definitions/url_validation"
        }
      ],
      "if": {
        "pattern": "^https?://[^/]+$"
      },
      "then": {
        "not": true,
        "errorMessage": "If it is the root domain of the official website, please end with '/'"
      }
    },
    "license": {
      "$ref": "#/definitions/license"
    },
    "depends": {
      "title": "Dependencies",
      "markdownDescription": "- Dependencies of the app\n- Missing dependencies will be automatically installed before the app is installed\n- If a dependency is optional, please use the `suggest` property",
      "$ref": "#/definitions/str_or_arr"
    },
    "suggest": {
      "title": "Suggested Dependencies",
      "markdownDescription": "- Suggested dependencies of the app\n- If any of the suggested dependencies are already installed, the feature will be considered as **implemented**, and the user will not see any suggestions",
      "allOf": [
        {
          "type": "object"
        },
        {
          "patternProperties": {
            "^.+$": {
              "markdownDescription": "- If any of the suggested dependencies are already installed, the feature will be considered as **implemented**, and the user will not see any suggestions\n- If it is an array, it means that if any of the dependencies in the array are installed, the feature will be considered as **implemented**",
              "$ref": "#/definitions/str_or_arr"
            }
          },
          "minProperties": 1,
          "additionalProperties": false,
          "errorMessage": "Property names cannot be empty strings"
        }
      ]
    },
    "notes": {
      "$ref": "#/definitions/notes"
    },
    "url": {
      "$ref": "#/definitions/url"
    },
    "hash": {
      "$ref": "#/definitions/hash"
    },
    "architecture": {
      "$ref": "#/definitions/architecture"
    },
    "extract_dir": {
      "$ref": "#/definitions/extract_dir"
    },
    "extract_to": {
      "$ref": "#/definitions/extract_to"
    },
    "env_add_path": {
      "$ref": "#/definitions/env_add_path"
    },
    "env_set": {
      "$ref": "#/definitions/env_set"
    },
    "innosetup": {
      "markdownDescription": "If the installer is based on `InnoSetup`, set it to `true`",
      "$ref": "#/definitions/bool"
    },
    "psmodule": {
      "$ref": "#/definitions/psmodule"
    },
    "bin": {
      "$ref": "#/definitions/bin"
    },
    "shortcuts": {
      "$ref": "#/definitions/shortcuts"
    },
    "persist": {
      "$ref": "#/definitions/persist"
    },
    "pre_install": {
      "$ref": "#/definitions/pre_install"
    },
    "installer": {
      "$ref": "#/definitions/installer"
    },
    "post_install": {
      "$ref": "#/definitions/post_install"
    },
    "pre_uninstall": {
      "$ref": "#/definitions/pre_uninstall"
    },
    "uninstaller": {
      "$ref": "#/definitions/uninstaller"
    },
    "post_uninstall": {
      "$ref": "#/definitions/post_uninstall"
    },
    "checkver": {
      "$ref": "#/definitions/checkver"
    },
    "autoupdate": {
      "title": "Auto Update",
      "markdownDescription": "- It will automatically update the manifest via [GitHub Actions](https://github.com/ScoopInstaller/GithubActions)\n - Scoop can install specific versions using `scoop install AppName@1.2.3`\n - The prerequisite is that `url` in the `autoupdate` of the manifest can only contain the following [version variables](https://github.com/ScoopInstaller/Scoop/wiki/App-Manifest-Autoupdate#version-variables)\n  - `$version`: `3.7.1.2-rc.1`\n    - `$majorVersion`: `3`\n    - `$minorVersion`: `7`\n    - `$patchVersion`: `1`\n    - `$buildVersion`: `2`\n    - `$preReleaseVersion`: `rc.1`\n  - `$dotVersion`: `3.7.1.2.rc.1`\n  - `$dashVersion`: `3-7-1-2-rc-1`\n  - `$underscoreVersion`: `3_7_1_2_rc_1`\n  - `$cleanVersion`: `3712rc1`\n  - `$matchHead`: `3.7.1`\n  - `$matchTail`: `.2-rc.1`",
      "type": "object",
      "minProperties": 1,
      "examples": [
        {
          "url": ""
        },
        {
          "architecture": {
            "64bit": {
              "url": ""
            }
          }
        }
      ],
      "properties": {
        "architecture": {
          "type": "object",
          "title": "Auto Update Architecture",
          "markdownDescription": "- Define the architecture for auto update\n- Architecture can be used to wrap differences",
          "properties": {
            "64bit": {
              "markdownDescription": "64bit architecture",
              "$ref": "#/definitions/autoupdate_architecture"
            },
            "32bit": {
              "markdownDescription": "32bit architecture",
              "$ref": "#/definitions/autoupdate_architecture"
            },
            "arm64": {
              "markdownDescription": "arm64 architecture",
              "$ref": "#/definitions/autoupdate_architecture"
            }
          },
          "additionalProperties": false,
          "minProperties": 1
        },
        "notes": {
          "$ref": "#/definitions/notes"
        },
        "url": {
          "$ref": "#/definitions/autoupdate_url"
        },
        "hash": {
          "$ref": "#/definitions/autoupdate_hash"
        },
        "bin": {
          "$ref": "#/definitions/bin"
        },
        "extract_dir": {
          "$ref": "#/definitions/extract_dir"
        },
        "extract_to": {
          "$ref": "#/definitions/extract_to"
        },
        "env_add_path": {
          "$ref": "#/definitions/env_add_path"
        },
        "env_set": {
          "$ref": "#/definitions/env_set"
        },
        "installer": {
          "$ref": "#/definitions/installer"
        },
        "license": {
          "$ref": "#/definitions/license"
        },
        "persist": {
          "$ref": "#/definitions/persist"
        },
        "post_install": {
          "$ref": "#/definitions/post_install"
        },
        "psmodule": {
          "$ref": "#/definitions/psmodule"
        },
        "shortcuts": {
          "$ref": "#/definitions/shortcuts"
        }
      }
    }
  },
  "allOf": [
    {
      "required": [
        "version",
        "description",
        "homepage",
        "license"
      ]
    },
    {
      "$comment": "Standard Specifications of Scoop",
      "allOf": [
        {
          "$comment": "If 'checkver' is set, 'autoupdate' must be set.",
          "allOf": [
            {
              "if": {
                "required": [
                  "checkver"
                ]
              },
              "then": {
                "if": {
                  "required": [
                    "autoupdate"
                  ]
                },
                "else": {
                  "properties": {
                    "checkver": {
                      "not": true,
                      "errorMessage": "If 'checkver' is set, 'autoupdate' must be set."
                    }
                  }
                }
              }
            },
            {
              "if": {
                "required": [
                  "autoupdate"
                ]
              },
              "then": {
                "if": {
                  "required": [
                    "checkver"
                  ]
                },
                "else": {
                  "properties": {
                    "autoupdate": {
                      "not": true,
                      "errorMessage": "If 'autoupdate' is set, 'checkver' must be set."
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "$comment": "If 'url' is a GitHub releases link, 'mode.hash' must be set to 'github'.",
          "properties": {
            "autoupdate": {
              "type": "object",
              "if": {
                "oneOf": [
                  {
                    "$ref": "#/definitions/github_release_url"
                  },
                  {
                    "required": [
                      "architecture"
                    ],
                    "properties": {
                      "architecture": {
                        "type": "object",
                        "anyOf": [
                          {
                            "required": [
                              "64bit"
                            ]
                          },
                          {
                            "required": [
                              "arm64"
                            ]
                          },
                          {
                            "required": [
                              "32bit"
                            ]
                          }
                        ],
                        "patternProperties": {
                          "^(64bit|arm64|32bit)$": {
                            "$ref": "#/definitions/github_release_url"
                          }
                        }
                      }
                    }
                  }
                ]
              },
              "then": {
                "required": [
                  "hash"
                ],
                "properties": {
                  "hash": {
                    "required": [
                      "mode"
                    ],
                    "properties": {
                      "mode": {
                        "const": "github"
                      }
                    }
                  }
                }
              },
              "else": {
                "properties": {
                  "hash": {
                    "properties": {
                      "mode": {
                        "not": {
                          "const": "github"
                        },
                        "errorMessage": "'url' is not a standard GitHub Releases."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        {
          "$comment": "If 'license' is set but 'url' or 'architecture' is not set, a warning is triggered.",
          "if": {
            "not": {
              "anyOf": [
                {
                  "required": [
                    "url"
                  ]
                },
                {
                  "required": [
                    "architecture"
                  ]
                }
              ]
            }
          },
          "then": {
            "not": {
              "anyOf": [
                {
                  "not": {
                    "required": [
                      "url"
                    ]
                  }
                },
                {
                  "not": {
                    "required": [
                      "architecture"
                    ]
                  }
                }
              ]
            },
            "errorMessage": "Missing property 'url' or 'architecture'"
          }
        },
        {
          "$comment": "Only one of 'url' and 'architecture' can be chosen. The type of 'url' and 'hash' must match.",
          "if": {
            "required": [
              "url"
            ]
          },
          "then": {
            "properties": {
              "architecture": {
                "patternProperties": {
                  "^(64bit|arm64|32bit)$": {
                    "properties": {
                      "url": {
                        "not": true,
                        "errorMessage": "Property 'url' in 'architecture' conflicts with the top-level 'url'. You can only choose one way."
                      },
                      "hash": {
                        "not": true,
                        "errorMessage": "If the top-level 'url' is set, 'hash' in 'architecture' cannot be set."
                      }
                    }
                  }
                }
              }
            },
            "$ref": "#/definitions/url_hash_type_match"
          },
          "else": {
            "properties": {
              "architecture": {
                "$ref": "#/definitions/architecture_example",
                "patternProperties": {
                  "^(64bit|arm64|32bit)$": {
                    "$ref": "#/definitions/url_hash_type_match"
                  }
                }
              },
              "hash": {
                "not": true,
                "errorMessage": "If 'url' is not set, 'hash' cannot be set."
              }
            }
          }
        },
        {
          "$comment": "Ensure that the 'architecture' and 'autoupdate.architecture' are consistent.",
          "if": {
            "required": [
              "autoupdate"
            ],
            "properties": {
              "autoupdate": {
                "required": [
                  "architecture"
                ]
              }
            }
          },
          "then": {
            "allOf": [
              {
                "if": {
                  "properties": {
                    "autoupdate": {
                      "properties": {
                        "architecture": {
                          "required": [
                            "64bit"
                          ]
                        }
                      }
                    }
                  }
                },
                "then": {
                  "properties": {
                    "architecture": {
                      "required": [
                        "64bit"
                      ]
                    }
                  }
                },
                "else": {
                  "properties": {
                    "architecture": {
                      "properties": {
                        "64bit": {
                          "not": true,
                          "errorMessage": "The 'architecture' in 'autoupdate' does not set '64bit'."
                        }
                      }
                    }
                  }
                }
              },
              {
                "if": {
                  "properties": {
                    "autoupdate": {
                      "properties": {
                        "architecture": {
                          "required": [
                            "32bit"
                          ]
                        }
                      }
                    }
                  }
                },
                "then": {
                  "properties": {
                    "architecture": {
                      "required": [
                        "32bit"
                      ]
                    }
                  }
                },
                "else": {
                  "properties": {
                    "architecture": {
                      "properties": {
                        "32bit": {
                          "not": true,
                          "errorMessage": "The 'architecture' in 'autoupdate' does not set '32bit'."
                        }
                      }
                    }
                  }
                }
              },
              {
                "if": {
                  "properties": {
                    "autoupdate": {
                      "properties": {
                        "architecture": {
                          "required": [
                            "arm64"
                          ]
                        }
                      }
                    }
                  }
                },
                "then": {
                  "properties": {
                    "architecture": {
                      "required": [
                        "arm64"
                      ]
                    }
                  }
                },
                "else": {
                  "properties": {
                    "architecture": {
                      "properties": {
                        "arm64": {
                          "not": true,
                          "errorMessage": "The 'architecture' in 'autoupdate' does not set 'arm64'."
                        }
                      }
                    }
                  }
                }
              },
              {
                "allOf": [
                  {
                    "if": {
                      "properties": {
                        "autoupdate": {
                          "required": [
                            "extract_dir"
                          ]
                        }
                      }
                    },
                    "then": {
                      "required": [
                        "extract_dir"
                      ]
                    }
                  },
                  {
                    "if": {
                      "properties": {
                        "autoupdate": {
                          "required": [
                            "env_add_path"
                          ]
                        }
                      }
                    },
                    "then": {
                      "required": [
                        "env_add_path"
                      ]
                    }
                  },
                  {
                    "if": {
                      "properties": {
                        "autoupdate": {
                          "required": [
                            "bin"
                          ]
                        }
                      }
                    },
                    "then": {
                      "required": [
                        "bin"
                      ]
                    }
                  },
                  {
                    "if": {
                      "properties": {
                        "autoupdate": {
                          "required": [
                            "shortcuts"
                          ]
                        }
                      }
                    },
                    "then": {
                      "required": [
                        "shortcuts"
                      ]
                    }
                  },
                  {
                    "if": {
                      "properties": {
                        "autoupdate": {
                          "properties": {
                            "architecture": {
                              "patternProperties": {
                                "^(64bit|arm64|32bit)$": {
                                  "required": [
                                    "extract_dir"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "then": {
                      "properties": {
                        "architecture": {
                          "patternProperties": {
                            "^(64bit|arm64|32bit)$": {
                              "required": [
                                "extract_dir"
                              ]
                            }
                          }
                        }
                      }
                    }
                  },
                  {
                    "if": {
                      "properties": {
                        "autoupdate": {
                          "properties": {
                            "architecture": {
                              "patternProperties": {
                                "^(64bit|arm64|32bit)$": {
                                  "required": [
                                    "env_add_path"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "then": {
                      "properties": {
                        "architecture": {
                          "patternProperties": {
                            "^(64bit|arm64|32bit)$": {
                              "required": [
                                "env_add_path"
                              ]
                            }
                          }
                        }
                      }
                    }
                  },
                  {
                    "if": {
                      "properties": {
                        "autoupdate": {
                          "properties": {
                            "architecture": {
                              "patternProperties": {
                                "^(64bit|arm64|32bit)$": {
                                  "required": [
                                    "bin"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "then": {
                      "properties": {
                        "architecture": {
                          "patternProperties": {
                            "^(64bit|arm64|32bit)$": {
                              "required": [
                                "bin"
                              ]
                            }
                          }
                        }
                      }
                    }
                  },
                  {
                    "if": {
                      "properties": {
                        "autoupdate": {
                          "properties": {
                            "architecture": {
                              "patternProperties": {
                                "^(64bit|arm64|32bit)$": {
                                  "required": [
                                    "shortcuts"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "then": {
                      "properties": {
                        "architecture": {
                          "patternProperties": {
                            "^(64bit|arm64|32bit)$": {
                              "required": [
                                "shortcuts"
                              ]
                            }
                          }
                        }
                      }
                    }
                  }
                ]
              }
            ]
          }
        }
      ]
    }
  ]
}
