/******/ (() => { // webpackBootstrap
/******/ 	"use strict";
/******/ 	var __webpack_modules__ = ({

/***/ 49339:
/***/ ((__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) => {


// EXTERNAL MODULE: ../../node_modules/.pnpm/cytoscape@3.25.0/node_modules/cytoscape/dist/cytoscape.cjs.js
var cytoscape_cjs = __webpack_require__(82985);
var cytoscape_cjs_default = /*#__PURE__*/__webpack_require__.n(cytoscape_cjs);
// EXTERNAL MODULE: ../../node_modules/.pnpm/cytoscape-dagre@2.5.0_cytoscape@3.25.0/node_modules/cytoscape-dagre/cytoscape-dagre.js
var cytoscape_dagre = __webpack_require__(93581);
var cytoscape_dagre_default = /*#__PURE__*/__webpack_require__.n(cytoscape_dagre);
;// CONCATENATED MODULE: ../utils-graph/src/styles/node.ts
const node_fontSize = 24;
const node_fontFamily = "Fira Code";
const node_fontWeight = 600;
const node_nodeStyles = [
    {
        selector: "node",
        style: {
            label: "data(id)",
            width: "data(width)",
            height: "data(height)",
            shape: "roundrectangle",
            "text-margin-x": 20,
            "background-height": 42,
            "background-width": 42,
            "background-position-x": "24px",
            "background-position-y": "16px",
            "background-image": "data(image)",
            "font-size": node_fontSize,
            "font-family": node_fontFamily,
            "font-weight": node_fontWeight,
            "background-color": "#f4f4f5",
            color: "#27272a",
            "border-width": 1,
            "border-style": "solid",
            "border-color": "#e4e4e7",
            "text-halign": "center",
            "text-valign": "center",
            "overlay-opacity": 0
        }
    },
    {
        selector: "node.dim",
        style: {
            opacity: 0.2
        }
    },
    {
        selector: "node.hover",
        style: {
            "background-color": "#09090b",
            color: "#FFF",
            "border-color": "#09090b"
        }
    },
    {
        selector: "node.dark",
        style: {
            "background-color": "#27272a",
            "border-color": "#3f3f46",
            color: "#fff"
        }
    }
];

// EXTERNAL MODULE: ../utils-graph/src/styles/edge.ts
var edge = __webpack_require__(52613);
// EXTERNAL MODULE: ../../node_modules/.pnpm/cytoscape-popper@2.0.0_cytoscape@3.25.0/node_modules/cytoscape-popper/cytoscape-popper.js
var cytoscape_popper = __webpack_require__(2929);
var cytoscape_popper_default = /*#__PURE__*/__webpack_require__.n(cytoscape_popper);
;// CONCATENATED MODULE: ../utils-graph/src/create-render-graph.ts





cytoscape_cjs_default().use((cytoscape_dagre_default()));
cytoscape_cjs_default().use((cytoscape_popper_default()));
/**
 * Calculates the minZoom value based on the length of the elements array.
 */ const calculateMinZoom = (elementsLength)=>{
    const minZoomBase = 0.1; // Change this value to set the minimum zoom level when the array is empty
    const minZoomFactor = 0.000115; // Change this value to control the rate at which minZoom decreases as the array length increases
    return minZoomBase - elementsLength * minZoomFactor;
};
/**
 * Creates and renders a graph.
 */ const createRenderGraph = ({ container, elements })=>{
    const renderGraph = cytoscape({
        container,
        style: [
            ...nodeStyles,
            ...edgeStyles
        ],
        autoungrabify: true,
        maxZoom: 2,
        minZoom: calculateMinZoom(elements.length),
        elements
    });
    return renderGraph;
};

// EXTERNAL MODULE: ../utils-core/src/index.ts + 3 modules
var src = __webpack_require__(58976);
;// CONCATENATED MODULE: ../utils-graph/src/get-element-definitions.ts


const nodeImage = " ";
const reactLogo = "PHN2ZyB3aWR0aD0iMzYiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCAzNiAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzBfMykiPgo8cGF0aCBkPSJNMTggMjEuMTA1NUMxOS43NzIxIDIxLjEwNTUgMjEuMjA4NyAxOS43MTUxIDIxLjIwODcgMThDMjEuMjA4NyAxNi4yODQ5IDE5Ljc3MjEgMTQuODk0NSAxOCAxNC44OTQ1QzE2LjIyNzkgMTQuODk0NSAxNC43OTEzIDE2LjI4NDkgMTQuNzkxMyAxOEMxNC43OTEzIDE5LjcxNTEgMTYuMjI3OSAyMS4xMDU1IDE4IDIxLjEwNTVaIiBmaWxsPSIjNjFEQUZCIi8+CjxwYXRoIGQ9Ik0xOCAyNC4zNjI2QzI3LjUwODkgMjQuMzYyNiAzNS4yMTc0IDIxLjUxMzkgMzUuMjE3NCAxOEMzNS4yMTc0IDE0LjQ4NjEgMjcuNTA4OSAxMS42Mzc1IDE4IDExLjYzNzVDOC40OTExMSAxMS42Mzc1IDAuNzgyNjIzIDE0LjQ4NjEgMC43ODI2MjMgMThDMC43ODI2MjMgMjEuNTEzOSA4LjQ5MTExIDI0LjM2MjYgMTggMjQuMzYyNloiIHN0cm9rZT0iIzYxREFGQiIvPgo8cGF0aCBkPSJNMTIuMzA2OCAyMS4xODEzQzE3LjA2MTMgMjkuMTUxNSAyMy40NjQ1IDM0LjE4ODMgMjYuNjA4NyAzMi40MzEzQzI5Ljc1MyAzMC42NzQzIDI4LjQ0NzcgMjIuNzg4OSAyMy42OTMyIDE0LjgxODdDMTguOTM4NyA2Ljg0ODUzIDEyLjUzNTYgMS44MTE3MyA5LjM5MTMzIDMuNTY4N0M2LjI0NzA3IDUuMzI1NjcgNy41NTI0IDEzLjIxMTEgMTIuMzA2OCAyMS4xODEzWiIgc3Ryb2tlPSIjNjFEQUZCIi8+CjxwYXRoIGQ9Ik0xMi4zMDY4IDE0LjgxODdDNy41NTIzOCAyMi43ODg5IDYuMjQ3MDYgMzAuNjc0MyA5LjM5MTMxIDMyLjQzMTNDMTIuNTM1NiAzNC4xODgzIDE4LjkzODcgMjkuMTUxNSAyMy42OTMyIDIxLjE4MTNDMjguNDQ3NiAxMy4yMTExIDI5Ljc1MyA1LjMyNTY2IDI2LjYwODcgMy41Njg2OUMyMy40NjQ0IDEuODExNzIgMTcuMDYxMyA2Ljg0ODUzIDEyLjMwNjggMTQuODE4N1oiIHN0cm9rZT0iIzYxREFGQiIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzBfMyI+CjxyZWN0IHdpZHRoPSIzNiIgaGVpZ2h0PSIzMSIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMi41KSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=";
const nextLogo = "PHN2ZyB3aWR0aD0iMzYiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCAzNiAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzBfMykiPgo8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDFfMF8zKSI+CjxtYXNrIGlkPSJtYXNrMF8wXzMiIHN0eWxlPSJtYXNrLXR5cGU6YWxwaGEiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjAiIHk9IjAiIHdpZHRoPSIzNiIgaGVpZ2h0PSIzNiI+CjxwYXRoIGQ9Ik0xOCAzNkMyNy45NDExIDM2IDM2IDI3Ljk0MTEgMzYgMThDMzYgOC4wNTg4OCAyNy45NDExIDAgMTggMEM4LjA1ODg4IDAgMCA4LjA1ODg4IDAgMThDMCAyNy45NDExIDguMDU4ODggMzYgMTggMzZaIiBmaWxsPSJibGFjayIvPgo8L21hc2s+CjxnIG1hc2s9InVybCgjbWFzazBfMF8zKSI+CjxwYXRoIGQ9Ik0xOCAzNS40QzI3LjYwOTggMzUuNCAzNS40IDI3LjYwOTggMzUuNCAxOEMzNS40IDguMzkwMjUgMjcuNjA5OCAwLjYwMDAwNiAxOCAwLjYwMDAwNkM4LjM5MDI1IDAuNjAwMDA2IDAuNjAwMDA2IDguMzkwMjUgMC42MDAwMDYgMThDMC42MDAwMDYgMjcuNjA5OCA4LjM5MDI1IDM1LjQgMTggMzUuNFoiIGZpbGw9ImJsYWNrIiBzdHJva2U9IndoaXRlIi8+CjxwYXRoIGQ9Ik0yOS45MDE2IDMxLjUwNEwxMy44Mjg0IDEwLjhIMTAuOFYyNS4xOTRIMTMuMjIyN1YxMy44NzY3TDI3Ljk5OTggMzIuOTY5QzI4LjY2NjYgMzIuNTIyOCAyOS4zMDE4IDMyLjAzMyAyOS45MDE2IDMxLjUwNFoiIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl8wXzMpIi8+CjxwYXRoIGQ9Ik0yNS40IDEwLjhIMjNWMjUuMkgyNS40VjEwLjhaIiBmaWxsPSJ1cmwoI3BhaW50MV9saW5lYXJfMF8zKSIvPgo8L2c+CjwvZz4KPC9nPgo8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyXzBfMyIgeDE9IjIxLjgiIHkxPSIyMy4zIiB4Mj0iMjguOSIgeTI9IjMyLjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0id2hpdGUiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSJ3aGl0ZSIgc3RvcC1vcGFjaXR5PSIwIi8+CjwvbGluZWFyR3JhZGllbnQ+CjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQxX2xpbmVhcl8wXzMiIHgxPSIyNC4yIiB5MT0iMTAuOCIgeDI9IjI0LjE1OTgiIHkyPSIyMS4zNzUiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0id2hpdGUiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSJ3aGl0ZSIgc3RvcC1vcGFjaXR5PSIwIi8+CjwvbGluZWFyR3JhZGllbnQ+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMF8zIj4KPHJlY3Qgd2lkdGg9IjM2IiBoZWlnaHQ9IjM2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8Y2xpcFBhdGggaWQ9ImNsaXAxXzBfMyI+CjxyZWN0IHdpZHRoPSIzNiIgaGVpZ2h0PSIzNiIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K";
const ImageByPrimaryDependency = {
    [src/* PackageType */.yR.REACT]: reactLogo,
    [src/* PackageType */.yR.NODE]: nodeImage,
    [src/* PackageType */.yR.NEXT]: nextLogo
};
const getNodeSize = ({ context, name })=>{
    if (!context) return;
    context.font = `normal ${fontWeight} ${fontSize}px ${fontFamily}`;
    const paddingY = 24;
    const paddingX = 24;
    const iconWidth = 50;
    const labelWidth = context.measureText(name).width;
    const paddedLabelWidth = labelWidth + paddingX * 2 + iconWidth;
    const paddedLabelHeight = fontSize + paddingY * 2;
    return {
        width: Math.ceil(paddedLabelWidth),
        height: Math.ceil(paddedLabelHeight)
    };
};
const getElementDefinitions = ({ dependencies, packages })=>{
    if (typeof document === "undefined") return [];
    try {
        const canvas = document.createElement("canvas");
        const context = canvas.getContext("2d");
        const nodes = packages.map((package_)=>{
            const dimensions = getNodeSize({
                context,
                name: package_.name
            });
            const image = ImageByPrimaryDependency[package_.type] ?? nodeImage;
            const imageData = "data:image/svg+xml;base64," + image;
            return {
                data: {
                    ...package_,
                    id: package_.name,
                    image: imageData,
                    ...dimensions
                }
            };
        });
        const edges = dependencies.map((dep)=>{
            return {
                data: {
                    ...dep,
                    id: `${dep.source}->${dep.target}`
                }
            };
        });
        return [
            ...nodes,
            ...edges
        ];
    } catch (error) {
        console.error(error);
        return [];
    }
};

;// CONCATENATED MODULE: ../utils-graph/src/layout-options.ts
const layoutOptions = {
    name: "dagre",
    animate: false,
    rankSep: 240,
    nodeSep: 140,
    nodeDimensionsIncludeLabels: true
};

;// CONCATENATED MODULE: ../utils-graph/src/get-updated-graph-json.ts





cytoscape_cjs_default().use((cytoscape_dagre_default()));
const getElementDefinitionsWithUpdatedLayout = async ({ elements })=>{
    const graph = cytoscape_cjs_default()({
        styleEnabled: true,
        style: [
            ...node_nodeStyles,
            ...edge/* edgeStyles */.E
        ],
        elements
    });
    graph.layout(layoutOptions).run();
    return graph.elements().jsons();
};

// EXTERNAL MODULE: ../utils-graph/src/bind-render-graph-events.ts
var bind_render_graph_events = __webpack_require__(71617);
// EXTERNAL MODULE: ../utils-graph/src/utils/with-timing.ts
var with_timing = __webpack_require__(62836);
;// CONCATENATED MODULE: ../utils-graph/src/render-elements-to-graph.ts
/* __next_internal_client_entry_do_not_use__ updateGraphElements auto */ 


const updateStyles = ({ graph, theme, forceEdgeColor, violations = [] })=>{
    graph.elements().removeClass([
        "dark",
        "light"
    ]).addClass(theme);
    graph.edges().forEach((edge)=>{
        const edgeData = edge.data();
        const violationForEdge = edgeData ? violations.find((violation)=>{
            const source = edge.source().data();
            const target = edge.target().data();
            return violation.sourcePackageName === source.name && violation.targetPackageName === target.name;
        }) : null;
        if (forceEdgeColor) {
            edge.addClass(edgeData.type);
            edge.addClass("focus");
        } else {
            edge.removeClass([
                src/* DependencyType */.D1.DEVELOPMENT,
                src/* DependencyType */.D1.PEER,
                src/* DependencyType */.D1.PRODUCTION
            ]);
            edge.removeClass("focus");
        }
        if (violationForEdge) {
            edge.removeClass([
                src/* DependencyType */.D1.DEVELOPMENT,
                src/* DependencyType */.D1.PEER,
                src/* DependencyType */.D1.PRODUCTION
            ]);
            edge.removeClass("focus");
            edge.addClass("violation");
        }
    });
};
const updateGraphElements = (0,with_timing/* withTiming */.j)("updateGraphElements", async ({ renderGraph, traversalGraph, theme, forceEdgeColor, violations, elements })=>{
    // Clear the graph
    renderGraph.json({
        elements
    });
    updateStyles({
        graph: renderGraph,
        theme,
        forceEdgeColor,
        violations
    });
    renderGraph.fit(undefined, 24);
    // Bind graph events, these events are all fired by the Cytoscape library
    (0,bind_render_graph_events/* bindRenderGraphEvents */.I6)({
        renderGraph,
        theme,
        traversalGraph,
        violations
    });
});


;// CONCATENATED MODULE: ../utils-graph/src/create-traversal-graph.ts

const createTraversalGraph = ({ elements })=>cytoscape({
        headless: true,
        elements
    });

;// CONCATENATED MODULE: ../utils-graph/src/actions.ts
function withSerialization(fn) {
    return (args)=>{
        const result = fn(args);
        return result.jsons();
    };
}
const show = withSerialization(({ traversalGraph, renderGraph, selector })=>{
    const matchingNodes = traversalGraph.nodes().filter(selector);
    const existingNodes = renderGraph.nodes();
    const nodesToRender = existingNodes.union(matchingNodes);
    const edgesToRender = nodesToRender.nodes().edgesTo(nodesToRender.nodes());
    const elementsToRender = nodesToRender.union(edgesToRender);
    return elementsToRender;
});
const showDependencies = withSerialization(({ traversalGraph, renderGraph, id })=>{
    const node = traversalGraph.$id(id);
    const nodeAndDependants = node.union(node.outgoers());
    const elementsToRender = renderGraph.elements().union(nodeAndDependants);
    return elementsToRender;
});
const showDependants = withSerialization(({ traversalGraph, renderGraph, id })=>{
    const node = traversalGraph.$id(id);
    const nodeAndDependants = node.union(node.incomers());
    const nodesToRender = nodeAndDependants.nodes();
    const edgesToRender = nodesToRender.edgesTo(nodesToRender);
    const elementsToRender = renderGraph.elements().union(nodesToRender).union(edgesToRender);
    return elementsToRender;
});
const setInitialElements = withSerialization(({ renderGraph })=>{
    return renderGraph.elements();
});
const actions_focus = withSerialization(({ traversalGraph, selector })=>{
    const nodesToRender = traversalGraph.nodes().filter(selector);
    const edgesToRender = nodesToRender.edgesTo(nodesToRender);
    return traversalGraph.collection().union(nodesToRender).union(edgesToRender);
});
const showAll = withSerialization(({ traversalGraph })=>{
    return traversalGraph.elements();
});
const hideAll = withSerialization(({ traversalGraph })=>{
    return traversalGraph.collection();
});
const hideDependents = withSerialization(({ traversalGraph, renderGraph, id })=>{
    const successorsOfNode = renderGraph.$id(id).successors();
    const successorsOfDirectDependents = traversalGraph.$id(id).incomers().successors();
    if (successorsOfDirectDependents.length) {
        return traversalGraph.collection().union(traversalGraph.$id(id)).union(successorsOfNode).intersection(successorsOfDirectDependents);
    } else {
        return renderGraph.elements();
    }
});
const hideDependencies = withSerialization(({ traversalGraph, renderGraph, id })=>{
    const elementsToHide = traversalGraph.$id(id).successors();
    return renderGraph.elements().difference(elementsToHide);
});
const hide = withSerialization(({ traversalGraph, renderGraph, selector })=>{
    const elementsToHide = traversalGraph.collection();
    const nodesToHide = traversalGraph.nodes().filter(selector);
    const edgesForElements = nodesToHide.connectedEdges();
    elementsToHide.merge(nodesToHide).merge(edgesForElements);
    return renderGraph.elements().difference(elementsToHide);
});

;// CONCATENATED MODULE: ../utils-graph/src/constants/query-keys.ts
const metadataKey = "metadata";
const documentsKeys = [
    metadataKey,
    "documents"
];
const violationsKeys = [
    metadataKey,
    "violations"
];
const tagsKeys = [
    metadataKey,
    "tags"
];
const projectConfigKeys = [
    metadataKey,
    "projectConfig"
];
const constraintsKeys = [
    metadataKey,
    "constraints"
];
const codeownersKeys = [
    metadataKey,
    "codeowners"
];
const packagesKeys = [
    metadataKey,
    "packages"
];
const dependenciesKeys = [
    metadataKey,
    "dependencies"
];

;// CONCATENATED MODULE: ../utils-graph/src/index.ts








;// CONCATENATED MODULE: ../data-graph/src/utils/worker.ts

addEventListener("message", async (event)=>{
    const updatedElelementDefinitions = await getElementDefinitionsWithUpdatedLayout({
        elements: event.data
    });
    try {
        postMessage(updatedElelementDefinitions);
    } catch (error) {
        console.error(error);
    }
});


/***/ }),

/***/ 58976:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  D1: () => (/* reexport */ DependencyType),
  yR: () => (/* reexport */ PackageType)
});

// UNUSED EXPORTS: AllPackagesWildcard, Lockfile, PackageManager, Theme, formatPackageName, formatTagName, slugifyPackageName, slugifyTagName

;// CONCATENATED MODULE: ../utils-core/src/constants.ts
var Theme;
(function(Theme) {
    Theme["Dark"] = "dark";
    Theme["Light"] = "light";
    Theme["System"] = "system";
})(Theme || (Theme = {}));
var Lockfile;
(function(Lockfile) {
    Lockfile["NPM_LOCKFILE"] = "package-lock.json";
    Lockfile["YARN_LOCKFILE"] = "yarn.lock";
    Lockfile["PNPM_LOCKFILE"] = "pnpm-lock.yaml";
})(Lockfile || (Lockfile = {}));
var DependencyType;
(function(DependencyType) {
    DependencyType["PEER"] = "peer";
    DependencyType["DEVELOPMENT"] = "development";
    DependencyType["PRODUCTION"] = "production";
})(DependencyType || (DependencyType = {}));
var PackageType;
(function(PackageType) {
    PackageType["NODE"] = "node";
    PackageType["REACT"] = "react";
    PackageType["NEXT"] = "next";
})(PackageType || (PackageType = {}));
var PackageManager;
(function(PackageManager) {
    PackageManager["PNPM"] = "pnpm";
    PackageManager["YARN"] = "yarn";
    PackageManager["NPM"] = "npm";
})(PackageManager || (PackageManager = {}));
const AllPackagesWildcard = "*";

// EXTERNAL MODULE: ../utils-core/src/slugify-package-name.ts
var slugify_package_name = __webpack_require__(34306);
// EXTERNAL MODULE: ../../node_modules/.pnpm/slugify@1.6.6/node_modules/slugify/slugify.js
var slugify_slugify = __webpack_require__(24264);
;// CONCATENATED MODULE: ../utils-core/src/slugify-tag-name.ts

/**
 * Takes a tag name and converts it into a URL-friendly slug.
 * Replaces slashes (/) with hyphens (-) and removes any non-URL-safe characters.
 *
 * @param packageName - The package name to be slugified.
 * @returns The slugified package name.
 */ const slugify_tag_name_slugifyTagName = (tagName)=>{
    if (!tagName) {
        return "";
    }
    return slugify(tagName, {
        strict: true,
        lower: true
    });
};

;// CONCATENATED MODULE: ../utils-core/src/format-tag-name.ts

const formatTagName = (tagName)=>{
    return `#${slugifyTagName(tagName)}`;
};

;// CONCATENATED MODULE: ../utils-core/src/index.ts







/***/ })

