{"version":3,"file":"js/rescript-bundles-services-multicloud-c731b67329088e906c3f.chunk.js","mappings":"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","sources":["webpack://datacenters/./client/app/rescript/bundles/services/ServicesSeparatorBlockCss.res.js","webpack://datacenters/./client/app/rescript/bundles/services/ServicesSeparatorBlock.res.js","webpack://datacenters/./client/app/rescript/bundles/services/common/banner-case-study/BannerCaseStudy.scss?92fb","webpack://datacenters/./client/app/rescript/bundles/services/common/banner-case-study/BannerCaseStudy.res.js","webpack://datacenters/./client/app/rescript/bundles/services/common/banner-request-estimate/BannerRequestEstimate.scss?2463","webpack://datacenters/./client/app/rescript/bundles/services/common/banner-request-estimate/BannerRequestEstimate.res.js","webpack://datacenters/./client/app/rescript/bundles/services/common/banner-sign-up/BannerSignUpToday.scss?3383","webpack://datacenters/./client/app/rescript/bundles/services/common/banner-sign-up/BannerSignUpToday.res.js","webpack://datacenters/./client/app/rescript/bundles/services/multicloud/components/faqs/FAQMulticloud.scss?8167","webpack://datacenters/./client/app/rescript/bundles/services/multicloud/components/faqs/FAQMulticloud.res.js","webpack://datacenters/./client/app/rescript/bundles/services/multicloud/components/why-multicloud/WhyMulticloud.res.js","webpack://datacenters/./client/app/rescript/bundles/services/multicloud/Multicloud.scss?8739","webpack://datacenters/./client/app/rescript/bundles/services/multicloud/components/case-study/CaseStudyMulticloud.res.js","webpack://datacenters/./client/app/rescript/api/requests/NotifyMulticloudCaseStudyDownloadRequest.res.js","webpack://datacenters/./client/app/rescript/bundles/services/multicloud/components/jumbotron/JumbotronMulticloud.scss?9bee","webpack://datacenters/./client/app/rescript/bundles/services/multicloud/components/jumbotron/JumbotronMulticloud.res.js","webpack://datacenters/./client/app/rescript/bundles/services/multicloud/components/cloud-that-loves-you-back/CloudThatLovesYouBack.res.js","webpack://datacenters/./client/app/rescript/bundles/services/multicloud/components/simple-pricing/SimplePricingMulticloud.scss?d779","webpack://datacenters/./client/app/rescript/bundles/services/multicloud/components/simple-pricing/SimplePricingMulticloud.res.js","webpack://datacenters/./client/app/rescript/bundles/services/multicloud/components/sub-navigation/SubNavigationMulticloud.res.js","webpack://datacenters/./client/app/rescript/styleguide/modals/PricingEstimatorModal/PricingEstimatorMath.res.js","webpack://datacenters/./client/app/rescript/styleguide/modals/PricingEstimatorModal/PricingEstimatorModal.scss?961a","webpack://datacenters/./client/app/rescript/styleguide/modals/PricingEstimatorModal/PricingEstimatorSliderGroup.scss?84e8","webpack://datacenters/./client/app/rescript/styleguide/modals/PricingEstimatorModal/PricingEstimatorSliderGroup.res.js","webpack://datacenters/./client/app/rescript/styleguide/forms/Slider/Slider.scss?acc5","webpack://datacenters/./client/app/rescript/styleguide/forms/Slider/Slider.res.js","webpack://datacenters/./client/app/rescript/styleguide/components/Button/ButtonGroup.scss?eb11","webpack://datacenters/./client/app/rescript/styleguide/components/Button/ButtonGroup.res.js","webpack://datacenters/./client/app/rescript/styleguide/modals/PricingEstimatorModal/PricingEstimatorSliderInput.scss?15ff","webpack://datacenters/./client/app/rescript/styleguide/modals/PricingEstimatorModal/PricingEstimatorSliderInput.res.js","webpack://datacenters/./client/app/rescript/styleguide/modals/PricingEstimatorModal/PricingEstimatorSliderCPUGroup.res.js","webpack://datacenters/./client/app/rescript/styleguide/modals/PricingEstimatorModal/PricingEstimatorSliderRAMGroup.res.js","webpack://datacenters/./client/app/rescript/styleguide/modals/PricingEstimatorModal/PricingEstimatorSliderEgressGroup.res.js","webpack://datacenters/./client/app/rescript/styleguide/modals/PricingEstimatorModal/PricingEstimatorModal.res.js","webpack://datacenters/./client/app/rescript/bundles/services/multicloud/components/request-estimate/RequestEstimateMulticloud.res.js","webpack://datacenters/./client/app/rescript/bundles/services/multicloud/components/learn-more/LearnMoreSectionMulticloud.scss?2996","webpack://datacenters/./client/app/rescript/bundles/services/multicloud/components/learn-more/LearnMoreSectionMulticloud.res.js","webpack://datacenters/./client/app/rescript/bundles/services/multicloud/components/sign-up-today/BannerSignUpTodayMulticloud.res.js","webpack://datacenters/./client/app/rescript/bundles/services/multicloud/Multicloud.res.js","webpack://datacenters/./client/app/rescript/bundles/services/multicloud/index.js","webpack://datacenters/./client/app/rescript/routes/common/Routes_Resource.res.js","webpack://datacenters/./client/app/rescript/styleguide/components/Testimonial/TestimonialCss.res.js","webpack://datacenters/./client/app/rescript/styleguide/components/Testimonial/Testimonial.res.js","webpack://datacenters/./client/app/rescript/styleguide/components/UnderscoreFancy/UnderscoreFancy.res.js","webpack://datacenters/./client/app/rescript/styleguide/forms/Select/Select.scss?00c7","webpack://datacenters/./client/app/rescript/styleguide/forms/Select/Select.res.js","webpack://datacenters/./client/app/rescript/styleguide/icons/IconSelect.res.js","webpack://datacenters/./client/app/rescript/styleguide/components/UnderscoreFancy/UnderscoreFancy.scss?1803"],"sourcesContent":["// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\n\nvar separator = Cx.cx([\n \"flex\",\n \"flex-1\",\n \"h-[1px]\",\n \"max-w-[100%]\",\n \"bg-gray-300\"\n ]);\n\nvar separatorWithTitle = Cx.cx([\n \"flex\",\n \"flex-row\",\n \"justify-center\",\n \"items-center\"\n ]);\n\nvar separatorBox = Cx.cx([\n \"text-gray\",\n \"font-medium\",\n \"text-sm\",\n \"uppercase\",\n \"tracking-wider\",\n \"border\",\n \"text-center\",\n \"border-solid\",\n \"border-gray-300\",\n \"rounded-lg\",\n \"px-7\",\n \"py-1.5\"\n ]);\n\nexport {\n separator ,\n separatorWithTitle ,\n separatorBox ,\n}\n/* separator Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ServicesSeparatorBlockCss from \"./ServicesSeparatorBlockCss.res.js\";\n\nfunction ServicesSeparatorBlock(props) {\n var title = props.title;\n if (title !== undefined) {\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n className: ServicesSeparatorBlockCss.separator\n }),\n JsxRuntime.jsx(\"div\", {\n children: title,\n className: ServicesSeparatorBlockCss.separatorBox\n }),\n JsxRuntime.jsx(\"div\", {\n className: ServicesSeparatorBlockCss.separator\n })\n ],\n className: ServicesSeparatorBlockCss.separatorWithTitle\n });\n } else {\n return JsxRuntime.jsx(\"div\", {\n className: ServicesSeparatorBlockCss.separator\n });\n }\n}\n\nvar Css;\n\nvar make = ServicesSeparatorBlock;\n\nexport {\n Css ,\n make ,\n}\n/* react/jsx-runtime Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var column = \"BannerCaseStudy__column__agji8\";\nexport var ctaWrapper = \"BannerCaseStudy__ctaWrapper__d0qvS\";\nexport var description = \"BannerCaseStudy__description__av86Z\";\nexport var flex = \"BannerCaseStudy__flex__wpmJM\";\nexport var flexColumn = \"BannerCaseStudy__flexColumn__M4r8j\";\nexport var gap1 = \"BannerCaseStudy__gap1__ac9gb\";\nexport var gap2 = \"BannerCaseStudy__gap2__TkdCW\";\nexport var gap3 = \"BannerCaseStudy__gap3__XaiRf\";\nexport var gap4 = \"BannerCaseStudy__gap4__7NBJe\";\nexport var gap5 = \"BannerCaseStudy__gap5__GhIya\";\nexport var row = \"BannerCaseStudy__row__VyoF4\";\nexport var testimonialText = \"BannerCaseStudy__testimonialText__RtnPa\";\nexport var testimonialWrapper = \"BannerCaseStudy__testimonialWrapper__xThj7\";\nexport var title = \"BannerCaseStudy__title__rpW8Q\";\nexport var wrapper = \"BannerCaseStudy__wrapper__TqEBc\";\nexport var wrapperBackgroundImage = \"BannerCaseStudy__wrapperBackgroundImage__FE2AL\";\nexport var wrapperContainer = \"BannerCaseStudy__wrapperContainer__yzwiA\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as H2 from \"../../../../styleguide/components/Heading/H2.res.js\";\nimport * as Testimonial from \"../../../../styleguide/components/Testimonial/Testimonial.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as BannerCaseStudyScss from \"./BannerCaseStudy.scss\";\nimport TestimonialDatacentersComSvg from \"./assets/testimonial-datacenters.com.svg\";\n\nvar css = BannerCaseStudyScss;\n\nvar testimonialBackground = TestimonialDatacentersComSvg;\n\nfunction BannerCaseStudy(props) {\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n className: css.wrapperBackgroundImage,\n style: {\n backgroundImage: \"url(\" + testimonialBackground + \")\"\n }\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(H2.make, {\n className: css.title,\n children: props.title\n }),\n JsxRuntime.jsx(\"div\", {\n children: props.description,\n className: css.description\n }),\n props.ctaComponent\n ],\n className: css.ctaWrapper\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(Testimonial.make, {\n name: props.testimonialAuthorName,\n role: props.testimonialAuthorRole,\n description: props.testimonialText,\n imageUrl: props.testimonialAuthorImage,\n classNameText: css.testimonialText,\n classNameAuthor: css.testimonialText,\n showMore: false\n }),\n className: css.testimonialWrapper\n })\n ],\n className: css.wrapperContainer\n })\n ],\n className: css.wrapper\n });\n}\n\nvar make = BannerCaseStudy;\n\nexport {\n css ,\n testimonialBackground ,\n make ,\n}\n/* css Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var bannerRow = \"BannerRequestEstimate__bannerRow__yI5ck\";\nexport var buttonColumn = \"BannerRequestEstimate__buttonColumn__e81Sb\";\nexport var buttonRequestEstimate = \"BannerRequestEstimate__buttonRequestEstimate__n_5Nw\";\nexport var column = \"BannerRequestEstimate__column__t9E1n\";\nexport var flex = \"BannerRequestEstimate__flex__TboOw\";\nexport var flexColumn = \"BannerRequestEstimate__flexColumn__wOg3n\";\nexport var gap1 = \"BannerRequestEstimate__gap1__UwVwE\";\nexport var gap2 = \"BannerRequestEstimate__gap2__WK_Wh\";\nexport var gap3 = \"BannerRequestEstimate__gap3__oi7wW\";\nexport var gap4 = \"BannerRequestEstimate__gap4__ILJQE\";\nexport var gap5 = \"BannerRequestEstimate__gap5__XcFGh\";\nexport var row = \"BannerRequestEstimate__row__C2Xu5\";\nexport var title = \"BannerRequestEstimate__title__zuRkB\";\nexport var wrapper = \"BannerRequestEstimate__wrapper__tgz2Q\";\nexport var wrapperInner = \"BannerRequestEstimate__wrapperInner__dBpUg\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as H2 from \"../../../../styleguide/components/Heading/H2.res.js\";\nimport * as Button from \"../../../../styleguide/components/Button/Button.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport HeaderDotsSvg from \"../assets/header-dots.svg\";\nimport * as BannerRequestEstimateScss from \"./BannerRequestEstimate.scss\";\n\nvar css = BannerRequestEstimateScss;\n\nvar headerDotsSvg = HeaderDotsSvg;\n\nfunction BannerRequestEstimate(props) {\n return JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(H2.make, {\n className: css.title,\n children: props.title\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(Button.make, {\n size: \"MD\",\n color: props.color,\n className: css.buttonRequestEstimate,\n onClick: props.onButtonClick,\n children: props.buttonTitle\n }),\n JsxRuntime.jsx(\"div\", {\n children: props.buttonSubtitleComponent\n })\n ],\n className: css.buttonColumn\n })\n ],\n className: css.bannerRow\n }),\n className: css.wrapperInner,\n style: {\n backgroundImage: \"url(\" + headerDotsSvg + \")\",\n backgroundSize: \"cover\"\n }\n }),\n className: css.wrapper\n });\n}\n\nvar make = BannerRequestEstimate;\n\nexport {\n css ,\n headerDotsSvg ,\n make ,\n}\n/* css Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var buttonsRow = \"BannerSignUpToday__buttonsRow__dmWBk\";\nexport var column = \"BannerSignUpToday__column__l_iZo\";\nexport var flex = \"BannerSignUpToday__flex__KHjr7\";\nexport var flexColumn = \"BannerSignUpToday__flexColumn__b0JR4\";\nexport var gap1 = \"BannerSignUpToday__gap1__N4zhM\";\nexport var gap2 = \"BannerSignUpToday__gap2__LWcAj\";\nexport var gap3 = \"BannerSignUpToday__gap3__IH4Vs\";\nexport var gap4 = \"BannerSignUpToday__gap4__dM6yx\";\nexport var gap5 = \"BannerSignUpToday__gap5__csSHo\";\nexport var root = \"BannerSignUpToday__root__afwEG\";\nexport var row = \"BannerSignUpToday__row__m3mQ6\";\nexport var title = \"BannerSignUpToday__title__dq1YH\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as H2 from \"../../../../styleguide/components/Heading/H2.res.js\";\nimport * as React from \"react\";\nimport * as Button from \"../../../../styleguide/components/Button/Button.res.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ScheduleModalServices from \"../schedule-modal-services/ScheduleModalServices.res.js\";\nimport * as BannerSignUpTodayScss from \"./BannerSignUpToday.scss\";\n\nvar css = BannerSignUpTodayScss;\n\nfunction BannerSignUpToday(props) {\n var deployNowButtonComponent = props.deployNowButtonComponent;\n var match = React.useState(function () {\n return false;\n });\n var setIsModalOpen = match[1];\n var tmp;\n if (match[0]) {\n switch (props.bannerType) {\n case \"BareMetalCloud\" :\n tmp = JsxRuntime.jsx(ScheduleModalServices.make, {\n onClose: (function () {\n setIsModalOpen(function (param) {\n return false;\n });\n }),\n title: \"Schedule a Demo\",\n subtitle: \"Submit the form to schedule a demo and learn more about bare metal solutions.\",\n buttonTitle: \"Submit\",\n leadType: \"BareMetal\"\n });\n break;\n case \"ZenlayerBareMetal\" :\n tmp = JsxRuntime.jsx(ScheduleModalServices.make, {\n onClose: (function () {\n setIsModalOpen(function (param) {\n return false;\n });\n }),\n title: \"Schedule a Zenlayer Demo\",\n subtitle: \"Submit the form to schedule a demo and learn more about Zenlayer bare metal solutions.\",\n buttonTitle: \"Submit\",\n leadType: \"ZenlayerBareMetal\"\n });\n break;\n case \"EnzuBareMetal\" :\n tmp = JsxRuntime.jsx(ScheduleModalServices.make, {\n onClose: (function () {\n setIsModalOpen(function (param) {\n return false;\n });\n }),\n title: \"Schedule an Enzu Demo\",\n subtitle: \"Submit the form to schedule a demo and learn more about Enzu bare metal solutions.\",\n buttonTitle: \"Submit\",\n leadType: \"EnzuBareMetal\"\n });\n break;\n case \"HivelocityBareMetal\" :\n tmp = JsxRuntime.jsx(ScheduleModalServices.make, {\n onClose: (function () {\n setIsModalOpen(function (param) {\n return false;\n });\n }),\n title: \"Schedule a Hivelocity Demo\",\n subtitle: \"Submit the form to schedule a demo and learn more about Hivelocity bare metal solutions.\",\n buttonTitle: \"Submit\",\n leadType: \"HivelocityBareMetal\"\n });\n break;\n case \"EvocativeBareMetal\" :\n tmp = JsxRuntime.jsx(ScheduleModalServices.make, {\n onClose: (function () {\n setIsModalOpen(function (param) {\n return false;\n });\n }),\n title: \"Schedule an Evocative Demo\",\n subtitle: \"Submit the form to schedule a demo and learn more about Evocative bare metal solutions.\",\n buttonTitle: \"Submit\",\n leadType: \"EvocativeBareMetal\"\n });\n break;\n case \"Multicloud\" :\n tmp = JsxRuntime.jsx(ScheduleModalServices.make, {\n onClose: (function () {\n setIsModalOpen(function (param) {\n return false;\n });\n }),\n title: \"Schedule a Multicloud Demo\",\n subtitle: \"Submit the form to schedule a demo and learn more about multicloud solutions.\",\n buttonTitle: \"Submit\",\n leadType: \"Multicloud\"\n });\n break;\n \n }\n } else {\n tmp = null;\n }\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(H2.make, {\n className: css.title,\n children: props.title\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n deployNowButtonComponent !== undefined ? Caml_option.valFromOption(deployNowButtonComponent) : null,\n JsxRuntime.jsx(Button.make, {\n size: \"MD\",\n color: \"Clear\",\n ghost: true,\n className: css.button,\n onClick: (function (_event) {\n setIsModalOpen(function (param) {\n return true;\n });\n }),\n children: \"Schedule a Demo\"\n })\n ],\n className: css.buttonsRow\n }),\n tmp\n ],\n className: css.root\n });\n}\n\nvar make = BannerSignUpToday;\n\nexport {\n css ,\n make ,\n}\n/* css Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var answerWithLink = \"FAQMulticloud__answerWithLink__UGDrj\";\nexport var column = \"FAQMulticloud__column__Cyqle\";\nexport var flex = \"FAQMulticloud__flex__m2BtQ\";\nexport var flexColumn = \"FAQMulticloud__flexColumn__gh88T\";\nexport var gap1 = \"FAQMulticloud__gap1__SIsoY\";\nexport var gap2 = \"FAQMulticloud__gap2__M57xs\";\nexport var gap3 = \"FAQMulticloud__gap3___7l4M\";\nexport var gap4 = \"FAQMulticloud__gap4__Qtw9u\";\nexport var gap5 = \"FAQMulticloud__gap5__xL0Z8\";\nexport var heading = \"FAQMulticloud__heading___u8eJ\";\nexport var row = \"FAQMulticloud__row__k4SwG\";\nexport var wrapper = \"FAQMulticloud__wrapper__gQIxH\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as H2 from \"../../../../../styleguide/components/Heading/H2.res.js\";\nimport * as Env from \"../../../../../libs/Env.res.js\";\nimport * as Faq from \"../../../../../styleguide/components/Faq/Faq.res.js\";\nimport * as Url from \"../../../../../utils/Url.res.js\";\nimport * as Link from \"../../../../../styleguide/components/Link/Link.res.js\";\nimport * as React from \"react\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as Routes_Page from \"../../../../../routes/common/Routes_Page.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as FAQMulticloudScss from \"./FAQMulticloud.scss\";\nimport * as SignInModalContainer from \"../../../../../styleguide/modals/SignInModal/SignInModalContainer.res.js\";\nimport * as ScheduleModalServices from \"../../../common/schedule-modal-services/ScheduleModalServices.res.js\";\nimport * as ControlPlaneRedirectModal from \"../redirect-modal/ControlPlaneRedirectModal.res.js\";\n\nvar css = FAQMulticloudScss;\n\nfunction FAQMulticloud(props) {\n var userData = props.userData;\n var isUserLoggedIn = props.isUserLoggedIn;\n var match = React.useState(function () {\n return false;\n });\n var setIsScheduleDemoModalOpen = match[1];\n var match$1 = React.useState(function () {\n return false;\n });\n var setIsControlPlaneRedirectModalOpen = match$1[1];\n var match$2 = React.useState(function () {\n return false;\n });\n var setIsLoginModalOpen = match$2[1];\n var redirectToControlPlane = function (redirectUri) {\n if (redirectUri !== undefined) {\n return Url.visit(redirectUri);\n } else if (Env.controlPlaneRedirectLoginUrl !== undefined) {\n return Url.visit(Env.controlPlaneRedirectLoginUrl);\n } else {\n return ;\n }\n };\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(H2.make, {\n className: css.heading,\n children: \"Learn More About Multicloud\"\n }),\n JsxRuntime.jsx(Faq.make, {\n question: \"What multicloud services are available?\",\n answer: \"The platform currently offers Amazon Web Services, Microsoft Azure, and Google Cloud Platform. You can mix-and-match all of the services, across multiple regions to create a seamless multicloud deployment.\"\n }),\n JsxRuntime.jsx(Faq.make, {\n question: \"How do I sign up and get started?\",\n answerWithLink: Caml_option.some(JsxRuntime.jsxs(\"div\", {\n children: [\n \"Click \",\n JsxRuntime.jsx(\"text\", {\n children: \"here\",\n className: css.answerWithLink,\n onClick: (function (_event) {\n if (isUserLoggedIn && userData !== undefined) {\n var match = userData.controlPlaneAccountStatus;\n var exit = 0;\n switch (match) {\n case \"Active\" :\n return redirectToControlPlane(undefined);\n case \"InProgress\" :\n case \"Inactive\" :\n exit = 2;\n break;\n \n }\n if (exit === 2) {\n return setIsControlPlaneRedirectModalOpen(function (param) {\n return true;\n });\n }\n \n }\n setIsLoginModalOpen(function (param) {\n return true;\n });\n })\n }),\n \" to register for 2 months free. Once registered, a team member will reach out to you to learn more about your project and offer any advice you need.\"\n ]\n }))\n }),\n JsxRuntime.jsx(Faq.make, {\n question: \"What regions of the world are served?\",\n answer: \"You can deploy to multiple cloud platforms anywhere in the world offered by Amazon AWS, Microsoft Azure and Google Cloud Platform (GCP). You can deploy to one or more regions with a simple click of the button. Replicas are created, deployed and managed by the platform. Demand is routed automatically reducing latency.\"\n }),\n JsxRuntime.jsx(Faq.make, {\n question: \"How does it work with Kubernetes?\",\n answer: \"While Kubernetes orchestrates workloads within a single cluster, the platform orchestrates an unlimited number of hardened, security-isolated Kubernetes clusters in all the regions of the major clouds. Rather than standing up clusters and dealing with the complexity of K8s, the platform enables developers to focus solely on the 'dev' side and not the 'ops' side. The platform completely alleviates the developers' need to deal with or have in-depth knowledge of Kubernetes, Istio, TLS, DNS geo-routing, load balancing, secrets management, logging, metrics, scaling up/down, and many day-2, ops-related concerns associated with running apps & microservices in production.\"\n }),\n JsxRuntime.jsx(Faq.make, {\n question: \"Why should I use the multicloud platform?\",\n answer: \"When running backend apps in production, the ops-related activities are monumental - regardless of whether you run a single line of code or ten million. Rather than invest a substantial portion of the cost, time, and energy on the above non-business-value-adding aspects of your system, the platform frees you to focus on the development part, where your unique effort adds real value.\"\n }),\n JsxRuntime.jsx(Faq.make, {\n question: \"How does the multicloud platform improve our user experience?\",\n answer: \"The platform utilizes advanced, redundant health monitoring and geographically-distributed DNS infrastructure. It automatically re-routes traffic to healthy regions and clusters. It removes unhealthy and unreachable nodes from rotation, so the end-users measured availability and latency are optimal. A user from one part of the world experiences ultra-low-latency responses, while a user on the other side of the planet experiences similar ~20-30 ms latency.\"\n }),\n JsxRuntime.jsx(Faq.make, {\n question: \"Why should I work with Datacenters.com for my multicloud deployment?\",\n answer: \"Our users get 2 months free when they sign up! Datacenters.com has access to a network of experts who can help you plan and manage your multicloud deployment. In addition, your multicloud services will be linked together with colocation, Internet, network and other cloud needs through our unique CloudRackâ„¢ Control Center. Mange all of your services in one convenient place.\"\n }),\n JsxRuntime.jsx(Faq.make, {\n question: \"How much control will I have of the multicloud deployment?\",\n answerWithLink: Caml_option.some(JsxRuntime.jsxs(\"div\", {\n children: [\n \"The platform provides advanced, consistent, yet easy-to-use fine-grained authorization controls. These controls are identical whether administering \",\n JsxRuntime.jsx(Link.make, {\n href: Routes_Page.controlPlaneSignUp,\n children: \"Control Plane\"\n }),\n \" itself or your custom workloads. This unique capability sets the platform apart from other cloud or third-party solutions on the market. Your workloads get an out-of-the-box fine-grained authorization \\\"dial tone\\\" that uniformly handles simple and complex use cases alike.\"\n ]\n }))\n }),\n JsxRuntime.jsx(Faq.make, {\n question: \"I'm not ready to deploy. How can I schedule a demo?\",\n answerWithLink: Caml_option.some(JsxRuntime.jsxs(\"div\", {\n children: [\n \"Just click \",\n JsxRuntime.jsx(\"text\", {\n children: \"here\",\n className: css.answerWithLink,\n onClick: (function (_event) {\n setIsScheduleDemoModalOpen(function (param) {\n return true;\n });\n })\n }),\n \", complete the form and our Concierge team will set up a time with you.\"\n ]\n }))\n }),\n userData !== undefined && match$1[0] ? JsxRuntime.jsx(ControlPlaneRedirectModal.make, {\n onClose: (function (param) {\n setIsControlPlaneRedirectModalOpen(function (param) {\n return false;\n });\n }),\n email: userData.email,\n firstName: userData.firstName,\n lastName: userData.lastName,\n onSignup: redirectToControlPlane\n }) : null,\n match$2[0] ? JsxRuntime.jsx(SignInModalContainer.make, {\n close: (function () {\n setIsLoginModalOpen(function (param) {\n return false;\n });\n }),\n callback: (function () {\n setIsLoginModalOpen(function (param) {\n return false;\n });\n setIsControlPlaneRedirectModalOpen(function (param) {\n return true;\n });\n }),\n setUserData: props.setUserData,\n subTitle: \"Sign in to start deploying your CloudRackâ„¢ï¸ services today!\"\n }) : null,\n match[0] ? JsxRuntime.jsx(ScheduleModalServices.make, {\n onClose: (function () {\n setIsScheduleDemoModalOpen(function (param) {\n return false;\n });\n }),\n title: \"Schedule a Multicloud Demo\",\n subtitle: \"Submit the form to schedule a demo and learn more about multicloud solutions.\",\n buttonTitle: \"Submit\",\n leadType: \"Multicloud\"\n }) : null\n ],\n className: css.wrapper\n });\n}\n\nvar make = FAQMulticloud;\n\nexport {\n css ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as BannerReasons from \"../../../../../styleguide/components/BannerReasons/BannerReasons.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as BannerSingleReason from \"../../../../../styleguide/components/BannerReasons/BannerSingleReason.res.js\";\nimport IconOpsNoPainSvg from \"../assets/icon-ops-no-pain.svg\";\nimport IconMultiRegionSvg from \"../assets/icon-multi-region.svg\";\nimport IconMicroservicesSvg from \"../assets/icon-microservices.svg\";\nimport IconVirtualCloudSvg from \"../assets/icon-virtual-cloud.svg\";\n\nvar iconOpsNoPain = IconOpsNoPainSvg;\n\nvar iconVirtualCloud = IconVirtualCloudSvg;\n\nvar iconMultiRegion = IconMultiRegionSvg;\n\nvar iconMicroservices = IconMicroservicesSvg;\n\nfunction WhyMulticloud(props) {\n return JsxRuntime.jsxs(BannerReasons.make, {\n title: \"Why Multicloud?\",\n description: \"Virtual Cloud for compute - a PaaS (platform-as-a-service) that empowers developers to run microservices on multiple clouds and regions.\",\n children: [\n JsxRuntime.jsx(BannerSingleReason.make, {\n title: \"Ops without the Pain\",\n description: \"Best in class Ops, codified, using tools you already know and trust.\",\n svgIcon: iconOpsNoPain\n }),\n JsxRuntime.jsx(BannerSingleReason.make, {\n title: \"Virtual Cloud\",\n description: \"Mix-n-match services from AWS/Azure/GCP in a single workload.\",\n svgIcon: iconVirtualCloud\n }),\n JsxRuntime.jsx(BannerSingleReason.make, {\n title: \"Multi-Region\",\n description: \"Ultra-low latency and unbreakable 99.999% availability.\",\n svgIcon: iconMultiRegion\n }),\n JsxRuntime.jsx(BannerSingleReason.make, {\n title: \"Unbreakable Microservices\",\n description: \"Regional or global cloud outage? No problem! The platform intelligently routes to alternative healthy clouds/regions.\",\n svgIcon: iconMicroservices\n })\n ]\n });\n}\n\nvar make = WhyMulticloud;\n\nexport {\n iconOpsNoPain ,\n iconVirtualCloud ,\n iconMultiRegion ,\n iconMicroservices ,\n make ,\n}\n/* iconOpsNoPain Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var anchor = \"Multicloud__anchor__geaEy\";\nexport var backgroundImage = \"Multicloud__backgroundImage__DxCO9\";\nexport var cloudThatLovesYouBackSection = \"Multicloud__cloudThatLovesYouBackSection__X5WPC\";\nexport var column = \"Multicloud__column__PwgLp\";\nexport var faqSection = \"Multicloud__faqSection__RSFMQ\";\nexport var flex = \"Multicloud__flex__IXii8\";\nexport var flexColumn = \"Multicloud__flexColumn__K29dJ\";\nexport var gap1 = \"Multicloud__gap1__gFv5v\";\nexport var gap2 = \"Multicloud__gap2__TUb5i\";\nexport var gap3 = \"Multicloud__gap3___oBtU\";\nexport var gap4 = \"Multicloud__gap4__qxZoN\";\nexport var gap5 = \"Multicloud__gap5__naZ2t\";\nexport var jumbotronSection = \"Multicloud__jumbotronSection__GnLrS\";\nexport var learnMoreSection = \"Multicloud__learnMoreSection__eYreo\";\nexport var providerIconsSection = \"Multicloud__providerIconsSection__D2IfP\";\nexport var requestEstimateMulticloudSection = \"Multicloud__requestEstimateMulticloudSection__jyvwl\";\nexport var row = \"Multicloud__row__JHgIi\";\nexport var signUpTodaySection = \"Multicloud__signUpTodaySection__RuywM\";\nexport var simplePricingSection = \"Multicloud__simplePricingSection__ZGZB8\";\nexport var subNavigationSection = \"Multicloud__subNavigationSection__FbSSg\";\nexport var whyMulticloudSection = \"Multicloud__whyMulticloudSection__BUM86\";\nexport var wideContainer = \"Multicloud__wideContainer__jmSoD\";\nexport var wrapper = \"Multicloud__wrapper__AxhTZ\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as ID from \"../../../../../libs/ID.res.js\";\nimport * as Url from \"../../../../../utils/Url.res.js\";\nimport * as React from \"react\";\nimport * as Button from \"../../../../../styleguide/components/Button/Button.res.js\";\nimport * as $$Promise from \"../../../../../bindings/Promise.res.js\";\nimport * as Cloudinary from \"../../../../../libs/Cloudinary.res.js\";\nimport * as SentryLogger from \"../../../../../loggers/SentryLogger.res.js\";\nimport * as BannerCaseStudy from \"../../../common/banner-case-study/BannerCaseStudy.res.js\";\nimport * as Routes_Resource from \"../../../../../routes/common/Routes_Resource.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as SignInModalContainer from \"../../../../../styleguide/modals/SignInModal/SignInModalContainer.res.js\";\nimport * as NotifyMulticloudCaseStudyDownloadRequest from \"../../../../../api/requests/NotifyMulticloudCaseStudyDownloadRequest.res.js\";\n\nvar initialState = {\n signInModal: \"Hidden\"\n};\n\nfunction reducer(_state, action) {\n return {\n signInModal: action._0\n };\n}\n\nfunction CaseStudyMulticloud(props) {\n var userLoginStatus = props.userLoginStatus;\n var multicloudCaseStudy = props.multicloudCaseStudy;\n var match = React.useReducer(reducer, initialState);\n var dispatch = match[1];\n var match$1 = match[0].signInModal;\n return JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsx(BannerCaseStudy.make, {\n title: \"Multicloud Case Study\",\n description: \"We at Datacenters.com are using this technology and it saves us resources and guarantees the best performance to our customers all over the world.\",\n ctaComponent: multicloudCaseStudy !== undefined ? JsxRuntime.jsx(Button.make, {\n size: \"MD\",\n color: \"Teal\",\n onClick: (function (param) {\n if (userLoginStatus === \"LoggedIn\") {\n return $$Promise.wait(NotifyMulticloudCaseStudyDownloadRequest.exec(ID.toString(multicloudCaseStudy.id)), (function (x) {\n if (x.TAG !== \"Ok\") {\n return SentryLogger.error1({\n rootModule: \"CaseStudyMulticloud\",\n subModulePath: /* [] */0,\n value: \"make\",\n fullPath: \"CaseStudyMulticloud.make\"\n }, \"CaseStudyMulticloud\" + \"::CaseStudyMulticloud::notifyDownload::Error\", [\n \"Error\",\n x._0\n ]);\n }\n Url.visitBlank(multicloudCaseStudy.privateDownload);\n Url.visit(Routes_Resource.downloadThanks(multicloudCaseStudy.title));\n }));\n } else {\n return dispatch({\n TAG: \"ToggleSignInModal\",\n _0: \"Shown\"\n });\n }\n }),\n children: \"Download Case Study\"\n }) : null,\n testimonialText: \"\\\"Cloud cost is always a consideration, but the indirect costs were our real concern - the cost of redoing work and having key developers spend 20% of their time on DevOps. Control Plane allows us to optimize both direct and indirect cloud costs.\\\"\",\n testimonialAuthorName: \"Jim Nasr\",\n testimonialAuthorRole: \"CEO, Acoer\",\n testimonialAuthorImage: Cloudinary.imageUrl(\"v1663189349/1624287038763\")\n }),\n match$1 === \"Shown\" ? JsxRuntime.jsx(SignInModalContainer.make, {\n close: (function () {\n dispatch({\n TAG: \"ToggleSignInModal\",\n _0: \"Hidden\"\n });\n }),\n callback: (function () {\n \n }),\n setUserData: props.setUserData,\n subTitle: \"Sign In to download the case study\"\n }) : null\n ]\n });\n}\n\nvar make = CaseStudyMulticloud;\n\nexport {\n initialState ,\n reducer ,\n make ,\n}\n/* ID Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Rest from \"../Rest.res.js\";\n\nfunction exec(resourceId) {\n return Rest.$$fetch(\"/resources/\" + (resourceId + \"/notify-multicloud-case-study-download\"), {\n NAME: \"Post\",\n VAL: null\n }, \"Empty\", undefined, undefined);\n}\n\nexport {\n exec ,\n}\n/* Rest Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var buttonsRow = \"JumbotronMulticloud__buttonsRow__Q2xpt\";\nexport var column = \"JumbotronMulticloud__column__OhA83\";\nexport var flex = \"JumbotronMulticloud__flex__HVOWz\";\nexport var flexColumn = \"JumbotronMulticloud__flexColumn__BnvRg\";\nexport var freeMonthsMessage = \"JumbotronMulticloud__freeMonthsMessage__szwxp\";\nexport var gap1 = \"JumbotronMulticloud__gap1__j25pH\";\nexport var gap2 = \"JumbotronMulticloud__gap2__OrN6l\";\nexport var gap3 = \"JumbotronMulticloud__gap3__fup2E\";\nexport var gap4 = \"JumbotronMulticloud__gap4__PBgpx\";\nexport var gap5 = \"JumbotronMulticloud__gap5__zzSwd\";\nexport var heading = \"JumbotronMulticloud__heading__S36h9\";\nexport var row = \"JumbotronMulticloud__row__U9ZFh\";\nexport var wrapper = \"JumbotronMulticloud__wrapper__qH8Cz\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as H1 from \"../../../../../styleguide/components/Heading/H1.res.js\";\nimport * as Html from \"../../../../../libs/Html.res.js\";\nimport * as React from \"react\";\nimport * as Button from \"../../../../../styleguide/components/Button/Button.res.js\";\nimport * as UnderscoreFancy from \"../../../../../styleguide/components/UnderscoreFancy/UnderscoreFancy.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as FreeMonthsExplainer from \"../free-months-explainer/FreeMonthsExplainer.res.js\";\nimport * as ScheduleModalServices from \"../../../common/schedule-modal-services/ScheduleModalServices.res.js\";\nimport * as DeployNowButtonMulticloud from \"../deploy-now-button/DeployNowButtonMulticloud.res.js\";\nimport * as JumbotronMulticloudScss from \"./JumbotronMulticloud.scss\";\n\nvar css = JumbotronMulticloudScss;\n\nfunction JumbotronMulticloud(props) {\n var match = React.useState(function () {\n return false;\n });\n var setIsScheduleDemoModalOpen = match[1];\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(H1.make, {\n className: css.heading,\n children: \"Multicloud Deployment to Any Cloud, Anywhere, Anytime\"\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(DeployNowButtonMulticloud.make, {\n isUserLoggedIn: props.isUserLoggedIn,\n userData: props.userData,\n setUserData: props.setUserData,\n size: \"MD\",\n expanded: true\n }),\n JsxRuntime.jsx(Button.make, {\n size: \"MD\",\n color: \"Clear\",\n ghost: true,\n expanded: true,\n onClick: (function (_event) {\n setIsScheduleDemoModalOpen(function (param) {\n return true;\n });\n }),\n children: \"Schedule a Demo\"\n })\n ],\n className: css.buttonsRow\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n \"Deploy to AWS, Google Cloud and Microsoft Azure in seconds and get\",\n JsxRuntime.jsxs(UnderscoreFancy.make, {\n children: [\n Html.nbsp,\n JsxRuntime.jsx(FreeMonthsExplainer.make, {})\n ],\n color: \"Teal\"\n })\n ],\n className: css.freeMonthsMessage\n }),\n match[0] ? JsxRuntime.jsx(ScheduleModalServices.make, {\n onClose: (function () {\n setIsScheduleDemoModalOpen(function (param) {\n return false;\n });\n }),\n title: \"Schedule a Multicloud Demo\",\n subtitle: \"Submit the form to schedule a demo and learn more about multicloud solutions.\",\n buttonTitle: \"Submit\",\n leadType: \"Multicloud\"\n }) : null\n ],\n className: css.wrapper\n });\n}\n\nvar make = JumbotronMulticloud;\n\nexport {\n css ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as BannerReasons from \"../../../../../styleguide/components/BannerReasons/BannerReasons.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as BannerSingleReason from \"../../../../../styleguide/components/BannerReasons/BannerSingleReason.res.js\";\nimport IconSecureSvg from \"../assets/icon-secure.svg\";\nimport IconPerformanceSvg from \"../assets/icon-performance.svg\";\nimport IconRepatriationSvg from \"../assets/icon-repatriation.svg\";\n\nvar iconRepatriation = IconRepatriationSvg;\n\nvar iconPerformance = IconPerformanceSvg;\n\nvar iconSecure = IconSecureSvg;\n\nfunction CloudThatLovesYouBack(props) {\n return JsxRuntime.jsx(JsxRuntime.Fragment, {\n children: Caml_option.some(JsxRuntime.jsxs(BannerReasons.make, {\n title: \"Cloud that Loves You Back\",\n children: [\n JsxRuntime.jsx(BannerSingleReason.make, {\n title: \"No to Cloud Repatriation\",\n description: \"Regain control of escalating cloud costs.\",\n svgIcon: iconRepatriation\n }),\n JsxRuntime.jsx(BannerSingleReason.make, {\n title: \"High Performance\",\n description: \"Fine tune control of CPU and Memory backed by AI.\",\n svgIcon: iconPerformance\n }),\n JsxRuntime.jsx(BannerSingleReason.make, {\n title: \"Secure the Cloud\",\n description: \"Securely consume services inside VPCs and on-prem private networks.\",\n svgIcon: iconSecure\n })\n ]\n }))\n });\n}\n\nvar make = CloudThatLovesYouBack;\n\nexport {\n iconRepatriation ,\n iconPerformance ,\n iconSecure ,\n make ,\n}\n/* iconRepatriation Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var column = \"SimplePricingMulticloud__column__bekZD\";\nexport var flex = \"SimplePricingMulticloud__flex__gxboI\";\nexport var flexColumn = \"SimplePricingMulticloud__flexColumn__WYFx6\";\nexport var gap1 = \"SimplePricingMulticloud__gap1__TJNxN\";\nexport var gap2 = \"SimplePricingMulticloud__gap2__WsL7p\";\nexport var gap3 = \"SimplePricingMulticloud__gap3__LyuZI\";\nexport var gap4 = \"SimplePricingMulticloud__gap4__REvZ0\";\nexport var gap5 = \"SimplePricingMulticloud__gap5__EF4Rq\";\nexport var price = \"SimplePricingMulticloud__price__QJW_O\";\nexport var priceRectangle = \"SimplePricingMulticloud__priceRectangle__Ie0i3\";\nexport var priceRectangleText = \"SimplePricingMulticloud__priceRectangleText__ThZMC\";\nexport var priceRectanglesRow = \"SimplePricingMulticloud__priceRectanglesRow__RJTY_\";\nexport var row = \"SimplePricingMulticloud__row__FkQu6\";\nexport var subtitle = \"SimplePricingMulticloud__subtitle__kqKTb\";\nexport var title = \"SimplePricingMulticloud__title__WJjeE\";\nexport var wrapper = \"SimplePricingMulticloud__wrapper__WVZD7\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as H2 from \"../../../../../styleguide/components/Heading/H2.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport IconCpuSvg from \"../assets/icon-cpu.svg\";\nimport IconRamSvg from \"../assets/icon-ram.svg\";\nimport IconTrafficSvg from \"../assets/icon-traffic.svg\";\nimport * as SimplePricingMulticloudScss from \"./SimplePricingMulticloud.scss\";\n\nvar css = SimplePricingMulticloudScss;\n\nvar iconCpu = IconCpuSvg;\n\nvar iconRam = IconRamSvg;\n\nvar iconTraffic = IconTrafficSvg;\n\nfunction SimplePricingMulticloud(props) {\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: \"Simple pricing\",\n className: css.subtitle\n }),\n JsxRuntime.jsx(H2.make, {\n className: css.title,\n children: \"Only Pay for CPU, RAM and Egress\"\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"img\", {\n src: iconCpu\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: \"CPU: vCPU-second\",\n className: css.title\n }),\n JsxRuntime.jsx(\"div\", {\n children: \"$0.0000000236136\",\n className: css.price\n })\n ],\n className: css.priceRectangleText\n })\n ],\n className: css.priceRectangle\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"img\", {\n src: iconRam\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: \"RAM: GiB-second\",\n className: css.title\n }),\n JsxRuntime.jsx(\"div\", {\n children: \"$0.0000025632\",\n className: css.price\n })\n ],\n className: css.priceRectangleText\n })\n ],\n className: css.priceRectangle\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"img\", {\n src: iconTraffic\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: \"Egress Traffic: GB\",\n className: css.title\n }),\n JsxRuntime.jsx(\"div\", {\n children: \"$0.12\",\n className: css.price\n })\n ],\n className: css.priceRectangleText\n })\n ],\n className: css.priceRectangle\n })\n ],\n className: css.priceRectanglesRow\n })\n ],\n className: css.wrapper\n });\n}\n\nvar make = SimplePricingMulticloud;\n\nexport {\n css ,\n iconCpu ,\n iconRam ,\n iconTraffic ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as SubNavigation from \"../../../../../styleguide/components/SubNavigation/SubNavigation.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as DeployNowButtonMulticloud from \"../deploy-now-button/DeployNowButtonMulticloud.res.js\";\n\nfunction SubNavigationMulticloud(props) {\n return JsxRuntime.jsxs(SubNavigation.make, {\n title: \"Multicloud\",\n children: [\n JsxRuntime.jsx(SubNavigation.Link.make, {\n href: \"#multicloud_what_is\",\n text: \"What is Multicloud?\"\n }),\n JsxRuntime.jsx(SubNavigation.Link.make, {\n href: \"#multicloud_pricing\",\n text: \"Pricing\"\n }),\n JsxRuntime.jsx(SubNavigation.Link.make, {\n href: \"#multicloud_why\",\n text: \"Why Multicloud?\"\n }),\n JsxRuntime.jsx(SubNavigation.Link.make, {\n href: \"#multicloud_locations\",\n text: \"Locations\"\n }),\n JsxRuntime.jsx(SubNavigation.Link.make, {\n href: \"#multicloud_case_study\",\n text: \"Case Study\"\n }),\n JsxRuntime.jsx(SubNavigation.Link.make, {\n href: \"#multicloud_faq\",\n text: \"FAQ\"\n }),\n JsxRuntime.jsx(DeployNowButtonMulticloud.make, {\n isUserLoggedIn: props.isUserLoggedIn,\n userData: props.userData,\n setUserData: props.setUserData,\n size: \"SM\",\n expanded: false\n })\n ]\n });\n}\n\nvar make = SubNavigationMulticloud;\n\nexport {\n make ,\n}\n/* SubNavigation Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\n\nfunction calculatePriceCPU(cpuMillicores) {\n return Math.max(cpuMillicores, 0.0) * 0.0000000236136;\n}\n\nfunction calculatePriceRAM(ramMB) {\n return Math.max(ramMB, 0.0) / 1000.0 * 0.0000025632;\n}\n\nfunction calculatePriceEgressTraffic(egressGB) {\n return Math.max(egressGB, 0.0) * 0.12 / 2592000.0;\n}\n\nfunction calculateEstimatedTotalPerSecond(cpuMillicores, ramMB, egressGB) {\n return calculatePriceCPU(cpuMillicores) + calculatePriceRAM(ramMB) + calculatePriceEgressTraffic(egressGB);\n}\n\nfunction calculateEstimatedTotalPerMinute(cpuMillicores, ramMB, egressGB) {\n return calculateEstimatedTotalPerSecond(cpuMillicores, ramMB, egressGB) * 60.0;\n}\n\nfunction calculateEstimatedTotalPerHour(cpuMillicores, ramMB, egressGB) {\n return calculateEstimatedTotalPerMinute(cpuMillicores, ramMB, egressGB) * 60.0;\n}\n\nfunction calculateEstimatedTotalPerDay(cpuMillicores, ramMB, egressGB) {\n return calculateEstimatedTotalPerHour(cpuMillicores, ramMB, egressGB) * 24.0;\n}\n\nfunction calculateEstimatedTotalPerWeek(cpuMillicores, ramMB, egressGB) {\n return calculateEstimatedTotalPerDay(cpuMillicores, ramMB, egressGB) * 7.0;\n}\n\nfunction calculateEstimatedTotalPerMonth(cpuMillicores, ramMB, egressGB) {\n return calculateEstimatedTotalPerDay(cpuMillicores, ramMB, egressGB) * 30.0;\n}\n\nfunction format(number) {\n if (number !== 0.0) {\n if (number > 1.0) {\n return number.toFixed(2);\n } else {\n return number.toFixed(8);\n }\n } else {\n return \"0.0\";\n }\n}\n\nvar priceCPU = 0.0000000236136;\n\nvar priceRAM = 0.0000025632;\n\nvar priceEgressTraffic = 0.12;\n\nexport {\n priceCPU ,\n priceRAM ,\n priceEgressTraffic ,\n calculatePriceCPU ,\n calculatePriceRAM ,\n calculatePriceEgressTraffic ,\n calculateEstimatedTotalPerSecond ,\n calculateEstimatedTotalPerMinute ,\n calculateEstimatedTotalPerHour ,\n calculateEstimatedTotalPerDay ,\n calculateEstimatedTotalPerWeek ,\n calculateEstimatedTotalPerMonth ,\n format ,\n}\n/* No side effect */\n","// extracted by mini-css-extract-plugin\nexport var button = \"PricingEstimatorModal__button__eJlvY\";\nexport var column = \"PricingEstimatorModal__column__D_bf6\";\nexport var endColumn = \"PricingEstimatorModal__endColumn__V8nqo\";\nexport var estimatedTotal = \"PricingEstimatorModal__estimatedTotal__lEyua\";\nexport var estimatedTotalDuration = \"PricingEstimatorModal__estimatedTotalDuration__ZdG5q\";\nexport var estimatedTotalNoCommitmentSubtitle = \"PricingEstimatorModal__estimatedTotalNoCommitmentSubtitle__Qo_lZ\";\nexport var estimatedTotalNoCommitmentTitle = \"PricingEstimatorModal__estimatedTotalNoCommitmentTitle__L0Xyb\";\nexport var estimatedTotalPrice = \"PricingEstimatorModal__estimatedTotalPrice__j5WZP\";\nexport var flex = \"PricingEstimatorModal__flex__OhPNz\";\nexport var flexColumn = \"PricingEstimatorModal__flexColumn___J_9d\";\nexport var gap1 = \"PricingEstimatorModal__gap1__jK1uc\";\nexport var gap2 = \"PricingEstimatorModal__gap2__OQbGB\";\nexport var gap3 = \"PricingEstimatorModal__gap3__HYaYG\";\nexport var gap4 = \"PricingEstimatorModal__gap4__sXgm0\";\nexport var gap5 = \"PricingEstimatorModal__gap5__wtWtl\";\nexport var modalBody = \"PricingEstimatorModal__modalBody___wctE\";\nexport var modalFooter = \"PricingEstimatorModal__modalFooter__kzViI\";\nexport var modalFooterWrapper = \"PricingEstimatorModal__modalFooterWrapper__pSxRM\";\nexport var modalHeader = \"PricingEstimatorModal__modalHeader__m6LVG\";\nexport var modalHeaderWrapper = \"PricingEstimatorModal__modalHeaderWrapper__BG6m1\";\nexport var modalRoot = \"PricingEstimatorModal__modalRoot__mfoM5\";\nexport var pricingEstimatorDescription = \"PricingEstimatorModal__pricingEstimatorDescription__Rf8jo\";\nexport var row = \"PricingEstimatorModal__row__AUMWV\";\nexport var scheduleDemo = \"PricingEstimatorModal__scheduleDemo__F70Tf\";\nexport var scheduleDemoDescription = \"PricingEstimatorModal__scheduleDemoDescription__Dd_GS\";\nexport var scheduleDemoForm = \"PricingEstimatorModal__scheduleDemoForm__dQEJP\";\nexport var startColumn = \"PricingEstimatorModal__startColumn__zqOQe\";","// extracted by mini-css-extract-plugin\nexport var column = \"PricingEstimatorSliderGroup__column__R9wd9\";\nexport var flex = \"PricingEstimatorSliderGroup__flex__wVRsP\";\nexport var flexColumn = \"PricingEstimatorSliderGroup__flexColumn__h10nO\";\nexport var gap1 = \"PricingEstimatorSliderGroup__gap1__p08Wi\";\nexport var gap2 = \"PricingEstimatorSliderGroup__gap2__RXh2e\";\nexport var gap3 = \"PricingEstimatorSliderGroup__gap3__pnNWX\";\nexport var gap4 = \"PricingEstimatorSliderGroup__gap4__a6DC6\";\nexport var gap5 = \"PricingEstimatorSliderGroup__gap5__gdzMp\";\nexport var icon = \"PricingEstimatorSliderGroup__icon__RCT67\";\nexport var iconDesktop = \"PricingEstimatorSliderGroup__iconDesktop__LQBzK\";\nexport var iconMobile = \"PricingEstimatorSliderGroup__iconMobile__YuGAp\";\nexport var pricing = \"PricingEstimatorSliderGroup__pricing__Qxv1A\";\nexport var pricingDescription = \"PricingEstimatorSliderGroup__pricingDescription__e4wSt\";\nexport var pricingHeading = \"PricingEstimatorSliderGroup__pricingHeading__NLNDd\";\nexport var row = \"PricingEstimatorSliderGroup__row__bHhHJ\";\nexport var sliderGroupWrapper = \"PricingEstimatorSliderGroup__sliderGroupWrapper__wFk6z\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as H3 from \"../../components/Heading/H3.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as PricingEstimatorSliderGroupScss from \"./PricingEstimatorSliderGroup.scss\";\n\nvar css = PricingEstimatorSliderGroupScss;\n\nfunction PricingEstimatorSliderGroup(props) {\n var iconSvg = props.iconSvg;\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"img\", {\n className: Cx.cx([\n css.icon,\n css.iconDesktop\n ]),\n src: iconSvg\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"img\", {\n className: Cx.cx([\n css.icon,\n css.iconMobile\n ]),\n src: iconSvg\n }),\n JsxRuntime.jsx(H3.make, {\n children: props.title\n })\n ],\n className: css.pricingHeading\n }),\n JsxRuntime.jsx(\"div\", {\n children: props.description\n }),\n JsxRuntime.jsx(\"div\", {\n children: props.pricingDescription,\n className: css.pricingDescription\n }),\n JsxRuntime.jsx(\"div\", {\n children: props.sliderComponent\n })\n ],\n className: css.pricing\n })\n ],\n className: css.sliderGroupWrapper\n });\n}\n\nvar make = PricingEstimatorSliderGroup;\n\nexport {\n css ,\n make ,\n}\n/* css Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var column = \"Slider__column__o6cTc\";\nexport var flex = \"Slider__flex__oojQb\";\nexport var flexColumn = \"Slider__flexColumn__aCjkV\";\nexport var gap1 = \"Slider__gap1__dR5BC\";\nexport var gap2 = \"Slider__gap2__PxSoB\";\nexport var gap3 = \"Slider__gap3__X1Qrd\";\nexport var gap4 = \"Slider__gap4__WW4SP\";\nexport var gap5 = \"Slider__gap5__KF_r1\";\nexport var row = \"Slider__row__tmymi\";\nexport var sliderBase = \"Slider__sliderBase__oA5Va\";\nexport var sliderRangeBase = \"Slider__sliderRangeBase__j4Wal\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport RcSlider from \"rc-slider\";\nimport * as SliderScss from \"./Slider.scss\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as IndexCss from \"rc-slider/assets/index.css\";\n\nvar css = SliderScss;\n\nfunction Slider(props) {\n return JsxRuntime.jsx(RcSlider, {\n min: props.min,\n max: props.max,\n value: props.value,\n onChange: props.onChange,\n className: css.sliderBase\n });\n}\n\nfunction Slider$Range(props) {\n return JsxRuntime.jsx(RcSlider, {\n min: props.min,\n max: props.max,\n onChange: props.onChange,\n onAfterChange: props.onAfterChange,\n value: props.value,\n defaultValue: props.defaultValue,\n allowCross: props.allowCross,\n className: css.sliderRangeBase\n });\n}\n\nvar $$Range = {\n make: Slider$Range\n};\n\nvar make = Slider;\n\nexport {\n css ,\n make ,\n $$Range ,\n}\n/* css Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var button = \"ButtonGroup__button__lqU88\";\nexport var buttonInactive = \"ButtonGroup__buttonInactive__TVBLX\";\nexport var buttonInactiveDarkerGray = \"ButtonGroup__buttonInactiveDarkerGray__Sdtvf\";\nexport var buttonLeft = \"ButtonGroup__buttonLeft__CoGCx\";\nexport var buttonRight = \"ButtonGroup__buttonRight__AGf7a\";\nexport var column = \"ButtonGroup__column__XET7V\";\nexport var flex = \"ButtonGroup__flex__dMV7o\";\nexport var flexColumn = \"ButtonGroup__flexColumn__MK8_b\";\nexport var gap1 = \"ButtonGroup__gap1__khjNj\";\nexport var gap2 = \"ButtonGroup__gap2__LGvyZ\";\nexport var gap3 = \"ButtonGroup__gap3__flCCu\";\nexport var gap4 = \"ButtonGroup__gap4__PAlmR\";\nexport var gap5 = \"ButtonGroup__gap5__zd1vp\";\nexport var row = \"ButtonGroup__row__LHdcV\";\nexport var wrapper = \"ButtonGroup__wrapper__fPYLU\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as Button from \"./Button.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ButtonGroupScss from \"./ButtonGroup.scss\";\n\nvar css = ButtonGroupScss;\n\nfunction ButtonGroup(props) {\n var className = props.className;\n var __size = props.size;\n var __isActiveColor = props.isActiveColor;\n var onToggle = props.onToggle;\n var isActiveColor = __isActiveColor !== undefined ? __isActiveColor : \"Teal\";\n var size = __size !== undefined ? __size : \"XS\";\n return JsxRuntime.jsx(\"div\", {\n children: Belt_Array.mapWithIndex(props.buttons, (function (index, button) {\n return JsxRuntime.jsx(Button.make, {\n size: size,\n color: button.isActive ? isActiveColor : \"White\",\n className: Cx.cx([\n css.button,\n index === 0 ? css.buttonLeft : css.buttonRight,\n button.isActive ? \"\" : (\n isActiveColor === \"DarkerGray\" ? css.buttonInactiveDarkerGray : css.buttonInactive\n )\n ]),\n onClick: (function ($$event) {\n if (button.isActive === false) {\n return onToggle($$event);\n }\n \n }),\n children: button.title\n }, button.title);\n })),\n className: className !== undefined ? Cx.cx([\n css.wrapper,\n className\n ]) : css.wrapper\n });\n}\n\nvar make = ButtonGroup;\n\nexport {\n css ,\n make ,\n}\n/* css Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var buttonGroup = \"PricingEstimatorSliderInput__buttonGroup__r1oX_\";\nexport var column = \"PricingEstimatorSliderInput__column__RG4x_\";\nexport var flex = \"PricingEstimatorSliderInput__flex__FsQvd\";\nexport var flexColumn = \"PricingEstimatorSliderInput__flexColumn__erP1N\";\nexport var gap1 = \"PricingEstimatorSliderInput__gap1__fNT4h\";\nexport var gap2 = \"PricingEstimatorSliderInput__gap2__EZXUI\";\nexport var gap3 = \"PricingEstimatorSliderInput__gap3__UCdcD\";\nexport var gap4 = \"PricingEstimatorSliderInput__gap4__qxdQp\";\nexport var gap5 = \"PricingEstimatorSliderInput__gap5__Jd6UR\";\nexport var input = \"PricingEstimatorSliderInput__input__O985i\";\nexport var inputField = \"PricingEstimatorSliderInput__inputField__PycOH\";\nexport var row = \"PricingEstimatorSliderInput__row__PQ8FG\";\nexport var slider = \"PricingEstimatorSliderInput__slider__nIB6T\";\nexport var wrapper = \"PricingEstimatorSliderInput__wrapper__a2F3Q\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as React from \"react\";\nimport * as Slider from \"../../forms/Slider/Slider.res.js\";\nimport * as ButtonGroup from \"../../components/Button/ButtonGroup.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as PricingEstimatorSliderInputScss from \"./PricingEstimatorSliderInput.scss\";\n\nvar css = PricingEstimatorSliderInputScss;\n\nfunction PricingEstimatorSliderInput(props) {\n var onValueChange = props.onValueChange;\n var minValue = props.minValue;\n var match = React.useState(function () {\n return minValue;\n });\n var setSelectedValue = match[1];\n var selectedValue = match[0];\n React.useEffect((function () {\n onValueChange(minValue);\n }), []);\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(Slider.make, {\n min: minValue,\n max: props.maxValue,\n value: selectedValue,\n onChange: (function (value) {\n setSelectedValue(function (param) {\n return value;\n });\n onValueChange(value);\n })\n }),\n className: css.slider\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"input\", {\n className: css.inputField,\n type: \"number\",\n value: selectedValue.toString(),\n onChange: (function ($$event) {\n var value = $$event.target.value;\n setSelectedValue(function (param) {\n return value;\n });\n onValueChange(value);\n })\n }),\n className: css.input\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(ButtonGroup.make, {\n buttons: props.buttons,\n onToggle: props.onToggle\n }),\n className: css.buttonGroup\n })\n ],\n className: css.wrapper\n });\n}\n\nvar make = PricingEstimatorSliderInput;\n\nexport {\n css ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Html from \"../../../libs/Html.res.js\";\nimport * as React from \"react\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport IconCpuSvg from \"./assets/icon-cpu.svg\";\nimport * as PricingEstimatorSliderGroup from \"./PricingEstimatorSliderGroup.res.js\";\nimport * as PricingEstimatorSliderInput from \"./PricingEstimatorSliderInput.res.js\";\n\nvar iconCPU = IconCpuSvg;\n\nfunction PricingEstimatorSliderCPUGroup(props) {\n var onValueChange = props.onValueChange;\n var match = React.useState(function () {\n return true;\n });\n var setUseMillicores = match[1];\n var useMillicores = match[0];\n return JsxRuntime.jsx(PricingEstimatorSliderGroup.make, {\n title: \"CPU\",\n description: \"Capacity AI allocates a continuously optimized number of vCPU millicores (1/1000 of a vCPU) and RAM to guarantee a significant cost saving.\",\n pricingDescription: \"$\" + Html.nbsp + \"0.0000000236136 per vCPU-second per millicore\",\n iconSvg: iconCPU,\n sliderComponent: JsxRuntime.jsx(PricingEstimatorSliderInput.make, {\n minValue: useMillicores ? 25 : 1,\n maxValue: useMillicores ? 1000 : 64,\n onValueChange: (function (value) {\n onValueChange(useMillicores ? value : Math.imul(value, 1000));\n }),\n onToggle: (function (param) {\n setUseMillicores(function (prevValue) {\n return !prevValue;\n });\n }),\n buttons: [\n {\n title: \"Millicores\",\n isActive: useMillicores === true\n },\n {\n title: \"Cores\",\n isActive: useMillicores === false\n }\n ]\n }, useMillicores ? \"_1\" : \"_2\")\n });\n}\n\nvar make = PricingEstimatorSliderCPUGroup;\n\nexport {\n iconCPU ,\n make ,\n}\n/* iconCPU Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Html from \"../../../libs/Html.res.js\";\nimport * as React from \"react\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport IconRamSvg from \"./assets/icon-ram.svg\";\nimport * as PricingEstimatorSliderGroup from \"./PricingEstimatorSliderGroup.res.js\";\nimport * as PricingEstimatorSliderInput from \"./PricingEstimatorSliderInput.res.js\";\n\nvar iconRAM = IconRamSvg;\n\nfunction PricingEstimatorSliderRAMGroup(props) {\n var onValueChange = props.onValueChange;\n var match = React.useState(function () {\n return true;\n });\n var setUseMB = match[1];\n var useMB = match[0];\n return JsxRuntime.jsx(PricingEstimatorSliderGroup.make, {\n title: \"RAM\",\n description: \"Capacity AI reduces RAM consumption by approx. 10X, achieving significant cost savings.\",\n pricingDescription: \"$\" + Html.nbsp + \"0.000002136 per GiB-second\",\n iconSvg: iconRAM,\n sliderComponent: JsxRuntime.jsx(PricingEstimatorSliderInput.make, {\n minValue: useMB ? 12 : 1,\n maxValue: useMB ? 1000 : 512,\n onValueChange: (function (value) {\n onValueChange(useMB ? value : Math.imul(value, 1000));\n }),\n onToggle: (function (param) {\n setUseMB(function (prevValue) {\n return !prevValue;\n });\n }),\n buttons: [\n {\n title: \"MB\",\n isActive: useMB === true\n },\n {\n title: \"GB\",\n isActive: useMB === false\n }\n ]\n }, useMB ? \"_1\" : \"_2\")\n });\n}\n\nvar make = PricingEstimatorSliderRAMGroup;\n\nexport {\n iconRAM ,\n make ,\n}\n/* iconRAM Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Html from \"../../../libs/Html.res.js\";\nimport * as React from \"react\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport IconTrafficSvg from \"./assets/icon-traffic.svg\";\nimport * as PricingEstimatorSliderGroup from \"./PricingEstimatorSliderGroup.res.js\";\nimport * as PricingEstimatorSliderInput from \"./PricingEstimatorSliderInput.res.js\";\n\nvar iconTraffic = IconTrafficSvg;\n\nfunction PricingEstimatorSliderEgressGroup(props) {\n var onValueChange = props.onValueChange;\n var match = React.useState(function () {\n return true;\n });\n var setUseGB = match[1];\n var useGB = match[0];\n return JsxRuntime.jsx(PricingEstimatorSliderGroup.make, {\n title: \"Egress Traffic\",\n description: \"Egress traffic represents the amount of data that is sent to the internet from your workloads.\",\n pricingDescription: \"$\" + Html.nbsp + \"0.12 per GB per month\",\n iconSvg: iconTraffic,\n sliderComponent: JsxRuntime.jsx(PricingEstimatorSliderInput.make, {\n minValue: useGB ? 0 : 1,\n maxValue: 1000,\n onValueChange: (function (value) {\n onValueChange(useGB ? value : Math.imul(value, 1000));\n }),\n onToggle: (function (param) {\n setUseGB(function (prevValue) {\n return !prevValue;\n });\n }),\n buttons: [\n {\n title: \"GB\",\n isActive: useGB === true\n },\n {\n title: \"TB\",\n isActive: useGB === false\n }\n ]\n }, useGB ? \"_1\" : \"_2\")\n });\n}\n\nvar make = PricingEstimatorSliderEgressGroup;\n\nexport {\n iconTraffic ,\n make ,\n}\n/* iconTraffic Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as H2 from \"../../components/Heading/H2.res.js\";\nimport * as H3 from \"../../components/Heading/H3.res.js\";\nimport * as React from \"react\";\nimport * as Button from \"../../components/Button/Button.res.js\";\nimport * as Portal from \"../../components/Portal/Portal.res.js\";\nimport * as Select from \"../../forms/Select/Select.res.js\";\nimport * as IconClose from \"../../icons/IconClose.res.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as Hooks from \"@adeira/hooks\";\nimport * as CreateModalLead from \"../LeadModal/form/CreateModalLead.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as PricingEstimatorMath from \"./PricingEstimatorMath.res.js\";\nimport BulletCheckSvg from \"./assets/bullet-check.svg\";\nimport * as PricingEstimatorModalScss from \"./PricingEstimatorModal.scss\";\nimport * as PricingEstimatorSliderCPUGroup from \"./PricingEstimatorSliderCPUGroup.res.js\";\nimport * as PricingEstimatorSliderRAMGroup from \"./PricingEstimatorSliderRAMGroup.res.js\";\nimport LogoDatacentersComSvg from \"./assets/logo-datacenters.com.svg\";\nimport * as PricingEstimatorSliderEgressGroup from \"./PricingEstimatorSliderEgressGroup.res.js\";\n\nvar css = PricingEstimatorModalScss;\n\nvar logoDatacenters = LogoDatacentersComSvg;\n\nvar iconBulletCheck = BulletCheckSvg;\n\nvar _map = {\"per_month\":\"per_month\",\"per_week\":\"per_week\",\"per_day\":\"per_day\",\"per_hour\":\"per_hour\",\"per_minute\":\"per_minute\",\"per_second\":\"per_second\"};\n\nfunction timeframeToJs(param) {\n return param;\n}\n\nfunction timeframeFromJs(param) {\n return _map[param];\n}\n\nfunction PricingEstimatorModal(props) {\n var scheduleDemoFormRef = React.useRef(null);\n var isIntersecting = Hooks.useIntersectionObserver(scheduleDemoFormRef);\n var match = React.useState(function () {\n return 0;\n });\n var setCpuMillicores = match[1];\n var cpuMillicores = match[0];\n var match$1 = React.useState(function () {\n return 0;\n });\n var setRamMB = match$1[1];\n var ramMB = match$1[0];\n var match$2 = React.useState(function () {\n return 0;\n });\n var setEgressGB = match$2[1];\n var egressGB = match$2[0];\n var match$3 = React.useState(function () {\n return \"per_month\";\n });\n var setTimeframe = match$3[1];\n var timeframe = match$3[0];\n var calculateEstimateTotalPerTimeframe = function (timeframe) {\n var cpuMillicores$1 = cpuMillicores;\n var ramMB$1 = ramMB;\n var egressGB$1 = egressGB;\n if (timeframe === \"per_day\") {\n return PricingEstimatorMath.calculateEstimatedTotalPerDay(cpuMillicores$1, ramMB$1, egressGB$1);\n } else if (timeframe === \"per_hour\") {\n return PricingEstimatorMath.calculateEstimatedTotalPerHour(cpuMillicores$1, ramMB$1, egressGB$1);\n } else if (timeframe === \"per_week\") {\n return PricingEstimatorMath.calculateEstimatedTotalPerWeek(cpuMillicores$1, ramMB$1, egressGB$1);\n } else if (timeframe === \"per_minute\") {\n return PricingEstimatorMath.calculateEstimatedTotalPerMinute(cpuMillicores$1, ramMB$1, egressGB$1);\n } else if (timeframe === \"per_second\") {\n return PricingEstimatorMath.calculateEstimatedTotalPerSecond(cpuMillicores$1, ramMB$1, egressGB$1);\n } else {\n return PricingEstimatorMath.calculateEstimatedTotalPerMonth(cpuMillicores$1, ramMB$1, egressGB$1);\n }\n };\n var bulletStyle = {\n listStyleImage: \"url(\" + iconBulletCheck + \")\"\n };\n return JsxRuntime.jsx(Portal.make, {\n children: JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"img\", {\n src: logoDatacenters\n }),\n JsxRuntime.jsx(Button.make, {\n size: \"MD\",\n color: \"Clear\",\n className: css.button,\n onClick: props.onClose,\n children: JsxRuntime.jsx(IconClose.make, {\n size: \"MD\",\n color: \"DarkerGray\"\n })\n })\n ],\n className: css.modalHeader\n }),\n className: css.modalHeaderWrapper\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(H2.make, {\n children: \"Pricing Estimator\"\n }),\n JsxRuntime.jsx(\"div\", {\n children: \"Submit the application to schedule a demo and learn more about the multicloud solution.\",\n className: css.pricingEstimatorDescription\n }),\n JsxRuntime.jsx(PricingEstimatorSliderCPUGroup.make, {\n onValueChange: (function (value) {\n setCpuMillicores(function (param) {\n return value;\n });\n })\n }),\n JsxRuntime.jsx(PricingEstimatorSliderRAMGroup.make, {\n onValueChange: (function (value) {\n setRamMB(function (param) {\n return value;\n });\n })\n }),\n JsxRuntime.jsx(PricingEstimatorSliderEgressGroup.make, {\n onValueChange: (function (value) {\n setEgressGB(function (param) {\n return value;\n });\n })\n }),\n JsxRuntime.jsx(H2.make, {\n children: \"What's Included\"\n }),\n JsxRuntime.jsxs(\"ul\", {\n children: [\n JsxRuntime.jsx(\"li\", {\n children: \"NAT Gateways\",\n style: bulletStyle\n }),\n JsxRuntime.jsx(\"li\", {\n children: \"Internet Gateways\",\n style: bulletStyle\n }),\n JsxRuntime.jsx(\"li\", {\n children: \"TLS certificates\",\n style: bulletStyle\n }),\n JsxRuntime.jsx(\"li\", {\n children: \"DNS and global DNS\",\n style: bulletStyle\n }),\n JsxRuntime.jsx(\"li\", {\n children: \"Secrets storage and management\",\n style: bulletStyle\n }),\n JsxRuntime.jsx(\"li\", {\n children: \"Container registry storage and management\",\n style: bulletStyle\n }),\n JsxRuntime.jsx(\"li\", {\n children: \"Log storage and consolidation\",\n style: bulletStyle\n }),\n JsxRuntime.jsx(\"li\", {\n children: \"Metrics\",\n style: bulletStyle\n }),\n JsxRuntime.jsx(\"li\", {\n children: \"Load balancing\",\n style: bulletStyle\n }),\n JsxRuntime.jsx(\"li\", {\n children: \"Audit trail\",\n style: bulletStyle\n }),\n JsxRuntime.jsx(\"li\", {\n children: \"Container orchestration (e.g., K8s)\",\n style: bulletStyle\n }),\n JsxRuntime.jsx(\"li\", {\n children: \"Service mesh (e.g., Istio)\",\n style: bulletStyle\n }),\n JsxRuntime.jsx(\"li\", {\n children: \"VPN between VPCs\",\n style: bulletStyle\n }),\n JsxRuntime.jsx(\"li\", {\n children: \"Auto-Scaling\",\n style: bulletStyle\n })\n ]\n })\n ],\n className: css.startColumn\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(H3.make, {\n children: \"Estimated Total Per Location\"\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n \"$\",\n PricingEstimatorMath.format(calculateEstimateTotalPerTimeframe(timeframe))\n ],\n className: css.estimatedTotalPrice\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsxs(Select.make, {\n id: \"estimatedTotalDuration\",\n value: timeframe,\n className: css.estimatedTotalDuration,\n onChange: (function ($$event) {\n setTimeframe($$event.target.value);\n }),\n children: [\n JsxRuntime.jsx(Select.$$Option.make, {\n value: \"per_month\",\n children: \"Per month\"\n }),\n JsxRuntime.jsx(Select.$$Option.make, {\n value: \"per_week\",\n children: \"Per week\"\n }),\n JsxRuntime.jsx(Select.$$Option.make, {\n value: \"per_day\",\n children: \"Per day\"\n }),\n JsxRuntime.jsx(Select.$$Option.make, {\n value: \"per_hour\",\n children: \"Per hour\"\n }),\n JsxRuntime.jsx(Select.$$Option.make, {\n value: \"per_minute\",\n children: \"Per minute\"\n }),\n JsxRuntime.jsx(Select.$$Option.make, {\n value: \"per_second\",\n children: \"Per second\"\n })\n ]\n })\n }),\n JsxRuntime.jsx(\"div\", {\n children: \"No contracts, minimums, or lock-ins\",\n className: css.estimatedTotalNoCommitmentTitle\n }),\n JsxRuntime.jsx(\"div\", {\n children: \"A typical workload costs less than $5 per month per location.\",\n className: css.estimatedTotalNoCommitmentSubtitle\n })\n ],\n className: css.estimatedTotal\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n id: \"schedule_a_demo\"\n }),\n JsxRuntime.jsx(H3.make, {\n children: \"Schedule a Demo\"\n }),\n JsxRuntime.jsx(\"div\", {\n children: \"Submit the form to schedule a demo and learn more about the multicloud solution.\",\n className: css.scheduleDemoDescription\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(CreateModalLead.make, {\n buttonTitle: \"Schedule Demo\",\n leadType: \"Multicloud\"\n }),\n ref: Caml_option.some(scheduleDemoFormRef),\n className: css.scheduleDemoForm\n })\n ],\n className: css.scheduleDemo\n })\n ],\n className: css.endColumn\n })\n ],\n className: css.modalBody\n }),\n isIntersecting === false ? JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsxs(\"span\", {\n children: [\n \"$\",\n PricingEstimatorMath.format(calculateEstimateTotalPerTimeframe(timeframe))\n ],\n className: css.estimatedTotalPrice\n }),\n \"/\",\n timeframe === \"per_day\" ? \"day\" : (\n timeframe === \"per_hour\" ? \"hour\" : (\n timeframe === \"per_week\" ? \"week\" : (\n timeframe === \"per_minute\" ? \"minute\" : (\n timeframe === \"per_second\" ? \"second\" : \"month\"\n )\n )\n )\n )\n ]\n }),\n JsxRuntime.jsx(Button.AsLink.make, {\n href: \"#schedule_a_demo\",\n size: \"MD\",\n color: \"Primary\",\n children: \"Schedule Demo\"\n })\n ],\n className: Cx.cx([\n \"container\",\n css.modalFooter\n ])\n }),\n className: css.modalFooterWrapper\n }) : null\n ],\n className: css.modalRoot\n })\n });\n}\n\nvar make = PricingEstimatorModal;\n\nexport {\n css ,\n logoDatacenters ,\n iconBulletCheck ,\n timeframeToJs ,\n timeframeFromJs ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as React from \"react\";\nimport * as UnderscoreFancy from \"../../../../../styleguide/components/UnderscoreFancy/UnderscoreFancy.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as FreeMonthsExplainer from \"../free-months-explainer/FreeMonthsExplainer.res.js\";\nimport * as BannerRequestEstimate from \"../../../common/banner-request-estimate/BannerRequestEstimate.res.js\";\nimport * as PricingEstimatorModal from \"../../../../../styleguide/modals/PricingEstimatorModal/PricingEstimatorModal.res.js\";\n\nfunction RequestEstimateMulticloud(props) {\n var match = React.useState(function () {\n return \"Closed\";\n });\n var setPricingEstimatorState = match[1];\n var tmp;\n tmp = match[0] === \"Opened\" ? JsxRuntime.jsx(PricingEstimatorModal.make, {\n onClose: (function (param) {\n setPricingEstimatorState(function (param) {\n return \"Closed\";\n });\n })\n }) : null;\n return JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsx(BannerRequestEstimate.make, {\n title: \"One plan - simple. Use our multicloud pricing estimator to make a predictable budget for your deployment.\",\n buttonTitle: \"Pricing Estimator\",\n buttonSubtitleComponent: JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n \"Get \",\n JsxRuntime.jsx(UnderscoreFancy.make, {\n children: JsxRuntime.jsx(FreeMonthsExplainer.make, {}),\n color: \"Teal\"\n })\n ]\n }),\n onButtonClick: (function (param) {\n setPricingEstimatorState(function (param) {\n return \"Opened\";\n });\n }),\n color: \"Primary\"\n }),\n tmp\n ]\n });\n}\n\nvar make = RequestEstimateMulticloud;\n\nexport {\n make ,\n}\n/* react Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var column = \"LearnMoreSectionMulticloud__column__Kv_DZ\";\nexport var flex = \"LearnMoreSectionMulticloud__flex__kswFh\";\nexport var flexColumn = \"LearnMoreSectionMulticloud__flexColumn__OHJXv\";\nexport var gap1 = \"LearnMoreSectionMulticloud__gap1__peY0t\";\nexport var gap2 = \"LearnMoreSectionMulticloud__gap2__KcCej\";\nexport var gap3 = \"LearnMoreSectionMulticloud__gap3__kyKC6\";\nexport var gap4 = \"LearnMoreSectionMulticloud__gap4__FHbSA\";\nexport var gap5 = \"LearnMoreSectionMulticloud__gap5__XOEeq\";\nexport var header = \"LearnMoreSectionMulticloud__header__Ala6h\";\nexport var row = \"LearnMoreSectionMulticloud__row__OB1JN\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as P from \"../../../../../styleguide/components/Paragraph/P.res.js\";\nimport * as H2 from \"../../../../../styleguide/components/Heading/H2.res.js\";\nimport * as BannerLearnMore from \"../../../../../styleguide/components/BannerLearnMore/BannerLearnMore.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport IconZeroOpsSvg from \"../assets/icon-zero-ops.svg\";\nimport IconMulticloudAiSvg from \"../assets/icon-multicloud-ai.svg\";\nimport * as LearnMoreSectionMulticloudScss from \"./LearnMoreSectionMulticloud.scss\";\nimport IconProductionReadySvg from \"../assets/icon-production-ready.svg\";\nimport MulticloudSpendLessSvg from \"../assets/multicloud-spend-less.svg\";\n\nvar css = LearnMoreSectionMulticloudScss;\n\nvar multicloudSpendLessSvg = MulticloudSpendLessSvg;\n\nvar iconZeroOpsSvg = IconZeroOpsSvg;\n\nvar iconMulticloudAiSvg = IconMulticloudAiSvg;\n\nvar iconProductionReadSvg = IconProductionReadySvg;\n\nfunction LearnMoreSectionMulticloud(props) {\n return JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(H2.make, {\n children: \"What is Multicloud?\"\n }),\n JsxRuntime.jsx(P.make, {\n children: \"Multicloud is the practice of using more than one cloud service providers (AWS, GCP and Azure) across one or more regions. At Datacenters.com, we integrate your microservices with a multicloud platform-as-a-service (PaaS) so that your software can be managed and deployed in one easy-to-use service. The multicloud platform allows your team to deploy in seconds and have complete control while drastically reducing the cost of DevOps.\"\n })\n ],\n className: css.header\n }),\n JsxRuntime.jsx(BannerLearnMore.make, {\n title: \"Spend Less on Cloud\",\n description: \"The multicloud platform ensures you can control costs because you only pay for the CPU/RAM/egress workloads you consume.\",\n isReversed: false,\n svgIllustration: multicloudSpendLessSvg\n }),\n JsxRuntime.jsx(BannerLearnMore.make, {\n title: \"Zero Ops\",\n description: \"Deploy and operate 10x faster while focusing 100% on development and 0% on Ops. The multicloud platform handles scaling, load balancing, secrets management, certificates, logging, metrics, monitoring, alerting, key rotation, K8s, service mesh, MTLS, ingress, etc.\",\n isReversed: true,\n svgIllustration: iconZeroOpsSvg\n }),\n JsxRuntime.jsx(BannerLearnMore.make, {\n title: \"Multicloud AI\",\n description: \"The platform leverages artificial intelligence to scale and manage multicloud deployments. The AI learns and adapts to the demands on cloud services to automatically reduce runtime costs.\",\n isReversed: false,\n svgIllustration: iconMulticloudAiSvg\n }),\n JsxRuntime.jsx(BannerLearnMore.make, {\n title: \"Production Ready Guaranteed\",\n description: \"Use fine-grained access control to run production-grade backends confidently. Workloads scale up and down, log data, track metrics, and are highly secure.\",\n isReversed: true,\n svgIllustration: iconProductionReadSvg\n })\n ]\n });\n}\n\nvar make = LearnMoreSectionMulticloud;\n\nexport {\n css ,\n multicloudSpendLessSvg ,\n iconZeroOpsSvg ,\n iconMulticloudAiSvg ,\n iconProductionReadSvg ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as BannerSignUpToday from \"../../../common/banner-sign-up/BannerSignUpToday.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as FreeMonthsExplainer from \"../free-months-explainer/FreeMonthsExplainer.res.js\";\nimport * as DeployNowButtonMulticloud from \"../deploy-now-button/DeployNowButtonMulticloud.res.js\";\n\nfunction BannerSignUpTodayMulticloud(props) {\n return JsxRuntime.jsx(BannerSignUpToday.make, {\n title: JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n \"Get \",\n JsxRuntime.jsx(FreeMonthsExplainer.make, {}),\n \" When You Sign up Today!\"\n ]\n }),\n bannerType: \"Multicloud\",\n deployNowButtonComponent: Caml_option.some(JsxRuntime.jsx(DeployNowButtonMulticloud.make, {\n isUserLoggedIn: props.isUserLoggedIn,\n userData: props.userData,\n setUserData: props.setUserData,\n size: \"MD\",\n expanded: false\n }))\n });\n}\n\nvar make = BannerSignUpTodayMulticloud;\n\nexport {\n make ,\n}\n/* BannerSignUpToday Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as User from \"../../../models/User.res.js\";\nimport * as FAQMulticloud from \"./components/faqs/FAQMulticloud.res.js\";\nimport * as WhyMulticloud from \"./components/why-multicloud/WhyMulticloud.res.js\";\nimport * as MulticloudScss from \"./Multicloud.scss\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as BannerProviderIcons from \"../../../styleguide/components/BannerProviderIcons/BannerProviderIcons.res.js\";\nimport * as CaseStudyMulticloud from \"./components/case-study/CaseStudyMulticloud.res.js\";\nimport * as JumbotronMulticloud from \"./components/jumbotron/JumbotronMulticloud.res.js\";\nimport * as CloudThatLovesYouBack from \"./components/cloud-that-loves-you-back/CloudThatLovesYouBack.res.js\";\nimport * as ServicesSeparatorBlock from \"../ServicesSeparatorBlock.res.js\";\nimport * as SimplePricingMulticloud from \"./components/simple-pricing/SimplePricingMulticloud.res.js\";\nimport * as SubNavigationMulticloud from \"./components/sub-navigation/SubNavigationMulticloud.res.js\";\nimport * as RequestEstimateMulticloud from \"./components/request-estimate/RequestEstimateMulticloud.res.js\";\nimport * as LearnMoreSectionMulticloud from \"./components/learn-more/LearnMoreSectionMulticloud.res.js\";\nimport * as BannerSignUpTodayMulticloud from \"./components/sign-up-today/BannerSignUpTodayMulticloud.res.js\";\nimport HeaderDotsSvg from \"../common/assets/header-dots.svg\";\nimport * as ComponentsImportsLoadableJsx from \"Loadable/components.imports-loadable.jsx\";\nimport MulticloudHeaderDotsSvg from \"./components/assets/multicloud-header-dots.svg\";\n\nvar css = MulticloudScss;\n\nvar headerDotsSvg = HeaderDotsSvg;\n\nvar multicloudHeaderSvg = MulticloudHeaderDotsSvg;\n\nfunction Multicloud$default(props) {\n var userData = props.userData;\n var setUserData = props.setUserData;\n var isUserLoggedIn = props.isUserLoggedIn;\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(JumbotronMulticloud.make, {\n isUserLoggedIn: isUserLoggedIn,\n userData: userData,\n setUserData: setUserData\n }),\n className: css.backgroundImage,\n style: {\n backgroundImage: \"url(\" + multicloudHeaderSvg + \")\"\n }\n }),\n className: css.jumbotronSection\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(BannerProviderIcons.make, {\n context: \"Multicloud\"\n }),\n className: css.providerIconsSection\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(SubNavigationMulticloud.make, {\n isUserLoggedIn: isUserLoggedIn,\n userData: userData,\n setUserData: setUserData\n }),\n className: css.subNavigationSection\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(CloudThatLovesYouBack.make, {}),\n className: css.cloudThatLovesYouBackSection\n }),\n JsxRuntime.jsx(ServicesSeparatorBlock.make, {}),\n JsxRuntime.jsx(\"div\", {\n className: css.anchor,\n id: \"multicloud_what_is\"\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(LearnMoreSectionMulticloud.make, {}),\n className: css.wideContainer\n }),\n className: css.learnMoreSection\n }),\n JsxRuntime.jsx(\"div\", {\n className: css.anchor,\n id: \"multicloud_pricing\"\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(SimplePricingMulticloud.make, {}),\n className: css.simplePricingSection\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(RequestEstimateMulticloud.make, {}),\n className: css.requestEstimateMulticloudSection\n }),\n JsxRuntime.jsx(\"div\", {\n className: css.anchor,\n id: \"multicloud_why\"\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(WhyMulticloud.make, {}),\n className: css.whyMulticloudSection\n }),\n JsxRuntime.jsx(ServicesSeparatorBlock.make, {}),\n JsxRuntime.jsx(\"div\", {\n className: css.anchor,\n id: \"multicloud_locations\"\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(ComponentsImportsLoadableJsx.MulticloudMap, {})\n }),\n JsxRuntime.jsx(\"div\", {\n className: css.anchor,\n id: \"multicloud_case_study\"\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(CaseStudyMulticloud.make, {\n multicloudCaseStudy: props.multicloudCaseStudy,\n userLoginStatus: User.LoginStatus.fromBool(isUserLoggedIn),\n setUserData: setUserData\n })\n }),\n JsxRuntime.jsx(\"div\", {\n className: css.anchor,\n id: \"multicloud_faq\"\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(FAQMulticloud.make, {\n isUserLoggedIn: isUserLoggedIn,\n userData: userData,\n setUserData: setUserData\n }),\n className: css.faqSection\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(BannerSignUpTodayMulticloud.make, {\n isUserLoggedIn: isUserLoggedIn,\n userData: userData,\n setUserData: setUserData\n }),\n style: {\n backgroundImage: \"url(\" + headerDotsSvg + \")\",\n backgroundSize: \"cover\"\n }\n }),\n className: css.signUpTodaySection\n })\n ],\n className: css.wrapper\n });\n}\n\nvar $$default = Multicloud$default;\n\nexport {\n css ,\n headerDotsSvg ,\n multicloudHeaderSvg ,\n $$default as default,\n}\n/* css Not a pure module */\n","import * as React from 'react';\nimport ReduxProvider from 'ReduxProvider';\nimport { connect } from 'react-redux';\nimport { setUserData } from '../../../../bundles/Client/common/actions/userActions';\nimport { fromJs } from '../../../../rescript/models/User.res.js';\n\nimport Multicloud from './Multicloud.res.js';\n\nconst mapStateToProps = state => ({\n isUserLoggedIn: !!state.user.id,\n userData: fromJs(state.user),\n});\n\nconst mapDispatchToProps = dispatch => ({\n setUserData: userData => {\n dispatch(setUserData(userData));\n },\n});\n\nconst MulticloudContainer = connect(mapStateToProps, mapDispatchToProps)(Multicloud);\n\nexport default props => (\n <ReduxProvider {...props}>\n <MulticloudContainer multicloudCaseStudy={props.multicloudCaseStudy} />\n </ReduxProvider>\n);\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as ID from \"../../libs/ID.res.js\";\n\nfunction category(category$1) {\n return \"/resources/\" + category$1.toLowerCase();\n}\n\nfunction show(slug, categorySlug) {\n return \"/resources/\" + (categorySlug + (\"/\" + slug));\n}\n\nfunction leadsCsv(resourceId) {\n return \"/resources/\" + (ID.toString(resourceId) + \"/leads.csv\");\n}\n\nfunction downloadThanks(filename) {\n return \"/thanks-for-download?file=\" + filename;\n}\n\nfunction edit(resourceId) {\n return \"/dashboard/resources/edit/\" + ID.toString(resourceId);\n}\n\nfunction editResourceProviders(resourceId) {\n return \"/dashboard/resources/\" + ID.toString(resourceId) + \"/providers\";\n}\n\nvar Dashboard = {\n index: \"/dashboard/resources\",\n analytics: \"/dashboard/resources/analytics\",\n $$new: \"/dashboard/resources/new\",\n edit: edit,\n editResourceProviders: editResourceProviders\n};\n\nvar resourcesIndex = \"/resources\";\n\nexport {\n resourcesIndex ,\n category ,\n show ,\n leadsCsv ,\n downloadThanks ,\n Dashboard ,\n}\n/* ID Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\n\nvar companyLogo = Cx.cx([\n \"mb-8\",\n \"[&>img]:h-8\"\n ]);\n\nvar text = Cx.cx([\n \"text-gray-700\",\n \"italic\",\n \"leading-5\",\n \"mb-5\",\n \"lg:text-base\",\n \"text-sm\",\n \"text-start\"\n ]);\n\nvar link = Cx.cx([\n \"text-teal\",\n \"hover:underline\",\n \"text-sm\",\n \"border-b\",\n \"border-dotted\",\n \"border-solid\",\n \"font-medium\"\n ]);\n\nvar profile = Cx.cx([\"flex\"]);\n\nvar avatar = Cx.cx([\n \"h-12\",\n \"w-12\",\n \"mr-4\",\n \"rounded-full\",\n \"relative\",\n \"overflow-hidden\"\n ]);\n\nvar detail = Cx.cx([\n \"flex\",\n \"flex-col\",\n \"self-center\",\n \"text-start\"\n ]);\n\nvar name = Cx.cx([\n \"text-sm\",\n \"font-medium\",\n \"text-black\"\n ]);\n\nvar from = Cx.cx([\n \"text-sm\",\n \"text-gray-500\"\n ]);\n\nexport {\n companyLogo ,\n text ,\n link ,\n profile ,\n avatar ,\n detail ,\n name ,\n from ,\n}\n/* companyLogo Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as React from \"react\";\nimport * as Js_string from \"rescript/lib/es6/js_string.js\";\nimport * as LazyImage from \"../LazyImage/LazyImage.res.js\";\nimport * as TestimonialCss from \"./TestimonialCss.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nfunction reducer(state, action) {\n return {\n moreClick: !state.moreClick\n };\n}\n\nvar initialState = {\n moreClick: false\n};\n\nfunction Testimonial(props) {\n var companyLogo = props.companyLogo;\n var __showMore = props.showMore;\n var __classNameAuthor = props.classNameAuthor;\n var __classNameText = props.classNameText;\n var __className = props.className;\n var description = props.description;\n var name = props.name;\n var className = __className !== undefined ? __className : \"\";\n var classNameText = __classNameText !== undefined ? __classNameText : \"\";\n var classNameAuthor = __classNameAuthor !== undefined ? __classNameAuthor : \"\";\n var showMore = __showMore !== undefined ? __showMore : true;\n var match = React.useReducer(reducer, initialState);\n var dispatch = match[1];\n var subString = Js_string.slice(0, 140, description);\n return JsxRuntime.jsxs(\"div\", {\n children: [\n companyLogo !== undefined ? JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(LazyImage.make, {\n src: companyLogo,\n height: 50\n }),\n className: TestimonialCss.companyLogo\n }) : null,\n match[0].moreClick === false && description.length > 140 && showMore ? JsxRuntime.jsxs(\"div\", {\n children: [\n subString,\n \"...\",\n JsxRuntime.jsx(\"a\", {\n children: \" more info\",\n className: TestimonialCss.link,\n onClick: (function (_event) {\n dispatch(\"Click\");\n })\n })\n ],\n className: Cx.cx([\n TestimonialCss.text,\n classNameText\n ])\n }) : JsxRuntime.jsx(\"div\", {\n children: description,\n className: Cx.cx([\n TestimonialCss.text,\n classNameText\n ])\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"img\", {\n alt: name,\n src: props.imageUrl\n }),\n className: TestimonialCss.avatar\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: name,\n className: Cx.cx([\n TestimonialCss.name,\n classNameAuthor\n ])\n }),\n JsxRuntime.jsx(\"div\", {\n children: props.role,\n className: Cx.cx([\n TestimonialCss.from,\n classNameAuthor\n ])\n })\n ],\n className: TestimonialCss.detail\n })\n ],\n className: TestimonialCss.profile\n })\n ],\n className: Cx.cx([className])\n });\n}\n\nvar Css;\n\nvar make = Testimonial;\n\nexport {\n Css ,\n reducer ,\n initialState ,\n make ,\n}\n/* react Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as React from \"react\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as UnderscoreFancyScss from \"./UnderscoreFancy.scss\";\n\nvar css = UnderscoreFancyScss;\n\nfunction UnderscoreFancy(props) {\n var match = React.useState(function () {\n \n });\n var setWidth = match[1];\n var width = match[0];\n var setUnderscoreTriangleWrapperRef = function (node) {\n if (!(node == null)) {\n return setWidth(function (param) {\n return node.getBoundingClientRect().width;\n });\n }\n \n };\n var tmp;\n switch (props.color) {\n case \"Teal\" :\n tmp = css.teal;\n break;\n case \"Red\" :\n tmp = css.red;\n break;\n case \"Orange\" :\n tmp = css.orange;\n break;\n \n }\n return JsxRuntime.jsxs(\"span\", {\n children: [\n props.children,\n JsxRuntime.jsx(\"span\", {\n className: Cx.cx([\n css.underscoreTriangle,\n tmp\n ]),\n style: {\n borderWidth: \"3px \" + (\n width !== undefined ? String(width + 2.0) : String(0)\n ) + \"px 0 3px\"\n }\n })\n ],\n ref: Caml_option.some(setUnderscoreTriangleWrapperRef),\n className: css.underscoreTriangleWrapper\n });\n}\n\nvar make = UnderscoreFancy;\n\nexport {\n css ,\n make ,\n}\n/* css Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var column = \"Select__column__JbOGg\";\nexport var error = \"Select__error___N7X7\";\nexport var flex = \"Select__flex__fWxmb\";\nexport var flexColumn = \"Select__flexColumn__Os97J\";\nexport var gap1 = \"Select__gap1__QUa_2\";\nexport var gap2 = \"Select__gap2__FipIl\";\nexport var gap3 = \"Select__gap3__FH2mc\";\nexport var gap4 = \"Select__gap4__q3uhL\";\nexport var gap5 = \"Select__gap5__O5AFW\";\nexport var icon = \"Select__icon__ODRFF\";\nexport var marginLeft = \"Select__marginLeft__YpZxG\";\nexport var marginRight = \"Select__marginRight__wlfaG\";\nexport var placeholder = \"Select__placeholder___LRbr\";\nexport var row = \"Select__row__g7uvb\";\nexport var select = \"Select__select__Xt23G\";\nexport var sizeLg = \"Select__sizeLg__eeu_q\";\nexport var sizeMd = \"Select__sizeMd__yNSVm\";\nexport var sizeSm = \"Select__sizeSm__Pe3oH\";\nexport var sizeXl = \"Select__sizeXl__ZY3Kq\";\nexport var sizeXs = \"Select__sizeXs__oNe7f\";\nexport var sizeXxl = \"Select__sizeXxl__Y6GhA\";\nexport var sizeXxs = \"Select__sizeXxs__CCWXg\";\nexport var sizeXxxl = \"Select__sizeXxxl__Lxn0f\";\nexport var sizeXxxs = \"Select__sizeXxxs__LCRdv\";\nexport var sizeXxxxl = \"Select__sizeXxxxl___CHBI\";\nexport var sizeXxxxxl = \"Select__sizeXxxxxl__Oj5m5\";\nexport var value = \"Select__value__YR0uW\";\nexport var wrapper = \"Select__wrapper__zO1V9\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as IconSelect from \"../../icons/IconSelect.res.js\";\nimport * as Belt_Option from \"rescript/lib/es6/belt_Option.js\";\nimport * as SelectScss from \"./Select.scss\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nvar css = SelectScss;\n\nfunction Select(props) {\n var __iconColor = props.iconColor;\n var __iconSize = props.iconSize;\n var __wrapperClassName = props.wrapperClassName;\n var __autoFocus = props.autoFocus;\n var __className = props.className;\n var status = props.status;\n var __disabled = props.disabled;\n var value = props.value;\n var disabled = __disabled !== undefined ? __disabled : false;\n var className = __className !== undefined ? __className : \"\";\n var autoFocus = __autoFocus !== undefined ? __autoFocus : false;\n var wrapperClassName = __wrapperClassName !== undefined ? __wrapperClassName : \"\";\n var iconSize = __iconSize !== undefined ? __iconSize : \"MD\";\n var iconColor = __iconColor !== undefined ? __iconColor : \"LighterGray\";\n var tmp;\n tmp = status !== undefined && status !== \"Valid\" ? css.error : \"\";\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"select\", {\n children: props.children,\n ref: Belt_Option.map(props.setRef, (function (prim) {\n return prim;\n })),\n className: Cx.cx([\n css.select,\n value !== \"\" ? css.value : css.placeholder,\n tmp,\n className\n ]),\n id: props.id,\n autoFocus: autoFocus,\n disabled: disabled,\n type: \"\",\n value: value,\n onFocus: props.onFocus,\n onBlur: props.onBlur,\n onChange: props.onChange\n }),\n JsxRuntime.jsx(IconSelect.make, {\n size: iconSize,\n color: iconColor,\n className: css.icon\n })\n ],\n className: Cx.cx([\n css.wrapper,\n wrapperClassName\n ])\n });\n}\n\nfunction Select$Option(props) {\n return JsxRuntime.jsx(\"option\", {\n children: props.children,\n value: props.value\n });\n}\n\nvar $$Option = {\n make: Select$Option\n};\n\nfunction Select$DefaultOption(props) {\n var __selectable = props.selectable;\n var selectable = __selectable !== undefined ? __selectable : false;\n return JsxRuntime.jsx(\"option\", {\n children: props.children,\n hidden: !selectable,\n default: true,\n disabled: !selectable,\n value: \"\"\n });\n}\n\nvar DefaultOption = {\n make: Select$DefaultOption\n};\n\nvar make = Select;\n\nexport {\n css ,\n make ,\n $$Option ,\n DefaultOption ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Icon from \"../components/Icon/Icon.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nfunction IconSelect(props) {\n var __title = props.title;\n var title = __title !== undefined ? __title : \"Select\";\n return JsxRuntime.jsx(Icon.make, {\n title: title,\n size: props.size,\n className: props.className,\n children: JsxRuntime.jsx(\"path\", {\n d: \"M16 5.5l-1-1-7 7-7-7-1 1 8 8 8-8z\",\n fill: Icon.mapColor(props.color)\n })\n });\n}\n\nvar make = IconSelect;\n\nexport {\n make ,\n}\n/* Icon Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var column = \"UnderscoreFancy__column__U0X7A\";\nexport var flex = \"UnderscoreFancy__flex__xWa5D\";\nexport var flexColumn = \"UnderscoreFancy__flexColumn__FJ1Yt\";\nexport var gap1 = \"UnderscoreFancy__gap1__BVUq0\";\nexport var gap2 = \"UnderscoreFancy__gap2__tlBNp\";\nexport var gap3 = \"UnderscoreFancy__gap3__ZG7Bp\";\nexport var gap4 = \"UnderscoreFancy__gap4__BwsU9\";\nexport var gap5 = \"UnderscoreFancy__gap5__HuRvV\";\nexport var orange = \"UnderscoreFancy__orange__CGyi8\";\nexport var red = \"UnderscoreFancy__red__YwNW1\";\nexport var row = \"UnderscoreFancy__row__ijLQh\";\nexport var teal = \"UnderscoreFancy__teal__k3Arx\";\nexport var underscoreTriangle = \"UnderscoreFancy__underscoreTriangle__UuXAd\";\nexport var underscoreTriangleWrapper = \"UnderscoreFancy__underscoreTriangleWrapper__C9DYs\";"],"names":["separator","Cx","separatorWithTitle","separatorBox","make","props","title","undefined","JsxRuntime","children","className","ServicesSeparatorBlockCss","column","ctaWrapper","description","flex","flexColumn","gap1","gap2","gap3","gap4","gap5","row","testimonialText","testimonialWrapper","wrapper","wrapperBackgroundImage","wrapperContainer","css","BannerCaseStudyScss","testimonialBackground","TestimonialDatacentersComSvg","style","backgroundImage","H2","ctaComponent","Testimonial","name","testimonialAuthorName","role","testimonialAuthorRole","imageUrl","testimonialAuthorImage","classNameText","classNameAuthor","showMore","bannerRow","buttonColumn","buttonRequestEstimate","wrapperInner","BannerRequestEstimateScss","headerDotsSvg","HeaderDotsSvg","Button","size","color","onClick","onButtonClick","buttonTitle","buttonSubtitleComponent","backgroundSize","buttonsRow","root","BannerSignUpTodayScss","tmp","deployNowButtonComponent","match","React","setIsModalOpen","bannerType","ScheduleModalServices","onClose","param","subtitle","leadType","Caml_option","ghost","button","_event","answerWithLink","heading","FAQMulticloudScss","userData","isUserLoggedIn","setIsScheduleDemoModalOpen","match$1","setIsControlPlaneRedirectModalOpen","match$2","setIsLoginModalOpen","redirectToControlPlane","redirectUri","Url","Env","Faq","question","answer","exit","controlPlaneAccountStatus","Link","href","Routes_Page","ControlPlaneRedirectModal","email","firstName","lastName","onSignup","SignInModalContainer","close","callback","setUserData","subTitle","iconOpsNoPain","IconOpsNoPainSvg","iconVirtualCloud","IconVirtualCloudSvg","iconMultiRegion","IconMultiRegionSvg","iconMicroservices","IconMicroservicesSvg","BannerReasons","BannerSingleReason","svgIcon","cloudThatLovesYouBackSection","faqSection","jumbotronSection","learnMoreSection","providerIconsSection","requestEstimateMulticloudSection","signUpTodaySection","simplePricingSection","subNavigationSection","whyMulticloudSection","wideContainer","initialState","signInModal","reducer","_state","action","_0","userLoginStatus","multicloudCaseStudy","dispatch","BannerCaseStudy","$$Promise","resourceId","ID","id","Rest","NAME","VAL","x","TAG","SentryLogger","rootModule","subModulePath","value","fullPath","privateDownload","Routes_Resource","Cloudinary","freeMonthsMessage","JumbotronMulticloudScss","H1","DeployNowButtonMulticloud","expanded","UnderscoreFancy","Html","FreeMonthsExplainer","iconRepatriation","iconPerformance","IconPerformanceSvg","iconSecure","IconSecureSvg","price","priceRectangle","priceRectangleText","priceRectanglesRow","SimplePricingMulticloudScss","iconCpu","IconCpuSvg","iconRam","IconRamSvg","iconTraffic","IconTrafficSvg","src","SubNavigation","text","calculateEstimatedTotalPerSecond","cpuMillicores","ramMB","egressGB","Math","max","calculatePriceCPU","calculatePriceRAM","calculatePriceEgressTraffic","calculateEstimatedTotalPerMinute","calculateEstimatedTotalPerHour","calculateEstimatedTotalPerDay","format","number","toFixed","endColumn","estimatedTotal","estimatedTotalDuration","estimatedTotalNoCommitmentSubtitle","estimatedTotalNoCommitmentTitle","estimatedTotalPrice","modalBody","modalFooter","modalFooterWrapper","modalHeader","modalHeaderWrapper","modalRoot","pricingEstimatorDescription","scheduleDemo","scheduleDemoDescription","scheduleDemoForm","startColumn","icon","iconDesktop","iconMobile","pricing","pricingDescription","pricingHeading","sliderGroupWrapper","PricingEstimatorSliderGroupScss","iconSvg","H3","sliderComponent","sliderBase","sliderRangeBase","SliderScss","RcSlider","min","onChange","buttonInactive","buttonInactiveDarkerGray","buttonLeft","buttonRight","ButtonGroupScss","__size","__isActiveColor","isActiveColor","onToggle","Belt_Array","buttons","index","isActive","$$event","buttonGroup","input","inputField","slider","PricingEstimatorSliderInputScss","onValueChange","minValue","setSelectedValue","selectedValue","Slider","maxValue","type","toString","target","ButtonGroup","iconCPU","setUseMillicores","useMillicores","PricingEstimatorSliderGroup","PricingEstimatorSliderInput","imul","prevValue","iconRAM","setUseMB","useMB","setUseGB","useGB","PricingEstimatorModalScss","logoDatacenters","LogoDatacentersComSvg","iconBulletCheck","BulletCheckSvg","scheduleDemoFormRef","isIntersecting","Hooks","setCpuMillicores","setRamMB","setEgressGB","match$3","setTimeframe","timeframe","calculateEstimateTotalPerTimeframe","cpuMillicores$1","ramMB$1","egressGB$1","PricingEstimatorMath","bulletStyle","listStyleImage","Portal","IconClose","PricingEstimatorSliderCPUGroup","PricingEstimatorSliderRAMGroup","PricingEstimatorSliderEgressGroup","Select","CreateModalLead","ref","setPricingEstimatorState","PricingEstimatorModal","BannerRequestEstimate","header","LearnMoreSectionMulticloudScss","multicloudSpendLessSvg","MulticloudSpendLessSvg","iconZeroOpsSvg","IconZeroOpsSvg","iconMulticloudAiSvg","IconMulticloudAiSvg","iconProductionReadSvg","IconProductionReadySvg","P","BannerLearnMore","isReversed","svgIllustration","BannerSignUpToday","MulticloudScss","multicloudHeaderSvg","MulticloudHeaderDotsSvg","$$default","JumbotronMulticloud","BannerProviderIcons","context","SubNavigationMulticloud","CloudThatLovesYouBack","ServicesSeparatorBlock","anchor","LearnMoreSectionMulticloud","SimplePricingMulticloud","RequestEstimateMulticloud","WhyMulticloud","ComponentsImportsLoadableJsx","CaseStudyMulticloud","User","fromBool","FAQMulticloud","BannerSignUpTodayMulticloud","MulticloudContainer","connect","state","user","fromJs","Multicloud","ReduxProvider","category","category$1","toLowerCase","show","slug","categorySlug","leadsCsv","downloadThanks","filename","Dashboard","analytics","$$new","edit","editResourceProviders","resourcesIndex","companyLogo","link","profile","avatar","detail","from","moreClick","__showMore","__classNameAuthor","__classNameText","__className","subString","Js_string","LazyImage","height","TestimonialCss","length","alt","setWidth","width","teal","red","orange","underscoreTriangle","borderWidth","String","node","getBoundingClientRect","underscoreTriangleWrapper","error","marginLeft","marginRight","placeholder","sizeLg","sizeMd","sizeSm","sizeXl","sizeXs","sizeXxl","sizeXxs","sizeXxxl","sizeXxxs","sizeXxxxl","sizeXxxxxl","SelectScss","$$Option","DefaultOption","__selectable","selectable","hidden","default","disabled","__iconColor","iconColor","__iconSize","iconSize","__wrapperClassName","wrapperClassName","__autoFocus","autoFocus","status","__disabled","Belt_Option","setRef","prim","select","onFocus","onBlur","IconSelect","__title","Icon","d","fill"],"sourceRoot":""}