"use strict";
(() => {
var exports = {};
exports.id = 984;
exports.ids = [984,7206];
exports.modules = {

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

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": () => (/* binding */ SiteName)
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(920997);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var lib_use_customize__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1198);


function SiteName({ full  }) {
    const { siteName , siteDescription  } = (0,lib_use_customize__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)();
    if (full) {
        return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
            children: [
                siteName,
                ": ",
                siteDescription
            ]
        });
    }
    return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
        children: siteName
    });
};


/***/ }),

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

// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": () => (/* binding */ Preferences),
  "getServerSideProps": () => (/* binding */ getServerSideProps)
});

// EXTERNAL MODULE: external "react/jsx-runtime"
var jsx_runtime_ = __webpack_require__(920997);
// EXTERNAL MODULE: external "antd"
var external_antd_ = __webpack_require__(545725);
// EXTERNAL MODULE: ./components/landing/header.tsx + 2 modules
var header = __webpack_require__(113680);
// EXTERNAL MODULE: ./components/landing/head.tsx
var head = __webpack_require__(422004);
// EXTERNAL MODULE: ./components/landing/footer.tsx + 1 modules
var footer = __webpack_require__(920691);
// EXTERNAL MODULE: ../frontend/dist/components/icon.js
var icon = __webpack_require__(807772);
// EXTERNAL MODULE: external "react"
var external_react_ = __webpack_require__(616689);
// EXTERNAL MODULE: ./components/misc/A.tsx
var A = __webpack_require__(617637);
// EXTERNAL MODULE: ./components/share/loading.tsx
var loading = __webpack_require__(598278);
// EXTERNAL MODULE: ./lib/hooks/api.ts
var api = __webpack_require__(811185);
// EXTERNAL MODULE: ./components/support/util.tsx
var util = __webpack_require__(863524);
;// CONCATENATED MODULE: ./components/support/recent-files.tsx

/*
Note: The TreeSelect component we use below has numerous accessibility
issues, which are being tracked upstream:

    https://github.com/ant-design/ant-design/issues/22343

This component significantly degrades our lighthouse accessibility
score for this page.
*/ 




function RecentFiles({ interval , onChange  }) {
    const { result , error  } = (0,api/* default */.Z)("file-access", {
        interval: interval ?? "1 day"
    });
    const { 0: treeData1 , 1: setTreeData  } = (0,external_react_.useState)([]);
    (0,external_react_.useEffect)(()=>{
        if (!result) return;
        // organize the files by project:
        const projects = {};
        for (const file of result.files ?? []){
            if (projects[file.project_id] == null) {
                projects[file.project_id] = [
                    file
                ];
            } else {
                projects[file.project_id].push(file);
            }
        }
        const treeData = [];
        for(const project_id in projects){
            const files = projects[project_id];
            if (files.length == 0) continue;
            const children = [];
            treeData.push({
                title: /*#__PURE__*/ (0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
                    children: [
                        "Project: ",
                        /*#__PURE__*/ jsx_runtime_.jsx("b", {
                            children: files[0].title
                        })
                    ]
                }),
                value: files[0].project_id,
                children
            });
            for (const file of files){
                children.push({
                    title: file.path,
                    value: file.project_id + file.path
                });
            }
        }
        setTreeData(treeData);
    }, [
        result
    ]);
    return /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
        children: [
            error && /*#__PURE__*/ jsx_runtime_.jsx(external_antd_.Alert, {
                type: "error",
                message: error
            }),
            result == null ? /*#__PURE__*/ jsx_runtime_.jsx(loading/* default */.Z, {}) : /*#__PURE__*/ jsx_runtime_.jsx(jsx_runtime_.Fragment, {
                children: /*#__PURE__*/ jsx_runtime_.jsx(external_antd_.TreeSelect, {
                    style: {
                        width: "100%"
                    },
                    treeData: treeData1,
                    placeholder: /*#__PURE__*/ jsx_runtime_.jsx(util/* Placeholder */.V, {
                        children: "Search for relevant files..."
                    }),
                    allowClear: true,
                    multiple: true,
                    treeDefaultExpandAll: true,
                    showSearch: true,
                    dropdownStyle: {
                        maxHeight: 400,
                        overflow: "auto"
                    },
                    onChange: (selected)=>{
                        if (!onChange) return;
                        const v = [];
                        for (const value of selected){
                            const project_id = value.slice(0, 36);
                            if (value.length <= 36) {
                                v.push({
                                    project_id
                                });
                            } else {
                                const path = value.slice(36);
                                v.push({
                                    project_id,
                                    path
                                });
                            }
                        }
                        onChange(v);
                    }
                })
            })
        ]
    });
};

