/*
 * Copyright (C) 2019-2022 Open StApps
 * This program is free software: you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by the Free
 * Software Foundation, version 3.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
 * more details.
 *
 * You should have received a copy of the GNU General Public License along with
 * this program. If not, see <https://www.gnu.org/licenses/>.
 */
/**
 * The license plate of a university e.g. the UID of the university
 */
export type SCLicensePlate =
  | 'ac-kf'
  | 'ac-fk'
  | 'ac-fh'
  | 'ac-hm'
  | 'ac-th'
  | 'dn-fh'
  | 'aa-fh'
  | 'sig-f2'
  | 'su-ah'
  | 'rd-vf'
  | 'am-f2'
  | 'am-fh'
  | 'an-fh'
  | 'ik-fh'
  | 'ab-fh'
  | 'asl-vf'
  | 'a-hm'
  | 'a-u'
  | 'a-fh'
  | 'hef-fh'
  | 'hg-hs'
  | 'su-if'
  | 'cw-ih'
  | 'tbb-dh'
  | 'eu-vf'
  | 'los-pf'
  | 'esw-pf'
  | 'ba-u'
  | 'bt-kh'
  | 'bt-u'
  | 'gap-kh'
  | 'wr-vf'
  | 'pb-f2'
  | 'b-ah'
  | 'b-am'
  | 'b-fs'
  | 'b-ab'
  | 'b-pf'
  | 'b-tf'
  | 'b-mu'
  | 'b-dk'
  | 'b-p2'
  | 'b-bs'
  | 'b-eh'
  | 'b-hw'
  | 'b-es'
  | 'b-em'
  | 'b-ec'
  | 'b-ef'
  | 'b-vf'
  | 'b-gb'
  | 'b-hs'
  | 'b-pk'
  | 'b-mh'
  | 'b-ft'
  | 'b-p3'
  | 'b-fb'
  | 'b-wt'
  | 'b-u2'
  | 'b-u'
  | 'b-v2'
  | 'b-fw'
  | 'b-p4'
  | 'b-ih'
  | 'b-kf'
  | 'b-mf'
  | 'b-dh'
  | 'b-pu'
  | 'b-ph'
  | 'b-qh'
  | 'b-ot'
  | 'b-fh'
  | 'b-su'
  | 'b-tk'
  | 'b-tc'
  | 'b-hk'
  | 'b-wb'
  | 'b-fp'
  | 'b-v3'
  | 'b-fu'
  | 'b-h3'
  | 'b-hm'
  | 'b-kh'
  | 'b-h4'
  | 'b-f3'
  | 'b-f5'
  | 'b-f2'
  | 'b-tu'
  | 'ber-vf'
  | 'bbg-fh'
  | 'bbg-hs'
  | 'w-k2'
  | 'bi-kh'
  | 'bc-fh'
  | 'bi-du'
  | 'bi-fm'
  | 'pb-f4'
  | 'bi-u'
  | 'bi-fh'
  | 'bi-vf'
  | 'wm-hs'
  | 'mz-fh'
  | 'tr-f2'
  | 'bo-eb'
  | 'bo-fh'
  | 'bo-f1'
  | 'bo-fg'
  | 'bo-hm'
  | 'bo-f3'
  | 'bo-kf'
  | 'bo-u'
  | 'bn-sg'
  | 'bn-pf'
  | 'bn-vf'
  | 'bn-fh'
  | 'bn-u'
  | 'bot-fh'
  | 'brb-vf'
  | 'brb-fh'
  | 'bs-fh'
  | 'bs-hk'
  | 'bs-tu'
  | 'hb-ah'
  | 'hb-hi'
  | 'hb-fh'
  | 'hb-iu'
  | 'hb-hk'
  | 'hb-u'
  | 'hb-vf'
  | 'hb-h'
  | 'ka-pu'
  | 'bm-eu'
  | 'bm-fb'
  | 'std-hs'
  | 'std-fh'
  | 'cw-fh'
  | 'cw-hs'
  | 'ce-pf'
  | 'c-tu'
  | 'c-th'
  | 'gs-tu'
  | 'co-fh'
  | 'co-hs'
  | 'co-f2'
  | 'cb-fh'
  | 'cb-tu'
  | 'da-kf'
  | 'da-vf'
  | 'da-fh'
  | 'da-pf'
  | 'da-tu'
  | 'da-v2'
  | 'deg-fh'
  | 'de-fh'
  | 'dt-fl'
  | 'lip-h2'
  | 'lip-hm'
  | 'dt-hm'
  | 'da-v3'
  | 'dh-fh'
  | 'do-fh'
  | 'do-mh'
  | 'do-is'
  | 'do-pf'
  | 'do-u'
  | 'do-hm'
  | 'do-vf'
  | 'dd-ec'
  | 'dd-fh'
  | 'dd-hs'
  | 'dd-ak'
  | 'dd-ph'
  | 'dd-pf'
  | 'dd-pu'
  | 'dd-hl'
  | 'dd-ht'
  | 'dd-hk'
  | 'dd-ma'
  | 'dd-hm'
  | 'dd-p2'
  | 'dd-p3'
  | 'dd-tu'
  | 'dd-hv'
  | 'd-iu'
  | 'du-hm'
  | 'du-pf'
  | 'du-ug'
  | 'du-vf'
  | 'du-u'
  | 'd-am'
  | 'd-eb'
  | 'd-ff'
  | 'd-pf'
  | 'd-fh'
  | 'd-vf'
  | 'd-hk'
  | 'd-hm'
  | 'd-u'
  | 'bar-fh'
  | 'ew-fh'
  | 'eck-fh'
  | 'ld-vf'
  | 'ei-u'
  | 'pi-f2'
  | 'ol-f2'
  | 'hvl-hs'
  | 'hvl-fh'
  | 'emd-fh'
  | 'ed-pf'
  | 'ef-fh'
  | 'ef-mh'
  | 'ef-pf'
  | 'ef-kh'
  | 'ef-u'
  | 'ef-ph'
  | 'er-u'
  | 'e-fh'
  | 'e-p2'
  | 'e-pf'
  | 'e-uk'
  | 'e-u'
  | 'e-ug'
  | 'e-hm'
  | 'es-ft'
  | 'es-fs'
  | 'fl-fh'
  | 'fl-ph'
  | 'fl-u'
  | 'f-hb'
  | 'f-ms'
  | 'f-u'
  | 'f-v2'
  | 'f-fh'
  | 'f-hk'
  | 'f-hm'
  | 'f-kh'
  | 'f-pf'
  | 'f-vf'
  | 'ff-eu'
  | 'fg-u'
  | 'fr-fh'
  | 'fr-kf'
  | 'fr-u'
  | 'fr-hm'
  | 'fr-ph'
  | 'fb-fh'
  | 'hal-kh'
  | 'fn-dh'
  | 'fn-u'
  | 'fd-fh'
  | 'fd-kh'
  | 'ffb-vf'
  | 'vs-fh'
  | 'wi-f2'
  | 'ul-f2'
  | 'ge-f3'
  | 'ge-fh'
  | 'ge-f2'
  | 'ge-vf'
  | 'g-pf'
  | 'ger-u'
  | 'gi-ft'
  | 'gi-fh'
  | 'gi-vf'
  | 'gi-u'
  | 'gp-fh'
  | 'zi-hw'
  | 'gth-vf'
  | 'g-hs'
  | 'goe-fh'
  | 'goe-u'
  | 'goe-pf'
  | 'gw-u'
  | 'nb-u'
  | 'gw-u2'
  | 'gw-u1'
  | 'hgw-u'
  | 'gue-fh'
  | 'gue-vf'
  | 'pb-f3'
  | 'gt-pf'
  | 'ww-vf'
  | 'ha-ug'
  | 'ha-fh'
  | 'ha-f2'
  | 'ha-vf'
  | 'hbs-fh'
  | 'hbs-vf'
  | 'hal-eh'
  | 'hal-hk'
  | 'hal-ph'
  | 'hal-u'
  | 'hal-u2'
  | 'koet-ph'
  | 'hal-uw'
  | 'hh-am'
  | 'hh-bs'
  | 'hh-pf'
  | 'hh-bc'
  | 'hh-ef'
  | 'hh-fh'
  | 'hh-hu'
  | 'hh-ub'
  | 'hh-ff'
  | 'hh-vf'
  | 'hh-fi'
  | 'hh-ba'
  | 'hh-ib'
  | 'hh-mf'
  | 'hh-ms'
  | 'hh-hf'
  | 'hh-u'
  | 'hh-hs'
  | 'hh-uk'
  | 'hh-fs'
  | 'hh-hk'
  | 'hh-hm'
  | 'hh-tu'
  | 'hm-hs'
  | 'ham-f2'
  | 'ham-fh'
  | 'h-fg'
  | 'h-fh'
  | 'h-hm'
  | 'h-vf'
  | 'h-la'
  | 'h-u'
  | 'h-fb'
  | 'h-kf'
  | 'h-mh'
  | 'h-f3'
  | 'h-pf'
  | 'h-ti'
  | 'hei-fh'
  | 'hd-hm'
  | 'hd-ph'
  | 'hd-kh'
  | 'hd-u'
  | 'hd-fh'
  | 'hdh-dh'
  | 'hn-dh'
  | 'hn-bs'
  | 'hn-fh'
  | 'hn-f2'
  | 'su-f3'
  | 'su-k2'
  | 'he-hk'
  | 'sta-v2'
  | 'hi-fg'
  | 'hi-fs'
  | 'hi-fh'
  | 'hi-v2'
  | 'hi-vf'
  | 'hi-u'
  | 'hi-v3'
  | 'ho-fh'
  | 'ho-f2'
  | 'ho-vf'
  | 's-u2'
  | 'ww-fh'
  | 'hol-fh'
  | 'fds-dh'
  | 'hx-fh'
  | 'lip-h3'
  | 'hx-ug'
  | 'tr-f3'
  | 'mz-f5'
  | 'wi-f5'
  | 'wi-f4'
  | 'rued-pf'
  | 'ik-tu'
  | 'il-th'
  | 'in-fh'
  | 'in-u'
  | 'mk-ts'
  | 'mk-fh'
  | 'rv-pf'
  | 'j-fh'
  | 'j-u'
  | 'kl-fh'
  | 'kl-u'
  | 'wes-fh'
  | 'ka-dh'
  | 'ka-fh'
  | 'ka-pf'
  | 'ka-u'
  | 'ka-hk'
  | 'ka-hg'
  | 'ka-hm'
  | 'ka-ph'
  | 'ks-cv'
  | 'ks-pf'
  | 'ks-fh'
  | 'ks-ms'
  | 'ks-u3'
  | 'ks-ug'
  | 'ks-vf'
  | 'ks-u2'
  | 'og-vf'
  | 'ke-fh'
  | 'ki-u'
  | 'ki-fh'
  | 'ki-f2'
  | 'ki-f6'
  | 'ki-hk'
  | 'ki-f3'
  | 'ki-f4'
  | 'ki-f5'
  | 'ki-ph'
  | 'kle-fh'
  | 'ko-fh'
  | 'ko-u3'
  | 'ko-u'
  | 'ko-vf'
  | 'k-iu'
  | 'k-cb'
  | 'k-fm'
  | 'k-fp'
  | 'k-kf'
  | 'k-mf'
  | 'k-p2'
  | 'k-u'
  | 'k-fb'
  | 'k-u2'
  | 'k-fh'
  | 'k-vf'
  | 'k-hk'
  | 'k-hm'
  | 'k-pf'
  | 'k-v2'
  | 'k-f2'
  | 'kw-fh'
  | 'kn-fh'
  | 'kn-f2'
  | 'kn-u'
  | 'koet-fh'
  | 'koet-th'
  | 'koet-u'
  | 'kr-fh'
  | 'og-fw'
  | 'ld-u'
  | 'la-fh'
  | 'da-v4'
  | 'ler-fh'
  | 'l-fb'
  | 'l-f2'
  | 'l-kh'
  | 'l-h3'
  | 'l-hh'
  | 'l-hm'
  | 'l-h2'
  | 'l-ph'
  | 'l-hs'
  | 'l-ht'
  | 'l-th'
  | 'l-u'
  | 'mer-th'
  | 'lev-pf'
  | 'lev-fh'
  | 'fg-fh'
  | 'lip-f2'
  | 'lip-h1'
  | 'lip-fh'
  | 'so-f2'
  | 'loe-dh'
  | 'hl-fh'
  | 'hl-vf'
  | 'hl-f3'
  | 'hl-uk'
  | 'hl-u'
  | 'hl-f2'
  | 'hl-hm'
  | 'lb-v2'
  | 'lb-fh'
  | 'lb-ph'
  | 'lb-p2'
  | 'lb-vf'
  | 'lu-fh'
  | 'lu-kf'
  | 'lg-u'
  | 'lg-fh'
  | 'md-f2'
  | 'md-fh'
  | 'md-tu'
  | 'md-f3'
  | 'md-mh'
  | 'md-ph'
  | 'md-u'
  | 'mz-f4'
  | 'mz-u2'
  | 'mz-vf'
  | 'mz-f3'
  | 'mz-f2'
  | 'mz-u'
  | 'mz-kf'
  | 'ma-dh'
  | 'ma-fg'
  | 'ma-ft'
  | 'ma-ba'
  | 'ma-v3'
  | 'ma-v2'
  | 'ma-hm'
  | 'ma-fs'
  | 'ma-u'
  | 'mr-eh'
  | 'mr-fh'
  | 'mr-u'
  | 're-pf'
  | 'myk-vf'
  | 'mgn-vf'
  | 'mei-fh'
  | 'mei-fv'
  | 'mei-f2'
  | 'sk-hs'
  | 'hal-fh'
  | 'hsk-fh'
  | 'me-fh'
  | 'rt-hs'
  | 'mi-fh'
  | 'c-fh'
  | 'mw-ht'
  | 'hc-ih'
  | 'mtw-ht'
  | 'mg-fh'
  | 'z-fh'
  | 'mos-dh'
  | 'mh-fh'
  | 'm-am'
  | 'm-b2'
  | 'm-bw'
  | 'm-ea'
  | 'm-vf'
  | 'm-as'
  | 'm-mf'
  | 'm-hk'
  | 'm-hs'
  | 'm-fh'
  | 'm-kf'
  | 'm-hm'
  | 'm-kh'
  | 'm-hp'
  | 'm-fp'
  | 'm-tu'
  | 'm-u'
  | 'gap-ks'
  | 'm-u2'
  | 'm-t2'
  | 'ms-ph'
  | 'ms-kf'
  | 'ms-u'
  | 'ms-fh'
  | 'ms-vf'
  | 'ms-hk'
  | 'ms-hm'
  | 'ms-kh'
  | 'ms-v2'
  | 'nmb-kh'
  | 'nb-fh'
  | 'm-ah'
  | 'm-k3'
  | 'ne-eu'
  | 'ne-hs'
  | 'ne-pf'
  | 'nu-fh'
  | 'h-f2'
  | 'ndh-fh'
  | 'coe-vf'
  | 'n-kf'
  | 'n-hm'
  | 'n-hk'
  | 'n-k1'
  | 'n-k2'
  | 'n-k3'
  | 'n-fh'
  | 'n-u'
  | 'nt-fh'
  | 'nt-f3'
  | 'gp-f2'
  | 'gr-kh'
  | 'hg-kh'
  | 'wi-eb'
  | 'of-hk'
  | 'fr-f2'
  | 'ol-fh'
  | 'ol-pf'
  | 'ol-u'
  | 'os-f2'
  | 'os-fh'
  | 'os-f3'
  | 'os-u'
  | 'os-kf'
  | 'ver-fh'
  | 'pb-fh'
  | 'pb-kf'
  | 'pb-kh'
  | 'pb-ug'
  | 'pb-f1'
  | 'pb-u2'
  | 'pa-u'
  | 'pf-fg'
  | 'pf-fh'
  | 'ps-fh'
  | 'pl-fh'
  | 'p-bs'
  | 'p-f2'
  | 'p-sh'
  | 'p-pf'
  | 'p-u'
  | 'p-fh'
  | 'p-hf'
  | 'brb-f2'
  | 'dd-f2'
  | 'rv-fh'
  | 'rv-dh'
  | 'r-kh'
  | 'r-u'
  | 'r-fh'
  | 'rd-v2'
  | 'ko-f2'
  | 'rd-bf'
  | 'rd-fh'
  | 'rt-fh'
  | 'rt-ts'
  | 'rt-ft'
  | 'su-f2'
  | 'st-mh'
  | 'bc-f2'
  | 'rie-fh'
  | 'shg-vf'
  | 'ro-fh'
  | 'ros-hm'
  | 'ros-im'
  | 'hro-hu'
  | 'hro-u'
  | 'hro-hm'
  | 'rof-vf'
  | 'nol-fh'
  | 'tue-fh'
  | 'wi-f3'
  | 'sb-f2'
  | 'sb-hm'
  | 'sb-hs'
  | 'sb-vf'
  | 'sb-hk'
  | 'sb-fh'
  | 'sb-kf'
  | 'sb-u'
  | 'sz-fh'
  | 'sm-fh'
  | 'aa-fg'
  | 'aa-ph'
  | 'sha-ht'
  | 'sha-kh'
  | 'sad-pf'
  | 'ru-fh'
  | 'wue-f2'
  | 'lds-bc'
  | 'sn-hm'
  | 'hd-vf'
  | 'sfb-fh'
  | 'si-pf'
  | 'si-ug'
  | 'sig-fh'
  | 'so-fh'
  | 'so-vf'
  | 'so-ug'
  | 'sp-u'
  | 'su-fh'
  | 'su-kh'
  | 'sta-vf'
  | 'st-fh'
  | 'sdl-fh'
  | 'hst-fh'
  | 'hst-f2'
  | 'sr-fh'
  | 'og-fh'
  | 's-dp'
  | 's-dh'
  | 's-f2'
  | 's-im'
  | 's-kf'
  | 's-u'
  | 's-va'
  | 's-wh'
  | 's-hk'
  | 's-fh'
  | 's-fb'
  | 's-hm'
  | 's-mf'
  | 's-f3'
  | 's-th'
  | 'ue-fh'
  | 'k-v3'
  | 'k-f3'
  | 'tr-fh'
  | 'tr-kh'
  | 'tr-u'
  | 'an-f2'
  | 'tut-hm'
  | 'tue-u'
  | 'tut-f3'
  | 'ul-fh'
  | 'ul-f4'
  | 'ul-u'
  | 'myk-kh'
  | 'vec-fh'
  | 'vec-u'
  | 'vec-kf'
  | 'bo-f2'
  | 'vs-vf'
  | 'vs-dh'
  | 'vs-f2'
  | 'ros-hs'
  | 'ro-vf'
  | 'pi-fh'
  | 'fs-fh'
  | 'we-hm'
  | 'we-u'
  | 'we-vf'
  | 'we-th'
  | 'kn-ph'
  | 'rv-ph'
  | 'wsf-pf'
  | 'wr-fh'
  | 'wr-v2'
  | 'qlb-vf'
  | 'ldk-fh'
  | 'wi-bs'
  | 'wi-v1'
  | 'wi-fh'
  | 'wi-vf'
  | 'kw-th'
  | 'whv-fh'
  | 'hwi-fh'
  | 'wis-th'
  | 'wis-fh'
  | 'en-u'
  | 'wf-fh'
  | 'wob-fh'
  | 'wo-fh'
  | 'w-hm'
  | 'w-kh'
  | 'w-ug'
  | 'w-vf'
  | 'wue-hm'
  | 'wue-u'
  | 'wue-fh'
  | 'wue-f3'
  | 'zi-ht'
  | 'zi-ih'
  | 'zi-th'
  | 'zw-fh'
  | 'z-t3'
  | 'z-t2'
  | 'z-pf'
  | 'z-hs'
  | 'z-ph'
  | 'z-th'
  | 'z-tu'
  | 'z-ht'
  | 'rc-hs'
  | 'z-p2';

/**
 * Namespaces for universities for UUID generation
 */
export const SCNamespaces: {[id in SCLicensePlate]?: string} = {
  /**
   * Namespace for Hochschule Aschaffenburg
   */
  'ab-fh': 'b28746bb-e95e-4d4d-bf21-1c0a3bb7e83e',
  /**
   * Namespace for Technische Universität Berlin
   */
  'b-tu': '909a8cbc-8520-456c-b474-ef1525f14209',
  /**
   * Namespace for Goethe-Universität Frankfurt am Main
   */
  'f-u': 'fa256ea6-942d-4ead-96da-5d7678e9e965',
  /**
   * Namespace for Hochschule Fulda
   */
  'fd-fh': 'f1aa9ac0-ed3d-493b-987c-f98aeeba154b',
  /**
   * Namespace for Technische Hochschule Mittelhessen
   */
  'gi-fh': 'f599f1d1-5b76-4654-a394-d37680d75e22',
  /**
   * Namespace for Justus-Liebig-Universität Gießen
   */
  'gi-u': '9884e6f2-cbbb-4341-8d30-5ba3f1514927',
  /**
   * Namespace for Universität Kassel
   */
  'ks-ug': '277fe8f6-dbc9-4ec2-9f87-d30e0dc347af',
};
