{"version":3,"sources":["aws-exports.js","components/Start15DayFreeTrialButton/index.js","components/LandingPage/TopText.js","images/trindex-final-logo-white.png","images/traindex-logo.png","components/Header/index.js","images/LinkedIn.png","images/Instagram.png","images/Twitter.png","components/Footer/index.js","images/Funnel Icon.png","images/Spot icon.png","images/Document icon.png","images/invalidation.png","images/text category.png","images/data-catalogs.png","api/APIClient.js","api/InvalidationAPI.js","images/image-slider-1.png","images/image-slider-2.png","components/LandingPage/builtInMind.js","images/image-slider-bg.png","components/LandingPage/index.js","images/green-check.png","images/circle-left-large.png","images/circle-right.png","images/circle-left-small.png","images/done-for-you-service.png","utils/common.js","api/DatasetApi.js","api/AwsApi.js","api/UsersAPI.js","utils/auth.utils.js","contexts/reducer.js","contexts/StateProvider.js","components/UnpaidModal/index.js","components/Dataset/CSVUploadModal.js","components/Dataset/Preview.js","components/TrialAlert/index.js","components/PastDueAlert/index.js","components/Dataset/index.js","components/Terms/TermsOfUseText.js","components/Terms.js","components/Privacy/PrivacyText.js","components/Privacy.js","components/Reactstrap_Components/Button/index.js","components/VerifyEmail/index.js","components/SignIn/index.js","components/SignUp/index.js","utils/PublicRoute/index.js","images/default-profile-image.png","components/ExtraComponents/TopMenu/index.js","components/ExtraComponents/ThemeAdmin/index.js","utils/PrivateRoute/index.js","utils/PublicPrivateRoute/index.js","components/UpdatePassword/index.js","components/Profile/index.js","api/OrganizationsAPI.js","components/Settings/index.js","api/IndexAPI.js","components/OrganizationModal/index.js","components/IndexPage/index.js","components/IndexPage/AddIndex.js","utils/GoogleAnalytics.js","components/ResetPassword/index.js","components/DemoAPI/index.js","components/Chatbot/Filter.js","components/Chatbot/SingleMessage.js","components/Chatbot/ChatContainer.js","components/Chatbot/Feedback.js","components/Chatbot/index.js","api/PriorArtApi.js","components/PriorArt/index.js","components/PriorArt/download.js","components/LandingPage/invalidation.js","api/SubscriptionApi.js","components/Subscription/Coupon.js","api/EmailsAPI.js","components/ExtraComponents/SpinnerOverlay/index.js","components/Subscription/BillingCard.js","api/PaymentMethodAPI.js","components/Subscription/PaymentMethod.js","api/InvoiceAPI.js","components/Subscription/InvoiceCard.js","components/Subscription/index.js","components/ApiDocs/index.js","api/ApiSettings.js","components/ExtraComponents/Message/index.js","components/IndexPage/IndexItem/USPatentsIndex.js","components/IndexPage/IndexItem/WikipediaIndex.js","components/IndexPage/IndexItem/ArXivIndex.js","components/IndexPage/IndexItem/IndexItem.js","components/Swagger/USPatentsAPI.js","components/Swagger/WikiAPI.js","components/Swagger/ArxivAPI.js","components/EmailReminders/FormComponent.js","api/RemindersAPI.js","utils/admin.utils.js","components/SideBar/index.js","components/EmailReminders/index.js","components/PausePayment/index.js","App.js","index.js"],"names":["awsConfig","aws_project_region","process","REACT_APP_AWS_PROJECT_REGION","aws_cognito_region","REACT_APP_AWS_COGNITO_REGION","aws_user_pools_id","aws_user_pools_web_client_id","Start15DayFreeTrialButton","_ref","className","_jsx","Button","tag","Link","to","concat","color","children","TEXTS","TopText","_useState","useState","_useState2","_slicedToArray","index","setIndex","useEffect","interval","setInterval","clearInterval","_jsxs","TextTransition","inline","text","length","springConfig","presets","gentle","Header","dark","chatbot","isOpen","setIsOpen","navLinkClassName","Container","Navbar","expand","NavbarBrand","src","traindexLogoWhite","traindexLogo","alt","height","NavbarToggler","onClick","FontAwesomeIcon","icon","faBars","Collapse","navbar","Nav","NavItem","NavLink","href","emailRegex","RegExp","Footer","home","success","setSuccess","CustomForm","_ref2","email","status","onValidated","InputGroup","Input","innerRef","node","type","placeholder","test","value","EMAIL","faEnvelope","faCheck","faTimesCircle","_Fragment","logo","target","rel","LinkedIn","Twitter","Instagram","MailchimpSubscribe","url","render","_ref3","subscribe","message","formData","Date","getFullYear","headers","client","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","endpoint","_ref2$method","method","body","customConfig","user","idToken","config","_args2","arguments","wrap","_context2","prev","next","undefined","_objectWithoutProperties","_excluded","Auth","currentAuthenticatedUser","sent","signInUserSession","jwtToken","Authorization","t0","_objectSpread","JSON","stringify","abrupt","fetch","then","_callee","response","data","_context","json","ok","Promise","reject","Code","Message","stop","_x2","apply","_x","InvalidationReportApi","_createClass","_classCallCheck","getData","ucid","create","exists","fileExists","ImageComponent","sliderImages","uid","image","imageSlider1","imageSlider2","BuiltInMind","activeSliderImage","setActiveSliderImage","img","Number","Row","Col","xs","md","SwitchTransition","CSSTransition","addEndListener","done","addEventListener","classNames","map","sliderImage","find","item","onChangeSlide","GreenCheckIcon","width","LandingPage","UCIDforInvalidation","setUCIDforInvalidation","history","useHistory","_useMutation","useMutation","onSuccess","push","dataForInvalidationExists","mutate","dataExistError","error","statusData","doesdataForInvalidationExists","event","preventDefault","ScrollableAnchor","id","spotIcon","documentIcon","classificationIcon","extractIcon","invalidationIcon","Card","CardBody","Form","onSubmit","FormGroup","Label","for","name","onChange","required","Spinner","size","dataCatalogs","validatePassword","password","fullName","nameParts","split","lowerPassword","toLowerCase","i","namePart","includes","formatBytes","bytes","decimals","dm","Math","floor","log","parseFloat","pow","toFixed","convertedDate","date","toLocaleDateString","year","month","day","queryClient","QueryClient","defaultOptions","queries","retry","staleTime","DatasetApi","_class","fetchFiles","key","dataset_name","signed_policy","presignedURL","remove","ids","removeFile","AwsApi","axios","post","Users","_remove","get","userID","list","organizationId","update","getCurrentUser","bypassCache","signIn","signUp","_ref4","_callee3","_context3","username","attributes","trim","_x3","confirmSignUp","_ref5","_callee4","code","signInResponse","_context4","full_name","auth_user_id","sub","invalidateQueries","_x4","_x5","_x6","signOut","_ref6","_callee5","_context5","updateUser","_ref7","_callee6","res","_context6","updateUserAttributes","_x7","initialState","orgInfo","files","indexes","userError","indexesError","apiSettingerror","orgInfoError","filesError","isSignUp","datasetJoyride","indexJoyride","searchJoyride","reducer","state","action","orgs","orgsError","StateContext","createContext","StateProvider","_useReducer","useReducer","_useReducer2","dispatch","_getUser","userObj","emailStatus","userId","userData","subscription","email_verified","stripe_subscription_id","last4","organization","role","getUser","getUserInfo","Provider","useStateValue","useContext","UnpaidModal","modal","Modal","ModalHeader","faExclamationCircle","ModalBody","RouterNavLink","CSVUploadModal","toggle","CLIResponse","setCLIResponse","_useState3","_useState4","loading","setLoading","_useState5","_useState6","setError","onUploadCLIFile","e","fileDataCLI","Data","endsWith","filesize","filename","org_id","Clipboard","faCopy","faTerminal","style","display","accept","UncontrolledTooltip","placement","objectData","contentType","window","navigator","msSaveOrOpenBlob","blob","Blob","decodeURIComponent","encodeURI","a","document","createElement","download","encodeURIComponent","appendChild","click","removeChild","exportToJson","cursor","ModalFooter","disabled","Preview","setModal","fileDelimiter","csv","startsWith","refinedArray","strData","strDelimiter","objPattern","arrData","arrMatches","exec","strMatchedDelimiter","strMatchedValue","replace","CSVToArray","newDelimiter","stringArray","forEach","element","join","transformedData","scrollable","CsvToHtmlTable","csvDelimiter","tableClassName","TrialAlert","trial_end","trialDays","setTrialDays","currentDate","utcSeconds","setUTCSeconds","trials","ceil","getTime","Alert","moment","unix","PastDueAlert","leftDays","setLeftDays","pastDays","setPastDays","period_start","current_period_start","isDue","isPaused","pause_collection","Dataset","_useStateValue","pageSize","setPageSize","_useState7","_useState8","preview","setPreview","_useState9","_useState10","_useState11","_useState12","csvModal","setCSVModal","_useState13","_useState14","run","setRun","steps","title","content","floaterProps","disableAnimation","disableBeacon","spotlightClicks","faEllipsisH","refreshDataset","_files","deleteFile","preservedKey","getPreview","resp","onUpload","fileData","signedFields","_i","_Object$keys","_files2","FormData","user_email","fields","Object","keys","append","parse","atob","conditions","acl","uploadCsv","refinedFiles","file","fileName","Key","pop","isUSPatentsDataset","isWikiDataset","isArxivDataset","fileSize","Size","fileDate","LastModified","filesForGrid","sort","b","columns","field","headerName","flex","sortable","renderCell","params","row","startIcon","DeleteIcon","ReactJoyride","callback","continuous","showSkipButton","scrollToFirstStep","styles","options","primaryColor","locale","last","_isExpired","variant","faUpload","flexGrow","DataGrid","autoHeight","onPageSizeChange","newPageSize","rows","rowsPerPageOptions","pagination","TermsOfUseText","fluid","offset","Terms","PrivacyText","Privacy","_ref$color","_ref$bgColor","bgColor","_ref$size","_ref$disabled","_ref$outline","outline","props","ReactstrapButton","backgroundColor","borderColor","VerifyEmail","isModalOpen","setCode","confirm","backdrop","SignIn","setEmail","setPassword","resetPassword","setUser","newPassword","setNewPassword","_useState15","_useState16","setIsModalOpen","handleSubmit","userInfo","challengeName","redirectToDashboard","handleResetPasswordSubmit","passwordValidate","challengeParam","userAttributes","completeNewPassword","onChangeHandler","_event$target","CardImg","top","CardTitle","CardSubtitle","FormText","SignUp","confirmPassword","setFormData","Error","_defineProperty","minLength","PublicRoute","Component","component","authorize","setAuthorize","catch","Route","Redirect","pathname","from","location","withRouter","collapsed","setCollapsed","redirectToSignIn","UncontrolledDropdown","nav","inNavbar","DropdownToggle","profileImage","DropdownMenu","right","DropdownItem","ThemeAdmin","_ref$backgroundColor","TopMenu","PrivateRoute","PublicPrivateRoute","UpdatePassword","currentPassword","isSuccess","setIsSuccess","errorMessage","setErrorMessage","changePassword","clearForm","setTimeout","UncontrolledAlert","Profile","saveError","setSaveError","saveStatus","setSaveStatus","userName","setUserName","onUpdateUser","defaultValue","OrganizationsAPI","Settings","_user$organization2","setOrganization","updatedOrg","setUpdatedOrg","users","setUsers","setRole","colors","_user$organization","fetchUsers","item_id","newUser","some","el","org_name","_toConsumableArray","updateOrganization","removeUser","filter","User","newRole","newUsers","user_id","u","usersDisplay","userItem","abbrevName","charAt","toUpperCase","UncontrolledButtonDropdown","caret","active","toString","ListGroup","defaultChecked","Table","borderless","Indexes","_list","index_id","OrganizationModal","orgName","setOrgName","onCreateOrg","finish","invalid","FormFeedback","IndexPage","URLSearchParams","search","IndexApi","indexesForGrid","created_at","modified_at","author","disableTour","faPlusCircle","ColorlibConnector","withStyles","alternativeLabel","completed","line","border","borderRadius","StepConnector","useColorlibStepIconStyles","makeStyles","root","zIndex","justifyContent","alignItems","ColorlibStepIcon","classes","icons","DescriptionIcon","ViewColumnIcon","PlaylistAddCheckIcon","clsx","String","useStyles","theme","button","marginRight","spacing","marginTop","marginBottom","minHeight","CustomizedSteppers","columnsData","setColumnsData","currentDataset","setCurrentDataset","indexName","setIndexName","activeStep","setActiveStep","collapse","setCollapse","columnsRole","setColumnsRole","_useState17","_useState18","datasetSize","setDatasetSize","handleNext","datasetData","dataArray","initialColumnsRole","_loop","prevActiveStep","readString","columnData","x","delegateYield","t1","values","onChangeIndexName","orgId","dataset","datasetOptions","label","handleSelectRadio","_e$target","newColumnsRole","Stepper","connector","Step","StepLabel","StepIconComponent","Typography","step","Select","datasetOption","handleSelectDataset","faQuestionCircle","check","checked","slice","scope","InputGroupText","onChangeCollapse","faAngleUp","faAngleDown","getStepContent","GoogleAnalytics","_Component","_inherits","_super","_createSuper","this","logPageChange","prevLocation","_this$props$location","isDifferentPathname","isDifferentSearch","page","ReactGA","set","origin","pageview","initialize","ResetPassword","codeSent","setCodeSent","isSendingCode","setIsSendingCode","confirmed","setConfirmed","isConfirming","setIsConfirming","handleSendCodeClick","forgotPassword","handleConfirmClick","forgotPasswordSubmit","block","DemoAPI","apis","patents","setPatents","articles","setArticles","arxivSamples","setArxivSamples","activeTab","setActiveTab","dropDownValue","setDropDownValue","searchValue","setSearchValue","optionValue","setOptionValue","patentNumbers","patentSample","wikiArticles","wikiSample","arxivTitles","arxivSample","_useState19","_useState20","keyString","setKeyString","selectIndex","currentTarget","textContent","patentsOptions","patentNumber","articleOptions","article","arxivOptions","sampleOptions","onSubmitRequest","us_patents_endpoint","wiki_endpoint","arxiv_endpoint","Accept","us_patents_api_keys","api_key","wiki_api_keys","arxiv_api_keys","request","conceptFeaturesString","maxNumItems","patentsDisplay","foundItems","urlPath","urlLink","conceptScore","colSpan","articlesDisplay","ID","link","arxivSamplesDisplay","_item$id$split","_item$id$split2","id_start","id_end","repeat","substring","fixed_id","autoFocus","option","handleSelectSample","sm","responsive","Filter","priorityDValue","publicationDValue","toggleValue","cpcValue","kindCodeValue","onChangePriorityD","onChangePublicationD","cpcHandleChange","priorityCondition","publicationCondition","kindCodeHandleChange","handleClearSearch","onChangePriorityCondition","onChangePublicationCondition","onChangeToggleValue","ddOpen","setDdOpen","Dropdown","faFilter","faChevronUp","faChevronDown","htmlFor","maxLength","pattern","inputMode","divider","SingleMessage","isUser","ReactMarkdown","remarkPlugins","remarkGfm","ChatContainer","messages","loadingForGen","promptInputValue","onPromptInputChange","handleKeyDown","runConversation","onKeyDown","faPaperPlane","Feedback","feedback","setFeedback","isPositive","setIsPositive","feedbackDDOpen","setFeedbackDDOpen","handleFeedback","intent","userFeedback","timeout","faThumbsUp","whiteSpace","cloudWatchLogs","AWS","CloudWatchLogs","region","accessKeyId","secretAccessKey","cloudWatch","CloudWatch","sendToCloudWatch","executionTime","MetricData","MetricName","Dimensions","Name","Value","Unit","Namespace","putMetricData","err","console","sendLogToCloudWatch","logGroupName","logData","logStreamName","uuidv4","createLogStream","promise","putLogEvents","logEvents","timestamp","P_VALUES","Chatbot","setPriorityDValue","setPublicationDValue","setcpcValue","setkindCodeValue","setPriorityCondition","setPublicationCondition","threadData","setThreadData","HEADERS","createThread","payload","fetchThread","setLoadingForGen","setpromptInputValue","setMessages","sendMessage","threadId","query","getMessages","_ref8","_callee7","_context7","checkCompleteStatus","_ref9","_callee8","runId","_context8","traindex_API","_ref10","_callee9","args","priority_sign","publication_sign","pdValueWithoutDashs","_pdValueWithoutDashs","_context9","get_full_patent_text","_ref11","_callee10","_context10","rerank_patents_for_invalidation","_ref12","_callee11","_pdValueWithoutDashs2","_context11","_x8","submitToolOutput","_ref13","_callee12","toolOutputs","_context12","tool_outputs","_x9","_x10","_x11","runAssistant","_ref14","_callee13","_context13","assistant_id","_x12","delay","ms","resolve","_ref15","_callee14","textarea","cloudWatchStruct","prompt","startTime","userMessageUpdate","response_status","statusCompleteRes","anyError","function_props","function_name","function_args","function_tool_id","updated_patents","jsonString","formattedToolOutput","_jsonString","_formattedToolOutput","patents_res","_jsonString2","_formattedToolOutput2","inv_patents_res","thread_messages","words","tokens","sizeInKB","dexiMessageUpdate","endTime","_context14","querySelector","user_query","performance","now","prototype","hasOwnProperty","call","patent_text","prettier","format","parser","plugins","parserBabel","match","_x13","min","scrollHeight","PriorArtApi","sendEmail","PriorArt","setData","_fetchData","_data","fetchData","noGutters","assignee","priority_date","grant_date","DownloadPriorArt","progressValue","setProgressValue","scrollTo","Progress","max","GenerateInvalidation","Subscription","applyCoupon","activateAndApplyCoupon","delete","Coupon","couponCode","setCouponCode","showApplyBtn","openCouponField","setOpenCouponField","queryKey","fade","Emails","sendCancel","SpinnerOverlay","show","BillingCard","_subscriptionData$dis","_subscriptionData$dis2","modalError","setModalError","selected","setSelected","opinion","setOpinion","subscriptionPlan","setSubscriptionPlan","updateDisable","setUpdateDisable","confirmSubscriptionPlanModal","setConfirmSubscriptionPlanModal","confirmCallbackName","setConfirmCallbackName","_useQuery","useQuery","enabled","Boolean","subscriptionData","mutateQuery","setQueryData","cancelSubscription","cancelSubscriptionStatus","cancelSubscriptionError","_useMutation2","updateSubscription","updateSubscriptionStatus","updateSubscriptionError","_useMutation3","activateAndApplyCouponStatus","activateAndApplyCouponError","isCancelAtPeriodEnd","cancel_at_period_end","subscriptionStatus","isTrialing","isCanceled","isLoading","isUpdating","isError","percentOff","discount","coupon","percent_off","monthlyPrice","parseInt","annualPrice","actualMonthlyPrice","round","actualAnnualPrice","formattedMonthlyPrice","toLocaleString","minimumFractionDigits","formattedAnnualPricePerMonth","subscriptionOptions","_subscriptionData$dis3","_subscriptionData$dis4","actualAmount","plan","amount","price","toggleModal","handleReasonChange","onCancelSubscription","reason","ResponseMetadata","HTTPStatusCode","checkForSubscriptionPlanConfirmation","callbackName","onCloseSubscriptionPlanModal","onActivateSubscription","subscription_plan","activate_subscription","onConfirmSubscriptionPlanModal","updateSubscriptionPlan","isSearchable","menu","provided","PaymentMethod","_update","_verify","base","fontSize","letterSpacing","fontFamily","UpdatePaymentMethod","_paymentSource$data$","setStatus","isValidCardNumber","setIsValidCardNumber","isValidCVC","setIsValidCVC","isValidExpiry","setIsValidExpiry","accountType","setAccountType","country","currency","routing_number","account_number","account_holder_name","bankAccountForm","setBankAccountForm","amount1","amount2","verifyForm","setVerifyForm","stripe","useStripe","elements","useElements","paymentMethod","setPaymentMethod","paymentSource","stripe_info","sources","invalidateQuery","_response","_body","createToken","getElement","CardNumberElement","collection_id","stripe_customer_id","token_id","token","payment_method","account_holder_type","handleChange","complete","elementType","onSubmitVerify","amounts","verify","onChangeBankForm","onChangeAmount","_event$target2","submitCardDisable","submitAccountDisable","CardCvcElement","CardExpiryElement","Invoice","invoices","created","total","InvoiceCard","invoiceData","validInvoices","useMemo","invoice","paid","invoice_pdf","ApiDocumentation","dropdownOpen","setDropdownOpen","introRef","useRef","endpointRef","queryStructureRef","vectorsRef","dictionaryRef","authRef","errorsRef","index_name","apiEndpoint","apiKey","introText","endpointText","queryCode","raw","_templateObject","_taggedTemplateLiteral","queryResponse","vectorsCode","_templateObject2","vectorsResponse","dictionaryCode","_templateObject3","dictionaryResponse","scrollToRef","ref","current","offsetTop","Scrollspy","items","currentClassName","source","CopyBlock","language","monoBlue","codeBlock","ApiSettings","all","addKey","removeKey","header","_ref$isOpen","onToggle","_ref$fade","USPatentsIndex","_apis$us_patents_api_4","getAll","addMore","deleteKey","columnNames","USPatentData","visible","setVisible","setApis","keyToDelete","setKeyToDelete","spotlightPadding","handleAddMore","_apis$us_patents_api_","prevLoading","handleDeleteKey","_apis$us_patents_api_2","_apis$us_patents_api_3","api_key_id","Breadcrumb","listTag","BreadcrumbItem","CardHeader","CardText","faEyeSlash","faEye","creation_date","apiId","WikipediaIndex","WikipediaData","ArXivIndex","_apis$arxiv_api_keys4","arxivData","_apis$arxiv_api_keys","_apis$arxiv_api_keys2","_apis$arxiv_api_keys3","IndexItem","_indexItem$api_keys4","indexItem","setIndexItem","_getIndex","getIndex","_indexItem$api_keys","api_keys","_indexItem$api_keys2","_indexItem$api_keys3","api_id","columns_data","api_endpoint","dataset_size","columns_role","USPatentsSwaggerAPI","alert","setAlert","srcElement","originalTarget","innerText","getElementsByClassName","buttons","querySelectorAll","l","SwaggerUI","docExpansion","WikiSwaggerAPI","ArxivSwaggerAPI","FormComponent","param_name","param_duration","param_unit","param_file","param_subject","onSubmitHandler","unit","setUnit","duration","setDuration","timeDifference","setTimeDifference","successMessage","setSuccessMessage","setDropDownOpen","d","setMinutes","getMinutes","setHours","getHours","setDate","getDate","_yield$onSubmitHandle","InputGroupButtonDropdown","addonType","fontWeight","EmailReminders","update_parameters","SideBar","path","MailOutline","Payment","Search","forethetaAdmin","setForethetaAdmin","foretheta_admin","subject","_yield$update_paramet","useLocation","Reminders","PausePayment","disabledItem","setDisabledItem","handleSwitch","subscription_id","paused_payment","inputProps","Switch","App","Router","GA","exact","Elements","loadStripe","AddIndex","Amplify","configure","ClipboardJS","ReactDOM","QueryClientProvider","getElementById"],"mappings":"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","file":"static/js/main.170918ac.chunk.js","sourcesContent":["const awsConfig = {\n aws_project_region: process.env.REACT_APP_AWS_PROJECT_REGION,\n aws_cognito_region: process.env.REACT_APP_AWS_COGNITO_REGION,\n aws_user_pools_id: process.env.REACT_APP_AWS_USER_POOL_ID,\n aws_user_pools_web_client_id: process.env.REACT_APP_AWS_USER_APP_CLIENT_ID\n}\n\nexport default awsConfig\n","import React from \"react\"\nimport { Link } from \"react-router-dom\"\nimport { Button } from \"reactstrap\"\n\nconst Start15DayFreeTrialButton = ({ className }) => {\n return (\n \n Start your free trial\n \n )\n}\n\nexport default Start15DayFreeTrialButton\n","import React, { useState, useEffect } from \"react\"\nimport TextTransition, { presets } from \"react-text-transition\"\nimport Start15DayFreeTrialButton from \"../Start15DayFreeTrialButton\"\n\nconst TEXTS = [\"patent search \", \"prior art search \", \"novelty search \", \"similarity search \"]\n\nconst TopText = () => {\n const [index, setIndex] = useState(0)\n\n useEffect(() => {\n const interval = setInterval(() => {\n setIndex(index => index + 1)\n }, 3000)\n return () => clearInterval(interval)\n }, [])\n\n return (\n
\n

\n AI-powered{\" \"}\n \n
\n without hiring a data science team\n

\n \n
\n No credit card required\n
\n )\n}\n\nexport default TopText\n","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/traindex-logo.d77037db.png\";","import React, { useState } from \"react\"\nimport { Container, Navbar, NavbarBrand, Collapse, Nav, NavItem, NavbarToggler, NavLink, Button } from \"reactstrap\"\nimport { Link } from \"react-router-dom\"\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport { faBars } from \"@fortawesome/free-solid-svg-icons\"\nimport TopText from \"../LandingPage/TopText\"\nimport traindexLogoWhite from \"../../images/trindex-final-logo-white.png\"\nimport traindexLogo from \"../../images/traindex-logo.png\"\nimport \"./header.scss\"\n\nconst Header = ({ dark, chatbot }) => {\n const [isOpen, setIsOpen] = useState(false)\n\n const toggle = () => setIsOpen(!isOpen)\n\n const navLinkClassName = dark ? \"landing-page-navbar-link\" : \"landing-page-navbar-link-light\"\n\n return (\n
\n \n \n \n \"Traindex\n \n \n \n \n \n \n \n \n {dark && !chatbot && }\n \n
\n )\n}\n\nexport default Header\n","export default __webpack_public_path__ + \"static/media/LinkedIn.17f75ba5.png\";","export default __webpack_public_path__ + \"static/media/Instagram.480881be.png\";","export default __webpack_public_path__ + \"static/media/Twitter.e8c66ae5.png\";","import React, { useState } from \"react\"\nimport { Link } from \"react-router-dom\"\nimport { Button, Input, InputGroup } from \"reactstrap\"\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport { faCheck, faEnvelope, faTimesCircle } from \"@fortawesome/free-solid-svg-icons\"\nimport MailchimpSubscribe from \"react-mailchimp-subscribe\"\nimport logo from \"../../images/trindex-final-logo-white.png\"\nimport \"./footer.css\"\nimport LinkedIn from \"../../images/LinkedIn.png\"\nimport Instagram from \"../../images/Instagram.png\"\nimport Twitter from \"../../images/Twitter.png\"\n\nconst emailRegex = RegExp(\n /^(([^<>()\\[\\]\\\\.,;:\\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,}))$/ /* eslint-disable-line */\n)\n\nconst Footer = ({ home }) => {\n const [success, setSuccess] = useState(\"\")\n const CustomForm = ({ status, onValidated }) => {\n status === \"success\" && setSuccess(true)\n status === \"error\" && setSuccess(false)\n let email\n const submit = () =>\n email &&\n emailRegex.test(email.value) &&\n onValidated({\n EMAIL: email.value,\n \"group[166513][2]\": \"2\",\n })\n\n return (\n \n (email = node)}\n type=\"email\"\n placeholder=\"Email\"\n />\n \n {success === true && (\n
\n \n Please check your inbox to confirm your subscription.\n
\n )}\n {success === false && (\n
\n You are already subscribed to the newsletter.\n
\n )}\n
\n )\n }\n return (\n <>\n {home && (\n
\n \n \n \n \n
\n )}\n
\n

Bellevue, WA 98008 © {new Date().getFullYear()} Traindex. All rights reserved

\n
\n \n )\n}\n\nexport default Footer\n","export default __webpack_public_path__ + \"static/media/Funnel Icon.fd65e320.png\";","export default __webpack_public_path__ + \"static/media/Spot icon.3f159d99.png\";","export default __webpack_public_path__ + \"static/media/Document icon.ca459d06.png\";","export default __webpack_public_path__ + \"static/media/invalidation.de9182fc.png\";","export default __webpack_public_path__ + \"static/media/text category.edc1ef6e.png\";","export default __webpack_public_path__ + \"static/media/data-catalogs.bc8bcd3b.png\";","import { Auth } from \"aws-amplify\"\nimport \"unfetch/polyfill\"\n\nexport const headers = { \"content-type\": \"application/json\" }\nconst client = async (endpoint, { method = \"GET\", body, ...customConfig } = {}) => {\n try {\n const user = await Auth.currentAuthenticatedUser()\n const idToken = user.signInUserSession.idToken.jwtToken\n /* istanbul ignore else */\n if (idToken) {\n headers.Authorization = `Bearer ${idToken}`\n }\n } catch (error) {\n headers.Authorization = undefined\n }\n const config = {\n method: method,\n ...customConfig,\n headers: {\n ...headers,\n ...customConfig.headers,\n },\n }\n /* istanbul ignore else */\n if (body) {\n config.body = JSON.stringify(body)\n }\n\n return fetch(`${process.env.REACT_APP_API_URL}/${endpoint}`, config).then(async (response) => {\n const data = await response.json()\n if (response.ok) {\n return data\n } else {\n if (data && \"Code\" in data && \"Message\" in data) return Promise.reject({ Code: data.Code, message: data.Message })\n return Promise.reject(data)\n }\n })\n}\n\nexport default client\n","import client from \"./APIClient\"\n\nexport default class InvalidationReportApi {\n static getData = (ucid) => {\n return client(`invalidation-report?ucid=${ucid}`)\n }\n\n static create = formData => {\n return client(\"invalidation-report\", { method: \"POST\", body: formData })\n }\n\n static exists = (ucid) => {\n return client(`invalidation-report/exists?ucid=${ucid}`)\n }\n\n static fileExists = (ucid) => {\n return client(`data-for-report/exists?ucid=${ucid}`)\n }\n}\n","export default __webpack_public_path__ + \"static/media/image-slider-1.2f2609e2.png\";","export default __webpack_public_path__ + \"static/media/image-slider-2.07770d85.png\";","import React, { useState, useEffect } from \"react\"\nimport { Col, Row } from \"reactstrap\"\nimport { CSSTransition, SwitchTransition } from \"react-transition-group\"\nimport imageSliderBG from \"../../images/image-slider-bg.png\"\nimport imageSlider1 from \"../../images/image-slider-1.png\"\nimport imageSlider2 from \"../../images/image-slider-2.png\"\nimport \"./landingPage.scss\"\n\n\nconst ImageComponent = ({ src }) => (\n \"Traindex\n)\n\nconst sliderImages = [\n {\n uid: 0,\n image: ,\n },\n {\n uid: 1,\n image: ,\n },\n]\n\nconst BuiltInMind = () => {\n const [activeSliderImage, setActiveSliderImage] = useState(sliderImages[0])\n\n const onChangeSlide = (uid) => {\n const sliderImage = sliderImages.find((item) => item.uid === uid)\n setActiveSliderImage(sliderImage)\n }\n\n const cssTransitionAddEndListener = (node, done) => node.addEventListener(\"transitionend\", done, false)\n\n useEffect(() => {\n const interval = setInterval(() => setActiveSliderImage((img) => sliderImages[Number(!img.uid)]), 5000)\n return () => {\n clearInterval(interval)\n }\n }, [])\n\n\n return (\n \n \n \"slider\n \n \n {activeSliderImage.image}\n \n \n\n
    \n {sliderImages.map((sliderImage) => (\n onChangeSlide(sliderImage.uid)}\n key={sliderImage.uid}\n className={activeSliderImage.uid === sliderImage.uid ? \"active\" : \"\"}\n >\n ))}\n
\n \n \n

Built with engineers in mind

\n

\n We built fast APIs that development teams can integrate right away. Our extensive documentation, and\n 24/7 support gives you a delightful developer experience.\n

\n \n \n )\n}\n\nexport default BuiltInMind\n","export default \"data:image/png;base64,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\"","import React, { useState } from \"react\"\nimport { Col, Container, Row, Card, Form, FormGroup, Label, Input, Button, CardBody, Spinner } from \"reactstrap\"\nimport ScrollableAnchor from \"react-scrollable-anchor\"\nimport { useHistory } from \"react-router\"\nimport Header from \"../Header\"\nimport Footer from \"../Footer\"\nimport Start15DayFreeTrialButton from \"../Start15DayFreeTrialButton\"\nimport extractIcon from \"../../images/Funnel Icon.png\"\nimport spotIcon from \"../../images/Spot icon.png\"\nimport documentIcon from \"../../images/Document icon.png\"\nimport invalidationIcon from \"../../images/invalidation.png\"\nimport classificationIcon from \"../../images/text category.png\"\nimport greenCheckIcon from \"../../images/green-check.png\"\nimport circleLeftLarge from \"../../images/circle-left-large.png\"\nimport circleLeftSmall from \"../../images/circle-left-small.png\"\nimport circleRight from \"../../images/circle-right.png\"\nimport doneForYouService from \"../../images/done-for-you-service.png\"\nimport dataCatalogs from \"../../images/data-catalogs.png\"\nimport InvalidationReportApi from \"../../api/InvalidationAPI\"\nimport { useMutation } from \"react-query\"\nimport BuiltInMind from \"./builtInMind\"\nimport \"./landingPage.scss\"\n\nconst GreenCheckIcon = ({ className }) => (\n \"green\n)\n\nconst LandingPage = () => {\n const [UCIDforInvalidation, setUCIDforInvalidation] = useState(\"\"),\n history = useHistory(),\n { mutate: dataForInvalidationExists, error: dataExistError, statusData } \n = useMutation(InvalidationReportApi.fileExists, {\n onSuccess: () => {\n history.push(`/generate-invalidation/${UCIDforInvalidation}`)\n },\n })\n\n const doesdataForInvalidationExists = async (event) => {\n event.preventDefault()\n dataForInvalidationExists(UCIDforInvalidation)\n }\n\n const onChangeUCIDforInvalidation = (event) => {\n setUCIDforInvalidation(event.target.value)\n }\n\n return (\n
\n
\n
\n \n \n

Why Traindex?

\n
\n \n \n
\n \"spot\n
\n

\n Search with an understanding of meaning and not just the literal keywords\n

\n \n \n
\n \"document\n
\n

Synonyms don't have to be explicitly included

\n \n \n
\n \"classification\n
\n

No need to carefully pick the right keywords for the search

\n \n \n
\n \"extract\n
\n

\n No need to derive page ranking or other indirect information to rank results\n

\n \n
\n\n \n

Invalidation Search

\n
\n

Get a free invalidation search report in your email inbox

\n \n \n \n \n \n \n \n
\n \n \n Enter your patent UCID\n \n \n

{dataExistError && dataExistError.message}

\n
\n \n
\n
\n
\n \n
\n
\n\n
\n\n
\n \n

\n Built on open technologies\n

\n

Traindex uses battle tested machine learning models

\n
\n
\n \n DOC2VEC\n
\n
\n \n LSA\n
\n
\n \n BERT\n
\n
\n \n GPT\n
\n
\n
\n
\n\n \n
\n \n

\n Search what they mean, not what they say\n

\n

Keyword search fails in specialized domains like patent search

\n \n \n 1\n

\n It's surprising how many ways you can describe the same thing. Don't guess the exact words\n used to describe what you are looking for.\n

\n \n \n 2\n

\n You're limited to a few keywords. Don't waste time picking the most relevant keywords that\n appropriately represet your document.\n

\n \n \n 3\n

\n You have specially trained people. Save your personnel's time, effort, and the drudgery of\n doing menial tasks.\n

\n \n \n 4\n

\n With keyword search, it's easy to miss the mark. Too narrow and you miss things. Too broad and\n you have too many results.\n

\n \n
\n
\n
\n
\n\n
\n \"\"\n \n \n \n

\n Don't reinvent the wheel\n

\n \n \n

\n Starting a data science program can cost ~$250k a year. That's if you're a scrappy startup.\n More if you're a large enterprise.\n

\n

\n Building and hosting machine learning models has some unique cost centers that other software\n businesses don't:\n

\n
\n
\n \n Compute\n
\n
\n \n Human in the loop\n
\n
\n \n
\n
\n \"\"\n \"\"\n
\n\n
\n \n

\n Skip the product development phase and focus on building the best experience for your users\n

\n \n
\n
\n\n
\n \n \n \n \"connect\n \n \n \n

Done for you service

\n
\n

\n You upload data and Traindex gives you an API that you can integrate into your custom application or\n workflow. Traindex engineers take care of:\n

\n
\n
\n \n Data cleaning and preprocessing\n
\n
\n \n Hyper parameter tunning\n
\n
\n \n Training\n
\n
\n \n Hosting\n
\n
\n \n
\n \n \n

Data Catalogs

\n

\n We have data catalogs already indexed, so you get started right away. Our quickly growing list of\n publicly available datasets:\n

\n
\n
\n \n Patents Corpus\n
\n
\n \n Wikipedia\n
\n
\n \n arXiv.org\n
\n
\n \n \n \"data-catalogs\"\n \n
\n \n
\n
\n\n
\n\n
\n \n \n \n

\n Don't have a team to do custom integration? No problem. We offer professional services at very\n reasonable rates.\n

\n \n \n \n \n \n \n
\n
\n
\n
\n
\n
\n )\n}\n\nexport default LandingPage\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAiBAMAAAAjXq3yAAAAGFBMVEUAAAAptHMptHMptHMptHMptHMptHMptHMA+Q5TAAAAB3RSTlMAM+7MEd27CTSvSgAAAHVJREFUKM+9zrEJgDAUBFAV7YMTmMoBErAN6ABWbuACsbj1NZBw5LDVKz/vc9f8lP40cllhhSyIRggwCQF2JdEosa+kPYKQEV7IjCtUpAPgq6IBeBBJ+kqo2jImtGVC5DIhQiFEJESJEJEQZUJUCFEhRI7ku9zTjzZ1H3cj8gAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJkAAAELCAMAAAD9W9R0AAAAM1BMVEUAAAAptHMptHMptHMptHMptHMptHMptHMptHMptHMptHMptHMptHMptHMptHMptHMptHNCid+tAAAAEHRSTlMAQPDAgBDgIGAwoFDQsHCQvrb+swAAA4hJREFUeNrt3Utu20AURNHXr/8/sva/2lAJkBi2EVgT68JgzTQ7EDWQKHaV/UkNoaUr8W/24+UMIdurUi+N/ptyKdsLhEFfjMezdfvGBD2VeM7veveCns76VEeQPbLS+ytLkV0pY9qbgGRX/A2OJbtSzmq/g5NdWS2bGVEm+ahQ2ZUYqDKpNKrsYaPKHjaq7GGjyqQyqTIpdqpMGpkqkx9UmbQ6VSalTJWpBKpMSliZVqfK5AdVJu1Mlal0qkxqWJkGVqaVqTKVTpXJA1UmNaxMCSvTwMo0sDINrEwDK9PAyjSwMg2sTAMr08DK1LAyNaxMHSvzTpVpZapMGytTwso0sTKvVJkWVqYTK9PEyjxTZYpYmQ6szCtVpoiV6cDKPFNl2liZAlZWsDIlrMwzVaaBlaliZRsrU8DKIlamgJVFrEwBK4tYmSpWNrAyVawsYWWOlalhZRErU8XKTqzMsTJNrGxgZcpYWcPKNlamjJVNrGxgZY6VqWNlCStbWJkyVjaxshMrW1iZuLKAlSWsbGNlBStTxsoCVnZgZSdWFrEyx8rElYVb9nTSLXs6GyuLt+z53LKfJKtYWbhlt+xjbhkgt+yWfZJbBsgt+0ky7jfHW/Z0HCvj/t7kyk6sjHsvqGFl3HuOFSvD3tteWNnGyhJWNrGyjpVh/62OWNmJlTWsrFJljn0uaGNlB1bWqTLHPoE5sLKGlVWqbGGf205YWafKCva0x4mVdaqsYE9iHVhZpcoi9ixio8ocexr3xMoqVRax59EnVVawjQyNKnNs80eiyjxTZYnafeOZKkvUjiXPVFmjdnkVbDPbpMoitgGwU2Untc/RM1U2qb2hkdoC65UqO6idvpHa0OyVKjuofdub2p5eMlUWqF34ibofsKlrECVDZd6p2x6NuoeSqOs2g7oItDJUtjJ038krdBPLO3RHzDt0e807da9uUjf+GnQX0Sd0S9I7dH/TO3Sz1Dt053VV6DbuytA94UFdh07QRW2f0BXy1aH76DtDN+UPY+7wl25M2c6GlHkzQ8piNaTMDzOkbFdDyso0Q8pSNqTs8cknykowI8pKMyPKPJkRZZ6yEWWlXS6gbD0+X0DZCGZAWUnVDCjb0x6hydaR7U9QsnW8uYoc2X7HYsjKOT9cxNfLymifvlkvlXlMIdt3JXzRdB4X6nuTw0xpx6hPUmIc6QjdXp4e/qXaa/MLyET46zSeylcAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAADFCAMAAAAWuJ4WAAAAM1BMVEUAAAAptHMptHMptHMptHMptHMptHMptHMptHMptHMptHMptHMptHMptHMptHMptHMptHNCid+tAAAAEHRSTlMAQPBgoBDAIDDggHCw0FCQJDOKSQAAAkJJREFUeNrs0rmVwzAQwFBzeInUYfRf7T5nW8AgEwr4ET75lXOPdPJaACSaxx4AZLq9tuB/OegFkOw+Dch2516Q7pYGpLtlQL5bF+S7ZUG+Wwbku7OB4O5AcMsN+W7/guCWheFuENx5Y7hPYLhfENw+MNzjxnCPwHArGG5FcSuK21DchuJ+UdyK4lYU90Fxj1DcGRhuv1HchuKeKG5BcXs47oXinijuDMcdKO6J4s5w3AvFfXDc5bgbxe3huA3FnThuc9yJ4zbHnTju13F7OG7FcZfjFhy3OW7HcavkDsedOO4pucNxO45bJbdJbjjugeOekntJbjjuBMV9QHE3KO4AxQ0w3A4YbgEMtyIk7fBzG0LSZj/3BgwX4HU/BeB1X/d1/9qxexUHYhiKwseSNeP5y+T9n3a3CAQCWx5YQ25j3HyNwejq6/7pzvOfTecuv8dMbn++Msm8k89XJpkneQr52HBN0S/293WK/ub0zc+H+999vgEckjskl01yu+Sm5JbkckpuSm5JLqfkpuRWOC5dcofkckluSi4hubvkVjguXXJXyaVL7hqOyy65FY7LIblsktskl1NyKxyXQ3JZJHcNx+UhuXTJrc1xGeG4pOTSJZdLcmtzXEY4LkNyScklJZeUXFJyScklJZeUXFo4LiMcl7ocl+qOC4fk0sJxqcVx4ZBcxuW4sEsuY3FcyHBc6nZcWE/HhbYI7lsWXGjdcWHtobhQeSkuMO5QXODRQ3GBdm+KC6x5boL7su/FcAEYj72PH97qGlIfqxnNAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEoAAACBCAMAAABQIdw0AAAAM1BMVEUAAAAptHMptHMptHMptHMptHMptHMptHMptHMptHMptHMptHMptHMptHMptHMptHMptHNCid+tAAAAEHRSTlMAQIAQ8OAg0HBQoGDAsJAwMGS24AAAAYdJREFUaN7t2klqBDEQBdGvea7K+5/WG2MtDMZuBbgWHQd4JALlKiU51/xnzbmgl7NvlelbPqZ2cdV8TO3SdQPU1vIxtZvjmNqlGk6pXfThlNqlcUztijumdlfAKEvumNpdHGUlY5TFdkztKkdZ5yjrAaOshB8owjLE2hTz9sZZ9nKVo8xxVMwYZYWjzHOUOY5KAaPMc5TdHDU5yhpHJY6ywVGJo2xwVOIocxy1OMoCR1WOKhxlmaMqRxWOssBRjaMujiocZSDlOKpy1MVRk6MSR9kzKfem/oOqj5zqTf2+/Mjv/MgtujjKc1TjqIxRURi1OKpy1I1RURjVOaphVBRGdY5qGJWEUZ6jAkZ1YVTGqC6MyhjVRVExY5QXRSVhlMOoSxSVAkbdoqgqilqiqBIoKmZBVLxFUU0UNURRQxQ1BFHRCaLiLYgqQRDVJYaKQxBVsiDKSww1sxgqNQmhopcQKvoghEojSAS1miSAKjVI51RcIwM3RWnVW3/OX3Omr0nm7H44vdQHgVneBpFU708AAAAASUVORK5CYII=\"","export default \"data:image/png;base64,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\"","import { QueryClient } from \"react-query\"\n\nexport const validatePassword = (email, password, fullName) => {\n let nameParts = fullName ? fullName.split(\" \") : \"\"\n let lowerPassword = password.toLowerCase()\n for (let i = 0; i < nameParts.length; i++) {\n let namePart = nameParts[i].toLowerCase()\n if (lowerPassword.includes(namePart)) {\n return \"name\"\n }\n }\n if (lowerPassword.includes(email.toLowerCase())) {\n return \"email\"\n } else {\n return \"ok\"\n }\n}\n\nexport const formatBytes = (bytes, decimals = 2) => {\n if (bytes === 0) return \"0 Bytes\"\n\n const k = 1000\n const dm = decimals < 0 ? 0 : decimals\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"]\n\n const i = Math.floor(Math.log(bytes) / Math.log(k))\n\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + \" \" + sizes[i]\n}\n\nexport const convertedDate = (date) => {\n const options = { year: \"numeric\", month: \"numeric\", day: \"numeric\" }\n return new Date(date).toLocaleDateString(undefined, options)\n}\n\nexport const queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n retry: 3,\n staleTime: 5 * 60 * 1000\n }\n }\n})\n","import client from \"./APIClient\"\n\nexport default class DatasetApi {\n static fetch = () => {\n return client(\"datasets\")\n }\n\n static fetchFiles = key => {\n return client(`datasets/files?key=${key}`)\n }\n\n static create = name => {\n return client(\"datasets\", { method: \"POST\", body: { dataset_name: name } })\n }\n\n static signed_policy = data => {\n return client(\"datasets/csv\", { method: \"POST\", body: data })\n }\n\n static presignedURL = data => {\n return client(\"cli-presigned\", { method: \"POST\", body: data })\n }\n\n static remove = async ids => {\n await client(`datasets?ids=${ids}`, { method: \"DELETE\" })\n return this.fetch()\n }\n\n static removeFile = key => {\n return client(`datasets/files?key=${key}`, { method: \"DELETE\" })\n }\n}\n","import axios from \"axios\"\n\nexport default class AwsApi {\n static uploadCsv(formData, url) {\n return axios.post(url, formData)\n }\n}\n","import client from \"./APIClient\"\n\nexport default class Users {\n static get = userID => {\n return client(`users?user_id=${userID}`)\n }\n\n static list = organizationId => {\n return client(`list_users?org_id=${organizationId}`)\n }\n\n static update = body => {\n return client(\"users\", { method: \"PUT\", body })\n }\n\n static create = body => {\n return client(\"users\", { method: \"POST\", body })\n }\n\n static async remove(body) {\n return client(\"user/remove\", { method: \"POST\", body })\n }\n}\n","import { useState, useEffect } from \"react\"\nimport { Auth } from \"aws-amplify\"\nimport { useQuery } from \"react-query\"\nimport { queryClient } from \"../utils/common\"\nimport Users from \"../api/UsersAPI\"\n\nexport const getCurrentUser = async () => {\n try {\n return await Auth.currentAuthenticatedUser({ bypassCache: true })\n } catch (error) {\n return null\n }\n}\n\nconst useAuthStatus = () => {\n const [authorize, setAuthorize] = useState(false),\n [emailVerified, setEmailVerified] = useState(false),\n [loading, setLoading] = useState(true),\n { status, data, isFetching } = useQuery(\"useAuthStatus\", getCurrentUser, {\n refetchOnWindowFocus: false\n })\n\n useEffect(() => {\n setLoading(true)\n if (!isFetching && status === \"success\") {\n if (data) {\n setAuthorize(true)\n if (data.attributes && data.attributes.email_verified) {\n setEmailVerified(true)\n }\n } else if (!data) {\n setAuthorize(false)\n }\n setLoading(false)\n }\n }, [data, status, isFetching])\n\n return [authorize, loading, emailVerified]\n}\n\nconst signIn = async (email, password) => {\n const response = await Auth.signIn(email, password)\n return response\n}\n\nconst signUp = async ({ fullName, email, password }) => {\n return await Auth.signUp({\n username: email,\n password,\n attributes: {\n name: fullName.trim(),\n email\n }\n })\n}\n\nconst confirmSignUp = async (email, password, code) => {\n await Auth.confirmSignUp(email, code)\n const signInResponse = await Auth.signIn(email, password)\n await Users.create({\n full_name: signInResponse.attributes.name,\n email,\n auth_user_id: signInResponse.attributes.sub,\n type: \"sign_up\"\n })\n queryClient.invalidateQueries(\"useAuthStatus\")\n return signInResponse\n}\n\nconst signOut = async () => {\n await Auth.signOut()\n queryClient.invalidateQueries(\"useAuthStatus\")\n}\n\nconst updateUser = async name => {\n const user = await Auth.currentAuthenticatedUser()\n const res = await Auth.updateUserAttributes(user, { name: name })\n if (res === \"SUCCESS\") {\n await Users.update({ \n full_name: name, \n auth_user_id: user.attributes.sub\n })\n }\n return res\n}\n\nexport { signUp, signIn, signOut, updateUser, useAuthStatus, confirmSignUp }\n","export const initialState = {\n user: null,\n orgInfo: null,\n files: [],\n indexes: [],\n userError: \"\",\n indexesError: \"\",\n apiSettingerror: \"\",\n orgInfoError: \"\",\n filesError: \"\",\n isSignUp: false,\n datasetJoyride: false,\n indexJoyride: true,\n searchJoyride: true\n}\n\nconst reducer = (state, action) => {\n switch (action.type) {\n case \"SET_USER\":\n return {\n ...state,\n user: action.user,\n userError: \"\"\n }\n case \"SET_USER_FULLNAME\":\n return {\n ...state,\n user: { ...state.user, full_name: action.fullName }\n }\n case \"SET_GROUP_INFO\":\n return {\n ...state,\n orgInfo: action.orgInfo\n }\n case \"SET_FILES\":\n return {\n ...state,\n files: action.files,\n filesError: \"\"\n }\n case \"SET_ORGS\":\n return {\n ...state,\n orgs: action.orgs,\n orgsError: \"\"\n }\n case \"SET_INDEXES\":\n return {\n ...state,\n indexes: action.indexes,\n indexesError: \"\"\n }\n case \"SET_IS_SIGN_UP\":\n return {\n ...state,\n isSignUp: action.isSignUp\n }\n case \"SET_DATASET_JOYRIDE\":\n return {\n ...state,\n datasetJoyride: action.datasetJoyride\n }\n case \"SET_INDEX_JOYRIDE\":\n return {\n ...state,\n indexJoyride: action.indexJoyride\n }\n case \"SET_SEARCH_JOYRIDE\":\n return {\n ...state,\n searchJoyride: action.searchJoyride\n }\n case \"SET_USER_ERROR\":\n return {\n ...state,\n userError: action.error,\n user: action.user\n }\n case \"SET_GROUP_INFO_ERROR\":\n return {\n ...state,\n orgInfoError: action.error\n }\n case \"SET_FILES_ERROR\":\n return {\n ...state,\n filesError: action.error\n }\n case \"SET_ORGS_ERROR\":\n return {\n ...state,\n orgsError: action.error\n }\n case \"SET_INDEXES_ERROR\":\n return {\n ...state,\n indexesError: action.error\n }\n default:\n return state\n }\n}\n\nexport default reducer\n","import React, { createContext, useContext, useEffect, useReducer } from \"react\"\nimport { getCurrentUser } from \"../utils/auth.utils\"\nimport Users from \"../api/UsersAPI\"\nimport reducer, { initialState } from \"./reducer\"\n\nexport const StateContext = createContext()\n\nexport const StateProvider = ({ children }) => {\n const [state, dispatch] = useReducer(reducer, initialState)\n\n useEffect(() => {\n async function getUser() {\n const userObj = await getCurrentUser()\n if (userObj) {\n const emailStatus = userObj.attributes.email_verified\n const userId = userObj.attributes.sub\n try {\n const userData = await Users.get(userId)\n const subscription = userData.subscription\n userData.stripe_subscription_id = subscription.id\n userData.last4 = userData.organization.last4\n userData.email_verified = emailStatus ? true : false\n userData.role = userObj.attributes[\"custom:role\"]\n dispatch({\n type: \"SET_USER\",\n user: userData\n })\n } catch (error) {\n dispatch({\n type: \"SET_USER_ERROR\",\n error: error.message,\n user: userObj\n })\n }\n\n }\n }\n getUser()\n }, [])\n\n const getUserInfo = async () => {\n const userObj = await getCurrentUser()\n const emailStatus = userObj.attributes.email_verified\n const userId = userObj.attributes.sub\n try {\n const userData = await Users.get(userId)\n const subscription = userData.subscription\n userData.stripe_subscription_id = subscription.id\n userData.last4 = userData.organization.last4\n userData.email_verified = emailStatus ? true : false\n userData.role = userObj.attributes[\"custom:role\"]\n dispatch({\n type: \"SET_USER\",\n user: userData\n })\n } catch (error) {\n dispatch({\n type: \"SET_USER_ERROR\",\n error: error.message,\n user: userObj\n })\n }\n }\n\n return {children}\n}\n\nexport const useStateValue = () => useContext(StateContext)\n","import React from \"react\"\nimport { Button, Modal, ModalHeader, ModalBody } from \"reactstrap\"\nimport { NavLink as RouterNavLink } from \"react-router-dom\"\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport { faExclamationCircle } from \"@fortawesome/free-solid-svg-icons\"\n\nconst UnpaidModal = ({ modal }) => {\n return (\n \n \n \n \n \n