// EXTERNAL MODULE: external "next/router"
var router_ = __webpack_require__(371853);
// EXTERNAL MODULE: ../util/dist/misc.js
var misc = __webpack_require__(477389);
// EXTERNAL MODULE: ./lib/api/post.ts
var post = __webpack_require__(456658);
;// CONCATENATED MODULE: ./components/support/browser-info.ts
function browserInfo() {
    const userAgent = navigator?.userAgent;
    if (!userAgent) {
        return {
            userAgent,
            browser: "node"
        };
    }
    let browser;
    let useragent = userAgent.toLowerCase();
    if (/chrom(e|ium)/.test(useragent)) {
        browser = "chrome";
    } else if (useragent.includes("firefox")) {
        browser = "firefox";
    } else if (useragent.match(/Mac/) && navigator.maxTouchPoints && navigator.maxTouchPoints > 2) {
        browser = "ipados";
    } else if (useragent.match(/iPhone|iPod/i)) {
        browser = "ios";
    } else if (useragent.includes("safari")) {
        browser = "safari";
    } else {
        browser = "other";
    }
    return {
        userAgent,
        browser
    };
};

// EXTERNAL MODULE: ./lib/customize.ts
var lib_customize = __webpack_require__(481617);
// EXTERNAL MODULE: ./components/support/tickets.tsx
var tickets = __webpack_require__(176773);
// EXTERNAL MODULE: ./components/share/site-name.tsx
var site_name = __webpack_require__(312899);
// EXTERNAL MODULE: ./lib/config.ts
var config = __webpack_require__(78082);
;// CONCATENATED MODULE: ./components/support/create.tsx
















