{"version":3,"sources":["ServiceStrings.js","store/reducers/limitsReducer.js","store/reducers/queryReducer.js","store/reducers/resultsReducer.js","store/reducers/softwareQueryReducer.js","store/reducers/translationsReducer.js","components/LanguageSelector/LanguageSelector.js","translate.js","components/SearchFieldBubbles/SearchFieldBubbles.js","components/NavMenus/CatalogNavMenu/CatalogNavMenu.js","components/NavMenus/StandardNavMenu/StandardNavMenu.js","components/Footer/Footer.js","components/Layout.js","components/Catalog/Result/Result.js","components/common/FilterAccordion/CheckboxFilterAccordion/CheckboxFilterAccordion.js","components/common/FilterAccordion/SliderFilterAccordion/SliderFilterAccordion.js","components/common/FilterAccordion/FilterAccordionWrapper/FilterAccordionWrapper.js","components/Catalog/Sidebar/Sidebar.js","getHardwareLimits.js","components/common/Overlay/Overlay.js","components/Catalog/AddToComparator/AddToComparator.js","components/Catalog/HardwareCatalog.js","components/Catalog/SoftwareCatalog.js","submitSoftwareQuery.js","getSoftwareLimits.js","components/ContactUsForm/ContactUsForm.js","components/Home/Home.js","App.js","registerServiceWorker.js","submitHardwareQuery.js","store/sagas/querySaga.js","index.js","components/Catalog/AddToComparator/AddToComparator.module.scss","components/Home/Home.module.scss","components/SearchFieldBubbles/SearchFieldBubbles.module.scss","components/Catalog/Result/Result.module.scss","components/ContactUsForm/ContactUsForm.module.scss","images/quadro-rtx8000-1.jpg","components/NavMenus/CatalogNavMenu/CatalogNavMenu.module.scss","components/Catalog/SoftwareCatalog.module.scss","components/common/FilterAccordion/CheckboxFilterAccordion/CheckboxFilterAccordion.module.scss","components/common/FilterAccordion/SliderFilterAccordion/SliderFilterAccordion.module.scss","components/common/FilterAccordion/FilterAccordionWrapper/FilterAccordionWrapper.module.scss","components/common/Overlay/Overlay.module.scss","components/Footer/Footer.module.scss","components/Catalog/HardwareCatalog.module.scss"],"names":["ServiceStrings","queryUpdate","limitsUpdate","resultsUpdate","translationsUpdate","software","activitySectorsUpdate","softwareUsedUpdate","initialState","isTensorCores","isVRReady","isVirtualLink","isNVLink","isECC","isMosaicTechnology","isPowerConnectorNeeded","isPassiveCooling","DistributorKey","activitySectors","softwareUsed","connect","_ref","translations","dispatch","updateTranslations","translationsData","type","payload","props","_localStorage$getItem","language","setLanguage","useState","localStorage","getItem","classes","useEffect","axios","get","concat","then","res","data","catch","console","log","React","createElement","className","value","onChange","event","setItem","target","translate","key","_translations$key","store","getState","SearchFieldBubble","Component","render","activeQueriesAsArray","queries","updateQuery","limits","this","memoryMin","memoryMax","cudaCoresMin","cudaCoresMax","memoryBandwidthMin","memoryBandwidthMax","memoryInterfaceMin","memoryInterfaceMax","maximumActiveDisplaysMin","maximumActiveDisplaysMax","maxPowerConsumptionMin","maxPowerConsumptionMax","remaining","arr","i","length","translation","minKey","maxKey","push","query","searchBubblesContainer","map","index","arch","searchBubble","style","left","onClick","e","gpuArchitectures","filter","n","FontAwesomeIcon","icon","faTimesCircle","translated","liIsForMinMax","Array","isArray","bubbleValue","join","_limits$key","_limits$key2","find","q","textQueryContainer","textSearchInput","placeholder","textQueryValue","updateTextQuery","onKeyDown","ev","_limits$queryName","queryName","name","trim","sendNewQuery","_ref2","changedQuery","CatNavMenu","constructor","arguments","state","collapsed","textQuery","toggleNavbar","setState","prevState","Navbar","light","Link","to","alt","src","height","NavbarBrand","tag","fontSize","marginBottom","searchFieldBubblesWrapper","SearchFieldBubbles","text","searchIconBtn","faSearch","searchIcon","LanguageSelector","_class","displayName","CatalogNavMenu","StandardNavMenuComponent","dark","href","rel","faAngleDoubleRight","faPaperPlane","StandardNavMenu","socialMediaIcons","path","faXTwitter","faFacebook","faYoutube","faLinkedin","faInstagram","Container","footerContainer","Row","Col","xs","sm","iconData","Layout","useLocation","pathname","navMenu","children","Footer","Result","changeCompare","comparatorChecked","id","cudaCores","memory","numberOfSlots","maxPowerConsumption","displayConnectors","maximumActiveDisplays","memoryBandwidth","memoryInterface","gpuArchitecture","rowData","title","image","GraphicsCardImage","imagePaths","cardVisualsContainer","dangerouslySetInnerHTML","__html","leaveContainer","productPage","learnMore","FormGroup","check","inline","Label","checked","Input","checkmarkInput","dataPoints","slice","val","padding","CheckboxFilterAccordion","show","optionsDivHeight","updateFilterValue","currentlySelected","optHandler","preventDefault","filterTitle","faChevronCircleUp","faChevronCircleDown","SizeMe","monitorHeight","size","maxHeight","collapseContainer","options","label","callbackValue","filterStateName","SliderFilterAccordion","super","currMin","min","currMax","max","_this$state$currMin","_this$state$currMax","rangeName","onAfterChange","curValues","minToShow","maxToShow","Range","undefined","values","allowCross","FilterAccordionWrapper","Sidebar","memoryTypes","clearAllFilters","componentDidMount","method","url","headers","updateLimits","err","displayConnectorsMax","displayConnectorsMin","numberOfSlotsMin","numberOfSlotsMax","Form","Card","CardBody","sort","_this$props$queries$g","includes","indexOf","changedQueries","Overlay","zIndex","overlay","overlayButton","AddToComparator","resultsToCompare","clearCompareList","attributesToExclude","attributes","attr","bottom","Fragment","comparatorContainer","tabContainer","tab","leftHill","comparatorText","rightHill","comfortBar","width","result","a","verticalAlign","marginLeft","HardwareCatalog","showSidebar","userHasToggled","compareIds","queryResults","sideColumnPosition","sidebarColumn","md","position","faBars","appropriateQuery","identifier","results","updateSoftwareActivitySectors","newActivitySectors","updateSoftwareUsed","newSoftwareUsed","selectedActivitySectors","setSelectedActivitySectors","selectedSoftwareUses","setSelectedSoftwareUses","findOtherSoftwareText","setFindOtherSoftwareText","step","setStep","loading","setLoading","setResults","setActivitySectors","softwares","setSoftwares","setCompareIds","history","useHistory","getResults","renderStepTwoContent","onSelectedSoftwareChanged","x","content","renderStepOneContent","onSelectedActivitySectorChanged","softwareCatalogContainer","searchByText","faAngleDoubleLeft","backIcon","disabled","USStates","CanadianProvinces","ContactUsForm","hardwareQueries","softwareQueries","activitysectors","softwareQuery","showConfirmation","setShowConfirmation","countries","setCountries","selectedCountry","setSelectedCountry","receiveMarketingEmails","setReceiveMarketingEmails","register","handleSubmit","setValue","formState","errors","useForm","status","countriesSorted","b","common","code","firstNameContactForm","lastNameContactForm","companyContactForm","emailContactForm","countryContactForm","stateContactForm","postalCodeContactForm","hardwareQueryData","softwareQueryData","countrySelect","required","message","onSubmit","properFieldData","isOptedIn","fieldName","alert","response","htmlFor","Object","assign","formInput","pattern","paddingTop","paddingBottom","ctry","validate","isNotSelect","provinceName","stateName","HomeComponent","smallHeader","centerText","mb25","Home","App","Switch","Route","component","SoftwareCatalog","Redirect","isLocalhost","Boolean","window","location","hostname","match","registerValidSW","swUrl","navigator","serviceWorker","registration","onupdatefound","installingWorker","installing","onstatechange","controller","error","submitHardwareQuery","fetchResults","action","select","call","put","baseUrl","document","getElementsByTagName","getAttribute","rootElement","getElementById","rootReducer","combineReducers","sagaMiddleWare","createSagaMiddleware","createStore","applyMiddleware","run","takeEvery","ReactDOM","Provider","BrowserRouter","basename","URL","process","origin","addEventListener","fetch","ready","unregister","reload","checkValidServiceWorker","registerServiceWorker","module","exports"],"mappings":"6NAAO,MAAMA,EACJ,CACLC,YAAa,eACbC,aAAc,gBACdC,cAAe,iBACfC,mBAAoB,sBACpBC,SAAU,CACRC,sBAAuB,mCACvBC,mBAAoB,kCCNpBC,EAAe,GCAfA,EAAe,CACnBC,cAAe,KACfC,UAAW,KACXC,cAAe,KACfC,SAAU,KACVC,MAAO,KACPC,mBAAoB,KACpBC,uBAAwB,KACxBC,iBAAkB,KAClBC,eAAgB,MCTZT,EAAe,GCAfA,EAAe,CACnBU,gBAAiB,GACjBC,aAAc,ICFVX,EAAe,G,+DCkDNY,kBAXSC,IAAuB,IAAtB,aAAEC,GAAcD,EACvC,MAAO,CAAEC,iBAGiBC,IACnB,CACLC,mBAAqBC,GACnBF,EAAS,CAAEG,KAAM1B,EAAqBI,mBAAoBuB,QAASF,MAI1DL,CA9CWQ,IAAW,IAADC,EAClC,MAAOC,EAAUC,GAAeC,mBACE,QADMH,EACtCI,aAAaC,QAAQ,mBAAW,IAAAL,IAAI,OAGhC,QAAEM,GAAYP,EASpB,OAPAQ,oBAAU,KACRC,IACGC,IAAI,oCAADC,OAAqCT,IACxCU,KAAMC,GAAQb,EAAMJ,mBAAmBiB,EAAIC,OAC3CC,MAAMC,QAAQC,MAChB,CAACf,IAGFgB,IAAAC,cAAA,UACEC,UACS,OAAPb,QAAO,IAAPA,IACA,kFAEFc,MAAOnB,EACPoB,SAAWC,IACTlB,aAAamB,QAAQ,WAAYD,EAAME,OAAOJ,OAC9ClB,EAAYoB,EAAME,OAAOJ,SAG3BH,IAAAC,cAAA,UAAQE,MAAM,MAAK,WACnBH,IAAAC,cAAA,UAAQE,MAAM,MAAK,cACnBH,IAAAC,cAAA,UAAQE,MAAM,MAAK,gBACnBH,IAAAC,cAAA,UAAQE,MAAM,MAAK,WACnBH,IAAAC,cAAA,UAAQE,MAAM,MAAK,kB,kCClClB,MAAMK,EAAaC,IAAS,IAADC,EAE9B,OAAwB,QAAxBA,EADqBC,GAAMC,WAAWpC,aAClBiC,UAAI,IAAAC,IAAID,GCIhC,MAAMI,UAA0BC,YAC9BC,SACE,MAAMC,EAAuB,IACvB,QAAEC,EAAO,YAAEC,EAAW,OAAEC,GAAWC,KAAKtC,OACxC,UACJuC,EAAS,UACTC,EAAS,aACTC,EAAY,aACZC,EAAY,mBACZC,EAAkB,mBAClBC,EAAkB,mBAClBC,EAAkB,mBAClBC,EAAkB,yBAClBC,EAAwB,yBACxBC,EAAwB,uBACxBC,EAAsB,uBACtBC,KACGC,GACDhB,EAEEiB,EAAM,CACV,CAAC,SAAU,YAAa,aACxB,CAAC,YAAa,eAAgB,gBAC9B,CAAC,kBAAmB,qBAAsB,sBAC1C,CAAC,kBAAmB,qBAAsB,sBAC1C,CAAC,wBAAyB,2BAA4B,4BACtD,CAAC,oBAAqB,uBAAwB,wBAC9C,CAAC,sBAAuB,yBAA0B,0BAClD,CAAC,gBAAiB,mBAAoB,qBAGxC,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAIE,OAAQD,IAAK,CACnC,MAAME,EAAcH,EAAIC,GAAG,GACrBG,EAASJ,EAAIC,GAAG,GAChBI,EAASL,EAAIC,GAAG,GAClBlB,EAAQqB,KAAYnB,EAAOmB,IAAWrB,EAAQsB,KAAYpB,EAAOoB,IACnEvB,EAAqBwB,KAAK,CACxBH,cACA5B,IAAK,CAAE6B,EAAQC,GACfpC,MAAO,CAAEc,EAAQqB,GAASrB,EAAQsB,MAKxC,IAAK,MAAME,KAASR,EAClB,GAAuB,OAAnBhB,EAAQwB,IAAmBxB,EAAQwB,KAAWtB,EAAOsB,GAAQ,CAC/D,GAAc,qBAAVA,IAAiCxB,EAAQwB,GAAOL,OAClD,SAEFpB,EAAqBwB,KAAK,CACxBH,YAAaI,EACbhC,IAAKgC,EACLtC,MAAOc,EAAQwB,KAKrB,OACEzC,IAAAC,cAAA,MACEC,UAAS,uEAAAT,OACPuB,EAAqBoB,OAAS,IAAM,IAAG,KAAA3C,OACrCJ,IAAQqD,yBAEX1B,EAAqB2B,IAAI,CAAApE,EAA8BqE,KAAW,IAAxC,YAAEP,EAAW,IAAE5B,EAAG,MAAEN,GAAO5B,EACpD,GAAoB,qBAAhB8D,EACF,OAAOlC,EAAMwC,IAAKE,GAEd7C,IAAAC,cAAA,MAAIC,UAAS,OAAUO,IAAKoC,GAC1B7C,IAAAC,cAAA,OACEC,UAAS,GAAAT,OAAKJ,IAAQyD,aAAY,uEAClCC,MAAO,CAAEC,KAAM,QAEfhD,IAAAC,cAAA,QAAMC,UAAS,mBAAsB2C,GACrC7C,IAAAC,cAAA,UACEC,UAAS,2CACT+C,QAAUC,IACRhC,EAAY,CACViC,iBAAkBhD,EAAMiD,OAAQC,GAAMA,GAAKR,OAI/C7C,IAAAC,cAACqD,IAAe,CACdC,KAAMC,IACNtD,UAAS,qBAQvB,IAAIuD,EAAajD,EAAU,QACb,IAAVL,EACFsD,EAAajD,EAAU,OACJ,IAAVL,IACTsD,EAAatD,GAEf,MAAMuD,EAAgBC,MAAMC,QAAQzD,GACpC,IAAI0D,EAUJ,OAPIA,EAFAH,EACEvD,EAAM,KAAOA,EAAM,GACPA,EAAM,GAENA,EAAM2D,KAAK,OAGbL,EAGdzD,IAAAC,cAAA,MAAIC,UAAS,OAAUO,IAAK4B,GAC1BrC,IAAAC,cAAA,OACEC,UAAS,GAAAT,OAAKJ,IAAQyD,aAAY,uEAClCC,MAAO,CAAEC,KAAM,QAEfhD,IAAAC,cAAA,QAAMC,UAAS,mBACZM,EAAU6B,GAAa,KAAGwB,GAE7B7D,IAAAC,cAAA,UACEC,UAAS,2CACT+C,QAAUC,IACR,GAAIQ,EACFxC,EAAY,CACV,CAACT,EAAI,IAAKU,EAAOV,EAAI,IACrB,CAACA,EAAI,IAAKU,EAAOV,EAAI,UAElB,CAAC,IAADsD,EAAAC,EACiBD,EAAG5C,EAAOV,GAChCS,EAAY,CAAE,CAACT,GAAiB,QAAduD,EAAG7C,EAAOV,UAAI,IAAAuD,IAAI,UAIxChE,IAAAC,cAACqD,IAAe,CACdC,KAAMC,IACNtD,UAAS,sBAOpBc,EAAqBiD,KAAMC,GAAwB,cAAlBA,EAAE7B,aAA+B,KACjErC,IAAAC,cAAA,MAAIC,UAAS,kBAAAT,OAAoBJ,IAAQ8E,qBACvCnE,IAAAC,cAAA,SACEC,UAAS,wBAAAT,OAA0BJ,IAAQ+E,iBAC3CxF,KAAK,OACLyF,YAAa7D,EAAU,oBACvBL,MAAOiB,KAAKtC,MAAMwF,eAClBlE,SAAWC,IACTe,KAAKtC,MAAMyF,gBAAgBlE,EAAME,OAAOJ,QAE1CqE,UAAYC,IACV,GACa,cAAXA,EAAGhE,KACiB,KAApBgE,EAAGlE,OAAOJ,OACVa,EAAqBoB,OAAS,EAC9B,CAAC,IAADsC,EACA,MAAMC,EACJ3D,EAAqBA,EAAqBoB,OAAS,GAAGwC,KACxD1D,EAAY,CACV,CAACyD,GAA6B,QAApBD,EAAGvD,EAAOwD,UAAU,IAAAD,IAAI,WAGzB,UAAXD,EAAGhE,KACwB,KAA3BgE,EAAGlE,OAAOJ,MAAM0E,QAEhBzD,KAAKtC,MAAMgG,qBAuBdxG,I,EAAAA,cAZSyG,IAA0B,IAAzB,QAAE9D,EAAO,OAAEE,GAAQ4D,EAC1C,MAAO,CAAE9D,UAASE,WAGQ1C,IACnB,CACLyC,YAAc8D,IACZvG,EAAS,CAAEG,KAAM1B,EAAqBC,YAAa0B,QAASmG,OAKnD1G,CAA6CuC,GCvLrD,MAAMoE,UAAmBnE,YAAUoE,cAAA,SAAAC,WAAA,KAGxCC,MAAQ,CACNC,WAAW,EACXC,UAAW,IACX,KAEFC,aAAe,KACbnE,KAAKoE,SAASC,IACL,IACFA,EACHJ,WAAYI,EAAUJ,cAG3B,KAEDP,aAAe,KACT1D,KAAKgE,MAAME,UAAUlD,QACvBhB,KAAKtC,MAAMoC,YAAY,CAAEoE,UAAWlE,KAAKgE,MAAME,YAEjDlE,KAAKoE,SAAS,CAAEF,UAAW,MAG7BvE,SAEE,OACEf,IAAAC,cAAA,cACED,IAAAC,cAACyF,IAAM,CAACxF,UAAU,qFAAqFyF,OAAK,GAC1G3F,IAAAC,cAAC2F,IAAI,CAACC,GAAG,SACP7F,IAAAC,cAAA,OAAK6F,IAAI,aAAaC,IALT,0BAK4BC,OAAO,QAElDhG,IAAAC,cAAA,OAAKC,UAAU,mDACbF,IAAAC,cAACgG,IAAW,CAACC,IAAKN,IAAMC,GAAG,sBAAsB3F,UAAU,gCACzDF,IAAAC,cAAA,QAAM8C,MAAO,CAAEoD,SAAU,OAAQC,aAAc,OAAQD,SAAU,OAASjG,UAAS,kBAAqBM,EAAU,aAClHR,IAAAC,cAAA,MAAI8C,MAAO,CAAEoD,SAAU,WAAajG,UAAS,uBAA0BM,EAAU,sBAEnFR,IAAAC,cAAA,OAAKC,UAAS,kGAAAT,OAAoGJ,IAAQgH,4BACxHrG,IAAAC,cAACqG,EAAkB,CAAChC,eAAgBlD,KAAKgE,MAAME,UAC/Cf,gBAAkBgC,IAChBnF,KAAKoE,SAAS,CAAEF,UAAWiB,KAE7BzB,aAAc1D,KAAK0D,eAEnB9E,IAAAC,cAAA,UAAQC,UAAS,iBAAAT,OAAmBJ,IAAQmH,eAC1CvD,QAASA,KACP7B,KAAK0D,iBAEP9E,IAAAC,cAACqD,IAAe,CAACC,KAAMkD,IAAUvG,UAAS,GAAAT,OAAKJ,IAAQqH,WAAU,4BAIvE1G,IAAAC,cAAA,OAAKC,UAAU,iFACbF,IAAAC,cAAC2F,IAAI,CAACC,GAAG,WAAW3F,UAAU,wCAC5BF,IAAAC,cAAA,QAAMC,UAAU,eAAeM,EAAU,eAE3CR,IAAAC,cAAC0G,EAAgB,UAM5BC,EA9DY3B,IACJ4B,YAAc5B,EAAWL,KA+DlC,MAYakC,EAAiBxI,YAZNC,IAAgC,IAA/B,aAAEC,EAAY,QAAEyC,GAAS1C,EAChD,MAAO,CAAEC,eAAcyC,YAGGxC,IACnB,CACLyC,YAAcuB,IACZhE,EAAS,CAAEG,KAAM1B,EAAqBC,YAAa0B,QAAS4D,OAKpCnE,CAA6C2G,G,YC/E3E,MAAM8B,UAAiCjG,YACrCC,SAEE,OACEf,IAAAC,cAAA,cACED,IAAAC,cAACyF,IAAM,CACLxF,UAAU,sGACV8G,MAAI,GAEJhH,IAAAC,cAAA,OAAKC,UAAS,6BACZF,IAAAC,cAACgG,IAAW,CAACC,IAAKN,IAAMC,GAAG,SACzB7F,IAAAC,cAAA,OAAK8F,IATG,0BASaD,IAAI,WAAWE,OAAO,QAE7ChG,IAAAC,cAAA,KACEC,UAAS,0BACT+G,KAAK,mCACL1G,OAAO,SACP2G,IAAI,uBAEH1G,EAAU,oBAAoB,OAE/BR,IAAAC,cAACqD,IAAe,CAACC,KAAM4D,QAG3BnH,IAAAC,cAAA,OAAKC,UAAS,6BACZF,IAAAC,cAAA,KACEC,UAAS,yBACT+G,KAAK,uDACL1G,OAAO,SACP2G,IAAI,uBAEJlH,IAAAC,cAACqD,IAAe,CAACC,KAAM6D,MAAgB,2BAGzCpH,IAAAC,cAAA,OAAKC,UAAU,2BACfF,IAAAC,cAAC2F,IAAI,CAACC,GAAG,WAAW3F,UAAU,6CAC5BF,IAAAC,cAAA,QAAMC,UAAU,eAAeM,EAAU,eAE3CR,IAAAC,cAAC0G,EAAgB,CAACtH,QAAQ,0CAQtC,MAIagI,EAAkB/I,YAJPC,IAAuB,IAAtB,aAAEC,GAAcD,EACvC,MAAO,CAAEC,iBAGoBF,CAAyByI,G,wDCgDzCzI,kBANU8G,IAChB,CACL5G,aAAc4G,EAAM5G,eAITF,CA5FUQ,IAEvB,MAAM,aAAEN,GAAiBM,EACnBwI,EAAmB,CACvB,CACEC,KAAM,yBACNhE,KAAMiE,KAER,CACED,KAAM,yBACNhE,KAAMkE,KAER,CACEF,KAAM,yBACNhE,KAAMmE,KAER,CACEH,KAAM,yBACNhE,KAAMoE,KAER,CACEJ,KAAM,yBACNhE,KAAMqE,MAMV,OACE5H,IAAAC,cAAA,cACED,IAAAC,cAAC4H,IAAS,CAAC3H,UAAS,GAAAT,OAAKJ,IAAQyI,kBAC/B9H,IAAAC,cAAC8H,IAAG,KACF/H,IAAAC,cAAC+H,IAAG,CAACC,GAAG,KAAKC,GAAG,KACdlI,IAAAC,cAAA,QAAMC,UAAU,cAAcM,EAAU,sBAE1CR,IAAAC,cAAC+H,IAAG,CAACC,GAAG,KAAKC,GAAG,KACdlI,IAAAC,cAAA,OAAKC,UAAU,mDACbF,IAAAC,cAAA,WACED,IAAAC,cAAA,MAAIC,UAAU,cAAa,WAC1BoH,EAAiB3E,IAAKwF,IACrB,MAAM,KAAEZ,EAAI,KAAEhE,GAAS4E,EACvB,OACEnI,IAAAC,cAAA,KACEgH,KAAMM,EACN9G,IAAK8G,EACLrH,UAAU,qCACVK,OAAO,SACP2G,IAAI,uBAEJlH,IAAAC,cAACqD,IAAe,CAACC,KAAMA,WAQrCvD,IAAAC,cAAC8H,IAAG,CAAC7H,UAAU,aACbF,IAAAC,cAAC+H,IAAG,CAACC,GAAG,KAAK/H,UAAU,QACrBF,IAAAC,cAAA,KACEC,UAAU,2BACV+G,KAAK,mCACL1G,OAAO,SACP2G,IAAI,uBAEH1G,EAAU,eACT,iBAEJR,IAAAC,cAAA,KACEC,UAAU,2BACV+G,KAAK,kDACL1G,OAAO,SACP2G,IAAI,uBAEH1G,EAAU,mBAGfR,IAAAC,cAAC+H,IAAG,CAACC,GAAG,MACNjI,IAAAC,cAAA,OAAK8F,IApDS,iDAoDaC,OAAO,aCzFvC,MAAMoC,EAAUtJ,IACrB,MACMyI,EADWc,cACKC,SACtB,IAAIC,EAAUvI,IAAAC,cAACoH,EAAe,MAI9B,MAHa,wBAATE,IACFgB,EAAUvI,IAAAC,cAAC6G,EAAc,OAGzB9G,IAAAC,cAAA,OAAKC,UAAS,qBACXqI,EACAzJ,EAAM0J,SACPxI,IAAAC,cAACwI,EAAM,Q,kFCgIEC,OA1IAnK,IAAiD,IAAhD,KAAEqB,EAAI,cAAE+I,EAAa,kBAAEC,GAAmBrK,EACxD,MAAM,GACJsK,EAAE,YACFhC,EAAW,UACXiC,EAAS,OACTC,EAAM,cACNC,EAAa,oBACbC,EAAmB,uBACnBhL,EAAsB,iBACtBC,EAAgB,kBAChBgL,EAAiB,sBACjBC,EAAqB,mBACrBnL,EAAkB,gBAClBoL,EAAe,gBACfC,EAAe,MACftL,EAAK,cACLJ,EAAa,UACbC,EAAS,cACTC,EAAa,SACbC,EAAQ,gBACRwL,GACE1J,EAEE2J,EAAU,CACd,CAAEC,MAAO,YAAarJ,MAAO2I,GAC7B,CAAEU,MAAO,SAAUrJ,MAAO4I,GAC1B,CAAES,MAAO,gBAAiBrJ,MAAO6I,GACjC,CAAEQ,MAAO,sBAAuBrJ,MAAO8I,GACvC,CAAEO,MAAO,yBAA0BrJ,MAAOlC,GAC1C,CAAEuL,MAAO,mBAAoBrJ,MAAOjC,GACpC,CAAEsL,MAAO,oBAAqBrJ,MAAO+I,GACrC,CAAEM,MAAO,wBAAyBrJ,MAAOgJ,GACzC,CAAEK,MAAO,qBAAsBrJ,MAAOnC,GACtC,CAAEwL,MAAO,kBAAmBrJ,MAAOiJ,GACnC,CAAEI,MAAO,kBAAmBrJ,MAAOkJ,GACnC,CAAEG,MAAO,QAASrJ,MAAOpC,GACzB,CAAEyL,MAAO,kBAAmBrJ,MAAOmJ,GACnC,CAAEE,MAAO,gBAAiBrJ,MAAOxC,GACjC,CAAE6L,MAAO,YAAarJ,MAAOvC,GAC7B,CAAE4L,MAAO,gBAAiBrJ,MAAOtC,GACjC,CAAE2L,MAAO,WAAYrJ,MAAOrC,IAG9B,IAAI2L,EAAQC,IAKZ,OAJI9J,EAAK+J,WAAW,KAClBF,EAAK,YAAAhK,OAAeG,EAAK+J,WAAW,KAIpC3J,IAAAC,cAAA,WAASC,UAAS,yCAChBF,IAAAC,cAAA,OACEC,UAAS,8EAETF,IAAAC,cAAA,OACEC,UAAS,GAAAT,OAAKJ,IAAQuK,qBAAoB,0DAE1C5J,IAAAC,cAAA,OACEC,UAAS,yBACT6F,IAAK0D,EACL3D,IAAI,qBAGN9F,IAAAC,cAAA,MAAIC,UAAS,2BAA8B2J,wBAAyB,CAAEC,OAAQjD,KAC9E7G,IAAAC,cAAA,OACEC,UAAS,6BAAAT,OAA+BJ,IAAQ0K,iBAEhD/J,IAAAC,cAAA,KACEgH,KAAK,WACL1G,OAAO,SACP2G,IAAI,sBACJhH,UAAS,yCAERM,EAAU,WAEbR,IAAAC,cAAA,KACEgH,KAAMrH,EAAKoK,YACXzJ,OAAO,SACP2G,IAAI,sBACJhH,UAAS,iDAAAT,OAAmDJ,IAAQ4K,YAEnEzJ,EAAU,eAGfR,IAAAC,cAACiK,IAAS,CACRC,OAAK,EACLC,QAAM,EACNlK,UAAS,kEAETF,IAAAC,cAACoK,IAAK,CACJnK,UAAS,yBACToK,QAAS1B,GAET5I,IAAAC,cAACsK,IAAK,CACJnK,SAAUA,KACRuI,EAAcE,EAAID,EAAoB,SAAW,QAEnDhK,KAAK,WACLsB,UAAS,GAAAT,OAAKJ,IAAQmL,eAAc,cACpCF,QAAS1B,EACThE,KAAM,sBAER5E,IAAAC,cAAA,QACEC,UAAS,aAAAT,OACPmJ,EAAoB,aAAe,4BAGtCpI,EAAU,mBAIjBR,IAAAC,cAAA,OAAKC,UAAS,GAAAT,OAAKJ,IAAQoL,WAAU,cAClClB,EAAQmB,MAAM,EAAGnB,EAAQnH,OAAS,GAAGO,IAAI,CAAC/C,EAAMgD,KAC/C,MAAM,MAAEzC,EAAK,MAAEqJ,GAAU5J,EACzB,IAAI+K,EAAMxK,EAMV,OALc,IAAVA,EACFwK,EAAMnK,EAAU,QACG,IAAVL,IACTwK,EAAMnK,EAAU,OAGhBR,IAAAC,cAAA,OACEQ,IAAKb,EAAK4J,MACVtJ,UAAS,GAAAT,OACPmD,EAAQ,IAAM,GAAK,WAAU,mCAE/BG,MAAO,CAAE6H,QAAS,YAElB5K,IAAAC,cAAA,QAAMC,UAAS,mBAAsBM,EAAUgJ,IAC/CxJ,IAAAC,cAAA,QAAMC,UAAS,oBAAuByK,U,mEC9HtD,MAAME,WAAgC/J,YAAUoE,cAAA,SAAAC,WAAA,KAC9CC,MAAQ,CACN0F,MAAM,EACNC,iBAAkB,MACnB,KAEDC,kBAAoB,CAACrG,EAAWxE,KAC9B,MAAM,kBAAE8K,EAAiB,WAAEC,GAAe9J,KAAKtC,MAC/CoM,EAAW,CAAC,CAACvG,GAAYsG,IAAsB9K,EAAQ,KAAOA,KAGhEY,SACE,OACEf,IAAAC,cAAA,OAAKC,UAAS,IACZF,IAAAC,cAAA,OAAKC,UAAS,QACZF,IAAAC,cAAA,UAAQgD,QAASwB,IACfA,EAAG0G,iBACH/J,KAAKoE,SAASC,IACL,IACFA,EACHqF,MAAOrF,EAAUqF,SAGpB5K,UAAS,sFAAAT,OAAwF2B,KAAKgE,MAAM0F,KAAO,aAAe,eAClI1J,KAAKtC,MAAMsM,YACZpL,IAAAC,cAACqD,IAAe,CAACC,KAAMnC,KAAKgE,MAAM0F,KAAOO,IAAoBC,QAGjEtL,IAAAC,cAACsL,UAAM,CAACC,eAAa,GAClBjN,IAAe,IAAd,KAAEkN,GAAMlN,EAMR,OALK6C,KAAKgE,MAAM2F,kBAAoBU,EAAKzF,QACvC5E,KAAKoE,SAAS,CACZuF,iBAAkBU,EAAKzF,OAAS,OAG7BhG,IAAAC,cAAA,OAAK8C,MAAO,CAAE2I,UAAWtK,KAAKgE,MAAM2F,kBACzC7K,UAAS,2CAAAT,OAA6CJ,KAAQsM,kBAAiB,KAAAlM,OAAI2B,KAAKgE,MAAM0F,KAAO,GAAKzL,KAAQgG,YACjHjE,KAAKtC,MAAM8M,QAAQjJ,IAAI,CAAAoC,EAA2BnC,KAAW,IAArC,MAAEiJ,EAAK,cAAEC,GAAe/G,EAC/C,MAAMuF,EAAUwB,IAAkB1K,KAAKtC,MAAMmM,kBAC7C,OAAOjL,IAAAC,cAACiK,IAAS,CAACzJ,IAAKoL,EAAO1B,OAAK,EAACC,QAAM,GACxCpK,IAAAC,cAACoK,IAAK,CAACnK,UAAS,6BAAgCiK,OAAK,GACnDnK,IAAAC,cAACsK,IAAK,CACJnK,SAAUA,IAAMgB,KAAK4J,kBAAkB5J,KAAKtC,MAAMiN,gBAAiBD,GACnElN,KAAK,WACLsB,UAAS,OACToK,QAASA,EACT1F,KAAMxD,KAAKtC,MAAMiN,kBACnB/L,IAAAC,cAAA,QAAMC,UAAS,aAAAT,OAAe6K,EAAU,aAAe,wBACtDuB,WAYNhB,U,6BC3Df,MAAMmB,WAA8BlL,YAClCoE,YAAYpG,GACVmN,MAAMnN,GACNsC,KAAKgE,MAAQ,CACX0F,MAAM,EACNC,iBAAkB,KAClBmB,QAAS9K,KAAKtC,MAAMqN,IACpBC,QAAShL,KAAKtC,MAAMuN,KAIxBtL,SAAU,IAADuL,EAAAC,EACP,MAAM,YAAEnB,EAAW,UAAEoB,EAAS,IAAEL,EAAG,IAAEE,EAAG,cAAEI,EAAa,UAAEC,GAActL,KAAKtC,MACtE6N,EAA8B,QAArBL,EAAGlL,KAAKgE,MAAM8G,eAAO,IAAAI,IAAII,EAAU,GAC5CE,EAA8B,QAArBL,EAAGnL,KAAKgE,MAAMgH,eAAO,IAAAG,IAAIG,EAAU,GAElD,OACE1M,IAAAC,cAAA,OAAKC,UAAS,IACZF,IAAAC,cAAA,OAAKC,UAAS,QACZF,IAAAC,cAAA,UAAQgD,QAASwB,IACfA,EAAG0G,iBACH/J,KAAKoE,SAASC,IACL,IACFA,EACHqF,MAAOrF,EAAUqF,SAGpB5K,UAAS,sGAAAT,OAAwG2B,KAAKgE,MAAM0F,KAAO,aAAe,eAClJM,EACDpL,IAAAC,cAACqD,IAAe,CAACC,KAAMnC,KAAKgE,MAAM0F,KAAOO,IAAoBC,QAGjEtL,IAAAC,cAACsL,UAAM,CAACC,eAAa,GAClBjN,IAAe,IAAd,KAAEkN,GAAMlN,EAMR,OALK6C,KAAKgE,MAAM2F,kBAAoBU,EAAKzF,QACvC5E,KAAKoE,SAAS,CACZuF,iBAAkBU,EAAKzF,OAAS,OAG7BhG,IAAAC,cAAA,OAAK8C,MAAO,CAAE2I,UAAWtK,KAAKgE,MAAM2F,kBACzC7K,UAAS,2CAAAT,OAA6CJ,KAAQsM,kBAAiB,KAAAlM,OAAI2B,KAAKgE,MAAM0F,KAAO,GAAKzL,KAAQgG,YAClHrF,IAAAC,cAAA,KAAGC,UAAS,cAAiByM,EAAU,IAAEC,GACzC5M,IAAAC,cAAC4M,KAAK,CACJjI,KAAM4H,EACNL,IAAKA,EACLE,IAAKA,EACLI,cAAeA,KACc,OAAvBrL,KAAKgE,MAAM8G,cAA2CY,IAAvB1L,KAAKgE,MAAM8G,UAG9CO,EAAcrL,KAAKgE,MAAM8G,QAAS9K,KAAKgE,MAAMgH,SAC7ChL,KAAKoE,SAAS,CACZ0G,QAAS,KACTE,QAAS,SAGbhM,SAAW2M,IACT3L,KAAKoE,SAAS,CACZ0G,QAASa,EAAO,GAChBX,QAASW,EAAO,MAGpBC,YAAY,EACZ7M,MAAO,CAACwM,EAAWC,UAUpBZ,U,oBC3Ef,MAAMiB,WAA+BnM,YAAUoE,cAAA,SAAAC,WAAA,KAC7CC,MAAQ,CACN0F,MAAM,EACNC,iBAAkB,MAGpBhK,SACE,OACEf,IAAAC,cAAA,OAAKC,UAAS,IACZF,IAAAC,cAAA,OAAKC,UAAS,QACZF,IAAAC,cAAA,UAAQgD,QAASwB,IACfA,EAAG0G,iBACH/J,KAAKoE,SAASC,IACL,IACFA,EACHqF,MAAOrF,EAAUqF,SAGpB5K,UAAS,sFAAAT,OAAwF2B,KAAKgE,MAAM0F,KAAO,aAAe,eAClI1J,KAAKtC,MAAMsM,YACZpL,IAAAC,cAACqD,IAAe,CAACC,KAAMnC,KAAKgE,MAAM0F,KAAOO,IAAoBC,QAGjEtL,IAAAC,cAACsL,UAAM,CAACC,eAAa,GAClBjN,IAAe,IAAd,KAAEkN,GAAMlN,EAMR,OALK6C,KAAKgE,MAAM2F,kBAAoBU,EAAKzF,QACvC5E,KAAKoE,SAAS,CACZuF,iBAAkBU,EAAKzF,OAAS,OAG7BhG,IAAAC,cAAA,OAAK8C,MAAO,CAAE2I,UAAWtK,KAAKgE,MAAM2F,kBACzC7K,UAAS,2CAAAT,OAA6CJ,KAAQsM,kBAAiB,KAAAlM,OAAI2B,KAAKgE,MAAM0F,KAAO,GAAKzL,KAAQgG,YACjHjE,KAAKtC,MAAM0J,cASXyE,UCrCf,MAAMC,WAAgBpM,YAAUoE,cAAA,SAAAC,WAAA,KAC9BC,MAAQ,CACNjC,iBAAkB,GAClBgK,YAAa,IACb,KAwBFC,gBAAmBlK,IACjB,MAAM,iBAAEC,EAAgB,YAAEgK,KAAgBlL,GAAcb,KAAKtC,MAAMqC,OACnEC,KAAKtC,MAAMoC,YAAY,IAClBe,EACHtE,cAAe,KACfC,UAAW,KACXC,cAAe,KACfC,SAAU,KACVC,MAAO,KACPE,uBAAwB,KACxBC,iBAAkB,KAClBF,mBAAoB,KACpBmF,iBAAkB,MAlCtBkK,oBCdS9N,IAAM,CACT+N,OAAQ,MACRC,IAAK,oCACLC,QAAS,CACL,eAAgB,qCDYrB9N,KAAMC,IACL,MAAM,iBAAEwD,EAAgB,YAAEgK,KAAgBlL,GAActC,EAAIC,MACtD,YAAEsB,EAAW,aAAEuM,GAAiBrM,KAAKtC,MAC3CsC,KAAKoE,SAAS,CACZrC,iBAAkBA,EAClBgK,YAAaA,IAOfjM,EALwC,IACnCE,KAAKtC,MAAMmC,QACdkC,iBAAkB,MACflB,IAGLwL,EAAa9N,EAAIC,QAElBC,MAAO6N,IACN5N,QAAQC,IAAI2N,KAoBlB3M,SACE,MAAM,UACJM,EAAS,UACTC,EAAS,aACTC,EAAY,aACZC,EAAY,cACZ7D,EAAa,UACbC,EAAS,cACTC,EAAa,SACbC,EAAQ,MACRC,EAAK,mBACL0D,EAAkB,mBAClBC,EAAkB,mBAClBC,EAAkB,mBAClBC,EAAkB,yBAClBC,EAAwB,yBACxBC,EAAwB,qBACxB6L,EAAoB,qBACpBC,EAAoB,mBACpB5P,EAAkB,uBAClB+D,EAAsB,uBACtBC,EAAsB,uBACtB/D,EAAsB,iBACtBC,EAAgB,iBAChB2P,EAAgB,iBAChBC,GACE1M,KAAKtC,MAAMmC,SAET,YAAEC,EAAW,OAAEC,GAAWC,KAAKtC,OAE/B,iBAAEqE,GAAqB/B,KAAKgE,MAElC,OACEpF,IAAAC,cAAC8N,KAAI,KACH/N,IAAAC,cAAC+N,KAAI,CAAC9N,UAAS,YACbF,IAAAC,cAACgO,KAAQ,CAAC/N,UAAU,6BAClBF,IAAAC,cAAA,OAAKC,UAAU,0DACbF,IAAAC,cAAA,QACEC,UAAS,sEAERM,EAAU,kBAEbR,IAAAC,cAAA,UACErB,KAAK,SACLsB,UAAU,kCACV+C,QAAS7B,KAAKgM,iBAEb5M,EAAU,qBAGfR,IAAAC,cAACiK,IAAS,CACRhK,UAAS,sDAETF,IAAAC,cAACgN,GAAsB,CACrB7B,YAAa5K,EAAU,oBAEtB2C,EAAiB+K,OAAOvL,IAAKiC,IAAU,IAADuJ,EACrC,MAAM7D,GAC+B,QAAnC6D,EAAA/M,KAAKtC,MAAMmC,QAAQkC,wBAAgB,IAAAgL,OAAA,EAAnCA,EAAqCC,SAASxJ,MAC9C,EACF,OACE5E,IAAAC,cAACiK,IAAS,CAACzJ,IAAKmE,EAAMuF,OAAK,EAACC,QAAM,GAChCpK,IAAAC,cAACoK,IAAK,CAACnK,UAAS,6BAAgCiK,OAAK,GACnDnK,IAAAC,cAACsK,IAAK,CACJnK,SAAUA,KACRc,EAAY,CACViC,iBACE/B,KAAKtC,MAAMmC,QAAQkC,iBAAiBkL,QAClCzJ,IACG,EACDxD,KAAKtC,MAAMmC,QAAQkC,iBAAiBC,OACjCC,GAAMA,GAAKuB,GAEd,IACKxD,KAAKtC,MAAMmC,QAAQkC,iBACtByB,MAIZhG,KAAK,WACLsB,UAAS,OACToK,QAASA,EACT1F,KAAMA,IAER5E,IAAAC,cAAA,QACEC,UAAS,aAAAT,OACP6K,EAAU,aAAe,wBAG5B9J,EAAUoE,SAOvB5E,IAAAC,cAAA,MAAIC,UAAS,QAEbF,IAAAC,cAACiK,IAAS,KACRlK,IAAAC,cAAC+L,GAAqB,CACpBZ,YAAa5K,EAAU,UACvBgM,UAAU,cACVL,IAAKhL,EAAOE,UACZgL,IAAKlL,EAAOG,UACZoL,UAAW,CAACrL,EAAWC,GACvBmL,cAAeA,CAACN,EAAKE,KACnBnL,EAAY,CACVG,UAAW8K,EACX7K,UAAW+K,QAKnBrM,IAAAC,cAAA,MAAIC,UAAS,QAEbF,IAAAC,cAACiK,IAAS,KACRlK,IAAAC,cAAC+L,GAAqB,CACpBZ,YAAa5K,EAAU,aACvBgM,UAAU,YACVL,IAAKhL,EAAOI,aACZ8K,IAAKlL,EAAOK,aACZkL,UAAW,CAACnL,EAAcC,GAC1BiL,cAAeA,CAACN,EAAKE,KACnBnL,EAAY,CACVK,aAAc4K,EACd3K,aAAc6K,QAKtBrM,IAAAC,cAAA,MAAIC,UAAS,QAEbF,IAAAC,cAACiK,IAAS,CACRhK,UAAS,sDAETF,IAAAC,cAAC4K,GAAuB,CACtBO,YAAa5K,EAAU,iBACvBuL,gBAAgB,gBAChBd,kBAAmBtN,EACnBiO,QAAS,CACP,CACEC,MAAOrL,EAAU,OACjBsL,eAAe,IAOnBZ,WAAYhK,KAGhBlB,IAAAC,cAAA,MAAIC,UAAS,QAEbF,IAAAC,cAACiK,IAAS,CACRhK,UAAS,sDAETF,IAAAC,cAAC4K,GAAuB,CACtBO,YAAa5K,EAAU,aACvBuL,gBAAgB,YAChBd,kBAAmBrN,EACnBgO,QAAS,CACP,CACEC,MAAOrL,EAAU,OACjBsL,eAAe,IAOnBZ,WAAYhK,KAGhBlB,IAAAC,cAAA,MAAIC,UAAS,QAEbF,IAAAC,cAACiK,IAAS,CACRhK,UAAS,sDAETF,IAAAC,cAAC4K,GAAuB,CACtBO,YAAa5K,EAAU,iBACvBuL,gBAAgB,gBAChBd,kBAAmBpN,EACnB+N,QAAS,CACP,CACEC,MAAOrL,EAAU,OACjBsL,eAAe,IAOnBZ,WAAYhK,KAGhBlB,IAAAC,cAAA,MAAIC,UAAS,QAEbF,IAAAC,cAACiK,IAAS,CACRhK,UAAS,sDAETF,IAAAC,cAAC4K,GAAuB,CACtBO,YAAa5K,EAAU,YACvBuL,gBAAgB,WAChBd,kBAAmBnN,EACnB8N,QAAS,CACP,CACEC,MAAOrL,EAAU,OACjBsL,eAAe,IAOnBZ,WAAYhK,KAGhBlB,IAAAC,cAAA,MAAIC,UAAS,QAEbF,IAAAC,cAACiK,IAAS,CACRhK,UAAS,sDAETF,IAAAC,cAAC4K,GAAuB,CACtBO,YAAa5K,EAAU,SACvBuL,gBAAgB,QAChBd,kBAAmBlN,EACnB6N,QAAS,CACP,CACEC,MAAOrL,EAAU,OACjBsL,eAAe,IAOnBZ,WAAYhK,KAGhBlB,IAAAC,cAAA,MAAIC,UAAS,QAEbF,IAAAC,cAACiK,IAAS,CACRhK,UAAS,sDAETF,IAAAC,cAAC4K,GAAuB,CACtBO,YAAa5K,EAAU,sBACvBuL,gBAAgB,qBAChBd,kBAAmBjN,EACnB4N,QAAS,CACP,CACEC,MAAOrL,EAAU,OACjBsL,eAAe,IAOnBZ,WAAYhK,KAGhBlB,IAAAC,cAAA,MAAIC,UAAS,QAEbF,IAAAC,cAACiK,IAAS,CACRhK,UAAS,sDAETF,IAAAC,cAAC4K,GAAuB,CACtBO,YAAa5K,EAAU,0BACvBuL,gBAAgB,yBAChBd,kBAAmBhN,EACnB2N,QAAS,CACP,CACEC,MAAOrL,EAAU,OACjBsL,eAAe,IAOnBZ,WAAYhK,KAGhBlB,IAAAC,cAAA,MAAIC,UAAS,QAEbF,IAAAC,cAACiK,IAAS,CACRhK,UAAS,sDAETF,IAAAC,cAAC4K,GAAuB,CACtBO,YAAa5K,EAAU,oBACvBuL,gBAAgB,mBAChBd,kBAAmB/M,EACnB0N,QAAS,CACP,CACEC,MAAOrL,EAAU,OACjBsL,eAAe,IAOnBZ,WAAYhK,KAGhBlB,IAAAC,cAAA,MAAIC,UAAS,QAEbF,IAAAC,cAACiK,IAAS,KACRlK,IAAAC,cAAC+L,GAAqB,CACpBZ,YAAa5K,EAAU,mBACvBgM,UAAU,kBACVL,IAAKhL,EAAOM,mBACZ4K,IAAKlL,EAAOO,mBACZgL,UAAW,CAACjL,EAAoBC,GAChC+K,cAAeA,CAACN,EAAKE,KACnBnL,EAAY,CACVO,mBAAoB0K,EACpBzK,mBAAoB2K,QAK5BrM,IAAAC,cAAA,MAAIC,UAAS,QACbF,IAAAC,cAACiK,IAAS,KACRlK,IAAAC,cAAC+L,GAAqB,CACpBZ,YAAa5K,EAAU,mBACvBgM,UAAU,kBACVL,IAAKhL,EAAOQ,mBACZ0K,IAAKlL,EAAOS,mBACZ8K,UAAW,CAAC/K,EAAoBC,GAChC6K,cAAeA,CAACN,EAAKE,KACnBnL,EAAY,CACVS,mBAAoBwK,EACpBvK,mBAAoByK,QAK5BrM,IAAAC,cAAA,MAAIC,UAAS,QAEbF,IAAAC,cAACiK,IAAS,KACRlK,IAAAC,cAAC+L,GAAqB,CACpBZ,YAAa5K,EAAU,yBACvBgM,UAAU,wBACVL,IAAKhL,EAAOU,yBACZwK,IAAKlL,EAAOW,yBACZ4K,UAAW,CAAC7K,EAA0BC,GACtC2K,cAAeA,CAACN,EAAKE,KACnBnL,EAAY,CACVW,yBAA0BsK,EAC1BrK,yBAA0BuK,QAKlCrM,IAAAC,cAAA,MAAIC,UAAS,QAEbF,IAAAC,cAACiK,IAAS,KACRlK,IAAAC,cAAC+L,GAAqB,CACpBZ,YAAa5K,EAAU,qBACvBgM,UAAU,oBACVL,IAAKhL,EAAOyM,qBACZvB,IAAKlL,EAAOwM,qBACZjB,UAAW,CAACkB,EAAsBD,GAClClB,cAAeA,CAACN,EAAKE,KACnBnL,EAAY,CACV0M,qBAAsBzB,EACtBwB,qBAAsBtB,QAK9BrM,IAAAC,cAAA,MAAIC,UAAS,QAEbF,IAAAC,cAACiK,IAAS,KACRlK,IAAAC,cAAC+L,GAAqB,CACpBZ,YAAa5K,EAAU,uBACvBgM,UAAU,sBACVL,IAAKhL,EAAOY,uBACZsK,IAAKlL,EAAOa,uBACZ0K,UAAW,CAAC3K,EAAwBC,GACpCyK,cAAeA,CAACN,EAAKE,KACnBnL,EAAY,CACVa,uBAAwBoK,EACxBnK,uBAAwBqK,QAKhCrM,IAAAC,cAAA,MAAIC,UAAS,QAEbF,IAAAC,cAACiK,IAAS,CACRhK,UAAS,wDAETF,IAAAC,cAAC+L,GAAqB,CACpBZ,YAAa5K,EAAU,iBACvBgM,UAAU,gBACVL,IAAKhL,EAAO0M,iBACZxB,IAAKlL,EAAO2M,iBACZpB,UAAW,CAACmB,EAAkBC,GAC9BrB,cAAeA,CAACN,EAAKE,KACnBnL,EAAY,CACV2M,iBAAkB1B,EAClB2B,iBAAkBzB,QAK1BrM,IAAAC,cAAA,MAAIC,UAAS,YAuBV5B,mBAfSC,IAA0B,IAAzB,QAAE0C,EAAO,OAAEE,GAAQ5C,EAC1C,MAAO,CAAE0C,UAASE,WAGQ1C,IACnB,CACLyC,YAAcoN,IACZ7P,EAAS,CAAEG,KAAM1B,EAAqBC,YAAa0B,QAASyP,KAE9Db,aAAetM,IACb1C,EAAS,CAAEG,KAAM1B,EAAqBE,aAAcyB,QAASsC,OAKpD7C,CAA6C4O,I,wCEperD,MAAMqB,GAAWzP,IACtB,MAAM,KAAEgM,EAAI,QAAE7H,EAAO,OAAEuL,GAAW1P,EAClC,OACEkB,IAAAC,cAAA,OACEC,UAAS,GAAAT,OAAKJ,KAAQoP,QAAO,KAAAhP,OAC3BqL,EAAO,OAAS,QAElB/H,MAAO,CAAEyL,OAAQA,IAEjBxO,IAAAC,cAAA,UACEC,UAAS,GAAAT,OAAKJ,KAAQqP,eACtBzL,QAASA,MCRjB,MAAM0L,WAAwB7N,YAAUoE,cAAA,SAAAC,WAAA,KACtCC,MAAQ,CACN0F,MAAM,GAGR/J,SACE,MAAM,iBAAE6N,EAAgB,iBAAEC,GAAqBzN,KAAKtC,OAC9C,KAAEgM,GAAS1J,KAAKgE,MAChB0J,EAAsB,CAC1B,iBACA,aACA,KACA,sBACA,aACA,kBACA,aAEF,IAAIC,EAAa,CAAC,cAClB,GAAIH,EAAiBxM,OACnB,IAAK,MAAM4M,KAAQJ,EAAiB,GAC7BE,EAAoBV,SAASY,IAChCD,EAAWvM,KAAKwM,GAItB,IAAIC,EAAS,IAIb,OAHInE,IACFmE,EAAS,QAGTjP,IAAAC,cAACD,IAAMkP,SAAQ,KACblP,IAAAC,cAACsO,GAAO,CACNtL,QAASA,KACH6H,GACF1J,KAAKoE,SAAS,CAAEsF,MAAM,KAG1BA,KAAMA,EACN0D,OAAQ,MAGVxO,IAAAC,cAAA,OACEC,UAAS,GAAAT,OAAKJ,KAAQ8P,oBAAmB,mBACzCpM,MAAO,CAAEkM,WAETjP,IAAAC,cAAA,OACEC,UAAS,GAAAT,OAAKJ,KAAQ+P,aAAY,qEAElCpP,IAAAC,cAAA,UACEC,UAAS,GAAAT,OAAKJ,KAAQgQ,IAAG,KAAA5P,OACvBmP,EAAiBxM,OAAS,EAAI,WAAa,KAAI,0BAEjDa,QAASA,KACH2L,EAAiBxM,OAAS,GAG9BhB,KAAKoE,SAAUC,IAAS,CAAQqF,MAAOrF,EAAUqF,UAGnD9K,IAAAC,cAAA,OAAKC,UAAS,GAAAT,OAAKJ,KAAQiQ,SAAQ,iBACnCtP,IAAAC,cAAA,QACEC,UAAS,GAAAT,OAAKJ,KAAQkQ,eAAc,6GAA2G,GAAA9P,OAC5Ie,EAAU,qBAAoB,MAAAf,OACjCmP,EAAiBxM,OAAM,MAEzBpC,IAAAC,cAAA,OAAKC,UAAS,GAAAT,OAAKJ,KAAQmQ,UAAS,mBAGxCxP,IAAAC,cAAA,OAAKC,UAAS,GAAAT,OAAKJ,KAAQoQ,WAAU,iBACrCzP,IAAAC,cAAA,OACEC,UAAU,6BACV6C,MAAO,CAAEiD,OAAQ,SAEjBhG,IAAAC,cAAA,OAAKC,UAAU,4DACbF,IAAAC,cAAA,UACErB,KAAK,SACLsB,UAAU,yBACV+C,QAASA,KACP4L,IACAzN,KAAKoE,SAAS,CAAEsF,MAAM,MAGvBtK,EAAU,sBAGfR,IAAAC,cAAA,SACEC,UAAS,yDAETF,IAAAC,cAAA,gBACED,IAAAC,cAAA,OAAK8C,MAAO,CAAE2M,MAAO,iBACpBd,EAAiBjM,IAAKgN,GAEnB3P,IAAAC,cAAA,OACEQ,IAAG,oBAAAhB,OAAsBkQ,EAAO9G,IAChC9F,MAAO,CACL2M,MAAM,GAADjQ,OAAK,GAAKmP,EAAiBxM,OAAM,UAMhDpC,IAAAC,cAAA,aACED,IAAAC,cAAA,UACED,IAAAC,cAAA,UAAKO,EAAU,eACdoO,EAAiBjM,IAAKgN,GAEnB3P,IAAAC,cAAA,MACEC,UAAS,cACTO,IAAG,mBAAAhB,OAAqBkQ,EAAO9G,IAC/BgB,wBAAyB,CACvBC,OAAQtJ,EAAUmP,EAAO9I,mBAOrC7G,IAAAC,cAAA,aACG8O,EAAWpM,IAAKiN,GACL,WAANA,EAEA5P,IAAAC,cAAA,MAAIQ,IAAG,WAAAhB,OAAamQ,IAClB5P,IAAAC,cAAA,MAAIC,UAAS,eAAkBM,EAAU,WACxCoO,EAAiBjM,IAAKgN,GAEnB3P,IAAAC,cAAA,MACEQ,IAAKkP,EAAO9G,IAAG,GAAApJ,OACZkQ,EAAe,QAAClQ,OAAGkQ,EAA4B,oBAAC,KAAAlQ,OAAIkQ,EAAmB,eAM5E,eAANC,EAEA5P,IAAAC,cAAA,MAAIQ,IAAG,WAAAhB,OAAamQ,IAClB5P,IAAAC,cAAA,UAAKO,EAAU,UACdoO,EAAiBjM,IAAKgN,IACrB,IAAIlG,EAAQC,IAIZ,OAHIiG,EAAOhG,WAAW,KACpBF,EAAK,YAAAhK,OAAekQ,EAAOhG,WAAW,KAGtC3J,IAAAC,cAAA,MACEQ,IAAKkP,EAAO9G,GACZ9F,MAAO,CAAE8M,cAAe,WAExB7P,IAAAC,cAAA,OACEC,UAAS,OACT6C,MAAO,CAAE+M,WAAY,OACrB/J,IAAK0D,EACL3D,IAAK6J,EAAOhG,WAAW,SASnC3J,IAAAC,cAAA,MAAIQ,IAAG,YAAAhB,OAAcmQ,IACnB5P,IAAAC,cAAA,MAAIC,UAAS,eAAkBM,EAAUoP,IACxChB,EAAiBjM,IAAI,CAAChD,EAAKwC,KAC1B,MAAMhC,EAAQR,EAAIiQ,GAClB,IAAIjF,EAAMxK,EAYV,OAXc,IAAVA,EACFwK,EAAMnK,EAAU,QACG,IAAVL,EACTwK,EAAMnK,EAAU,MACPmD,MAAMC,QAAQzD,KAErBwK,EADExK,EAAMiC,OACF5B,EAAUL,EAAM,KAAO,KAEvBK,EAAU,kBAIlBR,IAAAC,cAAA,MACEC,UAAS,cACTO,IAAK0B,EACL0H,wBAAyB,CAAEC,OAAQa,eAehDgE,UC5Lf,MAAMoB,WAAwBjP,YAAUoE,cAAA,SAAAC,WAAA,KACtCC,MAAQ,CACN4K,aAAa,EACbC,gBAAgB,EAChBC,WAAY,IAGdnP,SACE,MAAM,aAAEoP,GAAiB/O,KAAKtC,MAC9B,OACEkB,IAAAC,cAACD,IAAMkP,SAAQ,KACblP,IAAAC,cAACsL,UAAM,KACHE,IACA,MAAMiE,GAASjE,EAAKA,KAAKiE,MACzB,IAAIU,EAAqB,WAazB,OAZIV,GAAS,MACXU,EAAqB,WAChBhP,KAAKgE,MAAM6K,gBACd7O,KAAKoE,SAAS,CACZwK,aAAa,EACbC,gBAAgB,KAIlBP,EAAQ,MAAQtO,KAAKgE,MAAM4K,aAC7B5O,KAAKoE,SAAS,CAAEwK,aAAa,EAAMC,gBAAgB,IAGnDjQ,IAAAC,cAACD,IAAMkP,SAAQ,KACblP,IAAAC,cAAC8H,IAAG,CAAC7H,UAAS,QACZF,IAAAC,cAACsO,GAAO,CACNtL,QAASA,KACH7B,KAAKgE,MAAM4K,aACb5O,KAAKoE,SAAS,CAAEwK,aAAa,KAGjClF,KAAM1J,KAAKgE,MAAM4K,aAAeN,GAAS,IACzClB,OAAQ,KAEVxO,IAAAC,cAAC+H,IAAG,CACF9H,UAAS,QAAAT,OAAUJ,IAAQgR,eAC3BpI,GAAG,KACHqI,GAAG,IACHvN,MAAO,CACLwN,SAAUH,EACVpN,KAAM5B,KAAKgE,MAAM4K,YAAc,MAAQ,UAGzChQ,IAAAC,cAACiN,GAAO,OAEVlN,IAAAC,cAAC+H,IAAG,CAAC9H,UAAS,cAAiB+H,GAAG,KAAKqI,GAAG,KACxCtQ,IAAAC,cAAA,OACEC,UAAS,qDAETF,IAAAC,cAAA,QAAMC,UAAU,sBACbM,EAAU,kBAAkB,IAAE2P,EAAa/N,OAAO,KAEpDsN,GAAS,IACR1P,IAAAC,cAAA,UACEC,UAAS,eACT6C,MAAO,CAAEyL,OAAQ,QAEjBxO,IAAAC,cAACqD,IAAe,CACdC,KAAMiN,IACNvN,QAASA,IACP7B,KAAKoE,SAAUC,IACN,IACFA,EACHuK,aAAcvK,EAAUuK,YACxBC,gBAAgB,QAMxB,MAELE,EAAaxN,IAAKgN,GACjB3P,IAAAC,cAACyI,GAAM,CACLjI,IAAKkP,EAAO9G,GACZjJ,KAAM+P,EACN/G,kBAAmBxH,KAAKgE,MAAM8K,WAAW9B,SACvCuB,EAAO9G,IAETF,cAAeA,CAACE,EAAIjK,KAClB,IAAI6R,EACJ,IACE,IAAItO,EAAI,EACRA,EAAIf,KAAKtC,MAAMqR,aAAa/N,OAC5BD,IAEIf,KAAKtC,MAAMqR,aAAahO,GAAG0G,KAAOA,IACpC4H,EAAmBrP,KAAKtC,MAAMqR,aAAahO,IAGlC,QAATvD,EACFwC,KAAKoE,SAAUC,IACN,IACFA,EACHyK,WAAY,IACPzK,EAAUyK,WACbO,EAAiB5H,OAKvBzH,KAAKoE,SAAUC,IACN,IACFA,EACHyK,WAAYzK,EAAUyK,WAAW9M,OAC9BsN,GAAeA,IAAe7H,UAQ7C7I,IAAAC,cAAC0O,GAAe,CACdC,iBAAkBxN,KAAKtC,MAAMqR,aAAa/M,OACvCuM,GACQvO,KAAKgE,MAAM8K,WAAW9B,SAASuB,EAAO9G,KAGjDgG,iBAAkBA,IAAMzN,KAAKoE,SAAS,CAAE0K,WAAY,cAmB3D5R,mBANU8G,IAChB,CACL+K,aAAc/K,EAAMuL,UAITrS,CAAyByR,I,oBCuLzBzR,mBAjBU8G,IAChB,CACL5G,aAAc4G,EAAM5G,eAIIC,IACnB,CACLmS,8BAAgCC,IAC9BpS,EAAS,CAAEG,KAAM1B,EAAqBK,SAASC,sBAAuBqB,QAASgS,KAEjFC,mBAAqBC,IACnBtS,EAAS,CAAEG,KAAM1B,EAAqBK,SAASE,mBAAoBoB,QAASkS,OAKnEzS,CAlUmBQ,IAChC,MAAOkS,EAAyBC,GAA8B/R,mBAAS,KAChEgS,EAAsBC,GAA2BjS,mBAAS,KAC1DkS,EAAuBC,GAA4BnS,mBAAS,KAC5DoS,EAAMC,GAAWrS,mBAAS,IAC1BsS,EAASC,GAAcvS,oBAAS,IAChCyR,EAASe,GAAcxS,mBAAS,KAChCd,EAAiBuT,GAAsBzS,mBAAS,KAChD0S,EAAWC,GAAgB3S,mBAAS,KACpCgR,EAAY4B,GAAiB5S,mBAAS,IAEvC6S,EAAUC,eAGV,aAAExT,EAAY,8BAAEoS,EAA6B,mBAAEE,GAAuBhS,EAEtEmT,EAAaA,KC/BexP,MDgChCgP,GAAW,IChCqBhP,EDiCZ,CAClBrE,gBAAiB4S,EACjBY,UAAWV,EACX5L,UAAW8L,GCnCN7R,IAAM,CACT+N,OAAQ,OACRC,IAAK,sCACLC,QAAS,CACL,eAAgB,mCAEpB5N,KAAM6C,KD+BP/C,KAAMC,IACL+R,EAAW/R,EAAIC,MACf6R,GAAW,KAEZ5R,MAAO6N,IACN5N,QAAQC,IAAI2N,MAIlBpO,oBAAU,KErC+BM,MFsC1B,IAAT0R,GACFG,GAAW,GEhDRlS,IAAM,CACX+N,OAAQ,MACRC,IAAK,gCACLC,QAAS,CACL,eAAgB,qCF8Cf9N,KAAMiQ,IACLgC,EAAmBhC,EAAO/P,MAC1B6R,GAAW,KAEZ5R,MAAMC,QAAQC,MACC,IAATuR,GACTG,GAAW,IE/C0B7R,EFgDVoR,EE/CxBzR,IAAM,CACX+N,OAAQ,OACRC,IAAK,4CACLC,QAAS,CACL,eAAgB,mCAEpB5N,UF0CKF,KAAMiQ,IACLkC,EAAalC,EAAO/P,MACpB6R,GAAW,KAEZ5R,MAAMC,QAAQC,MACC,IAATuR,GACTW,KAGD,CAACX,IAEJ,MAoEMY,EAAuBA,IAEzBlS,IAAAC,cAAC+H,IAAG,CAACC,GAAG,KAAK/H,UAAU,6BACrBF,IAAAC,cAAA,QAAMC,UAAU,kBAAkBM,EAAU,UAC5CR,IAAAC,cAAA,MAAIC,UAAU,sBAAsBM,EAAU,iBAC9CR,IAAAC,cAAA,MAAIC,UAAU,sBACX0R,EAAUxP,QACTwP,EAAUjP,IAAK4D,IACb,MAAM+D,EAAU4G,EAAqB9C,SAAS7H,GAC9C,OACEvG,IAAAC,cAAA,MAAIC,UAAU,OAAOO,IAAK8F,GACxBvG,IAAAC,cAACiK,IAAS,CAACzJ,IAAK8F,EAAM4D,OAAK,EAACC,QAAM,GAChCpK,IAAAC,cAACoK,IAAK,CAACnK,UAAS,6BAAgCiK,OAAK,GACnDnK,IAAAC,cAAA,OAAKC,UAAU,8BACbF,IAAAC,cAACsK,IAAK,CACJnK,SAAUA,IAjEA+R,EAAC5L,EAAM+D,KAErC6G,EADE7G,EACsB4G,EAAqB9N,OAAQgP,GAAMA,IAAM7L,GAG3C,IAAI2K,EAAsB3K,KA6D1B4L,CAA0B5L,EAAM+D,GAElC1L,KAAK,WACL0L,QAASA,EACT1F,KAAM2B,IAERvG,IAAAC,cAAA,QACEC,UAAS,aAAAT,OACP6K,EAAU,aAAe,yBAI/BtK,IAAAC,cAAA,QAAMC,UAAU,QAAQM,EAAU+F,WAuFtD,IAAI8L,EAAU,KASd,OARa,IAATf,EACFe,EA/J2BC,KAEzBtS,IAAAC,cAAC+H,IAAG,CAACC,GAAG,KAAK/H,UAAU,6BACrBF,IAAAC,cAAA,QAAMC,UAAU,kBAAkBM,EAAU,UAC5CR,IAAAC,cAAA,MAAIC,UAAU,sBAAsBM,EAAU,iBAC9CR,IAAAC,cAAA,MAAIC,UAAU,sBACX9B,EAAgBgE,QAAUuB,MAAMC,QAAQxF,GACvCA,EAAgB8P,OAAOvL,IAAK4D,IAC1B,MAAM+D,EAAU0G,EAAwB5C,SAAS7H,GACjD,OACEvG,IAAAC,cAAA,MAAIC,UAAU,OAAOO,IAAK8F,GACxBvG,IAAAC,cAACiK,IAAS,CAACzJ,IAAK8F,EAAM4D,OAAK,EAACC,QAAM,GAChCpK,IAAAC,cAACoK,IAAK,CAACnK,UAAS,6BAAgCiK,OAAK,GACnDnK,IAAAC,cAAA,OAAKC,UAAU,8BACbF,IAAAC,cAACsK,IAAK,CACJnK,SAAUA,IAjCMmS,EAAChM,EAAM+D,KAE3C2G,EADE3G,EAEA0G,EAAwB5N,OAAQgP,GAAMA,IAAM7L,GAIrB,IAAIyK,EAAyBzK,KA2BhCgM,CAAgChM,EAAM+D,GAExC1L,KAAK,WACL0L,QAASA,EACT1F,KAAM2B,IAERvG,IAAAC,cAAA,QACEC,UAAS,aAAAT,OACP6K,EAAU,aAAe,yBAI/BtK,IAAAC,cAAA,QAAMC,UAAU,QAAQM,EAAU+F,SAO5CvG,IAAAC,cAAA,UAAKO,EAAU,iBA4Hb8R,GACQ,IAAThB,EACTe,EAAUH,IACQ,IAATZ,IACTe,EAlDErS,IAAAC,cAAC+H,IAAG,CAACC,GAAG,KAAK/H,UAAU,kBACpByQ,EAAQvO,OACPpC,IAAAC,cAAAD,IAAAkP,SAAA,KACGyB,EAAQhO,IAAKhD,GAEVK,IAAAC,cAAA,OAAKQ,IAAKd,EAAIkJ,IACZ7I,IAAAC,cAACyI,GAAM,CACL9I,KAAMD,EACNiJ,kBAAmBsH,EAAW9B,SAASzO,EAAIkJ,IAC3CF,cAAeA,CAACE,EAAIjK,KAClB,IAAI6R,EACJ,IAAK,IAAItO,EAAI,EAAGA,EAAIwO,EAAQvO,OAAQD,IAC9BwO,EAAQxO,GAAG0G,KAAOA,IACpB4H,EAAmBE,EAAQxO,IAI7B2P,EADW,QAATlT,EACY,IAAIsR,EAAYO,EAAiB5H,IAG7CqH,EAAW9M,OAAQsN,GAAeA,IAAe7H,SAQ/D7I,IAAAC,cAAC0O,GAAe,CACdC,iBAAkB+B,EAAQvN,OAAQuM,GAChCO,EAAW9B,SAASuB,EAAO9G,KAE7BgG,iBAAkBA,IAAMiD,EAAc,OAI1C9R,IAAAC,cAAA,MAAIC,UAAU,8BACXM,EAAU,gBAiBnBR,IAAAC,cAAC4H,IAAS,CACR3H,UAAS,cAAAT,OAAgB6R,EAAO,GAAKjS,KAAQmT,2BAE7CxS,IAAAC,cAAC8H,IAAG,CAAC7H,UAAU,QACbF,IAAAC,cAAC+H,IAAG,CAACC,GAAG,MACNjI,IAAAC,cAAA,QACEC,UAAS,iDAAAT,OAAmDJ,KAAQoT,eAEnEjS,EAAU,aAEbR,IAAAC,cAAA,MAAIC,UAAS,uDACVM,EAAU,uBAIjBR,IAAAC,cAAC8H,IAAG,KAAEsK,GACNrS,IAAAC,cAAC8H,IAAG,CAAC7H,UAAU,qCACbF,IAAAC,cAAA,UACEC,UAAU,qEACV+C,QAASA,KACM,IAATqO,EAIJC,EAAQD,EAAO,GAHbS,EAAQvP,KAAK,WAMjBxC,IAAAC,cAACqD,IAAe,CACdC,KAAMmP,IACNxS,UAAS,aAAAT,OAAeJ,KAAQsT,YAEjCnS,EAAU,SAEZ8Q,EAAO,EACNtR,IAAAC,cAAA,UACEC,UAAU,kCACV+C,QAASA,KACM,IAATqO,EArOdV,EAA8BI,GAuOA,IAATM,GAnOrBR,EAAmBI,GAsOTK,EAAQD,EAAO,IAEjBsB,SACY,IAATtB,IAAeN,EAAwB5O,QAC9B,IAATkP,IAAeJ,EAAqB9O,QAGtC5B,EAAU,aAEX,S,6BGpTZ,MAAMqS,GAAW,CACf,UACA,SACA,iBACA,UACA,WACA,aACA,WACA,cACA,WACA,uBACA,iCACA,UACA,UACA,OACA,SACA,QACA,WACA,UACA,OACA,SACA,WACA,YACA,QACA,mBACA,WACA,gBACA,WACA,YACA,cACA,WACA,UACA,WACA,SACA,gBACA,aACA,aACA,WACA,iBACA,eACA,2BACA,OACA,WACA,SACA,QACA,eACA,cACA,eACA,iBACA,eACA,YACA,QACA,OACA,UACA,gBACA,WACA,aACA,gBACA,YACA,WAGIC,GAAoB,CACxB,UACA,mBACA,WACA,gBACA,4BACA,wBACA,cACA,UACA,UACA,uBACA,SACA,eACA,mBA0bWC,GAAgBzU,YAVJ8G,IAChB,CACL4N,gBAAiB5N,EAAMnE,QACvBgS,gBAAiB,CACbC,gBAAiB9N,EAAM+N,cAAc/U,gBACrCwT,UAAWxM,EAAM+N,cAAc9U,gBAKVC,CAvbRQ,IACnB,MAAOsU,EAAkBC,GAAuBnU,oBAAS,IAClDoU,EAAWC,GAAgBrU,mBAAS,OACpCsU,EAAiBC,GAAsBvU,mBAAS,KAChDwU,EAAwBC,GAA6BzU,oBAAS,IAE/D,SACJ0U,EAAQ,aACRC,EAAY,SACZC,EACAC,WAAW,OAAEC,IACXC,eAEJ3U,oBAAU,KACRC,IACGC,IAAI,sCACJE,KAAMC,IACL,GAAmB,MAAfA,EAAIuU,QAAkBvU,EAAIC,KAAM,CAClC,MAAMuU,EAAkBxU,EAAIC,KAAKsO,KAAK,CAAC0B,EAAGwE,IACjCxE,EAAEhL,KAAKyP,OAASD,EAAExP,KAAKyP,OAAS,EAAID,EAAExP,KAAKyP,OAASzE,EAAEhL,KAAKyP,QAAU,EAAI,GAElFd,EAAaY,GACbL,EAAS,qBAAsBK,EAAgB,GAAGvP,KAAKyP,QACvDZ,EAAmBU,EAAgB,GAAGvP,KAAKyP,WAG9CxU,MAAO6N,IACN5N,QAAQC,IAAI2N,MAEf,IAEH,MAAM4G,EAAO,CACXC,qBAAsB,YACtBC,oBAAqB,WACrBC,mBAAoB,UACpBC,iBAAkB,QAClBC,mBAAoB,UACpBC,iBAAkB,QAClBC,sBAAuB,aACvBC,kBAAmBhW,EAAMkU,gBACzB+B,kBAAmBjW,EAAMmU,iBAGrB+B,EAAgBpB,EAAS,qBAAsB,CACnDqB,SAAU,CACR9U,OAAO,EACP+U,QAAS1U,EAAU,oBAkCvB,OAAI4S,EAEApT,IAAAC,cAAA,OAAKC,UAAU,iBACbF,IAAAC,cAAA,OAAKC,UAAU,sCACbF,IAAAC,cAAA,UAAKO,EAAU,wCAOrBR,IAAAC,cAACD,IAAMkP,SAAQ,KACblP,IAAAC,cAAA,QACEC,UAAS,iBACTiV,SAAUtB,EA5CWjU,IACzB,MAAMwV,EAAkB,CACtBC,UAAW3B,GAEb,IAAK,MAAM4B,KAAa1V,EACtBwV,EAAgBd,EAAKgB,IAAc1V,EAAK0V,GAG1C/V,IAAM,CACJ+N,OAAQ,OACRC,IAAK,wBACLC,QAAS,CACP,eAAgB,mCAElB5N,KAAM,CACJkV,kBAAmBhW,EAAMkU,gBACzB+B,kBAAmBjW,EAAMmU,mBACtBmC,KAGJ1V,KAAMC,IACL0T,GAAoB,GACpBvT,QAAQC,IAAIJ,KAEbE,MAAO6N,IACN6H,MAAM7H,EAAI8H,SAAS5V,MACnBE,QAAQC,IAAI2N,QAmBZ1N,IAAAC,cAAA,OAAKC,UAAS,sCACZF,IAAAC,cAAA,OAAKC,UAAS,wBACZF,IAAAC,cAAA,OAAKC,UAAS,UACZF,IAAAC,cAAA,MAAIC,UAAS,QAAWM,EAAU,cAClCR,IAAAC,cAAA,QAAMC,UAAS,cAAiBM,EAAU,kBAG9CR,IAAAC,cAAA,OAAKC,UAAS,YACZF,IAAAC,cAAA,OAAKC,UAAS,YACZF,IAAAC,cAAA,SAAOwV,QAAQ,uBAAuBvV,UAAU,iBAC9CF,IAAAC,cAAA,QAAMC,UAAU,mBACbM,EAAU,cAEbR,IAAAC,cAAA,QAAMC,UAAU,eAAc,UAEhCF,IAAAC,cAAA,OAAKC,UAAU,eACbF,IAAAC,cAAA,QAAAyV,OAAAC,OAAA,CACEzV,UAAS,SAAAT,OAAWJ,KAAQuW,WAC5BvR,YAAa7D,EAAU,aACvBqI,GAAG,wBACC+K,EAAS,uBAAwB,CACnCqB,SAAU,CACR9U,OAAO,EACP+U,QAAS1U,EAAU,sBAIzBR,IAAAC,cAAA,OAAKC,UAAU,sCACZ8T,EAAOO,qBACNvU,IAAAC,cAAA,QAAMC,UAAU,eACb8T,EAAOO,qBAAqBW,SAE7B,QAIVlV,IAAAC,cAAA,OAAKC,UAAS,YACZF,IAAAC,cAAA,SAAOwV,QAAQ,sBAAsBvV,UAAU,iBAC7CF,IAAAC,cAAA,QAAMC,UAAU,mBAAmBM,EAAU,aAC7CR,IAAAC,cAAA,QAAMC,UAAU,eAAc,UAEhCF,IAAAC,cAAA,OAAKC,UAAU,eACbF,IAAAC,cAAA,QAAAyV,OAAAC,OAAA,CACEzV,UAAS,SAAAT,OAAWJ,KAAQuW,WAC5B/M,GAAG,sBACHxE,YAAa7D,EAAU,aACnBoT,EAAS,sBAAuB,CAClCqB,SAAU,CACR9U,OAAO,EACP+U,QAAS1U,EAAU,sBAIzBR,IAAAC,cAAA,OAAKC,UAAU,sCACZ8T,EAAOQ,oBACNxU,IAAAC,cAAA,QAAMC,UAAU,eACb8T,EAAOQ,oBAAoBU,SAE5B,SAKZlV,IAAAC,cAAA,OAAKC,UAAS,YACZF,IAAAC,cAAA,OAAKC,UAAS,YACZF,IAAAC,cAAA,SAAOwV,QAAQ,qBAAqBvV,UAAU,iBAC5CF,IAAAC,cAAA,QAAMC,UAAU,mBAAmBM,EAAU,YAC7CR,IAAAC,cAAA,QAAMC,UAAU,eAAc,UAEhCF,IAAAC,cAAA,OAAKC,UAAU,eACbF,IAAAC,cAAA,QAAAyV,OAAAC,OAAA,CACEzV,UAAS,SAAAT,OAAWJ,KAAQuW,WAC5B/M,GAAG,qBACHxE,YAAa7D,EAAU,YACnBoT,EAAS,qBAAsB,CACjCqB,SAAU,CACR9U,OAAO,EACP+U,QAAS1U,EAAU,sBAIzBR,IAAAC,cAAA,OAAKC,UAAU,sCACZ8T,EAAOS,mBACNzU,IAAAC,cAAA,QAAMC,UAAU,eACb8T,EAAOS,mBAAmBS,SAE3B,QAIVlV,IAAAC,cAAA,OAAKC,UAAS,YACZF,IAAAC,cAAA,SAAOwV,QAAQ,mBAAmBvV,UAAU,iBAC1CF,IAAAC,cAAA,QAAMC,UAAU,mBAAmBM,EAAU,UAC7CR,IAAAC,cAAA,QAAMC,UAAU,eAAc,UAEhCF,IAAAC,cAAA,OAAKC,UAAU,eACbF,IAAAC,cAAA,QAAAyV,OAAAC,OAAA,CACEzV,UAAS,SAAAT,OAAWJ,KAAQuW,WAC5B/M,GAAG,mBACHxE,YAAa7D,EAAU,UACnBoT,EAAS,mBAAoB,CAC/BqB,SAAU,CACR9U,OAAO,EACP+U,QAAS1U,EAAU,kBAErBqV,QAAS,CACP1V,MACE,yHACF+U,QAAS1U,EAAU,6BAIzBR,IAAAC,cAAA,OAAKC,UAAU,sCACZ8T,EAAOU,iBACN1U,IAAAC,cAAA,QAAMC,UAAU,eACb8T,EAAOU,iBAAiBQ,SAEzB,SAKZlV,IAAAC,cAAA,OAAKC,UAAS,YACZF,IAAAC,cAAA,OAAKC,UAAS,YACZF,IAAAC,cAAA,SAAOwV,QAAQ,qBAAqBvV,UAAU,iBAC5CF,IAAAC,cAAA,QAAMC,UAAU,mBAAmBM,EAAU,YAC7CR,IAAAC,cAAA,QAAMC,UAAU,eAAc,UAEhCF,IAAAC,cAAA,OAAKC,UAAU,eACZoT,EACCtT,IAAAC,cAAA,SAAAyV,OAAAC,OAAA,CACEzV,UAAU,QACV6C,MAAO,CAAE+S,WAAY,UAAWC,cAAe,WAC/C1R,YAAa7D,EAAU,WACvBqI,GAAG,sBACCmM,EAAa,CACjB5U,SAAW8C,IACT8R,EAAc5U,SAAS8C,GACvBuQ,EAAmBvQ,EAAE3C,OAAOJ,UAG7BmT,EAAU3Q,IAAKqT,GAEZhW,IAAAC,cAAA,UAAQQ,IAAKuV,EAAKpR,KAAKyP,OAAQlU,MAAO6V,EAAKpR,KAAKyP,QAC7C2B,EAAKpR,KAAKyP,UAMnBrU,IAAAC,cAAA,QAAAyV,OAAAC,OAAA,CACEtR,YAAa7D,EAAU,WACvBN,UAAU,QACV2I,GAAG,sBACC+K,EAAS,qBAAsB,CACjCqB,SAAU,CACR9U,OAAO,EACP+U,QAAS1U,EAAU,sBAK3BR,IAAAC,cAAA,OAAKC,UAAU,sCACZ8T,EAAOW,mBACN3U,IAAAC,cAAA,QAAMC,UAAU,eACb8T,EAAOW,mBAAmBO,SAE3B,QAIVlV,IAAAC,cAAA,OAAKC,UAAS,YACZF,IAAAC,cAAA,SAAOwV,QAAQ,mBAAmBvV,UAAU,iBAC5CF,IAAAC,cAAA,QAAMC,UAAU,mBAAkB,kBAQhCF,IAAAC,cAAA,QAAMC,UAAU,eAAc,UAEX,6BAApBsT,GACmB,WAApBA,EACExT,IAAAC,cAAA,SAAAyV,OAAAC,OAAA,CACEzV,UAAU,wBACV6C,MAAO,CAAE+S,WAAY,UAAWC,cAAe,WAC/ClN,GAAG,oBACC+K,EAAS,mBAAoB,CAC/BqB,SAAU,CACR9U,OAAO,EACP+U,QAAS1U,EAAU,kBAErByV,SAAU,CACRC,YAAc/V,GACE,WAAVA,GACKK,EAAU,qBAQzBR,IAAAC,cAAA,UACEC,UAAU,kBACVC,MAAOK,EAAU,WAEhBA,EAAU,WAEQ,WAApBgT,EACGV,GAAkBnQ,IAAKwT,GAEnBnW,IAAAC,cAAA,UACEQ,IAAK0V,EACLjW,UAAU,kBACVC,MAAOgW,GAENA,IAIPtD,GAASlQ,IAAKyT,GAEVpW,IAAAC,cAAA,UACEQ,IAAK2V,EACLlW,UAAU,kBACVC,MAAOiW,GAENA,KAMbpW,IAAAC,cAAA,QAAAyV,OAAAC,OAAA,CACEzV,UAAU,wBACV2I,GAAG,oBACC+K,EAAS,mBAAoB,CAC/BqB,SAAU,CACR9U,OAAO,EACP+U,QAAS1U,EAAU,sBAK3BR,IAAAC,cAAA,OAAKC,UAAU,sCACZ8T,EAAOY,iBACN5U,IAAAC,cAAA,QAAMC,UAAU,eACb8T,EAAOY,iBAAiBM,SAEzB,QAIVlV,IAAAC,cAAA,OAAKC,UAAS,OACZF,IAAAC,cAAA,OAAKC,UAAS,SACZF,IAAAC,cAAA,SAAOwV,QAAQ,wBAAwBvV,UAAU,iBAC/CF,IAAAC,cAAA,QAAMC,UAAU,mBAAmBM,EAAU,YAC7CR,IAAAC,cAAA,QAAMC,UAAU,eAAc,UAEhCF,IAAAC,cAAA,OAAKC,UAAU,eACbF,IAAAC,cAAA,QAAAyV,OAAAC,OAAA,CACEtR,YAAa7D,EAAU,WACvBN,UAAS,QACT2I,GAAG,yBACC+K,EAAS,wBAAyB,CACpCqB,SAAU,CACR9U,OAAO,EACP+U,QAAS1U,EAAU,sBAQzBR,IAAAC,cAAA,OAAKC,UAAU,sCACZ8T,EAAOa,sBACN7U,IAAAC,cAAA,QAAMC,UAAU,eACb8T,EAAOa,sBAAsBK,SAE9B,QAIVlV,IAAAC,cAAA,OAAKC,UAAS,SACZF,IAAAC,cAAA,OAAKC,UAAU,+DACbF,IAAAC,cAAA,UAAKO,EAAU,UACfR,IAAAC,cAAA,SAAIO,EAAU,4BACdR,IAAAC,cAAA,OAAKC,UAAU,0CACbF,IAAAC,cAAA,SAAOC,UAAS,mBACdF,IAAAC,cAAA,SACEG,SAAW8C,GACFyQ,GACJD,GAGLvT,MAAOuT,EACP9U,KAAK,WACLsB,UAAS,SAEXF,IAAAC,cAAA,QACEC,UAAS,mBAAAT,OACPiU,EACI,aACA,wBAGPlT,EAAU,kBAGfR,IAAAC,cAAA,SAAIO,EAAU,sBACdR,IAAAC,cAAA,SAAIO,EAAU,uBACdR,IAAAC,cAAA,OAAKC,UAAU,uDACbF,IAAAC,cAAA,SACEC,UAAS,4BACTC,MAAOK,EAAU,UACjB5B,KAAK,WAEPoB,IAAAC,cAAC2F,IAAI,CAACC,GAAG,IAAI3F,UAAS,uBACnBM,EAAU,oB,wBClf/B,MAAM6V,WAAsBvV,YAC1BC,SAIE,OACEf,IAAAC,cAAA,OAAKC,UAAS,aACZF,IAAAC,cAAA,OAAKC,UAAS,YACZF,IAAAC,cAAA,OAAKC,UAAS,UACZF,IAAAC,cAAA,OACEC,UAAS,2EAETF,IAAAC,cAAA,QAAMC,UAAS,kBAAAT,OAAoBJ,KAAQiX,cACxC9V,EAAU,eAEbR,IAAAC,cAAA,MACEC,UAAS,qCAAAT,OAAuCJ,KAAQkX,aAEvD/V,EAAU,aAEbR,IAAAC,cAAA,KAAGC,UAAS,GAAAT,OAAKJ,KAAQkX,aACtB/V,EAAU,uBAKnBR,IAAAC,cAAA,OAAKC,UAAS,OACZF,IAAAC,cAAA,OAAKC,UAAS,mBACZF,IAAAC,cAAC2F,IAAI,CAACC,GAAG,uBACP7F,IAAAC,cAAA,OACEC,UAAS,iBAAAT,OAAmBJ,KAAQmX,MACpCzQ,IA7Ba,iCA8BbD,IAAI,6BAIV9F,IAAAC,cAAA,OAAKC,UAAS,mBACZF,IAAAC,cAAC2F,IAAI,CAACC,GAAG,uBACP7F,IAAAC,cAAA,OACEC,UAAS,gBACT6F,IArCa,8BAsCbD,IAAI,2BAKZ9F,IAAAC,cAAA,OAAKC,UAAS,OACZF,IAAAC,cAAA,OAAKC,UAAU,UACbF,IAAAC,cAAA,OAAKC,UAAS,uGAAAT,OAAyGJ,KAAQkX,aAI7HvW,IAAAC,cAAA,MAAIC,UAAS,QAAAT,OAAUJ,KAAQkX,aAC5B/V,EAAU,+BAEbR,IAAAC,cAAA,WACED,IAAAC,cAAA,KACEgH,KAAK,wEACL1G,OAAO,UAEPP,IAAAC,cAAA,UAAQC,UAAS,wBACdM,EAAU,cAGfR,IAAAC,cAAC2F,IAAI,CAAC1F,UAAS,oBAAuB2F,GAAG,YACtCrF,EAAU,oBAW7B,MAIaiW,GAAOnY,YAJIC,IAAuB,IAAtB,aAAEC,GAAcD,EACvC,MAAO,CAAEC,iBAGSF,CAAyB+X,I,OC3E9B,MAAMK,WAAY5V,YAC/BC,SACE,OACEf,IAAAC,cAACmI,EAAM,KACLpI,IAAAC,cAAC0W,IAAM,KACL3W,IAAAC,cAAC2W,IAAK,CAACrP,KAAK,QAAQsP,UAAWJ,KAC/BzW,IAAAC,cAAC2W,IAAK,CAACrP,KAAK,sBAAsBsP,UAAW9G,KAC7C/P,IAAAC,cAAC2W,IAAK,CAACrP,KAAK,sBAAsBsP,UAAWC,KAC7C9W,IAAAC,cAAC2W,IAAK,CAACrP,KAAK,WAAWsP,UAAW9D,KAClC/S,IAAAC,cAAC8W,IAAQ,CAAClR,GAAG,aCTvB,MAAMmR,GAAcC,QACW,cAA7BC,OAAOC,SAASC,UAEa,UAA7BF,OAAOC,SAASC,UAEhBF,OAAOC,SAASC,SAASC,MACvB,2DA6BJ,SAASC,GAAiBC,GACxBC,UAAUC,cACP7D,SAAS2D,GACT7X,KAAKgY,IACJA,EAAaC,cAAgB,KAC3B,MAAMC,EAAmBF,EAAaG,WACtCD,EAAiBE,cAAgB,KACA,cAA3BF,EAAiBxS,QACfoS,UAAUC,cAAcM,WAK1BjY,QAAQC,IAAI,6CAKZD,QAAQC,IAAI,2CAMrBF,MAAMmY,IACLlY,QAAQkY,MAAM,4CAA6CA,K,sBCpE1D,MAAMC,GAAuBxV,GACzBlD,IAAM,CACT+N,OAAQ,OACRC,IAAK,sCACLC,QAAS,CACL,eAAgB,mCAEpB5N,KAAM6C,ICLd,SAAUyV,GAAaC,GACnB,MAAM/S,QAAcgT,eACpB,IACI,MAAM5C,QAAiB6C,aAAKJ,GAAqB,IAAI7S,EAAMnE,WAAYkX,EAAOtZ,gBACxEyZ,aAAI,CAAE1Z,KAAM1B,EAAqBG,cAAewB,QAAS2W,EAAS5V,OAC1E,MAAO8N,GACL5N,QAAQC,IAAI2N,ICOpB,MAAM6K,GAAUC,SAASC,qBAAqB,QAAQ,GAAGC,aAAa,QAChEC,GAAcH,SAASI,eAAe,QAEtCC,GAAcC,YAAgB,CAChC7X,Q7BPwB,WAAmC,IAAlCmE,EAAKD,UAAA/C,OAAA,QAAA0K,IAAA3H,UAAA,GAAAA,UAAA,GAAGzH,EAAcya,EAAMhT,UAAA/C,OAAA,EAAA+C,UAAA,QAAA2H,EACvD,OAAQqL,EAAOvZ,MACb,KAAK1B,EAAqBC,YACxB,MAAO,IAAKiI,KAAU+S,EAAOtZ,SAC/B,QACE,MAAO,IAAKuG,K6BGduL,Q5BlB0B,WAAmC,IAAlCvL,EAAKD,UAAA/C,OAAA,QAAA0K,IAAA3H,UAAA,GAAAA,UAAA,GAAGzH,EAAcya,EAAMhT,UAAA/C,OAAA,EAAA+C,UAAA,QAAA2H,EACvD,OAAQqL,EAAOvZ,MACX,KAAK1B,EAAqBG,cACtB,MAAO,IAAI8a,EAAOtZ,SACtB,QACI,MAAO,IAAIuG,K4BcnB5G,a1BnB+B,WAAmC,IAAlC4G,EAAKD,UAAA/C,OAAA,QAAA0K,IAAA3H,UAAA,GAAAA,UAAA,GAAGzH,EAAcya,EAAMhT,UAAA/C,OAAA,EAAA+C,UAAA,QAAA2H,EAC5D,OAAQqL,EAAOvZ,MACX,KAAK1B,EAAqBI,mBACtB,MAAO,IAAI6a,EAAOtZ,SACtB,QACI,MAAO,IAAIuG,K0BenBjE,O9BpByB,WAAmC,IAAlCiE,EAAKD,UAAA/C,OAAA,QAAA0K,IAAA3H,UAAA,GAAAA,UAAA,GAAGzH,EAAcya,EAAMhT,UAAA/C,OAAA,EAAA+C,UAAA,QAAA2H,EACxD,OAAQqL,EAAOvZ,MACb,KAAK1B,EAAqBE,aACxB,MAAO,IAAK+a,EAAOtZ,SACrB,QACE,MAAO,IAAKuG,K8BgBd+N,c3BlBgC,WAAmC,IAAlC/N,EAAKD,UAAA/C,OAAA,QAAA0K,IAAA3H,UAAA,GAAAA,UAAA,GAAGzH,EAAcya,EAAMhT,UAAA/C,OAAA,EAAA+C,UAAA,QAAA2H,EAC/D,OAAQqL,EAAOvZ,MACb,KAAK1B,EAAqBK,SAASC,sBACjC,MAAO,IACF4H,EACHhH,gBAAiB+Z,EAAOtZ,SAE5B,KAAK3B,EAAqBK,SAASE,mBACjC,MAAO,IACF2H,EACH/G,aAAc8Z,EAAOtZ,SAEzB,QACE,MAAO,IAAKuG,O2BQZ2T,GAAiBC,eAEVrY,GAAQsY,YAAYJ,GAAaK,YAAgBH,KAC9DA,GAAeI,KDjBR,kBACGC,aAAUlc,EAAqBC,YAAa+a,OCkBtDmB,IAAStY,OACLf,IAAAC,cAACqZ,IAAQ,CAAC3Y,MAAOA,IACbX,IAAAC,cAACsZ,IAAa,CAACC,SAAUjB,IACrBvY,IAAAC,cAACyW,GAAG,QAGZiC,IHnBW,WACb,GAA6C,kBAAmBnB,UAAW,CAGzE,GADkB,IAAIiC,IAAIC,GAAwBxC,OAAOC,UAC3CwC,SAAWzC,OAAOC,SAASwC,OAIvC,OAGFzC,OAAO0C,iBAAiB,OAAQ,KAC9B,MAAMrC,EAAK,GAAA9X,OAAMia,GAAsB,sBAEnC1C,GAwCV,SAAkCO,GAEhCsC,MAAMtC,GACH7X,KAAK8V,IAGkB,MAApBA,EAAStB,SACuD,IAAhEsB,EAAShI,QAAQhO,IAAI,gBAAgB6O,QAAQ,cAG7CmJ,UAAUC,cAAcqC,MAAMpa,KAAKgY,IACjCA,EAAaqC,aAAara,KAAK,KAC7BwX,OAAOC,SAAS6C,aAKpB1C,GAAgBC,KAGnB1X,MAAM,KACLC,QAAQC,IACN,mEA5DAka,CAAwB1C,GAGxBD,GAAgBC,MGGxB2C,I,mBCzCAC,EAAOC,QAAU,CAAC,oBAAsB,6CAA6C,aAAe,sCAAsC,IAAM,6BAA6B,eAAiB,wCAAwC,SAAW,kCAAkC,UAAY,mCAAmC,WAAa,sC,mBCA/UD,EAAOC,QAAU,CAAC,YAAc,0BAA0B,WAAa,yBAAyB,KAAO,qB,mBCAvGD,EAAOC,QAAU,CAAC,gBAAkB,4CAA4C,uBAAyB,mDAAmD,aAAe,yCAAyC,mBAAqB,iD,mBCAzOD,EAAOC,QAAU,CAAC,WAAa,2BAA2B,qBAAuB,qCAAqC,UAAY,0BAA0B,eAAiB,+BAA+B,UAAY,4B,mBCAxND,EAAOC,QAAU,CAAC,gBAAkB,uCAAuC,UAAY,mC,mBCDvFD,EAAOC,QAAU,IAA0B,8C,mBCC3CD,EAAOC,QAAU,CAAC,cAAgB,sCAAsC,WAAa,mCAAmC,0BAA4B,kDAAkD,qBAAuB,+C,mBCA7ND,EAAOC,QAAU,CAAC,SAAW,kCAAkC,gBAAkB,yCAAyC,mBAAqB,4CAA4C,aAAe,sCAAsC,yBAA2B,kDAAkD,eAAiB,0C,mBCA9UD,EAAOC,QAAU,CAAC,kBAAoB,mDAAmD,UAAY,6C,mBCArGD,EAAOC,QAAU,CAAC,kBAAoB,iDAAiD,UAAY,2C,mBCAnGD,EAAOC,QAAU,CAAC,kBAAoB,kDAAkD,UAAY,4C,mBCApGD,EAAOC,QAAU,CAAC,QAAU,yBAAyB,cAAgB,iC,mBCArED,EAAOC,QAAU,CAAC,gBAAkB,kC,mBCApCD,EAAOC,QAAU,CAAC,cAAgB,yC","file":"static/js/main.6e1398b6.chunk.js","sourcesContent":["export const ServiceStrings = {\r\n redux: {\r\n queryUpdate: \"QUERY UPDATE\",\r\n limitsUpdate: \"LIMITS UPDATE\",\r\n resultsUpdate: \"RESULTS UPDATE\",\r\n translationsUpdate: \"TRANSLATIONS UPDATE\",\r\n software: {\r\n activitySectorsUpdate: \"SOFTWARE ACTIVITY SECTORS UPDATE\",\r\n softwareUsedUpdate: \"SOFTWARE SOFTWARE USED UPDATE\"\r\n }\r\n }\r\n}","import { ServiceStrings } from \"../../ServiceStrings\";\r\n\r\nconst initialState = {};\r\n\r\nexport const limitsReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case ServiceStrings.redux.limitsUpdate:\r\n return { ...action.payload };\r\n default:\r\n return { ...state };\r\n }\r\n};\r\n","import { ServiceStrings } from \"../../ServiceStrings\";\r\n\r\nconst initialState = {\r\n isTensorCores: null,\r\n isVRReady: null,\r\n isVirtualLink: null,\r\n isNVLink: null,\r\n isECC: null,\r\n isMosaicTechnology: null,\r\n isPowerConnectorNeeded: null,\r\n isPassiveCooling: null,\r\n DistributorKey: null\r\n};\r\n\r\nexport const queryReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case ServiceStrings.redux.queryUpdate:\r\n return { ...state, ...action.payload };\r\n default:\r\n return { ...state };\r\n }\r\n};\r\n","import { ServiceStrings } from \"../../ServiceStrings\";\r\n\r\nconst initialState = [];\r\n\r\nexport const resultsReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case ServiceStrings.redux.resultsUpdate:\r\n return [...action.payload];\r\n default:\r\n return [...state];\r\n }\r\n};","import { ServiceStrings } from \"../../ServiceStrings\";\r\n\r\nconst initialState = {\r\n activitySectors: [],\r\n softwareUsed: []\r\n};\r\n\r\nexport const softwareQueryReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case ServiceStrings.redux.software.activitySectorsUpdate:\r\n return {\r\n ...state,\r\n activitySectors: action.payload,\r\n };\r\n case ServiceStrings.redux.software.softwareUsedUpdate:\r\n return {\r\n ...state,\r\n softwareUsed: action.payload\r\n };\r\n default:\r\n return { ...state };\r\n }\r\n};\r\n","import { ServiceStrings } from \"../../ServiceStrings\";\r\n\r\nconst initialState = {};\r\n\r\nexport const translationsReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case ServiceStrings.redux.translationsUpdate:\r\n return {...action.payload};\r\n default:\r\n return {...state};\r\n }\r\n};","import React, { useEffect, useState } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport axios from \"axios\";\r\nimport { ServiceStrings } from \"../../ServiceStrings\";\r\n// import classes from \"./LanguageSelector.module.scss\";\r\n\r\nconst LanguageSelector = (props) => {\r\n const [language, setLanguage] = useState(\r\n localStorage.getItem(\"language\") ?? \"en\"\r\n );\r\n\r\n const { classes } = props;\r\n\r\n useEffect(() => {\r\n axios\r\n .get(`/api/translation/dictionary?lang=${language}`)\r\n .then((res) => props.updateTranslations(res.data))\r\n .catch(console.log);\r\n }, [language]);\r\n\r\n return (\r\n {\r\n localStorage.setItem(\"language\", event.target.value);\r\n setLanguage(event.target.value);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = ({ translations }) => {\r\n return { translations };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n updateTranslations: (translationsData) =>\r\n dispatch({ type: ServiceStrings.redux.translationsUpdate, payload: translationsData })\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(LanguageSelector);\r\n","import { store } from './index';\r\n\r\nexport const translate = (key) => {\r\n const translations = store.getState().translations;\r\n return translations[key] ?? key;\r\n}","import React, { Component } from \"react\";\r\nimport classes from \"./SearchFieldBubbles.module.scss\";\r\nimport { faTimesCircle } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { connect } from \"react-redux\";\r\nimport { translate } from \"../../translate\";\r\nimport { ServiceStrings } from \"../../ServiceStrings\";\r\n\r\nclass SearchFieldBubble extends Component {\r\n render() {\r\n const activeQueriesAsArray = [];\r\n const { queries, updateQuery, limits } = this.props;\r\n const {\r\n memoryMin,\r\n memoryMax,\r\n cudaCoresMin,\r\n cudaCoresMax,\r\n memoryBandwidthMin,\r\n memoryBandwidthMax,\r\n memoryInterfaceMin,\r\n memoryInterfaceMax,\r\n maximumActiveDisplaysMin,\r\n maximumActiveDisplaysMax,\r\n maxPowerConsumptionMin,\r\n maxPowerConsumptionMax,\r\n ...remaining\r\n } = queries;\r\n\r\n const arr = [\r\n [\"memory\", \"memoryMin\", \"memoryMax\"],\r\n [\"cudaCores\", \"cudaCoresMin\", \"cudaCoresMax\"],\r\n [\"memoryBandwidth\", \"memoryBandwidthMin\", \"memoryBandwidthMax\"],\r\n [\"memoryInterface\", \"memoryInterfaceMin\", \"memoryInterfaceMax\"],\r\n [\"maximumActiveDisplays\", \"maximumActiveDisplaysMin\", \"maximumActiveDisplaysMax\"],\r\n [\"displayConnectors\", \"displayConnectorsMin\", \"displayConnectorsMax\"],\r\n [\"maxPowerConsumption\", \"maxPowerConsumptionMin\", \"maxPowerConsumptionMax\"],\r\n [\"numberOfSlots\", \"numberOfSlotsMin\", \"numberOfSlotsMax\"],\r\n ];\r\n\r\n for (let i = 0; i < arr.length; i++) {\r\n const translation = arr[i][0];\r\n const minKey = arr[i][1];\r\n const maxKey = arr[i][2];\r\n if (queries[minKey] !== limits[minKey] || queries[maxKey] !== limits[maxKey]) {\r\n activeQueriesAsArray.push({\r\n translation,\r\n key: [ minKey, maxKey ],\r\n value: [ queries[minKey], queries[maxKey] ]\r\n });\r\n }\r\n }\r\n\r\n for (const query in remaining) {\r\n if (queries[query] !== null && queries[query] !== limits[query]) {\r\n if (query === \"gpuArchitectures\" && !queries[query].length) {\r\n continue;\r\n }\r\n activeQueriesAsArray.push({\r\n translation: query,\r\n key: query,\r\n value: queries[query]\r\n });\r\n }\r\n }\r\n\r\n return (\r\n \r\n {activeQueriesAsArray.map(({ translation, key, value }, index) => {\r\n if (translation === \"gpuArchitectures\") {\r\n return value.map((arch) => {\r\n return (\r\n
  • \r\n \r\n {arch}\r\n {\r\n updateQuery({\r\n gpuArchitectures: value.filter((n) => n != arch)\r\n });\r\n }}\r\n >\r\n \r\n \r\n \r\n
  • \r\n );\r\n });\r\n }\r\n let translated = translate(\"yes\");\r\n if (value === false) {\r\n translated = translate(\"no\");\r\n } else if (value !== true) {\r\n translated = value;\r\n }\r\n const liIsForMinMax = Array.isArray(value);\r\n let bubbleValue;\r\n if (liIsForMinMax) {\r\n if (value[0] === value[1]) {\r\n bubbleValue = value[0];\r\n } else {\r\n bubbleValue = value.join(\" - \");\r\n }\r\n } else {\r\n bubbleValue = translated;\r\n }\r\n return (\r\n
  • \r\n \r\n \r\n {translate(translation)}: {bubbleValue}\r\n \r\n {\r\n if (liIsForMinMax) {\r\n updateQuery({\r\n [key[0]]: limits[key[0]],\r\n [key[1]]: limits[key[1]]\r\n });\r\n } else {\r\n const example = { [key]: limits[key] ?? null };\r\n updateQuery({ [key]: limits[key] ?? null });\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n
  • \r\n );\r\n })}\r\n {activeQueriesAsArray.find((q) => q.translation === \"textQuery\") ? null : (\r\n
  • \r\n {\r\n this.props.updateTextQuery(event.target.value);\r\n }}\r\n onKeyDown={(ev) => {\r\n if (\r\n ev.key === \"Backspace\" &&\r\n ev.target.value === \"\" &&\r\n activeQueriesAsArray.length > 0\r\n ) {\r\n const queryName =\r\n activeQueriesAsArray[activeQueriesAsArray.length - 1].name;\r\n updateQuery({\r\n [queryName]: limits[queryName] ?? null\r\n });\r\n } else if (\r\n ev.key === \"Enter\" &&\r\n ev.target.value.trim() !== \"\"\r\n ) {\r\n this.props.sendNewQuery();\r\n }\r\n }}\r\n />\r\n
  • \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = ({ queries, limits }) => {\r\n return { queries, limits };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n updateQuery: (changedQuery) => {\r\n dispatch({ type: ServiceStrings.redux.queryUpdate, payload: changedQuery });\r\n }\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SearchFieldBubble);\r\n","import React, { Component } from 'react';\r\nimport { Navbar, NavbarBrand } from 'reactstrap';\r\n// import { Collapse, Container, NavbarToggler, NavItem, NavLink } from 'reactstrap';\r\nimport { faSearch } from '@fortawesome/free-solid-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Link } from 'react-router-dom';\r\nimport LanguageSelector from '../../LanguageSelector/LanguageSelector';\r\nimport classes from './CatalogNavMenu.module.scss';\r\nimport SearchFieldBubbles from '../../SearchFieldBubbles/SearchFieldBubbles';\r\nimport { connect } from 'react-redux';\r\nimport { translate } from '../../../translate';\r\nimport { ServiceStrings } from '../../../ServiceStrings';\r\n\r\nexport class CatNavMenu extends Component {\r\n static displayName = CatNavMenu.name;\r\n\r\n state = {\r\n collapsed: true,\r\n textQuery: \"\"\r\n };\r\n\r\n toggleNavbar = () => {\r\n this.setState(prevState => {\r\n return {\r\n ...prevState,\r\n collapsed: !prevState.collapsed\r\n }\r\n });\r\n }\r\n\r\n sendNewQuery = () => {\r\n if (this.state.textQuery.length) {\r\n this.props.updateQuery({ textQuery: this.state.textQuery });\r\n }\r\n this.setState({ textQuery: \"\" });\r\n }\r\n\r\n render() {\r\n const blackLogoImg = \"./images/logo-black.png\" || null;\r\n return (\r\n
    \r\n \r\n \r\n \"Logo\r\n \r\n
    \r\n \r\n {translate(\"searchBy\")}\r\n

    {translate(\"hardwareFeatures\")}

    \r\n
    \r\n
    \r\n {\r\n this.setState({ textQuery: text });\r\n }} \r\n sendNewQuery={this.sendNewQuery}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {translate(\"contactUs\")}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = ({ translations, queries }) => {\r\n return { translations, queries };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n updateQuery: (query) => {\r\n dispatch({ type: ServiceStrings.redux.queryUpdate, payload: query })\r\n }\r\n }\r\n}\r\n\r\nexport const CatalogNavMenu = connect(mapStateToProps, mapDispatchToProps)(CatNavMenu);","import React, { Component } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { translate } from \"../../../translate\";\r\nimport { Navbar, NavbarBrand } from \"reactstrap\";\r\nimport LanguageSelector from \"../../LanguageSelector/LanguageSelector\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faAngleDoubleRight } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { faPaperPlane } from \"@fortawesome/free-regular-svg-icons\";\r\nimport { connect } from \"react-redux\";\r\n\r\nclass StandardNavMenuComponent extends Component {\r\n render() {\r\n const whiteLogo = \"./images/logo-white.png\" || null;\r\n return (\r\n
    \r\n \r\n
    \r\n \r\n \"PNY\r\n \r\n \r\n {translate(\"learnMoreAboutUs\")}\r\n  \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n   PNY Pro Newsletter\r\n \r\n
    \r\n \r\n {translate(\"contactUs\")}\r\n \r\n \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = ({ translations }) => {\r\n return { translations };\r\n}\r\n\r\nexport const StandardNavMenu = connect(mapStateToProps)(StandardNavMenuComponent);\r\n","import React from \"react\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Container, Col, Row } from \"reactstrap\";\r\nimport classes from \"./Footer.module.scss\";\r\nimport {\r\n faFacebook,\r\n faInstagram,\r\n faLinkedin,\r\n faXTwitter,\r\n faYoutube,\r\n} from \"@fortawesome/free-brands-svg-icons\";\r\nimport { translate } from \"../../translate\";\r\nimport { connect } from \"react-redux\";\r\n\r\n// const logoXTwitter = \"./images/twitter-pro.svg\";\r\n\r\nconst FooterComponent = (props) => {\r\n // required\r\n const { translations } = props;\r\n const socialMediaIcons = [\r\n {\r\n path: \"https://bit.ly/3cvGiX5\",\r\n icon: faXTwitter,\r\n },\r\n {\r\n path: \"https://bit.ly/2WTmdmP\",\r\n icon: faFacebook,\r\n },\r\n {\r\n path: \"https://bit.ly/2WPYPXy\",\r\n icon: faYoutube,\r\n },\r\n {\r\n path: \"https://bit.ly/2Z0refW\",\r\n icon: faLinkedin,\r\n },\r\n {\r\n path: \"https://bit.ly/2T1plMd\",\r\n icon: faInstagram,\r\n },\r\n ];\r\n\r\n const NVIDIABlackLogo = \"./images/PNY-NVIDIA-Lockup-Dark-Background.png\";\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n {translate(\"copyrightMessage\")}\r\n \r\n \r\n
    \r\n
    \r\n
    Connect
    \r\n {socialMediaIcons.map((iconData) => {\r\n const { path, icon } = iconData;\r\n return (\r\n \r\n \r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n {translate(\"termsOfUse\")}\r\n \r\n   ·  \r\n \r\n {translate(\"privacyPolicy\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n translations: state.translations,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(FooterComponent);\r\n","import React from 'react';\r\nimport { StandardNavMenu, CatalogNavMenu } from './NavMenus';\r\nimport { useLocation } from 'react-router-dom';\r\nimport Footer from './Footer/Footer';\r\n\r\nexport const Layout = (props) => {\r\n const location = useLocation();\r\n const path = location.pathname;\r\n let navMenu = ;\r\n if (path === '/search-by-hardware') {\r\n navMenu = ;\r\n }\r\n return (\r\n
    \r\n {navMenu}\r\n {props.children}\r\n
    \r\n
    \r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport GraphicsCardImage from \"../../../images/quadro-rtx8000-1.jpg\";\r\nimport { FormGroup, Input, Label } from \"reactstrap\";\r\nimport { translate } from \"../../../translate\";\r\nimport classes from \"./Result.module.scss\";\r\n\r\nconst Result = ({ data, changeCompare, comparatorChecked }) => {\r\n const {\r\n id,\r\n displayName,\r\n cudaCores,\r\n memory,\r\n numberOfSlots,\r\n maxPowerConsumption,\r\n isPowerConnectorNeeded,\r\n isPassiveCooling,\r\n displayConnectors,\r\n maximumActiveDisplays,\r\n isMosaicTechnology,\r\n memoryBandwidth,\r\n memoryInterface,\r\n isECC,\r\n isTensorCores,\r\n isVRReady,\r\n isVirtualLink,\r\n isNVLink,\r\n gpuArchitecture,\r\n } = data;\r\n\r\n const rowData = [\r\n { title: \"cudaCores\", value: cudaCores },\r\n { title: \"memory\", value: memory },\r\n { title: \"numberOfSlots\", value: numberOfSlots },\r\n { title: \"maxPowerConsumption\", value: maxPowerConsumption },\r\n { title: \"isPowerConnectorNeeded\", value: isPowerConnectorNeeded },\r\n { title: \"isPassiveCooling\", value: isPassiveCooling },\r\n { title: \"displayConnectors\", value: displayConnectors },\r\n { title: \"maximumActiveDisplays\", value: maximumActiveDisplays },\r\n { title: \"isMosaicTechnology\", value: isMosaicTechnology },\r\n { title: \"memoryBandwidth\", value: memoryBandwidth },\r\n { title: \"memoryInterface\", value: memoryInterface },\r\n { title: \"isECC\", value: isECC },\r\n { title: \"gpuArchitecture\", value: gpuArchitecture },\r\n { title: \"isTensorCores\", value: isTensorCores },\r\n { title: \"isVRReady\", value: isVRReady },\r\n { title: \"isVirtualLink\", value: isVirtualLink },\r\n { title: \"isNVLink\", value: isNVLink },\r\n ];\r\n\r\n let image = GraphicsCardImage;\r\n if (data.imagePaths[0]) {\r\n image = `./images/${data.imagePaths[0]}`;\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n {/*

    {displayName}

    */}\r\n

    \r\n \r\n \r\n {translate(\"buyNow\")}\r\n \r\n \r\n {translate(\"learnMore\")}\r\n \r\n \r\n \r\n \r\n {\r\n changeCompare(id, comparatorChecked ? \"Remove\" : \"Add\");\r\n }}\r\n type=\"checkbox\"\r\n className={`${classes.checkmarkInput} mb-1 mr-3`}\r\n checked={comparatorChecked}\r\n name={\"Add To Comparator\"}\r\n />\r\n \r\n {translate(\"addToCompare\")}\r\n \r\n \r\n \r\n
    \r\n {rowData.slice(0, rowData.length - 1).map((data, index) => {\r\n const { value, title } = data;\r\n let val = value;\r\n if (value === true) {\r\n val = translate(\"yes\");\r\n } else if (value === false) {\r\n val = translate(\"no\");\r\n }\r\n return (\r\n \r\n {translate(title)}\r\n {val}\r\n
    \r\n );\r\n })}\r\n \r\n \r\n

    \r\n );\r\n};\r\n\r\nexport default Result;\r\n","import React, { Component } from 'react';\r\nimport { FormGroup, Input, Label } from 'reactstrap';\r\nimport { faChevronCircleUp, faChevronCircleDown } from '@fortawesome/free-solid-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { SizeMe } from 'react-sizeme';\r\nimport classes from './CheckboxFilterAccordion.module.scss';\r\n\r\n//This component accepts either props for a boolean filter or children which it will wrap around and provide collapse functionality\r\nclass CheckboxFilterAccordion extends Component {\r\n state = {\r\n show: true,\r\n optionsDivHeight: null,\r\n }\r\n\r\n updateFilterValue = (queryName, value) => {\r\n const { currentlySelected, optHandler } = this.props;\r\n optHandler({[queryName]: currentlySelected === value ? null : value});\r\n };\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {({ size }) => {\r\n if (!this.state.optionsDivHeight && size.height) {\r\n this.setState({\r\n optionsDivHeight: size.height + 'px',\r\n });\r\n }\r\n return
    \r\n {this.props.options.map(({ label, callbackValue }, index) => {\r\n const checked = callbackValue === this.props.currentlySelected; \r\n return \r\n \r\n \r\n })}\r\n
    \r\n }}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default CheckboxFilterAccordion;","import React, { Component } from 'react';\r\nimport { SizeMe } from 'react-sizeme';\r\nimport { faChevronCircleUp, faChevronCircleDown } from '@fortawesome/free-solid-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Range } from 'rc-slider';\r\nimport classes from './SliderFilterAccordion.module.scss';\r\nimport { connect } from 'react-redux';\r\n\r\n//This component accepts either props for a boolean filter or children which it will wrap around and provide collapse functionality\r\nclass SliderFilterAccordion extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n show: true,\r\n optionsDivHeight: null,\r\n currMin: this.props.min,\r\n currMax: this.props.max,\r\n };\r\n }\r\n\r\n render() {\r\n const { filterTitle, rangeName, min, max, onAfterChange, curValues } = this.props;\r\n const minToShow = this.state.currMin ?? curValues[0];\r\n const maxToShow = this.state.currMax ?? curValues[1];\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {({ size }) => {\r\n if (!this.state.optionsDivHeight && size.height) {\r\n this.setState({\r\n optionsDivHeight: size.height + 'px',\r\n })\r\n }\r\n return
    \r\n

    {minToShow}-{maxToShow}

    \r\n {\r\n if (this.state.currMin === null || this.state.currMin === undefined) {\r\n return;\r\n }\r\n onAfterChange(this.state.currMin, this.state.currMax);\r\n this.setState({\r\n currMin: null,\r\n currMax: null,\r\n });\r\n }}\r\n onChange={(values) => {\r\n this.setState({\r\n currMin: values[0],\r\n currMax: values[1]\r\n });\r\n }}\r\n allowCross={false}\r\n value={[minToShow, maxToShow]}\r\n />\r\n
    \r\n }}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default SliderFilterAccordion;","import React, { Component } from 'react';\r\nimport { SizeMe } from 'react-sizeme';\r\nimport { faChevronCircleUp, faChevronCircleDown } from '@fortawesome/free-solid-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport classes from './FilterAccordionWrapper.module.scss';\r\n\r\n//This component accepts either props for a boolean filter or children which it will wrap around and provide collapse functionality\r\nclass FilterAccordionWrapper extends Component {\r\n state = {\r\n show: true,\r\n optionsDivHeight: null,\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {({ size }) => {\r\n if (!this.state.optionsDivHeight && size.height) {\r\n this.setState({\r\n optionsDivHeight: size.height + 'px',\r\n })\r\n }\r\n return
    \r\n {this.props.children}\r\n
    \r\n }}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default FilterAccordionWrapper;","import React, { Component } from \"react\";\r\nimport { Card, CardBody, Form, FormGroup, Input, Label } from \"reactstrap\";\r\nimport { translate } from \"../../../translate\";\r\nimport \"rc-slider/assets/index.css\";\r\nimport CheckboxFilterAccordion from \"../../common/FilterAccordion/CheckboxFilterAccordion/CheckboxFilterAccordion\";\r\nimport SliderFilterAccordion from \"../../common/FilterAccordion/SliderFilterAccordion/SliderFilterAccordion\";\r\nimport FilterAccordionWrapper from \"../../common/FilterAccordion/FilterAccordionWrapper/FilterAccordionWrapper\";\r\nimport { getHardwareLimits } from \"../../../getHardwareLimits\";\r\nimport { connect } from \"react-redux\";\r\nimport { ServiceStrings } from \"../../../ServiceStrings\";\r\n\r\nclass Sidebar extends Component {\r\n state = {\r\n gpuArchitectures: [],\r\n memoryTypes: [],\r\n };\r\n\r\n componentDidMount() {\r\n getHardwareLimits()\r\n .then((res) => {\r\n const { gpuArchitectures, memoryTypes, ...remaining } = res.data;\r\n const { updateQuery, updateLimits } = this.props;\r\n this.setState({\r\n gpuArchitectures: gpuArchitectures,\r\n memoryTypes: memoryTypes,\r\n });\r\n const limitsAndBooleanQueriesCombined = {\r\n ...this.props.queries,\r\n gpuArchitectures: [],\r\n ...remaining,\r\n };\r\n updateQuery(limitsAndBooleanQueriesCombined);\r\n updateLimits(res.data);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n clearAllFilters = (e) => {\r\n const { gpuArchitectures, memoryTypes, ...remaining } = this.props.limits;\r\n this.props.updateQuery({\r\n ...remaining,\r\n isTensorCores: null,\r\n isVRReady: null,\r\n isVirtualLink: null,\r\n isNVLink: null,\r\n isECC: null,\r\n isPowerConnectorNeeded: null,\r\n isPassiveCooling: null,\r\n isMosaicTechnology: null,\r\n gpuArchitectures: [],\r\n });\r\n };\r\n\r\n render() {\r\n const {\r\n memoryMin,\r\n memoryMax,\r\n cudaCoresMin,\r\n cudaCoresMax,\r\n isTensorCores,\r\n isVRReady,\r\n isVirtualLink,\r\n isNVLink,\r\n isECC,\r\n memoryBandwidthMin,\r\n memoryBandwidthMax,\r\n memoryInterfaceMin,\r\n memoryInterfaceMax,\r\n maximumActiveDisplaysMin,\r\n maximumActiveDisplaysMax,\r\n displayConnectorsMax,\r\n displayConnectorsMin,\r\n isMosaicTechnology,\r\n maxPowerConsumptionMin,\r\n maxPowerConsumptionMax,\r\n isPowerConnectorNeeded,\r\n isPassiveCooling,\r\n numberOfSlotsMin,\r\n numberOfSlotsMax,\r\n } = this.props.queries;\r\n\r\n const { updateQuery, limits } = this.props;\r\n\r\n const { gpuArchitectures } = this.state;\r\n\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n \r\n {translate(\"filterResults\")}\r\n \r\n \r\n {translate(\"clearAllFilters\")}\r\n \r\n
    \r\n \r\n \r\n {gpuArchitectures.sort().map((name) => {\r\n const checked =\r\n this.props.queries.gpuArchitectures?.includes(name) ||\r\n false;\r\n return (\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n
    \r\n\r\n \r\n {\r\n updateQuery({\r\n memoryMin: min,\r\n memoryMax: max,\r\n });\r\n }}\r\n />\r\n \r\n
    \r\n\r\n \r\n {\r\n updateQuery({\r\n cudaCoresMin: min,\r\n cudaCoresMax: max,\r\n });\r\n }}\r\n />\r\n \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n\r\n \r\n {\r\n updateQuery({\r\n memoryBandwidthMin: min,\r\n memoryBandwidthMax: max,\r\n });\r\n }}\r\n />\r\n \r\n
    \r\n \r\n {\r\n updateQuery({\r\n memoryInterfaceMin: min,\r\n memoryInterfaceMax: max,\r\n });\r\n }}\r\n />\r\n \r\n
    \r\n\r\n \r\n {\r\n updateQuery({\r\n maximumActiveDisplaysMin: min,\r\n maximumActiveDisplaysMax: max,\r\n });\r\n }}\r\n />\r\n \r\n
    \r\n\r\n \r\n {\r\n updateQuery({\r\n displayConnectorsMin: min,\r\n displayConnectorsMax: max,\r\n });\r\n }}\r\n />\r\n \r\n
    \r\n\r\n \r\n {\r\n updateQuery({\r\n maxPowerConsumptionMin: min,\r\n maxPowerConsumptionMax: max,\r\n });\r\n }}\r\n />\r\n \r\n
    \r\n\r\n \r\n {\r\n updateQuery({\r\n numberOfSlotsMin: min,\r\n numberOfSlotsMax: max,\r\n });\r\n }}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = ({ queries, limits }) => {\r\n return { queries, limits };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n updateQuery: (changedQueries) => {\r\n dispatch({ type: ServiceStrings.redux.queryUpdate, payload: changedQueries });\r\n },\r\n updateLimits: (limits) => {\r\n dispatch({ type: ServiceStrings.redux.limitsUpdate, payload: limits });\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Sidebar);\r\n","import axios from \"axios\";\r\n\r\nexport const getHardwareLimits = () => {\r\n return axios({\r\n method: \"GET\",\r\n url: \"/api/graphicscards/hardwarelimits\",\r\n headers: {\r\n \"Content-Type\": \"application/json; charset=utf-8\"\r\n }\r\n });\r\n};\r\n","import React, { useState } from \"react\";\r\nimport classes from \"./Overlay.module.scss\";\r\n\r\nexport const Overlay = (props) => {\r\n const { show, onClick, zIndex } = props;\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n","import React, { Component } from \"react\";\r\nimport classes from \"./AddToComparator.module.scss\";\r\nimport GraphicsCardImage from \"../../../images/quadro-rtx8000-1.jpg\";\r\nimport { Overlay } from \"../../common/Overlay/Overlay\";\r\nimport { translate } from \"../../../translate\";\r\n\r\nclass AddToComparator extends Component {\r\n state = {\r\n show: false,\r\n };\r\n\r\n render() {\r\n const { resultsToCompare, clearCompareList } = this.props;\r\n const { show } = this.state;\r\n const attributesToExclude = [\r\n \"distributorURL\",\r\n \"imagePaths\",\r\n \"id\",\r\n \"memoryUnitOfMeasure\",\r\n \"memoryType\",\r\n \"activitySectors\",\r\n \"softwares\",\r\n ];\r\n let attributes = [\"imagePaths\"];\r\n if (resultsToCompare.length) {\r\n for (const attr in resultsToCompare[0]) {\r\n if (!attributesToExclude.includes(attr)) {\r\n attributes.push(attr);\r\n }\r\n }\r\n }\r\n let bottom = \"0\";\r\n if (show) {\r\n bottom = \"93vh\";\r\n }\r\n return (\r\n \r\n {\r\n if (show) {\r\n this.setState({ show: false });\r\n }\r\n }}\r\n show={show}\r\n zIndex={299}\r\n />\r\n {/* z-index of Overlay is 1 below component below */}\r\n \r\n \r\n {\r\n if (resultsToCompare.length < 2) {\r\n return;\r\n }\r\n this.setState((prevState) => ({ show: !prevState.show }));\r\n }}\r\n >\r\n
    \r\n {`${translate(\"productComparison\")} (${\r\n resultsToCompare.length\r\n })`}\r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n {\r\n clearCompareList();\r\n this.setState({ show: false });\r\n }}\r\n >\r\n {translate(\"clearComparisons\")}\r\n \r\n
    \r\n \r\n \r\n \r\n {resultsToCompare.map((result) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n {translate(\"attributes\")}\r\n {resultsToCompare.map((result) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n {attributes.map((a) => {\r\n if (a === \"memory\") {\r\n return (\r\n \r\n {translate(\"memory\")}\r\n {resultsToCompare.map((result) => {\r\n return (\r\n {`${result[\"memory\"]}${result[\"memoryUnitOfMeasure\"]} ${result[\"memoryType\"]}`}\r\n );\r\n })}\r\n \r\n );\r\n }\r\n if (a === \"imagePaths\") {\r\n return (\r\n \r\n {translate(\"image\")}\r\n {resultsToCompare.map((result) => {\r\n let image = GraphicsCardImage;\r\n if (result.imagePaths[0]) {\r\n image = `./images/${result.imagePaths[0]}`;\r\n }\r\n return (\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n }\r\n return (\r\n \r\n {translate(a)}\r\n {resultsToCompare.map((res, i) => {\r\n const value = res[a];\r\n let val = value;\r\n if (value === true) {\r\n val = translate(\"yes\");\r\n } else if (value === false) {\r\n val = translate(\"no\");\r\n } else if (Array.isArray(value)) {\r\n if (value.length) {\r\n val = translate(value[0]) || null;\r\n } else {\r\n val = translate(\"notApplicable\");\r\n }\r\n }\r\n return (\r\n \r\n );\r\n })}\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\nexport default AddToComparator;\r\n","import React, { Component } from \"react\";\r\nimport { Row, Col } from \"reactstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faBars } from \"@fortawesome/free-solid-svg-icons\";\r\nimport classes from \"./HardwareCatalog.module.scss\";\r\nimport Result from \"./Result/Result\";\r\nimport Sidebar from \"./Sidebar/Sidebar\";\r\nimport AddToComparator from \"./AddToComparator/AddToComparator\";\r\nimport { connect } from \"react-redux\";\r\nimport { SizeMe } from \"react-sizeme\";\r\nimport { Overlay } from \"../common/Overlay/Overlay\";\r\nimport { translate } from \"../../translate\";\r\n\r\nclass HardwareCatalog extends Component {\r\n state = {\r\n showSidebar: false,\r\n userHasToggled: false,\r\n compareIds: []\r\n };\r\n\r\n render() {\r\n const { queryResults } = this.props;\r\n return (\r\n \r\n \r\n {(size) => {\r\n const width = +size.size.width;\r\n let sideColumnPosition = \"relative\";\r\n if (width <= 790) {\r\n sideColumnPosition = \"absolute\";\r\n if (!this.state.userHasToggled) {\r\n this.setState({\r\n showSidebar: false,\r\n userHasToggled: true\r\n });\r\n }\r\n }\r\n if (width > 790 && !this.state.showSidebar) {\r\n this.setState({ showSidebar: true, userHasToggled: false });\r\n }\r\n return (\r\n \r\n \r\n {\r\n if (this.state.showSidebar) {\r\n this.setState({ showSidebar: false });\r\n }\r\n }}\r\n show={this.state.showSidebar && width <= 790}\r\n zIndex={50}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {translate(\"showingResults\")} {queryResults.length}.\r\n \r\n {width <= 790 ? (\r\n \r\n \r\n this.setState((prevState) => {\r\n return {\r\n ...prevState,\r\n showSidebar: !prevState.showSidebar,\r\n userHasToggled: true\r\n };\r\n })\r\n }\r\n />\r\n \r\n ) : null}\r\n \r\n {queryResults.map((result) => (\r\n {\r\n let appropriateQuery;\r\n for (\r\n let i = 0;\r\n i < this.props.queryResults.length;\r\n i++\r\n ) {\r\n if (this.props.queryResults[i].id === id) {\r\n appropriateQuery = this.props.queryResults[i];\r\n }\r\n }\r\n if (type === \"Add\") {\r\n this.setState((prevState) => {\r\n return {\r\n ...prevState,\r\n compareIds: [\r\n ...prevState.compareIds,\r\n appropriateQuery.id\r\n ]\r\n };\r\n });\r\n } else {\r\n this.setState((prevState) => {\r\n return {\r\n ...prevState,\r\n compareIds: prevState.compareIds.filter(\r\n (identifier) => identifier !== id\r\n )\r\n };\r\n });\r\n }\r\n }}\r\n />\r\n ))}\r\n {\r\n return this.state.compareIds.includes(result.id);\r\n }\r\n )}\r\n clearCompareList={() => this.setState({ compareIds: [] })}\r\n />\r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n queryResults: state.results\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(HardwareCatalog);\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { translate } from \"../../translate\";\r\nimport { Container, Row, Col, FormGroup, Input, Label } from \"reactstrap\";\r\nimport classes from \"./SoftwareCatalog.module.scss\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faAngleDoubleLeft, faSearch } from \"@fortawesome/free-solid-svg-icons\";\r\nimport Result from \"./Result/Result\";\r\nimport { submitSoftwareQuery } from \"../../submitSoftwareQuery\";\r\nimport {\r\n getSoftwareActivitySectorLimits,\r\n getSoftwareSoftwaresLimits,\r\n} from \"../../getSoftwareLimits\";\r\nimport { connect } from \"react-redux\";\r\nimport AddToComparator from \"./AddToComparator/AddToComparator\";\r\nimport { ServiceStrings } from \"../../ServiceStrings\";\r\n\r\nconst SoftwareCatalogComponent = (props) => {\r\n const [selectedActivitySectors, setSelectedActivitySectors] = useState([]);\r\n const [selectedSoftwareUses, setSelectedSoftwareUses] = useState([]);\r\n const [findOtherSoftwareText, setFindOtherSoftwareText] = useState(\"\");\r\n const [step, setStep] = useState(1);\r\n const [loading, setLoading] = useState(false);\r\n const [results, setResults] = useState([]);\r\n const [activitySectors, setActivitySectors] = useState([]);\r\n const [softwares, setSoftwares] = useState([]);\r\n const [compareIds, setCompareIds] = useState([]);\r\n\r\n const history = useHistory();\r\n\r\n // required\r\n const { translations, updateSoftwareActivitySectors, updateSoftwareUsed } = props;\r\n\r\n const getResults = () => {\r\n setLoading(true);\r\n submitSoftwareQuery({\r\n activitySectors: selectedActivitySectors,\r\n softwares: selectedSoftwareUses,\r\n textQuery: findOtherSoftwareText,\r\n })\r\n .then((res) => {\r\n setResults(res.data);\r\n setLoading(false);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (step === 1) {\r\n setLoading(true);\r\n getSoftwareActivitySectorLimits()\r\n .then((result) => {\r\n setActivitySectors(result.data);\r\n setLoading(false);\r\n })\r\n .catch(console.log);\r\n } else if (step === 2) {\r\n setLoading(true);\r\n getSoftwareSoftwaresLimits(selectedActivitySectors)\r\n .then((result) => {\r\n setSoftwares(result.data);\r\n setLoading(false);\r\n })\r\n .catch(console.log);\r\n } else if (step === 3) {\r\n getResults();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [step]);\r\n\r\n const onActivitySectorStepCompleted = () => {\r\n updateSoftwareActivitySectors(selectedActivitySectors);\r\n };\r\n\r\n const onSoftwareUsedStepCompleted = () => {\r\n updateSoftwareUsed(selectedSoftwareUses);\r\n };\r\n\r\n const onSelectedActivitySectorChanged = (text, checked) => {\r\n if (checked) {\r\n setSelectedActivitySectors(\r\n selectedActivitySectors.filter((x) => x !== text)\r\n );\r\n return;\r\n }\r\n setSelectedActivitySectors([...selectedActivitySectors, text]);\r\n };\r\n\r\n const onSelectedSoftwareChanged = (text, checked) => {\r\n if (checked) {\r\n setSelectedSoftwareUses(selectedSoftwareUses.filter((x) => x !== text));\r\n return;\r\n }\r\n setSelectedSoftwareUses([...selectedSoftwareUses, text]);\r\n };\r\n\r\n const renderStepOneContent = () => {\r\n return (\r\n \r\n {translate(\"step1\")}\r\n

    {translate(\"whatActivity\")}

    \r\n
      \r\n {activitySectors.length && Array.isArray(activitySectors) ? (\r\n activitySectors.sort().map((text) => {\r\n const checked = selectedActivitySectors.includes(text);\r\n return (\r\n
    • \r\n \r\n \r\n \r\n
    • \r\n );\r\n })\r\n ) : (\r\n
    • {translate(\"loadFailed\")}
    • \r\n )}\r\n
    \r\n \r\n );\r\n };\r\n\r\n const renderStepTwoContent = () => {\r\n return (\r\n \r\n {translate(\"step2\")}\r\n

    {translate(\"whatSoftware\")}

    \r\n
      \r\n {softwares.length &&\r\n softwares.map((text) => {\r\n const checked = selectedSoftwareUses.includes(text);\r\n return (\r\n
    • \r\n \r\n \r\n \r\n
    • \r\n );\r\n })}\r\n
    \r\n {/* REMOVE \"FIND OTHER...\" INPUT */}\r\n {/* \r\n
  • \r\n setFindOtherSoftwareText(e.target.value)}\r\n onKeyDown={(ev) => {\r\n if (ev.key === \"Enter\" && ev.target.value.trim() !== \"\") {\r\n getResults();\r\n }\r\n }}\r\n />\r\n
  • \r\n
  • \r\n \r\n \r\n \r\n
  • \r\n */}\r\n \r\n );\r\n };\r\n\r\n const renderResults = () => {\r\n return (\r\n \r\n {results.length ? (\r\n <>\r\n {results.map((res) => {\r\n return (\r\n
    \r\n {\r\n let appropriateQuery;\r\n for (let i = 0; i < results.length; i++) {\r\n if (results[i].id === id) {\r\n appropriateQuery = results[i];\r\n }\r\n }\r\n if (type === \"Add\") {\r\n setCompareIds([...compareIds, appropriateQuery.id]);\r\n } else {\r\n setCompareIds(\r\n compareIds.filter((identifier) => identifier !== id)\r\n );\r\n }\r\n }}\r\n />\r\n
    \r\n );\r\n })}\r\n \r\n compareIds.includes(result.id)\r\n )}\r\n clearCompareList={() => setCompareIds([])}\r\n />\r\n \r\n ) : (\r\n
    \r\n {translate(\"noResults\")}\r\n
    \r\n )}\r\n \r\n );\r\n };\r\n\r\n let content = null;\r\n if (step === 1) {\r\n content = renderStepOneContent();\r\n } else if (step === 2) {\r\n content = renderStepTwoContent();\r\n } else if (step === 3) {\r\n content = renderResults();\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {translate(\"searchBy\")}\r\n \r\n

    \r\n {translate(\"softwareFeatures\")}\r\n

    \r\n \r\n
    \r\n {content}\r\n \r\n {\r\n if (step === 1) {\r\n history.push(\"/home\");\r\n return;\r\n }\r\n setStep(step - 1);\r\n }}\r\n >\r\n \r\n {translate(\"back\")}\r\n \r\n {step < 3 ? (\r\n {\r\n if (step === 1) {\r\n onActivitySectorStepCompleted();\r\n } else if (step === 2) {\r\n onSoftwareUsedStepCompleted();\r\n }\r\n setStep(step + 1);\r\n }}\r\n disabled={\r\n (step === 1 && !selectedActivitySectors.length) ||\r\n (step === 2 && !selectedSoftwareUses.length)\r\n }\r\n >\r\n {translate(\"continue\")}\r\n \r\n ) : null}\r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n translations: state.translations\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n updateSoftwareActivitySectors: (newActivitySectors) => {\r\n dispatch({ type: ServiceStrings.redux.software.activitySectorsUpdate, payload: newActivitySectors });\r\n },\r\n updateSoftwareUsed: (newSoftwareUsed) => {\r\n dispatch({ type: ServiceStrings.redux.software.softwareUsedUpdate, payload: newSoftwareUsed });\r\n }\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SoftwareCatalogComponent);\r\n","import axios from \"axios\";\r\n\r\nexport const submitSoftwareQuery = (query) => {\r\n return axios({\r\n method: \"POST\",\r\n url: \"/api/graphicscards/searchbysoftware\",\r\n headers: {\r\n \"Content-Type\": \"application/json; charset=utf-8\"\r\n },\r\n data: query\r\n });\r\n};\r\n","import axios from \"axios\";\r\n\r\nexport const getSoftwareActivitySectorLimits = () => {\r\n return axios({\r\n method: \"GET\",\r\n url: \"/api/graphicscards/activities\",\r\n headers: {\r\n \"Content-Type\": \"application/json; charset=utf-8\"\r\n }\r\n });\r\n}\r\n\r\nexport const getSoftwareSoftwaresLimits = (data) => {\r\n return axios({\r\n method: \"POST\",\r\n url: \"/api/graphicscards/softwaresForActivities\",\r\n headers: {\r\n \"Content-Type\": \"application/json; charset=utf-8\"\r\n },\r\n data\r\n });\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport classes from \"./ContactUsForm.module.scss\";\r\nimport { translate } from \"../../translate\";\r\nimport { connect } from \"react-redux\";\r\nimport { Link } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport { useForm } from \"react-hook-form\";\r\n\r\nconst USStates = [\r\n \"Alabama\",\r\n \"Alaska\",\r\n \"American Samoa\",\r\n \"Arizona\",\r\n \"Arkansas\",\r\n \"California\",\r\n \"Colorado\",\r\n \"Connecticut\",\r\n \"Delaware\",\r\n \"District of Columbia\",\r\n \"Federated States of Micronesia\",\r\n \"Florida\",\r\n \"Georgia\",\r\n \"Guam\",\r\n \"Hawaii\",\r\n \"Idaho\",\r\n \"Illinois\",\r\n \"Indiana\",\r\n \"Iowa\",\r\n \"Kansas\",\r\n \"Kentucky\",\r\n \"Louisiana\",\r\n \"Maine\",\r\n \"Marshall Islands\",\r\n \"Maryland\",\r\n \"Massachusetts\",\r\n \"Michigan\",\r\n \"Minnesota\",\r\n \"Mississippi\",\r\n \"Missouri\",\r\n \"Montana\",\r\n \"Nebraska\",\r\n \"Nevada\",\r\n \"New Hampshire\",\r\n \"New Jersey\",\r\n \"New Mexico\",\r\n \"New York\",\r\n \"North Carolina\",\r\n \"North Dakota\",\r\n \"Northern Mariana Islands\",\r\n \"Ohio\",\r\n \"Oklahoma\",\r\n \"Oregon\",\r\n \"Palau\",\r\n \"Pennsylvania\",\r\n \"Puerto Rico\",\r\n \"Rhode Island\",\r\n \"South Carolina\",\r\n \"South Dakota\",\r\n \"Tennessee\",\r\n \"Texas\",\r\n \"Utah\",\r\n \"Vermont\",\r\n \"Virgin Island\",\r\n \"Virginia\",\r\n \"Washington\",\r\n \"West Virginia\",\r\n \"Wisconsin\",\r\n \"Wyoming\"\r\n];\r\n\r\nconst CanadianProvinces = [\r\n \"Alberta\",\r\n \"British Columbia\",\r\n \"Manitoba\",\r\n \"New Brunswick\",\r\n \"Newfoundland and Labrador\",\r\n \"Northwest Territories\",\r\n \"Nova Scotia\",\r\n \"Nunavut\",\r\n \"Ontario\",\r\n \"Prince Edward Island\",\r\n \"Quebec\",\r\n \"Saskatchewan\",\r\n \"Yukon Territory\"\r\n];\r\n\r\nconst ContactForm = (props) => {\r\n const [showConfirmation, setShowConfirmation] = useState(false);\r\n const [countries, setCountries] = useState(null);\r\n const [selectedCountry, setSelectedCountry] = useState(\"\");\r\n const [receiveMarketingEmails, setReceiveMarketingEmails] = useState(true);\r\n\r\n const {\r\n register,\r\n handleSubmit,\r\n setValue,\r\n formState: { errors }\r\n } = useForm();\r\n\r\n useEffect(() => {\r\n axios\r\n .get(\"https://restcountries.com/v3.1/all\")\r\n .then((res) => {\r\n if (res.status === 200 && res.data) {\r\n const countriesSorted = res.data.sort((a, b) => {\r\n return a.name.common > b.name.common ? 1 : b.name.common > a.name.common ? -1 : 0;\r\n });\r\n setCountries(countriesSorted);\r\n setValue(\"countryContactForm\", countriesSorted[0].name.common);\r\n setSelectedCountry(countriesSorted[0].name.common);\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }, []);\r\n\r\n const code = {\r\n firstNameContactForm: \"firstName\",\r\n lastNameContactForm: \"lastName\",\r\n companyContactForm: \"company\",\r\n emailContactForm: \"email\",\r\n countryContactForm: \"country\",\r\n stateContactForm: \"state\",\r\n postalCodeContactForm: \"postalCode\",\r\n hardwareQueryData: props.hardwareQueries,\r\n softwareQueryData: props.softwareQueries\r\n };\r\n\r\n const countrySelect = register(\"countryContactForm\", {\r\n required: {\r\n value: true,\r\n message: translate(\"requiredField\")\r\n }\r\n });\r\n\r\n const submitContactForm = (data) => {\r\n const properFieldData = {\r\n isOptedIn: receiveMarketingEmails\r\n };\r\n for (const fieldName in data) {\r\n properFieldData[code[fieldName]] = data[fieldName];\r\n }\r\n\r\n axios({\r\n method: \"POST\",\r\n url: \"/api/contactus/submit\",\r\n headers: {\r\n \"Content-Type\": \"application/json; charset=utf-8\"\r\n },\r\n data: {\r\n hardwareQueryData: props.hardwareQueries,\r\n softwareQueryData: props.softwareQueries,\r\n ...properFieldData\r\n }\r\n })\r\n .then((res) => {\r\n setShowConfirmation(true);\r\n console.log(res);\r\n })\r\n .catch((err) => {\r\n alert(err.response.data);\r\n console.log(err);\r\n });\r\n };\r\n\r\n if (showConfirmation) {\r\n return (\r\n
    \r\n
    \r\n

    {translate(\"contactRequestConfirmationMessage\")}

    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n

    {translate(\"contactUs\")}

    \r\n {translate(\"hearFromYou\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {errors.firstNameContactForm ? (\r\n \r\n {errors.firstNameContactForm.message}\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {errors.lastNameContactForm ? (\r\n \r\n {errors.lastNameContactForm.message}\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {errors.companyContactForm ? (\r\n \r\n {errors.companyContactForm.message}\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n ()\\[\\]\\.,;:\\s@\\\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i,\r\n message: translate(\"email_format_invalid\")\r\n }\r\n })}\r\n />\r\n
    \r\n {errors.emailContactForm ? (\r\n \r\n {errors.emailContactForm.message}\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {countries ? (\r\n {\r\n countrySelect.onChange(e);\r\n setSelectedCountry(e.target.value);\r\n }}\r\n >\r\n {countries.map((ctry) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n {errors.countryContactForm ? (\r\n \r\n {errors.countryContactForm.message}\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {selectedCountry === \"United States of America\" ||\r\n selectedCountry === \"Canada\" ? (\r\n {\r\n if (value === \"Select\") {\r\n return translate(\"requiredField\");\r\n } else {\r\n return true;\r\n }\r\n }\r\n }\r\n })}\r\n >\r\n \r\n {translate(\"select\")}\r\n \r\n {selectedCountry === \"Canada\"\r\n ? CanadianProvinces.map((provinceName) => {\r\n return (\r\n \r\n {provinceName}\r\n \r\n );\r\n })\r\n : USStates.map((stateName) => {\r\n return (\r\n \r\n {stateName}\r\n \r\n );\r\n })}\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n {errors.stateContactForm ? (\r\n \r\n {errors.stateContactForm.message}\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {errors.postalCodeContactForm ? (\r\n \r\n {errors.postalCodeContactForm.message}\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {translate(\"optIn\")}

    \r\n

    {translate(\"contactPrivacyStatement\")}

    \r\n
    \r\n \r\n
    \r\n

    {translate(\"youCanUnsubscribe\")}

    \r\n

    {translate(\"infoStorageConsent\")}

    \r\n
    \r\n \r\n \r\n {translate(\"cancel\")}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n hardwareQueries: state.queries,\r\n softwareQueries: {\r\n activitysectors: state.softwareQuery.activitySectors,\r\n softwares: state.softwareQuery.softwareUsed\r\n }\r\n };\r\n};\r\n\r\nexport const ContactUsForm = connect(mapStateToProps)(ContactForm);\r\n","import React, { Component } from \"react\";\r\nimport classes from \"./Home.module.scss\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { translate } from \"../../translate\";\r\nimport { connect } from \"react-redux\";\r\nclass HomeComponent extends Component {\r\n render() {\r\n const hardwareNeedsImg = \"./images/Hardware_Features.jpg\";\r\n const softwareNeedsImg = \"./images/Software_Needs.jpg\";\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {translate(\"pnyPlaceTo\")}\r\n \r\n \r\n {translate(\"findGear\")}\r\n \r\n

    \r\n {translate(\"homeDescription\")}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* \r\n {translate(\"download\")}\r\n */}\r\n

    \r\n {translate(\"nvidiaQuadroSpecifications\")}\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n {translate(\"contactUs\")}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = ({ translations }) => {\r\n return { translations };\r\n};\r\n\r\nexport const Home = connect(mapStateToProps)(HomeComponent);\r\n","import React, { Component } from 'react';\r\nimport { Redirect, Route, Switch } from 'react-router-dom';\r\nimport { Layout } from './components/Layout';\r\nimport HardwareCatalog from './components/Catalog/HardwareCatalog';\r\nimport SoftwareCatalog from './components/Catalog/SoftwareCatalog';\r\nimport { ContactUsForm } from './components/ContactUsForm/ContactUsForm';\r\nimport { Home } from './components/Home/Home';\r\n\r\nimport './custom.scss';\r\n\r\nexport default class App extends Component {\r\n render () {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport default function register () {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl);\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW (swUrl) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log('New content is available; please refresh.');\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker (swUrl) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').indexOf('javascript') === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister () {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import axios from \"axios\";\r\n\r\nexport const submitHardwareQuery = (query) => {\r\n return axios({\r\n method: \"POST\",\r\n url: \"/api/graphicscards/searchbyhardware\",\r\n headers: {\r\n \"Content-Type\": \"application/json; charset=utf-8\"\r\n },\r\n data: query\r\n });\r\n};\r\n","import { call, put, takeEvery, select } from 'redux-saga/effects';\r\nimport { ServiceStrings } from '../../ServiceStrings';\r\nimport { submitHardwareQuery } from '../../submitHardwareQuery';\r\n\r\nfunction* fetchResults(action) {\r\n const state = yield select();\r\n try {\r\n const response = yield call(submitHardwareQuery, {...state.queries, ...action.payload });\r\n yield put({ type: ServiceStrings.redux.resultsUpdate, payload: response.data });\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n}\r\n\r\nexport function* querySaga() {\r\n yield takeEvery(ServiceStrings.redux.queryUpdate, fetchResults);\r\n}\r\n","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { BrowserRouter } from \"react-router-dom\";\r\nimport { createStore, combineReducers, applyMiddleware } from \"redux\";\r\nimport { Provider } from \"react-redux\";\r\nimport {\r\n queryReducer,\r\n resultsReducer,\r\n translationsReducer,\r\n limitsReducer,\r\n softwareQueryReducer\r\n} from './store/reducers';\r\nimport App from \"./App\";\r\nimport registerServiceWorker from \"./registerServiceWorker\";\r\nimport createSagaMiddleware from 'redux-saga';\r\nimport { querySaga } from './store/sagas/querySaga';\r\n\r\nconst baseUrl = document.getElementsByTagName(\"base\")[0].getAttribute(\"href\");\r\nconst rootElement = document.getElementById(\"root\");\r\n\r\nconst rootReducer = combineReducers({\r\n queries: queryReducer,\r\n results: resultsReducer,\r\n translations: translationsReducer,\r\n limits: limitsReducer,\r\n softwareQuery: softwareQueryReducer\r\n});\r\n\r\nconst sagaMiddleWare = createSagaMiddleware();\r\n//const composedEnhancer = compose(applyMiddleware(sagaMiddleWare), window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__())\r\nexport const store = createStore(rootReducer, applyMiddleware(sagaMiddleWare));\r\nsagaMiddleWare.run(querySaga);\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n ,\r\n rootElement\r\n);\r\n\r\nregisterServiceWorker();","// extracted by mini-css-extract-plugin\nmodule.exports = {\"comparatorContainer\":\"AddToComparator_comparatorContainer__jkgz5\",\"tabContainer\":\"AddToComparator_tabContainer__20ZAB\",\"tab\":\"AddToComparator_tab__3Nbti\",\"comparatorText\":\"AddToComparator_comparatorText__3T1Ra\",\"leftHill\":\"AddToComparator_leftHill__2LMxQ\",\"rightHill\":\"AddToComparator_rightHill__1gNBH\",\"comfortBar\":\"AddToComparator_comfortBar__aVn43\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"smallHeader\":\"Home_smallHeader__1zaWL\",\"centerText\":\"Home_centerText__3K0Wh\",\"mb25\":\"Home_mb25__2go8S\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"textSearchInput\":\"SearchFieldBubbles_textSearchInput__34ZVT\",\"searchBubblesContainer\":\"SearchFieldBubbles_searchBubblesContainer__3QfhZ\",\"searchBubble\":\"SearchFieldBubbles_searchBubble__3nOFl\",\"textQueryContainer\":\"SearchFieldBubbles_textQueryContainer__mIggH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dataPoints\":\"Result_dataPoints__wMvSZ\",\"cardVisualsContainer\":\"Result_cardVisualsContainer__2Uho3\",\"checkmark\":\"Result_checkmark__3-vxB\",\"leaveContainer\":\"Result_leaveContainer__3Imbp\",\"learnMore\":\"Result_learnMore__W7tdU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"countrySelector\":\"ContactUsForm_countrySelector__3wLGF\",\"formInput\":\"ContactUsForm_formInput__2rjmX\"};","module.exports = __webpack_public_path__ + \"static/media/quadro-rtx8000-1.4fd27a91.jpg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"searchIconBtn\":\"CatalogNavMenu_searchIconBtn__7YB4Z\",\"searchIcon\":\"CatalogNavMenu_searchIcon__14PDI\",\"searchFieldBubblesWrapper\":\"CatalogNavMenu_searchFieldBubblesWrapper__2_dyl\",\"closeWindowContainer\":\"CatalogNavMenu_closeWindowContainer__2lCLD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"backIcon\":\"SoftwareCatalog_backIcon__1hGxC\",\"textSearchInput\":\"SoftwareCatalog_textSearchInput__9LWGR\",\"textQueryContainer\":\"SoftwareCatalog_textQueryContainer__4SS1e\",\"searchButton\":\"SoftwareCatalog_searchButton__1TV8y\",\"softwareCatalogContainer\":\"SoftwareCatalog_softwareCatalogContainer__1J692\",\"softwareHeader\":\"SoftwareCatalog_softwareHeader__2IvfZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"collapseContainer\":\"CheckboxFilterAccordion_collapseContainer__3-9kO\",\"collapsed\":\"CheckboxFilterAccordion_collapsed__1FRhv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"collapseContainer\":\"SliderFilterAccordion_collapseContainer__3gO_q\",\"collapsed\":\"SliderFilterAccordion_collapsed__3I489\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"collapseContainer\":\"FilterAccordionWrapper_collapseContainer__UD-XT\",\"collapsed\":\"FilterAccordionWrapper_collapsed__2Nzj3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"overlay\":\"Overlay_overlay__3RcD2\",\"overlayButton\":\"Overlay_overlayButton__18Pyc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footerContainer\":\"Footer_footerContainer__187vn\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sidebarColumn\":\"HardwareCatalog_sidebarColumn__2NZ37\"};"],"sourceRoot":""}