\n WE ARE SORRY\n
\n We are not able to process your payment due to card failure. Your account is deactivated for unpaid\n subscription.\n

\n\n \n \n \n
\n
\n )\n}\n\nexport default UnpaidModal\n","import React, { useState } from \"react\"\nimport Clipboard from \"react-clipboard.js\"\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport { faTerminal, faCopy } from \"@fortawesome/free-solid-svg-icons\"\nimport {\n Button,\n Modal,\n ModalHeader,\n ModalBody,\n ModalFooter,\n Card,\n UncontrolledTooltip,\n Spinner,\n Label,\n Input\n} from \"reactstrap\"\nimport DatasetApi from \"../../api/DatasetApi\"\nimport \"./dataset.css\"\n\nconst CSVUploadModal = ({ toggle, modal, user }) => {\n const [CLIResponse, setCLIResponse] = useState(),\n [loading, setLoading] = useState(false),\n [error, setError] = useState()\n\n const isCsv = fileName => {\n return fileName.endsWith(\".csv\")\n }\n\n const onUploadCLIFile = async e => {\n e.preventDefault()\n\n if (e.target.files[0]) {\n const fileDataCLI = e.target.files[0]\n if (isCsv(fileDataCLI.name)) {\n const Data = {\n filesize: fileDataCLI.size,\n filename: fileDataCLI.name,\n org_id: user.org_id,\n email: user.email\n }\n setLoading(true)\n\n try {\n const res = await DatasetApi.presignedURL(Data)\n setCLIResponse(res)\n setLoading(false)\n } catch (e) {\n setError(\"There was a problem with the server.\")\n setLoading(false)\n }\n } else {\n setError(\"Only csv file is accepted.\")\n }\n }\n }\n const exportToJson = objectData => {\n let filename = \"presigned.json\"\n let contentType = \"application/json;charset=utf-8;\"\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\n var blob = new Blob([decodeURIComponent(encodeURI(JSON.stringify(objectData)))], { type: contentType })\n navigator.msSaveOrOpenBlob(blob, filename)\n } else {\n var a = document.createElement(\"a\")\n a.download = filename\n a.href = \"data:\" + contentType + \",\" + encodeURIComponent(JSON.stringify(objectData))\n a.target = \"_blank\"\n document.body.appendChild(a)\n a.click()\n document.body.removeChild(a)\n }\n }\n\n return (\n \n CLI Upload\n \n Please follow the following steps to upload your CSV file using the CLI tool:\n
\n
\n

\n 1. Install the Traindex CLI into your desktop environment:\n https://pypi.org/project/traindexcli/ (Skip this step if\n it's already installed)\n

\n

\n 2. Make sure Traindex CLI is installed correctly by running the command\n

\n

\n $ traindexcli --help\n \n \n \n

\n

3. Select the CSV file that you want to upload:

\n

\n     \n \n

\n {loading && (\n
\n \n
\n )}\n

4. Download the resulting JSON Response by clicking on the download button

\n {CLIResponse && (\n <>\n \n \n Download JSON\n \n \n\n
{JSON.stringify(CLIResponse, null, 2)}
\n
\n \n )}\n {error &&
{error}
}\n

5. Move the JSON file into the directory where your CSV file exists.

\n

\n 6. Open terminal/CMD in the directory where your CSV and JSON files exist and run the command\n

\n

\n $ traindexcli\n \n \n \n

\n

\n 7. The progress bar will display the upload progress of the CSV file. Do not close the terminal/CMD until the\n upload will be completed. Once it's done, your CSV file will be populated in the dataset menu.\n

\n
\n \n \n \n
\n )\n}\n\nexport default CSVUploadModal\n","import React from \"react\"\nimport { CsvToHtmlTable } from \"react-csv-to-table\"\nimport * as csv from \"csv-string\"\nimport { Modal, ModalHeader } from \"reactstrap\"\nimport \"./preview.css\"\n\n\nconst Preview = ({ data, modal, setModal }) => {\n const toggle = () => setModal(!modal)\n\n const fileDelimiter = csv.detect(data)\n if (data.startsWith(fileDelimiter)) {\n data = \"_\" + data\n }\n const CSVToArray =(strData, strDelimiter) => {\n strDelimiter = (strDelimiter || \",\")\n \n let objPattern = new RegExp(\n (\n // Delimiters.\n \"(\\\\\" + strDelimiter + \"|\\\\r?\\\\n|\\\\r|^)\" +\n \n // Quoted fields.\n \"(?:\\\"([^\\\"]*(?:\\\"\\\"[^\\\"]*)*)\\\"|\" +\n \n // Standard fields.\n \"([^\\\"\\\\\" + strDelimiter + \"\\\\r\\\\n]*))\"\n ),\n \"gi\"\n )\n \n const arrData = [[]]\n \n let arrMatches = null\n \n while ((arrMatches = objPattern.exec(strData))) {\n let strMatchedDelimiter = arrMatches[1]\n if (\n strMatchedDelimiter.length &&\n strMatchedDelimiter !== strDelimiter\n ) {\n arrData.push([])\n }\n \n let strMatchedValue\n if (arrMatches[2]) {\n\n strMatchedValue = arrMatches[2].replace(\n new RegExp(\"\\\"\\\"\", \"g\"),\n \"\\\"\"\n )\n } else {\n strMatchedValue = arrMatches[3]\n }\n arrData[arrData.length - 1].push(strMatchedValue)\n }\n return (arrData)\n }\n\n const refinedArray = CSVToArray(data, fileDelimiter)\n\n const newDelimiter = \",$&!\"\n const stringArray = []\n refinedArray.forEach(element => {\n stringArray.push(element.join(newDelimiter))\n })\n const transformedData = stringArray.join(\"\\n\")\n\n return (\n \n Preview\n
\n \n
\n
\n )\n}\n\nexport default Preview\n","import React, { useEffect, useState } from \"react\"\nimport { Alert } from \"reactstrap\"\nimport { Link } from \"react-router-dom\"\n\nconst TrialAlert = ({ trial_end }) => {\n const [trialDays, setTrialDays] = useState(\"\")\n useEffect(() => {\n const currentDate = new Date()\n const utcSeconds = trial_end\n const date = new Date(0)\n date.setUTCSeconds(utcSeconds)\n const trials = Math.ceil((date.getTime() - currentDate.getTime()) / (1000 * 3600 * 24))\n trials <= 5 && trials > 0 && setTrialDays(trials)\n }, [trial_end])\n return (\n <>\n {trialDays && (\n \n You have {trialDays == 1 ? `${trialDays} day` : `${trialDays} days`} left on your trial.{\" \"}\n \n Buy Traindex and upgrade today.\n \n \n )}\n \n )\n}\n\nexport default TrialAlert\n","import React, { useEffect, useState } from \"react\"\nimport { Alert } from \"reactstrap\"\nimport { Link } from \"react-router-dom\"\nimport moment from \"moment\"\n\nconst currentDate = moment().unix()\n\nconst PastDueAlert = ({ subscription }) => {\n const [leftDays, setLeftDays] = useState(\"\")\n const [pastDays, setPastDays] = useState(\"\")\n\n useEffect(() => {\n const period_start = subscription.current_period_start\n const pastDays = Math.ceil((currentDate - period_start)/(24*60*60)) || 0\n const leftDays = Number(process.env.REACT_APP_STRIPE_RETRY_DAYS) - pastDays\n setPastDays(pastDays)\n setLeftDays(leftDays)\n }, [subscription])\n\n const isDue = subscription.status === \"past_due\"\n const isPaused = subscription && subscription.pause_collection \n && subscription.pause_collection[\"behavior\"] === \"mark_uncollectible\"\n\n return (\n <>\n {(leftDays > 0) && isDue && !isPaused && (\n \n Your subscription is now {pastDays} {pastDays == 1 ? \"day\" : \"days\"} past due.\n Please update your payment details within {leftDays} days to avoid your account being terminated.\n
\n \n Update your payment details.\n \n
\n )}\n \n )\n}\n\nexport default PastDueAlert\n","/* eslint-disable indent */\nimport React, { useState, useEffect } from \"react\"\nimport ReactJoyride from \"react-joyride\"\nimport {\n Container,\n Input,\n Label,\n} from \"reactstrap\"\nimport { formatBytes, convertedDate } from \"../../utils/common\"\nimport DatasetApi from \"../../api/DatasetApi\"\nimport AwsApi from \"../../api/AwsApi\"\nimport { useStateValue } from \"../../contexts/StateProvider\"\nimport UnpaidModal from \"../UnpaidModal\"\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport { faEllipsisH, faUpload, faTerminal } from \"@fortawesome/free-solid-svg-icons\"\nimport \"./dataset.css\"\nimport CSVUploadModal from \"./CSVUploadModal\"\nimport Preview from \"./Preview\"\nimport TrialAlert from \"../TrialAlert\"\nimport PastDueAlert from \"../PastDueAlert\"\nimport { DataGrid } from \"@mui/x-data-grid\"\nimport Button from \"@mui/material/Button\"\nimport DeleteIcon from \"@mui/icons-material/Delete\"\n\nconst Dataset = () => {\n const { state, dispatch } = useStateValue(),\n { user, files, filesError } = state,\n [error, setError] = useState(),\n [loading, setLoading] = useState(false),\n [pageSize, setPageSize] = useState(10),\n [preview, setPreview] = useState(),\n [modal, setModal] = useState(false),\n [csvModal, setCSVModal] = useState(false),\n [run, setRun] = useState(false)\n\n const steps = [\n {\n title: \"Upload dataset via CSV\",\n target: \".csv-upload-button\",\n content: \"Click here to upload your custom dataset. Supported format is CSV.\",\n floaterProps: {\n disableAnimation: true,\n },\n disableBeacon: true,\n spotlightClicks: true,\n },\n {\n title: \"Upload dataset via CLI\",\n target: \".cli-upload-button\",\n content: (\n
\n

\n If you have very large files, you can upload up to 5TB using the CLI. Some\n technical skills are required.\n

