{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports.middleware = middleware;\nexports.NextScript = exports.Main = exports.Head = exports.Html = exports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _server = _interopRequireDefault(require(\"styled-jsx/server\"));\n\nvar _constants = require(\"../next-server/lib/constants\");\n\nvar _documentContext = require(\"../next-server/lib/document-context\");\n\nvar _utils = require(\"../next-server/lib/utils\");\n\nexports.DocumentContext = _utils.DocumentContext;\nexports.DocumentInitialProps = _utils.DocumentInitialProps;\nexports.DocumentProps = _utils.DocumentProps;\n\nvar _fid = _interopRequireDefault(require(\"../next-server/lib/fid\"));\n\nvar _utils2 = require(\"../next-server/server/utils\");\n\nvar _htmlescape = require(\"../server/htmlescape\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _getRequireWildcardCache() {\n if (typeof WeakMap !== \"function\") return null;\n var cache = new WeakMap();\n\n _getRequireWildcardCache = function () {\n return cache;\n };\n\n return cache;\n}\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n\n var cache = _getRequireWildcardCache();\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj.default = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nasync function middleware({\n req,\n res\n}) {}\n\nfunction dedupe(bundles) {\n const files = new Set();\n const kept = [];\n\n for (const bundle of bundles) {\n if (files.has(bundle.file)) continue;\n files.add(bundle.file);\n kept.push(bundle);\n }\n\n return kept;\n}\n\nfunction getOptionalModernScriptVariant(path) {\n if (process.env.__NEXT_MODERN_BUILD) {\n return path.replace(/\\.js$/, '.module.js');\n }\n\n return path;\n}\n/**\n* `Document` component handles the initial `document` markup and renders only on the server side.\n* Commonly used for implementing server side rendering for `css-in-js` libraries.\n*/\n\n\nclass Document extends _react.Component {\n /**\n * `getInitialProps` hook returns the context object with the addition of `renderPage`.\n * `renderPage` callback executes `React` rendering logic synchronously to support server-rendering wrappers\n */\n static async getInitialProps(ctx) {\n const enhancers = process.env.__NEXT_PLUGINS ? await Promise.resolve().then(() => _interopRequireWildcard(require('next-plugin-loader?middleware=unstable-enhance-app-server!'))).then(mod => mod.default(ctx)) : [];\n\n const enhanceApp = App => {\n for (const enhancer of enhancers) {\n App = enhancer(App);\n }\n\n return props => _react.default.createElement(App, props);\n };\n\n const {\n html,\n head\n } = await ctx.renderPage({\n enhanceApp\n });\n const styles = [...(0, _server.default)(), ...(process.env.__NEXT_PLUGINS ? await Promise.resolve().then(() => _interopRequireWildcard(require('next-plugin-loader?middleware=unstable-get-styles-server!'))).then(mod => mod.default(ctx)) : [])];\n return {\n html,\n head,\n styles\n };\n }\n\n static renderDocument(Document, props) {\n return _react.default.createElement(_documentContext.DocumentContext.Provider, {\n value: {\n _documentProps: props,\n // In dev we invalidate the cache by appending a timestamp to the resource URL.\n // This is a workaround to fix https://github.com/zeit/next.js/issues/5860\n // TODO: remove this workaround when https://bugs.webkit.org/show_bug.cgi?id=187726 is fixed.\n _devOnlyInvalidateCacheQueryString: false ? '?ts=' + Date.now() : ''\n }\n }, _react.default.createElement(Document, props));\n }\n\n render() {\n return _react.default.createElement(Html, null, _react.default.createElement(Head, null), _react.default.createElement(\"body\", null, _react.default.createElement(Main, null), _react.default.createElement(NextScript, null)));\n }\n\n}\n\nexports.default = Document;\nDocument.headTagsMiddleware = process.env.__NEXT_PLUGINS ? Promise.resolve().then(() => _interopRequireWildcard(require('next-plugin-loader?middleware=document-head-tags-server!'))) : () => [];\nDocument.bodyTagsMiddleware = process.env.__NEXT_PLUGINS ? Promise.resolve().then(() => _interopRequireWildcard(require('next-plugin-loader?middleware=document-body-tags-server!'))) : () => [];\nDocument.htmlPropsMiddleware = process.env.__NEXT_PLUGINS ? Promise.resolve().then(() => _interopRequireWildcard(require('next-plugin-loader?middleware=document-html-props-server!'))) : () => [];\n\nclass Html extends _react.Component {\n constructor(...args) {\n super(...args);\n this.context = void 0;\n }\n\n render() {\n const {\n inAmpMode,\n htmlProps\n } = this.context._documentProps;\n return _react.default.createElement(\"html\", Object.assign({}, htmlProps, this.props, {\n amp: inAmpMode ? '' : undefined,\n \"data-ampdevmode\": inAmpMode && false ? '' : undefined\n }));\n }\n\n}\n\nexports.Html = Html;\nHtml.contextType = _documentContext.DocumentContext;\nHtml.propTypes = {\n children: _propTypes.default.node.isRequired\n};\n\nclass Head extends _react.Component {\n constructor(...args) {\n super(...args);\n this.context = void 0;\n }\n\n getCssLinks() {\n const {\n assetPrefix,\n files\n } = this.context._documentProps;\n const {\n _devOnlyInvalidateCacheQueryString\n } = this.context;\n const cssFiles = files && files.length ? files.filter(f => /\\.css$/.test(f)) : [];\n const cssLinkElements = [];\n cssFiles.forEach(file => {\n cssLinkElements.push(_react.default.createElement(\"link\", {\n key: `${file}-preload`,\n nonce: this.props.nonce,\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${_devOnlyInvalidateCacheQueryString}`,\n as: \"style\",\n crossOrigin: this.props.crossOrigin || process.crossOrigin\n }), _react.default.createElement(\"link\", {\n key: file,\n nonce: this.props.nonce,\n rel: \"stylesheet\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${_devOnlyInvalidateCacheQueryString}`,\n crossOrigin: this.props.crossOrigin || process.crossOrigin\n }));\n });\n return cssLinkElements.length === 0 ? null : cssLinkElements;\n }\n\n getPreloadDynamicChunks() {\n const {\n dynamicImports,\n assetPrefix\n } = this.context._documentProps;\n const {\n _devOnlyInvalidateCacheQueryString\n } = this.context;\n return dedupe(dynamicImports).map(bundle => {\n // `dynamicImports` will contain both `.js` and `.module.js` when the\n // feature is enabled. This clause will filter down to the modern\n // variants only.\n if (!bundle.file.endsWith(getOptionalModernScriptVariant('.js'))) {\n return null;\n }\n\n return _react.default.createElement(\"link\", {\n rel: \"preload\",\n key: bundle.file,\n href: `${assetPrefix}/_next/${encodeURI(bundle.file)}${_devOnlyInvalidateCacheQueryString}`,\n as: \"script\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || process.crossOrigin\n });\n }) // Filter out nulled scripts\n .filter(Boolean);\n }\n\n getPreloadMainLinks() {\n const {\n assetPrefix,\n files\n } = this.context._documentProps;\n const {\n _devOnlyInvalidateCacheQueryString\n } = this.context;\n const preloadFiles = files && files.length ? files.filter(file => {\n // `dynamicImports` will contain both `.js` and `.module.js` when\n // the feature is enabled. This clause will filter down to the\n // modern variants only.\n return file.endsWith(getOptionalModernScriptVariant('.js'));\n }) : [];\n return preloadFiles.length === 0 ? null : preloadFiles.map(file => {\n return _react.default.createElement(\"link\", {\n key: file,\n nonce: this.props.nonce,\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${_devOnlyInvalidateCacheQueryString}`,\n as: \"script\",\n crossOrigin: this.props.crossOrigin || process.crossOrigin\n });\n });\n }\n\n getFidPolyfill() {\n if (!process.env.__NEXT_FID_POLYFILL) {\n return null;\n }\n\n return _react.default.createElement(\"script\", {\n dangerouslySetInnerHTML: {\n __html: `(${_fid.default})(addEventListener, removeEventListener)`\n }\n });\n }\n\n render() {\n const {\n styles,\n ampPath,\n inAmpMode,\n assetPrefix,\n hybridAmp,\n canonicalBase,\n __NEXT_DATA__,\n dangerousAsPath,\n headTags\n } = this.context._documentProps;\n const {\n _devOnlyInvalidateCacheQueryString\n } = this.context;\n const {\n page,\n buildId\n } = __NEXT_DATA__;\n let {\n head\n } = this.context._documentProps;\n let children = this.props.children; // show a warning if Head contains