function VSpace({ children  }) {
    return /*#__PURE__*/ jsx_runtime_.jsx(external_antd_.Space, {
        direction: "vertical",
        style: {
            width: "100%",
            fontSize: "12pt"
        },
        children: children
    });
}
function stringToType(s) {
    if (s == "problem" || s == "question" || s == "task") return s;
    return "problem"; // default;
}
function Create() {
    const { contactEmail , zendesk , account  } = (0,lib_customize/* useCustomize */.i)();
    const router = (0,router_.useRouter)();
    // The URL the user was viewing when they requested support.
    // This could easily be blank, but if it is set it can be useful.
    const { url  } = router.query;
    const { 0: files , 1: setFiles  } = (0,external_react_.useState)([]);
    const { 0: type , 1: setType  } = (0,external_react_.useState)(stringToType(router.query.type));
    const { 0: email , 1: setEmail  } = (0,external_react_.useState)(account?.email_address ?? "");
    const { 0: body , 1: setBody  } = (0,external_react_.useState)(router.query.body ? `${router.query.body}` : "");
    const { 0: subject , 1: setSubject  } = (0,external_react_.useState)(router.query.subject ? `${router.query.subject}` : "");
    const { 0: submitError , 1: setSubmitError  } = (0,external_react_.useState)("");
    const { 0: submitting , 1: setSubmitting  } = (0,external_react_.useState)(false);
    const { 0: success , 1: setSuccess  } = (0,external_react_.useState)("");
    const submittable = (0,external_react_.useRef)(false);
    submittable.current = !!(!submitting && !submitError && !success && (0,misc.is_valid_email_address)(email) && subject && body);
    if (!zendesk) {
        return /*#__PURE__*/ jsx_runtime_.jsx(util/* NoZendesk */.f, {});
    }
    async function createSupportTicket() {
        const info = browserInfo();
        const options = {
            type,
            files,
            email,
            body,
            url,
            subject,
            info
        };
        setSubmitError("");
        let result;
        try {
            setSubmitting(true);
            result = await (0,post/* default */.Z)("/support/create-ticket", {
                options
            });
        } catch (err) {
            setSubmitError(err.message);
            return;
        } finally{
            setSubmitting(false);
        }
        setSuccess(/*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
            children: [
                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                    children: [
                        "Please save this URL: ",
                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                            href: result.url,
                            children: result.url
                        })
                    ]
                }),
                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                    children: [
                        "You can also see the",
                        " ",
                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                            href: "/support/tickets",
                            children: "status of your support tickets"
                        }),
                        "."
                    ]
                })
            ]
        }));
    }
    return /*#__PURE__*/ jsx_runtime_.jsx(external_antd_.Layout.Content, {
        style: {
            backgroundColor: "white"
        },
        children: /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
            style: {
                maxWidth: config/* MAX_WIDTH */.d,
                margin: "15px auto",
                padding: "15px",
                backgroundColor: "white",
                color: "#555"
            },
            children: [
                " ",
                /*#__PURE__*/ jsx_runtime_.jsx("h1", {
                    style: {
                        textAlign: "center",
                        fontSize: "24pt"
                    },
                    children: "Create a New Support Ticket"
                }),
                router.query.hideExtra != "true" && /*#__PURE__*/ (0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
                    children: [
                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                            style: {
                                fontSize: "12pt"
                            },
                            children: [
                                "Create a new support ticket below or",
                                " ",
                                /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                    href: "/support/tickets",
                                    children: "check the status of your support tickets"
                                }),
                                ".",
                                " ",
                                contactEmail && /*#__PURE__*/ (0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
                                    children: [
                                        "You can also email us directly at",
                                        " ",
                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                            href: `mailto:${contactEmail}`,
                                            children: contactEmail
                                        }),
                                        "."
                                    ]
                                })
                            ]
                        }),
                        /*#__PURE__*/ jsx_runtime_.jsx(FAQ, {}),
                        /*#__PURE__*/ jsx_runtime_.jsx("h1", {
                            children: "Create Your Ticket"
                        }),
                        /*#__PURE__*/ jsx_runtime_.jsx(Instructions, {}),
                        /*#__PURE__*/ jsx_runtime_.jsx(external_antd_.Divider, {
                            children: "Support Ticket"
                        })
                    ]
                }),
                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("form", {
                    children: [
                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)(VSpace, {
                            children: [
                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("b", {
                                    children: [
                                        /*#__PURE__*/ jsx_runtime_.jsx(Status, {
                                            done: (0,misc.is_valid_email_address)(email)
                                        }),
                                        " Your Email Address"
                                    ]
                                }),
                                /*#__PURE__*/ jsx_runtime_.jsx(external_antd_.Input, {
                                    prefix: /*#__PURE__*/ jsx_runtime_.jsx(icon.Icon, {
                                        name: "envelope",
                                        style: {
                                            color: "rgba(0,0,0,.25)"
                                        }
                                    }),
                                    defaultValue: email,
                                    placeholder: "Email address...",
                                    style: {
                                        maxWidth: "500px"
                                    },
                                    onChange: (e)=>setEmail(e.target.value)
                                }),
                                /*#__PURE__*/ jsx_runtime_.jsx("br", {}),
                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("b", {
                                    children: [
                                        /*#__PURE__*/ jsx_runtime_.jsx(Status, {
                                            done: subject
                                        }),
                                        " Subject"
                                    ]
                                }),
                                /*#__PURE__*/ jsx_runtime_.jsx(external_antd_.Input, {
                                    placeholder: "Summarize what this ticket is about...",
                                    onChange: (e)=>setSubject(e.target.value)
                                    ,
                                    defaultValue: subject
                                }),
                                /*#__PURE__*/ jsx_runtime_.jsx("br", {}),
                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("b", {
                                    children: [
                                        "Is this a ",
                                        /*#__PURE__*/ jsx_runtime_.jsx("i", {
                                            children: "Problem"
                                        }),
                                        ", ",
                                        /*#__PURE__*/ jsx_runtime_.jsx("i", {
                                            children: "Question"
                                        }),
                                        ", or",
                                        " ",
                                        /*#__PURE__*/ jsx_runtime_.jsx("i", {
                                            children: "Software Install Task"
                                        }),
                                        "?"
                                    ]
                                }),
                                /*#__PURE__*/ jsx_runtime_.jsx(external_antd_.Radio.Group, {
                                    name: "radiogroup",
                                    defaultValue: type,
                                    onChange: (e)=>setType(e.target.value)
                                    ,
                                    children: /*#__PURE__*/ (0,jsx_runtime_.jsxs)(VSpace, {
                                        children: [
                                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)(external_antd_.Radio, {
                                                value: "problem",
                                                children: [
                                                    /*#__PURE__*/ jsx_runtime_.jsx(tickets/* Type */.D, {
                                                        type: "problem"
                                                    }),
                                                    " Something is not working the way I think it should work."
                                                ]
                                            }),
                                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)(external_antd_.Radio, {
                                                value: "question",
                                                children: [
                                                    /*#__PURE__*/ jsx_runtime_.jsx(tickets/* Type */.D, {
                                                        type: "question"
                                                    }),
                                                    " I have a question about billing, functionality, teaching, something not working, etc."
                                                ]
                                            }),
                                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)(external_antd_.Radio, {
                                                value: "task",
                                                children: [
                                                    /*#__PURE__*/ jsx_runtime_.jsx(tickets/* Type */.D, {
                                                        type: "task"
                                                    }),
                                                    " Is it possible for you to install some software that I need in order to use ",
                                                    /*#__PURE__*/ jsx_runtime_.jsx(site_name/* default */.Z, {}),
                                                    "?"
                                                ]
                                            })
                                        ]
                                    })
                                }),
                                /*#__PURE__*/ jsx_runtime_.jsx("br", {}),
                                router.query.hideExtra != "true" && /*#__PURE__*/ (0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
                                    children: [
                                        /*#__PURE__*/ jsx_runtime_.jsx(Files, {
                                            onChange: setFiles
                                        }),
                                        /*#__PURE__*/ jsx_runtime_.jsx("br", {})
                                    ]
                                }),
                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("b", {
                                    children: [
                                        /*#__PURE__*/ jsx_runtime_.jsx(Status, {
                                            done: body && body.length > 10
                                        }),
                                        " Description"
                                    ]
                                }),
                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
                                    style: {
                                        marginLeft: "30px",
                                        borderLeft: "1px solid lightgrey",
                                        paddingLeft: "15px"
                                    },
                                    children: [
                                        type == "problem" && /*#__PURE__*/ jsx_runtime_.jsx(Problem, {
                                            onChange: setBody
                                        }),
                                        type == "question" && /*#__PURE__*/ jsx_runtime_.jsx(Question, {
                                            onChange: setBody,
                                            defaultValue: body
                                        }),
                                        type == "task" && /*#__PURE__*/ jsx_runtime_.jsx(Task, {
                                            onChange: setBody
                                        })
                                    ]
                                })
                            ]
                        }),
                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                            style: {
                                marginTop: "30px"
                            },
                            children: [
                                "After submitting this ticket, you'll receive a link, which you should save until you receive a confirmation email. You can also",
                                " ",
                                /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                    href: "/support/tickets",
                                    children: "check the status of your support tickets"
                                }),
                                "."
                            ]
                        }),
                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
                            style: {
                                textAlign: "center",
                                marginTop: "30px"
                            },
                            children: [
                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)(external_antd_.Button, {
                                    shape: "round",
                                    size: "large",
                                    disabled: !submittable.current,
                                    type: "primary",
                                    onClick: createSupportTicket,
                                    children: [
                                        /*#__PURE__*/ jsx_runtime_.jsx(icon.Icon, {
                                            name: "paper-plane"
                                        }),
                                        " ",
                                        submitting ? "Submitting..." : success ? "Thank you for creating a ticket" : submitError ? "Close the error box to try again" : !(0,misc.is_valid_email_address)(email) ? "Enter Valid Email Address above" : !subject ? "Enter Subject above" : !body ? "Describe your issue above" : "Create Support Ticket"
                                    ]
                                }),
                                submitting && /*#__PURE__*/ jsx_runtime_.jsx(loading/* default */.Z, {
                                    style: {
                                        fontSize: "32pt"
                                    }
                                }),
                                submitError && /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
                                    children: [
                                        /*#__PURE__*/ jsx_runtime_.jsx(external_antd_.Alert, {
                                            type: "error",
                                            message: "Error creating support ticket",
                                            description: submitError,
                                            closable: true,
                                            showIcon: true,
                                            onClose: ()=>setSubmitError("")
                                            ,
                                            style: {
                                                margin: "15px auto",
                                                maxWidth: "500px"
                                            }
                                        }),
                                        /*#__PURE__*/ jsx_runtime_.jsx("br", {}),
                                        contactEmail && /*#__PURE__*/ (0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
                                            children: [
                                                "If you continue to have problems, email us directly at",
                                                " ",
                                                /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                    href: `mailto:${contactEmail}`,
                                                    children: contactEmail
                                                }),
                                                "."
                                            ]
                                        })
                                    ]
                                }),
                                success && /*#__PURE__*/ jsx_runtime_.jsx(external_antd_.Alert, {
                                    type: "success",
                                    message: "Successfully created support ticket",
                                    description: success,
                                    onClose: ()=>{
                                        // simplest way to reset all the information in the form.
                                        router.reload();
                                    },
                                    closable: true,
                                    showIcon: true,
                                    style: {
                                        margin: "15px auto",
                                        maxWidth: "500px"
                                    }
                                })
                            ]
                        })
                    ]
                })
            ]
        })
    });
};
function Files({ onChange  }) {
    return /*#__PURE__*/ (0,jsx_runtime_.jsxs)(VSpace, {
        children: [
            /*#__PURE__*/ jsx_runtime_.jsx("b", {
                children: "Relevant Files"
            }),
            "Select any relevant projects and files below. This will make it much easier for us to quickly understand your problem.",
            /*#__PURE__*/ jsx_runtime_.jsx(RecentFiles, {
                interval: "1 day",
                onChange: onChange
            })
        ]
    });
}
function Problem({ onChange  }) {
    const answers = (0,external_react_.useRef)([
        "",
        "",
        ""
    ]);
    function update(i, value) {
        answers.current[i] = value;
        onChange?.(answers.current.join("\n\n\n").trim());
    }
    return /*#__PURE__*/ (0,jsx_runtime_.jsxs)(VSpace, {
        children: [
            /*#__PURE__*/ jsx_runtime_.jsx("b", {
                children: "What did you do exactly?"
            }),
            /*#__PURE__*/ jsx_runtime_.jsx(external_antd_.Input.TextArea, {
                rows: 3,
                placeholder: "Describe what you did...",
                onChange: (e)=>update(0, e.target.value ? "\n\nWHAT DID YOU DO EXACTLY?\n\n" + e.target.value : "")
            }),
            /*#__PURE__*/ jsx_runtime_.jsx("br", {}),
            /*#__PURE__*/ jsx_runtime_.jsx("b", {
                children: "What happened?"
            }),
            /*#__PURE__*/ jsx_runtime_.jsx(external_antd_.Input.TextArea, {
                rows: 3,
                placeholder: "Tell us what happened...",
                onChange: (e)=>update(1, e.target.value ? "\n\nWHAT HAPPENED?\n\n" + e.target.value : "")
            }),
            /*#__PURE__*/ jsx_runtime_.jsx("br", {}),
            /*#__PURE__*/ jsx_runtime_.jsx("b", {
                children: "How did this differ from what you expected?"
            }),
            /*#__PURE__*/ jsx_runtime_.jsx(external_antd_.Input.TextArea, {
                rows: 3,
                placeholder: "Explain how this differs from what you expected...",
                onChange: (e)=>update(2, e.target.value ? "\n\nHOW DID THIS DIFFER FROM WHAT YOU EXPECTED?\n\n" + e.target.value : "")
            })
        ]
    });
}
function Question({ defaultValue , onChange  }) {
    return /*#__PURE__*/ jsx_runtime_.jsx(external_antd_.Input.TextArea, {
        rows: 8,
        defaultValue: defaultValue,
        placeholder: "Your question...",
        onChange: (e)=>onChange(e.target.value)
    });
}
function Task({ onChange  }) {
    const answers = (0,external_react_.useRef)([
        "",
        "",
        ""
    ]);
    function update(i, value) {
        answers.current[i] = value;
        onChange?.(answers.current.join("\n\n\n").trim());
    }
    return /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
        children: [
            "Each ",
            /*#__PURE__*/ jsx_runtime_.jsx(site_name/* default */.Z, {}),
            " project is a Docker image running Ubuntu Linux on 64-bit x86 hardware, so it is possible for us to install most standard Linux software, and we have already installed",
            " ",
            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                href: "/software",
                children: "a huge amount"
            }),
            ". If there is something you need that is missing, let us know below.",
            /*#__PURE__*/ jsx_runtime_.jsx("br", {}),
            /*#__PURE__*/ jsx_runtime_.jsx("br", {}),
            /*#__PURE__*/ jsx_runtime_.jsx("b", {
                children: "What software do you need?"
            }),
            " In particular, if this is a Python library, explain which of the",
            " ",
            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                href: "software/python",
                children: "many Python environments"
            }),
            " you need it installed into and why you can't just",
            " ",
            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                href: "https://doc.cocalc.com/howto/install-python-lib.html",
                children: "install it yourself"
            }),
            ".",
            /*#__PURE__*/ jsx_runtime_.jsx("br", {}),
            /*#__PURE__*/ jsx_runtime_.jsx(external_antd_.Input.TextArea, {
                style: {
                    marginTop: "10px"
                },
                rows: 4,
                placeholder: "Describe what software you need installed...",
                onChange: (e)=>update(0, e.target.value ? "\n\nWHAT SOFTWARE DO YOU NEED?\n\n" + e.target.value : "")
            }),
            /*#__PURE__*/ jsx_runtime_.jsx("br", {}),
            /*#__PURE__*/ jsx_runtime_.jsx("br", {}),
            /*#__PURE__*/ jsx_runtime_.jsx("br", {}),
            /*#__PURE__*/ jsx_runtime_.jsx("b", {
                children: "How do you plan to use this software?"
            }),
            " For example, does it need to be installed across ",
            /*#__PURE__*/ jsx_runtime_.jsx(site_name/* default */.Z, {}),
            " for a course you are teaching that starts in 3 weeks?",
            /*#__PURE__*/ jsx_runtime_.jsx("br", {}),
            /*#__PURE__*/ jsx_runtime_.jsx(external_antd_.Input.TextArea, {
                style: {
                    marginTop: "10px"
                },
                rows: 3,
                placeholder: "Explain how you will use the software ...",
                onChange: (e)=>update(1, e.target.value ? "\n\nHOW DO YOU PLAN TO USE THIS SOFTWARE?\n\n" + e.target.value : "")
            }),
            /*#__PURE__*/ jsx_runtime_.jsx("br", {}),
            /*#__PURE__*/ jsx_runtime_.jsx("br", {}),
            /*#__PURE__*/ jsx_runtime_.jsx("br", {}),
            /*#__PURE__*/ jsx_runtime_.jsx("b", {
                children: "How can we test that the software is properly installed?"
            }),
            /*#__PURE__*/ jsx_runtime_.jsx("br", {}),
            /*#__PURE__*/ jsx_runtime_.jsx(external_antd_.Input.TextArea, {
                style: {
                    marginTop: "10px"
                },
                rows: 3,
                placeholder: "Explain how we can test the software...",
                onChange: (e)=>update(2, e.target.value ? "\n\nHOW CAN WE TEST THAT THE SOFTWARE IS PROPERLY INSTALLED?\n\n" + e.target.value : "")
            })
        ]
    });
}
function Instructions() {
    return /*#__PURE__*/ jsx_runtime_.jsx("div", {
        children: /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
            children: [
                "If you still need help, create a support ticket below. Support is currently available in ",
                /*#__PURE__*/ jsx_runtime_.jsx("b", {
                    children: "English and German"
                }),
                " only."
            ]
        })
    });
}
function FAQ() {
    return /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
        children: [
            " ",
            /*#__PURE__*/ jsx_runtime_.jsx("h2", {
                children: "Frequently Asked Questions"
            }),
            /*#__PURE__*/ jsx_runtime_.jsx(external_antd_.Alert, {
                message: "",
                style: {
                    margin: "20px 30px"
                },
                type: "warning",
                description: /*#__PURE__*/ (0,jsx_runtime_.jsxs)("ul", {
                    style: {
                        marginBottom: 0,
                        fontSize: "11pt"
                    },
                    children: [
                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                            children: [
                                " ",
                                /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                    href: "https://doc.cocalc.com/howto/missing-project.html",
                                    children: "My file or project is gone?"
                                }),
                                " "
                            ]
                        }),
                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                            children: [
                                " ",
                                "My Jupyter notebook or SageMath worksheet is",
                                " ",
                                /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                    href: "https://doc.cocalc.com/howto/slow-worksheet.html",
                                    children: "slow"
                                }),
                                " ",
                                "or",
                                " ",
                                /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                    href: "https://doc.cocalc.com/howto/jupyter-kernel-terminated.html",
                                    children: "crashing"
                                }),
                                "?",
                                " "
                            ]
                        }),
                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                            children: [
                                " ",
                                "I have",
                                " ",
                                /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                    href: "https://doc.cocalc.com/howto/sage-question.html",
                                    children: "questions about SageMath."
                                })
                            ]
                        }),
                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                            children: [
                                "I just need to",
                                " ",
                                /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                    href: "https://discord.gg/nEHs2GK",
                                    children: "quickly chat"
                                }),
                                "."
                            ]
                        })
                    ]
                })
            })
        ]
    });
}
function Status({ done  }) {
    return /*#__PURE__*/ jsx_runtime_.jsx(icon.Icon, {
        style: {
            color: done ? "green" : "red",
            fontWeight: "bold",
            fontSize: "12pt"
        },
        name: done ? "check" : "arrow-right"
    });
}