\n
\n ),\n floaterProps: {\n disableAnimation: true,\n },\n disableBeacon: true,\n spotlightClicks: true,\n },\n {\n title: \"Data Catalogs\",\n target: \".data-catalogs\",\n content: \"These are Data Catalogs that you can start using right away.\",\n floaterProps: {\n disableAnimation: true,\n },\n disableBeacon: true,\n },\n {\n title: \"Expand Dataset\",\n target: \".expand-button\",\n content: (\n
\n

\n Click to expand and preview dataset\n

\n
\n ),\n floaterProps: {\n disableAnimation: true,\n },\n disableBeacon: true,\n spotlightClicks: true,\n },\n ]\n\n useEffect(() => {\n // eslint-disable-next-line no-extra-semi\n ;(async () => {\n if (user && files.length === 0) {\n try {\n setLoading(true)\n setRun(false)\n const data = await DatasetApi.fetchFiles(user.org_id)\n dispatch({\n type: \"SET_FILES\",\n files: data,\n })\n setLoading(false)\n setRun(true)\n } catch (error) {\n dispatch({\n type: \"SET_FILES_ERROR\",\n error: error.message,\n })\n setLoading(false)\n }\n }\n })()\n }, [user])\n\n const refreshDataset = async () => {\n try {\n setLoading(true)\n const files = await DatasetApi.fetchFiles(user.org_id)\n dispatch({\n type: \"SET_FILES\",\n files: files,\n })\n setLoading(false)\n } catch (e) {\n setError(\"There was a problem with the server.\")\n }\n }\n\n const toggle = () => {\n setCSVModal(!csvModal)\n refreshDataset()\n }\n\n const deleteFile = async (key) => {\n let preservedKey = key.replace(\"+\", \"%2B\")\n setLoading(true)\n await DatasetApi.removeFile(preservedKey)\n const files = await DatasetApi.fetchFiles(user.org_id)\n dispatch({\n type: \"SET_FILES\",\n files: files,\n })\n setLoading(false)\n }\n\n const getPreview = async (key) => {\n let preservedKey = key.replace(\"+\", \"%2B\")\n setLoading(true)\n try {\n const resp = await DatasetApi.fetchFiles(preservedKey)\n setPreview(resp.data)\n setModal(true)\n setLoading(false)\n } catch (error) {\n setError(\"Something went wrong. We will fix it soon\")\n setLoading(false)\n }\n }\n\n const isCsv = (fileName) => {\n return fileName.endsWith(\".csv\")\n }\n\n const onUpload = async (e) => {\n e.preventDefault()\n if (e.target.files[0]) {\n const fileData = e.target.files[0]\n if (isCsv(fileData.name)) {\n if (fileData.size < 2147483648) {\n const formData = new FormData()\n setLoading(true)\n const resp = await DatasetApi.signed_policy({\n org_id: user.org_id,\n user_email: user.email,\n filename: fileData.name,\n })\n let signedFields = {}\n if (resp && resp.fields) {\n signedFields = resp.fields\n }\n for (const key of Object.keys(signedFields)) {\n formData.append(key, signedFields[key])\n if (key === \"policy\") {\n const decodedPolicy = JSON.parse(window.atob(signedFields[key]))\n decodedPolicy.conditions.forEach((i) => {\n if (!i.acl && i[0] === \"starts-with\") {\n const key = i[1].split(\"$\")\n formData.append(key[1], i[2])\n }\n })\n }\n }\n formData.append(\"file\", fileData)\n try {\n await AwsApi.uploadCsv(formData, resp.url)\n const files = await DatasetApi.fetchFiles(user.org_id)\n dispatch({\n type: \"SET_FILES\",\n files: files,\n })\n setLoading(false)\n } catch (e) {\n setError(\"There was a problem with the server.\")\n }\n } else {\n setError(\"Your file is larger than 2GB, please select to upload via CLI tool.\")\n }\n } else {\n setError(\"Only csv file is accepted.\")\n }\n }\n }\n\n const joyRideCallback = (data) => {\n data.action === \"close\" &&\n dispatch({\n type: \"SET_DATASET_JOYRIDE\",\n datasetJoyride: false,\n })\n }\n\n\n const refinedFiles = files && files.map(\n (file) => {\n const fileName = file.Key.split(\"/\").pop(),\n isUSPatentsDataset = file.Key.includes(\"/data-catalog/us_patents_dataset.csv\"),\n isWikiDataset = file.Key.includes(\"/data-catalog/wikipedia.csv\"),\n isArxivDataset = file.Key.includes(\"/data-catalog/arxiv.csv\"),\n fileSize = isUSPatentsDataset\n ? 860000000000\n : isWikiDataset\n ? 18900000000\n : isArxivDataset\n ? 1.1e12\n : file.Size,\n fileDate = isUSPatentsDataset\n ? \"2021-08-20\"\n : isWikiDataset\n ? \"2021-08-27\"\n : isArxivDataset\n ? \"2021-08-24\"\n : file.LastModified\n return ({\n ...file,\n id: file.Key,\n name: fileName,\n size: formatBytes(fileSize),\n date: convertedDate(fileDate)\n })\n }\n )\n\n const filesForGrid = refinedFiles && refinedFiles.sort((a, b) => new Date(b.date) - new Date(a.date))\n\n const columns = [\n { \n field: \"name\", \n headerName: \"Name\",\n flex: 1\n },\n { \n field: \"date\", \n headerName: \"Date\", \n flex: 1 \n },\n { \n field: \"size\", \n headerName: \"Size\", \n flex: 1,\n sortable: false\n },\n { \n field: \"author\", \n headerName: \"Author\", \n flex: 1 \n },\n { \n field: \"action\", \n headerName: \"Actions\",\n sortable: false,\n flex: 1,\n renderCell: (params) => {\n return (\n <>\n {\n getPreview(params.row.Key)\n setRun(!run)\n dispatch({\n type: \"SET_DATASET_JOYRIDE\",\n datasetJoyride: false,\n })\n }}\n className=\"preview-button mr-2\"\n >\n Preview\n \n {params.row.Key.split(\"/\")[1] !== \"data-catalog\" && (\n }\n color=\"error\"\n onClick={() => deleteFile(params.row.Key)}\n >\n Delete\n \n )}\n \n )\n }\n }\n ]\n\n return (\n \n \n {user && user.subscription && (\n
\n \n \n
\n \n toggle()}\n variant=\"contained\"\n >\n \n \n \n
\n setPageSize(newPageSize)}\n rows={filesForGrid || []}\n columns={columns}\n rowsPerPageOptions={[5, 10, 20]}\n pagination\n loading={loading}\n />\n
\n
\n
\n {filesError &&
{filesError}
}\n {error &&
{error}
}\n {modal && }\n {csvModal && }\n {user && user.subscription._isExpired && }\n \n )}\n
\n )\n}\n\nexport default Dataset\n","/* eslint-disable max-len */\nimport React from \"react\"\nimport { Container, Row, Col } from \"reactstrap\"\n\nconst TermsOfUseText = () => {\n return (\n \n \n \n
\n

\n 1. General. \n These terms of use (these “Terms of Use”), together with the related Privacy Policy (which can be found\n here:\n https://www.traindex.io/privacy-policy/, the “Privacy Policy”), which are\n incorporated into these Terms of Use by this reference, govern your access to and use of any website\n (including but not limited to traindex.io), mobile application, desktop application, plugin or other media\n platform that references or links to these Terms of Use (collectively, the “Site”), however accessed or\n used, and constitute a legally binding contract between you and Joinant, LLC., a Washington Limited\n Liability Corporation, DBA Traindex (together with its subsidiaries, if any, and other affiliates,\n “Traindex,” “we,” “us” or “our”). By signifying your acceptance of these Terms of Use, or by accessing or\n using the Site or allowing others to access or use the Site on your behalf or through the use of your\n Traindex user account (“Your Account”), you agree to be bound by these Terms of Use (which may be updated\n from time to time, as discussed below). Accordingly, you should read and evaluate these Terms of Use and\n the Privacy Policy carefully before accessing or using the Site, or allowing others to access or use the\n Site on your behalf, and you should consult your legal and other advisors and make your own informed\n decision as to whether and how to access or use the Site. Do not access or use the Site if you are\n unwilling or unable to be bound by the terms of these Terms of Use or any Service Agreement applicable to\n you (as discussed below in these Terms of Use).\n

\n

\n These Terms of Use are in addition to any other legally binding agreement that you may have entered into\n with Traindex that is intended by Traindex to govern your use of the Site (each, a “Service Agreement”).\n To the extent any such Service Agreement is in writing and any terms thereof conflict with the terms of\n these Terms of Use, such terms of the applicable Service Agreement will govern.\n

\n

\n Please consult these Terms of Use periodically as Traindex may, at any time, at its discretion and without\n notice, revise these Terms of Use. The “Last updated” date at the top of this page will reflect the latest\n date any edits were made. By continuing to access or use the Site after these Terms of Use have been\n revised, you shall hereby automatically be deemed to be bound by such revised Terms of Use. If at any time\n you choose not to accept the terms of these Terms of Use, you should immediately discontinue your access\n to or use of the Site.\n

\n

\n Traindex may, at its sole discretion, and at any time, discontinue the Site or any part thereof, with or\n without notice, or may prevent your use of the Site or any part thereof with or without notice to you. You\n agree that you do not have any rights in the Site and that Traindex will have no liability to you if the\n Site or any part thereof is discontinued or your ability to access the Site or any part thereof or any\n content you may have posted to any part of the Site is terminated.\n

\n

\n PLEASE NOTE THAT THESE TERMS OF USE LIMIT TRAINDEX’S POTENTIAL LIABILITY TO YOU AND MAY SUBSTANTIVELY\n AFFECT YOUR RIGHTS IN OTHER WAYS AND CONTAIN AN AGREEMENT TO ARBITRATE, WHICH WILL, WITH LIMITED\n EXCEPTION, REQUIRE YOU TO SUBMIT CLAIMS YOU HAVE AGAINST TRAINDEX TO BINDING AND FINAL ARBITRATION UNLESS\n YOU OPT OUT OF THE AGREEMENT TO ARBITRATE (SEE “DISCLAIMER;” “LIMITATION OF LIABILITY;” “LIMITED TIME TO\n BRING YOUR CLAIM;” AND “AGREEMENT TO ARBITRATE” PROVISIONS BELOW). UNLESS YOU OPT OUT: (I) YOU WILL ONLY\n BE PERMITTED TO PURSUE CLAIMS AGAINST US ON AN INDIVIDUAL BASIS, NOT AS A PLAINTIFF OR CLASS MEMBER IN ANY\n CLASS OR REPRESENTATIVE ACTION OR PROCEEDING AND (II) YOU WILL ONLY BE PERMITTED TO SEEK RELIEF (INCLUDING\n MONETARY, INJUNCTIVE, AND DECLARATORY RELIEF) ON AN INDIVIDUAL BASIS.\n

\n

\n 2. Authorized Users; General Terms. \n You must be at least 18 years old to register to access or use the Site. By accessing or using the Site,\n you represent and warrant that you are over the age of 18 and have the requisite power and authority to\n enter into and accept the terms of these Terms of Use. Subject to these Terms of Use, you may not access\n or use the Site if you are unable to form a legal binding agreement with Traindex. If you are under 18\n years of age, you may not access or use the Site absent the consent of a parent or guardian.\n

\n

\n If you are using the Site on behalf of any other person or entity (each, a “Person”), (i) you must be duly\n authorized by such Person to act on their behalf and have the requisite power and authority to act on\n behalf of and legally bind such other Person; (ii) if such Person subsequently disputes such power or\n authority, you hereby agree to provide or execute and deliver such other documents and/or take such other\n actions required on your part to prove that you have (or had, at all relevant times) such requisite power\n and authority; and (iii) if such Person disputes such power or authority, you shall be liable and shall\n indemnify Traindex and the other Traindex Parties (as defined below) for such dispute and/or for any\n failure of such Person to comply with the terms of these Terms of Use.\n

\n

\n Traindex shall issue (or has issued) a password to you for purposes of your access and use of the Site and\n the Service. You are responsible for maintaining the confidentiality of all passwords associated with Your\n Account and for ensuring that each password is used only by you. You are entirely responsible for any and\n all activities that occur under or through the use of Your Account and any all charges incurred from use\n of the Services accessed under or through the use of Your Account. You hereby agree to immediately notify\n Traindex of any unauthorized use of Your Account or any other breach of security known to you. Without\n limiting the generality of applicable terms elsewhere in these Terms of Use, Traindex shall have no\n liability for any loss or damage arising from your failure to comply with these requirements.\n

\n

\n We grant you permission to use the Site subject to the restrictions and other terms set forth in these\n Terms of Use. Additionally, as between you and Traindex, your use of the Site is at your own risk with\n regard to any documents, materials, data, information or communications submitted, published, disseminated\n or transmitted to or through, saved in, displayed on or otherwise contained in or communicated through\n (collectively, “transmitted through”) the Site (“Content”) other than Content and/or Software (as defined\n below) that Traindex itself posts to or otherwise makes available through or in or in connection with the\n Site (“Traindex Content”), and you waive any claim that you may have against Traindex, its affiliates, and\n their respective officers, directors, members, employees and agents, licensees and customers\n (collectively, the “Traindex Parties,” and each, individually, an “Traindex Party”) with regard to any\n Content transmitted through Site by any Person other than Traindex (“Third Party Content”), including but\n not limited to any Content transmitted through the Site by you or any other Person using Your Account\n (whether transmitted via email, ftp, other offline means, bulk upload, browser plugins, through\n annotations or other notes created in the Site or through any other means (“Your Content”)), any other\n Traindex end-user (each, a “User”) or any third party agents, vendors and/or business partner of Traindex\n (each a “Third Party Provider,” and any such Content of a Third Party Provider, “Third Party Provider\n Content”), and you agree and acknowledge that neither Traindex nor any other Traindex Party shall have any\n liability with regard to any claim that you may have that arises out of or in connection with any Third\n Party Content. Any dealings you have with any other User or other Person while using (or that otherwise\n arise out of or in connection with your use of) the Site are between you and such other Person(s), and you\n agree that the Traindex Parties shall not be liable for any loss or claim that you may have against any\n such other Persons.\n

\n

\n 3. User Behavior. \n You agree that while using the Site you will comply with the following rules (in addition to the other\n rules set forth elsewhere in these Terms of Use):\n

    \n
  • \n You will not disobey or breach these Terms of Use, the Privacy Policy, or any other applicable\n instructions conveyed by Traindex (whether via email, posted to the Site or otherwise), or use the\n Service in any manner or for any purpose other than as expressly permitted by these Terms of Use, the\n Privacy Policy, any applicable Service Agreement(s) or any other policy, instruction, or terms\n applicable to the Service that are provided by Traindex on or in connection with the Site.\n
  • \n
  • \n You will not violate any Applicable Laws in connection with your access to or use of the Site.\n
  • \n
  • \n Your use of the Site and Traindex Content as permitted hereunder shall be solely for your internal\n business use in accordance with, and subject to the terms of, such Service Agreement.\n
  • \n
  • \n You agree that the Site is only intended for manual use, and you will not access the Site through the\n use of any “bots” or other software applications that may be used to perform automated tasks or\n scripts, including accessing or in any way using the Site or the Service.\n
  • \n
  • \n You will not submit or transmit to, through or in connection with the Site: (i) any unlawful,\n harassing, libelous, privacy invading, abusive, threatening, defamatory, vulgar, racist, or otherwise\n harmful or objectionable Content of any kind (including, but not limited to, any Content that depicts\n nudity, sexual conduct or violence); (ii) any Content that infringes upon any third party right\n (including, but not limited to, any copyright, trademark, right of publicity or privacy, or any other\n intellectual property or similar rights, as well as rights associated with any recognizable name,\n voice, person, or image (collectively “Third Party IP”)); (iii) any advertisements or other\n promotional materials or information for yourself, Your Content or your services, or for any other\n Person or such Person’s Content or services, in each case, for purposes of advertising or promoting\n those services; (iv) any software viruses, Trojan horses, worms or any other malicious application or\n code; (v) any political or promotional opinions, in each case, for the purpose of promoting those\n opinions; or (vi) any Content which may constitute or encourage conduct that is fraudulent, a criminal\n offense or civil wrong or otherwise violates any Applicable Laws.\n
  • \n
  • \n While accessing or using the Site, you will not impersonate any Person, make any false statement\n regarding any Person (including but not limited to, any Person’s employment, agency or affiliation\n with any other Person), or create false identities for any reason.\n
  • \n
  • \n You will not interfere with or disrupt Traindex’s or any other User’s access to or use of the Site.\n
  • \n
  • \n You will not take any action that imposes (or may impose, as determined by us in our sole discretion)\n an unreasonable or disproportionately large load on our servers or other infrastructure underlying the\n Site, and you will not use the Site in any way that causes (or is likely to cause, as determined by us\n in our sole discretion) the Site or access to or use of it to be interrupted, interfered with, damaged\n or impaired in any way, including but not limited to any use of the Site that in any way interferes\n with or disrupts servers or networks used by Traindex to provide the Service or used by other Users to\n access the Site or violates any third party regulations, policies or procedures of such servers or\n networks.\n
  • \n
  • \n You will not “scrape” or otherwise use any data mining, robots, or similar data gathering or\n extraction methods (except as may be the result of standard search engine protocols or technologies\n used by a search engine with our express consent).\n
  • \n
  • \n You will not publish or disclose to third parties any evaluation of the Site or the Service.\n
  • \n
  • \n You will not create or submit unwanted email, comments, likes or other forms of commercial or\n harassing communications (a/k/a “spam”) to any other Users.\n
  • \n
  • \n You will not reverse engineer, decompile, disassemble or otherwise attempt to discover the source\n code, object code or underlying structure, ideas, know-how or algorithm pertaining to the Site or any\n software, proprietary documentation or data related to the Site (collectively, “Software”).\n
  • \n
  • \n You will not modify or alter any part of the Site or any Traindex Content, and you will not\n circumvent, disable or otherwise interfere with any security-related feature of the Site or any system\n resources, services or networks connected to or accessible through the Site.\n
  • \n
  • \n You will not modify, alter, tamper with, translate, repair or create derivative works based on the\n Site or any Traindex Content, Third Party Provider Content or Provided Software.\n
  • \n
  • \n You will not rent, lease, distribute, sell, resell, assign, or otherwise transfer your rights to use\n the Site.\n
  • \n
  • \n You will not (i) use the Site for timesharing or service bureau purposes or otherwise for the benefit\n of a third party; (ii) sell, lend, rent, resell, lease, sublicense or otherwise transfer to any third\n party or commercialize the Site (or any part thereof), including but not limited to any Software or\n Traindex Content, or any of the rights granted to you with respect to the Service by Traindex; (iii)\n access or use the Site or the Service in a way intended to improperly avoid incurring fees or\n exceeding usage limits or quotas; or (iv) download or copy any Content from the Site for your own\n benefit or for the benefit of another merchant, website or other Person, except as contemplated by\n these Terms of Use.\n
  • \n
  • \n You will not use the Site in automatic, semi-automatic or manual tools designed to create virus\n signatures, virus detection routines, or any other data or code for detecting malicious code or data.\n
  • \n
  • \n You will not use, modify, duplicate, print, transmit or distribute in any manner any Traindex Content\n or any other reports, research, materials, data or other information viewed, accessed or provided on\n the Site except as expressly set forth in these Terms of Use or, to the extent your use is expressly\n permitted by a Service Agreement, solely for your internal business use in accordance with, and\n subject to the terms of, such Service Agreement.\n
  • \n
  • \n You will not attempt to gain access to the Site, other Users’ accounts, Traindex’s computer systems or\n networks connected to the Site through hacking, password mining or any other similar means.\n
  • \n
  • \n You will not advertise products or services or solicit any other User, whether or not such advertising\n or solicitation is in the form of unrequested bulk commercial email.\n
  • \n
  • \n You will not remove, obscure or alter any proprietary rights notice pertaining the Site, the Software,\n the Service, any Traindex Content or any Third Party Provider Content.\n
  • \n
  • \n You will not use any meta tags or any other “hidden text” utilizing any of Traindex’s names or\n trademarks without our express written consent.\n
  • \n
  • \n You will not use the Site or any other part of the Service in connection with the operation of nuclear\n facilities, aircraft navigation, communications systems, medical devices, air traffic control devices,\n real time control systems or other situations in which the failure of the Site or the Service could\n lead to death, personal injury or physical property or environmental damage.\n
  • \n
  • \n You further agree not to cause, encourage or permit any third party to do any of the foregoing on your\n behalf or in any way with your assistance or collaboration, including without limitation by providing\n other Persons with your username and password or by otherwise authorizing any third party to access or\n use the Site.\n
  • \n
\n

\n

\n 4. Legal Notices. \n From time to time, we have or will in the future post legal notices to the Site. You shall not remove\n these notices or credits, or any additional information contained along with the notices and credits. The\n Site may contain references to trademarks, copyrighted materials, technologies, products, processes and\n software and other proprietary rights of Traindex or other Persons. Except as necessary for your access to\n and use of the Site as contemplated by these Terms of Use, no license to or right in any such trademarks,\n copyrighted materials, technologies, products, processes, software or other proprietary rights of Traindex\n is granted to or conferred upon you.\n

\n

\n 5. Traindex Content; Ownership. \n You acknowledge that some Traindex Content and other materials accessed as part of the Site may be\n proprietary to Traindex or may be licensed to Traindex by Third Party Providers. You acknowledge and agree\n that, as between Traindex and you, to the fullest extent permitted by Applicable Laws, all right, title\n and interest in and to the Site and any Traindex Content, and all modifications and enhancements thereof\n or thereto, including, without limitation, all rights under copyright and patent and other intellectual\n property rights, belong to and are retained solely by Traindex or Traindex’s licensors and providers, as\n applicable. Traindex reserves all rights not expressly granted under these Terms of Use.\n

\n

\n You are authorized to access and use the Site and related Traindex Content as necessary for your access to\n and use of the Site as contemplated by these Terms of Use, provided that you continue to, at all times,\n comply in full with these Terms of Use.\n

\n

\n 6. Your Content; No Infringing Use. \n You acknowledge and agree that Traindex is not the owner of and shall not be responsible for Your Content\n or any other Third Party Content. You also acknowledge and agree that we don’t, and could not effectively,\n control, verify, or endorse Your Content or any other Third Party Content.\n

\n

\n PLEASE BE AWARE THAT (i) VIDEOS, ARTICLES, DOCUMENTS AND/OR OTHER CONTENT THAT YOU UPLOAD TO THE SITE\n (WHICH WOULD CONSTITUTE PART OF YOUR CONTENT) MAY BE PROTECTED BY COPYRIGHT AND OTHER LAWS REGARDING\n INTELLECTUAL PROPERTY RIGHTS; (ii) IF ANY OF YOUR CONTENT CONTAINS OR DEPICTS ANY THIRD PARTY IP, THE\n HOLDER OF THE RIGHTS TO SUCH THIRD PARTY IP MAY HAVE THE RIGHT TO CLAIM THAT USE OF SUCH CONTENT\n (INCLUDING BUT NOT LIMITED TO IN CONNECTION WITH YOUR USE OF THE SITE) INFRINGES ON THE OWNER’S\n INTELLECTUAL PROPERTY RIGHTS; AND (iii) YOU WILL BE SOLELY RESPONSIBLE FOR, AND YOU WILL INDEMNIFY AND\n HOLD HARMLESS THE TRAINDEX PARTIES FOR, ANY AND ALL RISK ASSOCIATED WITH YOUR CONTENT, INCLUDING BUT NOT\n LIMITED TO ANY CLAIM ASSERTING THAT YOUR CONTENT (OR ANY PORTION THEREOF), AND/OR THE STORING IN OR\n SUBMISSION OR TRANSMISSION TO, THROUGH OR IN CONNECTION WITH THE SITE, INFRINGES UPON ANY THIRD PARTY IP\n RIGHTS.\n

\n

\n In addition to any and all other agreements, acknowledgements, representations and warranties that you\n make in these Terms of Use, as of the date you accept and agree to these Terms of Use:\n

\n
    \n
  • \n You acknowledge and agree that you will: (i) ensure that Your Content (including the storage or\n transmission thereof) complies with these Terms of Use and any and all Applicable Laws; (ii) promptly\n handle and resolve any notices and claims relating to Your Content, including any notices sent to you by\n any Person claiming that any content violates any Third Party IP rights, such as take-down notices\n pursuant to the Digital Millennium Copyright Act and any other notices; and (iii) maintain appropriate\n security, protection and backup copies of Your Content, which may include, your use of additional\n encryption technology to protect Your Content from unauthorized access.\n
  • \n
  • \n You represent and warrant that you have the full legal right, power and authority to use Your Content in\n connection with your use of the Site and to grant the rights granted by you to Traindex with regard to\n Your Content in these Terms of Use.\n
  • \n
  • \n You agree that you may not state or imply that Your Content is in any way sponsored or endorsed by\n Traindex or that you are the owner of any Traindex Content.\n
  • \n
  • \n No portion of Your Content contains any disabling mechanism or protection feature designed to prevent\n its use, copying or enjoyment in the manner contemplated in the Agreements, and all of Your Content will\n be free of any virus, worm, lock, or other mechanism or device that may be used to modify, delete,\n damage or disable the Site or any other hardware or computer system or Software, or which would\n otherwise render inaccessible or impair the use of any of the same in any way. None of Your Content has\n been obtained, created or submitted to us in violation of any Applicable Law. None of Your Content is\n subject to any terms or condition that might be breached by such Content being used as contemplated by\n these Terms of Use and any applicable Service Agreement(s).\n
  • \n
  • \n If after you submit Your Content to us, you receive any notice or otherwise learn in any way that any of\n the representations made by you in above were not accurate, complete and not misleading in all material\n respects or no longer are accurate, complete and not misleading in all material respects or of any claim\n by a third party to the effect of the foregoing, you will promptly provide us with written notice all\n relevant facts regarding the same and if appropriate, remove the Content from the Site.\n
  • \n
  • \n You acknowledge that Traindex has policies and processes which must be adhered to prior to Content being\n posted on the Site. You further acknowledge and agree that Traindex does not and cannot review all\n Content uploaded to the Site and is not responsible for the content, quality, or consequences of you\n uploading any of Your Content to the Site, and Traindex reserves the right to delete, move, refuse to\n accept or edit any Content (including but not limited to Your Content) that Traindex may determine, in\n its sole discretion, violates or may violate the terms of the Traindex Terms of Use, any Third Party IP\n right(s), any of the policies of any other Person or is otherwise unacceptable, in Traindex’s sole\n discretion.\n
  • \n
\n

\n Traindex respects the intellectual property of others, and we expect all Users to do the same. It is our\n policy, in appropriate circumstances and at our discretion, to disable or terminate the accounts of any\n User who infringe or attempt to infringe the copyrights or other intellectual property rights of Traindex\n or any Third Party IP rights.\n

\n

\n We provide functions that allow you to control who may access Your Content. You acknowledge that, if you\n enable the features that allow you to share Your Content with others, anyone you’ve shared Your Content\n with (including the general public, in certain circumstances) may have access to Your Content.\n Furthermore, you agree that any such Content can be read by the operators and/or other agents of Traindex,\n whether or not they are the intended recipients. If we or any other Person asks you to cease and desist\n from sharing any of Your Content with any third party, you agree to comply with such request immediately.\n

\n

\n You hereby grant Traindex and its contractors the right to transmit, use and disclose Your Content solely\n to the extent necessary to provide you with access to and use of the Site, as otherwise permitted by these\n Terms of Use, or as may be necessary or appropriate to comply with any request of a governmental or\n regulatory body (including subpoenas or court orders), as otherwise required or permitted by law, or to\n respond to an emergency which Traindex believes in good faith requires Traindex to disclose information to\n assist in preventing the death or serious bodily injury of any Person.\n

\n

\n TRAINDEX WILL HAVE NO LIABILITY OF ANY KIND AS A RESULT OF THE DELETION OF, CORRECTION OF, DESTRUCTION OF,\n DAMAGE TO, LOSS OF OR FAILURE TO STORE OR ENCRYPT ANY OF YOUR CONTENT.\n

\n

\n 7. Updates to the service. \n Traindex reserves the right, in its sole discretion, to make unscheduled deployments of updates,\n enhancements or such other changes to the Site at any time that Traindex deems necessary or otherwise\n desirable, in each case to the full extent permitted by all applicable local, state, national or\n international laws, statutes, ordinances, rules and regulations (“Applicable Laws”) and without notice or\n liability to Traindex. For example, we may add or remove functionalities or features, and we may suspend\n or stop a Service altogether.\n

\n

\n 8. Software. \n If any Software of Traindex or any Third Party Provider(s) is provided to you by Traindex in connection\n with your use of the Site (“Provided Software”), the use of such Software shall be governed in one of two\n ways: (i) If you’re presented with license terms that you must accept in order to use any Provided\n Software, those terms apply; and (ii) if no license terms are presented to you, these Terms of Use shall\n apply. We reserve all other rights to any Provided Software. We may automatically check your version of\n any Provided Software. We may also automatically download to your computer or device new versions of any\n such Software.\n

\n

\n Any Provided Software is licensed, not sold. Unless we notify you otherwise, any license to any Provided\n Software granted hereby Software license shall automatically terminate when your right to use the Site\n ends. You must then promptly uninstall any Provided Software, or we may disable it. You must not work\n around any technical limitations in any Provided Software.\n

\n

\n Any and all Provided Software shall be subject to applicable U.S. export laws and regulations. You hereby\n agree to complying with all domestic and international export laws and regulations that apply to any\n Provided Software. These laws include restrictions on destinations, end users, and end use. Without\n limitation, you may not transfer any Provided Software or any right granted to you by Traindex to access\n or use the Site (the “Service”) without U.S. government permission to anyone on U.S. government exclusion\n lists (see the Commerce Department’s compliance list at\n \n http://www.bis.doc.gov/index.php/policy-guidance/lists-of-parties-of-concern.\n \n You hereby represent and warrant that you’re not on any of those lists or under the control of or an agent\n for anyone on those lists or the entities listed above.\n

\n

\n 9. Ideas, Suggestions, Feedback or Data Shared with Traindex. \n If you choose to send us any message, documents, information and/or data, including but not limited to any\n ideas, suggestions, questions, feedback and/or proposals regarding the Site or the Service (or other\n products or services), such message, documents, information and/or data shall be deemed non-confidential\n and we shall have no obligation of any kind with respect to such message, documents, information and/or\n data and shall be free to disclose and/or distribute any such message, documents, information and/or data\n to others without limitation and to reproduce and use any ideas, concepts, know-how or techniques\n contained in such message, documents, information and/or data, including without limitation to develop,\n manufacture, market and produce products and services incorporating such ideas, concepts, know-how or\n techniques.\n

\n

\n 10. Security. \n You shall not violate or attempt to violate the security of the Site. Violations of system or network\n security may result in civil or criminal liability. Traindex reserves the right to investigate occurrences\n which may involve such violations and may involve and cooperate actively with, law enforcement authorities\n in prosecuting users who have participated in such violations.\n

\n

\n 11. Third-Party Links, Sites, and Services. \n The Site may contain links to third-party websites, advertisers, services, special offers, or other events\n or activities that are not owned or controlled by Traindex. We do not endorse or assume any responsibility\n for any such third-party sites, information, materials, products, or services. If you access any third\n party website, service, or content through or in connection with your access or use of the Site, you do so\n at your own risk and you agree that Traindex will have no liability arising from your use of or access to\n any third-party website, service, or content.\n

\n

\n 12. Privacy. \n Your privacy is important to us. Our Privacy Policy\n (https://www.traindex.io/privacy-policy/) \n is incorporated into, subject to and made part of these Terms of Use.

In order to operate and\n provide the Service, we collect certain information about you. As part of the Service, we may also\n automatically upload information about your computer or device, your use of the Service, and Service\n performance.\n

\n

\n 13. Indemnity. \n You shall indemnify, defend, hold harmless the Traindex Parties against any liability or obligation\n arising out of or related to any breach (or any claim of breach or alleged breach) of these Terms of Use\n or any applicable Service Agreement(s) by you, your affiliates, directors, officers, employees or agents,\n you shall pay any final judgment entered against any of the Traindex Parties in any such proceeding or\n agreed to in settlement. Traindex will promptly notify you in writing of such claim or suit (provided that\n any delay by Traindex in providing such written notice shall not affect Traindex’s rights under this\n section unless and only to the extent you are materially prejudiced by such delay), and Traindex will use\n commercially reasonable efforts to provide such available information and non-monetary assistance you\n reasonably request.\n

\n\n

\n 14. Disclaimer. \n Traindex does not warrant, endorse or guarantee the completeness, accuracy, integrity or timeliness of any\n information provided via the Site, and we are not responsible for mistakes, out-of-date information,\n inaccuracies, typographical or other errors. You must evaluate, and bear all risks associated with, the\n use of any Content (including but not limited to Third Party Content) or other information included in the\n Site, including any reliance on the accuracy, completeness, safety or usefulness of such information. You\n acknowledge that any information included in the Site is subject to change without notice. Any opinions or\n assertions contained in the Site at any time or from time to time do not represent the opinions or beliefs\n of Traindex and/or its affiliates. Traindex and/or one or more of its directors, officers, employees,\n representatives or agents may have a position in any of the securities mentioned in Content included from\n time to time in the Site.\n

\n

\n Notwithstanding anything to the contrary in these Terms of Use or in any Service Agreement, we reserve the\n right to change, suspend, remove, or disable access to the Site, any Content or other materials comprising\n a part of the Site or the Service at any time without notice, provided that we agree to at all times\n materially comply with our obligations under any applicable Service Agreement(s). In no event will we be\n liable for making these changes (provided that we have materially complied with our obligations under\n applicable Service Agreement(s)). Furthermore, any such change, suspension, removal or disabling of access\n to the Site, any Content or other materials comprising a part of the Site or the Service shall not act as\n a waiver of any breach of these Terms of Use or any applicable Service Agreement(s) and shall not release\n you or any other Person(s) from any liability related to any such Person’s breach of such Person’s\n obligations under these Terms of Use or any applicable Service Agreement(s).\n

\n

\n As a registered user in good standing, you may be provided with limited access to the videos, articles or\n other Content saved to the Site. Such access is provided as an accommodation only, and Your Content (or\n any portion thereof) may be deleted at any time and for any reason. We do not warrant, and will not have\n any liability or responsibility for, your use of the Site or the Service (or any part or portion thereof).\n We may also impose limits on the use of or access to certain features or portions of the Site and/or the\n Service, for any reason and without notice or liability. The Site and the Service (or any part or portion\n thereof) may be unavailable from time to time due to mechanical, telecommunication, software, and other\n failures. We cannot predict or control when such downtime may occur and cannot control the duration of\n such downtime.\n

\n

\n YOUR USE OF THE SITE IS AT YOUR SOLE RISK. TRAINDEX MAKES NO WARRANTY THAT THE SITE WILL MEET YOUR\n REQUIREMENTS. THE SITE, TRAINDEX CONTENT AND ALL OTHER INFORMATION OR CONTENT CONTAINED IN THE SITE IS\n PROVIDED ON AN “AS IS” AND “AS AVAILABLE” BASIS, WITHOUT WARRANTIES OF ANY KIND, EXPRESS, STATUTORY OR\n IMPLIED, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR\n PURPOSE OR NON-INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OF A THIRD PARTY, TITLE, CUSTOM, TRADE, QUIET\n ENJOYMENT, ACCURACY OF INFORMATION CONTENT OR SYSTEM INTEGRATION. TRAINDEX DOES NOT WARRANT THAT THE SITE\n OR THE SERVICES WILL BE AVAILABLE OR OPERATE IN AN UNINTERRUPTED, ERROR-FREE OR COMPLETELY SECURE MANNER\n OR THAT ERRORS OR DEFECTS WILL BE CORRECTED.\n

\n

\n 15. Limitation of Liability. \n IN NO EVENT SHALL ANY OF THE TRAINDEX PARTIES’ OR TRAINDEX’S SUPPLIERS OR LICENSORS OR PROVIDERS’\n AGGREGATE LIABILITY, IF ANY, ARISING OUT OF OR IN ANY WAY RELATED TO THE SITE OR THE SERVICE EXCEED THE\n FEES PAID BY YOU FOR THE SERVICE FOR THE PERIOD OF TWELVE (12) MONTHS PRIOR TO THE EVENT THAT DIRECTLY\n GAVE RISE TO THE DAMAGES CLAIMED, WITHOUT REGARD TO WHETHER SUCH CLAIM IS BASED IN CONTRACT, TORT\n (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE), PRODUCT LIABILITY OR OTHERWISE.\n

\n

\n IN NO EVENT SHALL TRAINDEX, ANY OF THE OTHER TRAINDEX PARTIES OR TRAINDEX’S SUPPLIERS OR LICENSORS OR\n PROVIDERS BE LIABLE FOR ANY INDIRECT, EXEMPLARY, SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, INCLUDING,\n WITHOUT LIMITATION, LOSS OF DATA OR LOSS OF PROFITS, WITHOUT REGARD TO WHETHER SUCH CLAIM IS BASED IN\n CONTRACT, TORT (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE), PRODUCT LIABILITY OR OTHERWISE, EVEN IF\n TRAINDEX HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\n

\n

\n 16. Limited Time to Bring Your Claim. \n You and Traindex agree that any cause of action arising out of or related to the Service or any Traindex\n Content must be commenced within one (1) year after the cause of action arises. Otherwise, such cause of\n action is permanently barred.\n

\n

\n Notwithstanding anything to the contrary in these Terms of Use or in any Service Agreement, we reserve the\n right to change, suspend, remove, or disable access to the Site, any Content or other materials comprising\n a part of the Site or the Service at any time without notice, provided that we agree to at all times\n materially comply with our obligations under any applicable Service Agreement(s). In no event will we be\n liable for making these changes (provided that we have materially complied with our obligations under\n applicable Service Agreement(s)). Furthermore, any such change, suspension, removal or disabling of access\n to the Site, any Content or other materials comprising a part of the Site or the Service shall not act as\n a waiver of any breach of these Terms of Use or any applicable Service Agreement(s) and shall not release\n you or any other Person(s) from any liability related to any such Person’s breach of such Person’s\n obligations under these Terms of Use or any applicable Service Agreement(s).\n

\n

\n 17. Local Laws; Export Control. \n Traindex controls and operates the Site from its headquarters in the United States of America and the\n Traindex Content may not be appropriate or available for use in other locations. If you use the Site\n outside the United States of America, you are responsible for following local Applicable Laws.\n

\n

\n 18. Agreement to Arbitrate. \n These Terms of Use are governed by and construed in accordance with the laws of the State of Washington,\n without giving effect to any principles of conflicts of law. For any action at law or in equity relating\n to the arbitration provision of these Terms of Use, you agree to resolve any dispute you have with\n Traindex exclusively in a state or federal court located in Seattle, Washington, and to submit to the\n personal jurisdiction of the courts located in Seattle, Washington for the purpose of litigating all such\n disputes.\n

\n

\n 19. Governing Law; Venue. \n Traindex controls and operates the Site from its headquarters in the United States of America and the\n Traindex Content may not be appropriate or available for use in other locations. If you use the Site\n outside the United States of America, you are responsible for following local Applicable Laws.\n

\n

\n If any provision of these Terms of Use is held to be unlawful, void, or for any reason unenforceable\n during arbitration or by a court of competent jurisdiction, then that provision will be deemed severable\n from these Terms of Use and will not affect the validity and enforceability of any remaining provisions.\n This dispute resolution provision will survive the termination of any or all of your transactions with\n Traindex.\n

\n

\n The parties agree that the United Nations Convention for the International Sale of Goods is excluded in\n its entirety from these Terms of Use.\n

\n

\n 20. International Access. \n The Site may be accessed from countries other than the United States. We make no representations or\n warranties that the Site or the Service are appropriate for use or access in other locations. If you\n access and use the Site or the Service outside the United States, you do so on your own initiative and you\n are responsible for complying with both United States and local laws and regulations, if and to the extent\n such laws are applicable\n

\n

\n You may not use, export, re-export, import or transfer the Site or the Service (or any portion thereof or\n any rights thereto granted by Traindex) except as authorized by United States Applicable Laws, the laws of\n the jurisdiction in which you gained access to the Service and the Site, and any other Applicable Laws. In\n particular, but without limitation, neither the Site nor the Service (nor any portion thereof or any\n rights thereto granted by Traindex) may be exported or re-exported: (a) into any United States embargoed\n countries; or (b) to anyone on the U.S. Treasury Department’s list of Specially Designated Nationals or\n the U.S. Department of Commerce’s Denied Person’s List or Entity List. By accessing and using the Site\n and/or the Service, you represent and warrant that you are not located in any such country or on any such\n list. You also may not use the Site or the Service for any purpose prohibited by United States Applicable\n Laws, including the development, design, manufacture or production of missiles, nuclear, chemical or\n biological weapons. We reserve the right to limit, in our sole discretion, the availability of the Site\n and/or the Service (or any portion thereof) to any Person, geographic area, or jurisdiction, at any time.\n

\n

\n 21. U.S. Government Restricted Rights. \n If this product is acquired under the terms of a government contract, use, duplication and disclosure are\n subject to the terms of this license and the following restrictions: subdivision (c)(1)(ii) of the Rights\n in Technical data and Computer Software clause at 252.227-7013 (DOD contracts); subdivisions (a) through\n (d) of 52.227-19 (Civilian agency contracts); and the applicable ADP Schedule Contract (GSA contracts).\n

\n

\n 22. Consent to Electronic Communication. \n By inputting any information on the Site, you are consenting to receive communications from us\n electronically and you agree that all agreements, notices, disclosures and other communications that we\n provide to you electronically satisfy any legal requirement that such communications be in writing.\n

\n

Trademark information

\n

\n 23. Proprietary Rights Notice. \n Traindex and the Traindex logo are registered service marks of Traindex. All other Traindex trademarks,\n service marks, domain names, logos and company names or other proprietary designations of Traindex used\n herein or referred to on the Site are either trademarks, service marks, domain names, logos or company\n names or are otherwise the property of Traindex. In countries where any of the Traindex trademarks,\n service marks, domain names, logos or company names are not registered, Traindex claims other rights\n associated with unregistered trademarks, service marks, domain names, logos, trade name and company names.\n Other product or company names referred to on the Site may be trademarks of their respective owners. You\n may not use any trademark, service mark, domain name, logo, company name or trade name of Traindex or any\n third party without permission from the owner of the applicable trademark, service mark, domain name,\n logo, company name or trade name. You may contact Traindex by sending an e-mail or writing to the address\n above, to request written permission to use trademarks and materials on the Site for purposes other than\n stated in these Terms of Use or for all other questions relating to the Site.\n

\n

\n 24. Miscellaneous. \n Both you and Traindex acknowledge and agree that no partnership is formed, and neither of you nor Traindex\n has the power or the authority to obligate or bind the other.\n

\n

\n These Terms of Use operate to the fullest extent permissible by law. If any provision of these Terms of\n Use is unlawful, void, or unenforceable, that provision is deemed severable from these Terms of Use and\n does not affect the validity and enforceability of any remaining provisions.\n

\n

\n Traindex’s failure to insist upon or enforce strict performance of any provision of these Terms of Use\n will not be construed as a waiver of any provision or right. No waiver of any of these Terms of Use will\n be deemed a further or continuing waiver of such term or condition or any other term or condition.\n

\n

\n Neither party shall be in default if its failure to perform any obligation under these Terms of Use is\n caused solely by supervening conditions beyond that party’s reasonable control including, without\n limitation, acts of God, civil commotion, war, strikes, labor disputes, third party Internet service\n interruptions or slowdowns, vandalism or “hacker” attacks, acts of terrorism or governmental demands or\n requirements.\n

\n\n

\n These Terms of Use constitute a binding agreement between you and Traindex, and are accepted by you as a\n condition for your use of the Site. These Terms of Use constitute the entire agreement between you and\n Traindex regarding the use of the Site and supersede all prior or contemporaneous communication or\n proposal (whether oral, written or electronic) between you and Traindex (other than any applicable Service\n Agreement).\n

\n

\n The Traindex Parties are intended third party beneficiaries of these Terms of Use. Nothing in these Terms\n of Use or the guidelines, policies on the Site, express or implied, is intended to or shall confer upon\n any third person or entity other than the Traindex Parties any rights, benefits or remedies of any nature\n whatsoever. Without limiting the generality of the foregoing, no provision herein shall be for the benefit\n of or enforceable by any creditor of any party hereto.\n

\n

\n Your obligations and our rights and remedies set out in these Terms of Use are cumulative and are in\n addition to your obligations and our rights and remedies at law or in equity.\n

\n

\n Traindex may assign these Terms of Use without your consent to any other party so long as such party\n agrees to be bound by its terms.\n

\n

\n These Terms of Use are in addition to the policies, guidelines and restrictions contained on the Site\n (which are all incorporated by this reference into these Terms of Use).\n

\n

\n Unless the context requires otherwise, in any part of these Terms of Use: (a) “including” (and any of its\n derivative forms, e.g. “includes”), “e.g.” and “for example” means “including but not limited to”; (b)\n “must not”, “should not”, “shall not” and “may not” are expressions of prohibition, and “will”, “must”,\n “should” and “shall” are expressions of command, and not merely expressions of future intent or\n expectation; (c) use of the singular imports the plural and vice versa; (d) references to one or no gender\n include the other or no gender; (e) references to the terms “herein” or “hereto” refer to these Terms of\n Use (including any terms incorporated by reference herein); (f) the headings in these Terms of Use are for\n ease of reference only and shall not affect its interpretation; and (g) when calculating the time period\n before which, within which or following which any act is to be done or step taken pursuant to these Terms\n of Use, the date that is the reference date in calculating such period shall be excluded and the time\n period shall be deemed to end at 11:59 PM Pacific Time (US) on the applicable date.\n

\n
\n \n
\n
\n )\n}\n\nexport default TermsOfUseText\n","import React from \"react\"\nimport Header from \"./Header/\"\nimport TermsOfUseText from \"./Terms/TermsOfUseText\"\nimport Footer from \"./Footer\"\nimport \"../index.css\"\n\nconst Terms = () => {\n return (\n
\n
\n \n
\n
\n )\n}\n\nexport default Terms\n","/* eslint-disable max-len */\nimport React from \"react\"\nimport { Container, Row, Col } from \"reactstrap\"\n\nconst PrivacyText = () => {\n return (\n \n \n \n
\n