/******/ 	});
/************************************************************************/
/******/ 	// The module cache
/******/ 	var __webpack_module_cache__ = {};
/******/ 	
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/ 		// Check if module is in cache
/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
/******/ 		if (cachedModule !== undefined) {
/******/ 			return cachedModule.exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = __webpack_module_cache__[moduleId] = {
/******/ 			id: moduleId,
/******/ 			loaded: false,
/******/ 			exports: {}
/******/ 		};
/******/ 	
/******/ 		// Execute the module function
/******/ 		var threw = true;
/******/ 		try {
/******/ 			__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/ 			threw = false;
/******/ 		} finally {
/******/ 			if(threw) delete __webpack_module_cache__[moduleId];
/******/ 		}
/******/ 	
/******/ 		// Flag the module as loaded
/******/ 		module.loaded = true;
/******/ 	
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/ 	
/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = __webpack_modules__;
/******/ 	
/******/ 	// the startup function
/******/ 	__webpack_require__.x = () => {
/******/ 		// Load entry module and return exports
/******/ 		// This entry module depends on other loaded chunks and execution need to be delayed
/******/ 		var __webpack_exports__ = __webpack_require__.O(undefined, [966,319], () => (__webpack_require__(49339)))
/******/ 		__webpack_exports__ = __webpack_require__.O(__webpack_exports__);
/******/ 		return __webpack_exports__;
/******/ 	};
/******/ 	
/************************************************************************/
/******/ 	/* webpack/runtime/chunk loaded */
/******/ 	(() => {
/******/ 		var deferred = [];
/******/ 		__webpack_require__.O = (result, chunkIds, fn, priority) => {
/******/ 			if(chunkIds) {
/******/ 				priority = priority || 0;
/******/ 				for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
/******/ 				deferred[i] = [chunkIds, fn, priority];
/******/ 				return;
/******/ 			}
/******/ 			var notFulfilled = Infinity;
/******/ 			for (var i = 0; i < deferred.length; i++) {
/******/ 				var [chunkIds, fn, priority] = deferred[i];
/******/ 				var fulfilled = true;
/******/ 				for (var j = 0; j < chunkIds.length; j++) {
/******/ 					if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {
/******/ 						chunkIds.splice(j--, 1);
/******/ 					} else {
/******/ 						fulfilled = false;
/******/ 						if(priority < notFulfilled) notFulfilled = priority;
/******/ 					}
/******/ 				}
/******/ 				if(fulfilled) {
/******/ 					deferred.splice(i--, 1)
/******/ 					var r = fn();
/******/ 					if (r !== undefined) result = r;
/******/ 				}
/******/ 			}
/******/ 			return result;
/******/ 		};
/******/ 	})();
/******/ 	
/******/ 	/* webpack/runtime/compat get default export */
/******/ 	(() => {
/******/ 		// getDefaultExport function for compatibility with non-harmony modules
/******/ 		__webpack_require__.n = (module) => {
/******/ 			var getter = module && module.__esModule ?
/******/ 				() => (module['default']) :
/******/ 				() => (module);
/******/ 			__webpack_require__.d(getter, { a: getter });
/******/ 			return getter;
/******/ 		};
/******/ 	})();
/******/ 	
/******/ 	/* webpack/runtime/define property getters */
/******/ 	(() => {
/******/ 		// define getter functions for harmony exports
/******/ 		__webpack_require__.d = (exports, definition) => {
/******/ 			for(var key in definition) {
/******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ 				}
/******/ 			}
/******/ 		};
/******/ 	})();
/******/ 	
/******/ 	/* webpack/runtime/ensure chunk */
/******/ 	(() => {
/******/ 		__webpack_require__.f = {};
/******/ 		// This file contains only the entry chunk.
/******/ 		// The chunk loading function for additional chunks
/******/ 		__webpack_require__.e = (chunkId) => {
/******/ 			return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {
/******/ 				__webpack_require__.f[key](chunkId, promises);
/******/ 				return promises;
/******/ 			}, []));
/******/ 		};
/******/ 	})();
/******/ 	
/******/ 	/* webpack/runtime/get javascript chunk filename */
/******/ 	(() => {
/******/ 		// This function allow to reference async chunks and sibling chunks for the entrypoint
/******/ 		__webpack_require__.u = (chunkId) => {
/******/ 			// return url for filenames based on template
/******/ 			return "" + chunkId + ".js";
/******/ 		};
/******/ 	})();
/******/ 	
/******/ 	/* webpack/runtime/hasOwnProperty shorthand */
/******/ 	(() => {
/******/ 		__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ 	})();
/******/ 	
/******/ 	/* webpack/runtime/node module decorator */
/******/ 	(() => {
/******/ 		__webpack_require__.nmd = (module) => {
/******/ 			module.paths = [];
/******/ 			if (!module.children) module.children = [];
/******/ 			return module;
/******/ 		};
/******/ 	})();
/******/ 	
/******/ 	/* webpack/runtime/require chunk loading */
/******/ 	(() => {
/******/ 		// no baseURI
/******/ 		
/******/ 		// object to store loaded chunks
/******/ 		// "1" means "loaded", otherwise not loaded yet
/******/ 		var installedChunks = {
/******/ 			339: 1
/******/ 		};
/******/ 		
/******/ 		__webpack_require__.O.require = (chunkId) => (installedChunks[chunkId]);
/******/ 		
/******/ 		var installChunk = (chunk) => {
/******/ 			var moreModules = chunk.modules, chunkIds = chunk.ids, runtime = chunk.runtime;
/******/ 			for(var moduleId in moreModules) {
/******/ 				if(__webpack_require__.o(moreModules, moduleId)) {
/******/ 					__webpack_require__.m[moduleId] = moreModules[moduleId];
/******/ 				}
/******/ 			}
/******/ 			if(runtime) runtime(__webpack_require__);
/******/ 			for(var i = 0; i < chunkIds.length; i++)
/******/ 				installedChunks[chunkIds[i]] = 1;
/******/ 			__webpack_require__.O();
/******/ 		};
/******/ 		
/******/ 		// require() chunk loading for javascript
/******/ 		__webpack_require__.f.require = (chunkId, promises) => {
/******/ 			// "1" is the signal for "already loaded"
/******/ 			if(!installedChunks[chunkId]) {
/******/ 				if(true) { // all chunks have JS
/******/ 					installChunk(require("./" + __webpack_require__.u(chunkId)));
/******/ 				} else installedChunks[chunkId] = 1;
/******/ 			}
/******/ 		};
/******/ 		
/******/ 		// no external install chunk
/******/ 		
/******/ 		// no HMR
/******/ 		
/******/ 		// no HMR manifest
/******/ 	})();
/******/ 	
/******/ 	/* webpack/runtime/startup chunk dependencies */
/******/ 	(() => {
/******/ 		var next = __webpack_require__.x;
/******/ 		__webpack_require__.x = () => {
/******/ 			__webpack_require__.e(966);
/******/ 			__webpack_require__.e(319);
/******/ 			return next();
/******/ 		};
/******/ 	})();
/******/ 	
/************************************************************************/
/******/ 	
/******/ 	// run startup
/******/ 	var __webpack_exports__ = __webpack_require__.x();
/******/ 	module.exports = __webpack_exports__;
/******/ 	
/******/ })()
;