{"version":3,"sources":["components/Header/Header.js","redux/actions/ClearJobType.js","constants/Areas.js","Routes.js","redux/store.js","constants/ConfigRoutesConstants.js","components/Routes/PrivateRoute.js","History.js","services/DocumentService.js","services/RequestFormService.js","index.js","redux/actions/SetClient.js","../src lazy /^.*$/ groupOptions: {} namespace object","layouts/RfqProcessLayout.js","components/Routes/PublicRoute.js","components/ControlComponents/Input/InfoToolTip.js","components/CommonComponents/NavigationBlocker.js","components/ControlComponents/Input/InputTextArea.js","services/RFQProcessStatusService.js","redux/actions/ClearStoreActions.js","services/UploadDocumentService.js","redux/actions/JobTypeActions.js","components/CommonComponents/LoadingWrapper.js","components/ControlComponents/DocumentUploader.js","redux/actions/DefaultConfigActions.js","redux/actions/SetBomFIleAction.js","services/JargonService.js","App.js","redux/reducers/JobTypes.js","redux/reducers/DefaultConfigs.js","redux/reducers/RFQDetails.js","redux/reducers/CompletedSteps.js","redux/reducers/BomFile.js","redux/reducers/Client.js","redux/reducers/PCBNetQuoteDetails.js","redux/actions/PCBNetQuoteActions.js","registerServiceWorker.js","ClearCache.js","main.js","prototype/Extensions.js","layouts/ConfigurationsLayout.js","components/Logo/Logo.js","components/Navigation/TopNavMenu.js","components/DocumentUploaderWithModal/DocumentUploaderWithModal.js","components/Header/HeaderToggleButton.js","components/AssemblyChat/AssemblyChat.js","components/ConfigurationSideMenu/ConfigurationSideMenu.js","services/AccountService.js","components/Navigation/RFQSteps.js","services/RouteService.js","CustomHooks/GoogleAnalytics/UsePageViews.js","services/SignalrService.js","services/CommonHttpService.js","constants/UrlConstant.js","constants/ActionConstants.js","services/CommonService.js","constants/JargonConstant.js","constants/UserManager.js","services/SessionStorageService.js","redux/actions/index.js","components/ControlComponents/InputButton/InputButton.js","redux/reducers/index.js","redux/actions/CompletedStepActions.js","components/CommonComponents/LoadingSpiner.js","constants/DataConstant.js","services/ConfigurationService.js","services/AssemblyChatService.js","redux/actions/RFQDetailActions.js","constants/MessageConstant.js"],"names":["Header","useState","loggedInUserName","setLoggedInUserName","useEffect","user","OIDCService","getUser","profile","FirstName","fluid","className","md","DATA_CONSTANT","IsPCBNetClient","clearJobType","jobType","type","CLEAR_JOBTYPES","data","Areas","checkout","orderSummary","assemblyChat","RouteDataContext","createContext","connect","state","isCustomQuote","RFQDetails","isCustomQuoteRequires","isViewMode","rfqDetails","isBomAnalysis","clientInfo","Client","dispatch","setClientInfo","clientCode","setClientCode","resetReduxData","clearStore","resetCompletedSteps","menuItem","ConfigRoutesConstants","configurationRouteList","noLayoutRoutes","rfqProcessLayoutRoutes","configurationsLayoutRoutes","routeList","setRouteList","urlClientCode","IsCustomDomainClient","ClientCode","location","useLocation","history","useHistory","push","CommonService","getRoutePath","trackPromise","getRouteList","checkIsCustomQuote","pathname","routes","quoteHistory","includes","reviewbom","customQuote","routesForAllowDocumentUpload","setRoutesForAllowDocumentUpload","a","RouteService","RouteList","result","map","obj","routeUrl","routesForContext","route","RouteUrl","AllowDocumentUpload","allowDocumentUpload","AllowAssemblyDiscussion","allowAssemblyDiscussion","filter","layoutRequired","fallback","Provider","value","length","loginRequired","exact","path","component","lazy","componentPath","title","routeName","key","layout","RfqProcessLayout","ConfigurationsLayout","render","props","to","reducers","JobTypes","DefaultConfigs","CompletedSteps","BomFile","oidc","oidcReducer","PCBNetQuoteDetails","appReducer","combineReducers","persistConfig","storage","storageSession","persistedReducer","persistReducer","action","undefined","payload","EmailConfirmed","toLowerCase","configureStore","createStore","window","__REDUX_DEVTOOLS_EXTENSION__","id","linkDisplay","Component","Layout","document","clientName","isUserLoggedIn","indexOf","login","hasUserAccessRights","error","createBrowserHistory","basename","process","DocumentService","downLoadFile","filename","CommonHttpService","DownLoadFile","URL_CONSTANT","RequestForm","generatePreSignedUrl","count","httpGet","Document","GeneratePreSignedUrl","uploadFilesToS3","fileData","Promise","resolve","reject","requests","httpFilePutToS3","presignedURL","file","all","then","responses","catch","errors","forEach","console","insertDocuments","httpPost","InsertDocuments","RequestFormService","getDefaultConfigurations","url","GetDefaultConfigurations","CreateRFQ","UpdateRFQ","httpPut","CloneRFQ","GetAllQuoteType","GetRFQDetails","rfqId","assemblyId","GetRFQData","GetRFQDocuments","userId","DeleteQuantity","DeleteTurnTime","DeleteRFQDocument","UpdateAssemblyFieldValue","UpdateAdjustedTurnTimeApprovalStatus","GetRFQList","GetRFQInfoForContinue","CreateBomHealthAssembly","GetCustomerContactByEmail","email","rootElement","getElementById","RootComponentWithClearCache","withClearCache","MainComponent","ReactDOM","registerServiceWorker","setClientName","SET_CLIENT_NAME","SET_CLIENT_CODE","webpackAsyncContext","req","__webpack_require__","o","e","Error","code","ids","slice","t","keys","Object","module","exports","completedSteps","selectedJobType","reset","children","navigationBlocked","setNavigationBlock","isButtonClicked","setIsButtonClicked","IsAnyQuoteFeatureEnabled","name","getJargonValue","JARGON_CONSTANT","StartNewQuoteButton","handleClick","Swal","fire","text","jargonObject","StartNewQuoteConfirmation","icon","showCancelButton","confirmButtonText","YesButton","cancelButtonText","NoButton","reverseButtons","isConfirmed","isAssemblyRequired","isBomRequired","isComponentsRequired","isPcbRequired","isValid","cqJobType","isBomHealthQuote","InfoToolTip","helpText","helpPlacement","placement","delay","show","hide","overlay","style","marginLeft","cursor","defaultProps","memo","onbeforeunload","onunload","when","message","NavigationBlockMessage","InputTextArea","React","forwardRef","ref","onChange","rows","isRequired","errorMessage","label","trim","as","RFQProcessStatusService","getRFQSteps","jobTypeName","RFQProcessStatus","GetRFQSteps","params","saveCompletedStep","stepName","isCompleted","storeJson","JSON","parse","SessionStorageService","getSessionValue","Array","isArray","SaveCompletedStep","getRFQStepsForConfiguration","GetRFQStepsForConfiguration","updateRFQSteps","UpdateRFQSteps","getRFQProcessStatus","GetRFQProcessStatus","CLEAR_STORE","UploadDocumentService","uploadDocuments","rfqAcceptedFiles","preSignedUrls","i","presignedURLResponses","documentName","contentLength","size","filetype","uploadDocResponse","response","ok","requestDoc","documents","selectJobType","SELECT_JOBTYPE","LoadingWrapper","loaderRef","DocumentUploader","maxNumberOfFiles","mergedAcceptedFiles","displayFiles","allowedFileTypes","handleFiles","isFileUploadOnDrop","uplodedFiles","acceptedFiles","rejectedFiles","isTooManyFiles","documentFile","setDocumentFile","onDrop","useCallback","newAcceptedFiles","newRejectedFiles","filterUploadedFiles","uniqueAcceptedFiles","Set","find","uniqueRejectedFiles","acceptedFile","mergedFile","uniqueMergeFiles","mergeRejectedFiles","uniqueMergeRejectedFiles","useDropzone","noClick","noKeyboard","accept","maxFiles","maxSize","maxFileSize","minSize","getRootProps","getInputProps","open","removeFile","files","removeFileIndex","findIndex","splice","removeAllUnsupportedFiles","useImperativeHandle","handleRemoveFile","handleRemoveAllFile","acceptedFilesView","index","lg","sm","xs","rejectedFilesView","FileImportMessage1","FileImportMessage2","onClick","ChooseFileButton","MaxFileUploadMessage","toString","formatGeneric","MaxFilesValidationMessage","setDefaultConfigs","defaultConfigs","SET_DEFAULT_CONFIGS","setBomFile","SET_BOM_FILES","bomFile","JargonService","GetJargonList","GetJargonListFromConfigurations","SaveUpdatedData","onClientLoad","Extension","isUserLoaded","setIsUserLoaded","isLoaded","setIsLoaded","usePageViews","fetchData","checkUserLoggedIn","getConfiguration","setImportWidgetUrl","getJargonList","getFeatures","loadUser","userData","configKeys","ConfigurationKey","IsBomAnalysisEnabled","IsGetAQuoteEnabled","IsQuickPriceEnabled","IsBOMHealthEnabled","Configuration","GetConfigurations","some","x","QuoteFeatures","jargonValues","jargonList","elem","displayValue","intercomAppId","IntercomAppId","tagId","GoogleAnalyticsTagId","ClientName","themeName","ThemeName","logRocketAppIdKey","LogRocketAppId","isLogRocketEnabledKey","IsLogRocketEnabled","isBOMHealthEnabledKey","HubSpotAppId","val","clientTheme","doc","clientCssUrl","clientFaviconUrl","themeLink","createElement","href","rel","getElementsByTagName","appendChild","documentElement","setAttribute","querySelector","intercomSettings","app_id","d","s","innerHTML","managerscript","src","async","gtag","IsGoogleAnalyticsEnabled","logRocketAppId","LogRocket","init","identify","sub","LastName","Email","setupLogRocketReact","bomHealthWidgetUrl","$config","link","body","script","hsChatScript","defer","setTimeout","bootHubSpotChat","log","importWidgetUrl","smartImportWidgetUrl","_hsq","firstName","lastName","HubSpotConversations","onHubSpotConversationsAPIReady","hsConversationsOnReady","widget","status","loaded","refresh","load","InitialState","SET_RFQ_DETAILS","SET_BOMID","bomId","SET_IS_CUSTOMQUOTE_REQUIRES","SET_EXTERNAL_USERID","externalUserId","SET_COMPLETED_STEPS","stateData","stepIndex","first","RESET_COMPLETED_STEPS","SET_ALL_COMPLETED_STEPS","SET_PCBNET_QUOTE_DETAILS","pcbNetQuoteDetails","setPCBNetQuoteDetails","isLocalhost","Boolean","hostname","match","register","navigator","URL","origin","addEventListener","swUrl","fetch","headers","get","serviceWorker","ready","registration","unregister","reload","registerValidSW","checkValidServiceWorker","onupdatefound","installingWorker","installing","onstatechange","controller","isLatestBuildDate","setIsLatestBuildDate","metadataFileName","moment","format","json","meta","latestDate","currentDate","momLatestDateTime","momCurrentDateTime","isAfter","buildDateGreaterThan","buildDate","packageJson","refreshCacheAndReload","caches","names","delete","Fragment","baseUrl","getAttribute","store","persistor","persistStore","split","ConfigurationService","isClientExist","isExists","isCustomDomainClient","getApplicationConfigurations","isPCBNetClient","showInvalidURLAlert","html","MESSAGE_CONSTANT","invalidURLMessage","messageTitle","messageContent","showConfirmButton","allowOutsideClick","configData","config","SignalrProvider","initializeConnection","userManager","initializeUserManager","Extensions","String","prototype","args","arguments","this","replace","number","Logo","logoRedirectUrl","target","setShow","setTarget","showChat","setShowChat","chatTarget","setChatTarget","setIsUserLoggedIn","unreadMessagesCount","setUnreadMessagesCount","useRef","handleMenuIcons","event","handleChatIconClick","currRoute","useContext","isDocumentUploadVisible","isCloneApplied","isAssemblyChatVisible","checkUser","getUnreadMessageCount","requestObject","ChatNotesIds","ChatNotesType","LoginUserEmail","IsExternal","AssemblyChatService","unreadMessageCountResponse","unreadCount","hasUserAccessRight","isEmailConfirmed","getPostLoginUrl","setPostLoginUrl","emailActivationPending","handleShow","LogoutConfirmation","confirmButtonColor","OrangeColor","cancelButtonColor","BlueColor","LogoutLinkText","CancelButton","logout","rootClose","onHide","container","current","containerPadding","Content","showUpload","Toggle","HeaderToggleButton","Menu","Item","eventKey","LoginLinkText","QuoteHistoryLinkText","salesPersonId","setRejectedFiles","uploadedFiles","maxAllowFile","isTooManyFilesError","assemblyDocumentState","setAssemblyDocumentState","childRef","getUploadedFiles","getMaxNumberOfFileToUpload","maxFileValueResult","parseInt","uploadedFileList","element","fileObj","documentDetailId","isFileUploaded","acceptedFilesToUpload","requestObj","maxNumberOfFile","MaxNoOfUploadDocuments","getByKeys","generateRandomId","selectedDocuments","UploadedFilesTitle","DeleteFileAlert","RejectedFilesTitle","preventDefault","chatMessage","setChatMessage","assemblyChatData","setAssemblyChatData","loaderElement","scrollElement","getAssemblyChat","scrollTop","scrollHeight","assemblyChatResponse","chatNotes","handelSendClick","saveMessageObject","ChatNotesId","Comments","IsInternal","saveAssemblyChatMessage","area","parentContainer","chatData","displayDateText","chatNoteDetails","index1","isLoginUser","userName","createdTime","comments","maxLength","placeholder","handelChange","onKeyPress","ctrlKey","isDisabled","ConfigurationSideMenu","activeLocation","isSuperAdmin","IsSuperAdmin","validateUserAccess","AccountService","isUserPortCQAdmin","Account","IsUserPortCQAdmin","RFQSteps","Step","Steps","rfqSteps","setRFQSteps","disableSteps","setDisableSteps","stepNames","pluck","difference","CurrentStepForCheckOut","currentStep","CheckoutBillingShipping","CheckoutPayment","defaultActiveKey","Link","Completed","disabled","BOM","displayName","childSteps","progressDot","direction","child","ga","search","signalRUrl","signalRHub","newConnection","HubConnectionBuilder","withUrl","withAutomaticReconnect","build","start","on","processSignalRMessage","msg","hub","setUser","postLoginRoute","removePostLoginUrl","isForceLogout","requestURL","parameters","options","method","getCookie","getUserEmail","property","encodeURIComponent","statusText","requestBody","stringify","httpFilePost","Message","res","blob","createObjectURL","Blob","click","parentNode","removeChild","err","DownloadReport","fileName","header","matches","exec","decodeURIComponent","JobType","GetJobTypes","ROOT_URL","GetJobTypesForConfiguration","GetCQJobTypes","UpdateJobTypes","GetJobTypesDetail","Labor","GetLaborQuestions","GetLaborActivitiesWithCalculatedDriver","SubmitLaborAnswers","UpdateLaborAnswers","DeleteAssemblyLaborActivities","GetApplicationConfigurations","IsClientExist","DecryptQueryString","CreateBOM","GetPCBLinesByAssemblyId","IsScrubMyBomRunning","CustomImportWidgetCSSUrl","PCBNetImportWidgetCSSUrl","Pricing","GetRequestedQuantity","GetPurchaseData","UpdateMethodOfSupply","GetBomSummary","CheckPricingStatus","RefreshPricing","UpsertMethodOfSupplySelections","AddAlternateParts","PCB","GetPcbQuestions","SubmitPCBAnswers","SubmitPCBWithPricing","GetSavedPCBAnswers","GetPCBAnswerFields","Summary","PublishQuoteCQQuote","GetSummaryDetails","QuotePrice","MarkPriceAsSelected","GetSelectedPrice","Checkout","GetOrder","SaveOrder","CreatePaymentIntent","UpdatePaymentDetails","GetShippingMethods","GetStripePublishableKey","GetCountries","CheckListBuilder","GetCheckListScreen","SubmitCheckListBuilder","GetCheckListAnswers","GetCheckListDetails","UpdateCheckListDetails","Report","GetAllPricingReport","GetCostedBOMReport","GetQuoteReport","CustomQuote","GetAllUploadedDocuments","SubmitCustomQuote","GetMarketingContentBySectionName","AlternateParts","GetSuggestedAlternateParts","LogUserLoggedInActivity","MiscConfiguration","GetMiscConfigurations","UpdateMiscConfigurations","ShippingMethods","UpdateShippingMethods","MarketingContent","GetAllMarketingContents","UpdateMarketingContent","BOMHealth","BOMHealthReport","BOMHealthMonitor","CreateBomHealthMonitor","GetScheduleByAssemblyId","GetBomHealthMonitorHistory","DeleteBomHealthMonitorRequest","UpdateBomHealthMonitor","ContactDetails","GetByAssemblyId","Save","PCBNet","GetQuoteDetails","CreatePCBNetAssembly","AssemblyChat","GetAssemblyChat","SaveAssemblyChatMessage","GetUnreadMessageCount","SET_PRICING_RUNNING_STATUS","CLEAR_PRICING_RUNNING_STATUS","getFileExtension","extension","substr","lastIndexOf","isValidBOMFile","fileExtension","validExtension","validExtensionForBomFile","createBomFileFromBlobUrl","fetchResult","types","bomFileType","metadata","File","responseError","info","deepShallowCopy","convertChecklist","rfqDetail","checkListBuilderData","checkListDetail","objCheckListBuilder","RFQId","quoteId","AssemblyId","RFQCustomFieldValues","CustomQuoteFieldNames","isAnyFieldRequiresCustomQuote","each","fieldType","defaultValue","join","objValues","Id","FieldTypesName","FieldTypeValue","IsAnyFieldRequiresCustomQuote","characters","charactersLength","charAt","Math","floor","random","getJargonDetail","cname","ca","cookie","c","substring","calculateTax","configuredTax","paymentDetail","totalPrice","subTotalPrice","shippingCharge","discount","taxPercentage","Number","parseFloat","toFixed","calculateTotal","total","tax","pathName","getQueryParam","URLSearchParams","loggedInUserEmail","salesPersonEmail","HomePageTitle","HomePageSubTitle","NextButton","RfqPageTitle","BasicDetailSectionTitle","QuantitySectionTitle","QuantitySectionSubTitle1","QuantitySectionSubTitle2","QuantitySectionDescription","FileUploadSectionTitle","FileUploadSectionSubTitle1","FileUploadSectionSubTitle2","MapBOMButton","LaborPageTitle","AssemblyDetailPageTitle","CustomQuotePageTitle","CustomQuotePageSubTitle","CustomQuotePageDescription","CustomQuoteUploadFileSectionTitle","CustomQuoteContactDescription1","CustomQuoteContactDescription2","CustomQuoteContactDescription3","SendButton","CustomQuoteContactNumber","QuoteCompleteButton","QuoteCompleteMessage","CompilingScreenTitle","CompilingScreenDescription","BackButton","ALLPartsButton","IssueOnlyButton","BOMIsCleanMessage","DownloadBOM","BOMSummarySectionTitle","DownloadQuote","QuantityColumnHeader","TurnTimeColumnHeader","AssemblyCostColumnHeader","AdditionalServicesColumnHeader","PCBColumnHeader","TotalPriceColumnHeader","BillingAndShippingTitle","ShippingAddressSubTitle","BillingAddressSubTitle","ShippingMethodSubTitle","OrderSummarySubTitle","SeparateBillingAddressSubTitle","QuantityLabel","LeadTimeLabel","RegularPriceSubTotalLabel","ShippingLabel","TotalLabel","HideOrderDetailsButton","ViewOrderDetailsButton","PCBDetailsLabel","NetPayableTitle","GetQuotePageTitle","LineColumnHeader","ManufacturerColumnHeader","MPNColumnHeader","DescriptionColumnHeader","ReferenceDesignatorColumnHeader","TotalQuantityColumnHeader","MethodOfSupplyColumnHeader","IssueAlertColumnHeader","ScrubMyBomTitle","ScrubMyBomSubTitle","ContinueButton","ViewButton","ReorderButton","RepriceAlternatesButton","SuggestAlternatesButton","AddAlternatesManuallyButton","SuggestAlternateModalTitle","SaveSelectedAlternatesButton","AddAlternateTitle","SaveAlternatesButton","CreateAQuoteButton","BOMAnalysisButton","CreateAQuoteDescription","BOMAnalysisDescription","QuoteSelectionPageTitle","QuoteSelectionPageSubTitle","QuickPriceButton","QuickPriceDescription","DownloadAllPricing","FirstNameLabel","LastNameLabel","EmailLabel","PhoneLabel","CompanyLabel","QuoteTypeLabel","AssemblyNameLabel","AssemblyNumberLabel","RevLabel","TotalTurnTimeLabel","NoOfSMTParts","NoOfTHParts","TotalNoOfLineItem","NameLabel","StreetAddressLine1Label","StreetAddressLine2Label","PostalCodeLabel","CityLabel","StateLabel","ChooseShippingMethod","UnpricedLineItem","CrossMatch","OutofStock","LongLeadTime","InStockButLongLeadTime","Select","AssemblyNameColumnHeader","AssemblyNumberRevColumnHeader","RequestedQTYTurnTimeColumnHeader","OrderedQTYTurnTimeColumnHeader","OrderPriceColumnHeader","QuoteDateColumnHeader","StatusColumnHeader","ActionsColumnHeader","QuoteHistoryHeader","NoOfIssues","FilesTypeLabel","NoteLabel","CustomQuoteWarning","DeleteQuantityAlert","DeleteTurnTimeAlert","MinimumOneQuantityRequired","MinimumOneTurnTimeRequired","AssemblyDetailNotConfigured","NoPCBLineAdded","CustomQuoteWarningForChecklist","ReorderRFQ","RequiredMessage","InvalidValueMessage","MaxLengthMessage","MinValueMessage","RequiredMethodOfSupply","InvalidAmount","SelectAlternate","DuplicatePartNumber","RequireAlternate","MinLengthMessage","BOMHealthMonitorHeader","BOMHealthMonitorHistoryHeader","CreateSchedule","DeleteButton","EditButton","userConfig","authority","authenticationUrl","client_id","portCQClientId","redirect_uri","portCQRootUrl","response_type","response_mode","scope","apiScopesToRequest","silent_redirect_uri","automaticSilentRenew","revokeAccessTokenOnSignout","post_logout_redirect_uri","accessTokenExpiringNotificationTime","accessTokenExpiringNotification","UserManager","createUserManager","events","addUserSignedOut","addUserLoaded","addSilentRenewError","getState","expired","userState","uri","signinRedirect","removeUser","signoutRedirect","id_token","handleError","removeSessionValue","setSessionValue","oidcSessionUrl","portcqClientId","getUserId","HasAccessToApplication","sessionStorage","getItem","setItem","removeItem","RemoveButton","AddButton","PrimaryButton","SecondaryButton","SmallGreyButton","isActive","LinkButton","variant","ShoppingCartButton","rowKey","ReportButton","CloseButton","setCompletedSteps","setAllCompletedSteps","steps","LoadingSpiner","promiseInProgress","usePromiseTracker","loaderClass","classList","remove","getElementsByClassName","margin","color","loading","patterns","nameWithSpecialCharacters","quantity","totalTurnTime","laborQuestion","checkListBuilderNumber","dateFormat","assemblyNumber","assemblyName","twoDecimalPointPercentage","joditDefaultTags","RFQ","ReviewBOM","IsComponentPricingDone","AssemblyDetail","GetQuote","CheckoutVerify","guidelinesFiles","BOM_format_guidelines","BOM_template","FileType","arrayFileType","timeUOMs","PCBPartClass","StripePublishableKey","AllowMultipleJobTypeSelection","ContactNumber","QuoteCQClientCode","MinimumTurnTime","AdjustedTurnTimeToolTipText","RejectTurnTimeConformationText","ApproveTurnTimeConformationText","DefaultTurnTimeForBOMAnalysis","DefaultFirstName","DefaultLastName","DefaultEmail","DefaultPhone","DefaultCompany","DefaultAssemblyName","DefaultAssemblyNumber","DefaultTurnTimeForQuickPrice","DefaultRev","DefaultQuoteType","ReportRedashId","BOMHealthWidgetUrl","BOMHealthReportAPIAccessToken","BOMHealthLastUpdatedDays","VAT","IsBomHealthHelpIconVisible","RemoveActivityWhenSwitchIsOffFeatureEnabled","DefaultQuantity","PCBNetUrl","MaximumQuantityCount","IsPricingColumnsVisibleInReviewBOM","defaultTimeUOMUnit","TooltipPlacement","ITARProcessingRequired","FileIconNotDispalyOnRoute","RfqRouteName","complete","jobtype","scrubmybom","bomHealthMonitorHistory","quoteSummary","quoteComplete","bomHealthMonitor","backToPCBNet","AssemblyFields","ExternalUserId","SectionName","home","pricingCompiling","scrubMyBom","createAQuoteDescription","bomAnalysisDescription","quickPriceDescription","getBOMHealthDescription","DriverCountType","Blank","Fixed","Recommended","DriverCountSubType","Static","Formula","ToastMessageVariant","Success","Warning","Info","AlternateSource","CQSuggestions","Manual","DataIndex","QuoteCQJobTypeName","JobTypeDescription","Title","DisplayName","ShippingMethod","ShippingCharge","ScreenName","Description","CustomQuoteValues","MarketingContents","HTMLContentLabel","SectionNameLabel","GridScroll","y","ScreenNamesForConfiguration","SectionNamesForConfiguration","isForMarketingSection","isForChecklistSection","BomHealthRFQInfo","PortCQApplicationName","BOMHealthScheduleInterval","CurrencyMaster","getMiscConfigurations","updateMiscConfigurations","getAllMarketingContents","updateMarketingContent","decryptQueryString","loginUserEmail","setRFQDetails","setBOMId","setIsCustomQuoteRequired","setExternalUserId","validationMessage","maxLength50","maxLength100","maxLength250","maxLength500","successMessage","terminologyUpdatedSuccessfully","miscConfigurationUpdatedSuccessfully","jobTypesUpdatedSuccessfully","rfqStepsUpdatedSuccessfully","shippingMethodsUpdatedSuccessfully","marketingContentUpdatedSuccessfully","checkListDetailsUpdatedSuccessfully","configurations","invalid","required"],"mappings":"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A,GAED,kBAAmB,CAClB,IACA,GAED,6CAA8C,CAC7C,IACA,GAED,gDAAiD,CAChD,IACA,GAED,YAAa,CACZ,IACA,GAED,eAAgB,CACf,IACA,GAED,WAAY,CACX,IACA,GAED,cAAe,CACd,IACA,GAED,2CAA4C,CAC3C,IACA,EACA,EACA,EACA,IAED,+CAAgD,CAC/C,IACA,EACA,KAED,8CAA+C,CAC9C,IACA,EACA,EACA,EACA,IAED,wCAAyC,CACxC,IACA,EACA,KAED,6CAA8C,CAC7C,IACA,EACA,EACA,EACA,EACA,EACA,IAED,gDAAiD,CAChD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,yCAA0C,CACzC,IACA,GAED,6CAA8C,CAC7C,IACA,GAED,4CAA6C,CAC5C,IACA,GAED,kCAAmC,CAClC,IACA,EACA,EACA,EACA,GACA,IAED,sCAAuC,CACtC,IACA,EACA,KAED,qCAAsC,CACrC,IACA,EACA,EACA,EACA,GACA,IAED,iCAAkC,CACjC,IACA,EACA,KAED,kCAAmC,CAClC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,qCAAsC,CACrC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,qDAAsD,CACrD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,yDAA0D,CACzD,IACA,EACA,KAED,wDAAyD,CACxD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,iDAAkD,CACjD,IACA,EACA,EACA,EACA,EACA,IAED,oDAAqD,CACpD,IACA,EACA,EACA,EACA,EACA,IAED,gDAAiD,CAChD,IACA,EACA,IAED,mDAAoD,CACnD,IACA,EACA,IAED,6CAA8C,CAC7C,IACA,EACA,IAED,gDAAiD,CAChD,IACA,EACA,IAED,8CAA+C,CAC9C,GACA,GAED,iDAAkD,CACjD,GACA,GAED,mDAAoD,CACnD,IACA,GAED,+CAAgD,CAC/C,IACA,GAED,kDAAmD,CAClD,IACA,GAED,uCAAwC,CACvC,IACA,EACA,IAED,0CAA2C,CAC1C,IACA,EACA,IAED,kDAAmD,CAClD,IACA,GAED,qDAAsD,CACrD,IACA,GAED,2DAA4D,CAC3D,IACA,GAED,+DAAgE,CAC/D,IACA,GAED,8DAA+D,CAC9D,IACA,GAED,qDAAsD,CACrD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,wDAAyD,CACxD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,oDAAqD,CACpD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,uDAAwD,CACvD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,gDAAiD,CAChD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,mDAAoD,CACnD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,iDAAkD,CACjD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,oDAAqD,CACpD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,oDAAqD,CACpD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,uDAAwD,CACvD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,2DAA4D,CAC3D,IACA,EACA,EACA,EACA,EACA,EACA,IAED,8DAA+D,CAC9D,IACA,EACA,EACA,EACA,EACA,EACA,IAED,0CAA2C,CAC1C,IACA,EACA,EACA,EACA,EACA,EACA,IAED,6CAA8C,CAC7C,IACA,EACA,EACA,EACA,EACA,EACA,IAED,sDAAuD,CACtD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,0DAA2D,CAC1D,IACA,EACA,KAED,yDAA0D,CACzD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,sFAAuF,CACtF,IACA,EACA,IAED,yFAA0F,CACzF,IACA,EACA,IAED,uFAAwF,CACvF,IACA,EACA,IAED,0FAA2F,CAC1F,IACA,EACA,IAED,kEAAmE,CAClE,IACA,EACA,IAED,qEAAsE,CACrE,IACA,EACA,IAED,uDAAwD,CACvD,IACA,EACA,KAED,4DAA6D,CAC5D,IACA,EACA,KAED,+DAAgE,CAC/D,IACA,EACA,EACA,IAED,kEAAmE,CAClE,IACA,EACA,EACA,IAED,kDAAmD,CAClD,IACA,GAED,qDAAsD,CACrD,IACA,GAED,uCAAwC,CACvC,IACA,EACA,GAED,wCAAyC,CACxC,IACA,EACA,GAED,+DAAgE,CAC/D,IACA,EACA,IAED,mEAAoE,CACnE,IACA,EACA,KAED,kEAAmE,CAClE,IACA,EACA,IAED,+DAAgE,CAC/D,IACA,EACA,IAED,mEAAoE,CACnE,IACA,EACA,KAED,kEAAmE,CAClE,IACA,EACA,IAED,mDAAoD,CACnD,IACA,GAED,sDAAuD,CACtD,IACA,GAED,kDAAmD,CAClD,IACA,EACA,IAED,qDAAsD,CACrD,IACA,EACA,IAED,wDAAyD,CACxD,IACA,GAED,qDAAsD,CACrD,IACA,EACA,EACA,EACA,IAED,wDAAyD,CACxD,IACA,EACA,EACA,EACA,IAED,mDAAoD,CACnD,IACA,EACA,IAED,uDAAwD,CACvD,IACA,EACA,KAED,sDAAuD,CACtD,IACA,EACA,IAED,qDAAsD,CACrD,IACA,GAED,wDAAyD,CACxD,IACA,GAED,oDAAqD,CACpD,IACA,EACA,IAED,uDAAwD,CACvD,IACA,EACA,IAED,6CAA8C,CAC7C,IACA,EACA,GAED,gDAAiD,CAChD,IACA,EACA,GAED,yDAA0D,CACzD,GACA,GAED,6DAA8D,CAC7D,IACA,GAED,4DAA6D,CAC5D,GACA,GAED,2DAA4D,CAC3D,IACA,EACA,IAED,+DAAgE,CAC/D,IACA,EACA,KAED,8DAA+D,CAC9D,IACA,EACA,IAED,mEAAoE,CACnE,IACA,GAED,uEAAwE,CACvE,IACA,GAED,sEAAuE,CACtE,IACA,GAED,6BAA8B,CAC7B,IACA,EACA,IAED,iCAAkC,CACjC,IACA,EACA,KAED,gCAAiC,CAChC,IACA,EACA,IAED,mCAAoC,CACnC,IACA,EACA,IAED,sCAAuC,CACtC,IACA,EACA,IAED,mCAAoC,CACnC,IACA,EACA,IAED,sCAAuC,CACtC,IACA,EACA,IAED,kDAAmD,CAClD,IACA,EACA,IAED,qDAAsD,CACrD,IACA,EACA,IAED,6BAA8B,CAC7B,IACA,GAED,iCAAkC,CACjC,IACA,GAED,gCAAiC,CAChC,IACA,GAED,yCAA0C,CACzC,IACA,GAED,4CAA6C,CAC5C,IACA,GAED,+BAAgC,CAC/B,IACA,EACA,IAED,mCAAoC,CACnC,IACA,EACA,KAED,kCAAmC,CAClC,IACA,EACA,IAED,iCAAkC,CACjC,IACA,EACA,IAED,qCAAsC,CACrC,IACA,EACA,KAED,oCAAqC,CACpC,IACA,EACA,IAED,iCAAkC,CACjC,IACA,EACA,IAED,qCAAsC,CACrC,IACA,EACA,KAED,oCAAqC,CACpC,IACA,EACA,IAED,mDAAoD,CACnD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,sDAAuD,CACtD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,uCAAwC,CACvC,IACA,EACA,KAED,yBAA0B,CACzB,IACA,GAED,6BAA8B,CAC7B,IACA,GAED,4BAA6B,CAC5B,IACA,GAED,qCAAsC,CACrC,IACA,EACA,EACA,EACA,EACA,GACA,IAED,wCAAyC,CACxC,IACA,EACA,EACA,EACA,EACA,GACA,IAED,mCAAoC,CACnC,IACA,GAED,uCAAwC,CACvC,IACA,GAED,sCAAuC,CACtC,IACA,GAED,qCAAsC,CACrC,IACA,GAED,yCAA0C,CACzC,IACA,GAED,wCAAyC,CACxC,IACA,GAED,iDAAkD,CACjD,IACA,EACA,EACA,IAED,qDAAsD,CACrD,IACA,EACA,KAED,oDAAqD,CACpD,IACA,EACA,EACA,IAED,2CAA4C,CAC3C,IACA,EACA,IAED,8CAA+C,CAC9C,IACA,EACA,IAED,8BAA+B,CAC9B,IACA,EACA,EACA,IAED,iCAAkC,CACjC,IACA,EACA,EACA,IAED,6DAA8D,CAC7D,IACA,EACA,IAED,iEAAkE,CACjE,IACA,EACA,KAED,gEAAiE,CAChE,IACA,EACA,IAED,uCAAwC,CACvC,IACA,EACA,EACA,IAED,2CAA4C,CAC3C,IACA,EACA,KAED,0CAA2C,CAC1C,IACA,EACA,EACA,IAED,+BAAgC,CAC/B,IACA,EACA,EACA,EACA,EACA,EACA,IAED,mCAAoC,CACnC,IACA,EACA,KAED,kCAAmC,CAClC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,qCAAsC,CACrC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,yCAA0C,CACzC,IACA,EACA,KAED,wCAAyC,CACxC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,oCAAqC,CACpC,IACA,EACA,IAED,wCAAyC,CACxC,IACA,EACA,KAED,uCAAwC,CACvC,IACA,EACA,IAED,2CAA4C,CAC3C,IACA,EACA,IAED,+CAAgD,CAC/C,IACA,EACA,KAED,8CAA+C,CAC9C,IACA,EACA,IAED,gDAAiD,CAChD,IACA,EACA,IAED,oDAAqD,CACpD,IACA,EACA,KAED,mDAAoD,CACnD,IACA,EACA,IAED,mCAAoC,CACnC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,uCAAwC,CACvC,IACA,EACA,KAED,sCAAuC,CACtC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,mCAAoC,CACnC,IACA,GAED,sCAAuC,CACtC,IACA,GAED,kCAAmC,CAClC,IACA,GAED,qCAAsC,CACrC,IACA,GAED,gDAAiD,CAChD,IACA,EACA,EACA,IAED,oDAAqD,CACpD,IACA,EACA,KAED,mDAAoD,CACnD,IACA,EACA,EACA,IAED,8BAA+B,CAC9B,GACA,GAED,iCAAkC,CACjC,GACA,GAED,oBAAqB,CACpB,IACA,GAED,uBAAwB,CACvB,IACA,GAED,oCAAqC,CACpC,IACA,GAED,uCAAwC,CACvC,IACA,GAED,2BAA4B,CAC3B,EACA,GAED,8BAA+B,CAC9B,EACA,GAED,6BAA8B,CAC7B,IACA,EACA,IAED,gCAAiC,CAChC,IACA,EACA,IAED,6BAA8B,CAC7B,GACA,GAED,gCAAiC,CAChC,GACA,GAED,8BAA+B,CAC9B,GACA,GAED,iCAAkC,CACjC,GACA,GAED,iCAAkC,CACjC,IACA,EACA,IAED,oCAAqC,CACpC,IACA,EACA,IAED,6BAA8B,CAC7B,IACA,EACA,EACA,EACA,EACA,EACA,GAED,gCAAiC,CAChC,IACA,EACA,EACA,EACA,EACA,EACA,GAED,0BAA2B,CAC1B,GACA,GAED,6BAA8B,CAC7B,GACA,GAED,0BAA2B,CAC1B,GACA,GAED,6BAA8B,CAC7B,GACA,GAED,uBAAwB,CACvB,IACA,EACA,KAED,uBAAwB,CACvB,IACA,EACA,KAED,uBAAwB,CACvB,IACA,EACA,KAED,wBAAyB,CACxB,IACA,EACA,KAED,wBAAyB,CACxB,IACA,EACA,KAED,4BAA6B,CAC5B,IACA,EACA,KAED,2BAA4B,CAC3B,IACA,EACA,KAED,qBAAsB,CACrB,IACA,GAED,UAAW,CACV,IACA,GAED,aAAc,CACb,IACA,GAED,iCAAkC,CACjC,IACA,GAED,oCAAqC,CACpC,IACA,GAED,mBAAoB,CACnB,IACA,EACA,IAED,sBAAuB,CACtB,IACA,EACA,IAED,6BAA8B,CAC7B,IACA,GAED,iCAAkC,CACjC,IACA,GAED,gCAAiC,CAChC,IACA,GAED,SAAU,CACT,IACA,GAED,YAAa,CACZ,IACA,GAED,4CAA6C,CAC5C,IACA,EACA,EACA,EACA,EACA,EACA,IAED,+CAAgD,CAC/C,IACA,EACA,EACA,EACA,EACA,EACA,IAED,sCAAuC,CACtC,IACA,EACA,IAED,yCAA0C,CACzC,IACA,EACA,IAED,oDAAqD,CACpD,IACA,EACA,KAED,oDAAqD,CACpD,IACA,EACA,IAED,uDAAwD,CACvD,IACA,EACA,IAED,6CAA8C,CAC7C,IACA,EACA,IAED,gDAAiD,CAChD,IACA,EACA,IAED,+CAAgD,CAC/C,IACA,EACA,IAED,kDAAmD,CAClD,IACA,EACA,IAED,uDAAwD,CACvD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,0DAA2D,CAC1D,IACA,EACA,EACA,EACA,EACA,EACA,IAED,gDAAiD,CAChD,IACA,EACA,EACA,IAED,mDAAoD,CACnD,IACA,EACA,EACA,IAED,4BAA6B,CAC5B,IACA,EACA,EACA,EACA,EACA,GACA,IAED,gCAAiC,CAChC,IACA,EACA,KAED,+BAAgC,CAC/B,IACA,EACA,EACA,EACA,EACA,GACA,IAED,wCAAyC,CACxC,IACA,EACA,IAED,2CAA4C,CAC3C,IACA,EACA,IAED,iCAAkC,CACjC,IACA,EACA,IAED,oCAAqC,CACpC,IACA,EACA,IAED,oDAAqD,CACpD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,uDAAwD,CACvD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,4CAA6C,CAC5C,IACA,EACA,EACA,EACA,EACA,EACA,IAED,+CAAgD,CAC/C,IACA,EACA,EACA,EACA,EACA,EACA,IAED,mDAAoD,CACnD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,sDAAuD,CACtD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,8CAA+C,CAC9C,IACA,EACA,EACA,EACA,EACA,EACA,IAED,iDAAkD,CACjD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,mDAAoD,CACnD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,sDAAuD,CACtD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,0DAA2D,CAC1D,IACA,EACA,EACA,EACA,EACA,EACA,IAED,6DAA8D,CAC7D,IACA,EACA,EACA,EACA,EACA,EACA,IAED,yCAA0C,CACzC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,4CAA6C,CAC5C,IACA,EACA,EACA,EACA,EACA,EACA,IAED,sCAAuC,CACtC,IACA,EACA,KAED,sCAAuC,CACtC,IACA,EACA,EACA,IAED,yCAA0C,CACzC,IACA,EACA,EACA,IAED,0BAA2B,CAC1B,IACA,EACA,KAED,0BAA2B,CAC1B,IACA,EACA,IAED,6BAA8B,CAC7B,IACA,EACA,IAED,sCAAuC,CACtC,IACA,EACA,EACA,IAED,yCAA0C,CACzC,IACA,EACA,EACA,IAED,gCAAiC,CAChC,IACA,EACA,KAED,gCAAiC,CAChC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,mCAAoC,CACnC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,uCAAwC,CACvC,IACA,EACA,IAED,0CAA2C,CAC1C,IACA,EACA,IAED,oBAAqB,CACpB,IACA,EACA,IAED,wBAAyB,CACxB,IACA,EACA,KAED,uBAAwB,CACvB,IACA,EACA,IAED,0BAA2B,CAC1B,IACA,EACA,EACA,EACA,EACA,EACA,IAED,6BAA8B,CAC7B,IACA,EACA,EACA,EACA,EACA,EACA,IAED,kBAAmB,CAClB,IACA,EACA,EACA,IAED,sBAAuB,CACtB,IACA,EACA,KAED,qBAAsB,CACrB,IACA,EACA,EACA,IAED,qCAAsC,CACrC,IACA,EACA,IAED,wCAAyC,CACxC,IACA,EACA,IAED,wCAAyC,CACxC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,4CAA6C,CAC5C,IACA,EACA,KAED,2CAA4C,CAC3C,IACA,EACA,EACA,EACA,EACA,EACA,IAED,0DAA2D,CAC1D,IACA,EACA,KAED,0DAA2D,CAC1D,IACA,EACA,IAED,6DAA8D,CAC7D,IACA,EACA,IAED,sBAAuB,CACtB,IACA,EACA,KAED,sBAAuB,CACtB,IACA,EACA,EACA,EACA,EACA,EACA,IAED,yBAA0B,CACzB,IACA,EACA,EACA,EACA,EACA,EACA,IAED,kCAAmC,CAClC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,qCAAsC,CACrC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,2CAA4C,CAC3C,IACA,EACA,IAED,+CAAgD,CAC/C,IACA,EACA,KAED,8CAA+C,CAC9C,IACA,EACA,IAED,yBAA0B,CACzB,IACA,GAED,4BAA6B,CAC5B,IACA,GAED,kBAAmB,CAClB,GACA,GAED,mBAAoB,CACnB,GACA,GAED,+BAAgC,CAC/B,IACA,GAED,kCAAmC,CAClC,IACA,GAED,oCAAqC,CACpC,IACA,GAED,uCAAwC,CACvC,IACA,GAED,uCAAwC,CACvC,GACA,GAED,0CAA2C,CAC1C,GACA,GAED,uCAAwC,CACvC,IACA,GAED,0CAA2C,CAC1C,IACA,GAED,iCAAkC,CACjC,IACA,GAED,oCAAqC,CACpC,IACA,GAED,qCAAsC,CACrC,IACA,GAED,wCAAyC,CACxC,IACA,GAED,mCAAoC,CACnC,GACA,GAED,sCAAuC,CACtC,GACA,GAED,mCAAoC,CACnC,IACA,GAED,sCAAuC,CACtC,IACA,GAED,4BAA6B,CAC5B,IACA,GAED,+BAAgC,CAC/B,IACA,GAED,wBAAyB,CACxB,GACA,GAED,2BAA4B,CAC3B,GACA,GAED,mBAAoB,CACnB,GACA,GAED,oBAAqB,CACpB,GACA,GAED,2BAA4B,CAC3B,IACA,GAED,8BAA+B,CAC9B,IACA,GAED,0BAA2B,CAC1B,IACA,GAED,6BAA8B,CAC7B,IACA,GAED,kCAAmC,CAClC,IACA,GAED,qCAAsC,CACrC,IACA,GAED,kCAAmC,CAClC,IACA,GAED,qCAAsC,CACrC,IACA,GAED,4BAA6B,CAC5B,IACA,GAED,+BAAgC,CAC/B,IACA,GAED,sCAAuC,CACtC,IACA,GAED,yCAA0C,CACzC,IACA,GAED,8BAA+B,CAC9B,IACA,GAED,iCAAkC,CACjC,IACA,GAED,yBAA0B,CACzB,GACA,GAED,4BAA6B,CAC5B,GACA,GAED,gBAAiB,CAChB,IACA,GAED,mBAAoB,CACnB,IACA,GAED,0BAA2B,CAC1B,IACA,GAED,6BAA8B,CAC7B,IACA,GAED,iCAAkC,CACjC,IACA,EACA,KAED,oCAAqC,CACpC,IACA,EACA,KAED,+BAAgC,CAC/B,IACA,EACA,KAED,4BAA6B,CAC5B,IACA,GAED,+BAAgC,CAC/B,IACA,GAED,kCAAmC,CAClC,IACA,EACA,IAED,qCAAsC,CACrC,IACA,EACA,IAED,iCAAkC,CACjC,GACA,GAED,oCAAqC,CACpC,GACA,GAED,wBAAyB,CACxB,IACA,EACA,IAED,2BAA4B,CAC3B,IACA,EACA,IAED,qCAAsC,CACrC,IACA,EACA,IAED,wCAAyC,CACxC,IACA,EACA,IAED,+BAAgC,CAC/B,GACA,GAED,kCAAmC,CAClC,GACA,GAED,2BAA4B,CAC3B,GACA,GAED,8BAA+B,CAC9B,GACA,GAED,kCAAmC,CAClC,GACA,GAED,qCAAsC,CACrC,GACA,GAED,mCAAoC,CACnC,IACA,EACA,KAED,sCAAuC,CACtC,IACA,EACA,KAED,gCAAiC,CAChC,IACA,EACA,KAED,mCAAoC,CACnC,IACA,EACA,KAED,6BAA8B,CAC7B,IACA,GAED,gCAAiC,CAChC,IACA,GAED,2BAA4B,CAC3B,IACA,GAED,8BAA+B,CAC9B,IACA,GAED,4BAA6B,CAC5B,IACA,EACA,KAED,+BAAgC,CAC/B,IACA,EACA,KAED,0BAA2B,CAC1B,IACA,EACA,KAED,6BAA8B,CAC7B,IACA,EACA,KAED,qCAAsC,CACrC,IACA,EACA,KAED,wCAAyC,CACxC,IACA,EACA,KAED,yBAA0B,CACzB,IACA,EACA,KAED,4BAA6B,CAC5B,IACA,EACA,KAED,0BAA2B,CAC1B,IACA,EACA,KAED,6BAA8B,CAC7B,IACA,EACA,KAED,2BAA4B,CAC3B,IACA,EACA,KAED,8BAA+B,CAC9B,IACA,EACA,KAED,wBAAyB,CACxB,IACA,EACA,KAED,2BAA4B,CAC3B,IACA,EACA,KAED,4BAA6B,CAC5B,IACA,EACA,KAED,+BAAgC,CAC/B,IACA,EACA,KAED,+BAAgC,CAC/B,IACA,EACA,KAED,kCAAmC,CAClC,IACA,EACA,KAED,qCAAsC,CACrC,IACA,GAED,wCAAyC,CACxC,IACA,GAED,2BAA4B,CAC3B,IACA,EACA,KAED,8BAA+B,CAC9B,IACA,EACA,KAED,gCAAiC,CAChC,IACA,GAED,mCAAoC,CACnC,IACA,GAED,0BAA2B,CAC1B,IACA,GAED,6BAA8B,CAC7B,IACA,GAED,mCAAoC,CACnC,GACA,GAED,sCAAuC,CACtC,GACA,GAED,mCAAoC,CACnC,IACA,EACA,KAED,sCAAuC,CACtC,IACA,EACA,KAED,4BAA6B,CAC5B,IACA,GAED,+BAAgC,CAC/B,IACA,GAED,4BAA6B,CAC5B,IACA,EACA,KAED,+BAAgC,CAC/B,IACA,EACA,KAED,mCAAoC,CACnC,IACA,GAED,sCAAuC,CACtC,IACA,IAGF,SAASuI,EAAoBC,GAC5B,IAAIC,EAAoBC,EAAE1I,EAAKwI,GAC9B,OAAOrD,QAAQC,UAAUO,MAAK,WAC7B,IAAIgD,EAAI,IAAIC,MAAM,uBAAyBJ,EAAM,KAEjD,MADAG,EAAEE,KAAO,mBACHF,KAIR,IAAIG,EAAM9I,EAAIwI,GAAMjF,EAAKuF,EAAI,GAC7B,OAAO3D,QAAQO,IAAIoD,EAAIC,MAAM,GAAG/I,IAAIyI,EAAoBE,IAAIhD,MAAK,WAChE,OAAO8C,EAAoBO,EAAEzF,EAAIuF,EAAI,OAGvCP,EAAoBU,KAAO,WAC1B,OAAOC,OAAOD,KAAKjJ,IAEpBuI,EAAoBhF,GAAK,IACzB4F,EAAOC,QAAUb,G,0NC3jEFzL,uBAfS,SAAAC,GAAK,cAAK,CAC9BsM,eAAgBtM,EAAMmF,eAAiBnF,EAAMmF,eAAiB,GAC9DoH,gBAAe,UAAEvM,EAAMiF,gBAAR,aAAE,EAAgBsH,gBACjCpM,sBAAqB,UAAEH,EAAME,kBAAR,aAAE,EAAkBC,0BAGlB,SAAAM,GAAQ,MAAK,CACpC+L,MAAO,SAACD,GACJ9L,EAASK,wBACTL,EAASM,iCACTN,EAASrB,uBAAamN,QAKfxM,EAtFU,SAAC,GAAiF,IAA/EwM,EAA8E,EAA9EA,gBAAiBD,EAA6D,EAA7DA,eAAgBnM,EAA6C,EAA7CA,sBAAuBsM,EAAsB,EAAtBA,SAAUD,EAAY,EAAZA,MACpF3K,EAAUC,cAEhB,EAAgDxD,oBAAS,GAAzD,mBAAOoO,EAAP,KAA0BC,EAA1B,KAEA,EAA8CrO,oBAAS,GAAvD,mBAAOsO,EAAP,KAAwBC,EAAxB,KAEApO,qBAAU,WACFmO,GACAD,GAAmB,KAExB,CAACC,IA4BJ,OACI,yBAAK5N,UAAU,gBACX,kBAAC,UAAD,MACA,yBAAKwH,GAAG,gBACJ,kBAAC,IAAD,CAAWzH,OAAK,GACZ,kBAAC,IAAD,KACI,kBAAC,IAAD,CAAKE,GAAI,EAAGD,UAAU,QAClB,kBAAC,UAAD,CAAmB0N,kBAAmBA,IACpCxN,gBAAc4N,2BAA6B5N,gBAAcC,eACvD,kBAAC,gBAAD,CAAeH,UAAU,2BAA2B+N,KAAM/K,gBAAcgL,eAAeC,kBAAgBf,KAAKgB,qBAAsBC,YAnC9H,WAC5BN,GAAmB,GACnBF,GAAmB,GACnBS,IAAKC,KAAK,CACNC,KAAML,kBAAgBM,aAAaC,0BACnCC,KAAM,UACNC,kBAAkB,EAClBC,kBAAmBV,kBAAgBM,aAAaK,UAChDC,iBAAkBZ,kBAAgBM,aAAaO,SAC/CC,gBAAgB,IACjBnF,MAAK,SAAC5F,GACDA,EAAOgL,cACHzB,IACAA,EAAgB0B,oBAAqB,EACrC1B,EAAgB2B,eAAgB,EAChC3B,EAAgB4B,sBAAuB,EACvC5B,EAAgB6B,eAAgB,EAChC7B,EAAgB8B,SAAU,EAC1B9B,EAAgBlN,QAAU,GAC1BkN,EAAgB+B,UAAY,GAC5B9B,EAAMD,IAEV1K,EAAQE,KAAKC,gBAAcC,aAAa,YActB,yBAAKjD,UAAW,gBAErB,OAACuN,QAAD,IAACA,OAAD,EAACA,EAAiBgC,mBACf,oCACI,kBAAC,UAAD,CACIjC,eAAgBA,EAChBnM,sBAAuBA,EACvBoM,gBAAiBA,MAKjC,kBAAC,IAAD,CAAKtN,GAAI,IACJwN,W,0HCjDd1M,uBAJS,SAACC,GAAD,MAAY,CAChCO,WAAYP,EAAMQ,UAGPT,EA1BM,SAAC,GAAoE,IAAvD2G,EAAsD,EAAjEtC,UAAsB7D,EAA2C,EAA3CA,WAAoBoG,EAAuB,EAA/BjC,OAAmBI,EAAY,iBAMrF,OALArG,qBAAU,WACFqG,EAAMP,QACNqC,SAASrC,MAAT,UAAoBO,EAAMP,MAA1B,cAAqChE,EAAWsG,gBAGpDF,EAEI,kBAAC,IAAU7B,EACP,kBAAC6B,EAAD,KACI,kBAACD,EAAc5B,KAM3B,kBAAC,IAAUA,EACP,kBAAC4B,EAAc5B,Q,wJCdrB0J,EAAc,SAAC,GAKd,IAJHC,EAIE,EAJFA,SACAC,EAGE,EAHFA,cACA1P,EAEE,EAFFA,UACG8F,EACD,iBAMF,OACI,kBAAC,IAAD,eAEI6J,UAAWD,EACXE,MAAO,CAAEC,KAAM,IAAKC,KAAM,KAC1BC,QACI,kBAAC,IAAD,CAASvI,GAAG,sBACPiI,IAGL3J,GAEJ,uBAAGkK,MAjBG,CAEVC,WAAY,SACZC,OAAQ,WAca1I,GAAG,YAAYxH,UAAWA,GAAW,kBAAC,IAAD,SAIlEwP,EAAYW,aAAe,CACvB7P,KAAM,OACNN,UAAW,GACX0P,cAAe,SAMJF,a,iCC3Cf,2CAiBeY,0BAbW,SAAC,GAA2B,IAAzB1C,EAAwB,EAAxBA,kBASzB,OARIA,EACApG,OAAO+I,eAAiB,kBAAM,IAG9B/I,OAAO+I,eAAiB,KACxB/I,OAAOgJ,SAAW,MAIlB5C,GAAqB,kBAAC,IAAD,CAAQ6C,KAAM7C,EAAmB8C,QAASvC,kBAAgBM,aAAakC,6B,2NCR9FC,EAAgBC,IAAMC,YAAW,WAapCC,GAAS,IAZRrJ,EAYO,EAZPA,GACAuG,EAWO,EAXPA,KACAhJ,EAUO,EAVPA,MACA+L,EASO,EATPA,SACAC,EAQO,EARPA,KACAC,EAOO,EAPPA,WACAC,EAMO,EANPA,aACAC,EAKO,EALPA,MACAzB,EAIO,EAJPA,SACAC,EAGO,EAHPA,cACA1P,EAEO,EAFPA,UACG8F,EACI,iBAEP,OACI,oCACKoL,GAASA,EAAMC,QACZ,oCACI,kBAAC,IAAD,SAAaD,EAAb,KACCF,GAAc,0BAAMhR,UAAU,aAAhB,KACdyP,GAAYA,EAAS0B,QAClB,kBAAC,UAAD,CAAanR,UAAWA,EAAWyP,SAAUA,EAAUC,cAAeA,KAIlF,kBAAC,IAAD,eACI0B,GAAG,WACH5J,GAAIA,EACJuG,KAAMA,EACNhJ,MAAOA,GAAS,GAChB+L,SAAUA,EACVD,IAAKA,EACLE,KAAMA,GACFjL,IAENmL,GAAgBA,EAAalD,IAASkD,EAAalD,GAAMyC,SACvD,0BAAMxQ,UAAU,aACXiR,EAAalD,GAAMyC,aAOxCE,EAAcP,aAAe,CACzBY,KAAM,EACN/Q,UAAW,IAcA0Q,a,iCCnEf,2FAIaW,EAA0B,CAEnCC,YAAa,SAACC,GACV,IAAIhH,EAAG,UAAM5B,eAAa6I,iBAAiBC,aACvCC,EAAS,CAAErR,QAASkR,GACxB,OAAO9I,oBAAkBM,QAAQwB,EAAKmH,IAE1CC,kBAAmB,SAAC3G,EAAY4G,EAAUC,GACtC,IAAIC,EAAYC,KAAKC,MAAMC,wBAAsBC,gBAAgB,iBAC7DX,EAAcQ,KAAKC,MAAMF,EAAU7L,UAAUsH,gBAAgB+B,UAE7D9O,EAAO,CACPwK,WAAYA,EACZ4G,SAAUO,MAAMC,QAAQR,GAAYA,EAAW,CAACA,GAChDC,YAAaA,EACbN,YAAaA,GAEjB,OAAO9I,oBAAkB0B,SAASxB,eAAa6I,iBAC3Ca,kBAAmB7R,IAE3B8R,4BAA6B,WACzB,OAAO7J,oBAAkBM,QAAQJ,eAAa6I,iBAAiBe,8BAGnEC,eAAgB,SAAChS,GACb,OAAOiI,oBAAkB0B,SAASxB,eAAa6I,iBAAiBiB,eAAgBjS,IAEpFkS,oBAAqB,SAAC1H,EAAYuG,GAC9B,IAAIhH,EAAG,UAAM5B,eAAa6I,iBAAiBmB,qBACvCjB,EAAS,CAAE1G,WAAYA,EAAY3K,QAASkR,GAChD,OAAO9I,oBAAkBM,QAAQwB,EAAKmH,M,iCClC9C,8DAEa5P,EAAa,iBAAO,CAC7BxB,KAAMsS,cACNpS,KAAM,M,iCCJV,kFAGaqS,EAAwB,CACjCC,gBAAiB,SAAC9H,EAAY+H,GAAb,OAAkC,IAAI3J,SAAQ,SAACC,EAASC,GACrEhB,kBAAgBO,qBAAqBkK,EAAiB/N,QAAQ4E,MAAK,SAACoJ,GAChE,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAcE,sBAAsBlO,OAAQiO,IAC5DD,EAAcE,sBAAsBD,GAAGvJ,KAAOqJ,EAAiBE,GAC/DD,EAAcE,sBAAsBD,GAAGE,aAAeJ,EAAiBE,GAAGlF,KAC1EiF,EAAcE,sBAAsBD,GAAGG,cAAgBL,EAAiBE,GAAGI,KAC3EL,EAAcE,sBAAsBD,GAAGK,SAAWP,EAAiBE,GAAGK,SAE1EhL,kBAAgBY,gBAAgB8J,EAAcE,uBAAuBtJ,MAAK,SAAC2J,GACvE,IAAMxJ,EAASwJ,EAAkB5O,QAAO,SAAC6O,GAAD,OAAeA,EAASC,MAChE,GAAsB,IAAlB1J,EAAO/E,OAAc,CACrB,IAAI0O,EAAa,CACb1I,WAAYA,EACZ2I,UAAWX,EAAcE,uBAE7BhQ,uBAAaoF,kBAAgB4B,gBAAgBwJ,GAAY9J,MAAK,SAACpJ,GAC3D6I,EAAQU,YAIZT,EAAOS,e,iCCxB3B,iEAEa6J,EAAgB,SAACvT,GAAD,MAAc,CACvCC,KAAMuT,iBACNrT,KAAM,CAAEH,QAASA,M,iCCJrB,0EAEayT,EAAiB,SAAChO,GAC3B,OACI,yBAAK+K,IAAK/K,EAAMiO,UAAW/T,UAAU,oCAChC8F,EAAM2H,Y,qKCKbuG,EAAmBpD,sBAAW,WAA6GC,GAAS,IAAnHoD,EAAkH,EAAlHA,iBAAkBC,EAAgG,EAAhGA,oBAAqBC,EAA2E,EAA3EA,aAAcC,EAA6D,EAA7DA,iBAAkBC,EAA2C,EAA3CA,YAAaC,EAA8B,EAA9BA,mBACnHC,EAAeL,EAAoBlP,OAAS,EAAIkP,EAAsB,GAC1E,EAAwC5U,mBAAS,CAAEkV,cAAeD,EAAcE,cAAe,GAAIC,gBAAgB,IAAnH,mBAAOC,EAAP,KAAqBC,EAArB,KACMC,EAASC,uBAAY,SAACC,EAAkBC,GAC1C,IACIC,EAAsB,GACtBC,EAAsB,YACnB,IAAIC,IAAIJ,EAAiB9Q,KAAI,SAACC,GAAD,OAASA,EAAI6J,UAC/C9J,KAAI,SAAC8J,GACH,OAAOgH,EAAiBK,MAAK,SAAClR,GAAD,OAASA,EAAI6J,OAASA,QAEnDsH,EAAsB,YACnB,IAAIF,IAAIH,EAAiB/Q,KAAI,SAACC,GAAD,OAASA,EAAIwF,KAAKqE,UACpD9J,KAAI,SAAC8J,GACH,OAAOiH,EAAiBI,MAAK,SAAClR,GAAD,OAASA,EAAIwF,KAAKqE,OAASA,QAGxDkH,EADAX,EACsBY,EAAoBvQ,QAAO,SAAU2Q,GACvD,OAAQpB,EAAoBkB,MAAK,SAAUG,GACvC,OAAOD,EAAavH,OAASwH,EAAWxH,WAI7B,sBAAO4G,EAAaH,eAApB,YAAsCU,IAE7D,IAAIM,EAAmB,YAChB,IAAIL,IAAIF,EAAoBhR,KAAI,SAACC,GAAD,OAASA,EAAI6J,UAClD9J,KAAI,SAAC8J,GACH,OAAOkH,EAAoBG,MAAK,SAAClR,GAAD,aAAS,UAAAA,EAAIwF,YAAJ,eAAUqE,QAASA,GAAQ7J,EAAI6J,OAASA,QAGjF0H,EAAkB,sBAAOd,EAAaF,eAApB,YAAsCY,IAExDK,EAA2B,YACxB,IAAIP,IAAIM,EAAmBxR,KAAI,SAACC,GAAD,OAASA,EAAIwF,KAAKqE,MAAQ7J,EAAI6J,UAClE9J,KAAI,SAAC8J,GACH,OAAO0H,EAAmBL,MAAK,SAAClR,GAAD,aAAS,UAAAA,EAAIwF,YAAJ,eAAUqE,QAASA,GAAQ7J,EAAI6J,OAASA,SAGhFuG,EACcL,GAAoBC,EAAoBlP,OAASwQ,EAAiBxQ,QAElEiP,EAAmBuB,EAAiBxQ,SAGpC,GAAKyQ,EAAmBzQ,OAASiP,EAC/CW,EAAgB,CAAEJ,cAAegB,EAAkBf,cAAeiB,EAA0BhB,gBAAgB,IAE5GE,EAAgB,2BAAKD,GAAN,IAAoBD,gBAAgB,OAGvD,CAACC,EAAaH,cAAeG,EAAaF,gBAG9C,EAA8CkB,YAAY,CACtDC,SAAS,EACTC,YAAY,EACZC,OAAQ1B,EACRS,SACAkB,SAAU9B,EACV+B,QAAS9V,gBAAc+V,YACvBC,QAAS,IAPLC,EAAR,EAAQA,aAAcC,EAAtB,EAAsBA,cAAeC,EAArC,EAAqCA,KAUrC5W,qBAAU,WACF4U,GACAA,EAAYM,KAEjB,CAACA,IAEJ,IAAM2B,EAAa,SAACvI,GAChB,IAAIwI,EAAK,eAAQ5B,GACb6B,EAAkBD,EAAM/B,cAAciC,WAAU,SAAC7J,GAAD,OAAOA,EAAEmB,OAASA,KACtEwI,EAAM/B,cAAckC,OAAOF,EAAiB,GAC5CD,EAAM7B,gBAAiB,EACvBE,EAAgB2B,IAGdI,EAA4B,WAC9B/B,EAAgB,2BAAKD,GAAN,IAAoBF,cAAe,OAGtDmC,8BAAoB/F,GAAK,iBAAO,CAC5BgG,iBAD4B,SACX9I,GACbuI,EAAWvI,IAEf+I,oBAJ4B,WAKxBH,SAIR,IAAMI,EAAoBpC,EAAaH,eAAiBG,EAAaH,cAAcvQ,KAAI,SAACyF,EAAMsN,GAAP,OACnF,kBAAC,IAAD,CAAKvR,IAAKuR,GACN,kBAAC,IAAD,CAAK/W,GAAI,GAAIgX,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAInX,UAAU,kBAC1C0J,EAAKvE,KADV,MACmBuE,EAAK2J,KADxB,UAGA,kBAAC,IAAD,CAAKpT,GAAI,EAAGgX,GAAI,EAAGC,GAAI,GAAIC,GAAI,GAAInX,UAAU,QACzC,kBAAC,eAAD,CAAcmO,YAAa,kBAAMmI,EAAW5M,EAAKqE,cAKvDqJ,EAAoBzC,EAAaF,eAAiBE,EAAaF,cAAcxQ,KAAI,WAAmB+S,GAAnB,IAAGtN,EAAH,EAAGA,KAAMK,EAAT,EAASA,OAAT,OACnF,kBAAC,IAAD,CAAKtE,IAAKuR,GACN,kBAAC,IAAD,CAAK/W,GAAI,GAAIgX,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAInX,UAAU,kBAC3C,wBAAIyF,IAAKiE,EAAKvE,MACTuE,EAAKvE,KADV,MACmBuE,EAAK2J,KADxB,SAEI,4BACKtJ,EAAO9F,KAAI,SAAC2I,GAAD,OACR,wBAAInH,IAAKmH,EAAEE,MAAOF,EAAE4D,mBAQ5C,OACI,kBAAC,IAAD,CAAWzQ,OAAK,GACZ,kBAAC,IAAD,KACI,kBAAC,IAAD,KACI,wBAASoW,EAAa,CAAEnW,UAAW,0BAC/B,yBAAKA,UAAU,aACX,0BAAWoW,EAAc,KACzB,yBAAKpW,UAAU,cACX,kBAAC,IAAD,KACI,kBAAC,IAAD,KAAMgD,gBAAcgL,eAAeC,kBAAgBf,KAAKmK,sBAE5D,kBAAC,IAAD,KACI,kBAAC,IAAD,SAAOrU,gBAAcgL,eAAeC,kBAAgBf,KAAKoK,uBAGjE,kBAAC,IAAD,CAAQhX,KAAK,SAASiX,QAASlB,EAAMrW,UAAU,uBAC1CgD,gBAAcgL,eAAeC,kBAAgBf,KAAKsK,mBAEvD,yBAAKxX,UAAU,QAAf,IAAwBgD,gBAAcgL,eAAeC,kBAAgBf,KAAKuK,sBAAsBC,WAAWC,cAAc1D,GAAzH,UAKE,IAAjBE,GACG,kBAAC,IAAD,CAAKnU,UAAU,wBACX,kBAAC,IAAD,KACI,kBAAC,IAAD,KACI,kBAAC,IAAD,KACK+W,EAAkB/R,OAAS,GACxB,kBAAC,IAAD,KACI,kBAAC,IAAD,CAAK/E,GAAI,GACL,gDAIX8W,IAGT,kBAAC,IAAD,KACI,kBAAC,IAAD,KACKK,EAAkBpS,OAAS,IAAM2P,EAAaD,gBAC3C,oCACI,kBAAC,IAAD,CAAK1U,UAAU,QACX,kBAAC,IAAD,CAAKC,GAAI,IACL,+CAEJ,kBAAC,IAAD,CAAKA,GAAI,GACL,kBAAC,eAAD,CACIkO,YAAa,kBAAMwI,SAI/B,kBAAC,IAAD,KAAMS,IAIbzC,EAAaD,gBACV,wBAAI1U,UAAU,kBAAd,UAAmCiO,kBAAgBM,aAAaqJ,0BAAhE,YAA6F3D,YAWjID,EAAiB7D,aAAe,CAC5BgE,cAAc,EACdG,oBAAoB,EACpBL,iBAAkB/T,gBAAc+T,kBAWrBD,a,iCCjNf,qEAEa6D,EAAoB,SAACC,GAAD,MAAqB,CAClDxX,KAAMyX,sBACNvX,KAAM,CAAEsX,eAAgBA,M,iCCJ5B,8DAEaE,EAAa,SAACtO,GAAD,MAAW,CACjCpJ,KAAM2X,gBACNzX,KAAM,CAAE0X,QAASxO,M,iCCJrB,yEAGayO,EAAgB,CACzBC,cAAe,WACX,OAAO3P,oBAAkBM,QAAQJ,eAAayP,gBAElDC,gCAAiC,WAC7B,OAAO5P,oBAAkBM,QAAQJ,eAAa0P,kCAElDC,gBAAiB,SAAC9X,GACd,OAAOiI,oBAAkB0B,SAASxB,eAAa2P,gBAAiB9X,M,6OCqQzDO,sBAAQ,MAJI,SAACU,GAAD,MAAe,CACtC8W,aAAc,SAAC1Q,GAAD,OAAgBpG,EAAS4K,wBAAcxE,QAG1C9G,EA/PH,SAAC,GAAsB,IAApBwX,EAAmB,EAAnBA,aACXC,oBAEA,MAAwClZ,oBAAS,GAAjD,mBAAOmZ,EAAP,KAAqBC,EAArB,KACA,EAAgCpZ,oBAAS,GAAzC,mBAAOqZ,EAAP,KAAiBC,EAAjB,KAEAC,oBAEApZ,qBAAU,WAENqZ,MAED,IAEH,IAAMA,EAAS,uCAAG,4BAAAjV,EAAA,sEACGkV,IADH,OACVrZ,EADU,OAEdsZ,EAAiBtZ,GACjBuZ,IACAC,IACAC,IALc,2CAAH,qDAQTJ,EAAiB,uCAAG,4BAAAlV,EAAA,6DAClBnE,EAAO,KADW,SAEhBC,cAAYyZ,WAAWxP,MAAK,SAAUyP,GACxC3Z,EAAO2Z,EACPX,GAAgB,MACjB5O,OAAM,WAAc4O,GAAgB,MALjB,gCAMfhZ,GANe,2CAAH,qDASjByZ,EAAW,uCAAG,4BAAAtV,EAAA,6DACZyV,EAAa,CAACpZ,gBAAcqZ,iBAAiBC,qBAAsBtZ,gBAAcqZ,iBAAiBE,mBACtGvZ,gBAAcqZ,iBAAiBG,oBAAqBxZ,gBAAcqZ,iBAAiBI,oBAFnE,SAGVlR,oBAAkB0B,SAASxB,eAAaiR,cAAcC,kBAAmBP,GAAY1P,MAAK,SAACpJ,GACzFA,GAASA,EAAKwE,OAAS,IACvB9E,gBAAc4N,yBAA2BtN,EAAKsZ,MAAK,SAAAC,GAAC,MAA6B,QAAzBA,EAAEhV,MAAMoC,iBAChEjH,gBAAc8Z,cAAgBxZ,MANtB,2CAAH,qDAWX0Y,EAAa,uCAAG,sBAAArV,EAAA,sEACZsU,gBAAcC,gBAAgBxO,MAAK,SAACpJ,GACtC,GAAIA,EAAM,CACNyN,kBAAgBgM,aAAezZ,EAAK0Z,WACpC,IAAI3L,EAAe,GACnB/N,EAAK0Z,WAAWlQ,SAAQ,SAACmQ,EAAMlH,GAC3B1E,EAAa4L,EAAKjJ,OAASiJ,EAAKC,gBAEpCnM,kBAAgBM,aAAeA,EAC/BqK,GAAY,OATF,2CAAH,qDAcbI,EAAmB,SAACtZ,GACtB,IAAI2a,EAAgBna,gBAAcqZ,iBAAiBe,cAC/CC,EAAQra,gBAAcqZ,iBAAiBiB,qBACvC3S,EAAa3H,gBAAcqZ,iBAAiBkB,WAC5CC,EAAYxa,gBAAcqZ,iBAAiBoB,UAC3CC,EAAoB1a,gBAAcqZ,iBAAiBsB,eACnDC,EAAwB5a,gBAAcqZ,iBAAiBwB,mBACvDC,EAAwB9a,gBAAcqZ,iBAAiBI,mBAErDL,EAAa,CAACpZ,gBAAcqZ,iBAAiB0B,aAAcZ,EAAeE,EAAO1S,EAAY6S,EAAWI,EAAuBF,EAAmBI,GAExJvS,oBAAkB0B,SAASxB,eAAaiR,cAAcC,kBAAmBP,GACpE1P,MAAK,SAACpJ,GACCA,GAASA,EAAKwE,OAAS,GAEvBxE,EAAKyD,KAAI,SAACiX,GAEN,IAAKA,EAAInW,MACL,OAAO,EAGX,GAAImW,EAAIzV,MAAQiV,EAAW,CACvB,IAAIS,EAAcD,EAAInW,MAClBqW,EAAMxT,SAENyT,EAAY,UADDhT,GACC,mBAAyB8S,EAAzB,QACZG,EAAgB,UAFLjT,GAEK,oBAA0B8S,EAA1B,QAChBI,EAAYH,EAAII,cAAc,QAClCD,EAAUE,KAAOJ,EACjBE,EAAUG,IAAM,aAChBH,EAAUjb,KAAO,WACjB8a,EAAIO,qBAAqB,QAAQ,GAAGC,YAAYL,GAChDH,EAAIS,gBAAgBC,aAAa,aAAcX,GAC/CC,EAAIW,cAAJ,6BAA+CN,KAAOH,OACnD,GAAIJ,EAAIzV,MAAQoC,EACnB0Q,EAAa2C,EAAInW,YAEhB,GAAImW,EAAIzV,MAAQ4U,EAAe,CAChC/S,OAAO0U,iBAAmB,CACtBC,OAAQf,EAAInW,OAEhB,IAAMmX,EAAItU,SACJuU,EAAID,EAAEV,cAAc,UAC1BW,EAAEC,UAAF,45BAqByClB,EAAInW,MArB7C,iaA+BAmX,EAAEP,qBAAqB,QAAQ,GAAGC,YAAYO,QAC3C,GAAIjB,EAAIzV,MAAQ8U,EAAO,CAC1B,IAAMa,EAAMxT,SACNyU,EAAgBjB,EAAII,cAAc,UACxCa,EAAcC,IAAM,+CAAiDpB,EAAInW,MACzEsX,EAAcE,OAAQ,EACtBnB,EAAIO,qBAAqB,QAAQ,GAAGC,YAAYS,GAChD,IAAMG,EAAOpB,EAAII,cAAc,UAC/BgB,EAAKJ,UAAL,6OAGsBlB,EAAInW,MAH1B,OAIAyX,EAAKlc,KAAO,kBACZkc,EAAKD,OAAQ,EACbnB,EAAIO,qBAAqB,QAAQ,GAAGC,YAAYY,GAEhDtc,gBAAcuc,0BAA2B,OAGxC,GAAIvB,EAAIzV,MAAQqV,GAAuC,SAAdI,EAAInW,MAAkB,CAAC,IAAD,EAE5D2X,EAAc,UAAGlc,EAAK4U,MAAK,SAAA2E,GAAC,OAAIA,EAAEtU,KAAOmV,YAA3B,aAAG,EAA4C7V,MAC7D2X,IACAC,IAAUC,KAAKF,GACXhd,GAAQA,EAAKG,SACb8c,IAAUE,SAASnd,EAAKG,QAAQid,IAAK,CACjC/O,KAAK,GAAD,OAAKrO,EAAKG,QAAQC,UAAlB,YAA+BJ,EAAKG,QAAQkd,UAChDlR,MAAOnM,EAAKG,QAAQmd,QAG5BC,IAAoBN,WAIvB,GAAIzB,EAAIzV,MAAQuV,GAAuC,SAAdE,EAAInW,MAAkB,CAEhE,IAAMmY,EAAqB5V,OAAO6V,QAAQD,mBACpCE,EAAOxV,SAAS4T,cAAc,QACpC4B,EAAK1B,IAAM,aACX0B,EAAK9c,KAAO,WACZ8c,EAAK3B,KAAL,UAAeyB,EAAf,eACAtV,SAASyV,KAAKzB,YAAYwB,GAE1B,IAAME,EAAS1V,SAAS4T,cAAc,UACtC8B,EAAOhB,IAAP,UAAgBY,EAAhB,cACAI,EAAO9V,GAAK,wBACZI,SAASyV,KAAKzB,YAAY0B,QAEzB,GAAIpC,EAAIzV,MAAQvF,gBAAcqZ,iBAAiB0B,aAAc,CAE9D,IAAIsC,EAAe3V,SAAS4T,cAAc,UAC1C+B,EAAajd,KAAO,kBACpBid,EAAa/V,GAAK,mBAClB+V,EAAahB,OAAQ,EACrBgB,EAAaC,OAAQ,EACrBD,EAAajB,IAAM,uBAAyBpB,EAAInW,MAAQ,MACxD6C,SAASyV,KAAKzB,YAAY2B,GAE1BE,YAAW,WACPC,EAAgBhe,KACjB,YAKlBoK,OAAM,SAAC5B,GACJ+B,QAAQ0T,IAAIzV,OAIlB+Q,EAAqB,WACvB,IAAM2E,EAAkBtW,OAAO6V,QAAQU,qBAAuBvW,OAAO6V,QAAQU,qBAAuBvW,OAAO6V,QAAQS,gBACnHhW,SAASmE,eAAe,yBAAyBuQ,IAAjD,UAA0DsB,EAA1D,eAGEF,EAAkB,SAAChe,GAEjB4H,OAAOwW,QAEP,OAAIpe,QAAJ,IAAIA,OAAJ,EAAIA,EAAMG,UACNyH,OAAOwW,KAAK/a,KAAK,CACb,WACA,CACI8I,MAAOnM,EAAKG,QAAQmd,MACpBe,UAAWre,EAAKG,QAAQC,UACxBke,SAAUte,EAAKG,QAAQkd,YAKnCzV,OAAOwW,KAAK/a,KAAK,CAAC,mBAGlBuE,OAAO2W,qBACPC,IAEA5W,OAAO6W,uBAAyB,CAACD,IAInCA,EAAiC,WACpB5W,OAAO2W,qBAAqBG,OAAOC,SACvCC,OACPhX,OAAO2W,qBAAqBG,OAAOG,UAEnCjX,OAAO2W,qBAAqBG,OAAOI,QAI3C,OACI,oCAEQ/F,GAAgBE,EACZ,kBAAC,UAAD,MACA,KAER,kBAAC,gBAAD,W,qGCrQN8F,EAAe,GACRxY,EAAW,WAAmC,IAAlCjF,EAAiC,uDAAzByd,EAAc1X,EAAW,uCAC9CzG,EAAeyG,EAAfzG,KAAME,EAASuG,EAATvG,KAEd,OAAQF,GACJ,KAAKuT,iBAEL,KAAKtT,iBACD,OAAO,2BACAS,GADP,IACcuM,gBAAgB/M,EAAKH,UAEvC,QACI,OAAOW,K,2GCZbyd,EAAe,GAERvY,EAAiB,WAAmC,IAAlClF,EAAiC,uDAAzByd,EAAc1X,EAAW,uCACpDzG,EAAeyG,EAAfzG,KAAME,EAASuG,EAATvG,KAEd,OAAQF,GACJ,KAAKyX,sBACD,OAAO,2BAAK/W,GAAZ,IAAmB8W,eAAgBtX,EAAKsX,iBAC5C,KAAKlF,cACD,OAAO6L,EACX,QACI,OAAOzd,K,uGCXbyd,EAAe,GACRvd,EAAa,WAAmC,IAAlCF,EAAiC,uDAAzByd,EAAc1X,EAAW,uCAChDzG,EAAeyG,EAAfzG,KAAME,EAASuG,EAATvG,KAEd,OAAQF,GACJ,KAAKoe,kBACD,OAAO,2BAAK1d,GAAZ,IAAmBK,WAAYb,EAAKa,aACxC,KAAKsd,YACD,OAAO,2BAAK3d,GAAZ,IAAmB4d,MAAOpe,EAAKoe,QACnC,KAAKC,8BACD,OAAO,2BAAK7d,GAAZ,IAAmBG,sBAAuBX,EAAKW,wBACnD,KAAK2d,sBACD,OAAO,2BAAK9d,GAAZ,IAAmB+d,eAAgBve,EAAKue,iBAC5C,KAAKnM,cACD,OAAO6L,EACZ,QACK,OAAOzd,K,mHCfbyd,EAAe,GACRtY,EAAiB,WAAmC,IAAlCnF,EAAiC,uDAAzByd,EAAc1X,EAAW,uCACpDzG,EAAeyG,EAAfzG,KAAME,EAASuG,EAATvG,KAEd,OAAQF,GACJ,KAAK0e,sBACD,IAAIC,EAAS,YAAOje,GAChBke,EAAYD,EAAUlX,QAAQvH,EAAKoR,UAMvC,OALIsN,EAAY,EACZD,EAAUlc,KAAKvC,EAAKoR,UAEpBqN,EAAYE,YAAMF,EAAWC,EAAY,GAEtCD,EACX,KAAKG,wBACD,OAAOX,EACX,KAAKY,0BACD,OAAO7e,EACX,QACI,OAAOQ,K,oGCpBbyd,EAAe,GACRrY,EAAU,WAAmC,IAAlCpF,EAAiC,uDAAzByd,EAAc1X,EAAW,uCAC7CzG,EAAeyG,EAAfzG,KAAME,EAASuG,EAATvG,KAEd,OAAQF,GACJ,KAAK2X,gBACD,OAAO,2BAAKjX,GAAZ,IAAmBkX,QAAS1X,EAAK0X,UACrC,KAAKtF,cACD,OAAO6L,EACX,QACI,OAAOzd,K,mGCVbyd,EAAe,GACRjd,EAAS,WAAmC,IAAlCR,EAAiC,uDAAzByd,EAAc1X,EAAW,uCAC5CzG,EAAeyG,EAAfzG,KAAME,EAASuG,EAATvG,KAEd,OAAQF,GACJ,KAAKgM,kBACD,OAAO,2BAAKtL,GAAZ,IAAmB6G,WAAYrH,EAAKqH,aACxC,KAAK0E,kBACD,OAAO,2BAAKvL,GAAZ,IAAmBW,WAAYnB,EAAKmB,aACxC,QACI,OAAOX,K,+GCVbyd,EAAe,GACRlY,EAAqB,WAAmC,IAAlCvF,EAAiC,uDAAzByd,EAAc1X,EAAW,uCACxDzG,EAAeyG,EAAfzG,KAAME,EAASuG,EAATvG,KAEd,OAAQF,GACJ,KAAKgf,2BACD,OAAO,2BAAKte,GAAZ,IAAmBue,mBAAoB/e,EAAK+e,qBAC/C,KAAK3M,cACF,OAAO6L,EACZ,QACK,OAAOzd,K,iCCZnB,yEAEawe,EAAwB,SAACD,GAAD,MAAyB,CAC1Djf,KAAMgf,2BACN9e,KAAM,CAAE+e,mBAAoBA,M,iCCJhC,0FAUA,IAAME,EAAcC,QACW,cAA7BpY,OAAO3E,SAASgd,UAEa,UAA7BrY,OAAO3E,SAASgd,UAEhBrY,OAAO3E,SAASgd,SAASC,MACvB,2DAIW,SAASC,IACtB,GAA6C,kBAAmBC,UAAW,CAGzE,GADkB,IAAIC,IAAI1X,GAAwBf,OAAO3E,UAC3Cqd,SAAW1Y,OAAO3E,SAASqd,OAIvC,OAGF1Y,OAAO2Y,iBAAiB,QAAQ,WAC9B,IAAMC,EAAK,UAAM7X,GAAN,sBAEPoX,EAwCV,SAAkCS,GAEhCC,MAAMD,GACHtW,MAAK,SAAA4J,GAGkB,MAApBA,EAAS6K,SACuD,IAAhE7K,EAAS4M,QAAQC,IAAI,gBAAgBtY,QAAQ,cAG7C+X,UAAUQ,cAAcC,MAAM3W,MAAK,SAAA4W,GACjCA,EAAaC,aAAa7W,MAAK,WAC7BtC,OAAO3E,SAAS+d,eAKpBC,EAAgBT,MAGnBpW,OAAM,WACLG,QAAQ0T,IACN,oEA5DAiD,CAAwBV,GAGxBS,EAAgBT,OAMxB,SAASS,EAAiBT,GACxBJ,UAAUQ,cACPT,SAASK,GACTtW,MAAK,SAAA4W,GACJA,EAAaK,cAAgB,WAC3B,IAAMC,EAAmBN,EAAaO,WACtCD,EAAiBE,cAAgB,WACA,cAA3BF,EAAiB9f,QACf8e,UAAUQ,cAAcW,WAK1BhX,QAAQ0T,IAAI,6CAKZ1T,QAAQ0T,IAAI,4CAMrB7T,OAAM,SAAA5B,GACL+B,QAAQ/B,MAAM,4CAA6CA,MA+B1D,SAASuY,IACV,kBAAmBX,WACrBA,UAAUQ,cAAcC,MAAM3W,MAAK,SAAA4W,GACjCA,EAAaC,kB,wGCxCJxU,UAjDf,SAAwBvE,GA8CpB,OA7CA,SAA6B5B,GACzB,MAAkDxG,oBAAS,GAA3D,mBAAO4hB,EAAP,KAA0BC,EAA1B,KAEIC,EAAmB,mBAAsBC,MAASC,OAAO,kBAE7D7hB,qBAAU,WACN0gB,MAAMiB,GACDxX,MAAK,SAAC4J,GAAD,OAAcA,EAAS+N,UAC5B3X,MAAK,SAAC4X,IApBM,SAACC,EAAYC,GACtC,IAAMC,EAAoBN,IAAOI,GAC3BG,EAAqBP,IAAOK,GAElC,QAAIC,EAAkBE,QAAQD,IAoBaE,CAHDN,EAAKO,UACJC,EAAYD,YAOnCZ,GAAqB,GACrBc,KAEAd,GAAqB,QAGlC,IAEH,IAAMc,EAAwB,WACtBC,QAEAA,OAAOhV,OAAOtD,MAAK,SAACuY,GAAW,IAAD,gBACPA,GADO,IAC1B,2BAA0B,CAAC,IAAhBpU,EAAe,QACtBmU,OAAOE,OAAOrU,IAFQ,kCAOlCzG,OAAO3E,SAAS+d,QAAO,IAG3B,OACI,kBAAC,IAAM2B,SAAP,KACKnB,EAAoB,kBAACxZ,EAAc5B,GAAY,S,kNCyBjDoG,UAlEO,SAACpG,GAEnB,MAAgCxG,oBAAS,GAAzC,mBAAOqZ,EAAP,KAAiBC,EAAjB,KAEM0J,EAAU1a,SAAS+T,qBAAqB,QAAQ,GAAG4G,aAAa,QAChEC,EAAQpb,2BACRqb,EAAYC,YAAaF,GAC3B7gB,EAAa2F,OAAO3E,SAASU,SAASsf,MAAM,KAAK,GAErDljB,qBAAU,WACNmjB,uBAAqBC,cAAclhB,GAAYiI,MAAK,SAACpJ,GAC7CA,GAAQA,EAAKsiB,UACb5iB,gBAAcwC,WAAalC,EAAKmB,WAChCzB,gBAAcuC,qBAAuBjC,EAAKuiB,qBAC1CC,IACA9iB,gBAAcC,eAAiBK,EAAKyiB,gBAGpCC,SAGT,IAEH,IAAMA,EAAsB,WACxB9U,IAAKC,KAAK,CACN8U,KAAK,MAAD,OAAQC,mBAAiBC,kBAAkBC,aAA3C,mBAAkEF,mBAAiBC,kBAAkBE,eAArG,UACJ9U,KAAM,UACN+U,mBAAmB,EACnBC,mBAAmB,IACpB7Z,MAAK,SAAC5F,QAKPgf,EAA4B,uCAAG,sBAAAnf,EAAA,sEAC3B+e,uBAAqBI,+BACtBpZ,MAAK,SAAA8Z,GACFpc,OAAO6V,QAAUuG,EAAWC,OAC5BC,kBAAgBC,uBAChBjL,GAAY,MALa,2CAAH,qDASlC,GAAID,EAAU,CACV,IAAImL,EAAcC,gCAAsBzc,OAAO6V,SAC/C,OACI,kBAAC,IAAD,CAAeqF,MAAOA,GAClB,kBAAC,eAAD,CAAcA,MAAOA,EAAOsB,YAAaA,GACrC,kBAAC,IAAD,CAAarB,UAAWA,GACpB,kBAAC,IAAD,CAAera,SAAUka,GACrB,kBAAC,UAAQxc,OASjC,OACI,yBAAK9F,UAAU,eACX,4D,iCC5EZ,OAcegkB,UAdI,WACVC,OAAOC,UAAUvM,gBAClBsM,OAAOC,UAAUvM,cAAgB,WAC7B,IAAIwM,EAAOC,UACX,OAAOC,KAAKC,QAAQ,YAAY,SAAU1E,EAAO2E,GAC7C,MAA+B,qBAAjBJ,EAAKI,GACbJ,EAAKI,GACL3E,S,iCCPtB,6CAkBeha,UAdc,SAAC,GAAkB,IAAhB6H,EAAe,EAAfA,SAC5B,OACI,yBAAKzN,UAAU,wDACX,kBAAC,UAAD,MACA,yBAAKwH,GAAG,yBAAyBxH,UAAU,sDACvC,kBAAC,UAAD,MACA,yBAAKA,UAAU,2CACVyN,O,iCCXrB,yCAUe+W,UANF,kBACT,uBAAG/I,KAAMnU,OAAO6V,QAAQsH,gBAAkBnd,OAAO6V,QAAQsH,gBAAmBnd,OAAO3E,SAASqd,OAAS,IAAM9f,gBAAcwC,WAAagiB,OAAO,SAAS1kB,UAAU,yBAC5J,yBAAKA,UAAU,kB,uQCiMRe,uBAJS,SAACC,GAAD,YAAY,CAChCK,WAAU,UAAEL,EAAME,kBAAR,aAAE,EAAkBG,cAGnBN,EAnLI,SAAC,GAAoB,IAAlBM,EAAiB,EAAjBA,WAClB,EAAwB/B,oBAAS,GAAjC,mBAAOuQ,EAAP,KAAa8U,EAAb,KACA,EAA4BrlB,mBAAS,MAArC,mBAAOolB,EAAP,KAAeE,EAAf,KACA,EAAgCtlB,oBAAS,GAAzC,mBAAOulB,EAAP,KAAiBC,EAAjB,KACA,EAAoCxlB,mBAAS,MAA7C,mBAAOylB,EAAP,KAAmBC,EAAnB,KACA,EAA4C1lB,oBAAS,GAArD,mBAAOwI,EAAP,KAAuBmd,EAAvB,KACA,EAAsD3lB,mBAAS,GAA/D,mBAAO4lB,EAAP,KAA4BC,EAA5B,KAEMtiB,EAAUC,cACV+N,EAAMuU,iBAAO,MAEbziB,EAAWC,cACXyiB,EAAkB,SAACC,GACrBX,GAAS9U,GACJ6U,GACDE,EAAUU,EAAMZ,SAGlBa,EAAsB,SAACD,GACzBH,EAAuB,GACvBL,GAAaD,IACRE,GAAcO,GACfN,EAAcM,EAAMZ,SAItBc,EADYC,qBAAW5kB,oBACDuU,MAAK,SAAU/Q,GAAS,OAAOA,EAAMC,UAAY3B,EAASU,YAEhFqiB,GAA2BF,GAAaA,EAAUjhB,sBAAiC,OAAVlD,QAAU,IAAVA,OAAA,EAAAA,EAAY2J,YAAa,KAAK,OAAC3J,QAAD,IAACA,OAAD,EAACA,EAAYskB,mBAAkB,OAACtkB,QAAD,IAACA,OAAD,EAACA,EAAYD,YACnJwkB,GAAwB9d,GAAkB0d,GAAaA,EAAU/gB,0BAAqC,OAAVpD,QAAU,IAAVA,OAAA,EAAAA,EAAY2J,YAAa,KAAK,OAAC3J,QAAD,IAACA,OAAD,EAACA,EAAYskB,gBAE7IlmB,qBAAU,WACNomB,OACD,IAEH,IAQMC,GAAwB,SAACpmB,GAC3B,GAAI8lB,GAAaA,EAAU/gB,0BAAqC,OAAVpD,QAAU,IAAVA,OAAA,EAAAA,EAAY2J,YAAa,EAAG,CAAC,IAAD,EAE1E+a,EAAgB,CAChBC,aAAc,QAAC3kB,QAAD,IAACA,OAAD,EAACA,EAAY2J,YAC3Bib,cAAe,WACfC,eAAc,OAAExmB,QAAF,IAAEA,GAAF,UAAEA,EAAMG,eAAR,aAAE,EAAemd,MAC/BmJ,YAAY,GAGhBC,sBAAoBN,sBAAsBC,GAAenc,MAAK,SAACyc,GAAgC,IAAD,GAE5D,OAA1BA,QAA0B,IAA1BA,GAAA,UAAAA,EAA4B7lB,YAA5B,eAAkCwE,QAAS,GAC3CmgB,EAAuBkB,EAA2B7lB,KAAK,GAAG8lB,kBAOpET,GAAS,uCAAG,8BAAAhiB,EAAA,sDAEF,OADRnE,EAAOC,cAAYC,aAEf2mB,EAAqB5mB,cAAYsI,sBAEZ,GADDtI,cAAY6mB,oBACDlf,OAAO3E,SAASU,SAASG,SAAS,4BAC5CyO,wBAAsBwU,mBAEvCxU,wBAAsByU,gBAAgBpf,OAAO3E,SAASU,UAE1DR,EAAQE,KAAKC,gBAAcC,aAAa/C,gBAAcoD,OAAOqjB,0BAE7DJ,GACAtB,GAAkB,GAClBa,GAAsBpmB,IAGtBmD,EAAQE,KAAKC,gBAAcC,aAAa/C,gBAAcoD,OAAO4E,OAAQ,MAjB/D,2CAAH,qDAsBT0e,GAAa,WACfxY,IAAKC,KAAK,CACNC,KAAML,kBAAgBM,aAAasY,mBACnCpY,KAAM,UACNC,kBAAkB,EAClBoY,mBAAoB5mB,gBAAc6mB,YAClCC,kBAAmB9mB,gBAAc+mB,UACjCtY,kBAAmBV,kBAAgBM,aAAa2Y,eAChDrY,iBAAkBZ,kBAAgBM,aAAa4Y,aAC/CpY,gBAAgB,IACjBnF,MAAK,SAAC5F,GACDA,EAAOgL,aAxDfrP,cAAYynB,aAkEhB,OACI,oCAGK1B,IACG,kBAAC,IAAD,CAAkB7U,IAAK6T,EAAQ1kB,UAAU,mCAAmCuX,QAAS8N,IAEzF,kBAAC,IAAD,CACIxV,KAAMA,EACN6U,OAAQA,EACR2C,WAAS,EACTC,OAAQ,kBAAM3C,GAAS9U,IACvB0X,UAAW1W,EAAI2W,QACfC,iBAAkB,GAClB9X,UAAU,UAEV,kBAAC,IAAD,CAASnI,GAAG,oBAAoBxH,UAAU,2BACtC,kBAAC,IAAQ0nB,QAAT,KACI,kBAAC,UAAD,CAA2BC,WAAYtC,OAM/CO,IACA,6BAEQV,EAAsB,GAAK,0BAAMllB,UAAU,sBAG/C,kBAAC,IAAD,CAAY6Q,IAAKkU,EAAY/kB,UAAU,OAAOuX,QAASgO,IACvD,kBAAC,IAAD,CACI1V,KAAMgV,EACNH,OAAQK,EACRsC,WAAS,EACTC,OAAQ,kBAAMxC,GAAaD,IAC3B0C,UAAW1W,EAAI2W,QACfC,iBAAkB,GAClB9X,UAAU,UAEV,kBAAC,IAAD,CAASnI,GAAG,oBAAoBxH,UAAU,gCACtC,kBAAC,IAAQ0nB,QAAT,KACI,kBAAC,UAAD,CAAc7C,SAAUU,QAO5C,yBAAKvlB,UAAU,eACX,kBAAC,IAAD,CAAUA,UAAU,gCAChB,kBAAC,IAAS4nB,OAAV,CAAiBxW,GAAIyW,UAAoBrgB,GAAG,+BAE5C,kBAAC,IAASsgB,KAAV,MACMhgB,GACE,kBAAC,IAASigB,KAAV,CAAeC,SAAS,IAAIzQ,QAAS,WA7HzD5X,cAAYqI,UA6HmEiG,kBAAgBM,aAAa0Z,eAE3FngB,GAAkB,oCACd5H,gBAAc4N,0BAA4B,kBAAC,IAASia,KAAV,CAAeC,SAAS,IAAIzQ,QAAS,WA7DpG1U,EAAQE,KAAKC,gBAAcC,aAAa/C,gBAAcoD,OAAOC,iBA6DqE0K,kBAAgBM,aAAa2Z,sBAC3I,kBAAC,IAASH,KAAV,CAAe/nB,UAAU,OAAOgoB,SAAS,IAAIzQ,QAAS,kBAAMqP,OAAgB3Y,kBAAgBM,aAAa2Y,yB,2PC4CtHnmB,uBALS,SAACC,GAAD,kBAAY,CAChCgK,WAAU,UAAEhK,EAAME,kBAAR,iBAAE,EAAkBG,kBAApB,aAAE,EAA8B2J,WAC1Cmd,cAAa,UAAEnnB,EAAMkF,sBAAR,iBAAE,EAAsB4R,sBAAxB,aAAE,EAAsCqQ,iBAGjB,KAAzBpnB,EArNmB,SAAC,GAA+C,IAA7CiK,EAA4C,EAA5CA,WAAYmd,EAAgC,EAAhCA,cAAeR,EAAiB,EAAjBA,WAC5D,EAA0CroB,mBAAS,IAAnD,mBAAOmV,EAAP,KAAsB2T,EAAtB,KACMhU,EAAmBlU,gBAAckU,iBAEvC,EAA0D9U,mBAAS,CAC/D+oB,cAAe,GACfC,aAAc,EACdC,qBAAqB,IAHzB,mBAAOC,EAAP,KAA8BC,EAA9B,KAMMC,EAAWtD,mBACjB3lB,qBAAU,WACNyD,uBAAaylB,OACd,IAEH,IAAMA,EAAgB,uCAAG,kCAAA9kB,EAAA,sEACU+kB,IADV,cACjBC,EADiB,OAEjB9S,EAAW+S,SAASD,EAAmB,GAAG9jB,OAFzB,SAGJsF,qBAAmBa,gBAAgBid,EAAend,GAH9C,QAGjBxK,EAHiB,UAKbuoB,EAAmB,GACvBvoB,EAAKyD,KAAI,SAAC+kB,GACN,IAAIC,EAAU,CACVlb,KAAMib,EAAQjb,KACdmb,iBAAkBF,EAAQxhB,GAC1B2hB,gBAAgB,GAEpBJ,EAAiBhmB,KAAKkmB,MAE1BR,EAAyB,CACrBJ,cAAc,GAAD,OAAMU,GACnBT,aAAcvS,EACdwS,qBAAqB,KAjBR,2CAAH,qDA2ChBzV,EAAe,uCAAG,WAAOyD,GAAP,iBAAA1S,EAAA,4DAChBulB,EAAwB7S,EAAM5R,QAAO,SAAAoV,GAAC,OAAyB,IAArBA,EAAEoP,oBACnBC,EAAsBpkB,OAAS,GAFxC,gCAGc6N,wBAAsBC,gBAAgB9H,EAAYuL,GAHhE,OAIkB,KAAb,QADjBhD,EAHY,cAIK,IAAjBA,OAAA,EAAAA,EAAmBvO,SACnB2jB,IALY,2CAAH,sDAiCfrS,EAAU,uCAAG,WAAOvI,GAAP,iBAAAlK,EAAA,2DACX6F,EAAO8e,EAAsBH,cAAcjT,MAAK,SAAUlR,GAAO,OAAOA,EAAI6J,OAASA,MAD1E,uBAGLsb,EAAa,CACfre,WAAYA,EACZG,OAAQgd,EACRhV,aAAcpF,EACdmb,iBAAkBxf,EAAKwf,kBAPhB,SASL7e,qBAAmBiB,kBAAkB+d,GACtCzf,MAAK,SAAC5F,GACH2kB,OAEH7e,OAAM,SAAC5B,GACJ+B,QAAQ0T,IAAIzV,MAdT,6BAiBXwgB,EAASlB,QAAQ3Q,iBAAiB9I,GAjBvB,2CAAH,sDA2BV6a,EAA0B,uCAAG,8BAAA/kB,EAAA,6DAC3BylB,EAAkBppB,gBAAcqZ,iBAAiBgQ,uBACjDjQ,EAAa,CAACgQ,GAFa,kBAGxB1G,uBAAqB4G,UAAUlQ,IAHP,2CAAH,qDAMhC,OACI,kBAAC,IAAD,CAAWvZ,OAAK,EAACC,UAAU,gBACvB,kBAAC,IAAD,CAAUA,UAAU,oBAAoBuX,QAd3B,WACboQ,GACAA,GAAW,MAaX,kBAAC,IAAD,CAAK3nB,UAAU,6BACX,kBAAC,IAAD,CAAKC,GAAI,GAAIiX,GAAI,GAAIC,GAAI,IACrB,kBAAC,UAAD,CACI1R,IAAKzC,gBAAcymB,iBAAiB,GACpC5Y,IAAK6X,EACLvU,cAAc,EACdC,iBAAkBA,EAClBC,YAjGE,SAACM,GACnB,GAAIA,EAAaD,eACb+T,EAAyB,2BAClBD,GADiB,IAEpBD,qBAAqB,UAK7B,GAAI5T,EAAaF,cAAczP,OAAS,EACpCojB,EAAiBzT,EAAaF,oBAIlC,GAAyC,GAArCE,EAAaH,cAAcxP,OAA/B,CAGA,IAAM0kB,EAAiB,YAAO/U,EAAaH,eAC3CtR,uBAAa4P,EAAgB4W,MAgFbzV,iBAAkBuU,EAAsBF,aACxCpU,oBAAqBsU,EAAsBH,cAC3C/T,oBAAoB,MAIhC,kBAAC,IAAD,CAAKtU,UAAU,wCACX,kBAAC,IAAD,CAAKC,GAAI,GAAID,UAAU,QACnB,kBAAC,IAAD,KACKwoB,EAAsBD,qBACnB,wBAAIvoB,UAAU,kBAAd,UAAmCiO,kBAAgBM,aAAaqJ,0BAAhE,YAA6F4Q,EAAsBF,eAEtHE,EAAsBH,cAAcrjB,OAAS,GAC1C,oCACI,kBAAC,IAAD,KACA,kBAAC,IAAD,CAAK/E,GAAI,EAAGiX,GAAI,GAAIC,GAAI,IACpB,4BAAKlJ,kBAAgBM,aAAaob,qBAElC,kBAAC,IAAD,CAAK1pB,GAAI,EAAGiX,GAAI,GAAIC,GAAI,GAAInX,UAAU,SAGtCwoB,EAAsBH,cAAcpkB,KAAI,SAACyF,EAAMsN,GAAP,OACpC,kBAAC,IAAD,CAAKvR,IAAKuR,GACN,kBAAC,IAAD,CAAK/W,GAAI,GAAID,UAAU,uBAClB0J,EAAKqE,MAEV,kBAAC,IAAD,CAAK9N,GAAI,EAAGiX,GAAI,GAAIC,GAAI,GAAInX,UAAU,YAClC,kBAAC,eAAD,CACImO,YAAa,WA1F9B,IAACJ,IA2F2CrE,EAAKqE,KA1F5EK,IAAKC,KAAK,CACNC,KAAML,kBAAgBM,aAAaqb,gBAAgBjS,cAAc5J,GACjEU,KAAM,UACNC,kBAAkB,EAClBC,kBAAmBV,kBAAgBM,aAAaK,UAChDC,iBAAkBZ,kBAAgBM,aAAaO,SAC/CC,gBAAgB,IACjBnF,MAAK,SAAC5F,GACDA,EAAOgL,aACP9L,uBACIoT,EAAWvI,IAGnB4Z,gBAsFalT,EAAczP,OAAS,IAAMwjB,EAAsBD,qBAChD,kBAAC,IAAD,CAAKvoB,UAAU,QACX,kBAAC,IAAD,CAAKC,GAAI,GACL,4BAAKgO,kBAAgBM,aAAasb,qBAEtC,kBAAC,IAAD,CAAK5pB,GAAI,EAAGD,UAAU,eAClB,kBAAC,eAAD,CACImO,YAAa,kBA/G7Cua,EAASlB,QAAQ1Q,2BACjBsR,EAAiB,SAmHA3T,IAAkB+T,EAAsBD,qBACrC9T,EAAcxQ,KAAI,WAAmB+S,GAAnB,IAAGtN,EAAH,EAAGA,KAAMK,EAAT,EAASA,OAAT,OACd,kBAAC,IAAD,CAAKtE,IAAKuR,GACN,kBAAC,IAAD,CAAK/W,GAAI,GAAIgX,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAInX,UAAU,kBAC3C,wBAAIyF,IAAKiE,EAAKvE,MACTuE,EAAKvE,KADV,MACmBuE,EAAK2J,KADxB,SAEI,4BACKtJ,EAAO9F,KAAI,SAAC2I,GAAD,OACR,wBAAInH,IAAKmH,EAAEE,MAAOF,EAAE4D,2B,iCCjNxE,oCAGMqX,EAAqBjX,sBAAW,WAAwBC,GAAxB,IAAGpD,EAAH,EAAGA,SAAU8J,EAAb,EAAaA,QAAb,OAClC,yBAAKvX,UAAU,iBACX6Q,IAAKA,EACL0G,QAAS,SAAC3K,GACNA,EAAEkd,iBACFvS,EAAQ3K,KAGXa,EAED,kBAAC,IAAD,CAAezN,UAAU,4BAKlB6nB,a,mNCwIA9mB,uBAJS,SAACC,GAAD,cAAY,CAChCgK,WAAU,UAAEhK,EAAME,kBAAR,iBAAE,EAAkBG,kBAApB,aAAE,EAA8B2J,cAGN,KAAzBjK,EA5IM,SAAC,GAA8B,IAA5BiK,EAA2B,EAA3BA,WAAY6Z,EAAe,EAAfA,SAEhC,EAAsCvlB,mBAAS,IAA/C,mBAAOyqB,EAAP,KAAoBC,EAApB,KACA,EAAgD1qB,mBAAS,IAAzD,mBAAO2qB,EAAP,KAAyBC,EAAzB,KACMC,EAAgB/E,iBAAO,MACvBgF,EAAgBhF,iBAAO,MAE7B3lB,qBAAU,WACNyD,uBAAamnB,IAAmB5pB,QAAMG,gBACvC,IAEHnB,qBAAU,WACFwqB,EAAiBjlB,OAAS,GAAKolB,EAAc5C,UAC7C4C,EAAc5C,QAAQ8C,UAAYF,EAAc5C,QAAQ+C,gBAG7D,CAACN,IAEJ,IAAMI,EAAe,uCAAG,gCAAAxmB,EAAA,6DAChBnE,EAAOC,cAAYC,UADH,SAEawmB,sBAAoBiE,gBAAgBrf,EAApC,OAAgDtL,QAAhD,IAAgDA,GAAhD,UAAgDA,EAAMG,eAAtD,aAAgD,EAAemd,OAF5E,QAGpB,QADIwN,EAFgB,cAGpB,IAAIA,OAAJ,EAAIA,EAAsBhqB,OACtB0pB,EAAoBM,EAAqBhqB,KAAKiqB,WAJ9B,2CAAH,qDAyBfC,EAAkB,WACpB,UAAIX,QAAJ,IAAIA,OAAJ,EAAIA,EAAa5Y,OAAQ,CAAC,IAAD,EACjBzR,EAAOC,cAAYC,UAEnB+qB,EAAoB,CACpBC,YAAa5f,EACbkb,eAAc,OAAExmB,QAAF,IAAEA,GAAF,UAAEA,EAAMG,eAAR,aAAE,EAAemd,MAC/B6N,SAAUd,EAAY5Y,OACtB2Z,YAAY,GAGhB5nB,uBAAa,sBAAC,4BAAAW,EAAA,sEAEuBuiB,sBAAoB2E,wBAAwBJ,GAFnE,QAGV,QADIH,EAFM,cAGV,IAAIA,OAAJ,EAAIA,EAAsBhqB,QACtBwpB,EAAe,IACfE,EAAoBM,EAAqBhqB,KAAKiqB,YALxC,0CAAD,GAQPhqB,QAAMG,gBAIpB,OACI,kBAAC,IAAD,CAAWb,OAAK,EAACC,UAAU,WACvB,kBAAC,iBAAD,CAAgB+T,UAAWoW,GACvB,kBAAC,gBAAD,CAAea,KAAMvqB,QAAMG,aAAcqqB,gBAAiBd,IAC1D,yBAAKnqB,UAAU,6BACX,mDAAwB,kBAAC,IAAD,CAAUA,UAAU,+BAA+BuX,QA7CtE,WACbsN,GACAA,GAAS,QA6CL,kBAAC,IAAD,CAAK7kB,UAAU,eAAe6Q,IAAKuZ,GAC/B,kBAAC,IAAD,CAAKnqB,GAAI,GAAIiX,GAAI,GAAIC,GAAI,IAEjB8S,EAAiBhmB,KAAI,SAACinB,EAAUlU,GAC5B,OACI,yBAAKvR,IAAKuR,GACN,yBAAKhX,UAAU,8BAAf,kBAAgEkrB,EAASC,gBAAzE,oBAEID,EAASE,gBAAgBnnB,KAAI,SAACuM,EAAS6a,GAEnC,OAAK7a,EAAQ8a,YAeL,yBAAK7lB,IAAG,UAAKuR,EAAL,YAAcqU,GAAUrrB,UAAU,qBACtC,yBAAKA,UAAU,+BAA+BwQ,EAAQ+a,SAAtD,KAAkE/a,EAAQgb,aAC1E,yBAAKxrB,UAAU,kCAAkCwQ,EAAQib,WAf7D,yBAAKhmB,IAAG,UAAKuR,EAAL,YAAcqU,GAAUrrB,UAAU,2BACtC,yBAAKA,UAAU,+BACVwQ,EAAQ+a,SADb,KACyB/a,EAAQgb,aAEjC,yBAAKxrB,UAAU,oCACVwQ,EAAQib,oBAuBzD,kBAAC,IAAD,KACI,kBAAC,IAAD,CAAKxrB,GAAI,GAAIiX,GAAI,GAAIC,GAAI,IACrB,kBAAC,UAAD,CACIpJ,KAAK,cACLgD,KAAM,EACN2a,UAAU,OACV3mB,MAAOglB,EACP4B,YAAY,kBACZ7a,SAAU,SAACwU,GAAD,OAzFb,SAACA,GAClB0E,EAAe1E,EAAMZ,OAAO3f,OAyFJ6mB,CAAatG,IAEjBuG,WAxFE,SAAAvG,GACJ,OAAdA,EAAM7f,KAAgB6f,EAAMwG,UAC5BxG,EAAMwE,iBACNY,SAwFQ,kBAAC,IAAD,CAAKzqB,GAAI,EAAGiX,GAAI,EAAGC,GAAI,EAAGnX,UAAU,gBAChC,kBAAC,aAAD,CAAYA,UAAU,cAAc+rB,YAAYhC,EAAY5Y,OAAuBhD,YAAauc,Y,6JC9EzGsB,UAtDe,WAE1B,IAAMhqB,EAAWC,wBAAsBC,uBAGjC+pB,EAFWrpB,cACTS,SACwBsf,MAAM,oBAChC9f,EAAUC,cAEhBrD,qBAAU,WAAO,IAAD,EAERC,EAAOC,cAAYC,UACnBssB,EAAY,OAAGxsB,QAAH,IAAGA,GAAH,UAAGA,EAAMG,eAAT,aAAG,EAAessB,aAClC,GAAmC,UAAnB,OAAZD,QAAY,IAAZA,OAAA,EAAAA,EAAc/kB,eAA0B,CAAC,IAAD,EACpCgE,EAAM,OAAGzL,QAAH,IAAGA,GAAH,UAAGA,EAAMG,eAAT,aAAG,EAAeid,IAC5B5Z,uBAAakpB,EAAmBjhB,OAGrC,IAEH,IAAMihB,EAAkB,uCAAG,WAAOjhB,GAAP,eAAAtH,EAAA,sEACOwoB,iBAAeC,kBAAkBnhB,GADxC,OAEiB,SAAnB,QADjBmhB,EADmB,cAEF,IAAjBA,OAAA,EAAAA,EAAmBnlB,gBACnBtE,EAAQE,KAAKC,gBAAcC,aAAa/C,gBAAcoD,OAAO4E,OAAQ,KAHlD,2CAAH,sDAOxB,OACI,yBAAKlI,UAAU,mDACX,yBAAKA,UAAU,aACX,yBAAKA,UAAU,qEACX,wBAAIA,UAAU,6BAAd,oBAGR,yBAAKA,UAAU,kEACX,yBAAKA,UAAU,2BACX,wBAAIA,UAAU,4CACD,OAARgC,QAAQ,IAARA,OAAA,EAAAA,EAAUgD,QAAS,GAChBhD,EAASiC,KAAI,SAACI,GACV,GAAIA,EAAMoD,YACN,OAAQ,wBAAIhC,IAAKpB,EAAMmD,GAAIxH,UAAWisB,EAAe,KAAO5nB,EAAMmB,UAAY,sBAAwB,gBAClG,kBAAC,IAAD,CAASO,GAAI1B,EAAMF,SAAUsB,IAAG,aAAQpB,EAAMmD,KACzCnD,EAAMkB,iB,iCCnDnD,0EAGa8mB,EAAiB,CAE1BC,kBAAmB,SAACnhB,GAEhB,IAAMZ,EAAG,UAAM5B,eAAa4jB,QAAQC,kBAA3B,mBAAuDrhB,GAChE,OAAO1C,oBAAkBM,QAAQwB,M,kLCqF1BkiB,UAlFE,SAAC,GAAgE,IAA9Dnf,EAA6D,EAA7DA,eAAgBnM,EAA6C,EAA7CA,sBAAuBoM,EAAsB,EAAtBA,gBAE/Cmf,EAASC,IAATD,KACR,EAAgCptB,mBAAS,IAAzC,mBAAOstB,EAAP,KAAiBC,EAAjB,KACA,EAAwCvtB,mBAAS,IAAjD,mBAAOwtB,EAAP,KAAqBC,EAArB,KAIMpqB,EAAWC,cACXC,EAAUC,cAEhBrD,qBAAU,YACN,OAAI8N,QAAJ,IAAIA,OAAJ,EAAIA,EAAiB+B,YACjBgC,EAAW,OAAC/D,QAAD,IAACA,OAAD,EAACA,EAAiB+B,aAElC,CAACnO,IAEJ,IAAMmQ,EAAW,uCAAG,WAAOhC,GAAP,SAAAzL,EAAA,sEACVwN,0BAAwBC,YAAYhC,GAAW1F,MAAK,SAACpJ,GAKvD,GAJAqsB,EAAYrsB,GAEZN,gBAAc0sB,SAAWpsB,EAErBW,GAAyBmM,EAAetI,OAAS,EAAG,CACpD,IAAIgoB,EAAYC,YAAMzsB,EAAM,YACxBssB,EAAeI,YAAWF,EAAW1f,GACzCyf,EAAgBD,OATR,2CAAH,sDAcjB,SAASK,IACL,IAAIC,GAAe,EASnB,OARI9f,EAAevF,QAAQ7H,gBAAc8sB,UAAUK,0BAA4B,IAC3ED,EAAc,GAEd9f,EAAevF,QAAQ7H,gBAAc8sB,UAAUM,kBAAoB,IACnEF,EAAc,GACZ9f,EAAevF,QAAQ7H,gBAAc8sB,UAAUM,kBAAoB,IACrEF,EAAc,GAEXA,EASX,OACIR,GAAYA,EAAS5nB,OAAS,GAC9B,kBAAC,IAAD,CAAKuoB,iBAAiB,OAAOvtB,UAAU,yBAClC4sB,EAAS3oB,KAAI,SAACmZ,GACX,OACI,kBAAC,IAAD,CAAS3X,IAAK2X,EAAK5V,IACf,kBAAC,IAAIgmB,KAAL,CAAUxF,SAAU5K,EAAKxL,SACrB6J,KAAK,IACLlE,QAAS,kBAdT3F,EAc8BwL,EAAKxL,SAdzBvN,EAcmC+Y,EAAK5X,gBAbjErE,GAA0BmM,EAAevF,QAAQ6J,IAAa,GAAMtE,EAAevF,QAAQ7H,gBAAc8sB,UAAUS,aAAe,GACnI5qB,EAAQE,KAAKC,gBAAcC,aAAaoB,KAFzB,IAACuN,EAAUvN,GAeVqpB,SAAUtQ,EAAKxL,YAAc1R,gBAAc8sB,UAAUW,KAAOztB,gBAAc8sB,UAAUS,WACpFztB,UAAY2C,EAASU,WAAc,IAAO+Z,EAAKxL,SAAUzK,cAtD/D,iBAsD+F2lB,EAAa/kB,QAAQqV,EAAKxL,WAAa,EArDrI,kBAqDwJ,IACjJtE,EAAevF,QAAQqV,EAAKxL,WAAa,EAAK,kBAAC,IAAD,CAAkB5R,UAAU,eAAkB,kBAAC,IAAD,MALlG,IAKoHod,EAAKwQ,aAGxHxQ,EAAKyQ,WAAW7oB,OAAS,GACtB,yBAAKhF,UAAU,uBACX,kBAAC,IAAD,CAAO8tB,aAAW,EAACtG,QAAS2F,IAA0BY,UAAU,YAC3D3Q,EAAKyQ,WAAW5pB,KAAI,SAAC+pB,GAClB,OACI,kBAACtB,EAAD,CAAMjnB,IAAKuoB,EAAMxmB,GACbjC,MAAOyoB,EAAMJ,0B,iCCjF7D,wEAGa9pB,EAAe,CACxBC,UAAY,WACR,OAAO0E,oBAAkBM,QAAQJ,eAAa5E,c,iCCLtD,iCAiBe8U,UAbM,WACjB,IAAMlW,EAAWC,cAEjBnD,qBAAU,WAEFS,gBAAcuc,0BAA4BnV,OAAO2mB,IAA4B,oBAAd3mB,OAAO2mB,KACtE3mB,OAAO2mB,GAAG,MAAO,OAAQtrB,EAASU,SAAWV,EAASurB,QACtD5mB,OAAO2mB,GAAG,OAAQ,eAGvB,CAACtrB,M,iCCdR,oFAIaihB,EAAkB,CAC3BC,qBAAsB,WAClB,IAAMsK,EAAU,UAAM7mB,OAAO6V,QAAQiR,WAArB,YACVC,GAAgB,IAAIC,KACrBC,QAAQJ,GACRK,yBAAyBC,QAE9BJ,EAAcK,QACT9kB,MAAK,SAAA5F,GACFqqB,EAAcM,GAAG,cAAeC,MACjC9kB,UAKT8kB,EAAwB,SAACC,GAE3B,GAAe,uBADfA,EAAM9c,KAAKC,MAAM6c,IACTC,KAA+BD,EAAI1jB,OAAQ,CAC/C,IAAIzL,EAAOC,cAAYC,UACvB,QAAYoH,GAARtH,GAAqBA,EAAKG,QAAQid,KAAO+R,EAAI1jB,QAAU7D,OAAO3E,SAASU,SAASG,SAAS,0BAA2B,CACpH9D,EAAKG,QAAQqH,eAAiB,OAC9BvH,cAAYovB,QAAQrvB,GACpB,IAAIsvB,EAAiB/c,wBAAsBwU,kBAC3CxU,wBAAsBgd,qBACtBD,EAAiBA,GAAkC,IACnD1nB,OAAO3E,SAAS8Y,KAAOnU,OAAO3E,SAASqd,OAAS,GAAKgP,QAEtD,GAAe,2BAAXH,EAAIC,KAAoCD,EAAI1jB,OAAQ,CAC3D,IAAIzL,EAAOC,cAAYC,eACXoH,GAARtH,GAAqBA,EAAKG,QAAQid,KAAO+R,EAAI1jB,QAA+B,GAArB0jB,EAAIK,eAC3DvvB,cAAYynB,Y,qIC/BX3e,EAAoB,CAE7BM,QAAS,SAAComB,EAAYC,GAAb,OAA4B,IAAIhmB,SAAQ,SAACC,EAASC,GAEvD,IAAM+lB,EAAU,CACZC,OAAQ,MACRlP,QAAS,CACL,eAAgB,kCAChB,cAAiB,yCACjB,eAAgBpd,gBAAcusB,UAAU,qBACxC,WAAcrvB,gBAAcwC,WAC5B,UAAaM,gBAAcwsB,iBAG/BJ,GAAsC,kBAAhBA,GACtBjiB,OAAOD,KAAKkiB,GAAYplB,SAAQ,SAACylB,GAC7BN,GAAcA,EAAWpnB,QAAQ,MAAQ,EAAI,IAAM,IACnDonB,GAAU,UAAOM,EAAP,YAAmBC,mBAAmBN,EAAWK,QAInEtP,MAAMgP,EAAYE,GACbzlB,KADL,uCACU,WAAM4J,GAAN,iBAAA3P,EAAA,sEAEiB2P,EAAS+N,OAF1B,OAEI/gB,EAFJ,OAIGgT,EAASC,GAOVpK,EAAQ7I,EAAKA,OALP0H,EAAS1H,GAAQA,EAAKgQ,SAAYgD,EAASmc,WACjD1lB,QAAQ0T,IAAIzV,GAEZoB,EAAOpB,IATT,2CADV,uDAeO4B,OAAM,SAAA5B,GACL+B,QAAQ0T,IAAIzV,GACZoB,EAAOpB,UAInBiC,SAAU,SAACglB,EAAYS,GAAb,OAA6B,IAAIxmB,SAAQ,SAACC,EAASC,GAEzD,IAAM+lB,EAAU,CACZC,OAAQ,OACRlP,QAAS,CACL,eAAgB,kCAChB,cAAiB,yCACjB,eAAgBpd,gBAAcusB,UAAU,qBACxC,WAAcrvB,gBAAcwC,WAC5B,UAAaM,gBAAcwsB,gBAE/BnS,KAAMtL,KAAK8d,UAAUD,IAGzBzP,MAAMgP,EAAYE,GACbzlB,KADL,uCACU,WAAM4J,GAAN,iBAAA3P,EAAA,sEAEiB2P,EAAS+N,OAF1B,OAEI/gB,EAFJ,OAIGgT,EAASC,GAOVpK,EAAQ7I,EAAKA,OALP0H,EAAS1H,GAAQA,EAAKgQ,SAAYgD,EAASmc,WACjD1lB,QAAQ0T,IAAIzV,GAEZoB,EAAOpB,IATT,2CADV,uDAeO4B,OAAM,SAAA5B,GACL+B,QAAQ0T,IAAIzV,GACZoB,EAAOpB,UAKnB4nB,aAAc,SAACX,EAAYhmB,GAAb,OAA0B,IAAIC,SAAQ,SAACC,EAASC,GAE1D,IAAM+lB,EAAU,CACZC,OAAQ,OACRlP,QAAS,CAGL,OAAU,mBACV,cAAiB,yCACjB,eAAgBpd,gBAAcusB,UAAU,qBACxC,WAAcrvB,gBAAcwC,WAC5B,UAAaM,gBAAcwsB,gBAE/BnS,KAAMlU,GAGVgX,MAAMgP,EAAYE,GACbzlB,KADL,uCACU,WAAM4J,GAAN,iBAAA3P,EAAA,sEAEiB2P,EAAS+N,OAF1B,OAEI/gB,EAFJ,OAIGgT,EAASC,GAOVpK,EAAQ7I,IALF0H,EAAS1H,GAAQA,EAAKuvB,SAAYvc,EAASmc,WACjD1lB,QAAQ0T,IAAIzV,GAEZoB,EAAOpB,IATT,2CADV,uDAeO4B,OAAM,SAAA5B,GACL+B,QAAQ0T,IAAIzV,GACZoB,EAAOpB,UAInByC,QAAS,SAACwkB,EAAYS,GAAb,OAA6B,IAAIxmB,SAAQ,SAACC,EAASC,GAExD,IAAM+lB,EAAU,CACZC,OAAQ,MACRlP,QAAS,CACL,eAAgB,kCAChB,cAAiB,yCACjB,eAAgBpd,gBAAcusB,UAAU,qBACxC,WAAcrvB,gBAAcwC,WAC5B,UAAaM,gBAAcwsB,gBAE/BnS,KAAMtL,KAAK8d,UAAUD,IAGzBzP,MAAMgP,EAAYE,GACbzlB,KADL,uCACU,WAAM4J,GAAN,iBAAA3P,EAAA,sEAEiB2P,EAAS+N,OAF1B,OAEI/gB,EAFJ,OAIGgT,EAASC,GAMVpK,EAAQ7I,IAJF0H,EAAS1H,GAAQA,EAAKgQ,SAAYgD,EAASmc,WACjD1lB,QAAQ0T,IAAIzV,GACZoB,EAAOpB,IART,2CADV,uDAcO4B,OAAM,SAAA5B,GACL+B,QAAQ0T,IAAIzV,GACZoB,EAAOpB,UAInBQ,aAAc,SAACymB,EAAY3mB,GAAb,OAA0B,IAAIY,SAAQ,SAACC,EAASC,GAC1D,IAAM+lB,EAAU,CACZC,OAAQ,OACRlP,QAAS,CACL,OAAU,mBACV,cAAiB,yCACjB,eAAgBpd,gBAAcusB,UAAU,qBACxC,WAAcrvB,gBAAcwC,WAC5B,UAAaM,gBAAcwsB,iBAInCrP,MAAMgP,EAAYE,GACbzlB,MAAK,SAAAomB,GACF,GAAKA,EAAIvc,GAKL,OAAOuc,EAAIC,OAJX,IAAM/nB,EAAQ8nB,EAAIL,WAClB1lB,QAAQ0T,IAAIzV,GACZoB,EAAOpB,MAIZ0B,MAAK,SAAAqmB,GACJ,GAAIA,EAAM,CACN,IAAM1lB,EAAMjD,OAAOyY,IAAImQ,gBACnB,IAAIC,KAAK,CAACF,KAER7S,EAAOxV,SAAS4T,cAAc,KACpC4B,EAAK3B,KAAOlR,EACZ6S,EAAKtB,aAAa,WAAYtT,GAC9BZ,SAASyV,KAAKzB,YAAYwB,GAC1BA,EAAKgT,QACLhT,EAAKiT,WAAWC,YAAYlT,OAEjCtT,OAAM,SAAAymB,GACLtmB,QAAQ/B,MAAMqoB,GACdjnB,EAAOinB,UAInBC,eAAgB,SAACrB,EAAYS,GAAb,OAA6B,IAAIxmB,SAAQ,SAACC,EAASC,GAC/D,IAAImnB,EACEpB,EAAU,CACZC,OAAQ,OACRlP,QAAS,CACL,eAAgB,kCAChB,cAAiB,yCACjB,eAAgBpd,gBAAcusB,UAAU,qBACxC,WAAcrvB,gBAAcwC,WAC5B,UAAaM,gBAAcwsB,gBAE/BnS,KAAMtL,KAAK8d,UAAUD,IAEzBzP,MAAMgP,EAAYE,GACbzlB,KADL,uCACU,WAAM4J,GAAN,mBAAA3P,EAAA,0DACE2P,EAASC,GADX,wBAEMid,EAASld,EAAS4M,QAAQC,IAAI,uBAGlB,QADZsQ,EADgB,yCACQC,KAAKF,KACTC,EAAQ,KAC5BF,EAAWI,mBAAmBF,EAAQ,GAAGrM,QAAQ,QAAS,MANhE,SAQe9Q,EAASyc,OARxB,gDAUQ/nB,EAAQsL,EAASmc,WACvB1lB,QAAQ0T,IAAIzV,GACZoB,EAAOpB,GAZT,4CADV,uDAeO0B,MAAK,SAAAqmB,GACJ,GAAIA,EAAM,CACN,IAAM1lB,EAAMjD,OAAOyY,IAAImQ,gBACnB,IAAIC,KAAK,CAACF,KAER7S,EAAOxV,SAAS4T,cAAc,KACpC4B,EAAK3B,KAAOlR,EACZ6S,EAAKtB,aAAa,WAAY2U,GAC9B7oB,SAASyV,KAAKzB,YAAYwB,GAC1BA,EAAKgT,QACLhT,EAAKiT,WAAWC,YAAYlT,GAC5B/T,QAELS,OAAM,SAAAymB,GACLjnB,EAAOinB,UAGnB/mB,gBAAiB,SAAC2lB,EAAYhmB,GAAb,OAA0B,IAAIC,SAAQ,SAACC,EAASC,GAC7D,IAAM+lB,EAAU,CACZC,OAAQ,MACRlP,QAAS,CACL,eAAgB,GAChB,WAAclgB,gBAAcwC,WAC5B,UAAaM,gBAAcwsB,gBAE/BnS,KAAMlU,GAGVgX,MAAMgP,EAAYE,GACbzlB,KADL,uCACU,WAAMpJ,GAAN,eAAAqD,EAAA,sDACGrD,EAAKiT,GAMNpK,EAAQ7I,IAJF0H,EAAS1H,GAAQA,EAAKuvB,SAAYvvB,EAAKmvB,WAC7C1lB,QAAQ0T,IAAIzV,GACZoB,EAAOpB,IALT,2CADV,uDAUO4B,OAAM,SAAA5B,GACL+B,QAAQ0T,IAAIzV,GACZoB,EAAOpB,Y,gCCnQvB,wDACaS,EAAe,CACxBmoB,QAAS,CACLC,YAAaC,2BACbC,4BAA6BD,6CAC7BE,cAAeF,4CACfG,eAAgBH,6CAChBI,kBAAmBJ,kCAEvBpoB,YAAa,CACT4B,yBAA0BwmB,oCAC1BvmB,UAAWumB,kBACXtmB,UAAWsmB,kBACXpmB,SAAUomB,iBACVtoB,aAAcsoB,wBACdnmB,gBAAiBmmB,4BACjBlmB,cAAekmB,eACf9lB,gBAAiB8lB,2BACjB1lB,kBAAmB0lB,6BACnB5lB,eAAgB4lB,0BAChB3lB,eAAgB2lB,0BAChBzlB,yBAA0BylB,oCAC1BxlB,qCAAsCwlB,gDACtCvlB,WAAYulB,mBACZtlB,sBAAuBslB,iCACvBrlB,wBAAyBqlB,mCACzBplB,0BAA2BolB,sCAE/BK,MAAO,CACHC,kBAAmBN,+BACnBO,uCAAwCP,oDACxCQ,mBAAoBR,gCACpBS,mBAAoBT,gCACpBU,8BAA+BV,4CAEnCpX,cAAe,CACXC,kBAAmBmX,uCACnBW,6BAA8BX,kDAC9BY,cAAeZ,mCACfa,mBAAoBb,yCAExBrD,IAAK,CACDmE,UAAWd,kBACXe,wBAAyBf,mCACzBgB,oBAAqBhB,gCAEzBiB,yBAAyB,GAAD,OAAK3qB,OAAO3E,SAASqd,QAArB,OAA8B3X,GAA9B,2BACxB6pB,yBAAyB,GAAD,OAAK5qB,OAAO3E,SAASqd,QAArB,OAA8B3X,GAA9B,2BACxB8pB,QACA,CACIC,qBAAsBpB,oCACtBqB,gBAAiBrB,+BACjBsB,qBAAsBtB,oCACtBuB,cAAevB,6BACfwB,mBAAoBxB,kCACpByB,eAAgBzB,8BAChB0B,+BAAgC1B,8CAChC2B,kBAAmB3B,kCAEvB4B,IAAK,CACDC,gBAAiB7B,2BACjB8B,iBAAkB9B,4BAClB+B,qBAAsB/B,gCACtBgC,mBAAoBhC,8BACpBiC,mBAAoBjC,+BAExBkC,QAAS,CACLC,oBAAqBnC,mCACrBoC,kBAAmBpC,oBAEvBqC,WAAY,CACRC,oBAAqBtC,sCACrBuC,iBAAkBvC,oCAEtBxf,iBAAkB,CACdC,YAAauf,oCACb3e,kBAAmB2e,6BACnBze,4BAA6Bye,2DAC7Bve,eAAgBue,8CAChBre,oBAAqBqe,6CAEzBwC,SAAU,CACNC,SAAUzC,sBACV0C,UAAW1C,uBACX2C,oBAAqB3C,mCACrB4C,qBAAsB5C,oCACtB6C,mBAAoB7C,0BACpB8C,wBAAyB9C,6CACzB+C,aAAc/C,oBAElBgD,iBAAkB,CACdC,mBAAoBjD,2CACpBkD,uBAAwBlD,8BACxBmD,oBAAqBnD,4CACrBoD,oBAAqBpD,oEACrBqD,uBAAwBrD,iDAE5BsD,OAAQ,CACJC,oBAAqBvD,kCACrBwD,mBAAoBxD,iCACpByD,eAAgBzD,8BAEpBhoB,SAAU,CACNC,qBAAsB+nB,qCACtB5mB,gBAAiB4mB,iCAErB0D,YAAa,CACTC,wBAAyB3D,2CACzB4D,kBAAmB5D,sCAEvB6D,iCAAkC7D,yDAClCjtB,UAAWitB,0BACX5Y,cAAe4Y,4BACf3Y,gCAAiC2Y,2CACjC1Y,gBAAiB0Y,6CACjB8D,eAAgB,CACZC,2BAA4B/D,kDAEhCgE,wBAAyBhE,6CACzBiE,kBAAmB,CACfC,sBAAuBlE,8DACvBmE,yBAA0BnE,kEAE9BzE,QAAS,CACLC,kBAAmBwE,kCAEvBoE,gBAAiB,CACbvB,mBAAoB7C,yDACpBqE,sBAAuBrE,6DAE3BsE,iBAAkB,CACdC,wBAAyBvE,gDACzBwE,uBAAwBxE,gDAE5ByE,UAAW,CACPC,gBAAiB1E,uCAErB2E,iBAAkB,CACdC,uBAAwB5E,+CACxB6E,wBAAyB7E,gDACzB8E,2BAA4B9E,mDAC5B+E,8BAA+B/E,sDAC/BgF,uBAAwBhF,gDAE5BiF,eAAgB,CACZC,gBAAiBlF,sCACjBmF,KAAMnF,4BAEVoF,OAAQ,CACJC,gBAAiBrF,8BACjBsF,qBAAsBtF,oCAE1BuF,aAAc,CACVC,gBAAiBxF,oCACjByF,wBAAyBzF,4CACzB0F,sBAAuB1F,6C,gCC3J/B,g3BAAO,IAAMnd,EAAiB,iBAEjBkE,EAAsB,sBAEtB2G,EAAkB,kBAElB9L,EAAc,cAEdoM,EAAsB,sBAEtBI,EAAwB,wBAExBnH,EAAgB,gBAEhB1X,EAAiB,iBAEjBo2B,EAA6B,qBAE7BC,EAA+B,uBAE/BjY,EAAY,YAEZE,EAA8B,8BAE9BvS,EAAkB,kBAElBC,EAAkB,kBAElBuS,EAAsB,sBAGtBO,EAA0B,0BAE1BC,EAA2B,4B,uKC5B3Btc,EAAgB,CACzB6zB,iBAAkB,SAACpG,GACf,IAAIqG,EAAY,GAIhB,OAHIrG,IACAqG,EAAYrG,EAASsG,OAAOtG,EAASuG,YAAY,KAAO,GAAG7vB,eAExD2vB,GAGXG,eAAgB,SAACxG,GACb,IAAIyG,EAAgB,GAChBC,EAAiBj3B,gBAAck3B,yBAInC,OAHI3G,IACAyG,EAAgBzG,EAASsG,OAAOtG,EAASuG,YAAY,KAAO,GAAG7vB,eAE/DgwB,EAAepvB,QAAQmvB,IAAkB,GAMjDG,yBAAyB,WAAD,4BAAE,WAAO9sB,EAAKkmB,GAAZ,6BAAA5sB,EAAA,sEACIsc,MAAM5V,GADV,cAChB+sB,EADgB,gBAEDA,EAAYrH,OAFX,UAEhBjsB,EAFgB,QAIlBszB,EAAY7jB,GAJM,wBAKd8jB,EAAQr3B,gBAAcs3B,YACtBV,EAAYrG,EAASsG,OAAOtG,EAASuG,YAAY,KAAO,GAAG7vB,cAC3DswB,EAAW,CACXn3B,KAAMi3B,EAAMniB,MAAK,SAAC2E,GAAD,OAAOA,EAAE+c,YAAcA,KAAWx2B,MAGnDoJ,EAAO,IAAIguB,KAAK,CAAC1zB,GAASysB,EAAUgH,GAXtB,kBAYX/tB,GAZW,eAehBiuB,EAAgB,CAClBr3B,KAAM,QACNkQ,QAASxM,EAAOwM,SAAW,uBAC3BhQ,KAAMwD,EAAOxD,MAAQ,GACrBsM,KAAM9I,EAAO8I,MAAQ,KAGnB5E,EAAQ,IAAI2E,OACZ+qB,KAAOD,EAvBS,kBAyBdzvB,GAzBc,4CAAF,qDAAC,GA4BzB2vB,gBAAiB,SAACr3B,GACd,OAAQuR,KAAKC,MAAMD,KAAK8d,UAAUrvB,KAGtCs3B,iBAAkB,SAACC,EAAWC,GAC1B,IAAIC,EAAkBj1B,EAAc60B,gBAAgBG,GAEhDE,EAAsB,CACtBC,MAAOJ,EAAUK,QACjBC,WAAYN,EAAU/sB,WACtBstB,qBAAsB,GACtBC,sBAAuB,IAGvBC,GAAgC,EAwBpC,OAvBIP,EAAgBjzB,OAAS,GACzByzB,YAAKR,GAAiB,SAAUlzB,GAAQ,IAAD,MACK,cAAnC,UAAAA,EAAM2zB,iBAAN,eAAiBvxB,gBAAmE,cAAnC,UAAApC,EAAM2zB,iBAAN,eAAiBvxB,gBAAmE,iBAAnC,UAAApC,EAAM2zB,iBAAN,eAAiBvxB,gBAA2D,OAAvBpC,EAAM4zB,aAIjI,MAAtB5zB,EAAM4zB,eACb5zB,EAAM4zB,aAAe,IAJjBxmB,MAAMC,QAAQrN,EAAM4zB,gBACpB5zB,EAAM4zB,aAAe5zB,EAAM4zB,aAAaC,KAAK,MAKrD,IAAIC,EAAY,CACZC,GAAI/zB,EAAMyC,GACVuxB,eAAgBh0B,EAAMgJ,KACtBirB,eAAgBj0B,EAAM4zB,cAG1B,GADAT,EAAoBI,qBAAqBv1B,KAAK81B,GAC1C9zB,EAAM9D,cAGN,OAFAi3B,EAAoBK,sBAAsBx1B,KAAKgC,EAAMgJ,WACrDyqB,GAAgC,MAK5CN,EAAoBe,8BAAgCT,EAC7CN,GAGXzO,iBAAkB,SAACzkB,GAIf,IAHA,IAAIhB,EAAS,GACTk1B,EAAa,iEACbC,EAAmBD,EAAWl0B,OACzBiO,EAAI,EAAGA,EAAIjO,EAAQiO,IACxBjP,GAAUk1B,EAAWE,OAAOC,KAAKC,MAAMD,KAAKE,SAAWJ,IAE3D,OAAOn1B,GAGXgK,eAAgB,SAACvI,GAAS,IAAD,EACrB,iBAAOwI,kBAAgBgM,aAAa7E,MAAK,SAAA2E,GAAC,OAAIA,EAAE7I,OAASzL,YAAzD,aAAO,EAAwD2U,cAGnEof,gBAAiB,SAAC/zB,GACd,OAAOwI,kBAAgBgM,aAAa7E,MAAK,SAAA2E,GAAC,OAAIA,EAAE7I,OAASzL,MAG7D8pB,UAAW,SAACkK,GAIR,IAHA,IAAI1rB,EAAO0rB,EAAQ,IAEfC,EADgB7I,mBAAmBjpB,SAAS+xB,QACzBhX,MAAM,KACpB1P,EAAI,EAAGA,EAAIymB,EAAG10B,OAAQiO,IAAK,CAEhC,IADA,IAAI2mB,EAAIF,EAAGzmB,GACY,MAAhB2mB,EAAER,OAAO,IACZQ,EAAIA,EAAEC,UAAU,GAEpB,GAAwB,IAApBD,EAAE7xB,QAAQgG,GACV,OAAO6rB,EAAEC,UAAU9rB,EAAK/I,OAAQ40B,EAAE50B,QAG1C,MAAO,IAGX80B,aAAc,SAACC,EAAeC,GAC1B,IAAKD,IAAkBC,EACnB,OAAO,EAGX,GAAID,EAAcv2B,SAAS,KAAM,CAE7B,IAAIy2B,EAAaD,EAAcE,cAAgBF,EAAcG,eAAiBH,EAAcI,SACxFC,EAAsD,EAAtCC,OAAOP,EAAcpX,MAAM,KAAK,IAEpD,OAAO4X,YADcN,EAAa,IAAOI,GACTG,QAAQ,IAGxC,OAAOD,aAAaR,GAAeS,QAAQ,KAInDC,eAAgB,SAACT,GACb,IAAKA,EACD,OAAO,EAGX,IAAIU,EAAUV,EAAcE,cAAgBF,EAAcW,IAAMX,EAAcG,eAAkBH,EAAcI,SAE9G,OAAOG,WAAWG,EAAMF,QAAQ,KAGpCv3B,aAAc,SAAC23B,GACX,OAAI16B,gBAAcuC,qBACR,IAAN,OAAWm4B,GAET,IAAN,OAAW16B,gBAAcwC,WAAzB,YAAuCk4B,IAE3CC,cAAe,SAAC9sB,GACZ,IAAMmgB,EAAS5mB,OAAO3E,SAASurB,OAE/B,OADe,IAAI4M,gBAAgB5M,GACrB7N,IAAItS,IAGtByhB,aAAc,WAAO,IAAD,IAEZuL,EAAoB9oB,wBAAsBC,gBAAgB,qBAE9D,GAAI6oB,GAA0C,aAArBA,EACrB,OAAOA,EAGX,IAAIjpB,EAAYC,KAAKC,MAAMC,wBAAsBC,gBAAgB,iBAC7D8oB,EAAmBlpB,EAAS,UAAIC,KAAKC,MAAMF,EAAU5L,uBAAzB,iBAAI,EAAsC4R,sBAA1C,aAAI,EAAsDkjB,iBAAoB,GAE9G,OADgBA,GAAsC,M,m3DClL9D,uDAAO,IAAM/sB,EAAkB,CAC3Bf,KAAM,CACF+tB,cAAe,gBACfC,iBAAkB,mBAClBC,WAAY,aACZC,aAAc,eACdC,wBAAyB,0BACzBC,qBAAsB,uBACtBC,yBAA0B,2BAC1BC,yBAA0B,2BAC1BC,2BAA4B,6BAC5BC,uBAAwB,yBACxBC,2BAA4B,6BAC5BC,2BAA4B,6BAC5BC,aAAc,eACdC,eAAgB,iBAChBC,wBAAyB,0BACzBC,qBAAsB,uBACtBC,wBAAyB,0BACzBC,2BAA4B,6BAC5BC,kCAAmC,oCACnCC,+BAAgC,iCAChCC,+BAAgC,iCAChCC,+BAAgC,iCAChCC,WAAY,aACZC,yBAA0B,2BAC1BC,oBAAqB,sBACrBC,qBAAsB,uBACtBC,qBAAsB,uBACtBC,2BAA4B,6BAC5BC,WAAY,aACZC,eAAgB,iBAChBC,gBAAiB,kBACjBC,kBAAmB,oBACnBC,YAAa,cACbC,uBAAwB,yBACxBC,cAAe,gBACfC,qBAAsB,uBACtBC,qBAAsB,uBACtBC,yBAA0B,2BAC1BC,+BAAgC,iCAChCC,gBAAiB,kBACjBC,uBAAwB,yBACxBC,wBAAyB,0BACzBC,wBAAyB,0BACzBC,uBAAwB,yBACxBC,uBAAwB,yBACxBC,qBAAsB,uBACtBC,+BAAgC,iCAChCC,cAAe,gBACfC,cAAe,gBACfC,0BAA2B,4BAC3BC,cAAe,gBACfC,WAAY,aACZC,uBAAwB,yBACxBC,uBAAwB,yBACxBC,gBAAiB,kBACjBC,gBAAiB,kBACjBtwB,oBAAqB,sBACrBuwB,kBAAmB,oBACnBC,iBAAkB,mBAClBC,yBAA0B,2BAC1BC,gBAAiB,kBACjBC,wBAAyB,0BACzBC,gCAAiC,kCACjCC,0BAA2B,4BAC3BC,2BAA4B,6BAC5BC,uBAAwB,yBACxB5nB,mBAAoB,qBACpBC,mBAAoB,qBACpBG,qBAAsB,uBACtBD,iBAAkB,mBAClB0nB,gBAAiB,kBACjBC,mBAAoB,qBACpBC,eAAgB,iBAChBC,WAAY,aACZC,cAAe,gBACfC,wBAAyB,0BACzBC,wBAAyB,0BACzBC,4BAA6B,8BAC7BC,2BAA4B,6BAC5BC,6BAA8B,+BAC9BC,kBAAmB,oBACnBC,qBAAsB,uBACtBC,mBAAoB,qBACpBC,kBAAmB,oBACnBC,wBAAyB,0BACzBC,uBAAwB,yBACxBC,wBAAyB,0BACzBC,2BAA4B,6BAC5BC,iBAAkB,mBAClBC,sBAAuB,wBACvBC,mBAAoB,qBACpBC,eAAgB,iBAChBC,cAAe,gBACfC,WAAY,aACZC,WAAY,aACZC,aAAc,eACdC,eAAgB,iBAChBC,kBAAmB,oBACnBC,oBAAqB,sBACrBC,SAAU,WACVC,mBAAoB,qBACpBC,aAAc,eACdC,YAAa,cACbC,kBAAmB,oBACnBC,UAAW,YACXC,wBAAyB,0BACzBC,wBAAyB,0BACzBC,gBAAiB,kBACjBC,UAAW,YACXC,WAAY,aACZC,qBAAsB,uBACtBC,iBAAkB,mBAClBC,WAAY,aACZC,WAAY,aACZC,aAAc,eACdC,uBAAwB,yBACxBC,OAAQ,SACRC,yBAA0B,2BAC1BC,8BAA+B,gCAC/BC,iCAAkC,mCAClCC,+BAAgC,iCAChCC,uBAAwB,yBACxBC,sBAAuB,wBACvBC,mBAAoB,qBACpBC,oBAAqB,sBACrB7Y,mBAAoB,qBACpB8Y,mBAAoB,qBACpBva,qBAAsB,uBACtBwa,WAAY,aACZza,cAAe,gBACff,eAAgB,iBAChB2C,mBAAoB,qBACpB8Y,eAAgB,iBAChBC,UAAW,YAEXh0B,UAAW,YACXE,SAAU,WACV+zB,mBAAoB,qBACpBjZ,gBAAiB,kBACjBkZ,oBAAqB,sBACrBC,oBAAqB,sBACrBC,2BAA4B,6BAC5BC,2BAA4B,6BAC5Bz0B,0BAA2B,4BAC3B00B,4BAA6B,8BAC7BC,eAAgB,iBAChB1yB,uBAAwB,yBACxB2yB,+BAAgC,iCAChCC,WAAY,aACZC,gBAAiB,kBACjBC,oBAAqB,sBACrBC,iBAAkB,mBAClBC,gBAAiB,kBACjBC,uBAAwB,yBACxBC,cAAe,gBACfC,gBAAiB,kBACjBC,oBAAqB,sBACrBC,iBAAkB,mBAClBC,iBAAkB,mBAClBC,uBAAwB,yBACxBC,8BAA+B,gCAC/BC,eAAgB,iBAChBC,aAAc,eACdC,WAAY,cAGhBnqB,aAAc,GACd1L,aAAc,K,gOCjKd5O,EAAc,GAEZokB,EAAwB,SAACJ,GAC3B,IAAInhB,EAAgBtC,gBAAcuC,qBAAuB,GAAK,IAAMvC,gBAAcwC,WAC5E2hC,EAAa,CACfC,UAAS,OAAE3gB,QAAF,IAAEA,OAAF,EAAEA,EAAQ4gB,kBACnBC,UAAS,OAAE7gB,QAAF,IAAEA,OAAF,EAAEA,EAAQ8gB,eACnBC,aAAa,GAAD,cAAK/gB,QAAL,IAAKA,OAAL,EAAKA,EAAQghB,eAAb,OAA6BniC,EAA7B,kBACZoiC,cAAe,OACfC,cAAe,QACfC,MAAM,GAAD,cAAKnhB,QAAL,IAAKA,OAAL,EAAKA,EAAQohB,oBAClBC,oBAAoB,GAAD,cAAKrhB,QAAL,IAAKA,OAAL,EAAKA,EAAQghB,eAAb,OAA6BniC,EAA7B,sBACnByiC,sBAAsB,EACtBC,4BAA4B,EAC5BC,yBAAyB,GAAD,cAAKxhB,QAAL,IAAKA,OAAL,EAAKA,EAAQghB,eAAb,OAA6BniC,GACrD4iC,oCAAoC,GAAD,cAAKzhB,QAAL,IAAKA,OAAL,EAAKA,EAAQ0hB,kCAEhDC,EAAcC,4BAAkBlB,GAEpCiB,EAAYE,OAAOC,kBAAiB,WAChC9lC,EAAYynB,YAEhBke,EAAYE,OAAOE,eAAc,eAEjCJ,EAAYE,OAAOG,qBAAoB,SAAU/4B,GAC5B,gBAAbA,EAAE4D,SACF3N,UAAQE,KAAKC,gBAAcC,aAAa/C,gBAAcoD,OAAO4E,OAAQ,QAK7E,IAAIsa,EAAQpb,2BAoEZ,OAnEAzH,EAAc,CACVqI,MAAO,WACEiK,wBAAsBwU,mBACvBxU,wBAAsByU,gBAAgBpf,OAAO3E,SAASU,UAE1D,IAAM3D,EAAO8iB,EAAMojB,WAAWv/B,KAAK3G,KACnC,IAAKA,GAAQA,EAAKmmC,QAAS,CACvB,IAAIC,EAAY,CACZ,MAAS,CAAEC,IAAKh0B,KAAK8d,UAAUvoB,OAAO3E,SAAS8Y,QAGnD,OADA6pB,EAAYU,eAAeF,IACpB,EAEX,OAAO,GAEX1e,OAAQ,WACJ,IAAM1nB,EAAO8iB,EAAMojB,WAAWv/B,KAAK3G,KACnC4lC,EAAYW,aACZX,EAAYY,gBAAgB,CAAE,cAAiBxmC,EAAKymC,WAAYr8B,OAAM,SAAC5B,GAAY,EAAKk+B,YAAYl+B,GAAQrF,UAAQE,KAAKC,gBAAcC,aAAa/C,gBAAcoD,OAAO4E,OAAQ,QACjL+J,wBAAsBo0B,mBAAmB,sBAE7CjtB,SAAS,WAAD,4BAAE,sBAAAvV,EAAA,+EAAY,IAAIuF,SAAQ,SAACC,EAASC,GACxC8P,mBAASoJ,EAAO8iB,GAAa17B,MAAK,SAAUlK,GACxC2J,EAAQ3J,MACToK,OAAM,SAAUymB,GAAOlnB,EAAQknB,GAAM1tB,UAAQE,KAAKC,gBAAcC,aAAa/C,gBAAcoD,OAAO4E,OAAQ,YAHvG,2CAAF,kDAAC,GAKTtI,QAAS,WAAO,IAAD,EACLF,EAAO8iB,EAAMojB,WAAWv/B,KAAK3G,KAInC,OAHA,OAAIA,QAAJ,IAAIA,GAAJ,UAAIA,EAAMG,eAAV,aAAI,EAAemd,QACf/K,wBAAsBq0B,gBAAgB,oBAAqB5mC,EAAKG,QAAQmd,OAErEtd,GAEXqvB,QAAS,SAACrvB,GACN8iB,EAAM/gB,SAAS,CACXnB,KAAM,wBACN2G,QAASvH,IAEb,IAAI6mC,EAAiB,aAAej/B,OAAO6V,QAAQonB,kBAAoB,IAAMj9B,OAAO6V,QAAQqpB,eAC5Fv0B,wBAAsBo0B,mBAAmBE,GACzCt0B,wBAAsBq0B,gBAAgBC,EAAgBx0B,KAAK8d,UAAUnwB,KAEzE+mC,UAAW,WACP,IAAI/mC,EAAO8iB,EAAMojB,WAAWv/B,KAAK3G,KAEjC,OADcA,GAAQA,EAAKG,QAAWH,EAAKG,QAAQid,IAAM,IAG7D7U,oBAAqB,WAEjB,IAAMvI,EAAO8iB,EAAMojB,WAAWv/B,KAAK3G,KACnC,SAAIA,EAAKG,QAAQssB,cAA2D,QAA3CzsB,EAAKG,QAAQssB,aAAahlB,gBAGhB,MAAvCzH,EAAKG,QAAQ6mC,6BAAyE1/B,GAAvCtH,EAAKG,QAAQ6mC,wBACC,SAAtDhnC,EAAKG,QAAQ6mC,uBAAuBv/B,eAInDqf,iBAAkB,WAAO,IAAD,EACd9mB,EAAO8iB,EAAMojB,WAAWv/B,KAAK3G,KACnC,YAAYsH,GAARtH,GAAmE,UAA9C,UAAAA,EAAKG,QAAQqH,sBAAb,eAA6BC,iBAOvDm+B,I,sEC3GX,iEAEarzB,EAAwB,CACjCwU,gBAAiB,WACb,OAAOkgB,eAAeC,QAJJ,mBAOtBlgB,gBAAiB,SAAC3hB,GACd4hC,eAAeE,QARG,iBAQwB9hC,IAG9CkqB,mBAAoB,WAChB0X,eAAeG,WAZG,mBActB50B,gBAAiB,SAACzM,GACd,OAAOkhC,eAAeC,QAAQnhC,IAGlC6gC,gBAAiB,SAAC7gC,EAAKV,GACnB4hC,eAAeE,QAAQphC,EAAKV,IAGhCshC,mBAAoB,SAAC5gC,GACjBkhC,eAAeG,WAAWrhC,M,gCCvBlC,2/B,gCCAA,2fAKashC,EAAe,SAACjhC,GACzB,OACI,kBAAC,IAAD,CAAW9F,UAAS,qBAAgB8F,EAAM9F,WAAauX,QAASzR,EAAMqI,eAIjE64B,EAAY,SAAClhC,GACtB,OACI,kBAAC,IAAD,CAAc9F,UAAS,kBAAa8F,EAAM9F,WAAauX,QAASzR,EAAMqI,eAIjE84B,EAAgB,SAACnhC,GAC1B,OACI,kBAAC,IAAD,CAAQ9F,UAAS,8BAAyB8F,EAAM9F,WAAauX,QAASzR,EAAMqI,YAAauf,SAAU5nB,EAAM4nB,UAAW5nB,EAAMiI,OAIrHm5B,EAAkB,SAACphC,GAC5B,OACI,kBAAC,IAAD,CAAQ9F,UAAS,wBAAmB8F,EAAM9F,WAAauX,QAASzR,EAAMqI,YAAauf,SAAU5nB,EAAM4nB,UAAW5nB,EAAMiI,OAI/Go5B,EAAkB,SAACrhC,GAC5B,IAAIshC,GAA8B,IAAnBthC,EAAMshC,SAAoB,WAAa,IACtD,OACI,kBAAC,IAAD,CAAQpnC,UAAW,qBAAuBonC,EAAU7vB,QAASzR,EAAMqI,aAAcrI,EAAMiI,OAIlFs5B,EAAa,SAACvhC,GACvB,OACI,kBAAC,IAAD,CAAQwhC,QAAQ,OAAO/vB,QAASzR,EAAMqI,aAAcrI,EAAMiI,OAIrDw5B,EAAqB,SAACzhC,GAC/B,OACI,kBAAC,IAAD,CAAQ9F,UAAS,mCAA8B8F,EAAMimB,WAAa,gBAAkB,IAAMtmB,IAAKK,EAAM0hC,OAAQjwB,QAASzR,EAAMqI,eAIvHs5B,EAAe,SAAC3hC,GACzB,OACI,kBAAC,IAAD,CAAQ9F,UAAS,+BAA0B8F,EAAM9F,WAAauX,QAASzR,EAAMqI,aAAcrI,EAAMiI,OAI5F25B,EAAc,SAAC5hC,GACxB,OACI,kBAAC,IAAD,CAAK9F,UAAS,oBAAe8F,EAAM9F,WAAauX,QAASzR,EAAMqI,eAI1DouB,EAAa,SAACz2B,GACvB,OACI,kBAAC,IAAD,CAAS9F,UAAS,uBAAkB8F,EAAM9F,UAAxB,YAAqC8F,EAAMimB,WAAa,gBAAkB,IAAMxU,QAASzR,EAAMqI,gB,gCC9DzH,2e,gCCAA,8KAEaw5B,EAAoB,SAAC/1B,GAAD,MAAe,CAC5CtR,KAAM0e,sBACNxe,KAAM,CAAEoR,SAAUA,KAGT7P,EAAsB,iBAAO,CACtCzB,KAAM8e,wBACN5e,KAAM,KAGGonC,EAAuB,SAACC,GAAD,MAAY,CAC5CvnC,KAAM+e,0BACN7e,KAAMqnC,K,gCCdV,mGAKaC,GALb,OAK6B,SAAChiC,GAAW,IAAD,EAC5BiiC,EAAsBC,4BAAkB,CAAEhd,KAAMllB,EAAMklB,OAAtD+c,kBACF9c,EAAkBnlB,EAAMklB,KAAN,UAAallB,EAAMmlB,uBAAnB,aAAa,EAAuBzD,QAAU,KAClEygB,EAAc,KAiBlB,OAhBIF,EAEIE,EADAhd,EACc,uBAEA,mBAGdA,EACAA,EAAgBid,UAAUC,OAAO,eAE7BvgC,SAASwgC,uBAAuB,eAAepjC,OAAS,GACxD4C,SAASmE,eAAe,iBAAiBo8B,SAMjDJ,GACA,oCACI,yBAAK/nC,UAAWirB,EAAkB,cAAgB,0BAClD,yBAAKjrB,UAAS,UAAKioC,EAAL,qBACV,yBAAKjoC,UAAU,eACX,yBAAKA,UAAU,kBACf,kBAAC,IAAD,CACIqT,KAAM,GACNg1B,OAAQ,GACRC,MAAK,yBACLC,QAASR,U,+BCpCjC,qDACO,IAAM7nC,EAAgB,CAEzBkU,iBAAkB,CACd,UACA,kBACA,OACA,qBACA,mBACA,aACA,OACA,OACA,QACA,QACA,QACA,OACA,OACA,QAEJ6B,YAAa,SACbF,SAAU,EACVyyB,SAAU,CACN38B,MAAO,yJACPkC,KAAM,gDACN06B,0BAA2B,yDAE3BC,SAAU,oBAEVC,cAAe,oBACfC,cAAe,8BACfC,uBAAwB,WACxBC,WAAY,aACZC,eAAgB,2CAChBC,aAAc,yCACd7O,eAAgB,8BAChB8O,0BAA2B,wCAC3BC,iBAAkB,0CAGtBlc,UAAW,CACPmc,IAAK,MACLxb,IAAK,MACL0D,MAAO,QACPuB,IAAK,MACLwW,UAAW,YACXC,uBAAwB,yBACxBC,eAAgB,iBAChBC,SAAU,WACV/V,SAAU,WACVnG,wBAAyB,0BACzBC,gBAAiB,kBACjBkc,eAAgB,iBAChB/b,UAAW,YACXwI,eAAgB,kBAGpBwT,gBAAiB,CACbC,sBAAuB,yBACvBC,aAAc,2BAGlBvS,yBAA0B,CAAC,OAAQ,MAAO,OAE1CI,YAAa,CAAC,CAAEV,UAAW,MAAOx2B,KAAM,4BACxC,CAAEw2B,UAAW,OAAQx2B,KAAM,qEAC3B,CAAEw2B,UAAW,MAAOx2B,KAAM,aAE1BspC,SAAU,CACNjc,IAAK,OAITkc,cAAe,CACX,SACA,OAGJC,SAAU,CACN,CAAE54B,MAAO,SAAUnM,MAAO,QAC1B,CAAEmM,MAAO,UAAWnM,MAAO,UAG/BwU,iBAAkB,CACde,cAAe,gBACfE,qBAAsB,uBACtBuvB,aAAc,eACdC,qBAAsB,uBACtBC,8BAA+B,gCAC/B1gB,uBAAwB,yBACxB9O,WAAY,aACZE,UAAW,YACXuvB,cAAe,gBACfC,kBAAmB,oBACnBC,gBAAiB,kBACjBC,4BAA6B,8BAC7BC,+BAAgC,iCAChCC,gCAAiC,kCACjCxvB,mBAAoB,qBACpBF,eAAgB,iBAChB2vB,8BAA+B,gCAC/BhxB,qBAAsB,uBACtBC,mBAAoB,qBACpBC,oBAAqB,sBACrB+wB,iBAAkB,mBAClBC,gBAAiB,kBACjBC,aAAc,eACdC,aAAc,eACdC,eAAgB,iBAChBC,oBAAqB,sBACrBC,sBAAuB,wBACvBC,6BAA8B,+BAC9BC,WAAY,aACZC,iBAAkB,mBAClBC,eAAgB,iBAChBC,mBAAoB,qBACpBzxB,mBAAoB,qBACpB0xB,8BAA+B,gCAC/BC,yBAA0B,2BAC1BC,IAAK,MACLC,2BAA4B,6BAC5BC,4CAA6C,8CAC7CC,gBAAiB,kBACjBC,UAAW,YACXC,qBAAsB,uBACtBC,mCAAoC,qCACpC5wB,aAAc,gBAGlB6wB,mBAAoB,SACpBC,iBAAkB,CAAC,QAAS,OAAQ,MAAO,UAC3CC,uBAAwB,2BACxBC,0BAA2B,CAAC,OAAQ,gBACpCC,aAAc,MACd5oC,OAAQ,CACJ4E,MAAO,QACPxE,YAAa,cACbyoC,SAAU,WACV5oC,aAAc,eACd7C,SAAU,WACV0rC,QAAS,UACT3oC,UAAW,YACX4oC,WAAY,aACZ1lB,uBAAwB,yBACxB2lB,wBAAyB,0BACzBC,aAAc,eACdC,cAAe,gBACfC,iBAAkB,mBAClBC,aAAc,gBAElB9f,SAAU,GAEV+f,eAAgB,CACZC,eAAgB,kBAGpBC,YAAa,CACTC,KAAM,OACNC,iBAAkB,mBAClBC,WAAY,aACZC,wBAAyB,0BACzBC,uBAAwB,yBACxBC,sBAAuB,wBACvBC,wBAAyB,2BAG7BC,gBAAiB,CACbC,MAAO,QACPC,MAAO,QACPC,YAAa,eAGjBC,mBAAoB,CAChBC,OAAQ,SACRC,QAAS,WAGbC,oBAAqB,CACjBC,QAAS,UACThhC,MAAO,SACPihC,QAAS,UACTC,KAAM,QAKVC,gBAAiB,CACbC,cAAe,gBACfC,OAAQ,UAGZC,UAAW,CACPC,mBAAoB,qBACpBC,mBAAoB,qBACpBC,MAAO,QACPC,YAAa,cACbC,eAAgB,qBAChBC,eAAgB,iBAChBC,WAAY,aACZC,YAAa,cACbC,kBAAmB,qBAEvBC,kBAAmB,CACfC,iBAAkB,eAClBC,iBAAkB,gBAGtBC,WAAY,CAAEC,EAAG,SACjBC,4BAA6B,CACzB,CAAEnhC,KAAM,iBAAkBqM,aAAc,mBACxC,CAAErM,KAAM,QAASqM,aAAc,UAEnC+0B,6BAA8B,CAC1B,CAAEphC,KAAM,OAAQqM,aAAc,OAAQg1B,uBAAuB,EAAMC,uBAAuB,GAC1F,CAAEthC,KAAM,mBAAoBqM,aAAc,oBAAqBg1B,uBAAuB,EAAMC,uBAAuB,GACnH,CAAEthC,KAAM,aAAcqM,aAAc,eAAgBg1B,uBAAuB,EAAMC,uBAAuB,GACxG,CAAEthC,KAAM,iBAAkBqM,aAAc,kBAAmBg1B,uBAAuB,EAAOC,uBAAuB,GAChH,CAAEthC,KAAM,QAASqM,aAAc,QAASg1B,uBAAuB,EAAOC,uBAAuB,GAC7F,CAAEthC,KAAM,0BAA2BqM,aAAc,iBAAkBg1B,uBAAuB,EAAMC,uBAAuB,GACvH,CAAEthC,KAAM,yBAA0BqM,aAAc,eAAgBg1B,uBAAuB,EAAMC,uBAAuB,GACpH,CAAEthC,KAAM,wBAAyBqM,aAAc,cAAeg1B,uBAAuB,EAAMC,uBAAuB,GAClH,CAAEthC,KAAM,0BAA2BqM,aAAc,iBAAkBg1B,uBAAuB,EAAMC,uBAAuB,IAG3HC,iBAAkB,KAClBC,sBAAuB,SACvB7sC,WAAY,GACZ8sC,0BAA2B,CACvB,CAAEt+B,MAAO,SAAUnM,MAAO,IAC1B,CAAEmM,MAAO,SAAUnM,MAAO,GAC1B,CAAEmM,MAAO,SAAUnM,MAAO,IAC1B,CAAEmM,MAAO,SAAUnM,MAAO,KAE9BtC,sBAAsB,EACtBgtC,eAAgB,CACZ,IAAO,gBACP,IAAO,IACP,IAAO,IACP,IAAO,gBACP,IAAO,KACP,IAAO,KACP,IAAO,IACP,IAAO,MACP,IAAO,IACP,IAAO,OACP,IAAO,IACP,IAAO,UACP,IAAO,MACP,IAAO,IACP,IAAO,QACP,IAAO,SACP,IAAO,MACP,IAAO,OACP,IAAO,IACP,IAAO,IACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,SACP,IAAO,SACP,IAAO,KACP,IAAO,OACP,IAAO,SACP,IAAO,SACP,IAAO,UACP,IAAO,IACP,IAAO,KACP,IAAO,KACP,IAAO,IACP,IAAO,MACP,IAAO,KACP,IAAO,SACP,IAAO,SACP,IAAO,UACP,IAAO,SACP,IAAO,MACP,IAAO,SACP,IAAO,KACP,IAAO,KACP,IAAO,IACP,IAAO,SACP,IAAO,SACP,IAAO,IACP,IAAO,SACP,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,KACP,IAAO,QAEX3hC,0BAA0B,EAC1BkM,cAAe,GACf7Z,gBAAgB,EAChBsc,0BAA0B,I,gCCpS9B,gFAGamG,EAAuB,CAEhC4G,UAAW,SAAClQ,GACR,OAAO7Q,oBAAkB0B,SAASxB,eAAaiR,cAAcC,kBAAmBP,IAEpF0J,6BAA8B,WAC1B,OAAOva,oBAAkBM,QAAQJ,eAAaiR,cAAc+X,+BAEhE+d,sBAAuB,WACnB,OAAOjnC,oBAAkBM,QAAQJ,eAAassB,kBAAkBC,wBAEpEya,yBAA0B,SAACnvC,GACvB,OAAOiI,oBAAkBkC,QAAQhC,eAAassB,kBAAkBE,yBAA0B30B,IAE9FovC,wBAAyB,WACrB,OAAOnnC,oBAAkBM,QAAQJ,eAAa2sB,iBAAiBC,0BAEnEsa,uBAAwB,SAACrvC,GACrB,OAAOiI,oBAAkBkC,QAAQhC,eAAa2sB,iBAAiBE,uBAAwBh1B,IAE3FqiB,cAAe,SAAC2jB,GACZ,OAAO/9B,oBAAkBM,QAAlB,UAA6BJ,eAAaiR,cAAcgY,cAAxD,2BAAwF4U,KAEnGsJ,mBAAoB,SAACtvC,GACjB,OAAOiI,oBAAkB0B,SAASxB,eAAaiR,cAAciY,mBAAoBrxB,M,gCC3BzF,+EAGa4lB,EAAsB,CAE/BiE,gBAAiB,SAACrf,EAAY+kC,GAC1B,IAAMxlC,EAAG,UAAM5B,eAAa4tB,aAAaC,gBAAhC,uBAA8DxrB,EAA9D,4BAA4F+kC,GACrG,OAAOtnC,oBAAkBM,QAAQwB,IAErCwgB,wBAAyB,SAACvqB,GACtB,OAAOiI,oBAAkB0B,SAASxB,eAAa4tB,aAAaE,wBAAyBj2B,IAEzFslB,sBAAuB,SAACtlB,GACpB,OAAOiI,oBAAkB0B,SAASxB,eAAa4tB,aAAaG,sBAAuBl2B,M,gCCb3F,qNAEawvC,EAAgB,SAAC3uC,GAAD,MAAiB,CAC1Cf,KAAMoe,kBACNle,KAAM,CAAEa,WAAYA,KAGX4uC,EAAW,SAACrxB,GAAD,MAAY,CAChCte,KAAMqe,YACNne,KAAM,CAAEoe,MAAOA,GAAS,KAGfsxB,EAA2B,SAAC/uC,GAAD,MAA4B,CAChEb,KAAMue,8BACNre,KAAM,CAAEW,sBAAuBA,IAAyB,KAG/CgvC,EAAoB,SAACpxB,GAAD,MAAqB,CAClDze,KAAMwe,sBACNte,KAAM,CAAEue,eAAgBA,M,gCCnB5B,wDAAO,IAAMqE,EAAmB,CAqD5BgtB,kBAAmB,CAGfC,YAAa,yCACbC,aAAc,0CACdC,aAAc,0CACdC,aAAc,2CA0ClBC,eAAgB,WAChBC,+BAAgC,uCAGhCC,qCAAsC,8CACtCC,4BAA6B,mCAC7BC,4BAA6B,oCAC7BC,mCAAoC,2CACpCC,oCAAqC,0CACrCC,oCAAqC,yCACrCC,eAAgB,CACZC,QAAS,uBACTC,SAAU,iBAEd9tB,kBAAmB,CACfC,aAAc,cACdC,eAAgB,+E","file":"static/js/main.e9ff4234.chunk.js","sourcesContent":["import React, { useEffect, useState } from 'react';\nimport Logo from '../Logo/Logo';\nimport './Header.css';\nimport { Container, Row, Col } from 'react-bootstrap';\nimport TopNavMenu from \"../Navigation/TopNavMenu\";\nimport { OIDCService } from '../../constants/UserManager';\nimport { DATA_CONSTANT } from '../../constants/DataConstant';\n\nconst Header = () => {\n\n const [loggedInUserName, setLoggedInUserName] = useState(null);\n\n useEffect(() => {\n\n let user = OIDCService.getUser();\n if (user != null) {\n // If user logged in then user id is sub\n setLoggedInUserName(user.profile ? user.profile.FirstName : null);\n }\n }, [])\n\n return (\n \n
\n \n \n \n \n \n {\n !DATA_CONSTANT.IsPCBNetClient &&\n
\n {loggedInUserName &&
Hello, {loggedInUserName}
}\n\n \n
\n }\n \n
\n
\n
\n );\n}\n\nexport default Header","import { CLEAR_JOBTYPES } from '../../constants/ActionConstants';\n\nexport const clearJobType = (jobType) => ({\n type: CLEAR_JOBTYPES,\n data: { jobType: jobType }\n});","export const Areas = {\n checkout: 'checkout-area',\n orderSummary: \"ordersummary-area\",\n assemblyChat: \"assemblychat-area\"\n};","import React, { createContext, lazy, Suspense, useEffect, useState } from 'react';\nimport { connect } from 'react-redux';\nimport { Redirect, Route, Switch, useHistory, useLocation } from 'react-router-dom';\nimport PrivateRoute from '../src/components/Routes/PrivateRoute';\nimport PublicRoute from '../src/components/Routes/PublicRoute';\nimport { LoadingSpiner } from \"./components/CommonComponents/LoadingSpiner\";\nimport { ConfigRoutesConstants } from './constants/ConfigRoutesConstants';\nimport { DATA_CONSTANT } from './constants/DataConstant';\nimport ConfigurationsLayout from './layouts/ConfigurationsLayout';\nimport RfqProcessLayout from './layouts/RfqProcessLayout';\nimport { RouteService } from './services/RouteService';\nimport { CommonService } from \"./services/CommonService\";\nimport { clearJobType, clearStore, resetCompletedSteps, setClientCode } from './redux/actions/index';\nimport { trackPromise } from 'react-promise-tracker';\n\nexport let RouteDataContext = createContext({});\n\nconst Routes = ({ isCustomQuote, isViewMode, isBomAnalysis, clientInfo, setClientInfo, resetReduxData }) => {\n const menuItem = ConfigRoutesConstants.configurationRouteList;\n\n const [routeList, setRouteList] = useState({ noLayoutRoutes: [], rfqProcessLayoutRoutes: [], configurationsLayoutRoutes: [] });\n\n const clientCode = clientInfo.clientCode;\n const urlClientCode = DATA_CONSTANT.IsCustomDomainClient ? \"\" : `/${DATA_CONSTANT.ClientCode}`;\n const location = useLocation();\n const history = useHistory();\n\n useEffect(() => {\n\n if (!DATA_CONSTANT.IsCustomDomainClient && clientCode != DATA_CONSTANT.ClientCode) {\n setClientInfo(DATA_CONSTANT.ClientCode);\n\n if (clientCode) {\n resetReduxData();\n history.push(CommonService.getRoutePath(\"\"));\n }\n }\n\n trackPromise(getRouteList());\n\n }, [])\n\n useEffect(() => {\n checkIsCustomQuote();\n if (isViewMode && location.pathname != `${urlClientCode}/${DATA_CONSTANT.routes.quoteHistory}` && !location.pathname.includes(\"configurations\")) {\n if (isBomAnalysis && location.pathname != `${urlClientCode}/${DATA_CONSTANT.routes.reviewbom}`) {\n history.push(CommonService.getRoutePath(DATA_CONSTANT.routes.reviewbom));\n\n }\n else if (!isBomAnalysis && location.pathname != `${urlClientCode}/${DATA_CONSTANT.routes.checkout}`) {\n history.push(CommonService.getRoutePath(DATA_CONSTANT.routes.checkout));\n }\n }\n }, [location])\n\n const checkIsCustomQuote = () => {\n if (isCustomQuote && location.pathname != `${urlClientCode}/${DATA_CONSTANT.routes.quoteHistory}` && location.pathname != `${urlClientCode}/${DATA_CONSTANT.routes.customQuote}`) {\n history.push(CommonService.getRoutePath(DATA_CONSTANT.routes.customQuote));\n }\n }\n\n const [routesForAllowDocumentUpload, setRoutesForAllowDocumentUpload] = useState();\n\n const getRouteList = async () => {\n let result = await RouteService.RouteList();\n result.routeList.map((obj) => {\n obj.routeUrl = `${urlClientCode}${obj.routeUrl}`\n });\n menuItem.map((obj) => {\n obj.routeUrl = `${urlClientCode}${obj.routeUrl}`\n });\n if (result) {\n let routesForContext = []\n result.routeList.map((obj) => {\n var route = {\n RouteUrl: obj.routeUrl,\n AllowDocumentUpload: obj.allowDocumentUpload,\n AllowAssemblyDiscussion: obj.allowAssemblyDiscussion\n }\n routesForContext.push(route);\n });\n setRoutesForAllowDocumentUpload(routesForContext);\n let noLayoutRoutes = result.routeList ? result.routeList.filter((route) => (!route.layoutRequired)) : [];\n let rfqProcessLayoutRoutes = result.routeList ? result.routeList.filter((route) => (route.layoutRequired)) : [];\n let configurationsLayoutRoutes = menuItem || [];\n setRouteList({\n noLayoutRoutes: noLayoutRoutes,\n rfqProcessLayoutRoutes: rfqProcessLayoutRoutes,\n configurationsLayoutRoutes: configurationsLayoutRoutes\n });\n }\n }\n\n return (\n }>\n \n \n {routeList?.noLayoutRoutes.length > 0 &&\n routeList.noLayoutRoutes.map((route) => {\n if (route.loginRequired) {\n return import(`${route.componentPath}`))} title={route.routeName} key={`route_${route.routeName}`} />\n } else {\n return import(`${route.componentPath}`))} title={route.routeName} key={`route_${route.routeName}`} />\n }\n })\n }\n {routeList?.rfqProcessLayoutRoutes.length > 0 ?\n\n routeList.rfqProcessLayoutRoutes.map((route) => {\n if (route.loginRequired) {\n return (\n import(`${route.componentPath}`))}\n title={route.routeName} key={`route_${route.routeName}`} layout={RfqProcessLayout} />\n )\n } else {\n return (\n import(`${route.componentPath}`))} title={route.routeName} key={`route_${route.routeName}`}\n layout={RfqProcessLayout} />\n )\n }\n })\n\n\n : <>\n }\n {routeList?.configurationsLayoutRoutes.length > 0 ?\n routeList.configurationsLayoutRoutes.map((route) => {\n return (\n import(`${route.componentPath}`))}\n title={route.title} key={`route_${route.routeName}`} layout={ConfigurationsLayout} />\n )\n })\n\n : <>\n }\n \n (\n )} />\n\n \n \n );\n}\n\nconst mapStateToProps = state => ({\n isCustomQuote: state.RFQDetails?.isCustomQuoteRequires,\n isViewMode: state.RFQDetails?.rfqDetails?.isViewMode,\n isBomAnalysis: state.RFQDetails?.rfqDetails?.isBomAnalysis,\n clientInfo: state.Client\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n setClientInfo: (clientCode) => dispatch(setClientCode(clientCode)),\n resetReduxData: () => {\n dispatch(clearStore());\n dispatch(resetCompletedSteps());\n dispatch(clearJobType({}));\n }\n})\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Routes);","import { createStore, combineReducers } from 'redux';\nimport storageSession from 'redux-persist/lib/storage/session';\nimport { persistReducer } from 'redux-persist';\nimport { reducer as oidcReducer } from \"redux-oidc\";\nimport { JobTypes, DefaultConfigs, RFQDetails, CompletedSteps, BomFile, Client, PCBNetQuoteDetails } from '../redux/reducers/index';\n\n\nconst reducers = {\n JobTypes: JobTypes,\n DefaultConfigs: DefaultConfigs,\n RFQDetails: RFQDetails,\n CompletedSteps: CompletedSteps,\n BomFile: BomFile,\n oidc: oidcReducer,\n Client: Client,\n PCBNetQuoteDetails: PCBNetQuoteDetails\n};\n\nconst appReducer = combineReducers(reducers);\n\nconst rootReducer = (state, action) => {\n\n // Clear all store data\n // if (action.type === CLEAR_STORE) {\n // state = undefined;\n // }\n\n if (action.type === \"redux-oidc/SESSION_TERMINATED\" || action.type === \"redux-oidc/USER_SIGNED_OUT\") {\n state = undefined;\n }\n\n if (action.type == 'redux-oidc/USER_FOUND' && state.oidc.user != undefined &&\n action.payload.profile.EmailConfirmed.toLowerCase() == 'true' && state.oidc.user.profile.EmailConfirmed.toLowerCase() == 'false') {\n state.oidc.user = { ...action.payload };\n }\n\n return appReducer(state, action)\n}\n\nconst persistConfig = {\n key: 'root',\n storage: storageSession\n};\n\n\nconst persistedReducer = persistReducer(persistConfig, rootReducer)\n\nexport const configureStore = () => createStore(persistedReducer,\n window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__());","export const ConfigRoutesConstants = {\n configurationRouteList: [{\n id: 1,\n routeName: 'configurations',\n routeUrl: '/configurations',\n layoutRequired: false,\n loginRequired: true,\n allowDocumentUpload: false,\n componentPath: './pages/Configurations/ConfigurationsPage',\n exact: true, linkDisplay: false,\n title: \"Configurations\"\n },\n {\n id: 2,\n routeName: 'terminology',\n routeUrl: '/configurations/terminology',\n layoutRequired: false,\n loginRequired: true,\n allowDocumentUpload: false,\n componentPath: './pages/Configurations/TerminologyPage',\n exact: false, linkDisplay: true,\n title: \"Terminology\"\n },\n {\n id: 3,\n routeName: 'misc',\n routeUrl: '/configurations/misc',\n layoutRequired: false,\n loginRequired: true,\n allowDocumentUpload: false,\n componentPath: './pages/Configurations/ConfigurationsPage',\n exact: false, linkDisplay: true,\n title: \"Misc Configurations\"\n },\n {\n id: 4,\n routeName: 'jobtypes',\n routeUrl: '/configurations/jobtypes',\n layoutRequired: false,\n loginRequired: true,\n allowDocumentUpload: false,\n componentPath: './pages/Configurations/JobTypesConfigurationPage',\n exact: false, linkDisplay: true,\n title: \"Job Types\"\n },\n {\n id: 5,\n routeName: 'rfqsteps',\n routeUrl: '/configurations/rfqsteps',\n layoutRequired: false,\n loginRequired: true,\n allowDocumentUpload: false,\n componentPath: './pages/Configurations/RFQStepsConfigurationPage',\n exact: false, linkDisplay: true,\n title: \"RFQ Steps\"\n },\n {\n id: 6,\n routeName: 'shippingmethods',\n routeUrl: '/configurations/shippingmethods',\n layoutRequired: false,\n loginRequired: true,\n allowDocumentUpload: false,\n componentPath: './pages/Configurations/ShippingMethodsConfigurationPage',\n exact: false, linkDisplay: true,\n title: \"Shipping Methods\"\n },\n {\n id: 7,\n routeName: 'marketingcontent',\n routeUrl: '/configurations/marketingcontent',\n layoutRequired: false,\n loginRequired: true,\n allowDocumentUpload: false,\n componentPath: './pages/Configurations/MarketingContentPage',\n exact: false, linkDisplay: true,\n title: \"Marketing Content\"\n },\n {\n id: 8,\n routeName: 'checklist',\n routeUrl: '/configurations/checklist',\n layoutRequired: false,\n loginRequired: true,\n allowDocumentUpload: false,\n componentPath: './pages/Configurations/CheckListConfigurationPage',\n exact: false, linkDisplay: true,\n title: \"Checklist\"\n }\n\n //,{\n // id: 3,\n // routeName: 'marketing',\n // routeUrl: '/configurations/marketing',\n // layoutRequired: false,\n // loginRequired: true, allowDocumentUpload: false,\n // componentPath: './pages/Configurations/TerminologyPage',\n // exact: false, linkDisplay: true,\n // title: \"Marketing\"\n //}\n ]\n}","import React, { useEffect } from 'react';\nimport { Route, useHistory, useLocation } from 'react-router-dom';\nimport { OIDCService } from '../../constants/UserManager';\nimport { connect } from \"react-redux\";\nimport { CommonService } from \"../../services/CommonService\";\nimport { DATA_CONSTANT } from \"../../constants/DataConstant\";\n\nconst PrivateRoute = ({\n component: Component,\n clientInfo,\n layout: Layout,\n ...props\n}) => {\n const history = useHistory();\n const location = useLocation();\n\n useEffect(() => {\n if (props.title) {\n document.title = `${props.title} | ${clientInfo.clientName}`;\n }\n });\n\n let isUserLoggedIn = false;\n const checkUserLoggedIn = () => {\n if (location.pathname.indexOf('callback') < 0) {\n isUserLoggedIn = OIDCService.login();\n if (isUserLoggedIn) {\n let hasAccessRights = OIDCService.hasUserAccessRights();\n if (hasAccessRights === false) {\n history.push(CommonService.getRoutePath(DATA_CONSTANT.routes.error), 401);\n }\n }\n }\n }\n\n checkUserLoggedIn();\n if (Layout) {\n return (\n isUserLoggedIn && (\n \n \n \n \n \n )\n )\n }\n return (\n isUserLoggedIn && ( \n \n )\n )\n}\n\n\nconst mapStateToProps = (state) => ({\n clientInfo: state.Client\n});\n\nexport default connect(mapStateToProps)(PrivateRoute);\n","import { createBrowserHistory } from 'history';\nexport const history = createBrowserHistory({ basename: process.env.PUBLIC_URL });\n","import { CommonHttpService } from './CommonHttpService';\nimport { URL_CONSTANT } from '../constants/UrlConstant';\n\nexport const DocumentService = {\n downLoadFile: (filename) => {\n return CommonHttpService.DownLoadFile(`${URL_CONSTANT.RequestForm.DownLoadFile}?fileName=${filename}`, filename);\n },\n generatePreSignedUrl: (count) => {\n return CommonHttpService.httpGet(`${URL_CONSTANT.Document.GeneratePreSignedUrl}?documentCount=${count}`);\n },\n uploadFilesToS3: (fileData) => new Promise((resolve, reject) => {\n\n const requests = fileData.map((obj) => CommonHttpService.httpFilePutToS3(obj.presignedURL, obj.file));\n\n Promise.all(requests).then((responses) => {\n resolve(responses);\n })\n .catch((errors) => {\n errors.forEach((error) => console.error(error));\n reject(errors);\n });\n }),\n insertDocuments: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.Document.InsertDocuments, data);\n }\n\n}","import { CommonHttpService } from './CommonHttpService';\nimport { URL_CONSTANT } from '../constants/UrlConstant';\n\nexport const RequestFormService = {\n\n getDefaultConfigurations: (jobType) => {\n const url = `${URL_CONSTANT.RequestForm.GetDefaultConfigurations}?jobType=${jobType}`;\n return CommonHttpService.httpGet(url);\n },\n\n CreateRFQ: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.RequestForm.CreateRFQ, data);\n },\n\n UpdateRFQ: (data) => {\n return CommonHttpService.httpPut(URL_CONSTANT.RequestForm.UpdateRFQ, data);\n },\n CloneRFQ: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.RequestForm.CloneRFQ, data);\n },\n\n GetAllQuoteType: () => {\n return CommonHttpService.httpGet(URL_CONSTANT.RequestForm.GetAllQuoteType);\n },\n\n GetRFQDetails: (rfqId, assemblyId) => {\n const url = `${URL_CONSTANT.RequestForm.GetRFQDetails}?rfqId=${rfqId}&&assemblyId=${assemblyId}`;\n return CommonHttpService.httpGet(url);\n },\n GetRFQData: (assemblyId) => {\n const url = `${URL_CONSTANT.RequestForm.GetRFQDetails}?assemblyId=${assemblyId}`;\n return CommonHttpService.httpGet(url);\n },\n GetRFQDocuments: (userId, assemblyId) => {\n const url = `${URL_CONSTANT.RequestForm.GetRFQDocuments}?userId=${userId}&&assemblyId=${assemblyId}`;\n return CommonHttpService.httpGet(url);\n },\n\n DeleteQuantity: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.RequestForm.DeleteQuantity, data);\n },\n\n DeleteTurnTime: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.RequestForm.DeleteTurnTime, data);\n },\n\n DeleteRFQDocument: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.RequestForm.DeleteRFQDocument, data);\n },\n\n UpdateAssemblyFieldValue: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.RequestForm.UpdateAssemblyFieldValue, data);\n },\n\n UpdateAdjustedTurnTimeApprovalStatus: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.RequestForm.UpdateAdjustedTurnTimeApprovalStatus, data);\n },\n\n GetRFQList: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.RequestForm.GetRFQList, data);\n },\n\n GetRFQInfoForContinue: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.RequestForm.GetRFQInfoForContinue, data);\n },\n\n CreateBomHealthAssembly: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.RequestForm.CreateBomHealthAssembly, data);\n },\n\n GetCustomerContactByEmail: (email) => {\n const url = `${URL_CONSTANT.RequestForm.GetCustomerContactByEmail}?email=${email}`;\n return CommonHttpService.httpGet(url);\n },\n}","import \"bootstrap/dist/css/bootstrap.css\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport registerServiceWorker from \"./registerServiceWorker\";\nimport withClearCache from './ClearCache';\nimport MainComponent from './main';\n\nconst rootElement = document.getElementById(\"root\");\n\nconst RootComponentWithClearCache = withClearCache(MainComponent);\n\nReactDOM.render(\n\n ,\n rootElement\n);\n\nregisterServiceWorker();\n","import { SET_CLIENT_NAME, SET_CLIENT_CODE } from '../../constants/ActionConstants';\n\nexport const setClientName = (clientName) => ({\n type: SET_CLIENT_NAME,\n data: { clientName: clientName }\n});\n\nexport const setClientCode = (clientCode) => ({\n type: SET_CLIENT_CODE,\n data: { clientCode: clientCode }\n});","var map = {\n\t\".\": [\n\t\t127,\n\t\t9\n\t],\n\t\"./\": [\n\t\t127,\n\t\t9\n\t],\n\t\"./App\": [\n\t\t170,\n\t\t9\n\t],\n\t\"./App.js\": [\n\t\t170,\n\t\t9\n\t],\n\t\"./App.test\": [\n\t\t389,\n\t\t9,\n\t\t78\n\t],\n\t\"./App.test.js\": [\n\t\t389,\n\t\t9,\n\t\t78\n\t],\n\t\"./ClearCache\": [\n\t\t181,\n\t\t9\n\t],\n\t\"./ClearCache.js\": [\n\t\t181,\n\t\t9\n\t],\n\t\"./CustomHooks/GoogleAnalytics/UsePageViews\": [\n\t\t195,\n\t\t9\n\t],\n\t\"./CustomHooks/GoogleAnalytics/UsePageViews.js\": [\n\t\t195,\n\t\t9\n\t],\n\t\"./History\": [\n\t\t111,\n\t\t9\n\t],\n\t\"./History.js\": [\n\t\t111,\n\t\t9\n\t],\n\t\"./Routes\": [\n\t\t106,\n\t\t9\n\t],\n\t\"./Routes.js\": [\n\t\t106,\n\t\t9\n\t],\n\t\"./components/AddAlternates/AddAlternates\": [\n\t\t339,\n\t\t9,\n\t\t4,\n\t\t5,\n\t\t18\n\t],\n\t\"./components/AddAlternates/AddAlternates.css\": [\n\t\t454,\n\t\t7,\n\t\t118\n\t],\n\t\"./components/AddAlternates/AddAlternates.js\": [\n\t\t339,\n\t\t9,\n\t\t4,\n\t\t5,\n\t\t18\n\t],\n\t\"./components/Alternate/Alternates.css\": [\n\t\t455,\n\t\t7,\n\t\t119\n\t],\n\t\"./components/Alternate/SuggestedAlternates\": [\n\t\t340,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t39\n\t],\n\t\"./components/Alternate/SuggestedAlternates.js\": [\n\t\t340,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t39\n\t],\n\t\"./components/AssemblyChat/AssemblyChat\": [\n\t\t189,\n\t\t9\n\t],\n\t\"./components/AssemblyChat/AssemblyChat.css\": [\n\t\t280,\n\t\t7\n\t],\n\t\"./components/AssemblyChat/AssemblyChat.js\": [\n\t\t189,\n\t\t9\n\t],\n\t\"./components/BOM/BOMHealthModal\": [\n\t\t341,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t76,\n\t\t60\n\t],\n\t\"./components/BOM/BOMHealthModal.css\": [\n\t\t456,\n\t\t7,\n\t\t120\n\t],\n\t\"./components/BOM/BOMHealthModal.js\": [\n\t\t341,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t76,\n\t\t60\n\t],\n\t\"./components/BOM/ImportBOM.css\": [\n\t\t462,\n\t\t7,\n\t\t121\n\t],\n\t\"./components/BOM/ImportBOMModal\": [\n\t\t348,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t4,\n\t\t5,\n\t\t15\n\t],\n\t\"./components/BOM/ImportBOMModal.js\": [\n\t\t348,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t4,\n\t\t5,\n\t\t15\n\t],\n\t\"./components/BOMHealthMonitor/BOMHealthMonitorList\": [\n\t\t361,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t48\n\t],\n\t\"./components/BOMHealthMonitor/BOMHealthMonitorList.css\": [\n\t\t463,\n\t\t7,\n\t\t122\n\t],\n\t\"./components/BOMHealthMonitor/BOMHealthMonitorList.js\": [\n\t\t361,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t48\n\t],\n\t\"./components/CheckListBuilder/CheckListBuilder\": [\n\t\t336,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t4,\n\t\t52\n\t],\n\t\"./components/CheckListBuilder/CheckListBuilder.js\": [\n\t\t336,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t4,\n\t\t52\n\t],\n\t\"./components/CommonComponents/AccordionToggle\": [\n\t\t331,\n\t\t9,\n\t\t63\n\t],\n\t\"./components/CommonComponents/AccordionToggle.js\": [\n\t\t331,\n\t\t9,\n\t\t63\n\t],\n\t\"./components/CommonComponents/AssemblyName\": [\n\t\t391,\n\t\t9,\n\t\t79\n\t],\n\t\"./components/CommonComponents/AssemblyName.js\": [\n\t\t391,\n\t\t9,\n\t\t79\n\t],\n\t\"./components/CommonComponents/LoadingSpiner\": [\n\t\t77,\n\t\t9\n\t],\n\t\"./components/CommonComponents/LoadingSpiner.js\": [\n\t\t77,\n\t\t9\n\t],\n\t\"./components/CommonComponents/LoadingSpinner.css\": [\n\t\t270,\n\t\t7\n\t],\n\t\"./components/CommonComponents/LoadingWrapper\": [\n\t\t159,\n\t\t9\n\t],\n\t\"./components/CommonComponents/LoadingWrapper.js\": [\n\t\t159,\n\t\t9\n\t],\n\t\"./components/CommonComponents/Logout\": [\n\t\t392,\n\t\t9,\n\t\t80\n\t],\n\t\"./components/CommonComponents/Logout.js\": [\n\t\t392,\n\t\t9,\n\t\t80\n\t],\n\t\"./components/CommonComponents/NavigationBlocker\": [\n\t\t141,\n\t\t9\n\t],\n\t\"./components/CommonComponents/NavigationBlocker.js\": [\n\t\t141,\n\t\t9\n\t],\n\t\"./components/ConfigurationSideMenu/ConfigurationSideMenu\": [\n\t\t190,\n\t\t9\n\t],\n\t\"./components/ConfigurationSideMenu/ConfigurationSideMenu.css\": [\n\t\t281,\n\t\t7\n\t],\n\t\"./components/ConfigurationSideMenu/ConfigurationSideMenu.js\": [\n\t\t190,\n\t\t9\n\t],\n\t\"./components/Configurations/CheckListConfiguration\": [\n\t\t362,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t14\n\t],\n\t\"./components/Configurations/CheckListConfiguration.js\": [\n\t\t362,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t14\n\t],\n\t\"./components/Configurations/JobTypesConfiguration\": [\n\t\t363,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t33\n\t],\n\t\"./components/Configurations/JobTypesConfiguration.js\": [\n\t\t363,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t33\n\t],\n\t\"./components/Configurations/MarketingContents\": [\n\t\t364,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t22\n\t],\n\t\"./components/Configurations/MarketingContents.js\": [\n\t\t364,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t22\n\t],\n\t\"./components/Configurations/MiscConfigurations\": [\n\t\t365,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t40\n\t],\n\t\"./components/Configurations/MiscConfigurations.js\": [\n\t\t365,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t40\n\t],\n\t\"./components/Configurations/RFQStepsConfiguration\": [\n\t\t366,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t34\n\t],\n\t\"./components/Configurations/RFQStepsConfiguration.js\": [\n\t\t366,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t34\n\t],\n\t\"./components/Configurations/ShippingMethodsConfiguration\": [\n\t\t367,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t30\n\t],\n\t\"./components/Configurations/ShippingMethodsConfiguration.js\": [\n\t\t367,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t30\n\t],\n\t\"./components/Configurations/Terminology\": [\n\t\t368,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t41\n\t],\n\t\"./components/Configurations/Terminology.js\": [\n\t\t368,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t41\n\t],\n\t\"./components/ControlComponents/AntDataGrid/DataGrid\": [\n\t\t309,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t64\n\t],\n\t\"./components/ControlComponents/AntDataGrid/DataGrid.css\": [\n\t\t446,\n\t\t7,\n\t\t123\n\t],\n\t\"./components/ControlComponents/AntDataGrid/DataGrid.js\": [\n\t\t309,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t64\n\t],\n\t\"./components/ControlComponents/AntDataGrid/DataGridUtils/EditableComponent/Dropdown\": [\n\t\t316,\n\t\t9,\n\t\t81\n\t],\n\t\"./components/ControlComponents/AntDataGrid/DataGridUtils/EditableComponent/Dropdown.js\": [\n\t\t316,\n\t\t9,\n\t\t81\n\t],\n\t\"./components/ControlComponents/AntDataGrid/DataGridUtils/EditableComponent/InputText\": [\n\t\t322,\n\t\t9,\n\t\t82\n\t],\n\t\"./components/ControlComponents/AntDataGrid/DataGridUtils/EditableComponent/InputText.js\": [\n\t\t322,\n\t\t9,\n\t\t82\n\t],\n\t\"./components/ControlComponents/AntDataGrid/DataGridUtils/sorter\": [\n\t\t313,\n\t\t9,\n\t\t83\n\t],\n\t\"./components/ControlComponents/AntDataGrid/DataGridUtils/sorter.js\": [\n\t\t313,\n\t\t9,\n\t\t83\n\t],\n\t\"./components/ControlComponents/AntDataGrid/MOCK_DATA\": [\n\t\t393,\n\t\t3,\n\t\t114\n\t],\n\t\"./components/ControlComponents/AntDataGrid/MOCK_DATA.json\": [\n\t\t393,\n\t\t3,\n\t\t114\n\t],\n\t\"./components/ControlComponents/CurrencyFormat/CurrencyFormat\": [\n\t\t327,\n\t\t9,\n\t\t7,\n\t\t84\n\t],\n\t\"./components/ControlComponents/CurrencyFormat/CurrencyFormat.js\": [\n\t\t327,\n\t\t9,\n\t\t7,\n\t\t84\n\t],\n\t\"./components/ControlComponents/DocumentUploader\": [\n\t\t162,\n\t\t9\n\t],\n\t\"./components/ControlComponents/DocumentUploader.js\": [\n\t\t162,\n\t\t9\n\t],\n\t\"./components/ControlComponents/Input\": [\n\t\t214,\n\t\t9,\n\t\t8\n\t],\n\t\"./components/ControlComponents/Input/\": [\n\t\t214,\n\t\t9,\n\t\t8\n\t],\n\t\"./components/ControlComponents/Input/GroupButton/GroupButton\": [\n\t\t394,\n\t\t9,\n\t\t55\n\t],\n\t\"./components/ControlComponents/Input/GroupButton/GroupButton.css\": [\n\t\t480,\n\t\t7,\n\t\t124\n\t],\n\t\"./components/ControlComponents/Input/GroupButton/GroupButton.js\": [\n\t\t394,\n\t\t9,\n\t\t55\n\t],\n\t\"./components/ControlComponents/Input/GroupToggle/GroupToggle\": [\n\t\t312,\n\t\t9,\n\t\t47\n\t],\n\t\"./components/ControlComponents/Input/GroupToggle/GroupToggle.css\": [\n\t\t449,\n\t\t7,\n\t\t125\n\t],\n\t\"./components/ControlComponents/Input/GroupToggle/GroupToggle.js\": [\n\t\t312,\n\t\t9,\n\t\t47\n\t],\n\t\"./components/ControlComponents/Input/InfoToolTip\": [\n\t\t138,\n\t\t9\n\t],\n\t\"./components/ControlComponents/Input/InfoToolTip.js\": [\n\t\t138,\n\t\t9\n\t],\n\t\"./components/ControlComponents/Input/InputCheck\": [\n\t\t310,\n\t\t9,\n\t\t71\n\t],\n\t\"./components/ControlComponents/Input/InputCheck.js\": [\n\t\t310,\n\t\t9,\n\t\t71\n\t],\n\t\"./components/ControlComponents/Input/InputControl.css\": [\n\t\t240,\n\t\t7\n\t],\n\t\"./components/ControlComponents/Input/InputDropDown\": [\n\t\t315,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t85\n\t],\n\t\"./components/ControlComponents/Input/InputDropDown.js\": [\n\t\t315,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t85\n\t],\n\t\"./components/ControlComponents/Input/InputSelect\": [\n\t\t311,\n\t\t9,\n\t\t65\n\t],\n\t\"./components/ControlComponents/Input/InputSelect.css\": [\n\t\t447,\n\t\t7,\n\t\t126\n\t],\n\t\"./components/ControlComponents/Input/InputSelect.js\": [\n\t\t311,\n\t\t9,\n\t\t65\n\t],\n\t\"./components/ControlComponents/Input/InputTextArea\": [\n\t\t142,\n\t\t9\n\t],\n\t\"./components/ControlComponents/Input/InputTextArea.js\": [\n\t\t142,\n\t\t9\n\t],\n\t\"./components/ControlComponents/Input/InputTextBox\": [\n\t\t308,\n\t\t9,\n\t\t73\n\t],\n\t\"./components/ControlComponents/Input/InputTextBox.js\": [\n\t\t308,\n\t\t9,\n\t\t73\n\t],\n\t\"./components/ControlComponents/Input/index\": [\n\t\t214,\n\t\t9,\n\t\t8\n\t],\n\t\"./components/ControlComponents/Input/index.js\": [\n\t\t214,\n\t\t9,\n\t\t8\n\t],\n\t\"./components/ControlComponents/InputButton/InputButton\": [\n\t\t61,\n\t\t9\n\t],\n\t\"./components/ControlComponents/InputButton/InputButton.css\": [\n\t\t277,\n\t\t7\n\t],\n\t\"./components/ControlComponents/InputButton/InputButton.js\": [\n\t\t61,\n\t\t9\n\t],\n\t\"./components/ControlComponents/ToastMessage/ToastMessage\": [\n\t\t314,\n\t\t9,\n\t\t61\n\t],\n\t\"./components/ControlComponents/ToastMessage/ToastMessage.css\": [\n\t\t448,\n\t\t7,\n\t\t127\n\t],\n\t\"./components/ControlComponents/ToastMessage/ToastMessage.js\": [\n\t\t314,\n\t\t9,\n\t\t61\n\t],\n\t\"./components/DocumentUploaderWithModal/DocumentUploaderWithModal\": [\n\t\t187,\n\t\t9\n\t],\n\t\"./components/DocumentUploaderWithModal/DocumentUploaderWithModal.css\": [\n\t\t278,\n\t\t7\n\t],\n\t\"./components/DocumentUploaderWithModal/DocumentUploaderWithModal.js\": [\n\t\t187,\n\t\t9\n\t],\n\t\"./components/FormatBom/Faq\": [\n\t\t369,\n\t\t9,\n\t\t38\n\t],\n\t\"./components/FormatBom/Faq.css\": [\n\t\t457,\n\t\t7,\n\t\t128\n\t],\n\t\"./components/FormatBom/Faq.js\": [\n\t\t369,\n\t\t9,\n\t\t38\n\t],\n\t\"./components/FormatBom/FaqToggle\": [\n\t\t351,\n\t\t9,\n\t\t57\n\t],\n\t\"./components/FormatBom/FaqToggle.js\": [\n\t\t351,\n\t\t9,\n\t\t57\n\t],\n\t\"./components/FormatBom/FormatBom\": [\n\t\t395,\n\t\t9,\n\t\t31\n\t],\n\t\"./components/FormatBom/FormatBom.js\": [\n\t\t395,\n\t\t9,\n\t\t31\n\t],\n\t\"./components/FormatBom/FormatBomDescriptionList\": [\n\t\t370,\n\t\t9,\n\t\t86\n\t],\n\t\"./components/FormatBom/FormatBomDescriptionList.js\": [\n\t\t370,\n\t\t9,\n\t\t86\n\t],\n\t\"./components/Header/Header\": [\n\t\t100,\n\t\t9\n\t],\n\t\"./components/Header/Header.css\": [\n\t\t276,\n\t\t7\n\t],\n\t\"./components/Header/Header.js\": [\n\t\t100,\n\t\t9\n\t],\n\t\"./components/Header/HeaderToggleButton\": [\n\t\t188,\n\t\t9\n\t],\n\t\"./components/Header/HeaderToggleButton.js\": [\n\t\t188,\n\t\t9\n\t],\n\t\"./components/JobType/JobType\": [\n\t\t343,\n\t\t9,\n\t\t53\n\t],\n\t\"./components/JobType/JobType.css\": [\n\t\t458,\n\t\t7,\n\t\t129\n\t],\n\t\"./components/JobType/JobType.js\": [\n\t\t343,\n\t\t9,\n\t\t53\n\t],\n\t\"./components/JobTypeIcons/Icon\": [\n\t\t332,\n\t\t9,\n\t\t66\n\t],\n\t\"./components/JobTypeIcons/Icon.css\": [\n\t\t452,\n\t\t7,\n\t\t130\n\t],\n\t\"./components/JobTypeIcons/Icon.js\": [\n\t\t332,\n\t\t9,\n\t\t66\n\t],\n\t\"./components/JobTypes/JobTypes\": [\n\t\t352,\n\t\t9,\n\t\t42\n\t],\n\t\"./components/JobTypes/JobTypes.css\": [\n\t\t464,\n\t\t7,\n\t\t131\n\t],\n\t\"./components/JobTypes/JobTypes.js\": [\n\t\t352,\n\t\t9,\n\t\t42\n\t],\n\t\"./components/LaborQuestionList/LaborQuestionList\": [\n\t\t353,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t4,\n\t\t6,\n\t\t74\n\t],\n\t\"./components/LaborQuestionList/LaborQuestionList.js\": [\n\t\t353,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t4,\n\t\t6,\n\t\t74\n\t],\n\t\"./components/Logo/CalcuQuoteLogo.png\": [\n\t\t482,\n\t\t7,\n\t\t163\n\t],\n\t\"./components/Logo/Logo\": [\n\t\t185,\n\t\t9\n\t],\n\t\"./components/Logo/Logo.css\": [\n\t\t275,\n\t\t7\n\t],\n\t\"./components/Logo/Logo.js\": [\n\t\t185,\n\t\t9\n\t],\n\t\"./components/MarketingContentModal\": [\n\t\t349,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t5,\n\t\t77,\n\t\t72\n\t],\n\t\"./components/MarketingContentModal.js\": [\n\t\t349,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t5,\n\t\t77,\n\t\t72\n\t],\n\t\"./components/Navigation/RFQSteps\": [\n\t\t192,\n\t\t9\n\t],\n\t\"./components/Navigation/RFQSteps.css\": [\n\t\t283,\n\t\t7\n\t],\n\t\"./components/Navigation/RFQSteps.js\": [\n\t\t192,\n\t\t9\n\t],\n\t\"./components/Navigation/TopNavMenu\": [\n\t\t186,\n\t\t9\n\t],\n\t\"./components/Navigation/TopNavMenu.css\": [\n\t\t279,\n\t\t7\n\t],\n\t\"./components/Navigation/TopNavMenu.js\": [\n\t\t186,\n\t\t9\n\t],\n\t\"./components/OrderSummaryView/OrderSummaryView\": [\n\t\t354,\n\t\t9,\n\t\t7,\n\t\t24\n\t],\n\t\"./components/OrderSummaryView/OrderSummaryView.css\": [\n\t\t465,\n\t\t7,\n\t\t132\n\t],\n\t\"./components/OrderSummaryView/OrderSummaryView.js\": [\n\t\t354,\n\t\t9,\n\t\t7,\n\t\t24\n\t],\n\t\"./components/OrderSummaryView/PcbDetails\": [\n\t\t344,\n\t\t9,\n\t\t45\n\t],\n\t\"./components/OrderSummaryView/PcbDetails.js\": [\n\t\t344,\n\t\t9,\n\t\t45\n\t],\n\t\"./components/PCB/MissingPCB\": [\n\t\t342,\n\t\t9,\n\t\t4,\n\t\t23\n\t],\n\t\"./components/PCB/MissingPCB.js\": [\n\t\t342,\n\t\t9,\n\t\t4,\n\t\t23\n\t],\n\t\"./components/PricingCompilingScreen/PricingCompilingScreen\": [\n\t\t355,\n\t\t9,\n\t\t54\n\t],\n\t\"./components/PricingCompilingScreen/PricingCompilingScreen.css\": [\n\t\t466,\n\t\t7,\n\t\t133\n\t],\n\t\"./components/PricingCompilingScreen/PricingCompilingScreen.js\": [\n\t\t355,\n\t\t9,\n\t\t54\n\t],\n\t\"./components/Quantities/QuantityList\": [\n\t\t356,\n\t\t9,\n\t\t4,\n\t\t50\n\t],\n\t\"./components/Quantities/QuantityList.css\": [\n\t\t467,\n\t\t7,\n\t\t134\n\t],\n\t\"./components/Quantities/QuantityList.js\": [\n\t\t356,\n\t\t9,\n\t\t4,\n\t\t50\n\t],\n\t\"./components/RFQList/RFQList\": [\n\t\t371,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t49\n\t],\n\t\"./components/RFQList/RFQList.css\": [\n\t\t470,\n\t\t7,\n\t\t135\n\t],\n\t\"./components/RFQList/RFQList.js\": [\n\t\t371,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t49\n\t],\n\t\"./components/ReviewBOM/BOMLineItem\": [\n\t\t346,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t44\n\t],\n\t\"./components/ReviewBOM/BOMLineItem.css\": [\n\t\t459,\n\t\t7,\n\t\t136\n\t],\n\t\"./components/ReviewBOM/BOMLineItem.js\": [\n\t\t346,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t44\n\t],\n\t\"./components/ReviewBOM/BOMSummary\": [\n\t\t345,\n\t\t9,\n\t\t68\n\t],\n\t\"./components/ReviewBOM/BOMSummary.css\": [\n\t\t460,\n\t\t7,\n\t\t137\n\t],\n\t\"./components/ReviewBOM/BOMSummary.js\": [\n\t\t345,\n\t\t9,\n\t\t68\n\t],\n\t\"./components/ReviewBOM/RequestedQuantity\": [\n\t\t347,\n\t\t9,\n\t\t43\n\t],\n\t\"./components/ReviewBOM/RequestedQuantity.css\": [\n\t\t461,\n\t\t7,\n\t\t138\n\t],\n\t\"./components/ReviewBOM/RequestedQuantity.js\": [\n\t\t347,\n\t\t9,\n\t\t43\n\t],\n\t\"./components/ReviewBOM/RequestedQuantityTitle\": [\n\t\t334,\n\t\t9,\n\t\t69\n\t],\n\t\"./components/ReviewBOM/RequestedQuantityTitle.css\": [\n\t\t453,\n\t\t7,\n\t\t139\n\t],\n\t\"./components/ReviewBOM/RequestedQuantityTitle.js\": [\n\t\t334,\n\t\t9,\n\t\t69\n\t],\n\t\"./components/ReviewBOM/ReviewBOM\": [\n\t\t357,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t11\n\t],\n\t\"./components/ReviewBOM/ReviewBOM.css\": [\n\t\t468,\n\t\t7,\n\t\t140\n\t],\n\t\"./components/ReviewBOM/ReviewBOM.js\": [\n\t\t357,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t11\n\t],\n\t\"./components/Routes/PrivateRoute\": [\n\t\t110,\n\t\t9\n\t],\n\t\"./components/Routes/PrivateRoute.js\": [\n\t\t110,\n\t\t9\n\t],\n\t\"./components/Routes/PublicRoute\": [\n\t\t132,\n\t\t9\n\t],\n\t\"./components/Routes/PublicRoute.js\": [\n\t\t132,\n\t\t9\n\t],\n\t\"./components/StripePayment/StripePaymentModal\": [\n\t\t358,\n\t\t9,\n\t\t5,\n\t\t58\n\t],\n\t\"./components/StripePayment/StripePaymentModal.css\": [\n\t\t469,\n\t\t7,\n\t\t141\n\t],\n\t\"./components/StripePayment/StripePaymentModal.js\": [\n\t\t358,\n\t\t9,\n\t\t5,\n\t\t58\n\t],\n\t\"./constants/ActionConstants\": [\n\t\t23,\n\t\t9\n\t],\n\t\"./constants/ActionConstants.js\": [\n\t\t23,\n\t\t9\n\t],\n\t\"./constants/Areas\": [\n\t\t103,\n\t\t9\n\t],\n\t\"./constants/Areas.js\": [\n\t\t103,\n\t\t9\n\t],\n\t\"./constants/ConfigRoutesConstants\": [\n\t\t108,\n\t\t9\n\t],\n\t\"./constants/ConfigRoutesConstants.js\": [\n\t\t108,\n\t\t9\n\t],\n\t\"./constants/DataConstant\": [\n\t\t8,\n\t\t9\n\t],\n\t\"./constants/DataConstant.js\": [\n\t\t8,\n\t\t9\n\t],\n\t\"./constants/ErrorConstants\": [\n\t\t359,\n\t\t9,\n\t\t87\n\t],\n\t\"./constants/ErrorConstants.js\": [\n\t\t359,\n\t\t9,\n\t\t87\n\t],\n\t\"./constants/JargonConstant\": [\n\t\t32,\n\t\t9\n\t],\n\t\"./constants/JargonConstant.js\": [\n\t\t32,\n\t\t9\n\t],\n\t\"./constants/MessageConstant\": [\n\t\t98,\n\t\t9\n\t],\n\t\"./constants/MessageConstant.js\": [\n\t\t98,\n\t\t9\n\t],\n\t\"./constants/ReviewBOMConstants\": [\n\t\t325,\n\t\t9,\n\t\t88\n\t],\n\t\"./constants/ReviewBOMConstants.js\": [\n\t\t325,\n\t\t9,\n\t\t88\n\t],\n\t\"./constants/RoutesConstant\": [\n\t\t396,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t9\n\t],\n\t\"./constants/RoutesConstant.js\": [\n\t\t396,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t9\n\t],\n\t\"./constants/UrlConstant\": [\n\t\t22,\n\t\t9\n\t],\n\t\"./constants/UrlConstant.js\": [\n\t\t22,\n\t\t9\n\t],\n\t\"./constants/UserManager\": [\n\t\t37,\n\t\t9\n\t],\n\t\"./constants/UserManager.js\": [\n\t\t37,\n\t\t9\n\t],\n\t\"./fonts/Glyphter.eot\": [\n\t\t483,\n\t\t7,\n\t\t153\n\t],\n\t\"./fonts/Glyphter.svg\": [\n\t\t484,\n\t\t7,\n\t\t154\n\t],\n\t\"./fonts/Glyphter.ttf\": [\n\t\t485,\n\t\t7,\n\t\t155\n\t],\n\t\"./fonts/Glyphter.woff\": [\n\t\t486,\n\t\t7,\n\t\t156\n\t],\n\t\"./fonts/Lato-Bold.ttf\": [\n\t\t487,\n\t\t7,\n\t\t157\n\t],\n\t\"./fonts/Lato-Hairline.ttf\": [\n\t\t488,\n\t\t7,\n\t\t158\n\t],\n\t\"./fonts/Lato-Regular.ttf\": [\n\t\t489,\n\t\t7,\n\t\t159\n\t],\n\t\"./global.style.css\": [\n\t\t271,\n\t\t7\n\t],\n\t\"./index\": [\n\t\t127,\n\t\t9\n\t],\n\t\"./index.js\": [\n\t\t127,\n\t\t9\n\t],\n\t\"./layouts/ConfigurationsLayout\": [\n\t\t184,\n\t\t9\n\t],\n\t\"./layouts/ConfigurationsLayout.js\": [\n\t\t184,\n\t\t9\n\t],\n\t\"./layouts/Layout\": [\n\t\t397,\n\t\t9,\n\t\t89\n\t],\n\t\"./layouts/Layout.js\": [\n\t\t397,\n\t\t9,\n\t\t89\n\t],\n\t\"./layouts/RfqProcessLayout\": [\n\t\t131,\n\t\t9\n\t],\n\t\"./layouts/RfqProcessLayout.css\": [\n\t\t282,\n\t\t7\n\t],\n\t\"./layouts/RfqProcessLayout.js\": [\n\t\t131,\n\t\t9\n\t],\n\t\"./main\": [\n\t\t182,\n\t\t9\n\t],\n\t\"./main.js\": [\n\t\t182,\n\t\t9\n\t],\n\t\"./pages/AssemblyDetail/AssemblyDetailPage\": [\n\t\t385,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t4,\n\t\t6,\n\t\t90\n\t],\n\t\"./pages/AssemblyDetail/AssemblyDetailPage.js\": [\n\t\t385,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t4,\n\t\t6,\n\t\t90\n\t],\n\t\"./pages/Authentication/CallbackPage\": [\n\t\t379,\n\t\t9,\n\t\t91\n\t],\n\t\"./pages/Authentication/CallbackPage.js\": [\n\t\t379,\n\t\t9,\n\t\t91\n\t],\n\t\"./pages/Authentication/EmailActivationPending.css\": [\n\t\t476,\n\t\t7,\n\t\t142\n\t],\n\t\"./pages/Authentication/EmailActivationPendingPage\": [\n\t\t382,\n\t\t9,\n\t\t70\n\t],\n\t\"./pages/Authentication/EmailActivationPendingPage.js\": [\n\t\t382,\n\t\t9,\n\t\t70\n\t],\n\t\"./pages/Authentication/RedirectToLoginPage\": [\n\t\t381,\n\t\t9,\n\t\t92\n\t],\n\t\"./pages/Authentication/RedirectToLoginPage.js\": [\n\t\t381,\n\t\t9,\n\t\t92\n\t],\n\t\"./pages/Authentication/SilentRenewalCallback\": [\n\t\t380,\n\t\t9,\n\t\t93\n\t],\n\t\"./pages/Authentication/SilentRenewalCallback.js\": [\n\t\t380,\n\t\t9,\n\t\t93\n\t],\n\t\"./pages/BOMHealthMonitor/BOMHealthMonitorHistoryPage\": [\n\t\t398,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t27\n\t],\n\t\"./pages/BOMHealthMonitor/BOMHealthMonitorHistoryPage.js\": [\n\t\t398,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t27\n\t],\n\t\"./pages/BOMHealthMonitor/BOMHealthMonitorPage\": [\n\t\t399,\n\t\t9,\n\t\t4,\n\t\t19\n\t],\n\t\"./pages/BOMHealthMonitor/BOMHealthMonitorPage.js\": [\n\t\t399,\n\t\t9,\n\t\t4,\n\t\t19\n\t],\n\t\"./pages/Checkout/Checkout\": [\n\t\t378,\n\t\t9,\n\t\t4,\n\t\t5,\n\t\t7,\n\t\t32,\n\t\t16\n\t],\n\t\"./pages/Checkout/Checkout.css\": [\n\t\t475,\n\t\t7,\n\t\t143\n\t],\n\t\"./pages/Checkout/Checkout.js\": [\n\t\t378,\n\t\t9,\n\t\t4,\n\t\t5,\n\t\t7,\n\t\t32,\n\t\t16\n\t],\n\t\"./pages/Complete/QuoteCQQuoteComplete\": [\n\t\t400,\n\t\t9,\n\t\t94\n\t],\n\t\"./pages/Complete/QuoteCQQuoteComplete.js\": [\n\t\t400,\n\t\t9,\n\t\t94\n\t],\n\t\"./pages/Complete/QuoteComplete\": [\n\t\t373,\n\t\t9,\n\t\t95\n\t],\n\t\"./pages/Complete/QuoteComplete.js\": [\n\t\t373,\n\t\t9,\n\t\t95\n\t],\n\t\"./pages/Configurations/CheckListConfigurationPage\": [\n\t\t401,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t13\n\t],\n\t\"./pages/Configurations/CheckListConfigurationPage.js\": [\n\t\t401,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t13\n\t],\n\t\"./pages/Configurations/ConfigurationsPage\": [\n\t\t402,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t36\n\t],\n\t\"./pages/Configurations/ConfigurationsPage.js\": [\n\t\t402,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t36\n\t],\n\t\"./pages/Configurations/JobTypesConfigurationPage\": [\n\t\t403,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t28\n\t],\n\t\"./pages/Configurations/JobTypesConfigurationPage.js\": [\n\t\t403,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t28\n\t],\n\t\"./pages/Configurations/MarketingContentPage\": [\n\t\t404,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t21\n\t],\n\t\"./pages/Configurations/MarketingContentPage.js\": [\n\t\t404,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t21\n\t],\n\t\"./pages/Configurations/RFQStepsConfigurationPage\": [\n\t\t405,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t29\n\t],\n\t\"./pages/Configurations/RFQStepsConfigurationPage.js\": [\n\t\t405,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t29\n\t],\n\t\"./pages/Configurations/ShippingMethodsConfigurationPage\": [\n\t\t406,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t25\n\t],\n\t\"./pages/Configurations/ShippingMethodsConfigurationPage.js\": [\n\t\t406,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t25\n\t],\n\t\"./pages/Configurations/TerminologyPage\": [\n\t\t407,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t37\n\t],\n\t\"./pages/Configurations/TerminologyPage.js\": [\n\t\t407,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t37\n\t],\n\t\"./pages/CustomQuote/CustomQuote.css\": [\n\t\t477,\n\t\t7,\n\t\t144\n\t],\n\t\"./pages/CustomQuote/CustomQuotePage\": [\n\t\t383,\n\t\t9,\n\t\t4,\n\t\t56\n\t],\n\t\"./pages/CustomQuote/CustomQuotePage.js\": [\n\t\t383,\n\t\t9,\n\t\t4,\n\t\t56\n\t],\n\t\"./pages/Error/Error.css\": [\n\t\t478,\n\t\t7,\n\t\t145\n\t],\n\t\"./pages/Error/ErrorPage\": [\n\t\t384,\n\t\t9,\n\t\t62\n\t],\n\t\"./pages/Error/ErrorPage.js\": [\n\t\t384,\n\t\t9,\n\t\t62\n\t],\n\t\"./pages/GetQuote/ContactDetailsPage\": [\n\t\t408,\n\t\t9,\n\t\t4,\n\t\t20\n\t],\n\t\"./pages/GetQuote/ContactDetailsPage.js\": [\n\t\t408,\n\t\t9,\n\t\t4,\n\t\t20\n\t],\n\t\"./pages/GetQuote/GetQuote.css\": [\n\t\t474,\n\t\t7,\n\t\t146\n\t],\n\t\"./pages/GetQuote/GetQuotePage\": [\n\t\t388,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t35\n\t],\n\t\"./pages/GetQuote/GetQuotePage.js\": [\n\t\t388,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t35\n\t],\n\t\"./pages/GetQuote/GetQuoteProcessPage\": [\n\t\t409,\n\t\t9,\n\t\t96\n\t],\n\t\"./pages/GetQuote/GetQuoteProcessPage.js\": [\n\t\t409,\n\t\t9,\n\t\t96\n\t],\n\t\"./pages/Home/Home\": [\n\t\t372,\n\t\t9,\n\t\t26\n\t],\n\t\"./pages/Home/Home.css\": [\n\t\t471,\n\t\t7,\n\t\t147\n\t],\n\t\"./pages/Home/Home.js\": [\n\t\t372,\n\t\t9,\n\t\t26\n\t],\n\t\"./pages/Labor/LaborPage\": [\n\t\t375,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t4,\n\t\t6,\n\t\t67\n\t],\n\t\"./pages/Labor/LaborPage.js\": [\n\t\t375,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t4,\n\t\t6,\n\t\t67\n\t],\n\t\"./pages/PCB/Pcb\": [\n\t\t377,\n\t\t9,\n\t\t4,\n\t\t17\n\t],\n\t\"./pages/PCB/Pcb.css\": [\n\t\t473,\n\t\t7,\n\t\t148\n\t],\n\t\"./pages/PCB/Pcb.js\": [\n\t\t377,\n\t\t9,\n\t\t4,\n\t\t17\n\t],\n\t\"./pages/PCBNet/PCBNetQuoteComplete\": [\n\t\t410,\n\t\t9,\n\t\t75\n\t],\n\t\"./pages/PCBNet/PCBNetQuoteComplete.js\": [\n\t\t410,\n\t\t9,\n\t\t75\n\t],\n\t\"./pages/QuoteHistory/QuoteHistoryPage\": [\n\t\t411,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t46\n\t],\n\t\"./pages/QuoteHistory/QuoteHistoryPage.css\": [\n\t\t490,\n\t\t7,\n\t\t149\n\t],\n\t\"./pages/QuoteHistory/QuoteHistoryPage.js\": [\n\t\t411,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t46\n\t],\n\t\"./pages/QuoteProcessSelection/QuoteProcessSelection.css\": [\n\t\t479,\n\t\t7,\n\t\t150\n\t],\n\t\"./pages/QuoteProcessSelection/QuoteProcessSelectionPage\": [\n\t\t386,\n\t\t9,\n\t\t59\n\t],\n\t\"./pages/QuoteProcessSelection/QuoteProcessSelectionPage.js\": [\n\t\t386,\n\t\t9,\n\t\t59\n\t],\n\t\"./pages/RFQ/RFQ.css\": [\n\t\t472,\n\t\t7,\n\t\t151\n\t],\n\t\"./pages/RFQ/RFQPage\": [\n\t\t374,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t4,\n\t\t5,\n\t\t12\n\t],\n\t\"./pages/RFQ/RFQPage.js\": [\n\t\t374,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t4,\n\t\t5,\n\t\t12\n\t],\n\t\"./pages/ReviewBOM/ReviewBOMPage\": [\n\t\t376,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t10\n\t],\n\t\"./pages/ReviewBOM/ReviewBOMPage.js\": [\n\t\t376,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t10\n\t],\n\t\"./pages/ScrubMyBom/ScrubMyBomProcessPage\": [\n\t\t412,\n\t\t9,\n\t\t51\n\t],\n\t\"./pages/ScrubMyBom/ScrubMyBomProcessPage.css\": [\n\t\t481,\n\t\t7,\n\t\t152\n\t],\n\t\"./pages/ScrubMyBom/ScrubMyBomProcessPage.js\": [\n\t\t412,\n\t\t9,\n\t\t51\n\t],\n\t\"./prototype/Extensions\": [\n\t\t183,\n\t\t9\n\t],\n\t\"./prototype/Extensions.js\": [\n\t\t183,\n\t\t9\n\t],\n\t\"./redux/actions\": [\n\t\t59,\n\t\t9\n\t],\n\t\"./redux/actions/\": [\n\t\t59,\n\t\t9\n\t],\n\t\"./redux/actions/ClearJobType\": [\n\t\t101,\n\t\t9\n\t],\n\t\"./redux/actions/ClearJobType.js\": [\n\t\t101,\n\t\t9\n\t],\n\t\"./redux/actions/ClearStoreActions\": [\n\t\t150,\n\t\t9\n\t],\n\t\"./redux/actions/ClearStoreActions.js\": [\n\t\t150,\n\t\t9\n\t],\n\t\"./redux/actions/CompletedStepActions\": [\n\t\t74,\n\t\t9\n\t],\n\t\"./redux/actions/CompletedStepActions.js\": [\n\t\t74,\n\t\t9\n\t],\n\t\"./redux/actions/DefaultConfigActions\": [\n\t\t164,\n\t\t9\n\t],\n\t\"./redux/actions/DefaultConfigActions.js\": [\n\t\t164,\n\t\t9\n\t],\n\t\"./redux/actions/JobTypeActions\": [\n\t\t157,\n\t\t9\n\t],\n\t\"./redux/actions/JobTypeActions.js\": [\n\t\t157,\n\t\t9\n\t],\n\t\"./redux/actions/PCBNetQuoteActions\": [\n\t\t179,\n\t\t9\n\t],\n\t\"./redux/actions/PCBNetQuoteActions.js\": [\n\t\t179,\n\t\t9\n\t],\n\t\"./redux/actions/RFQDetailActions\": [\n\t\t97,\n\t\t9\n\t],\n\t\"./redux/actions/RFQDetailActions.js\": [\n\t\t97,\n\t\t9\n\t],\n\t\"./redux/actions/SetBomFIleAction\": [\n\t\t165,\n\t\t9\n\t],\n\t\"./redux/actions/SetBomFIleAction.js\": [\n\t\t165,\n\t\t9\n\t],\n\t\"./redux/actions/SetClient\": [\n\t\t128,\n\t\t9\n\t],\n\t\"./redux/actions/SetClient.js\": [\n\t\t128,\n\t\t9\n\t],\n\t\"./redux/actions/index\": [\n\t\t59,\n\t\t9\n\t],\n\t\"./redux/actions/index.js\": [\n\t\t59,\n\t\t9\n\t],\n\t\"./redux/reducers\": [\n\t\t63,\n\t\t9\n\t],\n\t\"./redux/reducers/\": [\n\t\t63,\n\t\t9\n\t],\n\t\"./redux/reducers/BomFile\": [\n\t\t175,\n\t\t9\n\t],\n\t\"./redux/reducers/BomFile.js\": [\n\t\t175,\n\t\t9\n\t],\n\t\"./redux/reducers/Client\": [\n\t\t176,\n\t\t9\n\t],\n\t\"./redux/reducers/Client.js\": [\n\t\t176,\n\t\t9\n\t],\n\t\"./redux/reducers/CompletedSteps\": [\n\t\t174,\n\t\t9\n\t],\n\t\"./redux/reducers/CompletedSteps.js\": [\n\t\t174,\n\t\t9\n\t],\n\t\"./redux/reducers/DefaultConfigs\": [\n\t\t172,\n\t\t9\n\t],\n\t\"./redux/reducers/DefaultConfigs.js\": [\n\t\t172,\n\t\t9\n\t],\n\t\"./redux/reducers/JobTypes\": [\n\t\t171,\n\t\t9\n\t],\n\t\"./redux/reducers/JobTypes.js\": [\n\t\t171,\n\t\t9\n\t],\n\t\"./redux/reducers/PCBNetQuoteDetails\": [\n\t\t177,\n\t\t9\n\t],\n\t\"./redux/reducers/PCBNetQuoteDetails.js\": [\n\t\t177,\n\t\t9\n\t],\n\t\"./redux/reducers/RFQDetails\": [\n\t\t173,\n\t\t9\n\t],\n\t\"./redux/reducers/RFQDetails.js\": [\n\t\t173,\n\t\t9\n\t],\n\t\"./redux/reducers/index\": [\n\t\t63,\n\t\t9\n\t],\n\t\"./redux/reducers/index.js\": [\n\t\t63,\n\t\t9\n\t],\n\t\"./redux/store\": [\n\t\t107,\n\t\t9\n\t],\n\t\"./redux/store.js\": [\n\t\t107,\n\t\t9\n\t],\n\t\"./registerServiceWorker\": [\n\t\t180,\n\t\t9\n\t],\n\t\"./registerServiceWorker.js\": [\n\t\t180,\n\t\t9\n\t],\n\t\"./resources/SvgIcons/labor.svg\": [\n\t\t491,\n\t\t7,\n\t\t160\n\t],\n\t\"./resources/SvgIcons/material.svg\": [\n\t\t492,\n\t\t7,\n\t\t161\n\t],\n\t\"./resources/SvgIcons/pcb.svg\": [\n\t\t493,\n\t\t7,\n\t\t162\n\t],\n\t\"./services/AccountService\": [\n\t\t191,\n\t\t9\n\t],\n\t\"./services/AccountService.js\": [\n\t\t191,\n\t\t9\n\t],\n\t\"./services/AlternatePartService\": [\n\t\t330,\n\t\t9,\n\t\t97\n\t],\n\t\"./services/AlternatePartService.js\": [\n\t\t330,\n\t\t9,\n\t\t97\n\t],\n\t\"./services/AssemblyChatService\": [\n\t\t89,\n\t\t9\n\t],\n\t\"./services/AssemblyChatService.js\": [\n\t\t89,\n\t\t9\n\t],\n\t\"./services/BOMService\": [\n\t\t317,\n\t\t9,\n\t\t98\n\t],\n\t\"./services/BOMService.js\": [\n\t\t317,\n\t\t9,\n\t\t98\n\t],\n\t\"./services/CheckListBuilderService\": [\n\t\t320,\n\t\t9,\n\t\t99\n\t],\n\t\"./services/CheckListBuilderService.js\": [\n\t\t320,\n\t\t9,\n\t\t99\n\t],\n\t\"./services/CommonHttpService\": [\n\t\t21,\n\t\t9\n\t],\n\t\"./services/CommonHttpService.js\": [\n\t\t21,\n\t\t9\n\t],\n\t\"./services/CommonService\": [\n\t\t25,\n\t\t9\n\t],\n\t\"./services/CommonService.js\": [\n\t\t25,\n\t\t9\n\t],\n\t\"./services/ConfigurationService\": [\n\t\t85,\n\t\t9\n\t],\n\t\"./services/ConfigurationService.js\": [\n\t\t85,\n\t\t9\n\t],\n\t\"./services/ContactDetailsService\": [\n\t\t387,\n\t\t9,\n\t\t100\n\t],\n\t\"./services/ContactDetailsService.js\": [\n\t\t387,\n\t\t9,\n\t\t100\n\t],\n\t\"./services/CustomQuoteService\": [\n\t\t360,\n\t\t9,\n\t\t101\n\t],\n\t\"./services/CustomQuoteService.js\": [\n\t\t360,\n\t\t9,\n\t\t101\n\t],\n\t\"./services/DocumentService\": [\n\t\t113,\n\t\t9\n\t],\n\t\"./services/DocumentService.js\": [\n\t\t113,\n\t\t9\n\t],\n\t\"./services/JargonService\": [\n\t\t169,\n\t\t9\n\t],\n\t\"./services/JargonService.js\": [\n\t\t169,\n\t\t9\n\t],\n\t\"./services/JobTypeService\": [\n\t\t321,\n\t\t9,\n\t\t102\n\t],\n\t\"./services/JobTypeService.js\": [\n\t\t321,\n\t\t9,\n\t\t102\n\t],\n\t\"./services/LaborService\": [\n\t\t333,\n\t\t9,\n\t\t103\n\t],\n\t\"./services/LaborService.js\": [\n\t\t333,\n\t\t9,\n\t\t103\n\t],\n\t\"./services/MarketingContentService\": [\n\t\t324,\n\t\t9,\n\t\t104\n\t],\n\t\"./services/MarketingContentService.js\": [\n\t\t324,\n\t\t9,\n\t\t104\n\t],\n\t\"./services/OIDCService\": [\n\t\t413,\n\t\t7,\n\t\t105\n\t],\n\t\"./services/OIDCService.js\": [\n\t\t413,\n\t\t7,\n\t\t105\n\t],\n\t\"./services/OrderService\": [\n\t\t323,\n\t\t9,\n\t\t106\n\t],\n\t\"./services/OrderService.js\": [\n\t\t323,\n\t\t9,\n\t\t106\n\t],\n\t\"./services/PCBNetService\": [\n\t\t337,\n\t\t9,\n\t\t107\n\t],\n\t\"./services/PCBNetService.js\": [\n\t\t337,\n\t\t9,\n\t\t107\n\t],\n\t\"./services/PCBService\": [\n\t\t328,\n\t\t9,\n\t\t108\n\t],\n\t\"./services/PCBService.js\": [\n\t\t328,\n\t\t9,\n\t\t108\n\t],\n\t\"./services/PricingService\": [\n\t\t326,\n\t\t9,\n\t\t109\n\t],\n\t\"./services/PricingService.js\": [\n\t\t326,\n\t\t9,\n\t\t109\n\t],\n\t\"./services/QuotePriceService\": [\n\t\t338,\n\t\t9,\n\t\t110\n\t],\n\t\"./services/QuotePriceService.js\": [\n\t\t338,\n\t\t9,\n\t\t110\n\t],\n\t\"./services/RFQProcessStatusService\": [\n\t\t144,\n\t\t9\n\t],\n\t\"./services/RFQProcessStatusService.js\": [\n\t\t144,\n\t\t9\n\t],\n\t\"./services/ReportService\": [\n\t\t329,\n\t\t9,\n\t\t111\n\t],\n\t\"./services/ReportService.js\": [\n\t\t329,\n\t\t9,\n\t\t111\n\t],\n\t\"./services/RequestFormService\": [\n\t\t121,\n\t\t9\n\t],\n\t\"./services/RequestFormService.js\": [\n\t\t121,\n\t\t9\n\t],\n\t\"./services/RouteService\": [\n\t\t194,\n\t\t9\n\t],\n\t\"./services/RouteService.js\": [\n\t\t194,\n\t\t9\n\t],\n\t\"./services/SessionStorageService\": [\n\t\t44,\n\t\t9\n\t],\n\t\"./services/SessionStorageService.js\": [\n\t\t44,\n\t\t9\n\t],\n\t\"./services/ShippingMethodService\": [\n\t\t350,\n\t\t9,\n\t\t112\n\t],\n\t\"./services/ShippingMethodService.js\": [\n\t\t350,\n\t\t9,\n\t\t112\n\t],\n\t\"./services/SignalrService\": [\n\t\t196,\n\t\t9\n\t],\n\t\"./services/SignalrService.js\": [\n\t\t196,\n\t\t9\n\t],\n\t\"./services/SummaryService\": [\n\t\t335,\n\t\t9,\n\t\t113\n\t],\n\t\"./services/SummaryService.js\": [\n\t\t335,\n\t\t9,\n\t\t113\n\t],\n\t\"./services/UploadDocumentService\": [\n\t\t152,\n\t\t9\n\t],\n\t\"./services/UploadDocumentService.js\": [\n\t\t152,\n\t\t9\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(2).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__.t(id, ids[1])\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 129;\nmodule.exports = webpackAsyncContext;","import React, { useEffect, useState } from \"react\";\nimport Header from '../components/Header/Header';\nimport './RfqProcessLayout.css'\nimport { Container, Row, Col } from \"react-bootstrap\";\nimport RFQSteps from \"../components/Navigation/RFQSteps\";\nimport { connect } from \"react-redux\";\nimport { PrimaryButton } from \"../components/ControlComponents/InputButton/InputButton\";\nimport Swal from 'sweetalert2';\nimport { useHistory } from 'react-router-dom';\nimport { resetCompletedSteps } from '../redux/actions/CompletedStepActions';\nimport { clearJobType } from '../redux/actions/ClearJobType';\nimport NavigationBlocker from \"../components/CommonComponents/NavigationBlocker\";\nimport { JARGON_CONSTANT } from \"../constants/JargonConstant\";\nimport { CommonService } from \"../services/CommonService\";\nimport { clearStore } from \"../redux/actions\";\nimport { DATA_CONSTANT } from \"../constants/DataConstant\";\n\nconst RfqProcessLayout = ({ selectedJobType, completedSteps, isCustomQuoteRequires, children, reset }) => {\n const history = useHistory();\n\n const [navigationBlocked, setNavigationBlock] = useState(false);\n\n const [isButtonClicked, setIsButtonClicked] = useState(false);\n\n useEffect(() => {\n if (isButtonClicked) {\n setNavigationBlock(false);\n }\n }, [isButtonClicked]);\n\n const createQuoteConfirmation = () => {\n setIsButtonClicked(true);\n setNavigationBlock(true);\n Swal.fire({\n text: JARGON_CONSTANT.jargonObject.StartNewQuoteConfirmation,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: JARGON_CONSTANT.jargonObject.YesButton,\n cancelButtonText: JARGON_CONSTANT.jargonObject.NoButton,\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n if (selectedJobType) {\n selectedJobType.isAssemblyRequired = false;\n selectedJobType.isBomRequired = false;\n selectedJobType.isComponentsRequired = false;\n selectedJobType.isPcbRequired = false;\n selectedJobType.isValid = false;\n selectedJobType.jobType = [];\n selectedJobType.cqJobType = \"\";\n reset(selectedJobType);\n }\n history.push(CommonService.getRoutePath(\"\"));\n }\n })\n }\n return (\n
\n
\n
\n \n \n \n \n {(DATA_CONSTANT.IsAnyQuoteFeatureEnabled && !DATA_CONSTANT.IsPCBNetClient)?\n \n :
\n }\n {!selectedJobType?.isBomHealthQuote &&\n <>\n \n \n }\n \n \n {children}\n \n
\n
\n
\n
\n )\n};\n\nconst mapStateToProps = state => ({\n completedSteps: state.CompletedSteps ? state.CompletedSteps : [],\n selectedJobType: state.JobTypes?.selectedJobType,\n isCustomQuoteRequires: state.RFQDetails?.isCustomQuoteRequires\n});\n\nconst mapDispatchToProps = dispatch => ({\n reset: (selectedJobType) => {\n dispatch(clearStore());\n dispatch(resetCompletedSteps());\n dispatch(clearJobType(selectedJobType));\n }\n});\n\n\nexport default connect(mapStateToProps, mapDispatchToProps)(RfqProcessLayout);","import React, { useEffect } from 'react';\nimport { Route } from 'react-router-dom';\nimport { connect } from \"react-redux\";\n\nconst PublicRoutes = ({ component: Component, clientInfo, layout: Layout, ...props }) => {\n useEffect(() => {\n if (props.title) {\n document.title = `${props.title} | ${clientInfo.clientName}`;\n }\n });\n if (Layout) {\n return (\n \n \n \n \n \n )\n }\n return (\n \n \n \n )\n}\n\nconst mapStateToProps = (state) => ({\n clientInfo: state.Client\n});\n\nexport default connect(mapStateToProps)(PublicRoutes);","import React from 'react';\nimport { FaInfoCircle } from \"react-icons/fa\";\nimport { Tooltip, OverlayTrigger } from 'react-bootstrap';\nimport PropTypes from 'prop-types';\nimport { DATA_CONSTANT } from '../../../constants/DataConstant';\nimport './InputControl.css'\n\nconst InfoToolTip = ({\n helpText, // Displays information tooltip\n helpPlacement, // Placement for tooltip\n className, //Classname for tooltip\n ...props\n}) => {\n const style = {\n\n marginLeft: '0.5rem',\n cursor: 'pointer'\n };\n return (\n \n {helpText}\n \n }\n {...props}\n >\n \n \n )\n};\nInfoToolTip.defaultProps = {\n type: \"text\",\n className: \"\",\n helpPlacement: \"right\"\n}\nInfoToolTip.propTypes = {\n helpText: PropTypes.string.isRequired,\n helpPlacement: PropTypes.oneOf(DATA_CONSTANT.TooltipPlacement),\n}\nexport default InfoToolTip;\n\n","import React, { memo } from \"react\";\nimport { Prompt } from \"react-router-dom\";\nimport { JARGON_CONSTANT } from \"../../constants/JargonConstant\";\n\nconst NavigationBlocker = ({ navigationBlocked }) => {\n if (navigationBlocked) {\n window.onbeforeunload = () => true;\n }\n else {\n window.onbeforeunload = null;\n window.onunload = null;\n }\n\n return (\n navigationBlocked && \n )\n}\nexport default memo(NavigationBlocker);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { FormLabel, FormControl } from 'react-bootstrap';\nimport InfoToolTip from './InfoToolTip';\nimport { DATA_CONSTANT } from '../../../constants/DataConstant';\n\nconst InputTextArea = React.forwardRef(({\n id,\n name,\n value,\n onChange,\n rows,\n isRequired, // Displays * for required field\n errorMessage,\n label,\n helpText, // Displays information tooltip\n helpPlacement, // Placement for tooltip\n className, //Classname for tooltip\n ...props\n}, ref) => {\n\n return (\n <>\n {label && label.trim() &&\n <>\n {label} \n {isRequired && *}\n {helpText && helpText.trim() &&\n \n }\n \n }\n \n { errorMessage && errorMessage[name] && errorMessage[name].message &&\n \n {errorMessage[name].message}\n \n }\n \n )\n});\n\nInputTextArea.defaultProps = {\n rows: 2,\n className: \"\",\n}\n\nInputTextArea.propTypes = {\n name: PropTypes.string.isRequired,\n value: PropTypes.any,\n onChange: PropTypes.func,\n rows: PropTypes.number,\n helpText: PropTypes.string,\n placement: PropTypes.oneOf(DATA_CONSTANT.TooltipPlacement),\n className: PropTypes.string,\n}\n\n\nexport default InputTextArea;","import { CommonHttpService } from './CommonHttpService';\nimport { URL_CONSTANT } from '../constants/UrlConstant';\nimport { SessionStorageService } from './SessionStorageService';\n\nexport const RFQProcessStatusService = {\n\n getRFQSteps: (jobTypeName) => {\n let url = `${URL_CONSTANT.RFQProcessStatus.GetRFQSteps}`;\n let params = { jobType: jobTypeName };\n return CommonHttpService.httpGet(url, params);\n },\n saveCompletedStep: (assemblyId, stepName, isCompleted) => {\n let storeJson = JSON.parse(SessionStorageService.getSessionValue('persist:root'));\n let jobTypeName = JSON.parse(storeJson.JobTypes).selectedJobType.cqJobType;\n\n let data = {\n assemblyId: assemblyId,\n stepName: Array.isArray(stepName) ? stepName : [stepName],\n isCompleted: isCompleted,\n jobTypeName: jobTypeName\n };\n return CommonHttpService.httpPost(URL_CONSTANT.RFQProcessStatus.\n SaveCompletedStep, data);\n },\n getRFQStepsForConfiguration: () => {\n return CommonHttpService.httpGet(URL_CONSTANT.RFQProcessStatus.GetRFQStepsForConfiguration);\n },\n\n updateRFQSteps: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.RFQProcessStatus.UpdateRFQSteps, data);\n },\n getRFQProcessStatus: (assemblyId, jobTypeName) => {\n let url = `${URL_CONSTANT.RFQProcessStatus.GetRFQProcessStatus}`;\n let params = { assemblyId: assemblyId, jobType: jobTypeName };\n return CommonHttpService.httpGet(url, params);\n }\n}","import { CLEAR_STORE } from \"../../constants/ActionConstants\";\n\nexport const clearStore = () => ({\n type: CLEAR_STORE,\n data: {}\n});","import { DocumentService } from \"./DocumentService\";\nimport { trackPromise } from \"react-promise-tracker\";\n\nexport const UploadDocumentService = {\n uploadDocuments: (assemblyId, rfqAcceptedFiles) => new Promise((resolve, reject) => {\n DocumentService.generatePreSignedUrl(rfqAcceptedFiles.length).then((preSignedUrls) => {\n for (let i = 0; i < preSignedUrls.presignedURLResponses.length; i++) {\n preSignedUrls.presignedURLResponses[i].file = rfqAcceptedFiles[i];\n preSignedUrls.presignedURLResponses[i].documentName = rfqAcceptedFiles[i].name;\n preSignedUrls.presignedURLResponses[i].contentLength = rfqAcceptedFiles[i].size;\n preSignedUrls.presignedURLResponses[i].filetype = rfqAcceptedFiles[i].filetype;\n }\n DocumentService.uploadFilesToS3(preSignedUrls.presignedURLResponses).then((uploadDocResponse) => {\n const errors = uploadDocResponse.filter((response) => !response.ok);\n if (errors.length === 0) {\n let requestDoc = {\n assemblyId: assemblyId,\n documents: preSignedUrls.presignedURLResponses\n }\n trackPromise(DocumentService.insertDocuments(requestDoc).then((data) => {\n resolve(errors);\n }));\n }\n else {\n reject(errors);\n }\n });\n });\n })\n}","import { SELECT_JOBTYPE } from '../../constants/ActionConstants';\n\nexport const selectJobType = (jobType) => ({\n type: SELECT_JOBTYPE,\n data: { jobType: jobType }\n});","import React from 'react';\n\nexport const LoadingWrapper = (props) => {\n return (\n
\n {props.children}\n
\n )\n};","import React, { useCallback, useState, useEffect, forwardRef, useImperativeHandle } from \"react\";\nimport { useDropzone } from \"react-dropzone\";\nimport PropTypes from \"prop-types\";\nimport { Container, Button, Row, Col } from \"react-bootstrap\";\nimport { RemoveButton } from \"./InputButton/InputButton\";\nimport { DATA_CONSTANT } from \"../../constants/DataConstant\";\nimport { MESSAGE_CONSTANT } from \"../../constants/MessageConstant\";\nimport { JARGON_CONSTANT } from \"../../constants/JargonConstant\";\nimport { CommonService } from \"../../services/CommonService\";\n\nconst DocumentUploader = forwardRef(({ maxNumberOfFiles, mergedAcceptedFiles, displayFiles, allowedFileTypes, handleFiles, isFileUploadOnDrop }, ref) => {\n let uplodedFiles = mergedAcceptedFiles.length > 0 ? mergedAcceptedFiles : [];\n const [documentFile, setDocumentFile] = useState({ acceptedFiles: uplodedFiles, rejectedFiles: [], isTooManyFiles: false })\n const onDrop = useCallback((newAcceptedFiles, newRejectedFiles) => {\n let totalFiles = 0;\n let filterUploadedFiles = [];\n let uniqueAcceptedFiles = [\n ...new Set(newAcceptedFiles.map((obj) => obj.name)),\n ].map((name) => {\n return newAcceptedFiles.find((obj) => obj.name === name);\n });\n let uniqueRejectedFiles = [\n ...new Set(newRejectedFiles.map((obj) => obj.file.name)),\n ].map((name) => {\n return newRejectedFiles.find((obj) => obj.file.name === name);\n });\n if (isFileUploadOnDrop) {\n filterUploadedFiles = uniqueAcceptedFiles.filter(function (acceptedFile) {\n return !mergedAcceptedFiles.find(function (mergedFile) {\n return acceptedFile.name === mergedFile.name\n })\n })\n } else {\n filterUploadedFiles = [...documentFile.acceptedFiles, ...uniqueAcceptedFiles];\n }\n let uniqueMergeFiles = [\n ...new Set(filterUploadedFiles.map((obj) => obj.name)),\n ].map((name) => {\n return filterUploadedFiles.find((obj) => obj.file?.name === name || obj.name === name);\n });\n\n let mergeRejectedFiles = [...documentFile.rejectedFiles, ...uniqueRejectedFiles];\n\n let uniqueMergeRejectedFiles = [\n ...new Set(mergeRejectedFiles.map((obj) => obj.file.name || obj.name)),\n ].map((name) => {\n return mergeRejectedFiles.find((obj) => obj.file?.name === name || obj.name === name);\n });\n\n if (isFileUploadOnDrop) {\n totalFiles = (maxNumberOfFiles - (mergedAcceptedFiles.length + uniqueMergeFiles.length))\n } else {\n totalFiles = (maxNumberOfFiles - uniqueMergeFiles.length)\n }\n\n if (totalFiles > -1 && mergeRejectedFiles.length < maxNumberOfFiles) {\n setDocumentFile({ acceptedFiles: uniqueMergeFiles, rejectedFiles: uniqueMergeRejectedFiles, isTooManyFiles: false })\n } else {\n setDocumentFile({ ...documentFile, isTooManyFiles: true })\n }\n },\n [documentFile.acceptedFiles, documentFile.rejectedFiles]\n );\n\n const { getRootProps, getInputProps, open } = useDropzone({\n noClick: true,\n noKeyboard: true,\n accept: allowedFileTypes,\n onDrop,\n maxFiles: maxNumberOfFiles,\n maxSize: DATA_CONSTANT.maxFileSize,\n minSize: 1\n });\n\n useEffect(() => {\n if (handleFiles) {\n handleFiles(documentFile);\n }\n }, [documentFile]);\n\n const removeFile = (name) => {\n let files = { ...documentFile };\n let removeFileIndex = files.acceptedFiles.findIndex((e) => e.name === name);\n files.acceptedFiles.splice(removeFileIndex, 1);\n files.isTooManyFiles = false;\n setDocumentFile(files);\n };\n\n const removeAllUnsupportedFiles = () => {\n setDocumentFile({ ...documentFile, rejectedFiles: [] });\n };\n\n useImperativeHandle(ref, () => ({\n handleRemoveFile(name) {\n removeFile(name);\n },\n handleRemoveAllFile() {\n removeAllUnsupportedFiles();\n },\n }));\n\n const acceptedFilesView = documentFile.acceptedFiles && documentFile.acceptedFiles.map((file, index) => (\n \n \n {file.path} - {file.size} bytes\n \n \n removeFile(file.name)} />\n \n \n ));\n\n const rejectedFilesView = documentFile.rejectedFiles && documentFile.rejectedFiles.map(({ file, errors }, index) => (\n \n \n
  • \n {file.path} - {file.size} bytes\n
      \n {errors.map((e) => (\n
    • {e.message}
    • \n ))}\n
    \n
  • \n \n
    \n ));\n\n return (\n \n \n \n
    \n
    \n \n
    \n \n {CommonService.getJargonValue(JARGON_CONSTANT.keys.FileImportMessage1)}\n \n \n {CommonService.getJargonValue(JARGON_CONSTANT.keys.FileImportMessage2)}\n \n
    \n \n
    ({CommonService.getJargonValue(JARGON_CONSTANT.keys.MaxFileUploadMessage).toString().formatGeneric(maxNumberOfFiles)})
    \n
    \n
    \n \n
    \n {displayFiles === true && (\n \n \n \n \n {acceptedFilesView.length > 0 && (\n \n \n

    Attached files

    \n \n
    \n )}\n {acceptedFilesView}\n \n
    \n \n \n {rejectedFilesView.length > 0 && !documentFile.isTooManyFiles && (\n <>\n \n \n

    Rejected files

    \n \n \n removeAllUnsupportedFiles()}\n />\n \n
    \n {rejectedFilesView}\n \n )}\n\n {documentFile.isTooManyFiles && (\n
    {`${JARGON_CONSTANT.jargonObject.MaxFilesValidationMessage} ${maxNumberOfFiles}`}
    \n )}\n \n
    \n \n
    \n )}\n
    \n );\n});\n\nDocumentUploader.defaultProps = {\n displayFiles: false,\n isFileUploadOnDrop: false,\n maxNumberOfFiles: DATA_CONSTANT.maxNumberOfFiles\n};\n\nDocumentUploader.propTypes = {\n displayFiles: PropTypes.bool,\n isFileUploadOnDrop: PropTypes.bool,\n allowedFileTypes: PropTypes.array.isRequired,\n handleFiles: PropTypes.func.isRequired,\n maxNumberOfFiles: PropTypes.number\n};\n\nexport default DocumentUploader;","import { SET_DEFAULT_CONFIGS } from '../../constants/ActionConstants';\n\nexport const setDefaultConfigs = (defaultConfigs) => ({\n type: SET_DEFAULT_CONFIGS,\n data: { defaultConfigs: defaultConfigs }\n});","import { SET_BOM_FILES } from '../../constants/ActionConstants';\n\nexport const setBomFile = (file) => ({\n type: SET_BOM_FILES,\n data: { bomFile: file }\n});","import { CommonHttpService } from './CommonHttpService';\nimport { URL_CONSTANT } from '../constants/UrlConstant';\n\nexport const JargonService = {\n GetJargonList: () => {\n return CommonHttpService.httpGet(URL_CONSTANT.GetJargonList);\n },\n GetJargonListFromConfigurations: () => {\n return CommonHttpService.httpGet(URL_CONSTANT.GetJargonListFromConfigurations);\n },\n SaveUpdatedData: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.SaveUpdatedData, data);\n }\n}","import React, { useEffect, useState } from \"react\";\nimport { LoadingSpiner } from \"./components/CommonComponents/LoadingSpiner\";\nimport { DATA_CONSTANT } from \"./constants/DataConstant\";\nimport { URL_CONSTANT } from \"./constants/UrlConstant\";\nimport \"./global.style.css\";\nimport Extension from './prototype/Extensions';\nimport Routes from \"./Routes\";\nimport { CommonHttpService } from \"./services/CommonHttpService\";\nimport { connect } from \"react-redux\";\nimport { setClientName } from './redux/actions/index';\nimport { OIDCService } from \"./constants/UserManager\";\nimport { JargonService } from './services/JargonService';\nimport { JARGON_CONSTANT } from './constants/JargonConstant';\nimport LogRocket from 'logrocket';\nimport setupLogRocketReact from \"logrocket-react\";\nimport usePageViews from \"../src/CustomHooks/GoogleAnalytics/UsePageViews\";\n\nconst App = ({ onClientLoad }) => {\n Extension();\n\n const [isUserLoaded, setIsUserLoaded] = useState(false);\n const [isLoaded, setIsLoaded] = useState(false);\n\n usePageViews();\n\n useEffect(() => {\n\n fetchData();\n\n }, []);\n\n const fetchData = async () => {\n let user = await checkUserLoggedIn();\n getConfiguration(user);\n setImportWidgetUrl();\n getJargonList();\n getFeatures();\n }\n\n const checkUserLoggedIn = async () => {\n let user = null;\n await OIDCService.loadUser().then(function (userData) {\n user = userData;\n setIsUserLoaded(true);\n }).catch(function () { setIsUserLoaded(true); });\n return user;\n };\n\n const getFeatures = async () => {\n let configKeys = [DATA_CONSTANT.ConfigurationKey.IsBomAnalysisEnabled, DATA_CONSTANT.ConfigurationKey.IsGetAQuoteEnabled,\n DATA_CONSTANT.ConfigurationKey.IsQuickPriceEnabled, DATA_CONSTANT.ConfigurationKey.IsBOMHealthEnabled];\n await CommonHttpService.httpPost(URL_CONSTANT.Configuration.GetConfigurations, configKeys).then((data) => {\n if (data && (data.length > 0)) {\n DATA_CONSTANT.IsAnyQuoteFeatureEnabled = data.some(x => x.value.toLowerCase() == 'true');\n DATA_CONSTANT.QuoteFeatures = data;\n }\n });\n }\n\n const getJargonList = async () => {\n await JargonService.GetJargonList().then((data) => {\n if (data) {\n JARGON_CONSTANT.jargonValues = data.jargonList;\n let jargonObject = {};\n data.jargonList.forEach((elem, i) => {\n jargonObject[elem.label] = elem.displayValue;\n });\n JARGON_CONSTANT.jargonObject = jargonObject;\n setIsLoaded(true);\n }\n })\n }\n\n const getConfiguration = (user) => {\n let intercomAppId = DATA_CONSTANT.ConfigurationKey.IntercomAppId;\n let tagId = DATA_CONSTANT.ConfigurationKey.GoogleAnalyticsTagId;\n let clientName = DATA_CONSTANT.ConfigurationKey.ClientName;\n let themeName = DATA_CONSTANT.ConfigurationKey.ThemeName;\n let logRocketAppIdKey = DATA_CONSTANT.ConfigurationKey.LogRocketAppId;\n let isLogRocketEnabledKey = DATA_CONSTANT.ConfigurationKey.IsLogRocketEnabled;\n let isBOMHealthEnabledKey = DATA_CONSTANT.ConfigurationKey.IsBOMHealthEnabled;\n\n const configKeys = [DATA_CONSTANT.ConfigurationKey.HubSpotAppId, intercomAppId, tagId, clientName, themeName, isLogRocketEnabledKey, logRocketAppIdKey, isBOMHealthEnabledKey];\n\n CommonHttpService.httpPost(URL_CONSTANT.Configuration.GetConfigurations, configKeys)\n .then((data) => {\n if (data && (data.length > 0)) {\n\n data.map((val) => {\n\n if (!val.value) {\n return false;\n }\n\n if (val.key === themeName) {\n let clientTheme = val.value;\n let doc = document;\n let basePath = process.env.PUBLIC_URL\n let clientCssUrl = `${basePath}/themes/${clientTheme}.css`;\n let clientFaviconUrl = `${basePath}/favicon/${clientTheme}.png`;\n let themeLink = doc.createElement(\"link\");\n themeLink.href = clientCssUrl;\n themeLink.rel = 'stylesheet';\n themeLink.type = 'text/css';\n doc.getElementsByTagName(\"head\")[0].appendChild(themeLink);\n doc.documentElement.setAttribute('data-theme', clientTheme);\n doc.querySelector(`link[rel=\"shortcut icon\"]`).href = clientFaviconUrl;\n } else if (val.key === clientName) {\n onClientLoad(val.value);\n }\n else if (val.key === intercomAppId) {\n window.intercomSettings = {\n app_id: val.value\n };\n const d = document;\n const s = d.createElement(\"script\");\n s.innerHTML = `(function()\n {\n var w=window;\n var ic=w.Intercom;\n if(typeof ic===\"function\"){\n ic('reattach_activator');\n ic('update',w.intercomSettings);\n }else{\n var d=document;\n var i=function(){\n i.c(arguments);\n };\n i.q=[];\n i.c=function(args){\n i.q.push(args);\n };\n w.Intercom=i;\n var l=function(){\n var s=d.createElement('script');\n s.type='text/javascript';\n s.async=true;\n s.src='https://widget.intercom.io/widget/${val.value}';\n var x=d.getElementsByTagName('script')[0];\n x.parentNode.insertBefore(s,x);\n };\n if(w.attachEvent){w.attachEvent('onload',l);\n }else{\n w.addEventListener('load',l,false);}\n }\n l();\n })();`;\n d.getElementsByTagName(\"head\")[0].appendChild(s);\n } else if (val.key === tagId) {\n const doc = document;\n const managerscript = doc.createElement(\"script\");\n managerscript.src = \"https://www.googletagmanager.com/gtag/js?id=\" + val.value;\n managerscript.async = true;\n doc.getElementsByTagName(\"head\")[0].appendChild(managerscript);\n const gtag = doc.createElement(\"script\");\n gtag.innerHTML = `window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);};\n gtag('js', new Date());\n gtag('config', '${val.value}');`;\n gtag.type = 'text/javascript';\n gtag.async = true;\n doc.getElementsByTagName(\"head\")[0].appendChild(gtag);\n\n DATA_CONSTANT.IsGoogleAnalyticsEnabled = true;\n\n }\n else if (val.key === isLogRocketEnabledKey && val.value === 'true') {\n\n var logRocketAppId = data.find(x => x.key == logRocketAppIdKey)?.value\n if (logRocketAppId) {\n LogRocket.init(logRocketAppId);\n if (user && user.profile) {\n LogRocket.identify(user.profile.sub, {\n name: `${user.profile.FirstName} ${user.profile.LastName}`,\n email: user.profile.Email\n });\n }\n setupLogRocketReact(LogRocket);\n\n }\n }\n else if (val.key === isBOMHealthEnabledKey && val.value === 'true') {\n\n const bomHealthWidgetUrl = window.$config.bomHealthWidgetUrl;\n const link = document.createElement('link');\n link.rel = \"stylesheet\";\n link.type = \"text/css\";\n link.href = `${bomHealthWidgetUrl}/widget.css`;\n document.body.appendChild(link);\n\n const script = document.createElement('script');\n script.src = `${bomHealthWidgetUrl}/widget.js`;\n script.id = 'BomHealthWidgetScript';\n document.body.appendChild(script);\n }\n else if (val.key === DATA_CONSTANT.ConfigurationKey.HubSpotAppId) {\n\n var hsChatScript = document.createElement('script');\n hsChatScript.type = 'text/javascript';\n hsChatScript.id = \"hs-script-loader\";\n hsChatScript.async = true;\n hsChatScript.defer = true;\n hsChatScript.src = '//js.hs-scripts.com/' + val.value + '.js';\n document.body.appendChild(hsChatScript);\n\n setTimeout(() => {\n bootHubSpotChat(user);\n }, 2000)\n }\n });\n }\n })\n .catch((error) => {\n console.log(error);\n });\n };\n\n const setImportWidgetUrl = () => {\n const importWidgetUrl = window.$config.smartImportWidgetUrl ? window.$config.smartImportWidgetUrl : window.$config.importWidgetUrl;\n document.getElementById('scriptImportWidgetUrl').src = `${importWidgetUrl}/widget.js`;\n }\n\n const bootHubSpotChat = (user) => {\n\n if (window._hsq) {\n\n if (user?.profile) {\n window._hsq.push([\n \"identify\",\n {\n email: user.profile.Email,\n firstName: user.profile.FirstName,\n lastName: user.profile.LastName,\n },\n ]);\n }\n\n window._hsq.push([\"trackPageView\"]);\n }\n\n if (window.HubSpotConversations) {\n onHubSpotConversationsAPIReady();\n } else {\n window.hsConversationsOnReady = [onHubSpotConversationsAPIReady];\n }\n }\n\n const onHubSpotConversationsAPIReady = () => {\n const status = window.HubSpotConversations.widget.status();\n if (status.loaded) {\n window.HubSpotConversations.widget.refresh();\n } else {\n window.HubSpotConversations.widget.load();\n }\n }\n\n return (\n <>\n {\n isUserLoaded && isLoaded ? (\n \n ) : null\n }\n \n \n );\n};\n\nconst mapDispatchToProps = (dispatch) => ({\n onClientLoad: (clientName) => dispatch(setClientName(clientName))\n})\n\nexport default connect(null, mapDispatchToProps)(App);\n","import { SELECT_JOBTYPE, CLEAR_JOBTYPES } from '../../constants/ActionConstants';\n\nconst InitialState = {};\nexport const JobTypes = (state = InitialState, action) => {\n const { type, data } = action;\n\n switch (type) {\n case SELECT_JOBTYPE:\n return { ...state, selectedJobType: data.jobType};\n case CLEAR_JOBTYPES:\n return {\n ...state, selectedJobType:data.jobType\n };\n default:\n return state;\n }\n}","import { CLEAR_STORE, SET_DEFAULT_CONFIGS } from '../../constants/ActionConstants';\n\nconst InitialState = {};\n\nexport const DefaultConfigs = (state = InitialState, action) => {\n const { type, data } = action;\n\n switch (type) {\n case SET_DEFAULT_CONFIGS:\n return { ...state, defaultConfigs: data.defaultConfigs };\n case CLEAR_STORE:\n return InitialState;\n default:\n return state;\n }\n}","import { CLEAR_STORE, SET_BOMID, SET_IS_CUSTOMQUOTE_REQUIRES, SET_RFQ_DETAILS, SET_EXTERNAL_USERID } from '../../constants/ActionConstants';\n\nconst InitialState = {};\nexport const RFQDetails = (state = InitialState, action) => {\n const { type, data } = action;\n\n switch (type) {\n case SET_RFQ_DETAILS:\n return { ...state, rfqDetails: data.rfqDetails };\n case SET_BOMID:\n return { ...state, bomId: data.bomId };\n case SET_IS_CUSTOMQUOTE_REQUIRES:\n return { ...state, isCustomQuoteRequires: data.isCustomQuoteRequires };\n case SET_EXTERNAL_USERID:\n return { ...state, externalUserId: data.externalUserId };\n case CLEAR_STORE:\n return InitialState;\n default:\n return state;\n }\n}","import { RESET_COMPLETED_STEPS, SET_ALL_COMPLETED_STEPS, SET_COMPLETED_STEPS } from '../../constants/ActionConstants';\nimport { first } from 'underscore';\n\nconst InitialState = [];\nexport const CompletedSteps = (state = InitialState, action) => {\n const { type, data } = action;\n\n switch (type) {\n case SET_COMPLETED_STEPS:\n let stateData = [...state];\n let stepIndex = stateData.indexOf(data.stepName);\n if (stepIndex < 0) {\n stateData.push(data.stepName);\n } else {\n stateData = first(stateData, stepIndex + 1);\n }\n return stateData;\n case RESET_COMPLETED_STEPS:\n return InitialState;\n case SET_ALL_COMPLETED_STEPS:\n return data;\n default:\n return state;\n }\n}","import { CLEAR_STORE, SET_BOM_FILES } from '../../constants/ActionConstants';\n\nconst InitialState = {};\nexport const BomFile = (state = InitialState, action) => {\n const { type, data } = action;\n\n switch (type) {\n case SET_BOM_FILES:\n return { ...state, bomFile: data.bomFile };\n case CLEAR_STORE:\n return InitialState;\n default:\n return state;\n }\n}","import { SET_CLIENT_NAME, SET_CLIENT_CODE } from '../../constants/ActionConstants';\n\nconst InitialState = {};\nexport const Client = (state = InitialState, action) => {\n const { type, data } = action;\n\n switch (type) {\n case SET_CLIENT_NAME:\n return { ...state, clientName: data.clientName };\n case SET_CLIENT_CODE:\n return { ...state, clientCode: data.clientCode };\n default:\n return state;\n }\n}","import { CLEAR_STORE, SET_PCBNET_QUOTE_DETAILS } from '../../constants/ActionConstants';\n\nconst InitialState = {};\nexport const PCBNetQuoteDetails = (state = InitialState, action) => {\n const { type, data } = action;\n\n switch (type) {\n case SET_PCBNET_QUOTE_DETAILS:\n return { ...state, pcbNetQuoteDetails: data.pcbNetQuoteDetails };\n case CLEAR_STORE:\n return InitialState;\n default:\n return state;\n }\n}","import { SET_PCBNET_QUOTE_DETAILS } from '../../constants/ActionConstants';\n\nexport const setPCBNetQuoteDetails = (pcbNetQuoteDetails) => ({\n type: SET_PCBNET_QUOTE_DETAILS,\n data: { pcbNetQuoteDetails: pcbNetQuoteDetails }\n});\n","// In production, we register a service worker to serve assets from local cache.\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 the \"N+1\" visit to a page, since previously\n// cached resources are updated in the background.\n\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\n// This link also includes instructions on opting out of this behavior.\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 default function register () {\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/facebookincubator/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. Lets check if a service worker still exists or not.\n checkValidServiceWorker(swUrl);\n } else {\n // Is not local host. Just register service worker\n registerValidSW(swUrl);\n }\n });\n }\n}\n\nfunction registerValidSW (swUrl) {\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 old content will have been purged and\n // the fresh content will have been added to the cache.\n // It's the perfect time to display a \"New content is\n // available; please refresh.\" message in your web app.\n console.log('New content is available; please refresh.');\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 }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker (swUrl) {\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);\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, { useState, useEffect } from \"react\";\nimport packageJson from \"../package.json\";\nimport moment from \"moment\";\n\nconst buildDateGreaterThan = (latestDate, currentDate) => {\n const momLatestDateTime = moment(latestDate);\n const momCurrentDateTime = moment(currentDate);\n\n if (momLatestDateTime.isAfter(momCurrentDateTime)) {\n return true;\n } else {\n return false;\n }\n};\n\nfunction withClearCache(Component) {\n function ClearCacheComponent(props) {\n const [isLatestBuildDate, setIsLatestBuildDate] = useState(false);\n\n let metadataFileName = 'metadata.json?v=' + (moment().format('DDMMYYYYHHmmss'));\n\n useEffect(() => {\n fetch(metadataFileName)\n .then((response) => response.json())\n .then((meta) => {\n const latestVersionDate = meta.buildDate;\n const currentVersionDate = packageJson.buildDate;\n\n const shouldForceRefresh = buildDateGreaterThan(\n latestVersionDate,\n currentVersionDate\n );\n if (shouldForceRefresh) {\n setIsLatestBuildDate(false);\n refreshCacheAndReload();\n } else {\n setIsLatestBuildDate(true);\n }\n });\n }, []);\n\n const refreshCacheAndReload = () => {\n if (caches) {\n // Service worker cache should be cleared with caches.delete()\n caches.keys().then((names) => {\n for (const name of names) {\n caches.delete(name);\n }\n });\n }\n // delete browser cache and hard reload\n window.location.reload(true);\n };\n\n return (\n \n {isLatestBuildDate ? : null}\n \n );\n }\n\n return ClearCacheComponent;\n}\n\nexport default withClearCache;","import React, { useState, useEffect } from \"react\";\nimport { BrowserRouter } from \"react-router-dom\";\nimport App from \"./App\";\nimport { Provider as ReduxProvider } from \"react-redux\";\nimport { configureStore } from \"./redux/store\";\nimport { persistStore } from \"redux-persist\";\nimport { PersistGate } from \"redux-persist/integration/react\";\nimport { OidcProvider } from \"redux-oidc\";\nimport { initializeUserManager } from \"./constants/UserManager\";\nimport { SignalrProvider } from './services/SignalrService';\nimport { ConfigurationService } from \"./services/ConfigurationService\";\nimport Swal from \"sweetalert2\";\nimport { DATA_CONSTANT } from './constants/DataConstant';\nimport { MESSAGE_CONSTANT } from './constants/MessageConstant';\n\nconst MainComponent = (props) => {\n\n const [isLoaded, setIsLoaded] = useState(false);\n\n const baseUrl = document.getElementsByTagName(\"base\")[0].getAttribute(\"href\");\n const store = configureStore();\n const persistor = persistStore(store);\n let clientCode = window.location.pathname.split(\"/\")[1];\n\n useEffect(() => {\n ConfigurationService.isClientExist(clientCode).then((data) => {\n if (data && data.isExists) {\n DATA_CONSTANT.ClientCode = data.clientCode;\n DATA_CONSTANT.IsCustomDomainClient = data.isCustomDomainClient;\n getApplicationConfigurations();\n DATA_CONSTANT.IsPCBNetClient = data.isPCBNetClient;\n }\n else {\n showInvalidURLAlert();\n }\n });\n }, []);\n\n const showInvalidURLAlert = () => {\n Swal.fire({\n html: `${MESSAGE_CONSTANT.invalidURLMessage.messageTitle}
    ${MESSAGE_CONSTANT.invalidURLMessage.messageContent}`,\n icon: 'warning',\n showConfirmButton: false,\n allowOutsideClick: false\n }).then((result) => {\n\n });\n }\n\n const getApplicationConfigurations = async () => {\n await ConfigurationService.getApplicationConfigurations()\n .then(configData => {\n window.$config = configData.config;\n SignalrProvider.initializeConnection();\n setIsLoaded(true);\n });\n }\n\n if (isLoaded) {\n let userManager = initializeUserManager(window.$config);\n return (\n \n \n \n \n \n \n \n \n\n \n );\n }\n\n return (\n
    \n

    Application is loading...

    \n
    \n );\n}\n\nexport default MainComponent;","const Extensions = () => {\n if (!String.prototype.formatGeneric) {\n String.prototype.formatGeneric = function () {\n var args = arguments;\n return this.replace(/{(\\d+)}/g, function (match, number) {\n return typeof args[number] !== 'undefined'\n ? args[number]\n : match\n ;\n });\n };\n }\n}\n\nexport default Extensions;\n","import React from \"react\";\nimport Header from '../components/Header/Header';\nimport ConfigurationSideMenu from \"../components/ConfigurationSideMenu/ConfigurationSideMenu\";\n\nconst ConfigurationsLayout = ({ children }) => {\n return (\n
    \n
    \n
    \n \n
    \n {children}\n
    \n
    \n
    \n )\n};\n\nexport default ConfigurationsLayout;\n","import React from 'react';\nimport { DATA_CONSTANT } from '../../constants/DataConstant';\nimport './Logo.css'\n\nconst Logo = () => (\n \n
    \n
    \n);\n\nexport default Logo","import React, { useState, useRef, useEffect, useContext } from \"react\";\nimport { Overlay, Popover, Dropdown } from 'react-bootstrap';\nimport { AiOutlineFileAdd } from \"react-icons/ai\";\nimport DocumentUploaderWithModal from \"../DocumentUploaderWithModal/DocumentUploaderWithModal\";\nimport { connect } from \"react-redux\";\nimport \"./TopNavMenu.css\";\nimport { useLocation } from \"react-router-dom\";\nimport { DATA_CONSTANT } from \"../../constants/DataConstant\";\nimport HeaderToggleButton from '../Header/HeaderToggleButton';\nimport { useHistory } from \"react-router-dom\";\nimport { SessionStorageService } from \"../../services/SessionStorageService\";\nimport { OIDCService } from '../../constants/UserManager';\nimport Swal from 'sweetalert2';\nimport { RouteDataContext } from \"../../Routes\";\nimport { CommonService } from \"../../services/CommonService\";\nimport { JARGON_CONSTANT } from \"../../constants/JargonConstant\";\nimport { BsChatDots } from \"react-icons/bs\";\nimport AssemblyChat from \"../AssemblyChat/AssemblyChat\";\nimport { AssemblyChatService } from \"../../services/AssemblyChatService\";\n\nconst TopNavMenu = ({ rfqDetails }) => {\n const [show, setShow] = useState(false);\n const [target, setTarget] = useState(null);\n const [showChat, setShowChat] = useState(false);\n const [chatTarget, setChatTarget] = useState(null);\n const [isUserLoggedIn, setIsUserLoggedIn] = useState(false);\n const [unreadMessagesCount, setUnreadMessagesCount] = useState(0);\n\n const history = useHistory();\n const ref = useRef(null);\n\n const location = useLocation();\n const handleMenuIcons = (event) => {\n setShow(!show);\n if (!target)\n setTarget(event.target);\n };\n\n const handleChatIconClick = (event) => {\n setUnreadMessagesCount(0);\n setShowChat(!showChat);\n if (!chatTarget && event)\n setChatTarget(event.target);\n };\n\n const routeData = useContext(RouteDataContext);\n const currRoute = routeData.find(function (route) { return route.RouteUrl == location.pathname });\n\n const isDocumentUploadVisible = (currRoute && currRoute.AllowDocumentUpload && rfqDetails?.assemblyId > 0 && !rfqDetails?.isCloneApplied && !rfqDetails?.isViewMode);\n const isAssemblyChatVisible = isUserLoggedIn && currRoute && currRoute.AllowAssemblyDiscussion && rfqDetails?.assemblyId > 0 && !rfqDetails?.isCloneApplied;\n\n useEffect(() => {\n checkUser();\n }, []);\n\n const userSignIn = () => {\n OIDCService.login();\n }\n\n const userSignOut = () => {\n OIDCService.logout();\n }\n\n const getUnreadMessageCount = (user) => {\n if (currRoute && currRoute.AllowAssemblyDiscussion && rfqDetails?.assemblyId > 0) {\n\n let requestObject = {\n ChatNotesIds: [rfqDetails?.assemblyId],\n ChatNotesType: 'Assembly',\n LoginUserEmail: user?.profile?.Email,\n IsExternal: true\n }\n\n AssemblyChatService.getUnreadMessageCount(requestObject).then((unreadMessageCountResponse) => {\n\n if (unreadMessageCountResponse?.data?.length > 0) {\n setUnreadMessagesCount(unreadMessageCountResponse.data[0].unreadCount);\n }\n });\n\n }\n }\n\n const checkUser = async () => {\n let user = OIDCService.getUser();\n if (user != null) {\n let hasUserAccessRight = OIDCService.hasUserAccessRights();\n let hasEmailConfirmed = OIDCService.isEmailConfirmed();\n if (hasEmailConfirmed == false && !window.location.pathname.includes('emailActivationPending')) {\n let postLoginRoute = SessionStorageService.getPostLoginUrl();\n if (!postLoginRoute) {\n SessionStorageService.setPostLoginUrl(window.location.pathname);\n }\n history.push(CommonService.getRoutePath(DATA_CONSTANT.routes.emailActivationPending));\n }\n if (hasUserAccessRight) {\n setIsUserLoggedIn(true);\n getUnreadMessageCount(user);\n }\n else {\n history.push(CommonService.getRoutePath(DATA_CONSTANT.routes.error), 401);\n }\n }\n }\n\n const handleShow = () => {\n Swal.fire({\n text: JARGON_CONSTANT.jargonObject.LogoutConfirmation,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: DATA_CONSTANT.OrangeColor,\n cancelButtonColor: DATA_CONSTANT.BlueColor,\n confirmButtonText: JARGON_CONSTANT.jargonObject.LogoutLinkText,\n cancelButtonText: JARGON_CONSTANT.jargonObject.CancelButton,\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n userSignOut();\n }\n })\n };\n\n const handleQuoteHistory = () => {\n history.push(CommonService.getRoutePath(DATA_CONSTANT.routes.quoteHistory));\n }\n\n return (\n <>\n\n\n {isDocumentUploadVisible &&\n \n }\n setShow(!show)}\n container={ref.current}\n containerPadding={40}\n placement=\"bottom\"\n >\n \n \n \n \n \n \n\n {\n isAssemblyChatVisible &&\n
    \n {\n unreadMessagesCount > 0 && \n }\n\n \n setShowChat(!showChat)}\n container={ref.current}\n containerPadding={40}\n placement=\"bottom\"\n >\n \n \n \n \n \n \n
    \n }\n\n
    \n \n \n \n \n {!isUserLoggedIn &&\n userSignIn()} >{JARGON_CONSTANT.jargonObject.LoginLinkText}\n }\n {isUserLoggedIn && <>\n {DATA_CONSTANT.IsAnyQuoteFeatureEnabled && handleQuoteHistory()} >{JARGON_CONSTANT.jargonObject.QuoteHistoryLinkText}}\n handleShow()} >{JARGON_CONSTANT.jargonObject.LogoutLinkText}\n \n }\n \n \n
    \n \n );\n};\n\nconst mapStateToProps = (state) => ({\n rfqDetails: state.RFQDetails?.rfqDetails\n});\n\nexport default connect(mapStateToProps)(TopNavMenu);","import React, { useState, useEffect, useRef } from \"react\";\nimport { Container, Row, Col } from \"react-bootstrap\";\nimport { trackPromise } from \"react-promise-tracker\";\nimport { connect } from \"react-redux\";\nimport { RequestFormService } from \"../../services/RequestFormService\";\nimport { ConfigurationService } from \"../../services/ConfigurationService\";\nimport DocumentUploader from \"../../components/ControlComponents/DocumentUploader\";\nimport { RemoveButton } from \"../../components/ControlComponents/InputButton/InputButton\";\nimport { MdCancel } from \"react-icons/md\";\nimport { DATA_CONSTANT } from \"../../constants/DataConstant\";\nimport { CommonService } from \"../../services/CommonService\";\nimport './DocumentUploaderWithModal.css';\nimport Swal from 'sweetalert2';\nimport { UploadDocumentService } from \"../../services/UploadDocumentService\";\nimport { JARGON_CONSTANT } from \"../../constants/JargonConstant\";\n\nconst DocumentUploaderWithModal = ({ assemblyId, salesPersonId, showUpload }) => {\n const [rejectedFiles, setRejectedFiles] = useState([]);\n const allowedFileTypes = DATA_CONSTANT.allowedFileTypes;\n\n const [assemblyDocumentState, setAssemblyDocumentState] = useState({\n uploadedFiles: [],\n maxAllowFile: 0,\n isTooManyFilesError: false\n });\n\n const childRef = useRef();\n useEffect(() => {\n trackPromise(getUploadedFiles());\n }, []);\n\n const getUploadedFiles = async () => {\n let maxFileValueResult = await getMaxNumberOfFileToUpload();\n let maxFiles = parseInt(maxFileValueResult[0].value);\n let data = await RequestFormService.GetRFQDocuments(salesPersonId, assemblyId);\n if (data) {\n let uploadedFileList = [];\n data.map((element) => {\n let fileObj = {\n name: element.name,\n documentDetailId: element.id,\n isFileUploaded: true\n };\n uploadedFileList.push(fileObj);\n });\n setAssemblyDocumentState({\n uploadedFiles: [...uploadedFileList],\n maxAllowFile: maxFiles,\n isTooManyFilesError: false\n });\n }\n }\n\n const selectedFiles = (documentFile) => {\n if (documentFile.isTooManyFiles) {\n setAssemblyDocumentState({\n ...assemblyDocumentState,\n isTooManyFilesError: true\n });\n return\n }\n\n if (documentFile.rejectedFiles.length > 0) {\n setRejectedFiles(documentFile.rejectedFiles)\n return\n }\n\n if (documentFile.acceptedFiles.length == 0)\n return\n\n const selectedDocuments = [...documentFile.acceptedFiles];\n trackPromise(uploadDocuments(selectedDocuments));\n };\n\n const uploadDocuments = async (files) => {\n let acceptedFilesToUpload = files.filter(x => x.isFileUploaded !== true);\n if (acceptedFilesToUpload && acceptedFilesToUpload.length > 0) {\n let uploadDocResponse = await UploadDocumentService.uploadDocuments(assemblyId, files);\n if (uploadDocResponse?.length === 0) {\n getUploadedFiles();\n }\n }\n };\n\n const removeAllUnsupportedFiles = () => {\n childRef.current.handleRemoveAllFile();\n setRejectedFiles([]);\n };\n\n const removeFileConfirmation = (name) => {\n Swal.fire({\n text: JARGON_CONSTANT.jargonObject.DeleteFileAlert.formatGeneric(name),\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: JARGON_CONSTANT.jargonObject.YesButton,\n cancelButtonText: JARGON_CONSTANT.jargonObject.NoButton,\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n trackPromise(\n removeFile(name)\n );\n }\n showUpload();\n })\n }\n\n const removeFile = async (name) => {\n let file = assemblyDocumentState.uploadedFiles.find(function (obj) { return obj.name === name });\n if (file) {\n const requestObj = {\n assemblyId: assemblyId,\n userId: salesPersonId,\n documentName: name,\n documentDetailId: file.documentDetailId\n };\n await RequestFormService.DeleteRFQDocument(requestObj)\n .then((result) => {\n getUploadedFiles();\n })\n .catch((error) => {\n console.log(error);\n });\n } else {\n childRef.current.handleRemoveFile(name);\n }\n };\n\n const handleCancel = () => {\n if (showUpload) {\n showUpload(false);\n }\n };\n\n const getMaxNumberOfFileToUpload = async () => {\n let maxNumberOfFile = DATA_CONSTANT.ConfigurationKey.MaxNoOfUploadDocuments;\n let configKeys = [maxNumberOfFile];\n return ConfigurationService.getByKeys(configKeys);\n };\n\n return (\n \n \n \n \n \n \n \n \n \n \n {assemblyDocumentState.isTooManyFilesError && (\n
    {`${JARGON_CONSTANT.jargonObject.MaxFilesValidationMessage} ${assemblyDocumentState.maxAllowFile}`}
    \n )}\n {assemblyDocumentState.uploadedFiles.length > 0 &&\n <>\n \n \n
    {JARGON_CONSTANT.jargonObject.UploadedFilesTitle}
    \n \n \n
    \n {\n assemblyDocumentState.uploadedFiles.map((file, index) => (\n \n \n {file.name}\n \n \n {\n removeFileConfirmation(file.name);\n }}\n />\n \n \n ))\n }\n \n }\n {rejectedFiles.length > 0 && !assemblyDocumentState.isTooManyFilesError && (\n \n \n
    {JARGON_CONSTANT.jargonObject.RejectedFilesTitle}
    \n \n \n removeAllUnsupportedFiles()}\n />\n \n
    \n )}\n {rejectedFiles && !assemblyDocumentState.isTooManyFilesError &&\n rejectedFiles.map(({ file, errors }, index) => (\n \n \n
  • \n {file.path} - {file.size} bytes\n
      \n {errors.map((e) => (\n
    • {e.message}
    • \n ))}\n
    \n
  • \n \n
    \n ))}\n\n
    \n \n
    \n
    \n );\n};\n\nconst mapStateToProps = (state) => ({\n assemblyId: state.RFQDetails?.rfqDetails?.assemblyId,\n salesPersonId: state.DefaultConfigs?.defaultConfigs?.salesPersonId\n});\n\nexport default connect(mapStateToProps, null)(DocumentUploaderWithModal);","import React, { forwardRef } from 'react';\nimport { AiOutlineUser } from 'react-icons/ai';\n\nconst HeaderToggleButton = forwardRef(({ children, onClick }, ref) => (\n
    {\n e.preventDefault();\n onClick(e);\n }}\n >\n {children}\n\n \n\n
    \n));\n\nexport default HeaderToggleButton;","import React, { useState, useEffect, useRef } from \"react\";\nimport { Container, Row, Col } from \"react-bootstrap\";\nimport { trackPromise } from \"react-promise-tracker\";\nimport { connect } from \"react-redux\";\nimport { MdCancel } from \"react-icons/md\";\nimport './AssemblyChat.css';\nimport InputTextArea from \"../ControlComponents/Input/InputTextArea\";\nimport { SendButton } from \"../ControlComponents/InputButton/InputButton\";\nimport { AssemblyChatService } from \"../../services/AssemblyChatService\";\nimport { OIDCService } from \"../../constants/UserManager\";\nimport { Areas } from \"../../constants/Areas\";\nimport { LoadingWrapper } from \"../CommonComponents/LoadingWrapper\";\nimport { LoadingSpiner } from \"../CommonComponents/LoadingSpiner\";\n\nconst AssemblyChat = ({ assemblyId, showChat }) => {\n\n const [chatMessage, setChatMessage] = useState('');\n const [assemblyChatData, setAssemblyChatData] = useState([]);\n const loaderElement = useRef(null);\n const scrollElement = useRef(null);\n\n useEffect(() => {\n trackPromise(getAssemblyChat(), Areas.assemblyChat);\n }, []);\n\n useEffect(() => {\n if (assemblyChatData.length > 0 && scrollElement.current) {\n scrollElement.current.scrollTop = scrollElement.current.scrollHeight;\n }\n\n }, [assemblyChatData]);\n\n const getAssemblyChat = async () => {\n let user = OIDCService.getUser();\n let assemblyChatResponse = await AssemblyChatService.getAssemblyChat(assemblyId, user?.profile?.Email);\n if (assemblyChatResponse?.data) {\n setAssemblyChatData(assemblyChatResponse.data.chatNotes);\n }\n }\n\n const handleCancel = () => {\n if (showChat) {\n showChat(false);\n }\n }\n\n const handelChange = (event) => {\n setChatMessage(event.target.value);\n }\n\n const onKeyPressHandler = event => {\n if (event.key === '\\n' && event.ctrlKey) {\n event.preventDefault();\n handelSendClick();\n }\n }\n\n const handelSendClick = () => {\n if (chatMessage?.trim()) {\n let user = OIDCService.getUser();\n\n let saveMessageObject = {\n ChatNotesId: assemblyId,\n LoginUserEmail: user?.profile?.Email,\n Comments: chatMessage.trim(),\n IsInternal: false\n }\n\n trackPromise((async () => {\n\n let assemblyChatResponse = await AssemblyChatService.saveAssemblyChatMessage(saveMessageObject);\n if (assemblyChatResponse?.data) {\n setChatMessage('');\n setAssemblyChatData(assemblyChatResponse.data.chatNotes);\n }\n\n })(), Areas.assemblyChat);\n }\n }\n\n return (\n \n \n \n
    \n
    Assembly Discussion
    \n
    \n \n \n {\n assemblyChatData.map((chatData, index) => {\n return (\n
    \n
    -----    {chatData.displayDateText}     -----
    \n {\n chatData.chatNoteDetails.map((message, index1) => {\n\n if (!message.isLoginUser) {\n return (\n
    \n
    \n {message.userName}, {message.createdTime}\n
    \n
    \n {message.comments}\n
    \n
    \n )\n\n } else {\n\n return (\n
    \n
    {message.userName}, {message.createdTime}
    \n
    {message.comments}
    \n
    \n )\n }\n })\n }\n
    \n )\n })\n }\n \n \n
    \n \n \n \n handelChange(event)\n }\n onKeyPress={onKeyPressHandler}\n >\n \n \n \n \n \n
    \n
    \n );\n};\n\nconst mapStateToProps = (state) => ({\n assemblyId: state.RFQDetails?.rfqDetails?.assemblyId\n});\n\nexport default connect(mapStateToProps, null)(AssemblyChat);","import React, { useEffect } from 'react'\nimport { trackPromise } from 'react-promise-tracker';\nimport { NavLink, useHistory, useLocation } from \"react-router-dom\";\nimport { ConfigRoutesConstants } from '../../constants/ConfigRoutesConstants';\nimport { DATA_CONSTANT } from '../../constants/DataConstant';\nimport { OIDCService } from '../../constants/UserManager';\nimport { AccountService } from '../../services/AccountService';\nimport { CommonService } from '../../services/CommonService';\nimport './ConfigurationSideMenu.css';\n\nconst ConfigurationSideMenu = () => {\n\n const menuItem = ConfigRoutesConstants.configurationRouteList;\n const location = useLocation();\n const { pathname } = location;\n const activeLocation = pathname.split(\"/configurations/\");\n const history = useHistory();\n\n useEffect(() => {\n\n let user = OIDCService.getUser();\n let isSuperAdmin = user?.profile?.IsSuperAdmin;\n if (isSuperAdmin?.toLowerCase() == \"false\") {\n let userId = user?.profile?.sub;\n trackPromise(validateUserAccess(userId))\n }\n\n }, []);\n\n const validateUserAccess = async (userId) => {\n let isUserPortCQAdmin = await AccountService.isUserPortCQAdmin(userId);\n if (isUserPortCQAdmin?.toLowerCase() != \"true\") {\n history.push(CommonService.getRoutePath(DATA_CONSTANT.routes.error), 401);\n }\n }\n\n return (\n
    \n
    \n
    \n

    Configurations

    \n
    \n
    \n
    \n \n
    \n
    \n )\n}\nexport default ConfigurationSideMenu;","import { CommonHttpService } from './CommonHttpService';\nimport { URL_CONSTANT } from '../constants/UrlConstant';\n\nexport const AccountService = {\n\n isUserPortCQAdmin: (userId) => {\n\n const url = `${URL_CONSTANT.Account.IsUserPortCQAdmin}?userId=${userId}`;\n return CommonHttpService.httpGet(url);\n }\n}","import React, { useState, useEffect } from 'react';\nimport { Nav, NavItem } from 'react-bootstrap';\nimport { FaRegCheckCircle, FaRegCircle } from 'react-icons/fa';\nimport './RFQSteps.css'\nimport { Steps } from 'antd';\nimport { DATA_CONSTANT } from '../../constants/DataConstant';\nimport { RFQProcessStatusService } from \"../../services/RFQProcessStatusService\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { difference, pluck } from \"underscore\";\nimport { CommonService } from \"../../services/CommonService\";\n\nconst RFQSteps = ({ completedSteps, isCustomQuoteRequires, selectedJobType }) => {\n\n const { Step } = Steps;\n const [rfqSteps, setRFQSteps] = useState([]);\n const [disableSteps, setDisableSteps] = useState([]);\n\n let activeClass = \"cm-active-step\";\n let disableClass = \"cm-link-disable\"\n const location = useLocation();\n const history = useHistory();\n\n useEffect(() => {\n if (selectedJobType?.cqJobType) {\n getRFQSteps(selectedJobType?.cqJobType);\n }\n }, [isCustomQuoteRequires]);\n\n const getRFQSteps = async (cqJobType) => {\n await RFQProcessStatusService.getRFQSteps(cqJobType).then((data) => {\n setRFQSteps(data);\n // Assign api response to data constant so that can use in all pages\n DATA_CONSTANT.rfqSteps = data;\n // Disable steps in case of custom quote\n if (isCustomQuoteRequires && completedSteps.length > 0) {\n let stepNames = pluck(data, \"stepName\");\n let disableSteps = difference(stepNames, completedSteps);\n setDisableSteps(disableSteps);\n }\n });\n }\n\n function CurrentStepForCheckOut() {\n let currentStep = -1;\n if (completedSteps.indexOf(DATA_CONSTANT.stepNames.CheckoutBillingShipping) > -1) {\n currentStep = 0;\n }\n if (completedSteps.indexOf(DATA_CONSTANT.stepNames.CheckoutPayment) > -1) {\n currentStep = 1;\n } if (completedSteps.indexOf(DATA_CONSTANT.stepNames.CheckoutPayment) > -1) {\n currentStep = 2;\n }\n return currentStep;\n }\n\n const redirectToStep = (stepName, route) => {\n if (!isCustomQuoteRequires && (completedSteps.indexOf(stepName) > -1) && completedSteps.indexOf(DATA_CONSTANT.stepNames.Completed) <= -1) {\n history.push(CommonService.getRoutePath(route));\n }\n }\n\n return (\n rfqSteps && rfqSteps.length > 0 &&\n \n )\n};\nexport default RFQSteps;","import { CommonHttpService } from './CommonHttpService';\nimport { URL_CONSTANT } from '../constants/UrlConstant';\n\nexport const RouteService = {\n RouteList : () => {\n return CommonHttpService.httpGet(URL_CONSTANT.RouteList);\n }\n}","import { useEffect } from \"react\";\nimport { useLocation } from 'react-router-dom';\nimport { DATA_CONSTANT } from \"../../constants/DataConstant\";\n\nconst usePageViews = () => {\n const location = useLocation();\n\n useEffect(() => {\n\n if (DATA_CONSTANT.IsGoogleAnalyticsEnabled && window.ga && (typeof window.ga === 'function')) {\n window.ga('set', 'page', location.pathname + location.search);\n window.ga('send', 'pageview');\n }\n\n }, [location])\n}\n\nexport default usePageViews;","import { OIDCService } from '../constants/UserManager';\nimport { HubConnectionBuilder } from '@microsoft/signalr';\nimport { SessionStorageService } from './SessionStorageService';\n\nexport const SignalrProvider = {\n initializeConnection: () => {\n const signalRUrl = `${window.$config.signalRHub}/signalR`;\n const newConnection = new HubConnectionBuilder()\n .withUrl(signalRUrl)\n .withAutomaticReconnect().build();\n\n newConnection.start()\n .then(result => {\n newConnection.on('SendMessage', processSignalRMessage);\n }).catch();\n }\n}\n\n\nconst processSignalRMessage = (msg) => {\n msg = JSON.parse(msg);\n if (msg.hub == \"userEmailConfirmed\" && msg.userId) {\n let user = OIDCService.getUser();\n if (user != undefined && user.profile.sub == msg.userId && window.location.pathname.includes('emailActivationPending')) {\n user.profile.EmailConfirmed = 'True';\n OIDCService.setUser(user);\n let postLoginRoute = SessionStorageService.getPostLoginUrl();\n SessionStorageService.removePostLoginUrl();\n postLoginRoute = postLoginRoute ? postLoginRoute : \"/\";\n window.location.href = window.location.origin + '' + postLoginRoute;\n }\n } else if (msg.hub == \"notifyUserDetailChanged\" && msg.userId) {\n let user = OIDCService.getUser();\n if (user != undefined && user.profile.sub == msg.userId && msg.isForceLogout == true) {\n OIDCService.logout();\n }\n }\n}","import { DATA_CONSTANT } from \"../constants/DataConstant\";\nimport { CommonService } from \"./CommonService\";\n\nexport const CommonHttpService = {\n\n httpGet: (requestURL, parameters) => new Promise((resolve, reject) => {\n\n const options = {\n method: 'get',\n headers: {\n 'content-type': 'application/json; charset=UTF-8',\n 'Authorization': \"Basic d80c83ac1fd54284a3f5c54a18e60ff8\",\n 'X-XSRF-TOKEN': CommonService.getCookie('X-CSRF-FORM-TOKEN'),\n 'ClientCode': DATA_CONSTANT.ClientCode,\n 'UserEmail': CommonService.getUserEmail()\n }\n };\n if (parameters && typeof (parameters) === \"object\") {\n Object.keys(parameters).forEach((property) => {\n requestURL += requestURL.indexOf('?') > -1 ? \"&\" : \"?\";\n requestURL += `${property}=${encodeURIComponent(parameters[property])}`;\n });\n }\n\n fetch(requestURL, options)\n .then(async response => {\n\n const data = await response.json();\n\n if (!response.ok) {\n // get error message from body or default to response statusText\n const error = (data && data.message) || response.statusText;\n console.log(error);\n\n reject(error);\n } else {\n resolve(data.data);\n }\n\n }).catch(error => {\n console.log(error);\n reject(error);\n });\n }),\n\n httpPost: (requestURL, requestBody) => new Promise((resolve, reject) => {\n\n const options = {\n method: 'post',\n headers: {\n 'content-type': 'application/json; charset=UTF-8',\n 'Authorization': \"Basic d80c83ac1fd54284a3f5c54a18e60ff8\",\n 'X-XSRF-TOKEN': CommonService.getCookie('X-CSRF-FORM-TOKEN'),\n 'ClientCode': DATA_CONSTANT.ClientCode,\n 'UserEmail': CommonService.getUserEmail()\n },\n body: JSON.stringify(requestBody)\n }\n\n fetch(requestURL, options)\n .then(async response => {\n\n const data = await response.json();\n\n if (!response.ok) {\n // get error message from body or default to response statusText\n const error = (data && data.message) || response.statusText;\n console.log(error);\n\n reject(error);\n } else {\n resolve(data.data);\n }\n\n }).catch(error => {\n console.log(error);\n reject(error);\n });\n\n }),\n\n httpFilePost: (requestURL, fileData) => new Promise((resolve, reject) => {\n\n const options = {\n method: 'post',\n headers: {\n // 'content-type': 'multipart/form-data',\n // 'content-type': 'application/json',\n 'Accept': 'application/json',\n 'Authorization': \"Basic d80c83ac1fd54284a3f5c54a18e60ff8\",\n 'X-XSRF-TOKEN': CommonService.getCookie('X-CSRF-FORM-TOKEN'),\n 'ClientCode': DATA_CONSTANT.ClientCode,\n 'UserEmail': CommonService.getUserEmail()\n },\n body: fileData\n }\n\n fetch(requestURL, options)\n .then(async response => {\n\n const data = await response.json();\n\n if (!response.ok) {\n // get error message from body or default to response statusText\n const error = (data && data.Message) || response.statusText;\n console.log(error);\n\n reject(error);\n } else {\n resolve(data);\n }\n\n }).catch(error => {\n console.log(error);\n reject(error);\n });\n }),\n\n httpPut: (requestURL, requestBody) => new Promise((resolve, reject) => {\n\n const options = {\n method: 'put',\n headers: {\n 'content-type': 'application/json; charset=UTF-8',\n 'Authorization': \"Basic d80c83ac1fd54284a3f5c54a18e60ff8\",\n 'X-XSRF-TOKEN': CommonService.getCookie('X-CSRF-FORM-TOKEN'),\n 'ClientCode': DATA_CONSTANT.ClientCode,\n 'UserEmail': CommonService.getUserEmail()\n },\n body: JSON.stringify(requestBody)\n }\n\n fetch(requestURL, options)\n .then(async response => {\n\n const data = await response.json();\n\n if (!response.ok) {\n // get error message from body or default to response statusText\n const error = (data && data.message) || response.statusText;\n console.log(error);\n reject(error);\n } else {\n resolve(data);\n }\n\n }).catch(error => {\n console.log(error);\n reject(error);\n });\n }),\n\n DownLoadFile: (requestURL, filename) => new Promise((resolve, reject) => {\n const options = {\n method: 'post',\n headers: {\n 'Accept': 'application/json',\n 'Authorization': \"Basic d80c83ac1fd54284a3f5c54a18e60ff8\",\n 'X-XSRF-TOKEN': CommonService.getCookie('X-CSRF-FORM-TOKEN'),\n 'ClientCode': DATA_CONSTANT.ClientCode,\n 'UserEmail': CommonService.getUserEmail()\n },\n }\n\n fetch(requestURL, options)\n .then(res => {\n if (!res.ok) {\n const error = res.statusText;\n console.log(error);\n reject(error);\n } else {\n return res.blob();\n }\n }).then(blob => {\n if (blob) {\n const url = window.URL.createObjectURL(\n new Blob([blob]),\n );\n const link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', filename);\n document.body.appendChild(link);\n link.click();\n link.parentNode.removeChild(link);\n }\n }).catch(err => {\n console.error(err);\n reject(err);\n })\n }),\n\n DownloadReport: (requestURL, requestBody) => new Promise((resolve, reject) => {\n var fileName;\n const options = {\n method: 'post',\n headers: {\n 'content-type': 'application/json; charset=UTF-8',\n 'Authorization': \"Basic d80c83ac1fd54284a3f5c54a18e60ff8\",\n 'X-XSRF-TOKEN': CommonService.getCookie('X-CSRF-FORM-TOKEN'),\n 'ClientCode': DATA_CONSTANT.ClientCode,\n 'UserEmail': CommonService.getUserEmail()\n },\n body: JSON.stringify(requestBody)\n }\n fetch(requestURL, options)\n .then(async response => {\n if (response.ok) {\n var header = response.headers.get('Content-Disposition');\n var filenameRegex = /filename[^;=\\n]*=((['\"]).*?\\2|[^;\\n]*)/;\n var matches = filenameRegex.exec(header);\n if (matches !== null && matches[1]) {\n fileName = decodeURIComponent(matches[1].replace(/['\"]/g, ''));\n }\n return await response.blob();\n } else {\n const error = response.statusText;\n console.log(error);\n reject(error);\n }\n }).then(blob => {\n if (blob) {\n const url = window.URL.createObjectURL(\n new Blob([blob]),\n );\n const link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', fileName);\n document.body.appendChild(link);\n link.click();\n link.parentNode.removeChild(link);\n resolve();\n }\n }).catch(err => {\n reject(err);\n });\n }),\n httpFilePutToS3: (requestURL, fileData) => new Promise((resolve, reject) => {\n const options = {\n method: 'PUT',\n headers: {\n 'Content-Type': '',\n 'ClientCode': DATA_CONSTANT.ClientCode,\n 'UserEmail': CommonService.getUserEmail()\n },\n body: fileData\n }\n\n fetch(requestURL, options)\n .then(async data => {\n if (!data.ok) {\n // get error message from body or default to response statusText\n const error = (data && data.Message) || data.statusText;\n console.log(error);\n reject(error);\n } else {\n resolve(data);\n }\n }).catch(error => {\n console.log(error);\n reject(error);\n });\n })\n}","const ROOT_URL = \"/api\";\nexport const URL_CONSTANT = {\n JobType: {\n GetJobTypes: ROOT_URL + \"/JobType/GetJobTypes\",\n GetJobTypesForConfiguration: ROOT_URL + \"/Configurations/JobType/GetAllJobTypes\",\n GetCQJobTypes: ROOT_URL + \"/Configurations/JobType/GetCQJobTypes\",\n UpdateJobTypes: ROOT_URL + \"/Configurations/JobType/UpdateJobTypes\",\n GetJobTypesDetail: ROOT_URL + \"/JobType/GetJobTypesDetail\"\n },\n RequestForm: {\n GetDefaultConfigurations: ROOT_URL + \"/RFQ/GetDefaultConfigurations\",\n CreateRFQ: ROOT_URL + \"/RFQ/Create\",\n UpdateRFQ: ROOT_URL + \"/RFQ/Update\",\n CloneRFQ: ROOT_URL + \"/RFQ/Clone\",\n DownLoadFile: ROOT_URL + \"/RFQ/DownloadFile\",\n GetAllQuoteType: ROOT_URL + \"/RFQ/GetAllQuoteTypes\",\n GetRFQDetails: ROOT_URL + \"/RFQ/Get\",\n GetRFQDocuments: ROOT_URL + \"/RFQ/GetRFQDocuments\",\n DeleteRFQDocument: ROOT_URL + \"/RFQ/DeleteRFQDocument\",\n DeleteQuantity: ROOT_URL + \"/RFQ/DeleteQuantity\",\n DeleteTurnTime: ROOT_URL + \"/RFQ/DeleteTurnTime\",\n UpdateAssemblyFieldValue: ROOT_URL + \"/RFQ/UpdateAssemblyFieldValue\",\n UpdateAdjustedTurnTimeApprovalStatus: ROOT_URL + \"/RFQ/UpdateAdjustedTurnTimeApprovalStatus\",\n GetRFQList: ROOT_URL + \"/RFQ/GetList\",\n GetRFQInfoForContinue: ROOT_URL + \"/RFQ/GetRFQInfoForContinue\",\n CreateBomHealthAssembly: ROOT_URL + \"/RFQ/CreateBomHealthAssembly\",\n GetCustomerContactByEmail: ROOT_URL + \"/RFQ/GetCustomerContactByEmail\",\n },\n Labor: {\n GetLaborQuestions: ROOT_URL + \"/Labor/GetLaborQuestions\",\n GetLaborActivitiesWithCalculatedDriver: ROOT_URL + \"/Labor/GetLaborActivitiesWithCalculatedDriver\",\n SubmitLaborAnswers: ROOT_URL + \"/Labor/SubmitLaborAnswers\",\n UpdateLaborAnswers: ROOT_URL + \"/Labor/UpdateLaborAnswers\",\n DeleteAssemblyLaborActivities: ROOT_URL + \"/Labor/DeleteAssemblyLaborActivities\"\n },\n Configuration: {\n GetConfigurations: ROOT_URL + \"/Configuration/GetConfigurations\",\n GetApplicationConfigurations: ROOT_URL + \"/Configuration/GetApplicationConfigurations\",\n IsClientExist: ROOT_URL + \"/Configuration/IsClientExist\",\n DecryptQueryString: ROOT_URL + \"/Configuration/DecryptQueryString\"\n },\n BOM: {\n CreateBOM: ROOT_URL + \"/BOM/Create\",\n GetPCBLinesByAssemblyId: ROOT_URL + \"/BOM/GetPCBLinesByAssemblyId\",\n IsScrubMyBomRunning: ROOT_URL + \"/BOM/IsScrubMyBomRunning\"\n },\n CustomImportWidgetCSSUrl: `${window.location.origin}${process.env.PUBLIC_URL}/CustomImportWidget.css`,\n PCBNetImportWidgetCSSUrl: `${window.location.origin}${process.env.PUBLIC_URL}/PCBNetImportWidget.css`,\n Pricing:\n {\n GetRequestedQuantity: ROOT_URL + \"/Pricing/GetRequestedQuantity\",\n GetPurchaseData: ROOT_URL + \"/Pricing/GetPurchaseData\",\n UpdateMethodOfSupply: ROOT_URL + \"/Pricing/UpdateMethodOfSupply\",\n GetBomSummary: ROOT_URL + \"/Pricing/GetBomSummary\",\n CheckPricingStatus: ROOT_URL + \"/Pricing/CheckPricingStatus\",\n RefreshPricing: ROOT_URL + \"/Pricing/RefreshPricing\",\n UpsertMethodOfSupplySelections: ROOT_URL + \"/Pricing/UpsertMethodOfSupplySelections\",\n AddAlternateParts: ROOT_URL + \"/Pricing/AddAlternateParts\"\n },\n PCB: {\n GetPcbQuestions: ROOT_URL + \"/PCB/GetPCBQuestions\",\n SubmitPCBAnswers: ROOT_URL + \"/PCB/SubmitPCBAnswers\",\n SubmitPCBWithPricing: ROOT_URL + \"/PCB/SubmitPCBWithPricing\",\n GetSavedPCBAnswers: ROOT_URL + \"/PCB/GetSavedPCBAnswers\",\n GetPCBAnswerFields: ROOT_URL + \"/PCB/GetPCBAnswerFields\"\n },\n Summary: {\n PublishQuoteCQQuote: ROOT_URL + \"/Summary/PublishQuoteCQQuote\",\n GetSummaryDetails: ROOT_URL + \"/Summary/Get\"\n },\n QuotePrice: {\n MarkPriceAsSelected: ROOT_URL + \"/QuotePrice/MarkPriceAsSelected\",\n GetSelectedPrice: ROOT_URL + \"/QuotePrice/GetSelectedPrice\"\n },\n RFQProcessStatus: {\n GetRFQSteps: ROOT_URL + \"/RFQProcessStatus/GetRFQSteps\",\n SaveCompletedStep: ROOT_URL + \"/RFQProcessStatus/Save\",\n GetRFQStepsForConfiguration: ROOT_URL + \"/Configurations/RFQSteps/GetRFQStepsForConfiguration\",\n UpdateRFQSteps: ROOT_URL + \"/Configurations/RFQSteps/UpdateRFQSteps\",\n GetRFQProcessStatus: ROOT_URL + \"/RFQProcessStatus/GetRFQProcessStatus\"\n },\n Checkout: {\n GetOrder: ROOT_URL + \"/Order/GetOrder\",\n SaveOrder: ROOT_URL + \"/Order/SaveOrder\",\n CreatePaymentIntent: ROOT_URL + \"/Payment/CreatePaymentIntent\",\n UpdatePaymentDetails: ROOT_URL + \"/Payment/UpdatePaymentDetails\",\n GetShippingMethods: ROOT_URL + \"/ShippingMethod/Get\",\n GetStripePublishableKey: ROOT_URL + \"/Configuration/GetStripePublishableKey\",\n GetCountries: ROOT_URL + \"/Country/Get\",\n },\n CheckListBuilder: {\n GetCheckListScreen: ROOT_URL + \"/CheckListBuilder/GetCheckListScreen\",\n SubmitCheckListBuilder: ROOT_URL + \"/RFQ/UpsertRFQChecklist\",\n GetCheckListAnswers: ROOT_URL + \"/CheckListBuilder/GetCheckListAnswers\",\n GetCheckListDetails: ROOT_URL + \"/Configurations/CheckList/GetCheckListDetailsForConfiguration\",\n UpdateCheckListDetails: ROOT_URL + \"/Configurations/CheckList/UpdateCheckList\"\n },\n Report: {\n GetAllPricingReport: ROOT_URL + \"/Report/GetAllPricingReport\",\n GetCostedBOMReport: ROOT_URL + \"/Report/GetCostedBOMReport\",\n GetQuoteReport: ROOT_URL + \"/Report/GetQuoteReport\"\n },\n Document: {\n GeneratePreSignedUrl: ROOT_URL + \"/Document/GeneratePreSignedUrl\",\n InsertDocuments: ROOT_URL + \"/Document/InsertDocuments\"\n },\n CustomQuote: {\n GetAllUploadedDocuments: ROOT_URL + \"/CustomQuote/GetAllUploadedDocuments\",\n SubmitCustomQuote: ROOT_URL + \"/CustomQuote/SubmitCustomQuote\"\n },\n GetMarketingContentBySectionName: ROOT_URL + \"/MarketingContent/GetMarketingContentBySectionName\",\n RouteList: ROOT_URL + \"/Route/GetRouteList\",\n GetJargonList: ROOT_URL + \"/Jargon/GetJargonList\",\n GetJargonListFromConfigurations: ROOT_URL + \"/Configurations/Jargon/GetJargonList\",\n SaveUpdatedData: ROOT_URL + \"/Configurations/Jargon/SaveUpdatedData\",\n AlternateParts: {\n GetSuggestedAlternateParts: ROOT_URL + \"/AlternateParts/GetSuggestedAlternateParts\"\n },\n LogUserLoggedInActivity: ROOT_URL + \"/ActivityTrack/LogUserLoggedInActivity\",\n MiscConfiguration: {\n GetMiscConfigurations: ROOT_URL + \"/Configurations/MiscConfiguration/GetMiscConfigurations\",\n UpdateMiscConfigurations: ROOT_URL + \"/Configurations/MiscConfiguration/UpdateMiscConfigurations\"\n },\n Account: {\n IsUserPortCQAdmin: ROOT_URL + \"/Account/IsUserPortCQAdmin\"\n },\n ShippingMethods: {\n GetShippingMethods: ROOT_URL + \"/Configurations/ShippingMethods/GetShippingMethods\",\n UpdateShippingMethods: ROOT_URL + \"/Configurations/ShippingMethods/UpdateShippingMethods\"\n },\n MarketingContent: {\n GetAllMarketingContents: ROOT_URL + \"/MarketingContent/GetAllMarketingContents\",\n UpdateMarketingContent: ROOT_URL + \"/MarketingContent/UpdateMarketingContent\",\n },\n BOMHealth: {\n BOMHealthReport: ROOT_URL + \"/BOMHealth/EmailBOMHealthReport\", \n },\n BOMHealthMonitor: { \n CreateBomHealthMonitor: ROOT_URL + \"/BOMHealthMonitor/CreateBomHealthMonitor\",\n GetScheduleByAssemblyId: ROOT_URL + \"/BOMHealthMonitor/GetScheduleByAssemblyId\",\n GetBomHealthMonitorHistory: ROOT_URL + \"/BOMHealthMonitor/GetBomHealthMonitorHistory\",\n DeleteBomHealthMonitorRequest: ROOT_URL + \"/BOMHealthMonitor/DeleteBomHealthMonitorRequest\", \n UpdateBomHealthMonitor: ROOT_URL + \"/BOMHealthMonitor/UpdateBomHealthMonitor\"\n },\n ContactDetails: {\n GetByAssemblyId: ROOT_URL + \"/ContactDetails/GetByAssemblyId\",\n Save: ROOT_URL + \"/ContactDetails/Save\"\n },\n PCBNet: {\n GetQuoteDetails: ROOT_URL + \"/PCBNet/GetQuoteDetails\",\n CreatePCBNetAssembly: ROOT_URL + \"/PCBNet/CreatePCBNetAssembly\"\n },\n AssemblyChat: {\n GetAssemblyChat: ROOT_URL + \"/AssemblyChat/GetAssemblyChat\",\n SaveAssemblyChatMessage: ROOT_URL + \"/AssemblyChat/SaveAssemblyChatMessage\",\n GetUnreadMessageCount: ROOT_URL + \"/AssemblyChat/GetUnreadMessageCount\"\n }\n};","export const SELECT_JOBTYPE = 'SELECT_JOBTYPE';\n\nexport const SET_DEFAULT_CONFIGS = 'SET_DEFAULT_CONFIGS';\n\nexport const SET_RFQ_DETAILS = 'SET_RFQ_DETAILS';\n\nexport const CLEAR_STORE = 'CLEAR_STORE';\n\nexport const SET_COMPLETED_STEPS = 'SET_COMPLETED_STEPS';\n\nexport const RESET_COMPLETED_STEPS = 'RESET_COMPLETED_STEPS';\n\nexport const SET_BOM_FILES = 'SET_BOM_FILES';\n\nexport const CLEAR_JOBTYPES = 'CLEAR_JOBTYPES';\n\nexport const SET_PRICING_RUNNING_STATUS = 'SET_PRICING_STATUS';\n\nexport const CLEAR_PRICING_RUNNING_STATUS = 'CLEAR_PRICING_STATUS';\n\nexport const SET_BOMID = \"SET_BOMID\";\n\nexport const SET_IS_CUSTOMQUOTE_REQUIRES = \"SET_IS_CUSTOMQUOTE_REQUIRES\";\n\nexport const SET_CLIENT_NAME = \"SET_CLIENT_NAME\";\n\nexport const SET_CLIENT_CODE = \"SET_CLIENT_CODE\";\n\nexport const SET_EXTERNAL_USERID = \"SET_EXTERNAL_USERID\";\n\n\nexport const SET_ALL_COMPLETED_STEPS = 'SET_ALL_COMPLETED_STEPS';\n\nexport const SET_PCBNET_QUOTE_DETAILS = 'SET_PCBNET_QUOTE_DETAILS';","import { DATA_CONSTANT } from '../constants/DataConstant';\nimport { JARGON_CONSTANT } from \"../constants/JargonConstant\";\nimport { each } from 'underscore';\nimport { SessionStorageService } from '../services/SessionStorageService';\n\nexport const CommonService = {\n getFileExtension: (fileName) => {\n let extension = \"\";\n if (fileName) {\n extension = fileName.substr(fileName.lastIndexOf('.') + 1).toLowerCase();\n }\n return extension;\n },\n\n isValidBOMFile: (fileName) => {\n let fileExtension = \"\";\n let validExtension = DATA_CONSTANT.validExtensionForBomFile;\n if (fileName) {\n fileExtension = fileName.substr(fileName.lastIndexOf('.') + 1).toLowerCase();\n }\n if (validExtension.indexOf(fileExtension) > -1) {\n return true;\n }\n return false;\n },\n\n createBomFileFromBlobUrl: async (url, fileName) => {\n const fetchResult = await fetch(url);\n const result = await fetchResult.blob();\n\n if (fetchResult.ok) {\n let types = DATA_CONSTANT.bomFileType\n let extension = fileName.substr(fileName.lastIndexOf('.') + 1).toLowerCase();\n let metadata = {\n type: types.find((x) => x.extension === extension).type\n };\n\n let file = new File([result], fileName, metadata);\n return file;\n }\n\n const responseError = {\n type: 'Error',\n message: result.message || 'Something went wrong',\n data: result.data || '',\n code: result.code || '',\n };\n\n const error = new Error();\n error.info = responseError;\n\n return (error);\n },\n\n deepShallowCopy: (data) => {\n return (JSON.parse(JSON.stringify(data)));\n },\n\n convertChecklist: (rfqDetail, checkListBuilderData) => {\n let checkListDetail = CommonService.deepShallowCopy(checkListBuilderData);\n\n let objCheckListBuilder = {\n RFQId: rfqDetail.quoteId,\n AssemblyId: rfqDetail.assemblyId,\n RFQCustomFieldValues: [],\n CustomQuoteFieldNames: []\n };\n\n let isAnyFieldRequiresCustomQuote = false;\n if (checkListDetail.length > 0) {\n each(checkListDetail, function (value) {\n if ((value.fieldType?.toLowerCase() === \"checkbox\" || value.fieldType?.toLowerCase() === \"dropdown\" || value.fieldType?.toLowerCase() === \"radiobutton\") && value.defaultValue !== null) {\n if (Array.isArray(value.defaultValue)) {\n value.defaultValue = value.defaultValue.join(\",\");\n }\n } else if (value.defaultValue == null) {\n value.defaultValue = \"\";\n }\n var objValues = {\n Id: value.id,\n FieldTypesName: value.name,\n FieldTypeValue: value.defaultValue\n };\n objCheckListBuilder.RFQCustomFieldValues.push(objValues);\n if (value.isCustomQuote) {\n objCheckListBuilder.CustomQuoteFieldNames.push(value.name);\n isAnyFieldRequiresCustomQuote = true;\n return;\n }\n });\n }\n objCheckListBuilder.IsAnyFieldRequiresCustomQuote = isAnyFieldRequiresCustomQuote;\n return objCheckListBuilder;\n },\n\n generateRandomId: (length) => {\n var result = '';\n var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n var charactersLength = characters.length;\n for (var i = 0; i < length; i++) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n }\n return result;\n },\n\n getJargonValue: (key) => {\n return JARGON_CONSTANT.jargonValues.find(x => x.label == key)?.displayValue;\n },\n\n getJargonDetail: (key) => {\n return JARGON_CONSTANT.jargonValues.find(x => x.label == key);\n },\n\n getCookie: (cname) => {\n var name = cname + \"=\";\n var decodedCookie = decodeURIComponent(document.cookie);\n var ca = decodedCookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) === ' ') {\n c = c.substring(1);\n }\n if (c.indexOf(name) === 0) {\n return c.substring(name.length, c.length);\n }\n }\n return \"\";\n },\n\n calculateTax: (configuredTax, paymentDetail) => {\n if (!configuredTax || !paymentDetail) {\n return 0;\n }\n\n if (configuredTax.includes('%')) {\n\n let totalPrice = paymentDetail.subTotalPrice + paymentDetail.shippingCharge - paymentDetail.discount;\n let taxPercentage = Number(configuredTax.split('%')[0]) * 1;\n let calculatedTax = (totalPrice / 100) * taxPercentage;\n return parseFloat(calculatedTax.toFixed(2));\n\n } else {\n return parseFloat((+configuredTax).toFixed(2));\n }\n },\n\n calculateTotal: (paymentDetail) => {\n if (!paymentDetail) {\n return 0;\n }\n\n let total = ((paymentDetail.subTotalPrice + paymentDetail.tax + paymentDetail.shippingCharge) - paymentDetail.discount);\n\n return parseFloat(total.toFixed(2));\n },\n\n getRoutePath: (pathName) => {\n if (DATA_CONSTANT.IsCustomDomainClient) {\n return `/${pathName}`;\n }\n return `/${DATA_CONSTANT.ClientCode}/${pathName}`;\n },\n getQueryParam: (name) => {\n const search = window.location.search;\n const params = new URLSearchParams(search);\n return params.get(name);\n },\n\n getUserEmail: () => {\n\n let loggedInUserEmail = SessionStorageService.getSessionValue('LoggedInUserEmail');\n\n if (loggedInUserEmail && loggedInUserEmail != \"undefined\") {\n return loggedInUserEmail;\n }\n\n let storeJson = JSON.parse(SessionStorageService.getSessionValue('persist:root'));\n let salesPersonEmail = storeJson ? (JSON.parse(storeJson.DefaultConfigs)?.defaultConfigs?.salesPersonEmail) : \"\";\n let userEmail = salesPersonEmail ? salesPersonEmail : \"\";\n return userEmail;\n\n }\n}","export const JARGON_CONSTANT = {\n keys: {\n HomePageTitle: 'HomePageTitle',\n HomePageSubTitle: 'HomePageSubTitle',\n NextButton: 'NextButton',\n RfqPageTitle: 'RfqPageTitle',\n BasicDetailSectionTitle: 'BasicDetailSectionTitle',\n QuantitySectionTitle: 'QuantitySectionTitle',\n QuantitySectionSubTitle1: 'QuantitySectionSubTitle1',\n QuantitySectionSubTitle2: 'QuantitySectionSubTitle2',\n QuantitySectionDescription: 'QuantitySectionDescription',\n FileUploadSectionTitle: 'FileUploadSectionTitle',\n FileUploadSectionSubTitle1: 'FileUploadSectionSubTitle1',\n FileUploadSectionSubTitle2: 'FileUploadSectionSubTitle2',\n MapBOMButton: 'MapBOMButton',\n LaborPageTitle: 'LaborPageTitle',\n AssemblyDetailPageTitle: 'AssemblyDetailPageTitle',\n CustomQuotePageTitle: 'CustomQuotePageTitle',\n CustomQuotePageSubTitle: 'CustomQuotePageSubTitle',\n CustomQuotePageDescription: 'CustomQuotePageDescription',\n CustomQuoteUploadFileSectionTitle: 'CustomQuoteUploadFileSectionTitle',\n CustomQuoteContactDescription1: 'CustomQuoteContactDescription1',\n CustomQuoteContactDescription2: 'CustomQuoteContactDescription2',\n CustomQuoteContactDescription3: 'CustomQuoteContactDescription3',\n SendButton: 'SendButton',\n CustomQuoteContactNumber: 'CustomQuoteContactNumber',\n QuoteCompleteButton: 'QuoteCompleteButton',\n QuoteCompleteMessage: 'QuoteCompleteMessage',\n CompilingScreenTitle: 'CompilingScreenTitle',\n CompilingScreenDescription: 'CompilingScreenDescription',\n BackButton: 'BackButton',\n ALLPartsButton: 'ALLPartsButton',\n IssueOnlyButton: 'IssueOnlyButton',\n BOMIsCleanMessage: 'BOMIsCleanMessage',\n DownloadBOM: 'DownloadBOM',\n BOMSummarySectionTitle: 'BOMSummarySectionTitle',\n DownloadQuote: 'DownloadQuote',\n QuantityColumnHeader: 'QuantityColumnHeader',\n TurnTimeColumnHeader: 'TurnTimeColumnHeader',\n AssemblyCostColumnHeader: 'AssemblyCostColumnHeader',\n AdditionalServicesColumnHeader: 'AdditionalServicesColumnHeader',\n PCBColumnHeader: 'PCBColumnHeader',\n TotalPriceColumnHeader: 'TotalPriceColumnHeader',\n BillingAndShippingTitle: 'BillingAndShippingTitle',\n ShippingAddressSubTitle: 'ShippingAddressSubTitle',\n BillingAddressSubTitle: 'BillingAddressSubTitle',\n ShippingMethodSubTitle: 'ShippingMethodSubTitle',\n OrderSummarySubTitle: 'OrderSummarySubTitle',\n SeparateBillingAddressSubTitle: 'SeparateBillingAddressSubTitle',\n QuantityLabel: 'QuantityLabel',\n LeadTimeLabel: 'LeadTimeLabel',\n RegularPriceSubTotalLabel: 'RegularPriceSubTotalLabel',\n ShippingLabel: 'ShippingLabel',\n TotalLabel: 'TotalLabel',\n HideOrderDetailsButton: 'HideOrderDetailsButton',\n ViewOrderDetailsButton: 'ViewOrderDetailsButton',\n PCBDetailsLabel: 'PCBDetailsLabel',\n NetPayableTitle: 'NetPayableTitle',\n StartNewQuoteButton: 'StartNewQuoteButton',\n GetQuotePageTitle: 'GetQuotePageTitle',\n LineColumnHeader: 'LineColumnHeader',\n ManufacturerColumnHeader: 'ManufacturerColumnHeader',\n MPNColumnHeader: 'MPNColumnHeader',\n DescriptionColumnHeader: 'DescriptionColumnHeader',\n ReferenceDesignatorColumnHeader: 'ReferenceDesignatorColumnHeader',\n TotalQuantityColumnHeader: 'TotalQuantityColumnHeader',\n MethodOfSupplyColumnHeader: 'MethodOfSupplyColumnHeader',\n IssueAlertColumnHeader: 'IssueAlertColumnHeader',\n FileImportMessage1: 'FileImportMessage1',\n FileImportMessage2: 'FileImportMessage2',\n MaxFileUploadMessage: 'MaxFileUploadMessage',\n ChooseFileButton: 'ChooseFileButton',\n ScrubMyBomTitle: 'ScrubMyBomTitle',\n ScrubMyBomSubTitle: 'ScrubMyBomSubTitle',\n ContinueButton: 'ContinueButton',\n ViewButton: 'ViewButton',\n ReorderButton: 'ReorderButton',\n RepriceAlternatesButton: 'RepriceAlternatesButton',\n SuggestAlternatesButton: \"SuggestAlternatesButton\",\n AddAlternatesManuallyButton: \"AddAlternatesManuallyButton\",\n SuggestAlternateModalTitle: 'SuggestAlternateModalTitle',\n SaveSelectedAlternatesButton: 'SaveSelectedAlternatesButton',\n AddAlternateTitle: 'AddAlternateTitle',\n SaveAlternatesButton: 'SaveAlternatesButton',\n CreateAQuoteButton: 'CreateAQuoteButton',\n BOMAnalysisButton: 'BOMAnalysisButton',\n CreateAQuoteDescription: 'CreateAQuoteDescription',\n BOMAnalysisDescription: 'BOMAnalysisDescription',\n QuoteSelectionPageTitle: 'QuoteSelectionPageTitle',\n QuoteSelectionPageSubTitle: 'QuoteSelectionPageSubTitle',\n QuickPriceButton: 'QuickPriceButton',\n QuickPriceDescription: 'QuickPriceDescription',\n DownloadAllPricing: 'DownloadAllPricing',\n FirstNameLabel: 'FirstNameLabel',\n LastNameLabel: 'LastNameLabel',\n EmailLabel: 'EmailLabel',\n PhoneLabel: 'PhoneLabel',\n CompanyLabel: 'CompanyLabel',\n QuoteTypeLabel: 'QuoteTypeLabel',\n AssemblyNameLabel: 'AssemblyNameLabel',\n AssemblyNumberLabel: 'AssemblyNumberLabel',\n RevLabel: 'RevLabel',\n TotalTurnTimeLabel: 'TotalTurnTimeLabel',\n NoOfSMTParts: 'NoOfSMTParts',\n NoOfTHParts: 'NoOfTHParts',\n TotalNoOfLineItem: 'TotalNoOfLineItem',\n NameLabel: 'NameLabel',\n StreetAddressLine1Label: 'StreetAddressLine1Label',\n StreetAddressLine2Label: 'StreetAddressLine2Label',\n PostalCodeLabel: 'PostalCodeLabel',\n CityLabel: 'CityLabel',\n StateLabel: 'StateLabel',\n ChooseShippingMethod: 'ChooseShippingMethod',\n UnpricedLineItem: 'UnpricedLineItem',\n CrossMatch: 'CrossMatch',\n OutofStock: 'OutofStock',\n LongLeadTime: 'LongLeadTime',\n InStockButLongLeadTime: 'InStockButLongLeadTime',\n Select: 'Select',\n AssemblyNameColumnHeader: 'AssemblyNameColumnHeader',\n AssemblyNumberRevColumnHeader: 'AssemblyNumberRevColumnHeader',\n RequestedQTYTurnTimeColumnHeader: 'RequestedQTYTurnTimeColumnHeader',\n OrderedQTYTurnTimeColumnHeader: 'OrderedQTYTurnTimeColumnHeader',\n OrderPriceColumnHeader: 'OrderPriceColumnHeader',\n QuoteDateColumnHeader: 'QuoteDateColumnHeader',\n StatusColumnHeader: 'StatusColumnHeader',\n ActionsColumnHeader: 'ActionsColumnHeader',\n UploadedFilesTitle: 'UploadedFilesTitle',\n QuoteHistoryHeader: 'QuoteHistoryHeader',\n QuoteHistoryLinkText: 'QuoteHistoryLinkText',\n NoOfIssues: 'NoOfIssues',\n LoginLinkText: 'LoginLinkText',\n LogoutLinkText: 'LogoutLinkText',\n RejectedFilesTitle: 'RejectedFilesTitle',\n FilesTypeLabel: 'FilesTypeLabel',\n NoteLabel: 'NoteLabel',\n\n YesButton: 'YesButton',\n NoButton: 'NoButton',\n CustomQuoteWarning: 'CustomQuoteWarning',\n DeleteFileAlert: 'DeleteFileAlert',\n DeleteQuantityAlert: 'DeleteQuantityAlert',\n DeleteTurnTimeAlert: 'DeleteTurnTimeAlert',\n MinimumOneQuantityRequired: 'MinimumOneQuantityRequired',\n MinimumOneTurnTimeRequired: 'MinimumOneTurnTimeRequired',\n StartNewQuoteConfirmation: 'StartNewQuoteConfirmation',\n AssemblyDetailNotConfigured: 'AssemblyDetailNotConfigured',\n NoPCBLineAdded: 'NoPCBLineAdded',\n NavigationBlockMessage: 'NavigationBlockMessage',\n CustomQuoteWarningForChecklist: 'CustomQuoteWarningForChecklist',\n ReorderRFQ: 'ReorderRFQ',\n RequiredMessage: 'RequiredMessage',\n InvalidValueMessage: 'InvalidValueMessage',\n MaxLengthMessage: 'MaxLengthMessage',\n MinValueMessage: 'MinValueMessage',\n RequiredMethodOfSupply: 'RequiredMethodOfSupply',\n InvalidAmount: 'InvalidAmount',\n SelectAlternate: 'SelectAlternate',\n DuplicatePartNumber: 'DuplicatePartNumber',\n RequireAlternate: 'RequireAlternate',\n MinLengthMessage: 'MinLengthMessage',\n BOMHealthMonitorHeader: 'BOMHealthMonitorHeader',\n BOMHealthMonitorHistoryHeader: 'BOMHealthMonitorHistoryHeader',\n CreateSchedule: 'CreateSchedule',\n DeleteButton: 'DeleteButton',\n EditButton: 'EditButton'\n },\n\n jargonValues: [],\n jargonObject: {}\n}","import { createUserManager } from 'redux-oidc';\nimport { loadUser } from \"redux-oidc\";\nimport { SessionStorageService } from '../services/SessionStorageService';\nimport { history } from '../History';\nimport { DATA_CONSTANT } from '../constants/DataConstant';\nimport { configureStore } from '../redux/store';\nimport { CommonService } from \"../services/CommonService\";\n\nlet OIDCService = {};\n\nconst initializeUserManager = (config) => {\n let urlClientCode = DATA_CONSTANT.IsCustomDomainClient ? \"\" : \"/\" + DATA_CONSTANT.ClientCode;\n const userConfig = {\n authority: config?.authenticationUrl,\n client_id: config?.portCQClientId,\n redirect_uri: `${config?.portCQRootUrl}${urlClientCode}/callback.html`,\n response_type: 'code',\n response_mode: 'query',\n scope: `${config?.apiScopesToRequest}`,\n silent_redirect_uri: `${config?.portCQRootUrl}${urlClientCode}/silent_renew.html`,\n automaticSilentRenew: true,\n revokeAccessTokenOnSignout: true,\n post_logout_redirect_uri: `${config?.portCQRootUrl}${urlClientCode}`,\n accessTokenExpiringNotificationTime: `${config?.accessTokenExpiringNotification}` // seconds\n };\n let UserManager = createUserManager(userConfig);\n\n UserManager.events.addUserSignedOut(() => {\n OIDCService.logout();\n });\n UserManager.events.addUserLoaded(() => { });\n\n UserManager.events.addSilentRenewError(function (e) {\n if (e.message == 'Unauthorized') {\n history.push(CommonService.getRoutePath(DATA_CONSTANT.routes.error), 401);\n }\n });\n\n\n let store = configureStore();\n OIDCService = {\n login: () => {\n if (!SessionStorageService.getPostLoginUrl()) {\n SessionStorageService.setPostLoginUrl(window.location.pathname);\n }\n const user = store.getState().oidc.user; \n if (!user || user.expired) {\n let userState = {\n 'state': { uri: JSON.stringify(window.location.href) }\n };\n UserManager.signinRedirect(userState);\n return false;\n }\n return true;\n },\n logout: () => {\n const user = store.getState().oidc.user;\n UserManager.removeUser();\n UserManager.signoutRedirect({ 'id_token_hint': user.id_token }).catch((error) => { this.handleError(error); history.push(CommonService.getRoutePath(DATA_CONSTANT.routes.error), 500); });\n SessionStorageService.removeSessionValue(\"LoggedInUserEmail\");\n },\n loadUser: async () => new Promise((resolve, reject) => {\n loadUser(store, UserManager).then(function (user) {\n resolve(user);\n }).catch(function (err) { resolve(err); history.push(CommonService.getRoutePath(DATA_CONSTANT.routes.error), 500); });\n }),\n getUser: () => {\n const user = store.getState().oidc.user;\n if (user?.profile?.Email) {\n SessionStorageService.setSessionValue(\"LoggedInUserEmail\", user.profile.Email);\n }\n return user;\n },\n setUser: (user) => {\n store.dispatch({\n type: 'redux-oidc/USER_FOUND',\n payload: user,\n });\n let oidcSessionUrl = \"oidc.user:\" + window.$config.authenticationUrl + \":\" + window.$config.portcqClientId;\n SessionStorageService.removeSessionValue(oidcSessionUrl);\n SessionStorageService.setSessionValue(oidcSessionUrl, JSON.stringify(user));\n },\n getUserId: () => {\n let user = store.getState().oidc.user;\n let userId = (user && user.profile) ? user.profile.sub : \"\";\n return userId;\n },\n hasUserAccessRights: () => {\n\n const user = store.getState().oidc.user;\n if (user.profile.IsSuperAdmin && user.profile.IsSuperAdmin.toLowerCase() == 'true') {\n return true;\n }\n if (user.profile.HasAccessToApplication != null && user.profile.HasAccessToApplication != undefined) {\n return user.profile.HasAccessToApplication.toLowerCase() === 'true';\n }\n return false;\n },\n isEmailConfirmed: () => {\n const user = store.getState().oidc.user;\n if (user != undefined && user.profile.EmailConfirmed?.toLowerCase() == 'false') {\n return false;\n }\n return true;\n }\n }\n\n return UserManager;\n};\n\nexport { initializeUserManager as initializeUserManager, OIDCService as OIDCService }","const postLoginRouteKey = 'postLoginRoute';\n\nexport const SessionStorageService = {\n getPostLoginUrl: () => {\n return sessionStorage.getItem(postLoginRouteKey)\n },\n\n setPostLoginUrl: (value) => {\n sessionStorage.setItem(postLoginRouteKey, value);\n },\n\n removePostLoginUrl: () => {\n sessionStorage.removeItem(postLoginRouteKey);\n },\n getSessionValue: (key) => {\n return sessionStorage.getItem(key)\n },\n\n setSessionValue: (key, value) => {\n sessionStorage.setItem(key, value);\n },\n\n removeSessionValue: (key) => {\n sessionStorage.removeItem(key);\n }\n};","export { clearJobType } from \"./ClearJobType\";\nexport { clearStore } from \"./ClearStoreActions\";\nexport { setCompletedSteps, resetCompletedSteps, setAllCompletedSteps } from \"./CompletedStepActions\";\nexport { setDefaultConfigs } from \"./DefaultConfigActions\";\nexport { selectJobType } from \"./JobTypeActions\";\nexport { setRFQDetails, setBOMId, setIsCustomQuoteRequired } from \"./RFQDetailActions\";\nexport { setBomFile } from \"./SetBomFIleAction\";\nexport { setClientName, setClientCode } from \"./SetClient\";\nexport { setPCBNetQuoteDetails } from './PCBNetQuoteActions'","import React from 'react';\nimport { BiCart, BiPlusCircle, BiX, BiXCircle, BiSend } from \"react-icons/bi\";\nimport './InputButton.css';\nimport { Button } from 'react-bootstrap';\n\nexport const RemoveButton = (props) => {\n return (\n \n )\n};\n\nexport const AddButton = (props) => {\n return (\n \n )\n};\n\nexport const PrimaryButton = (props) => {\n return (\n \n )\n};\n\nexport const SecondaryButton = (props) => {\n return (\n \n )\n};\n\nexport const SmallGreyButton = (props) => {\n let isActive = props.isActive === true ? \"isActive\" : \" \";\n return (\n \n )\n};\n\nexport const LinkButton = (props) => {\n return (\n \n )\n};\n\nexport const ShoppingCartButton = (props) => {\n return (\n \n );\n};\n\nexport const ReportButton = (props) => {\n return (\n \n );\n}\n\nexport const CloseButton = (props) => {\n return (\n \n )\n};\n\nexport const SendButton = (props) => {\n return (\n \n );\n};","export { JobTypes } from './JobTypes';\nexport { DefaultConfigs } from './DefaultConfigs';\nexport { RFQDetails } from './RFQDetails';\nexport { CompletedSteps } from './CompletedSteps';\nexport { BomFile } from './BomFile';\nexport { Client } from './Client';\nexport { PCBNetQuoteDetails } from './PCBNetQuoteDetails'","import { RESET_COMPLETED_STEPS, SET_COMPLETED_STEPS, SET_ALL_COMPLETED_STEPS } from '../../constants/ActionConstants';\n\nexport const setCompletedSteps = (stepName) => ({\n type: SET_COMPLETED_STEPS,\n data: { stepName: stepName }\n});\n\nexport const resetCompletedSteps = () => ({\n type: RESET_COMPLETED_STEPS,\n data: {}\n});\n\nexport const setAllCompletedSteps = (steps) => ({\n type: SET_ALL_COMPLETED_STEPS,\n data: steps\n});","import React from 'react';\nimport { usePromiseTracker } from \"react-promise-tracker\";\nimport BeatLoader from \"react-spinners/BeatLoader\";\nimport './LoadingSpinner.css'\n\nexport const LoadingSpiner = (props) => {\n const { promiseInProgress } = usePromiseTracker({ area: props.area });\n const parentContainer = props.area ? props.parentContainer?.current : null;\n let loaderClass = null;\n if (promiseInProgress) {\n if (parentContainer) {\n loaderClass = \"componentwise-loader\";\n } else {\n loaderClass = \"full-body-loader\";\n }\n } else {\n if (parentContainer) {\n parentContainer.classList.remove('cm-backdrop');\n } else {\n if (document.getElementsByClassName(\"overlay-box\").length > 0) {\n document.getElementById(\"bodyContainer\").remove();\n }\n }\n }\n\n return (\n promiseInProgress &&\n <>\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n )\n};","/// \nexport const DATA_CONSTANT = {\n\n allowedFileTypes: [\n 'image/*',\n 'application/pdf',\n '.csv',\n 'application/msword',\n 'application/json',\n 'text/plain',\n '.zip',\n '.rar',\n '.7zip',\n '.xlsx',\n '.docx',\n '.doc',\n '.gbr',\n '.xls'\n ],\n maxFileSize: 52428800 /*Bytes- 50 MB*/,\n maxFiles: 5,\n patterns: {\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n name: /^[a-zA-Z0-9\\[\\]\\\\/{};,!@#$%^&*~':?) (+=._-]+$/,\n nameWithSpecialCharacters: '^[\\\\p{L}\\\\p{N}\\\\p{Sc}\\\\p{So}\\\\p{M}\\\\p{Zs}\\\\p{P}^~+=]+$',\n //Number starting from 1 to 9 and allow up to 99999999\n quantity: /^[1-9][0-9]{0,7}$/,\n //Number starting from 1 to 9 and allow up to 999\n totalTurnTime: /^[1-9][0-9]{0,2}$/,\n laborQuestion: /^[0-9]{1,4}(\\.[0-9]{1,2})?$/,\n checkListBuilderNumber: /^[0-9]*$/,\n dateFormat: \"MM/DD/YYYY\",\n assemblyNumber: /^[a-zA-Z0-9-!@$%^#&{}()_+;:,'.= ]{0,50}$/,\n assemblyName: /^[a-zA-Z0-9-!@$%^#&*/{}()_+;:,'.=~ ]+$/,\n shippingCharge: /^[0-9]{1,5}(\\.[0-9]{0,2})?$/,\n twoDecimalPointPercentage: /^((?:|0|[1-9]\\d?|100)(?:\\.\\d{1,2})?)$/,\n joditDefaultTags: /]*>( |\\s+|)*<\\/p>/g\n },\n\n stepNames: {\n RFQ: 'RFQ',\n BOM: 'BOM',\n Labor: 'Labor',\n PCB: 'PCB',\n ReviewBOM: 'ReviewBOM',\n IsComponentPricingDone: 'IsComponentPricingDone',\n AssemblyDetail: 'AssemblyDetail',\n GetQuote: 'GetQuote',\n Checkout: 'Checkout',\n CheckoutBillingShipping: 'CheckoutBillingShipping',\n CheckoutPayment: 'CheckoutPayment',\n CheckoutVerify: 'CheckoutVerify',\n Completed: 'Completed',\n ContactDetails: 'ContactDetails'\n },\n\n guidelinesFiles: {\n BOM_format_guidelines: 'BOM_Best_Practices.pdf',\n BOM_template: 'AAPCB_BOM_Template.xlsx'\n },\n\n validExtensionForBomFile: ['xlsx', 'xls', 'csv'],\n\n bomFileType: [{ extension: 'xls', type: 'application/vnd.ms-excel' },\n { extension: \"xlsx\", type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' },\n { extension: \"csv\", type: 'text/csv' }],\n\n FileType: {\n BOM: 'BOM'\n },\n\n //Array to bind file type drop down list\n arrayFileType: [\n \"Select\",\n \"BOM\",\n ],\n\n timeUOMs: [\n { label: 'Day(s)', value: 'Days' },\n { label: 'Week(s)', value: 'Weeks' },\n ],\n\n ConfigurationKey: {\n IntercomAppId: 'IntercomAppId',\n GoogleAnalyticsTagId: 'GoogleAnalyticsTagId',\n PCBPartClass: 'PCBPartClass',\n StripePublishableKey: 'StripePublishableKey',\n AllowMultipleJobTypeSelection: 'AllowMultipleJobTypeSelection',\n MaxNoOfUploadDocuments: 'MaxNoOfUploadDocuments',\n ClientName: 'ClientName',\n ThemeName: 'ThemeName',\n ContactNumber: 'ContactNumber',\n QuoteCQClientCode: 'QuoteCQClientCode',\n MinimumTurnTime: 'MinimumTurnTime',\n AdjustedTurnTimeToolTipText: 'AdjustedTurnTimeToolTipText',\n RejectTurnTimeConformationText: 'RejectTurnTimeConformationText',\n ApproveTurnTimeConformationText: 'ApproveTurnTimeConformationText',\n IsLogRocketEnabled: 'IsLogRocketEnabled',\n LogRocketAppId: 'LogRocketAppId',\n DefaultTurnTimeForBOMAnalysis: 'DefaultTurnTimeForBOMAnalysis',\n IsBomAnalysisEnabled: 'IsBomAnalysisEnabled',\n IsGetAQuoteEnabled: 'IsGetAQuoteEnabled',\n IsQuickPriceEnabled: 'IsQuickPriceEnabled',\n DefaultFirstName: 'DefaultFirstName',\n DefaultLastName: 'DefaultLastName',\n DefaultEmail: 'DefaultEmail',\n DefaultPhone: 'DefaultPhone',\n DefaultCompany: 'DefaultCompany',\n DefaultAssemblyName: 'DefaultAssemblyName',\n DefaultAssemblyNumber: 'DefaultAssemblyNumber',\n DefaultTurnTimeForQuickPrice: 'DefaultTurnTimeForQuickPrice',\n DefaultRev: 'DefaultRev',\n DefaultQuoteType: 'DefaultQuoteType',\n ReportRedashId: 'ReportRedashId',\n BOMHealthWidgetUrl: 'BOMHealthWidgetUrl',\n IsBOMHealthEnabled: 'IsBOMHealthEnabled',\n BOMHealthReportAPIAccessToken: 'BOMHealthReportAPIAccessToken',\n BOMHealthLastUpdatedDays: 'BOMHealthLastUpdatedDays',\n VAT: 'VAT',\n IsBomHealthHelpIconVisible: 'IsBomHealthHelpIconVisible',\n RemoveActivityWhenSwitchIsOffFeatureEnabled: 'RemoveActivityWhenSwitchIsOffFeatureEnabled',\n DefaultQuantity: 'DefaultQuantity',\n PCBNetUrl: 'PCBNetUrl',\n MaximumQuantityCount: 'MaximumQuantityCount',\n IsPricingColumnsVisibleInReviewBOM: 'IsPricingColumnsVisibleInReviewBOM',\n HubSpotAppId: 'HubSpotAppId'\n },\n\n defaultTimeUOMUnit: \"Day(s)\",\n TooltipPlacement: ['right', 'left', 'top', 'bottom'],\n ITARProcessingRequired: 'ITAR processing required',\n FileIconNotDispalyOnRoute: [\"/rfq\", \"/customquote\"],\n RfqRouteName: 'rfq',\n routes: {\n error: \"error\",\n customQuote: \"customquote\",\n complete: \"complete\",\n quoteHistory: \"quotehistory\",\n checkout: \"checkout\",\n jobtype: \"jobtype\",\n reviewbom: \"reviewbom\",\n scrubmybom: \"scrubmybom\",\n emailActivationPending: \"emailActivationPending\",\n bomHealthMonitorHistory: \"bomhealthmonitorhistory\",\n quoteSummary: \"quotesummary\",\n quoteComplete: \"quotecomplete\",\n bomHealthMonitor: \"bomhealthmonitor\",\n backToPCBNet: \"backtopcbnet\"\n },\n rfqSteps: [],\n\n AssemblyFields: {\n ExternalUserId: 'ExternalUserId'\n },\n\n SectionName: {\n home: \"Home\",\n pricingCompiling: \"PricingCompiling\",\n scrubMyBom: \"scrubMyBom\",\n createAQuoteDescription: \"CreateAQuoteDescription\",\n bomAnalysisDescription: \"BOMAnalysisDescription\",\n quickPriceDescription: \"QuickPriceDescription\",\n getBOMHealthDescription: \"GetBOMHealthDescription\"\n },\n\n DriverCountType: {\n Blank: \"Blank\",\n Fixed: \"Fixed\",\n Recommended: \"Recommended\"\n },\n\n DriverCountSubType: {\n Static: \"Static\",\n Formula: \"Formula\"\n },\n\n ToastMessageVariant: {\n Success: 'success',\n Error: 'danger',\n Warning: 'warning',\n Info: 'info'\n },\n\n //RFQStatus: { InProgress: 'In Progress', Completed: 'Order Placed', CustomQuote: 'Custom', BOMAnalysis: 'BOM Analysis' },\n\n AlternateSource: {\n CQSuggestions: 'CQSuggestions',\n Manual: 'Manual'\n },\n\n DataIndex: {\n QuoteCQJobTypeName: 'quoteCQJobTypeName',\n JobTypeDescription: 'jobTypeDescription',\n Title: 'title',\n DisplayName: 'displayName',\n ShippingMethod: 'shippingMethodName',\n ShippingCharge: 'shippingCharge',\n ScreenName: 'screenName',\n Description: 'description',\n CustomQuoteValues: 'customQuoteValues'\n },\n MarketingContents: {\n HTMLContentLabel: 'HTML Content',\n SectionNameLabel: 'Section Name'\n },\n\n GridScroll: { y: '350px' },\n ScreenNamesForConfiguration: [\n { name: 'AssemblyDetail', displayValue: 'Assembly Detail' },\n { name: 'Labor', displayValue: 'Labor' },\n ],\n SectionNamesForConfiguration: [\n { name: 'Home', displayValue: 'Home', isForMarketingSection: true, isForChecklistSection: false },\n { name: 'PricingCompiling', displayValue: 'Pricing Compiling', isForMarketingSection: true, isForChecklistSection: false },\n { name: 'ScrubMyBOM', displayValue: 'Scrub My BOM', isForMarketingSection: true, isForChecklistSection: false },\n { name: 'AssemblyDetail', displayValue: 'Assembly Detail', isForMarketingSection: false, isForChecklistSection: true },\n { name: 'Labor', displayValue: 'Labor', isForMarketingSection: false, isForChecklistSection: true },\n { name: 'CreateAQuoteDescription', displayValue: 'Create A Quote', isForMarketingSection: true, isForChecklistSection: false },\n { name: 'BOMAnalysisDescription', displayValue: 'BOM Analysis', isForMarketingSection: true, isForChecklistSection: false },\n { name: 'QuickPriceDescription', displayValue: 'Quick Price', isForMarketingSection: true, isForChecklistSection: false },\n { name: 'GetBOMHealthDescription', displayValue: 'Get BOM Health', isForMarketingSection: true, isForChecklistSection: false }\n ],\n\n BomHealthRFQInfo: null,\n PortCQApplicationName: \"PortCQ\",\n ClientCode: \"\",\n BOMHealthScheduleInterval: [\n { label: 'Select', value: '' },\n { label: '1 Week', value: 7 },\n { label: '2 week', value: 14 },\n { label: '3 week', value: 21 },\n ],\n IsCustomDomainClient: false,\n CurrencyMaster: {\n \"AED\": \"د.إ\",\n \"ARS\": \"$\",\n \"AUD\": \"$\",\n \"BGN\": \"Лв.\",\n \"BRL\": \"R$\",\n \"BSD\": \"B$\",\n \"CAD\": \"$\",\n \"CHF\": \"CHf\",\n \"CLP\": \"$\",\n \"CNY\": \"¥\",\n \"COP\": \"$\",\n \"CZK\": \"Kč\",\n \"DKK\": \"Kr.\",\n \"DOP\": \"$\",\n \"EGP\": \"E£\",\n \"EUR\": \"€\",\n \"FJD\": \"FJ$\",\n \"GBP\": \"£\",\n \"GTQ\": \"Q\",\n \"HKD\": \"$\",\n \"HRK\": \"kn\",\n \"HUF\": \"Ft\",\n \"IDR\": \"Rp\",\n \"ILS\": \"₪\",\n \"INR\": \"₹\",\n \"ISK\": \"kr\",\n \"JPY\": \"¥\",\n \"KRW\": \"₩\",\n \"KZT\": \"₸\",\n \"MVR\": \"ރ.\",\n \"MXN\": \"$\",\n \"MYR\": \"RM\",\n \"NOK\": \"kr\",\n \"NZD\": \"$\",\n \"PAB\": \"B/.\",\n \"PEN\": \"S/\",\n \"PHP\": \"₱\",\n \"PKR\": \"₨\",\n \"PLN\": \"zł\",\n \"PYG\": \"₲\",\n \"RON\": \"lei\",\n \"RUB\": \"₽\",\n \"SAR\": \"SR\",\n \"SEK\": \"kr\",\n \"SGD\": \"$\",\n \"THB\": \"฿\",\n \"TRY\": \"₺\",\n \"TWD\": \"$\",\n \"UAH\": \"₴\",\n \"USD\": \"$\",\n \"UYU\": \"$\",\n \"ZAR\": \"R\",\n \"LKR\": \"Rs\",\n \"RMB\": \"¥\",\n },\n IsAnyQuoteFeatureEnabled: false,\n QuoteFeatures: [],\n IsPCBNetClient: false,\n IsGoogleAnalyticsEnabled: false\n};","import { CommonHttpService } from './CommonHttpService';\nimport { URL_CONSTANT } from '../constants/UrlConstant';\n\nexport const ConfigurationService = {\n\n getByKeys: (configKeys) => {\n return CommonHttpService.httpPost(URL_CONSTANT.Configuration.GetConfigurations, configKeys);\n },\n getApplicationConfigurations: () => {\n return CommonHttpService.httpGet(URL_CONSTANT.Configuration.GetApplicationConfigurations);\n },\n getMiscConfigurations: () => {\n return CommonHttpService.httpGet(URL_CONSTANT.MiscConfiguration.GetMiscConfigurations);\n },\n updateMiscConfigurations: (data) => {\n return CommonHttpService.httpPut(URL_CONSTANT.MiscConfiguration.UpdateMiscConfigurations, data);\n },\n getAllMarketingContents: () => {\n return CommonHttpService.httpGet(URL_CONSTANT.MarketingContent.GetAllMarketingContents);\n },\n updateMarketingContent: (data) => {\n return CommonHttpService.httpPut(URL_CONSTANT.MarketingContent.UpdateMarketingContent, data);\n },\n isClientExist: (portcqClientId) => {\n return CommonHttpService.httpGet(`${URL_CONSTANT.Configuration.IsClientExist}?portcqClientId=${portcqClientId}`);\n },\n decryptQueryString: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.Configuration.DecryptQueryString, data);\n }\n}","import { CommonHttpService } from './CommonHttpService';\nimport { URL_CONSTANT } from '../constants/UrlConstant';\n\nexport const AssemblyChatService = {\n\n getAssemblyChat: (assemblyId, loginUserEmail) => {\n const url = `${URL_CONSTANT.AssemblyChat.GetAssemblyChat}?assemblyId=${assemblyId}&&loginUserEmail=${loginUserEmail}`;\n return CommonHttpService.httpGet(url);\n },\n saveAssemblyChatMessage: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.AssemblyChat.SaveAssemblyChatMessage, data);\n },\n getUnreadMessageCount: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.AssemblyChat.GetUnreadMessageCount, data);\n }\n}","import { SET_RFQ_DETAILS, SET_BOMID, SET_IS_CUSTOMQUOTE_REQUIRES, SET_EXTERNAL_USERID } from '../../constants/ActionConstants';\n\nexport const setRFQDetails = (rfqDetails) => ({\n type: SET_RFQ_DETAILS,\n data: { rfqDetails: rfqDetails }\n});\n\nexport const setBOMId = (bomId) => ({\n type: SET_BOMID,\n data: { bomId: bomId || 0 }\n});\n\nexport const setIsCustomQuoteRequired = (isCustomQuoteRequires) => ({\n type: SET_IS_CUSTOMQUOTE_REQUIRES,\n data: { isCustomQuoteRequires: isCustomQuoteRequires || false }\n});\n\nexport const setExternalUserId = (externalUserId) => ({\n type: SET_EXTERNAL_USERID,\n data: { externalUserId: externalUserId }\n});\n","export const MESSAGE_CONSTANT = {\n //quantity: {\n // required: \"Quantity is required.\",\n // invalid: \"Please insert valid Quantity.\"\n //},\n //turnTime: {\n // required: \"Total Turn Time is required.\",\n // invalid: \"Please insert valid Total Turn Time.\",\n // minLength: \"Turn Time should not be less than {0}.\"\n //},\n //contactInfo: {\n // name: {\n // required: \"Name is required.\",\n // invalid: \"Please insert valid Name.\"\n // },\n // firstName: {\n // required: \"First Name is required.\",\n // invalid: \"Please insert valid First Name.\"\n // },\n // lastName: {\n // required: \"Last Name is required.\",\n // invalid: \"Please insert valid Last Name.\"\n // },\n // email: {\n // required: \"Email is required.\",\n // invalid: \"Please insert valid Email.\"\n // },\n // company: {\n // invalid: \"Please insert valid Company name.\"\n // },\n // phone: {\n // required: \"Phone is required.\",\n // invalid: \"Please insert valid Phone.\"\n // }\n //},\n //labor: {\n // laborQuestion: {\n // required: \"Field is required.\",\n // invalid: \"Please enter a valid value.\",\n // maxValue: \"Value must be less than 5 digits.\"\n // },\n // laborNotConfigured: \"Build requirements is not configured.\",\n // onlyReadonlyQuestions: \"Looks like all of your labor activities are already configured, you can move to the next page.\",\n //},\n //documntUploader: {\n // isFileUpload: {\n // required: \"Please add your Gerbers, XYRS data and BOM.\",\n // },\n //},\n //bomFile: {\n // required: \"Please upload csv/xls/xlsx type file and mark it as BOM.\",\n //},\n //tooManyFiles: \"Too many files. Maximum number of files is\",\n validationMessage: {\n //required: \" is required.\",\n //invalid: \"Please insert valid \",\n maxLength50: \"Value must be less than 51 characters.\",\n maxLength100: \"Value must be less than 101 characters.\",\n maxLength250: \"Value must be less than 251 characters.\",\n maxLength500: \"Value must be less than 501 characters.\"\n },\n //CheckListBuilder: {\n // maxValue: \"Value cannot contain more than {0} characters.\",\n // required: \"{0} Field is required.\",\n // invalid: \"Please insert valid {0}.\",\n // minValue: \"Value must be greater than {0} digits.\",\n //},\n //reviewBOM: {\n // //requiredMethodOfSupply: \"Please select Method Of Supply for LineItems \"\n //},\n //required: \"is required.\",\n //validation: {\n // maxValue: \"{0} cannot contain more than {1} characters.\",\n // required: \"{0} is required.\",\n // invalid: \"Please insert valid {0}.\",\n // minValue: \"Value must be greater than {0} digits.\",\n //},\n //accountNumber: {\n // invalid: \"Invalid account number.\",\n // required: \"Account Number is required.\",\n //},\n //Payment: {\n // invalidAmount: \"Amount should be greater than 0.\"\n //},\n //suggestAlternate: {\n // required: \"Please select at least one alternate part.\"\n //},\n //alternates: {\n // duplicate: \"Duplicate part number found : {0}.\",\n // requireAlternateForLineItems: \"Alternate needs to be added for lineitem(s) {0}.\"\n //},\n //customQuoteWarning: \"This would require to be a custom quote. Are you sure you want to continue?\",\n //DeleteFile: \"Are you sure you want to delete {0}?\",\n //DeleteQuantity: \"Are you sure you want to delete this quantity?\",\n //DeleteTurnTime: \"Are you sure you want to delete this turntime?\",\n //MinimumOneQuantityRequired: \"Minimum one quantity and turntime is required.\",\n //MinimumOneTurnTimeRequired: \"Minimum one turntime is required per quantity.\",\n //StartNewQuoteConfirmation: \"Are you sure you want to create a new quote?\",\n //assemblyDetailNotConfigured: \"Assembly details are not configured, you can move to the next page.\",\n //noPCBLineAdded: \"No PCB line(s) added in the BOM. Click {0} button to move to the next page.\",\n //navigationBlockMessage: \"You may have unsaved changes. Are you sure you want to leave this page without saving first?\",\n successMessage: \"Success!\",\n terminologyUpdatedSuccessfully: \"Terminology(s) updated successfully!\",\n //customQuoteWarningForChecklist: \"{0} field(s) selection would require to be a custom quote. Are you sure you want to continue?\",\n //reorderRFQ: \"Are you sure you want to {0} this quote?\",\n miscConfigurationUpdatedSuccessfully: \"Misc Configuration(s) updated successfully!\",\n jobTypesUpdatedSuccessfully: \"Jobtype(s) updated successfully!\",\n rfqStepsUpdatedSuccessfully: \"RFQ Step(s) updated successfully!\",\n shippingMethodsUpdatedSuccessfully: \"Shipping Method(s) updated successfully!\",\n marketingContentUpdatedSuccessfully: \"Marketing Content updated successfully!\",\n checkListDetailsUpdatedSuccessfully: \"Checklist detail updated successfully!\",\n configurations: {\n invalid: \"Please insert valid \",\n required: \" is required.\"\n },\n invalidURLMessage: {\n messageTitle: \"Invalid URL\",\n messageContent: \"This URL you are trying to access is invalid.Please request a valid URL.\"\n }\n};\n"],"sourceRoot":""}