\n Joinant, LLC. DBA Traindex, respects the privacy of visitors to its Websites. This Privacy Policy governs\n the manner in which Traindex collects, uses, maintains and discloses information collected from users\n (each, a "User") of the traindex.io website ("Website") and to any subdomains of this\n Website. This privacy policy applies to the Website and all products and services offered by Traindex.\n

\n

\n We recognize that visitors and users of this Website may want to know how we treat information collected\n on our Websites. This Privacy Policy, which may be updated from time to time, has been developed to\n address those questions.\n

\n

\n Your use of this Website indicates to us that you have read and accept our privacy practices, as outlined\n in this Privacy Policy. If you have any questions or concerns regarding this Privacy Statement, please\n contact us:\n https://www.traindex.io/#get-in-touch \n

\n

\n This Privacy Policy is in addition to any other legally binding agreement with Traindex or its affiliates\n that may govern your privacy or use of Traindex products and services. To the extent any such agreement is\n in writing and conflicts with this Privacy Policy, the terms of such written agreement will govern.\n

\n

\n In general, when Users visit our Website and access information, Users will remain anonymous. However, for\n some services provided through our Website, such as requesting a product trial or subscribing to email\n updates, we will ask Users to register using an online registration form and to share personal\n identification information.\n

\n

\n 1. Personal Identification Information. \n We may collect personal identification information from Users in a variety of ways, including contact\n details and usage metrics such as: when Users visit our Website, respond to a survey, fill out a form,\n request updates or alerts and in connection with other activities, services, features or resources we make\n available on our Website. Users may inquire as to the source of any information that we collect. Users may\n be asked for, as appropriate, name, email address, mailing address, phone number and other general contact\n information. Users may, however, visit our Website anonymously. We will collect personal identification\n information from Users only if they voluntarily submit such information to us. Users can always refuse to\n supply personally identification information, except that it may prevent them from engaging in certain\n Website-related activities. We will retain personal information for as long as it serves the purposes for\n which the information was collected and for longer periods of time only if required by law or regulation.\n

\n

\n 2. Right of Data Access. \n Users shall have the right to obtain from Traindex confirmation as to whether or not personal data is\n being processed, and, where that is the case, access to the personal data and the following information:\n

    \n
  1. the purposes of related data processing
  2. \n
  3. the categories of personal data concerned
  4. \n
  5. \n the recipients or categories of recipient to whom the personal data have been or will be disclosed, in\n particular recipients in third countries or international organizations\n
  6. \n
  7. \n where possible, the envisaged period for which the personal data will be stored, or, if not possible,\n the criteria used to determine that period\n
  8. \n
  9. \n the existence of the right to request from Traindex rectification or erasure of personal data or\n restriction of processing of personal data concerning the data subject or to object to such processing\n
  10. \n
  11. the right to lodge a complaint with a supervisory authority
  12. \n
  13. \n where the personal data are not collected from the data subject, any available information as to their\n source\n
  14. \n
  15. \n the existence of automated decision-making, including profiling and meaningful information about the\n logic involved, as well as the significance and the envisaged consequences of such processing for the\n data subject.\n
  16. \n
\n

\n

\n 3. Additional Data Rights. \n

    \n
  1. \n Users shall have the right to obtain from Traindex, without undue delay, the rectification of\n inaccurate personal data concerning the User.\n
  2. \n
  3. \n Users shall have the right to be forgotten. Users shall have the right to obtain from Traindex the\n erasure of personal data without undue delay and Traindex shall have the obligation to erase personal\n data without undue delay when the personal data is no longer necessary in relation to the purposes for\n which it was collected or otherwise processed, or the User withdraws consent for data processing and\n there is no other legal ground for doing so.\n
  4. \n
  5. \n User has the right to data portability. Users shall have the right to receive their personal data in a\n structured, commonly used and machine-readable format and have the right to transmit this data to\n another data controller without hindrance.\n
  6. \n
\n

\n

\n 4. Timely and Transparent Compliance with Data Requests. \n Traindex shall take appropriate measures to provide information related to data processing in a concise,\n transparent, intelligible and easily accessible form, using clear and plain language Traindex shall\n provide information on action taken on a request under the above Data Rights to Users without undue delay\n and in any event within one month of receipt of the request. That period may be extended by two further\n months where necessary, taking into account the complexity and number of the requests. Traindex shall\n inform the data subject of any such extension within one month of receipt of the request, together with\n the reasons for the delay. Where the data subject makes the request by electronic form means, the\n information shall be provided by electronic means where possible, unless otherwise requested by the data\n subject.\n

\n

\n 5. Non-Personal Identification Information. \n We may collect non-personal identification information about Users whenever they interact with our\n Website. Non-personal identification information may include the browser name, the type of computer and\n technical information about Users’ means of connecting to our Website, such as the operating system and\n the Internet service provider(s) utilized and other similar information.\n

\n

\n While accessing and operating a Traindex product, we may also record general statistical and tracking\n information, such as the date and time a User accesses his or her product and the time spent using it,\n etc., as well as aggregated, anonymous usage stats.\n

\n

\n 6. Third Party Services. \n We may use services hosted by third parties such as Google Analytics to help us understand how use our\n Website is being used. These services may collect information sent by a browser as part of a web page\n request, including IP addresses or cookies. If these third party services collect information, they do so\n anonymously and in the aggregate to provide information helpful to us such as website trends, without\n identifying individual visitors.\n

\n

\n 7. Website Browser Cookies. \n Our Website may use "cookies" to enhance User experience. User's web browser places cookies\n on their hard drive for record-keeping purposes and sometimes to track information about them. User may\n choose to set their web browser to refuse cookies, or to be alerted when cookies are being sent. If they\n do so, note that some parts of the Website may not function properly.\n

\n

\n 8. How We Use Collected Information. \n Traindex may collect and use Users personal information to respond to your customer service requests, to\n improve our Website by using feedback you provide to improve our products and services, to run a\n promotion, contest, survey or other Website feature, and to send periodic emails regarding updates\n pertaining to their product or services. It may also be used to respond to their inquiries, questions,\n and/or other requests. If User decides to opt-in to our mailing list, they will receive emails that may\n include company news, updates, related product or service information, etc. If at any time the User would\n like to unsubscribe from receiving future emails, we include detailed unsubscribe instructions at the\n bottom of each email or User may contact us via our Website. We will not process information in a way that\n is incompatible with the purposes for which the information was collected and authorized or subsequently\n authorized by the User.\n

\n

\n 9. How We Protect Your Information. \n We apply data collection, storage and processing practices and security measures to protect against\n unauthorized access, alteration, disclosure or destruction of User’s personal information, username,\n password, transaction information and data stored on our Website.\n

\n

\n 10. Access to Your Information. \n Users may request a copy of any information they have provided to us and may request to correct any\n information that is inaccurate. Unless prohibited by applicable law, we reserve the right to charge a\n reasonable fee to cover costs for providing copies of information requested by Users.

Users may\n also request to have their information restricted from some or all of our uses or have information erased\n from our database. Please note that such requests may prevent them from engaging in certain\n Website-related activities. Prior to processing such requests, we may require that the User provide us\n with additional documentation to accredit their identity.\n

\n

\n 11. Sharing Your Personal Information. \n We do not sell, trade, or rent User’s personal identification information to others. We will not share\n User’s personal identification information with unrelated third parties not covered by this privacy policy\n without the User’s permission except to the extent reasonably necessary to comply with laws or to respond\n to judicial process.\n

\n

\n 12. Third Party Websites / Links. \n Users may find content on our Website that links to the websites and services of our partners, suppliers,\n advertisers, sponsors, licensors and other third parties. We do not control the content or links that\n appear on these websites and are not responsible for the practices employed by websites linked to or from\n our Website. In addition, these websites or services, including their content and links, may be constantly\n changing. These websites and services may have their own privacy policies and customer service policies.\n Browsing and interaction on any other website, including websites which have a link to our Website, is\n subject to that website's own terms and policies. Traindex is not responsible for the privacy\n practices of any third party websites.\n

\n

\n \n 13. Compliance with Children's Online Privacy Protection Act.{\" \"}\n \n Protecting the privacy of the very young is especially important. For that reason, we do not collect or\n maintain information on our Website from those we actually know are under the age of 13, nor is any part\n of our Website targeted to attract anyone under 13. We request that all visitors to our Website who are\n under 13 not disclose or provide any personally identifiable information. If we discover that a child\n under 13 has provided us with personally identifiable information, we will delete that child's\n personally identifiable information from our records.\n

\n

\n 14. Data Security. \n We take reasonable steps to maintain the security of the personally identifiable information that we\n collect, including limiting the number of people who have physical access to our database servers, as well\n as installing electronic security systems that guard against unauthorized access. However, no data\n transmission over the Internet can be guaranteed to be completely secure. Accordingly, we cannot ensure or\n warrant the security of any information that you transmit to us, so you do so at your own risk.\n

\n\n

\n 15. Consent to Transfer. \n This Website is operated in the United States. If you are located outside of the United States, please be\n aware that any information you provide to us will be transferred to the United States and/or third\n countries. By using our Website, participating in any of our services and/or providing us with your\n information, you consent to this transfer.\n

\n

\n We treat all information in strict confidence. We will not sell your personally identifiable information\n to any company or organization except we may transfer your personally identifiable information to a\n successor entity upon a merger, consolidation or other corporate reorganization in which Traindex\n participates, or to a purchaser of all or substantially all of Traindex’s assets. Such successor entity\n will be bound by terms and conditions substantially similar to those of this Privacy Policy.\n

\n\n

\n 16. Changes to this Privacy Policy. \n Traindex has the discretion to update this privacy policy at any time. When we do, we will revise the\n updated date at the bottom of this page. We encourage Users to frequently check this page for any changes\n to stay informed about how we are helping to protect the personal information we collect. You acknowledge\n and agree that it is your responsibility to review this privacy policy periodically and become aware of\n modifications.\n

\n

\n 17. Your Acceptance of These Terms. \n By using this Website, you signify your acceptance of this policy. If you do not agree to this policy,\n please do not use our Website. Your continued use of the Website following the posting of changes to this\n policy will be deemed your acceptance of those changes.\n

\n\n

\n Contacting Us. \n If you have any questions about this Privacy Policy, the practices of this site, requests regarding your\n information, or your dealings with this site, please contact us at:\n

\n\n

\n Joinant, LLC.

\n 16301 NE 8th St

\n Suite 208

\n Bellevue, WA 98008\n

\n
\n \n
\n
\n )\n}\n\nexport default PrivacyText\n","import React from \"react\"\nimport Header from \"./Header\"\nimport PrivacyText from \"./Privacy/PrivacyText\"\nimport Footer from \"./Footer\"\nimport \"../index.css\"\n\nconst Privacy = () => {\n return (\n
\n
\n \n
\n
\n )\n}\n\nexport default Privacy\n","import React from \"react\"\nimport { ButtonGroup as ReactstrapButtonGroup, Button as ReactstrapButton } from \"reactstrap\"\n\n/**\n|--------------------------------------------------\n| reusable ReactStrap Button and ButtonGroup components with\n| some default props\n|--------------------------------------------------\n*/\n\nexport const Button = ({\n children,\n color = \"white\",\n bgColor = \"gray\",\n onClick,\n size = \"md\",\n disabled = false,\n outline = false,\n ...props\n}) => {\n return (\n \"sm\" or \"lg\"\n {...props}\n >\n {children}\n \n )\n}\n\nexport const ButtonGroup = ({ bgColor, children, ...props }) => {\n return (\n \n {children}\n \n )\n}\n","import React, { useState } from \"react\"\nimport { useHistory } from \"react-router-dom\"\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Input, Spinner, Alert } from \"reactstrap\"\nimport { Button } from \"../Reactstrap_Components/Button\"\nimport { confirmSignUp } from \"../../utils/auth.utils\"\n\nconst VerifyEmail = ({ isModalOpen, formData }) => {\n const history = useHistory(),\n [code, setCode] = useState(\"\"),\n [loading, setLoading] = useState(false),\n [error, setError] = useState(\"\")\n\n const confirm = async () => {\n const { email, password } = formData\n try {\n error && setError(\"\")\n setLoading(true)\n await confirmSignUp(email, password, code)\n history.push(\"/index?signup-success=1\")\n } catch (error) {\n setError(error.message)\n setLoading(false)\n }\n }\n\n const handleCodeChange = event => {\n setCode(event.target.value)\n }\n\n return (\n \n Verify Email\n {error && (\n \n {error}\n \n )}\n \n Thank you for signing up!\n

\n We need you to verify your email to complete your registration. Please check your email and paste verification\n code below:\n

\n \n
\n \n \n {loading && }Confirm\n \n \n
\n )\n}\n\nexport default VerifyEmail\n","import React, { useState } from \"react\"\nimport {\n Card,\n CardImg,\n CardBody,\n CardTitle,\n CardSubtitle,\n Button,\n Form,\n FormGroup,\n FormText,\n Label,\n Input,\n Spinner,\n Modal,\n ModalHeader,\n ModalBody,\n ModalFooter\n} from \"reactstrap\"\nimport { Auth } from \"aws-amplify\"\nimport { Link } from \"react-router-dom\"\nimport Users from \"../../api/UsersAPI\"\nimport { signIn } from \"../../utils/auth.utils\"\nimport \"./signIn.css\"\nimport { validatePassword } from \"../../utils/common\"\nimport VerifyEmail from \"../VerifyEmail\"\nimport traindexLogo from \"../../images/traindex-logo.png\"\n\nconst SignIn = props => {\n const [email, setEmail] = useState(\"\"),\n [password, setPassword] = useState(\"\"),\n [loading, setLoading] = useState({\n signIn: false,\n resetPassword: false\n }),\n [user, setUser] = useState({}),\n [newPassword, setNewPassword] = useState(\"\"),\n [modal, setModal] = useState(false),\n [error, setError] = useState(\"\"),\n [isModalOpen, setIsModalOpen] = useState(false)\n\n const handleSubmit = async event => {\n event.preventDefault()\n setLoading({ ...loading, signIn: true })\n error && setError(\"\")\n\n try {\n const userInfo = await signIn(email, password)\n setLoading({ ...loading, signIn: false })\n if (userInfo.challengeName === \"NEW_PASSWORD_REQUIRED\") {\n setUser(userInfo)\n setModal(true)\n } else {\n return redirectToDashboard()\n }\n } catch (error) {\n if (error.name === \"InvalidParameterException\") {\n setError(\"Please check your input information.\")\n } else if (error.name === \"UserNotConfirmedException\") {\n setIsModalOpen(!isModalOpen)\n } else {\n setError(error.message)\n }\n setLoading({ ...loading, signIn: false })\n }\n }\n\n const handleResetPasswordSubmit = async event => {\n event.preventDefault()\n setLoading({ ...loading, resetPassword: true })\n try {\n const fullName = user.challengeParam.userAttributes.name || \"\"\n const passwordValidate = validatePassword(email, newPassword, fullName)\n if (passwordValidate === \"ok\") {\n await Auth.completeNewPassword(user, newPassword, { email })\n await Users.update({ email: email, email_verified: \"true\", auth_user_id: user.username })\n setLoading({ ...loading, resetPassword: false })\n return redirectToDashboard()\n } else if (passwordValidate === \"name\") {\n setError(\"Password should not contain part of your name\")\n } else if (passwordValidate === \"email\") {\n setError(\"Password should not contain part of your email\")\n }\n } catch (error) {\n setError(error.message)\n setLoading({ ...loading, resetPassword: false })\n }\n }\n\n const onChangeHandler = event => {\n const { name, value } = event.target\n name === \"email\" ? setEmail(value) : name === \"password\" ? setPassword(value) : setNewPassword(value)\n }\n\n const toggle = () => setModal(!modal)\n\n const redirectToDashboard = () => {\n return props.history.push(\"/index\")\n }\n\n return (\n
\n \n \n \n \n WELCOME\n {error ? {error} : null}\n \n
\n \n \n \n \n \n \n \n \n Forgot password?\n \n

\n Don't have an account?\n \n Sign Up\n \n

\n
\n
\n
\n \n Reset password\n {error ?
{error}
: null}\n
\n \n \n \n Password must have at least 10 characters.\n \n \n \n \n \n \n
\n
\n \n
\n )\n}\n\nexport default SignIn\n","import React, { useState } from \"react\"\nimport {\n Card,\n CardImg,\n CardBody,\n CardTitle,\n CardSubtitle,\n Button,\n Form,\n FormGroup,\n Label,\n Input,\n FormText,\n Spinner\n} from \"reactstrap\"\nimport { Link } from \"react-router-dom\"\nimport { signUp } from \"../../utils/auth.utils\"\nimport \"./signUp.css\"\nimport logo from \"../../images/traindex-logo.png\"\nimport { validatePassword } from \"../../utils/common\"\nimport VerifyEmail from \"../VerifyEmail\"\n\nconst SignUp = () => {\n const [formData, setFormData] = useState({\n fullName: \"\",\n email: \"\",\n password: \"\",\n confirmPassword: \"\"\n }),\n [loading, setLoading] = useState({\n signUp: false,\n resetPassword: false\n }),\n [isModalOpen, setIsModalOpen] = useState(false),\n [error, setError] = useState(\"\")\n\n\n const handleSubmit = async event => {\n event.preventDefault()\n setLoading({ ...loading, signUp: true })\n\n try {\n const { email, password, fullName, confirmPassword } = formData\n if (password !== confirmPassword) {\n throw Error(\"Password and Confirmation password do not match.\")\n }\n if (validatePassword(email, password, fullName.trim()) === \"ok\") {\n await signUp(formData)\n setLoading({ ...loading, signUp: false })\n setIsModalOpen(!isModalOpen)\n } else if (validatePassword(email, password, fullName.trim()) === \"name\") {\n setError(\"Password should not contain name\")\n setLoading({ ...loading, signUp: false })\n } else if (validatePassword(email, password, fullName.trim()) === \"email\") {\n setError(\"Password should not contain your email\")\n setLoading({ ...loading, signUp: false })\n }\n } catch (error) {\n setError(error.message)\n setLoading({ ...loading, signUp: false })\n }\n }\n\n const onChangeHandler = event => {\n const { name, value } = event.target\n return setFormData({ ...formData, [name]: value })\n }\n\n return (\n
\n \n \n \n \n \n SIGN UP FOR A FREE DEMO\n \n {error ? {error} : null}\n \n
\n \n \n \n \n \n \n \n \n \n \n \n Password must have at least 10 characters.\n \n \n \n \n \n

\n We respect your privacy and will never sell, rent or share your personal information\n \n Privacy policy\n \n

\n \n

\n Have an account?\n \n Sign In\n \n

