{
  "concurrencyLevel": 1,
  "numberOfParallelBatches": 16,
  "numOptions": 1,
  "minimumBatchSize": 4096,
  "mixer": {
    "mix": true,
    "input": {
      "publicKey": "src/test/resources/mixdecval/config/publicKey",
      "encryptedBallots": "src/test/resources/mixdecval/config/downloadedBallotBox",
      "encryptionParameters": "src/test/resources/mixdecval/config/encryptedParams",
      "ballotDecryptionKey": "eyJwcml2YXRlS2V5Ijp7InpwU3ViZ3JvdXAiOnsiZyI6IkFnPT0iLCJwIjoiQUlHdDh3eml6eUo4K2lhNzE2WWdZNEZqRzVnSlJqZnoraUIzT2VXRU1MQ09Mbm9XRzB3SHdGUXlvMlZOeDRsZ0JQRG1TSWI1TnRKLzEyVTNkZmU3SmRnWWpFTVNhejlIVXJmb3dITndDdUQxVlZtRFh4VXZ5eFBTVjUvaXNzN2E4NXNvcHZSOW4wOWltdnZwOFhEZlBOdWNjZDEwVFF3R1NLVnQydk43dlNNcmdRT3NHRXVCQnNFbXNkbFJpbDQreDlOVFlwaHNjLzd2VFY5cFJONFUrWkk1eVRiQm9mNlNGY0g1bXdBYXRsWkIvUnp0d0Exd2gzcVVVZ3lMei9rVEtxVFJiYVBjNVcxK0xEUEJabk1pYVRXcTc4NjQxOHBpbzRvTTg2bVZJdGhmRS8zNFMwa244R3BKR3pORjEyTnpiVlF6YnB2NllwbXJQS0cxRmZhUVB3Yz0iLCJxIjoiUU5iNWhuRm5rVDU5RTEzcjB4QXh3TEdOekFTakcvbjlFRHVjOHNJWVdFY1hQUXNOcGdQZ0tobFJzcWJqeExBQ2VITWtRM3liYVQvcnNwdTYrOTJTN0F4R0lZazFuNk9wVy9SZ09iZ0ZjSHFxck1HdmlwZmxpZWtyei9GWloyMTV6WlJUZWo3UHA3Rk5mZlQ0dUcrZWJjNDQ3cm9taGdNa1VyYnRlYjNla1pYQWdkWU1KY0NEWUpOWTdLakZMeDlqNmFteFREWTUvM2VtcjdTaWJ3cDh5UnprbTJEUS8wa0s0UHpOZ0ExYkt5RCtqbmJnQnJoRHZVb3BCa1huL0ltVlVtaTIwZTV5dHI4V0dlQ3pPWkUwbXRWMzUxeHI1VEZSeFFaNTFNcVJiQytKL3Z3bHBKUDROU1NObWFMcnNibTJxaG0zVGYweFROV2VVTnFLKzBnZmd3PT0ifSwiZXhwb25lbnRzIjpbIkFOUXVoYmVLV3dCcytYa2ZKbHdxcnp1d2NmWVF3WWN3SHFHNGZLMmtYTVR2MEN2dE5jZDdVNUJqUTZQT2ViNkd6MFRmOWF6ODJMcktGNjgyL0pEdDlQeExSSzl1bWlQbkcrTHJBSysyOEJ5c0kzY0NKT1I4a05hejlqUGNjZ25WSUdVMktzMVlFUFUzUVhtb2dlWUtXY3VMbzBJQXU0Zi93RmRDejk5NmxTcWRjL3NVUWIyajJSVDNHeFEySVl2KzVCZ1JVa3Zra0ZodTNUQTJOSzlleUZMekZneTZIVFNCYlBvNmFkM2huclpSL1M3ZU5XNzFNTUEzZ0lyNitPVVV4Qk9LUkVEM2RXNHVUYkRWNDdrMTZtUnZ6UDE2djRjeUhDZmdpcFVTZFRXTndEUytJSDRaNll6T3JGVjNZazZMYTY5VXQzVHlkemZQUmJvTEFRazNhUT09Il19fQ==",
      "platformRoot": "-----BEGIN CERTIFICATE----- MIIDcDCCAligAwIBAgIVAOYXBaGTL2PKRZ0UQ1BO0lyO0LDpMA0GCSqGSIb3DQEB CwUAMF8xFjAUBgNVBAMMDVNjeXRsIFJvb3QgQ0ExFjAUBgNVBAsMDU9ubGluZSBW b3RpbmcxFTATBgNVBAoMDE9yZ2FuaXphdGlvbjEJMAcGA1UEBwwAMQswCQYDVQQG EwJFUzAeFw0xODA2MjIxMjQ2MDFaFw0xOTA2MjIxMjQ2MDJaMF8xFjAUBgNVBAMM DVNjeXRsIFJvb3QgQ0ExFjAUBgNVBAsMDU9ubGluZSBWb3RpbmcxFTATBgNVBAoM DE9yZ2FuaXphdGlvbjEJMAcGA1UEBwwAMQswCQYDVQQGEwJFUzCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBAJb+09RVM+eWlCe0QggdSnNXZlGu96KJNWyZ tH2CqaILtghKVGglKkCfFKRme8Nl+Lf723MtAC0RS5E6Tkc+UboYJJxZ6U9iokK/ JXHj1VWaIxxXwzeOcovocDzspe1p8lUSqxJpmQdms1kuceTjmmVQtrburw01Km71 IGcrbGWqDQ9bfafnWboI2S2gqWOHfI7QiPamUkiIAcmTJYhbcORy/ibXgS5Xu0fb mnjsoaXO2FQGW6g8ScCT24HtftoFLS/+iGPnXhwN44BNbeOj/FXEK8Et3XA6BkrQ gi3lkIhz+zOOb5VT2Vy+GWQ6H7PQx5Se8efCjig4FcrVIcLzvrMCAwEAAaMjMCEw DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQELBQAD ggEBAJKQscRIsPC0JT2kXzcAg5M36UkbWAwlpEn3vdMJddznmb5Whr2gHuPImgH8 WHxof+xdl0RjqAgyqHirj5qrQvbdelyyiqF5J5Um2rDdfFZzOrO0DFECQaGJ8wRu 2fdiLzh/t/WZSD78HZIYITMdSInClYflDjblmnK+FeYAOkLslzg7uBZgeCgr2z30 mGsSIUJbqrlovIoCtJqZPLSv0quIDQw7kxwBl/HT8JtcPtOZmcdSZzu2LJrQaW37 7WH3l1BxKuvqPLw68kDMvEQD6D5jk0TLe9nN/8wDcPsUtgiE/TLjsPaTO39pXGsm csI/lczlGAC1j8/UaJVTXbQbHps= -----END CERTIFICATE-----"
    },
    "outputDirectory": "src/test/resources/mixdecval/config"
  },
  "verifier": {
    "verify": false,
    "inputDirectory": "src/test/resources/mixdecval/config",
    "outputDirectory": "src/test/resources/mixdecval/config"
  },
  "validator": {
    "ballot": {
      "id": "8d4e83e110c8419c979f36f2416e3ba7",
      "defaultTitle": "Default Ballot Title",
      "defaultDescription": "Default Ballot Description",
      "alias": "Default Ballot Alias",
      "electionEvent": {
        "id": "6eb1403ab44d4fedb86a6f73adcf17fc"
      },
      "contests": [
        {
          "id": "87dd8641a7c746a68768e58b62d31c72",
          "defaultTitle": "dd-nb",
          "defaultDescription": "dd-nb",
          "alias": "dd-nb",
          "electionEvent": {
            "id": "6eb1403ab44d4fedb86a6f73adcf17fc"
          },
          "template": "votation",
          "fullBlank": "false",
          "options": [
            {
              "id": "d6c1e4e93ad8446f9a1e2e597b00ffdd",
              "representation": "100003",
              "attribute": "9b9434cd5d5e43bab2b9e064aa0d12e0"
            },
            {
              "id": "8bb64eaef5d34da7b142e94eaf93b31f",
              "representation": "100019",
              "attribute": "cf2a9da6b424478fa5e535b0174c5e26"
            }
          ],
          "attributes": [
            {
              "id": "26d0d77f147c4620b9264977feb868f7",
              "alias": "dd-nb",
              "correctness": true,
              "related": []
            },
            {
              "id": "9b9434cd5d5e43bab2b9e064aa0d12e0",
              "alias": "dd-nb1",
              "correctness": false,
              "related": [
                "26d0d77f147c4620b9264977feb868f7"
              ]
            },
            {
              "id": "cf2a9da6b424478fa5e535b0174c5e26",
              "alias": "dd-nb2",
              "correctness": false,
              "related": [
                "26d0d77f147c4620b9264977feb868f7"
              ]
            },
            {
              "id": "000",
              "alias": "Question is blank",
              "correctness": false,
              "related": [
                "26d0d77f147c4620b9264977feb868f7"
              ]
            }
          ],
          "questions": [
            {
              "id": "05c48fc43fe04da79486ba76b5c1663f",
              "max": "1",
              "min": "1",
              "cumul": "1",
              "writeIn": "false",
              "fusions": [],
              "blankAttribute": "000",
              "attribute": "26d0d77f147c4620b9264977feb868f7"
            }
          ],
          "encryptedCorrectnessRule": "function evaluateCorrectness(selection, callbackFunction){if (typeof(callbackFunction)==='undefined') { callbackFunction = function (type, reference, extra) {};};var result = true;result = function (subSelection, callbackFunction) {var partialResult = true;var selectionName = '87dd8641a7c746a68768e58b62d31c72';var attributeName = '26d0d77f147c4620b9264977feb868f7';var min = 1;var max = 1;var count = 0;for (i = 0; i < subSelection.length; i++) {var submittedOption = subSelection[i];if (submittedOption.indexOf(attributeName) > -1) {count++;}}if (count < min) {callbackFunction('MIN_ERROR', selectionName);partialResult = false;}if (count > max) {callbackFunction('MAX_ERROR', selectionName);partialResult = false;}return partialResult;}(selection, callbackFunction) && result;return result;}",
          "decryptedCorrectnessRule": "function evaluateCorrectness(selection, callbackFunction){if (typeof(callbackFunction)==='undefined') { callbackFunction = function (type, reference, extra) {};};var B64 = {encode: function (r) {return r;},decode: function (r) {return r;}};var encodedSelection = [];for (i = 0; i < selection.length; i++) {encodedSelection.push(B64.encode(selection[i]));}var CorrectnessFunctions = {getRelevantVotingOptions : function (votingOptions, selection){var selectionRelevantVotingOptions = [];for (i = 0; i < selection.length; i++) {if (votingOptions.indexOf(selection[i]) > -1) {selectionRelevantVotingOptions.push(selection[i]);}}return selectionRelevantVotingOptions;},isMaxMatch : function (selectionRelevantVotingOptions, maxReq, selectionName, callbackFunction){var maxMatch = maxReq >= selectionRelevantVotingOptions.length;if (!maxMatch) {callbackFunction('MAX_ERROR', B64.decode(selectionName));}return maxMatch;},isMinMatch : function (selectionRelevantVotingOptions, minReq, selectionName, callbackFunction){var minMatch = minReq <= selectionRelevantVotingOptions.length;if (!minMatch) {callbackFunction('MIN_ERROR', B64.decode(selectionName));}return minMatch;},isMinWithBlankMatch: function (selectionRelevantVotingOptions, minReq, blankOption, selectionName, callbackFunction) {var minMatch = minReq <= selectionRelevantVotingOptions.length - 1;var blankMatch = (selectionRelevantVotingOptions.indexOf(blankOption) > -1) && selectionRelevantVotingOptions.length == 1;if (!(minMatch || blankMatch)) {callbackFunction('MIN_WITH_BLANK_ERROR', B64.decode(selectionName));}return (minMatch || blankMatch);},areAllSelectionsValid: function (globalVotingOptions, encodedSelection, callbackFunction) {var partialResult = true;for (i = 0; i < encodedSelection.length; i++) {var selectionIsValid = globalVotingOptions.indexOf(encodedSelection[i]) > -1;if (!selectionIsValid) {callbackFunction('SELECTION_ERROR', B64.decode(encodedSelection[i]));}partialResult = partialResult && selectionIsValid;}return partialResult;},areAllSelectionsUnique: function (encodedSelection, callbackFunction) {var partialResult = true;var duplicates = encodedSelection.reduce(function(acc, el, i, arr) {if (arr.indexOf(el) !== i && acc.indexOf(el) < 0) acc.push(el); return acc;}, []);if (duplicates.length != 0) {callbackFunction('MULTIPLE_SELECTION_ERROR', B64.decode(encodedSelection[duplicates[0]]));partialResult = false;}return partialResult;},checkAlliance: function (allianceVotingOptions, cumulNumber, encodedSelection, callbackFunction) {var partialResult = true;for (i = 0; i < encodedSelection.length; i++) {for (j = 0; j < allianceVotingOptions.length; j++) {if(allianceVotingOptions[j].indexOf(encodedSelection[i]) > -1){var count = 0;for (k = 0; k < allianceVotingOptions[j].length; k++) {if (encodedSelection.indexOf(allianceVotingOptions[j][k]) > -1) {count++;}}if (count > cumulNumber){callbackFunction('CUMULATION_ERROR', B64.decode(encodedSelection[i]));partialResult = false;}}}}return partialResult;}};var result = true;result = function (subSelection, callbackFunction){var partialResult = true;var selectionName = '87dd8641a7c746a68768e58b62d31c72';var votingOptions = ['d6c1e4e93ad8446f9a1e2e597b00ffdd', '8bb64eaef5d34da7b142e94eaf93b31f'];var selectionRelevantVotingOptions = CorrectnessFunctions.getRelevantVotingOptions(votingOptions, subSelection);partialResult = partialResult && CorrectnessFunctions.isMinMatch(selectionRelevantVotingOptions, 1, selectionName, callbackFunction);partialResult = partialResult && CorrectnessFunctions.isMaxMatch(selectionRelevantVotingOptions, 1, selectionName, callbackFunction);return partialResult;}(encodedSelection, callbackFunction) && result;;var globalVotingOptions = ['d6c1e4e93ad8446f9a1e2e597b00ffdd', '8bb64eaef5d34da7b142e94eaf93b31f'];result = CorrectnessFunctions.areAllSelectionsValid(globalVotingOptions, encodedSelection, callbackFunction) && result;result = CorrectnessFunctions.areAllSelectionsUnique(encodedSelection, callbackFunction) && result;return result;}"
        }
      ],
      "status": "LOCKED"
    },
    "ballotBoxId": "6af19d867c7a43e8b62e3bc4814183df",
    "tenantId": "100",
    "elGamalEncryptionParametersP": "16370518994319586760319791526293535327576438646782139419846004180837103527129035954742043590609421369665944746587885814920851694546456891767644945459124422553763416586515339978014154452159687109161090635367600349264934924141746082060353483306855352192358732451955232000593777554431798981574529854314651092086488426390776811367125009551346089319315111509277347117467107914073639456805159094562593954195960531136052208019343392906816001017488051366518122404819967204601427304267380238263913892658950281593755894747339126531018026798982785331079065126375455293409065540731646939808640273393855256230820509217411510058759",
    "signingKey": "-----BEGIN RSA PRIVATE KEY-----\nMIICHgIBAAKCAQEAoqDOoSEylvyFMqpATm298HyqN18aEQhtjRwjigChlg3bsDC2\nsFfJiq/bDR6vv6g0Ya9Bf9YVmWn5xMESA8u5uqyQdiv5X3dbGEbMqkaTBTDeCONN\n3FkL7GD3P5HlINFb5scGlD9/NYutIc5/1APE5RixJcroHsn4vkh97XpyTRjvPHe4\nf0j+nm8Uhh2zjNMhibWKVzdL5Qcl3S5E52zYgpOJna6J2WDNfgthYozOSdobREB+\n6+bG29qLJIjRg4G06UF1MIogv5dDYROm4G8DgOz0SefBCOLfhAOQxQeLEGXHn6SJ\n9aOWVCZ8/8s1pX3r2+WZ5ptFtSdekugE9Wj7CQIBAAKCAQB3R4LGY9b7LxNy6bRo\n0czySj1+h15TB99yFCVs3rGloVx0igY0qO7Frd34bX1yESj6TNS5sof9EeGEEifo\naNA8vrzmL7Kj9qL111fdvA2xTPpNgoplB1rbcPNnyNZJj8TcKzYEHd5ro5rEpPTU\nyD7t2YJ0ubIuguzSg9D5EUosiOWnrgLIBOi/cspNr13gUfDkjaG+DJx8yHKKI+0S\ndwtBQoBbvaMq1yxnvKFu/JZqetcXbJgYQrJKoH+Y6PWFrl/5EYHtW0/+v4CRLbSt\njVX2nWNxxkBIKpbp6ZDwPdcSzpyr9ogwVjmFNKu6ogZ85vi5sqOsy3mg2RJiHEbY\n0zlRAgEAAgEAAgEAAgEAAgEA\n-----END RSA PRIVATE KEY-----\n",
    "writeInAlphabet": "IyAnKCksLS4vMDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXrCoMKixaDFocW9xb7FksWTxbjDgMOBw4LDg8OEw4XDhsOHw4jDicOKw4vDjMONw47Dj8OQw5HDksOTw5TDlcOWw5jDmcOaw5vDnMOdw57Dn8Ogw6HDosOjw6TDpcOmw6fDqMOpw6rDq8Osw63DrsOvw7DDscOyw7PDtMO1w7bDuMO5w7rDu8O8w73DvsO/",
    "outputPath": "src/test/resources/mixdecval/config"
  }
}
