UNPKG

@serverless-stack/nextjs-lambda

Version:

Provides handlers that can be used in CloudFront Lambda@Edge to deploy next.js applications to the edge

1 lines 149 kB
"use strict";var manifest=require("./manifest.json"),RoutesManifestJson=require("./routes-manifest.json"),http=require("http"),Stream=require("stream"),zlib=require("zlib"),Url=require("url"),require$$1=require("path"),fs=require("fs"),crypto=require("crypto"),require$$0$1=require("events"),util=require("util"),tty=require("tty"),require$$2=require("net"),https=require("https");function _interopDefaultLegacy(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var manifest__default=_interopDefaultLegacy(manifest),RoutesManifestJson__default=_interopDefaultLegacy(RoutesManifestJson),http__default=_interopDefaultLegacy(http),Stream__default=_interopDefaultLegacy(Stream),zlib__default=_interopDefaultLegacy(zlib),Url__default=_interopDefaultLegacy(Url),require$$1__default=_interopDefaultLegacy(require$$1),fs__default=_interopDefaultLegacy(fs),fs__namespace=_interopNamespace(fs),crypto__default=_interopDefaultLegacy(crypto),require$$0__default=_interopDefaultLegacy(require$$0$1),util__default=_interopDefaultLegacy(util),tty__default=_interopDefaultLegacy(tty),require$$2__default=_interopDefaultLegacy(require$$2),https__default=_interopDefaultLegacy(https);function lexer(e){for(var t=[],n=0;n<e.length;){var r=e[n];if("*"!==r&&"+"!==r&&"?"!==r)if("\\"!==r)if("{"!==r)if("}"!==r)if(":"!==r)if("("!==r)t.push({type:"CHAR",index:n,value:e[n++]});else{var a=1,o="";if("?"===e[s=n+1])throw new TypeError('Pattern cannot start with "?" at '+s);for(;s<e.length;)if("\\"!==e[s]){if(")"===e[s]){if(0===--a){s++;break}}else if("("===e[s]&&(a++,"?"!==e[s+1]))throw new TypeError("Capturing groups are not allowed at "+s);o+=e[s++]}else o+=e[s++]+e[s++];if(a)throw new TypeError("Unbalanced pattern at "+n);if(!o)throw new TypeError("Missing pattern at "+n);t.push({type:"PATTERN",index:n,value:o}),n=s}else{for(var i="",s=n+1;s<e.length;){var c=e.charCodeAt(s);if(!(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122||95===c))break;i+=e[s++]}if(!i)throw new TypeError("Missing parameter name at "+n);t.push({type:"NAME",index:n,value:i}),n=s}else t.push({type:"CLOSE",index:n,value:e[n++]});else t.push({type:"OPEN",index:n,value:e[n++]});else t.push({type:"ESCAPED_CHAR",index:n++,value:e[n++]});else t.push({type:"MODIFIER",index:n,value:e[n++]})}return t.push({type:"END",index:n,value:""}),t}function parse$2(e,t){void 0===t&&(t={});for(var n=lexer(e),r=t.prefixes,a=void 0===r?"./":r,o="[^"+escapeString(t.delimiter||"/#?")+"]+?",i=[],s=0,c=0,p="",l=function(e){if(c<n.length&&n[c].type===e)return n[c++].value},u=function(e){var t=l(e);if(void 0!==t)return t;var r=n[c],a=r.type,o=r.index;throw new TypeError("Unexpected "+a+" at "+o+", expected "+e)},d=function(){for(var e,t="";e=l("CHAR")||l("ESCAPED_CHAR");)t+=e;return t};c<n.length;){var f=l("CHAR"),m=l("NAME"),h=l("PATTERN");if(m||h){var g=f||"";-1===a.indexOf(g)&&(p+=g,g=""),p&&(i.push(p),p=""),i.push({name:m||s++,prefix:g,suffix:"",pattern:h||o,modifier:l("MODIFIER")||""})}else{var v=f||l("ESCAPED_CHAR");if(v)p+=v;else if(p&&(i.push(p),p=""),l("OPEN")){g=d();var y=l("NAME")||"",b=l("PATTERN")||"",x=d();u("CLOSE"),i.push({name:y||(b?s++:""),pattern:y&&!b?o:b,prefix:g,suffix:x,modifier:l("MODIFIER")||""})}else u("END")}}return i}function match(e,t){var n=[];return regexpToFunction(pathToRegexp(e,n,t),n,t)}function regexpToFunction(e,t,n){void 0===n&&(n={});var r=n.decode,a=void 0===r?function(e){return e}:r;return function(n){var r=e.exec(n);if(!r)return!1;for(var o=r[0],i=r.index,s=Object.create(null),c=function(e){if(void 0===r[e])return"continue";var n=t[e-1];"*"===n.modifier||"+"===n.modifier?s[n.name]=r[e].split(n.prefix+n.suffix).map((function(e){return a(e,n)})):s[n.name]=a(r[e],n)},p=1;p<r.length;p++)c(p);return{path:o,index:i,params:s}}}function escapeString(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function flags(e){return e&&e.sensitive?"":"i"}function regexpToRegexp(e,t){if(!t)return e;for(var n=/\((?:\?<(.*?)>)?(?!\?)/g,r=0,a=n.exec(e.source);a;)t.push({name:a[1]||r++,prefix:"",suffix:"",modifier:"",pattern:""}),a=n.exec(e.source);return e}function arrayToRegexp(e,t,n){var r=e.map((function(e){return pathToRegexp(e,t,n).source}));return new RegExp("(?:"+r.join("|")+")",flags(n))}function stringToRegexp(e,t,n){return tokensToRegexp(parse$2(e,n),t,n)}function tokensToRegexp(e,t,n){void 0===n&&(n={});for(var r=n.strict,a=void 0!==r&&r,o=n.start,i=void 0===o||o,s=n.end,c=void 0===s||s,p=n.encode,l=void 0===p?function(e){return e}:p,u="["+escapeString(n.endsWith||"")+"]|$",d="["+escapeString(n.delimiter||"/#?")+"]",f=i?"^":"",m=0,h=e;m<h.length;m++){var g=h[m];if("string"==typeof g)f+=escapeString(l(g));else{var v=escapeString(l(g.prefix)),y=escapeString(l(g.suffix));if(g.pattern)if(t&&t.push(g),v||y)if("+"===g.modifier||"*"===g.modifier){var b="*"===g.modifier?"?":"";f+="(?:"+v+"((?:"+g.pattern+")(?:"+y+v+"(?:"+g.pattern+"))*)"+y+")"+b}else f+="(?:"+v+"("+g.pattern+")"+y+")"+g.modifier;else f+="("+g.pattern+")"+g.modifier;else f+="(?:"+v+y+")"+g.modifier}}if(c)a||(f+=d+"?"),f+=n.endsWith?"(?="+u+")":"$";else{var x=e[e.length-1],w="string"==typeof x?d.indexOf(x[x.length-1])>-1:void 0===x;a||(f+="(?:"+d+"(?="+u+"))?"),w||(f+="(?="+d+"|"+u+")")}return new RegExp(f,flags(n))}function pathToRegexp(e,t,n){return e instanceof RegExp?regexpToRegexp(e,t):Array.isArray(e)?arrayToRegexp(e,t,n):stringToRegexp(e,t,n)}function addDefaultLocaleToPath(e,t,n=null){if(t.i18n){const r=null!=n?n:t.i18n.defaultLocale,a=t.i18n.locales,o=e.startsWith(t.basePath)?t.basePath:"",i=e.toLowerCase();for(const t of a)if(i===`${o}/${t}`.toLowerCase()||i.startsWith(`${o}/${t}/`.toLowerCase()))return e.replace(new RegExp(`${o}/${t}`,"i"),`${o}/${null!=n?n:t}`);return"/"===e||e===`${o}`?`${o}/${r}`:e.replace(`${o}/`,`${o}/${r}/`)}return e}function matchPath(e,t){return match(t,{decode:decodeURIComponent})(e)}const getCustomHeaders=(e,t)=>{const n=addDefaultLocaleToPath(e,t),r={};for(const e of t.headers)if(matchPath(n,e.source))for(const{key:t,value:n}of e.headers)t&&(r[t.toLowerCase()]=[{key:t,value:n}]);return r},setCustomHeaders=(e,t)=>{var n;const[r]=(null!==(n=e.req.url)&&void 0!==n?n:"").split("?"),a=getCustomHeaders(r,t);for(const[{key:t,value:n}]of Object.values(a))t&&e.res.setHeader(t,n)};function getUnauthenticatedResponse(e,t){var n;if(t&&t.username&&t.password){const r="Basic "+Buffer.from(t.username+":"+t.password).toString("base64");if(!e||(null===(n=e[0])||void 0===n?void 0:n.value)!==r)return{isUnauthorized:!0,status:401,statusDescription:"Unauthorized",body:"Unauthorized",headers:{"www-authenticate":[{key:"WWW-Authenticate",value:"Basic"}]}}}}function createRedirectResponse(e,t,n){let r;if(t){const[n,a]=e.split("?");r=`${n}?${t}${a?`&${a}`:""}`}else r=e;const a=n;return{isRedirect:!0,status:a,statusDescription:http.STATUS_CODES[a]||"",headers:{location:[{key:"Location",value:r}],refresh:308===n?[{key:"Refresh",value:`0;url=${r}`}]:[],"cache-control":[{key:"Cache-Control",value:"s-maxage=0"}]}}}function getDomainRedirectPath(e,t){const n=e.headers.host;if(n&&n.length>0){const r=n[0].value,a=t.domainRedirects;if(a&&a[r])return`${a[r]}${e.uri}`}}const handleAuth=(e,t)=>{const{headers:n}=e;return getUnauthenticatedResponse(n.authorization,t.authentication)},handleDomainRedirects=(e,t)=>{const n=getDomainRedirectPath(e,t);if(n)return createRedirectResponse(n,e.querystring,308)};var esm=(()=>{var e={343:(e,t,n)=>{n.r(t),n.d(t,{Observable:()=>b,combineLatest:()=>w,default:()=>_,merge:()=>x,zip:()=>E});const r=()=>"function"==typeof Symbol,a=e=>r()&&Boolean(Symbol[e]),o=e=>a(e)?Symbol[e]:"@@"+e;r()&&!a("observable")&&(Symbol.observable=Symbol("observable"));const i=o("iterator"),s=o("observable"),c=o("species");function p(e,t){let n=e[t];if(null!=n){if("function"!=typeof n)throw new TypeError(n+" is not a function");return n}}function l(e){let t=e.constructor;return void 0!==t&&(t=t[c],null===t&&(t=void 0)),void 0!==t?t:b}function u(e){u.log?u.log(e):setTimeout((()=>{throw e}))}function d(e){Promise.resolve().then((()=>{try{e()}catch(e){u(e)}}))}function f(e){let t=e._cleanup;if(void 0!==t&&(e._cleanup=void 0,t))try{if("function"==typeof t)t();else{let e=p(t,"unsubscribe");e&&e.call(t)}}catch(e){u(e)}}function m(e){e._observer=void 0,e._queue=void 0,e._state="closed"}function h(e,t,n){e._state="running";let r=e._observer;try{let a=p(r,t);switch(t){case"next":a&&a.call(r,n);break;case"error":if(m(e),!a)throw n;a.call(r,n);break;case"complete":m(e),a&&a.call(r)}}catch(e){u(e)}"closed"===e._state?f(e):"running"===e._state&&(e._state="ready")}function g(e,t,n){if("closed"!==e._state){if("buffering"!==e._state)return"ready"!==e._state?(e._state="buffering",e._queue=[{type:t,value:n}],void d((()=>function(e){let t=e._queue;if(t){e._queue=void 0,e._state="ready";for(let n=0;n<t.length&&(h(e,t[n].type,t[n].value),"closed"!==e._state);++n);}}(e)))):void h(e,t,n);e._queue.push({type:t,value:n})}}class v{constructor(e,t){this._cleanup=void 0,this._observer=e,this._queue=void 0,this._state="initializing";let n=new y(this);try{this._cleanup=t.call(void 0,n)}catch(e){n.error(e)}"initializing"===this._state&&(this._state="ready")}get closed(){return"closed"===this._state}unsubscribe(){"closed"!==this._state&&(m(this),f(this))}}class y{constructor(e){this._subscription=e}get closed(){return"closed"===this._subscription._state}next(e){g(this._subscription,"next",e)}error(e){g(this._subscription,"error",e)}complete(){g(this._subscription,"complete")}}class b{constructor(e){if(!(this instanceof b))throw new TypeError("Observable cannot be called as a function");if("function"!=typeof e)throw new TypeError("Observable initializer must be a function");this._subscriber=e}subscribe(e){return"object"==typeof e&&null!==e||(e={next:e,error:arguments[1],complete:arguments[2]}),new v(e,this._subscriber)}forEach(e){return new Promise(((t,n)=>{if("function"!=typeof e)return void n(new TypeError(e+" is not a function"));function r(){a.unsubscribe(),t()}let a=this.subscribe({next(t){try{e(t,r)}catch(e){n(e),a.unsubscribe()}},error:n,complete:t})}))}map(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");return new(l(this))((t=>this.subscribe({next(n){try{n=e(n)}catch(e){return t.error(e)}t.next(n)},error(e){t.error(e)},complete(){t.complete()}})))}filter(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");return new(l(this))((t=>this.subscribe({next(n){try{if(!e(n))return}catch(e){return t.error(e)}t.next(n)},error(e){t.error(e)},complete(){t.complete()}})))}reduce(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");let t=l(this),n=arguments.length>1,r=!1,a=arguments[1];return new t((t=>this.subscribe({next(o){let i=!r;if(r=!0,!i||n)try{a=e(a,o)}catch(e){return t.error(e)}else a=o},error(e){t.error(e)},complete(){if(!r&&!n)return t.error(new TypeError("Cannot reduce an empty sequence"));t.next(a),t.complete()}})))}concat(...e){let t=l(this);return new t((n=>{let r,a=0;return function o(i){r=i.subscribe({next(e){n.next(e)},error(e){n.error(e)},complete(){a===e.length?(r=void 0,n.complete()):o(t.from(e[a++]))}})}(this),()=>{r&&(r.unsubscribe(),r=void 0)}}))}flatMap(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");let t=l(this);return new t((n=>{let r=[],a=this.subscribe({next(a){if(e)try{a=e(a)}catch(e){return n.error(e)}let i=t.from(a).subscribe({next(e){n.next(e)},error(e){n.error(e)},complete(){let e=r.indexOf(i);e>=0&&r.splice(e,1),o()}});r.push(i)},error(e){n.error(e)},complete(){o()}});function o(){a.closed&&0===r.length&&n.complete()}return()=>{r.forEach((e=>e.unsubscribe())),a.unsubscribe()}}))}[s](){return this}static from(e){let t="function"==typeof this?this:b;if(null==e)throw new TypeError(e+" is not an object");let n=p(e,s);if(n){let r=n.call(e);if(Object(r)!==r)throw new TypeError(r+" is not an object");return function(e){return e instanceof b}(r)&&r.constructor===t?r:new t((e=>r.subscribe(e)))}if(a("iterator")&&(n=p(e,i),n))return new t((t=>{d((()=>{if(!t.closed){for(let r of n.call(e))if(t.next(r),t.closed)return;t.complete()}}))}));if(Array.isArray(e))return new t((t=>{d((()=>{if(!t.closed){for(let n=0;n<e.length;++n)if(t.next(e[n]),t.closed)return;t.complete()}}))}));throw new TypeError(e+" is not observable")}static of(...e){return new("function"==typeof this?this:b)((t=>{d((()=>{if(!t.closed){for(let n=0;n<e.length;++n)if(t.next(e[n]),t.closed)return;t.complete()}}))}))}static get[c](){return this}}function x(...e){return new b((t=>{if(0===e.length)return b.from([]);let n=e.length,r=e.map((e=>b.from(e).subscribe({next(e){t.next(e)},error(e){t.error(e)},complete(){0==--n&&t.complete()}})));return()=>r.forEach((e=>e.unsubscribe()))}))}function w(...e){return new b((t=>{if(0===e.length)return b.from([]);let n=e.length,r=new Set,a=!1,o=e.map((()=>{})),i=e.map(((i,s)=>b.from(i).subscribe({next(n){if(o[s]=n,!a){if(r.add(s),r.size!==e.length)return;r=null,a=!0}t.next(Array.from(o))},error(e){t.error(e)},complete(){0==--n&&t.complete()}})));return()=>i.forEach((e=>e.unsubscribe()))}))}function E(...e){return new b((t=>{if(0===e.length)return b.from([]);let n=e.map((()=>[]));function r(){return n.some(((e,t)=>0===e.length&&a[t].closed))}let a=e.map(((e,a)=>b.from(e).subscribe({next(e){n[a].push(e),n.every((e=>e.length>0))&&(t.next(n.map((e=>e.shift()))),r()&&t.complete())},error(e){t.error(e)},complete(){r()&&t.complete()}})));return()=>a.forEach((e=>e.unsubscribe()))}))}r()&&Object.defineProperty(b,Symbol("extensions"),{value:{symbol:s,hostReportError:u},configurable:!0});const _=b}},t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={exports:{}},o=!0;try{e[r](a,a.exports,n),o=!1}finally{o&&delete t[r]}return a.exports}return n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.ab=__dirname+"/",n(343)})(),commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function getAugmentedNamespace(e){if(e.__esModule)return e;var t=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(e).forEach((function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})})),t}function createCommonjsModule(e){var t={exports:{}};return e(t,t.exports),t.exports}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}createCommonjsModule((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.SERVER_DIRECTORY=t.PAGES_MANIFEST=t.SERVER_PROPS_ID=t.CLIENT_STATIC_FILES_RUNTIME_WEBPACK=t.PERMANENT_REDIRECT_STATUS=t.SERVER_FILES_MANIFEST=t.STATIC_PROPS_ID=t.BUILD_MANIFEST=t.BLOCKED_PAGES=t.STATIC_STATUS_PAGES=t.PRERENDER_MANIFEST=t.DEV_CLIENT_PAGES_MANIFEST=t.OPTIMIZED_FONT_PROVIDERS=t.TEMPORARY_REDIRECT_STATUS=t.SERVERLESS_DIRECTORY=t.EXPORT_MARKER=t.GOOGLE_FONT_PROVIDER=t.PHASE_PRODUCTION_BUILD=t.CLIENT_STATIC_FILES_RUNTIME_MAIN=t.BUILD_ID_FILE=t.CONFIG_FILE=t.CLIENT_STATIC_FILES_RUNTIME=t.PHASE_PRODUCTION_SERVER=t.EXPORT_DETAIL=t.IMAGES_MANIFEST=t.CLIENT_STATIC_FILES_RUNTIME_AMP=t.CLIENT_PUBLIC_FILES_PATH=t.CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL=t.STRING_LITERAL_DROP_BUNDLE=t.TRACE_OUTPUT_VERSION=t.CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH=t.FONT_MANIFEST=t.REACT_LOADABLE_MANIFEST=t.ROUTES_MANIFEST=t.CLIENT_STATIC_FILES_PATH=t.BODY_RENDER_TARGET=t.PHASE_EXPORT=t.PHASE_DEVELOPMENT_SERVER=void 0;t.PHASE_EXPORT="phase-export";t.PHASE_PRODUCTION_BUILD="phase-production-build";t.PHASE_PRODUCTION_SERVER="phase-production-server";t.PHASE_DEVELOPMENT_SERVER="phase-development-server";t.PAGES_MANIFEST="pages-manifest.json";t.BUILD_MANIFEST="build-manifest.json";t.EXPORT_MARKER="export-marker.json";t.EXPORT_DETAIL="export-detail.json";t.PRERENDER_MANIFEST="prerender-manifest.json";t.ROUTES_MANIFEST="routes-manifest.json";t.IMAGES_MANIFEST="images-manifest.json";t.SERVER_FILES_MANIFEST="required-server-files.json";t.DEV_CLIENT_PAGES_MANIFEST="_devPagesManifest.json";t.REACT_LOADABLE_MANIFEST="react-loadable-manifest.json";t.FONT_MANIFEST="font-manifest.json";t.SERVER_DIRECTORY="server";t.SERVERLESS_DIRECTORY="serverless";t.CONFIG_FILE="next.config.js";t.BUILD_ID_FILE="BUILD_ID";t.BLOCKED_PAGES=["/_document","/_app","/_error"];t.CLIENT_PUBLIC_FILES_PATH="public";t.CLIENT_STATIC_FILES_PATH="static";t.CLIENT_STATIC_FILES_RUNTIME="runtime";t.BODY_RENDER_TARGET="__NEXT_BODY_RENDER_TARGET__";t.STRING_LITERAL_DROP_BUNDLE="__NEXT_DROP_CLIENT_FILE__";t.CLIENT_STATIC_FILES_RUNTIME_MAIN="main";t.CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH="react-refresh";t.CLIENT_STATIC_FILES_RUNTIME_AMP="amp";t.CLIENT_STATIC_FILES_RUNTIME_WEBPACK="webpack";const n=Symbol("polyfills");t.CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL=n;t.TEMPORARY_REDIRECT_STATUS=307;t.PERMANENT_REDIRECT_STATUS=308;t.STATIC_PROPS_ID="__N_SSG";t.SERVER_PROPS_ID="__N_SSP";const r="https://fonts.googleapis.com/css";t.GOOGLE_FONT_PROVIDER=r;const a=[{url:r,preconnect:"https://fonts.gstatic.com"},{url:"https://use.typekit.net",preconnect:"https://use.typekit.net"}];t.OPTIMIZED_FONT_PROVIDERS=a;t.STATIC_STATUS_PAGES=["/500"];t.TRACE_OUTPUT_VERSION=1})),_interopRequireDefault(esm);const specialNodeHeaders=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"],readOnlyCloudFrontHeaders={"accept-encoding":!0,"content-length":!0,"if-modified-since":!0,"if-none-match":!0,"if-range":!0,"if-unmodified-since":!0,"transfer-encoding":!0,via:!0},HttpStatusCodes={202:"Accepted",502:"Bad Gateway",400:"Bad Request",409:"Conflict",100:"Continue",201:"Created",417:"Expectation Failed",424:"Failed Dependency",403:"Forbidden",504:"Gateway Timeout",410:"Gone",505:"HTTP Version Not Supported",418:"I'm a teapot",419:"Insufficient Space on Resource",507:"Insufficient Storage",500:"Server Error",411:"Length Required",423:"Locked",420:"Method Failure",405:"Method Not Allowed",301:"Moved Permanently",302:"Moved Temporarily",207:"Multi-Status",300:"Multiple Choices",511:"Network Authentication Required",204:"No Content",203:"Non Authoritative Information",406:"Not Acceptable",404:"Not Found",501:"Not Implemented",304:"Not Modified",200:"OK",206:"Partial Content",402:"Payment Required",308:"Permanent Redirect",412:"Precondition Failed",428:"Precondition Required",102:"Processing",407:"Proxy Authentication Required",431:"Request Header Fields Too Large",408:"Request Timeout",413:"Request Entity Too Large",414:"Request-URI Too Long",416:"Requested Range Not Satisfiable",205:"Reset Content",303:"See Other",503:"Service Unavailable",101:"Switching Protocols",307:"Temporary Redirect",429:"Too Many Requests",401:"Unauthorized",422:"Unprocessable Entity",415:"Unsupported Media Type",305:"Use Proxy"},toCloudFrontHeaders=(e,t,n)=>{const r={};return Object.entries(n).forEach((([e,t])=>{r[e.toLowerCase()]=t})),Object.entries(e).forEach((([e,n])=>{const a=e.toLowerCase();e=t[a]||e,readOnlyCloudFrontHeaders[a]||(r[a]=[],n instanceof Array?n.forEach((t=>{r[a].push({key:e,value:t.toString()})})):r[a].push({key:e,value:n.toString()}))})),r},isGzipSupported=e=>{let t=!1;const n=e["accept-encoding"];if(n)for(let e=0;e<n.length;e++){const{value:r}=n[e];-1!==r.split(",").map((e=>e.split(";")[0].trim())).indexOf("gzip")&&(t=!0)}return t},defaultOptions={enableHTTPCompression:!1},handler$1=(e,{enableHTTPCompression:t,rewrittenUri:n}=defaultOptions)=>{const{request:r,response:a={headers:{}}}=e,o={headers:{}},i=new Stream__default.default.Readable,s=Object.assign(i,http__default.default.IncomingMessage.prototype);s.url=n||r.uri,s.method=r.method,s.rawHeaders=[],s.headers={},s.connection={},r.querystring&&(s.url=s.url+"?"+r.querystring);const c=r.headers||{};for(const e of Object.keys(c)){const t=c[e];t.forEach((e=>{s.rawHeaders.push(e.key),s.rawHeaders.push(e.value)})),s.headers[e]=t[0].value}s.getHeader=e=>s.headers[e.toLowerCase()],s.getHeaders=()=>s.headers,r.body&&r.body.data&&s.push(r.body.data,r.body.encoding?"base64":void 0),s.push(null);const p=new Stream__default.default;p.finished=!1,Object.defineProperty(p,"statusCode",{get:()=>o.status,set(e){o.status=e,o.statusDescription=HttpStatusCodes[e]}}),p.headers={};const l={};p.writeHead=(e,t)=>(o.status=e,o.statusDescription=HttpStatusCodes[e],t&&(p.headers=Object.assign(p.headers,t)),p),p.write=e=>{o.body||(o.body=Buffer.from("")),o.body=Buffer.concat([o.body,Buffer.isBuffer(e)?e:Buffer.from(e)])};let u=t&&isGzipSupported(c);const d=new Promise((e=>{p.end=t=>{!0!==p.finished&&(p.finished=!0,t&&p.write(t),p.statusCode||(p.statusCode=200),o.body&&(o.bodyEncoding="base64",o.body=u?zlib__default.default.gzipSync(o.body).toString("base64"):Buffer.from(o.body).toString("base64")),o.headers=toCloudFrontHeaders(p.headers,l,a.headers),u&&(o.headers["content-encoding"]=[{key:"Content-Encoding",value:"gzip"}]),e(o))}}));return p.setHeader=(e,t)=>{p.headers[e.toLowerCase()]=t,l[e.toLowerCase()]=e},p.removeHeader=e=>{delete p.headers[e.toLowerCase()]},p.getHeader=e=>p.headers[e.toLowerCase()],p.getHeaders=()=>p.headers,p.hasHeader=e=>!!p.getHeader(e),{req:s,res:p,responsePromise:d}};handler$1.SPECIAL_NODE_HEADERS=specialNodeHeaders;var nextAwsCloudfront=handler$1,stringify$1=function(...e){try{return JSON.stringify.apply(null,e)}catch(e){return"[Cannot display object: "+e.message+"]"}},error=createCommonjsModule((function(e,t){e.exports=class extends Error{constructor(e){super(e.filter((e=>""!==e)).map((e=>"string"==typeof e?e:e instanceof Error?e.message:stringify$1(e))).join(" ")||"Unknown error"),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,t.assert)}}})),assert$1=function(e,...t){if(!e){if(1===t.length&&t[0]instanceof Error)throw t[0];throw new error(t)}};const internals$9={};var reach$1=function(e,t,n){if(!1===t||null==t)return e;"string"==typeof(n=n||{})&&(n={separator:n});const r=Array.isArray(t);assert$1(!r||!n.separator,"Separator option no valid for array-based chain");const a=r?t:t.split(n.separator||".");let o=e;for(let e=0;e<a.length;++e){let r=a[e];const i=n.iterables&&internals$9.iterables(o);if(Array.isArray(o)||"set"===i){const e=Number(r);Number.isInteger(e)&&(r=e<0?o.length+e:e)}if(!o||"function"==typeof o&&!1===n.functions||!i&&void 0===o[r]){assert$1(!n.strict||e+1===a.length,"Missing segment",r,"in reach path ",t),assert$1("object"==typeof o||!0===n.functions||"function"!=typeof o,"Invalid segment",r,"in reach path ",t),o=n.default;break}o=i?"set"===i?[...o][r]:o.get(r):o[r]}return o};internals$9.iterables=function(e){return e instanceof Set?"set":e instanceof Map?"map":void 0};var types=createCommonjsModule((function(e,t){const n={};t=e.exports={array:Array.prototype,buffer:Buffer&&Buffer.prototype,date:Date.prototype,error:Error.prototype,generic:Object.prototype,map:Map.prototype,promise:Promise.prototype,regex:RegExp.prototype,set:Set.prototype,weakMap:WeakMap.prototype,weakSet:WeakSet.prototype},n.typeMap=new Map([["[object Error]",t.error],["[object Map]",t.map],["[object Promise]",t.promise],["[object Set]",t.set],["[object WeakMap]",t.weakMap],["[object WeakSet]",t.weakSet]]),t.getInternalProto=function(e){if(Array.isArray(e))return t.array;if(Buffer&&e instanceof Buffer)return t.buffer;if(e instanceof Date)return t.date;if(e instanceof RegExp)return t.regex;if(e instanceof Error)return t.error;const r=Object.prototype.toString.call(e);return n.typeMap.get(r)||t.generic}})),keys=function(e,t={}){return!1!==t.symbols?Reflect.ownKeys(e):Object.getOwnPropertyNames(e)},utils={keys:keys};const internals$8={needsProtoHack:new Set([types.set,types.map,types.weakSet,types.weakMap])};var clone$2=internals$8.clone=function(e,t={},n=null){if("object"!=typeof e||null===e)return e;let r=internals$8.clone,a=n;if(t.shallow){if(!0!==t.shallow)return internals$8.cloneWithShallow(e,t);r=e=>e}else if(a){const t=a.get(e);if(t)return t}else a=new Map;const o=types.getInternalProto(e);if(o===types.buffer)return Buffer&&Buffer.from(e);if(o===types.date)return new Date(e.getTime());if(o===types.regex)return new RegExp(e);const i=internals$8.base(e,o,t);if(i===e)return e;if(a&&a.set(e,i),o===types.set)for(const n of e)i.add(r(n,t,a));else if(o===types.map)for(const[n,o]of e)i.set(n,r(o,t,a));const s=utils.keys(e,t);for(const n of s){if("__proto__"===n)continue;if(o===types.array&&"length"===n){i.length=e.length;continue}const s=Object.getOwnPropertyDescriptor(e,n);s?s.get||s.set?Object.defineProperty(i,n,s):s.enumerable?i[n]=r(e[n],t,a):Object.defineProperty(i,n,{enumerable:!1,writable:!0,configurable:!0,value:r(e[n],t,a)}):Object.defineProperty(i,n,{enumerable:!0,writable:!0,configurable:!0,value:r(e[n],t,a)})}return i};internals$8.cloneWithShallow=function(e,t){const n=t.shallow;(t=Object.assign({},t)).shallow=!1;const r=new Map;for(const t of n){const n=reach$1(e,t);"object"!=typeof n&&"function"!=typeof n||r.set(n,n)}return internals$8.clone(e,t,r)},internals$8.base=function(e,t,n){if(!1===n.prototype)return internals$8.needsProtoHack.has(t)?new t.constructor:t===types.array?[]:{};const r=Object.getPrototypeOf(e);if(r&&r.isImmutable)return e;if(t===types.array){const e=[];return r!==t&&Object.setPrototypeOf(e,r),e}if(internals$8.needsProtoHack.has(t)){const e=new r.constructor;return r!==t&&Object.setPrototypeOf(e,r),e}return Object.create(r)};const internals$7={};var merge$1=internals$7.merge=function(e,t,n){if(assert$1(e&&"object"==typeof e,"Invalid target value: must be an object"),assert$1(null==t||"object"==typeof t,"Invalid source value: must be null, undefined, or an object"),!t)return e;if(n=Object.assign({nullOverride:!0,mergeArrays:!0},n),Array.isArray(t)){assert$1(Array.isArray(e),"Cannot merge array onto an object"),n.mergeArrays||(e.length=0);for(let r=0;r<t.length;++r)e.push(clone$2(t[r],{symbols:n.symbols}));return e}const r=utils.keys(t,n);for(let a=0;a<r.length;++a){const o=r[a];if("__proto__"===o||!Object.prototype.propertyIsEnumerable.call(t,o))continue;const i=t[o];if(i&&"object"==typeof i){if(e[o]===i)continue;!e[o]||"object"!=typeof e[o]||Array.isArray(e[o])!==Array.isArray(i)||i instanceof Date||Buffer&&Buffer.isBuffer(i)||i instanceof RegExp?e[o]=clone$2(i,{symbols:n.symbols}):internals$7.merge(e[o],i,n)}else(null!=i||n.nullOverride)&&(e[o]=i)}return e};const internals$6={};var applyToDefaults$1=function(e,t,n={}){if(assert$1(e&&"object"==typeof e,"Invalid defaults value: must be an object"),assert$1(!t||!0===t||"object"==typeof t,"Invalid source value: must be true, falsy or an object"),assert$1("object"==typeof n,"Invalid options: must be an object"),!t)return null;if(n.shallow)return internals$6.applyToDefaultsWithShallow(e,t,n);const r=clone$2(e);if(!0===t)return r;const a=void 0!==n.nullOverride&&n.nullOverride;return merge$1(r,t,{nullOverride:a,mergeArrays:!1})};internals$6.applyToDefaultsWithShallow=function(e,t,n){const r=n.shallow;assert$1(Array.isArray(r),"Invalid keys");const a=new Map,o=!0===t?null:new Set;for(let n of r){n=Array.isArray(n)?n:n.split(".");const r=reach$1(e,n);r&&"object"==typeof r?a.set(r,o&&reach$1(t,n)||r):o&&o.add(n)}const i=clone$2(e,{},a);if(!o)return i;for(const e of o)internals$6.reachCopy(i,t,e);const s=void 0!==n.nullOverride&&n.nullOverride;return merge$1(i,t,{nullOverride:s,mergeArrays:!1})},internals$6.reachCopy=function(e,t,n){for(const e of n){if(!(e in t))return;const n=t[e];if("object"!=typeof n||null===n)return;t=n}const r=t;let a=e;for(let e=0;e<n.length-1;++e){const t=n[e];"object"!=typeof a[t]&&(a[t]={}),a=a[t]}a[n[n.length-1]]=r};const internals$5={};var bench=internals$5.Bench=class{constructor(){this.ts=0,this.reset()}reset(){this.ts=internals$5.Bench.now()}elapsed(){return internals$5.Bench.now()-this.ts}static now(){const e=process.hrtime();return 1e3*e[0]+e[1]/1e6}},ignore$1=function(){},block$1=function(){return new Promise(ignore$1)};const internals$4={mismatched:null};var deepEqual$1=function(e,t,n){return n=Object.assign({prototype:!0},n),!!internals$4.isDeepEqual(e,t,n,[])};internals$4.isDeepEqual=function(e,t,n,r){if(e===t)return 0!==e||1/e==1/t;const a=typeof e;if(a!==typeof t)return!1;if(null===e||null===t)return!1;if("function"===a){if(!n.deepFunction||e.toString()!==t.toString())return!1}else if("object"!==a)return e!=e&&t!=t;const o=internals$4.getSharedType(e,t,!!n.prototype);switch(o){case types.buffer:return Buffer&&Buffer.prototype.equals.call(e,t);case types.promise:return e===t;case types.regex:return e.toString()===t.toString();case internals$4.mismatched:return!1}for(let n=r.length-1;n>=0;--n)if(r[n].isSame(e,t))return!0;r.push(new internals$4.SeenEntry(e,t));try{return!!internals$4.isDeepEqualObj(o,e,t,n,r)}finally{r.pop()}},internals$4.getSharedType=function(e,t,n){if(n)return Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?internals$4.mismatched:types.getInternalProto(e);const r=types.getInternalProto(e);return r!==types.getInternalProto(t)?internals$4.mismatched:r},internals$4.valueOf=function(e){const t=e.valueOf;if(void 0===t)return e;try{return t.call(e)}catch(e){return e}},internals$4.hasOwnEnumerableProperty=function(e,t){return Object.prototype.propertyIsEnumerable.call(e,t)},internals$4.isSetSimpleEqual=function(e,t){for(const n of Set.prototype.values.call(e))if(!Set.prototype.has.call(t,n))return!1;return!0},internals$4.isDeepEqualObj=function(e,t,n,r,a){const{isDeepEqual:o,valueOf:i,hasOwnEnumerableProperty:s}=internals$4,{keys:c,getOwnPropertySymbols:p}=Object;if(e===types.array){if(!r.part){if(t.length!==n.length)return!1;for(let e=0;e<t.length;++e)if(!o(t[e],n[e],r,a))return!1;return!0}for(const e of t)for(const t of n)if(o(e,t,r,a))return!0}else if(e===types.set){if(t.size!==n.size)return!1;if(!internals$4.isSetSimpleEqual(t,n)){const e=new Set(Set.prototype.values.call(n));for(const n of Set.prototype.values.call(t)){if(e.delete(n))continue;let t=!1;for(const i of e)if(o(n,i,r,a)){e.delete(i),t=!0;break}if(!t)return!1}}}else if(e===types.map){if(t.size!==n.size)return!1;for(const[e,i]of Map.prototype.entries.call(t)){if(void 0===i&&!Map.prototype.has.call(n,e))return!1;if(!o(i,Map.prototype.get.call(n,e),r,a))return!1}}else if(e===types.error&&(t.name!==n.name||t.message!==n.message))return!1;const l=i(t),u=i(n);if((t!==l||n!==u)&&!o(l,u,r,a))return!1;const d=c(t);if(!r.part&&d.length!==c(n).length&&!r.skip)return!1;let f=0;for(const e of d)if(r.skip&&r.skip.includes(e))void 0===n[e]&&++f;else{if(!s(n,e))return!1;if(!o(t[e],n[e],r,a))return!1}if(!r.part&&d.length-f!==c(n).length)return!1;if(!1!==r.symbols){const e=p(t),i=new Set(p(n));for(const c of e){if(!r.skip||!r.skip.includes(c))if(s(t,c)){if(!s(n,c))return!1;if(!o(t[c],n[c],r,a))return!1}else if(s(n,c))return!1;i.delete(c)}for(const e of i)if(s(n,e))return!1}return!0},internals$4.SeenEntry=class{constructor(e,t){this.obj=e,this.ref=t}isSame(e,t){return this.obj===e&&this.ref===t}};var escapeRegex$1=function(e){return e.replace(/[\^\$\.\*\+\-\?\=\!\:\|\\\/\(\)\[\]\{\}\,]/g,"\\$&")};const internals$3={};var contain$1=function(e,t,n={}){return"object"!=typeof t&&(t=[t]),assert$1(!Array.isArray(t)||t.length,"Values array cannot be empty"),"string"==typeof e?internals$3.string(e,t,n):Array.isArray(e)?internals$3.array(e,t,n):(assert$1("object"==typeof e,"Reference must be string or an object"),internals$3.object(e,t,n))};internals$3.array=function(e,t,n){if(Array.isArray(t)||(t=[t]),!e.length)return!1;if(n.only&&n.once&&e.length!==t.length)return!1;let r;const a=new Map;for(const e of t)if(n.deep&&e&&"object"==typeof e){r=r||internals$3.compare(n);let t=!1;for(const[n,o]of a.entries())if(r(n,e)){++o.allowed,t=!0;break}t||a.set(e,{allowed:1,hits:0})}else{const t=a.get(e);t?++t.allowed:a.set(e,{allowed:1,hits:0})}let o=0;for(const t of e){let e;if(n.deep&&t&&"object"==typeof t){r=r||internals$3.compare(n);for(const[n,o]of a.entries())if(r(n,t)){e=o;break}}else e=a.get(t);if(e&&(++e.hits,++o,n.once&&e.hits>e.allowed))return!1}if(n.only&&o!==e.length)return!1;for(const e of a.values())if(e.hits!==e.allowed&&e.hits<e.allowed&&!n.part)return!1;return!!o},internals$3.object=function(e,t,n){assert$1(void 0===n.once,"Cannot use option once with object");const r=utils.keys(e,n);if(!r.length)return!1;if(Array.isArray(t))return internals$3.array(r,t,n);const a=Object.getOwnPropertySymbols(t).filter((e=>t.propertyIsEnumerable(e))),o=[...Object.keys(t),...a],i=internals$3.compare(n),s=new Set(o);for(const a of r)if(s.has(a)){if(!i(t[a],e[a]))return!1;s.delete(a)}else if(n.only)return!1;return!s.size||!!n.part&&s.size<o.length},internals$3.string=function(e,t,n){if(""===e)return 1===t.length&&""===t[0]||!n.once&&!t.some((e=>""!==e));const r=new Map,a=[];for(const e of t)if(assert$1("string"==typeof e,"Cannot compare string reference to non-string value"),e){const t=r.get(e);t?++t.allowed:(r.set(e,{allowed:1,hits:0}),a.push(escapeRegex$1(e)))}else if(n.once||n.only)return!1;if(!a.length)return!0;const o=new RegExp(`(${a.join("|")})`,"g"),i=e.replace(o,((e,t)=>(++r.get(t).hits,"")));if(n.only&&i)return!1;let s=!1;for(const e of r.values())if(e.hits&&(s=!0),e.hits!==e.allowed){if(e.hits<e.allowed&&!n.part)return!1;if(n.once)return!1}return!!s},internals$3.compare=function(e){if(!e.deep)return internals$3.shallow;const t=void 0!==e.only,n=void 0!==e.part,r={prototype:t?e.only:!!n&&!e.part,part:t?!e.only:!!n&&e.part};return(e,t)=>deepEqual$1(e,t,r)},internals$3.shallow=function(e,t){return e===t};var escapeHeaderAttribute$1=function(e){return assert$1(/^[ \w\!#\$%&'\(\)\*\+,\-\.\/\:;<\=>\?@\[\]\^`\{\|\}~\"\\]*$/.test(e),"Bad attribute value ("+e+")"),e.replace(/\\/g,"\\\\").replace(/\"/g,'\\"')};const internals$2={};var escapeHtml$2=function(e){if(!e)return"";let t="";for(let n=0;n<e.length;++n){const r=e.charCodeAt(n);internals$2.isSafe(r)?t+=e[n]:t+=internals$2.escapeHtmlChar(r)}return t};internals$2.escapeHtmlChar=function(e){const t=internals$2.namedHtml[e];if(void 0!==t)return t;if(e>=256)return"&#"+e+";";return`&#x${e.toString(16).padStart(2,"0")};`},internals$2.isSafe=function(e){return void 0!==internals$2.safeCharCodes[e]},internals$2.namedHtml={38:"&amp;",60:"&lt;",62:"&gt;",34:"&quot;",160:"&nbsp;",162:"&cent;",163:"&pound;",164:"&curren;",169:"&copy;",174:"&reg;"},internals$2.safeCharCodes=function(){const e={};for(let t=32;t<123;++t)(t>=97||t>=65&&t<=90||t>=48&&t<=57||32===t||46===t||44===t||45===t||58===t||95===t)&&(e[t]=null);return e}();var escapeJson$1=function(e){if(!e)return"";let t;return e.replace(/[<>&\u2028\u2029]/g,(e=>(t=e.charCodeAt(0),60===t?"\\u003c":62===t?"\\u003e":38===t?"\\u0026":8232===t?"\\u2028":"\\u2029")))};const internals$1={};var flatten$1=internals$1.flatten=function(e,t){const n=t||[];for(let t=0;t<e.length;++t)Array.isArray(e[t])?internals$1.flatten(e[t],n):n.push(e[t]);return n};const internals={};var intersect$1=function(e,t,n={}){if(!e||!t)return n.first?null:[];const r=[],a=Array.isArray(e)?new Set(e):e,o=new Set;for(const e of t)if(internals.has(a,e)&&!o.has(e)){if(n.first)return e;r.push(e),o.add(e)}return n.first?null:r};internals.has=function(e,t){return"function"==typeof e.has?e.has(t):void 0!==e[t]};var isPromise$1=function(e){return!!e&&"function"==typeof e.then},once$1=function(e){if(e._hoekOnce)return e;let t=!1;const n=function(...n){t||(t=!0,e(...n))};return n._hoekOnce=!0,n},reachTemplate$1=function(e,t,n){return t.replace(/{([^}]+)}/g,((t,r)=>{const a=reach$1(e,r,n);return null==a?"":a}))},wait$1=function(e,t){if("number"!=typeof e&&void 0!==e)throw new TypeError("Timeout must be a number");return new Promise((n=>setTimeout(n,e,t)))},applyToDefaults=applyToDefaults$1,assert=assert$1,Bench=bench,block=block$1,clone$1=clone$2,contain=contain$1,deepEqual=deepEqual$1,_Error=error,escapeHeaderAttribute=escapeHeaderAttribute$1,escapeHtml$1=escapeHtml$2,escapeJson=escapeJson$1,escapeRegex=escapeRegex$1,flatten=flatten$1,ignore=ignore$1,intersect=intersect$1,isPromise=isPromise$1,merge=merge$1,once=once$1,reach=reach$1,reachTemplate=reachTemplate$1,stringify=stringify$1,wait=wait$1,lib$3={applyToDefaults:applyToDefaults,assert:assert,Bench:Bench,block:block,clone:clone$1,contain:contain,deepEqual:deepEqual,Error:_Error,escapeHeaderAttribute:escapeHeaderAttribute,escapeHtml:escapeHtml$1,escapeJson:escapeJson,escapeRegex:escapeRegex,flatten:flatten,ignore:ignore,intersect:intersect,isPromise:isPromise,merge:merge,once:once,reach:reach,reachTemplate:reachTemplate,stringify:stringify,wait:wait},lib$2=createCommonjsModule((function(e,t){const n={codes:new Map([[100,"Continue"],[101,"Switching Protocols"],[102,"Processing"],[200,"OK"],[201,"Created"],[202,"Accepted"],[203,"Non-Authoritative Information"],[204,"No Content"],[205,"Reset Content"],[206,"Partial Content"],[207,"Multi-Status"],[300,"Multiple Choices"],[301,"Moved Permanently"],[302,"Moved Temporarily"],[303,"See Other"],[304,"Not Modified"],[305,"Use Proxy"],[307,"Temporary Redirect"],[400,"Bad Request"],[401,"Unauthorized"],[402,"Payment Required"],[403,"Forbidden"],[404,"Not Found"],[405,"Method Not Allowed"],[406,"Not Acceptable"],[407,"Proxy Authentication Required"],[408,"Request Time-out"],[409,"Conflict"],[410,"Gone"],[411,"Length Required"],[412,"Precondition Failed"],[413,"Request Entity Too Large"],[414,"Request-URI Too Large"],[415,"Unsupported Media Type"],[416,"Requested Range Not Satisfiable"],[417,"Expectation Failed"],[418,"I'm a teapot"],[422,"Unprocessable Entity"],[423,"Locked"],[424,"Failed Dependency"],[425,"Too Early"],[426,"Upgrade Required"],[428,"Precondition Required"],[429,"Too Many Requests"],[431,"Request Header Fields Too Large"],[451,"Unavailable For Legal Reasons"],[500,"Internal Server Error"],[501,"Not Implemented"],[502,"Bad Gateway"],[503,"Service Unavailable"],[504,"Gateway Time-out"],[505,"HTTP Version Not Supported"],[506,"Variant Also Negotiates"],[507,"Insufficient Storage"],[509,"Bandwidth Limit Exceeded"],[510,"Not Extended"],[511,"Network Authentication Required"]])};t.Boom=class extends Error{constructor(e,r={}){if(e instanceof Error)return t.boomify(lib$3.clone(e),r);const{statusCode:a=500,data:o=null,ctor:i=t.Boom}=r,s=new Error(e||void 0);Error.captureStackTrace(s,i),s.data=o;const c=n.initialize(s,a);return Object.defineProperty(c,"typeof",{value:i}),r.decorate&&Object.assign(c,r.decorate),c}static[Symbol.hasInstance](e){return t.isBoom(e)}},t.isBoom=function(e,t){return e instanceof Error&&!!e.isBoom&&(!t||e.output.statusCode===t)},t.boomify=function(e,t){return lib$3.assert(e instanceof Error,"Cannot wrap non-Error object"),void 0!==(t=t||{}).data&&(e.data=t.data),t.decorate&&Object.assign(e,t.decorate),e.isBoom?!1===t.override||!t.statusCode&&!t.message?e:n.initialize(e,t.statusCode||e.output.statusCode,t.message):n.initialize(e,t.statusCode||500,t.message)},t.badRequest=function(e,n){return new t.Boom(e,{statusCode:400,data:n,ctor:t.badRequest})},t.unauthorized=function(e,n,r){const a=new t.Boom(e,{statusCode:401,ctor:t.unauthorized});if(!n)return a;if("string"!=typeof n)return a.output.headers["WWW-Authenticate"]=n.join(", "),a;let o=`${n}`;return(r||e)&&(a.output.payload.attributes={}),r&&("string"==typeof r?(o+=" "+lib$3.escapeHeaderAttribute(r),a.output.payload.attributes=r):o+=" "+Object.keys(r).map((e=>{let t=r[e];return null==t&&(t=""),a.output.payload.attributes[e]=t,`${e}="${lib$3.escapeHeaderAttribute(t.toString())}"`})).join(", ")),e?(r&&(o+=","),o+=` error="${lib$3.escapeHeaderAttribute(e)}"`,a.output.payload.attributes.error=e):a.isMissing=!0,a.output.headers["WWW-Authenticate"]=o,a},t.paymentRequired=function(e,n){return new t.Boom(e,{statusCode:402,data:n,ctor:t.paymentRequired})},t.forbidden=function(e,n){return new t.Boom(e,{statusCode:403,data:n,ctor:t.forbidden})},t.notFound=function(e,n){return new t.Boom(e,{statusCode:404,data:n,ctor:t.notFound})},t.methodNotAllowed=function(e,n,r){const a=new t.Boom(e,{statusCode:405,data:n,ctor:t.methodNotAllowed});return"string"==typeof r&&(r=[r]),Array.isArray(r)&&(a.output.headers.Allow=r.join(", ")),a},t.notAcceptable=function(e,n){return new t.Boom(e,{statusCode:406,data:n,ctor:t.notAcceptable})},t.proxyAuthRequired=function(e,n){return new t.Boom(e,{statusCode:407,data:n,ctor:t.proxyAuthRequired})},t.clientTimeout=function(e,n){return new t.Boom(e,{statusCode:408,data:n,ctor:t.clientTimeout})},t.conflict=function(e,n){return new t.Boom(e,{statusCode:409,data:n,ctor:t.conflict})},t.resourceGone=function(e,n){return new t.Boom(e,{statusCode:410,data:n,ctor:t.resourceGone})},t.lengthRequired=function(e,n){return new t.Boom(e,{statusCode:411,data:n,ctor:t.lengthRequired})},t.preconditionFailed=function(e,n){return new t.Boom(e,{statusCode:412,data:n,ctor:t.preconditionFailed})},t.entityTooLarge=function(e,n){return new t.Boom(e,{statusCode:413,data:n,ctor:t.entityTooLarge})},t.uriTooLong=function(e,n){return new t.Boom(e,{statusCode:414,data:n,ctor:t.uriTooLong})},t.unsupportedMediaType=function(e,n){return new t.Boom(e,{statusCode:415,data:n,ctor:t.unsupportedMediaType})},t.rangeNotSatisfiable=function(e,n){return new t.Boom(e,{statusCode:416,data:n,ctor:t.rangeNotSatisfiable})},t.expectationFailed=function(e,n){return new t.Boom(e,{statusCode:417,data:n,ctor:t.expectationFailed})},t.teapot=function(e,n){return new t.Boom(e,{statusCode:418,data:n,ctor:t.teapot})},t.badData=function(e,n){return new t.Boom(e,{statusCode:422,data:n,ctor:t.badData})},t.locked=function(e,n){return new t.Boom(e,{statusCode:423,data:n,ctor:t.locked})},t.failedDependency=function(e,n){return new t.Boom(e,{statusCode:424,data:n,ctor:t.failedDependency})},t.tooEarly=function(e,n){return new t.Boom(e,{statusCode:425,data:n,ctor:t.tooEarly})},t.preconditionRequired=function(e,n){return new t.Boom(e,{statusCode:428,data:n,ctor:t.preconditionRequired})},t.tooManyRequests=function(e,n){return new t.Boom(e,{statusCode:429,data:n,ctor:t.tooManyRequests})},t.illegal=function(e,n){return new t.Boom(e,{statusCode:451,data:n,ctor:t.illegal})},t.internal=function(e,r,a=500){return n.serverError(e,r,a,t.internal)},t.notImplemented=function(e,r){return n.serverError(e,r,501,t.notImplemented)},t.badGateway=function(e,r){return n.serverError(e,r,502,t.badGateway)},t.serverUnavailable=function(e,r){return n.serverError(e,r,503,t.serverUnavailable)},t.gatewayTimeout=function(e,r){return n.serverError(e,r,504,t.gatewayTimeout)},t.badImplementation=function(e,r){const a=n.serverError(e,r,500,t.badImplementation);return a.isDeveloperError=!0,a},n.initialize=function(e,t,r){const a=parseInt(t,10);if(lib$3.assert(!isNaN(a)&&a>=400,"First argument must be a number (400+):",t),e.isBoom=!0,e.isServer=a>=500,e.hasOwnProperty("data")||(e.data=null),e.output={statusCode:a,payload:{},headers:{}},Object.defineProperty(e,"reformat",{value:n.reformat}),r||e.message||(e.reformat(),r=e.output.payload.error),r){const t=Object.getOwnPropertyDescriptor(e,"message")||Object.getOwnPropertyDescriptor(Object.getPrototypeOf(e),"message");lib$3.assert(!t||t.configurable&&!t.get,"The error is not compatible with boom"),e.message=r+(e.message?": "+e.message:""),e.output.payload.message=e.message}return e.reformat(),e},n.reformat=function(e=!1){this.output.payload.statusCode=this.output.statusCode,this.output.payload.error=n.codes.get(this.output.statusCode)||"Unknown",500===this.output.statusCode&&!0!==e?this.output.payload.message="An internal server error occurred":this.message&&(this.output.payload.message=this.message)},n.serverError=function(e,n,r,a){return n instanceof Error&&!n.isBoom?t.boomify(n,{statusCode:r,message:e}):new t.Boom(e,{statusCode:r,data:n,ctor:a})}})),header=createCommonjsModule((function(e,t){const n={};t.selection=function(e,n,r){const a=t.selections(e,n,r);return a.length?a[0]:""},t.selections=function(e,t,r){return lib$3.assert(!t||Array.isArray(t),"Preferences must be an array"),n.parse(e||"",t,r)},n.parse=function(e,t,r){const a=e.replace(/[ \t]/g,""),o=new Map;if(t){let e=0;for(const n of t){const t=n.toLowerCase();if(o.set(t,{orig:n,pos:e++}),r.prefixMatch){const r=t.split("-");for(;r.pop(),r.length>0;){const t=r.join("-");o.has(t)||o.set(t,{orig:n,pos:e++})}}}}const i=a.split(","),s=[],c=new Set;for(let e=0;e<i.length;++e){const n=i[e];if(!n)continue;const a=n.split(";");if(a.length>2)throw lib$2.badRequest(`Invalid ${r.type} header`);let p=a[0].toLowerCase();if(!p)throw lib$2.badRequest(`Invalid ${r.type} header`);r.equivalents&&r.equivalents.has(p)&&(p=r.equivalents.get(p));const l={token:p,pos:e,q:1};if(t&&o.has(p)&&(l.pref=o.get(p).pos),c.add(l.token),2===a.length){const e=a[1],[t,n]=e.split("=");if(!n||"q"!==t&&"Q"!==t)throw lib$2.badRequest(`Invalid ${r.type} header`);const o=parseFloat(n);if(0===o)continue;Number.isFinite(o)&&o<=1&&o>=.001&&(l.q=o)}s.push(l)}s.sort(n.sort);const p=s.map((e=>e.token));if(r.default&&!c.has(r.default)&&p.push(r.default),!t||!t.length)return p;const l=[];for(const e of p)if("*"===e)for(const[e,t]of o)c.has(e)||l.push(t.orig);else{const t=e.toLowerCase();o.has(t)&&l.push(o.get(t).orig)}return l},n.sort=function(e,t){return t.q!==e.q?t.q-e.q:t.pref!==e.pref?void 0===e.pref?1:void 0===t.pref?-1:e.pref-t.pref:e.pos-t.pos}})),media=createCommonjsModule((function(e,t){const n={};t.selection=function(e,n){const r=t.selections(e,n);return r.length?r[0]:""},t.selections=function(e,t){return lib$3.assert(!t||Array.isArray(t),"Preferences must be an array"),n.parse(e,t)},n.validMediaRx=/^(?:\*\/\*)|(?:[\w\!#\$%&'\*\+\-\.\^`\|~]+\/\*)|(?:[\w\!#\$%&'\*\+\-\.\^`\|~]+\/[\w\!#\$%&'\*\+\-\.\^`\|~]+)$/,n.parse=function(e,t){const{header:r,quoted:a}=n.normalize(e),o=r.split(","),i=[],s={};for(let e=0;e<o.length;++e){const t=o[e];if(!t)continue;const r=t.split(";"),c=r.shift().toLowerCase();if(!n.validMediaRx.test(c))continue;const p={token:c,params:{},exts:{},pos:e};let l="params";for(const e of r){const t=e.split("=");if(2!==t.length||!t[1])throw lib$2.badRequest("Invalid accept header");const n=t[0];let r=t[1];"q"===n||"Q"===n?(l="exts",r=parseFloat(r),(!Number.isFinite(r)||r>1||r<.001&&0!==r)&&(r=1),p.q=r):('"'===r[0]&&(r=`"${a[r]}"`),p[l][t[0]]=r)}const u=Object.keys(p.params);p.original=[""].concat(u.map((e=>`${e}=${p.params[e]}`))).join(";"),p.specificity=u.length,void 0===p.q&&(p.q=1);const d=p.token.split("/");p.type=d[0],p.subtype=d[1],s[p.token]=p,p.q&&i.push(p)}return i.sort(n.sort),n.preferences(s,i,t)},n.normalize=function(e){const t={header:e=e||"*/*",quoted:{}};if(e.includes('"')){let n=0;t.header=e.replace(/="([^"]*)"/g,((e,r)=>{const a='"'+ ++n;return t.quoted[a]=r,"="+a}))}return t.header=t.header.replace(/[ \t]/g,""),t},n.sort=function(e,t){return t.q!==e.q?t.q-e.q:e.type!==t.type?n.innerSort(e,t,"type"):e.subtype!==t.subtype?n.innerSort(e,t,"subtype"):e.specificity!==t.specificity?t.specificity-e.specificity:e.pos-t.pos},n.innerSort=function(e,t,n){return"*"===e[n]?1:"*"===t[n]||e[n]<t[n]?-1:1},n.preferences=function(e,t,n){if(!n||!n.length)return t.map((e=>e.token+e.original));const r=Object.create(null),a=Object.create(null);let o=!1;for(const e of n){const t=e.toLowerCase();a[t]=e;const n=t.split("/"),i=n[0],s=n[1];"*"!==i?(r[i]=r[i]||Object.create(null),r[i][s]=e):(lib$3.assert("*"===s,"Invalid media type preference contains wildcard type with a subtype"),o=!0)}const i=[];for(const n of t){const t=n.token,{type:s,subtype:c}=e[t],p=r[s];if("*"!==s)if(o)i.push((a[t]||t)+n.original);else if("*"===c){if(p)for(const t of Object.keys(p))e[`${s}/${t}`]||i.push(p[t])}else{const e=a[t];(e||p&&p["*"])&&i.push((e||t)+n.original)}else{for(const t of Object.keys(a))e[t]||i.push(a[t]);o&&i.push("*/*")}}return i}})),lib$1=createCommonjsModule((function(e,t){const n={options:{charset:{type:"accept-charset"},encoding:{type:"accept-encoding",default:"identity",equivalents:new Map([["x-compress","compress"],["x-gzip","gzip"]])},language:{type:"accept-language",prefixMatch:!0}}};for(const e in n.options)t[e]=(t,r)=>header.selection(t,r,n.options[e]),t[`${e}s`]=(t,r)=>header.selections(t,r,n.options[e]);t.mediaType=(e,t)=>media.selection(e,t),t.mediaTypes=(e,t)=>media.selections(e,t),t.parseAll=function(e){return{charsets:t.charsets(e["accept-charset"]),encodings:t.encodings(e["accept-encoding"]),languages:t.languages(e["accept-language"]),mediaTypes:t.mediaTypes(e.accept)}}})),callsiteTostring=callSiteToString$1;function callSiteFileLocation(e){var t,n="";if(e.isNative()?n="native":e.isEval()?(t=e.getScriptNameOrSourceURL())||(n=e.getEvalOrigin()):t=e.getFileName(),t){n+=t;var r=e.getLineNumber();if(null!=r){n+=":"+r;var a=e.getColumnNumber();a&&(n+=":"+a)}}return n||"unknown source"}function callSiteToString$1(e){var t=!0,n=callSiteFileLocation(e),r=e.getFunctionName(),a=e.isConstructor(),o="";if(!(e.isToplevel()||a)){var i=e.getMethodName(),s=getConstructorName(e);r?(s&&0!==r.indexOf(s)&&(o+=s+"."),o+=r,i&&r.lastIndexOf("."+i)!==r.length-i.length-1&&(o+=" [as "+i+"]")):o+=s+"."+(i||"<anonymous>")}else a?o+="new "+(r||"<anonymous>"):r?o+=r:(t=!1,o+=n);return t&&(o+=" ("+n+")"),o}function getConstructorName(e){var t=e.receiver;return t.constructor&&t.constructor.name||null}var eventListenerCount_1=eventListenerCount$1;function eventListenerCount$1(e,t){return e.listeners(t).length}var compat=createCommonjsModule((function(e){var t=require$$0__default.default.EventEmitter;function n(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){var r=n();return Object.defineProperty(e,t,{configurable:!0,enumerable:!0,value:r}),r}})}function r(e){return e.toString()}n(e.exports,"callSiteToString",(func