\n
\n
\n
\n \n
\n )\n}\n\nexport default SignUp\n","import React, { useState, useEffect } from \"react\"\nimport { Route, Redirect } from \"react-router-dom\"\nimport { Spinner } from \"reactstrap\"\nimport { getCurrentUser } from \"../auth.utils\"\nimport \"./publicRoute.css\"\n\nexport const PublicRoute = ({ component: Component, ...props }) => {\n const [authorize, setAuthorize] = useState(false),\n [loading, setLoading] = useState(true)\n\n useEffect(() => {\n getCurrentUser()\n .then((data) => {\n if (data) {\n setAuthorize(true)\n }\n setLoading(false)\n })\n .catch(() => {\n setAuthorize(false)\n setLoading(false)\n })\n }, [])\n\n return loading ? (\n
\n \n
\n ) : (\n \n !authorize ? (\n \n ) : (\n \n )\n }\n />\n )\n}\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMmSURBVHgBxVhbTiJBFL207/gI6IfRD9P4YXwlyKcmJriCcQkzK1BXIK5gnBXM7GB0BZgQ+HUmIfDH8PgEAiE8wrPnnsI2qHRXdQPxJJ3uSp+6nL51695beMgBIpGId25u7qvH4wnw8MQwDJ2fvXjHzxV+zuDi58d2u/10cXGRUbXtUSFFo9HQzMzMLf9AiByART30er0f5+fnT1Ku3Uv2gL6wsPDTqYBRglqt1o2dhzSrF/F4/IqX4XlcEQDbuJyfn39mm9dWnJEeicVit3wL0xSgaVr49PT0jmRCpinCTswbIVgOduO9giHa2NiglZUV4hgS42azSdVqlcrlMvX7fZkJxM3N2dnZ/QchCEzEhLkdrbC2tkZ7e3vEaz7yPQclpdNpIUiCCm/xoBnAr8HKhr/LRGxubtLx8bGlCAAeOjg4oO3tbZLAix1pDoQQ5Am+XdrNwjL4/X5Sha7r5PP5bDnYkS+/PRDCa3xFEuzu7opYcIKdnR0pB4kSdw9ig139z468tLREwWCQ3CCRSIggtgPHik9jESGSYH19ndxCZS7qF3z9RUZEALqFXWCbQBHVUEHp83GisRpdxmo0GuQWtVpNhaZjabwyVrFYVMqWo1AqlVRoXqX92O12hRinKBQKItOqAEIqKsRcLqdsFOAtKeYoooJgzagwYRg5QUVMp9OhVCrlRHgGHvmryoZhmRhU4WQySfV6nRwgCyF/VJizs7MiZQcCAdu8giyMoodagzmKeECK93LSsa3Zy8vLtL+/7zixwXNYItn25xrm17gfqHCcPFmRUHWPjo5cZVfMQduwurpqR3vkbk3ECMrxnZUhiHDg4g/A3MPDQ8sP4fwkujQhBOeO917h8iy+BvdxARv4oBG2HswzjzZE/kZDOQUd1jjF7j0WFxffdG04GXJs3JjjVyFYJ3OJIGBra4smDdjkkm8O7/CblmRu3cL5fN6YFrLZrMFHljCpgJNS2JgSeEuriTDBc675KhuTA2xdkxvwRJ2v38b4iBiTaMDYSMiloIiheIhX+n9kSJDOtxAN+lz95TIbK2z9DA1qFwrpL+7+lFoM4D9EML/Lg8c1aQAAAABJRU5ErkJggg==\"","import React, { useState } from \"react\"\nimport { NavLink } from \"react-router-dom\"\nimport {\n Navbar,\n Nav,\n NavbarBrand,\n UncontrolledDropdown,\n DropdownToggle,\n DropdownMenu,\n DropdownItem,\n Collapse,\n NavbarToggler\n} from \"reactstrap\"\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport { faBars } from \"@fortawesome/free-solid-svg-icons\"\nimport { withRouter } from \"react-router-dom\"\nimport { signOut } from \"../../../utils/auth.utils\"\nimport { useStateValue } from \"../../../contexts/StateProvider\"\nimport \"./topMenu.css\"\nimport traindexLogo from \"../../../images/traindex-logo.png\"\nimport profileImage from \"../../../images/default-profile-image.png\"\n\nconst TopMenu = props => {\n const [collapsed, setCollapsed] = useState(true),\n { state, dispatch } = useStateValue(),\n { user } = state\n\n const toggleNavbar = () => setCollapsed(!collapsed)\n\n const redirectToSignIn = async () => {\n await signOut()\n return props.history.push(\"/sign-in\")\n }\n\n const disableSearch = () => {\n dispatch({\n type: \"SET_SEARCH_JOYRIDE\",\n searchJoyride: false\n })\n }\n\n return (\n \n \n
\n \n )\n}\n\nexport default withRouter(TopMenu)\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport TopMenu from \"../TopMenu\"\nimport \"./themeAdmin.css\"\nimport Footer from \"../../Footer\"\n\nconst ThemeAdmin = ({ children, backgroundColor = \"#fff\" }) => {\n return (\n \n \n
{children}
\n
\n
\n )\n}\n\nThemeAdmin.propTypes = {\n children: PropTypes.node.isRequired\n}\n\nexport default ThemeAdmin\n","import React, { useEffect, useState } from \"react\"\nimport { Route, Redirect } from \"react-router-dom\"\nimport { Spinner } from \"reactstrap\"\nimport { getCurrentUser } from \"../auth.utils\"\nimport \"./privateRoute.css\"\nimport ThemeAdmin from \"../../components/ExtraComponents/ThemeAdmin\"\n\nexport const PrivateRoute = ({ component: Component, ...props }) => {\n const [authorize, setAuthorize] = useState(false),\n [loading, setLoading] = useState(true)\n\n useEffect(() => {\n getCurrentUser()\n .then((data) => {\n if (data) {\n setAuthorize(true)\n }\n setLoading(false)\n })\n .catch(() => {\n setAuthorize(false)\n setLoading(false)\n })\n }, [])\n\n return loading ? (\n
\n \n
\n ) : (\n \n authorize ? (\n \n \n \n ) : (\n \n )\n }\n />\n )\n}\n","import React, { useEffect, useState } from \"react\"\nimport { Route } from \"react-router-dom\"\nimport { Spinner } from \"reactstrap\"\nimport { getCurrentUser } from \"../auth.utils\"\nimport \"./publicPrivateRoute.css\"\nimport ThemeAdmin from \"../../components/ExtraComponents/ThemeAdmin\"\n\nexport const PublicPrivateRoute = ({ component: Component, ...props }) => {\n const [authorize, setAuthorize] = useState(false),\n [loading, setLoading] = useState(true)\n\n useEffect(() => {\n getCurrentUser()\n .then((data) => {\n if (data) {\n setAuthorize(true)\n }\n setLoading(false)\n })\n .catch(() => {\n setAuthorize(false)\n setLoading(false)\n })\n }, [])\n\n return loading ? (\n
\n \n
\n ) : (\n \n authorize ? (\n \n \n \n ) : (\n \n )\n }\n />\n )\n}\n","import React, { useState } from \"react\"\nimport { Auth } from \"aws-amplify\"\nimport { Button, Form, FormGroup, Input, Label, UncontrolledAlert, Spinner } from \"reactstrap\"\nimport \"./updatePassword.css\"\n\nconst UpdatePassword = () => {\n const [formData, setFormData] = useState({\n currentPassword: \"\",\n newPassword: \"\",\n confirmPassword: \"\",\n }),\n [isSuccess, setIsSuccess] = useState(false),\n [loading, setLoading] = useState(false),\n [errorMessage, setErrorMessage] = useState(\"\"),\n { currentPassword, newPassword, confirmPassword } = formData\n\n const onChangeHandler = (event) => {\n const { name, value } = event.target\n setFormData({ ...formData, [name]: value })\n }\n\n const validateForm = () => {\n if (newPassword.length < 10) {\n return \"Password must have at least 10 characters!\"\n } else if (newPassword !== confirmPassword) {\n return \"Password and Confirm Password does not match!\"\n } else {\n return false\n }\n }\n\n const onSubmit = async (event) => {\n event.preventDefault()\n const errorMessage = validateForm()\n if (errorMessage) {\n setErrorMessage(errorMessage)\n } else {\n try {\n errorMessage && setErrorMessage(\"\")\n setLoading(true)\n const user = await Auth.currentAuthenticatedUser()\n await Auth.changePassword(user, currentPassword, newPassword)\n setIsSuccess(true)\n clearForm()\n setErrorMessage(\"\")\n setLoading(false)\n setTimeout(() => {\n setIsSuccess(false)\n }, 3000)\n } catch (error) {\n setLoading(false)\n setErrorMessage(error.name === \"LimitExceededException\" ? \n \"Attempt limit exceeded, please try again later!\" : \"Your current password is incorrect!\"\n )\n }\n }\n }\n\n const clearForm = () => {\n setFormData({\n currentPassword: \"\",\n newPassword: \"\",\n confirmPassword: \"\",\n })\n }\n\n return (\n
\n

Update Password

\n
\n {isSuccess && (\n Password has been updated.\n )}\n {errorMessage && {errorMessage}}\n {loading && (\n
\n \n
\n )}\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n
\n
\n )\n}\n\nexport default UpdatePassword\n","import React, { useState, useEffect } from \"react\"\nimport { \n Form, \n FormGroup, \n Label, \n Input, \n UncontrolledAlert,\n Spinner, \n Container \n} from \"reactstrap\"\nimport { updateUser } from \"../../utils/auth.utils\"\nimport UpdatePassword from \"../UpdatePassword\"\nimport { Button } from \"../Reactstrap_Components/Button\"\nimport { useStateValue } from \"../../contexts/StateProvider\"\nimport \"./profile.css\"\n\nconst Profile = () => {\n const { state, dispatch } = useStateValue(),\n { user, error } = state,\n [loading, setLoading] = useState(false),\n [saveError, setSaveError] = useState(\"\"),\n [saveStatus, setSaveStatus] = useState(\"idle\"),\n [userName, setUserName] = useState(\"\")\n\n useEffect(() => {\n setUserName((user && user.full_name) || \"\")\n }, [user])\n\n const onUpdateUser = async event => {\n event.preventDefault()\n try {\n setLoading(true)\n saveError && setSaveError(\"\")\n setSaveStatus(\"pending\")\n await updateUser(userName).then(res => {\n setSaveStatus(res)\n setLoading(false)\n setTimeout(() => {\n setSaveStatus(\"idle\")\n }, 3000)\n dispatch({\n type: \"SET_USER_FULLNAME\",\n fullName: userName\n })\n })\n } catch (error) {\n setLoading(false)\n setSaveError(\"Something went wrong. Please try again later.\")\n }\n }\n\n return (\n \n {user && (\n <>\n

Profile

\n
\n {error && {error}}\n {loading && (\n
\n \n
\n )}\n {saveStatus === \"SUCCESS\" && Successfully updated!}\n \n \n setUserName(e.target.value)}\n />\n \n \n \n \n \n \n
\n \n \n )}\n
\n )\n}\n\nexport default Profile\n","import client from \"./APIClient\"\n\nexport default class OrganizationsAPI {\n static get = async organizationId => {\n return client(`organizations?org_id=${organizationId}`)\n }\n\n static list = async userId => {\n return client(`organizations?auth_user_id=${userId}`)\n }\n\n static create = formData => {\n return client(\"organizations\", { method: \"POST\", body: formData })\n }\n static update = params => {\n return client(\"organizations\", { method: \"PUT\", body: params })\n }\n}\n","import React, { useState, useEffect } from \"react\"\nimport {\n Form,\n FormGroup,\n Input,\n Label,\n ListGroup,\n Alert,\n Table,\n UncontrolledButtonDropdown,\n DropdownToggle,\n DropdownMenu,\n DropdownItem,\n Spinner,\n Container\n} from \"reactstrap\"\nimport Users from \"../../api/UsersAPI\"\nimport { useStateValue } from \"../../contexts/StateProvider\"\nimport \"./settings.css\"\nimport { Button } from \"../Reactstrap_Components/Button\"\nimport OrganizationsAPI from \"../../api/OrganizationsAPI\"\n\nconst Settings = () => {\n const [formData, setFormData] = useState({ email: \"\", fullName: \"\" }),\n { state } = useStateValue(),\n { user } = state,\n [loading, setLoading] = useState(true),\n [error, setError] = useState(\"\"),\n [organization, setOrganization] = useState(\"\"),\n [updatedOrg, setUpdatedOrg] = useState(\"\"),\n [users, setUsers] = useState(\"\"),\n [role, setRole] = useState(\"member\"),\n [success, setSuccess] = useState(\"\"),\n colors = [\"#5e21b6\", \"#fbb03b\", \"#29abe2\", \"#8cc63f\", \"#f15a24\"]\n\n useEffect(() => {\n setLoading(true)\n if (user) {\n setOrganization(user.organization?.name)\n const fetchUsers = async () => {\n const users = await Users.list(user.organization.item_id)\n return users\n }\n fetchUsers().then(data => {\n setUsers(data.users)\n setLoading(false)\n })\n } else {\n setLoading(false)\n }\n }, [user])\n\n const handleSubmit = async event => {\n event.preventDefault()\n error && setError(\"\")\n try {\n const { email, fullName } = formData\n const found = users && users.some(el => el.email === email)\n if (found) {\n setError(\"This user is already in the organization.\")\n } else {\n const params = {\n email,\n full_name: fullName.trim(),\n role: role,\n org_name: organization,\n org_id: user.org_id,\n type: \"invite\",\n auth_user_id: user.item_id\n }\n for (const key of Object.keys(params)) {\n if (params[key] === \"\") {\n delete params[key]\n }\n }\n const newUser = await Users.create(params)\n setUsers([...users, newUser])\n setSuccess(\"Your invitation has been sent successfully!\")\n setTimeout(() => {\n setSuccess(\"\")\n }, 3000)\n setFormData({ email: \"\", fullName: \"\" })\n setRole(\"member\")\n setLoading(false)\n }\n } catch (error) {\n setError(error.message)\n setLoading(false)\n }\n }\n\n const updateOrganization = async event => {\n event.preventDefault()\n try {\n const params = {\n auth_user_id: user.item_id,\n org_id: user.org_id,\n org_name: updatedOrg\n }\n await OrganizationsAPI.update(params)\n setSuccess(\"Organization updated successfully!\")\n setTimeout(() => {\n setSuccess(\"\")\n }, 3000)\n setLoading(false)\n user.organization.name = updatedOrg\n setOrganization(updatedOrg)\n setUpdatedOrg(\"\")\n } catch (error) {\n if (error.message == \"Unauthorized request!\") {\n setError(\"You are not allowed to change the organization name!\")\n } else {\n setError(error.message)\n }\n setLoading(false)\n }\n }\n\n const onChangeHandler = event => {\n const { name, value } = event.target\n return setFormData({ ...formData, [name]: value })\n }\n const onOrganizationChangeHandler = ({ target: { value } }) => {\n return setUpdatedOrg(value)\n }\n\n const removeUser = async (email, full_name) => {\n error && setError(\"\")\n try {\n await Users.remove({ username: email, org_id: user.org_id, auth_user_id: user.item_id })\n setUsers(users.filter(user => user.email !== email))\n setSuccess(`${full_name} has been removed successfully!`)\n setTimeout(() => {\n setSuccess(\"\")\n }, 3000)\n } catch (error) {\n setError(error.message)\n setLoading(false)\n }\n }\n\n const updateUser = async (User, event) => {\n error && setError(\"\")\n const newRole = event.target.value\n if (User.role !== newRole) {\n try {\n const res = await Users.update({ \n email: User.email, \n role: newRole,\n user_id: User.user_id,\n auth_user_id: user.item_id })\n if (res.status === 200) {\n const newUsers = users.map(u => (u.email === User.email ? { ...u, role: newRole } : u))\n setUsers(newUsers)\n }\n } catch (error) {\n setError(error.message)\n }\n }\n }\n\n const usersDisplay =\n users &&\n users.map((userItem, index) => {\n const abbrevName = userItem.email.charAt(0)\n const color = colors[Math.floor(index % colors.length)]\n return (\n \n \n
\n {abbrevName.toUpperCase()}\n
\n {userItem.email}{\" \"}\n {user.email === userItem.email ? \"(you)\" : userItem.status !== \"CONFIRMED\" ? \"(pending)\" : \"\"}\n \n \n \n \n {userItem.role === \"admin\" ? \"Admin\" : \"Member\"}\n \n \n updateUser(userItem, e)}>\n Admin\n \n updateUser(userItem, e)}>\n Member\n \n {user && user.role === \"admin\" && user.email !== userItem.email && (\n removeUser(userItem.email, userItem.full_name)}>Remove\n )}\n \n \n \n \n )\n })\n return (\n \n
\n \n {loading ? (\n
\n \n
\n ) : (\n <>\n
\n \n \n \n Update Organization\n \n \n
\n {success && {success}}\n {error &&
{error}
}\n \n \n {user && user.role === \"admin\" && (\n
\n \n \n \n \n \n \n \n \n {role === \"member\" ? \"Member\" : \"Admin\"}\n \n \n setRole(\"admin\")} active={role === \"admin\"}>\n Admin\n \n setRole(\"member\")} active={role === \"member\"}>\n Member\n \n \n \n
\n
\n setRole(\"member\")}\n defaultChecked={role === \"member\"}\n />\n \n setRole(\"admin\")} />\n \n
\n
\n \n
\n )}\n
\n \n {usersDisplay || []}\n
\n \n )}\n
\n
\n )\n}\n\nexport default Settings\n","import client from \"./APIClient\"\n\nexport default class Indexes {\n static async list(organizationId) {\n return client(`indexes?org_id=${organizationId}`)\n }\n\n static get = async (index_id) => {\n return client(`indexes?index_id=${index_id}`)\n }\n\n static create = formData => {\n return client(\"indexes\", { method: \"POST\", body: formData })\n }\n static update = params => {\n return client(\"indexes\", { method: \"PUT\", body: params })\n }\n}\n","import React, { useState } from \"react\"\nimport { Button, Form, FormFeedback, Input, Modal, ModalHeader, ModalBody, Spinner } from \"reactstrap\"\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport { faExclamationCircle } from \"@fortawesome/free-solid-svg-icons\"\nimport Users from \"../../api/UsersAPI\"\nimport \"./organizationModal.css\"\n\n\nconst OrganizationModal = ({ user, modal, setModal, getUserInfo }) => {\n const [orgName, setOrgName] = useState(\"\"),\n [loading, setLoading] = useState(false),\n [error, setError] = useState(\"\")\n\n const handleChange = ({ target: { value } }) => {\n setOrgName(value)\n if (value.length > 3) {\n setError(\"\")\n } else {\n setError(\"Please enter the organization name with at least 4 characters.\")\n }\n }\n\n const onCreateOrg = async (e) => {\n e.preventDefault()\n if (orgName.length > 3) {\n try {\n setLoading(true)\n await Users.update({\n email: user?.attributes.email,\n auth_user_id: user?.username,\n orgName: orgName\n })\n } catch (error) {\n setLoading(false)\n setError(error.message)\n } finally {\n await getUserInfo()\n setLoading(false)\n setModal(false)\n }\n } else {\n setError(\"Please enter the organization name with at least 4 characters.\")\n }\n }\n\n return (\n \n \n \n \n \n

\n WE ARE SORRY\n
\n Your account does not belong to any organization.\n Please create a new organization to use Traindex.\n

\n\n
\n \n {error}\n \n \n {loading && (\n
\n \n
)}\n
\n
\n )\n}\n\nexport default OrganizationModal\n","import React, { useState, useEffect } from \"react\"\nimport { Container } from \"reactstrap\"\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport ReactJoyride from \"react-joyride\"\nimport { Link } from \"react-router-dom\"\nimport { faPlusCircle } from \"@fortawesome/free-solid-svg-icons\"\nimport IndexApi from \"../../api/IndexAPI\"\nimport { useStateValue } from \"../../contexts/StateProvider\"\nimport { convertedDate } from \"../../utils/common\"\nimport { Button } from \"../Reactstrap_Components/Button\"\nimport OrganizationModal from \"../OrganizationModal\"\nimport \"./indexPage.css\"\nimport TrialAlert from \"../TrialAlert\"\nimport PastDueAlert from \"../PastDueAlert\"\nimport { DataGrid } from \"@mui/x-data-grid\"\n\nconst IndexPage = () => {\n const { state, dispatch, getUserInfo } = useStateValue(),\n { user, userError, indexes, indexesError } = state,\n [modal, setModal] = useState(true),\n [pageSize, setPageSize] = useState(10),\n [loading, setLoading] = useState(false),\n isSignUp = new URLSearchParams(window.location.search).get(\"signup-success\") === \"1\" ? true : false\n\n const steps = [\n {\n title: \"View Patents index\",\n target: \".dataset-table\",\n content: (\n
\n

Click on Patents to view our built-in Patents index

\n
\n ),\n floaterProps: {\n disableAnimation: true,\n },\n disableBeacon: true,\n spotlightClicks: true,\n },\n ]\n\n useEffect(() => {\n // eslint-disable-next-line no-extra-semi\n ;(async () => {\n if (user && indexes.length === 0) {\n try {\n if (isSignUp) {\n dispatch({\n type: \"SET_IS_SIGN_UP\",\n isSignUp: true,\n })\n dispatch({\n type: \"SET_DATASET_JOYRIDE\",\n datasetJoyride: true,\n })\n }\n setLoading(true)\n const data = await IndexApi.list(user.org_id)\n dispatch({\n type: \"SET_INDEXES\",\n indexes: data.indexes,\n })\n setLoading(false)\n } catch (error) {\n dispatch({\n type: \"SET_INDEXES_ERROR\",\n error: error.message,\n })\n setLoading(false)\n }\n }\n })()\n }, [user])\n\n const builtinIndexes = [\n {\n item_id: \"us_patents\",\n name: \"Patents\",\n created_at: \"2020-02-04\",\n modified_at: \"2021-08-20\",\n author: \"Admin\",\n status: \"Active\",\n },\n {\n item_id: \"wikipedia\",\n name: \"Wikipedia\",\n created_at: \"2020-3-11\",\n modified_at: \"2021-8-27\",\n author: \"Admin\",\n status: \"Active\",\n },\n {\n item_id: \"arxiv\",\n name: \"ArXiv.org\",\n created_at: \"2021-3-11\",\n modified_at: \"2021-8-24\",\n author: \"Admin\",\n status: \"Active\",\n },\n ]\n\n const sortedIndexes = indexes.sort((a, b) => new Date(b.created_at) - new Date(a.created_at))\n const joinedIndexes = sortedIndexes.concat(builtinIndexes)\n const indexesForGrid = joinedIndexes.map(\n item => ({\n ...item, \n id: item.item_id,\n created_at: convertedDate(item.created_at),\n modified_at: convertedDate(item.modified_at)\n })\n )\n\n const disableTour = () => {\n dispatch({\n type: \"SET_INDEX_JOYRIDE\",\n indexJoyride: false,\n })\n }\n\n const columns = [\n { \n field: \"name\", \n headerName: \"Index Name\",\n flex: 1,\n renderCell: (params) => (\n {params.value}\n )\n },\n { \n field: \"created_at\", \n headerName: \"Creation Date\", \n flex: 1 },\n { \n field: \"modified_at\", \n headerName: \"Last Updated\", \n flex: 1 },\n { \n field: \"status\", \n headerName: \"Status\", \n flex: 1 },\n { \n field: \"author\", \n headerName: \"Created by\", \n flex: 1 }\n ]\n\n return (\n
\n \n \n {user && user.subscription && }\n {user && user.subscription && }\n \n \n \n \n
\n setPageSize(newPageSize)}\n rows={indexesForGrid || []}\n columns={columns}\n rowsPerPageOptions={[5, 10, 20]}\n pagination\n loading={loading}\n />\n
\n
\n {indexesError &&
{indexesError}
}\n {userError && userError === \"no_organization\" && \n }\n \n \n )\n}\n\nexport default IndexPage\n","/* eslint-disable indent */\nimport React, { useState, useEffect } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { makeStyles, withStyles } from \"@material-ui/core/styles\"\nimport clsx from \"clsx\"\nimport Stepper from \"@material-ui/core/Stepper\"\nimport Step from \"@material-ui/core/Step\"\nimport StepLabel from \"@material-ui/core/StepLabel\"\nimport DescriptionIcon from \"@material-ui/icons/Description\"\nimport ViewColumnIcon from \"@material-ui/icons/ViewColumn\"\nimport PlaylistAddCheckIcon from \"@material-ui/icons/PlaylistAddCheck\"\nimport StepConnector from \"@material-ui/core/StepConnector\"\nimport Typography from \"@material-ui/core/Typography\"\nimport {\n Container,\n Input,\n InputGroup,\n InputGroupText,\n UncontrolledTooltip,\n Form,\n Button,\n FormGroup,\n Collapse,\n Row,\n Table,\n Spinner,\n Label,\n Alert\n} from \"reactstrap\"\nimport DatasetApi from \"../../api/DatasetApi\"\nimport IndexApi from \"../../api/IndexAPI\"\nimport { useStateValue } from \"../../contexts/StateProvider\"\nimport { readString } from \"react-papaparse\"\nimport { useHistory } from \"react-router-dom\"\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport { faQuestionCircle, faAngleUp, faAngleDown } from \"@fortawesome/free-solid-svg-icons\"\nimport Select from \"react-select\"\n\nconst ColorlibConnector = withStyles({\n alternativeLabel: {\n top: 22\n },\n active: {\n \"& $line\": {\n backgroundColor: \"rgb(95, 47, 107)\"\n }\n },\n completed: {\n \"& $line\": {\n backgroundColor: \"rgb(95, 47, 107)\"\n }\n },\n line: {\n height: 3,\n border: 0,\n backgroundColor: \"#eaeaf0\",\n borderRadius: 1\n }\n})(StepConnector)\n\nconst useColorlibStepIconStyles = makeStyles({\n root: {\n backgroundColor: \"#ccc\",\n zIndex: 1,\n color: \"#fff\",\n width: 50,\n height: 50,\n display: \"flex\",\n borderRadius: \"50%\",\n justifyContent: \"center\",\n alignItems: \"center\"\n },\n active: {\n backgroundColor: \"rgb(95, 47, 107)\"\n },\n completed: {\n backgroundColor: \"rgb(95, 47, 107)\"\n }\n})\n\nfunction ColorlibStepIcon(props) {\n const classes = useColorlibStepIconStyles()\n const { active, completed } = props\n\n const icons = {\n 1: ,\n 2: ,\n 3: \n }\n\n return (\n \n {icons[String(props.icon)]}\n \n )\n}\n\nColorlibStepIcon.propTypes = {\n active: PropTypes.bool,\n completed: PropTypes.bool,\n icon: PropTypes.node\n}\n\nconst useStyles = makeStyles(theme => ({\n root: {\n width: \"100%\"\n },\n button: {\n marginRight: theme.spacing(1)\n },\n content: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1),\n minHeight: \"30vh\"\n }\n}))\n\nfunction getSteps() {\n return [\"Select Dataset\", \"Assign Columns\", \"Confirm Index\"]\n}\n\nexport default function CustomizedSteppers() {\n const classes = useStyles()\n const { state, dispatch } = useStateValue(),\n { user, files } = state,\n [columnsData, setColumnsData] = useState([]),\n [currentDataset, setCurrentDataset] = useState(\"\"),\n [indexName, setIndexName] = useState(\"\"),\n [activeStep, setActiveStep] = useState(0),\n [loading, setLoading] = useState(false),\n [error, setError] = useState(\"\"),\n [collapse, setCollapse] = useState(null),\n [columnsRole, setColumnsRole] = useState(null),\n [datasetSize, setDatasetSize] = useState(0),\n history = useHistory()\n\n useEffect(() => {\n // eslint-disable-next-line no-extra-semi\n ;(async () => {\n if (user && files.length === 0) {\n try {\n setLoading(true)\n const data = await DatasetApi.fetchFiles(user.org_id)\n dispatch({\n type: \"SET_FILES\",\n files: data\n })\n setLoading(false)\n } catch (error) {\n dispatch({\n type: \"SET_FILES_ERROR\",\n error: error.message\n })\n setLoading(false)\n }\n }\n })()\n }, [user])\n\n const steps = getSteps()\n\n const handleNext = async () => {\n if (!currentDataset) {\n setError(\"Please select a dataset from the list.\")\n } else {\n if (activeStep === 0 && !columnsData.length) {\n setActiveStep(prevActiveStep => prevActiveStep + 1)\n try {\n setLoading(true)\n let preservedKey = currentDataset.value.replace(\"+\", \"%2B\")\n const response = await DatasetApi.fetchFiles(preservedKey)\n const datasetData = readString(response.data)\n const dataArray = []\n const initialColumnsRole = {}\n if (datasetData.data && datasetData.data[0]) {\n for (let i = 0; i < datasetData.data[0].length; i++) {\n initialColumnsRole[datasetData.data[0][i]] = \"ignore\"\n const columnData = datasetData.data.map(function(x) {\n return x[i]\n })\n\n dataArray.push(columnData)\n }\n }\n setDatasetSize(response.size)\n setColumnsData(dataArray)\n setColumnsRole(initialColumnsRole)\n setLoading(false)\n } catch (error) {\n setError(error.message)\n setLoading(false)\n }\n } else {\n if (\n columnsRole &&\n Object.values(columnsRole).some(e => e === \"index\") &&\n Object.values(columnsRole).some(e => e === \"metadata\")\n ) {\n setActiveStep(prevActiveStep => prevActiveStep + 1)\n setCollapse(null)\n setError(\"\")\n } else {\n setError(\"Please select one index column and at least one metadata column.\")\n }\n }\n }\n }\n\n const onChangeIndexName = (e) => {\n const indexName = e.target.value\n setIndexName(indexName)\n if (indexName.length > 0) {\n if (indexName && /^[A-Za-z0-9]+$/.test(indexName)) {\n setError(\"\")\n } else {\n setError(\"Index name shouldn't have space and special characters.\")\n }\n } else {\n setError(\"Please enter the index name.\")\n }\n }\n\n const handleSubmit = async () => {\n if (indexName.length > 0) {\n try {\n setError(\"\")\n setLoading(true)\n await IndexApi.create({\n name: indexName,\n orgId: user.org_id,\n userId: user.item_id,\n email: user.email,\n columnsRole: columnsRole,\n columnsData: JSON.stringify(columnsData),\n datasetSize: datasetSize,\n dataset: currentDataset,\n status: \"Processing\"\n })\n const data = await IndexApi.list(user.org_id)\n dispatch({\n type: \"SET_INDEXES\",\n indexes: data.indexes\n })\n setLoading(false)\n history.push(\"/index\")\n } catch (error) {\n setLoading(false)\n setError(error.message)\n }\n } else {\n setError(\"Please enter the index name.\")\n }\n }\n\n const handleBack = () => {\n if (activeStep !== 0) {\n setError(\"\")\n setActiveStep(prevActiveStep => prevActiveStep - 1)\n if (activeStep === 1) {\n setError(\"\")\n setCurrentDataset(\"\")\n setColumnsData([])\n }\n } else {\n history.push(\"/index\")\n }\n }\n\n const handleReset = () => {\n setActiveStep(0)\n }\n\n let datasetOptions = []\n if (files && files.length) {\n files.forEach(file => datasetOptions.push({ value: file.Key, label: file.Key.split(\"/\").pop() }))\n }\n\n const onChangeCollapse = index => {\n if (index === collapse) {\n setCollapse(null)\n } else {\n setCollapse(index)\n }\n }\n\n const handleSelectDataset = datasetOption => {\n if (currentDataset !== datasetOption) {\n setCurrentDataset(datasetOption)\n setColumnsData([])\n setError(\"\")\n }\n }\n\n const handleSelectRadio = (e, index) => {\n if (index === collapse) {\n setCollapse(null)\n } else {\n setCollapse(index)\n }\n const { name, value } = e.target\n const newColumnsRole = { ...columnsRole }\n Object.keys(newColumnsRole).forEach(key => {\n if (newColumnsRole[key] === \"index\" && value === \"index\") {\n newColumnsRole[key] = \"ignore\"\n }\n })\n newColumnsRole[name] = value\n if (\n newColumnsRole &&\n Object.values(newColumnsRole).some(e => e === \"index\") &&\n Object.values(newColumnsRole).some(e => e === \"metadata\")\n ) {\n setError(\"\")\n } else {\n setError(\"Please select one index column and at least one metadata column.\")\n }\n setColumnsRole(newColumnsRole)\n }\n\n function getStepContent(step) {\n switch (step) {\n case 0:\n return (\n \n
Select the dataset to be used in the training
\n
\n handleSelectDataset(datasetOption)}\n />\n
\n \n \n Only previously uploaded datasets are displayed\n \n
\n
\n {loading && (\n
\n \n
\n )}\n {error &&
{error}
}\n
\n )\n case 1:\n return (\n \n
\n \n {columnsData.length && columnsRole\n ? columnsData.map((columnData, index) => {\n return (\n \n \n
{index}
\n
{columnData[0]}
\n
\n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n {columnData.slice(1, 6).map((item, index) => (\n \n \n \n \n ))}\n \n
{index + 1}{item}
\n
\n
\n )\n })\n : \"\"}\n
\n
\n {loading && (\n
\n \n
\n )}\n {error &&
{error}
}\n
\n )\n case 2:\n return (\n \n
\n \n \n
Index name
\n \n \n \n {error && {error}}\n
Version
\n \n v\n \n \n
Index dataset
\n \n \n \n
\n {columnsData.length && columnsRole\n ? columnsData.map((columnData, index) => {\n if (columnsRole[columnData[0]] !== \"ignore\") {\n return (\n \n onChangeCollapse(index)}\n >\n
{index}
\n
{columnData[0]}
\n
\n {columnsRole[columnData[0]]}\n \n
\n \n \n \n \n {columnData.slice(1, 6).map((item, index) => (\n \n \n \n \n ))}\n \n
{index + 1}{item}
\n
\n
\n )\n }\n })\n : \"\"}\n
\n
\n {loading && (\n
\n \n
\n )}\n
\n )\n default:\n return \"Unknown step\"\n }\n }\n\n return (\n \n
\n }>\n {steps.map(label => (\n \n {label}\n \n ))}\n \n
\n {activeStep === steps.length ? (\n
\n All steps completed - you're finished\n \n
\n ) : (\n
\n
{getStepContent(activeStep)}
\n
\n \n \n {activeStep === steps.length - 1 ? \"Run Index\" : \"Next\"}\n \n
\n
\n )}\n
\n
\n
\n )\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ReactGA from \"react-ga\"\nimport { Route } from \"react-router-dom\"\n\nclass GoogleAnalytics extends Component {\n componentDidMount() {\n this.logPageChange(this.props.location.pathname, this.props.location.search)\n }\n\n componentDidUpdate({ location: prevLocation }) {\n const {\n location: { pathname, search }\n } = this.props\n const isDifferentPathname = pathname !== prevLocation.pathname\n const isDifferentSearch = search !== prevLocation.search\n\n if (isDifferentPathname || isDifferentSearch) {\n this.logPageChange(pathname, search)\n }\n }\n\n logPageChange(pathname, search = \"\") {\n const page = pathname + search\n const { location } = window\n ReactGA.set({\n page,\n location: `${location.origin}${page}`,\n ...this.props.options\n })\n ReactGA.pageview(page)\n }\n\n render() {\n return null\n }\n}\n\nGoogleAnalytics.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string,\n search: PropTypes.string\n }).isRequired,\n options: PropTypes.object\n}\n\nconst RouteTracker = () => \n\nconst init = () => {\n const isGAEnabled = process.env.REACT_APP_ANALYTICS_STAGE === \"prod\"\n if (isGAEnabled) {\n ReactGA.initialize(\"UA-101056860-3\")\n }\n\n return isGAEnabled\n}\n\nexport default {\n GoogleAnalytics,\n RouteTracker,\n init\n}\n","import React, { useState } from \"react\"\nimport {\n Card,\n CardImg,\n CardBody,\n CardTitle,\n CardSubtitle,\n Form,\n FormGroup,\n Label,\n Input,\n FormText,\n Alert,\n Button\n} from \"reactstrap\"\nimport { Link } from \"react-router-dom\"\nimport { Auth } from \"aws-amplify\"\nimport traindexLogo from \"../../images/traindex-logo.png\"\nimport \"./resetPassword.css\"\n\nconst renderSuccessMessage = () => (\n \n