// EXTERNAL MODULE: ./lib/with-customize.ts
var with_customize = __webpack_require__(422638);
;// CONCATENATED MODULE: ./pages/support/new.tsx








function Preferences({ customize  }) {
    return /*#__PURE__*/ (0,jsx_runtime_.jsxs)(lib_customize/* Customize */.l, {
        value: customize,
        children: [
            /*#__PURE__*/ jsx_runtime_.jsx(head/* default */.Z, {
                title: "New Support Ticket"
            }),
            /*#__PURE__*/ (0,jsx_runtime_.jsxs)(external_antd_.Layout, {
                children: [
                    /*#__PURE__*/ jsx_runtime_.jsx(header/* default */.Z, {
                        page: "support",
                        subPage: "new"
                    }),
                    /*#__PURE__*/ jsx_runtime_.jsx(Create, {}),
                    /*#__PURE__*/ jsx_runtime_.jsx(footer/* default */.Z, {})
                ]
            })
        ]
    });
};
async function getServerSideProps(context) {
    return await (0,with_customize/* default */.Z)({
        context
    }, {
        name: true
    });
}


/***/ }),

/***/ 545725:
/***/ ((module) => {

module.exports = require("antd");

/***/ }),

/***/ 986954:
/***/ ((module) => {

module.exports = require("awaiting");

/***/ }),

