{
  "version": 3,
  "sources": ["ssg:https://ga.jspm.io/npm:react-dom@18.1.0/client.js", "framer:toplevel:framer:toplevel/0"],
  "sourcesContent": ["import*as t from\"react-dom\";var o=\"default\"in t?t.default:t;var a={};var e=o;a.createRoot=e.createRoot;a.hydrateRoot=e.hydrateRoot;const r=a.createRoot,d=a.hydrateRoot;export{r as createRoot,a as default,d as hydrateRoot};\n\n//# sourceMappingURL=client.js.map", "\n        import * as React from \"react\"\n        import * as ReactDOM from \"react-dom/client\"\n        import * as Framer from \"framer\"\n\n        window.__framer_importFromPackage = (packageAndFilename, exportIdentifier) => () => {\n            return React.createElement(Framer.ErrorPlaceholder, { error: 'Package component not supported: \"' + exportIdentifier + '\" in \"' + packageAndFilename + '\"' })\n        }\n\n        // A lot of libraries assume process.env.NODE_ENV is present in runtime/buildtime, so we are polyfilling it\n        window.process = {\n            ...window.process,\n            env: {\n                ...(window.process ? window.process.env: undefined),\n                NODE_ENV: \"production\"\n            }\n        }\n\n        // Fallback support for stack gaps\n        Framer.installFlexboxGapWorkaroundIfNeeded()\n\n        ;(async () => {\n            const routes = {augiA20Il: {elements: {bsYaS2v2C: \"keep-track\", G8gFFN_9J: \"capture\", ktB_OfsRn: \"hero\", Qv25MVnEm: \"have-fun\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/mJw245a4Asrc7rL32qrH/yEHfGTMrHkE2sfvT8HHo/augiA20Il.js\")), path: \"/\"}, AKjja29OF: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/bz9DWgIGHE8ZwSm0mibO/w8rRViaVldVoXubKJBRQ/AKjja29OF.js\")), path: \"/guides\"}, r3y8krDML: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/f7KtrSZ783k8KfkFXlOR/XRgggaL3THwZWhw4iddO/r3y8krDML.js\")), path: \"/pricing\"}, pqHhoXOxC: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/NnktavtEDbQJKFCzV2lt/o2CcIZbzuoro2DfJ5AJu/pqHhoXOxC.js\")), path: \"/about\"}, CGCYIieuG: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/UwZ49cnnu2BK05yeSA0G/auUJKCG2jeL4nH1sE5Yg/CGCYIieuG.js\")), path: \"/blog\"}, LDeernv95: {elements: {E4Z5HYHHV: \"hero\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/Sbu6uYuFQjWkWu6JAAVC/CNy2Ne4KsvrQ5eytuIK1/LDeernv95.js\")), path: \"/blog/no-notifications\"}, IwtiHPy6_: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/nm2WOY8KRYedhieNtS3r/n5SkJg4NVUX6oNIvDZIG/IwtiHPy6_.js\")), path: \"/blog/bleep-iphone-app-launch\"}, ZJ4GBbVv6: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/ITnp3OLMjVbBSOKNveIt/IK0GYYyg22jancd3h8hK/ZJ4GBbVv6.js\")), path: \"/blog/quick-tour-de-bleep\"}, jXgMvPc51: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/iBzEHD02SCZMGYsqIfoW/Uf2ckVClThyrRlGOTV79/jXgMvPc51.js\")), path: \"/blog/why-i-made-an-anti-productivity-app\"}, vHjoxaiaO: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/ExpCOpWwKfzyLF843acz/cMz2emDz9XmyioAZMwFg/vHjoxaiaO.js\")), path: \"/terms\"}, HwjKPyb8A: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/IVJfYj6wIOjKSWMltuvW/Y7kS4djitjpkppbACIel/HwjKPyb8A.js\")), path: \"/privacy/policy\"}, jDxeSsqBa: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/Z7CH8KP0G4tl1Jz5fTi1/egBNTk8evpH5Yfn6xXC2/jDxeSsqBa.js\")), path: \"/contact\"}, fqdwhAaUg: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/KGnzoeygOSAhwhFde9do/Glwo1hqKIEMN10eiJu0m/fqdwhAaUg.js\")), path: \"/privacy\"}, PN10UVcpO: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/O92u7IFY7TuKc0Vg48Qs/Hfw5btLvmAIuUBEOIsFB/PN10UVcpO.js\")), path: \"/features/:pZcmBjiK_\"}, OlziZ9NZr: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/bX0ON5dVKclzoNdEUj9h/dd3cwYlfibT59WyKyum9/OlziZ9NZr.js\")), path: \"/guides/:YKl8lWAlr\"}, htMiSZNsX: {page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/xV9xaaeoPX1FPpyYxnJG/oVXzJpVIyj6Vk28XUy8J/htMiSZNsX.js\"))}}\n            const notFoundPage = Framer.lazy(() => import(\"__framer-not-found-page\"))\n            const container = document.getElementById(\"main\")\n\n            let routeId, pathVariables, shouldHydrate = false\n            if (\"framerHydrateV2\" in container.dataset) {\n                const routeData = JSON.parse(container.dataset.framerHydrateV2)\n                routeId = routeData.routeId\n                pathVariables = routeData.pathVariables\n                shouldHydrate = true\n            } else {\n                const routeData = Framer.inferInitialRouteFromPath(routes, decodeURIComponent(location.pathname))\n                routeId = routeData.routeId\n                pathVariables = routeData.pathVariables\n            }\n\n            const route = routes[routeId]\n            const RootComponent = await route.page.preload()\n            routes[routeId].page = RootComponent\n\n            const element = React.createElement(\n                Framer.PageRoot,\n                {\n                    RootComponent,\n                    isWebsite: true,\n                    routeId,\n                    pathVariables,\n                    routes,\n                    notFoundPage,\n                    isReducedMotion: undefined,\n                    includeDataObserver: false,\n                }\n            )\n\n            if (shouldHydrate) {\n                React.startTransition(() => {\n                    ReactDOM.hydrateRoot(container, element)\n                })\n            } else {\n                ReactDOM.createRoot(container).render(element)\n            }\n        })().catch(error => {\n            window.__send_framer_event && window.__send_framer_event(\"published_site_load_error\", {\n                message: String(error),\n                stack: error instanceof Error && typeof error.stack === \"string\" ? error.stack : null\n            })\n            throw error\n        })\n\n        \n    "],
  "mappings": "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",
  "names": ["o", "npm_react_dom_18_1_exports", "Ba", "a", "e", "r", "d", "window", "packageAndFilename", "exportIdentifier", "B", "ErrorPlaceholder", "installFlexboxGapWorkaroundIfNeeded", "routes", "lazy", "notFoundPage", "container", "routeId", "pathVariables", "shouldHydrate", "routeData", "inferInitialRouteFromPath", "RootComponent", "element", "PageRoot", "Z", "d", "r", "error"]
}