Success!

\n

Your password has been reset.

\n
\n

\n Click here to sign in with your new credentials.\n

\n
\n)\n\nconst ResetPassword = () => {\n const [formData, setFormData] = useState({\n code: \"\",\n email: \"\",\n password: \"\",\n confirmPassword: \"\"\n }),\n [error, setError] = useState(\"\"),\n [codeSent, setCodeSent] = useState(false),\n [isSendingCode, setIsSendingCode] = useState(false),\n [confirmed, setConfirmed] = useState(false),\n [isConfirming, setIsConfirming] = useState(false)\n\n const handleSendCodeClick = async event => {\n event.preventDefault()\n\n try {\n error && setError(\"\")\n setIsSendingCode(true)\n await Auth.forgotPassword(formData.email)\n setIsSendingCode(false)\n setCodeSent(true)\n } catch (error) {\n setError(error.message)\n setIsSendingCode(false)\n }\n }\n\n const handleConfirmClick = async event => {\n event.preventDefault()\n\n try {\n if (formData.code.length < 6) {\n throw Error(\"Invalid confirmation code!\")\n }\n if (formData.password.length < 10) {\n throw Error(\"Password must have at least 10 characters!\")\n }\n if (formData.password !== formData.confirmPassword) {\n throw Error(\"Password and Confirm Password does not match!\")\n }\n error && setError(\"\")\n setIsConfirming(true)\n await Auth.forgotPasswordSubmit(formData.email, formData.code, formData.password)\n setIsConfirming(false)\n setConfirmed(true)\n } catch (error) {\n setError(error.message)\n setIsConfirming(false)\n }\n }\n\n const onChangeHandler = event => {\n const { name, value } = event.target\n return setFormData({ ...formData, [name]: value })\n }\n\n const renderRequestCodeForm = () => (\n
\n \n \n \n \n \n SEND COMFIRMATION\n \n \n )\n\n const renderConfirmationForm = () => (\n
\n \n \n \n Please check your email for the confirmation code.\n \n \n \n \n Must have at least 10 characters\n \n \n \n \n \n \n
\n )\n\n return (\n
\n \n \n \n \n \n RESET PASSWORD\n \n {error ? {error} : null}\n \n {!codeSent ? renderRequestCodeForm() : !confirmed ? renderConfirmationForm() : renderSuccessMessage()}\n \n \n
\n )\n}\n\nexport default ResetPassword\n","import React, { useState } from \"react\"\nimport PropTypes from \"prop-types\"\nimport axios from \"axios\"\nimport ReactJoyride from \"react-joyride\"\nimport {\n Row,\n Col,\n Container,\n Form,\n FormGroup,\n Input,\n Table,\n CardSubtitle,\n Spinner,\n UncontrolledDropdown,\n DropdownToggle,\n DropdownMenu,\n DropdownItem,\n UncontrolledTooltip,\n} from \"reactstrap\"\nimport { useStateValue } from \"../../contexts/StateProvider\"\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport { faQuestionCircle } from \"@fortawesome/free-solid-svg-icons\"\nimport { Button } from \"../Reactstrap_Components/Button\"\nimport \"./demoapi.css\"\nimport patentSample from \"./patent_sample.json\"\nimport wikiSample from \"./wikipedia_sample.json\"\nimport arxivSample from \"./arxiv_sample.json\"\nimport UnpaidModal from \"../UnpaidModal\"\nimport TrialAlert from \"../TrialAlert\"\nimport PastDueAlert from \"../PastDueAlert\"\nimport Select from \"react-select\"\n\nconst DemoAPI = () => {\n const { state, dispatch } = useStateValue(),\n { user } = state,\n apis = user?.organization.apis,\n [patents, setPatents] = useState(\"\"),\n [articles, setArticles] = useState(\"\"),\n [arxivSamples, setArxivSamples] = useState(\"\"),\n [loading, setLoading] = useState(false),\n [activeTab, setActiveTab] = useState(\"1\"),\n [error, setError] = useState(\"\"),\n [dropDownValue, setDropDownValue] = useState(\"Patents\"),\n [searchValue, setSearchValue] = useState(\"\"),\n [optionValue, setOptionValue] = useState({ label: \"Insert sample query\", value: \"\" }),\n patentNumbers = Object.keys(patentSample),\n wikiArticles = Object.keys(wikiSample),\n arxivTitles = Object.keys(arxivSample),\n [keyString, setKeyString] = useState(\"demo-search\")\n\n const steps = [\n {\n title: \"Toggle Indexes\",\n target: \".search-dropdown\",\n content: \"You can select one of the built-in indexes here to perform the search over.\",\n floaterProps: {\n disableAnimation: true,\n },\n placement: \"top\",\n disableBeacon: true,\n spotlightClicks: true,\n },\n {\n title: \"Add search text\",\n target: \".demo-input\",\n content: (\n

\n Paste the text you want to search for, e.g.\n

\n a mechanical switch having a plurality of separate and independent switch positions which comprise a first\n switch position ad a second switch position, the mechanical switch being configured to switch among a\n plurality of programmable user interface profile settings which comprise a first profile setting and a\n second profile setting.\n

\n

\n ),\n floaterProps: {\n disableAnimation: true,\n },\n disableBeacon: true,\n spotlightClicks: true,\n },\n {\n title: \"Choose Samples\",\n target: \".sample-dropdown\",\n content: \"You could also choose from our sample texts\",\n floaterProps: {\n disableAnimation: true,\n },\n disableBeacon: true,\n spotlightClicks: true,\n },\n {\n title: \"Search\",\n target: \".search_btn\",\n content: \"Click on the search button to start a search in \" + dropDownValue,\n floaterProps: {\n disableAnimation: true,\n },\n disableBeacon: true,\n spotlightClicks: true,\n },\n ]\n\n const selectIndex = (e) => {\n setDropDownValue(e.currentTarget.textContent)\n setSearchValue(\"\")\n setPatents(\"\")\n setArticles(\"\")\n setArxivSamples(\"\")\n setOptionValue({ label: \"Insert sample query\", value: \"\" })\n if (activeTab !== e.target.value) setActiveTab(e.target.value)\n error && setError(\"\")\n }\n\n const patentsOptions = patentNumbers.map((patentNumber) => {\n return { value: patentNumber, label: patentNumber }\n })\n\n const articleOptions = wikiArticles.map((article) => {\n return { value: article, label: article }\n })\n\n const arxivOptions = arxivTitles.map((title) => {\n return { value: title, label: title }\n })\n\n let sampleOptions = activeTab === \"1\" ? patentsOptions : (activeTab === \"2\" ? articleOptions : arxivOptions)\n\n const onSubmitRequest = async (event) => {\n event.preventDefault()\n setLoading(true)\n dispatch({\n type: \"SET_IS_SIGN_UP\",\n isSignUp: false,\n })\n error && setError(\"\")\n try {\n const response = await axios({\n url: activeTab === \"1\" ? `${apis?.us_patents_endpoint}/query` : \n (activeTab === \"2\" ? `${apis?.wiki_endpoint}/query` : `${apis?.arxiv_endpoint}/query`),\n method: \"post\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json;charset=UTF-8\",\n \"x-api-key\": activeTab === \"1\" ? apis?.us_patents_api_keys[0].api_key : \n (activeTab === \"2\" ? apis?.wiki_api_keys[0].api_key : apis?.arxiv_api_keys[0].api_key ),\n },\n data: JSON.stringify({ request: { conceptFeaturesString: searchValue.trim(), maxNumItems: 100 } }),\n })\n activeTab === \"1\" ? setPatents(response.data) : \n (activeTab === \"2\" ? setArticles(response.data) : setArxivSamples(response.data))\n setLoading(false)\n } catch (error) {\n setError(\"The server is busy right now. Please try again later.\")\n setLoading(false)\n }\n }\n\n const patentsDisplay =\n patents &&\n (patents.foundItems.length ? (\n patents.foundItems.map((item, index) => {\n let urlPath = item.ucid.replace(/-/g, \"\")\n const title = item.title && item.title.charAt(0).toUpperCase() + item.title.slice(1)\n const urlLink = `https://patents.google.com/patent/${urlPath}`\n return (\n \n {index + 1}\n {item.ucid}\n \n \n {title || urlLink}\n \n \n {item.conceptScore.toFixed(4)}\n \n )\n })\n ) : (\n \n No item found.\n \n ))\n\n const articlesDisplay =\n articles &&\n (articles.foundItems.length ? (\n articles.foundItems.map((item, index) => {\n return (\n \n {index + 1}\n {item.ID}\n \n \n {item.title}\n \n \n {item.conceptScore.toFixed(4)}\n \n )\n })\n ) : (\n \n No item found.\n \n ))\n\n const arxivSamplesDisplay =\n arxivSamples &&\n (arxivSamples.foundItems.length ? (\n arxivSamples.foundItems.map((item, index) => {\n let [ id_start, id_end ] = item.id.split(\".\")\n if (id_start.length === 3) id_start = \"0\" + id_start\n if (id_end.length < 4) {\n id_end = id_end + \"0\".repeat(4 - id_end.length)\n } else if (id_end.length > 4) {\n id_end = id_end.substring(0,4)\n }\n const fixed_id = id_start + \".\" + id_end\n const urlLink = `https://arxiv.org/abs/${fixed_id}`\n return (\n \n {index + 1}\n {fixed_id}\n \n \n {item.title || urlLink}\n \n \n {item.conceptScore.toFixed(4)}\n \n )\n })\n ) : (\n \n No item found.\n \n ))\n\n const handleSelectSample = (option) => {\n setOptionValue(option)\n if (activeTab === \"1\") {\n setSearchValue(patentSample[option.value])\n setKeyString(patentSample[option.value])\n } else if (activeTab == \"2\") {\n setSearchValue(wikiSample[option.value])\n setKeyString(wikiSample[option.value])\n } else {\n setSearchValue(arxivSample[option.value])\n setKeyString(arxivSample[option.value])\n }\n }\n\n const joyRideCallback = (data) => {\n data.action === \"reset\" ||\n (data.action === \"close\" &&\n dispatch({\n type: \"SET_IS_SIGN_UP\",\n isSignUp: false,\n }))\n }\n\n return (\n
\n
\n \n {user && user.subscription && }\n {user && user.subscription && }\n \n

\n This is a sample search widget implemented to give you a chance to interact with the API without using API\n client tools.\n

\n

\n To see all functionality and features, please consider using an API client like{\" \"}\n \n Insomnia\n {\" \"}\n and{\" \"}\n \n Postman\n \n

\n
\n
\n
\n \n
\n \n
\n \n \n {dropDownValue}\n \n \n \n Patents\n \n \n Wikipedia\n \n \n Arxiv\n \n \n \n
\n \n \n Only indexes on the active status are listed\n \n
\n
\n setSearchValue(event.target.value)}\n id=\"api\"\n />\n
\n handleSelectSample(option)}\n />\n \n
\n
\n {error ? {error} : null}\n
\n {loading && (\n
\n \n
\n )}\n {patentsDisplay && (\n \n \n \n \n \n \n \n \n \n \n \n {patentsDisplay}\n
#Patent UCIDLinkScore
\n \n
\n )}\n {articlesDisplay && (\n \n \n \n \n \n \n \n \n \n \n \n {articlesDisplay}\n
#Article IDTitleScore
\n \n
\n )}\n {arxivSamplesDisplay && (\n \n \n \n \n \n \n \n \n \n \n \n {arxivSamplesDisplay}\n
#Article IDTitleScore
\n \n
\n )}\n
\n
\n {user && user.subscription._isExpired && }\n
\n )\n}\n\nDemoAPI.propTypes = {\n history: PropTypes.object.isRequired,\n}\n\nexport default DemoAPI","import React, { useState } from \"react\"\nimport { Button, Label, Input, Dropdown, DropdownMenu, DropdownToggle, DropdownItem } from \"reactstrap\"\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport { faChevronUp, faChevronDown, faFilter } from \"@fortawesome/free-solid-svg-icons\"\nimport \"./chatbot.css\"\nconst Filter = ({\n priorityDValue,\n toggleValue,\n publicationDValue,\n cpcValue,\n kindCodeValue,\n onChangePriorityD,\n onChangePublicationD,\n cpcHandleChange,\n priorityCondition,\n publicationCondition,\n kindCodeHandleChange,\n handleClearSearch,\n onChangePriorityCondition,\n onChangeToggleValue,\n onChangePublicationCondition,\n}) => {\n const [ddOpen, setDdOpen] = useState(false)\n const toggleDD = () => setDdOpen((prev) => !prev)\n\n return (\n \n \n \n Search Criteria\n {ddOpen ? (\n \n ) : (\n \n )}\n \n \n
\n \n
\n \n \n \n \n \n \n
\n
\n
\n \n
\n \n \n \n \n \n \n
\n
\n
\n \n \n
\n
\n \n \n
\n \n \n Clear search\n \n
\n
\n )\n}\n\nexport default Filter\n","import React from \"react\"\nimport ReactMarkdown from \"react-markdown\"\nimport remarkGfm from \"remark-gfm\"\nimport \"./chatbot.css\"\n\nconst SingleMessage = ({ index, message }) => {\n if (message?.isUser) {\n return (\n
\n U \n {/* {message.text} */}\n \n {message.text}\n \n
\n )\n } else {\n return (\n
\n D \n {/* {message.text} */}\n \n {message.text}\n \n
\n )\n }\n}\n\nexport default SingleMessage\n","import React from \"react\"\n\nimport \"./chatbot.css\"\nimport SingleMessage from \"./SingleMessage\"\nimport { Button, Input } from \"reactstrap\"\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport { faPaperPlane } from \"@fortawesome/free-solid-svg-icons\"\n\nconst ChatContainer = ({\n messages,\n loadingForGen,\n promptInputValue,\n onPromptInputChange,\n handleKeyDown,\n runConversation,\n}) => {\n return (\n
\n
\n
\n {messages.map((message, index) => (\n \n ))}\n
\n
\n
\n {loadingForGen && (\n
\n
\n
\n
\n
\n )}\n onPromptInputChange(e)}\n placeholder=\"Message Dexi...\"\n className=\"chatbot-input px-0 mr-1\"\n onKeyDown={handleKeyDown}\n />\n \n \n \n
\n
\n )\n}\n\nexport default ChatContainer\n","import React, { useState } from \"react\"\nimport { Button, Dropdown, DropdownMenu, DropdownToggle, Form, FormGroup, Input } from \"reactstrap\"\nimport axios from \"axios\"\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport { faChevronDown, faChevronUp, faThumbsDown, faThumbsUp } from \"@fortawesome/free-solid-svg-icons\"\n\nconst Feedback = (messages) => {\n const [feedback, setFeedback] = useState(\"\"),\n [isPositive, setIsPositive] = useState(),\n [feedbackDDOpen, setFeedbackDDOpen] = useState(false)\n\n const handleFeedback = async () => {\n setIsPositive()\n setFeedback(\"\")\n await axios({\n url: \"https://api.traindex.io/openai/openai-gen/feedback\",\n method: \"post\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"x-api-key\": process.env.REACT_APP_TRAINDEX_API_KEY,\n },\n data: JSON.stringify({\n intent: isPositive || false,\n userFeedback: feedback,\n }),\n timeout: 2000,\n })\n }\n\n const toggleFeedbackDD = () => setFeedbackDDOpen((prev) => !prev)\n\n return (\n \n \n \n Provide Feedback\n {feedbackDDOpen ? (\n \n ) : (\n \n )}\n \n \n

Please provide your valuable feedback to help us improve

\n
\n

Helpful?

\n
\n
setIsPositive(true)}>\n {isPositive == true ? (\n \"dislike\"\n ) : (\n \"like\"\n )}\n
\n
setIsPositive(false)}>\n {isPositive == false ? (\n \"dislike\"\n ) : (\n \"dislike\"\n )}\n
\n
\n
\n
\n \n setFeedback(event.target.value)}\n className=\"mb-2\"\n />\n \n \n
\n
\n
\n )\n}\nexport default Feedback\n","import React, { useState, useEffect } from \"react\"\nimport PropTypes, { func } from \"prop-types\"\nimport axios from \"axios\"\nimport Header from \"../Header\"\nimport Footer from \"../Footer\"\nimport { Row, Col, Container } from \"reactstrap\"\nimport \"./chatbot.css\"\nimport prettier from \"prettier/standalone\"\nimport parserBabel from \"prettier/parser-babel\"\nimport { useLocation } from \"react-router-dom\"\nimport AWS from \"aws-sdk\"\nimport { v4 as uuidv4 } from \"uuid\"\nimport Filter from \"./Filter\"\nimport ChatContainer from \"./ChatContainer\"\nimport Feedback from \"./Feedback\"\n\nconst cloudWatchLogs = new AWS.CloudWatchLogs({\n region: \"us-west-2\",\n accessKeyId: process.env.REACT_APP_CLOUDWATCH_ACCESS_KEY,\n secretAccessKey: process.env.REACT_APP_CLOUDWATCH_SECRET_ACCESS_KEY,\n})\n\nAWS.config.update({\n region: \"us-west-2\",\n accessKeyId: process.env.REACT_APP_CLOUDWATCH_ACCESS_KEY,\n secretAccessKey: process.env.REACT_APP_CLOUDWATCH_SECRET_ACCESS_KEY,\n})\nconst cloudWatch = new AWS.CloudWatch()\n\nconst sendToCloudWatch = (executionTime) => {\n const params = {\n MetricData: [\n {\n MetricName: \"DEXIExecutionTime_EndToEndMessage\",\n Dimensions: [\n {\n Name: \"Time\",\n Value: \"Function execution time\"\n },\n ],\n Unit: \"Seconds\",\n Value: executionTime\n },\n ],\n Namespace: \"Traindex\"\n }\n\n cloudWatch.putMetricData(params, (err, data) => {\n if (err) {\n console.error(\"Error sending data to CloudWatch:\", err)\n }\n })\n}\n\n\n\nexport function sendLogToCloudWatch(logGroupName, logData) {\n const logStreamName = `log-stream-${uuidv4()}`\n\n const createLogStream = async () => {\n try {\n await cloudWatchLogs\n .createLogStream({\n logGroupName,\n logStreamName,\n })\n .promise()\n } catch (err) {\n if (err.code !== \"ResourceAlreadyExistsException\") {\n throw err\n }\n }\n }\n const putLogEvents = async () => {\n const params = {\n logEvents: [\n {\n message: JSON.stringify(logData),\n timestamp: new Date().getTime(),\n },\n ],\n logGroupName,\n logStreamName,\n }\n\n try {\n const data = await cloudWatchLogs.putLogEvents(params).promise()\n } catch (err) {\n console.log(err)\n }\n }\n\n ;(async () => {\n await createLogStream()\n await putLogEvents()\n })()\n}\nconst P_VALUES = [\"Before\", \"After\", \"Equal\"]\n\nconst Chatbot = ({ authorize }) => {\n const [priorityDValue, setPriorityDValue] = useState(\"\")\n const [publicationDValue, setPublicationDValue] = useState(\"\")\n const [cpcValue, setcpcValue] = useState(\"\")\n const [kindCodeValue, setkindCodeValue] = useState(\"\")\n const [priorityCondition, setPriorityCondition] = useState(P_VALUES[0])\n const [publicationCondition, setPublicationCondition] = useState(P_VALUES[0])\n\n const OPENAI_API_KEY = process.env.REACT_APP_OPENAI_API_KEY\n const [threadData, setThreadData] = useState(null)\n\n const handlePriorityDChange = (event) => {\n setPriorityDValue(event.target.value)\n }\n const handlePublicaionDChange = (event) => {\n setPublicationDValue(event.target.value)\n }\n const cpcHandleChange = (event) => {\n setcpcValue(event.target.value)\n }\n const kindCodeHandleChange = (event) => {\n setkindCodeValue(event.target.value)\n }\n\n const handleClearSearch = () => {\n setPriorityDValue(\"\")\n setPublicationDValue(\"\")\n setcpcValue(\"\")\n setkindCodeValue(\"\")\n setPriorityCondition(P_VALUES[0])\n setPublicationCondition(P_VALUES[0])\n }\n\n const handlePriorityConditionChange = (event) => {\n setPriorityCondition(event.target.value)\n }\n const handlePublicationConditionChange = (event) => {\n setPublicationCondition(event.target.value)\n }\n\n\n const handleKeyDown = (event) => {\n if (event.key === \"Enter\") {\n event.preventDefault()\n runConversation()\n }\n }\n const HEADERS = {\n \"OpenAI-Beta\": \"assistants=v2\",\n \"Content-Type\": \"application/json\",\n Authorization: \"Bearer \" + OPENAI_API_KEY,\n }\n\n const createThread = async () => {\n const url = \"https://api.openai.com/v1/threads\"\n var payload = {\n messages: [\n {\n role: \"assistant\",\n content: \"Hi! I am an assistant to help with Prior art search and analysis, Patent drafting and much more.\",\n },\n ],\n }\n try {\n var response = await axios({\n url: url,\n method: \"post\",\n headers: HEADERS,\n data: JSON.stringify(payload),\n })\n } catch (error) {\n console.error(\"Error creating thread:\", error)\n return null\n }\n return response.data\n }\n\n useEffect(() => {\n const fetchThread = async () => {\n const data = await createThread()\n setThreadData(data)\n }\n\n fetchThread()\n }, [])\n\n const [loadingForGen, setLoadingForGen] = useState(false)\n const [promptInputValue, setpromptInputValue] = useState(\"\")\n const [messages, setMessages] = useState([\n {\n text: \"Hi! I am an assistant to help with Prior art\\\n search and analysis, Patent drafting and much more.\",\n isUser: false,\n },\n ])\n\n //-------------------------------------------------------------------------\n //--------------------------OPEN AI FUNCTIONs------------------------------\n //-------------------------------------------------------------------------\n\n const sendMessage = async (threadId, query) => {\n const url = \"https://api.openai.com/v1/threads/\" + threadId + \"/messages\"\n const payload = {\n role: \"user\",\n content: query,\n }\n try {\n var response = await axios({\n url: url,\n method: \"post\",\n headers: HEADERS,\n data: JSON.stringify(payload),\n })\n } catch (error) {\n console.error(\"Error Sending Message:\", error)\n return null\n }\n return response.data\n }\n\n const getMessages = async (threadId) => {\n const url = \"https://api.openai.com/v1/threads/\" + threadId + \"/messages\"\n try {\n var response = await axios({\n url: url,\n method: \"get\",\n headers: HEADERS,\n })\n } catch (error) {\n console.error(\"Error getting Messages:\", error)\n return null\n }\n return response.data\n }\n\n const checkCompleteStatus = async (threadId, runId) => {\n const url = \"https://api.openai.com/v1/threads/\" + threadId + \"/runs/\" + runId\n try {\n var response = await axios({\n url: url,\n method: \"get\",\n headers: HEADERS,\n })\n } catch (error) {\n console.error(\"Error creating thread:\", error)\n return null\n }\n return response.data\n }\n\n const traindex_API = async (args) => {\n const url = \"https://api.traindex.io/openai/openai-gen/get_filtered_data\"\n const headers = {\n \"Content-Type\": \"application/json\",\n \"x-api-key\": process.env.REACT_APP_TRAINDEX_API_KEY,\n }\n\n const payload = args\n\n var priority_sign = \"<\"\n var publication_sign = \"<\"\n\n if(priorityCondition == \"Before\"){\n priority_sign = \"<\"\n }\n else if(priorityCondition == \"After\"){\n priority_sign = \">\"\n\n }\n else{\n priority_sign = \"=\"\n\n }\n\n if(publicationCondition == \"Before\"){\n publication_sign = \"<\"\n }\n else if(publicationCondition == \"After\"){\n publication_sign = \">\"\n\n }\n else{\n publication_sign = \"=\"\n }\n\n if (priorityDValue != \"\" && payload[\"priority_date\"] == undefined) {\n const pdValueWithoutDashs = priorityDValue.replace(/-/g, \"\")\n payload[\"priority_date\"] = pdValueWithoutDashs\n payload[\"priority_date_criteria\"] = priority_sign\n\n }\n if (publicationDValue != \"\" && payload[\"publication_date\"] == undefined) {\n const pdValueWithoutDashs = publicationDValue.replace(/-/g, \"\")\n payload[\"publication_date\"] = pdValueWithoutDashs\n payload[\"publication_date_criteria\"] = publication_sign\n\n }\n if (cpcValue != \"\" && payload[\"cpc\"] == undefined) {\n payload[\"cpc\"] = cpcValue\n }\n if (kindCodeValue != \"\" && payload[\"kind_code\"] == undefined) {\n payload[\"kind_code\"] = kindCodeValue\n }\n try {\n var response = await axios({\n url: url,\n method: \"post\",\n headers: headers,\n data: JSON.stringify(payload),\n })\n } catch (error) {\n return \"Sorry aboout that. There is some internal error! Try again later\"\n }\n return response.data\n }\n const get_full_patent_text = async (args) => {\n var response = \"\"\n try {\n response = await axios({\n url: \"https://api.traindex.io/openai/openai-gen/get_UCID_data\",\n method: \"post\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"x-api-key\": process.env.REACT_APP_TRAINDEX_API_KEY,\n },\n data: JSON.stringify(args),\n })\n } catch (error) {\n return \"Sorry aboout that. There is some internal error! Try again later\"\n }\n\n return response.data\n }\n const rerank_patents_for_invalidation = async (args) => {\n\n const payload = args\n\n var priority_sign = \"<\"\n var publication_sign = \"<\"\n\n if(priorityCondition == \"Before\"){\n priority_sign = \"<\"\n }\n else if(priorityCondition == \"After\"){\n priority_sign = \">\"\n\n }\n else{\n priority_sign = \"=\"\n\n }\n\n if(publicationCondition == \"Before\"){\n publication_sign = \"<\"\n }\n else if(publicationCondition == \"After\"){\n publication_sign = \">\"\n\n }\n else{\n publication_sign = \"=\"\n }\n\n if (priorityDValue != \"\" && payload[\"priority_date\"] == undefined) {\n const pdValueWithoutDashs = priorityDValue.replace(/-/g, \"\")\n payload[\"priority_date\"] = pdValueWithoutDashs\n payload[\"priority_date_criteria\"] = priority_sign\n\n }\n if (publicationDValue != \"\" && payload[\"publication_date\"] == undefined) {\n const pdValueWithoutDashs = publicationDValue.replace(/-/g, \"\")\n payload[\"publication_date\"] = pdValueWithoutDashs\n payload[\"publication_date_criteria\"] = publication_sign\n\n }\n if (cpcValue != \"\" && payload[\"cpc\"] == undefined) {\n payload[\"cpc\"] = cpcValue\n }\n if (kindCodeValue != \"\" && payload[\"kind_code\"] == undefined) {\n payload[\"kind_code\"] = kindCodeValue\n }\n console.log(payload)\n var response = \"\"\n try {\n response = await axios({\n url: \"https://api.traindex.io/openai/openai-gen/rerank_patents_invalidation\",\n method: \"post\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"x-api-key\": process.env.REACT_APP_TRAINDEX_API_KEY,\n },\n data: JSON.stringify(payload),\n })\n } catch (error) {\n return \"Sorry aboout that. There is some internal error! Try again later\"\n }\n return response.data\n }\n\n const submitToolOutput = async (threadId, runId, toolOutputs) => {\n const url = \"https://api.openai.com/v1/threads/\" + threadId + \"/runs/\" + runId + \"/submit_tool_outputs\"\n const payload = {\n tool_outputs: toolOutputs\n }\n try {\n var response = await axios({\n url: url,\n method: \"post\",\n headers: HEADERS,\n data: JSON.stringify(payload),\n })\n } catch (error) {\n console.error(\"Error creating thread:\", error)\n return null\n }\n return response.data\n }\n\n const runAssistant = async (threadId) => {\n const url = \"https://api.openai.com/v1/threads/\" + threadId + \"/runs\"\n const payload = {\n assistant_id: \"asst_avxmIQELJGfWoDE1iC4lBtzr\",\n }\n try {\n var response = await axios({\n url: url,\n method: \"post\",\n headers: HEADERS,\n data: JSON.stringify(payload),\n })\n } catch (error) {\n console.error(\"Error Sending Message:\", error)\n return null\n }\n return response.data\n }\n const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms))\n\n const runConversation = async (event) => {\n\n\n const textarea = document.querySelector(\".chatbot-input\")\n if (textarea) {\n textarea.style.height = \"auto\"\n }\n\n const cloudWatchStruct = {}\n\n setLoadingForGen(true)\n const prompt = promptInputValue\n sendLogToCloudWatch(\"/aws/traindex_ui_frontend/dexi-request-logs\", {user_query:prompt})\n\n cloudWatchStruct[\"1_user_query\"] = prompt\n\n const startTime = performance.now()\n\n\n const userMessageUpdate = [...messages, { text: prompt, isUser: true }]\n setMessages(userMessageUpdate)\n setpromptInputValue(\"\")\n\n const threadId = threadData[\"id\"]\n\n await sendMessage(threadId, prompt)\n const run = await runAssistant(threadId)\n\n var response_status = \"\"\n var statusCompleteRes = \"\"\n var patents = \"\"\n\n var anyError = false\n\n while (response_status != \"completed\") {\n await delay(3000)\n statusCompleteRes = await checkCompleteStatus(threadId, run[\"id\"])\n if (statusCompleteRes[\"required_action\"] != null) {\n var function_props = statusCompleteRes[\"required_action\"][\"submit_tool_outputs\"][\"tool_calls\"]\n var tool_outputs = []\n\n for (let i = 0; i < function_props.length ; i++){\n\n var function_name = function_props[i][\"function\"][\"name\"]\n var function_args = JSON.parse(function_props[i][\"function\"][\"arguments\"])\n var function_tool_id = function_props[i][\"id\"]\n \n if (function_name == \"traindex_API\") {\n cloudWatchStruct[\"2_openai_to_v7_req\"] = function_args\n \n patents = await traindex_API(function_args)\n\n if (Object.prototype.hasOwnProperty.call(patents, \"Error\")){\n\n tool_outputs.push({\"tool_call_id\":function_tool_id, \"output\":JSON.stringify(patents, null, 2)})\n cloudWatchStruct[\"2_openai_to_v7_res\"] = JSON.stringify(patents, null, 2)\n\n }\n else{\n const updated_patents = patents.map(item => ({\n ...item, \n patent_text: \"For Devs: Visit Google Patents to get patent text\" \n }))\n \n const jsonString = JSON.stringify(patents, null, 2)\n \n const formattedToolOutput = prettier.format(jsonString, {\n parser: \"json\",\n plugins: [parserBabel],\n })\n \n tool_outputs.push({\"tool_call_id\":function_tool_id, \"output\":formattedToolOutput})\n \n cloudWatchStruct[\"2_openai_to_v7_res\"] = updated_patents\n\n }\n\n }\n if (function_name == \"get_full_patent_text\") {\n cloudWatchStruct[\"2_ucid_for_details_req\"] = function_args\n patents = await get_full_patent_text(function_args)\n\n\n const jsonString = JSON.stringify(patents, null, 2)\n\n const formattedToolOutput = prettier.format(jsonString, {\n parser: \"json\",\n plugins: [parserBabel],\n })\n tool_outputs.push({\"tool_call_id\":function_tool_id, \"output\":formattedToolOutput})\n\n \n var patents_res = \"\"\n if (patents[\"patent_text\"] == undefined){\n patents_res = patents[\"response\"]\n }\n else{\n patents_res = patents[\"patent_text\"].substring(0,200)\n \n }\n \n cloudWatchStruct[\"2_ucid_for_details_res\"] = patents_res\n }\n\n if (function_name == \"rerank_patents_for_invalidation\") {\n cloudWatchStruct[\"2_ucid_for_details_req\"] = function_args\n patents = await rerank_patents_for_invalidation(function_args)\n\n\n const jsonString = JSON.stringify(patents, null, 2)\n\n const formattedToolOutput = prettier.format(jsonString, {\n parser: \"json\",\n plugins: [parserBabel],\n })\n tool_outputs.push({\"tool_call_id\":function_tool_id, \"output\":formattedToolOutput})\n\n \n var inv_patents_res = \"\"\n if (patents[\"patent_text\"] == undefined){\n inv_patents_res = patents[\"response\"]\n }\n else{\n inv_patents_res = patents[\"patent_text\"].substring(0,200)\n \n }\n \n cloudWatchStruct[\"2_ucid_for_details_res\"] = inv_patents_res\n }\n }\n\n try {\n await submitToolOutput(threadId, run[\"id\"], tool_outputs)\n\n } catch (error) {\n break\n }\n\n }\n response_status = statusCompleteRes[\"status\"]\n }\n var res = \"\"\n if (!anyError){\n const thread_messages = await getMessages(threadId)\n res = thread_messages.data[0].content[0].text.value\n }\n else{\n res = \"Sorry aboout that. There is some internal error! Try again later\"\n }\n\n\n \n\n cloudWatchStruct[\"3_user_res\"] = res\n\n const words = res.trim() === \"\" ? 0 : res.trim().split(/\\s+/).length\n const size = new Blob([res]).size\n const tokens = res.match(/\\S+/g) || []\n\n const sizeInKB = (size / 1024).toFixed(2)\n\n cloudWatchStruct[\"no_of_words\"] = words\n cloudWatchStruct[\"size_of_res\"] = Number(sizeInKB)\n cloudWatchStruct[\"no_of_tokens\"] = tokens.length\n\n const dexiMessageUpdate = [...userMessageUpdate, { text: res, isUser: false }]\n setMessages(dexiMessageUpdate)\n\n const endTime = performance.now()\n const executionTime = endTime - startTime\n \n const seconds_executionTime = executionTime / 1000\n sendToCloudWatch(seconds_executionTime)\n\n setLoadingForGen(false)\n sendLogToCloudWatch(\"/aws/traindex_ui_frontend/dexi-response-logs\", cloudWatchStruct)\n }\n\n const handlePromptInputChange = (e) => {\n setpromptInputValue(e.target.value)\n const textarea = e?.target\n if (textarea) {\n if (textarea.value.trim() === \"\") {\n textarea.style.height = \"auto\"\n } else {\n textarea.style.height = \"auto\"\n textarea.style.height = `${Math.min(textarea.scrollHeight, 100)}px`\n }\n }\n }\n\n return (\n
\n {!authorize &&
}\n
\n \n \n \n \n {messages && }\n \n \n \n \n \n \n
\n {!authorize &&
}\n
\n )\n}\n\nChatbot.propTypes = {\n history: PropTypes.object.isRequired,\n}\n\nexport default Chatbot\n","import client from \"./APIClient\"\n\nexport default class PriorArtApi {\n static getData = (ucid) => {\n return client(`prior-art?ucid=${ucid}`)\n }\n\n static sendEmail = (body) => {\n return client(\"prior-art\", { method: \"POST\", body })\n }\n\n static exists = (ucid) => {\n return client(`prior-art/exists?ucid=${ucid}`)\n }\n}\n","import React, { useEffect, useState } from \"react\"\nimport { HashLink as Link } from \"react-router-hash-link\"\nimport { NavLink } from \"react-router-dom\"\nimport logo from \"../../images/trindex-final-logo-white.png\"\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport { faQuestionCircle } from \"@fortawesome/free-solid-svg-icons\"\nimport { Container, Row, Col, Button, Table, UncontrolledTooltip, Spinner } from \"reactstrap\"\nimport Footer from \"../Footer\"\nimport PriorArtApi from \"../../api/PriorArtApi\"\nimport \"./priorart.css\"\n\nconst PriorArt = ({ match }) => {\n const [data, setData] = useState(null),\n [error, setError] = useState(\"\"),\n [loading, setLoading] = useState(false)\n\n const {\n params: { ucid },\n } = match\n\n useEffect(() => {\n async function fetchData() {\n setLoading(true)\n try {\n const data = await PriorArtApi.getData(ucid)\n setData(data)\n setLoading(false)\n } catch (error) {\n setLoading(false)\n if (error.response && error.response.status === 404) {\n setError(\"Prior art report for this patent is not available.\")\n } else if (error.response && error.response.status === 400) {\n setError(\"Bad request\")\n } else {\n setError(\"Something went wrong\")\n }\n }\n }\n fetchData()\n }, [ucid])\n\n const patentsDisplay =\n data &&\n data[\"prior_art_list\"].map((item, index) => {\n let urlPath = item.ucid.replace(/-/g, \"\")\n const title = item.title && item.title.charAt(0).toUpperCase() + item.title.slice(1)\n const urlLink = `https://patents.google.com/patent/${urlPath}`\n return (\n \n {index + 1}\n {item.ucid}\n \n \n {title || urlLink}\n \n \n {item.conceptScore.toFixed(4)}\n \n )\n })\n\n return (\n
\n
\n \n \n \n \n \"Traindex\n \n \n \n \n \n \n \n \n \n \n