/***/ 770640:
/***/ ((module) => {

module.exports = require("cookies");

/***/ }),

/***/ 65680:
/***/ ((module) => {

module.exports = require("lru-cache");

/***/ }),

/***/ 492796:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/head-manager-context.js");

/***/ }),

/***/ 294957:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/head.js");

/***/ }),

/***/ 703539:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/i18n/detect-domain-locale.js");

/***/ }),

/***/ 734014:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/i18n/normalize-locale-path.js");

/***/ }),

/***/ 450744:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/image-config-context.js");

/***/ }),

/***/ 435843:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/image-config.js");

/***/ }),

/***/ 278524:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/is-plain-object.js");

/***/ }),

/***/ 878020:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/mitt.js");

/***/ }),

/***/ 664406:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/page-path/denormalize-page-path.js");

/***/ }),

/***/ 424964:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router-context.js");

/***/ }),

/***/ 623938:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/format-url.js");

/***/ }),

/***/ 329565:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/get-asset-path-from-route.js");

/***/ }),

/***/ 264365:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/get-middleware-regex.js");

/***/ }),

/***/ 901428:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/is-dynamic.js");

/***/ }),

/***/ 491292:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/parse-relative-url.js");

/***/ }),

/***/ 980979:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/querystring.js");

/***/ }),

