diff --git a/anvil.spec.in b/anvil.spec.in index f13b7dfe..a0192c4e 100644 --- a/anvil.spec.in +++ b/anvil.spec.in @@ -23,8 +23,6 @@ BuildRequires: systemd autoconf automake BuildRequires: fence-agents-common # OCFROOT BuildRequires: resource-agents -# Require the "npm" tool for building the web UI. -BuildRequires: npm >= 6 rsync %description This package generates the anvil-core, anvil-striker, anvil-node and anvil-dr diff --git a/striker-ui/env.development b/striker-ui/.env similarity index 56% rename from striker-ui/env.development rename to striker-ui/.env index 5e5d3bd0..467dca8b 100644 --- a/striker-ui/env.development +++ b/striker-ui/.env @@ -1,2 +1,2 @@ # Use this to set a different origin -NEXT_PUBLIC_API_URL= +NEXT_PUBLIC_API_URL=/cgi-bin diff --git a/striker-ui/.gitignore b/striker-ui/.gitignore index 1437c53f..9aa0ad3b 100644 --- a/striker-ui/.gitignore +++ b/striker-ui/.gitignore @@ -10,10 +10,12 @@ # next.js /.next/ -/out/ # production /build +/out/* +!/out/index.html +!/out/_next # misc .DS_Store diff --git a/striker-ui/Makefile.am b/striker-ui/Makefile.am index 88436b8b..3baee2eb 100644 --- a/striker-ui/Makefile.am +++ b/striker-ui/Makefile.am @@ -1,136 +1,101 @@ MAINTAINERCLEANFILES = Makefile.in -# The files listed under EXTRA_DIST is only used for building, they should not -# be included in the installation process. +htmldir = $(localstatedir)/www/html +nodemodulesdir = node_modules +nextoutdir = out +nextbuilddir = .next + +# List of paths relative to the build output directory. +# +outindexfile = index.html +outjsmodulesdir = _next +outimagesdir = pngs + +# The build output directory listed under EXTRA_DIST contains the files to +# include in the release/source tarball. # # It is recommended to use the following command to regenerate the file list # as files get added/removed: # # find . \ -# -not \( -name node_modules -prune \) \ # Ignore ./node_modules directory -# -not \( -name *git* -prune \) \ # Ignore git related files -# -not \( -name *husky* -prune \) \ # Ignore husky related files -# -not \( -name public -prune \) \ # Ignore ./public directory -# -not \( -name *[Mm]ake* -prune \) \ # Ignore make related files -# -not \( -name *.md -prune \) \ # Ignore all markdown files -# -type f \ # Only print file paths -# | sed -E 's@^./(.+)$@\1 \\@' # Remove leading "./" and append "\" +# -mindepth 1 -maxdepth 1 \ +# -not \( -name node_modules -prune \) \ +# -not \( -name *git* -prune \) \ +# -not \( -name *husky* -prune \) \ +# -not \( -name public -prune \) \ +# -not \( -name *[Mm]ake* -prune \) \ +# | sed -E 's@^./(.+)$@\1 \\@' +# +# The find command: +# * ignores ./node_modules directory, +# * ignores git related files, +# * ignores husky related files +# * ignores ./public directory +# * ignores make related files, and +# * removes leading "./" and append "\" +# +# Note: This only works when we want to include all files within the listed +# subdirectories. It is recommended to run a similar find command on a +# subdirectory to skip undesired files in the subdirectory. # EXTRA_DIST = \ + $(nextoutdir) \ next.config.js \ next-env.d.ts \ tsconfig.json \ - theme/index.ts \ - styles/globals.css \ + theme \ + styles \ .lintstagedrc.json \ - env.development \ + README.md \ package.json \ - lib/extended_date/ExtendedDate.ts \ - lib/fetchers/putJSON.ts \ - lib/fetchers/fetchJSON.ts \ - lib/fetchers/periodicFetch.ts \ - lib/sanitizers/hostsSanitizer.ts \ - lib/consts/ICONS.ts \ - lib/consts/DEFAULT_THEME.ts \ - lib/consts/SERVERS.ts \ - lib/consts/ANVILS.ts \ - lib/consts/API_BASE_URL.ts \ - lib/consts/IS_DEV_ENV.ts \ - lib/consts/NODES.ts \ + lib \ .prettierrc.json \ - types/AnvilServers.d.ts \ - types/GetAllAnvilResponse.d.ts \ - types/AnvilMemory.d.ts \ - types/FetchResponse.d.ts \ - types/AnvilSharedStorage.d.ts \ - types/AnvilNetwork.d.ts \ - types/AnvilTypes.d.ts \ - types/GetResponse.d.ts \ - types/AnvilNodeStatus.d.ts \ - types/AnvilList.d.ts \ - types/AnvilCPU.d.ts \ - types/GetOneAnvilResponse.d.ts \ - types/AnvilSet.d.ts \ - types/AnvilStatus.d.ts \ - types/AnvilReplicatedStorage.d.ts \ - types/AnvilFileSystems.d.ts \ - types/NodeSet.d.ts \ - components/Memory.tsx \ - components/Decorator.tsx \ - components/Hosts/index.tsx \ - components/Hosts/AnvilHost.tsx \ - components/Spinner.tsx \ - components/AnvilDrawer.tsx \ - components/Text/HeaderText.tsx \ - components/Text/index.tsx \ - components/Text/BodyText.tsx \ - components/FileSystem/index.tsx \ - components/FileSystem/FileSystemsHost.tsx \ - components/FileSystem/FileSystems.tsx \ - components/Anvils/index.tsx \ - components/Anvils/sortAnvils.ts \ - components/Anvils/Anvil.tsx \ - components/Anvils/AnvilList.tsx \ - components/Anvils/SelectedAnvil.tsx \ - components/Panels/index.tsx \ - components/Panels/InnerPanel.tsx \ - components/Panels/PanelHeader.tsx \ - components/Panels/Panel.tsx \ - components/Servers.tsx \ - components/Storage.tsx \ - components/AnvilContext.tsx \ - components/SharedStorage/SharedStorage.tsx \ - components/SharedStorage/index.tsx \ - components/SharedStorage/SharedStorageHost.tsx \ - components/Header.tsx \ - components/Network/index.tsx \ - components/Network/Network.tsx \ - components/Network/processNetwork.ts \ - components/CPU.tsx \ - components/Bars/index.tsx \ - components/Bars/ProgressBar.tsx \ - components/Bars/AllocationBar.tsx \ - pages/index.tsx \ - pages/_app.tsx \ - pages/_document.tsx \ + types \ + components \ + pages \ .eslintrc.json \ commitlint.config.js \ .eslintignore \ + .env \ package-lock.json -htmldir = $(localstatedir)/www/html -outdir = out - -# Trigger build target on make call without parameters. -all: out +# Blank target; the build output directory should be usable as-is. +$(nextoutdir): ; -# Note: the input file to the generate endpoint prefix step must exist in -# EXTRA_DIST. +# This target is for maintainers only; do not execute during CI/CD. # -out: - -@echo "Copying required build files to build (current) directory." - rsync -av --exclude "[Mm]ake*" $(srcdir)/ ./ - -@echo "Allow tools to write to files in the build directory." - chmod -R +w . +$(nodemodulesdir): -@echo "Install node modules (dependencies) prior to building." npm install --no-package-lock --ignore-scripts - -@echo "Generate endpoint prefix." - sed 's@=.*@=/cgi-bin@' .env.local - -@echo "Build front-end project." + +# This target is for maintainers only; do not execute during CI/CD. In +# addition, this target can only be used if the local git repository exists. +# +# Note: this target must **not** be renamed to the same name as the build +# output directory because it will trigger a build during the `make` implicit +# call. +# +.PHONY: build +build: $(nodemodulesdir) + -@echo "Remove build output files to prepare for rebuild." + rm -rf $(nextoutdir) $(nextbuilddir) + -@echo "Build web UI." npm run build + -@echo "Stage only the build output directory and commit the build output." + git reset \ + && git add $(nextoutdir) \ + && git commit -m "chore: rebuild web UI" install-data-hook: -@echo "Place build output files." - cp -r $(outdir)/index.html $(outdir)/_next $(DESTDIR)/$(htmldir)/ + cp -r --no-preserve=mode $(srcdir)/$(nextoutdir)/$(outindexfile) $(srcdir)/$(nextoutdir)/$(outjsmodulesdir) $(DESTDIR)/$(htmldir)/ -@echo "Create symlink to images to enable borrowing icon etc. without duplicating." - (cd $(DESTDIR)/$(htmldir); $(LN_S) skins/alteeve/images pngs) + (cd $(DESTDIR)/$(htmldir); $(LN_S) skins/alteeve/images $(outimagesdir)) uninstall-hook: -@echo "Remove all installed files of the current module." - (cd $(DESTDIR)/$(htmldir); rm -rf index.html _next pngs) + (cd $(DESTDIR)/$(htmldir); rm -rf $(outindexfile) $(outjsmodulesdir) $(outimagesdir)) clean-local: - -@echo "Clean up build output files." - test $(srcdir) == . && rm -rf $(outdir) .next || find . -mindepth 1 -maxdepth 1 -exec rm -rf {} + - -distclean-local: clean-local + -@echo "Clean up node modules." + rm -rf $(nodemodulesdir) diff --git a/striker-ui/out/_next/static/037m3eT1YV3f3LmuAk-xy/_buildManifest.js b/striker-ui/out/_next/static/037m3eT1YV3f3LmuAk-xy/_buildManifest.js new file mode 100644 index 00000000..490aa7b2 --- /dev/null +++ b/striker-ui/out/_next/static/037m3eT1YV3f3LmuAk-xy/_buildManifest.js @@ -0,0 +1 @@ +self.__BUILD_MANIFEST = {__rewrites:[],"/":["static\u002Fchunks\u002Fpages\u002Findex-afb33a9037a2281b25e6.js"],"/_error":["static\u002Fchunks\u002Fpages\u002F_error-e84fc7778cb03327c0ce.js"],sortedPages:["\u002F","\u002F_app","\u002F_error"]};self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB() \ No newline at end of file diff --git a/striker-ui/out/_next/static/037m3eT1YV3f3LmuAk-xy/_ssgManifest.js b/striker-ui/out/_next/static/037m3eT1YV3f3LmuAk-xy/_ssgManifest.js new file mode 100644 index 00000000..2260768d --- /dev/null +++ b/striker-ui/out/_next/static/037m3eT1YV3f3LmuAk-xy/_ssgManifest.js @@ -0,0 +1 @@ +self.__SSG_MANIFEST=new Set;self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB() \ No newline at end of file diff --git a/striker-ui/out/_next/static/chunks/71247caf95475e3ea7f9a0f8a30beb258b23d005.8d148603b4a75061f417.js b/striker-ui/out/_next/static/chunks/71247caf95475e3ea7f9a0f8a30beb258b23d005.8d148603b4a75061f417.js new file mode 100644 index 00000000..694f0cef --- /dev/null +++ b/striker-ui/out/_next/static/chunks/71247caf95475e3ea7f9a0f8a30beb258b23d005.8d148603b4a75061f417.js @@ -0,0 +1 @@ +(window.webpackJsonp_N_E=window.webpackJsonp_N_E||[]).push([[2],{"+Hmc":function(t,r,n){"use strict";n.d(r,"a",(function(){return s}));var e=n("ODXe"),o=n("LybE"),u=n("bv9d");var c={m:"margin",p:"padding"},i={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},a={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},f=function(t){var r={};return function(n){return void 0===r[n]&&(r[n]=t(n)),r[n]}}((function(t){if(t.length>2){if(!a[t])return[t];t=a[t]}var r=t.split(""),n=Object(e.a)(r,2),o=n[0],u=n[1],f=c[o],p=i[u]||"";return Array.isArray(p)?p.map((function(t){return f+t})):[f+p]})),p=["m","mt","mr","mb","ml","mx","my","p","pt","pr","pb","pl","px","py","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY"];function s(t){var r=t.spacing||8;return"number"===typeof r?function(t){return r*t}:Array.isArray(r)?function(t){return r[t]}:"function"===typeof r?r:function(){}}function d(t,r){return function(n){return t.reduce((function(t,e){return t[e]=function(t,r){if("string"===typeof r||null==r)return r;var n=t(Math.abs(r));return r>=0?n:"number"===typeof n?-n:"-".concat(n)}(r,n),t}),{})}}function b(t){var r=s(t.theme);return Object.keys(t).map((function(n){if(-1===p.indexOf(n))return null;var e=d(f(n),r),u=t[n];return Object(o.b)(t,u,e)})).reduce(u.a,{})}b.propTypes={},b.filterProps=p;r.b=b},"03aJ":function(t,r,n){"use strict";n.d(r,"j",(function(){return c})),n.d(r,"e",(function(){return i})),n.d(r,"g",(function(){return a})),n.d(r,"c",(function(){return f})),n.d(r,"d",(function(){return p})),n.d(r,"f",(function(){return s})),n.d(r,"i",(function(){return d})),n.d(r,"h",(function(){return b})),n.d(r,"a",(function(){return l}));var e=n("5Bvo"),o=n("MIS5");function u(t){return t<=1?"".concat(100*t,"%"):t}var c=Object(e.a)({prop:"width",transform:u}),i=Object(e.a)({prop:"maxWidth",transform:u}),a=Object(e.a)({prop:"minWidth",transform:u}),f=Object(e.a)({prop:"height",transform:u}),p=Object(e.a)({prop:"maxHeight",transform:u}),s=Object(e.a)({prop:"minHeight",transform:u}),d=Object(e.a)({prop:"size",cssProperty:"width",transform:u}),b=Object(e.a)({prop:"size",cssProperty:"height",transform:u}),l=Object(e.a)({prop:"boxSizing"}),m=Object(o.a)(c,i,a,f,p,s,l);r.b=m},"04hm":function(t,r,n){"use strict";n.d(r,"i",(function(){return e})),n.d(r,"k",(function(){return o})),n.d(r,"g",(function(){return u})),n.d(r,"h",(function(){return c})),n.d(r,"a",(function(){return i})),n.d(r,"e",(function(){return a})),n.d(r,"f",(function(){return f})),n.d(r,"l",(function(){return p})),n.d(r,"d",(function(){return s})),n.d(r,"j",(function(){return d})),n.d(r,"c",(function(){return b})),n.d(r,"b",(function(){return l}));var e="#D02724",o="#F2F2F2",u="#343434",c="#7353BA",i="#4785FF",a="#E5E5E5",f="#444",p="#666",s="#888",d="#00ff00",b="#AAA",l="3px"},"2+6g":function(t,r,n){"use strict";n.d(r,"a",(function(){return c}));var e=n("wx14"),o=n("U8pU");function u(t){return t&&"object"===Object(o.a)(t)&&t.constructor===Object}function c(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{clone:!0},o=n.clone?Object(e.a)({},t):t;return u(t)&&u(r)&&Object.keys(r).forEach((function(e){"__proto__"!==e&&(u(r[e])&&e in t?o[e]=c(t[e],r[e],n):o[e]=r[e])})),o}},"25BE":function(t,r,n){"use strict";function e(t){if("undefined"!==typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}n.d(r,"a",(function(){return e}))},"2Bbb":function(t,r,n){"use strict";var e=n("5Bvo"),o=Object(e.a)({prop:"boxShadow",themeKey:"shadows"});r.a=o},"5Bvo":function(t,r,n){"use strict";var e=n("rePB"),o=n("LybE");function u(t,r){return r&&"string"===typeof r?r.split(".").reduce((function(t,r){return t&&t[r]?t[r]:null}),t):null}r.a=function(t){var r=t.prop,n=t.cssProperty,c=void 0===n?t.prop:n,i=t.themeKey,a=t.transform,f=function(t){if(null==t[r])return null;var n=t[r],f=u(t.theme,i)||{};return Object(o.b)(t,n,(function(t){var r;return"function"===typeof f?r=f(t):Array.isArray(f)?r=f[t]||t:(r=u(f,t)||t,a&&(r=a(r))),!1===c?r:Object(e.a)({},c,r)}))};return f.propTypes={},f.filterProps=[r],f}},"6bl3":function(t,r,n){"use strict";n.d(r,"a",(function(){return c})),n.d(r,"g",(function(){return i})),n.d(r,"f",(function(){return a})),n.d(r,"b",(function(){return f})),n.d(r,"d",(function(){return p})),n.d(r,"c",(function(){return s})),n.d(r,"e",(function(){return d}));var e=n("5Bvo"),o=n("MIS5");function u(t){return"number"!==typeof t?t:"".concat(t,"px solid")}var c=Object(e.a)({prop:"border",themeKey:"borders",transform:u}),i=Object(e.a)({prop:"borderTop",themeKey:"borders",transform:u}),a=Object(e.a)({prop:"borderRight",themeKey:"borders",transform:u}),f=Object(e.a)({prop:"borderBottom",themeKey:"borders",transform:u}),p=Object(e.a)({prop:"borderLeft",themeKey:"borders",transform:u}),s=Object(e.a)({prop:"borderColor",themeKey:"palette"}),d=Object(e.a)({prop:"borderRadius",themeKey:"shape"}),b=Object(o.a)(c,i,a,f,p,s,d);r.h=b},BsWD:function(t,r,n){"use strict";n.d(r,"a",(function(){return o}));var e=n("a3WO");function o(t,r){if(t){if("string"===typeof t)return Object(e.a)(t,r);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Object(e.a)(t,r):void 0}}},DSFK:function(t,r,n){"use strict";function e(t){if(Array.isArray(t))return t}n.d(r,"a",(function(){return e}))},KQm4:function(t,r,n){"use strict";n.d(r,"a",(function(){return c}));var e=n("a3WO");var o=n("25BE"),u=n("BsWD");function c(t){return function(t){if(Array.isArray(t))return Object(e.a)(t)}(t)||Object(o.a)(t)||Object(u.a)(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},LybE:function(t,r,n){"use strict";n.d(r,"b",(function(){return f}));var e=n("KQm4"),o=n("wx14"),u=n("U8pU"),c=(n("17x9"),n("bv9d")),i={xs:0,sm:600,md:960,lg:1280,xl:1920},a={keys:["xs","sm","md","lg","xl"],up:function(t){return"@media (min-width:".concat(i[t],"px)")}};function f(t,r,n){if(Array.isArray(r)){var e=t.theme.breakpoints||a;return r.reduce((function(t,o,u){return t[e.up(e.keys[u])]=n(r[u]),t}),{})}if("object"===Object(u.a)(r)){var o=t.theme.breakpoints||a;return Object.keys(r).reduce((function(t,e){return t[o.up(e)]=n(r[e]),t}),{})}return n(r)}r.a=function(t){var r=function(r){var n=t(r),e=r.theme.breakpoints||a,u=e.keys.reduce((function(n,u){return r[u]&&((n=n||{})[e.up(u)]=t(Object(o.a)({theme:r.theme},r[u]))),n}),null);return Object(c.a)(n,u)};return r.propTypes={},r.filterProps=["xs","sm","md","lg","xl"].concat(Object(e.a)(t.filterProps)),r}},MIS5:function(t,r,n){"use strict";n("wx14");var e=n("bv9d");r.a=function(){for(var t=arguments.length,r=new Array(t),n=0;nt.length)&&(r=t.length);for(var n=0,e=new Array(r);n1?e-1:0),n=1;nt.length)&&(e=t.length);for(var r=0,n=new Array(e);r1&&void 0!==arguments[1]?arguments[1]:"",r="/"===t?"/index":/^\/index(\/|$)/.test(t)?"/index".concat(t):"".concat(t);return r+e}},Nh2W:function(t,e,r){"use strict";var n=r("vJKn"),o=r("zoAU"),a=r("qVT1"),i=r("AroE");e.__esModule=!0,e.markAssetError=f,e.isAssetError=function(t){return t&&l in t},e.getClientBuildManifest=p,e.default=void 0;i(r("Lab5"));var u=i(r("0G5g"));function c(t,e,r){var n,o=e.get(t);if(o)return"future"in o?o.future:Promise.resolve(o);var a=new Promise((function(t){n=t}));return e.set(t,o={resolve:n,future:a}),r?r().then((function(t){return n(t),t})):a}var s=function(t){try{return t=document.createElement("link"),!!window.MSInputMethodContext&&!!document.documentMode||t.relList.supports("prefetch")}catch(e){return!1}}();var l=Symbol("ASSET_LOAD_ERROR");function f(t){return Object.defineProperty(t,l,{})}function h(t,e){return new Promise((function(r,n){return(0,u.default)((function(){return setTimeout((function(){return n(e)}),t)}))}))}function p(){if(self.__BUILD_MANIFEST)return Promise.resolve(self.__BUILD_MANIFEST);var t=new Promise((function(t){var e=self.__BUILD_MANIFEST_CB;self.__BUILD_MANIFEST_CB=function(){t(self.__BUILD_MANIFEST),e&&e()}}));return Promise.race([t,h(3800,f(new Error("Failed to load client build manifest")))])}function d(t,e){return p().then((function(r){if(!(e in r))throw f(new Error("Failed to lookup route: ".concat(e)));var n=r[e].map((function(e){return t+"/_next/"+encodeURI(e)}));return{scripts:n.filter((function(t){return t.endsWith(".js")})),css:n.filter((function(t){return t.endsWith(".css")}))}}))}var v=function(t){var e=new Map,r=new Map,i=new Map,l=new Map;function p(t){var e=r.get(t);return e||(document.querySelector('script[src^="'.concat(t,'"]'))?Promise.resolve():(r.set(t,e=function(t,e){return new Promise((function(r,n){(e=document.createElement("script")).onload=r,e.onerror=function(){return n(f(new Error("Failed to load script: ".concat(t))))},e.crossOrigin=void 0,e.src=t,document.body.appendChild(e)}))}(t)),e))}function v(t){var e=i.get(t);return e||(i.set(t,e=fetch(t).then((function(e){if(!e.ok)throw new Error("Failed to load stylesheet: ".concat(t));return e.text().then((function(e){return{href:t,content:e}}))})).catch((function(t){throw f(t)}))),e)}return{whenEntrypoint:function(t){return c(t,e)},onEntrypoint:function(t,r){Promise.resolve(r).then((function(t){return t()})).then((function(t){return{component:t&&t.default||t,exports:t}}),(function(t){return{error:t}})).then((function(r){var n=e.get(t);e.set(t,r),n&&"resolve"in n&&n.resolve(r)}))},loadRoute:function(r){var i=this;return c(r,l,a(n.mark((function a(){var u,c,s,l,y,m,g,w;return n.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,d(t,r);case 3:return u=n.sent,c=u.scripts,s=u.css,n.next=8,Promise.all([e.has(r)?[]:Promise.all(c.map(p)),Promise.all(s.map(v))]);case 8:return l=n.sent,y=o(l,2),m=y[1],n.next=13,Promise.race([i.whenEntrypoint(r),h(3800,f(new Error("Route did not complete loading: ".concat(r))))]);case 13:return g=n.sent,w=Object.assign({styles:m},g),n.abrupt("return","error"in g?g:w);case 18:return n.prev=18,n.t0=n.catch(0),n.abrupt("return",{error:n.t0});case 21:case"end":return n.stop()}}),a,null,[[0,18]])}))))},prefetch:function(e){var r,n=this;return(r=navigator.connection)&&(r.saveData||/2g/.test(r.effectiveType))?Promise.resolve():d(t,e).then((function(t){return Promise.all(s?t.scripts.map((function(t){return e=t,r="script",new Promise((function(t,o){if(document.querySelector('link[rel="prefetch"][href^="'.concat(e,'"]')))return t();n=document.createElement("link"),r&&(n.as=r),n.rel="prefetch",n.crossOrigin=void 0,n.onload=t,n.onerror=o,n.href=e,document.head.appendChild(n)}));var e,r,n})):[])})).then((function(){(0,u.default)((function(){return n.loadRoute(e)}))})).catch((function(){}))}}};e.default=v},PqPU:function(t,e){t.exports=function(t){if(Array.isArray(t))return t}},Qetd:function(t,e,r){"use strict";var n=Object.assign.bind(Object);t.exports=n,t.exports.default=t.exports},"X24+":function(t,e,r){"use strict";function n(t){return t.endsWith("/")&&"/"!==t?t.slice(0,-1):t}e.__esModule=!0,e.removePathTrailingSlash=n,e.normalizePathTrailingSlash=void 0;var o=n;e.normalizePathTrailingSlash=o},YTqd:function(t,e,r){"use strict";e.__esModule=!0,e.getRouteRegex=function(t){var e=(t.replace(/\/$/,"")||"/").slice(1).split("/"),r={},n=1,o=e.map((function(t){if(t.startsWith("[")&&t.endsWith("]")){var e=function(t){var e=t.startsWith("[")&&t.endsWith("]");e&&(t=t.slice(1,-1));var r=t.startsWith("...");r&&(t=t.slice(3));return{key:t,repeat:r,optional:e}}(t.slice(1,-1)),o=e.key,a=e.optional,i=e.repeat;return r[o]={pos:n++,repeat:i,optional:a},i?a?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)"}return"/".concat(t.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&"))})).join("");0;return{re:new RegExp("^".concat(o,"(?:/)?$")),groups:r}}},dZ6Y:function(t,e,r){"use strict";e.__esModule=!0,e.default=function(){var t=Object.create(null);return{on:function(e,r){(t[e]||(t[e]=[])).push(r)},off:function(e,r){t[e]&&t[e].splice(t[e].indexOf(r)>>>0,1)},emit:function(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o-1||r>-1)&&(t=t.substring(0,e>-1?e:r)),t}function S(t){return""===(t=x(t))||t.startsWith("/")}function P(t){return function(t,e){return e&&t.startsWith("/")?"/"===t?(0,c.normalizePathTrailingSlash)(e):"".concat(e).concat("/"===x(t)?t.substring(1):t):t}(t,"")}function k(t){return(t=t.slice("".length)).startsWith("/")||(t="/".concat(t)),t}function E(t){if(t.startsWith("/")||t.startsWith("#"))return!0;try{var e=(0,h.getLocationOrigin)(),r=new URL(t,e);return r.origin===e&&S(r.pathname)}catch(n){return!1}}function R(t,e,r){var n="",o=(0,m.getRouteRegex)(t),a=o.groups,i=(e!==t?(0,y.getRouteMatcher)(o)(e):"")||r;n=t;var u=Object.keys(a);return u.every((function(t){var e=i[t]||"",r=a[t],o=r.repeat,u=r.optional,c="[".concat(o?"...":"").concat(t,"]");return u&&(c="".concat(e?"":"/","[").concat(c,"]")),o&&!Array.isArray(e)&&(e=[e]),(u||t in i)&&(n=n.replace(c,o?e.map((function(t){return encodeURIComponent(t)})).join("/"):encodeURIComponent(e))||"/")}))||(n=""),{params:u,result:n}}function L(t,e){var r={};return Object.keys(t).forEach((function(n){e.includes(n)||(r[n]=t[n])})),r}function O(t,e,r){var n=new URL(t,"http://n"),o="string"===typeof e?e:(0,h.formatWithValidation)(e);if(!E(o))return r?[o]:o;try{var a=new URL(o,n);a.pathname=(0,c.normalizePathTrailingSlash)(a.pathname);var i="";if((0,p.isDynamicRoute)(a.pathname)&&a.searchParams&&r){var u=(0,v.searchParamsToUrlQuery)(a.searchParams),s=R(a.pathname,a.pathname,u),l=s.result,f=s.params;l&&(i=(0,h.formatWithValidation)({pathname:l,hash:a.hash,query:L(u,f)}))}var d=a.origin===n.origin?a.href.slice(a.origin.length):a.href;return r?[d,i||d]:d}catch(y){return r?[o]:o}}function C(t){var e=(0,h.getLocationOrigin)();return t.startsWith(e)?t.substring(e.length):t}function A(t,e,r){var n=O(t.pathname,e,!0),o=u(n,2),a=o[0],i=o[1],c=(0,h.getLocationOrigin)(),s=a.startsWith(c),l=i&&i.startsWith(c);a=C(a),i=i?C(i):i;var f=s?a:P(a),p=r?C(O(t.pathname,r)):i||a;return{url:f,as:l?p:P(p)}}var j=Symbol("SSG_DATA_NOT_FOUND");function I(t,e){return fetch(t,{credentials:"same-origin"}).then((function(r){if(!r.ok){if(e>1&&r.status>=500)return I(t,e-1);if(404===r.status)return r.json().then((function(t){if(t.notFound)return{notFound:j};throw new Error("Failed to load static props")}));throw new Error("Failed to load static props")}return r.json()}))}function T(t,e){return I(t,e?3:1).catch((function(t){throw e||(0,s.markAssetError)(t),t}))}var M=function(){function t(e,r,n,o){var i=this,u=o.initialProps,s=o.pageLoader,l=o.App,f=o.wrapApp,v=o.Component,y=o.err,m=o.subscription,g=o.isFallback,w=o.locale;o.locales,o.defaultLocale,o.domainLocales;a(this,t),this.route=void 0,this.pathname=void 0,this.query=void 0,this.asPath=void 0,this.basePath=void 0,this.components=void 0,this.sdc={},this.sub=void 0,this.clc=void 0,this.pageLoader=void 0,this._bps=void 0,this.events=void 0,this._wrapApp=void 0,this.isSsr=void 0,this.isFallback=void 0,this._inFlightRoute=void 0,this._shallow=void 0,this.locale=void 0,this.locales=void 0,this.defaultLocale=void 0,this.domainLocales=void 0,this.isReady=void 0,this._idx=0,this.onPopState=function(t){var e=t.state;if(e){if(e.__N){var r=e.url,n=e.as,o=e.options,a=e.idx;i._idx=a;var u=(0,d.parseRelativeUrl)(r).pathname;i.isSsr&&n===i.asPath&&u===i.pathname||i._bps&&!i._bps(e)||i.change("replaceState",r,n,Object.assign({},o,{shallow:o.shallow&&i._shallow,locale:o.locale||i.defaultLocale}),undefined)}}else{var c=i.pathname,s=i.query;i.changeState("replaceState",(0,h.formatWithValidation)({pathname:P(c),query:s}),(0,h.getURL)())}},this.route=(0,c.removePathTrailingSlash)(e),this.components={},"/_error"!==e&&(this.components[this.route]={Component:v,initial:!0,props:u,err:y,__N_SSG:u&&u.__N_SSG,__N_SSP:u&&u.__N_SSP}),this.components["/_app"]={Component:l,styleSheets:[]},this.events=t.events,this.pageLoader=s,this.pathname=e,this.query=r;var b=(0,p.isDynamicRoute)(e)&&self.__NEXT_DATA__.autoExport;this.asPath=b?e:n,this.basePath="",this.sub=m,this.clc=null,this._wrapApp=f,this.isSsr=!0,this.isFallback=g,this.isReady=!(!self.__NEXT_DATA__.gssp&&!self.__NEXT_DATA__.gip&&(b||self.location.search)),"//"!==n.substr(0,2)&&this.changeState("replaceState",(0,h.formatWithValidation)({pathname:P(e),query:r}),(0,h.getURL)(),{locale:w}),window.addEventListener("popstate",this.onPopState)}return i(t,[{key:"reload",value:function(){window.location.reload()}},{key:"back",value:function(){window.history.back()}},{key:"push",value:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var n=A(this,t,e);return t=n.url,e=n.as,this.change("pushState",t,e,r)}},{key:"replace",value:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=A(this,t,e);return t=n.url,e=n.as,this.change("replaceState",t,e,r)}},{key:"change",value:function(){var e=o(n.mark((function e(r,o,a,i,u){var l,f,v,g,w,x,O,C,I,T,M,N,D,U,W,q,F,G,B,H,V,z,K,Y,$,X,J,Q,Z,tt,et,rt,nt;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(E(o)){e.next=3;break}return window.location.href=o,e.abrupt("return",!1);case 3:i._h&&(this.isReady=!0),i.scroll=!(null!=(l=i.scroll)&&!l),f=i.locale!==this.locale,e.next=18;break;case 18:if(i._h||(this.isSsr=!1),h.ST&&performance.mark("routeChange"),v=i.shallow,g={shallow:void 0!==v&&v},this._inFlightRoute&&this.abortComponentLoad(this._inFlightRoute,g),a=P(b(S(a)?k(a):a,i.locale,this.defaultLocale)),w=_(S(a)?k(a):a,this.locale),this._inFlightRoute=a,i._h||!this.onlyAHashChange(w)){e.next=34;break}return this.asPath=w,t.events.emit("hashChangeStart",a,g),this.changeState(r,o,a,i),this.scrollToHash(w),this.notify(this.components[this.route],null),t.events.emit("hashChangeComplete",a,g),e.abrupt("return",!0);case 34:return x=(0,d.parseRelativeUrl)(o),C=(O=x).pathname,I=O.query,e.prev=36,e.next=39,this.pageLoader.getPageList();case 39:return T=e.sent,e.next=42,(0,s.getClientBuildManifest)();case 42:M=e.sent,M.__rewrites,e.next=50;break;case 46:return e.prev=46,e.t0=e.catch(36),window.location.href=a,e.abrupt("return",!1);case 50:if((x=this._resolveHref(x,T)).pathname!==C&&(C=x.pathname,o=(0,h.formatWithValidation)(x)),C=C?(0,c.removePathTrailingSlash)(k(C)):C,this.urlIsNew(w)||f||(r="replaceState"),N=(0,c.removePathTrailingSlash)(C),D=a,E(a)){e.next=62;break}e.next=60;break;case 60:return window.location.href=a,e.abrupt("return",!1);case 62:if(D=_(k(D),this.locale),!(0,p.isDynamicRoute)(N)){e.next=78;break}if(U=(0,d.parseRelativeUrl)(D),W=U.pathname,q=(0,m.getRouteRegex)(N),F=(0,y.getRouteMatcher)(q)(W),B=(G=N===W)?R(N,W,I):{},F&&(!G||B.result)){e.next=77;break}if(!((H=Object.keys(q.groups).filter((function(t){return!I[t]}))).length>0)){e.next=75;break}throw new Error((G?"The provided `href` (".concat(o,") value is missing query values (").concat(H.join(", "),") to be interpolated properly. "):"The provided `as` value (".concat(W,") is incompatible with the `href` value (").concat(N,"). "))+"Read more: https://err.sh/vercel/next.js/".concat(G?"href-interpolation-failed":"incompatible-href-as"));case 75:e.next=78;break;case 77:G?a=(0,h.formatWithValidation)(Object.assign({},U,{pathname:B.result,query:L(I,B.params)})):Object.assign(I,F);case 78:return t.events.emit("routeChangeStart",a,g),e.prev=79,e.next=82,this.getRouteInfo(N,C,I,a,D,g);case 82:if(V=e.sent,K=(z=V).error,Y=z.props,$=z.__N_SSG,X=z.__N_SSP,!$&&!X||!Y){e.next=108;break}if(!Y.pageProps||!Y.pageProps.__N_REDIRECT){e.next=95;break}if(!(J=Y.pageProps.__N_REDIRECT).startsWith("/")){e.next=93;break}if(Q=(0,d.parseRelativeUrl)(J),this._resolveHref(Q,T,!1),!T.includes(Q.pathname)){e.next=93;break}return Z=A(this,J,J),tt=Z.url,et=Z.as,e.abrupt("return",this.change(r,tt,et,i));case 93:return window.location.href=J,e.abrupt("return",new Promise((function(){})));case 95:if(Y.notFound!==j){e.next=108;break}return e.prev=96,e.next=99,this.fetchComponent("/404");case 99:rt="/404",e.next=105;break;case 102:e.prev=102,e.t1=e.catch(96),rt="/_error";case 105:return e.next=107,this.getRouteInfo(rt,rt,I,a,D,{shallow:!1});case 107:V=e.sent;case 108:return t.events.emit("beforeHistoryChange",a,g),this.changeState(r,o,a,i),nt=i.shallow&&this.route===N,e.next=114,this.set(N,C,I,w,V,u||(nt||!i.scroll?null:{x:0,y:0})).catch((function(t){if(!t.cancelled)throw t;K=K||t}));case 114:if(!K){e.next=117;break}throw t.events.emit("routeChangeError",K,w,g),K;case 117:return t.events.emit("routeChangeComplete",a,g),e.abrupt("return",!0);case 122:if(e.prev=122,e.t2=e.catch(79),!e.t2.cancelled){e.next=126;break}return e.abrupt("return",!1);case 126:throw e.t2;case 127:case"end":return e.stop()}}),e,this,[[36,46],[79,122],[96,102]])})));return function(t,r,n,o,a){return e.apply(this,arguments)}}()},{key:"changeState",value:function(t,e,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};"pushState"===t&&(0,h.getURL)()===r||(this._shallow=n.shallow,window.history[t]({url:e,as:r,options:n,__N:!0,idx:this._idx="pushState"!==t?this._idx:this._idx+1},"",r))}},{key:"handleRouteInfoError",value:function(){var e=o(n.mark((function e(r,o,a,i,u,c){var l,f,h,p;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!r.cancelled){e.next=2;break}throw r;case 2:if(!(0,s.isAssetError)(r)&&!c){e.next=6;break}throw t.events.emit("routeChangeError",r,i,u),window.location.href=i,w();case 6:if(e.prev=6,"undefined"!==typeof l&&"undefined"!==typeof f){e.next=14;break}return e.next=11,this.fetchComponent("/_error");case 11:h=e.sent,l=h.page,f=h.styleSheets;case 14:if((p={props:undefined,Component:l,styleSheets:f,err:r,error:r}).props){e.next=26;break}return e.prev=16,e.next=19,this.getInitialProps(l,{err:r,pathname:o,query:a});case 19:p.props=e.sent,e.next=26;break;case 22:e.prev=22,e.t0=e.catch(16),console.error("Error in error page `getInitialProps`: ",e.t0),p.props={};case 26:return e.abrupt("return",p);case 29:return e.prev=29,e.t1=e.catch(6),e.abrupt("return",this.handleRouteInfoError(e.t1,o,a,i,u,!0));case 32:case"end":return e.stop()}}),e,this,[[6,29],[16,22]])})));return function(t,r,n,o,a,i){return e.apply(this,arguments)}}()},{key:"getRouteInfo",value:function(){var t=o(n.mark((function t(e,r,o,a,i,u){var c,s,l,f,p,d,v,y,m=this;return n.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(t.prev=0,c=this.components[e],!u.shallow||!c||this.route!==e){t.next=4;break}return t.abrupt("return",c);case 4:if(!(s=c&&"initial"in c?void 0:c)){t.next=9;break}t.t0=s,t.next=12;break;case 9:return t.next=11,this.fetchComponent(e).then((function(t){return{Component:t.page,styleSheets:t.styleSheets,__N_SSG:t.mod.__N_SSG,__N_SSP:t.mod.__N_SSP}}));case 11:t.t0=t.sent;case 12:l=t.t0,f=l.Component,p=l.__N_SSG,d=l.__N_SSP,t.next=18;break;case 18:return(p||d)&&(v=this.pageLoader.getDataHref((0,h.formatWithValidation)({pathname:r,query:o}),i,p,this.locale)),t.next=21,this._getData((function(){return p?m._getStaticData(v):d?m._getServerData(v):m.getInitialProps(f,{pathname:r,query:o,asPath:a})}));case 21:return y=t.sent,l.props=y,this.components[e]=l,t.abrupt("return",l);case 27:return t.prev=27,t.t1=t.catch(0),t.abrupt("return",this.handleRouteInfoError(t.t1,r,o,a,u));case 30:case"end":return t.stop()}}),t,this,[[0,27]])})));return function(e,r,n,o,a,i){return t.apply(this,arguments)}}()},{key:"set",value:function(t,e,r,n,o,a){return this.isFallback=!1,this.route=t,this.pathname=e,this.query=r,this.asPath=n,this.notify(o,a)}},{key:"beforePopState",value:function(t){this._bps=t}},{key:"onlyAHashChange",value:function(t){if(!this.asPath)return!1;var e=this.asPath.split("#"),r=u(e,2),n=r[0],o=r[1],a=t.split("#"),i=u(a,2),c=i[0],s=i[1];return!(!s||n!==c||o!==s)||n===c&&o!==s}},{key:"scrollToHash",value:function(t){var e=t.split("#"),r=u(e,2)[1];if(""!==r){var n=document.getElementById(r);if(n)n.scrollIntoView();else{var o=document.getElementsByName(r)[0];o&&o.scrollIntoView()}}else window.scrollTo(0,0)}},{key:"urlIsNew",value:function(t){return this.asPath!==t}},{key:"_resolveHref",value:function(t,e){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=t.pathname,o=(0,c.removePathTrailingSlash)((0,l.denormalizePagePath)(r?k(n):n));return"/404"===o||"/_error"===o||(e.includes(o)||e.some((function(e){if((0,p.isDynamicRoute)(e)&&(0,m.getRouteRegex)(e).re.test(o))return t.pathname=r?P(e):e,!0})),t.pathname=(0,c.removePathTrailingSlash)(t.pathname)),t}},{key:"prefetch",value:function(){var t=o(n.mark((function t(e){var r,o,a,i,u,s,l=this,f=arguments;return n.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=f.length>1&&void 0!==f[1]?f[1]:e,o=f.length>2&&void 0!==f[2]?f[2]:{},a=(0,d.parseRelativeUrl)(e),i=a.pathname,t.next=7,this.pageLoader.getPageList();case 7:u=t.sent,(a=this._resolveHref(a,u,!1)).pathname!==i&&(i=a.pathname,e=(0,h.formatWithValidation)(a)),t.next=12;break;case 12:return s=(0,c.removePathTrailingSlash)(i),t.next=15,Promise.all([this.pageLoader._isSsg(e).then((function(t){return!!t&&l._getStaticData(l.pageLoader.getDataHref(e,r,!0,"undefined"!==typeof o.locale?o.locale:l.locale))})),this.pageLoader[o.priority?"loadPage":"prefetch"](s)]);case 15:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}()},{key:"fetchComponent",value:function(){var t=o(n.mark((function t(e){var r,o,a,i;return n.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=!1,o=this.clc=function(){r=!0},t.next=4,this.pageLoader.loadPage(e);case 4:if(a=t.sent,!r){t.next=9;break}throw(i=new Error('Abort fetching component for route: "'.concat(e,'"'))).cancelled=!0,i;case 9:return o===this.clc&&(this.clc=null),t.abrupt("return",a);case 11:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}()},{key:"_getData",value:function(t){var e=this,r=!1,n=function(){r=!0};return this.clc=n,t().then((function(t){if(n===e.clc&&(e.clc=null),r){var o=new Error("Loading initial props cancelled");throw o.cancelled=!0,o}return t}))}},{key:"_getStaticData",value:function(t){var e=this,r=new URL(t,window.location.href).href;return this.sdc[r]?Promise.resolve(this.sdc[r]):T(t,this.isSsr).then((function(t){return e.sdc[r]=t,t}))}},{key:"_getServerData",value:function(t){return T(t,this.isSsr)}},{key:"getInitialProps",value:function(t,e){var r=this.components["/_app"].Component,n=this._wrapApp(r);return e.AppTree=n,(0,h.loadGetInitialProps)(r,{AppTree:n,Component:t,router:this,ctx:e})}},{key:"abortComponentLoad",value:function(e,r){this.clc&&(t.events.emit("routeChangeError",w(),e,r),this.clc(),this.clc=null)}},{key:"notify",value:function(t,e){return this.sub(t,this.components["/_app"].Component,e)}}]),t}();e.default=M,M.events=(0,f.default)()},"g/15":function(t,e,r){"use strict";var n=r("vJKn"),o=r("qVT1");e.__esModule=!0,e.execOnce=function(t){var e,r=!1;return function(){return r||(r=!0,e=t.apply(void 0,arguments)),e}},e.getLocationOrigin=i,e.getURL=function(){var t=window.location.href,e=i();return t.substring(e.length)},e.getDisplayName=u,e.isResSent=c,e.loadGetInitialProps=s,e.formatWithValidation=function(t){0;return(0,a.formatUrl)(t)},e.ST=e.SP=e.urlObjectKeys=void 0;var a=r("6D7l");function i(){var t=window.location,e=t.protocol,r=t.hostname,n=t.port;return"".concat(e,"//").concat(r).concat(n?":"+n:"")}function u(t){return"string"===typeof t?t:t.displayName||t.name||"Unknown"}function c(t){return t.finished||t.headersSent}function s(t,e){return l.apply(this,arguments)}function l(){return(l=o(n.mark((function t(e,r){var o,a,i;return n.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:t.next=4;break;case 4:if(o=r.res||r.ctx&&r.ctx.res,e.getInitialProps){t.next=12;break}if(!r.ctx||!r.Component){t.next=11;break}return t.next=9,s(r.Component,r.ctx);case 9:return t.t0=t.sent,t.abrupt("return",{pageProps:t.t0});case 11:return t.abrupt("return",{});case 12:return t.next=14,e.getInitialProps(r);case 14:if(a=t.sent,!o||!c(o)){t.next=17;break}return t.abrupt("return",a);case 17:if(a){t.next=20;break}throw i='"'.concat(u(e),'.getInitialProps()" should resolve to an object. But found "').concat(a,'" instead.'),new Error(i);case 20:return t.abrupt("return",a);case 22:case"end":return t.stop()}}),t)})))).apply(this,arguments)}e.urlObjectKeys=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];var f="undefined"!==typeof performance;e.SP=f;var h=f&&"function"===typeof performance.mark&&"function"===typeof performance.measure;e.ST=h},gguc:function(t,e,r){"use strict";e.__esModule=!0,e.getRouteMatcher=function(t){var e=t.re,r=t.groups;return function(t){var n=e.exec(t);if(!n)return!1;var o=function(t){try{return decodeURIComponent(t)}catch(r){var e=new Error("failed to decode param");throw e.code="DECODE_FAILED",e}},a={};return Object.keys(r).forEach((function(t){var e=r[t],i=n[e.pos];void 0!==i&&(a[t]=~i.indexOf("/")?i.split("/").map((function(t){return o(t)})):e.repeat?[o(i)]:o(i))})),a}}},hS4m:function(t,e,r){"use strict";e.__esModule=!0,e.parseRelativeUrl=function(t,e){var r=new URL((0,n.getLocationOrigin)()),a=e?new URL(e,r):r,i=new URL(t,a),u=i.pathname,c=i.searchParams,s=i.search,l=i.hash,f=i.href;if(i.origin!==r.origin)throw new Error("invariant: invalid relative URL, router received ".concat(t));return{pathname:u,query:(0,o.searchParamsToUrlQuery)(c),search:s,hash:l,href:f.slice(r.origin.length)}};var n=r("g/15"),o=r("3WeD")},i2R6:function(t,e){function r(t,e){for(var r=0;r=0;--a){var i=this.tryEntries[a],u=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(c&&s){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),R(r),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;R(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:O(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),v}},t}(t.exports);try{regeneratorRuntime=n}catch(o){Function("r","regeneratorRuntime = r")(n)}},mxvI:function(t,e){t.exports=function(t,e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(t)){var r=[],n=!0,o=!1,a=void 0;try{for(var i,u=t[Symbol.iterator]();!(n=(i=u.next()).done)&&(r.push(i.value),!e||r.length!==e);n=!0);}catch(c){o=!0,a=c}finally{try{n||null==u.return||u.return()}finally{if(o)throw a}}return r}}},nOHt:function(t,e,r){"use strict";var n=r("q722");function o(t,e){var r;if("undefined"===typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(r=function(t,e){if(!t)return;if("string"===typeof t)return a(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return a(t,e)}(t))||e&&t&&"number"===typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,u=!0,c=!1;return{s:function(){r=t[Symbol.iterator]()},n:function(){var t=r.next();return u=t.done,t},e:function(t){c=!0,i=t},f:function(){try{u||null==r.return||r.return()}finally{if(c)throw i}}}}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r=w},o=function(){},t.unstable_forceFrameRate=function(e){0>e||125>>1,l=e[r];if(!(void 0!==l&&0C(o,n))void 0!==i&&0>C(i,o)?(e[r]=i,e[u]=n,r=u):(e[r]=o,e[a]=n,r=a);else{if(!(void 0!==i&&0>C(i,n)))break e;e[r]=i,e[u]=n,r=u}}}return t}return null}function C(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var P=[],N=[],T=1,L=null,z=3,O=!1,R=!1,M=!1;function I(e){for(var t=_(N);null!==t;){if(null===t.callback)x(N);else{if(!(t.startTime<=e))break;x(N),t.sortIndex=t.expirationTime,S(P,t)}t=_(N)}}function D(e){if(M=!1,I(e),!R)if(null!==_(P))R=!0,r(F);else{var t=_(N);null!==t&&l(D,t.startTime-e)}}function F(e,n){R=!1,M&&(M=!1,a()),O=!0;var r=z;try{for(I(n),L=_(P);null!==L&&(!(L.expirationTime>n)||e&&!t.unstable_shouldYield());){var o=L.callback;if("function"===typeof o){L.callback=null,z=L.priorityLevel;var u=o(L.expirationTime<=n);n=t.unstable_now(),"function"===typeof u?L.callback=u:L===_(P)&&x(P),I(n)}else x(P);L=_(P)}if(null!==L)var i=!0;else{var s=_(N);null!==s&&l(D,s.startTime-n),i=!1}return i}finally{L=null,z=r,O=!1}}var U=o;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){R||O||(R=!0,r(F))},t.unstable_getCurrentPriorityLevel=function(){return z},t.unstable_getFirstCallbackNode=function(){return _(P)},t.unstable_next=function(e){switch(z){case 1:case 2:case 3:var t=3;break;default:t=z}var n=z;z=t;try{return e()}finally{z=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=U,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=z;z=e;try{return t()}finally{z=n}},t.unstable_scheduleCallback=function(e,n,o){var u=t.unstable_now();switch("object"===typeof o&&null!==o?o="number"===typeof(o=o.delay)&&0u?(e.sortIndex=o,S(N,e),null===_(P)&&e===_(N)&&(M?a():M=!0,l(D,o-u))):(e.sortIndex=i,S(P,e),R||O||(R=!0,r(F))),e},t.unstable_wrapCallback=function(e){var t=z;return function(){var n=z;z=t;try{return e.apply(this,arguments)}finally{z=n}}}},"0x2o":function(e,t,n){"use strict";n("Qetd");var r=n("q1tI"),l=60103;if(t.Fragment=60107,"function"===typeof Symbol&&Symbol.for){var a=Symbol.for;l=a("react.element"),t.Fragment=a("react.fragment")}var o=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,u=Object.prototype.hasOwnProperty,i={key:!0,ref:!0,__self:!0,__source:!0};function s(e,t,n){var r,a={},s=null,c=null;for(r in void 0!==n&&(s=""+n),void 0!==t.key&&(s=""+t.key),void 0!==t.ref&&(c=t.ref),t)u.call(t,r)&&!i.hasOwnProperty(r)&&(a[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===a[r]&&(a[r]=t[r]);return{$$typeof:l,type:e,key:s,ref:c,props:a,_owner:o.current}}t.jsx=s,t.jsxs=s},"16Al":function(e,t,n){"use strict";var r=n("WbBG");function l(){}function a(){}a.resetWarningCache=l,e.exports=function(){function e(e,t,n,l,a,o){if(o!==r){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:l};return n.PropTypes=n,n}},"17x9":function(e,t,n){e.exports=n("16Al")()},QCnb:function(e,t,n){"use strict";e.exports=n("+wdc")},WbBG:function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},i8i4:function(e,t,n){"use strict";!function e(){if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n("yl30")},nKUr:function(e,t,n){"use strict";e.exports=n("0x2o")},q1tI:function(e,t,n){"use strict";e.exports=n("viRO")},viRO:function(e,t,n){"use strict";var r=n("Qetd"),l=60103,a=60106;t.Fragment=60107,t.StrictMode=60108,t.Profiler=60114;var o=60109,u=60110,i=60112;t.Suspense=60113;var s=60115,c=60116;if("function"===typeof Symbol&&Symbol.for){var f=Symbol.for;l=f("react.element"),a=f("react.portal"),t.Fragment=f("react.fragment"),t.StrictMode=f("react.strict_mode"),t.Profiler=f("react.profiler"),o=f("react.provider"),u=f("react.context"),i=f("react.forward_ref"),t.Suspense=f("react.suspense"),s=f("react.memo"),c=f("react.lazy")}var d="function"===typeof Symbol&&Symbol.iterator;function p(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n