{"version":3,"sources":["img/EDU-Coin.png","protocol-buffer/json-shema_pb.js","../node_modules/web3-eth-accounts/src sync","components/CertificatesValidation/Verification.tsx","components/Navbar/NavItem.tsx","components/Navbar/Navbar.tsx","components/Topbar/Topbar.tsx","components/PageTitle/PageTitle.tsx","components/HelpCard/HelpCard.tsx","components/NumberOfCertificates/NumberOfCertificates.tsx","components/IssueNewCertificateCard/IssueNewCertificateCard.tsx","components/SidebarBig/SidebarBig.tsx","components/HomeBackground/HomeBackground.tsx","components/EduCTXIntro/EduCTXIntro.tsx","components/SwitchNetwork/SwitchNetwork.tsx","pages/Home.tsx","components/HelpChapter/HelpChapter.tsx","pages/Help/Help.tsx","pages/MyCertificates.tsx","components/Network/Network.tsx","components/NetworkCard/NetworkCard.tsx","pages/Network.tsx","pages/VerifyCertificates.tsx","components/FAQ/FAQ.tsx","components/StillHaveQuestions/StillHaveQuestions.tsx","components/FAQ/FAQSection.tsx","pages/Help/HelpAdditional.tsx","components/FormHelpCard/FormHelpCard.tsx","pages/Issue.tsx","components/InstitutionProfile/InstitutionProfile.tsx","components/AuthorizedPerson/AuthorizedPerson.tsx","pages/Profile.tsx","pages/Help/HelpNewCertificate.tsx","components/HelpVideo/HelpVideo.tsx","components/HelpTimeline/HelpTimelineItem.tsx","components/HelpTimeline/HelpTimeline.tsx","pages/Help/HelpVerify.tsx","pages/Help/HelpExport.tsx","pages/Help/HelpProfile.tsx","pages/Help/HelpUsers.tsx","pages/Help/HelpData.tsx","components/SignUp/SignUp.tsx","pages/HomeIdle.tsx","components/Card404/Card404.tsx","App.tsx","serviceWorker.ts","init/actions.tsx","init/reducers.tsx","init/store.tsx","index.tsx","utils/crypto/index.ts","components/MyCertificates/MyCertificates.tsx","utils/share/index.ts","img/grey-circles.svg","img/sign-up.svg","utils/base64/index.ts","utils/ipfs/index.ts","img/check-mark.svg","img/verify-certificate.svg","img/export-certificate.svg","img/additional-functionalities.svg","img/users.svg","img/data-prot.svg","components/InfoCard/InfoCard.tsx","img/student.svg","img/question-mark.svg","img/certificate-big.svg","img/add-big.svg","img/system.svg","img/hills.svg","img/cloud.svg","img/blockchain-lab.svg","components/SignUpTwo/SignUpTwo.tsx","components/MyCertificatesTable/MyCertificatesTable.tsx","components/LockedCertificates/LockedCertificates.tsx","img/locked.png","components/CertificatesValidation/Table/CertValidTable.tsx","components/CertificatesValidation/Table/graph-ql.js","img/close-cross.svg","components/CertificatesValidation/CertValid.tsx","img/tick.svg","img/invalid.svg","components/DragDropV2/DragDropV2.tsx","img/new-certificate.svg","img/edit-profile.svg","img/nework-illustration@2x.png","img/um-logo.svg","img/sarajevo-full.png","img/1200px-Fachhochschule_Bielefeld-logo.svg.png","img/brno.png","img/help-big.svg","components/IssueCertForm/IssueCertForm.tsx","components/Modal/Modal.tsx","img/exclamation.svg","img/exclamation-mark.svg","img/grey-circles-1.svg","img/metamask.png","img/bug-big.svg","pdf-zip/src/images/eductxLogo.js","pdf-zip/src/positionCalculator.js","pdf-zip/src/templates/basic/index.js","pdf-zip/src/templates/concordia/index.js","pdf-zip/src/images/concordia.js","pdf-zip/src/pdfDefinition.js","pdf-zip/getZippedPdfsWithJsons.js","components/Export/Export.tsx","../node_modules/encoding/lib sync"],"names":["module","exports","jspb","require","goog","global","Function","exportSymbol","proto","Certificate","opt_data","Message","initialize","this","inherits","DEBUG","COMPILED","displayName","Person","CA","Cert","GENERATE_TO_OBJECT","prototype","toObject","opt_includeInstance","includeInstance","msg","f","obj","eductxversion","getFieldWithDefault","timestamp","person","getPerson","ca","getCa","certificate","getCertificate","$jspbMessageInstance","deserializeBinary","bytes","reader","BinaryReader","deserializeBinaryFromReader","nextField","isEndGroup","getFieldNumber","value","readString","setEductxversion","setTimestamp","readMessage","setPerson","setCa","setCertificate","skipField","serializeBinary","writer","BinaryWriter","serializeBinaryToWriter","getResultBuffer","message","undefined","getEductxversion","length","writeString","getTimestamp","writeMessage","setProto3StringField","getWrapperField","setWrapperField","clearPerson","hasPerson","getField","clearCa","hasCa","clearCertificate","hasCertificate","id","firstname","lastname","ethaddress","eductxid","setId","setFirstname","setLastname","setEthaddress","setEductxid","getId","getFirstname","getLastname","getEthaddress","getEductxid","fullname","logouri","setFullname","setLogouri","getFullname","getLogouri","type","certificatetitle","unitid","unittitle","shortdescription","fulldescriptionuri","unitmeasurement","setType","setCertificatetitle","setUnitid","setUnittitle","setShortdescription","setFulldescriptionuri","setValue","setUnitmeasurement","getType","getCertificatetitle","getUnitid","getUnittitle","getShortdescription","getFulldescriptionuri","getValue","getUnitmeasurement","object","extend","webpackEmptyContext","req","e","Error","code","keys","resolve","VerificationRaw","props","_this","Object","_builds_gitlab_eductx_eductx_react_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_2__","_builds_gitlab_eductx_eductx_react_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__","_builds_gitlab_eductx_eductx_react_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__","call","state","certs","address","hashes","valid","loaded","showChild","empty","publicKey","setName","bind","_builds_gitlab_eductx_eductx_react_node_modules_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6__","refresh","ethAddress","eduCTXid","newProps","getBalance","balance","getPublicKey","i","getToken","token","getTokenHash","toNumber","tokenHash","push","toString","setState","substring","verifyCertificateFromUrl","urlParams","URLSearchParams","window","location","search","paramIpfsPath","get","paramIv","paramKey","ipfsPath","decodeURIComponent","iv","Buffer","from","importKey","JSON","parse","stringFromBase64","key","getIPFS","encryptedData","decrypt","data","addressEth","idEduCTX","updateState","console","log","_context2","t2","file","certificates","fileName","listEmpty","result","_this2","setTimeout","_this3","react__WEBPACK_IMPORTED_MODULE_8___default","a","createElement","className","style","zIndex","height","maxHeight","minHeight","margin","react_bootstrap__WEBPACK_IMPORTED_MODULE_13__","animation","variant","_DragDropV2_DragDropV2__WEBPACK_IMPORTED_MODULE_11__","unzippedFile","unzipped","marginBottom","react_bootstrap__WEBPACK_IMPORTED_MODULE_14__","onClick","_CertificatesValidation_CertValid__WEBPACK_IMPORTED_MODULE_10__","_CertificatesValidation_Table_CertValidTable__WEBPACK_IMPORTED_MODULE_9__","update","updateTable","React","Component","Verification","connect","contracts","balanceOf","index","tokenOfOwnerByIndex","tokenDataHash","reguser","getUserPubKeyById","NavItem","react_default","react_router","exact","path","to","_ref","match","react_router_dom","children","NavbarRaw","classCallCheck","possibleConstructorReturn","getPrototypeOf","registered","auth","isCa","isAuth","getStudentID","studentID","regView","src","EDUCoin","alt","width","Navbar_NavItem","index_es","icon","faHome","faListUl","faCheckCircle","faQuestionCircle","faNetworkWired","caView","faUser","faFile","authView","unregView","Navbar","isAuthorizedAddress","getIDbyAddress","TopbarRaw","usertype","name","logo","eventChangeMetadata","on","event","getCaData","caData","getAuthCa","caAddress","getCaDataAuth","studentIcon","faBars","Topbar","getAuthorizedAddressCa","getCaMetaData","ChangeCaMeta","PageTitle","title","HelpCard","Card","Body","questionMark","NumberOfCertificatesRaw","numberOfCertificates","numberOfCertificatesCA","number","numberOfCertificatesAuth","Col","certificateBig","NumberOfCertificates","getIssuedTokensByCa","getIssuedTokensByAuthorizedAddress","IssueNewCertificateCard","Row","addBig","SidebarBig","href","HomeBackground","target","rel","system","hills","cloud","blockchain","EduCTXIntro","defaultValue","SwitchNetwork","_useState","useState","_useState2","slicedToArray","disabled","setDisabled","switchToCorrectNetwork","asyncToGenerator","regenerator_default","mark","_callee","wrap","_context","prev","next","ethereum","request","method","params","chainId","t0","chainName","rpcUrls","blockExplorerUrls","stop","apply","arguments","signUp","greyCircles","HomeRaw","components_HomeBackground_HomeBackground","components_SidebarBig_SidebarBig","components_EduCTXIntro_EduCTXIntro","networkVersion","SignUpTwo","components_SwitchNetwork_SwitchNetwork","regStudView","components_PageTitle_PageTitle","components_HelpCard_HelpCard","MyCertificates","regCaView","components_NumberOfCertificates_NumberOfCertificates","components_IssueNewCertificateCard_IssueNewCertificateCard","small","display","justifyContent","alignItems","Spinner","Home","HelpChapterRaw","CardDeck","Img","newCertificate","Title","Text","verifyCertificate","exportCertificate","marginTop","editProfile","paddingLeft","additionalFunctionalities","users","marginLeft","marginRight","dataProtection","HelpChapter","Help","components_HelpChapter_HelpChapter","MyCertificatesPage","Network","network","NetworkCard","umlogo","sarajevologo","fachhochschule","brno","NetworkPage","components_Network_Network","components_NetworkCard_NetworkCard","VerifyCertificates","FAQ","StillHaveQuestions","helpBig","FAQSection","htmlFor","HelpAdditional","components_StillHaveQuestions_StillHaveQuestions","components_FAQ_FAQ","FAQ_FAQSection","FormHelpCard","flex","flexDirection","color","Issue","IssueCertForm","components_FormHelpCard_FormHelpCard","InstProfileRaw","caMetadata","logoChanged","handleLogoChange","assertThisInitialized","handleNameChange","saveChanges","getAddress","setCaData","noValidate","onFocus","onBlur","onChange","required","InstitutionProfile","logoUri","changeMeta","AuthorizedPersonRaw","authorize","addAuthorizedAddress","handleAddressChange","remove","_ref2","_callee2","removeAuthorizedAddress","_x","persons","getAuthorizedAddressesByCa","tempPersons","element","_iterator","Symbol","iterator","_iteratorNormalCompletion","_step","done","_loop","eventAddAuth","eventRemoveAuth","_this4","maxWidth","data-toggle","data-target","AuthorizedPerson","AddAuthorizedAddress","RemoveAuthorizedAddress","Profile","components_InstitutionProfile_InstitutionProfile","components_AuthorizedPerson_AuthorizedPerson","HelpNewCertificate","HelpVideo","Tab","Container","defaultActiveKey","HelpTimelineItem","open","setOpen","_useState3","_useState4","active","setActive","Button","aria-controls","aria-expanded","Collapse","in","HelpTimeline","HelpVerify","components_HelpVideo_HelpVideo","sm","Nav","Item","Link","eventKey","Content","Pane","controls","components_HelpTimeline_HelpTimeline","HelpTimeline_HelpTimelineItem","textAlign","HelpExport","Image","rounded","HelpProfile","HelpUsers","HelpData","SignUp","metamask","HomeIdle","components_SignUp_SignUp","Card404","padding","bug","AppRaw","component","components_Navbar_Navbar","components_Topbar_Topbar","App","web3","Boolean","hostname","setWeb3","setAddress","setContract","contract","initialState","eduCTXredux","action","assign","objectSpread","initWeb3","store","contractCA","instanceCA","contractToken","instanceToken","contractRegUser","instanceRegUser","Web3","caContract","sent","setProvider","currentProvider","deployed","dispatch","tokenContract","registeredUserContract","handleCorrectNetwork","_x2","_ref3","_callee4","accounts","_context4","createStore","reducers","autoRefreshOnNetworkChange","enable","sessionStorage","clear","replace","_ref4","_callee3","_context3","reload","_x3","abrupt","eduCTXstore","ReactDOM","render","es","src_App","document","getElementById","navigator","serviceWorker","ready","then","registration","unregister","main","generateKey","_builds_gitlab_eductx_eductx_react_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__","_builds_gitlab_eductx_eductx_react_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default","crypto","subtle","exportKey","encrypt","TextEncoder","encode","_x4","_x5","_ref5","_callee5","decryptedData","_context5","TextDecoder","decode","_x6","_x7","_x8","ethUtil","MyCertificatesRaw","privateKey","pubKey_fromPrivate","getPublicKeyFromPrivate","pubKey","substr","decrypted","setItem","Promise","reject","privateToPublic","_balance","_id","getStudentPublicKey","_pubKey","lockedCert","react__WEBPACK_IMPORTED_MODULE_7___default","_LockedCertificates_LockedCertificates__WEBPACK_IMPORTED_MODULE_9__","pk","unlockedCert","_MyCertificatesTable_MyCertificatesTable__WEBPACK_IMPORTED_MODULE_8__","getItem","createShareableURL","jsonData","client","linkedin","keyBase64","ivBase64","_args","stringify","stringToBase64","t1","t3","getRandomValues","Uint8Array","pushIPFS","concat","encodeURIComponent","__webpack_require__","p","d","__webpack_exports__","ipfs","create","url","_pushIPFS","vc","ipfsAddress","add","_getIPFS","axios","react__WEBPACK_IMPORTED_MODULE_0__","react__WEBPACK_IMPORTED_MODULE_0___default","n","_img_exclamation_mark_svg__WEBPACK_IMPORTED_MODULE_2__","_img_exclamation_mark_svg__WEBPACK_IMPORTED_MODULE_2___default","react_bootstrap__WEBPACK_IMPORTED_MODULE_3__","react_bootstrap__WEBPACK_IMPORTED_MODULE_4__","react_bootstrap__WEBPACK_IMPORTED_MODULE_5__","InfoCard","info","sigUtil","registerUser","userId","_builds_gitlab_eductx_eductx_react_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_2__","generateID","numOfDigits","min","digit","Math","floor","random","error","react__WEBPACK_IMPORTED_MODULE_3___default","userAddress1PublicKey","registeredUserId","bufferToHex","sendAsync","err","msgParams","pubBuffer","sig","extractPublicKey","slice","alert","jpack","ecies","MyCertificatesTableRaw","_builds_gitlab_eductx_eductx_react_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_3__","_builds_gitlab_eductx_eductx_react_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__","_builds_gitlab_eductx_eductx_react_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__","unlockCertificates","tokenCipher","tokenId","_builds_gitlab_eductx_eductx_react_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__","_builds_gitlab_eductx_eductx_react_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default","decryptedString","cert","newJson","unpack","eductxVersion","firstName","lastName","fullName","logoURI","certificateTitle","unitId","unitTitle","shortDescription","fullDescriptionURI","unitMeasurement","customToolbar","selectedRows","displayData","setSelectedRows","selectedCertificates","_didIteratorError","_iteratorError","dataIndex","exportableData","return","_Export_Export__WEBPACK_IMPORTED_MODULE_11__","options","download","filter","filterType","selectableRows","selectableRowsOnClick","expandableRows","print","responsive","customToolbarSelect","renderExpandableRow","rowData","rowMeta","colSpan","_material_ui_core_TableRow__WEBPACK_IMPORTED_MODULE_12__","_material_ui_core_TableCell__WEBPACK_IMPORTED_MODULE_13__","textLabels","body","noMatch","toolTip","pagination","previous","rowsPerPage","displayRows","toolbar","downloadCsv","viewColumns","filterTable","all","reset","titleAria","text","delete","deleteAria","columns","label","customBodyRender","meta","link","getClientFromCA","date","Date","parseInt","day","getDate","month","getMonth","year","getFullYear","hour","getHours","minutes","getMinutes","toLowerCase","certData","certExportable","getTokenCipher","currentCertificateData","achievement","unit","time","issuer","description","certUnlocked","share","eventTransfer","returnValues","toUpperCase","mui_datatables__WEBPACK_IMPORTED_MODULE_10___default","MyCertificatesTable","tokenCipherText","Transfer","LockedCertificates","_builds_gitlab_eductx_eductx_react_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_0__","setPrivateKey","setValid","react__WEBPACK_IMPORTED_MODULE_1___default","locked","aria-label","aria-describedby","maxLength","react_router_dom__WEBPACK_IMPORTED_MODULE_6__","CertValidTable","krogecTrue","ValidDot","krogecFalse","InvalidDot","customValidRender","tableMeta","updateValue","noDisplayOption","showResponsive","expandableRowsOnClick","_material_ui_core_TableRow__WEBPACK_IMPORTED_MODULE_14__","_material_ui_core_TableCell__WEBPACK_IMPORTED_MODULE_15__","verifyAllCertificates","overallResult","dataResults","certHash","found","checkInfo","tempCertJSONHash","keccak256","graphqlQuery","hashValue","transactionId","issuedCertificates","newHashResult","_iterator2","_iteratorNormalCompletion2","_step2","item","itemData","explorer","cursor","origin","recipient","mui_datatables__WEBPACK_IMPORTED_MODULE_11___default","__makeTemplateObject","cooked","raw","defineProperty","__awaiter","thisArg","_arguments","P","generator","fulfilled","step","rejected","__generator","y","t","g","_","trys","ops","verb","throw","v","op","TypeError","pop","__esModule","templateObject_1","graphql_request_1","query","gql","GraphQLClient","variables","_a","dataHash","_img_tick_svg__WEBPACK_IMPORTED_MODULE_2__","_img_tick_svg__WEBPACK_IMPORTED_MODULE_2___default","_img_invalid_svg__WEBPACK_IMPORTED_MODULE_3__","_img_invalid_svg__WEBPACK_IMPORTED_MODULE_3___default","react_bootstrap__WEBPACK_IMPORTED_MODULE_6__","CertValid","tick","invalid","JSZip","DragDropV2","pond","show","unzipFile","jsonCertArray","zip","_i","_Object$keys","filename","fileData","loadAsync","files","lastIndexOf","async","react_bootstrap__WEBPACK_IMPORTED_MODULE_11__","onClose","dismissible","Heading","react_filepond__WEBPACK_IMPORTED_MODULE_8__","allowMultiple","maxFiles","labelIdle","onupdatefiles","fileItems","checkFile","JSONSchema","IssueCertFormRaw","setSubmit","issued","submitted","setIssue","setInterval","handleIssue","certificateJSONHash","packedCert","packedCertBuf","str","now","pack","issueCert","issueCertAuth","lastCert","lastCertExists","handleShow","handleModalClose","handleTemplateChange","template","checked","handleSubmit","form","currentTarget","preventDefault","stopPropagation","checkValidity","validated","handleTitleChange","_builds_gitlab_eductx_eductx_react_node_modules_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__","handleUnitIDChange","handleAchievementChange","handleShortDescriptionChange","handleCertTypeChange","handleValueChange","handleMeasurementUnitChange","handleRecipientIDChange","checkID","handleStudentIDChange","handleFirstNameChange","handleLastNameChange","handleURLChange","validId","nextProps","getCaAddress","_InfoCard_InfoCard__WEBPACK_IMPORTED_MODULE_18__","react_bootstrap__WEBPACK_IMPORTED_MODULE_10__","react_bootstrap__WEBPACK_IMPORTED_MODULE_12__","onSubmit","onMouseOver","onMouseOut","Group","Label","Control","Feedback","hidden","_Modal_Modal__WEBPACK_IMPORTED_MODULE_15__","issue","dataCipher","issueCertificate","issueCertificateAuthorizedAddress","getAddressById","react_bootstrap_Modal__WEBPACK_IMPORTED_MODULE_0__","react_bootstrap_Modal__WEBPACK_IMPORTED_MODULE_0___default","react_bootstrap__WEBPACK_IMPORTED_MODULE_1__","react__WEBPACK_IMPORTED_MODULE_2__","react__WEBPACK_IMPORTED_MODULE_2___default","_img_exclamation_svg__WEBPACK_IMPORTED_MODULE_3__","_img_exclamation_svg__WEBPACK_IMPORTED_MODULE_3___default","IssueModal","onHide","Header","closeButton","Footer","exclamation","eductxLogo","PositionCalculator","size","orientation","createClass","percentage","standardSizes","factor","4A0","2A0","A0","A1","A2","A3","A4","A5","A6","A7","A8","A9","A10","B0","B1","B2","B3","B4","B5","B6","B7","B8","B9","B10","C0","C1","C2","C3","C4","C5","C6","C7","C8","C9","C10","RA0","RA1","RA2","RA3","RA4","SRA0","SRA1","SRA2","SRA3","SRA4","EXECUTIVE","FOLIO","LEGAL","LETTER","TABLOID","default","getCaLogo","response","base64","responseType","btoa","reduce","byte","String","fromCharCode","image","basicTemplate","qrCodeBase64","personFullName","pos","_certificate$certific","docDefinition","svg","calcTopMargin","alignment","fontSize","fontWeight","t4","bold","t5","t6","t7","t8","t9","stack","toLocaleString","t10","t11","t12","t13","t14","t15","t16","pageSize","pageOrientation","background","content","pageMargins","concordiaTemplate","QRCode","getContent","qrCodeData","authorizedAddressCa","setUTCSeconds","generateQR","getFontSize","lengthOfName","fontsizeFullName","qrDataUrl","toDataURL","pdfMake","pdfFonts","FileSaver","vfs","createZip","certificateArray","stevec","forEach","createPdf","getBlob","blob","blobCert","Blob","generateAsync","saveAs","generateZip","ExportRaw","export","exportedCertificates","Export"],"mappings":"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","file":"static/js/main.800f8210.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,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\"","/* eslint-disable */\n// source: json-shema.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n * field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = Function('return this')();\n\ngoog.exportSymbol('proto.CA', null, global);\ngoog.exportSymbol('proto.Cert', null, global);\ngoog.exportSymbol('proto.Certificate', null, global);\ngoog.exportSymbol('proto.Person', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.Certificate = function (opt_data) {\n\tjspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.Certificate, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n\t/**\n\t * @public\n\t * @override\n\t */\n\tproto.Certificate.displayName = 'proto.Certificate';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.Person = function (opt_data) {\n\tjspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.Person, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n\t/**\n\t * @public\n\t * @override\n\t */\n\tproto.Person.displayName = 'proto.Person';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.CA = function (opt_data) {\n\tjspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.CA, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n\t/**\n\t * @public\n\t * @override\n\t */\n\tproto.CA.displayName = 'proto.CA';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.Cert = function (opt_data) {\n\tjspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.Cert, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n\t/**\n\t * @public\n\t * @override\n\t */\n\tproto.Cert.displayName = 'proto.Cert';\n}\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n\t/**\n\t * Creates an object representation of this proto.\n\t * Field names that are reserved in JavaScript and will be renamed to pb_name.\n\t * Optional fields that are not set will be set to undefined.\n\t * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n\t * For the list of reserved names please see:\n\t * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n\t * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n\t * JSPB instance for transitional soy proto support:\n\t * http://goto/soy-param-migration\n\t * @return {!Object}\n\t */\n\tproto.Certificate.prototype.toObject = function (opt_includeInstance) {\n\t\treturn proto.Certificate.toObject(opt_includeInstance, this);\n\t};\n\n\t/**\n\t * Static version of the {@see toObject} method.\n\t * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n\t * the JSPB instance for transitional soy proto support:\n\t * http://goto/soy-param-migration\n\t * @param {!proto.Certificate} msg The msg instance to transform.\n\t * @return {!Object}\n\t * @suppress {unusedLocalVariables} f is only used for nested messages\n\t */\n\tproto.Certificate.toObject = function (includeInstance, msg) {\n\t\tvar f,\n\t\t\tobj = {\n\t\t\t\teductxversion: jspb.Message.getFieldWithDefault(msg, 1, ''),\n\t\t\t\ttimestamp: jspb.Message.getFieldWithDefault(msg, 2, ''),\n\t\t\t\tperson:\n\t\t\t\t\t(f = msg.getPerson()) &&\n\t\t\t\t\tproto.Person.toObject(includeInstance, f),\n\t\t\t\tca: (f = msg.getCa()) && proto.CA.toObject(includeInstance, f),\n\t\t\t\tcertificate:\n\t\t\t\t\t(f = msg.getCertificate()) &&\n\t\t\t\t\tproto.Cert.toObject(includeInstance, f),\n\t\t\t};\n\n\t\tif (includeInstance) {\n\t\t\tobj.$jspbMessageInstance = msg;\n\t\t}\n\t\treturn obj;\n\t};\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.Certificate}\n */\nproto.Certificate.deserializeBinary = function (bytes) {\n\tvar reader = new jspb.BinaryReader(bytes);\n\tvar msg = new proto.Certificate();\n\treturn proto.Certificate.deserializeBinaryFromReader(msg, reader);\n};\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.Certificate} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.Certificate}\n */\nproto.Certificate.deserializeBinaryFromReader = function (msg, reader) {\n\twhile (reader.nextField()) {\n\t\tif (reader.isEndGroup()) {\n\t\t\tbreak;\n\t\t}\n\t\tvar field = reader.getFieldNumber();\n\t\tswitch (field) {\n\t\t\tcase 1:\n\t\t\t\tvar value = /** @type {string} */ (reader.readString());\n\t\t\t\tmsg.setEductxversion(value);\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tvar value = /** @type {string} */ (reader.readString());\n\t\t\t\tmsg.setTimestamp(value);\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tvar value = new proto.Person();\n\t\t\t\treader.readMessage(\n\t\t\t\t\tvalue,\n\t\t\t\t\tproto.Person.deserializeBinaryFromReader\n\t\t\t\t);\n\t\t\t\tmsg.setPerson(value);\n\t\t\t\tbreak;\n\t\t\tcase 4:\n\t\t\t\tvar value = new proto.CA();\n\t\t\t\treader.readMessage(value, proto.CA.deserializeBinaryFromReader);\n\t\t\t\tmsg.setCa(value);\n\t\t\t\tbreak;\n\t\t\tcase 5:\n\t\t\t\tvar value = new proto.Cert();\n\t\t\t\treader.readMessage(\n\t\t\t\t\tvalue,\n\t\t\t\t\tproto.Cert.deserializeBinaryFromReader\n\t\t\t\t);\n\t\t\t\tmsg.setCertificate(value);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treader.skipField();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\treturn msg;\n};\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.Certificate.prototype.serializeBinary = function () {\n\tvar writer = new jspb.BinaryWriter();\n\tproto.Certificate.serializeBinaryToWriter(this, writer);\n\treturn writer.getResultBuffer();\n};\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.Certificate} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Certificate.serializeBinaryToWriter = function (message, writer) {\n\tvar f = undefined;\n\tf = message.getEductxversion();\n\tif (f.length > 0) {\n\t\twriter.writeString(1, f);\n\t}\n\tf = message.getTimestamp();\n\tif (f.length > 0) {\n\t\twriter.writeString(2, f);\n\t}\n\tf = message.getPerson();\n\tif (f != null) {\n\t\twriter.writeMessage(3, f, proto.Person.serializeBinaryToWriter);\n\t}\n\tf = message.getCa();\n\tif (f != null) {\n\t\twriter.writeMessage(4, f, proto.CA.serializeBinaryToWriter);\n\t}\n\tf = message.getCertificate();\n\tif (f != null) {\n\t\twriter.writeMessage(5, f, proto.Cert.serializeBinaryToWriter);\n\t}\n};\n\n/**\n * optional string eductxVersion = 1;\n * @return {string}\n */\nproto.Certificate.prototype.getEductxversion = function () {\n\treturn /** @type {string} */ (\n\t\tjspb.Message.getFieldWithDefault(this, 1, '')\n\t);\n};\n\n/**\n * @param {string} value\n * @return {!proto.Certificate} returns this\n */\nproto.Certificate.prototype.setEductxversion = function (value) {\n\treturn jspb.Message.setProto3StringField(this, 1, value);\n};\n\n/**\n * optional string timestamp = 2;\n * @return {string}\n */\nproto.Certificate.prototype.getTimestamp = function () {\n\treturn /** @type {string} */ (\n\t\tjspb.Message.getFieldWithDefault(this, 2, '')\n\t);\n};\n\n/**\n * @param {string} value\n * @return {!proto.Certificate} returns this\n */\nproto.Certificate.prototype.setTimestamp = function (value) {\n\treturn jspb.Message.setProto3StringField(this, 2, value);\n};\n\n/**\n * optional Person person = 3;\n * @return {?proto.Person}\n */\nproto.Certificate.prototype.getPerson = function () {\n\treturn /** @type{?proto.Person} */ (\n\t\tjspb.Message.getWrapperField(this, proto.Person, 3)\n\t);\n};\n\n/**\n * @param {?proto.Person|undefined} value\n * @return {!proto.Certificate} returns this\n */\nproto.Certificate.prototype.setPerson = function (value) {\n\treturn jspb.Message.setWrapperField(this, 3, value);\n};\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.Certificate} returns this\n */\nproto.Certificate.prototype.clearPerson = function () {\n\treturn this.setPerson(undefined);\n};\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.Certificate.prototype.hasPerson = function () {\n\treturn jspb.Message.getField(this, 3) != null;\n};\n\n/**\n * optional CA ca = 4;\n * @return {?proto.CA}\n */\nproto.Certificate.prototype.getCa = function () {\n\treturn /** @type{?proto.CA} */ (\n\t\tjspb.Message.getWrapperField(this, proto.CA, 4)\n\t);\n};\n\n/**\n * @param {?proto.CA|undefined} value\n * @return {!proto.Certificate} returns this\n */\nproto.Certificate.prototype.setCa = function (value) {\n\treturn jspb.Message.setWrapperField(this, 4, value);\n};\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.Certificate} returns this\n */\nproto.Certificate.prototype.clearCa = function () {\n\treturn this.setCa(undefined);\n};\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.Certificate.prototype.hasCa = function () {\n\treturn jspb.Message.getField(this, 4) != null;\n};\n\n/**\n * optional Cert certificate = 5;\n * @return {?proto.Cert}\n */\nproto.Certificate.prototype.getCertificate = function () {\n\treturn /** @type{?proto.Cert} */ (\n\t\tjspb.Message.getWrapperField(this, proto.Cert, 5)\n\t);\n};\n\n/**\n * @param {?proto.Cert|undefined} value\n * @return {!proto.Certificate} returns this\n */\nproto.Certificate.prototype.setCertificate = function (value) {\n\treturn jspb.Message.setWrapperField(this, 5, value);\n};\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.Certificate} returns this\n */\nproto.Certificate.prototype.clearCertificate = function () {\n\treturn this.setCertificate(undefined);\n};\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.Certificate.prototype.hasCertificate = function () {\n\treturn jspb.Message.getField(this, 5) != null;\n};\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n\t/**\n\t * Creates an object representation of this proto.\n\t * Field names that are reserved in JavaScript and will be renamed to pb_name.\n\t * Optional fields that are not set will be set to undefined.\n\t * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n\t * For the list of reserved names please see:\n\t * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n\t * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n\t * JSPB instance for transitional soy proto support:\n\t * http://goto/soy-param-migration\n\t * @return {!Object}\n\t */\n\tproto.Person.prototype.toObject = function (opt_includeInstance) {\n\t\treturn proto.Person.toObject(opt_includeInstance, this);\n\t};\n\n\t/**\n\t * Static version of the {@see toObject} method.\n\t * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n\t * the JSPB instance for transitional soy proto support:\n\t * http://goto/soy-param-migration\n\t * @param {!proto.Person} msg The msg instance to transform.\n\t * @return {!Object}\n\t * @suppress {unusedLocalVariables} f is only used for nested messages\n\t */\n\tproto.Person.toObject = function (includeInstance, msg) {\n\t\tvar f,\n\t\t\tobj = {\n\t\t\t\tid: jspb.Message.getFieldWithDefault(msg, 1, ''),\n\t\t\t\tfirstname: jspb.Message.getFieldWithDefault(msg, 2, ''),\n\t\t\t\tlastname: jspb.Message.getFieldWithDefault(msg, 3, ''),\n\t\t\t\tethaddress: jspb.Message.getFieldWithDefault(msg, 4, ''),\n\t\t\t\teductxid: jspb.Message.getFieldWithDefault(msg, 5, ''),\n\t\t\t};\n\n\t\tif (includeInstance) {\n\t\t\tobj.$jspbMessageInstance = msg;\n\t\t}\n\t\treturn obj;\n\t};\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.Person}\n */\nproto.Person.deserializeBinary = function (bytes) {\n\tvar reader = new jspb.BinaryReader(bytes);\n\tvar msg = new proto.Person();\n\treturn proto.Person.deserializeBinaryFromReader(msg, reader);\n};\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.Person} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.Person}\n */\nproto.Person.deserializeBinaryFromReader = function (msg, reader) {\n\twhile (reader.nextField()) {\n\t\tif (reader.isEndGroup()) {\n\t\t\tbreak;\n\t\t}\n\t\tvar field = reader.getFieldNumber();\n\t\tswitch (field) {\n\t\t\tcase 1:\n\t\t\t\tvar value = /** @type {string} */ (reader.readString());\n\t\t\t\tmsg.setId(value);\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tvar value = /** @type {string} */ (reader.readString());\n\t\t\t\tmsg.setFirstname(value);\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tvar value = /** @type {string} */ (reader.readString());\n\t\t\t\tmsg.setLastname(value);\n\t\t\t\tbreak;\n\t\t\tcase 4:\n\t\t\t\tvar value = /** @type {string} */ (reader.readString());\n\t\t\t\tmsg.setEthaddress(value);\n\t\t\t\tbreak;\n\t\t\tcase 5:\n\t\t\t\tvar value = /** @type {string} */ (reader.readString());\n\t\t\t\tmsg.setEductxid(value);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treader.skipField();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\treturn msg;\n};\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.Person.prototype.serializeBinary = function () {\n\tvar writer = new jspb.BinaryWriter();\n\tproto.Person.serializeBinaryToWriter(this, writer);\n\treturn writer.getResultBuffer();\n};\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.Person} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Person.serializeBinaryToWriter = function (message, writer) {\n\tvar f = undefined;\n\tf = message.getId();\n\tif (f.length > 0) {\n\t\twriter.writeString(1, f);\n\t}\n\tf = message.getFirstname();\n\tif (f.length > 0) {\n\t\twriter.writeString(2, f);\n\t}\n\tf = message.getLastname();\n\tif (f.length > 0) {\n\t\twriter.writeString(3, f);\n\t}\n\tf = message.getEthaddress();\n\tif (f.length > 0) {\n\t\twriter.writeString(4, f);\n\t}\n\tf = message.getEductxid();\n\tif (f.length > 0) {\n\t\twriter.writeString(5, f);\n\t}\n};\n\n/**\n * optional string id = 1;\n * @return {string}\n */\nproto.Person.prototype.getId = function () {\n\treturn /** @type {string} */ (\n\t\tjspb.Message.getFieldWithDefault(this, 1, '')\n\t);\n};\n\n/**\n * @param {string} value\n * @return {!proto.Person} returns this\n */\nproto.Person.prototype.setId = function (value) {\n\treturn jspb.Message.setProto3StringField(this, 1, value);\n};\n\n/**\n * optional string firstName = 2;\n * @return {string}\n */\nproto.Person.prototype.getFirstname = function () {\n\treturn /** @type {string} */ (\n\t\tjspb.Message.getFieldWithDefault(this, 2, '')\n\t);\n};\n\n/**\n * @param {string} value\n * @return {!proto.Person} returns this\n */\nproto.Person.prototype.setFirstname = function (value) {\n\treturn jspb.Message.setProto3StringField(this, 2, value);\n};\n\n/**\n * optional string lastName = 3;\n * @return {string}\n */\nproto.Person.prototype.getLastname = function () {\n\treturn /** @type {string} */ (\n\t\tjspb.Message.getFieldWithDefault(this, 3, '')\n\t);\n};\n\n/**\n * @param {string} value\n * @return {!proto.Person} returns this\n */\nproto.Person.prototype.setLastname = function (value) {\n\treturn jspb.Message.setProto3StringField(this, 3, value);\n};\n\n/**\n * optional string ethAddress = 4;\n * @return {string}\n */\nproto.Person.prototype.getEthaddress = function () {\n\treturn /** @type {string} */ (\n\t\tjspb.Message.getFieldWithDefault(this, 4, '')\n\t);\n};\n\n/**\n * @param {string} value\n * @return {!proto.Person} returns this\n */\nproto.Person.prototype.setEthaddress = function (value) {\n\treturn jspb.Message.setProto3StringField(this, 4, value);\n};\n\n/**\n * optional string eduCTXid = 5;\n * @return {string}\n */\nproto.Person.prototype.getEductxid = function () {\n\treturn /** @type {string} */ (\n\t\tjspb.Message.getFieldWithDefault(this, 5, '')\n\t);\n};\n\n/**\n * @param {string} value\n * @return {!proto.Person} returns this\n */\nproto.Person.prototype.setEductxid = function (value) {\n\treturn jspb.Message.setProto3StringField(this, 5, value);\n};\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n\t/**\n\t * Creates an object representation of this proto.\n\t * Field names that are reserved in JavaScript and will be renamed to pb_name.\n\t * Optional fields that are not set will be set to undefined.\n\t * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n\t * For the list of reserved names please see:\n\t * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n\t * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n\t * JSPB instance for transitional soy proto support:\n\t * http://goto/soy-param-migration\n\t * @return {!Object}\n\t */\n\tproto.CA.prototype.toObject = function (opt_includeInstance) {\n\t\treturn proto.CA.toObject(opt_includeInstance, this);\n\t};\n\n\t/**\n\t * Static version of the {@see toObject} method.\n\t * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n\t * the JSPB instance for transitional soy proto support:\n\t * http://goto/soy-param-migration\n\t * @param {!proto.CA} msg The msg instance to transform.\n\t * @return {!Object}\n\t * @suppress {unusedLocalVariables} f is only used for nested messages\n\t */\n\tproto.CA.toObject = function (includeInstance, msg) {\n\t\tvar f,\n\t\t\tobj = {\n\t\t\t\tfullname: jspb.Message.getFieldWithDefault(msg, 1, ''),\n\t\t\t\tlogouri: jspb.Message.getFieldWithDefault(msg, 2, ''),\n\t\t\t\tethaddress: jspb.Message.getFieldWithDefault(msg, 3, ''),\n\t\t\t};\n\n\t\tif (includeInstance) {\n\t\t\tobj.$jspbMessageInstance = msg;\n\t\t}\n\t\treturn obj;\n\t};\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.CA}\n */\nproto.CA.deserializeBinary = function (bytes) {\n\tvar reader = new jspb.BinaryReader(bytes);\n\tvar msg = new proto.CA();\n\treturn proto.CA.deserializeBinaryFromReader(msg, reader);\n};\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.CA} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.CA}\n */\nproto.CA.deserializeBinaryFromReader = function (msg, reader) {\n\twhile (reader.nextField()) {\n\t\tif (reader.isEndGroup()) {\n\t\t\tbreak;\n\t\t}\n\t\tvar field = reader.getFieldNumber();\n\t\tswitch (field) {\n\t\t\tcase 1:\n\t\t\t\tvar value = /** @type {string} */ (reader.readString());\n\t\t\t\tmsg.setFullname(value);\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tvar value = /** @type {string} */ (reader.readString());\n\t\t\t\tmsg.setLogouri(value);\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tvar value = /** @type {string} */ (reader.readString());\n\t\t\t\tmsg.setEthaddress(value);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treader.skipField();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\treturn msg;\n};\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.CA.prototype.serializeBinary = function () {\n\tvar writer = new jspb.BinaryWriter();\n\tproto.CA.serializeBinaryToWriter(this, writer);\n\treturn writer.getResultBuffer();\n};\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.CA} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.CA.serializeBinaryToWriter = function (message, writer) {\n\tvar f = undefined;\n\tf = message.getFullname();\n\tif (f.length > 0) {\n\t\twriter.writeString(1, f);\n\t}\n\tf = message.getLogouri();\n\tif (f.length > 0) {\n\t\twriter.writeString(2, f);\n\t}\n\tf = message.getEthaddress();\n\tif (f.length > 0) {\n\t\twriter.writeString(3, f);\n\t}\n};\n\n/**\n * optional string fullname = 1;\n * @return {string}\n */\nproto.CA.prototype.getFullname = function () {\n\treturn /** @type {string} */ (\n\t\tjspb.Message.getFieldWithDefault(this, 1, '')\n\t);\n};\n\n/**\n * @param {string} value\n * @return {!proto.CA} returns this\n */\nproto.CA.prototype.setFullname = function (value) {\n\treturn jspb.Message.setProto3StringField(this, 1, value);\n};\n\n/**\n * optional string logoURI = 2;\n * @return {string}\n */\nproto.CA.prototype.getLogouri = function () {\n\treturn /** @type {string} */ (\n\t\tjspb.Message.getFieldWithDefault(this, 2, '')\n\t);\n};\n\n/**\n * @param {string} value\n * @return {!proto.CA} returns this\n */\nproto.CA.prototype.setLogouri = function (value) {\n\treturn jspb.Message.setProto3StringField(this, 2, value);\n};\n\n/**\n * optional string ethAddress = 3;\n * @return {string}\n */\nproto.CA.prototype.getEthaddress = function () {\n\treturn /** @type {string} */ (\n\t\tjspb.Message.getFieldWithDefault(this, 3, '')\n\t);\n};\n\n/**\n * @param {string} value\n * @return {!proto.CA} returns this\n */\nproto.CA.prototype.setEthaddress = function (value) {\n\treturn jspb.Message.setProto3StringField(this, 3, value);\n};\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n\t/**\n\t * Creates an object representation of this proto.\n\t * Field names that are reserved in JavaScript and will be renamed to pb_name.\n\t * Optional fields that are not set will be set to undefined.\n\t * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n\t * For the list of reserved names please see:\n\t * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n\t * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n\t * JSPB instance for transitional soy proto support:\n\t * http://goto/soy-param-migration\n\t * @return {!Object}\n\t */\n\tproto.Cert.prototype.toObject = function (opt_includeInstance) {\n\t\treturn proto.Cert.toObject(opt_includeInstance, this);\n\t};\n\n\t/**\n\t * Static version of the {@see toObject} method.\n\t * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n\t * the JSPB instance for transitional soy proto support:\n\t * http://goto/soy-param-migration\n\t * @param {!proto.Cert} msg The msg instance to transform.\n\t * @return {!Object}\n\t * @suppress {unusedLocalVariables} f is only used for nested messages\n\t */\n\tproto.Cert.toObject = function (includeInstance, msg) {\n\t\tvar f,\n\t\t\tobj = {\n\t\t\t\ttype: jspb.Message.getFieldWithDefault(msg, 1, ''),\n\t\t\t\tcertificatetitle: jspb.Message.getFieldWithDefault(msg, 2, ''),\n\t\t\t\tunitid: jspb.Message.getFieldWithDefault(msg, 3, ''),\n\t\t\t\tunittitle: jspb.Message.getFieldWithDefault(msg, 4, ''),\n\t\t\t\tshortdescription: jspb.Message.getFieldWithDefault(msg, 5, ''),\n\t\t\t\tfulldescriptionuri: jspb.Message.getFieldWithDefault(\n\t\t\t\t\tmsg,\n\t\t\t\t\t6,\n\t\t\t\t\t''\n\t\t\t\t),\n\t\t\t\tvalue: jspb.Message.getFieldWithDefault(msg, 7, ''),\n\t\t\t\tunitmeasurement: jspb.Message.getFieldWithDefault(msg, 8, ''),\n\t\t\t};\n\n\t\tif (includeInstance) {\n\t\t\tobj.$jspbMessageInstance = msg;\n\t\t}\n\t\treturn obj;\n\t};\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.Cert}\n */\nproto.Cert.deserializeBinary = function (bytes) {\n\tvar reader = new jspb.BinaryReader(bytes);\n\tvar msg = new proto.Cert();\n\treturn proto.Cert.deserializeBinaryFromReader(msg, reader);\n};\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.Cert} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.Cert}\n */\nproto.Cert.deserializeBinaryFromReader = function (msg, reader) {\n\twhile (reader.nextField()) {\n\t\tif (reader.isEndGroup()) {\n\t\t\tbreak;\n\t\t}\n\t\tvar field = reader.getFieldNumber();\n\t\tswitch (field) {\n\t\t\tcase 1:\n\t\t\t\tvar value = /** @type {string} */ (reader.readString());\n\t\t\t\tmsg.setType(value);\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tvar value = /** @type {string} */ (reader.readString());\n\t\t\t\tmsg.setCertificatetitle(value);\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tvar value = /** @type {string} */ (reader.readString());\n\t\t\t\tmsg.setUnitid(value);\n\t\t\t\tbreak;\n\t\t\tcase 4:\n\t\t\t\tvar value = /** @type {string} */ (reader.readString());\n\t\t\t\tmsg.setUnittitle(value);\n\t\t\t\tbreak;\n\t\t\tcase 5:\n\t\t\t\tvar value = /** @type {string} */ (reader.readString());\n\t\t\t\tmsg.setShortdescription(value);\n\t\t\t\tbreak;\n\t\t\tcase 6:\n\t\t\t\tvar value = /** @type {string} */ (reader.readString());\n\t\t\t\tmsg.setFulldescriptionuri(value);\n\t\t\t\tbreak;\n\t\t\tcase 7:\n\t\t\t\tvar value = /** @type {string} */ (reader.readString());\n\t\t\t\tmsg.setValue(value);\n\t\t\t\tbreak;\n\t\t\tcase 8:\n\t\t\t\tvar value = /** @type {string} */ (reader.readString());\n\t\t\t\tmsg.setUnitmeasurement(value);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treader.skipField();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\treturn msg;\n};\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.Cert.prototype.serializeBinary = function () {\n\tvar writer = new jspb.BinaryWriter();\n\tproto.Cert.serializeBinaryToWriter(this, writer);\n\treturn writer.getResultBuffer();\n};\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.Cert} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Cert.serializeBinaryToWriter = function (message, writer) {\n\tvar f = undefined;\n\tf = message.getType();\n\tif (f.length > 0) {\n\t\twriter.writeString(1, f);\n\t}\n\tf = message.getCertificatetitle();\n\tif (f.length > 0) {\n\t\twriter.writeString(2, f);\n\t}\n\tf = message.getUnitid();\n\tif (f.length > 0) {\n\t\twriter.writeString(3, f);\n\t}\n\tf = message.getUnittitle();\n\tif (f.length > 0) {\n\t\twriter.writeString(4, f);\n\t}\n\tf = message.getShortdescription();\n\tif (f.length > 0) {\n\t\twriter.writeString(5, f);\n\t}\n\tf = message.getFulldescriptionuri();\n\tif (f.length > 0) {\n\t\twriter.writeString(6, f);\n\t}\n\tf = message.getValue();\n\tif (f.length > 0) {\n\t\twriter.writeString(7, f);\n\t}\n\tf = message.getUnitmeasurement();\n\tif (f.length > 0) {\n\t\twriter.writeString(8, f);\n\t}\n};\n\n/**\n * optional string type = 1;\n * @return {string}\n */\nproto.Cert.prototype.getType = function () {\n\treturn /** @type {string} */ (\n\t\tjspb.Message.getFieldWithDefault(this, 1, '')\n\t);\n};\n\n/**\n * @param {string} value\n * @return {!proto.Cert} returns this\n */\nproto.Cert.prototype.setType = function (value) {\n\treturn jspb.Message.setProto3StringField(this, 1, value);\n};\n\n/**\n * optional string certificateTitle = 2;\n * @return {string}\n */\nproto.Cert.prototype.getCertificatetitle = function () {\n\treturn /** @type {string} */ (\n\t\tjspb.Message.getFieldWithDefault(this, 2, '')\n\t);\n};\n\n/**\n * @param {string} value\n * @return {!proto.Cert} returns this\n */\nproto.Cert.prototype.setCertificatetitle = function (value) {\n\treturn jspb.Message.setProto3StringField(this, 2, value);\n};\n\n/**\n * optional string unitId = 3;\n * @return {string}\n */\nproto.Cert.prototype.getUnitid = function () {\n\treturn /** @type {string} */ (\n\t\tjspb.Message.getFieldWithDefault(this, 3, '')\n\t);\n};\n\n/**\n * @param {string} value\n * @return {!proto.Cert} returns this\n */\nproto.Cert.prototype.setUnitid = function (value) {\n\treturn jspb.Message.setProto3StringField(this, 3, value);\n};\n\n/**\n * optional string unitTitle = 4;\n * @return {string}\n */\nproto.Cert.prototype.getUnittitle = function () {\n\treturn /** @type {string} */ (\n\t\tjspb.Message.getFieldWithDefault(this, 4, '')\n\t);\n};\n\n/**\n * @param {string} value\n * @return {!proto.Cert} returns this\n */\nproto.Cert.prototype.setUnittitle = function (value) {\n\treturn jspb.Message.setProto3StringField(this, 4, value);\n};\n\n/**\n * optional string shortDescription = 5;\n * @return {string}\n */\nproto.Cert.prototype.getShortdescription = function () {\n\treturn /** @type {string} */ (\n\t\tjspb.Message.getFieldWithDefault(this, 5, '')\n\t);\n};\n\n/**\n * @param {string} value\n * @return {!proto.Cert} returns this\n */\nproto.Cert.prototype.setShortdescription = function (value) {\n\treturn jspb.Message.setProto3StringField(this, 5, value);\n};\n\n/**\n * optional string fullDescriptionURI = 6;\n * @return {string}\n */\nproto.Cert.prototype.getFulldescriptionuri = function () {\n\treturn /** @type {string} */ (\n\t\tjspb.Message.getFieldWithDefault(this, 6, '')\n\t);\n};\n\n/**\n * @param {string} value\n * @return {!proto.Cert} returns this\n */\nproto.Cert.prototype.setFulldescriptionuri = function (value) {\n\treturn jspb.Message.setProto3StringField(this, 6, value);\n};\n\n/**\n * optional string value = 7;\n * @return {string}\n */\nproto.Cert.prototype.getValue = function () {\n\treturn /** @type {string} */ (\n\t\tjspb.Message.getFieldWithDefault(this, 7, '')\n\t);\n};\n\n/**\n * @param {string} value\n * @return {!proto.Cert} returns this\n */\nproto.Cert.prototype.setValue = function (value) {\n\treturn jspb.Message.setProto3StringField(this, 7, value);\n};\n\n/**\n * optional string unitMeasurement = 8;\n * @return {string}\n */\nproto.Cert.prototype.getUnitmeasurement = function () {\n\treturn /** @type {string} */ (\n\t\tjspb.Message.getFieldWithDefault(this, 8, '')\n\t);\n};\n\n/**\n * @param {string} value\n * @return {!proto.Cert} returns this\n */\nproto.Cert.prototype.setUnitmeasurement = function (value) {\n\treturn jspb.Message.setProto3StringField(this, 8, value);\n};\n\ngoog.object.extend(exports, proto);\n","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 1191;","import React from 'react';\nimport CertValidTable from '../CertificatesValidation/Table/CertValidTable';\nimport CertValid from '../CertificatesValidation/CertValid';\nimport DragDropV2 from '../DragDropV2/DragDropV2';\nimport { connect } from 'react-redux';\nimport { Spinner, Button } from 'react-bootstrap';\nimport { stringFromBase64 } from '../../utils/base64';\nimport { decrypt, importKey } from '../../utils/crypto';\nimport { getIPFS } from '../../utils/ipfs';\n\nconst jpack = require('jsonpack');\n\n/*class VerificationProps {\n hashes: any[];\n certs: any[];\n update: any;\n className?: any;\n}\n\nclass VerificationState {\n certs: Array\n address: string\n hashes: Array\n valid: boolean\n loaded: boolean\n showChild: boolean\n empty: boolean\n fileName: string\n listEmpty: boolean\n}*/\n\nclass VerificationRaw extends React.Component {\n\t// props: VerificationProps\n\t// state: VerificationState\n\tconstructor(props: any) {\n\t\tsuper(props);\n\t\t/*const newProps = new VerificationProps();\n newProps.certs\n\n const newState = new VerificationState();\n newState.certs = []\n newState.address = \"\"\n newState.hashes = []\n newState.valid = false\n newState.loaded = false\n newState.showChild = true\n newState.empty = false\n super(newProps, newState);*/\n\t\tthis.state = {\n\t\t\tcerts: [],\n\t\t\taddress: '',\n\t\t\thashes: [],\n\t\t\tvalid: false,\n\t\t\tloaded: false,\n\t\t\tshowChild: true,\n\t\t\tempty: false,\n\t\t\tpublicKey: '',\n\t\t};\n\t\t//this.state = newState\n\t\tthis.setName = this.setName.bind(this);\n\t\tthis.refresh = this.refresh.bind(this);\n\t\t//this.verifyCertificateFromUrl = this.verifyCertificateFromUrl.bind(this);\n\t}\n\n\tasync updateState(ethAddress, eduCTXid, newProps: any) {\n\t\tconst balance: any = await newProps.getBalance(ethAddress);\n\t\tconst publicKey: any = await newProps.getPublicKey(eduCTXid);\n\t\tlet hashes = [];\n\t\tfor (let i = 0; i < balance; i++) {\n\t\t\tconst token = await newProps.getToken(ethAddress, i);\n\t\t\tconst tokenHash = await newProps.getTokenHash(token.toNumber());\n\t\t\tif (typeof tokenHash !== 'undefined') hashes.push(tokenHash);\n\t\t\telse break;\n\t\t}\n\t\tif (\n\t\t\thashes.length.toString() === balance.toString() &&\n\t\t\ttypeof publicKey !== 'undefined' &&\n\t\t\tpublicKey !== null\n\t\t) {\n\t\t\tthis.setState({\n\t\t\t\thashes: hashes,\n\t\t\t\tpublicKey: publicKey.substring(2),\n\t\t\t\tloaded: true,\n\t\t\t});\n\t\t}\n\t}\n\n\t/*async componentWillReceiveProps(newProps: any) {\n this.updateState(newProps);\n }*/\n\n\tcomponentDidMount() {\n\t\tthis.verifyCertificateFromUrl();\n\t}\n\n\tasync verifyCertificateFromUrl() {\n\t\ttry {\n\t\t\tconst urlParams = new URLSearchParams(window.location.search);\n\t\t\tconst paramIpfsPath = urlParams.get('ipfs');\n\t\t\tconst paramIv = urlParams.get('iv');\n\t\t\tconst paramKey = urlParams.get('key');\n\t\t\tif (!paramIpfsPath || !paramIv || !paramKey) return;\n\n\t\t\tconst ipfsPath = decodeURIComponent(paramIpfsPath);\n\t\t\tconst iv = Buffer.from(decodeURIComponent(paramIv), 'base64');\n\t\t\tconst key = await importKey(\n\t\t\t\tJSON.parse(stringFromBase64(decodeURIComponent(paramKey)))\n\t\t\t);\n\n\t\t\tconst encryptedData = await getIPFS(ipfsPath);\n\t\t\tconst data = JSON.parse(await decrypt(key, encryptedData, iv));\n\n\t\t\tif (data !== null) {\n\t\t\t\tconst addressEth = data.person.ethAddress;\n\t\t\t\tconst idEduCTX = data.person.eduCTXid;\n\t\t\t\tthis.setState({ certs: [data] });\n\t\t\t\tthis.updateState(addressEth, idEduCTX, this.props);\n\t\t\t} else {\n\t\t\t\tthis.setState({ loaded: true, empty: true });\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tconsole.log(err);\n\t\t\tthis.setState({ loaded: false, empty: true });\n\t\t}\n\t}\n\n\tunzippedFile(file: any) {\n\t\tconst certificates = file;\n\t\tif (certificates.length !== 0) {\n\t\t\tconst address = certificates[0].person.ethAddress;\n\t\t\tconst idEduCTX = certificates[0].person.eduCTXid;\n\t\t\tthis.setState({ address: address, certs: certificates });\n\t\t\tthis.updateState(address, idEduCTX, this.props);\n\t\t} else {\n\t\t\tthis.setState({ loaded: true, empty: true });\n\t\t}\n\t}\n\n\tsetName(fileName: string, listEmpty: boolean) {\n\t\tthis.setState({ fileName: fileName, listEmpty: listEmpty });\n\t}\n\n\tupdateTable(data: any) {\n\t\tthis.setState({ valid: data.result });\n\t}\n\n\trefresh() {\n\t\tthis.setState({\n\t\t\tcerts: [],\n\t\t\taddress: '',\n\t\t\thashes: [],\n\t\t\tvalid: false,\n\t\t\tloaded: false,\n\t\t\tempty: false,\n\t\t\tpublicKey: '',\n\t\t});\n\t\t// window.location.reload(false);\n\t\tthis.setState({ showChild: false });\n\t\tsetTimeout(() => {\n\t\t\tthis.setState({ showChild: true });\n\t\t}, 100);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{this.state.showChild ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tthis.unzippedFile(unzipped)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetName={(\n\t\t\t\t\t\t\t\t\tfileName: string,\n\t\t\t\t\t\t\t\t\tlistEmpty: boolean\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tthis.setName(fileName, listEmpty);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tVERIFY ANOTHER ZIP\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{this.state.valid\n\t\t\t\t\t\t\t? `All certificates are valid.`\n\t\t\t\t\t\t\t: `One or more certificates is invalid.`}\n\t\t\t\t\t\n\t\t\t\t\t this.updateTable(data)}\n\t\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\tNo certificates were found!\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nconst mapStateToProps = (state: any): any => ({\n\tgetBalance: (address: any) =>\n\t\tstate.contracts.token.balanceOf(address, {\n\t\t\tfrom: state.address,\n\t\t}),\n\tgetToken: (address: any, index: number) =>\n\t\tstate.contracts.token.tokenOfOwnerByIndex(address, index, {\n\t\t\tfrom: state.address,\n\t\t}),\n\tgetTokenHash: (id: number) =>\n\t\tstate.contracts.token.tokenDataHash(id, {\n\t\t\tfrom: state.address,\n\t\t}),\n\tgetPublicKey: (id: Number) =>\n\t\tstate.contracts.reguser.getUserPubKeyById(id, {\n\t\t\tfrom: state.address,\n\t\t}),\n});\n\nconst Verification = connect(mapStateToProps)(VerificationRaw);\n\nexport default Verification;\n","import React from 'react';\nimport './Navbar.css';\nimport { Route, Link } from 'react-router-dom';\n\nconst NavItem: React.FC = (props) => {\n\treturn (\n\t\t\n\t\t\t{({ match }: any) => (\n\t\t\t\t
  • \n\t\t\t\t\t\n\t\t\t\t\t\t{props.children}\n\t\t\t\t\t\n\t\t\t\t
  • \n\t\t\t)}\n\t\t
    \n\t);\n};\n\nexport default NavItem;\n","import React from 'react';\nimport './Navbar.css';\nimport EDUCoin from './../../img/EDU-Coin.png';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport {\n\tfaHome,\n\tfaListUl,\n\tfaNetworkWired,\n} from '@fortawesome/free-solid-svg-icons';\nimport {\n\tfaCheckCircle,\n\tfaQuestionCircle,\n\tfaUser,\n\tfaFile,\n} from '@fortawesome/free-regular-svg-icons';\nimport { Link } from 'react-router-dom';\nimport NavItem from './NavItem';\nimport { connect } from 'react-redux';\n\nclass NavbarRaw extends React.Component {\n\tconstructor(props: any) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tregistered: false,\n\t\t\tauth: false,\n\t\t\tca: false,\n\t\t\tloaded: false,\n\t\t};\n\t}\n\n\tasync updateState(newProps: any) {\n\t\tlet isCa = await newProps.isCa();\n\t\tlet isAuth = await newProps.isAuth();\n\t\tlet studentID = await newProps.getStudentID();\n\t\tif (isCa) {\n\t\t\tthis.setState({\n\t\t\t\tregistered: true,\n\t\t\t\tca: true,\n\t\t\t\tauth: false,\n\t\t\t\tloaded: true,\n\t\t\t});\n\t\t} else if (isAuth) {\n\t\t\tthis.setState({\n\t\t\t\tregistered: true,\n\t\t\t\tauth: true,\n\t\t\t\tca: false,\n\t\t\t\tloaded: true,\n\t\t\t});\n\t\t} else if (studentID > 0) {\n\t\t\tthis.setState({\n\t\t\t\tregistered: true,\n\t\t\t\tca: false,\n\t\t\t\tauth: false,\n\t\t\t\tloaded: true,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.setState({\n\t\t\t\tregistered: false,\n\t\t\t\tca: false,\n\t\t\t\tauth: false,\n\t\t\t\tloaded: true,\n\t\t\t});\n\t\t}\n\t}\n\n\tasync componentDidMount() {\n\t\tthis.updateState(this.props);\n\t}\n\tasync componentWillReceiveProps(newProps: any) {\n\t\tthis.updateState(newProps);\n\t}\n\n\trender() {\n\t\t// view za registriranega: registered=true\n\t\tlet regView = (\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t{/* Sidebar - Brand */}\n\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    EduCTX
    \n\t\t\t\t\t\n\t\t\t\t\t{/* Divider */}\n\t\t\t\t\t
    \n\t\t\t\t\t{/* Nav Item - Dashboard */}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tHome\n\t\t\t\t\t\n\n\t\t\t\t\t

    Student

    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tReceived certificates\n\t\t\t\t\t\n\t\t\t\t\t

    Other

    \n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tVerify certificates\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tHelp\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tNetwork\n\t\t\t\t\t\n\n\t\t\t\t\t{/* Divider \n
    \n
  • \n
    Institution
  • */}\n\t\t\t\t\t{/* Heading */}\n\t\t\t\t\t
    Interface
    \n\t\t\t\t\t{/* Divider \n
    */}\n\t\t\t\t\t{/* Sidebar Toggler (Sidebar) */}\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t);\n\n\t\tlet caView = (\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t{/* Sidebar - Brand */}\n\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    EduCTX
    \n\t\t\t\t\t\n\t\t\t\t\t{/* Divider */}\n\t\t\t\t\t
    \n\t\t\t\t\t{/* Nav Item - Dashboard */}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tHome\n\t\t\t\t\t\n\n\t\t\t\t\t

    Institution

    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tProfile\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tIssue certificate\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tReceived certificates\n\t\t\t\t\t\n\t\t\t\t\t

    Other

    \n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tVerify certificates\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tHelp\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tNetwork\n\t\t\t\t\t\n\n\t\t\t\t\t{/* Divider \n
    \n
  • \n
    Institution
  • */}\n\t\t\t\t\t{/* Heading */}\n\t\t\t\t\t
    Interface
    \n\t\t\t\t\t{/* Divider \n
    */}\n\t\t\t\t\t{/* Sidebar Toggler (Sidebar) */}\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t);\n\n\t\tlet authView = (\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t{/* Sidebar - Brand */}\n\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    EduCTX
    \n\t\t\t\t\t\n\t\t\t\t\t{/* Divider */}\n\t\t\t\t\t
    \n\t\t\t\t\t{/* Nav Item - Dashboard */}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tHome\n\t\t\t\t\t\n\n\t\t\t\t\t

    Institution

    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tIssue certificate\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tReceived certificates\n\t\t\t\t\t\n\t\t\t\t\t

    Other

    \n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tVerify certificates\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tHelp\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tNetwork\n\t\t\t\t\t\n\n\t\t\t\t\t{/* Divider \n
    \n
  • \n
    Institution
  • */}\n\t\t\t\t\t{/* Heading */}\n\t\t\t\t\t
    Interface
    \n\t\t\t\t\t{/* Divider \n
    */}\n\t\t\t\t\t{/* Sidebar Toggler (Sidebar) */}\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t);\n\n\t\t// view za neregistriranega: registered=false\n\t\tlet unregView =
    ;\n\n\t\tif (this.state.loaded) {\n\t\t\tif (!this.state.registered) {\n\t\t\t\treturn unregView;\n\t\t\t} else {\n\t\t\t\tif (this.state.ca) {\n\t\t\t\t\treturn caView;\n\t\t\t\t} else if (this.state.auth) {\n\t\t\t\t\treturn authView;\n\t\t\t\t} else return regView;\n\t\t\t}\n\t\t} else return unregView;\n\t}\n}\n\nconst mapStateToProps = (state: any): any => ({\n\tisCa: () => state.contracts.ca.isCa(state.address, { from: state.address }),\n\tisAuth: () =>\n\t\tstate.contracts.ca.isAuthorizedAddress(state.address, {\n\t\t\tfrom: state.address,\n\t\t}),\n\tgetStudentID: () =>\n\t\tstate.contracts.reguser.getIDbyAddress(state.address, {\n\t\t\tfrom: state.address,\n\t\t}),\n});\n\nconst Navbar = connect(mapStateToProps)(NavbarRaw);\n\nexport default Navbar;\n","import React from 'react';\nimport './Topbar.css';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faBars } from '@fortawesome/free-solid-svg-icons';\nimport { connect } from 'react-redux';\nimport studentIcon from '../../img/student.svg';\n\nclass TopbarRaw extends React.Component {\n\tconstructor(props: any) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tregistered: false,\n\t\t\tusertype: 'Unregistered',\n\t\t\tname: 'Unregistered',\n\t\t\tlogo: '',\n\t\t};\n\t}\n\n\tasync componentDidMount() {\n\t\tthis.updateState(this.props);\n\t\tthis.props.eventChangeMetadata().on('data', (event: any) => {\n\t\t\tthis.updateState(this.props);\n\t\t});\n\t}\n\n\tasync componentWillReceiveProps(newProps: any) {\n\t\tthis.updateState(newProps);\n\t}\n\n\tasync updateState(newProps: any) {\n\t\tlet isCa = await newProps.isCa();\n\t\tif (isCa) {\n\t\t\tlet caData: any = await newProps.getCaData();\n\t\t\tif (typeof caData !== 'undefined') {\n\t\t\t\tthis.setState({\n\t\t\t\t\tregistered: true,\n\t\t\t\t\tusertype: 'certified institution',\n\t\t\t\t\tname: caData[1],\n\t\t\t\t\tlogo: caData[0],\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tlet isAuth = await newProps.isAuth();\n\t\t\tif (isAuth) {\n\t\t\t\tlet caAddress: string = await newProps.getAuthCa();\n\t\t\t\tif (typeof caAddress !== 'undefined') {\n\t\t\t\t\tlet caData: any = await newProps.getCaDataAuth(caAddress);\n\t\t\t\t\tif (typeof caData !== 'undefined') {\n\t\t\t\t\t\tthis.setState({\n\t\t\t\t\t\t\tregistered: true,\n\t\t\t\t\t\t\tusertype: 'authorized person',\n\t\t\t\t\t\t\tname: caData[1],\n\t\t\t\t\t\t\tlogo: caData[0],\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet studentID = await newProps.getStudentID();\n\t\t\t\tif (studentID > 0) {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tregistered: true,\n\t\t\t\t\t\tusertype: 'student',\n\t\t\t\t\t\tname: studentID.toString(),\n\t\t\t\t\t\tlogo: studentIcon,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tregistered: false,\n\t\t\t\t\t\tusertype: 'Unregistered',\n\t\t\t\t\t\tname: 'Unregistered',\n\t\t\t\t\t\tlogo: '',\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\trender() {\n\t\tlet regView = (\n\t\t\t
    \n\t\t\t\t{/* Topbar */}\n\t\t\t\t\n\t\t\t\t{/* End of Topbar */}\n\t\t\t
    \n\t\t);\n\t\t//registered=false - za registrirane ne prikaže topbara\n\t\tlet unregView =
    ;\n\t\tif (!this.state.registered) {\n\t\t\treturn unregView;\n\t\t} else {\n\t\t\treturn regView;\n\t\t}\n\t}\n}\n\nconst mapStateToProps = (state: any): any => ({\n\tisCa: () => state.contracts.ca.isCa(state.address, { from: state.address }),\n\tisAuth: () =>\n\t\tstate.contracts.ca.isAuthorizedAddress(state.address, {\n\t\t\tfrom: state.address,\n\t\t}),\n\tgetStudentID: () =>\n\t\tstate.contracts.reguser.getIDbyAddress(state.address, {\n\t\t\tfrom: state.address,\n\t\t}),\n\tgetAuthCa: () =>\n\t\tstate.contracts.ca.getAuthorizedAddressCa(state.address, {\n\t\t\tfrom: state.address,\n\t\t}),\n\tgetCaData: () =>\n\t\tstate.contracts.ca.getCaMetaData(state.address, {\n\t\t\tfrom: state.address,\n\t\t}),\n\tgetCaDataAuth: (address: string) =>\n\t\tstate.contracts.ca.getCaMetaData(address, {\n\t\t\tfrom: state.address,\n\t\t}),\n\teventChangeMetadata: () => state.contracts.ca.ChangeCaMeta(),\n});\n\nconst Topbar = connect(mapStateToProps)(TopbarRaw);\n\nexport default Topbar;\n","import React from 'react';\ninterface Props {\n\ttitle: string;\n}\n\nconst PageTitle: React.FC = (props) => {\n\treturn (\n\t\t
    \n\t\t\t

    {props.title}

    \n\t\t
    \n\t);\n};\n\nexport default PageTitle;\n","import React from 'react';\nimport './HelpCard.css';\nimport questionMark from './../../img/question-mark.svg';\nimport { Card } from 'react-bootstrap';\nimport { Link } from 'react-router-dom';\n\nconst HelpCard: React.FC = () => {\n\treturn (\n\t\t\n\t\t\t{/* Card Body */}\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t\"\"\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\tNeed help?\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t

    \n\t\t\t\t\t\tDon't worry if you feel lost,
    our  \n\t\t\t\t\t\t\n\t\t\t\t\t\t\thelp guides{' '}\n\t\t\t\t\t\t\n\t\t\t\t\t\tare here to assist you.\n\t\t\t\t\t

    \n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default HelpCard;\n","import React from 'react';\nimport './NumberOfCertificates.css';\nimport { Col, Card } from 'react-bootstrap';\nimport certificateBig from './../../img/certificate-big.svg';\nimport { connect } from 'react-redux';\n\nclass NumberOfCertificatesRaw extends React.Component {\n\tconstructor(props: any) {\n\t\tsuper(props);\n\t\tthis.state = { numberOfCertificates: 0 };\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.updateState(this.props);\n\t}\n\n\tcomponentWillReceiveProps(newProps: any) {\n\t\tthis.updateState(newProps);\n\t}\n\n\tasync updateState(newProps: any) {\n\t\tlet isCa = await newProps.isCa();\n\t\tlet isAuth = await newProps.isAuth();\n\t\tif (isCa) {\n\t\t\tlet number = await newProps.numberOfCertificatesCA();\n\t\t\tif (typeof number !== 'undefined') {\n\t\t\t\tthis.setState({ numberOfCertificates: number.length });\n\t\t\t}\n\t\t} else if (isAuth) {\n\t\t\tlet number = await newProps.numberOfCertificatesAuth();\n\t\t\tif (typeof number !== 'undefined') {\n\t\t\t\tthis.setState({ numberOfCertificates: number.length });\n\t\t\t}\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{/* Card Body */}\n\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{this.state.numberOfCertificates}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tissued certificates\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\n\t\t);\n\t}\n}\n\nconst mapStateToProps = (state: any): any => ({\n\tisCa: () => state.contracts.ca.isCa(state.address, { from: state.address }),\n\tisAuth: () =>\n\t\tstate.contracts.ca.isAuthorizedAddress(state.address, {\n\t\t\tfrom: state.address,\n\t\t}),\n\tnumberOfCertificatesCA: () =>\n\t\tstate.contracts.token.getIssuedTokensByCa(state.address, {\n\t\t\tfrom: state.address,\n\t\t}),\n\tnumberOfCertificatesAuth: () =>\n\t\tstate.contracts.token.getIssuedTokensByAuthorizedAddress(\n\t\t\tstate.address,\n\t\t\t{ from: state.address }\n\t\t),\n});\n\nconst NumberOfCertificates = connect(mapStateToProps)(NumberOfCertificatesRaw);\n\nexport default NumberOfCertificates;\n","import React from 'react';\nimport './IssueNewCertificateCard.css';\nimport { Row, Col, Card } from 'react-bootstrap';\nimport addBig from './../../img/add-big.svg';\nimport { Link } from 'react-router-dom';\n\nconst IssueNewCertificateCard: React.FC = () => {\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t{/* Card Body */}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\tIssue new certificate\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\tStart from scratch or use an existing template.\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tISSUE\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default IssueNewCertificateCard;\n","import React from 'react';\nimport './SidebarBig.css';\nimport logo from './../../img/EDU-Coin.png';\n\nconst SidebarBig: React.FC = () => {\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t
    EduCTX
    \n\t\t\t\t\n\n\t\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t
    EduCTX
    \n\t\t\t\t\t
    \n\t\t\t\t\t\tEfficient, simplified and safe\n\t\t\t\t\t\t
    \n\t\t\t\t\t\tsolution for student's certificate\n\t\t\t\t\t\t
    management and verification.\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\n\t\t\n\t);\n};\n\nexport default SidebarBig;\n","import React from 'react';\nimport './HomeBackground.css';\nimport system from './../../img/system.svg';\nimport hills from './../../img/hills.svg';\nimport cloud from './../../img/cloud.svg';\nimport blockchain from './../../img/blockchain-lab.svg';\nimport { Link } from 'react-router-dom';\n\nconst HomeBackground: React.FC = () => {\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t

    \n\t\t\t\t\tHelp\n\t\t\t\t

    \n\t\t\t\t

    \n\t\t\t\t\t\n\t\t\t\t\t\tAbout\n\t\t\t\t\t\n\t\t\t\t

    \n\t\t\t\t

    \n\t\t\t\t\tContact us\n\t\t\t\t

    \n\t\t\t
    \n\t\t\t\"system\"\n\t\t\t\"hills\"\n\t\t\t\"cloudy\"\n\t\t\t\"blockchain\"\n\t\t
    \n\t);\n};\n\nexport default HomeBackground;\n","import React from 'react';\n\nconst EduCTXIntro: React.FC = () => {\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\tEduCTX\n\t\t\t
    \n\t\t\t
    \n\t\t\t\tEfficient, simplified and safe\n\t\t\t\t
    \n\t\t\t\tsolution for student's certificate\n\t\t\t\t
    management and verification.\n\t\t\t
    \n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
    \n\t);\n};\n\nexport default EduCTXIntro;\n","import React, { useState } from 'react';\nimport greyCircles from './../../img/grey-circles.svg';\nimport signUp from './../../img/sign-up.svg';\n\nconst SwitchNetwork: React.FC = () => {\n\tconst [disabled, setDisabled] = useState(false);\n\n\tconst switchToCorrectNetwork = async () => {\n\t\ttry {\n\t\t\tawait window.ethereum.request({\n\t\t\t\tmethod: 'wallet_switchEthereumChain',\n\t\t\t\tparams: [{ chainId: '0x7E2' }],\n\t\t\t});\n\t\t} catch (error) {\n\t\t\t// Network does not exist in users wallet so we need to add it\n\t\t\tif (error.code === 4902) {\n\t\t\t\tawait window.ethereum.request({\n\t\t\t\t\tmethod: 'wallet_addEthereumChain',\n\t\t\t\t\tparams: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tchainId: '0x7E2',\n\t\t\t\t\t\t\tchainName: 'EduCTX',\n\t\t\t\t\t\t\trpcUrls: [\n\t\t\t\t\t\t\t\t'https://bclabum.informatika.uni-mb.si/besu/',\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tblockExplorerUrls: [\n\t\t\t\t\t\t\t\t'https://bclabum.informatika.uni-mb.si/explorer/',\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t});\n\n\t\t\t\tawait switchToCorrectNetwork();\n\t\t\t} else {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\t\tsetDisabled(false);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{/* Card Body */}\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    Change network
    \n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\tYou are one step away from using our platform.\n\t\t\t\t\t\t\t

    \n\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t// Ko gumb ni disabled prikažemo normalni gumb\n\t\t\t\t\t\t\t\t!disabled && (\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\tsetDisabled(true);\n\t\t\t\t\t\t\t\t\t\t\tswitchToCorrectNetwork();\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t// Ko je gumb disabled lahko prikažemo siv gumb (brez onClick) ali pa kaj drugega\n\t\t\t\t\t\t\t\tdisabled && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t* This will open Metamask.\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\n\t\t\n\t);\n};\n\nexport default SwitchNetwork;\n","import React from 'react';\nimport PageTitle from '../components/PageTitle/PageTitle';\nimport HelpCard from '../components/HelpCard/HelpCard';\nimport NumberOfCertificates from '../components/NumberOfCertificates/NumberOfCertificates';\nimport { Row, Card, Spinner } from 'react-bootstrap';\nimport IssueNewCertificateCard from '../components/IssueNewCertificateCard/IssueNewCertificateCard';\nimport SidebarBig from '../components/SidebarBig/SidebarBig';\nimport HomeBackground from '../components/HomeBackground/HomeBackground';\nimport EduCTXIntro from '../components/EduCTXIntro/EduCTXIntro';\nimport logo from './../img/EDU-Coin.png';\nimport { connect } from 'react-redux';\nimport SignUpTwo from '../components/SignUpTwo/SignUpTwo';\nimport MyCertificates from '../components/MyCertificates/MyCertificates';\nimport Verification from '../components/CertificatesValidation/Verification';\nimport SwitchNetwork from '../components/SwitchNetwork/SwitchNetwork';\n\n/*\n view za neregistriranega: registered=false, ca=false --> unregView\n view za registriranega študenta: registered=true, ca=false --> regStudView\n view za registriranega CI ali CA: registered=true, ca=true --> regCaView\n\n*/\n\nclass HomeRaw extends React.Component {\n\tconstructor(props: any) {\n\t\tsuper(props);\n\t\tthis.state = { registered: false, ca: false, loaded: false };\n\t}\n\n\tasync updateState(newProps: any) {\n\t\tlet isCa = await newProps.isCa();\n\t\tlet isAuth = await newProps.isAuth();\n\t\tlet studentID = await newProps.getStudentID();\n\n\t\tif (isCa) {\n\t\t\tthis.setState({ registered: true, ca: true, loaded: true });\n\t\t} else if (isAuth) {\n\t\t\tthis.setState({ registered: true, ca: true, loaded: true });\n\t\t} else if (studentID > 0) {\n\t\t\tthis.setState({ registered: true, ca: false, loaded: true });\n\t\t} else {\n\t\t\tthis.setState({ registered: false, ca: false, loaded: true });\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.updateState(this.props);\n\t}\n\tcomponentWillReceiveProps(newProps: any) {\n\t\tthis.updateState(newProps);\n\t}\n\n\trender() {\n\t\t// view za neregistriranega: registered=false, ca=false\n\t\tlet unregView = (\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\tQuick certificate verification\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{window.ethereum.networkVersion === '2018' && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{window.ethereum.networkVersion !== '2018' && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t\n\t\t);\n\n\t\t// view za registriranega študenta: registered=true, ca=false\n\t\tlet regStudView = (\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t{/* */}\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t{/* */}\n\t\t\t\t\t\n\t\t\t\t\t\t{/* */}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{/* \n\t\t\t\t\t\t\t */}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\n\t\t);\n\n\t\t// view za registriranega CI ali CA: registered=true, ca=true\n\t\tlet regCaView = (\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t{/* */}\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t{/* */}\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t);\n\n\t\tif (this.state.loaded) {\n\t\t\t// definicija, kaj kje prikazat\n\t\t\tif (!this.state.registered) {\n\t\t\t\treturn unregView;\n\t\t\t} else {\n\t\t\t\tif (this.state.ca) return regCaView;\n\t\t\t\telse return regStudView;\n\t\t\t}\n\t\t} else\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t}\n}\n\nconst mapStateToProps = (state: any): any => ({\n\tisCa: () => state.contracts.ca.isCa(state.address, { from: state.address }),\n\tisAuth: () =>\n\t\tstate.contracts.ca.isAuthorizedAddress(state.address, {\n\t\t\tfrom: state.address,\n\t\t}),\n\tgetStudentID: () =>\n\t\tstate.contracts.reguser.getIDbyAddress(state.address, {\n\t\t\tfrom: state.address,\n\t\t}),\n});\n\nconst Home = connect(mapStateToProps)(HomeRaw);\n\nexport default Home;\n","import React from 'react';\nimport './HelpChapter.css';\nimport { Card, CardDeck } from 'react-bootstrap';\nimport newCertificate from './../../img/new-certificate.svg';\nimport verifyCertificate from './../../img/verify-certificate.svg';\nimport exportCertificate from './../../img/export-certificate.svg';\nimport editProfile from './../../img/edit-profile.svg';\nimport additionalFunctionalities from './../../img/additional-functionalities.svg';\nimport users from './../../img/users.svg';\nimport dataProtection from './../../img/data-prot.svg';\nimport { Link } from 'react-router-dom';\nimport { connect } from 'react-redux';\n\nclass HelpChapterRaw extends React.Component {\n\tconstructor(props: any) {\n\t\tsuper(props);\n\t\tthis.state = { registered: false, ca: false, loaded: false };\n\t}\n\n\tasync updateState(newProps: any) {\n\t\tlet isCa = await newProps.isCa();\n\t\tlet isAuth = await newProps.isAuth();\n\t\tlet studentID = await newProps.getStudentID();\n\t\tif (isCa) {\n\t\t\tthis.setState({ registered: true, ca: true, loaded: true });\n\t\t} else if (isAuth) {\n\t\t\tthis.setState({ registered: true, ca: true, loaded: true });\n\t\t} else if (studentID > 0) {\n\t\t\tthis.setState({ registered: true, ca: false, loaded: true });\n\t\t} else {\n\t\t\tthis.setState({ registered: false, ca: false, loaded: true });\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.updateState(this.props);\n\t}\n\tcomponentWillReceiveProps(newProps: any) {\n\t\tthis.updateState(newProps);\n\t}\n\n\trender() {\n\t\tconst regCaView = (\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tIssue new certificate\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tIssue a new certificate,
    \n\t\t\t\t\t\t\t\t\t\tmandatory fields and content.\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tVerify certificate\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tVerify certificate,
    \n\t\t\t\t\t\t\t\t\t\tmultiple certificates within one file\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tExport certificates\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tExport single or multiple certificates\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tEdit profile\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tChange information about
    \n\t\t\t\t\t\t\t\t\t\tyour institution\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tAdditional functionalities\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tExplore EduCTX beyond the platform,{' '}\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\tdocumentation\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tUsers and access\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tAdding users, how users sign in,
    \n\t\t\t\t\t\t\t\t\t\tswitching between accounts\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tData protection\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tHow is data protected, access,
    \n\t\t\t\t\t\t\t\t\t\tprivate keys and GDPR complience\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\n\t\t);\n\t\tconst regStudView = (\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tVerify certificate\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tVerify certificate,
    \n\t\t\t\t\t\t\t\t\t\tmultiple certificates within one file\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tExport certificates\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tExport single or multiple certificates\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tAdditional functionalities\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tExplore EduCTX beyond the platform,{' '}\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\tdocumentation\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tUsers and access\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tAdding users, how users sign in,
    \n\t\t\t\t\t\t\t\t\t\tswitching between accounts\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tData protection\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tHow is data protected, access,
    \n\t\t\t\t\t\t\t\t\t\tprivate keys and GDPR complience\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\n\t\t);\n\t\tif (this.state.loaded) {\n\t\t\tif (this.state.ca) return regCaView;\n\t\t\telse return regStudView;\n\t\t} else return
    ;\n\t}\n}\n\nconst mapStateToProps = (state: any): any => ({\n\tisCa: () => state.contracts.ca.isCa(state.address, { from: state.address }),\n\tisAuth: () =>\n\t\tstate.contracts.ca.isAuthorizedAddress(state.address, {\n\t\t\tfrom: state.address,\n\t\t}),\n\tgetStudentID: () =>\n\t\tstate.contracts.reguser.getIDbyAddress(state.address, {\n\t\t\tfrom: state.address,\n\t\t}),\n});\n\nconst HelpChapter = connect(mapStateToProps)(HelpChapterRaw);\n\nexport default HelpChapter;\n","import React from 'react';\nimport PageTitle from '../../components/PageTitle/PageTitle';\nimport HelpChapter from '../../components/HelpChapter/HelpChapter';\n\nconst Help: React.FC = () => {\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default Help;\n","import React from 'react';\nimport PageTitle from '../components/PageTitle/PageTitle';\nimport MyCertificates from '../components/MyCertificates/MyCertificates';\n\nconst MyCertificatesPage: React.FC = () => {\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default MyCertificatesPage;\n","import React from 'react';\nimport './Network.css';\nimport { Row, Col, Card } from 'react-bootstrap';\nimport network from './../../img/nework-illustration@2x.png';\n\nconst Network: React.FC = () => {\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{/* Card Body */}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{/* Illustration */}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{/* Heading */}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\tOur network is growing!\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\tEduCTX is a young platform, but each year more\n\t\t\t\t\t\t\t\tinstitutions recognize\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\tthe value and potential of our work.\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tFind out more! Visit our website and explore the\n\t\t\t\t\t\t\t\tstory behind EduCTX.\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tEXPLORE\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
    \n\t);\n};\n\nexport default Network;\n","import React from 'react';\nimport './NetworkCard.css';\nimport { Card, CardDeck } from 'react-bootstrap';\nimport umlogo from './../../img/um-logo.svg';\nimport sarajevologo from './../../img/sarajevo-full.png';\nimport fachhochschule from './../../img/1200px-Fachhochschule_Bielefeld-logo.svg.png';\nimport brno from './../../img/brno.png';\n\nconst NetworkCard: React.FC = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tUniversity of Maribor\n\t\t\t\t\tSlovenia\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tElektrotehnički fakultet Sarajevo\n\t\t\t\t\tBosnia and Herzegovina\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tFH Bielefeld\n\t\t\t\t\tGermany\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tBrno University of Technology\n\t\t\t\t\tCzech Republic\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default NetworkCard;\n","import React from 'react';\nimport PageTitle from '../components/PageTitle/PageTitle';\nimport Network from '../components/Network/Network';\nimport NetworkCard from '../components/NetworkCard/NetworkCard';\n\nconst NetworkPage: React.FC = () => {\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default NetworkPage;\n","import React from 'react';\nimport PageTitle from '../components/PageTitle/PageTitle';\nimport Verification from '../components/CertificatesValidation/Verification';\n\nclass VerifyCertificates extends React.Component {\n\trender() {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\n\t\t\t
    \n\t\t);\n\t}\n}\n\nexport default VerifyCertificates;\n","import React from 'react';\nimport './FAQ.css';\nimport { Row, Col, Card } from 'react-bootstrap';\n\ninterface Props {\n\ttitle: string;\n\tchildren?: any | any[];\n}\nconst FAQ: React.FC = (props) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{/* Card Body */}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t{props.title}\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t{props.children}\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\n\t\t
    \n\t);\n};\n\nexport default FAQ;\n","import React from 'react';\nimport './StillHaveQuestions.css';\nimport { Row, Col, Card } from 'react-bootstrap';\nimport helpBig from './../../img/help-big.svg';\n\nconst StillHaveQuestions: React.FC = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{/* Card Body */}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\tStill have questions?\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\tIf you need more help, feel free to email us\n\t\t\t\t\t\t\t\t\tto
    {' '}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tblockchain-lab@um.si\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
    \n\t);\n};\n\nexport default StillHaveQuestions;\n","import React from 'react';\nimport './FAQ.css';\n\ninterface Props {\n\ttitle: string;\n\tid: string;\n\tchildren?: any[] | any;\n}\n\nconst FAQSection: React.FC = (props) => {\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\n\t\t\t
    \n\t\t\t\t

    {props.children}

    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default FAQSection;\n","import React from 'react';\nimport PageTitle from '../../components/PageTitle/PageTitle';\n//import HelpVideo from \"../../components/HelpVideo/HelpVideo\";\nimport FAQ from '../../components/FAQ/FAQ';\nimport StillHaveQuestions from '../../components/StillHaveQuestions/StillHaveQuestions';\nimport FAQSection from '../../components/FAQ/FAQSection';\n//import { Col, Tab, Nav } from \"react-bootstrap\";\n\nconst HelpAdditional: React.FC = () => {\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tAdditional functionalities we offer through API\n\t\t\t\t\t\t\t\tinclude batch issuing of certificates,\n\t\t\t\t\t\t\t\tcertificate revocation and customization of\n\t\t\t\t\t\t\t\tplatform to your own organization needs.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tAt the moment the use of API is not free, but is\n\t\t\t\t\t\t\t\tincluded for some partner institutions. To find\n\t\t\t\t\t\t\t\tout more about your options, please contact us\n\t\t\t\t\t\t\t\tat blockchain-lab@um.si.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default HelpAdditional;\n","import React from 'react';\nimport './FormHelpcard.css';\nimport { Row } from 'react-bootstrap';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faQuestionCircle } from '@fortawesome/free-regular-svg-icons';\n\ninterface Props {\n\tname?: any;\n}\n\nconst FormHelpCard: React.FC = (props) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t

    Help

    \n\t\t\t\n\t\t\t
    {props.name}
    \n\t\t\n\t);\n};\n\nexport default FormHelpCard;\n","import React, { useState } from 'react';\nimport PageTitle from '../components/PageTitle/PageTitle';\nimport IssueCertForm from '../components/IssueCertForm/IssueCertForm';\nimport FormHelpCard from '../components/FormHelpCard/FormHelpCard';\n// import CertValid from '../components/CertificatesValidation/CertValid';\n\nconst Issue: React.FC = () => {\n\tconst [name, setName] = useState('');\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t{/*
    \n Certificate was issued successfully.\n
    */}\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default Issue;\n","import React, { ChangeEvent } from 'react';\nimport './InstitutionProfile.css';\nimport { connect } from 'react-redux';\n\ninterface Props {\n\tsetName: any;\n\tsetCaData?: any;\n}\n\nclass InstProfileRaw extends React.Component {\n\tcaMetadata: any = {};\n\tconstructor(props: any) {\n\t\tsuper(props);\n\t\tthis.state = { logo: '', name: '', logoChanged: false, address: '' };\n\t\tthis.handleLogoChange = this.handleLogoChange.bind(this);\n\t\tthis.handleNameChange = this.handleNameChange.bind(this);\n\t\tthis.saveChanges = this.saveChanges.bind(this);\n\t}\n\n\tasync updateState(newProps: any) {\n\t\tlet caData = await newProps.getCaData();\n\t\tif (\n\t\t\ttypeof newProps.getCaData() !== 'undefined' &&\n\t\t\tnewProps.getCaData() !== this.caMetadata\n\t\t) {\n\t\t\tthis.caMetadata = caData;\n\t\t\tlet address = await newProps.getAddress;\n\t\t\tthis.setState({\n\t\t\t\tlogo: this.caMetadata[0],\n\t\t\t\tname: this.caMetadata[1],\n\t\t\t\taddress: address,\n\t\t\t});\n\t\t}\n\t}\n\n\tasync componentDidMount() {\n\t\tthis.updateState(this.props);\n\t}\n\n\tasync componentWillReceiveProps(newProps: any) {\n\t\tthis.updateState(newProps);\n\t}\n\n\thandleLogoChange(e: ChangeEvent) {\n\t\tthis.setState({ logo: e.target.value, logoChanged: true });\n\t}\n\n\thandleNameChange(e: ChangeEvent) {\n\t\tthis.setState({ name: e.target.value });\n\t}\n\n\tasync saveChanges() {\n\t\tawait this.props.setCaData(this.state.name, this.state.logo);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t
    {this.props.children}
    \n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\tInstitution\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{/*title and unit id*/}\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\tLogo URI:\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Logo URI'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName('')\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tid=\"unit-id\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tname=\"template\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.handleLogoChange\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={this.state.logo}\n\t\t\t\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t{/*name*/}\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t

    Name:

    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Name'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName('')\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tid=\"achievment\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tname=\"template\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.handleNameChange\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={this.state.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ width: '100%' }}\n\t\t\t\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{/* CONFIRM*/}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\n\t\t);\n\t}\n}\n\nconst mapStateToProps = (state: any): any => ({\n\tgetCaData: () =>\n\t\tstate.contracts.ca.getCaMetaData(state.address, {\n\t\t\tfrom: state.address,\n\t\t}),\n\tsetCaData: (name: string, logoUri: string) =>\n\t\tstate.contracts.ca.changeMeta(name, logoUri, {\n\t\t\tfrom: state.address,\n\t\t}),\n\tgetAddress: state.address,\n});\n\nconst InstitutionProfile = connect(mapStateToProps)(InstProfileRaw);\n\nexport default InstitutionProfile;\n","import React, { ChangeEvent } from 'react';\nimport './AuthorizedPerson.css';\nimport { Row, Col, Card } from 'react-bootstrap';\nimport { connect } from 'react-redux';\n\ninterface Props {\n\tsetName?: any;\n\taddAuthorizedAddress?: any;\n\tremoveAuthorizedAddress?: any;\n\tgetAuthorizedAddressesByCa?: any;\n\teventChangeMetadata?: any;\n\teventAddAuth?: any;\n\teventRemoveAuth?: any;\n}\n\nclass AuthorizedPersonRaw extends React.Component {\n\tconstructor(props: any) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\taddress: '',\n\t\t\tpersons: [],\n\t\t};\n\t\tthis.authorize = this.authorize.bind(this);\n\t\tthis.handleAddressChange = this.handleAddressChange.bind(this);\n\t\tthis.remove = this.remove.bind(this);\n\t}\n\n\tauthorize: any = async () => {\n\t\tawait this.props.addAuthorizedAddress(this.state.address);\n\t\tthis.setState({ address: '' });\n\t};\n\n\thandleAddressChange: any = (e: ChangeEvent) => {\n\t\tthis.setState({ address: e.target.value });\n\t};\n\n\tremove: any = async (address: string) => {\n\t\tawait this.props.removeAuthorizedAddress(address);\n\t};\n\n\tasync updateState(props: any) {\n\t\tlet tempPersons: any[] = await props.getAuthorizedAddressesByCa;\n\t\tlet persons: any[] = [];\n\t\tif (typeof tempPersons !== 'undefined') {\n\t\t\t// console.log(tempPersons);\n\t\t\tfor (const iterator of tempPersons) {\n\t\t\t\tconst key = iterator.toString();\n\t\t\t\tlet element: any = (\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t

    {key}

    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t);\n\t\t\t\tpersons.push(element);\n\t\t\t}\n\t\t}\n\t\tthis.setState({ persons: persons });\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.updateState(this.props);\n\t\tthis.props.eventAddAuth().on('data', (event: any) => {\n\t\t\tthis.updateState(this.props);\n\t\t});\n\t\tthis.props.eventRemoveAuth().on('data', (event: any) => {\n\t\t\tthis.updateState(this.props);\n\t\t});\n\t\tthis.props.eventChangeMetadata().on('data', (event: any) => {\n\t\t\tthis.updateState(this.props);\n\t\t});\n\t}\n\n\tcomponentWillReceiveProps(newProps: any) {\n\t\tthis.updateState(newProps);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\tAuthorized person\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t

    Add new authorized person

    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{/*title and unit id*/}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\tEthereum address:\n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Address'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName('')\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\tid=\"title\"\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={this.state.address}\n\t\t\t\t\t\t\t\t\t\t\t\tname=\"template\"\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.handleAddressChange\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ maxWidth: '450px' }}\n\t\t\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t

    Authorized persons

    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\tEthereum address\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t{this.state.persons}\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t);\n\t}\n}\n\nconst mapStateToProps = (state: any): any => ({\n\taddAuthorizedAddress: (address: string) =>\n\t\tstate.contracts.ca.addAuthorizedAddress(address, {\n\t\t\tfrom: state.address,\n\t\t}),\n\tremoveAuthorizedAddress: (address: string) =>\n\t\tstate.contracts.ca.removeAuthorizedAddress(address, {\n\t\t\tfrom: state.address,\n\t\t}),\n\tgetAuthorizedAddressesByCa: state.contracts.ca.getAuthorizedAddressesByCa(\n\t\tstate.address,\n\t\t{\n\t\t\tfrom: state.address,\n\t\t}\n\t),\n\teventChangeMetadata: () => state.contracts.ca.ChangeCaMeta(),\n\teventAddAuth: () => state.contracts.ca.AddAuthorizedAddress(),\n\teventRemoveAuth: () => state.contracts.ca.RemoveAuthorizedAddress(),\n});\n\nconst AuthorizedPerson = connect(mapStateToProps)(AuthorizedPersonRaw);\n\nexport default AuthorizedPerson;\n","import React, { useState } from 'react';\nimport PageTitle from '../components/PageTitle/PageTitle';\nimport InstitutionProfile from '../components/InstitutionProfile/InstitutionProfile';\nimport FormHelpCard from '../components/FormHelpCard/FormHelpCard';\nimport AuthorizedPerson from '../components/AuthorizedPerson/AuthorizedPerson';\n\nconst Profile = () => {\n\tconst [name, setName] = useState('');\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default Profile;\n","import React from 'react';\nimport PageTitle from '../../components/PageTitle/PageTitle';\n//import HelpTimeline from '../../components/HelpTimeline/HelpTimeline';\n//import FAQ from '../../components/FAQ/FAQ';\nimport StillHaveQuestions from '../../components/StillHaveQuestions/StillHaveQuestions';\n\nconst HelpNewCertificate: React.FC = () => {\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t
    \n\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default HelpNewCertificate;\n","import React from 'react';\nimport './HelpVideo.css';\nimport { Row, Col, Card, Tab } from 'react-bootstrap';\n\nconst HelpVideo: React.FC = (props: any) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{/* Card Body */}\n\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\tTutorials\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{/* Heading */}\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t{/*
    */}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{props.children}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\n\t\t
    \n\t);\n};\n\nexport default HelpVideo;\n","import React, { useState } from 'react';\nimport './HelpTimeline.css';\nimport { Button, Collapse } from 'react-bootstrap';\n\ninterface Props {\n\ttitle: string;\n\tchildren?: any | any[];\n}\n\nconst HelpTimelineItem: React.FC = (props) => {\n\tconst [open, setOpen] = useState(false);\n\tconst [active, setActive] = useState(false);\n\treturn (\n\t\t
  • \n\t\t\t{/* New Web Design */}\n\t\t\t {\n\t\t\t\t\tsetOpen(!open);\n\t\t\t\t\tsetActive(!active);\n\t\t\t\t}}\n\t\t\t\taria-controls=\"example-collapse-text\"\n\t\t\t\taria-expanded={open}\n\t\t\t\tactive={active}\n\t\t\t>\n\t\t\t\t{props.title}\n\t\t\t\n\t\t\t\n\t\t\t\t
    {props.children}
    \n\t\t\t
    \n\t\t
  • \n\t);\n};\n\nexport default HelpTimelineItem;\n","import React from 'react';\nimport './HelpTimeline.css';\nimport { Row, Col, Card } from 'react-bootstrap';\n\ninterface Props {\n\ttitle: string;\n\tchildren?: any | any[];\n}\n\nconst HelpTimeline: React.FC = (props) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t{props.title}\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
      {props.children}
    \n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\n\t\t\n\t);\n};\n\nexport default HelpTimeline;\n","import React from 'react';\nimport PageTitle from '../../components/PageTitle/PageTitle';\nimport HelpVideo from '../../components/HelpVideo/HelpVideo';\nimport FAQ from '../../components/FAQ/FAQ';\nimport StillHaveQuestions from '../../components/StillHaveQuestions/StillHaveQuestions';\nimport FAQSection from '../../components/FAQ/FAQSection';\nimport HelpTimelineItem from '../../components/HelpTimeline/HelpTimelineItem';\nimport HelpTimeline from '../../components/HelpTimeline/HelpTimeline';\nimport { Row, Col, Tab, Nav } from 'react-bootstrap';\n\nconst HelpVerify: React.FC = () => {\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tVerify a certificate\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tVerification for non-registered user\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tYou can verify as many certificates as you wish\n\t\t\t\t\t\t\t\tfrom one user at a time, as long as they are\n\t\t\t\t\t\t\t\tarchived in the zip file.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tNo, you don’t have to be logged in, anyone can\n\t\t\t\t\t\t\t\tverify certificates.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tThe invalid certificate(s) will be marked in the\n\t\t\t\t\t\t\t\treport table.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tNo, you can only see the results of current\n\t\t\t\t\t\t\t\tverification.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tYou can identify the invalid certificate within\n\t\t\t\t\t\t\t\tthe zip archive. Each certificate is encrypted\n\t\t\t\t\t\t\t\tas a whole, which means that the platform only\n\t\t\t\t\t\t\t\tverifies if the certificate is the same as the\n\t\t\t\t\t\t\t\tone stored in blockchain network. To understand\n\t\t\t\t\t\t\t\tmore about it, read How does certificate\n\t\t\t\t\t\t\t\tverification work.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tYes, you can rename all the files (zip or\n\t\t\t\t\t\t\t\tcertificate files within), but you are not\n\t\t\t\t\t\t\t\tallowed to edit them. Any kind of changes will\n\t\t\t\t\t\t\t\tdeem the file invalid.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tWhen the certificate is created, the\n\t\t\t\t\t\t\t\t\t\tsystem encrypts it using the recipient's\n\t\t\t\t\t\t\t\t\t\tpublic key. After that, the\n\t\t\t\t\t\t\t\t\t\tcertificate’s hash value is obtained.\n\t\t\t\t\t\t\t\t\t\tThis hash value is then permanently\n\t\t\t\t\t\t\t\t\t\tsaved to the blockchain network. When\n\t\t\t\t\t\t\t\t\t\tthe user wants to verify the\n\t\t\t\t\t\t\t\t\t\tcertificate, its hash value is compared\n\t\t\t\t\t\t\t\t\t\tto the hash value of the certificate\n\t\t\t\t\t\t\t\t\t\tstored in the blockchain network. In the\n\t\t\t\t\t\t\t\t\t\tcase that the provided hash value is not\n\t\t\t\t\t\t\t\t\t\tequal to the obtained hash value from\n\t\t\t\t\t\t\t\t\t\tthe blockchain network, the verification\n\t\t\t\t\t\t\t\t\t\tfails. Otherwise, the user’s provided\n\t\t\t\t\t\t\t\t\t\tcertificate is successfully verified.\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tEduCTX offers verification of multiple\n\t\t\t\t\t\t\t\t\t\tcertificates from the same user at the\n\t\t\t\t\t\t\t\t\t\tsame time. User has the option to export\n\t\t\t\t\t\t\t\t\t\tas many certificates as he wants. All\n\t\t\t\t\t\t\t\t\t\tthe selected certificates are archived\n\t\t\t\t\t\t\t\t\t\tin the zip file.\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tIf the certificate is marked as invalid\n\t\t\t\t\t\t\t\t\t\tit means that it has been changed. You\n\t\t\t\t\t\t\t\t\t\tare not allowed to edit the\n\t\t\t\t\t\t\t\t\t\tcertificates, you are only allowed to\n\t\t\t\t\t\t\t\t\t\trename the archive or individual files.\n\t\t\t\t\t\t\t\t\t\tYou can always check the validity of\n\t\t\t\t\t\t\t\t\t\tyour certificate archive by uploading it\n\t\t\t\t\t\t\t\t\t\tto the platform.\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default HelpVerify;\n","import React from 'react';\nimport PageTitle from '../../components/PageTitle/PageTitle';\nimport HelpVideo from '../../components/HelpVideo/HelpVideo';\nimport StillHaveQuestions from '../../components/StillHaveQuestions/StillHaveQuestions';\nimport { Image, Col, Tab, Nav } from 'react-bootstrap';\nimport FAQ from '../../components/FAQ/FAQ';\nimport FAQSection from '../../components/FAQ/FAQSection';\n\nconst HelpExport: React.FC = () => {\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tAdd metamask\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tMeta-mask configuration\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tWhere to find private-key\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tRenaming certificate\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tYour private key can be obtained from digital\n\t\t\t\t\t\t\t\tEthereum wallet such as Metamask.
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t1. Open Metamask plugin in your taskbar in\n\t\t\t\t\t\t\t\tbrowser and click on Hamburger menu.
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t2. Click on button Details in the middle of the\n\t\t\t\t\t\t\t\tscreen.
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t3. A pop-up window will appear - choose “Export\n\t\t\t\t\t\t\t\tprivate key” option and enter your Metamask\n\t\t\t\t\t\t\t\tpassword.
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t4. Copy the private key which will appear in the\n\t\t\t\t\t\t\t\ttext area in the middle.
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tCertificate export produces certificate package\n\t\t\t\t\t\t\t\tin the form of .zip file. You are allowed to\n\t\t\t\t\t\t\t\trename this file and any files within the\n\t\t\t\t\t\t\t\tpackage. However you are not allowed to alter\n\t\t\t\t\t\t\t\tthe content of json file in the package.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tYes. If you only delete the pdf certificates\n\t\t\t\t\t\t\t\tfrom the package, the certificate will still be\n\t\t\t\t\t\t\t\tlisted among others. In order to delete the\n\t\t\t\t\t\t\t\tcertificate from the package entirely, delete\n\t\t\t\t\t\t\t\tthe pdf and json file.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tNo, only the receiver can manage and export\n\t\t\t\t\t\t\t\ttheir certificates.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default HelpExport;\n","import React from 'react';\nimport PageTitle from '../../components/PageTitle/PageTitle';\n//import HelpVideo from \"../../components/HelpVideo/HelpVideo\";\nimport StillHaveQuestions from '../../components/StillHaveQuestions/StillHaveQuestions';\n//import { Col, Tab, Nav } from \"react-bootstrap\";\nimport FAQ from '../../components/FAQ/FAQ';\nimport FAQSection from '../../components/FAQ/FAQSection';\n\nconst HelpProfile: React.FC = () => {\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t
    \n\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tOnly certified authorities have profiles.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tInformation obtained from the profile of\n\t\t\t\t\t\t\t\tcertified authority is used in each certificate\n\t\t\t\t\t\t\t\tthey issue.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tChanges of profile do not affect the\n\t\t\t\t\t\t\t\tcertificates you issued in the past - they will\n\t\t\t\t\t\t\t\tstill show the old information about your\n\t\t\t\t\t\t\t\tcertified authority profile.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default HelpProfile;\n","import React from 'react';\nimport PageTitle from '../../components/PageTitle/PageTitle';\n//import HelpVideo from \"../../components/HelpVideo/HelpVideo\";\nimport HelpTimeline from '../../components/HelpTimeline/HelpTimeline';\nimport FAQ from '../../components/FAQ/FAQ';\nimport FAQSection from '../../components/FAQ/FAQSection';\nimport HelpTimelineItem from '../../components/HelpTimeline/HelpTimelineItem';\nimport StillHaveQuestions from '../../components/StillHaveQuestions/StillHaveQuestions';\nimport { Image, Row, Col } from 'react-bootstrap';\n\nconst HelpUsers: React.FC = () => {\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t
    \n\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tEthereum address is saved in Metamask (or\n\t\t\t\t\t\t\t\tsimilar wallet). If you are using Metamask click\n\t\t\t\t\t\t\t\ton the icon in your browser toolbar. Then click\n\t\t\t\t\t\t\t\ton your account name and the Ethereum address\n\t\t\t\t\t\t\t\twill be copied to clipboard.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tIn order to keep the personal data secured to\n\t\t\t\t\t\t\t\tthe best possible extent, we do not connect\n\t\t\t\t\t\t\t\tEthereum addresses to names. Therefore, we\n\t\t\t\t\t\t\t\trecommend keeping your own database, which\n\t\t\t\t\t\t\t\tconnects names to Ethereum addresses.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tNo, the list of authorized persons is only\n\t\t\t\t\t\t\t\tvisible from the profile of the certified\n\t\t\t\t\t\t\t\tinstitution.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tHouston, We Have a Problem.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tStudent’s EduCTX id is visible in the topbar.\n\t\t\t\t\t\t\t\tFor faster and easier certificate issue, we\n\t\t\t\t\t\t\t\trecommend you keep a database of your students’\n\t\t\t\t\t\t\t\tEduCTX IDs.\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tWe store the name and logo URL of each\n\t\t\t\t\t\t\t\t\t\tinstitution on Ethereum Blockchain\n\t\t\t\t\t\t\t\t\t\tnetwork. Each registered student’s\n\t\t\t\t\t\t\t\t\t\tEduCTX ID and Ethereum address is stored\n\t\t\t\t\t\t\t\t\t\tin Ethereum blockchain network. We don’t\n\t\t\t\t\t\t\t\t\t\tstore any other information about EduCTX\n\t\t\t\t\t\t\t\t\t\tusers.\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default HelpUsers;\n","import React from 'react';\nimport PageTitle from '../../components/PageTitle/PageTitle';\n//import HelpVideo from \"../../components/HelpVideo/HelpVideo\";\nimport StillHaveQuestions from '../../components/StillHaveQuestions/StillHaveQuestions';\n//import { Col, Tab, Nav } from \"react-bootstrap\";\nimport FAQ from '../../components/FAQ/FAQ';\nimport FAQSection from '../../components/FAQ/FAQSection';\n\nconst HelpData: React.FC = () => {\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t
    \n\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tEach user stores it’s private key on own device\n\t\t\t\t\t\t\t\tin digital wallet and doesn’t share it with\n\t\t\t\t\t\t\t\tnetwork. Therefore, all the data sent to the\n\t\t\t\t\t\t\t\tnetwork is encrypted with the user's private\n\t\t\t\t\t\t\t\tkey. When the certificate is issued, it is also\n\t\t\t\t\t\t\t\tencrypted, this time using the recipient’s\n\t\t\t\t\t\t\t\tpublic key. Therefore, it can only be decrypted\n\t\t\t\t\t\t\t\tusing the recipient’s private key, meaning\n\t\t\t\t\t\t\t\tunauthorized access is not possible.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tYour institution can revoke the issued\n\t\t\t\t\t\t\t\tcertificate using the API and reissue it with\n\t\t\t\t\t\t\t\tcorrect information.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default HelpData;\n","import React from 'react';\nimport './SignUp.css';\nimport greyCircles from './../../img/grey-circles-1.svg';\nimport metamask from './../../img/metamask.png';\n\nconst SignUp: React.FC = () => {\n\treturn (\n\t\t\n\t\t\t{/* Card Body */}\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    Sign up
    \n\t\t\t\t\t{/* CONTENT OF FIRST CARD - do not delete!!!!!!!!!!!!!!!!!!! */}\n\t\t\t\t\t

    \n\t\t\t\t\t\tPlease use{' '}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tMetamask\n\t\t\t\t\t\t{' '}\n\t\t\t\t\t\tfor full experience.\n\t\t\t\t\t

    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t\n\t);\n};\n\nexport default SignUp;\n","import React from 'react';\nimport { Row, Card } from 'react-bootstrap';\nimport SignUp from '../components/SignUp/SignUp';\nimport SidebarBig from '../components/SidebarBig/SidebarBig';\nimport HomeBackground from '../components/HomeBackground/HomeBackground';\nimport EduCTXIntro from '../components/EduCTXIntro/EduCTXIntro';\nimport logo from './../img/EDU-Coin.png';\nimport Verification from '../components/CertificatesValidation/Verification';\n\n/*\n view za neregistriranega: registered=false, ca=false --> unregView\n view za registriranega študenta: registered=true, ca=false --> regStudView\n view za registriranega CI ali CA: registered=true, ca=true --> regCaView\n\n*/\n\nclass HomeIdle extends React.Component {\n\trender() {\n\t\tlet unregView = (\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\tQuick certificate verification\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t\n\t\t);\n\t\treturn unregView;\n\t}\n}\nexport default HomeIdle;\n","import React from 'react';\nimport './Card404.css';\nimport bug from './../../img/bug-big.svg';\nimport { Row, Col, Card } from 'react-bootstrap';\n\nconst Card404: React.FC = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{/* Card Body */}\n\t\t\t\t\n\t\t\t\t\t{/* Illustration */}\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t{/* Heading */}\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\tOops, something went wrong.\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t
    404
    \n\t\t\t\t\t
    \n\t\t\t\t\t{/* Heading */}\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\tContact support\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t\n\t);\n};\n\nexport default Card404;\n","import React from 'react';\nimport './App.css';\nimport Navbar from './components/Navbar/Navbar';\nimport Topbar from './components/Topbar/Topbar';\nimport { BrowserRouter as Router, Route, Switch } from 'react-router-dom';\nimport Home from './pages/Home';\nimport Help from './pages/Help/Help';\nimport MyCertificates from './pages/MyCertificates';\nimport NetworkPage from './pages/Network';\nimport VerifyCertificates from './pages/VerifyCertificates';\nimport HelpAdditional from './pages/Help/HelpAdditional';\nimport Issue from './pages/Issue';\nimport Profile from './pages/Profile';\nimport HelpNewCertificate from './pages/Help/HelpNewCertificate';\nimport HelpVerify from './pages/Help/HelpVerify';\nimport HelpExport from './pages/Help/HelpExport';\nimport HelpProfile from './pages/Help/HelpProfile';\nimport HelpUsers from './pages/Help/HelpUsers';\nimport HelpData from './pages/Help/HelpData';\nimport { connect } from 'react-redux';\nimport HomeIdle from './pages/HomeIdle';\nimport Card404 from './components/Card404/Card404';\n\nclass AppRaw extends React.Component {\n\trender() {\n\t\tif (!window.ethereum) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t);\n\t\t} else if (window.ethereum.networkVersion !== '2018') {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t);\n\t\t}\n\t}\n}\n\nconst mapStateToProps = (state: any) => {\n\treturn {\n\t\tweb3: state.web3,\n\t\taddress: state.address,\n\t};\n};\n\nconst App = connect(mapStateToProps)(AppRaw);\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n\twindow.location.hostname === 'localhost' ||\n\t\t// [::1] is the IPv6 localhost address.\n\t\twindow.location.hostname === '[::1]' ||\n\t\t// 127.0.0.1/8 is considered localhost for IPv4.\n\t\twindow.location.hostname.match(\n\t\t\t/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n\t\t)\n);\n\ntype Config = {\n\tonSuccess?: (registration: ServiceWorkerRegistration) => void;\n\tonUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n\tif (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n\t\t// The URL constructor is available in all browsers that support SW.\n\t\tconst publicUrl = new URL(\n\t\t\t(process as { env: { [key: string]: string } }).env.PUBLIC_URL,\n\t\t\twindow.location.href\n\t\t);\n\t\tif (publicUrl.origin !== window.location.origin) {\n\t\t\t// Our service worker won't work if PUBLIC_URL is on a different origin\n\t\t\t// from what our page is served on. This might happen if a CDN is used to\n\t\t\t// serve assets; see https://github.com/facebook/create-react-app/issues/2374\n\t\t\treturn;\n\t\t}\n\n\t\twindow.addEventListener('load', () => {\n\t\t\tconst swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n\t\t\tif (isLocalhost) {\n\t\t\t\t// This is running on localhost. Let's check if a service worker still exists or not.\n\t\t\t\tcheckValidServiceWorker(swUrl, config);\n\n\t\t\t\t// Add some additional logging to localhost, pointing developers to the\n\t\t\t\t// service worker/PWA documentation.\n\t\t\t\tnavigator.serviceWorker.ready.then(() => {\n\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t'This web app is being served cache-first by a service ' +\n\t\t\t\t\t\t\t'worker. To learn more, visit https://bit.ly/CRA-PWA'\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// Is not localhost. Just register service worker\n\t\t\t\tregisterValidSW(swUrl, config);\n\t\t\t}\n\t\t});\n\t}\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n\tnavigator.serviceWorker\n\t\t.register(swUrl)\n\t\t.then((registration) => {\n\t\t\tregistration.onupdatefound = () => {\n\t\t\t\tconst installingWorker = registration.installing;\n\t\t\t\tif (installingWorker == null) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tinstallingWorker.onstatechange = () => {\n\t\t\t\t\tif (installingWorker.state === 'installed') {\n\t\t\t\t\t\tif (navigator.serviceWorker.controller) {\n\t\t\t\t\t\t\t// At this point, the updated precached content has been fetched,\n\t\t\t\t\t\t\t// but the previous service worker will still serve the older\n\t\t\t\t\t\t\t// content until all client tabs are closed.\n\t\t\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t\t\t'New content is available and will be used when all ' +\n\t\t\t\t\t\t\t\t\t'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t// Execute callback\n\t\t\t\t\t\t\tif (config && config.onUpdate) {\n\t\t\t\t\t\t\t\tconfig.onUpdate(registration);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// At this point, everything has been precached.\n\t\t\t\t\t\t\t// It's the perfect time to display a\n\t\t\t\t\t\t\t// \"Content is cached for offline use.\" message.\n\t\t\t\t\t\t\tconsole.log('Content is cached for offline use.');\n\n\t\t\t\t\t\t\t// Execute callback\n\t\t\t\t\t\t\tif (config && config.onSuccess) {\n\t\t\t\t\t\t\t\tconfig.onSuccess(registration);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t};\n\t\t})\n\t\t.catch((error) => {\n\t\t\tconsole.error('Error during service worker registration:', error);\n\t\t});\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n\t// Check if the service worker can be found. If it can't reload the page.\n\tfetch(swUrl)\n\t\t.then((response) => {\n\t\t\t// Ensure service worker exists, and that we really are getting a JS file.\n\t\t\tconst contentType = response.headers.get('content-type');\n\t\t\tif (\n\t\t\t\tresponse.status === 404 ||\n\t\t\t\t(contentType != null &&\n\t\t\t\t\tcontentType.indexOf('javascript') === -1)\n\t\t\t) {\n\t\t\t\t// No service worker found. Probably a different app. Reload the page.\n\t\t\t\tnavigator.serviceWorker.ready.then((registration) => {\n\t\t\t\t\tregistration.unregister().then(() => {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// Service worker found. Proceed as normal.\n\t\t\t\tregisterValidSW(swUrl, config);\n\t\t\t}\n\t\t})\n\t\t.catch(() => {\n\t\t\tconsole.log(\n\t\t\t\t'No internet connection found. App is running in offline mode.'\n\t\t\t);\n\t\t});\n}\n\nexport function unregister() {\n\tif ('serviceWorker' in navigator) {\n\t\tnavigator.serviceWorker.ready.then((registration) => {\n\t\t\tregistration.unregister();\n\t\t});\n\t}\n}\n","export const SET_WEB3 = 'SET_WEB3';\nexport const SET_ADDRESS = 'SET_ADDRESS';\nexport const SET_CONTRACT = 'SET_CONTRACT';\n\nexport const setWeb3 = (web3: any) => {\n\treturn {\n\t\ttype: SET_WEB3,\n\t\tweb3,\n\t};\n};\n\nexport const setAddress = (address: string) => {\n\treturn {\n\t\ttype: SET_ADDRESS,\n\t\taddress,\n\t};\n};\n\nexport const setContract = (contract: any, name: string) => {\n\treturn {\n\t\ttype: SET_CONTRACT,\n\t\tname,\n\t\tcontract,\n\t};\n};\n","import { SET_WEB3, SET_ADDRESS, SET_CONTRACT } from './actions';\n\nconst initialState = {\n\tweb3: {},\n\taddress: {},\n\tcontracts: {},\n};\n\nconst eduCTXredux = (state = initialState, action: any) => {\n\tswitch (action.type) {\n\t\tcase SET_WEB3:\n\t\t\treturn Object.assign({}, state, {\n\t\t\t\tweb3: action.web3,\n\t\t\t});\n\t\tcase SET_ADDRESS:\n\t\t\treturn Object.assign({}, state, {\n\t\t\t\taddress: action.address,\n\t\t\t});\n\t\tcase SET_CONTRACT:\n\t\t\tlet contracts: any = { ...state.contracts };\n\t\t\tcontracts[action.name] = action.contract;\n\t\t\treturn Object.assign({}, state, {\n\t\t\t\tcontracts: contracts,\n\t\t\t});\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nexport default eduCTXredux;\n","import { createStore, Store } from 'redux';\nimport reducers from './reducers';\nimport { setWeb3, setAddress, setContract } from './actions';\nimport Web3 from 'web3';\nimport caContract from '../build/contracts/EduCTXca.json';\nimport tokenContract from '../build/contracts/EduCTXtoken.json';\nimport registeredUserContract from '../build/contracts/RegisteredUser.json';\n\nconst contract = require('@truffle/contract');\n\ndeclare global {\n\tinterface Window {\n\t\tweb3: any;\n\t\tethereum: any;\n\t\t__REDUX_DEVTOOLS_EXTENSION_COMPOSE__: any;\n\t}\n}\n\nconst initWeb3 = async (store: Store) => {\n\tconst web3 = new Web3('https://bclabum.informatika.uni-mb.si/besu/');\n\n\t/*const contractCA = contract(caContract);\n contractCA.setProvider(web3.currentProvider);\n store.dispatch(setContract(contractCA, \"ca\"));\n\n const contractToken = contract(tokenContract);\n contractToken.setProvider(web3.currentProvider);\n store.dispatch(setContract(contractToken, \"token\"));\n\n const contractRegUser = contract(caContract);\n contractRegUser.setProvider(web3.currentProvider);\n store.dispatch(setContract(contractRegUser, \"reguser\"));\n store.dispatch(setWeb3(web3));*/\n\n\tconst contractCA = await contract(caContract);\n\tawait contractCA.setProvider(web3.currentProvider);\n\tconst instanceCA = await contractCA.deployed();\n\tstore.dispatch(setContract(instanceCA, 'ca'));\n\n\tconst contractToken = contract(tokenContract);\n\tcontractToken.setProvider(web3.currentProvider);\n\tconst instanceToken = await contractToken.deployed();\n\tstore.dispatch(setContract(instanceToken, 'token'));\n\n\tconst contractRegUser = contract(registeredUserContract);\n\tcontractRegUser.setProvider(web3.currentProvider);\n\tconst instanceRegUser = await contractRegUser.deployed();\n\tstore.dispatch(setContract(instanceRegUser, 'reguser'));\n\n\tstore.dispatch(setWeb3(web3));\n\n\tstore.dispatch(setAddress('0x0000000000000000000000000000000000000000'));\n};\n\nconst handleCorrectNetwork = async (store: any) => {\n\tconst web3 = new Web3(window.ethereum);\n\tconst contractCA = await contract(caContract);\n\tawait contractCA.setProvider(window.ethereum);\n\tconst instanceCA = await contractCA.deployed();\n\tstore.dispatch(setContract(instanceCA, 'ca'));\n\n\tconst contractToken = contract(tokenContract);\n\tcontractToken.setProvider(web3.currentProvider);\n\tconst instanceToken = await contractToken.deployed();\n\tstore.dispatch(setContract(instanceToken, 'token'));\n\n\tconst contractRegUser = contract(registeredUserContract);\n\tcontractRegUser.setProvider(web3.currentProvider);\n\tconst instanceRegUser = await contractRegUser.deployed();\n\tstore.dispatch(setContract(instanceRegUser, 'reguser'));\n\n\tstore.dispatch(setWeb3(web3));\n};\n\nconst initialize = async () => {\n\tconst store = createStore(reducers);\n\t// const composer = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\n\tawait initWeb3(store);\n\tif (window.ethereum) {\n\t\twindow.ethereum.autoRefreshOnNetworkChange = false;\n\n\t\ttry {\n\t\t\tconst accounts = await window.ethereum.enable();\n\t\t\tstore.dispatch(setAddress(accounts[0]));\n\t\t} catch {\n\t\t\t// Tu se lahko naredi custom react alert z dvema gumboma. En za refresh in drugi za redirect do EduCTX.org\n\t\t\t// window.alert(\"To use the platform we need access to your metamask public addesses\");\n\t\t\t// console.log(\"Declined permission!\");\n\t\t\t// window.location.reload();\n\t\t}\n\t\tconst network = window.ethereum.networkVersion;\n\t\twindow.ethereum.on('accountsChanged', function (accounts: any) {\n\t\t\tsessionStorage.clear();\n\t\t\t// Če se uporabnik odjavi iz metamaska, bo accounts[0] undefined in ga lahko redirectamo na eductx.org\n\t\t\tif (!accounts[0]) {\n\t\t\t\twindow.location.replace('https://eductx.org/');\n\t\t\t} else {\n\t\t\t\t// Uporabnik je le zamenjal account, zato ga ne redirectamo, ampak mu spremenimo activni account\n\t\t\t\tstore.dispatch(setAddress(accounts[0]));\n\t\t\t}\n\t\t});\n\n\t\twindow.ethereum.on('networkChanged', async function (network: string) {\n\t\t\tsessionStorage.clear();\n\t\t\tif (network !== '2018') {\n\t\t\t\twindow.location.reload();\n\t\t\t} else {\n\t\t\t\twindow.location.reload();\n\t\t\t}\n\t\t});\n\n\t\tif (network !== '2018') {\n\t\t\tawait initWeb3(store);\n\t\t} else {\n\t\t\tawait handleCorrectNetwork(store);\n\t\t}\n\t}\n\n\treturn store;\n};\n\nexport default initialize;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\nimport { Provider } from 'react-redux';\nimport initialize from './init/store';\n\nconst main = async (): Promise => {\n\tconst eduCTXstore = await initialize();\n\tReactDOM.render(\n\t\t\n\t\t\t\n\t\t,\n\t\tdocument.getElementById('root')\n\t);\n\n\tserviceWorker.unregister();\n};\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\n\nmain();\n","import { stringToBase64 } from '../base64';\n\nexport const generateKey = async () => {\n\treturn await window.crypto.subtle.generateKey(\n\t\t{\n\t\t\tname: 'AES-CBC',\n\t\t\tlength: 256, //can be 128, 192, or 256\n\t\t},\n\t\ttrue, //whether the key is extractable (i.e. can be used in exportKey)\n\t\t['encrypt', 'decrypt'] //can be \"encrypt\", \"decrypt\", \"wrapKey\", or \"unwrapKey\"\n\t);\n};\n\nexport const exportKey = async (key: any) => {\n\treturn await window.crypto.subtle.exportKey(\n\t\t'jwk', //can be \"jwk\" or \"raw\"\n\t\tkey //extractable must be true\n\t);\n};\n\nexport const importKey = async (key: any) => {\n\treturn await window.crypto.subtle.importKey(\n\t\t'jwk', //can be \"jwk\" or \"raw\"\n\t\tkey,\n\t\t{\n\t\t\t//this is the algorithm options\n\t\t\tname: 'AES-CBC',\n\t\t\tlength: 256,\n\t\t},\n\t\tfalse, //whether the key is extractable (i.e. can be used in exportKey)\n\t\t['encrypt', 'decrypt'] //can be \"encrypt\", \"decrypt\", \"wrapKey\", or \"unwrapKey\"\n\t);\n};\n\nexport const encrypt = async (key: CryptoKey, data: string, iv: Uint8Array) => {\n\tconst encryptedData = await window.crypto.subtle.encrypt(\n\t\t{\n\t\t\tname: 'AES-CBC',\n\t\t\t//Don't re-use initialization vectors!\n\t\t\t//Always generate a new iv every time your encrypt!\n\t\t\tiv: iv,\n\t\t},\n\t\tkey, //from generateKey or importKey above\n\t\tBuffer.from(new TextEncoder().encode(data)) //ArrayBuffer of data you want to encrypt\n\t);\n\n\treturn Buffer.from(encryptedData).toString('base64');\n};\n\nexport const decrypt = async (key: any, data: string, iv: any) => {\n\tconst decryptedData = await window.crypto.subtle.decrypt(\n\t\t{\n\t\t\tname: 'AES-CBC',\n\t\t\tiv: iv, //The initialization vector you used to encrypt\n\t\t},\n\t\tkey, //from generateKey or importKey above\n\t\tBuffer.from(data, 'base64') //ArrayBuffer of the data\n\t);\n\n\treturn new TextDecoder().decode(decryptedData);\n};\n","import React from 'react';\nimport MyCertificatesTable from '../MyCertificatesTable/MyCertificatesTable';\nimport LockedCertificates from '../LockedCertificates/LockedCertificates';\nimport { connect } from 'react-redux';\nconst ethUtil = require('ethereumjs-util');\n\ninterface IProps {\n\tsmall?: boolean;\n\tgetBalance?: any;\n\tgetStudentID?: any;\n\tgetStudentPublicKey?: any;\n\teventTransfer?: any;\n\taddress?: any;\n}\n\nclass MyCertificatesRaw extends React.Component {\n\tconstructor(props: any) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tbalance: 0,\n\t\t\tid: '',\n\t\t\tpubKey: '',\n\t\t\tdecrypted: false,\n\t\t\tprivateKey: '',\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.updateState(this.props);\n\t}\n\n\tcomponentWillReceiveProps(newProps: any) {\n\t\tthis.updateState(newProps);\n\t}\n\n\tasync updateState(newProps: any) {\n\t\tlet _balance = await newProps.getBalance();\n\t\tlet _id = await newProps.getStudentID();\n\t\tlet _pubKey = await newProps.getStudentPublicKey(_id.toNumber());\n\t\tthis.setState({\n\t\t\tbalance: _balance.toNumber(),\n\t\t\tid: _id,\n\t\t\tpubKey: _pubKey,\n\t\t});\n\t}\n\n\tdecrypt: any = async (privateKey: string) => {\n\t\ttry {\n\t\t\tconst pubKey_fromPrivate = await this.getPublicKeyFromPrivate(\n\t\t\t\t'0x' + privateKey\n\t\t\t);\n\t\t\tif (this.state.pubKey.substr(2) !== pubKey_fromPrivate) {\n\t\t\t\tsessionStorage.clear();\n\t\t\t} else {\n\t\t\t\tthis.setState({ decrypted: true, privateKey: privateKey });\n\t\t\t\tsessionStorage.setItem('unlocked', 'yes');\n\t\t\t\tsessionStorage.setItem('privateKey', privateKey);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.log('Invalid private key.'); // toast?\n\t\t}\n\t};\n\n\tgetPublicKeyFromPrivate: any = (privateKey: string) => {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tvar pubKey = new Buffer(ethUtil.privateToPublic(privateKey));\n\t\t\tresolve(pubKey.toString('hex'));\n\t\t});\n\t};\n\n\trender() {\n\t\tconst lockedCert = (\n\t\t\t this.decrypt(pk)}\n\t\t\t>\n\t\t);\n\n\t\tconst unlockedCert = (\n\t\t\t\n\t\t);\n\n\t\tif (!this.state.decrypted)\n\t\t\tif (\n\t\t\t\tsessionStorage.getItem('unlocked') === 'yes' &&\n\t\t\t\tsessionStorage.getItem('privateKey')\n\t\t\t) {\n\t\t\t\tlet pk: any = sessionStorage.getItem('privateKey');\n\t\t\t\tthis.setState({ decrypted: true, privateKey: pk });\n\t\t\t}\n\n\t\treturn (\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t{this.state.decrypted ? unlockedCert : lockedCert}\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t);\n\t}\n}\n\nconst mapStateToProps = (state: any): any => ({\n\tgetBalance: () =>\n\t\tstate.contracts.token.balanceOf(state.address, { from: state.address }),\n\tgetStudentID: () =>\n\t\tstate.contracts.reguser.getIDbyAddress(state.address, {\n\t\t\tfrom: state.address,\n\t\t}),\n\tgetStudentPublicKey: (id: Number) =>\n\t\tstate.contracts.reguser.getUserPubKeyById(id, { from: state.address }),\n});\n\nconst MyCertificates = connect(mapStateToProps)(MyCertificatesRaw);\n\nexport default MyCertificates;\n","import { stringToBase64 } from '../../utils/base64';\nimport { encrypt, exportKey, generateKey } from '../../utils/crypto';\nimport { pushIPFS } from '../../utils/ipfs';\n\nexport const createShareableURL = async (\n\tjsonData,\n\tclient,\n\tlinkedin = false\n) => {\n\tconsole.log(jsonData);\n\tconst data = JSON.stringify(jsonData);\n\n\t// Generate new key for encryption\n\tconst key = await generateKey();\n\n\t// Convert it to base64\n\tconst keyBase64 = stringToBase64(JSON.stringify(await exportKey(key)));\n\n\t// Create initialization vector for encryption\n\tconst iv = window.crypto.getRandomValues(new Uint8Array(16));\n\n\t// Convert it to base64\n\tconst ivBase64 = Buffer.from(iv).toString('base64');\n\n\t// Encrypt data\n\tconst encryptedData = await encrypt(key, data, iv);\n\n\t// Push it to IPFS\n\tconst ipfsPath = await pushIPFS(encryptedData);\n\n\tif (linkedin) {\n\t\tif (client === undefined || client === null) {\n\t\t\t// Create final URL\n\t\t\treturn `https://platform.eductx.org/verify/${encodeURIComponent(\n\t\t\t\t`?ipfs=${encodeURIComponent(ipfsPath)}&iv=${encodeURIComponent(\n\t\t\t\t\tivBase64\n\t\t\t\t)}&key=${encodeURIComponent(keyBase64)}`\n\t\t\t)}`;\n\t\t}\n\n\t\t// Create final URL specific for each client\n\t\treturn `https://platform.eductx.org/verify/${client}/${encodeURIComponent(\n\t\t\t`?ipfs=${encodeURIComponent(ipfsPath)}&iv=${encodeURIComponent(\n\t\t\t\tivBase64\n\t\t\t)}&key=${encodeURIComponent(keyBase64)}`\n\t\t)}`;\n\t}\n\n\tif (client === undefined || client === null) {\n\t\t// Create final URL\n\t\treturn `https://platform.eductx.org/verify/?ipfs=${encodeURIComponent(\n\t\t\tipfsPath\n\t\t)}&iv=${encodeURIComponent(ivBase64)}&key=${encodeURIComponent(\n\t\t\tkeyBase64\n\t\t)}`;\n\t}\n\t// Create final URL specific for each client\n\treturn `https://platform.eductx.org/verify/${client}/?ipfs=${encodeURIComponent(\n\t\tipfsPath\n\t)}&iv=${encodeURIComponent(ivBase64)}&key=${encodeURIComponent(keyBase64)}`;\n};\n","module.exports = __webpack_public_path__ + \"static/media/grey-circles.b855e17c.svg\";","module.exports = __webpack_public_path__ + \"static/media/sign-up.71c0d7de.svg\";","export const stringToBase64 = (data: string) => {\n\treturn Buffer.from(new TextEncoder().encode(data)).toString('base64');\n};\n\nexport const stringFromBase64 = (data: string) => {\n\treturn new TextDecoder().decode(Buffer.from(data, 'base64'));\n};\n","import axios from 'axios';\nimport { create } from 'ipfs-http-client';\n\nconst ipfs = create({\n\turl: 'https://bclabum.informatika.uni-mb.si/ipfs-post/api/v0',\n});\n\n// funkcija sprejme VerifiableCredential v obliki JSON objekta in vrne Promise z naslovom na IPFS\nexport async function pushIPFS(vc) {\n\tconst ipfsAddress = await ipfs.add(vc);\n\treturn ipfsAddress.path;\n}\n\n// funkcija prejme naslov VC-ja na IPFS-u in vrne JSON objekt\nexport async function getIPFS(ipfsAddress) {\n\treturn (\n\t\tawait axios.get(\n\t\t\t`https://bclabum.informatika.uni-mb.si/ipfs/ipfs/${ipfsAddress}`\n\t\t)\n\t).data;\n}\n","module.exports = __webpack_public_path__ + \"static/media/check-mark.92187f9e.svg\";","module.exports = __webpack_public_path__ + \"static/media/verify-certificate.bcbb410a.svg\";","module.exports = __webpack_public_path__ + \"static/media/export-certificate.6ad67aee.svg\";","module.exports = __webpack_public_path__ + \"static/media/additional-functionalities.4fb98c2e.svg\";","module.exports = __webpack_public_path__ + \"static/media/users.8eeec289.svg\";","module.exports = __webpack_public_path__ + \"static/media/data-prot.cd8e92f1.svg\";","import React from 'react';\nimport './InfoCard.css';\nimport info from './../../img/exclamation-mark.svg';\nimport { Row, Col, Card } from 'react-bootstrap';\n\ninterface Props {\n\tchildren: string;\n\tclassName?: any;\n}\n\nconst InfoCard: React.FC = (props) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t{props.children}\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\n\t\t
    \n\t);\n};\n\nexport default InfoCard;\n","module.exports = __webpack_public_path__ + \"static/media/student.09cb2050.svg\";","module.exports = __webpack_public_path__ + \"static/media/question-mark.70a136c9.svg\";","module.exports = __webpack_public_path__ + \"static/media/certificate-big.bb7915e6.svg\";","module.exports = __webpack_public_path__ + \"static/media/add-big.d3a57b8c.svg\";","module.exports = __webpack_public_path__ + \"static/media/system.40ffe1c9.svg\";","module.exports = __webpack_public_path__ + \"static/media/hills.a7d53a79.svg\";","module.exports = __webpack_public_path__ + \"static/media/cloud.357a6a87.svg\";","module.exports = __webpack_public_path__ + \"static/media/blockchain-lab.4f2caff3.svg\";","import React, { useState } from 'react';\nimport './SignUpTwo.css';\nimport greyCircles from './../../img/grey-circles.svg';\nimport signUp from './../../img/sign-up.svg';\nimport { connect } from 'react-redux';\nconst ethUtil = require('ethereumjs-util');\nconst sigUtil = require('eth-sig-util');\n\nconst SignUpTwoRaw: React.FC = (props: any) => {\n\tconst [disabled, setDisabled] = useState(false);\n\tconst generateID: any = (numOfDigits: number) => {\n\t\treturn new Promise(async (resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tlet id: string = '';\n\t\t\t\tfor (let i = 0; i < numOfDigits; i++) {\n\t\t\t\t\tlet min = i === 0 ? 1 : 0;\n\t\t\t\t\tlet max = 9;\n\t\t\t\t\tlet digit = Math.floor(\n\t\t\t\t\t\tMath.random() * (max - min + 1) + min\n\t\t\t\t\t);\n\t\t\t\t\tid += digit.toString();\n\t\t\t\t}\n\t\t\t\tresolve(id);\n\t\t\t} catch (error) {\n\t\t\t\treject(error);\n\t\t\t}\n\t\t});\n\t};\n\n\tconst signMessage = () => {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst text =\n\t\t\t\t'This message is being signed with purpose of getting public key.';\n\t\t\tconst msg = ethUtil.bufferToHex(new Buffer(text, 'utf8'));\n\t\t\tconst from = props.address;\n\t\t\tconst params = [msg, from];\n\t\t\tconst method = 'personal_sign';\n\t\t\tconst web3 = props.web3;\n\t\t\tweb3.currentProvider.sendAsync(\n\t\t\t\t{\n\t\t\t\t\tmethod,\n\t\t\t\t\tparams,\n\t\t\t\t\tfrom,\n\t\t\t\t},\n\t\t\t\tasync function (err: any, result: any) {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t}\n\t\t\t\t\tif (result.error) {\n\t\t\t\t\t\tconsole.error(result.error);\n\t\t\t\t\t\treject(result.error);\n\t\t\t\t\t}\n\t\t\t\t\t// V primeru, da je uporabnik potrdil in ni bilo nobenega errorja\n\t\t\t\t\tif (!err && !result.error) {\n\t\t\t\t\t\tconst msgParams = { data: msg, sig: null };\n\t\t\t\t\t\tmsgParams.sig = result.result;\n\t\t\t\t\t\tlet pubBuffer = Buffer.from(\n\t\t\t\t\t\t\tsigUtil.extractPublicKey(msgParams).slice(2),\n\t\t\t\t\t\t\t'hex'\n\t\t\t\t\t\t); // remove 0x HEX prefix\n\t\t\t\t\t\tlet pubKey = pubBuffer.toString('hex');\n\t\t\t\t\t\tresolve(pubKey);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t});\n\t};\n\n\tconst registerUser: any = () => {\n\t\treturn new Promise(async (resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tconst publicKey: any = await signMessage();\n\t\t\t\tconst userAddress1PublicKey: string =\n\t\t\t\t\t'0x' + publicKey.toString('hex');\n\t\t\t\tconst userId: string = await generateID(8);\n\t\t\t\t// alert ...\n\t\t\t\talert(\n\t\t\t\t\t'After you confirm the transaction the signup proccess will be in progress, please wait! When it is finished it will automatically refresh the page.'\n\t\t\t\t);\n\t\t\t\tawait props.registerUser(userAddress1PublicKey, userId);\n\t\t\t\tconst registeredUserId = await props.getStudentID();\n\t\t\t\twindow.location.reload();\n\t\t\t\tresolve(registeredUserId);\n\t\t\t} catch (error) {\n\t\t\t\tsetDisabled(false);\n\t\t\t\treject(error);\n\t\t\t}\n\t\t});\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{/* Card Body */}\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    Sign up
    \n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\tYou are one step away from using our platform.\n\t\t\t\t\t\t\t

    \n\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t// Ko gumb ni disabled prikažemo normalni gumb\n\t\t\t\t\t\t\t\t!disabled && (\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\tsetDisabled(true);\n\t\t\t\t\t\t\t\t\t\t\tregisterUser();\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t// Ko je gumb disabled lahko prikažemo siv gumb (brez onClick) ali pa kaj drugega\n\t\t\t\t\t\t\t\tdisabled && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t* This will open Metamask.\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\n\t\t\n\t);\n};\n\nconst mapStateToProps = (state: any): any => ({\n\tgetStudentID: () =>\n\t\tstate.contracts.reguser.getIDbyAddress(state.address, {\n\t\t\tfrom: state.address,\n\t\t}),\n\taddress: state.address,\n\tweb3: state.web3,\n\tregisterUser: (publicKey: string, userId: string) =>\n\t\tstate.contracts.reguser.registerUser(state.address, publicKey, userId, {\n\t\t\tfrom: state.address,\n\t\t}),\n});\n\nconst SignUpTwo = connect(mapStateToProps)(SignUpTwoRaw);\n\nexport default SignUpTwo;\n","import React from 'react';\nimport './MyCertificatesTable.css';\nimport MUIDataTable from 'mui-datatables';\nimport Export from '../Export/Export';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableCell from '@material-ui/core/TableCell';\nimport { connect } from 'react-redux';\nimport { createShareableURL } from '../../utils/share';\nconst jpack = require('jsonpack/main');\nconst ecies = require('eth-ecies');\n\ninterface Props {\n\tsmall?: boolean;\n\tgetBalance?: any;\n\tgetToken?: any;\n\tgetTokenUri?: any;\n\tgetTokenHash?: any;\n\tprivateKey: string;\n\taddress?: any;\n\teventTransfer?: any;\n\tgetAuthorizedAddressCa?: any;\n}\n\ninterface Column {\n\tlabel: string;\n\tname: string;\n\toptions: object;\n}\n\ninterface Certificate {\n\ttitle: string;\n\tachievement: string;\n\ttype: string;\n\tvalue: string;\n\tunit: string;\n\ttime: string;\n\tissuer: string;\n\tdescription: string;\n\tshare: { data: any };\n}\n\ninterface IState {\n\tcolumns: Column[];\n\tdata: Certificate[];\n\tprivateKey: string | any;\n\texportableData: any[];\n}\n\nclass MyCertificatesTableRaw extends React.Component {\n\tconstructor(props: any) {\n\t\tsuper(props);\n\t\tlet columns: Column[] = [];\n\t\tif (props.small)\n\t\t\tcolumns = [\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Title',\n\t\t\t\t\tname: 'title',\n\t\t\t\t\toptions: {},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Achievement',\n\t\t\t\t\tname: 'achievement',\n\t\t\t\t\toptions: {},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Type',\n\t\t\t\t\tname: 'type',\n\t\t\t\t\toptions: {},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Time',\n\t\t\t\t\tname: 'time',\n\t\t\t\t\toptions: {},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Issued by',\n\t\t\t\t\tname: 'issuer',\n\t\t\t\t\toptions: {},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Share',\n\t\t\t\t\tname: 'share',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tcustomBodyRender: (data: { data: any }, meta: any) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tconst link = await createShareableURL(\n\t\t\t\t\t\t\t\t\t\t\tdata.data,\n\t\t\t\t\t\t\t\t\t\t\tawait this.getClientFromCA(\n\t\t\t\t\t\t\t\t\t\t\t\tdata.data.ca\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\twindow.open(\n\t\t\t\t\t\t\t\t\t\t\t`https://www.linkedin.com/sharing/share-offsite/?url=${link}`\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t];\n\t\telse\n\t\t\tcolumns = [\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Title',\n\t\t\t\t\tname: 'title',\n\t\t\t\t\toptions: {},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Achievement',\n\t\t\t\t\tname: 'achievement',\n\t\t\t\t\toptions: {},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Type',\n\t\t\t\t\tname: 'type',\n\t\t\t\t\toptions: {},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Value',\n\t\t\t\t\tname: 'value',\n\t\t\t\t\toptions: {},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Unit',\n\t\t\t\t\tname: 'unit',\n\t\t\t\t\toptions: {},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Time',\n\t\t\t\t\tname: 'time',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tcustomBodyRender: (data: any, meta: any) => {\n\t\t\t\t\t\t\tlet date =\n\t\t\t\t\t\t\t\tdata.length > 10\n\t\t\t\t\t\t\t\t\t? new Date(parseInt(data))\n\t\t\t\t\t\t\t\t\t: new Date(1970, 1, 0, 1, 1);\n\t\t\t\t\t\t\tlet day = date.getDate();\n\t\t\t\t\t\t\tlet month = date.getMonth() + 1;\n\t\t\t\t\t\t\tlet year = date.getFullYear();\n\t\t\t\t\t\t\tlet hour = ('0' + date.getHours()).slice(-2);\n\t\t\t\t\t\t\tlet minutes = ('0' + date.getMinutes()).slice(-2);\n\t\t\t\t\t\t\treturn `${day}.${month}.${year} ${hour}:${minutes}`;\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Issued by',\n\t\t\t\t\tname: 'issuer',\n\t\t\t\t\toptions: {},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Description',\n\t\t\t\t\tname: 'description',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tdisplay: 'false',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Share',\n\t\t\t\t\tname: 'share',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tcustomBodyRender: (data: { data: any }, meta: any) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tconst link = await createShareableURL(\n\t\t\t\t\t\t\t\t\t\t\tdata.data,\n\t\t\t\t\t\t\t\t\t\t\tawait this.getClientFromCA(\n\t\t\t\t\t\t\t\t\t\t\t\tdata.data.ca\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\twindow.open(\n\t\t\t\t\t\t\t\t\t\t\t`https://www.linkedin.com/sharing/share-offsite/?url=${link}`\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t];\n\n\t\tthis.state = {\n\t\t\tcolumns: columns,\n\t\t\tdata: [],\n\t\t\tprivateKey: this.props.privateKey,\n\t\t\texportableData: [],\n\t\t};\n\t}\n\n\tasync getClientFromCA(ca: any) {\n\t\tif (\n\t\t\tca.ethAddress === '0x0d807d08434818325dce69c2ffa8a5d8f8ae6e52' ||\n\t\t\t(\n\t\t\t\tawait this.props.getAuthorizedAddressCa(ca.ethAddress)\n\t\t\t).toLowerCase() === '0x0d807d08434818325dce69c2ffa8a5d8f8ae6e52'\n\t\t) {\n\t\t\treturn 'concordia';\n\t\t}\n\t\treturn null;\n\t}\n\n\tasync updateState(newProps: any) {\n\t\tthis.setState({ privateKey: newProps.privateKey });\n\t\tlet balance = await newProps.getBalance();\n\n\t\tif (typeof balance !== 'undefined') {\n\t\t\tlet certData: Certificate[] = [];\n\t\t\tlet certExportable: any[] = [];\n\t\t\tfor (let index = 0; index < balance; index++) {\n\t\t\t\tlet tokenId = await newProps.getToken(index);\n\t\t\t\tif (typeof tokenId !== 'undefined') {\n\t\t\t\t\tlet tokenCipher = await newProps.getTokenCipher(\n\t\t\t\t\t\ttokenId.toNumber()\n\t\t\t\t\t);\n\t\t\t\t\tif (typeof tokenCipher !== 'undefined') {\n\t\t\t\t\t\tlet tokenHash = await newProps.getTokenHash(\n\t\t\t\t\t\t\ttokenId.toNumber()\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (typeof tokenHash !== 'undefined') {\n\t\t\t\t\t\t\tlet data: any = await this.unlockCertificates(\n\t\t\t\t\t\t\t\ttokenCipher,\n\t\t\t\t\t\t\t\ttokenId.toNumber(),\n\t\t\t\t\t\t\t\ttokenHash\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tconst currentCertificateData = {\n\t\t\t\t\t\t\t\ttitle: data.certificate.unitTitle,\n\t\t\t\t\t\t\t\tachievement: data.certificate.certificateTitle,\n\t\t\t\t\t\t\t\ttype: data.certificate.type,\n\t\t\t\t\t\t\t\tvalue: data.certificate.value,\n\t\t\t\t\t\t\t\tunit: data.certificate.unitMeasurement,\n\t\t\t\t\t\t\t\ttime: data.timestamp,\n\t\t\t\t\t\t\t\tissuer: data.ca.fullName,\n\t\t\t\t\t\t\t\tdescription: data.certificate.shortDescription,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tlet certUnlocked: Certificate = {\n\t\t\t\t\t\t\t\t...currentCertificateData,\n\t\t\t\t\t\t\t\tshare: {\n\t\t\t\t\t\t\t\t\tdata: data,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\tcertData.push(certUnlocked);\n\t\t\t\t\t\t\tcertExportable.push(data);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (this.state.data.length !== certData.length)\n\t\t\t\tthis.setState({\n\t\t\t\t\tdata: certData,\n\t\t\t\t\texportableData: certExportable,\n\t\t\t\t});\n\t\t}\n\t}\n\n\tasync componentWillReceiveProps(newProps: any) {\n\t\tthis.updateState(newProps);\n\t}\n\n\tasync componentDidMount() {\n\t\tthis.updateState(this.props);\n\t\tthis.props.eventTransfer().on('data', (event: any) => {\n\t\t\tif (\n\t\t\t\tevent.returnValues.to.toUpperCase() ===\n\t\t\t\tthis.props.address.toUpperCase()\n\t\t\t) {\n\t\t\t\tthis.updateState(this.props);\n\t\t\t}\n\t\t});\n\t}\n\n\tunlockCertificates: any = (\n\t\ttokenCipher: string,\n\t\ttokenId: number,\n\t\ttokenHash: string\n\t) => {\n\t\treturn new Promise(async (resolve, reject) => {\n\t\t\tlet decrypted = ecies.decrypt(\n\t\t\t\tBuffer.from(this.state.privateKey, 'hex'),\n\t\t\t\tBuffer.from(tokenCipher, 'hex')\n\t\t\t);\n\t\t\tconst decryptedString: any = Buffer.from(\n\t\t\t\tdecrypted,\n\t\t\t\t'hex'\n\t\t\t).toString();\n\t\t\tlet cert: any = jpack.unpack(decryptedString);\n\t\t\tlet newJson = {\n\t\t\t\teductxVersion: cert.eductxVersion,\n\t\t\t\ttimestamp: cert.timestamp,\n\t\t\t\tperson: {\n\t\t\t\t\tid: cert.person.id,\n\t\t\t\t\tfirstName: cert.person.firstName,\n\t\t\t\t\tlastName: cert.person.lastName,\n\t\t\t\t\tethAddress: cert.person.ethAddress,\n\t\t\t\t\teduCTXid: cert.person.eduCTXid,\n\t\t\t\t},\n\t\t\t\tca: {\n\t\t\t\t\tfullName: cert.ca.fullName,\n\t\t\t\t\tlogoURI: cert.ca.logoURI,\n\t\t\t\t\tethAddress: cert.ca.ethAddress,\n\t\t\t\t},\n\t\t\t\tcertificate: {\n\t\t\t\t\ttype: cert.certificate.type,\n\t\t\t\t\tcertificateTitle: cert.certificate.certificateTitle,\n\t\t\t\t\tunitId: cert.certificate.unitId,\n\t\t\t\t\tunitTitle: cert.certificate.unitTitle,\n\t\t\t\t\tshortDescription: cert.certificate.shortDescription,\n\t\t\t\t\tfullDescriptionURI: cert.certificate.fullDescriptionURI,\n\t\t\t\t\tvalue: cert.certificate.value,\n\t\t\t\t\tunitMeasurement: cert.certificate.unitMeasurement,\n\t\t\t\t},\n\t\t\t};\n\t\t\tresolve(newJson);\n\t\t});\n\t};\n\n\tcustomToolbar = (\n\t\tselectedRows: any,\n\t\tdisplayData: any,\n\t\tsetSelectedRows: any\n\t) => {\n\t\tconst selectedCertificates = [];\n\t\tfor (const row of selectedRows.data) {\n\t\t\tlet index = row.dataIndex;\n\t\t\tselectedCertificates.push(this.state.exportableData[index]);\n\t\t}\n\t\treturn ;\n\t};\n\n\toptions: any = {\n\t\tdownload: false,\n\t\tfilter: false,\n\t\tfilterType: 'checkbox',\n\t\tselectableRows: 'multiple',\n\t\tselectableRowsOnClick: true,\n\t\texpandableRows: true,\n\t\tprint: false,\n\t\tresponsive: 'scrollMaxHeight',\n\t\tcustomToolbarSelect: this.customToolbar,\n\t\t// renderExpandableRow: renderExpandable,\n\t\trenderExpandableRow: (rowData: any, rowMeta: any) => {\n\t\t\tconst colSpan = rowData.length + 1;\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{rowData[7]}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t},\n\t\ttextLabels: {\n\t\t\tbody: {\n\t\t\t\tnoMatch: 'Sorry, no matching certificates found',\n\t\t\t\ttoolTip: 'Sort',\n\t\t\t},\n\t\t\tpagination: {\n\t\t\t\tnext: 'Next Page',\n\t\t\t\tprevious: 'Previous Page',\n\t\t\t\trowsPerPage: 'Certificates per page:',\n\t\t\t\tdisplayRows: 'of',\n\t\t\t},\n\t\t\ttoolbar: {\n\t\t\t\tsearch: 'Search',\n\t\t\t\tdownloadCsv: 'Download CSV',\n\t\t\t\tprint: 'Print',\n\t\t\t\tviewColumns: 'View Columns',\n\t\t\t\tfilterTable: 'Filter Table',\n\t\t\t},\n\t\t\tfilter: {\n\t\t\t\tall: 'All',\n\t\t\t\ttitle: 'FILTERS',\n\t\t\t\treset: 'RESET',\n\t\t\t},\n\t\t\tviewColumns: {\n\t\t\t\ttitle: 'Show Columns',\n\t\t\t\ttitleAria: 'Show/Hide Table Columns',\n\t\t\t},\n\t\t\tselectedRows: {\n\t\t\t\ttext: 'certificate(s) selected',\n\t\t\t\tdelete: 'Export',\n\t\t\t\tdeleteAria: 'Export Selected Certificates',\n\t\t\t},\n\t\t},\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t);\n\t}\n}\n\nconst mapStateToProps = (state: any): any => ({\n\tgetBalance: () =>\n\t\tstate.contracts.token.balanceOf(state.address, { from: state.address }),\n\tgetToken: (index: number) =>\n\t\tstate.contracts.token.tokenOfOwnerByIndex(state.address, index, {\n\t\t\tfrom: state.address,\n\t\t}),\n\tgetTokenCipher: (id: number) =>\n\t\tstate.contracts.token.tokenCipherText(id, { from: state.address }),\n\tgetTokenHash: (id: number) =>\n\t\tstate.contracts.token.tokenDataHash(id, { from: state.address }),\n\teventTransfer: () => state.contracts.token.Transfer(),\n\tgetAuthorizedAddressCa: (address: string) =>\n\t\tstate.contracts.ca.getAuthorizedAddressCa(address, {\n\t\t\tfrom: state.address,\n\t\t}),\n\taddress: state.address,\n});\n\nconst MyCertificatesTable = connect(mapStateToProps)(MyCertificatesTableRaw);\n\nexport default MyCertificatesTable;\n","import React, { useState, ChangeEvent } from 'react';\nimport './LockedCertificates.css';\nimport { Col, Card } from 'react-bootstrap';\nimport locked from './../../img/locked.png';\nimport { Link } from 'react-router-dom';\n\ninterface IProps {\n\tnumber: number;\n\tdecrypt: any;\n}\n\nconst LockedCertificates: React.FC = (props: IProps) => {\n\tconst [privateKey, setPrivateKey] = useState('');\n\tconst [valid, setValid] = useState(false);\n\n\tconst handlePKChange = (e: ChangeEvent) => {\n\t\tsetPrivateKey(e.target.value);\n\t\tif (e.target.value.length !== 64) {\n\t\t\tsetValid(false);\n\t\t} else {\n\t\t\tsetValid(true);\n\t\t}\n\t};\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{/* Card Body */}\n\t\t\t\t\t\n\t\t\t\t\t\t{/* Illustration */}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t{/* Heading */}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\tHave a quick look at your certificates\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t{/* Content */}\n\t\t\t\t\t\t

    \n\t\t\t\t\t\t\tYou have {props.number} certificates.\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\tTo unlock your data please enter your private key.\n\t\t\t\t\t\t

    \n\t\t\t\t\t\t{/* Password Input */}\n\t\t\t\t\t\t{/*
    \n\t\t\t\t\t\t */}{' '}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t props.decrypt(privateKey)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tDECRYPT\n\t\t\t\t\t\t\n\t\t\t\t\t\t{/* \n\t\t\t\t\t\t */}{' '}\n\t\t\t\t\t\t{/* Heading */}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tWhere do I find my private key?\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\n\t\t
    \n\t);\n};\n\nexport default LockedCertificates;\n","module.exports = __webpack_public_path__ + \"static/media/locked.f268455c.png\";","import React, { useState } from 'react';\nimport './CertValidTable.css';\n// import MaterialDatatable from \"material-datatable\";\nimport { graphqlQuery } from './graph-ql';\n//import { GraphQLClient, gql } from \"graphql-request\";\nimport MUIDataTable, { MUIDataTableColumnOptions } from 'mui-datatables';\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\nimport ValidDot from './../../../img/check-mark.svg';\nimport InvalidDot from './../../../img/close-cross.svg';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableCell from '@material-ui/core/TableCell';\nimport { sizing } from '@material-ui/system';\nconst ethUtil = require('ethereumjs-util');\n\ninterface IProps {\n\thashes: any[];\n\tcerts: any[];\n\tpublicKey: any;\n\tupdate: any;\n\tclassName?: any;\n}\n\nclass CertValidTable extends React.Component {\n\tconstructor(props: any) {\n\t\tsuper(props);\n\t\tthis.verifyAllCertificates = this.verifyAllCertificates.bind(this);\n\t\tthis.state = { overallResult: {}, data: [] };\n\t}\n\n\tcomponentWillReceiveProps(newProps: any) {\n\t\tthis.verifyAllCertificates(\n\t\t\tnewProps.hashes,\n\t\t\tnewProps.certs,\n\t\t\tnewProps.publicKey\n\t\t);\n\t}\n\n\tasync verifyAllCertificates(hashes: any[], certs: any[], publicKey: any) {\n\t\tlet dataResults: any[] = [];\n\t\tlet overallResult = { result: true, data: dataResults };\n\t\tlet certHash = '';\n\t\tlet transactionId: string;\n\n\t\tif (certs.length === 0) {\n\t\t\toverallResult.result = false;\n\t\t}\n\n\t\tfor (const cert of certs) {\n\t\t\tlet found = false;\n\t\t\tlet checkInfo = { certificate: cert, valid: false };\n\t\t\tlet tempCertJSONHash = ethUtil\n\t\t\t\t.keccak256(JSON.stringify(cert))\n\t\t\t\t.toString('hex');\n\t\t\tfor (const element of hashes) {\n\t\t\t\tif (element === tempCertJSONHash) {\n\t\t\t\t\tcertHash = element;\n\t\t\t\t\tfound = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (found === true) {\n\t\t\t\tcheckInfo.valid = true;\n\t\t\t} else {\n\t\t\t\toverallResult.result = false;\n\t\t\t}\n\t\t\tdataResults.push(checkInfo);\n\t\t}\n\n\t\tif (certHash) {\n\t\t\ttry {\n\t\t\t\tconst hashValue = await graphqlQuery(certHash);\n\t\t\t\ttransactionId = hashValue.issuedCertificates[0].id;\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(error);\n\t\t\t}\n\t\t}\n\n\t\tlet newHashResult = ethUtil\n\t\t\t.keccak256(JSON.stringify(overallResult))\n\t\t\t.toString('hex');\n\t\tlet oldHashResult = ethUtil\n\t\t\t.keccak256(JSON.stringify(this.state.overallResult))\n\t\t\t.toString('hex');\n\n\t\tif (oldHashResult !== newHashResult) {\n\t\t\tlet data = [];\n\t\t\tfor (const item of overallResult.data) {\n\t\t\t\tlet itemData = {\n\t\t\t\t\tvalid: item.valid,\n\t\t\t\t\texplorer: (\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\twindow.open(\n\t\t\t\t\t\t\t\t\t`https://bclabum.informatika.uni-mb.si/explorer/tx/${transactionId}`\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tstyle={{ height: '2rem', cursor: 'pointer' }}\n\t\t\t\t\t\t\tsrc={`${window.location.origin}/besu.png`}\n\t\t\t\t\t\t>\n\t\t\t\t\t),\n\t\t\t\t\ttitle: item.certificate.certificate.unitTitle,\n\t\t\t\t\tachievement: item.certificate.certificate.certificateTitle,\n\t\t\t\t\trecipient: `${item.certificate.person.firstName} ${item.certificate.person.lastName}`,\n\t\t\t\t\ttype: item.certificate.certificate.type,\n\t\t\t\t\tvalue: item.certificate.certificate.value,\n\t\t\t\t\tunit: item.certificate.certificate.unitMeasurement,\n\t\t\t\t\ttime: item.certificate.timestamp,\n\t\t\t\t\tissuer: item.certificate.ca.fullName,\n\t\t\t\t\tdescription: item.certificate.certificate.shortDescription,\n\t\t\t\t};\n\t\t\t\tdata.push(itemData);\n\t\t\t}\n\t\t\tthis.setState({ overallResult: overallResult, data: data });\n\t\t\tthis.props.update(overallResult);\n\t\t}\n\t}\n\n\tkrogecTrue: any = (\n\t\t\n\t);\n\tkrogecFalse: any = (\n\t\t\n\t);\n\n\tcustomValidRender: any = (\n\t\tvalue: any,\n\t\ttableMeta: any,\n\t\tupdateValue: Function\n\t) => {\n\t\tif (value) return this.krogecTrue;\n\t\telse return this.krogecFalse;\n\t};\n\n\tnoDisplayOption: MUIDataTableColumnOptions = {\n\t\tdisplay: 'false',\n\t};\n\n\tcolumns = [\n\t\t{\n\t\t\tlabel: 'Valid',\n\t\t\tname: 'valid',\n\t\t\toptions: {\n\t\t\t\tcustomBodyRender: this.customValidRender,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tlabel: 'Explorer',\n\t\t\tname: 'explorer',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Title',\n\t\t\tname: 'title',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Achievement',\n\t\t\tname: 'achievement',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Recipient',\n\t\t\tname: 'recipient',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Type',\n\t\t\tname: 'type',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Value',\n\t\t\tname: 'value',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Unit',\n\t\t\tname: 'unit',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Time',\n\t\t\tname: 'time',\n\t\t\toptions: {\n\t\t\t\tcustomBodyRender: (data: any, meta: any) => {\n\t\t\t\t\tlet date =\n\t\t\t\t\t\tdata.length > 10\n\t\t\t\t\t\t\t? new Date(parseInt(data))\n\t\t\t\t\t\t\t: new Date(1970, 1, 0, 1, 1);\n\t\t\t\t\tlet day = date.getDate();\n\t\t\t\t\tlet month = date.getMonth() + 1;\n\t\t\t\t\tlet year = date.getFullYear();\n\t\t\t\t\tlet hour = ('0' + date.getHours()).slice(-2);\n\t\t\t\t\tlet minutes = ('0' + date.getMinutes()).slice(-2);\n\t\t\t\t\treturn `${day}.${month}.${year} ${hour}:${minutes}`;\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tlabel: 'Issued by',\n\t\t\tname: 'issuer',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Description',\n\t\t\tname: 'description',\n\t\t\toptions: this.noDisplayOption,\n\t\t},\n\t];\n\n\tdata = [\n\t\t{\n\t\t\tvalid: true,\n\t\t\ttitle: 'Lorem ipsum',\n\t\t\tachievement: 'Lorem ipsum lorem ipsum lorem ipsum',\n\t\t\ttype: 'Lorem ipsum lorem ipsum',\n\t\t\tvalue: 111111111,\n\t\t\tunit: 'Lorem ipsum',\n\t\t\ttime: '21.03.2019',\n\t\t\tissuer: 'FERI',\n\t\t\tdescription: 'Kljukica',\n\t\t},\n\t\t{\n\t\t\tvalid: true,\n\t\t\ttitle: 'Lorem ipsum',\n\t\t\tachievement: 'Lorem ipsum lorem ipsum lorem ipsum',\n\t\t\ttype: 'Lorem ipsum lorem ipsum',\n\t\t\tvalue: 2222222222,\n\t\t\tunit: 'Lorem ipsum',\n\t\t\ttime: '21.03.2019',\n\t\t\tissuer: 'UM FERI',\n\t\t\tdescription: 'Kljukica',\n\t\t},\n\t\t{\n\t\t\tvalid: false,\n\t\t\ttitle: 'Lorem ipsum',\n\t\t\tachievement: 'Lorem ipsum lorem ipsum lorem ipsum',\n\t\t\ttype: 'Lorem ipsum lorem ipsum',\n\t\t\tvalue: 3333333333,\n\t\t\tunit: 'Lorem ipsum',\n\t\t\ttime: '21.03.2019',\n\t\t\tissuer: 'UM FERI',\n\t\t\tdescription: 'Kljukica',\n\t\t},\n\t];\n\n\t/*const [responsive, setResponsive] = useState(\"vertical\");\n const [tableBodyHeight, setTableBodyHeight] = useState(\"400px\");*/\n\n\toptions: any = {\n\t\tdownload: false,\n\t\tfilter: false,\n\t\tprint: false,\n\t\tshowResponsive: true,\n\t\tresponsive: 'stacked',\n\t\tselectableRows: 'none',\n\t\texpandableRows: true,\n\t\texpandableRowsOnClick: false,\n\t\trenderExpandableRow: (rowData: any, rowMeta: any) => {\n\t\t\tconst colSpan = rowData.length + 1;\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{rowData[8]}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t},\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t);\n\t}\n}\n\nexport default CertValidTable;\n","'use strict';\n/*\n Install:\n - npm add graphql-request graphql\n*/\nvar __makeTemplateObject =\n\t(this && this.__makeTemplateObject) ||\n\tfunction (cooked, raw) {\n\t\tif (Object.defineProperty) {\n\t\t\tObject.defineProperty(cooked, 'raw', { value: raw });\n\t\t} else {\n\t\t\tcooked.raw = raw;\n\t\t}\n\t\treturn cooked;\n\t};\nvar __awaiter =\n\t(this && this.__awaiter) ||\n\tfunction (thisArg, _arguments, P, generator) {\n\t\tfunction adopt(value) {\n\t\t\treturn value instanceof P\n\t\t\t\t? value\n\t\t\t\t: new P(function (resolve) {\n\t\t\t\t\t\tresolve(value);\n\t\t\t\t });\n\t\t}\n\t\treturn new (P || (P = Promise))(function (resolve, reject) {\n\t\t\tfunction fulfilled(value) {\n\t\t\t\ttry {\n\t\t\t\t\tstep(generator.next(value));\n\t\t\t\t} catch (e) {\n\t\t\t\t\treject(e);\n\t\t\t\t}\n\t\t\t}\n\t\t\tfunction rejected(value) {\n\t\t\t\ttry {\n\t\t\t\t\tstep(generator['throw'](value));\n\t\t\t\t} catch (e) {\n\t\t\t\t\treject(e);\n\t\t\t\t}\n\t\t\t}\n\t\t\tfunction step(result) {\n\t\t\t\tresult.done\n\t\t\t\t\t? resolve(result.value)\n\t\t\t\t\t: adopt(result.value).then(fulfilled, rejected);\n\t\t\t}\n\t\t\tstep(\n\t\t\t\t(generator = generator.apply(thisArg, _arguments || [])).next()\n\t\t\t);\n\t\t});\n\t};\nvar __generator =\n\t(this && this.__generator) ||\n\tfunction (thisArg, body) {\n\t\tvar _ = {\n\t\t\t\tlabel: 0,\n\t\t\t\tsent: function () {\n\t\t\t\t\tif (t[0] & 1) throw t[1];\n\t\t\t\t\treturn t[1];\n\t\t\t\t},\n\t\t\t\ttrys: [],\n\t\t\t\tops: [],\n\t\t\t},\n\t\t\tf,\n\t\t\ty,\n\t\t\tt,\n\t\t\tg;\n\t\treturn (\n\t\t\t(g = { next: verb(0), throw: verb(1), return: verb(2) }),\n\t\t\ttypeof Symbol === 'function' &&\n\t\t\t\t(g[Symbol.iterator] = function () {\n\t\t\t\t\treturn this;\n\t\t\t\t}),\n\t\t\tg\n\t\t);\n\t\tfunction verb(n) {\n\t\t\treturn function (v) {\n\t\t\t\treturn step([n, v]);\n\t\t\t};\n\t\t}\n\t\tfunction step(op) {\n\t\t\tif (f) throw new TypeError('Generator is already executing.');\n\t\t\twhile (_)\n\t\t\t\ttry {\n\t\t\t\t\tif (\n\t\t\t\t\t\t((f = 1),\n\t\t\t\t\t\ty &&\n\t\t\t\t\t\t\t(t =\n\t\t\t\t\t\t\t\top[0] & 2\n\t\t\t\t\t\t\t\t\t? y['return']\n\t\t\t\t\t\t\t\t\t: op[0]\n\t\t\t\t\t\t\t\t\t? y['throw'] ||\n\t\t\t\t\t\t\t\t\t ((t = y['return']) && t.call(y), 0)\n\t\t\t\t\t\t\t\t\t: y.next) &&\n\t\t\t\t\t\t\t!(t = t.call(y, op[1])).done)\n\t\t\t\t\t)\n\t\t\t\t\t\treturn t;\n\t\t\t\t\tif (((y = 0), t)) op = [op[0] & 2, t.value];\n\t\t\t\t\tswitch (op[0]) {\n\t\t\t\t\t\tcase 0:\n\t\t\t\t\t\tcase 1:\n\t\t\t\t\t\t\tt = op;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 4:\n\t\t\t\t\t\t\t_.label++;\n\t\t\t\t\t\t\treturn { value: op[1], done: false };\n\t\t\t\t\t\tcase 5:\n\t\t\t\t\t\t\t_.label++;\n\t\t\t\t\t\t\ty = op[1];\n\t\t\t\t\t\t\top = [0];\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\tcase 7:\n\t\t\t\t\t\t\top = _.ops.pop();\n\t\t\t\t\t\t\t_.trys.pop();\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t!((t = _.trys),\n\t\t\t\t\t\t\t\t(t = t.length > 0 && t[t.length - 1])) &&\n\t\t\t\t\t\t\t\t(op[0] === 6 || op[0] === 2)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t_ = 0;\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\top[0] === 3 &&\n\t\t\t\t\t\t\t\t(!t || (op[1] > t[0] && op[1] < t[3]))\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t_.label = op[1];\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (op[0] === 6 && _.label < t[1]) {\n\t\t\t\t\t\t\t\t_.label = t[1];\n\t\t\t\t\t\t\t\tt = op;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (t && _.label < t[2]) {\n\t\t\t\t\t\t\t\t_.label = t[2];\n\t\t\t\t\t\t\t\t_.ops.push(op);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (t[2]) _.ops.pop();\n\t\t\t\t\t\t\t_.trys.pop();\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\top = body.call(thisArg, _);\n\t\t\t\t} catch (e) {\n\t\t\t\t\top = [6, e];\n\t\t\t\t\ty = 0;\n\t\t\t\t} finally {\n\t\t\t\t\tf = t = 0;\n\t\t\t\t}\n\t\t\tif (op[0] & 5) throw op[1];\n\t\t\treturn { value: op[0] ? op[1] : void 0, done: true };\n\t\t}\n\t};\nexports.__esModule = true;\nexports.graphqlQuery = void 0;\nvar graphql_request_1 = require('graphql-request');\n/*\n Query:\n \n Parameters:\n - {dataCipher: \"...\"}\n \n Response:\n - {\n issuedCertificates: [\n {\n id: \"...\"\n }\n ]\n }\n*/\nvar query = (0, graphql_request_1.gql)(\n\ttemplateObject_1 ||\n\t\t(templateObject_1 = __makeTemplateObject(\n\t\t\t[\n\t\t\t\t'\\n query getIssuedCertificate($dataHash: String!) {\\n issuedCertificates(where: { dataHash: $dataHash }) {\\n id\\n }\\n }\\n',\n\t\t\t],\n\t\t\t[\n\t\t\t\t'\\n query getIssuedCertificate($dataHash: String!) {\\n issuedCertificates(where: { dataHash: $dataHash }) {\\n id\\n }\\n }\\n',\n\t\t\t]\n\t\t))\n);\n/*\n Creating the GraphQLClient that calls the queries\n*/\nvar client = new graphql_request_1.GraphQLClient(\n\t'https://bclabum.informatika.uni-mb.si/graph/subgraphs/name/bclab/EduCTX-graph'\n);\n/*\n Variable shape -> {dataChiper: \"...\"}\n*/\nfunction graphqlQuery(hashValue) {\n\treturn __awaiter(this, void 0, void 0, function () {\n\t\tvar variables;\n\t\treturn __generator(this, function (_a) {\n\t\t\tvariables = {\n\t\t\t\tdataHash: hashValue,\n\t\t\t};\n\t\t\treturn [2 /*return*/, client.request(query, variables)];\n\t\t});\n\t});\n}\nexports.graphqlQuery = graphqlQuery;\nvar templateObject_1;\n","module.exports = __webpack_public_path__ + \"static/media/close-cross.c8b2ca8d.svg\";","import React from 'react';\nimport './CertValid.css';\nimport tick from './../../img/tick.svg';\nimport invalid from './../../img/invalid.svg';\nimport { Row, Col, Card } from 'react-bootstrap';\n\ninterface Props {\n\tvalid?: Boolean;\n\tchildren: string;\n\tclassName?: any;\n}\n\nconst CertValid: React.FC = (props) => {\n\tlet valid: Boolean | undefined = props.valid;\n\n\tif (valid) {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t{props.children}\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t{props.children}\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t);\n\t}\n};\n\nexport default CertValid;\n","module.exports = __webpack_public_path__ + \"static/media/tick.99090faf.svg\";","module.exports = __webpack_public_path__ + \"static/media/invalid.281a5a1f.svg\";","import React from 'react';\nimport { FilePond } from 'react-filepond';\nimport './DragDrop2.css';\n// Import FilePond styles\nimport 'filepond/dist/filepond.min.css';\nimport { Alert } from 'react-bootstrap';\nlet JSZip = require('jszip');\n\ninterface IProps {\n\tcheckFile?: any;\n\tunzippedFile?: any;\n\tsetName?: any;\n}\n\nclass DragDropV2 extends React.Component {\n\tconstructor(props: IProps) {\n\t\tsuper(props);\n\t\tthis.state = { listEmpty: true, fileName: '', show: false };\n\t}\n\tasync checkFile(file: any) {\n\t\tif (\n\t\t\tfile.type !== 'application/x-zip-compressed' &&\n\t\t\tfile.type !== 'application/zip'\n\t\t) {\n\t\t\tconsole.log(file.type);\n\t\t\tthis.setState({ show: true, listEmpty: true });\n\t\t} else {\n\t\t\tlet unzipped = await this.unzipFile(file);\n\t\t\tthis.setState({ fileName: file.name });\n\t\t\tthis.props.setName(this.state.fileName, this.state.listEmpty);\n\t\t\tthis.props.unzippedFile(unzipped);\n\t\t}\n\t}\n\n\tunzipFile(file: any) {\n\t\treturn new Promise(async (resolve, reject) => {\n\t\t\tlet jsonCertArray = [];\n\t\t\ttry {\n\t\t\t\tconst zip = await JSZip.loadAsync(file);\n\t\t\t\tfor (const filename of Object.keys(zip.files)) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tfilename.substr(filename.lastIndexOf('.') + 1) ===\n\t\t\t\t\t\t'json'\n\t\t\t\t\t) {\n\t\t\t\t\t\tlet fileData = await zip.files[filename].async('text');\n\t\t\t\t\t\tjsonCertArray.push(JSON.parse(fileData));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tresolve(jsonCertArray);\n\t\t\t} catch (error) {\n\t\t\t\treject(error);\n\t\t\t}\n\t\t});\n\t}\n\n\tpond: any;\n\n\trender() {\n\t\tif (this.state.show) {\n\t\t\treturn (\n\t\t\t\t this.setState({ show: false })}\n\t\t\t\t\tdismissible\n\t\t\t\t>\n\t\t\t\t\tOh snap! You got an error!\n\t\t\t\t\t

    Only .zip files are allowed.

    \n\t\t\t\t\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\tbrowse'\n\t\t\t\t\t\tonupdatefiles={(fileItems) => {\n\t\t\t\t\t\t\tif (fileItems.length === 0)\n\t\t\t\t\t\t\t\tthis.setState({ listEmpty: true });\n\t\t\t\t\t\t\telse this.setState({ listEmpty: false });\n\t\t\t\t\t\t\tfor (const file of fileItems) {\n\t\t\t\t\t\t\t\tthis.checkFile(file.file);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t}\n}\n\nexport default DragDropV2;\n","module.exports = __webpack_public_path__ + \"static/media/new-certificate.bfcb8bb8.svg\";","module.exports = __webpack_public_path__ + \"static/media/edit-profile.02f38651.svg\";","module.exports = __webpack_public_path__ + \"static/media/nework-illustration@2x.c22d0b61.png\";","module.exports = __webpack_public_path__ + \"static/media/um-logo.4060fa99.svg\";","module.exports = __webpack_public_path__ + \"static/media/sarajevo-full.c1aa2321.png\";","module.exports = __webpack_public_path__ + \"static/media/1200px-Fachhochschule_Bielefeld-logo.svg.e40c6db9.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/help-big.582238f4.svg\";","import React, { ChangeEvent } from 'react';\nimport './IssueCertForm.css';\nimport { Row, Card, Button, Form, Spinner } from 'react-bootstrap';\nimport IssueModal from '../Modal/Modal';\nimport { connect } from 'react-redux';\nimport ValidDot from './../../img/check-mark.svg';\nimport InfoCard from '../InfoCard/InfoCard';\nconst ecies = require('eth-ecies');\nconst jpack = require('jsonpack');\n\nconst JSONSchema = require('../../protocol-buffer/json-shema_pb.js');\nconst ethUtil = require('ethereumjs-util');\n\ninterface Cert {\n\ttype: string;\n\tcertificateTitle: string;\n\tunitId: string;\n\tunitTitle: string;\n\tshortDescription: string;\n\tfullDescriptionURI: string;\n\tvalue: string;\n\tunitMeasurement: string;\n}\n\ninterface Person {\n\tid: string;\n\tfirstName: string;\n\tlastName: string;\n\tethAddress: string;\n\teduCTXid: string;\n}\n\ninterface CA {\n\tfullName: string;\n\tlogoURI: string;\n\tethAddress: string;\n}\n\ninterface Certificate {\n\teductxVersion: string;\n\ttimestamp: string;\n\tperson: Person;\n\tca: CA;\n\tcertificate: Cert;\n}\n\ninterface IState {\n\tlastCert: Certificate;\n\ttemplate: boolean;\n\tcertificate: Certificate;\n\tshow: boolean;\n\tpublicKey: string;\n\tca: boolean;\n\taddress: string;\n\tvalidated: boolean;\n\tlastCertExists: boolean;\n\tvalidId: boolean;\n\tissued: boolean;\n\tsubmitted: boolean;\n}\n\ninterface IProps {\n\tsetName?: any;\n\tisCa?: any;\n\tisAuth?: any;\n\tgetAuthCa?: any;\n\tgetCaData?: any;\n\tgetCaDataAuth?: any;\n\tissueCert?: any;\n\tissueCertAuth?: any;\n\tgetPublicKey?: any;\n\tgetAddress?: any;\n\teventTransfer?: any;\n}\n\nclass IssueCertFormRaw extends React.Component {\n\tconstructor(props: any) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tlastCert: {\n\t\t\t\teductxVersion: '2.0',\n\t\t\t\ttimestamp: Date.now().toString(),\n\t\t\t\tperson: {\n\t\t\t\t\tid: '',\n\t\t\t\t\tfirstName: '',\n\t\t\t\t\tlastName: '',\n\t\t\t\t\tethAddress: '',\n\t\t\t\t\teduCTXid: '',\n\t\t\t\t},\n\t\t\t\tca: { fullName: '', logoURI: '', ethAddress: '' },\n\t\t\t\tcertificate: {\n\t\t\t\t\ttype: '',\n\t\t\t\t\tcertificateTitle: '',\n\t\t\t\t\tunitId: '',\n\t\t\t\t\tunitTitle: '',\n\t\t\t\t\tshortDescription: '',\n\t\t\t\t\tfullDescriptionURI: '',\n\t\t\t\t\tvalue: '',\n\t\t\t\t\tunitMeasurement: '',\n\t\t\t\t},\n\t\t\t},\n\t\t\ttemplate: false,\n\t\t\tcertificate: {\n\t\t\t\teductxVersion: '2.0',\n\t\t\t\ttimestamp: Date.now().toString(),\n\t\t\t\tperson: {\n\t\t\t\t\tid: '',\n\t\t\t\t\tfirstName: '',\n\t\t\t\t\tlastName: '',\n\t\t\t\t\tethAddress: '',\n\t\t\t\t\teduCTXid: '',\n\t\t\t\t},\n\t\t\t\tca: { fullName: '', logoURI: '', ethAddress: '' },\n\t\t\t\tcertificate: {\n\t\t\t\t\ttype: '',\n\t\t\t\t\tcertificateTitle: '',\n\t\t\t\t\tunitId: '',\n\t\t\t\t\tunitTitle: '',\n\t\t\t\t\tshortDescription: '',\n\t\t\t\t\tfullDescriptionURI: '',\n\t\t\t\t\tvalue: '',\n\t\t\t\t\tunitMeasurement: '',\n\t\t\t\t},\n\t\t\t},\n\t\t\tlastCertExists: false,\n\t\t\tshow: false,\n\t\t\tpublicKey: '',\n\t\t\tca: false,\n\t\t\taddress: '',\n\t\t\tvalidated: false,\n\t\t\tvalidId: false, // če je to false, je EduCTX ID invalid!\n\t\t\tissued: false,\n\t\t\tsubmitted: false,\n\t\t};\n\t}\n\n\tasync updateState(nextProps: any) {\n\t\ttry {\n\t\t\tlet address = await nextProps.getAddress(\n\t\t\t\tthis.state.certificate.person.eduCTXid\n\t\t\t);\n\t\t\tthis.setState({\n\t\t\t\taddress: address,\n\t\t\t\tcertificate: {\n\t\t\t\t\t...this.state.certificate,\n\t\t\t\t\tperson: {\n\t\t\t\t\t\t...this.state.certificate.person,\n\t\t\t\t\t\tethAddress: address,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t});\n\t\t\tlet publicKey = await nextProps.getPublicKey(\n\t\t\t\tthis.state.certificate.person.eduCTXid\n\t\t\t);\n\t\t\tif (typeof publicKey !== 'undefined' && publicKey !== null) {\n\t\t\t\tthis.setState({ publicKey: publicKey.substring(2) });\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t}\n\t\tlet isCa = await nextProps.isCa();\n\t\tlet isAuth = await nextProps.isAuth();\n\t\tif (isCa) {\n\t\t\tthis.setState({ ca: true });\n\t\t\tlet caData = await nextProps.getCaData();\n\t\t\tif (typeof caData !== 'undefined') {\n\t\t\t\tthis.setState({\n\t\t\t\t\tcertificate: {\n\t\t\t\t\t\t...this.state.certificate,\n\t\t\t\t\t\tca: {\n\t\t\t\t\t\t\t...this.state.certificate.ca,\n\t\t\t\t\t\t\tfullName: caData[1],\n\t\t\t\t\t\t\tlogoURI: caData[0],\n\t\t\t\t\t\t\tethAddress: nextProps.getCaAddress,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t} else if (isAuth) {\n\t\t\tthis.setState({ ca: false });\n\t\t\tlet ca = await nextProps.getAuthCa();\n\t\t\tlet caData = await nextProps.getCaDataAuth(ca);\n\t\t\tif (typeof caData !== 'undefined') {\n\t\t\t\tthis.setState({\n\t\t\t\t\tcertificate: {\n\t\t\t\t\t\t...this.state.certificate,\n\t\t\t\t\t\tca: {\n\t\t\t\t\t\t\t...this.state.certificate.ca,\n\t\t\t\t\t\t\tfullName: caData[1],\n\t\t\t\t\t\t\tlogoURI: caData[0],\n\t\t\t\t\t\t\tethAddress: nextProps.getCaAddress,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tasync checkID(id: any) {\n\t\tlet address = await this.props.getAddress(id);\n\t\tif (\n\t\t\taddress !== '0x0000000000000000000000000000000000000000' &&\n\t\t\ttypeof address !== 'undefined'\n\t\t) {\n\t\t\tthis.setState({ validId: true });\n\t\t} else {\n\t\t\tthis.setState({ validId: false });\n\t\t}\n\t}\n\n\tasync componentWillReceiveProps(nextProps: any) {\n\t\tthis.updateState(nextProps);\n\t}\n\n\tasync componentDidMount() {\n\t\tthis.updateState(this.props);\n\t}\n\n\tsetSubmit: any = () => {\n\t\tthis.setState({ issued: false, submitted: true });\n\t};\n\n\tsetIssue: any = () => {\n\t\tthis.setState({ issued: true, submitted: false });\n\t\tsetInterval(() => {\n\t\t\tthis.setState({ issued: false });\n\t\t}, 8000);\n\t};\n\n\thandleIssue: any = async () => {\n\t\tlet timestamp = Date.now().toString();\n\t\tlet certificate = this.state.certificate;\n\t\tcertificate.timestamp = timestamp;\n\t\t// this.setState({ certificate: { ...this.state.certificate, eductxVersion: eductxVersion, timestamp: timestamp } });\n\t\tlet certificateJSONHash = await ethUtil\n\t\t\t.keccak256(JSON.stringify(certificate))\n\t\t\t.toString('hex');\n\t\tlet publicKey = this.state.publicKey;\n\n\t\tconst certificateObject: any = new JSONSchema.Certificate();\n\t\tconst personObject: any = new JSONSchema.Person();\n\t\tconst caObject: any = new JSONSchema.CA();\n\t\tconst certObject: any = new JSONSchema.Cert();\n\n\t\tconst packedCert = jpack.pack(certificate).toString();\n\t\tconst packedCertBuf = Buffer.from(packedCert);\n\n\t\tlet str = await ecies\n\t\t\t.encrypt(Buffer.from(publicKey, 'hex'), packedCertBuf)\n\t\t\t.toString('hex');\n\n\t\tif (this.state.ca)\n\t\t\tawait this.props.issueCert(\n\t\t\t\tcertificate.person.eduCTXid,\n\t\t\t\tcertificateJSONHash.toString('hex'),\n\t\t\t\tstr\n\t\t\t);\n\t\telse\n\t\t\tawait this.props.issueCertAuth(\n\t\t\t\tcertificate.person.eduCTXid,\n\t\t\t\tcertificateJSONHash.toString('hex'),\n\t\t\t\tstr\n\t\t\t);\n\n\t\tthis.setSubmit();\n\t\tthis.setState({\n\t\t\tlastCert: certificate,\n\t\t\tlastCertExists: true,\n\t\t\tshow: false,\n\t\t\tcertificate: {\n\t\t\t\teductxVersion: '',\n\t\t\t\ttimestamp: '',\n\t\t\t\tperson: {\n\t\t\t\t\tid: '',\n\t\t\t\t\tfirstName: '',\n\t\t\t\t\tlastName: '',\n\t\t\t\t\tethAddress: '',\n\t\t\t\t\teduCTXid: '',\n\t\t\t\t},\n\t\t\t\tca: { fullName: '', logoURI: '', ethAddress: '' },\n\t\t\t\tcertificate: {\n\t\t\t\t\ttype: '',\n\t\t\t\t\tcertificateTitle: '',\n\t\t\t\t\tunitId: '',\n\t\t\t\t\tunitTitle: '',\n\t\t\t\t\tshortDescription: '',\n\t\t\t\t\tfullDescriptionURI: '',\n\t\t\t\t\tvalue: '',\n\t\t\t\t\tunitMeasurement: '',\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\n\t\tthis.props.eventTransfer().on('data', (event: any) => {\n\t\t\tif (\n\t\t\t\tthis.state.address.toUpperCase() ===\n\t\t\t\tevent.returnValues.to.toUpperCase()\n\t\t\t) {\n\t\t\t\tthis.setIssue();\n\t\t\t}\n\t\t});\n\t};\n\n\thandleShow: any = () => {\n\t\tthis.setState({ show: true });\n\t\tthis.updateState(this.props);\n\t};\n\n\thandleModalClose: any = () => this.setState({ show: false });\n\n\thandleTemplateChange: any = (e: ChangeEvent) => {\n\t\tthis.setState({ template: e.target.checked });\n\t\tif (e.target.checked)\n\t\t\tthis.setState({ certificate: this.state.lastCert });\n\t\telse\n\t\t\tthis.setState({\n\t\t\t\tcertificate: {\n\t\t\t\t\teductxVersion: '',\n\t\t\t\t\ttimestamp: '',\n\t\t\t\t\tperson: {\n\t\t\t\t\t\tid: '',\n\t\t\t\t\t\tfirstName: '',\n\t\t\t\t\t\tlastName: '',\n\t\t\t\t\t\tethAddress: '',\n\t\t\t\t\t\teduCTXid: '',\n\t\t\t\t\t},\n\t\t\t\t\tca: { fullName: '', logoURI: '', ethAddress: '' },\n\t\t\t\t\tcertificate: {\n\t\t\t\t\t\ttype: '',\n\t\t\t\t\t\tcertificateTitle: '',\n\t\t\t\t\t\tunitId: '',\n\t\t\t\t\t\tunitTitle: '',\n\t\t\t\t\t\tshortDescription: '',\n\t\t\t\t\t\tfullDescriptionURI: '',\n\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\tunitMeasurement: '',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t});\n\t};\n\n\thandleSubmit: any = (event: any) => {\n\t\tconst form = event.currentTarget;\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tif (form.checkValidity()) this.handleShow();\n\t\tthis.setState({ validated: true });\n\t};\n\n\thandleTitleChange: any = (e: ChangeEvent) => {\n\t\tthis.setState({\n\t\t\tcertificate: {\n\t\t\t\t...this.state.certificate,\n\t\t\t\tcertificate: {\n\t\t\t\t\t...this.state.certificate.certificate,\n\t\t\t\t\tunitTitle: e.target.value,\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t};\n\n\thandleUnitIDChange: any = (e: ChangeEvent) => {\n\t\tthis.setState({\n\t\t\tcertificate: {\n\t\t\t\t...this.state.certificate,\n\t\t\t\tcertificate: {\n\t\t\t\t\t...this.state.certificate.certificate,\n\t\t\t\t\tunitId: e.target.value,\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t};\n\n\thandleAchievementChange: any = (e: ChangeEvent) => {\n\t\tthis.setState({\n\t\t\tcertificate: {\n\t\t\t\t...this.state.certificate,\n\t\t\t\tcertificate: {\n\t\t\t\t\t...this.state.certificate.certificate,\n\t\t\t\t\tcertificateTitle: e.target.value,\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t};\n\n\thandleShortDescriptionChange: any = (e: ChangeEvent) => {\n\t\tthis.setState({\n\t\t\tcertificate: {\n\t\t\t\t...this.state.certificate,\n\t\t\t\tcertificate: {\n\t\t\t\t\t...this.state.certificate.certificate,\n\t\t\t\t\tshortDescription: e.target.value,\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t};\n\n\thandleCertTypeChange: any = (e: ChangeEvent) => {\n\t\tthis.setState({\n\t\t\tcertificate: {\n\t\t\t\t...this.state.certificate,\n\t\t\t\tcertificate: {\n\t\t\t\t\t...this.state.certificate.certificate,\n\t\t\t\t\ttype: e.target.value,\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t};\n\n\thandleValueChange: any = (e: ChangeEvent) => {\n\t\tthis.setState({\n\t\t\tcertificate: {\n\t\t\t\t...this.state.certificate,\n\t\t\t\tcertificate: {\n\t\t\t\t\t...this.state.certificate.certificate,\n\t\t\t\t\tvalue: e.target.value,\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t};\n\n\thandleMeasurementUnitChange: any = (e: ChangeEvent) => {\n\t\tthis.setState({\n\t\t\tcertificate: {\n\t\t\t\t...this.state.certificate,\n\t\t\t\tcertificate: {\n\t\t\t\t\t...this.state.certificate.certificate,\n\t\t\t\t\tunitMeasurement: e.target.value,\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t};\n\n\thandleRecipientIDChange: any = async (e: ChangeEvent) => {\n\t\tthis.setState({\n\t\t\tcertificate: {\n\t\t\t\t...this.state.certificate,\n\t\t\t\tperson: {\n\t\t\t\t\t...this.state.certificate.person,\n\t\t\t\t\teduCTXid: e.target.value,\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t\tif (e.target.value.length === 8) {\n\t\t\tthis.checkID(e.target.value);\n\t\t}\n\t};\n\n\thandleStudentIDChange: any = (e: ChangeEvent) => {\n\t\tthis.setState({\n\t\t\tcertificate: {\n\t\t\t\t...this.state.certificate,\n\t\t\t\tperson: {\n\t\t\t\t\t...this.state.certificate.person,\n\t\t\t\t\tid: e.target.value,\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t};\n\n\thandleFirstNameChange: any = (e: ChangeEvent) => {\n\t\tthis.setState({\n\t\t\tcertificate: {\n\t\t\t\t...this.state.certificate,\n\t\t\t\tperson: {\n\t\t\t\t\t...this.state.certificate.person,\n\t\t\t\t\tfirstName: e.target.value,\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t};\n\n\thandleLastNameChange: any = (e: ChangeEvent) => {\n\t\tthis.setState({\n\t\t\tcertificate: {\n\t\t\t\t...this.state.certificate,\n\t\t\t\tperson: {\n\t\t\t\t\t...this.state.certificate.person,\n\t\t\t\t\tlastName: e.target.value,\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t};\n\n\thandleURLChange: any = (e: ChangeEvent) => {\n\t\tthis.setState({\n\t\t\tcertificate: {\n\t\t\t\t...this.state.certificate,\n\t\t\t\tcertificate: {\n\t\t\t\t\t...this.state.certificate.certificate,\n\t\t\t\t\tfullDescriptionURI: e.target.value,\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t{this.state.issued ? (\n\t\t\t\t\tCertificate was successfully issued.\n\t\t\t\t) : (\n\t\t\t\t\t''\n\t\t\t\t)}\n\t\t\t\t{this.state.submitted ? (\n\t\t\t\t\t\n\t\t\t\t\t\tCertificate was successfully submitted to blockchain\n\t\t\t\t\t\tnetwork and will be issued in a few seconds.\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t''\n\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\tCertificate\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{/*auto fill*/}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\tSame certificate, different holder:\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tthis.props.setName(\n\t\t\t\t\t\t\t\t\t\t\t\t'Autofill - Checking this box will autofill input fields with the data of last issued certificate.'\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonMouseOut={() =>\n\t\t\t\t\t\t\t\t\t\t\tthis.props.setName('')\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\thtmlFor=\"template\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"p\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tAuto-fill with data of last issued\n\t\t\t\t\t\t\t\t\t\tcertificate\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{/*title and unit id*/}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\tTitle:\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Title - Certificate file will be named with this title. It is recommended to use the name of the course, training or achievement e.g. Kotlin Summer School, Math 101, Certificate in Quality Management.'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName('')\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\tid=\"title\"\n\t\t\t\t\t\t\t\t\t\t\t\tname=\"certTitle\"\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.certificate\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.certificate.unitTitle\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.handleTitleChange\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tLooks good!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\tUnit ID:\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Unit ID represents the ID of course from your system - e.g. M101 as ID for course Math 101.'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName('')\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\tid=\"unit-id\"\n\t\t\t\t\t\t\t\t\t\t\t\tname=\"template\"\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.certificate\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.certificate.unitId\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.handleUnitIDChange\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tLooks good!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{/*achievment*/}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\tAchievement:\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Achievement - What was the recipient’s engagement in the unit - e.g. participation, completion, competition winner, etc.'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName('')\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\tid=\"achievement\"\n\t\t\t\t\t\t\t\t\t\t\t\tname=\"template\"\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.certificate\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.certificate\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.certificateTitle\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.handleAchievementChange\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tLooks good!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{/*Certificate short description*/}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\tCertificate short\n\t\t\t\t\t\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Short description - This description serves as additional information to certificate and will be seen when verifying certificate and in the pdf file of the certificate.'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName('')\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tid=\"description\"\n\t\t\t\t\t\t\t\t\t\t\t\tname=\"template\"\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.certificate\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.certificate\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.shortDescription\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.handleShortDescriptionChange\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tLooks good!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{/*type + value + unit*/}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\tCertificate type:\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Certificate type - E.g. lecture, diploma, certificate.'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName('')\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\tid=\"type\"\n\t\t\t\t\t\t\t\t\t\t\t\tname=\"template\"\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.certificate\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.certificate.type\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.handleCertTypeChange\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tLooks good!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\tValue:\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Value - Connected with field Measurement unit., e.g. number of hours, ECTS points received for course, grade, etc.'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName('')\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\t\t\t\t\tid=\"value\"\n\t\t\t\t\t\t\t\t\t\t\t\tname=\"template\"\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.certificate\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.certificate.value\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.handleValueChange\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tLooks good!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\tMeasurement unit:\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Measurement unit - Assigns unit to value entered in the previous field (field value).'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName('')\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\tid=\"unit\"\n\t\t\t\t\t\t\t\t\t\t\t\tname=\"template\"\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.certificate\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.certificate\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.unitMeasurement\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.handleMeasurementUnitChange\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tLooks good!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\tFull decription URL:\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Full description URL - Add a link to unit description on your website.'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName('')\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\tid=\"title\"\n\t\t\t\t\t\t\t\t\t\t\t\tname=\"fullDescURL\"\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.certificate\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.certificate\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.fullDescriptionURI\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={this.handleURLChange}\n\t\t\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tLooks good!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\tReceiver\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\tRecipient EduCTX ID:\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Receiver EduCTX ID - The EduCTX ID must be correct and already existent. Users can see their ID on the right side of navigation bar.'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName('')\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\tid=\"edu-ctx-id\"\n\t\t\t\t\t\t\t\t\t\t\t\tname=\"template\"\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.certificate\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.person.eduCTXid\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.handleRecipientIDChange\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\tStudent ID:\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Student ID - Input the ID of the recipient or student from your existing system. This serves as an easier identifier and linking of EduCTX with your existing systems.'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName('')\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\tid=\"student-id\"\n\t\t\t\t\t\t\t\t\t\t\t\tname=\"template\"\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.certificate\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.person.id\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.handleStudentIDChange\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tLooks good!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\tFirst name:\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'First name - Include first and middle name of the recipient.'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName('')\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\tid=\"name\"\n\t\t\t\t\t\t\t\t\t\t\t\tname=\"template\"\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.certificate\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.person.firstName\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.handleFirstNameChange\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tLooks good!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\tLast name:\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Last name- Enter last name of the recipient.'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.setName('')\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\tid=\"last-name\"\n\t\t\t\t\t\t\t\t\t\t\t\tname=\"template\"\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.certificate\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.person.lastName\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.handleLastNameChange\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tLooks good!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tISSUE\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nconst mapStateToProps = (state: any): any => ({\n\tisCa: () => state.contracts.ca.isCa(state.address, { from: state.address }),\n\tisAuth: () =>\n\t\tstate.contracts.ca.isAuthorizedAddress(state.address, {\n\t\t\tfrom: state.address,\n\t\t}),\n\tgetAuthCa: () =>\n\t\tstate.contracts.ca.getAuthorizedAddressCa(state.address, {\n\t\t\tfrom: state.address,\n\t\t}),\n\tgetCaData: () =>\n\t\tstate.contracts.ca.getCaMetaData(state.address, {\n\t\t\tfrom: state.address,\n\t\t}),\n\tgetCaDataAuth: (ca: string) =>\n\t\tstate.contracts.ca.getCaMetaData(ca, { from: state.address }),\n\tissueCert: (id: string, dataHash: string, dataCipher: string) =>\n\t\tstate.contracts.token.issueCertificate(id, dataHash, dataCipher, {\n\t\t\tfrom: state.address,\n\t\t}),\n\tissueCertAuth: (id: string, dataHash: string, dataCipher: string) =>\n\t\tstate.contracts.token.issueCertificateAuthorizedAddress(\n\t\t\tid,\n\t\t\tdataHash,\n\t\t\tdataCipher,\n\t\t\t{ from: state.address }\n\t\t),\n\tgetPublicKey: (id: string) =>\n\t\tstate.contracts.reguser.getUserPubKeyById(id, { from: state.address }),\n\tgetAddress: (id: string) =>\n\t\tstate.contracts.reguser.getAddressById(id, { from: state.address }),\n\teventTransfer: () => state.contracts.token.Transfer(),\n\tgetCaAddress: state.address,\n});\n\nconst IssueCertForm = connect(mapStateToProps)(IssueCertFormRaw);\nexport default IssueCertForm;\n","import Modal from 'react-bootstrap/Modal';\nimport { Button } from 'react-bootstrap';\nimport React from 'react';\nimport exclamation from './../../img/exclamation.svg';\n\ninterface Cert {\n\ttype: string;\n\tcertificateTitle: string;\n\tunitId: string;\n\tunitTitle: string;\n\tshortDescription: string;\n\tfullDescriptionURI: string;\n\tvalue: string;\n\tunitMeasurement: string;\n}\n\ninterface Person {\n\tid: string;\n\tfirstName: string;\n\tlastName: string;\n\tethAddress: string;\n\teduCTXid: string;\n}\n\ninterface CA {\n\tfullName: string;\n\tlogoURI: string;\n\tethAddress: string;\n}\n\ninterface Certificate {\n\teductxVersion: string;\n\ttimestamp: string;\n\tperson: Person;\n\tca: CA;\n\tcertificate: Cert;\n}\ninterface Props {\n\tshow: boolean;\n\tonClose: any;\n\tcert: Certificate;\n\tissue: any;\n}\nconst IssueModal: React.FC = (props: Props) => {\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tReview\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t

    Certificate

    \n\t\t\t\t\t

    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\tTitle:\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t{props.cert.certificate.unitTitle}\n\t\t\t\t\t\t\n\t\t\t\t\t

    \n\t\t\t\t\t

    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\tUnit ID:\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t{props.cert.certificate.unitId}\n\t\t\t\t\t\t\n\t\t\t\t\t

    \n\t\t\t\t\t

    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\tAchievement:\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t{props.cert.certificate.certificateTitle}\n\t\t\t\t\t\t\n\t\t\t\t\t

    \n\t\t\t\t\t

    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\tCertificate short description:\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t{props.cert.certificate.shortDescription}\n\t\t\t\t\t\t\n\t\t\t\t\t

    \n\t\t\t\t\t

    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\tLong description URI:\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t{props.cert.certificate.fullDescriptionURI}\n\t\t\t\t\t\t\n\t\t\t\t\t

    \n\t\t\t\t\t

    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\tCertificate type:\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t{props.cert.certificate.type}\n\t\t\t\t\t\t\n\t\t\t\t\t

    \n\t\t\t\t\t

    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\tMeasurement unit:\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t{props.cert.certificate.unitMeasurement}\n\t\t\t\t\t\t\n\t\t\t\t\t

    \n\t\t\t\t\t

    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\tValue:\n\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{props.cert.certificate.value}\n\t\t\t\t\t\t\n\t\t\t\t\t

    \n\n\t\t\t\t\t\n\t\t\t\t\t

    Receiver

    \n\t\t\t\t\t

    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\tRecipient EduCTX ID:\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t{props.cert.person.eduCTXid}\n\t\t\t\t\t\t\n\t\t\t\t\t

    \n\t\t\t\t\t

    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\tStudent ID:\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t{props.cert.person.id}\n\t\t\t\t\t\t\n\t\t\t\t\t

    \n\t\t\t\t\t

    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\tFirst name:\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t{props.cert.person.firstName}\n\t\t\t\t\t\t\n\t\t\t\t\t

    \n\t\t\t\t\t

    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\tLast name:\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t{props.cert.person.lastName}\n\t\t\t\t\t\t\n\t\t\t\t\t

    \n\t\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\tPlease recheck information carefuly and be\n\t\t\t\t\t\t\t\t\taware that the certificates cannot be edited\n\t\t\t\t\t\t\t\t\tafter issuing.\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tDISCARD\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\n// render(Modal);\nexport default IssueModal;\n","module.exports = __webpack_public_path__ + \"static/media/exclamation.55eb4e7b.svg\";","module.exports = __webpack_public_path__ + \"static/media/exclamation-mark.b00c8f59.svg\";","module.exports = __webpack_public_path__ + \"static/media/grey-circles-1.0cf1642a.svg\";","module.exports = __webpack_public_path__ + \"static/media/metamask.5e06983f.png\";","module.exports = __webpack_public_path__ + \"static/media/bug-big.b144f631.svg\";","export const eductxLogo =\n\t'data:image/png;base64,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';\n","export class PositionCalculator {\n\tconstructor(size, orientation) {\n\t\tthis.size = size;\n\t\tthis.orientation = orientation;\n\t}\n\n\tcalcX(percentage) {\n\t\treturn (\n\t\t\t(percentage / 100) *\n\t\t\tstandardSizes[this.size][this.orientation === 'portrait' ? 0 : 1]\n\t\t);\n\t}\n\n\tcalcY(percentage) {\n\t\treturn (\n\t\t\t(percentage / 100) *\n\t\t\tstandardSizes[this.size][this.orientation === 'portrait' ? 1 : 0]\n\t\t);\n\t}\n\n\tcalcTopMargin(shortDescription, title) {\n\t\tlet factor = 0;\n\t\tif (shortDescription.length <= 100) {\n\t\t\tfactor = 0.15;\n\t\t} else if (shortDescription.length < 300 || title.length < 20) {\n\t\t\tfactor = 0.1;\n\t\t}\n\t\treturn factor * standardSizes[this.size][0];\n\t}\n}\n\nconst standardSizes = {\n\t'4A0': [4767.87, 6740.79],\n\t'2A0': [3370.39, 4767.87],\n\tA0: [2383.94, 3370.39],\n\tA1: [1683.78, 2383.94],\n\tA2: [1190.55, 1683.78],\n\tA3: [841.89, 1190.55],\n\tA4: [595.28, 841.89],\n\tA5: [419.53, 595.28],\n\tA6: [297.64, 419.53],\n\tA7: [209.76, 297.64],\n\tA8: [147.4, 209.76],\n\tA9: [104.88, 147.4],\n\tA10: [73.7, 104.88],\n\tB0: [2834.65, 4008.19],\n\tB1: [2004.09, 2834.65],\n\tB2: [1417.32, 2004.09],\n\tB3: [1000.63, 1417.32],\n\tB4: [708.66, 1000.63],\n\tB5: [498.9, 708.66],\n\tB6: [354.33, 498.9],\n\tB7: [249.45, 354.33],\n\tB8: [175.75, 249.45],\n\tB9: [124.72, 175.75],\n\tB10: [87.87, 124.72],\n\tC0: [2599.37, 3676.54],\n\tC1: [1836.85, 2599.37],\n\tC2: [1298.27, 1836.85],\n\tC3: [918.43, 1298.27],\n\tC4: [649.13, 918.43],\n\tC5: [459.21, 649.13],\n\tC6: [323.15, 459.21],\n\tC7: [229.61, 323.15],\n\tC8: [161.57, 229.61],\n\tC9: [113.39, 161.57],\n\tC10: [79.37, 113.39],\n\tRA0: [2437.8, 3458.27],\n\tRA1: [1729.13, 2437.8],\n\tRA2: [1218.9, 1729.13],\n\tRA3: [864.57, 1218.9],\n\tRA4: [609.45, 864.57],\n\tSRA0: [2551.18, 3628.35],\n\tSRA1: [1814.17, 2551.18],\n\tSRA2: [1275.59, 1814.17],\n\tSRA3: [907.09, 1275.59],\n\tSRA4: [637.8, 907.09],\n\tEXECUTIVE: [521.86, 756.0],\n\tFOLIO: [612.0, 936.0],\n\tLEGAL: [612.0, 1008.0],\n\tLETTER: [612.0, 792.0],\n\tTABLOID: [792.0, 1224.0],\n};\n","import { eductxLogo } from '../../images/eductxLogo';\nimport { PositionCalculator } from '../../positionCalculator';\n\nconst axios = require('axios').default;\n\nconst getCaLogo = async (certificate) => {\n\ttry {\n\t\tconst response = await axios.get(certificate.ca.logoURI, {\n\t\t\tresponseType: 'arraybuffer',\n\t\t});\n\n\t\tconst base64 = btoa(\n\t\t\tnew Uint8Array(response.data).reduce(\n\t\t\t\t(data, byte) => data + String.fromCharCode(byte),\n\t\t\t\t''\n\t\t\t)\n\t\t);\n\t\treturn {\n\t\t\timage: 'data:image/png;base64,' + base64,\n\t\t\twidth: 150,\n\t\t};\n\t} catch (error) {\n\t\treturn {};\n\t}\n};\n\n// EduCTX template\nexport const basicTemplate = async (\n\tcertificate,\n\tqrCodeBase64,\n\tpersonFullName,\n\tdate\n) => {\n\tconst pos = new PositionCalculator('A4', 'landscape');\n\tconst {\n\t\tcertificate: {\n\t\t\tcertificateTitle: achievement,\n\t\t\tshortDescription,\n\t\t\tunitMeasurement: unit,\n\t\t\tunitTitle: title,\n\t\t\tvalue,\n\t\t},\n\t} = certificate;\n\n\tconst docDefinition = {\n\t\tpageSize: 'A4',\n\t\tpageOrientation: 'landscape',\n\t\tbackground: [\n\t\t\t{\n\t\t\t\tsvg: '',\n\t\t\t},\n\t\t],\n\t\tcontent: [\n\t\t\t{\n\t\t\t\tcolumns: [\n\t\t\t\t\t{\n\t\t\t\t\t\twidth: 500,\n\t\t\t\t\t\tmargin: [\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t12 + pos.calcTopMargin(shortDescription, title),\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t],\n\t\t\t\t\t\talignment: 'center',\n\t\t\t\t\t\tstack: [\n\t\t\t\t\t\t\tawait getCaLogo(certificate),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\talignment: 'center',\n\t\t\t\t\t\t\t\tmargin: [0, 12, 0, 0],\n\t\t\t\t\t\t\t\tcolumns: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\talignment: 'right',\n\t\t\t\t\t\t\t\t\t\tmargin: [0, 9, 0, 0],\n\t\t\t\t\t\t\t\t\t\tsvg: '',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twidth: 'auto',\n\t\t\t\t\t\t\t\t\t\ttext: achievement,\n\t\t\t\t\t\t\t\t\t\tmargin: [6, 0, 6, 0],\n\t\t\t\t\t\t\t\t\t\tfontSize: 16,\n\t\t\t\t\t\t\t\t\t\tfontWeight: 600,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\talignment: 'left',\n\t\t\t\t\t\t\t\t\t\tmargin: [0, 9, 0, 0],\n\t\t\t\t\t\t\t\t\t\tsvg: '',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttext: title,\n\t\t\t\t\t\t\t\tmargin: [30, 16, 30, 0],\n\t\t\t\t\t\t\t\tfontSize: 40,\n\t\t\t\t\t\t\t\tbold: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttext: 'ISSUED TO',\n\t\t\t\t\t\t\t\tmargin: [30, 12, 30, 0],\n\t\t\t\t\t\t\t\tfontSize: 14,\n\t\t\t\t\t\t\t\tfontWeight: 600,\n\t\t\t\t\t\t\t\tcolor: '#BDBDBD',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttext: personFullName,\n\t\t\t\t\t\t\t\tmargin: [30, 12, 30, 0],\n\t\t\t\t\t\t\t\tfontSize: 24,\n\t\t\t\t\t\t\t\tbold: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\talignment: 'left',\n\t\t\t\t\t\t\t\tsvg: '',\n\t\t\t\t\t\t\t\tmargin: [0, 9, 0, 0],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttext: shortDescription,\n\t\t\t\t\t\t\t\tmargin: [30, 12, 30, 0],\n\t\t\t\t\t\t\t\tfontSize: 13,\n\t\t\t\t\t\t\t\tfontWeight: 400,\n\t\t\t\t\t\t\t\tcolor: '#4F4F4F',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tmargin: [0, 24, 0, 0],\n\t\t\t\t\t\t\t\tcolumns: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tstack: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\ttext: 'MEASUREMENT UNIT',\n\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 14,\n\t\t\t\t\t\t\t\t\t\t\t\tbold: true,\n\t\t\t\t\t\t\t\t\t\t\t\tcolor: '#BDBDBD',\n\t\t\t\t\t\t\t\t\t\t\t\talignment: 'center',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\ttext: `${value} ${unit}`,\n\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 14,\n\t\t\t\t\t\t\t\t\t\t\t\talignment: 'center',\n\t\t\t\t\t\t\t\t\t\t\t\tmargin: [0, 2, 0, 0],\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tstack: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\ttext: 'CERTIFICATE ISSUED',\n\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 14,\n\t\t\t\t\t\t\t\t\t\t\t\tbold: true,\n\t\t\t\t\t\t\t\t\t\t\t\tcolor: '#BDBDBD',\n\t\t\t\t\t\t\t\t\t\t\t\talignment: 'center',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\ttext: date.toLocaleString(),\n\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 14,\n\t\t\t\t\t\t\t\t\t\t\t\talignment: 'center',\n\t\t\t\t\t\t\t\t\t\t\t\tmargin: [0, 2, 0, 0],\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmargin: [0, 75, 0, 0],\n\t\t\t\t\t\tstack: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttext: 'VERIFIED CERTIFICATE',\n\t\t\t\t\t\t\t\tmargin: [32, 0, 0, 0],\n\t\t\t\t\t\t\t\tfontSize: 16,\n\t\t\t\t\t\t\t\tcolor: '#E0E0E0',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\talignment: 'center',\n\t\t\t\t\t\t\t\timage: qrCodeBase64,\n\t\t\t\t\t\t\t\twidth: 300,\n\t\t\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttext: 'To verify the certificate, please scan this QR code.',\n\t\t\t\t\t\t\t\tmargin: [32, 0, 0, 0],\n\t\t\t\t\t\t\t\tcolor: '#828282',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\talignment: 'center',\n\t\t\t\t\t\t\t\twidth: 58,\n\t\t\t\t\t\t\t\theight: 58,\n\t\t\t\t\t\t\t\timage: eductxLogo,\n\t\t\t\t\t\t\t\tmargin: [32, 24, 0, 0],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\n\t\tpageMargins: [0, 30, 0, 30],\n\t};\n\n\treturn docDefinition;\n};\n","import { eductxLogo } from '../../images/eductxLogo';\nimport { concordiaImage } from '../../images/concordia';\nimport { PositionCalculator } from '../../positionCalculator';\n\n// Concordia template\nexport const concordiaTemplate = async (\n\tcertificate,\n\tqrCodeBase64,\n\tpersonFullName,\n\tdate\n) => {\n\tconst pos = new PositionCalculator('A4', 'landscape');\n\tconst {\n\t\tcertificate: {\n\t\t\tcertificateTitle: achievement,\n\t\t\tshortDescription,\n\t\t\tunitMeasurement: unit,\n\t\t\tunitTitle: title,\n\t\t\tvalue,\n\t\t\tfullDescriptionURI,\n\t\t},\n\t} = certificate;\n\tconsole.log(certificate);\n\tconst docDefinition = {\n\t\tpageSize: 'A4',\n\t\tpageOrientation: 'landscape',\n\t\tbackground: [\n\t\t\t{\n\t\t\t\tsvg: '',\n\t\t\t},\n\t\t],\n\t\tcontent: [\n\t\t\t{\n\t\t\t\tcolumns: [\n\t\t\t\t\t{\n\t\t\t\t\t\twidth: 500,\n\t\t\t\t\t\tmargin: [\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t8 + pos.calcTopMargin(shortDescription, title),\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t],\n\t\t\t\t\t\talignment: 'center',\n\t\t\t\t\t\tstack: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\twidth: 200,\n\t\t\t\t\t\t\t\timage: concordiaImage,\n\t\t\t\t\t\t\t\tlink: fullDescriptionURI,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\talignment: 'center',\n\t\t\t\t\t\t\t\tmargin: [0, 8, 0, 0],\n\t\t\t\t\t\t\t\tcolumns: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\talignment: 'right',\n\t\t\t\t\t\t\t\t\t\tmargin: [0, 9, 0, 0],\n\t\t\t\t\t\t\t\t\t\tsvg: '',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twidth: 'auto',\n\t\t\t\t\t\t\t\t\t\ttext: achievement,\n\t\t\t\t\t\t\t\t\t\tmargin: [6, 0, 6, 0],\n\t\t\t\t\t\t\t\t\t\tfontSize: 16,\n\t\t\t\t\t\t\t\t\t\tfontWeight: 600,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\talignment: 'left',\n\t\t\t\t\t\t\t\t\t\tmargin: [0, 9, 0, 0],\n\t\t\t\t\t\t\t\t\t\tsvg: '',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttext: title,\n\t\t\t\t\t\t\t\tmargin: [30, 14, 30, 0],\n\t\t\t\t\t\t\t\tfontSize: 40,\n\t\t\t\t\t\t\t\tbold: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttext: 'ISSUED TO',\n\t\t\t\t\t\t\t\tmargin: [30, 10, 30, 0],\n\t\t\t\t\t\t\t\tfontSize: 14,\n\t\t\t\t\t\t\t\tfontWeight: 600,\n\t\t\t\t\t\t\t\tcolor: '#BDBDBD',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttext: personFullName,\n\t\t\t\t\t\t\t\tmargin: [30, 10, 30, 0],\n\t\t\t\t\t\t\t\tfontSize: 24,\n\t\t\t\t\t\t\t\tbold: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\talignment: 'left',\n\t\t\t\t\t\t\t\tsvg: '',\n\t\t\t\t\t\t\t\tmargin: [0, 9, 0, 0],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttext: shortDescription,\n\t\t\t\t\t\t\t\talignment: 'left',\n\t\t\t\t\t\t\t\tmargin: [30, 10, 30, 0],\n\t\t\t\t\t\t\t\tfontSize: 13,\n\t\t\t\t\t\t\t\tfontWeight: 400,\n\t\t\t\t\t\t\t\tcolor: '#4F4F4F',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tmargin: [0, 20, 0, 0],\n\t\t\t\t\t\t\t\tcolumns: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tstack: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\ttext: 'MEASUREMENT UNIT',\n\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 14,\n\t\t\t\t\t\t\t\t\t\t\t\tbold: true,\n\t\t\t\t\t\t\t\t\t\t\t\tcolor: '#BDBDBD',\n\t\t\t\t\t\t\t\t\t\t\t\talignment: 'center',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\ttext: `${value} ${unit}`,\n\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 14,\n\t\t\t\t\t\t\t\t\t\t\t\talignment: 'center',\n\t\t\t\t\t\t\t\t\t\t\t\tmargin: [0, 2, 0, 0],\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tstack: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\ttext: 'CERTIFICATE ISSUED',\n\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 14,\n\t\t\t\t\t\t\t\t\t\t\t\tbold: true,\n\t\t\t\t\t\t\t\t\t\t\t\tcolor: '#BDBDBD',\n\t\t\t\t\t\t\t\t\t\t\t\talignment: 'center',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\ttext: date.toLocaleString(),\n\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 14,\n\t\t\t\t\t\t\t\t\t\t\t\talignment: 'center',\n\t\t\t\t\t\t\t\t\t\t\t\tmargin: [0, 2, 0, 0],\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmargin: [0, 75, 0, 0],\n\t\t\t\t\t\tstack: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttext: 'VERIFIED CERTIFICATE',\n\t\t\t\t\t\t\t\tmargin: [32, 0, 0, 0],\n\t\t\t\t\t\t\t\tfontSize: 16,\n\t\t\t\t\t\t\t\tcolor: '#E0E0E0',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\talignment: 'center',\n\t\t\t\t\t\t\t\timage: qrCodeBase64,\n\t\t\t\t\t\t\t\twidth: 300,\n\t\t\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttext: 'To verify the certificate, please scan this QR code.',\n\t\t\t\t\t\t\t\tmargin: [32, 0, 0, 0],\n\t\t\t\t\t\t\t\tcolor: '#828282',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\talignment: 'center',\n\t\t\t\t\t\t\t\twidth: 58,\n\t\t\t\t\t\t\t\theight: 58,\n\t\t\t\t\t\t\t\timage: eductxLogo,\n\t\t\t\t\t\t\t\tmargin: [32, 24, 0, 0],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\n\t\tpageMargins: [0, 30, 0, 30],\n\t};\n\n\treturn docDefinition;\n};\n","export const concordiaImage =\n\t'data:image/png;base64,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R0tLd+neezfNzn/Oa14NpSNtk5LifRqSJu/d8d03vnvuOd9hMMhGECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQIAgQBggBBgCBAECAIEAQI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CtZJpxRu2tZR0/d0doFX+iK2wAWXBUvSZpKixd3VJlrb2aWpTWgpDcHvvRKSszxAo6ieqoec86aZnu6296tCM6RhpZzdojWV1gN4qI1jUDcWpMCzFlO44kKSVxltUfB1XEKGJ/nXK3DAnjcsdnGyTIDGNFKkkarijCIoHnGJmZ7QXtuSIE7FZmq4WMfUqumo0ZKr2oeCp4iWI6kCR521VqkUIJU+uZ8ozkBls8DFUsSFzjBcSh668JIyDDhYkyWJuCnFVljhYlvV+dPzlIGF3A9FHgR3tFz4dsHlowRuQEXCxZlsEaTRBj467xtkJbMVx2MFOUhb1Uyc88Y475Wylq5nVnXmzO8wAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAowAI8AIMAKMACPACDACjAAjwAgwAs87Av8DzAs4BTMbZDsAAAAASUVORK5CYII=';\n","import { createShareableURL } from '../../utils/share';\nimport { basicTemplate } from './templates/basic';\nimport { concordiaTemplate } from './templates/concordia';\n\nconst QRCode = require('qrcode');\n\nconst getContent = async (certificate, getAuthorizedAddressCa) => {\n\tconst personFullName =\n\t\tcertificate.person.firstName + ' ' + certificate.person.lastName;\n\tlet date = new Date(0);\n\tdate.setUTCSeconds(certificate.timestamp / 1000);\n\n\tlet qrCodeBase64 = '';\n\ttry {\n\t\tconst qrCodeData = await createShareableURL(certificate);\n\t\tqrCodeBase64 = await generateQR(qrCodeData);\n\t} catch (error) {\n\t\tconsole.error(error);\n\t}\n\n\tconst fontSizeFullName = getFontSize(personFullName.length);\n\n\tlet docDefinition;\n\t//Choose template based on CA authority\n\tconst authorizedAddressCa = await getAuthorizedAddressCa(\n\t\tcertificate.ca.ethAddress\n\t);\n\tif (\n\t\tcertificate.ca.ethAddress ===\n\t\t\t'0x0d807d08434818325dce69c2ffa8a5d8f8ae6e52' ||\n\t\t(authorizedAddressCa &&\n\t\t\tauthorizedAddressCa.toLowerCase() ===\n\t\t\t\t'0x0d807d08434818325dce69c2ffa8a5d8f8ae6e52')\n\t) {\n\t\tdocDefinition = await concordiaTemplate(\n\t\t\tcertificate,\n\t\t\tqrCodeBase64,\n\t\t\tpersonFullName,\n\t\t\tdate\n\t\t);\n\t} else {\n\t\tdocDefinition = await basicTemplate(\n\t\t\tcertificate,\n\t\t\tqrCodeBase64,\n\t\t\tpersonFullName,\n\t\t\tdate\n\t\t);\n\t}\n\n\treturn docDefinition;\n};\n\nfunction getFontSize(lengthOfName) {\n\tlet fontsizeFullName = 0;\n\tif (lengthOfName <= 17) {\n\t\tfontsizeFullName = 38;\n\t} else if (lengthOfName > 17 && lengthOfName <= 20) {\n\t\tfontsizeFullName = 32;\n\t} else if (lengthOfName > 20 && lengthOfName <= 23) {\n\t\tfontsizeFullName = 27;\n\t} else if (lengthOfName > 23 && lengthOfName <= 26) {\n\t\tfontsizeFullName = 23;\n\t} else if (lengthOfName > 26 && lengthOfName <= 29) {\n\t\tfontsizeFullName = 20;\n\t} else if (lengthOfName > 29 && lengthOfName <= 32) {\n\t\tfontsizeFullName = 18;\n\t} else if (lengthOfName > 32 && lengthOfName <= 35) {\n\t\tfontsizeFullName = 16;\n\t} else if (lengthOfName > 35 && lengthOfName <= 38) {\n\t\tfontsizeFullName = 15;\n\t} else if (lengthOfName > 38 && lengthOfName <= 41) {\n\t\tfontsizeFullName = 14;\n\t}\n\treturn fontsizeFullName;\n}\n\nasync function generateQR(data) {\n\ttry {\n\t\tconst qrDataUrl = await QRCode.toDataURL(data);\n\t\t//const qrBase64 = qrDataUrl.split(',');\n\t\treturn qrDataUrl;\n\t} catch (e) {\n\t\tconsole.log('Napaka pri generiranju qr kode');\n\t}\n}\n\n//https://stackoverflow.com/questions/6150289/how-can-i-convert-an-image-into-base64-string-using-javascript/20285053#20285053\n/*\nconst toDataURL = url => fetch(url)\n .then(response => response.blob())\n .then(blob => new Promise((resolve, reject) => {\n const reader = new FileReader()\n reader.onloadend = () => resolve(reader.result)\n reader.onerror = reject\n reader.readAsDataURL(blob)\n }))\n*/\n\nexport { getContent };\n","//BEFORE USE!!:\n// run \"npm install\"\n//\n//HOW TO USE:\n//import this javascript file (getZippedPdfsWithJsons.js) into .ts file, where you would like to use it.\n//\n// import * as zipCreator from '../../js/pdf-zip/getZippedPdfsWithJsons';\n//\n//\n// Then use createZip() function when you want to create and download the zipped pdfs.\n// Required parameter: Array of certs you want to zip and download\n//\n// zipCreator.CreateZip(arrayOfCertificates);\n\nimport { getContent } from './src/pdfDefinition';\n\nlet JSZip = require('jszip');\nlet pdfMake = require('pdfmake/build/pdfmake.js');\nlet pdfFonts = require('pdfmake/build/vfs_fonts.js');\nlet FileSaver = require('file-saver');\npdfMake.vfs = pdfFonts.pdfMake.vfs;\n\nconst createZip = (certificateArray, getAuthorizedAddressCa) => {\n\tlet zip = new JSZip();\n\tlet stevec = 0;\n\tcertificateArray.forEach((certificate) => {\n\t\tgetBlob(certificate, getAuthorizedAddressCa).then((blob) => {\n\t\t\tzip.file(\n\t\t\t\tcertificate.person.lastName +\n\t\t\t\t\t'_' +\n\t\t\t\t\tcertificate.certificate.unitTitle +\n\t\t\t\t\t'.pdf',\n\t\t\t\tblob\n\t\t\t);\n\t\t\tvar blobCert = new Blob([JSON.stringify(certificate)], {\n\t\t\t\ttype: 'application/json;charset=utf-8',\n\t\t\t});\n\t\t\tzip.file(\n\t\t\t\tcertificate.certificate.unitTitle + '_certificate.json',\n\t\t\t\tblobCert\n\t\t\t);\n\t\t\tstevec = stevec + 1;\n\t\t\tif (stevec === certificateArray.length) {\n\t\t\t\tgenerateZip(zip, certificate.person);\n\t\t\t}\n\t\t});\n\t});\n};\n\nfunction getBlob(certificate, getAuthorizedAddressCa) {\n\treturn new Promise(async (resolve, reject) => {\n\t\tlet docDefinition = await getContent(\n\t\t\tcertificate,\n\t\t\tgetAuthorizedAddressCa\n\t\t);\n\t\tconst pdfDocGenerator = pdfMake.createPdf(docDefinition);\n\t\tpdfDocGenerator.getBlob((blob) => {\n\t\t\tresolve(blob);\n\t\t});\n\t});\n}\n\nfunction generateZip(zip, person) {\n\tzip.generateAsync({ type: 'blob' }).then(function (content) {\n\t\tFileSaver.saveAs(\n\t\t\tcontent,\n\t\t\tperson.firstName + '_' + person.lastName + '_certificates.zip'\n\t\t);\n\t});\n}\n\nexport default createZip;\n","import React from 'react';\nimport './Export.css';\nimport createZip from '../../pdf-zip/getZippedPdfsWithJsons.js';\nimport { connect } from 'react-redux';\n\ninterface Props {\n\tcerts?: any;\n\tgetAuthorizedAddressCa?: any;\n}\n\nclass ExportRaw extends React.Component {\n\tconstructor(props: any) {\n\t\tsuper(props);\n\t\tthis.export = this.export.bind(this);\n\t}\n\n\tasync export() {\n\t\tconst exportedCertificates = this.props.certs;\n\t\tcreateZip(exportedCertificates, this.props.getAuthorizedAddressCa);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tEXPORT\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t);\n\t}\n}\n\nconst mapStateToProps = (state: any): any => ({\n\tgetAuthorizedAddressCa: (address: string) =>\n\t\tstate.contracts.ca.getAuthorizedAddressCa(address, {\n\t\t\tfrom: state.address,\n\t\t}),\n});\n\nconst Export = connect(mapStateToProps)(ExportRaw);\n\nexport default Export;\n","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 808;"],"sourceRoot":""}