/***/ 836052:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/resolve-rewrites.js");

/***/ }),

/***/ 584226:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/route-matcher.js");

/***/ }),

/***/ 95052:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/route-regex.js");

/***/ }),

/***/ 359232:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/utils.js");

/***/ }),

/***/ 40968:
/***/ ((module) => {

module.exports = require("next/head");

/***/ }),

/***/ 371853:
/***/ ((module) => {

module.exports = require("next/router");

/***/ }),

/***/ 616689:
/***/ ((module) => {

module.exports = require("react");

/***/ }),

/***/ 566405:
/***/ ((module) => {

module.exports = require("react-dom");

/***/ }),

/***/ 920997:
/***/ ((module) => {

module.exports = require("react/jsx-runtime");

/***/ }),

/***/ 439491:
/***/ ((module) => {

module.exports = require("assert");

/***/ }),

/***/ 714300:
/***/ ((module) => {

module.exports = require("buffer");

/***/ }),

/***/ 706113:
/***/ ((module) => {

module.exports = require("crypto");

/***/ }),

/***/ 809523:
/***/ ((module) => {

module.exports = require("dns");

/***/ }),

/***/ 582361:
/***/ ((module) => {

module.exports = require("events");

/***/ }),

/***/ 657147:
/***/ ((module) => {

module.exports = require("fs");

/***/ }),