Prior Art report for patent {ucid}

\n {loading && (\n
\n \n
\n )}\n {data && (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{data.title}
\n Assignee: {data.assignee}\n \n Priority Date: {data.priority_date}\n \n Grant date: {data.grant_date}\n
\n \n
\n \n
\n )}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {patentsDisplay}\n
#Patent UCIDLink\n Score \n \n Measures how similar the document with the searched patent on a scale of 0 - 1\n \n
\n {error &&

{error}

}\n \n
\n \n
\n
\n
\n
\n
\n )\n}\n\nexport default PriorArt\n","import React, { useEffect, useState } from \"react\"\nimport { Container, Row, Col, Button, Progress, Form, Input, Spinner } from \"reactstrap\"\nimport { useHistory } from \"react-router\"\nimport { useMutation } from \"react-query\"\nimport Footer from \"../Footer\"\nimport Header from \"../Header\"\nimport PriorArtApi from \"../../api/PriorArtApi\"\nimport \"./priorart.css\"\n\nconst DownloadPriorArt = ({ match }) => {\n const [progressValue, setProgressValue] = useState(0),\n [email, setEmail] = useState(\"\"),\n history = useHistory(),\n {\n params: { ucid },\n } = match,\n { mutate, error, status } = useMutation(PriorArtApi.sendEmail, {\n onSuccess: () => {\n history.push(`/download-prior-art/${ucid}?download-success=1`)\n },\n })\n\n useEffect(() => {\n if (progressValue >= 100) {\n return\n }\n\n const interval = setInterval(() => {\n setProgressValue((value) => value + 1)\n }, 40)\n\n return () => {\n clearInterval(interval)\n }\n }, [progressValue === 100])\n\n useEffect(() => {\n window.scrollTo(0, 0)\n }, [])\n\n const confirmDownload = (event) => {\n event.preventDefault()\n mutate({ email, ucid })\n }\n\n const onChangeEmail = (event) => setEmail(event.target.value)\n\n return (\n
\n
\n

Prior Art Report

\n
\n \n \n {status === \"success\" ? (\n

\n Email send successfully, please check your inbox to download the report.\n

\n ) : progressValue < 100 ? (\n <>\n

Your request is in progress...

\n \n {progressValue}%\n \n \n ) : (\n <>\n

Your report is ready

\n

{\n !ucid.includes(\"-\") \n ? ucid.slice(0, 2) + \"-\" + ucid.slice(2, -2) + \"-\" + ucid.slice(-2) \n : ucid}.pdf

\n
\n \n \n \n

{error && error.message}

\n \n \n \n \n
\n
\n \n )}\n \n
\n
\n
\n
\n )\n}\n\nexport default DownloadPriorArt\n","import React, { useEffect, useState } from \"react\"\nimport { Container, Row, Col, Button, Progress, Form, Input, Spinner } from \"reactstrap\"\nimport { useHistory } from \"react-router\"\nimport { useMutation } from \"react-query\"\nimport Footer from \"../Footer\"\nimport Header from \"../Header\"\nimport InvalidationReportApi from \"../../api/InvalidationAPI\"\nimport \"./landingPage.scss\"\n\nconst GenerateInvalidation = ({ match }) => {\n const [progressValue, setProgressValue] = useState(0),\n [email, setEmail] = useState(\"\"),\n history = useHistory(),\n {\n params: { ucid },\n } = match,\n { mutate, error, status } = useMutation(InvalidationReportApi.create, {\n onSuccess: () => {\n history.push(`/generate-invalidation/${ucid}?success=1`)\n },\n })\n\n useEffect(() => {\n if (progressValue >= 100) {\n return\n }\n\n const interval = setInterval(() => {\n setProgressValue((value) => value + 1)\n }, 50)\n\n return () => {\n clearInterval(interval)\n }\n }, [progressValue === 100])\n\n useEffect(() => {\n window.scrollTo(0, 0)\n }, [])\n\n const confirmDownload = (event) => {\n event.preventDefault()\n mutate({ email, ucid })\n }\n\n const onChangeEmail = (event) => setEmail(event.target.value)\n\n return (\n
\n
\n

Invalidation Report

\n
\n \n \n {status === \"success\" ? (\n

\n Thank you! Your report will be sent to your inbox shortly, typically within 10-15 minutes.\n

\n ) : progressValue < 100 ? (\n <>\n

We’re processing your request. Please wait...

\n \n {progressValue}%\n \n \n ) : (\n <>\n

Your invalidation report is being generated. \n Enter your email below, and we’ll notify you when it’s ready!

\n

{ucid}

\n
\n \n \n \n

{error && error.message}

\n \n \n \n \n
\n
\n \n )}\n \n
\n
\n
\n
\n )\n}\n\nexport default GenerateInvalidation\n","import client from \"./APIClient\"\n\nexport default class Subscription {\n static get = stripe_subscription_id => {\n return client(`subscription?stripe_subscription_id=${stripe_subscription_id}`)\n }\n\n static update = body => {\n return client(\"subscription\", {\n method: \"PATCH\",\n body\n })\n }\n\n static applyCoupon = body => {\n return client(\"apply-coupon\", {\n method: \"PATCH\",\n body\n })\n }\n\n static activateAndApplyCoupon = body => {\n return client(\"apply-coupon/activate\", {\n method: \"PATCH\",\n body\n })\n }\n\n static delete = body => {\n return client(\"subscription\", {\n method: \"DELETE\",\n body\n })\n }\n}\n","import React, { useState } from \"react\"\nimport { useMutation } from \"react-query\"\nimport { queryClient } from \"../../utils/common\"\nimport { Button, Input, InputGroup, UncontrolledAlert } from \"reactstrap\"\nimport Subscription from \"../../api/SubscriptionApi\"\nimport \"./coupon.css\"\n\nconst Coupon = ({ stripe_subscription_id, couponCode, setCouponCode, showApplyBtn, getUserInfo }) => {\n const [openCouponField, setOpenCouponField] = useState(false)\n\n const linkBtnHandler = () => {\n setOpenCouponField((prev) => !prev)\n }\n\n const onChangeCouponField = (event) => {\n setCouponCode(event.target.value)\n }\n\n const applyCouponAPI = () => {\n return Subscription.applyCoupon({\n stripe_subscription_id,\n couponCode\n })\n }\n\n const {mutate: applyCoupon, error, data } = useMutation(applyCouponAPI, {\n onSuccess: () => {\n [\"subscription-status\", \"invoice\", \"subscription\"].forEach((queryKey) =>\n queryClient.invalidateQueries(queryKey)\n )\n getUserInfo()\n }\n })\n\n return (\n
\n {openCouponField ? (\n <>\n \n \n {showApplyBtn && (\n \n )}\n \n {error && error.message && (\n \n {error.message}\n \n )}\n {data && data.message && (\n \n {data.message}\n \n )}\n \n ) : (\n \n )}\n
\n )\n}\n\nexport default Coupon","import client from \"./APIClient\"\n\nexport default class Emails {\n static sendCancel = data => {\n return client(\"emails\", {method: \"POST\", body: data})\n }\n}\n","import React from \"react\"\nimport { Spinner } from \"reactstrap\"\nimport \"./spinnerOverlay.css\"\n\nconst SpinnerOverlay = ({ show }) => {\n return show ? (\n \n ) : null\n}\n\nexport default SpinnerOverlay","/* eslint-disable no-extra-semi */\nimport React, { useEffect, useState } from \"react\"\nimport {\n Button,\n Form,\n FormGroup,\n Label,\n Input,\n UncontrolledAlert,\n Modal,\n ModalHeader,\n ModalBody,\n ModalFooter,\n Col,\n Alert,\n} from \"reactstrap\"\nimport moment from \"moment\"\nimport { useQuery, useMutation } from \"react-query\"\nimport Select from \"react-select\"\nimport Coupon from \"./Coupon\"\nimport { useStateValue } from \"../../contexts/StateProvider\"\nimport Subscription from \"../../api/SubscriptionApi\"\nimport Emails from \"../../api/EmailsAPI\"\nimport SpinnerOverlay from \"../ExtraComponents/SpinnerOverlay\"\nimport TrialAlert from \"../TrialAlert\"\nimport { queryClient } from \"../../utils/common\"\nimport \"./subscription.css\"\n\nconst formatDate = (timestamp) => {\n return moment.unix(timestamp).format(\"ll\")\n}\n\nconst currentDate = moment().unix()\n\nconst BillingCard = () => {\n const { state, getUserInfo } = useStateValue(),\n { user } = state,\n [modal, setModal] = useState(false),\n [modalError, setModalError] = useState(\"\"),\n [selected, setSelected] = useState(\"\"),\n [opinion, setOpinion] = useState(\"\"),\n [couponCode, setCouponCode] = useState(\"\"),\n [subscriptionPlan, setSubscriptionPlan] = useState(null),\n [updateDisable, setUpdateDisable] = useState(true),\n [confirmSubscriptionPlanModal, setConfirmSubscriptionPlanModal] = useState(false),\n [confirmCallbackName, setConfirmCallbackName] = useState(\"\"),\n { status, data: subscriptionData, error } = useQuery(\n [\"subscription\", user.stripe_subscription_id],\n () => Subscription.get(user.stripe_subscription_id),\n { enabled: Boolean(user.stripe_subscription_id) }\n ),\n mutateQuery = (data) => {\n ;[\"subscription-status\", \"invoice\", \"subscription\"].forEach((queryKey) => queryClient.invalidateQueries(queryKey))\n return queryClient.setQueryData([\"subscription\", user.stripe_subscription_id], data)\n },\n { mutate: cancelSubscription, status: cancelSubscriptionStatus, error: cancelSubscriptionError } = useMutation(\n Subscription.delete,\n {\n onSuccess: mutateQuery,\n }\n ),\n { mutate: updateSubscription, status: updateSubscriptionStatus, error: updateSubscriptionError } = useMutation(\n Subscription.update,\n {\n onSuccess: mutateQuery,\n }\n ),\n {\n mutate: activateAndApplyCoupon,\n status: activateAndApplyCouponStatus,\n error: activateAndApplyCouponError,\n } = useMutation(Subscription.activateAndApplyCoupon, {\n onSuccess: mutateQuery,\n })\n\n const isCancelAtPeriodEnd = subscriptionData && subscriptionData.cancel_at_period_end\n const isPaused = subscriptionData && subscriptionData.pause_collection \n && subscriptionData.pause_collection[\"behavior\"] === \"mark_uncollectible\"\n const subscriptionStatus =\n subscriptionData &&\n (isCancelAtPeriodEnd ? \"canceled\" :isPaused ? \"Active\" : subscriptionData.status === \"past_due\" ? \"Past due\"\n : subscriptionData.status)\n const isTrialing = subscriptionStatus === \"trialing\"\n const isCanceled = subscriptionStatus === \"canceled\"\n const isDue = subscriptionStatus === \"Past due\"\n const isLoading = status === \"loading\"\n const isUpdating =\n cancelSubscriptionStatus === \"loading\" ||\n updateSubscriptionStatus === \"loading\" ||\n activateAndApplyCouponStatus === \"loading\"\n const isError =\n status === \"error\" ||\n cancelSubscriptionStatus === \"error\" ||\n updateSubscriptionStatus === \"error\" ||\n activateAndApplyCouponStatus === \"error\" ||\n !user.stripe_subscription_id\n const errorMessage =\n (error && error.message) ||\n (cancelSubscriptionError && cancelSubscriptionError.message) ||\n (updateSubscriptionError && updateSubscriptionError.message) ||\n (activateAndApplyCouponError && activateAndApplyCouponError.message) ||\n (!user.stripe_subscription_id && \"No subscription found for this account.\")\n const percentOff = subscriptionData?.discount?.coupon?.percent_off || 0\n const monthlyPrice = parseInt(process.env.REACT_APP_MONTHLY_PRICE)\n const annualPrice = parseInt(process.env.REACT_APP_ANNUAL_PRICE)\n const actualMonthlyPrice = Math.round(monthlyPrice * (1 - percentOff / 100))\n const actualAnnualPrice = Math.round(annualPrice * (1 - percentOff / 100))\n const formattedMonthlyPrice = `$${actualMonthlyPrice.toLocaleString(undefined, { minimumFractionDigits: 2 })}`\n const formattedAnnualPricePerMonth = `$${(actualAnnualPrice / 12).toLocaleString(undefined, {\n minimumFractionDigits: 2,\n })}`\n const subscriptionOptions = [\n {\n label: `Monthly (${formattedMonthlyPrice}/month)`,\n value: \"month\",\n },\n {\n label: `Annual (${formattedAnnualPricePerMonth}/month)`,\n value: \"year\",\n },\n ]\n const pastDays = Math.ceil((currentDate - subscriptionData?.current_period_start)/(24*60*60)) || 0\n const leftDays = Number(process.env.REACT_APP_STRIPE_RETRY_DAYS) - pastDays\n\n useEffect(() => {\n const amount = subscriptionData?.plan.amount || 0\n const percentOff = subscriptionData?.discount?.coupon?.percent_off || 0\n const actualAmount = (amount * (1 - percentOff / 100)) / 100\n const interval = subscriptionData?.plan.interval || \"month\"\n if (interval === \"month\") {\n const price = `$${actualAmount.toLocaleString(undefined, { minimumFractionDigits: 2 })}`\n setSubscriptionPlan({\n label: `Monthly (${price}/month)`,\n value: \"month\",\n })\n } else if (interval === \"year\") {\n const price = `$${(actualAmount / 12).toLocaleString(undefined, { minimumFractionDigits: 2 })}`\n setSubscriptionPlan({\n label: `Annual (${price}/month)`,\n value: \"year\",\n })\n } else {\n setSubscriptionPlan(null)\n }\n }, [subscriptionData])\n\n const toggleModal = () => {\n setModal(!modal)\n }\n\n const handleReasonChange = (event) => {\n setSelected(event.target.value)\n setOpinion(\"\")\n setModalError(\"\")\n }\n\n const onCancelSubscription = async () => {\n try {\n if (!selected) {\n setModalError(\"Please select one option above\")\n } else {\n if (selected === \"option4\" && !opinion) {\n setModalError(\"Please provide your feedback\")\n } else {\n await Emails.sendCancel({\n full_name: user.full_name,\n email: user.email,\n reason: opinion,\n option: selected,\n org_name: user.organization.name\n }).then(async (data) => {\n setModal(false)\n setSelected(\"\")\n setOpinion(\"\")\n setModalError(\"\")\n if (data.ResponseMetadata.HTTPStatusCode === 200) {\n await cancelSubscription({\n stripe_subscription_id: user.stripe_subscription_id,\n org_id: user.org_id,\n })\n await getUserInfo()\n }\n })\n }\n }\n } catch (error) {\n setModalError(error.message)\n }\n }\n\n const checkForSubscriptionPlanConfirmation = (callbackName) => {\n if (!user) {\n if (confirmCallbackName === callbackName) {\n onCloseSubscriptionPlanModal()\n return true\n } else {\n setConfirmCallbackName(callbackName)\n setConfirmSubscriptionPlanModal(true)\n return false\n }\n } else {\n return true\n }\n }\n\n const onActivateSubscription = async () => {\n if (checkForSubscriptionPlanConfirmation(\"onActivateSubscription\")) {\n if (!isCancelAtPeriodEnd && subscriptionData.status === \"canceled\" && couponCode) {\n await activateAndApplyCoupon({\n org_id: user.org_id,\n subscription_plan: subscriptionData.value,\n couponCode,\n })\n } else {\n await updateSubscription({\n org_id: user.org_id,\n activate_subscription: true,\n subscription_plan: subscriptionPlan.value,\n })\n }\n await getUserInfo()\n }\n }\n\n const onChangeSubscriptionHandler = (option) => {\n setSubscriptionPlan(option)\n if (option.value !== subscriptionData?.plan.interval) {\n setUpdateDisable(false)\n } else {\n setUpdateDisable(true)\n }\n }\n\n const onConfirmSubscriptionPlanModal = async () => {\n if (confirmCallbackName === \"onActivateSubscription\") {\n await onActivateSubscription()\n }\n }\n\n const onCloseSubscriptionPlanModal = () => {\n setConfirmCallbackName(\"\")\n setConfirmSubscriptionPlanModal(false)\n }\n\n const updateSubscriptionPlan = async () => {\n if (checkForSubscriptionPlanConfirmation(\"updateSubscriptionPlan\")) {\n await updateSubscription({\n org_id: user.org_id,\n subscription_plan: subscriptionPlan.value,\n })\n setUpdateDisable(true)\n await getUserInfo()\n }\n }\n\n return (\n <>\n \n {(isCanceled && !user.last4) && (\n \n Your subscription has expired. Please update your payment details to reactivate it.\n \n )}\n {(isDue && !isPaused && !user.last4) && (\n \n Your subscription is now {pastDays} days past due. \n Please update your payment details within {leftDays} days to avoid your account being terminated.\n \n )}\n {isDue && !isPaused && Boolean(user.last4) && (\n \n There seems to be an issue with your credit card. Please update your payment details to reactivate your\n subscription.\n \n )}\n {user && user.subscription && }\n

Billing Overview

\n {isError && {errorMessage}}\n {isLoading ? (\n
\n \n
\n ) : (\n <>\n {isUpdating && (\n
\n \n
\n )}\n
\n Subscription Status: {subscriptionStatus}\n
\n {isTrialing && (\n
\n Trial ends on: {formatDate(subscriptionData.trial_end)}\n
\n )}\n
\n ({ ...provided, zIndex: 9999 }),\n }}\n />\n
\n \n
\n {isCanceled ? (\n \n ) : (\n <>\n
\n \n Update Subscription\n \n
\n \n \n )}\n
\n \n )}\n \n {modal && (\n
\n \n \n Before you leave, we would love if you could spare a few seconds to answer the question below:\n \n \n
Please select the reason for canceling subscription
\n
\n \n \n \n \n \n \n \n \n \n \n \n {\n setOpinion(event.target.value)\n }}\n />\n \n
\n
\n \n {modalError && {modalError}}\n \n \n
\n
\n )}\n \n Update Subscription\n \n You are about to change your subscription plan.
\n Do you wish to continue?\n
\n \n \n \n \n
\n \n )\n}\n\nexport default BillingCard\n","import client from \"./APIClient\"\n\nexport default class PaymentMethod {\n static create = (body) => {\n return client(\"payment-method\", {method: \"POST\", body})\n }\n\n static async update(body) {\n return client(\"payment-method\", {method: \"PATCH\", body})\n }\n\n static async verify(body) {\n return client(\"bank-account-verify\", {method: \"PATCH\", body})\n }\n}\n","import React, { useState } from \"react\"\nimport { \n Button, \n Form, \n Label, \n FormGroup, \n Col, \n Row,\n Input,\n InputGroup,\n UncontrolledAlert,\n InputGroupText\n} from \"reactstrap\"\nimport Select from \"react-select\"\nimport { \n useStripe,\n useElements, \n CardNumberElement, \n CardCvcElement, \n CardExpiryElement \n} from \"@stripe/react-stripe-js\"\nimport { useStateValue } from \"../../contexts/StateProvider\"\nimport { queryClient } from \"../../utils/common\"\nimport PaymentMethod from \"../../api/PaymentMethodAPI\"\nimport SpinnerOverlay from \"../ExtraComponents/SpinnerOverlay\"\nimport \"./subscription.css\"\n\nconst options = {\n style: {\n base: {\n fontSize: \"16px\",\n color: \"#424770\",\n letterSpacing: \"0.025em\",\n fontFamily: \"Source Code Pro, monospace\",\n \"::placeholder\": {\n color: \"#aab7c4\"\n }\n },\n invalid: {\n color: \"#9e2146\"\n }\n },\n}\n\nconst UpdatePaymentMethod = () => {\n const { state, getUserInfo } = useStateValue(),\n { user } = state,\n [status, setStatus] = useState(\"idle\"),\n [error, setError] = useState(\"\"),\n [isValidCardNumber, setIsValidCardNumber] = useState(false),\n [isValidCVC, setIsValidCVC] = useState(false),\n [isValidExpiry, setIsValidExpiry] = useState(false),\n [accountType, setAccountType] = useState({ value: \"company\", label: \"Company\"}),\n [bankAccountForm, setBankAccountForm] = useState({\n country: \"US\",\n currency: \"usd\",\n routing_number: \"\",\n account_number: \"\",\n account_holder_name: \"\"\n }),\n [verifyForm, setVerifyForm] = useState({\n amount1: 0,\n amount2: 0\n }),\n stripe = useStripe(),\n elements = useElements(),\n [paymentMethod, setPaymentMethod] = useState(null)\n\n const userData = user && user.organization || null\n\n const paymentSource = user && user.stripe_info.sources || null\n\n const invalidateQuery = () => {\n [\"subscription\", \"invoice\"].forEach(queryKey =>queryClient.invalidateQueries(queryKey))\n }\n\n const handleSubmit = async event => {\n event.preventDefault()\n if (paymentMethod.value === \"creditCard\") {\n try {\n setStatus(\"pending\")\n const response = await stripe.createToken(elements.getElement(CardNumberElement))\n if (response.error) {\n setStatus(\"rejected\")\n setError(response.error.message)\n } else {\n const body = {\n collection_id: userData.collection_id,\n item_id: userData.item_id,\n stripe_customer_id: userData.stripe_customer_id,\n token_id: response.token.id,\n payment_method: paymentMethod\n }\n userData.last4 ? await PaymentMethod.update(body) : await PaymentMethod.create(body)\n setPaymentMethod(null)\n invalidateQuery()\n await getUserInfo()\n setTimeout(() => {\n [\"subscription\", \"subscription-status\", \"invoice\"].forEach(\n queryKey => queryClient.invalidateQueries(queryKey)\n )\n setStatus(\"resolved\")\n }, 3000)\n }\n } catch (error) {\n setStatus(\"rejected\")\n setError(error.message)\n }\n } else if (paymentMethod.value === \"ach_debit\") {\n bankAccountForm.account_holder_type = accountType.value\n try {\n setStatus(\"pending\")\n const response = await stripe.createToken(\"bank_account\", bankAccountForm)\n if (response.error) {\n setStatus(\"rejected\")\n setError(response.error.message)\n } else {\n const body = {\n collection_id: userData.collection_id,\n item_id: userData.item_id,\n stripe_customer_id: userData.stripe_customer_id,\n token_id: response.token.id,\n payment_method: paymentMethod\n }\n userData.last4 ? await PaymentMethod.update(body) : await PaymentMethod.create(body)\n setPaymentMethod(null)\n invalidateQuery()\n await getUserInfo()\n setStatus(\"resolved\")\n }\n } catch (error) {\n setStatus(\"rejected\")\n setError(error.message)\n }\n }\n }\n\n const handleChange = event => {\n const { complete, elementType } = event\n if (elementType === \"cardNumber\") setIsValidCardNumber(complete)\n else if (elementType === \"cardCvc\") setIsValidCVC(complete)\n else setIsValidExpiry(complete)\n }\n\n const onSubmitVerify = async event => {\n event.preventDefault()\n const body = {\n collection_id: userData.collection_id,\n item_id: userData.item_id,\n stripe_customer_id: userData.stripe_customer_id,\n amounts: [verifyForm.amount1, verifyForm.amount2]\n }\n try {\n setStatus(\"pending\")\n await PaymentMethod.verify(body)\n await getUserInfo()\n setStatus(\"resolved\")\n } catch (error) {\n setStatus(\"rejected\")\n setError(error.message)\n }\n }\n\n const methodOptions = [\n { value: \"creditCard\", label: \"Credit Card\"},\n { value: \"ach_debit\", label: \"ACH Direct Debit\"}\n ]\n\n const accountTypeOptions = [\n { value: \"company\", label: \"Company\"},\n { value: \"individual\", label: \"Individual\"}\n ]\n\n const onChangeBankForm = event => {\n const { name, value } = event.target\n setBankAccountForm({\n ...bankAccountForm,\n [name]: value\n })\n }\n\n const onChangeAmount = event => {\n const { name, value } = event.target\n setVerifyForm({\n ...verifyForm,\n [name]: value\n })\n }\n\n const submitCardDisable = !stripe || !elements || !isValidCardNumber || !isValidCVC || !isValidExpiry\n const submitAccountDisable = Object.values(bankAccountForm).some(e => e.length === 0)\n\n return (\n \n

Update Payment Information

\n {status === \"pending\" && (\n
\n \n
\n )}\n {status === \"rejected\" && {error}}\n {status === \"resolved\" && Successfully updated!}\n {userData?.payment_method && (\n
\n Current payment method: {userData?.payment_method.label}\n
\n )}\n {userData?.last4 && (\n
\n Currently Using: **** **** **** {userData?.last4}\n
\n )}\n {paymentSource?.data[0]?.status === \"new\" && (\n
\n
Verify your bank account
\n

\n Two small deposits are sent to your bank account within 1-2 business day,\n please enter these two amounts to verify the account.\n

\n \n \n \n \n \n $0.\n \n \n \n \n \n \n \n \n \n \n $0.\n \n \n \n \n \n \n
\n )}\n

Choose your payment method:

\n \n \n \n {paymentMethod && paymentMethod.value === \"creditCard\" && \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n }\n {paymentMethod && paymentMethod.value === \"ach_debit\" &&\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n copy to clipboard\n \n \n \n ) : (\n \n
\n No API available. Please contact\n \n help@traindex.io\n \n to get one.\n
\n
\n )}\n \n \n \n \n
\n Index Secret Keys\n \n
\n
\n \n Your API keys are like your passwords: make sure to always keep them hidden! Share them only with services\n you trust.\n \n
\n {!apis ? (\n \n
\n \n
\n
\n ) : apis ? (\n <>\n \n \n \n \n \n \n \n \n \n \n \n {apis.us_patents_api_keys?.map((apiKey) => (\n \n \n\n \n\n \n\n \n \n ))}\n \n
API KeyCreation Date
\n {visible === apiKey.api_key\n ? apiKey.api_key\n : \"***************************************************\"}\n \n \n \n \n \n {apiKey.creation_date}\n {loading.deleteKey && keyToDelete === apiKey.id && (\n \n )}\n

onDeleteKey(apiKey.id)}>\n Delete\n

\n
\n handleAddMore()}\n className=\"add_more_container align-self-start\"\n >\n \n Add more secret keys \n \n \n {loading.addMore && }\n
\n \n Delete API Key?\n \n

Are you sure you want to delete this API key?

\n
\n \n {\" \"}\n \n \n
\n \n ) : (\n \n )}\n
\n \n \n \n
Index Data
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Dataset NameSizeNo of rows
Patents860 GB8 894 217
\n \n Preview\n {columnNames.map((name, index) => (\n \n onChangeCollapse(index)}\n >\n
{index + 1}
\n
{name}
\n
\n {name === \"text\" ? \"Index\" : \"Metadata\"}\n \n
\n \n \n \n \n {USPatentData.map((item, index) => (\n \n \n \n \n ))}\n \n
{index + 1}{item[name]}
\n
\n
\n ))}\n
\n
\n
\n \n {user && user.subscription._isExpired && }\n \n )\n}\n\nexport default USPatentsIndex\n","import React, { useState, useEffect } from \"react\"\nimport {\n Breadcrumb,\n BreadcrumbItem,\n Container,\n Card,\n CardHeader,\n CardBody,\n Collapse,\n CardText,\n Row,\n Input,\n InputGroup,\n InputGroupText,\n Button,\n Table,\n UncontrolledTooltip,\n CardSubtitle,\n Spinner,\n Modal,\n ModalHeader,\n ModalBody,\n ModalFooter,\n} from \"reactstrap\"\nimport { Link } from \"react-router-dom\"\nimport Clipboard from \"react-clipboard.js\"\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport {\n faCopy,\n faQuestionCircle,\n faAngleDown,\n faAngleUp,\n faEye,\n faEyeSlash,\n faPlusCircle,\n} from \"@fortawesome/free-solid-svg-icons\"\nimport WikipediaData from \"./wikipedia.json\"\nimport UnpaidModal from \"../../UnpaidModal\"\nimport ApiSettings from \"../../../api/ApiSettings\"\nimport { Message } from \"../../ExtraComponents/Message\"\nimport { useStateValue } from \"../../../contexts/StateProvider\"\nimport \"./indexItem.css\"\n\nconst WikipediaIndex = () => {\n const [collapse, setCollapse] = useState(null),\n columnNames = Object.keys(WikipediaData[0]),\n [loading, setLoading] = useState({\n getAll: false,\n addMore: false,\n deleteKey: false,\n }),\n { state, getUserInfo } = useStateValue(),\n { user } = state,\n [visible, setVisible] = useState(null),\n [apis, setApis] = useState(null),\n [error, setError] = useState(\"\"),\n [modal, setModal] = useState(false),\n [keyToDelete, setKeyToDelete] = useState(\"\")\n\n useEffect(() => {\n if (user) {\n setApis(user.organization.apis)\n }\n }, [user])\n\n const handleAddMore = async () => {\n try {\n if (apis.wiki_api_keys.length === 10) return setError(\"Maximum 10 API keys are allowed\")\n setLoading((prevLoading) => ({ ...prevLoading, addMore: true }))\n await ApiSettings.addKey({ org_id: user.organization.item_id, index: \"wikipedia\" })\n } catch (error) {\n setError(error.message)\n } finally {\n await getUserInfo()\n setLoading((prevLoading) => ({ ...prevLoading, addMore: false }))\n }\n }\n\n const handleDeleteKey = async () => {\n setModal(!modal)\n try {\n if (apis.wiki_api_keys.length === 1)\n return setError(\"Operation not allowed, please add another key before deleting this one\")\n error && apis.wiki_api_keys.length > 1 && setError(\"\")\n setLoading((prevLoading) => ({ ...prevLoading, deleteKey: true }))\n await ApiSettings.removeKey({\n api_key_id: keyToDelete,\n index: \"wikipedia\",\n org_id: user.organization.item_id,\n })\n } catch (error) {\n setError(error.message)\n } finally {\n await getUserInfo()\n setLoading((prevLoading) => ({ ...prevLoading, deleteKey: false }))\n }\n }\n\n const onToggle = () => setError(\"\")\n\n const toggleModal = () => setModal(!modal)\n\n const onChangeVisible = (id) => {\n if (id === visible) {\n setVisible(null)\n } else {\n setVisible(id)\n }\n }\n\n const onDeleteKey = (apiId) => {\n toggleModal()\n setKeyToDelete(apiId)\n }\n\n const onChangeCollapse = (index) => {\n if (index === collapse) {\n setCollapse(null)\n } else {\n setCollapse(index)\n }\n }\n\n return (\n \n \n \n Index\n \n \n Wikipedia\n \n \n
Wikipedia
\n \n \n \n
Index Overview
\n
\n \n \n \n \n \n \n
\n
\n
\n {!apis ? (\n \n
\n \n
\n
\n ) : apis.wiki_endpoint ? (\n <>\n \n Endpoint\n \n \n \n \n \n copy to clipboard\n \n \n Version\n \n v\n \n \n \n \n ) : (\n \n
\n No API available. Please contact\n \n help@traindex.io\n \n to get one.\n
\n
\n )}\n
\n \n \n \n
\n Index Secret Keys\n \n
\n
\n \n Your API keys are like your passwords: make sure to always keep them hidden! Share them only with services\n you trust.\n \n
\n {!apis ? (\n \n
\n \n
\n
\n ) : apis.wiki_api_keys ? (\n <>\n \n \n \n \n \n \n \n \n \n \n \n {apis.wiki_api_keys.map((apiKey) => (\n \n \n\n \n\n \n\n \n \n ))}\n \n
API KeyCreation Date
\n {visible === apiKey.api_key\n ? apiKey.api_key\n : \"***************************************************\"}\n \n \n \n \n \n {apiKey.creation_date}\n {loading.deleteKey && keyToDelete === apiKey.id && (\n \n )}\n

onDeleteKey(apiKey.id)}>\n Delete\n

\n
\n handleAddMore()}\n className=\"add_more_container align-self-start\"\n >\n \n Add more secret keys \n \n \n {loading.addMore && }\n
\n \n Delete API Key?\n \n

Are you sure you want to delete this API key?

\n
\n \n {\" \"}\n \n \n
\n \n ) : (\n \n )}\n
\n \n \n \n
Index Data
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Dataset NameSizeNo of rows
Wikipedia Data18.9 GB51 849 881
\n \n Preview\n {columnNames.map((name, index) => (\n \n onChangeCollapse(index)}\n >\n
{index + 1}
\n
{name}
\n
\n {name === \"article\" ? \"Index\" : \"Metadata\"}\n onChangeCollapse(index)}\n />\n
\n \n \n \n \n {WikipediaData.map((item, index) => (\n \n \n \n \n ))}\n \n
{index + 1}{item[name]}
\n
\n
\n ))}\n
\n
\n
\n {user && user.subscription._isExpired && }\n
\n )\n}\n\nexport default WikipediaIndex\n","import React, { useState, useEffect } from \"react\"\nimport {\n Breadcrumb,\n BreadcrumbItem,\n Container,\n Card,\n CardHeader,\n CardBody,\n CardText,\n Row,\n Input,\n InputGroup,\n Button,\n Modal,\n ModalHeader,\n ModalBody,\n ModalFooter,\n Spinner,\n Table,\n UncontrolledTooltip,\n CardSubtitle,\n InputGroupText,\n Collapse,\n} from \"reactstrap\"\nimport ApiSettings from \"../../../api/ApiSettings\"\nimport { useStateValue } from \"../../../contexts/StateProvider\"\nimport { Message } from \"../../ExtraComponents/Message\"\nimport Clipboard from \"react-clipboard.js\"\nimport { Link } from \"react-router-dom\"\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport {\n faPlusCircle,\n faCopy,\n faQuestionCircle,\n faEye,\n faEyeSlash,\n faAngleDown,\n faAngleUp,\n} from \"@fortawesome/free-solid-svg-icons\"\nimport arxivData from \"./arxiv.json\"\nimport UnpaidModal from \"../../UnpaidModal\"\nimport \"./indexItem.css\"\n\nconst ArXivIndex = () => {\n const { state, getUserInfo } = useStateValue(),\n [loading, setLoading] = useState({\n getAll: false,\n addMore: false,\n deleteKey: false,\n }),\n { user } = state,\n columnNames = Object.keys(arxivData[0]),\n [visible, setVisible] = useState(null),\n [apis, setApis] = useState(null),\n [error, setError] = useState(\"\"),\n [modal, setModal] = useState(false),\n [keyToDelete, setKeyToDelete] = useState(\"\"),\n [collapse, setCollapse] = useState(null)\n\n useEffect(() => {\n if (user) {\n setApis(user.organization.apis)\n }\n }, [user])\n\n const handleAddMore = async () => {\n try {\n if (apis.arxiv_api_keys?.length === 10) return setError(\"Maximum 10 API keys are allowed\")\n setLoading((prevLoading) => ({ ...prevLoading, addMore: true }))\n await ApiSettings.addKey({ org_id: user.organization.item_id, index: \"arxiv\" })\n } catch (error) {\n setError(error.message)\n } finally {\n await getUserInfo()\n setLoading((prevLoading) => ({ ...prevLoading, addMore: false }))\n }\n }\n\n const handleDeleteKey = async () => {\n setModal(!modal)\n try {\n if (apis.arxiv_api_keys?.length === 1)\n return setError(\"Operation not allowed, please add another key before deleting this one\")\n error && apis.arxiv_api_keys?.length > 1 && setError(\"\")\n setLoading((prevLoading) => ({ ...prevLoading, deleteKey: true }))\n await ApiSettings.removeKey({\n api_key_id: keyToDelete,\n index: \"arxiv\",\n org_id: user.organization.item_id,\n })\n } catch (error) {\n setError(error.message)\n } finally {\n await getUserInfo()\n setLoading((prevLoading) => ({ ...prevLoading, deleteKey: false }))\n }\n }\n\n const onToggle = () => setError(\"\")\n\n const toggleModal = () => setModal(!modal)\n\n const onChangeVisible = (id) => {\n if (id === visible) {\n setVisible(null)\n } else {\n setVisible(id)\n }\n }\n\n const onChangeCollapse = (index) => {\n if (index === collapse) {\n setCollapse(null)\n } else {\n setCollapse(index)\n }\n }\n\n const onDeleteKey = (apiId) => {\n toggleModal()\n setKeyToDelete(apiId)\n }\n\n return (\n \n \n \n Index\n \n \n ArXiv\n \n \n
\n
ArXiv
\n \n \n \n
Index Overview
\n
\n \n \n \n \n \n \n
\n
\n
\n {!apis ? (\n \n
\n \n
\n
\n ) : apis.arxiv_api_keys ? (\n \n Endpoint\n \n \n \n \n \n copy to clipboard\n \n \n Version\n \n v\n \n \n \n ) : (\n \n
\n No API available. Please contact\n \n help@traindex.io\n \n to get one.\n
\n
\n )}\n
\n \n \n \n
\n Index Secret Keys\n \n
\n
\n \n Your API keys are like your passwords: make sure to always keep them hidden! Share them only with services\n you trust.\n \n
\n {!apis ? (\n \n
\n \n
\n
\n ) : apis ? (\n <>\n \n \n \n \n \n \n \n \n \n \n \n {apis.arxiv_api_keys?.map((apiKey) => (\n \n \n\n \n\n \n\n \n \n ))}\n \n
API KeyCreation Date
\n {visible === apiKey.api_key\n ? apiKey.api_key\n : \"***************************************************\"}\n \n \n \n \n \n {apiKey.creation_date}\n {loading.deleteKey && keyToDelete === apiKey.id && (\n \n )}\n

onDeleteKey(apiKey.id)}>\n Delete\n

\n
\n {apis.arxiv_api_keys && (\n handleAddMore()}\n className=\"add_more_container align-self-start\"\n >\n \n Add more secret keys \n \n \n )}\n {loading.addMore && }\n
\n \n Delete API Key?\n \n

Are you sure you want to delete this API key?

\n
\n \n {\" \"}\n \n \n
\n \n ) : (\n \n )}\n
\n \n \n \n
Index Data
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Dataset NameSizeNo of rows
Arxiv Dataset1.1 TB1 855 214
\n \n Preview\n {columnNames.map((name, index) => (\n \n onChangeCollapse(index)}\n >\n
{index + 1}
\n
{name}
\n
\n {name === \"text\" ? \"Index\" : \"Metadata\"}\n \n
\n \n \n \n \n {arxivData.map((item, index) => (\n \n \n \n \n ))}\n \n
{index + 1}{item[name]}
\n
\n
\n ))}\n
\n
\n
\n
\n {user && user.subscription._isExpired && }\n
\n )\n}\n\nexport default ArXivIndex\n","/* eslint-disable indent */\nimport React, { useState, useEffect } from \"react\"\nimport {\n Alert,\n Breadcrumb,\n BreadcrumbItem,\n Container,\n Card,\n CardHeader,\n CardBody,\n CardText,\n Row,\n Input,\n InputGroup,\n Button,\n Modal,\n ModalHeader,\n ModalBody,\n ModalFooter,\n Spinner,\n Table,\n UncontrolledTooltip,\n CardSubtitle,\n InputGroupText,\n Collapse,\n} from \"reactstrap\"\nimport ApiSettings from \"../../../api/ApiSettings\"\nimport Indexes from \"../../../api/IndexAPI\"\nimport { useStateValue } from \"../../../contexts/StateProvider\"\nimport { Message } from \"../../ExtraComponents/Message\"\nimport Clipboard from \"react-clipboard.js\"\nimport { Link } from \"react-router-dom\"\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport { formatBytes } from \"../../../utils/common\"\nimport {\n faPlusCircle,\n faCopy,\n faQuestionCircle,\n faEye,\n faEyeSlash,\n faAngleDown,\n faAngleUp,\n} from \"@fortawesome/free-solid-svg-icons\"\nimport UnpaidModal from \"../../UnpaidModal\"\nimport \"./indexItem.css\"\n\nconst IndexItem = ({ match }) => {\n const { state } = useStateValue(),\n [loading, setLoading] = useState({\n getAll: false,\n addMore: false,\n deleteKey: false,\n }),\n { user } = state,\n [visible, setVisible] = useState(null),\n [error, setError] = useState(\"\"),\n [modal, setModal] = useState(false),\n [keyToDelete, setKeyToDelete] = useState(\"\"),\n [collapse, setCollapse] = useState(null),\n [indexItem, setIndexItem] = useState(null)\n\n const {\n params: { index_id },\n } = match\n\n useEffect(() => {\n async function getIndex() {\n setLoading(true)\n const resp = await Indexes.get(index_id)\n setIndexItem(resp)\n setLoading(false)\n }\n if (user) {\n getIndex()\n }\n }, [user])\n\n const handleAddMore = async () => {\n try {\n if (indexItem.api_keys?.length === 10) return setError(\"Maximum 10 API keys are allowed\")\n setLoading((prevLoading) => ({ ...prevLoading, addMore: true }))\n await ApiSettings.addKey({ org_id: user.organization.item_id, index: \"google_patents\" })\n } catch (error) {\n setError(\"There is something wrong\")\n } finally {\n await ApiSettings.all(user.organization.item_id)\n setLoading((prevLoading) => ({ ...prevLoading, addMore: false }))\n }\n }\n\n const handleDeleteKey = async () => {\n setModal(!modal)\n try {\n if (indexItem.api_keys?.length === 1)\n return setError(\"Operation not allowed, please add another key before deleting this one\")\n error && indexItem.api_keys?.length > 1 && setError(\"\")\n setLoading((prevLoading) => ({ ...prevLoading, deleteKey: true }))\n await ApiSettings.removeKey({\n api_id: keyToDelete,\n index: indexItem?.name,\n org_id: user.organization.item_id,\n })\n } catch (error) {\n setError(error.message)\n } finally {\n await ApiSettings.all(user.organization.item_id)\n setLoading((prevLoading) => ({ ...prevLoading, deleteKey: false }))\n }\n }\n\n const onToggle = () => setError(\"\")\n\n const toggleModal = () => setModal(!modal)\n\n const onChangeVisible = (id) => {\n if (id === visible) {\n setVisible(null)\n } else {\n setVisible(id)\n }\n }\n\n const onChangeCollapse = (index) => {\n if (index === collapse) {\n setCollapse(null)\n } else {\n setCollapse(index)\n }\n }\n\n const onDeleteKey = (apiId) => {\n toggleModal()\n setKeyToDelete(apiId)\n }\n\n const columnsData = (indexItem?.columns_data && JSON.parse(indexItem.columns_data)) || []\n\n return (\n \n \n \n Index\n \n \n {indexItem?.name}\n \n \n
{indexItem?.name}
\n \n \n \n
Index Overview
\n \n
\n
\n {!indexItem ? (\n \n
\n \n
\n
\n ) : indexItem.status === \"Active\" ? (\n \n Endpoint\n \n \n \n \n \n copy to clipboard\n \n \n Version\n \n v\n \n \n \n ) : (\n \n Your index is being processed. We will email you once it is ready.\n \n )}\n
\n \n \n \n
\n Index Secret Keys\n \n
\n
\n \n Your API keys are like your passwords: make sure to always keep them hidden! Share them only with services\n you trust.\n \n
\n {!indexItem ? (\n \n
\n \n
\n
\n ) : indexItem.api_endpoint ? (\n <>\n \n \n \n \n \n \n \n \n \n \n \n {indexItem.api_keys?.map((apiKey) => (\n \n \n\n \n\n \n\n \n \n ))}\n \n
API KeyCreation Date
\n {visible === apiKey.api_key\n ? apiKey.api_key\n : \"***************************************************\"}\n \n \n \n \n \n {apiKey.creation_date}\n {loading.deleteKey && keyToDelete === apiKey.id && (\n \n )}\n

onDeleteKey(apiKey.id)}>\n Delete\n

\n
\n handleAddMore()}\n className=\"add_more_container align-self-start\"\n >\n \n Add more secret keys \n \n \n {loading.addMore && }\n
\n \n Delete API Key?\n \n

Are you sure you want to delete this API key?

\n
\n \n {\" \"}\n \n \n
\n \n ) : (\n \n )}\n
\n \n \n \n
Index Data
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Dataset NameSize
{indexItem?.name}{indexItem?.dataset_size && formatBytes(indexItem?.dataset_size)}
\n \n Preview\n {columnsData.length && indexItem?.columns_role\n ? columnsData.map((columnData, index) => {\n return (\n \n onChangeCollapse(index)}\n >\n
{index}
\n
{columnData[0]}
\n
\n {indexItem?.columns_role[columnData[0]]}\n onChangeCollapse(index)}\n />\n
\n \n \n \n \n {columnData.slice(1, 6).map((item, index) => (\n \n \n \n \n ))}\n \n
{index + 1}{item}
\n
\n
\n )\n })\n : \"\"}\n
\n
\n
\n {user && user.subscription._isExpired && }\n
\n )\n}\n\nexport default IndexItem\n","import React, { useState } from \"react\"\nimport { Container } from \"reactstrap\"\nimport SwaggerUI from \"swagger-ui-react\"\nimport \"swagger-ui-react/swagger-ui.css\"\nimport \"./swagger-custom.css\"\n\nconst USPatentsSwaggerAPI = () => {\n const [alert, setAlert] = useState(false)\n\n const onChangeHandler = event => {\n var target = event.target || event.srcElement || event.originalTarget\n\n if (target.innerText == \"Try it out\") {\n if (document.getElementsByClassName(\"unlocked\").length == 2) {\n setAlert(true)\n window.scrollTo(0, 0)\n var buttons = document.querySelectorAll(\"button\")\n for (var i = 0, l = buttons.length; i < l; i++) {\n if (buttons[i].innerText == \"Try it out\") {\n buttons[i].click()\n }\n }\n }\n }\n }\n\n return (\n \n {alert && (\n
\n Please authorize your request first by adding the API key\n
\n )}\n \n
\n )\n}\n\nexport default USPatentsSwaggerAPI\n","import React, { useState } from \"react\"\nimport { Container } from \"reactstrap\"\nimport SwaggerUI from \"swagger-ui-react\"\nimport \"swagger-ui-react/swagger-ui.css\"\nimport \"./swagger-custom.css\"\n\nconst WikiSwaggerAPI = () => {\n const [alert, setAlert] = useState(false)\n\n const onChangeHandler = event => {\n var target = event.target || event.srcElement || event.originalTarget\n\n if (target.innerText == \"Try it out\") {\n if (document.getElementsByClassName(\"unlocked\").length == 2) {\n setAlert(true)\n window.scrollTo(0, 0)\n var buttons = document.querySelectorAll(\"button\")\n for (var i = 0, l = buttons.length; i < l; i++) {\n if (buttons[i].innerText == \"Try it out\") {\n buttons[i].click()\n }\n }\n }\n }\n }\n\n return (\n \n {alert && (\n
\n Please authorize your request first by adding the API key\n
\n )}\n \n
\n )\n}\n\nexport default WikiSwaggerAPI\n","import React, { useState } from \"react\"\nimport { Container } from \"reactstrap\"\nimport SwaggerUI from \"swagger-ui-react\"\nimport \"swagger-ui-react/swagger-ui.css\"\nimport \"./swagger-custom.css\"\n\nconst ArxivSwaggerAPI = () => {\n const [alert, setAlert] = useState(false)\n\n const onChangeHandler = event => {\n var target = event.target || event.srcElement || event.originalTarget\n\n if (target.innerText == \"Try it out\") {\n if (document.getElementsByClassName(\"unlocked\").length == 2) {\n setAlert(true)\n window.scrollTo(0, 0)\n var buttons = document.querySelectorAll(\"button\")\n for (var i = 0, l = buttons.length; i < l; i++) {\n if (buttons[i].innerText == \"Try it out\") {\n buttons[i].click()\n }\n }\n }\n }\n }\n\n return (\n \n {alert && (\n
\n Please authorize your request first by adding the API key\n
\n )}\n \n
\n )\n}\n\nexport default ArxivSwaggerAPI\n","import React, { useState, useEffect } from \"react\"\nimport {\n Form,\n FormGroup,\n Input,\n InputGroup,\n Button,\n Alert,\n InputGroupButtonDropdown,\n DropdownToggle,\n DropdownMenu,\n DropdownItem,\n} from \"reactstrap\"\n\nimport \"./emailReminders.scss\"\n\nexport default function FormComponent({\n param_name,\n param_duration,\n param_unit,\n param_file,\n param_subject,\n index,\n onSubmitHandler,\n}) {\n const [unit, setUnit] = useState(param_unit),\n [duration, setDuration] = useState(param_duration),\n [timeDifference, setTimeDifference] = useState(\"\"),\n [loading, setLoading] = useState(false),\n [successMessage, setSuccessMessage] = useState(\"\"),\n [errorMessage, setErrorMessage] = useState(\"\"),\n [dropdownOpen, setDropDownOpen] = useState(false)\n\n useEffect(() => {\n if (unit !== undefined) {\n let d = new Date()\n if (unit === \"minutes\") d.setMinutes(d.getMinutes() - parseInt(duration))\n if (unit === \"hours\") d.setHours(d.getHours() - parseInt(duration))\n if (unit === \"days\") d.setDate(d.getDate() - parseInt(duration))\n if (unit === \"weeks\") d.setDate(d.getDate() - parseInt(duration) * 7)\n setTimeDifference(d.toString())\n }\n }, [unit, duration])\n\n const onChangeHandler = (e) => {\n const { target } = e\n setSuccessMessage(\"\")\n setErrorMessage(\"\")\n if (target.name === \"duration\") setDuration(target.value)\n if (target.name === \"unit\") setUnit(target.value)\n }\n\n const onSubmit = async (e) => {\n e.preventDefault()\n setLoading(true)\n setSuccessMessage(\"\")\n setErrorMessage(\"\")\n\n const { error } = await onSubmitHandler(index, param_name, unit, duration, param_file, param_subject)\n if (!error) {\n setSuccessMessage(\"Parameter updated successfully!\")\n }\n if (error) setErrorMessage(\"Unable to process request!\")\n setLoading(false)\n }\n\n return (\n \n {successMessage.length > 0 && {successMessage}}\n {errorMessage.length > 0 && {errorMessage}}\n \n Name\n \n \n \n File\n \n \n \n Subject\n \n \n
\n \n Repeat every\n \n {\n setDropDownOpen(!dropdownOpen)\n }}\n addonType=\"append\"\n >\n {unit}\n \n Units\n \n Minutes\n \n \n Hours\n \n \n Days\n \n \n Weeks\n \n \n \n \n
\n

\n This email will be sent to the users if they don't make any search after{\" \"}\n {timeDifference} day(s) whenever the next cronjob runs.\n

\n \n \n )\n}\n","import client from \"./APIClient\"\n\nexport default class EmailReminders {\n static update_parameters = (body) => {\n return client(\"email_reminders\", { method: \"PUT\", body })\n }\n}\n","import EmailReminders from \"../api/RemindersAPI\"\n\nconst update_parameters = async (body) => {\n let response = {}\n let error = false\n try {\n response = await EmailReminders.update_parameters(body)\n } catch (err) {\n error = true\n }\n return { response, error }\n}\n\nexport { update_parameters }\n","import React from \"react\"\nimport \"./sidebar.css\"\nimport { MailOutline, Search, Payment } from \"@material-ui/icons\"\nimport { Link } from \"react-router-dom\"\n\nexport default function SideBar({ path }) {\n\n return (\n
\n
\n
\n

Admin Portal

\n
    \n \n
  • \n \n Email Reminders\n
  • \n \n \n
  • \n \n Pause Payment\n
  • \n \n \n
  • \n \n Search History\n
  • \n \n
\n
\n
\n
\n )\n}\n","import React, { useState, useEffect } from \"react\"\nimport { useStateValue } from \"../../contexts/StateProvider\"\nimport { Container } from \"reactstrap\"\nimport FormComponent from \"./FormComponent\"\nimport { update_parameters } from \"../../utils/admin.utils\"\nimport { useHistory, useLocation } from \"react-router-dom\"\nimport SideBar from \"../SideBar\"\n\nexport default function EmailReminders() {\n const {\n state: { user },\n } = useStateValue()\n const [forethetaAdmin, setForethetaAdmin] = useState(false),\n history = useHistory()\n\n useEffect(() => {\n if (user) {\n if (user.foretheta_admin) {\n setForethetaAdmin(user.foretheta_admin)\n } else {\n history.push(\"/index\")\n }\n }\n }, [user])\n\n const onSubmitHandler = async (index, name, unit, duration, file, subject) => {\n forethetaAdmin[index] = {\n name,\n unit,\n duration,\n file,\n subject,\n }\n setForethetaAdmin(forethetaAdmin)\n const { response, error } = await update_parameters(forethetaAdmin)\n return { response, error }\n }\n\n function findPath() {\n const location = useLocation()\n \n return location.pathname\n }\n\n let path = findPath()\n\n const Reminders = forethetaAdmin && \n forethetaAdmin.map((index, key) => (\n \n ))\n\n return (\n \n \n
\n

Email Reminders

\n {Reminders}\n
\n
\n )\n}\n","import React, { useState, useEffect } from \"react\"\nimport { useStateValue } from \"../../contexts/StateProvider\"\nimport OrganizationsAPI from \"../../api/OrganizationsAPI\"\nimport { Container, Alert } from \"reactstrap\"\nimport { useHistory, useLocation } from \"react-router-dom\"\nimport { DataGrid } from \"@mui/x-data-grid\"\nimport Switch from \"@mui/material/Switch\"\nimport SideBar from \"../SideBar\"\nimport \"./pausePayment.scss\"\n\nexport default function PausePayment() {\n const { state, dispatch } = useStateValue(),\n { user, orgs } = state,\n [disabledItem, setDisabledItem] = useState(),\n [loading, setLoading] = useState(false),\n [pageSize, setPageSize] = useState(5),\n [success, setSuccess] = useState(\"\"),\n [error, setError] = useState(\"\"),\n history = useHistory()\n\n useEffect(() => {\n // eslint-disable-next-line no-extra-semi\n ;(async () => {\n if (user) {\n if (user.foretheta_admin) {\n try {\n setLoading(true)\n const data = await OrganizationsAPI.list(user.item_id)\n dispatch({\n type: \"SET_ORGS\",\n orgs: data,\n })\n setLoading(false)\n } catch (error) {\n dispatch({\n type: \"SET_ORGS_ERROR\",\n error: error.message,\n })\n setLoading(false)\n }\n } else {\n history.push(\"/index\")\n }\n }\n })()\n }, [user])\n\n function findPath() {\n const location = useLocation()\n \n return location.pathname\n }\n\n let path = findPath()\n\n const handleSwitch = async (id, subscription_id, paused_payment) => {\n setDisabledItem(id)\n try {\n const params = {\n auth_user_id: user.item_id,\n org_id: id,\n subscription_id: subscription_id,\n paused_payment: !paused_payment\n }\n setLoading(true)\n const res = await OrganizationsAPI.update(params)\n if (res[\"id\"] === subscription_id) {\n if (user.foretheta_admin) {\n try {\n setLoading(true)\n const data = await OrganizationsAPI.list(user.item_id)\n dispatch({\n type: \"SET_ORGS\",\n orgs: data,\n })\n setLoading(false)\n } catch (error) {\n dispatch({\n type: \"SET_ORGS_ERROR\",\n error: error.message,\n })\n setLoading(false)\n }\n } else {\n history.push(\"/index\")\n }\n }\n setSuccess(\"Organization updated successfully!\")\n setLoading(false)\n setDisabledItem()\n setTimeout(() => {\n setSuccess(\"\")\n }, 3000)\n } catch (error) {\n if (error.message == \"Unauthorized request!\") {\n setError(\"You are not allowed to modify the organization!\")\n setTimeout(() => {\n setError(\"\")\n }, 3000)\n } else {\n setError(error.message)\n setTimeout(() => {\n setError(\"\")\n }, 3000)\n }\n setLoading(false)\n setDisabledItem()\n }\n }\n\n const label = { inputProps: { \"aria-label\": \"Switch demo\" } }\n\n const columns = [\n { field: \"id\", headerName: \"ID\", width: 300 },\n { field: \"name\", headerName: \"Name\", width: 300 },\n { field: \"subscription_id\", headerName: \"Subscription ID\", width: 250 },\n { \n field: \"paused_payment\", \n headerName: \"Paused Payment\", \n width: 150,\n renderCell: (params) => {\n return (\n handleSwitch(\n params.row.id, \n params.row.subscription_id,\n params.row.paused_payment\n )}\n />\n )\n },\n },\n ]\n\n return (\n \n \n
\n

Pause Payment Collection (via Stripe)

\n {success ? {success} : (error ? \n {error} :
)}\n
\n setPageSize(newPageSize)}\n rows={orgs || []}\n columns={columns}\n rowsPerPageOptions={[5, 10, 20]}\n pagination\n loading={loading}\n />\n
\n
\n
\n )\n}\n","import React from \"react\"\nimport { BrowserRouter as Router, Route, Switch } from \"react-router-dom\"\nimport { Elements } from \"@stripe/react-stripe-js\"\nimport { loadStripe } from \"@stripe/stripe-js\"\nimport \"./App.scss\"\nimport LandingPage from \"./components/LandingPage\"\nimport Dataset from \"./components/Dataset\"\nimport Terms from \"./components/Terms\"\nimport Privacy from \"./components/Privacy\"\nimport SignIn from \"./components/SignIn\"\nimport SignUp from \"./components/SignUp\"\nimport { PublicRoute } from \"./utils/PublicRoute\"\nimport { PrivateRoute } from \"./utils/PrivateRoute\"\nimport { PublicPrivateRoute } from \"./utils/PublicPrivateRoute\"\nimport Profile from \"./components/Profile\"\nimport Settings from \"./components/Settings\"\nimport IndexPage from \"./components/IndexPage\"\nimport AddIndex from \"./components/IndexPage/AddIndex\"\nimport GA from \"./utils//GoogleAnalytics\"\nimport ResetPassword from \"./components/ResetPassword\"\nimport DemoAPI from \"./components/DemoAPI\"\nimport Chatbot from \"./components/Chatbot\"\nimport PriorArt from \"./components/PriorArt\"\nimport DownloadPriorArt from \"./components/PriorArt/download\"\nimport GenerateInvalidation from \"./components/LandingPage/invalidation\"\nimport Subscription from \"./components/Subscription\"\nimport { StateProvider } from \"./contexts/StateProvider\"\nimport ApiDocumentation from \"./components/ApiDocs\"\nimport USPatentsIndex from \"./components/IndexPage/IndexItem/USPatentsIndex\"\nimport WikipediaIndex from \"./components/IndexPage/IndexItem/WikipediaIndex\"\nimport ArXivIndex from \"./components/IndexPage/IndexItem/ArXivIndex\"\nimport IndexItem from \"./components/IndexPage/IndexItem/IndexItem\"\nimport USPatentsSwaggerAPI from \"./components/Swagger/USPatentsAPI\"\nimport WikiSwaggerAPI from \"./components/Swagger/WikiAPI\"\nimport ArxivSwaggerAPI from \"./components/Swagger/ArxivAPI\"\nimport EmailReminders from \"./components/EmailReminders\"\nimport PausePayment from \"./components/PausePayment\"\n\nconst App = () => {\n return (\n \n {GA.init() && }\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
404 not found!
} />\n
\n
\n )\n}\n\nexport default App\n","import React from \"react\"\nimport ReactDOM from \"react-dom\"\nimport \"./index.css\"\nimport Amplify from \"aws-amplify\"\nimport config from \"./aws-exports\"\nimport ClipboardJS from \"clipboard\"\nimport App from \"./App\"\nimport { QueryClientProvider } from \"react-query\"\nimport { queryClient } from \"./utils/common\"\n\n\nAmplify.configure(config)\nnew ClipboardJS(\".copy_btn\")\n\nReactDOM.render(\n \n \n \n , document.getElementById(\"root\"))\n"],"sourceRoot":""}