diff --git a/src/main/communication.ts b/src/main/communication.ts index 615091c..69ba293 100644 --- a/src/main/communication.ts +++ b/src/main/communication.ts @@ -128,7 +128,7 @@ class Comm implements Communication { } class CommMock implements Communication { - public constructor(public readonly data) {} + public constructor (public readonly data) {} public async electionData (): Promise> { const electionData = ElectionData.fromJson(this.data.electionData) return await Promise.resolve(new ResponseBeanOk(electionData)) diff --git a/src/main/constants.ts b/src/main/constants.ts index 118fadc..9a9a6f2 100644 --- a/src/main/constants.ts +++ b/src/main/constants.ts @@ -1,6 +1,6 @@ import { type ProofGenerator, ProofGeneratorImpl, ProofGeneratorMock } from '../algorithms/proof' import dataTest from '../mock/data.json' -import dataUI from '../mock/data.json' +import dataUI from '../mock/extended.json' import { Comm, CommMock, type Communication } from './communication' const k = '0373744f99d31509eb5f8caaabc0cc3fab70e571a5db4d762020723b9cd6ada260' const g = '0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798' diff --git a/src/mock/extended.json b/src/mock/extended.json index 6f10814..2b69d3d 100644 --- a/src/mock/extended.json +++ b/src/mock/extended.json @@ -1,4 +1,5 @@ { + "fingerprint": "65792573f35f912cebd3865f67cb9f260338b68a20bc8e28c5350504fb3d5e4e8ab01383df9246576d4f8bb2a30c2949d04c397adf42d0fbe116938aa7c86ca4", "electionData": {"title":{"default":"Präsidiumswahl 2023 und Vorstandswahl 2023","value":{}},"languages":["DE"]}, "loginRequest": {"voterId":"voter24","nonce":"cd02cad970d6b5659e097d09545c605518d4061cf3751c5a19ffc298193d62f2","password":"423332","challengeCommitment":"0285f5259b3d5f637c76c09073eb4e422f1f18529423e64149bcb59b777c21f868"}, "loginResponse": {"value":{"token":"dm90ZXIyNA==.SGVMdjhHMkFlQ29hWjA3Lw==","ballotVoterId":"voter24","electionId":"ddc9a1c9-7e06-4b79-8d88-97942813ac5d","languages":["DE"],"title":{"default":"Präsidiumswahl 2023 und Vorstandswahl 2023","value":{}},"logo":{"default":{"hash":"","url":"img/CUSTOM_LOGO/default.png","alt":""},"value":{"DE":{"hash":"","url":"img/CUSTOM_LOGO/DE.png","alt":""}}},"publicLabel":"1:14","messages":{"ANCHOR.CANCEL":{"default":"Stimmabgabe abbrechen","value":{}},"ANCHOR.CHECK-VOTE":{"default":"Stimmabgabe prüfen","value":{}},"ANCHOR.CONTINUE":{"default":"Weiter zur Stimmabgabe","value":{}},"ANCHOR.CORRECT":{"default":"Auswahl korrigieren","value":{}},"ANCHOR.DATAPRIVACYPOLICY.TEXT":{"default":"Datenschutz","value":{}},"ANCHOR.DATAPRIVACYPOLICY.URL":{"default":"https://www.polyas.de/datenschutz","value":{}},"ANCHOR.IMPRINT.TEXT":{"default":"Impressum","value":{}},"ANCHOR.IMPRINT.URL":{"default":"https://www.polyas.de/impressum","value":{}},"ANCHOR.VOTE":{"default":"Verbindliche Stimmabgabe","value":{}},"AUTH.ID.LABEL":{"default":"Zugangs-PIN","value":{}},"AUTH.ID.PLACEHOLDER":{"default":"Zugangs-PIN","value":{}},"AUTH.LOGIN":{"default":"Am Wahlsystem anmelden","value":{}},"AUTH.PASS.HIDE":{"default":"Passwort verbergen","value":{}},"AUTH.PASS.LABEL":{"default":"Wahl-PIN","value":{}},"AUTH.PASS.PLACEHOLDER":{"default":"Wahl-PIN","value":{}},"AUTH.PASS.SHOW":{"default":"Passwort anzeigen","value":{}},"AUTH.TEXT":{"default":"Bitte geben Sie Ihre Zugangsdaten zum Online-Wahlsystem ein, um sich anzumelden. Ihre Zugangsdaten können Sie Ihrer Wahleinladung entnehmen.","value":{}},"AUTH.TEXT_SECURELINK":{"default":"","value":{}},"BROWSER_ADVICE":{"default":"Um Ihre Stimmabgabe sicher und reibungslos durchzuführen, nutzen Sie jedoch bitte die aktuellste Version Ihres Internetbrowsers.","value":{}},"CONFIRM.INFO_ALERT":{"default":"Ihre Auswahl wird Ihnen hier zur Bestätigung angezeigt. Sie können Ihre Auswahl korrigieren oder die Stimmabgabe bestätigen. Solange Sie noch nicht auf den Button \"Verbindliche Stimmabgabe\" geklickt haben, können Sie die Stimmabgabe jederzeit abbrechen. Ihre Vorauswahl wird in diesem Fall nicht zwischengespeichert. Wenn Sie Ihre Stimme jetzt verbindlich abgeben, wird diese wie folgt gezählt:","value":{}},"CONFIRM.INVALID.ALLOW_INVALID":{"default":"Wenn Sie Ihre Auswahl nicht korrigieren, wird dieser Stimmzettel als ungültig gezählt.","value":{}},"CONFIRM.INVALID.DISALLOW_INVALID":{"default":"Eine Stimmabgabe ist aufgrund der Wahlregeln nicht möglich. Bitte korrigieren Sie Ihre Auswahl.","value":{}},"CONFIRM.INVALID.DISALLOW_INVALID_NOTE":{"default":"Eine Stimmabgabe ist aufgrund der Wahlregeln nicht möglich.
Bitte korrigieren Sie Ihre Auswahl.","value":{}},"CONFIRM.INVALID.INTENTIONALLY_ABSTAINED":{"default":"Ihre Stimme wird als Enthaltung gewertet","value":{}},"CONFIRM.INVALID.INTENTIONALLY_INVALID":{"default":"Ihr Stimmzettel wird als ungültig gezählt.","value":{}},"CONFIRM.INVALID.MAXLISTSWITHCHOICES":{"default":"Sie haben Stimmen an zu viele Wahlvorschläge auf diesem Stimmzettel vergeben.","value":{}},"CONFIRM.INVALID.NO.VOTES_ON_BALLOT":{"default":"Sie haben keine Stimme vergeben. Ihr Stimmzettel wird als ungültig gezählt.","value":{}},"CONFIRM.INVALID.TOO_LESS.VOTES_CANDIDATE":{"default":"Sie haben zu wenige Stimmen an einen Kandidaten dieser Liste vergeben.","value":{}},"CONFIRM.INVALID.TOO_LESS.VOTES_FOR_CANDIDATE":{"default":"Sie haben zu wenige Stimmen an die einzelnen Wahlvorschläge vergeben.","value":{}},"CONFIRM.INVALID.TOO_LESS.VOTES_FOR_CANDIDATES":{"default":"Sie haben zu wenige Stimmen an die Kandidaten dieses Stimmzettels vergeben.","value":{}},"CONFIRM.INVALID.TOO_LESS.VOTES_FOR_LISTS":{"default":"Sie haben zu wenige Stimmen an die Listen dieses Stimmzettels vergeben.","value":{}},"CONFIRM.INVALID.TOO_LESS.VOTES_LIST":{"default":"Sie haben zu wenige Stimmen für diese Liste vergeben.","value":{}},"CONFIRM.INVALID.TOO_LESS.VOTES_ON_BALLOT":{"default":"Sie haben zu wenige Stimmen auf diesem Stimmzettel vergeben.","value":{}},"CONFIRM.INVALID.TOO_LESS.VOTES_TOTAL":{"default":"Sie haben zu wenige Stimmen an die Listen dieses Stimmzettels vergeben.","value":{}},"CONFIRM.INVALID.TOO_MANY.VOTES_FOR_CANDIDATES":{"default":"Sie haben zu viele Stimmen an die Kandidaten dieses Stimmzettels vergeben.","value":{}},"CONFIRM.INVALID.TOO_MANY.VOTES_FOR_LISTS":{"default":"Sie haben zu viele Stimmen an die Listen dieses Stimmzettels vergeben.","value":{}},"CONFIRM.INVALID.TOO_MANY.VOTES_LIST":{"default":"Sie haben zu viele Stimmen für diese Liste vergeben.","value":{}},"CONFIRM.INVALID.TOO_MANY.VOTES_ON_BALLOT":{"default":"Sie haben zu viele Stimmen auf diesem Stimmzettel vergeben.","value":{}},"CONFIRM.INVALID.TOO_MANY.VOTES_TOTAL":{"default":"Sie haben zu viele Stimmen auf dieser Liste vergeben.","value":{}},"ELECTION.VOTING.INTRODUCTION":{"default":"

Sie sind im Wählerverzeichnis eingetragen und haben im nächsten Schritt die Möglichkeit, Ihre Auswahl zu treffen. Nachdem Sie den Stimmzettel ausgefüllt haben, wird Ihnen dieser in einem weiteren Schritt zur Bestätigung angezeigt. Sie haben in diesem die Gelegenheit, Ihre Auswahl zu bestätigen oder zu korrigieren. Sofern Sie noch nicht auf den Button \"Verbindliche Stimmabgabe\" geklickt haben, können Sie die Stimmabgabe jederzeit abbrechen. In diesem Fall wird Ihre Auswahl nicht zwischengespeichert. Anschließend haben Sie während des Wahlzeitraums jederzeit die Möglichkeit, sich erneut anzumelden und Ihre Wahl zu treffen.

Bitte beachten Sie, dass Ihre personenbezogenen Daten während der Stimmabgabe nur anonymisiert verarbeitet werden, um das Wahlgeheimnis zu wahren.

Sie werden jetzt zur virtuellen Wahlkabine weitergeleitet. Bitte achten Sie darauf, dass Sie Ihre Wahl unbeobachtet treffen können.

","value":{}},"ELECTION.VOTING.SUBMISSION":{"default":"Ihre Stimme wird übermittelt","value":{}},"ELECTION.VOTING.VOTE_INVALID":{"default":"Ungültig wählen","value":{}},"ELECTION.VOTING.VOTES_AVAILABLE_BALLOT":{"default":"Anzahl zu vergebender Stimmen: {{count}}","value":{}},"ELECTION.VOTING.VOTES_AVAILABLE_LIST":{"default":"Anzahl zu vergebender Stimmen: {{count}}","value":{}},"ELECTION.VOTING.WELCOME":{"default":"Willkommen im POLYAS Online-Wahlsystem. Ihre Anmeldung war erfolgreich.","value":{}},"ELECTION.VOTING.YOUR_VOTE":{"default":"Ihre Stimme","value":{}},"ELECTION.WRITE_IN_INFO":{"default":"","value":{}},"ELECTION.WRITE_IN_PLACEHOLDER":{"default":"Option Write-In-Kandidat","value":{}},"ERROR.AUTH.ALREADY_VOTED":{"default":"Sie können sich nicht erneut am POLYAS Online-Wahlsystem anmelden, da Sie Ihre Stimme bereits abgegeben haben. Sollten Sie Ihre Stimme noch nicht abgegeben haben, kontaktieren Sie bitte Ihren Wahlveranstalter.","value":{}},"ERROR.AUTH.WRONG_CREDENTIALS":{"default":"Die von Ihnen genutzte Kombination aus Zugangs-PIN (Mitgliedsnummer) und Wahl-PIN (Passwort) ist nicht bekannt. Bitte überprüfen Sie, ob Sie Ihre Zugangsdaten korrekt eingegeben haben. Achten Sie bei der Eingabe auf Groß- und Kleinschreibung und geben Sie die Zugangsdaten genau so an, wie diese in Ihrer Wahleinladung stehen.

\nBitte verzichten Sie während der Durchführung der Stimmabgabe auf die Nutzung der \"Vor-\", \"Zurück-\" sowie \"Aktualisieren-\"Buttons Ihres Browsers und nutzen Sie nur die Schaltflächen der Wahlanwendung. Sollten weiterhin Probleme beim Login auftreten, kontaktieren Sie Ihren Wahlveranstalter.","value":{}},"ERROR.COM.NO_BACKEND":{"default":"Ihre Online-Wahl","value":{}},"ERROR.DEFAULT":{"default":"

Ein Fehler ist aufgetreten.

Bitte versuchen Sie es in einigen Minuten erneut. Sollten Sie weiterhin Probleme haben, kontaktieren Sie bitte Ihren Wahlveranstalter.

","value":{}},"ERROR.INTERNAL.UNEXPECTED_CLIENT_ERROR":{"default":"Der von Ihnen verwendete Browser wird durch das POLYAS Online-Wahlsystem nicht unterstützt. Um Ihre Stimmabgabe sicher und geheim durchzuführen, laden Sie die neueste Version Ihres Internetbrowsers herunter oder nutzen Sie einen anderen Browser. Sollten Sie weiterhin Probleme haben, kontaktieren Sie bitte Ihren Wahlveranstalter","value":{}},"ERROR.PAGE_VOTER_NOT_LOGGEDIN":{"default":"

Sie wurden zu Ihrer eigenen Sicherheit vom Wahlsystem abgemeldet.

Dies kann folgende Ursachen haben:

","value":{}},"ERROR.PAGE.CLIENTERROR":{"default":"

Ein Fehler ist aufgetreten.

Bitte nutzen Sie einen anderen Browser.

","value":{}},"ERROR.PAGE.CLOSED":{"default":"Diese Online-Wahl ist bereits beendet.
Aus diesem Grund ist eine Stimmabgabe leider nicht mehr möglich. Sollten Sie weitere Fragen haben, kontaktieren Sie bitte Ihren Wahlveranstalter.","value":{}},"ERROR.PAGE.EXPIRED":{"default":"

Sie wurden zu Ihrer eigenen Sicherheit vom Wahlsystem abgemeldet.

Dies kann folgende Ursachen haben:

Sollten weiterhin Probleme auftreten, kontaktieren Sie bitte Ihren Wahlveranstalter.

","value":{}},"ERROR.PAGE.INTERNAL":{"default":"

Ein Fehler ist aufgetreten.

Bitte überprüfen Sie, ob Sie die korrekte URL angegeben haben und sich innerhalb des Wahlzeitraums befinden.

Überprüfen Sie bitte auch, ob auf Ihrem Endgerät eine aktuelle Version Ihres Interbrowsers installiert ist.

Sollten weiterhin Probleme auftreten, kontaktieren Sie bitte Ihren Wahlveranstalter.

","value":{}},"ERROR.PAGE.INVALID_TOKEN":{"default":"

Es ist ein Fehler aufgetreten, die Stimmabgabe konnte nicht abgeschlossen werden.

Bitte versuchen Sie es erneut. Sollten Sie weiterhin Probleme haben, kontaktieren Sie bitte Ihren Wahlveranstalter.

","value":{}},"ERROR.PAGE.NOT_AUTHENTICATED":{"default":"

Bei der Übermittlung Ihrer Daten kam es zu einem Fehler.

Bitte wiederholen Sie den Wahlvorgang.

Sollten weiterhin Probleme auftreten, kontaktieren Sie bitte Ihren Wahlveranstalter.

","value":{}},"ERROR.PAGE.SECURELINK_MISSING_PARAMETER":{"default":"Fehlende Parameter:","value":{}},"ERROR.PAGE.SECURELINK_PIN":{"default":"Wähler-ID (pin)","value":{}},"ERROR.PAGE.SECURELINK_SIG":{"default":"Signatur (sig)","value":{}},"ERROR.PAGE.SECURELINK_TTL":{"default":"Gültigkeitsdauer (ttl)","value":{}},"ERROR.PAGE.TOKEN_PARSING_ERROR":{"default":"

Es ist ein Fehler aufgetreten, die Stimmabgabe konnte nicht abgeschlossen werden.

Bitte versuchen Sie es erneut. Sollten Sie weiterhin Probleme haben, kontaktieren Sie bitte Ihren Wahlveranstalter.

","value":{}},"ERROR.PAGE.VOTEERROR":{"default":"

Es ist ein Fehler aufgetreten, die Stimmabgabe konnte nicht abgeschlossen werden.

Bitte versuchen Sie es erneut. Sollten Sie weiterhin Probleme haben, kontaktieren Sie bitte Ihren Wahlveranstalter.

","value":{}},"ERROR.RELOGIN":{"default":"Erneut anmelden","value":{}},"ERROR.SECURELINK_COULD_NOT_GENERATE_SIGNATURE":{"default":"Bitte kontaktieren Sie Ihren Wahlveranstalter.","value":{}},"ERROR.SECURELINK_DUPLICATE_PINS":{"default":"Ihre Wähler-ID ist mehrfach im Wählerverzeichnis hinterlegt, wir können Sie daher nicht eindeutig identifizieren. Bitte kontaktieren Sie Ihren Wahlleiter.","value":{}},"ERROR.SECURELINK_INVALID_SIGNATURE":{"default":"Bitte kontaktieren Sie Ihren Wahlveranstalter.","value":{}},"ERROR.SECURELINK_NOT_ACTIVE":{"default":"Der Securelink ist bei dieser Wahl nicht aktiviert bitte kontaktieren Sie Ihren Wahlveranstalter.","value":{}},"ERROR.SECURELINK_STALE_TTL":{"default":"Ihr Securelink ist abgelaufen. Bitte melden Sie sich erneut im geschützten Mitgliederbereich Ihrer Organisation an und klicken Sie erneut auf den Link zu Online-Wahllokal.","value":{}},"ERROR.SECURELINK_WRONG_TTL_FORMAT":{"default":"Bitte kontaktieren Sie Ihren Wahlleiter.","value":{}},"ERROR.SELFTEST.HEADER":{"default":"Ein Fehler ist aufgetreten.","value":{}},"ERROR.SELFTEST.TEXT":{"default":"Bitte nutzen Sie einen anderen Browser.","value":{}},"ERROR.STATE.CLOSED":{"default":"Das Online-Wahllokal hat zur Zeit nicht geöffnet. Den Wahlzeitraum können Sie Ihrer Wahleinladung entnehmen. Sollten Sie weiterhin Probleme bei der Anmeldung am Wahlsystem haben, kontaktieren Sie bitte Ihren Wahlveranstalter.","value":{}},"LANG.DE":{"default":"Deutsch","value":{}},"LANG.EN":{"default":"Englisch","value":{}},"LANG.FR":{"default":"Französisch","value":{}},"LANG.IT":{"default":"Italienisch","value":{}},"LANG.NL":{"default":"Niederländisch","value":{}},"META.TITLE.STEP_0":{"default":"Ein Fehler ist aufgetreten","value":{}},"META.TITLE.STEP_1":{"default":"Anmelden","value":{}},"META.TITLE.STEP_2":{"default":"Willkommen","value":{}},"META.TITLE.STEP_3":{"default":"Stimmabgabe","value":{}},"META.TITLE.STEP_4":{"default":"Stimmabgabe prüfen","value":{}},"META.TITLE.STEP_5":{"default":"Vielen Dank","value":{}},"REDIRECT.UNDEFINED_TEXT":{"default":"Bitte kontaktieren Sie Ihren Wahlberanstalter.","value":{}},"REDIRECT.UNDEFINED_TITLE":{"default":"Sie sind nicht im Wahlsystem angemeldet.","value":{}},"SECURELINK.TTL_EXPIRE_DATE":{"default":"Ihr Securelink ist noch gültig bis:","value":{}},"SESSION.RELOGIN.ERROR.PASSWORD.EMPTY":{"default":"Das Feld \"Passwort\" darf nicht leer sein.","value":{}},"SESSION.RELOGIN.ERROR.PASSWORD.WRONG":{"default":"Das von Ihnen angegebene Passwort ist nicht korrekt.","value":{}},"SESSION.RELOGIN.MODAL.LABEL":{"default":"Bitte geben Sie ihr Passwort erneut ein.","value":{}},"SESSION.RELOGIN.MODAL.SUBMIT":{"default":"Abschicken","value":{}},"SESSION.RELOGIN.MODAL.TITLE":{"default":"Sicherheitsabfrage","value":{}},"THANKYOU.BALLOT_AUDIT":{"default":"Individuelle Verifikation:
\nSie können nun überprüfen, ob Ihr(e) Stimmzettel korrekt in die digitale Wahlurne eingegangen sind. Dazu stehen Ihnen unabhängige Verifikationstools zur Verfügung. Wählen sie dazu weiter unten einen Anbieter aus, dem sie vertrauen. Scannen Sie anschließend den untenstehenden QR-Code mit einem geeigneten Zweitgerät (z.B. Smartphone). Auf Ihrem Zweitgerät öffnet sich anschließend eine Web-App, in der Sie das unten angezeigte zeitbasierte Einmalpasswort eingeben müssen, um sich anzumelden. Anschließend wird Ihnen ein Abbild Ihres Stimmzettels bzw. Ihrer Stimmzettel angezeigt.

\nWeitere Informationen finden Sie hier: https://gi.de/wahlen/faq

\nFolgende Verifikations-Anbieter stehen ihnen zur Verfügung:

\nAnbieter: famoser.ch
\t\t\nEntwickler: Florian Moser, INRIA
\nHosting: famoser.ch
\n
\nAnbieter: KIT
\nEntwickler: Felix Dörre, Michael Kirsten
\nHosting: KIT\n

\t\t\nAnbieter: Universität Stuttgart
\nEntwickler: Nicolas Huber, Oliver Koppenhöfer
\nHosting: Gesellschaft für Informatik, Bonn\n

\nAnbieter: POLYAS GmbH
\nEntwickler: POLYAS GmbH
\nHosting: POLYAS GmbH","value":{}},"THANKYOU.VOTED_HEADLINE":{"default":"Ihre Stimme ist erfolgreich in der digitalen Wahlurne eingangen!","value":{}},"THANKYOU.VOTED_TEXT":{"default":"Sie können dieses Browserfenster jetzt schließen.","value":{}},"VERIFY.AUDIT.WITH":{"default":"","value":{}},"VERIFY.QR.INFO":{"default":"Mit dem Scannen des QR Codes startet die Überprüfung Ihres Stimmzettels durch das Verifikationstool des Anbieters","value":{}},"VERIFY.SELECT.LABEL":{"default":"Bitte wählen Sie einen Anbieter aus, mit dem sie Ihre Stimmzettel überprüfen:","value":{}},"VERIFY.SELECT.PLACEHOLDER":{"default":"Wählen Sie hier den gewünschten Anbieter","value":{}},"VERIFY.WITH":{"default":"Achtung! Schließen Sie dieses Fenster nicht, bevor Sie die individuelle Verifikation durchgeführt haben. Sie können nicht auf diese Seite zurückkehren. Mit dem Schließen der Seite beenden Sie die Möglichkeit zur individuellen Verifikation.

\nBitte beachten Sie, dass sich Ihr zeitbasiertes Einmalpasswort alle 30 Sekunden ändert. Die Überprüfung ist innerhalb einer halben Stunde nach Ihrer Stimmabgabe möglich.","value":{}},"VOTE.INFO_ALERT":{"default":"Sie haben nun die Möglichkeit, Ihre Auswahl zu treffen. Bitte beachten Sie die Wahlregeln. Diese können Sie dem Stimmzettel entnehmen.

Detaillierte Informationen zur GI und zu den Kandidatinnen und Kandidaten finden Sie unter https://gi.de/wahlen/.
\nDie Wahl läuft bis zum 8. Dezember 2023 12:00 Uhr. Bei Fragen wenden Sie bitte per E-Mail unter onlinewahlen@gi.de an den Wahlleiter Prof. Dr. Gerrit Hornung, LL.M.","value":{}},"VOTE.NO_BALLOTS":{"default":"Es liegen keine Stimmzettel vor, für die Sie abstimmen können. Dies kann verschiedene Ursachen haben. Bitte kontaktieren Sie Ihren Wahlveranstalter, um Näheres zu erfahren. Sie können das Browserfenster nun schließen.","value":{}}},"allowInvalid":true,"initialMessage":"{\"secondDeviceParametersJson\":\"{\\\"publicKey\\\":\\\"0271ffc6dc9c7f6a79cfced6543c8b7feb79e4eac2a542c6e4de90326039bf81c8\\\",\\\"verificationKey\\\":\\\"30820122300d06092a864886f70d01010105000382010f003082010a028201010088a9e0d615a8dba47ae84e8a4df087f69dc1c03c16b54b540d84e52ab2e697ac362e1b55a5a05abaa2da5c17f84051bcf3387ef0947f8117a871c3c569b7085b5e18476da25a6db6aa8d260be53ec7e651a158e5bcd26cc99898e0a8d8014d13cdbe5c749ce821eb1f122b53edcf8954a3e8411859f3eed150375b858b6dd055cba5d801a6df33a5078e75ad6a4ac7f7cfe5560d415b008724ab7db433d6c6c2c09d0f9f20d8004710779fd4821330aab5f0ba618591386cac2574b2282ee96891ddf1a1a85c450241e91c26a312aa477be56e21b926b6e197c5cdd45e5c780988919aef356e2d5e6c3057ab1b95f0099c0302c0fa0a92f0876f3ff1bfd51dbb0203010001\\\",\\\"ballots\\\":[{\\\"type\\\":\\\"STANDARD_BALLOT\\\",\\\"id\\\":\\\"1\\\",\\\"contentAbove\\\":{\\\"value\\\":{\\\"default\\\":{\\\"data\\\":{},\\\"nodes\\\":[{\\\"data\\\":{},\\\"nodes\\\":[{\\\"text\\\":\\\"Sie können bei jeder Person \\\\\\\"ja\\\\\\\" oder \\\\\\\"nein\\\\\\\" ankreuzen. Kreuzen Sie gar nichts oder bei einer Person beides an, ist Ihre Wahl für den Vorstand ungültig, ebenso, wie wenn Sie \\\\\\\"ungültig\\\\\\\" für den gesamten Stimmzettel ankreuzen.\\\",\\\"marks\\\":[],\\\"object\\\":\\\"text\\\"}],\\\"type\\\":\\\"paragraph\\\",\\\"object\\\":\\\"block\\\"}],\\\"object\\\":\\\"document\\\"},\\\"value\\\":{}},\\\"contentType\\\":\\\"RICH_TEXT\\\"},\\\"title\\\":{\\\"default\\\":\\\"1. Stimmzettel: Vorstandswahl 2023\\\",\\\"value\\\":{}},\\\"lists\\\":[{\\\"id\\\":\\\"2\\\",\\\"title\\\":{\\\"default\\\":\\\"Präsidentin\\\",\\\"value\\\":{}},\\\"columnHeaders\\\":[{\\\"default\\\":\\\"Christine Regitz, SAP SE\\\",\\\"value\\\":{}}],\\\"columnProperties\\\":[{\\\"hide\\\":false}],\\\"candidates\\\":[{\\\"id\\\":\\\"3\\\",\\\"columns\\\":[{\\\"value\\\":{\\\"default\\\":\\\"Ja\\\",\\\"value\\\":{}},\\\"contentType\\\":\\\"TEXT\\\"}],\\\"maxVotes\\\":1,\\\"minVotes\\\":0},{\\\"id\\\":\\\"4\\\",\\\"columns\\\":[{\\\"value\\\":{\\\"default\\\":\\\"Nein\\\",\\\"value\\\":{}},\\\"contentType\\\":\\\"TEXT\\\"}],\\\"maxVotes\\\":1,\\\"minVotes\\\":0}],\\\"maxVotesOnList\\\":1,\\\"minVotesOnList\\\":0,\\\"maxVotesForList\\\":0,\\\"minVotesForList\\\":0,\\\"voteCandidateXorList\\\":false},{\\\"id\\\":\\\"5\\\",\\\"title\\\":{\\\"default\\\":\\\"Vizepräsident\\\",\\\"value\\\":{}},\\\"columnHeaders\\\":[{\\\"default\\\":\\\"Prof. Dr. Erhard Rahm, Universität Leipzig\\\",\\\"value\\\":{}}],\\\"columnProperties\\\":[{\\\"hide\\\":false}],\\\"candidates\\\":[{\\\"id\\\":\\\"6\\\",\\\"columns\\\":[{\\\"value\\\":{\\\"default\\\":\\\"Ja\\\",\\\"value\\\":{}},\\\"contentType\\\":\\\"TEXT\\\"}],\\\"maxVotes\\\":1,\\\"minVotes\\\":0},{\\\"id\\\":\\\"7\\\",\\\"columns\\\":[{\\\"value\\\":{\\\"default\\\":\\\"Nein\\\",\\\"value\\\":{}},\\\"contentType\\\":\\\"TEXT\\\"}],\\\"maxVotes\\\":1,\\\"minVotes\\\":0}],\\\"maxVotesOnList\\\":1,\\\"minVotesOnList\\\":0,\\\"maxVotesForList\\\":0,\\\"minVotesForList\\\":0,\\\"voteCandidateXorList\\\":false},{\\\"id\\\":\\\"8\\\",\\\"title\\\":{\\\"default\\\":\\\"Vizepräsidentin\\\",\\\"value\\\":{}},\\\"columnHeaders\\\":[{\\\"default\\\":\\\"Dr. Katharina Weitz, Universität Augsburg\\\",\\\"value\\\":{}}],\\\"columnProperties\\\":[{\\\"hide\\\":false}],\\\"candidates\\\":[{\\\"id\\\":\\\"9\\\",\\\"columns\\\":[{\\\"value\\\":{\\\"default\\\":\\\"Ja\\\",\\\"value\\\":{}},\\\"contentType\\\":\\\"TEXT\\\"}],\\\"maxVotes\\\":1,\\\"minVotes\\\":0},{\\\"id\\\":\\\"10\\\",\\\"columns\\\":[{\\\"value\\\":{\\\"default\\\":\\\"Nein\\\",\\\"value\\\":{}},\\\"contentType\\\":\\\"TEXT\\\"}],\\\"maxVotes\\\":1,\\\"minVotes\\\":0}],\\\"maxVotesOnList\\\":1,\\\"minVotesOnList\\\":0,\\\"maxVotesForList\\\":0,\\\"minVotesForList\\\":0,\\\"voteCandidateXorList\\\":false},{\\\"id\\\":\\\"11\\\",\\\"title\\\":{\\\"default\\\":\\\"Vizepräsident\\\",\\\"value\\\":{}},\\\"columnHeaders\\\":[{\\\"default\\\":\\\"Prof. Dr. Martin R. Wolf, Institut für Digitalisierung Aachen (IDA) an der FH Aachen\\\",\\\"value\\\":{}}],\\\"columnProperties\\\":[{\\\"hide\\\":false}],\\\"candidates\\\":[{\\\"id\\\":\\\"12\\\",\\\"columns\\\":[{\\\"value\\\":{\\\"default\\\":\\\"Ja\\\",\\\"value\\\":{}},\\\"contentType\\\":\\\"TEXT\\\"}],\\\"maxVotes\\\":1,\\\"minVotes\\\":0},{\\\"id\\\":\\\"13\\\",\\\"columns\\\":[{\\\"value\\\":{\\\"default\\\":\\\"Nein\\\",\\\"value\\\":{}},\\\"contentType\\\":\\\"TEXT\\\"}],\\\"maxVotes\\\":1,\\\"minVotes\\\":0}],\\\"maxVotesOnList\\\":1,\\\"minVotesOnList\\\":0,\\\"maxVotesForList\\\":0,\\\"minVotesForList\\\":0,\\\"voteCandidateXorList\\\":false}],\\\"contentBelow\\\":{\\\"value\\\":{\\\"default\\\":{\\\"data\\\":{},\\\"nodes\\\":[{\\\"data\\\":{},\\\"nodes\\\":[{\\\"text\\\":\\\"\\\",\\\"marks\\\":[],\\\"object\\\":\\\"text\\\"}],\\\"type\\\":\\\"paragraph\\\",\\\"object\\\":\\\"block\\\"}],\\\"object\\\":\\\"document\\\"},\\\"value\\\":{}},\\\"contentType\\\":\\\"RICH_TEXT\\\"},\\\"showInvalidOption\\\":true,\\\"showAbstainOption\\\":false,\\\"maxVotes\\\":4,\\\"minVotes\\\":1,\\\"prohibitMoreVotes\\\":false,\\\"prohibitLessVotes\\\":false,\\\"externalIdentification\\\":\\\"Sheet2\\\",\\\"calculateAvailableVotes\\\":false},{\\\"type\\\":\\\"STANDARD_BALLOT\\\",\\\"id\\\":\\\"14\\\",\\\"contentAbove\\\":{\\\"value\\\":{\\\"default\\\":{\\\"data\\\":{},\\\"nodes\\\":[{\\\"data\\\":{},\\\"nodes\\\":[{\\\"text\\\":\\\"Sie haben drei Stimmen zu Verfügung. Geben Sie mehr als drei oder keine Stimme ab, ist Ihre Wahl für das Präsidium ungültig.\\\",\\\"marks\\\":[],\\\"object\\\":\\\"text\\\"}],\\\"type\\\":\\\"paragraph\\\",\\\"object\\\":\\\"block\\\"}],\\\"object\\\":\\\"document\\\"},\\\"value\\\":{}},\\\"contentType\\\":\\\"RICH_TEXT\\\"},\\\"title\\\":{\\\"default\\\":\\\"2. Stimmzettel: Präsidiumswahl 2023\\\",\\\"value\\\":{}},\\\"lists\\\":[{\\\"id\\\":\\\"15\\\",\\\"title\\\":{\\\"default\\\":\\\"Kandidatinnen und Kandidaten für das GI-Präsidium\\\",\\\"value\\\":{}},\\\"columnHeaders\\\":[],\\\"columnProperties\\\":[{\\\"hide\\\":false}],\\\"candidates\\\":[{\\\"id\\\":\\\"16\\\",\\\"columns\\\":[{\\\"value\\\":{\\\"default\\\":\\\"Andreas Chemnitz, cv cryptovision GmbH \\\",\\\"value\\\":{}},\\\"contentType\\\":\\\"TEXT\\\"}],\\\"maxVotes\\\":1,\\\"minVotes\\\":0},{\\\"id\\\":\\\"17\\\",\\\"columns\\\":[{\\\"value\\\":{\\\"default\\\":\\\"Sascha Manns, Office Partner \\\",\\\"value\\\":{}},\\\"contentType\\\":\\\"TEXT\\\"}],\\\"maxVotes\\\":1,\\\"minVotes\\\":0},{\\\"id\\\":\\\"18\\\",\\\"columns\\\":[{\\\"value\\\":{\\\"default\\\":\\\"Carolin Neumann, IBM Deutschland & BYTE Challenge \\\",\\\"value\\\":{}},\\\"contentType\\\":\\\"TEXT\\\"}],\\\"maxVotes\\\":1,\\\"minVotes\\\":0},{\\\"id\\\":\\\"19\\\",\\\"columns\\\":[{\\\"value\\\":{\\\"default\\\":\\\"Prof. Dr. Harald Wehnes, Julius Maximilians Universität \\\",\\\"value\\\":{}},\\\"contentType\\\":\\\"TEXT\\\"}],\\\"maxVotes\\\":1,\\\"minVotes\\\":0},{\\\"id\\\":\\\"20\\\",\\\"columns\\\":[{\\\"value\\\":{\\\"default\\\":\\\"Dr. Jan Sürmeli, FZI Forschungszentrum Informatik\\\",\\\"value\\\":{}},\\\"contentType\\\":\\\"TEXT\\\"}],\\\"maxVotes\\\":1,\\\"minVotes\\\":0},{\\\"id\\\":\\\"21\\\",\\\"columns\\\":[{\\\"value\\\":{\\\"default\\\":\\\"Univ.-Prof. Dr. Maria A. Wimmer, Universität Koblenz \\\",\\\"value\\\":{}},\\\"contentType\\\":\\\"TEXT\\\"}],\\\"maxVotes\\\":1,\\\"minVotes\\\":0}],\\\"maxVotesOnList\\\":3,\\\"minVotesOnList\\\":1,\\\"maxVotesForList\\\":0,\\\"minVotesForList\\\":0,\\\"voteCandidateXorList\\\":false}],\\\"contentBelow\\\":{\\\"value\\\":{\\\"default\\\":\\\"\\\",\\\"value\\\":{}},\\\"contentType\\\":\\\"TEXT\\\"},\\\"showInvalidOption\\\":true,\\\"showAbstainOption\\\":false,\\\"maxVotes\\\":3,\\\"minVotes\\\":1,\\\"prohibitMoreVotes\\\":false,\\\"prohibitLessVotes\\\":false,\\\"externalIdentification\\\":\\\"Sheet1\\\",\\\"calculateAvailableVotes\\\":false}]}\",\"comSeed\":\"9227b98b6e59c392f5145d8b2b34526b01daa38f6c351a70e481409369cc4ddf\",\"publicCredential\":\"035599e3341936d90bbf792482bae21cd25c72100abbb2f5b845101989514fbf27\",\"ballot\":{\"encryptedChoice\":{\"ciphertexts\":[{\"x\":\"033619946c957e24526c60a2b1ecaec496a1ea9c308f654eb0037b9c0c73671949\",\"y\":\"037041ee3586f07f8f802c6d35397300d7f8e67d351ac0fcffe0fc772b21023f96\"}]},\"proofOfKnowledgeOfEncryptionCoins\":[{\"c\":\"38350190428771601162775147324234983334864220361858224371592276473539890483583\",\"f\":\"29009326725164361378294937664736560654087371474097467848580980780043291308616\"}],\"proofOfKnowledgeOfPrivateCredential\":{\"c\":\"88354074653622600893895116975179287209843370902328605918382631091630818129194\",\"f\":\"39286887905822375578170584074198715769432562030877678999155452657494520461683\"}},\"signatureHex\":\"0e8f5b309c067e004831b67cc6c5d1d10d34eee62d1bd21e6ad2f0dcc3b474202672fc232b92d17627865bba4aea138604d8c341acaba068939d3c51d0d89b9912e51ab23633cc7d18cc49fb470d30a4e10e357aa1a08d244d5924a9e08af4945424bb0c1f8a0a69502912e5d262985d19eac7d48ae9353a0a3f56602ffd8281b300729fdcce1e8aaf1a10d98d89d101581c8b793599bc3cf8f1a9d5336da68483a54f86b432802ef236eb1983ac8bc651f59fa77ecc9df1b679cb062a6a2a9148e26bfb3820d8b2f8aabf9a1ca09f47b9bb8ff57b0293ed1b34cf711d1ec66a7c355325db4d2b722834c981cc5b337a270148bf089de95d65655b94fb977449\",\"factorX\":[\"02794b22ebb955fd5921dc6591f59c7f867fcbf002d5a04caa7e142d57cff3c78f\"],\"factorY\":[\"03c42e626875e43f9c9bf924f274411025934d341b856ca2cb0d4f251acf9f98d3\"],\"factorA\":[\"03b6b0f0dd3fc4f8c43d29d53579d69a2bd91f5dbaeea3991dd79849a02fcd1046\"],\"factorB\":[\"036192221c51ea19ee6eb89675439ad23a84d272a81d263b3835d9cab7d37418e6\"]}"},"status":"OK"},