{
  "version": 3,
  "sources": ["framer:toplevel:framer:toplevel/default/0"],
  "sourcesContent": ["\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: {BHqVw2nUO: \"project-1\", CFol5kohg: \"space-6\", h0Va5Ky3d: \"hero-content\", I97nB2wwe: \"space-1\", IOy858T75: \"space-2\", mWaVMaQ3a: \"project-2\", pexucSwzZ: \"space-4\", RgVUQuyBi: \"space-5\", So6ztNAWI: \"start\", SSt_9NQfw: \"about\", st0KJT2Uq: \"space-7\", uHjhJ1Zo9: \"services\", vMbQeYADu: \"navigation\", wuFfQzDkR: \"project\", wxrMAlzN4: \"footer\", xbWbmD6Xc: \"project-4\", XnD40Dmpa: \"project-3\", y2pRtTr6O: \"space-3\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/69nEg8icJtPWWiFa4DD4/14XudKqAr7rb1qMzZLC4/augiA20Il.js\")), path: \"/\"}, pL4lmQsk5: {elements: {yJrTlvmu5: \"navigation\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/xtxNnqD6pxaZ6i8Tebtt/Rsycap5ifRYavsX9JHcC/pL4lmQsk5.js\")), path: \"/about\"}, hx3wCGssx: {elements: {eGXs6YfJA: \"project-1\", eIZlRVHiA: \"navigation\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/uUqdN44uVuQfSesfiWfW/h6NooR50irJCud4x7f47/hx3wCGssx.js\")), path: \"/projects\"}, kSSf_HngG: {elements: {LLRMzMbxq: \"navigation\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/2cYUeBeVdr8Bl1mGbHfn/TDNLuLZULhkIQKaxxqZR/kSSf_HngG.js\")), path: \"/articles\"}, qpge_q692: {elements: {tOK_Ab0mV: \"navigation\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/ydzUUOSWxdfjPqoBa9Zp/C3rn4oySx1e4YKdg1qPQ/qpge_q692.js\")), path: \"/contact\"}, UjHCrOiAM: {elements: {eOilOy805: \"navigation\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/82U3weLQL7grWvf5FWrN/1VHptkzg5cvnpgUQmZWz/UjHCrOiAM.js\")), path: \"/404\"}, U4Bm2KA0F: {collectionId: \"mD0yv0kks\", elements: {gSEyoTsJP: \"project-1\", gsn_uHM9K: \"navigation\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/hEN9nOI2PjRA2Al3FzZv/vfmG1BJ1stzI5B0emDhK/U4Bm2KA0F.js\")), path: \"/projects/:u8GCKzMS9\"}, H826BVkty: {elements: {d3ugiz9Op: \"navigation\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/4mWLIbkTy98PDQPQdV68/U99SD0HZHcX4YW0WFwWX/H826BVkty.js\")), path: \"/articles/:ab1hhKxyn\"}, Gmk22aNR2: {page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/8PIuqryQ3AqDStKKacCR/lV41XzHGLn67F2ZQc4os/Gmk22aNR2.js\"))}}\n            const collectionUtils = {mD0yv0kks: async () => (await import(\"https://framerusercontent.com/modules/w3uFncc0zEeNYp8AL9kt/fr5fvlX9rZeEjSZm7qcI/mD0yv0kks.js\"))?.[\"utils\"]}\n            const locales = [{code: \"en\", id: \"default\", name: \"English\", slug: \"\"}]\n            const notFoundPage = Framer.lazy(() => import(\"https://framerusercontent.com/modules/82U3weLQL7grWvf5FWrN/1VHptkzg5cvnpgUQmZWz/UjHCrOiAM.js\"))\n            const container = document.getElementById(\"main\")\n\n            let routeId, localeId, pathVariables, shouldHydrate = false\n            if (\"framerHydrateV2\" in container.dataset) {\n                const routeData = JSON.parse(container.dataset.framerHydrateV2)\n                routeId = routeData.routeId\n                localeId = routeData.localeId\n                pathVariables = routeData.pathVariables\n                shouldHydrate = true\n            } else {\n                const routeData = Framer.inferInitialRouteFromPath(routes, decodeURIComponent(location.pathname), true, locales)\n                routeId = routeData.routeId\n                localeId = routeData.localeId\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 content = React.createElement(\n                Framer.PageRoot,\n                {\n                    RootComponent,\n                    isWebsite: true,\n                    routeId,\n                    pathVariables,\n                    routes,\n                    collectionUtils,\n                    notFoundPage,\n                    isReducedMotion: undefined,\n                    localeId,\n                    locales,\n                }\n            )\n\n            const contentWithFeaturesContext = React.createElement(\n                Framer.LibraryFeaturesProvider,\n                {\n                    children: content,\n                    value: {imgSizesWorkaroundEnabled: false}\n                }\n            )\n\n\n            const page = React.createElement(Framer.PageEffectsProvider, {\n                children: contentWithFeaturesContext,\n                value: {routes: {}}\n            })\n\n            if (shouldHydrate) {\n                React.startTransition(() => {\n                    ReactDOM.hydrateRoot(container, page)\n                })\n            } else {\n                ReactDOM.createRoot(container).render(page)\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        ;(async () => {\n            const { default: Badge } = await import(\"__framer-badge\")\n            const ContainerWithStyleAppearEffect = Framer.withStyleAppearEffect(Framer.Container)\n            React.startTransition(() => {\n                ReactDOM.createRoot(document.getElementById(\"__framer-badge-container\"))\n                    .render(React.createElement(ContainerWithStyleAppearEffect, {\n                        className: \"__framer-badge\",\n                        __framer__threshold: 0.5,\n                        __framer__animateOnce: true,\n                        __framer__opacity: 0,\n                        __framer__targetOpacity: 1,\n                        __framer__rotate: 0,\n                        __framer__x: 0,\n                        __framer__y: 10,\n                        __framer__scale: 1,\n                        __framer__transition: {\n                            \"type\": \"spring\",\n                            \"ease\": [0.44, 0, 0.56, 1],\n                            \"duration\": 0.3,\n                            \"delay\": 1,\n                            \"stiffness\": 350,\n                            \"damping\": 40,\n                            \"mass\": 1.5\n                        },\n                        __framer__rotateX: 0,\n                        __framer__rotateY: 0,\n                        __framer__perspective: 1200,\n                    }, React.createElement(Badge)))\n                })\n        })()\n    "],
  "mappings": "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",
  "names": ["window", "packageAndFilename", "exportIdentifier", "B", "ErrorPlaceholder", "installFlexboxGapWorkaroundIfNeeded", "routes", "lazy", "collectionUtils", "locales", "notFoundPage", "container", "routeId", "localeId", "pathVariables", "shouldHydrate", "routeData", "inferInitialRouteFromPath", "RootComponent", "content", "PageRoot", "contentWithFeaturesContext", "LibraryFeaturesProvider", "page", "PageEffectsProvider", "Z", "d", "r", "error", "Badge", "ContainerWithStyleAppearEffect", "withStyleAppearEffect", "Container"]
}