/***/ 241808:
/***/ ((module) => {

module.exports = require("net");

/***/ }),

/***/ 822037:
/***/ ((module) => {

module.exports = require("os");

/***/ }),

/***/ 371017:
/***/ ((module) => {

module.exports = require("path");

/***/ }),

/***/ 677282:
/***/ ((module) => {

module.exports = require("process");

/***/ }),

/***/ 285477:
/***/ ((module) => {

module.exports = require("punycode");

/***/ }),

/***/ 12781:
/***/ ((module) => {

module.exports = require("stream");

/***/ }),

/***/ 371576:
/***/ ((module) => {

module.exports = require("string_decoder");

/***/ }),

/***/ 924404:
/***/ ((module) => {

module.exports = require("tls");

/***/ }),

/***/ 76224:
/***/ ((module) => {

module.exports = require("tty");

/***/ }),

/***/ 257310:
/***/ ((module) => {

module.exports = require("url");

/***/ }),

/***/ 473837:
/***/ ((module) => {

module.exports = require("util");

/***/ })

};
;

// load runtime
var __webpack_require__ = require("../../webpack-runtime.js");
__webpack_require__.C(exports);
var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
var __webpack_exports__ = __webpack_require__.X(0, [549,6918,3429,9505,1746,1664,7545,3734,2208,5654,9925,9715,2448,1107,7637,9521,5114,8278,722,3624,9924,5379,2058,6773], () => (__webpack_exec__(276617)));
module.exports = __webpack_exports__;

})();