{"version":3,"sources":["service/interpolate.js","component/DataBooksHeader/dataBooksHeader.jsx","component/FormErrors/FormErrors.js","environment.js","service/apiService.js","component/LinkRedirect.jsx","component/Part Number/partNumber.jsx","component/Multiple/multiple.jsx","component/status/status.jsx","component/DataBookTab/dataBookTab.jsx","component/MultipleStatus/MultipleStatus.jsx","component/FileNameRow.jsx","component/DownloadFilesList.jsx","component/DownloadFile.jsx","App.js","serviceWorker.js","index.js"],"names":["makeInterpolator","rc","\n","\"","str","s","replace","$0","Function","String","prototype","interpolate","obj","cache","__cache","fn","this","DataBooksHeader","react_default","a","createElement","className","src","alt","id","React","Component","FormErrors","_ref","formErrors","Object","keys","map","fieldName","i","length","key","environment","location","window","isLocalhost","hostname","isDevelopment","href","indexOf","isTest","isProduction","isDevMachine","profiling","server","ssl","domain","port","vdir","cors","api","protocol","pathname","split","parseInt","apiService","classCallCheck","url","data","axios","post","JobNumber","get","params","option","fieldvalue","instance","createInstance","LinkRedirect","routeName","props","Redirect","to","PartNumber","_this","possibleConstructorReturn","getPrototypeOf","call","BatchSerial","state","value","MaterialNumber","SerialNumber","CustomerName","CustomerOrederNumber","CustomerMaterialNumber","SalesOrderNum","lineItem","Quantity","ShippingDate","RequesterName","RequesterEmail","req","RequesterEmailValid","RequesterNameValid","MaterialNumberValid","SerialNumberValid","CustomerNameValid","wasSubmitted","jobNumber","redirectPage","optionSelected","loading","handleChange","bind","assertThisInitialized","handleSubmit","optionChanged","fillData","handleChangeDate","setLoaderVisibility","initialize","apiservice","getInstance","event","_this2","stateChangeObj","target","name","stateKey","setState","validateField","fieldValidationErrors","match","validateForm","formValidity","formValid","error","CustomerMaterial","reqForTest2","result","undefined","formatDate","IsSerialOrBatch","FMCOrderNumber","lineitem","LineItem","myInput","_this3","getBySerNumber","then","res","catch","err","console","log","Toastr","visibility","_this4","extractData","document","getElementById","innerHTML","getByBatchNumber","date","startDate","d","Date","month","getMonth","day","getDate","year","getFullYear","submitData","property1","preventDefault","redirectUrl","redirectComp","component_LinkRedirect","react_loader_default","loaded","FormErrors_FormErrors","onSubmit","colSpan","type","required","concat","errorClass","onChange","defaultChecked","max","disabled","Multiple","selectedOption","checkBoxSelected","totalRows","showValidFields","submitMultipleReq","getMultipleReqData","isDataSelected","multipleRequestId","selectedOptionChanged","checkBoxChange","sendSelected","checkBoxval","checkBoxChecked","checked","checkBoxModified","check","results","ischeckBoxSelected","generateCheckBoxData","dispResults","settableData","serialList","batchList","selectedList","serialNumbersWithMat","batchNumbersWithMat","index","Sernum","pushValue","AssyNum","push","selectedItem","BatchNumbers","BatchNum","CustPoNum","sendData","postMultipleSerialBatch","MultiplerequestID","fieldValue","getSerialList","JSON","parse","totalCheckBox","oneCheckBox","tableData","align","getTableBody","getTableBod","_this5","row","AssyDesc","DeliveryNum","QuoteNum","_this6","class","autoComplete","ref","onClick","Status","serverInfo","Request Initialized","step1 unknown error","Service Or Batch Created","step2 unknown error","DataBook Genarated","Errer In genarating Databook","clientInfo","step1","step1Err","step2","step2Err","step3","step3Err","queryparams","jobId","getStatus","displayData","ua","navigator","userAgent","msie","trident","reload","response","stateObj","drowData","moment","CreatedTime","format","STATUS","Description","SerialOrbatch","statusFromServer","buildDisplayData","val","stepName","stepErr","steps","DataBookTab","loadTab","goToStatusPage","tabValue","jobNum","classSwitch","tabContent","Part_Number_partNumber","component_status_status","Multiple_multiple","setTabClass","handleTabChange1","MultipleStatus","getMultipleStatus","restructureData","hasOwnProperty","Array","isArray","rowLength","singleStatus","SerialOrBatchNumber","jobKey","FileNameRow","fileName","FileName","createdDate","CreatedDate","utc","expiryDate","add","selected","Selected","handleCheck","isSelectChecked","selectFile","prevProps","DownloadFilesList","convertBase64toBlob","base64Data","contentType","byteCharacters","atob","bytesLength","slicesCount","Math","ceil","byteArrays","sliceIndex","begin","end","min","bytes","offset","charCodeAt","Uint8Array","Blob","fileList","email","selectAll","downloadFile","setSelectedFiles","handleCheckAll","Apiservice","files","emailId","toLowerCase","defineProperty","file","filesLength","filesSelectedLength","filter","isSelectAllChecked","selectedFile","details","EmailId","FileList","getDatabookFileWithPassword","forEach","list","ErrorStatus","File","fileURL","URL","createObjectURL","open","blob","msSaveOrOpenBlob","tempLink","download","click","remove","onSuccess","component_FileNameRow","noFilesFound","downloadList","DownloadFile","password","showFileList","getFile","Password","getFileListForUser","Email","for","component_DownloadFilesList","options","positionClass","App","HashRouter","DataBooksHeader_dataBooksHeader","Switch","Route","path","exact","component","Boolean","require","polyfill","ReactDOM","render","src_App_0","serviceWorker","ready","registration","unregister"],"mappings":"4OAAA,IAAIA,EAAoB,WACtB,IAAIC,EAAK,CACPC,KAAM,MAAOC,IAAM,OAGrB,OAAO,SAA0BC,GAC/B,IAAIC,EAAI,WACJD,EACCE,QAAQ,WAAY,SAASC,GAC5B,OAAON,EAAGM,KAEXD,QAAQ,kBAAmB,gBAC1B,KAGN,OADQ,IAAIE,SAAS,IAAKH,IAdN,GAqBxBI,OAAOC,UAAUC,YAAc,SAASC,GACtC,IAAIC,EAAQJ,OAAOC,UAAUC,YAAYG,QACpCD,IACHA,EAAQJ,OAAOC,UAAUC,YAAYG,QAAU,IAEjD,IAAIC,EAAKF,EAAMG,MAMf,OALKD,IACFA,EAAKf,EAAiBgB,MACtBH,EAAMG,MAAQD,GAGVA,EAAGH,6OC2BGK,0LAtDP,OACIC,EAAAC,EAAAC,cAAA,OAAKC,UAAU,6BACXH,EAAAC,EAAAC,cAAA,WAEIF,EAAAC,EAAAC,cAAA,OAAKC,UAAU,OACXH,EAAAC,EAAAC,cAAA,WACIF,EAAAC,EAAAC,cAAA,OAAKE,IAAI,wBAAwBD,UAAU,aAAaE,IAAI,iBAGpEL,EAAAC,EAAAC,cAAA,MAAII,GAAG,SAAP,uBAsCAN,EAAAC,EAAAC,cAAA,oTAjDUK,IAAMC,mBCDvBC,qBAAa,SAAAC,GAAA,IAAGC,EAAHD,EAAGC,WAAH,OACtBX,EAAAC,EAAAC,cAAA,OAAKC,UAAU,cACVS,OAAOC,KAAKF,GAAYG,IAAI,SAACC,EAAWC,GACrC,OAAIL,EAAWI,GAAWE,OAAS,EAG3BjB,EAAAC,EAAAC,cAAA,KAAGC,UAAU,YAAYe,IAAKF,GAA9B,IAAkChB,EAAAC,EAAAC,cAAA,QAAMC,UAAU,wCAAhB,KAAlC,IAAmGQ,EAAWI,IAG3G,yBCXjBI,EAAc,GAEbC,EAAuBC,OAAOD,SACrCD,EAAYG,YAAiD,cAAtBF,EAASG,SAChDJ,EAAYK,cAA4BJ,EAASK,KAAKC,QAAQ,gBAAkB,EAChFP,EAAYQ,OAA4BP,EAASK,KAAKC,QAAQ,iBAAmB,EACjFP,EAAYS,aAA4BR,EAASK,KAAKC,QAAQ,kBAAoB,EAClFP,EAAYU,aAA4BT,EAASK,KAAKC,QAAQ,gBAAkB,EAChFP,EAAYW,UAA2BX,EAAYG,cAAe,EAElEH,EAAYY,OACT,WACC,GAAIZ,EAAYG,YACd,MAAO,CACLU,IAAU,GACVC,OAAU,YACVC,KAAU,QACVC,KAAU,GACVC,MAAU,EACVC,IAAU,OAId,GAAIlB,EAAYU,aACd,MAAO,CACLG,IAAiC,WAAtBZ,EAASkB,SAAyB,IAAM,GACnDL,OAAUb,EAASG,SACnBW,KAAiC,WAAtBd,EAASkB,SAAyB,SAAU,SACvDH,KAAU,GACVC,MAAU,EACVC,IAAU,OAOd,IAHA,IAAIE,EAAWnB,EAASmB,SAASC,MAAM,KACnCL,EAAW,GAENnB,EAAI,EAAGA,EAAIuB,EAAStB,OAAS,EAAGD,IACvCmB,GAAQI,EAASvB,GAOnB,MAJa,KAATmB,IACFA,GAAQ,KAGH,CACLH,IAAiC,WAAtBZ,EAASkB,SAAyB,IAAM,GACnDL,OAAUb,EAASG,SACnBW,KAA6B,KAAlBd,EAASc,KAAe,GAAK,IAAMO,SAASrB,EAASc,KAAM,IACtEC,KAAUA,EACVC,MAAU,EACVC,IAAU,OAxCb,GA4CYlB,QChDTuB,oBAEF,SAAAA,IAAe9B,OAAA+B,EAAA,EAAA/B,CAAAd,KAAA4C,GACX5C,KAAKiC,OAASZ,EAAYY,OAC1BjC,KAAK8C,IAAM,0CAA0CnD,YAAYK,KAAKiC,mEA0C3Dc,GACX,IAAID,EAAM9C,KAAK8C,IAAM,yBACrB,OAAOE,IAAMC,KAAKH,EAAKC,4CAIVA,GACb,IAAID,EAAM9C,KAAK8C,IAAM,uBACrB,OAAOE,IAAMC,KAAKH,EAAKC,qCAIjBG,GACN,IAAIJ,EAAM9C,KAAK8C,IAAM,uCACrB,OAAOE,IAAMG,IAAIL,EAAI,CAACM,OAAO,CAACF,UAAWA,+CAI3BA,GACd,IAAIJ,EAAM9C,KAAK8C,IAAM,yDAA2DI,EAChF,OAAOF,IAAMG,IAAIL,yCAMPO,EAAQC,GAClB,IAAIR,EAAM9C,KAAK8C,IAAK,qBAOpB,OALIA,EADW,cAAXO,EACMP,EAAM,gBAAkBO,EAAS,IAAMC,EAEvCR,EAAMO,EAAS,IAAMA,EAAS,IAAMC,EAGvCN,IAAMG,IAAIL,mDAGGC,GAEpB,IAAID,EAAM9C,KAAK8C,IAAM,iCACrB,OAAOE,IAAMC,KAAKH,EAAKC,uDAKCA,GACxB,IAAID,EAAM9C,KAAK8C,IAAM,uCACrB,OAAOE,IAAMC,KAAKH,EAAKC,8CAGRA,GACf,IAAID,EAAM9C,KAAK8C,IAAM,8BACrB,OAAOE,IAAMC,KAAKH,EAAKC,8CAxFvB,OADa,IAAIH,wCAQjB,OAHKA,EAAWW,WACZX,EAAWW,SAAWX,EAAWY,kBAE9BZ,EAAWW,mBAjBpBX,EAOKW,SAAW,KA+FPX,gBCjGAa,mLAPP,IAAIC,EAAY1D,KAAK2D,MAAMD,UAC3B,OACGxD,EAAAC,EAAAC,cAACwD,EAAA,EAAD,CAAUC,GAAI,IAAMH,WAJJjD,IAAMC,4CC0ZlBoD,cAjZX,SAAAA,EAAYH,GAAO,IAAAI,EAAA,OAAAjD,OAAA+B,EAAA,EAAA/B,CAAAd,KAAA8D,IACfC,EAAAjD,OAAAkD,EAAA,EAAAlD,CAAAd,KAAAc,OAAAmD,EAAA,EAAAnD,CAAAgD,GAAAI,KAAAlE,KAAM2D,KAFVQ,YAAc,WAGVJ,EAAKJ,MAAQA,EACbI,EAAKK,MAAQ,CACTC,MAAO,GACPC,eAAgB,GAChBC,aAAc,GACdC,aAAc,GACdC,qBAAsB,GACtBC,uBAAwB,GACxBC,cAAe,GACfC,SAAU,GACVC,SAAU,GACVC,aAAc,GACdC,cAAe,GACfC,eAAgB,GAChBnE,WAAY,CACRyD,eAAgB,GAChBC,aAAc,GACdC,aAAc,GACdQ,eAAgB,GAChBD,cAAe,IAEnBE,IAAK,GACLC,qBAAqB,EACrBC,oBAAoB,EACpBC,qBAAqB,EACrBC,mBAAmB,EACnBC,mBAAmB,EACnBC,cAAc,EACdC,UAAY,GACZC,cAAe,EACfC,eAAgB,gBAChBC,SAAe,GAGnB5B,EAAK6B,aAAe7B,EAAK6B,aAAaC,KAAlB/E,OAAAgF,EAAA,EAAAhF,QAAAgF,EAAA,EAAAhF,CAAAiD,KACpBA,EAAKgC,aAAehC,EAAKgC,aAAaF,KAAlB/E,OAAAgF,EAAA,EAAAhF,QAAAgF,EAAA,EAAAhF,CAAAiD,KACpBA,EAAKiC,cAAgBjC,EAAKiC,cAAcH,KAAnB/E,OAAAgF,EAAA,EAAAhF,QAAAgF,EAAA,EAAAhF,CAAAiD,KACrBA,EAAKkC,SAAWlC,EAAKkC,SAASJ,KAAd/E,OAAAgF,EAAA,EAAAhF,QAAAgF,EAAA,EAAAhF,CAAAiD,KAChBA,EAAKmC,iBAAmBnC,EAAKmC,iBAAiBL,KAAtB/E,OAAAgF,EAAA,EAAAhF,QAAAgF,EAAA,EAAAhF,CAAAiD,KACxBA,EAAKoC,oBAAsBpC,EAAKoC,oBAAoBN,KAAzB/E,OAAAgF,EAAA,EAAAhF,QAAAgF,EAAA,EAAAhF,CAAAiD,KAC3BA,EAAKqC,aA1CUrC,4EAgDf/D,KAAKuC,IAAM8D,EAAWC,mDAGbC,GAAO,IAAAC,EAAAxG,KACZyG,EAAiB,GACrB,GAAIF,EAAMG,OAAOC,KAAM,CACnB,IAAIC,EAAWL,EAAMG,OAAOC,KAC5BF,EAAeG,GAAYL,EAAMG,OAAOrC,MACxCrE,KAAK6G,SAASJ,EAAgB,WAC1BD,EAAKM,cAAcF,EAAUH,EAAeG,6CAK1C3F,EAAWoD,GACrB,IAAI0C,EAAwB/G,KAAKoE,MAAMvD,WACnCqE,EAAsBlF,KAAKoE,MAAMc,oBACjCC,EAAqBnF,KAAKoE,MAAMe,mBAChCC,EAAsBpF,KAAKoE,MAAMgB,oBACjCE,EAAoBtF,KAAKoE,MAAMkB,kBAC/BD,EAAoBrF,KAAKoE,MAAMiB,kBAEnC,OAAQpE,GACJ,IAAK,iBACDmE,EAAsBf,EAAMlD,QAAU,EACtC4F,EAAsBzC,eAAiBc,EAAsB,GAAK,oCAClE,MACJ,IAAK,eACDC,EAAoBhB,EAAMlD,QAAU,EACF,kBAA9BnB,KAAKoE,MAAMsB,eACXqB,EAAsBxC,aAAec,EAAoB,GAAK,kCAE9D0B,EAAsBxC,aAAec,EAAoB,GAAK,iCAElE,MACJ,IAAK,eACDC,EAAoBjB,EAAMlD,QAAU,EACpC4F,EAAsBvC,aAAec,EAAoB,GAAK,kCAC9D,MACJ,IAAK,iBACDJ,EAAsBb,EAAM2C,MAAM,iEAClCD,EAAsB/B,eAAiBE,EAAsB,GAAK,gCAClE,MACJ,IAAK,gBACDC,EAAqBd,EAAMlD,QAAU,EACrC4F,EAAsBhC,cAAgBI,EAAqB,GAAK,0BAMxEnF,KAAK6G,SAAS,CACVhG,WAAYkG,EACZ7B,oBAAqBA,EACrBC,mBAAoBA,EACpBC,oBAAqBA,EACrBE,kBAAmBA,EACnBD,kBAAmBA,GACpBrF,KAAKiH,qDAIR,IAAIC,EAAelH,KAAKoE,MAAMgB,qBAAuBpF,KAAKoE,MAAMiB,mBAAqBrF,KAAKoE,MAAMkB,mBAAqBtF,KAAKoE,MAAMc,qBAAuBlF,KAAKoE,MAAMe,mBAClKnF,KAAK6G,SAAS,CAAEM,UAAWD,uCAGpBE,GACP,OAAyB,IAAjBA,EAAMjG,OAAe,GAAK,kDAGxBoF,GACV,IAAIlD,EAAS,CACTqC,eAAgBa,EAAMG,OAAOrC,MAGjChB,aAAsB,IACtBA,EAAOxC,WAAab,KAAKoE,MAAMvD,WAC/BwC,EAAOxC,WAAW0D,aAAe,GACH,kBAA1BlB,EAAOqC,eACP1F,KAAKmE,YAAc,WAEnBnE,KAAKmE,YAAc,UAEvBnE,KAAK6G,SAASxD,sCAId,IAAI4C,EAAW,CACX1B,aAAgB,iBAChBE,qBAAwB,SACxB4C,iBAAoB,QACpB/C,eAAkB,UAClBE,aAAgB,SAEhBO,cAAiB,2BACjBC,eAAkB,iCAClBmC,WAAa,EACbjC,qBAAuB,EACvBC,oBAAsB,EACtBC,qBAAuB,EACvBE,mBAAqB,EACrBD,mBAAqB,GAES,iBAA9BrF,KAAKoE,MAAMsB,iBACXO,EAAQ,aAAmB,aAC3BA,EAAQ,eAAqB,WAEjCjG,KAAK6G,SAASZ,EAAU,WACpBjG,KAAKsH,sDAuBT,IAjBA,IAAIrB,EAAW,CACX,eACA,uBACA,yBACA,gBACA,WACA,WACA,mBACA,iBACA,eACA,eACA,gBACA,kBAGAsB,EAAS,GAEJrG,EAAI,EAAGA,EAAI+E,EAAS9E,OAAQD,IAC7BlB,KAAKoE,MAAM6B,EAAS/E,MACpBqG,EAAOtB,EAAS/E,IAAMlB,KAAKoE,MAAM6B,EAAS/E,KA8BlD,YA3B4BsG,IAAxBD,EAAOzC,cAAsD,KAAxByC,EAAOzC,eAC5CyC,EAAOzC,aAAe9E,KAAKyH,WAAWF,EAAOzC,eAKjDyC,EAAOG,gBAAkB,IACS,iBAA9B1H,KAAKoE,MAAMsB,iBACX6B,EAAM,YAAkBA,EAAM,aAC9BA,EAAM,gBAAsB,WACrBA,EAAM,mBAGqBC,IAAlCD,EAAO7C,wBAA0E,KAAlC6C,EAAO7C,yBACtD6C,EAAOF,iBAAmBE,EAAO7C,8BAC1B6C,EAAO7C,6BAGW8C,IAAzBD,EAAO5C,eAAwD,KAAzB4C,EAAO5C,gBAC7C4C,EAAOI,eAAiBJ,EAAO5C,qBACxB4C,EAAO5C,oBAGM6C,IAApBD,EAAOK,UAA8C,KAApBL,EAAOK,WACxCL,EAAOM,SAAWN,EAAOK,gBAClBL,EAAOK,UAEXL,sCAGCO,GAAS,IAAAC,EAAA/H,KACjBA,KAAKuC,IAAIyF,eAAeF,GACnBG,KAAK,SAAAC,GACFH,EAAKlB,SAAS,CAAErB,UAAW0C,EAAInF,KAAKG,UAAWuC,cAAa,MAE/D0C,MAAM,SAAAC,GAGH,MAFAC,QAAQC,IAAIF,GACZG,IAAOnB,MAAMgB,GACNA,gDAICI,GAChBxI,KAAK6G,SAAS,CAAClB,QAAS6C,0CAGd,IAAAC,EAAAzI,KACN8H,EAAU9H,KAAK0I,cACe,kBAA9B1I,KAAKoE,MAAMsB,gBACX1F,KAAKmG,qBAAoB,GACzBnG,KAAKuC,IAAIyF,eAAeF,GACnBG,KAAK,SAAAC,GACF,IAAInF,EAAO,4BAAiC0F,EAAKlG,IAAIO,IAAM,uGAC3D6F,SAASC,eAAe,YAAYC,UAAY,MAAQX,EAAInF,KAAKG,UAAY,sCAAwCH,EACrH0F,EAAK5B,SAAS,CAAErB,UAAW0C,EAAInF,KAAKG,UAAWuC,cAAa,EAAME,SAAS,MAE9EwC,MAAM,SAAAC,GAGH,MAFAK,EAAKtC,qBAAoB,GACzBoC,IAAOnB,MAAM,mDACNgB,MAGfpI,KAAKmG,qBAAoB,GACzBnG,KAAKuC,IAAIuG,iBAAiBhB,GACrBG,KAAK,SAAAC,GACF,IAAInF,EAAO,4BAAiC0F,EAAKlG,IAAIO,IAAM,uGAC3D6F,SAASC,eAAe,YAAYC,UAAY,MAAQX,EAAInF,KAAKG,UAAY,sCAAwCH,EACrH0F,EAAK5B,SAAS,CAAErB,UAAW0C,EAAInF,KAAKG,UAAWuC,cAAa,EAAME,SAAS,MAE9EwC,MAAM,SAAAf,GAGH,MAFAqB,EAAKtC,qBAAoB,GACzBoC,IAAOnB,MAAM,kDACPA,8CAKL2B,GACb/I,KAAK6G,SAAS,CACVmC,UAAWD,uCAIRA,GACP,IAAIE,EAAI,IAAIC,KAAKH,GACbI,EAAQ,IAAMF,EAAEG,WAAa,GAC7BC,EAAM,GAAKJ,EAAEK,UACbC,EAAON,EAAEO,cAKb,OAHIL,EAAMhI,OAAS,IAAGgI,EAAQ,IAAMA,GAChCE,EAAIlI,OAAS,IAAGkI,EAAM,IAAMA,GAEzBE,EAAOJ,EAAQE,uCAGb9C,GACT,IAAIkD,EAAa,GACjB,IAAK,IAAIC,KAAa1J,KAAKoE,MACnBpE,KAAKoE,MAAMsF,IAA4B,UAAdA,IACzBD,EAAWC,GAAa1J,KAAKoE,MAAMsF,SAGXlC,IAA5BiC,EAAW3E,cAA0D,KAA5B2E,EAAW3E,eACpD2E,EAAW3E,aAAe9E,KAAKyH,WAAWgC,EAAW3E,eAEzD9E,KAAKsH,cACLf,EAAMoD,kDAIN,IAAIlE,EAAezF,KAAKoE,MAAMqB,aAC1BmE,EAAc,UAAY5J,KAAKoE,MAAMoB,UACrCqE,EAAe3J,EAAAC,EAAAC,cAAC0J,EAAD,CAAcpG,UAAWkG,IAC5C,OACI1J,EAAAC,EAAAC,cAAA,OAAKC,UAAU,aACVoF,GAAgBvF,EAAAC,EAAAC,cAAA,WACZyJ,IAGHpE,GAAgBvF,EAAAC,EAAAC,cAAA,OAAKC,UAAU,OACjCH,EAAAC,EAAAC,cAAC2J,EAAA5J,EAAD,CAAQ6J,QAAShK,KAAKoE,MAAMuB,UACxBzF,EAAAC,EAAAC,cAAA,OAAKC,UAAU,uBACXH,EAAAC,EAAAC,cAAC6J,EAAD,CAAYpJ,WAAYb,KAAKoE,MAAMvD,cAKvCX,EAAAC,EAAAC,cAAA,QAAM8J,SAAUlK,KAAK+F,cACjB7F,EAAAC,EAAAC,cAAA,SAAOI,GAAG,kBAAkBH,UAAU,kBAClCH,EAAAC,EAAAC,cAAA,aAEIF,EAAAC,EAAAC,cAAA,UACIF,EAAAC,EAAAC,cAAA,mBAAUF,EAAAC,EAAAC,cAAA,QAAMC,UAAU,aAAhB,MACVH,EAAAC,EAAAC,cAAA,MAAI+J,QAAQ,KACRjK,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,OAAOzD,KAAK,iBAAiBnG,GAAG,iBAAiB6J,UAAQ,EAAChK,UAAS,gBAAAiK,OAAkBtK,KAAKuK,WAAWvK,KAAKoE,MAAMvD,WAAWyD,iBAAmBD,MAAOrE,KAAKoE,MAAME,eAAgBkG,SAAUxK,KAAK4F,iBAGnN1F,EAAAC,EAAAC,cAAA,UACIF,EAAAC,EAAAC,cAAA,UAAKJ,KAAKmE,YAAYjE,EAAAC,EAAAC,cAAA,QAAMC,UAAU,aAAhB,MACtBH,EAAAC,EAAAC,cAAA,MAAI+J,QAAQ,KACRjK,EAAAC,EAAAC,cAAA,aAAOF,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,QAAQzD,KAAK,WAAWtC,MAAM,gBAAgBoG,gBAAc,EAACD,SAAUxK,KAAKgG,gBAA/F,mBACA9F,EAAAC,EAAAC,cAAA,aAAOF,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,QAAQzD,KAAK,WAAWtC,MAAM,eAAemG,SAAUxK,KAAKgG,gBAA/E,gBACA9F,EAAAC,EAAAC,cAAA,WACIF,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,OAAOzD,KAAK,eAAenG,GAAG,eAAe6J,UAAQ,EAAChK,UAAS,gBAAAiK,OAAkBtK,KAAKuK,WAAWvK,KAAKoE,MAAMvD,WAAW0D,eAAiBF,MAAOrE,KAAKoE,MAAMG,aAAciG,SAAUxK,KAAK4F,kBAI/M1F,EAAAC,EAAAC,cAAA,UACIF,EAAAC,EAAAC,cAAA,0BAAiBF,EAAAC,EAAAC,cAAA,QAAMC,UAAU,aAAhB,MACjBH,EAAAC,EAAAC,cAAA,MAAI+J,QAAQ,KACRjK,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,OAAOzD,KAAK,eAAenG,GAAG,eAAeH,UAAS,gBAAAiK,OAAkBtK,KAAKuK,WAAWvK,KAAKoE,MAAMvD,WAAW2D,eAAiBH,MAAOrE,KAAKoE,MAAMI,aAAcgG,SAAUxK,KAAK4F,iBAGlM1F,EAAAC,EAAAC,cAAA,UACIF,EAAAC,EAAAC,cAAA,uBACAF,EAAAC,EAAAC,cAAA,MAAI+J,QAAQ,KACRjK,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,OAAOzD,KAAK,uBAAuBnG,GAAG,uBAAuBH,UAAU,eAAegE,MAAOrE,KAAKoE,MAAMK,qBAAsB+F,SAAUxK,KAAK4F,iBAGjK1F,EAAAC,EAAAC,cAAA,UACIF,EAAAC,EAAAC,cAAA,6BACAF,EAAAC,EAAAC,cAAA,MAAI+J,QAAQ,KACRjK,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,OAAOzD,KAAK,yBAAyBnG,GAAG,yBAAyBH,UAAU,eAAegE,MAAOrE,KAAKoE,MAAMM,uBAAwB8F,SAAUxK,KAAK4F,iBAGvK1F,EAAAC,EAAAC,cAAA,UACIF,EAAAC,EAAAC,cAAA,sCACAF,EAAAC,EAAAC,cAAA,MAAI+J,QAAQ,KACRjK,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,OAAOzD,KAAK,gBAAgBnG,GAAG,gBAAgBH,UAAU,eAAegE,MAAOrE,KAAKoE,MAAMO,cAAe6F,SAAUxK,KAAK4F,iBAG5I1F,EAAAC,EAAAC,cAAA,UACIF,EAAAC,EAAAC,cAAA,uBACAF,EAAAC,EAAAC,cAAA,MAAI+J,QAAQ,KACRjK,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,SAASzD,KAAK,WAAWnG,GAAG,WAAWkK,IAAI,SAASrK,UAAU,eAAegE,MAAOrE,KAAKoE,MAAMQ,SAAU4F,SAAUxK,KAAK4F,iBAG5I1F,EAAAC,EAAAC,cAAA,UACIF,EAAAC,EAAAC,cAAA,sBACAF,EAAAC,EAAAC,cAAA,MAAI+J,QAAQ,KACRjK,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,SAASzD,KAAK,WAAWnG,GAAG,WAAWH,UAAU,eAAegE,MAAOrE,KAAKoE,MAAMS,SAAU2F,SAAUxK,KAAK4F,iBAG/H1F,EAAAC,EAAAC,cAAA,UACIF,EAAAC,EAAAC,cAAA,uBACAF,EAAAC,EAAAC,cAAA,MAAI+J,QAAQ,KACRjK,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,OAAOzD,KAAK,eAAenG,GAAG,eAAeH,UAAU,eAAegE,MAAOrE,KAAKoE,MAAMU,aAAc0F,SAAUxK,KAAK4F,iBAIzI1F,EAAAC,EAAAC,cAAA,UACIF,EAAAC,EAAAC,cAAA,sBAAaF,EAAAC,EAAAC,cAAA,QAAMC,UAAU,aAAhB,MACbH,EAAAC,EAAAC,cAAA,MAAI+J,QAAQ,KACRjK,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,OAAOzD,KAAK,gBAAgBnG,GAAG,gBAAgBH,UAAS,gBAAAiK,OAAkBtK,KAAKuK,WAAWvK,KAAKoE,MAAMvD,WAAWkE,gBAAkBV,MAAOrE,KAAKoE,MAAMW,cAAeyF,SAAUxK,KAAK4F,iBAGtM1F,EAAAC,EAAAC,cAAA,UACIF,EAAAC,EAAAC,cAAA,+BAAsBF,EAAAC,EAAAC,cAAA,QAAMC,UAAU,aAAhB,MACtBH,EAAAC,EAAAC,cAAA,MAAI+J,QAAQ,KACRjK,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,OAAOzD,KAAK,iBAAiBnG,GAAG,iBAAiBH,UAAS,gBAAAiK,OAAkBtK,KAAKuK,WAAWvK,KAAKoE,MAAMvD,WAAWmE,iBAAmBX,MAAOrE,KAAKoE,MAAMY,eAAgBwF,SAAUxK,KAAK4F,mBAKlN1F,EAAAC,EAAAC,cAAA,OAAKI,GAAG,gBACJN,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,SAAS/F,MAAM,SAAShE,UAAU,kBAAkBsK,UAAW3K,KAAKoE,MAAM+C,cAG9FjH,EAAAC,EAAAC,cAAA,OAAKI,GAAG,sBA3YHC,IAAMC,WCyfhBkK,qBAvfX,SAAAA,EAAYjH,GAAO,IAAAI,EAAA,OAAAjD,OAAA+B,EAAA,EAAA/B,CAAAd,KAAA4K,IACf7G,EAAAjD,OAAAkD,EAAA,EAAAlD,CAAAd,KAAAc,OAAAmD,EAAA,EAAAnD,CAAA8J,GAAA1G,KAAAlE,KAAM2D,KACDS,MAAQ,CACTyG,eAAgB,gBAChBC,iBAAkB,GAClBC,UAAW,eACXhG,cAAe,GACfC,eAAgB,GAChBR,aAAc,GACd3D,WAAY,CACRmE,eAAgB,GAChBD,cAAe,GACfP,aAAc,IAElBU,qBAAqB,EACrBC,oBAAoB,EACpBG,mBAAmB,EACnB0F,gBAAiB,4BACjBC,mBAAmB,EACnBC,oBAAoB,EACpBC,gBAAgB,EAChBC,kBAAoB,GACpB3F,cAAoB,EACpBE,SAAe,GAEnB5B,EAAKqC,aACLrC,EAAKsH,sBAAwBtH,EAAKsH,sBAAsBxF,KAA3B/E,OAAAgF,EAAA,EAAAhF,QAAAgF,EAAA,EAAAhF,CAAAiD,KAC7BA,EAAKuH,eAAiBvH,EAAKuH,eAAezF,KAApB/E,OAAAgF,EAAA,EAAAhF,QAAAgF,EAAA,EAAAhF,CAAAiD,KACtBA,EAAKwH,aAAexH,EAAKwH,aAAa1F,KAAlB/E,OAAAgF,EAAA,EAAAhF,QAAAgF,EAAA,EAAAhF,CAAAiD,KA5BLA,4EAiCf/D,KAAKuC,IAAM8D,EAAWC,4DAGJC,GAClB8B,QAAQC,IAAI/B,EAAMG,OAAOrC,OACzB,IAAIoC,EAAiB,GACrBA,EAAc,eAAqBF,EAAMG,OAAOrC,MAChDrE,KAAK6G,SAASJ,0CAGHF,GAGX,IAGIE,EAHA+E,EAAcjF,EAAMG,OAAOrC,MAC3BoH,EAAkBlF,EAAMG,OAAOgF,QAC/BC,EAAmB,GAEnBC,GAAQ,EAEQ,cAAhBJ,EAEIxL,KAAKoE,MAAMyH,WACXF,EAAmB3L,KAAKoE,MAAM0G,kBACbU,GAAe,CAAEnH,MAAOmH,EAAaE,QAASD,GAK/DG,EAAQH,GAAoCzL,KAAK8L,uBAMrDH,EAAmB3L,KAAKoE,MAAM0G,iBAC1BvE,EAAMG,OAAOgF,UACbE,GAAQ,GAEZD,EAAmB3L,KAAK+L,qBAAqB/L,KAAK6L,QAAQ1K,OAAQyK,IAGtEnF,EAAiB,CAAEqE,iBAAkBa,EAAkBR,eAAgBS,GAKvE5L,KAAK6G,SAASJ,EAAgB,WAC1BzG,KAAKgM,YAAchM,KAAKiM,aAAajM,KAAKoE,MAAMyH,SAChD7L,KAAK6G,SAAS,yCAMXO,GACP,OAAyB,IAAjBA,EAAMjG,OAAe,GAAK,mDAUlC,IAPW,IAAAqF,EAAAxG,KACP2L,EAAmB3L,KAAKoE,MAAM0G,iBAC9BoB,EAAa,GACbC,EAAY,GACZC,EAAe,GACfC,EAAuB,GACvBC,EAAsB,GACjBpL,EAAI,EAAGA,EAAIyK,EAAiBxK,OAAQD,IAAK,CAC9C,IAAIqL,EAAQZ,EAAiBzK,GAAGmD,MAC5BqH,EAAUC,EAAiBzK,GAAGwK,QAClC,GAAIA,GAAgD,KAArC1L,KAAKoE,MAAMyH,QAAQU,GAAOC,OAAe,CACpD,IAAIC,EAAYzM,KAAKoE,MAAMyH,QAAQU,GAAOC,OAAS,OAASxM,KAAKoE,MAAMyH,QAAQU,GAAOG,QACtFR,EAAWS,KAAK3M,KAAKoE,MAAMyH,QAAQU,GAAOC,QAG1CH,EAAqBM,KAAKF,GAC1B,IAAIG,EAAe,CACfnI,qBAAsB,GACtBkD,eAAgB,GAChBN,iBAAkB,GAClB9C,aAAc,GACdsI,aAAc,IAIlBD,EAAajF,eAAiB3H,KAAKoE,MAAMyH,QAAQU,GAAO5H,cACxDiI,EAAarI,aAAevE,KAAKoE,MAAMyH,QAAQU,GAAOC,OAEtDJ,EAAaO,KAAKC,QAEf,GAAIlB,GAAkD,KAAvC1L,KAAKoE,MAAMyH,QAAQU,GAAOO,SAAiB,CAC7D,IAAIL,EAAYzM,KAAKoE,MAAMyH,QAAQU,GAAOO,SAAW,OAAS9M,KAAKoE,MAAMyH,QAAQU,GAAOG,QACxFP,EAAUQ,KAAK3M,KAAKoE,MAAMyH,QAAQU,GAAOO,UAGzCR,EAAoBK,KAAKF,GACzB,IAAIG,EAAe,CACfnI,qBAAsB,GACtBkD,eAAgB,GAChBN,iBAAkB,GAClB9C,aAAc,GACdsI,aAAc,IAGlBD,EAAanI,qBAAuBzE,KAAKoE,MAAMyH,QAAQU,GAAOQ,UAC9DH,EAAajF,eAAiB3H,KAAKoE,MAAMyH,QAAQU,GAAO5H,cACxDiI,EAAaC,aAAe7M,KAAKoE,MAAMyH,QAAQU,GAAOO,SAEtDV,EAAaO,KAAKC,IAK1B,IAUII,EAVe,CACf9J,UAAa,GACbuB,qBAAwB,GACxBH,eAAkB,GAClB+C,iBAAoB,GACpB7C,aAAgB,GAChBK,SAAY,GACZC,aAAgB,GAChB4C,gBAAmB,KAGvBsF,EAAQ,cAAoBd,EAC5Bc,EAAQ,aAAmBb,EAC3Ba,EAAQ,aAAmBZ,EAC3BY,EAAQ,qBAA2BX,EACnCW,EAAQ,oBAA0BV,EAClCU,EAAQ,cAAoBhN,KAAKoE,MAAMW,cACvCiI,EAAQ,aAAmBhN,KAAKoE,MAAMI,aACtCwI,EAAQ,eAAqBhN,KAAKoE,MAAMY,eAGnChF,KAAKoE,MAAM6G,mBACZjL,KAAK6G,SAAS,CAAEoE,mBAAoBjL,KAAKoE,MAAM6G,oBAEnDjL,KAAK6G,SAAS,CAAClB,SAAS,IACxB3F,KAAKuC,IAAI0K,wBAAwBD,GAC5B/E,KAAK,SAAAC,GAGF1B,EAAKK,SAAS,CAAEuE,kBAAmBlD,EAAInF,KAAK,GAAGmK,kBAAmBzH,cAAa,EAAME,SAAS,MAEjGwC,MAAM,SAAAC,GAIH,MAHAC,QAAQC,IAAIF,GACZ5B,EAAKK,SAAS,CAAClB,SAAS,IACxB4C,IAAOnB,MAAM,iCACNgB,4CAMH,IAAAL,EAAA/H,KACRmN,EAAaxE,SAASC,eAAe,YAAYvE,MAChDrE,KAAKoE,MAAM8G,oBACZlL,KAAK6G,SAAS,CAAEqE,oBAAqBlL,KAAKoE,MAAM8G,qBAEpDlL,KAAK6G,SAAS,CAAClB,SAAS,IACxB3F,KAAKuC,IAAI6K,cAAcpN,KAAKoE,MAAMyG,eAAgBsC,GAC7ClF,KAAK,SAAAC,GAEF,IAAInF,EAAOsK,KAAKC,MAAMpF,EAAInF,MAEtBA,EAAKkG,EAAE4C,UACP9D,EAAK8D,QAAU9I,EAAKkG,EAAE4C,SAqB1B,IAAId,EAAYhD,EAAK8D,QAAQ1K,OAAS,cAClCwK,EAAmB5D,EAAKgE,qBAAqBhE,EAAK8D,QAAQ1K,QAAQ,GACtE4G,EAAKlB,SAAS,CAAEqE,oBAAoB,EAAMH,UAAWA,EAAWD,iBAAkBa,IAClF5D,EAAKiE,YAAcjE,EAAKkE,aAAalE,EAAK8D,SAE1C9D,EAAKlB,SAAS,CAAEgF,QAAS9D,EAAK8D,QAASb,gBAAiB,YAAaD,UAAWA,EAAWpF,SAAS,MAGvGwC,MAAM,SAAAC,GAIH,MAHAC,QAAQC,IAAIF,GACZL,EAAKlB,SAAS,CAAClB,SAAS,IACxB4C,IAAOnB,MAAM,iEACNgB,iDAIE2C,EAAWa,GAE5B,IADA,IAAI2B,EAAgB,GACXrM,EAAI,EAAGA,EAAI6J,EAAW7J,IAAK,CAChC,IAAIsM,EAAc,CAAEnJ,MAAOnD,EAAGwK,QAASE,GACvC2B,EAAcZ,KAAKa,GAEvB,OAAOD,uCAGEhH,GAAO,IAAAkC,EAAAzI,KACZyG,EAAiB,GACrB,GAAIF,EAAMG,OAAOC,KAAM,CACnB,IAAIC,EAAWL,EAAMG,OAAOC,KAC5BF,EAAeG,GAAYL,EAAMG,OAAOrC,MACxCrE,KAAK6G,SAASJ,EAAgB,WAC1BgC,EAAK3B,cAAcF,EAAUH,EAAeG,6CAO1C3F,EAAWoD,GACrB,IAAI0C,EAAwB/G,KAAKoE,MAAMvD,WACnCqE,EAAsBlF,KAAKoE,MAAMc,oBACjCC,EAAqBnF,KAAKoE,MAAMe,mBAChCG,EAAoBtF,KAAKoE,MAAMkB,kBAEnC,OAAQrE,GACJ,IAAK,iBAEDiE,EAAsBb,EAAM2C,MAAM,iEAClCD,EAAsB/B,eAAiBE,EAAsB,GAAK,gCAClE,MACJ,IAAK,gBACDC,EAAqBd,EAAMlD,QAAU,EACrC4F,EAAsBhC,cAAgBI,EAAqB,GAAK,0BAChE,MACJ,IAAK,eACDG,EAAoBjB,EAAMlD,QAAU,EACpC4F,EAAsBvC,aAAec,EAAoB,GAAK,kCAMtEtF,KAAK6G,SAAS,CACVhG,WAAYkG,EACZ7B,oBAAqBA,EACrBC,mBAAoBA,EACpBG,kBAAmBA,GACpBtF,KAAKiH,qDAIR,IAAIC,EAAelH,KAAKoE,MAAMc,qBAAuBlF,KAAKoE,MAAMe,oBAAsBnF,KAAKoE,MAAMkB,kBACjGtF,KAAK6G,SAAS,CAAEM,UAAWD,iDAM3B,IAFA,IAAIyE,EAAmB3L,KAAKoE,MAAM0G,iBAC9Bc,GAAQ,EACH1K,EAAI,EAAGA,EAAIyK,EAAiBxK,OAAQD,IACrCyK,EAAiBzK,IAAMyK,EAAiBzK,GAAGwK,UAC3CE,GAAQ,GAIhB,OAAOA,uCAGE6B,GAmDT,OAhDIvN,EAAAC,EAAAC,cAAA,WACIF,EAAAC,EAAAC,cAAA,SAAOC,UAAU,uBACbH,EAAAC,EAAAC,cAAA,aAOIF,EAAAC,EAAAC,cAAA,UACIF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,WACAF,EAAAC,EAAAC,cAAA,MAAIsN,MAAM,SAAS1N,KAAKoE,MAAM2G,YAElC7K,EAAAC,EAAAC,cAAA,UACIF,EAAAC,EAAAC,cAAA,UACIF,EAAAC,EAAAC,cAAA,aACIF,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,WAAW/F,MAAM,YAAYmG,SAAUxK,KAAKsL,mBAGhEpL,EAAAC,EAAAC,cAAA,yBACAF,EAAAC,EAAAC,cAAA,oBACAF,EAAAC,EAAAC,cAAA,qBACAF,EAAAC,EAAAC,cAAA,kBACAF,EAAAC,EAAAC,cAAA,wBACAF,EAAAC,EAAAC,cAAA,qBACAF,EAAAC,EAAAC,cAAA,sCACAF,EAAAC,EAAAC,cAAA,6BAGRF,EAAAC,EAAAC,cAAA,aACKJ,KAAK2N,aAAaF,2CAc1BG,GAAa,IAAAC,EAAA7N,KAEtB,OAAO4N,EAAY5M,IAAI,SAAC8M,EAAKvB,GAAN,OACnBrM,EAAAC,EAAAC,cAAA,MAAIgB,IAAKmL,GACLrM,EAAAC,EAAAC,cAAA,UACIF,EAAAC,EAAAC,cAAA,aACIF,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,WAAW/F,MAAOkI,EAAOb,QAASmC,EAAKzJ,MAAM0G,iBAAiByB,GAAOb,QAASlB,SAAUqD,EAAKvC,mBAGjHpL,EAAAC,EAAAC,cAAA,UACK0N,EAAIC,UAET7N,EAAAC,EAAAC,cAAA,UACK0N,EAAIpB,SAETxM,EAAAC,EAAAC,cAAA,UACK0N,EAAIhB,UAET5M,EAAAC,EAAAC,cAAA,UACK0N,EAAIf,WAET7M,EAAAC,EAAAC,cAAA,UACK0N,EAAIE,aAET9N,EAAAC,EAAAC,cAAA,UACK0N,EAAIG,UAET/N,EAAAC,EAAAC,cAAA,UACK0N,EAAInJ,eAETzE,EAAAC,EAAAC,cAAA,UACK0N,EAAItB,4CAkBZ,IAAA0B,EAAAlO,KACDyF,EAAezF,KAAKoE,MAAMqB,aAC1BmE,EAAc,WAAa5J,KAAKoE,MAAMgH,kBACtCvB,EAAe3J,EAAAC,EAAAC,cAAC0J,EAAD,CAAcpG,UAAWkG,IAC5C,OACI1J,EAAAC,EAAAC,cAAA,OAAKC,UAAU,aACVoF,GAAgBvF,EAAAC,EAAAC,cAAA,WACZyJ,IAGHpE,GAAgBvF,EAAAC,EAAAC,cAAA,WAClBF,EAAAC,EAAAC,cAAC2J,EAAA5J,EAAD,CAAQ6J,QAAShK,KAAKoE,MAAMuB,UAC5BzF,EAAAC,EAAAC,cAAA,OAAKI,GAAG,iBACJN,EAAAC,EAAAC,cAAA,OAAKC,UAAU,OACXH,EAAAC,EAAAC,cAAA,OAAKC,UAAU,aACXH,EAAAC,EAAAC,cAAA,sDACAF,EAAAC,EAAAC,cAAA,aAAOF,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,QAAQzD,KAAK,gBAAgBtC,MAAM,gBAAgBoG,gBAAc,EAACD,SAAUxK,KAAKqL,wBAApG,4BACAnL,EAAAC,EAAAC,cAAA,aAAOF,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,QAAQzD,KAAK,gBAAgBtC,MAAM,YAAYmG,SAAUxK,KAAKqL,wBAAjF,SACAnL,EAAAC,EAAAC,cAAA,aAAOF,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,QAAQzD,KAAK,gBAAgBtC,MAAM,iBAAiBmG,SAAUxK,KAAKqL,wBAAtF,kBAKRnL,EAAAC,EAAAC,cAAA,OAAKC,UAAU,OACXH,EAAAC,EAAAC,cAAA,OAAK+N,MAAM,YACPjO,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,OAAOgE,aAAa,QAAQ/N,UAAU,eAAeG,GAAG,WAAW6N,IAAI,eAY3FnO,EAAAC,EAAAC,cAAA,WAEIF,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,SAAS/F,MAAM,SAAShE,UAAU,kBAAkBiO,QAAS,kBAAMJ,EAAKd,qBAU5FlN,EAAAC,EAAAC,cAAA,OAAKC,UAAWL,KAAKoE,MAAM4G,iBAEvB9K,EAAAC,EAAAC,cAAA,OAAKC,UAAU,uBACXH,EAAAC,EAAAC,cAAC6J,EAAD,CAAYpJ,WAAYb,KAAKoE,MAAMvD,cAEvCX,EAAAC,EAAAC,cAAA,YACIF,EAAAC,EAAAC,cAAA,SAAO+N,MAAM,iBACTjO,EAAAC,EAAAC,cAAA,aACIF,EAAAC,EAAAC,cAAA,UACIF,EAAAC,EAAAC,cAAA,sBAAaF,EAAAC,EAAAC,cAAA,QAAMC,UAAU,aAAhB,MACbH,EAAAC,EAAAC,cAAA,MAAI+J,QAAQ,KACRjK,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,OAAOzD,KAAK,gBAAgBnG,GAAG,gBAAgBH,UAAS,gBAAAiK,OAAkBtK,KAAKuK,WAAWvK,KAAKoE,MAAMvD,WAAWkE,gBAAkBV,MAAOrE,KAAKoE,MAAMW,cAAeyF,SAAUxK,KAAK4F,aAAaC,KAAK7F,UAGxNE,EAAAC,EAAAC,cAAA,UACIF,EAAAC,EAAAC,cAAA,+BAAsBF,EAAAC,EAAAC,cAAA,QAAMC,UAAU,aAAhB,MACtBH,EAAAC,EAAAC,cAAA,MAAI+J,QAAQ,KACRjK,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,OAAOzD,KAAK,iBAAiBnG,GAAG,iBAAiBH,UAAS,gBAAAiK,OAAkBtK,KAAKuK,WAAWvK,KAAKoE,MAAMvD,WAAWmE,iBAAmBX,MAAOrE,KAAKoE,MAAMY,eAAgBwF,SAAUxK,KAAK4F,aAAaC,KAAK7F,UAG5NE,EAAAC,EAAAC,cAAA,UACIF,EAAAC,EAAAC,cAAA,0BAAiBF,EAAAC,EAAAC,cAAA,QAAMC,UAAU,aAAhB,MACjBH,EAAAC,EAAAC,cAAA,MAAI+J,QAAQ,KACRjK,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,OAAOzD,KAAK,eAAenG,GAAG,eAAeH,UAAS,gBAAAiK,OAAkBtK,KAAKuK,WAAWvK,KAAKoE,MAAMvD,WAAW2D,eAAiBH,MAAOrE,KAAKoE,MAAMI,aAAcgG,SAAUxK,KAAK4F,aAAaC,KAAK7F,aAMhOE,EAAAC,EAAAC,cAAA,yFACAF,EAAAC,EAAAC,cAAA,OAAKC,UAAU,eACXH,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,SAAS/F,MAAM,gBAAgBsG,UAAW3K,KAAKoE,MAAM+C,YAAcnH,KAAKoE,MAAM+G,eAAgBmD,QAAStO,KAAKuL,aAAclL,UAAU,sBAEnJL,KAAKoE,MAAM6G,kBAAoB/K,EAAAC,EAAAC,cAAA,OAAKC,UAAU,eAAcH,EAAAC,EAAAC,cAAA,kEAAoE,KACjIF,EAAAC,EAAAC,cAAA,OAAKI,GAAG,YACHR,KAAKgM,aAEThM,KAAKoE,MAAM6G,kBAAoB/K,EAAAC,EAAAC,cAAA,OAAKC,UAAU,eAAcH,EAAAC,EAAAC,cAAA,kEAAoE,eAjf9HK,IAAMC,qCCoJd6N,cAhIX,SAAAA,EAAY5K,GAAO,IAAAI,EAAAjD,OAAA+B,EAAA,EAAA/B,CAAAd,KAAAuO,IACfxK,EAAAjD,OAAAkD,EAAA,EAAAlD,CAAAd,KAAAc,OAAAmD,EAAA,EAAAnD,CAAAyN,GAAArK,KAAAlE,KAAM2D,KAnBV6K,WAAa,CACTC,sBAAuB,QACvBC,sBAAuB,WACvBC,2BAA4B,QAC5BC,sBAAuB,WACvBC,qBAAsB,QACtBC,+BAAgC,YAYjB/K,EATnBgL,WAAa,CACTC,MAAS,sBACTC,SAAY,6BACZC,MAAS,2BACTC,SAAY,kCACZC,MAAS,sBACTC,SAAY,gCAOZ,IAAIC,EAAcvL,EAAKJ,MAAMqD,MAAM5D,OAAOoC,UAJ3B,OAOfzB,EAAKK,MAAQ,CACT4K,OAAS,EACTC,UAAY,EACZC,OAAS,EACTC,UAAY,EACZC,OAAS,EACTC,UAAY,EACZ7J,UAAY,GACZG,SAAS,GAEb5B,EAAKqC,aACLrC,EAAKwL,MAAQD,EAEbvL,EAAKyL,UAAUF,GApBAvL,4EAwBf/D,KAAKuC,IAAM8D,EAAWC,cACtBtG,KAAKyP,YAAc,oCAInB,IAAIC,EAAKnO,OAAOoO,UAAUC,UACxBC,EAAOH,EAAG9N,QAAQ,SAChBkO,EAAUJ,EAAG9N,QAAQ,YACrBiO,EAAO,GAAKC,EAAU,EACtBvO,OAAOD,SAASyO,SAGhB/P,KAAKwP,UAAUxP,KAAKuP,gDAIXrH,GACb,IAAI8H,EAAW3C,KAAKC,MAAMpF,GACtB+H,EAAW,GAGfjQ,KAAKyP,YAAc,8FACnB,IAAK,IAAIvO,EAAI,EAAGA,EAAI8O,EAAS7O,OAAQD,IAAK,CACtC,IAAIgP,EAAW,0BAA8BC,IAAO,IAAIjH,KAAK8G,EAAS9O,GAAGkP,cAAcC,OAAO,yBAA4B,iBAAmBrQ,KAAK+O,WAAW/O,KAAKwO,WAAWwB,EAAS9O,GAAGoP,SAAW,YAAcN,EAAS9O,GAAGqP,YAAc,aAG5O,GAFAvQ,KAAKyP,YAAczP,KAAKyP,YAAcS,EACtCD,EAAQ,UAAgB,IAAMD,EAAS9O,GAAGsP,cAAgB,IACtDxQ,KAAKwO,WAAWwB,EAAS9O,GAAGoP,QAE5BL,EADWjQ,KAAKwO,WAAWwB,EAAS9O,GAAGoP,UACtB,EAIzBtQ,KAAKyP,YAAczP,KAAKyP,YAAc,WAGtC9G,SAASC,eAAe,UAAUC,UAAY7I,KAAKyP,YACnDzP,KAAK6G,SAASoJ,wCAGLlN,GAKT,OAHI7C,EAAAC,EAAAC,cAAA,WACK2C,qCAKH0N,GAAkB,IAAAjK,EAAAxG,KACxBA,KAAK6G,SAAS,CAAClB,SAAS,IACxB3F,KAAKuC,IAAIiN,UAAUiB,GACdxI,KAAK,SAAAC,GACF1B,EAAKkK,iBAAiBxI,EAAInF,MAC1ByD,EAAKK,SAAS,CAAClB,SAAS,MAE3BwC,MAAM,SAAAC,GAIH,MAHA5B,EAAKK,SAAS,CAAClB,SAAS,IACxB0C,QAAQC,IAAIF,GACZG,IAAOnB,MAAMgB,GACNA,kCAIbuI,GACF,IAAIC,EAAW,OAASD,EACpBE,EAAUD,EAAW,MAGzB,OACI1Q,EAAAC,EAAAC,cAAA,OAAKC,UAAU,sCACXH,EAAAC,EAAAC,cAAA,OAAKC,UAAWL,KAAKoE,MAAMwM,GAAY,UAAY5Q,KAAKoE,MAAMyM,GAAW,QAAU,YAAY3Q,EAAAC,EAAAC,cAAA,KAAGI,GAAG,YAAN,SAC/FN,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,SAAS/F,MAAOsM,EAAKtQ,UAAWL,KAAKoE,MAAMwM,GAAY,0BAA4B5Q,KAAKoE,MAAMyM,GAAW,wBAA0B,6BAC/I3Q,EAAAC,EAAAC,cAAA,WAAKF,EAAAC,EAAAC,cAAA,SAAIJ,KAAK+O,WAAW6B,KACzB1Q,EAAAC,EAAAC,cAAA,OAAKC,UAAWL,KAAKoE,MAAMwM,IAAW1Q,EAAAC,EAAAC,cAAA,UAAKJ,KAAKoE,MAAMwM,GAAY,YAAc5Q,KAAKoE,MAAMyM,GAAW,SAAW,kDAKpH,IAAA9I,EAAA/H,KACL,OACIE,EAAAC,EAAAC,cAAA,OAAKC,UAAU,aACXH,EAAAC,EAAAC,cAAC2J,EAAA5J,EAAD,CAAQ6J,QAAShK,KAAKoE,MAAMuB,UAC5BzF,EAAAC,EAAAC,cAAA,OAAKC,UAAU,OACXH,EAAAC,EAAAC,cAAA,OAAKC,UAAU,aACXH,EAAAC,EAAAC,cAAA,MAAII,GAAG,uBAAP,yBAC2BR,KAAKoE,MAAMoB,UADtC,MAIJtF,EAAAC,EAAAC,cAAA,OAAKC,UAAU,YACXH,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,SAAS/J,UAAU,kBAAkBgE,MAAM,UAAUiK,QAAS,kBAAMvG,EAAKgI,cAI7F7P,EAAAC,EAAAC,cAAA,OAAKC,UAAU,OACVL,KAAK8Q,MAAM,GACX9Q,KAAK8Q,MAAM,GACX9Q,KAAK8Q,MAAM,IAEhB5Q,EAAAC,EAAAC,cAAA,OAAKI,GAAG,mBA9IHC,IAAMC,WCmDZqQ,cAjDX,SAAAA,EAAYpN,GAAO,IAAAI,EAAA,OAAAjD,OAAA+B,EAAA,EAAA/B,CAAAd,KAAA+Q,IACfhN,EAAAjD,OAAAkD,EAAA,EAAAlD,CAAAd,KAAAc,OAAAmD,EAAA,EAAAnD,CAAAiQ,GAAA7M,KAAAlE,KAAM2D,KACDS,MAAQ,CACT4M,QAAS,IACTxL,UAAW,IAGfzB,EAAKkN,eAAiBlN,EAAKkN,eAAepL,KAApB/E,OAAAgF,EAAA,EAAAhF,QAAAgF,EAAA,EAAAhF,CAAAiD,KAPPA,gFAUFmN,GACblR,KAAK6G,SAAS,CAAEmK,QAASE,2CAGdC,GACXnR,KAAK6G,SAAS,CAAEmK,QAAS,SAAUxL,UAAW2L,wCAGtCC,GACR,GAAIpR,KAAKoE,MAAM4M,UAAYI,EACvB,MAAO,oDAMN,IACDC,EADC7K,EAAAxG,KAUL,OAPIqR,EADuB,MAAvBrR,KAAKoE,MAAM4M,QACE9Q,EAAAC,EAAAC,cAACkR,EAAD,CAAYhD,QAAStO,KAAKiR,iBACT,WAAvBjR,KAAKoE,MAAM4M,QACL9Q,EAAAC,EAAAC,cAACmR,EAAD,CAAQd,iBAAkBzQ,KAAKoE,MAAMoB,YAErCtF,EAAAC,EAAAC,cAACoR,EAAD,MAKbtR,EAAAC,EAAAC,cAAA,OAAKC,UAAU,aACXH,EAAAC,EAAAC,cAAA,OAAKC,UAAU,UACXH,EAAAC,EAAAC,cAAA,KAAGC,UAAS,GAAAiK,OAAKtK,KAAKyR,YAAY,MAAQnD,QAAS,kBAAM9H,EAAKkL,iBAAiB,OAA/E,eACAxR,EAAAC,EAAAC,cAAA,KAAGC,UAAS,GAAAiK,OAAKtK,KAAKyR,YAAY,MAAQnD,QAAS,kBAAM9H,EAAKkL,iBAAiB,OAA/E,aAEHL,UA9CS5Q,IAAMC,WCuFjBiR,qBArFX,SAAAA,EAAYhO,GAAO,IAAAI,EAAAjD,OAAA+B,EAAA,EAAA/B,CAAAd,KAAA2R,GAEf,IAAIrC,GADJvL,EAAAjD,OAAAkD,EAAA,EAAAlD,CAAAd,KAAAc,OAAAmD,EAAA,EAAAnD,CAAA6Q,GAAAzN,KAAAlE,KAAM2D,KACiBA,MAAMqD,MAAM5D,OAFpB,OAGfkM,EAAcA,EAAYlE,kBAC1BrH,EAAKqC,aACLrC,EAAKK,MAAQ,GACbL,EAAKyL,UAAUF,GANAvL,4EAUf/D,KAAKuC,IAAM8D,EAAWC,gDAGhBmK,GAAkB,IAAAjK,EAAAxG,KACxBA,KAAKuC,IAAIqP,kBAAkBnB,GACtBxI,KAAK,SAAAC,GACF1B,EAAKkK,iBAAiBxI,EAAInF,MAC1ByD,EAAKK,SAAS,MAEjBsB,MAAM,SAAAC,GAGH,MAFAC,QAAQC,IAAIF,GACZG,IAAOnB,MAAMgB,GACNA,6CAIFF,GAEb,IAAI8H,EAAWhQ,KAAK6R,gBAAgB3J,GAEhC4F,EAAM,EAEV,IAAK,IAAI1M,KADTpB,KAAKyP,YAAc,uFACHO,EACZ,GAAIA,EAAS8B,eAAe1Q,IAAQ2Q,MAAMC,QAAQhC,EAAS5O,IAAO,CAC9D,IAAI6Q,EAAYjC,EAAS5O,GAAKD,OAAS,EACnC+Q,EAAe,cAAgB9Q,EAC/B8O,EAAW,8BACXpC,EAAM,KACNkC,EAAS5O,GAAK6Q,GAAWE,oBAAsB,aAC/CnC,EAAS5O,GAAK6Q,GAAW3B,OAAS,iDAClC4B,EAAe,wCACnBlS,KAAKyP,YAAczP,KAAKyP,YAAcS,EACtCpC,IAGJnF,SAASC,eAAe,yBACxBD,SAASC,eAAe,uBAAuBC,UAAY7I,KAAKyP,aAEpEzP,KAAK6G,SAnBU,4CAsBHqB,GACZA,EAAMmF,KAAKC,MAAMpF,GAEjB,IADA,IAAIX,EAAS,GACJrG,EAAI,EAAGA,EAAIgH,EAAI/G,OAAQD,IAAK,CAEjC,IAAIkR,EAASlK,EAAIhH,GAAGgC,UAChBqE,EAAO6K,GACP7K,EAAO6K,GAAQzF,KAAKzE,EAAIhH,KAExBqG,EAAO6K,GAAU,GACjB7K,EAAO6K,GAAQ,GAAKlK,EAAIhH,IAGhC,OAAOqG,mCAIP,OACIrH,EAAAC,EAAAC,cAAA,WACIF,EAAAC,EAAAC,cAAA,OAAKC,UAAU,aACXH,EAAAC,EAAAC,cAAA,OAAKC,UAAU,OACXH,EAAAC,EAAAC,cAAA,MAAII,GAAG,sBAAP,oCAIJN,EAAAC,EAAAC,cAAA,OAAKI,GAAG,iCA9ECC,IAAMC,oBCkCpB2R,cAnCX,SAAAA,EAAY1O,GAAO,IAAAI,EAAA,OAAAjD,OAAA+B,EAAA,EAAA/B,CAAAd,KAAAqS,IACftO,EAAAjD,OAAAkD,EAAA,EAAAlD,CAAAd,KAAAc,OAAAmD,EAAA,EAAAnD,CAAAuR,GAAAnO,KAAAlE,KAAM2D,KACDS,MAAQ,CACXkO,SAAU3O,EAAQA,EAAM4O,SAAW,GACnCC,YAAc7O,EAAQwM,IAAOxM,EAAM8O,aAAaC,MAAMrC,OAAO,yBAA2B,GACxFsC,WAAahP,EAAQwM,IAAOxM,EAAM8O,aAAaC,MAAME,IAAI,GAAG,QAAQvC,OAAO,yBAA2B,GACtGwC,WAAUlP,GAASA,EAAMmP,UAE3B/O,EAAKgP,YAAsBhP,EAAKgP,YAAYlN,KAAjB/E,OAAAgF,EAAA,EAAAhF,QAAAgF,EAAA,EAAAhF,CAAAiD,KARZA,2EAUPwC,GACR,IAAMyM,EAAkBzM,EAAMG,OAAOgF,QACrC1L,KAAK6G,SAAS,CAACgM,SAAUG,IACzBhT,KAAK2D,MAAMsP,WAAWjT,KAAKoE,MAAMkO,SAAUU,8CAG5BE,GACXlT,KAAK2D,MAAMmP,WAAaI,EAAUJ,UAClC9S,KAAK6G,SAAS,CAACgM,SAAU7S,KAAK2D,MAAMmP,4CAK1C,IAAI1O,EAAQpE,KAAKoE,MACf,OACIlE,EAAAC,EAAAC,cAAA,UACIF,EAAAC,EAAAC,cAAA,MAAIC,UAAU,oBAAmBH,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,WAAWI,SAAUxK,KAAK+S,YAAarH,QAAS1L,KAAKoE,MAAMyO,YACxG3S,EAAAC,EAAAC,cAAA,UAAKgE,EAAMkO,UACXpS,EAAAC,EAAAC,cAAA,UAAKgE,EAAMoO,aACXtS,EAAAC,EAAAC,cAAA,UAAKgE,EAAMuO,oBA/BDlS,IAAMC,WC0LjByS,cApLX,SAAAA,EAAYxP,GAAO,IAAAI,EAAA,OAAAjD,OAAA+B,EAAA,EAAA/B,CAAAd,KAAAmT,IACfpP,EAAAjD,OAAAkD,EAAA,EAAAlD,CAAAd,KAAAc,OAAAmD,EAAA,EAAAnD,CAAAqS,GAAAjP,KAAAlE,KAAM2D,KA+BVyP,oBAAsB,SAACC,EAAYC,GAC/BA,EAAcA,GAAe,GAO7B,IANA,IACMC,EAAiBC,KAAKH,GACtBI,EAAcF,EAAepS,OAC7BuS,EAAcC,KAAKC,KAAKH,EAHZ,MAIZI,EAAa,IAAI9B,MAAM2B,GAEpBI,EAAa,EAAGA,EAAaJ,IAAeI,EAAY,CAK/D,IAJA,IAAMC,EAPU,KAOFD,EACRE,EAAML,KAAKM,IAAIF,EARL,KAQwBN,GAElCS,EAAQ,IAAInC,MAAMiC,EAAMD,GACrBI,EAASJ,EAAO7S,EAAI,EAAGiT,EAASH,IAAO9S,IAAKiT,EACnDD,EAAMhT,GAAKqS,EAAeY,GAAQC,WAAW,GAE/CP,EAAWC,GAAc,IAAIO,WAAWH,GAE1C,OAAO,IAAII,KAAKT,EAAY,CAAEzJ,KAAMkJ,KAhDpCvP,EAAKK,MAAQ,CACXmQ,SAAU,GACVC,MAAQ,GACR7O,SAAS,EACT8O,WAAY,GAGd1Q,EAAK2Q,aAAsB3Q,EAAK2Q,aAAa7O,KAAlB/E,OAAAgF,EAAA,EAAAhF,QAAAgF,EAAA,EAAAhF,CAAAiD,KAC3BA,EAAK6B,aAAsB7B,EAAK6B,aAAaC,KAAlB/E,OAAAgF,EAAA,EAAAhF,QAAAgF,EAAA,EAAAhF,CAAAiD,KAC3BA,EAAKqP,oBAAsBrP,EAAKqP,oBAAoBvN,KAAzB/E,OAAAgF,EAAA,EAAAhF,QAAAgF,EAAA,EAAAhF,CAAAiD,KAC3BA,EAAK4Q,iBAAsB5Q,EAAK4Q,iBAAiB9O,KAAtB/E,OAAAgF,EAAA,EAAAhF,QAAAgF,EAAA,EAAAhF,CAAAiD,KAC3BA,EAAK6Q,eAAsB7Q,EAAK6Q,eAAe/O,KAApB/E,OAAAgF,EAAA,EAAAhF,QAAAgF,EAAA,EAAAhF,CAAAiD,KAC3BA,EAAKqC,aAdUrC,4EAiBf/D,KAAKuC,IAAMsS,EAAWvO,0DAGxB,IAAIwO,EAAQ9U,KAAK2D,MAAM4Q,SACjBQ,EAAU/U,KAAK2D,MAAM6Q,MACzBxU,KAAK6G,SAAS,CAAC0N,SAAWO,EAAON,MAAQO,wCAIzC/U,KAAK6G,SAAS,CAAElB,SAAS,yCAEhBY,GACL,IAAIK,EAAYL,EAAMG,OAAOC,KAAMqO,cACnChV,KAAK6G,SAAL/F,OAAAmU,EAAA,EAAAnU,CAAA,GAAgB8F,EAAWL,EAAMG,OAAOrC,iDAuB/BiO,EAAUU,GACvB,IAAIyB,EAAYzU,KAAKoE,MAAMqQ,UACrBK,EAAQ9U,KAAKoE,MAAMmQ,SAASvT,IAAI,SAAAkU,GAIlC,OAHGA,EAAK3C,UAAYD,IAChB4C,EAAKrC,SAAWG,GAEbkC,IAELC,EAAcnV,KAAKoE,MAAMmQ,SAASpT,OAClCiU,EAAsBpV,KAAKoE,MAAMmQ,SAASc,OAAO,SAAAH,GAAI,OAAIA,EAAKrC,WAAU1R,OAC3EgU,GAAeC,GAAuBpV,KAAKoE,MAAMqQ,UAChDA,GAAY,EAERU,GAAeC,GAAwBpV,KAAKoE,MAAMqQ,YACtDA,GAAY,GAEhBzU,KAAK6G,SAAS,CAAC0N,SAAWO,EAAOL,UAAYA,2CAGlClO,GACX,IAAM+O,EAAqB/O,EAAMG,OAAOgF,QACxC1L,KAAK6G,SAAS,CAAC4N,UAAWa,IAC1B,IAAMR,EAAQ9U,KAAKoE,MAAMmQ,SAASvT,IAAI,SAAAkU,GAElC,OADAA,EAAKrC,SAAWyC,EACTJ,IAEXlV,KAAK6G,SAAS,CAAE0N,SAAUO,2CAGf,IAAAtO,EAAAxG,KACPuV,EAAevV,KAAKoE,MAAMmQ,SAASc,OAAO,SAAAH,GAAI,OAAIA,EAAKrC,WAAU7R,IAAI,SAAAkU,GAAI,OAAIA,EAAK3C,WAClFiD,EAAU,CACVC,QAASzV,KAAKoE,MAAMoQ,MACpBkB,SAAUH,GAEdvV,KAAK6G,SAAS,CAAElB,SAAS,IACzB3F,KAAKuC,IAAIoT,4BAA4BH,GAChCvN,KAAK,SAAAC,GACF,GAAIA,GAAOA,EAAInF,KAAM,CACjB,IAAMA,EAAOmF,EAAInF,KACyB,MAAtC4M,UAAUC,UAAU5I,MAAM,SAC1BjE,EAAK6S,QAAQ,SAAAC,GACT,GAAKA,EAAKC,YAMNvN,IAAOnB,MAAMrE,EAAK+S,iBANC,CACnB,IAAIZ,EAAO1O,EAAK4M,oBAAoByC,EAAKE,KAAM,mBAC3CC,EAAUzU,OAAO0U,IAAIC,gBAAgBhB,GACzC3T,OAAO4U,KAAKH,MAQpBjT,EAAK6S,QAAQ,SAAAC,GACT,GAAKA,EAAKC,YAiBNvN,IAAOnB,MAAMrE,EAAK+S,iBAjBC,CACnB,IAAMM,EAAO5P,EAAK4M,oBAAoByC,EAAKE,KAAM,mBAC3CzD,EAAWuD,EAAKtD,SAEtB,GAAIhR,OAAOoO,WAAapO,OAAOoO,UAAU0G,iBACrC9U,OAAOoO,UAAU0G,iBAAiBD,EAAM9D,OAEvC,CACD,IAAM0D,EAAUC,IAAIC,gBAAgBE,GAC9BE,EAAW3N,SAASvI,cAAc,KACxCkW,EAAS3U,KAAOqU,EAChBM,EAASC,SAAWjE,EACpBgE,EAASE,QACTF,EAASG,kBAUzBlO,IAAOnB,MAAM,sBAEjBZ,EAAKkQ,cACNvO,MAAM,SAAAf,GAGL,MAFAZ,EAAKkQ,YACLnO,IAAOnB,MAAMA,GACNA,qCAIX,IAAAW,EAAA/H,KACA8U,EAAQ9U,KAAKoE,MAAMmQ,SAASvT,IAAI,SAACkU,EAAK3I,GAAN,OAAgBrM,EAAAC,EAAAC,cAACuW,EAAD,CAAavV,IAAKmL,EAAO0G,WAAYlL,EAAK4M,iBAAkBpC,SAAU2C,EAAK3C,SAAUE,YAAayC,EAAKzC,YAAaK,SAAUoC,EAAKrC,aACnL+D,EAA6B,GAAd9B,EAAM3T,OAAYjB,EAAAC,EAAAC,cAAA,UAAIF,EAAAC,EAAAC,cAAA,MAAI+J,QAAS,GAAb,oBAA4C,KACjF0M,EAAe7W,KAAKoE,MAAMmQ,SAASc,OAAO,SAAAH,GAC1C,OAAOA,GAAOA,EAAKrC,WAGvB,OADAxK,QAAQC,IAAI,YAAYtI,KAAKoE,MAAMmQ,UAE/BrU,EAAAC,EAAAC,cAAA,OAAKC,UAAU,uBACXH,EAAAC,EAAAC,cAAC2J,EAAA5J,EAAD,CAAQ6J,QAAShK,KAAKoE,MAAMuB,UAC5BzF,EAAAC,EAAAC,cAAA,OAAKC,UAAU,qBACXH,EAAAC,EAAAC,cAAA,OAAKC,UAAU,OACXH,EAAAC,EAAAC,cAAA,OAAKC,UAAU,sBACfH,EAAAC,EAAAC,cAAA,OAAKC,UAAU,sBACfH,EAAAC,EAAAC,cAAA,OAAKC,UAAU,8BACXH,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,SAAS/F,MAAM,WAAWiK,QAAStO,KAAK0U,aAAc/J,UAAWkM,EAAa1V,QAAUnB,KAAKoE,MAAMuB,QAAStF,UAAU,sBAElIH,EAAAC,EAAAC,cAAA,SAAOC,UAAU,+EACbH,EAAAC,EAAAC,cAAA,aACIF,EAAAC,EAAAC,cAAA,UACIF,EAAAC,EAAAC,cAAA,MAAIC,UAAU,oBAAmBH,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,WAAWI,SAAUxK,KAAK4U,eAAgBlJ,QAAS1L,KAAKoE,MAAMqQ,aAC3GvU,EAAAC,EAAAC,cAAA,uBACAF,EAAAC,EAAAC,cAAA,0BACAF,EAAAC,EAAAC,cAAA,2BAGRF,EAAAC,EAAAC,cAAA,aACK0U,EACA8B,KAIb1W,EAAAC,EAAAC,cAAA,OAAKC,UAAU,gCA9KPI,IAAMC,WC0GvBoW,cAxGX,SAAAA,EAAYnT,GAAO,IAAAI,EAAA,OAAAjD,OAAA+B,EAAA,EAAA/B,CAAAd,KAAA8W,IACf/S,EAAAjD,OAAAkD,EAAA,EAAAlD,CAAAd,KAAAc,OAAAmD,EAAA,EAAAnD,CAAAgW,GAAA5S,KAAAlE,KAAM2D,KA8BVyP,oBAAsB,SAACC,EAAYC,GAC/BA,EAAcA,GAAe,GAO7B,IANA,IACMC,EAAiBC,KAAKH,GACtBI,EAAcF,EAAepS,OAC7BuS,EAAcC,KAAKC,KAAKH,EAHZ,MAIZI,EAAc,IAAI9B,MAAM2B,GAErBI,EAAa,EAAGA,EAAaJ,IAAeI,EAAY,CAK/D,IAJA,IAAMC,EAPU,KAOFD,EACRE,EAAML,KAAKM,IAAIF,EARL,KAQwBN,GAElCS,EAAQ,IAAInC,MAAMiC,EAAMD,GACrBI,EAASJ,EAAO7S,EAAI,EAAGiT,EAASH,IAAO9S,IAAKiT,EACnDD,EAAMhT,GAAKqS,EAAeY,GAAQC,WAAW,GAE/CP,EAAWC,GAAc,IAAIO,WAAWH,GAE1C,OAAO,IAAII,KAAKT,EAAY,CAAEzJ,KAAMkJ,KA/CpCvP,EAAKK,MAAQ,CACXkO,SAAe,GACfyE,SAAe,GACfpR,SAAe,EACf4O,SAAe,GACfyC,cAAe,EACfxC,MAAe,IAGjBzQ,EAAKkT,QAAsBlT,EAAKkT,QAAQpR,KAAb/E,OAAAgF,EAAA,EAAAhF,QAAAgF,EAAA,EAAAhF,CAAAiD,KAC3BA,EAAK6B,aAAsB7B,EAAK6B,aAAaC,KAAlB/E,OAAAgF,EAAA,EAAAhF,QAAAgF,EAAA,EAAAhF,CAAAiD,KAC3BA,EAAKqP,oBAAsBrP,EAAKqP,oBAAoBvN,KAAzB/E,OAAAgF,EAAA,EAAAhF,QAAAgF,EAAA,EAAAhF,CAAAiD,KAC3BA,EAAKqC,aAdUrC,2EAkBf/D,KAAK6G,SAAS,CAAElB,SAAS,yCAKzB3F,KAAKuC,IAAMsS,EAAWvO,mDAGbC,GACL,IAAIK,EAAYL,EAAMG,OAAOC,KAAMqO,cACnChV,KAAK6G,SAAL/F,OAAAmU,EAAA,EAAAnU,CAAA,GAAgB8F,EAAWL,EAAMG,OAAOrC,0CAwBrC,IAAAmC,EAAAxG,KAEHwV,EAAU,CACVtS,UAFSlD,KAAK2D,MAAMqD,MAAM5D,OAERoC,UAClB0R,SAAYlX,KAAKoE,MAAM2S,UAE3B/W,KAAK6G,SAAS,CAAClB,SAAS,IACxB3F,KAAKuC,IAAI4U,mBAAmB3B,GAC3BvN,KAAK,SAAAC,GACF,GAAGA,GAAOA,EAAInF,KAAK,CACf,IAAMA,EAAOmF,EAAInF,KACbA,EAAK+S,YAILvN,IAAOnB,MAAMrE,EAAK+S,aAHlBtP,EAAKK,SAAS,CAAC0N,SAAUxR,EAAKgT,KAAMiB,cAAc,EAAMxC,MAAOzR,EAAKqU,QAM5E5Q,EAAKkQ,cACNvO,MAAO,SAAAf,GAGN,MAFAZ,EAAKkQ,YACLnO,IAAOnB,MAAMA,GACNA,qCAKX,IAAM2P,EAAW7W,EAAAC,EAAAC,cAAA,OAAKC,UAAU,4BACZH,EAAAC,EAAAC,cAAA,SAAOiX,IAAI,YAAX,sBACAnX,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,WAAWzD,KAAK,WAAWnG,GAAG,WAAWH,UAAU,eAAegE,MAAOrE,KAAKoE,MAAM2S,SAAUvM,SAAUxK,KAAK4F,gBAEzIoR,EAAehX,KAAKoE,MAAM4S,aAC9B,OACI9W,EAAAC,EAAAC,cAAA,OAAKC,UAAU,wBACT2W,GAAgB9W,EAAAC,EAAAC,cAAA,WACdF,EAAAC,EAAAC,cAAC2J,EAAA5J,EAAD,CAAQ6J,QAAShK,KAAKoE,MAAMuB,UAC5BzF,EAAAC,EAAAC,cAAA,OAAKC,UAAU,qBACXH,EAAAC,EAAAC,cAAA,OAAKC,UAAU,OACV0W,EACD7W,EAAAC,EAAAC,cAAA,OAAKC,UAAU,mCACXH,EAAAC,EAAAC,cAAA,SAAOgK,KAAK,SAAS/F,MAAM,WAAWiK,QAAStO,KAAKiX,QAAStM,UAAW3K,KAAKoE,MAAM2S,UAAY/W,KAAKoE,MAAMuB,QAAStF,UAAU,yBAK5I2W,GACG9W,EAAAC,EAAAC,cAACkX,EAAD,CAAmB9C,MAAOxU,KAAKoE,MAAMoQ,MAAOD,SAAUvU,KAAKoE,MAAMmQ,mBApG1D9T,IAAMC,WCMjC6H,IAAOgP,QAAS,CACdC,cAAgB,0BAsBHC,mLAjBX,OACEvX,EAAAC,EAAAC,cAACsX,EAAA,EAAD,KACExX,EAAAC,EAAAC,cAAA,OAAKC,UAAU,OACbH,EAAAC,EAAAC,cAAA,WACEF,EAAAC,EAAAC,cAACuX,EAAD,MACAzX,EAAAC,EAAAC,cAACwX,EAAA,EAAD,KACE1X,EAAAC,EAAAC,cAACyX,EAAA,EAAD,CAAOC,KAAK,IAAIC,OAAK,EAACC,UAAWjH,IADnC,IAEE7Q,EAAAC,EAAAC,cAACyX,EAAA,EAAD,CAAOC,KAAK,qBAAqBE,UAAWzJ,IAC5CrO,EAAAC,EAAAC,cAACyX,EAAA,EAAD,CAAOC,KAAK,8BAA8BE,UAAWrG,IACrDzR,EAAAC,EAAAC,cAACyX,EAAA,EAAD,CAAOC,KAAK,2BAA2BE,UAAWlB,eAX9CpW,aCLEuX,QACW,cAA7B1W,OAAOD,SAASG,UAEe,UAA7BF,OAAOD,SAASG,UAEhBF,OAAOD,SAASG,SAASuF,MACvB,2DCZQkR,EAAQ,IAAeC,WAGrCC,IAASC,OACDnY,EAAAC,EAAAC,cAACkY,EAAD,MACL3P,SAASC,eAAe,SDkHrB,kBAAmB+G,WACrBA,UAAU4I,cAAcC,MAAMvQ,KAAK,SAAAwQ,GACjCA,EAAaC","file":"static/js/main.99dde1f7.chunk.js","sourcesContent":["var makeInterpolator = (function() {\n var rc = {\n '\\n': '\\\\n', '\\\"': '\\\\\\\"'\n };\n\n return function makeInterpolator(str) {\n var s = 'return \"' + (\n str\n .replace(/[\"\\n\\r]/g, function($0) {\n return rc[$0];\n })\n .replace(/\\{([\\s\\S]+?)\\}/g, '\" + o.$1 + \"')\n ) + '\";';\n // console.log(s);\n var f = new Function('o', s);\n return f;\n };\n}());\n\n // .replace(/\\{([\\s\\S]+?)\\}/g, '\" + String.prototype.interpolate.get(o, \"$1\") + \"')\n\nString.prototype.interpolate = function(obj) {\n var cache = String.prototype.interpolate.__cache;\n if (!cache)\n cache = String.prototype.interpolate.__cache = {};\n\n var fn = cache[this];\n if (!fn) {\n fn = makeInterpolator(this);\n cache[this] = fn;\n }\n\n return fn(obj);\n}","import React from 'react';\nimport './dataBooksHeader.css';\n\nclass DataBooksHeader extends React.Component {\n render() {\n return (\n
\n
\n\n
\n
\n \"TechnipFMC\"\n
\n
\n

Electronic Databook

\n {/*
\n
\n \"Not\n
\n
*/}\n {/*

This application on this page allows you to print electronic databook and or component material test\n reports for individual assets or for multiple assets. All you need to know is the material/part number\n and serial number for assemblies or material/part number and traceability number for components.

\n

Assembly information material/part number and serial number is located on product name plate or band.

\n

Example:

\n \n

Component information is hard stamped on the actual material with its location varying depending on the\n product.

\n

Example 1:

\n \n

Example 2:

\n \n

Please note:

\n \n
\n

Application Instruction:

\n

Please fill out the information below following the above guidelines to start this process. If you have\n any question or issues please feel free to contact TechnipFMC Technologies.

\n

Thank you for using our electronic documentation service.

*/}\n

Electronic Databook are available by a combination of Part Number/Serial Number, Part Number/Batch Numbers, TechnipFMC Sales Order Number, Purchase Order Number, or Delivery Number. When the processing is complete, an email will be sent with a link to download the Electronic Databook.

\n
\n
\n );\n }\n}\n\nexport default DataBooksHeader;","import React from 'react';\n\nexport const FormErrors = ({ formErrors }) =>\n
\n {Object.keys(formErrors).map((fieldName, i) => {\n if (formErrors[fieldName].length > 0) {\n return (\n //

{fieldName} {formErrors[fieldName]}

\n

{formErrors[fieldName]}

\n )\n } else {\n return '';\n }\n })}\n
","const environment = {};\n\nconst location = window.location;\nenvironment.isLocalhost = (location.hostname === 'localhost');\nenvironment.isDevelopment = ((location.href.indexOf('in001vs0034') >= 0));\nenvironment.isTest = ((location.href.indexOf('databook.lab') >= 0));\nenvironment.isProduction = ((location.href.indexOf('databook.apps') >= 0));\nenvironment.isDevMachine = ((location.href.indexOf('in001wl2973') >= 0));\nenvironment.profiling = (environment.isLocalhost && false);\n\nenvironment.server =\n (() => {\n if (environment.isLocalhost) {\n return {\n ssl : '',\n domain : 'localhost',\n port : ':4002',\n vdir : '',\n cors : true,\n api : 'api'\n };\n }\n\n if (environment.isDevMachine) {\n return {\n ssl : (location.protocol === 'https:') ? 's' : '',\n domain : location.hostname,\n port : (location.protocol === 'https:') ? ':45456': ':45455',\n vdir : '',\n cors : true,\n api : 'api'\n };\n }\n\n var pathname = location.pathname.split('/');\n var vdir = '';\n\n for (var i = 0; i < pathname.length - 1; i++) {\n vdir += pathname[i];\n }\n\n if (vdir !== '') {\n vdir += '/';\n }\n\n return {\n ssl : (location.protocol === 'https:') ? 's' : '',\n domain : location.hostname,\n port : (location.port === '') ? '' : ':' + parseInt(location.port, 10),\n vdir : vdir,\n cors : false,\n api : 'api'\n };\n })();\n\nexport default environment;\n\n// export const API_BASE_URL = 'http://in001vs0034:3002/api/databook/';\n// export const API_CLIENT_URL = 'http://in001vs0034:6512/';\n\n// export const API_BASE_URL = 'http://localhost:4002/api/databook/';\n// export const API_CLIENT_URL = 'http://localhost:3000/';","//THIS FILE CONTAIN SERVER LINKED CONFIGURATION.\n//CHANGE THIS FILE NEED TO CHECK BOTH CLIENT AND SERVER SIDE\n\nimport axios from 'axios';\nimport environment from '../environment';\nimport interpolate from'./interpolate';\n\nclass apiService {\n // eslint-disable-next-line no-useless-constructor\n constructor() {\n this.server = environment.server;\n this.url = 'http{ssl}://{domain}{port}/{vdir}{api}/'.interpolate(this.server); \n }\n\n static instance = null;\n static createInstance() {\n var object = new apiService();\n return object;\n }\n\n static getInstance() {\n if (!apiService.instance) {\n apiService.instance = apiService.createInstance();\n }\n return apiService.instance;\n }\n\n // partNumberreqByDelNumber() {\n // axios.get(`http://kbg1mip0.kongsberg.fmcweb.com:8000/sap/opu/odata/sap/ZDBK_SEAL_SRV/SerialNumberAssyResponseSet?$format=json&$filter=DeliveryNum eq '82242585'`)\n // .then(res => {\n // console.log(res);\n // })\n // .catch(err => {\n // console.log(err);\n // })\n // }\n\n // reqByDelNumber(event) {\n // this.handleChange(event);\n // let headers = {\n // 'Content-Type': 'application/json',\n // 'Access-Control-Allow-Origin': 'http://localhost:3000'\n // }\n // //api.partNumberreqByDelNumber();\n // axios.get(`http://kbg1mip0.kongsberg.fmcweb.com:8000/sap/opu/odata/sap/ZDBK_SEAL_SRV/SerialNumberAssyResponseSet?$format=json&$filter=DeliveryNum eq '82242585'`, headers)\n // .then(res => {\n // console.log(res);\n // })\n // .catch(err => {\n // console.log(err);\n // });\n\n // CREATE JOB USING SERIAL NUMBER\n getBySerNumber(data) {\n let url = this.url + 'databook/createService';\n return axios.post(url, data);\n }\n\n // CREATE JOB USING BATCH NUMBER\n getByBatchNumber(data) {\n let url = this.url + 'databook/createBatch';\n return axios.post(url, data);\n }\n\n // RETURN STATUS OF THE JOB\n getStatus(JobNumber) {\n let url = this.url + 'databook/getStatusHistoryByJobNumber';\n return axios.get(url,{params:{JobNumber: JobNumber}});\n }\n\n // RETURN STATUS OF MULTIPLE REQUEST JOB\n getMultipleStatus(JobNumber) {\n let url = this.url + 'databook/getStatusHistoryByMultiJobIdNumber?JobNumber=' + JobNumber;\n return axios.get(url);\n }\n\n \n\n // GET THE LIST OF DATA USING DELIVERY, CUSTOMER PO NUMER, PURCHASE ORDER NUMBER\n getSerialList(option, fieldvalue) {\n let url = this.url +'databook/getDataBy';\n if (option === 'CustPoNum') {\n url = url + 'CustPoNumber?' + option + '=' + fieldvalue;\n } else {\n url = url + option + '?' + option + '=' + fieldvalue;\n }\n\n return axios.get(url);\n }\n\n postMultipleSerialBatch(data){\n\n let url = this.url + 'databook/CreateMultipleRequest';\n return axios.post(url, data);\n // let dummy = {'success':''};\n // return dummy;\n }\n\n getDatabookFileWithPassword(data) {\n let url = this.url + 'databook/getDatabookFileWithPassword';\n return axios.post(url, data);\n }\n\n getFileListForUser(data) {\n let url = this.url + 'databook/getFileListForUser';\n return axios.post(url, data);\n } \n}\n\nexport default apiService;","import React from 'react';\r\nimport {Redirect} from \"react-router-dom\";\r\n\r\nclass LinkRedirect extends React.Component{\r\n render() {\r\n var routeName = this.props.routeName;\r\n return(\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default LinkRedirect;","import React from 'react';\nimport \"react-datepicker/dist/react-datepicker.css\";\nimport './partNumber.css';\nimport { FormErrors } from '../FormErrors/FormErrors';\nimport apiservice from '../../service/apiService';\nimport LinkRedirect from '../../component/LinkRedirect.jsx';\nimport Toastr from 'toastr';\nimport Loader from 'react-loader';\n\nclass PartNumber extends React.Component {\n api;\n BatchSerial = 'Serial #';\n constructor(props) {\n super(props);\n this.props = props;\n this.state = {\n value: '',\n MaterialNumber: '',\n SerialNumber: '',\n CustomerName: '',\n CustomerOrederNumber: '',\n CustomerMaterialNumber: '',\n SalesOrderNum: '',\n lineItem: '',\n Quantity: '',\n ShippingDate: '',\n RequesterName: '',\n RequesterEmail: '',\n formErrors: {\n MaterialNumber: '',\n SerialNumber: '',\n CustomerName: '',\n RequesterEmail: '',\n RequesterName: ''\n },\n req: {},\n RequesterEmailValid: false,\n RequesterNameValid: false,\n MaterialNumberValid: false,\n SerialNumberValid: false,\n CustomerNameValid: false,\n wasSubmitted: false,\n jobNumber : '',\n redirectPage : false,\n optionSelected: 'Serial Number',\n loading : false\n };\n\n this.handleChange = this.handleChange.bind(this);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.optionChanged = this.optionChanged.bind(this);\n this.fillData = this.fillData.bind(this);\n this.handleChangeDate = this.handleChangeDate.bind(this);\n this.setLoaderVisibility = this.setLoaderVisibility.bind(this);\n this.initialize();\n\n }\n\n\n initialize() {\n this.api = apiservice.getInstance();\n }\n\n handleChange(event) {\n let stateChangeObj = {};\n if (event.target.name) {\n let stateKey = event.target.name;\n stateChangeObj[stateKey] = event.target.value;\n this.setState(stateChangeObj, () => {\n this.validateField(stateKey, stateChangeObj[stateKey])\n });\n }\n }\n\n validateField(fieldName, value) {\n let fieldValidationErrors = this.state.formErrors;\n let RequesterEmailValid = this.state.RequesterEmailValid;\n let RequesterNameValid = this.state.RequesterNameValid;\n let MaterialNumberValid = this.state.MaterialNumberValid;\n let CustomerNameValid = this.state.CustomerNameValid;\n let SerialNumberValid = this.state.SerialNumberValid;\n\n switch (fieldName) {\n case 'MaterialNumber':\n MaterialNumberValid = value.length >= 2;\n fieldValidationErrors.MaterialNumber = MaterialNumberValid ? '' : ' Please enter the material number';\n break;\n case 'SerialNumber':\n SerialNumberValid = value.length >= 2;\n if (this.state.optionSelected === 'Serial Number') {\n fieldValidationErrors.SerialNumber = SerialNumberValid ? '' : ' Please enter the serial number';\n } else {\n fieldValidationErrors.SerialNumber = SerialNumberValid ? '' : ' Please enter the batch number';\n }\n break;\n case 'CustomerName':\n CustomerNameValid = value.length >= 2;\n fieldValidationErrors.CustomerName = CustomerNameValid ? '' : ' Please enter the customer name';\n break;\n case 'RequesterEmail':\n RequesterEmailValid = value.match(/^([a-zA-Z0-9_.-]+)@(([a-zA-Z0-9_-]+)\\.){1,2}([a-zA-Z]{2,5})$/i);\n fieldValidationErrors.RequesterEmail = RequesterEmailValid ? '' : ' Please enter the valid email';\n break;\n case 'RequesterName':\n RequesterNameValid = value.length >= 2;\n fieldValidationErrors.RequesterName = RequesterNameValid ? '' : ' Please enter your name';\n break;\n default:\n break;\n }\n\n this.setState({\n formErrors: fieldValidationErrors,\n RequesterEmailValid: RequesterEmailValid,\n RequesterNameValid: RequesterNameValid,\n MaterialNumberValid: MaterialNumberValid,\n CustomerNameValid: CustomerNameValid,\n SerialNumberValid: SerialNumberValid\n }, this.validateForm);\n }\n\n validateForm() {\n let formValidity = this.state.MaterialNumberValid && this.state.SerialNumberValid && this.state.CustomerNameValid && this.state.RequesterEmailValid && this.state.RequesterNameValid\n this.setState({ formValid: formValidity });\n }\n\n errorClass(error) {\n return (error.length === 0 ? '' : 'has-error');\n }\n\n optionChanged(event) {\n let option = {\n optionSelected: event.target.value\n\n };\n option.SerialNumber = '';\n option.formErrors = this.state.formErrors;\n option.formErrors.SerialNumber = '';\n if (option.optionSelected === 'Serial Number') {\n this.BatchSerial = 'Serial #';\n } else {\n this.BatchSerial = 'Batch #';\n }\n this.setState(option);\n }\n\n fillData() {\n let fillData = {\n \"SerialNumber\": \"01`3`009A10114\",\n \"CustomerOrederNumber\": \"875093\",\n \"CustomerMaterial\": \"Metal\",\n \"MaterialNumber\": \"P516108\",\n \"CustomerName\": \"Suresh\",\n //\"ShippingDate\": \"2018-10-10\",\n \"RequesterName\": \"Nunmuthu Esakkirajasekar\",\n \"RequesterEmail\": \"enunmuthu@external.technip.com\",\n \"formValid\": true,\n \"RequesterEmailValid\": true,\n \"RequesterNameValid\": true,\n \"MaterialNumberValid\": true,\n \"CustomerNameValid\": true,\n \"SerialNumberValid\": true\n }\n if (this.state.optionSelected === 'Batch Number') {\n fillData['SerialNumber'] = \"A000180397\";\n fillData['MaterialNumber'] = \"P505313\";\n }\n this.setState(fillData, function () {\n this.reqForTest2();\n });\n\n }\n\n extractData() {\n let fillData = [\n \"SerialNumber\",\n \"CustomerOrederNumber\",\n \"CustomerMaterialNumber\",\n \"SalesOrderNum\",\n \"lineItem\",\n \"Quantity\",\n \"CustomerMaterial\",\n \"MaterialNumber\",\n \"CustomerName\",\n \"ShippingDate\",\n \"RequesterName\",\n \"RequesterEmail\"\n ];\n\n let result = {};\n\n for (var i = 0; i < fillData.length; i++) {\n if (this.state[fillData[i]]) {\n result[fillData[i]] = this.state[fillData[i]];\n }\n }\n if (result.ShippingDate !== undefined && result.ShippingDate !== '') {\n result.ShippingDate = this.formatDate(result.ShippingDate);\n }\n\n\n\n result.IsSerialOrBatch = 'S';\n if (this.state.optionSelected === 'Batch Number') {\n result['BatchNumber'] = result['SerialNumber'];\n result['IsSerialOrBatch'] = 'B';\n delete result['SerialNumber'];\n }\n\n if (result.CustomerMaterialNumber !== undefined && result.CustomerMaterialNumber !== '') {\n result.CustomerMaterial = result.CustomerMaterialNumber;\n delete result.CustomerMaterialNumber;\n }\n\n if (result.SalesOrderNum !== undefined && result.SalesOrderNum !== '') {\n result.FMCOrderNumber = result.SalesOrderNum;\n delete result.SalesOrderNum;\n }\n\n if (result.lineitem !== undefined && result.lineitem !== '') {\n result.LineItem = result.lineitem;\n delete result.lineitem;\n }\n return result;\n }\n\n reqForTest1(myInput) {\n this.api.getBySerNumber(myInput)\n .then(res => {\n this.setState({ jobNumber: res.data.JobNumber, redirectPage:true });\n })\n .catch(err => {\n console.log(err);\n Toastr.error(err);\n throw (err);\n });\n }\n\n setLoaderVisibility(visibility){\n this.setState({loading: visibility});\n }\n\n reqForTest2() {\n let myInput = this.extractData();\n if (this.state.optionSelected === 'Serial Number') {\n this.setLoaderVisibility(true);\n this.api.getBySerNumber(myInput)\n .then(res => {\n let data = \"Get Details\";\n document.getElementById('Response').innerHTML = \"

\" + res.data.JobNumber + \"

Click to view the Status

\" + data;\n this.setState({ jobNumber: res.data.JobNumber, redirectPage:true, loading: false });\n })\n .catch(err => {\n this.setLoaderVisibility(false);\n Toastr.error(\"Error in generating Databook for Serial Number.\");\n throw (err);\n });\n } else {\n this.setLoaderVisibility(true);\n this.api.getByBatchNumber(myInput)\n .then(res => {\n let data = \"Get Details\";\n document.getElementById('Response').innerHTML = \"

\" + res.data.JobNumber + \"

Click to view the Status

\" + data;\n this.setState({ jobNumber: res.data.JobNumber, redirectPage:true, loading: false });\n })\n .catch(error => {\n this.setLoaderVisibility(false);\n Toastr.error(\"Error in generating Databook for Batch Number.\");\n throw(error);\n });\n }\n }\n\n handleChangeDate(date) {\n this.setState({\n startDate: date\n });\n }\n\n formatDate(date) {\n var d = new Date(date),\n month = '' + (d.getMonth() + 1),\n day = '' + d.getDate(),\n year = d.getFullYear();\n\n if (month.length < 2) month = '0' + month;\n if (day.length < 2) day = '0' + day;\n\n return year + month + day;\n }\n\n handleSubmit(event) {\n let submitData = {};\n for (var property1 in this.state) {\n if (this.state[property1] && property1 !== 'value') {\n submitData[property1] = this.state[property1];\n }\n }\n if (submitData.ShippingDate !== undefined && submitData.ShippingDate !== '') {\n submitData.ShippingDate = this.formatDate(submitData.ShippingDate);\n }\n this.reqForTest2();\n event.preventDefault();\n }\n\n render() {\n var redirectPage = this.state.redirectPage;\n let redirectUrl = \"status/\" + this.state.jobNumber;\n var redirectComp = \n return (\n
\n {redirectPage &&
\n {redirectComp}\n
\n }\n {!redirectPage &&
\n \n
\n \n
\n {/*
\n \n
*/}\n
\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Part #*\n \n
{this.BatchSerial}*\n \n \n
\n \n
\n
Customer Name*\n \n
PO Number\n \n
Customer Part #\n \n
TechnipFMC Sales Order #\n \n
Line Item\n \n
Quantity\n \n
Ship Date\n \n {/* */}\n
Your Name*\n \n
Your Email Address*\n \n
\n
\n \n
\n
\n
\n\n
\n
}\n
\n );\n }\n}\n\nexport default PartNumber;","import React from 'react';\nimport apiservice from '../../service/apiService';\nimport { FormErrors } from '../FormErrors/FormErrors';\nimport LinkRedirect from '../../component/LinkRedirect.jsx';\nimport Toastr from 'toastr';\nimport './multiple.css';\nimport Loader from 'react-loader';\n\nclass Multiple extends React.Component {\n results;\n dispResults;\n constructor(props) {\n super(props);\n this.state = {\n selectedOption: 'SalesOrderNum',\n checkBoxSelected: [],\n totalRows: '0 total rows',\n RequesterName: '',\n RequesterEmail: '',\n CustomerName: '',\n formErrors: {\n RequesterEmail: '',\n RequesterName: '',\n CustomerName: ''\n },\n RequesterEmailValid: false,\n RequesterNameValid: false,\n CustomerNameValid: false,\n showValidFields: 'wholeData showValidFields',\n submitMultipleReq: false,\n getMultipleReqData: false,\n isDataSelected: false,\n multipleRequestId : '',\n redirectPage : false,\n loading : false\n };\n this.initialize();\n this.selectedOptionChanged = this.selectedOptionChanged.bind(this);\n this.checkBoxChange = this.checkBoxChange.bind(this);\n this.sendSelected = this.sendSelected.bind(this);\n // this.handleChange = this.handleChange.bind(this);\n }\n\n initialize() {\n this.api = apiservice.getInstance();\n }\n\n selectedOptionChanged(event) {\n console.log(event.target.value);\n let stateChangeObj = {};\n stateChangeObj['selectedOption'] = event.target.value;\n this.setState(stateChangeObj);\n }\n\n checkBoxChange(event) {\n // console.log(event.target.value);\n // console.log(this.state);\n let checkBoxval = event.target.value;\n let checkBoxChecked = event.target.checked;\n let checkBoxModified = [];\n let stateChangeObj = {};\n let check = false;\n\n if (checkBoxval !== 'selectAll') {\n // if (event.target.checked) {\n if (this.state.results) {\n checkBoxModified = this.state.checkBoxSelected;\n checkBoxModified[checkBoxval] = { value: checkBoxval, checked: checkBoxChecked };\n // for (let i = 0; i < this.state.results.length; i++) {\n // let checked = {checked: checkBoxChecked};\n // checkBoxModified.push(checked);\n // }\n check = checkBoxChecked ? checkBoxChecked : this.ischeckBoxSelected();\n }\n // } else {\n // checkBoxModified = [];\n // }\n } else {\n checkBoxModified = this.state.checkBoxSelected;\n if (event.target.checked) {\n check = true;\n }\n checkBoxModified = this.generateCheckBoxData(this.results.length, check);\n\n }\n stateChangeObj = { checkBoxSelected: checkBoxModified, isDataSelected: check };\n\n // console.log(checkBoxModified);\n // State is not executed in synchronous and state is not mutable directly\n // https://stackoverflow.com/questions/30782948/why-calling-react-setstate-method-doesnt-mutate-the-state-immediately\n this.setState(stateChangeObj, function () {\n this.dispResults = this.settableData(this.state.results);\n this.setState({});\n });\n // this.state.checkBoxSelected = checkBoxModified;\n\n }\n\n errorClass(error) {\n return (error.length === 0 ? '' : 'has-error');\n }\n\n sendSelected() {\n let checkBoxModified = this.state.checkBoxSelected;\n let serialList = [];\n let batchList = [];\n let selectedList = [];\n let serialNumbersWithMat = [];\n let batchNumbersWithMat = [];\n for (let i = 0; i < checkBoxModified.length; i++) {\n let index = checkBoxModified[i].value;\n let checked = checkBoxModified[i].checked;\n if (checked && this.state.results[index].Sernum !== '') {\n let pushValue = this.state.results[index].Sernum + '_&&_' + this.state.results[index].AssyNum;\n serialList.push(this.state.results[index].Sernum);\n // serialList.push(this.state.results[index]);\n\n serialNumbersWithMat.push(pushValue);\n let selectedItem = {\n CustomerOrederNumber: '',\n FMCOrderNumber: '',\n CustomerMaterial: '',\n SerialNumber: '',\n BatchNumbers: ''\n };\n\n // selectedItem.CustomerOrederNumber = this.state.results[index].CustPoNum;\n selectedItem.FMCOrderNumber = this.state.results[index].SalesOrderNum;\n selectedItem.SerialNumber = this.state.results[index].Sernum;\n // selectedItem.CustomerMaterial = this.state.results[index].AssyNum;\n selectedList.push(selectedItem);\n\n } else if (checked && this.state.results[index].BatchNum !== '') {\n let pushValue = this.state.results[index].BatchNum + '_&&_' + this.state.results[index].AssyNum;\n batchList.push(this.state.results[index].BatchNum);\n // batchList.push(this.state.results[index]);\n\n batchNumbersWithMat.push(pushValue);\n let selectedItem = {\n CustomerOrederNumber: '',\n FMCOrderNumber: '',\n CustomerMaterial: '',\n SerialNumber: '',\n BatchNumbers: ''\n };\n\n selectedItem.CustomerOrederNumber = this.state.results[index].CustPoNum;\n selectedItem.FMCOrderNumber = this.state.results[index].SalesOrderNum;\n selectedItem.BatchNumbers = this.state.results[index].BatchNum;\n // selectedItem.CustomerMaterial = this.state.results[index].AssyNum;\n selectedList.push(selectedItem);\n\n }\n }\n // console.log(serialList);\n let hardCodeData = {\n \"JobNumber\": \"\",\n \"CustomerOrederNumber\": \"\",\n \"MaterialNumber\": \"\",\n \"CustomerMaterial\": \"\",\n \"CustomerName\": \"\",\n \"Quantity\": \"\",\n \"ShippingDate\": \"\",\n \"IsSerialOrBatch\": \"M\",\n }\n let sendData = hardCodeData;\n sendData['SerialNumbers'] = serialList;\n sendData['BatchNumbers'] = batchList;\n sendData['selectedList'] = selectedList;\n sendData['SerialNumbersWithMat'] = serialNumbersWithMat;\n sendData['BatchNumbersWithMat'] = batchNumbersWithMat;\n sendData['RequesterName'] = this.state.RequesterName;\n sendData['CustomerName'] = this.state.CustomerName;\n sendData['RequesterEmail'] = this.state.RequesterEmail;\n\n // console.log(sendData);\n if (!this.state.submitMultipleReq) {\n this.setState({ submitMultipleReq: !this.state.submitMultipleReq })\n }\n this.setState({loading: true});\n this.api.postMultipleSerialBatch(sendData)\n .then(res => {\n // console.log(res);\n // window.location.href = \"/mstatus?id=\" + res.data[0].MultiplerequestID;\n this.setState({ multipleRequestId: res.data[0].MultiplerequestID, redirectPage:true, loading: false });\n })\n .catch(err => {\n console.log(err);\n this.setState({loading: false});\n Toastr.error(\"Error in generating Databook.\");\n throw (err);\n });\n }\n\n\n\n getSerialList() {\n let fieldValue = document.getElementById('queryVal').value;\n if (!this.state.getMultipleReqData) {\n this.setState({ getMultipleReqData: !this.state.getMultipleReqData })\n }\n this.setState({loading: true});\n this.api.getSerialList(this.state.selectedOption, fieldValue)\n .then(res => {\n // console.log(JSON.parse(res.data));\n let data = JSON.parse(res.data);\n // var tabledata = \"\";\n if (data.d.results) {\n this.results = data.d.results;\n // console.log(this.results);\n // for (let i = 0; i < this.results.length; i++) {\n // let trData = \"\"//\"\n // + \"\";\n // tabledata = tabledata + trData;\n\n // }\n // tabledata = tabledata + \"
AssyDescAssyNumBatchNum CustPoNumDeliveryNumQuoteNumSalesOrderNumSernum
\"\n // + this.results[i].AssyDesc + \"\"\n // + this.results[i].AssyNum + \"\"\n // + this.results[i].BatchNum + \"\"\n // + this.results[i].CustPoNum + \"\"\n // + this.results[i].DeliveryNum + \"\"\n // + this.results[i].QuoteNum + \"\"\n // + this.results[i].SalesOrderNum + \"\"\n // + this.results[i].Sernum + \"\"\n // //+ \" \"+ \"
\";\n }\n // document.getElementById('Response').innerHTML = \"

\" + res.data + \"

\"\n // document.getElementById('Response').innerHTML = tabledata;\n let totalRows = this.results.length + ' total rows';\n let checkBoxModified = this.generateCheckBoxData(this.results.length, false);\n this.setState({ getMultipleReqData: true, totalRows: totalRows, checkBoxSelected: checkBoxModified });\n this.dispResults = this.settableData(this.results);\n\n this.setState({ results: this.results, showValidFields: 'wholeData', totalRows: totalRows, loading: false });\n //}\n })\n .catch(err => {\n console.log(err);\n this.setState({loading: false});\n Toastr.error(\"Unable to retrive details for the given input. Kindly verify.\");\n throw (err);\n });\n }\n\n generateCheckBoxData(totalRows, check) {\n let totalCheckBox = [];\n for (let i = 0; i < totalRows; i++) {\n let oneCheckBox = { value: i, checked: check };\n totalCheckBox.push(oneCheckBox);\n }\n return totalCheckBox;\n }\n\n handleChange(event) {\n let stateChangeObj = {};\n if (event.target.name) {\n let stateKey = event.target.name;\n stateChangeObj[stateKey] = event.target.value;\n this.setState(stateChangeObj, () => {\n this.validateField(stateKey, stateChangeObj[stateKey]);\n // console.log(this.state);\n\n });\n }\n }\n\n validateField(fieldName, value) {\n let fieldValidationErrors = this.state.formErrors;\n let RequesterEmailValid = this.state.RequesterEmailValid;\n let RequesterNameValid = this.state.RequesterNameValid;\n let CustomerNameValid = this.state.CustomerNameValid;\n\n switch (fieldName) {\n case 'RequesterEmail':\n // RequesterEmailValid = value.match(/^([\\w.%+-]+)@([\\w-]+\\.)+([\\w]{2,})$/i);\n RequesterEmailValid = value.match(/^([a-zA-Z0-9_.-]+)@(([a-zA-Z0-9_-]+)\\.){1,2}([a-zA-Z]{2,5})$/i);\n fieldValidationErrors.RequesterEmail = RequesterEmailValid ? '' : ' Please enter the valid email';\n break;\n case 'RequesterName':\n RequesterNameValid = value.length >= 2;\n fieldValidationErrors.RequesterName = RequesterNameValid ? '' : ' Please enter your name';\n break;\n case 'CustomerName':\n CustomerNameValid = value.length >= 2;\n fieldValidationErrors.CustomerName = CustomerNameValid ? '' : ' Please enter the customer name';\n break;\n default:\n break;\n }\n\n this.setState({\n formErrors: fieldValidationErrors,\n RequesterEmailValid: RequesterEmailValid,\n RequesterNameValid: RequesterNameValid,\n CustomerNameValid: CustomerNameValid\n }, this.validateForm);\n }\n\n validateForm() {\n let formValidity = this.state.RequesterEmailValid && this.state.RequesterNameValid && this.state.CustomerNameValid;\n this.setState({ formValid: formValidity });\n }\n\n ischeckBoxSelected() {\n let checkBoxModified = this.state.checkBoxSelected;\n let check = false;\n for (let i = 0; i < checkBoxModified.length; i++) {\n if (checkBoxModified[i] && checkBoxModified[i].checked) {\n check = true;\n }\n }\n // this.setState({ isDataSelected: check });\n return check;\n }\n\n settableData(tableData) {\n // AssyDesc\n let tableDispData = (\n
\n \n \n {/* \n \n \n */}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {this.getTableBody(tableData)}\n {/* \n \n \n */}\n \n
\n \n
{this.state.totalRows}
\n \n DescriptionPart #Batch #PO #Delivery #Quote #TechnipFMC Sales Order #Serial Number
\n \n
\n
\n )\n return tableDispData;\n }\n\n getTableBody(getTableBod) {\n // console.log(getTableBod);\n return getTableBod.map((row, index) =>\n \n \n \n \n \n {row.AssyDesc}\n \n \n {row.AssyNum}\n \n \n {row.BatchNum}\n \n \n {row.CustPoNum}\n \n \n {row.DeliveryNum}\n \n \n {row.QuoteNum}\n \n \n {row.SalesOrderNum}\n \n \n {row.Sernum}\n \n \n );\n }\n // {/* \n // Your Name*\n // \n // \n // \n // \n // \n // Your Email Address*\n // \n // \n // \n // */}\n\n render() {\n var redirectPage = this.state.redirectPage;\n let redirectUrl = \"mstatus/\" + this.state.multipleRequestId;\n var redirectComp = \n return (\n
\n {redirectPage &&
\n {redirectComp}\n
\n }\n {!redirectPage &&
\n \n
\n
\n
\n
Please Select an option and click submit
\n \n \n \n {/* \n {this.state.selectedOption} */}\n
\n
\n
\n
\n \n {/* */}\n
\n
\n\n {/*
\n

Query By

\n \n \n \n
*/}\n\n
\n {/* */}\n this.getSerialList()} />\n
\n {/* {this.state.getMultipleReqData ?

please wait while we are submitting your request ...

: null} */}\n
\n {/*
\n

Will be removed in prod :

\n

TechnipFMC Order Number = 875093

\n

Delivery Number = 82242585

\n

Purchase Order Number = 4513778546

\n
*/}\n
\n\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Your Name*\n \n
Your Email Address*\n \n
Customer Name*\n \n
\n
\n

Please Select the needed documents from the checkbox and click send selected

\n
\n \n
\n {this.state.submitMultipleReq ?

please wait while we are submitting your request ...

: null}\n
\n {this.dispResults}\n
\n {this.state.submitMultipleReq ?

please wait while we are submitting your request ...

: null}\n
\n
}\n
\n );\n }\n\n}\n\nexport default Multiple;","import React from 'react';\nimport './status.css';\nimport Toastr from 'toastr';\nimport apiservice from '../../service/apiService';\nimport Loader from 'react-loader';\nimport moment from 'moment';\n\nclass Status extends React.Component {\n\n displayData;\n serverInfo = {\n 'Request Initialized': 'step1',\n 'step1 unknown error': 'step1Err',\n 'Service Or Batch Created': 'step2',\n 'step2 unknown error': 'step2Err',\n 'DataBook Genarated': 'step3',\n 'Errer In genarating Databook': 'step3Err',\n\n };\n clientInfo = {\n 'step1': 'Request Initialized',\n 'step1Err': 'Error initializing request',\n 'step2': 'Service Or Batch Created',\n 'step2Err': 'Error creating service or batch',\n 'step3': 'Databook Generation',\n 'step3Err': 'Error in generating Databook'\n };\n api;\n constructor(props) {\n super(props);\n // console.log(this.props);\n // console.log(this.props.location.search);\n let queryparams = this.props.match.params.jobNumber;\n // console.log(this.props.match.params.jobId);\n // console.log(props);\n this.state = {\n 'step1': false,\n 'step1Err': false,\n 'step2': false,\n 'step2Err': false,\n 'step3': false,\n 'step3Err': false,\n 'jobNumber':'',\n loading :false\n }\n this.initialize();\n this.jobId = queryparams;\n // console.log(queryparams);\n this.getStatus(queryparams);\n }\n\n initialize() {\n this.api = apiservice.getInstance();\n this.displayData = '';\n }\n\n reload() {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf('MSIE ');\n var trident = ua.indexOf('Trident/');\n if (msie > 0 || trident > 0) {\n window.location.reload();\n }\n else {\n this.getStatus(this.jobId);\n }\n }\n\n buildDisplayData(res) {\n let response = JSON.parse(res);\n let stateObj = {};\n // console.log(response);\n //This will not rendered inside react hence keyword class is used instead of classname\n this.displayData = \"\";\n for (let i = 0; i < response.length; i++) {\n let drowData = \"\";\n this.displayData = this.displayData + drowData;\n stateObj['jobNumber'] = '(' + response[i].SerialOrbatch + ')';\n if (this.serverInfo[response[i].STATUS]) {\n let info = this.serverInfo[response[i].STATUS];\n stateObj[info] = true;\n \n }\n }\n this.displayData = this.displayData + \"
Created DateStatusDescription
\" + moment(new Date(response[i].CreatedTime)).format('MMMM DD YYYY h:mm A z') + \" UTC \" + this.clientInfo[this.serverInfo[response[i].STATUS]] + \"\" + response[i].Description + \"
\";\n\n // this.displayData = this.generateHTML(this.displayData);\n document.getElementById(\"status\").innerHTML = this.displayData;\n this.setState(stateObj);\n }\n\n generateHTML(data) {\n let Disdata = (\n
\n {data}\n
);\n return Disdata;\n }\n\n getStatus(statusFromServer) {\n this.setState({loading: true});\n this.api.getStatus(statusFromServer)\n .then(res => {\n this.buildDisplayData(res.data);\n this.setState({loading: false});\n })\n .catch(err => {\n this.setState({loading: false});\n console.log(err);\n Toastr.error(err);\n throw (err);\n });\n }\n\n steps(val) {\n let stepName = 'step' + val;\n let stepErr = stepName + 'Err';\n\n\n return (\n
\n

Step

\n \n

{this.clientInfo[stepName]}

\n

{this.state[stepName] ? 'Completed' : this.state[stepErr] ? 'Failed' : 'In-progress'}

\n
\n );\n }\n\n render() {\n return (\n
\n \n
\n
\n

\n Current Status of Job {this.state.jobNumber}:\n

\n
\n
\n this.reload()} />\n\n
\n
\n
\n {this.steps(1)}\n {this.steps(2)}\n {this.steps(3)}\n
\n
\n
\n
\n );\n }\n}\n\nexport default Status;","import React from 'react';\nimport './dataBookTab.css';\nimport PartNumber from '../Part Number/partNumber';\nimport Multiple from '../Multiple/multiple';\nimport Status from '../status/status';\n\nclass DataBookTab extends React.Component {\n\n\n constructor(props) {\n super(props);\n this.state = {\n loadTab: 'S',\n jobNumber: ''\n }\n\n this.goToStatusPage = this.goToStatusPage.bind(this)\n }\n\n handleTabChange1(tabValue) {\n this.setState({ loadTab: tabValue });\n }\n\n goToStatusPage(jobNum) {\n this.setState({ loadTab: 'Status', jobNumber: jobNum });\n }\n\n setTabClass(classSwitch) {\n if (this.state.loadTab === classSwitch) {\n return 'purpleBackground';\n }\n\n }\n\n\n render() {\n let tabContent;\n if (this.state.loadTab === 'S') {\n tabContent = ;\n } else if (this.state.loadTab === 'Status') {\n tabContent = ;\n } else {\n tabContent = \n }\n\n return (\n\n
\n
\n

this.handleTabChange1('S')}>Part Number

\n

this.handleTabChange1('M')}>Multiple

\n
\n {tabContent}\n
\n );\n }\n}\n\nexport default DataBookTab;","import React from 'react';\nimport './MultipleStatus.css';\nimport Toastr from 'toastr';\n\nimport apiservice from '../../service/apiService';\n\nclass MultipleStatus extends React.Component {\n\n constructor(props) {\n super(props);\n let queryparams = this.props.match.params;\n queryparams = queryparams.multipleRequestId;\n this.initialize();\n this.state = {}\n this.getStatus(queryparams);\n }\n\n initialize() {\n this.api = apiservice.getInstance();\n }\n\n getStatus(statusFromServer) {\n this.api.getMultipleStatus(statusFromServer)\n .then(res => {\n this.buildDisplayData(res.data);\n this.setState({});\n })\n .catch(err => {\n console.log(err);\n Toastr.error(err);\n throw (err);\n });\n }\n\n buildDisplayData(res) {\n // res = \"[{\\\"JobNumber\\\":\\\"13734c12-ad89-4d9e-95e5-f44ded2411f3\\\",\\\"STATUS\\\":\\\"Request Initialized\\\",\\\"CreatedTime\\\":\\\"Jan 16 2019 6:35:14\\\",\\\"Description\\\":\\\"\\\"},{\\\"JobNumber\\\":\\\"13734c12-ad89-4d9e-95e5-f44ded2411f3\\\",\\\"STATUS\\\":\\\"Service Or Batch Created\\\",\\\"CreatedTime\\\":\\\"Jan 16 2019 6:35:15\\\",\\\"Description\\\":\\\"\\\"},{\\\"JobNumber\\\":\\\"4da9e165-2ffd-4284-adf1-d99d43a1f868\\\",\\\"STATUS\\\":\\\"Request Initialized\\\",\\\"CreatedTime\\\":\\\"Jan 16 2019 6:35:16\\\",\\\"Description\\\":\\\"\\\"},{\\\"JobNumber\\\":\\\"4da9e165-2ffd-4284-adf1-d99d43a1f868\\\",\\\"STATUS\\\":\\\"Service Or Batch Created\\\",\\\"CreatedTime\\\":\\\"Jan 16 2019 6:35:17\\\",\\\"Description\\\":\\\"\\\"},{\\\"JobNumber\\\":\\\"80189444-b294-4eab-b596-33993b2cdb58\\\",\\\"STATUS\\\":\\\"Request Initialized\\\",\\\"CreatedTime\\\":\\\"Jan 16 2019 6:35:15\\\",\\\"Description\\\":\\\"\\\"},{\\\"JobNumber\\\":\\\"80189444-b294-4eab-b596-33993b2cdb58\\\",\\\"STATUS\\\":\\\"Service Or Batch Created\\\",\\\"CreatedTime\\\":\\\"Jan 16 2019 6:35:16\\\",\\\"Description\\\":\\\"\\\"}]\";\n let response = this.restructureData(res);\n let stateObj = {};\n let row = 1;\n this.displayData = \"\";\n for (let key in response) {\n if (response.hasOwnProperty(key) && Array.isArray(response[key])) {\n let rowLength = response[key].length - 1;\n let singleStatus = './#/status/' + key;\n let drowData = \"\";\n this.displayData = this.displayData + drowData;\n row++;\n }\n }\n if (document.getElementById(\"displayDataMultiple\")) {\n document.getElementById(\"displayDataMultiple\").innerHTML = this.displayData;\n }\n this.setState(stateObj);\n }\n\n restructureData(res) {\n res = JSON.parse(res);\n let result = {};\n for (let i = 0; i < res.length; i++) {\n\n let jobKey = res[i].JobNumber;\n if (result[jobKey]) {\n result[jobKey].push(res[i]);\n } else {\n result[jobKey] = [];\n result[jobKey][0] = res[i];\n }\n }\n return result;\n }\n\n render() {\n return (\n
\n
\n
\n

\n Current Status of Multiple Job:\n

\n
\n
\n
\n
\n );\n }\n\n\n}\n\nexport default MultipleStatus;","import React from 'react';\r\nimport moment from 'moment';\r\n\r\nclass FileNameRow extends React.Component{\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n fileName: props ? props.FileName : '',\r\n createdDate : props ? moment(props.CreatedDate).utc().format('MMMM DD YYYY h:mm A z') : '',\r\n expiryDate : props ? moment(props.CreatedDate).utc().add(10,'days').format('MMMM DD YYYY h:mm A z') : '',\r\n selected: props ? props.Selected : false\r\n };\r\n this.handleCheck = this.handleCheck.bind(this);\r\n }\r\n handleCheck(event) {\r\n const isSelectChecked = event.target.checked;\r\n this.setState({selected: isSelectChecked});\r\n this.props.selectFile(this.state.fileName, isSelectChecked);\r\n } \r\n\r\n componentDidUpdate(prevProps) {\r\n if (this.props.Selected !== prevProps.Selected) {\r\n this.setState({selected: this.props.Selected});\r\n }\r\n }\r\n\r\n render(){\r\n var state = this.state;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default FileNameRow","import React from 'react';\r\nimport Apiservice from '../service/apiService';\r\nimport Toastr from 'toastr';\r\nimport Loader from 'react-loader';\r\nimport FileNameRow from './FileNameRow';\r\n\r\n\r\nclass DownloadFilesList extends React.Component{\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n fileList: [],\r\n email : '',\r\n loading: false,\r\n selectAll : false\r\n };\r\n\r\n this.downloadFile = this.downloadFile.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.convertBase64toBlob = this.convertBase64toBlob.bind(this);\r\n this.setSelectedFiles = this.setSelectedFiles.bind(this);\r\n this.handleCheckAll = this.handleCheckAll.bind(this);\r\n this.initialize();\r\n }\r\n initialize() {\r\n this.api = Apiservice.getInstance();\r\n }\r\n componentDidMount() {\r\n var files = this.props.fileList;\r\n var emailId = this.props.email;\r\n this.setState({fileList : files, email : emailId});\r\n\r\n }\r\n onSuccess() {\r\n this.setState({ loading: false});\r\n }\r\n handleChange(event) { \r\n let stateKey = (event.target.name).toLowerCase();\r\n this.setState({[stateKey]: event.target.value});\r\n }\r\n convertBase64toBlob = (base64Data, contentType) => {\r\n contentType = contentType || '';\r\n const sliceSize = 1024;\r\n const byteCharacters = atob(base64Data);\r\n const bytesLength = byteCharacters.length;\r\n const slicesCount = Math.ceil(bytesLength / sliceSize);\r\n const byteArrays = new Array(slicesCount);\r\n \r\n for (let sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {\r\n const begin = sliceIndex * sliceSize;\r\n const end = Math.min(begin + sliceSize, bytesLength);\r\n \r\n const bytes = new Array(end - begin);\r\n for (let offset = begin, i = 0; offset < end; ++i, ++offset) {\r\n bytes[i] = byteCharacters[offset].charCodeAt(0);\r\n }\r\n byteArrays[sliceIndex] = new Uint8Array(bytes);\r\n }\r\n return new Blob(byteArrays, { type: contentType });\r\n }\r\n\r\n setSelectedFiles(fileName, isSelectChecked){\r\n let selectAll = this.state.selectAll;\r\n const files = this.state.fileList.map(file =>{\r\n if(file.FileName == fileName){\r\n file.selected = isSelectChecked;\r\n }\r\n return file;\r\n });\r\n const filesLength = this.state.fileList.length;\r\n const filesSelectedLength = this.state.fileList.filter(file => file.selected).length;\r\n if(filesLength != filesSelectedLength && this.state.selectAll){\r\n selectAll = false;\r\n }\r\n else if(filesLength == filesSelectedLength && !this.state.selectAll){\r\n selectAll = true;\r\n }\r\n this.setState({fileList : files, selectAll : selectAll});\r\n }\r\n\r\n handleCheckAll(event) {\r\n const isSelectAllChecked = event.target.checked;\r\n this.setState({selectAll: isSelectAllChecked}); \r\n const files = this.state.fileList.map(file => {\r\n file.selected = isSelectAllChecked;\r\n return file;\r\n });\r\n this.setState({ fileList: files });\r\n }\r\n\r\n downloadFile() {\r\n var selectedFile = this.state.fileList.filter(file => file.selected).map(file => file.FileName);\r\n var details = {\r\n EmailId: this.state.email,\r\n FileList: selectedFile\r\n };\r\n this.setState({ loading: true });\r\n this.api.getDatabookFileWithPassword(details)\r\n .then(res => {\r\n if (res && res.data) {\r\n const data = res.data;\r\n if (navigator.userAgent.match(/iPad/i) != null) {\r\n data.forEach(list => {\r\n if (!list.ErrorStatus) {\r\n let file = this.convertBase64toBlob(list.File, 'application/pdf');\r\n let fileURL = window.URL.createObjectURL(file);\r\n window.open(fileURL);\r\n }\r\n else {\r\n Toastr.error(data.ErrorStatus);\r\n }\r\n });\r\n }\r\n else {\r\n data.forEach(list => {\r\n if (!list.ErrorStatus) {\r\n const blob = this.convertBase64toBlob(list.File, 'application/pdf');\r\n const fileName = list.FileName;\r\n\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob, fileName);\r\n }\r\n else {\r\n const fileURL = URL.createObjectURL(blob);\r\n const tempLink = document.createElement('a');\r\n tempLink.href = fileURL;\r\n tempLink.download = fileName;\r\n tempLink.click();\r\n tempLink.remove();\r\n }\r\n }\r\n else {\r\n Toastr.error(data.ErrorStatus);\r\n }\r\n });\r\n }\r\n\r\n } else {\r\n Toastr.error('File not available');\r\n }\r\n this.onSuccess();\r\n }).catch(error => {\r\n this.onSuccess();\r\n Toastr.error(error);\r\n throw (error);\r\n });\r\n }\r\n\r\n render(){\r\n var files = this.state.fileList.map((file,index) => );\r\n var noFilesFound = files.length==0 ? : null;\r\n var downloadList = this.state.fileList.filter(file => {\r\n return file &&file.selected\r\n });\r\n console.log('file list',this.state.fileList);\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
JobCurrent StatusCheck
Job \" +\n row + \" (\" +\n response[key][rowLength].SerialOrBatchNumber + \")\" +\n response[key][rowLength].STATUS + \"
  • Check Job Status
  • {state.fileName}{state.createdDate}{state.expiryDate}
    No files found
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {files}\r\n {noFilesFound}\r\n \r\n
    File NameCreated DateExpiry Date
    \r\n \r\n
    \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default DownloadFilesList","import React from 'react';\r\nimport Apiservice from '../service/apiService';\r\nimport Toastr from 'toastr';\r\nimport Loader from 'react-loader';\r\nimport DownloadFilesList from './DownloadFilesList';\r\n\r\n\r\nclass DownloadFile extends React.Component{\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n fileName : '',\r\n password : '',\r\n loading : false,\r\n fileList : [],\r\n showFileList : false,\r\n email : ''\r\n };\r\n\r\n this.getFile = this.getFile.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.convertBase64toBlob = this.convertBase64toBlob.bind(this);\r\n this.initialize();\r\n }\r\n\r\n onSuccess() {\r\n this.setState({ loading: false});\r\n }\r\n\r\n \r\n initialize() {\r\n this.api = Apiservice.getInstance();\r\n }\r\n\r\n handleChange(event) { \r\n let stateKey = (event.target.name).toLowerCase();\r\n this.setState({[stateKey]: event.target.value});\r\n }\r\n\r\n convertBase64toBlob = (base64Data, contentType) => {\r\n contentType = contentType || '';\r\n const sliceSize = 1024;\r\n const byteCharacters = atob(base64Data);\r\n const bytesLength = byteCharacters.length;\r\n const slicesCount = Math.ceil(bytesLength / sliceSize);\r\n const byteArrays = new Array(slicesCount);\r\n \r\n for (let sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {\r\n const begin = sliceIndex * sliceSize;\r\n const end = Math.min(begin + sliceSize, bytesLength);\r\n \r\n const bytes = new Array(end - begin);\r\n for (let offset = begin, i = 0; offset < end; ++i, ++offset) {\r\n bytes[i] = byteCharacters[offset].charCodeAt(0);\r\n }\r\n byteArrays[sliceIndex] = new Uint8Array(bytes);\r\n }\r\n return new Blob(byteArrays, { type: contentType });\r\n }\r\n \r\n getFile(){\r\n var param = this.props.match.params;\r\n var details = {\r\n JobNumber : param.jobNumber,\r\n Password : this.state.password\r\n }; \r\n this.setState({loading: true});\r\n this.api.getFileListForUser(details) \r\n .then(res => {\r\n if(res && res.data){\r\n const data = res.data;\r\n if(!data.ErrorStatus){\r\n this.setState({fileList: data.File, showFileList: true, email: data.Email});\r\n }\r\n else{\r\n Toastr.error(data.ErrorStatus);\r\n } \r\n }\r\n this.onSuccess();\r\n }).catch (error => {\r\n this.onSuccess();\r\n Toastr.error(error);\r\n throw (error);\r\n }); \r\n }\r\n\r\n render(){\r\n const password =
    \r\n \r\n \r\n
    \r\n var showFileList = this.state.showFileList;\r\n return (\r\n
    \r\n {!showFileList &&
    \r\n \r\n
    \r\n
    \r\n {password}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    }\r\n {showFileList && \r\n }\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default DownloadFile","import React, { Component } from 'react';\nimport './App.css';\nimport './scss/App.scss';\nimport './/../node_modules/toastr/build/toastr.css';\nimport { HashRouter as Router, Switch, Route } from 'react-router-dom';\nimport DataBooksHeader from './component/DataBooksHeader/dataBooksHeader';\nimport DataBookTab from './component/DataBookTab/dataBookTab';\nimport Status from './component/status/status';\nimport MultipleStatus from './component/MultipleStatus/MultipleStatus';\nimport DownloadFile from './component/DownloadFile';\nimport Toastr from 'toastr';\n\n\nToastr.options ={\n positionClass : 'toast-bottom-right'\n}\n\nclass App extends Component {\n render() {\n return (\n \n
    \n
    \n \n \n }\n \n \n \n \n
    \n
    \n
    \n );\n }\n}\nexport default App;\n\n\n\n\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 http://bit.ly/CRA-PWA.\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit http://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See http://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n if (\n response.status === 404 ||\n response.headers.get('content-type').indexOf('javascript') === -1\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\nvar Promise = require('es6-promise').polyfill();\n\n// ReactDOM.render(, document.getElementById('root'));\nReactDOM.render((\n \n), document.getElementById('root'));\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: http://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""}