├── .gitignore
├── src
└── main
│ ├── webapp
│ ├── WEB-INF
│ │ └── layout
│ │ │ └── index.jsp
│ └── demo
│ │ └── build
│ │ ├── favicon.ico
│ │ ├── asset-manifest.json
│ │ ├── manifest.json
│ │ ├── index.html
│ │ ├── static
│ │ ├── css
│ │ │ ├── main.c17080f1.css
│ │ │ └── main.c17080f1.css.map
│ │ └── js
│ │ │ └── main.80dbc036.js
│ │ └── service-worker.js
│ ├── resources
│ └── application.properties
│ └── java
│ └── react
│ └── backend
│ ├── MainController.java
│ └── App.java
├── apps
└── demo
│ ├── src
│ ├── index.css
│ ├── App.test.js
│ ├── index.js
│ ├── App.css
│ ├── App.js
│ └── registerServiceWorker.js
│ ├── public
│ ├── favicon.ico
│ ├── manifest.json
│ └── index.html
│ ├── .gitignore
│ └── package.json
├── README.md
└── pom.xml
/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | .vscode
3 | .settings
4 | .classpath
5 | .project
--------------------------------------------------------------------------------
/src/main/webapp/WEB-INF/layout/index.jsp:
--------------------------------------------------------------------------------
1 | <%@include file="/demo/build/index.html"%>
--------------------------------------------------------------------------------
/apps/demo/src/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | padding: 0;
4 | font-family: sans-serif;
5 | }
6 |
--------------------------------------------------------------------------------
/apps/demo/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gpietro/spring_react_demo/HEAD/apps/demo/public/favicon.ico
--------------------------------------------------------------------------------
/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.mvc.view.prefix: /WEB-INF/layout/
2 | spring.mvc.view.suffix: .jsp
--------------------------------------------------------------------------------
/src/main/webapp/demo/build/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gpietro/spring_react_demo/HEAD/src/main/webapp/demo/build/favicon.ico
--------------------------------------------------------------------------------
/src/main/webapp/demo/build/asset-manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "main.css": "static/css/main.c17080f1.css",
3 | "main.css.map": "static/css/main.c17080f1.css.map",
4 | "main.js": "static/js/main.80dbc036.js",
5 | "main.js.map": "static/js/main.80dbc036.js.map"
6 | }
--------------------------------------------------------------------------------
/apps/demo/src/App.test.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import App from './App';
4 |
5 | it('renders without crashing', () => {
6 | const div = document.createElement('div');
7 | ReactDOM.render(, div);
8 | });
9 |
--------------------------------------------------------------------------------
/apps/demo/src/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.css';
4 | import App from './App';
5 | import registerServiceWorker from './registerServiceWorker';
6 |
7 | ReactDOM.render(, document.getElementById('root'));
8 | registerServiceWorker();
9 |
--------------------------------------------------------------------------------
/apps/demo/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/ignore-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 |
6 | # testing
7 | /coverage
8 |
9 | # production
10 | /build
11 |
12 | # misc
13 | .DS_Store
14 | .env.local
15 | .env.development.local
16 | .env.test.local
17 | .env.production.local
18 |
19 | npm-debug.log*
20 | yarn-debug.log*
21 | yarn-error.log*
22 |
--------------------------------------------------------------------------------
/apps/demo/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "React App",
3 | "name": "Create React App Sample",
4 | "icons": [
5 | {
6 | "src": "favicon.ico",
7 | "sizes": "64x64 32x32 24x24 16x16",
8 | "type": "image/x-icon"
9 | }
10 | ],
11 | "start_url": "./index.html",
12 | "display": "standalone",
13 | "theme_color": "#000000",
14 | "background_color": "#ffffff"
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/webapp/demo/build/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "React App",
3 | "name": "Create React App Sample",
4 | "icons": [
5 | {
6 | "src": "favicon.ico",
7 | "sizes": "64x64 32x32 24x24 16x16",
8 | "type": "image/x-icon"
9 | }
10 | ],
11 | "start_url": "./index.html",
12 | "display": "standalone",
13 | "theme_color": "#000000",
14 | "background_color": "#ffffff"
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/java/react/backend/MainController.java:
--------------------------------------------------------------------------------
1 | package react.backend;
2 |
3 | import org.springframework.stereotype.Controller;
4 | import org.springframework.web.bind.annotation.RequestMapping;
5 | import org.springframework.web.bind.annotation.RequestMethod;
6 |
7 | @Controller
8 | public class MainController {
9 |
10 | @RequestMapping(value="/", method=RequestMethod.GET)
11 | public String index() {
12 | return "index";
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/apps/demo/src/App.css:
--------------------------------------------------------------------------------
1 | .App {
2 | text-align: center;
3 | }
4 |
5 | .App-logo {
6 | animation: App-logo-spin infinite 20s linear;
7 | height: 80px;
8 | }
9 |
10 | .App-header {
11 | background-color: #222;
12 | height: 150px;
13 | padding: 20px;
14 | color: white;
15 | }
16 |
17 | .App-title {
18 | font-size: 1.5em;
19 | }
20 |
21 | .App-intro {
22 | font-size: large;
23 | }
24 |
25 | @keyframes App-logo-spin {
26 | from { transform: rotate(0deg); }
27 | to { transform: rotate(360deg); }
28 | }
29 |
--------------------------------------------------------------------------------
/apps/demo/src/App.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | import './App.css';
3 |
4 | class App extends Component {
5 | render() {
6 | return (
7 |
15 | );
16 | }
17 | }
18 |
19 | export default App;
20 |
--------------------------------------------------------------------------------
/src/main/webapp/demo/build/index.html:
--------------------------------------------------------------------------------
1 | React App
--------------------------------------------------------------------------------
/apps/demo/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "demo",
3 | "version": "0.0.1",
4 | "private": true,
5 | "devDependencies": {
6 | "react-scripts": "1.0.17"
7 | },
8 | "proxy": "http://localhost:8080",
9 | "homepage": "/demo/build",
10 | "dependencies": {
11 | "react": "^16.1.1",
12 | "react-dom": "^16.1.1"
13 | },
14 | "scripts": {
15 | "start": "react-scripts start",
16 | "build": "react-scripts build && rm -rf ../../src/main/webapp/demo/build/ && mv build/ ../../src/main/webapp/demo/",
17 | "test": "react-scripts test --env=jsdom",
18 | "eject": "react-scripts eject"
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/webapp/demo/build/static/css/main.c17080f1.css:
--------------------------------------------------------------------------------
1 | body{margin:0;padding:0;font-family:sans-serif}.App{text-align:center}.App-logo{-webkit-animation:App-logo-spin infinite 20s linear;animation:App-logo-spin infinite 20s linear;height:80px}.App-header{background-color:#222;height:150px;padding:20px;color:#fff}.App-title{font-size:1.5em}.App-intro{font-size:large}@-webkit-keyframes App-logo-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes App-logo-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}
2 | /*# sourceMappingURL=main.c17080f1.css.map*/
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Spring and React.js demo
2 |
3 | Demonstration on how to use React.js with Spring when isn't possible to use docker and with a single deployment.
4 | This project is a demo related to this [article](https://medium.com/@pietroghezzi/spring-and-react-js-the-easy-way-5abe8a529058).
5 |
6 | ## Requirements
7 | - Java SDK v1.6 or higher
8 | - Apache Maven 3.2 or above
9 |
10 | ## Installation
11 | ```shell
12 | cd /apps/demo
13 | yarn install
14 | yarn build
15 | cd ../../
16 | mvn spring-boot:run
17 | ```
18 |
19 | visit localhost:8080
20 |
21 | ## To run react app without spring on webpack-dev-server
22 | ```shell
23 | cd apps/demo
24 | npm install
25 | npm start
26 | ```
27 |
28 | visit localhost:3000
29 |
--------------------------------------------------------------------------------
/src/main/java/react/backend/App.java:
--------------------------------------------------------------------------------
1 | package react.backend;
2 |
3 | import org.springframework.boot.SpringApplication;
4 | import org.springframework.boot.autoconfigure.SpringBootApplication;
5 | import org.springframework.boot.builder.SpringApplicationBuilder;
6 | import org.springframework.boot.web.support.SpringBootServletInitializer;
7 |
8 | @SpringBootApplication
9 | public class App extends SpringBootServletInitializer {
10 |
11 | @Override
12 | protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
13 | return application.sources(App.class);
14 | }
15 |
16 | public static void main(String[] args) throws Exception {
17 | SpringApplication.run(App.class, args);
18 | }
19 |
20 | }
--------------------------------------------------------------------------------
/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | 4.0.0
5 |
6 | com.spring_react
7 | demo
8 | 0.0.1-SNAPSHOT
9 |
10 |
11 | org.springframework.boot
12 | spring-boot-starter-parent
13 | 1.5.8.RELEASE
14 |
15 |
16 |
17 |
18 | org.springframework.boot
19 | spring-boot-starter-web
20 |
21 |
22 | org.apache.tomcat.embed
23 | tomcat-embed-jasper
24 | provided
25 |
26 |
27 | javax.servlet
28 | jstl
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/src/main/webapp/demo/build/static/css/main.c17080f1.css.map:
--------------------------------------------------------------------------------
1 | {"version":3,"sources":["index.css","App.css"],"names":[],"mappings":"AAAA,KACE,SACA,UACA,sBAAwB,CCH1B,KACE,iBAAmB,CAGrB,UACE,oDACQ,4CACR,WAAa,CAGf,YACE,sBACA,aACA,aACA,UAAa,CAGf,WACE,eAAiB,CAGnB,WACE,eAAiB,CAGnB,iCACE,GAAO,+BAAiC,sBAAwB,CAChE,GAAK,gCAAmC,uBAA0B,CAAE,CAGtE,yBACE,GAAO,+BAAiC,sBAAwB,CAChE,GAAK,gCAAmC,uBAA0B,CAAE","file":"static/css/main.c17080f1.css","sourcesContent":["body {\n margin: 0;\n padding: 0;\n font-family: sans-serif;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.css",".App {\n text-align: center;\n}\n\n.App-logo {\n -webkit-animation: App-logo-spin infinite 20s linear;\n animation: App-logo-spin infinite 20s linear;\n height: 80px;\n}\n\n.App-header {\n background-color: #222;\n height: 150px;\n padding: 20px;\n color: white;\n}\n\n.App-title {\n font-size: 1.5em;\n}\n\n.App-intro {\n font-size: large;\n}\n\n@-webkit-keyframes App-logo-spin {\n from { -webkit-transform: rotate(0deg); transform: rotate(0deg); }\n to { -webkit-transform: rotate(360deg); transform: rotate(360deg); }\n}\n\n@keyframes App-logo-spin {\n from { -webkit-transform: rotate(0deg); transform: rotate(0deg); }\n to { -webkit-transform: rotate(360deg); transform: rotate(360deg); }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/App.css"],"sourceRoot":""}
--------------------------------------------------------------------------------
/apps/demo/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
11 |
12 |
13 |
22 | React App
23 |
24 |
25 |
28 |
29 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/src/main/webapp/demo/build/service-worker.js:
--------------------------------------------------------------------------------
1 | "use strict";function setOfCachedUrls(e){return e.keys().then(function(e){return e.map(function(e){return e.url})}).then(function(e){return new Set(e)})}var precacheConfig=[["/demo/build/index.html","9de33608b53f65736d0097b6f89bae3b"],["/demo/build/static/css/main.c17080f1.css","302476b8b379a677f648aa1e48918ebd"],["/demo/build/static/js/main.80dbc036.js","ffdc86dfa3c2e1265909ebd2de7b6a7f"]],cacheName="sw-precache-v3-sw-precache-webpack-plugin-"+(self.registration?self.registration.scope:""),ignoreUrlParametersMatching=[/^utm_/],addDirectoryIndex=function(e,t){var n=new URL(e);return"/"===n.pathname.slice(-1)&&(n.pathname+=t),n.toString()},cleanResponse=function(e){if(!e.redirected)return Promise.resolve(e);return("body"in e?Promise.resolve(e.body):e.blob()).then(function(t){return new Response(t,{headers:e.headers,status:e.status,statusText:e.statusText})})},createCacheKey=function(e,t,n,r){var a=new URL(e);return r&&a.pathname.match(r)||(a.search+=(a.search?"&":"")+encodeURIComponent(t)+"="+encodeURIComponent(n)),a.toString()},isPathWhitelisted=function(e,t){if(0===e.length)return!0;var n=new URL(t).pathname;return e.some(function(e){return n.match(e)})},stripIgnoredUrlParameters=function(e,t){var n=new URL(e);return n.hash="",n.search=n.search.slice(1).split("&").map(function(e){return e.split("=")}).filter(function(e){return t.every(function(t){return!t.test(e[0])})}).map(function(e){return e.join("=")}).join("&"),n.toString()},hashParamName="_sw-precache",urlsToCacheKeys=new Map(precacheConfig.map(function(e){var t=e[0],n=e[1],r=new URL(t,self.location),a=createCacheKey(r,hashParamName,n,/\.\w{8}\./);return[r.toString(),a]}));self.addEventListener("install",function(e){e.waitUntil(caches.open(cacheName).then(function(e){return setOfCachedUrls(e).then(function(t){return Promise.all(Array.from(urlsToCacheKeys.values()).map(function(n){if(!t.has(n)){var r=new Request(n,{credentials:"same-origin"});return fetch(r).then(function(t){if(!t.ok)throw new Error("Request for "+n+" returned a response with status "+t.status);return cleanResponse(t).then(function(t){return e.put(n,t)})})}}))})}).then(function(){return self.skipWaiting()}))}),self.addEventListener("activate",function(e){var t=new Set(urlsToCacheKeys.values());e.waitUntil(caches.open(cacheName).then(function(e){return e.keys().then(function(n){return Promise.all(n.map(function(n){if(!t.has(n.url))return e.delete(n)}))})}).then(function(){return self.clients.claim()}))}),self.addEventListener("fetch",function(e){if("GET"===e.request.method){var t,n=stripIgnoredUrlParameters(e.request.url,ignoreUrlParametersMatching);(t=urlsToCacheKeys.has(n))||(n=addDirectoryIndex(n,"index.html"),t=urlsToCacheKeys.has(n));!t&&"navigate"===e.request.mode&&isPathWhitelisted(["^(?!\\/__).*"],e.request.url)&&(n=new URL("/demo/build/index.html",self.location).toString(),t=urlsToCacheKeys.has(n)),t&&e.respondWith(caches.open(cacheName).then(function(e){return e.match(urlsToCacheKeys.get(n)).then(function(e){if(e)return e;throw Error("The cached response that was expected is missing.")})}).catch(function(t){return console.warn('Couldn\'t serve response for "%s" from cache: %O',e.request.url,t),fetch(e.request)}))}});
--------------------------------------------------------------------------------
/apps/demo/src/registerServiceWorker.js:
--------------------------------------------------------------------------------
1 | // In production, we register a service worker to serve assets from local cache.
2 |
3 | // This lets the app load faster on subsequent visits in production, and gives
4 | // it offline capabilities. However, it also means that developers (and users)
5 | // will only see deployed updates on the "N+1" visit to a page, since previously
6 | // cached resources are updated in the background.
7 |
8 | // To learn more about the benefits of this model, read https://goo.gl/KwvDNy.
9 | // This link also includes instructions on opting out of this behavior.
10 |
11 | const isLocalhost = Boolean(
12 | window.location.hostname === 'localhost' ||
13 | // [::1] is the IPv6 localhost address.
14 | window.location.hostname === '[::1]' ||
15 | // 127.0.0.1/8 is considered localhost for IPv4.
16 | window.location.hostname.match(
17 | /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
18 | )
19 | );
20 |
21 | export default function register() {
22 | if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {
23 | // The URL constructor is available in all browsers that support SW.
24 | const publicUrl = new URL(process.env.PUBLIC_URL, window.location);
25 | if (publicUrl.origin !== window.location.origin) {
26 | // Our service worker won't work if PUBLIC_URL is on a different origin
27 | // from what our page is served on. This might happen if a CDN is used to
28 | // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374
29 | return;
30 | }
31 |
32 | window.addEventListener('load', () => {
33 | const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;
34 |
35 | if (isLocalhost) {
36 | // This is running on localhost. Lets check if a service worker still exists or not.
37 | checkValidServiceWorker(swUrl);
38 | } else {
39 | // Is not local host. Just register service worker
40 | registerValidSW(swUrl);
41 | }
42 | });
43 | }
44 | }
45 |
46 | function registerValidSW(swUrl) {
47 | navigator.serviceWorker
48 | .register(swUrl)
49 | .then(registration => {
50 | registration.onupdatefound = () => {
51 | const installingWorker = registration.installing;
52 | installingWorker.onstatechange = () => {
53 | if (installingWorker.state === 'installed') {
54 | if (navigator.serviceWorker.controller) {
55 | // At this point, the old content will have been purged and
56 | // the fresh content will have been added to the cache.
57 | // It's the perfect time to display a "New content is
58 | // available; please refresh." message in your web app.
59 | console.log('New content is available; please refresh.');
60 | } else {
61 | // At this point, everything has been precached.
62 | // It's the perfect time to display a
63 | // "Content is cached for offline use." message.
64 | console.log('Content is cached for offline use.');
65 | }
66 | }
67 | };
68 | };
69 | })
70 | .catch(error => {
71 | console.error('Error during service worker registration:', error);
72 | });
73 | }
74 |
75 | function checkValidServiceWorker(swUrl) {
76 | // Check if the service worker can be found. If it can't reload the page.
77 | fetch(swUrl)
78 | .then(response => {
79 | // Ensure service worker exists, and that we really are getting a JS file.
80 | if (
81 | response.status === 404 ||
82 | response.headers.get('content-type').indexOf('javascript') === -1
83 | ) {
84 | // No service worker found. Probably a different app. Reload the page.
85 | navigator.serviceWorker.ready.then(registration => {
86 | registration.unregister().then(() => {
87 | window.location.reload();
88 | });
89 | });
90 | } else {
91 | // Service worker found. Proceed as normal.
92 | registerValidSW(swUrl);
93 | }
94 | })
95 | .catch(() => {
96 | console.log(
97 | 'No internet connection found. App is running in offline mode.'
98 | );
99 | });
100 | }
101 |
102 | export function unregister() {
103 | if ('serviceWorker' in navigator) {
104 | navigator.serviceWorker.ready.then(registration => {
105 | registration.unregister();
106 | });
107 | }
108 | }
109 |
--------------------------------------------------------------------------------
/src/main/webapp/demo/build/static/js/main.80dbc036.js:
--------------------------------------------------------------------------------
1 | !function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/demo/build/",t(t.s=5)}([function(e,t,n){"use strict";function r(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,l,u=r(e),s=1;ss){for(var t=0,n=i.length-u;t-1?t:e}function p(e,t){t=t||{};var n=t.body;if(e instanceof p){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new o(e.headers)),this.method=e.method,this.mode=e.mode,n||null==e._bodyInit||(n=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"omit",!t.headers&&this.headers||(this.headers=new o(t.headers)),this.method=d(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(n)}function h(e){var t=new FormData;return e.trim().split("&").forEach(function(e){if(e){var n=e.split("="),r=n.shift().replace(/\+/g," "),o=n.join("=").replace(/\+/g," ");t.append(decodeURIComponent(r),decodeURIComponent(o))}}),t}function m(e){var t=new o;return e.split(/\r?\n/).forEach(function(e){var n=e.split(":"),r=n.shift().trim();if(r){var o=n.join(":").trim();t.append(r,o)}}),t}function y(e,t){t||(t={}),this.type="default",this.status="status"in t?t.status:200,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new o(t.headers),this.url=t.url||"",this._initBody(e)}if(!e.fetch){var g={searchParams:"URLSearchParams"in e,iterable:"Symbol"in e&&"iterator"in Symbol,blob:"FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in e,arrayBuffer:"ArrayBuffer"in e};if(g.arrayBuffer)var v=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],b=function(e){return e&&DataView.prototype.isPrototypeOf(e)},w=ArrayBuffer.isView||function(e){return e&&v.indexOf(Object.prototype.toString.call(e))>-1};o.prototype.append=function(e,r){e=t(e),r=n(r);var o=this.map[e];this.map[e]=o?o+","+r:r},o.prototype.delete=function(e){delete this.map[t(e)]},o.prototype.get=function(e){return e=t(e),this.has(e)?this.map[e]:null},o.prototype.has=function(e){return this.map.hasOwnProperty(t(e))},o.prototype.set=function(e,r){this.map[t(e)]=n(r)},o.prototype.forEach=function(e,t){for(var n in this.map)this.map.hasOwnProperty(n)&&e.call(t,this.map[n],n,this)},o.prototype.keys=function(){var e=[];return this.forEach(function(t,n){e.push(n)}),r(e)},o.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),r(e)},o.prototype.entries=function(){var e=[];return this.forEach(function(t,n){e.push([n,t])}),r(e)},g.iterable&&(o.prototype[Symbol.iterator]=o.prototype.entries);var C=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];p.prototype.clone=function(){return new p(this,{body:this._bodyInit})},f.call(p.prototype),f.call(y.prototype),y.prototype.clone=function(){return new y(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new o(this.headers),url:this.url})},y.error=function(){var e=new y(null,{status:0,statusText:""});return e.type="error",e};var k=[301,302,303,307,308];y.redirect=function(e,t){if(-1===k.indexOf(t))throw new RangeError("Invalid status code");return new y(null,{status:t,headers:{location:e}})},e.Headers=o,e.Request=p,e.Response=y,e.fetch=function(e,t){return new Promise(function(n,r){var o=new p(e,t),a=new XMLHttpRequest;a.onload=function(){var e={status:a.status,statusText:a.statusText,headers:m(a.getAllResponseHeaders()||"")};e.url="responseURL"in a?a.responseURL:e.headers.get("X-Request-URL");var t="response"in a?a.response:a.responseText;n(new y(t,e))},a.onerror=function(){r(new TypeError("Network request failed"))},a.ontimeout=function(){r(new TypeError("Network request failed"))},a.open(o.method,o.url,!0),"include"===o.credentials&&(a.withCredentials=!0),"responseType"in a&&g.blob&&(a.responseType="blob"),o.headers.forEach(function(e,t){a.setRequestHeader(t,e)}),a.send("undefined"===typeof o._bodyInit?null:o._bodyInit)})},e.fetch.polyfill=!0}}("undefined"!==typeof self?self:this)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=n.n(r),a=n(14),i=n.n(a),l=n(24),u=(n.n(l),n(25)),s=n(27);i.a.render(o.a.createElement(u.a,null),document.getElementById("root")),Object(s.a)()},function(e,t,n){"use strict";function r(e){for(var t=arguments.length-1,n="Minified React error #"+e+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+e,r=0;rR.length&&R.push(e)}function p(e,t,n,o){var a=typeof e;if("undefined"!==a&&"boolean"!==a||(e=null),null===e||"string"===a||"number"===a||"object"===a&&e.$$typeof===O||"object"===a&&e.$$typeof===N)return n(o,e,""===t?"."+h(e,0):t),1;var i=0;if(t=""===t?".":t+":",Array.isArray(e))for(var l=0;lthis.eventPool.length&&this.eventPool.push(e)}function z(e){e.eventPool=[],e.getPooled=H,e.release=B}function V(e,t,n,r){return j.call(this,e,t,n,r)}function W(e,t,n,r){return j.call(this,e,t,n,r)}function K(e,t){switch(e){case"topKeyUp":return-1!==dr.indexOf(t.keyCode);case"topKeyDown":return 229!==t.keyCode;case"topKeyPress":case"topMouseDown":case"topBlur":return!0;default:return!1}}function q(e){return e=e.detail,"object"===typeof e&&"data"in e?e.data:null}function $(e,t){switch(e){case"topCompositionEnd":return q(t);case"topKeyPress":return 32!==t.which?null:(kr=!0,wr);case"topTextInput":return e=t.data,e===wr&&kr?null:e;default:return null}}function Q(e,t){if(xr)return"topCompositionEnd"===e||!pr&&K(e,t)?(e=U(),sr._root=null,sr._startText=null,sr._fallbackText=null,xr=!1,e):null;switch(e){case"topPaste":return null;case"topKeyPress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1Br.length&&Br.push(e)}}}function Ae(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n["ms"+e]="MS"+t,n["O"+e]="o"+t.toLowerCase(),n}function De(e){if(qr[e])return qr[e];if(!Kr[e])return e;var t,n=Kr[e];for(t in n)if(n.hasOwnProperty(t)&&t in $r)return qr[e]=n[t];return""}function Me(e){return Object.prototype.hasOwnProperty.call(e,Xr)||(e[Xr]=Yr++,Gr[e[Xr]]={}),Gr[e[Xr]]}function Fe(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Ue(e,t){var n=Fe(e);e=0;for(var r;n;){if(3===n.nodeType){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Fe(n)}}function Le(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&"text"===e.type||"textarea"===t||"true"===e.contentEditable)}function je(e,t){if(ro||null==eo||eo!==xn())return null;var n=eo;return"selectionStart"in n&&Le(n)?n={start:n.selectionStart,end:n.selectionEnd}:window.getSelection?(n=window.getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}):n=void 0,no&&En(no,n)?null:(no=n,e=j.getPooled(Jr.select,to,e,t),e.type="select",e.target=eo,D(e),e)}function He(e,t,n,r){return j.call(this,e,t,n,r)}function Be(e,t,n,r){return j.call(this,e,t,n,r)}function ze(e,t,n,r){return j.call(this,e,t,n,r)}function Ve(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,32<=e||13===e?e:0}function We(e,t,n,r){return j.call(this,e,t,n,r)}function Ke(e,t,n,r){return j.call(this,e,t,n,r)}function qe(e,t,n,r){return j.call(this,e,t,n,r)}function $e(e,t,n,r){return j.call(this,e,t,n,r)}function Qe(e,t,n,r){return j.call(this,e,t,n,r)}function Ge(e){0>fo||(e.current=co[fo],co[fo]=null,fo--)}function Ye(e,t){fo++,co[fo]=e.current,e.current=t}function Xe(e){return Je(e)?bo:go.current}function Ze(e,t){var n=e.type.contextTypes;if(!n)return Sn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in n)a[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function Je(e){return 2===e.tag&&null!=e.type.childContextTypes}function et(e){Je(e)&&(Ge(vo,e),Ge(go,e))}function tt(e,t,n){null!=go.cursor&&r("168"),Ye(go,t,e),Ye(vo,n,e)}function nt(e,t){var n=e.stateNode,o=e.type.childContextTypes;if("function"!==typeof n.getChildContext)return t;n=n.getChildContext();for(var a in n)a in o||r("108",Ce(e)||"Unknown",a);return wn({},t,n)}function rt(e){if(!Je(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||Sn,bo=go.current,Ye(go,t,e),Ye(vo,vo.current,e),!0}function ot(e,t){var n=e.stateNode;if(n||r("169"),t){var o=nt(e,bo);n.__reactInternalMemoizedMergedChildContext=o,Ge(vo,e),Ge(go,e),Ye(go,o,e)}else Ge(vo,e);Ye(vo,t,e)}function at(e,t,n){this.tag=e,this.key=t,this.stateNode=this.type=null,this.sibling=this.child=this.return=null,this.index=0,this.memoizedState=this.updateQueue=this.memoizedProps=this.pendingProps=this.ref=null,this.internalContextTag=n,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.expirationTime=0,this.alternate=null}function it(e,t,n){var r=e.alternate;return null===r?(r=new at(e.tag,e.key,e.internalContextTag),r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.effectTag=0,r.nextEffect=null,r.firstEffect=null,r.lastEffect=null),r.expirationTime=n,r.pendingProps=t,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function lt(e,t,n){var o=void 0,a=e.type,i=e.key;return"function"===typeof a?(o=a.prototype&&a.prototype.isReactComponent?new at(2,i,t):new at(0,i,t),o.type=a,o.pendingProps=e.props):"string"===typeof a?(o=new at(5,i,t),o.type=a,o.pendingProps=e.props):"object"===typeof a&&null!==a&&"number"===typeof a.tag?(o=a,o.pendingProps=e.props):r("130",null==a?a:typeof a,""),o.expirationTime=n,o}function ut(e,t,n,r){return t=new at(10,r,t),t.pendingProps=e,t.expirationTime=n,t}function st(e,t,n){return t=new at(6,null,t),t.pendingProps=e,t.expirationTime=n,t}function ct(e,t,n){return t=new at(7,e.key,t),t.type=e.handler,t.pendingProps=e,t.expirationTime=n,t}function ft(e,t,n){return e=new at(9,null,t),e.expirationTime=n,e}function dt(e,t,n){return t=new at(4,e.key,t),t.pendingProps=e.children||[],t.expirationTime=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function pt(e){return function(t){try{return e(t)}catch(e){}}}function ht(e){if("undefined"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)return!0;try{var n=t.inject(e);wo=pt(function(e){return t.onCommitFiberRoot(n,e)}),Co=pt(function(e){return t.onCommitFiberUnmount(n,e)})}catch(e){}return!0}function mt(e){"function"===typeof wo&&wo(e)}function yt(e){"function"===typeof Co&&Co(e)}function gt(e){return{baseState:e,expirationTime:0,first:null,last:null,callbackList:null,hasForceUpdate:!1,isInitialized:!1}}function vt(e,t){null===e.last?e.first=e.last=t:(e.last.next=t,e.last=t),(0===e.expirationTime||e.expirationTime>t.expirationTime)&&(e.expirationTime=t.expirationTime)}function bt(e,t){var n=e.alternate,r=e.updateQueue;null===r&&(r=e.updateQueue=gt(null)),null!==n?null===(e=n.updateQueue)&&(e=n.updateQueue=gt(null)):e=null,e=e!==r?e:null,null===e?vt(r,t):null===r.last||null===e.last?(vt(r,t),vt(e,t)):(vt(r,t),e.last=t)}function wt(e,t,n,r){return e=e.partialState,"function"===typeof e?e.call(t,n,r):e}function Ct(e,t,n,r,o,a){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var i=!0,l=n.first,u=!1;null!==l;){var s=l.expirationTime;if(s>a){var c=n.expirationTime;(0===c||c>s)&&(n.expirationTime=s),u||(u=!0,n.baseState=e)}else u||(n.first=l.next,null===n.first&&(n.last=null)),l.isReplace?(e=wt(l,r,e,o),i=!0):(s=wt(l,r,e,o))&&(e=i?wn({},e,s):wn(e,s),i=!1),l.isForced&&(n.hasForceUpdate=!0),null!==l.callback&&(s=n.callbackList,null===s&&(s=n.callbackList=[]),s.push(l));l=l.next}return null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||(t.updateQueue=null),u||(n.baseState=e),e}function kt(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;ed?(p=f,f=null):p=f.sibling;var h=y(e,f,i[d],u);if(null===h){null===f&&(f=p);break}t&&f&&null===h.alternate&&n(e,f),r=l(h,r,d),null===c?s=h:c.sibling=h,c=h,f=p}if(d===i.length)return o(e,f),s;if(null===f){for(;dp?(h=d,d=null):h=d.sibling;var b=y(e,d,v.value,s);if(null===b){d||(d=h);break}t&&d&&null===b.alternate&&n(e,d),i=l(b,i,p),null===f?c=b:f.sibling=b,f=b,d=h}if(v.done)return o(e,d),c;if(null===d){for(;!v.done;p++,v=u.next())null!==(v=m(e,v.value,s))&&(i=l(v,i,p),null===f?c=v:f.sibling=v,f=v);return c}for(d=a(e,d);!v.done;p++,v=u.next())null!==(v=g(d,e,p,v.value,s))&&(t&&null!==v.alternate&&d.delete(null===v.key?p:v.key),i=l(v,i,p),null===f?c=v:f.sibling=v,f=v);return t&&d.forEach(function(t){return n(e,t)}),c}return function(e,t,a,l){var s="object"===typeof a&&null!==a;if(s)switch(a.$$typeof){case po:e:{var c=a.key;for(s=t;null!==s;){if(s.key===c){if(10===s.tag?a.type===yo:s.type===a.type){o(e,s.sibling),t=i(s,a.type===yo?a.props.children:a.props,l),t.ref=_t(s,a),t.return=e,e=t;break e}o(e,s);break}n(e,s),s=s.sibling}a.type===yo?(a=ut(a.props.children,e.internalContextTag,l,a.key),a.return=e,e=a):(l=lt(a,e.internalContextTag,l),l.ref=_t(t,a),l.return=e,e=l)}return u(e);case ho:e:{for(s=a.key;null!==t;){if(t.key===s){if(7===t.tag){o(e,t.sibling),a=i(t,a,l),a.return=e,e=a;break e}o(e,t);break}n(e,t),t=t.sibling}a=ct(a,e.internalContextTag,l),a.return=e,e=a}return u(e);case mo:e:{if(null!==t){if(9===t.tag){o(e,t.sibling),t=i(t,null,l),t.type=a.value,t.return=e,e=t;break e}o(e,t)}t=ft(a,e.internalContextTag,l),t.type=a.value,t.return=e,e=t}return u(e);case ko:e:{for(s=a.key;null!==t;){if(t.key===s){if(4===t.tag&&t.stateNode.containerInfo===a.containerInfo&&t.stateNode.implementation===a.implementation){o(e,t.sibling),a=i(t,a.children||[],l),a.return=e,e=a;break e}o(e,t);break}n(e,t),t=t.sibling}a=dt(a,e.internalContextTag,l),a.return=e,e=a}return u(e)}if("string"===typeof a||"number"===typeof a)return a=""+a,null!==t&&6===t.tag?(o(e,t.sibling),a=i(t,a,l)):(o(e,t),a=st(a,e.internalContextTag,l)),a.return=e,e=a,u(e);if(xo(a))return v(e,t,a,l);if(Tt(a))return b(e,t,a,l);if(s&&St(e,a),"undefined"===typeof a)switch(e.tag){case 2:case 1:a=e.type,r("152",a.displayName||a.name||"Component")}return o(e,t)}}function Ot(e,t,n,o,a){function i(e,t,n){l(e,t,n,t.expirationTime)}function l(e,t,n,r){t.child=null===e?So(t,t.child,n,r):e.child===t.child?To(t,t.child,n,r):_o(t,t.child,n,r)}function u(e,t){var n=t.ref;null===n||e&&e.ref===n||(t.effectTag|=128)}function s(e,t,n,r){if(u(e,t),!n)return r&&ot(t,!1),f(e,t);n=t.stateNode,Hr.current=t;var o=n.render();return t.effectTag|=1,i(e,t,o),t.memoizedState=n.state,t.memoizedProps=n.props,r&&ot(t,!0),t.child}function c(e){var t=e.stateNode;t.pendingContext?tt(e,t.pendingContext,t.pendingContext!==t.context):t.context&&tt(e,t.context,!1),g(e,t.containerInfo)}function f(e,t){if(null!==e&&t.child!==e.child&&r("153"),null!==t.child){e=t.child;var n=it(e,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,n=n.sibling=it(e,e.pendingProps,e.expirationTime),n.return=t;n.sibling=null}return t.child}function d(e,t){switch(t.tag){case 3:c(t);break;case 2:rt(t);break;case 4:g(t,t.stateNode.containerInfo)}return null}var p=e.shouldSetTextContent,h=e.useSyncScheduling,m=e.shouldDeprioritizeSubtree,y=t.pushHostContext,g=t.pushHostContainer,v=n.enterHydrationState,b=n.resetHydrationState,w=n.tryToClaimNextHydratableInstance;e=xt(o,a,function(e,t){e.memoizedProps=t},function(e,t){e.memoizedState=t});var C=e.adoptClassInstance,k=e.constructClassInstance,x=e.mountClassInstance,E=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n)return d(e,t);switch(t.tag){case 0:null!==e&&r("155");var o=t.type,a=t.pendingProps,l=Xe(t);return l=Ze(t,l),o=o(a,l),t.effectTag|=1,"object"===typeof o&&null!==o&&"function"===typeof o.render?(t.tag=2,a=rt(t),C(t,o),x(t,n),t=s(e,t,!0,a)):(t.tag=1,i(e,t,o),t.memoizedProps=a,t=t.child),t;case 1:e:{if(a=t.type,n=t.pendingProps,o=t.memoizedProps,vo.current)null===n&&(n=o);else if(null===n||o===n){t=f(e,t);break e}o=Xe(t),o=Ze(t,o),a=a(n,o),t.effectTag|=1,i(e,t,a),t.memoizedProps=n,t=t.child}return t;case 2:return a=rt(t),o=void 0,null===e?t.stateNode?r("153"):(k(t,t.pendingProps),x(t,n),o=!0):o=E(e,t,n),s(e,t,o,a);case 3:return c(t),a=t.updateQueue,null!==a?(o=t.memoizedState,a=Ct(e,t,a,null,null,n),o===a?(b(),t=f(e,t)):(o=a.element,l=t.stateNode,(null===e||null===e.child)&&l.hydrate&&v(t)?(t.effectTag|=2,t.child=So(t,t.child,o,n)):(b(),i(e,t,o)),t.memoizedState=a,t=t.child)):(b(),t=f(e,t)),t;case 5:y(t),null===e&&w(t),a=t.type;var T=t.memoizedProps;return o=t.pendingProps,null===o&&null===(o=T)&&r("154"),l=null!==e?e.memoizedProps:null,vo.current||null!==o&&T!==o?(T=o.children,p(a,o)?T=null:l&&p(a,l)&&(t.effectTag|=16),u(e,t),2147483647!==n&&!h&&m(a,o)?(t.expirationTime=2147483647,t=null):(i(e,t,T),t.memoizedProps=o,t=t.child)):t=f(e,t),t;case 6:return null===e&&w(t),e=t.pendingProps,null===e&&(e=t.memoizedProps),t.memoizedProps=e,null;case 8:t.tag=7;case 7:return a=t.pendingProps,vo.current?null===a&&null===(a=e&&e.memoizedProps)&&r("154"):null!==a&&t.memoizedProps!==a||(a=t.memoizedProps),o=a.children,t.stateNode=null===e?So(t,t.stateNode,o,n):e.child===t.child?To(t,t.stateNode,o,n):_o(t,t.stateNode,o,n),t.memoizedProps=a,t.stateNode;case 9:return null;case 4:e:{if(g(t,t.stateNode.containerInfo),a=t.pendingProps,vo.current)null===a&&null==(a=e&&e.memoizedProps)&&r("154");else if(null===a||t.memoizedProps===a){t=f(e,t);break e}null===e?t.child=_o(t,t.child,a,n):i(e,t,a),t.memoizedProps=a,t=t.child}return t;case 10:e:{if(n=t.pendingProps,vo.current)null===n&&(n=t.memoizedProps);else if(null===n||t.memoizedProps===n){t=f(e,t);break e}i(e,t,n),t.memoizedProps=n,t=t.child}return t;default:r("156")}},beginFailedWork:function(e,t,n){switch(t.tag){case 2:rt(t);break;case 3:c(t);break;default:r("157")}return t.effectTag|=64,null===e?t.child=null:t.child!==e.child&&(t.child=e.child),0===t.expirationTime||t.expirationTime>n?d(e,t):(t.firstEffect=null,t.lastEffect=null,l(e,t,null,n),2===t.tag&&(e=t.stateNode,t.memoizedProps=e.props,t.memoizedState=e.state),t.child)}}}function Nt(e,t,n){function o(e){e.effectTag|=4}var a=e.createInstance,i=e.createTextInstance,l=e.appendInitialChild,u=e.finalizeInitialChildren,s=e.prepareUpdate,c=e.persistence,f=t.getRootHostContainer,d=t.popHostContext,p=t.getHostContext,h=t.popHostContainer,m=n.prepareToHydrateHostInstance,y=n.prepareToHydrateHostTextInstance,g=n.popHydrationState,v=void 0,b=void 0,w=void 0;return e.mutation?(v=function(){},b=function(e,t,n){(t.updateQueue=n)&&o(t)},w=function(e,t,n,r){n!==r&&o(t)}):r(c?"235":"236"),{completeWork:function(e,t,n){var c=t.pendingProps;switch(null===c?c=t.memoizedProps:2147483647===t.expirationTime&&2147483647!==n||(t.pendingProps=null),t.tag){case 1:return null;case 2:return et(t),null;case 3:return h(t),Ge(vo,t),Ge(go,t),c=t.stateNode,c.pendingContext&&(c.context=c.pendingContext,c.pendingContext=null),null!==e&&null!==e.child||(g(t),t.effectTag&=-3),v(t),null;case 5:d(t),n=f();var C=t.type;if(null!==e&&null!=t.stateNode){var k=e.memoizedProps,x=t.stateNode,E=p();x=s(x,C,k,c,n,E),b(e,t,x,C,k,c,n),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!c)return null===t.stateNode&&r("166"),null;if(e=p(),g(t))m(t,n,e)&&o(t);else{e=a(C,c,n,e,t);e:for(k=t.child;null!==k;){if(5===k.tag||6===k.tag)l(e,k.stateNode);else if(4!==k.tag&&null!==k.child){k.child.return=k,k=k.child;continue}if(k===t)break;for(;null===k.sibling;){if(null===k.return||k.return===t)break e;k=k.return}k.sibling.return=k.return,k=k.sibling}u(e,C,c,n)&&o(t),t.stateNode=e}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)w(e,t,e.memoizedProps,c);else{if("string"!==typeof c)return null===t.stateNode&&r("166"),null;e=f(),n=p(),g(t)?y(t)&&o(t):t.stateNode=i(c,e,n,t)}return null;case 7:(c=t.memoizedProps)||r("165"),t.tag=8,C=[];e:for((k=t.stateNode)&&(k.return=t);null!==k;){if(5===k.tag||6===k.tag||4===k.tag)r("247");else if(9===k.tag)C.push(k.type);else if(null!==k.child){k.child.return=k,k=k.child;continue}for(;null===k.sibling;){if(null===k.return||k.return===t)break e;k=k.return}k.sibling.return=k.return,k=k.sibling}return k=c.handler,c=k(c.props,C),t.child=To(t,null!==e?e.child:null,c,n),t.child;case 8:return t.tag=7,null;case 9:case 10:return null;case 4:return h(t),v(t),null;case 0:r("167");default:r("156")}}}}function It(e,t){function n(e){var n=e.ref;if(null!==n)try{n(null)}catch(n){t(e,n)}}function o(e){switch("function"===typeof yt&&yt(e),e.tag){case 2:n(e);var r=e.stateNode;if("function"===typeof r.componentWillUnmount)try{r.props=e.memoizedProps,r.state=e.memoizedState,r.componentWillUnmount()}catch(n){t(e,n)}break;case 5:n(e);break;case 7:a(e.stateNode);break;case 4:s&&l(e)}}function a(e){for(var t=e;;)if(o(t),null===t.child||s&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}else t.child.return=t,t=t.child}function i(e){return 5===e.tag||3===e.tag||4===e.tag}function l(e){for(var t=e,n=!1,i=void 0,l=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&r("160"),n.tag){case 5:i=n.stateNode,l=!1;break e;case 3:case 4:i=n.stateNode.containerInfo,l=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag)a(t),l?b(i,t.stateNode):v(i,t.stateNode);else if(4===t.tag?i=t.stateNode.containerInfo:o(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return,4===t.tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}var u=e.getPublicInstance,s=e.mutation;e=e.persistence,s||r(e?"235":"236");var c=s.commitMount,f=s.commitUpdate,d=s.resetTextContent,p=s.commitTextUpdate,h=s.appendChild,m=s.appendChildToContainer,y=s.insertBefore,g=s.insertInContainerBefore,v=s.removeChild,b=s.removeChildFromContainer;return{commitResetTextContent:function(e){d(e.stateNode)},commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(i(t)){var n=t;break e}t=t.return}r("160"),n=void 0}var o=t=void 0;switch(n.tag){case 5:t=n.stateNode,o=!1;break;case 3:case 4:t=n.stateNode.containerInfo,o=!0;break;default:r("161")}16&n.effectTag&&(d(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||i(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var a=e;;){if(5===a.tag||6===a.tag)n?o?g(t,a.stateNode,n):y(t,a.stateNode,n):o?m(t,a.stateNode):h(t,a.stateNode);else if(4!==a.tag&&null!==a.child){a.child.return=a,a=a.child;continue}if(a===e)break;for(;null===a.sibling;){if(null===a.return||a.return===e)return;a=a.return}a.sibling.return=a.return,a=a.sibling}},commitDeletion:function(e){l(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var o=t.memoizedProps;e=null!==e?e.memoizedProps:o;var a=t.type,i=t.updateQueue;t.updateQueue=null,null!==i&&f(n,i,a,e,o,t)}break;case 6:null===t.stateNode&&r("162"),n=t.memoizedProps,p(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:r("163")}},commitLifeCycles:function(e,t){switch(t.tag){case 2:var n=t.stateNode;if(4&t.effectTag)if(null===e)n.props=t.memoizedProps,n.state=t.memoizedState,n.componentDidMount();else{var o=e.memoizedProps;e=e.memoizedState,n.props=t.memoizedProps,n.state=t.memoizedState,n.componentDidUpdate(o,e)}t=t.updateQueue,null!==t&&kt(t,n);break;case 3:n=t.updateQueue,null!==n&&kt(n,null!==t.child?t.child.stateNode:null);break;case 5:n=t.stateNode,null===e&&4&t.effectTag&&c(n,t.type,t.memoizedProps,t);break;case 6:case 4:break;default:r("163")}},commitAttachRef:function(e){var t=e.ref;if(null!==t){var n=e.stateNode;switch(e.tag){case 5:t(u(n));break;default:t(n)}}},commitDetachRef:function(e){null!==(e=e.ref)&&e(null)}}}function Rt(e){function t(e){return e===Po&&r("174"),e}var n=e.getChildHostContext,o=e.getRootHostContext,a={current:Po},i={current:Po},l={current:Po};return{getHostContext:function(){return t(a.current)},getRootHostContainer:function(){return t(l.current)},popHostContainer:function(e){Ge(a,e),Ge(i,e),Ge(l,e)},popHostContext:function(e){i.current===e&&(Ge(a,e),Ge(i,e))},pushHostContainer:function(e,t){Ye(l,t,e),t=o(t),Ye(i,e,e),Ye(a,t,e)},pushHostContext:function(e){var r=t(l.current),o=t(a.current);r=n(o,e.type,r),o!==r&&(Ye(i,e,e),Ye(a,r,e))},resetHostContainer:function(){a.current=Po,l.current=Po}}}function At(e){function t(e,t){var n=new at(5,null,0);n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case 5:return null!==(t=i(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=l(t,e.pendingProps))&&(e.stateNode=t,!0);default:return!1}}function o(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;d=e}var a=e.shouldSetTextContent;if(!(e=e.hydration))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){r("175")},prepareToHydrateHostTextInstance:function(){r("176")},popHydrationState:function(){return!1}};var i=e.canHydrateInstance,l=e.canHydrateTextInstance,u=e.getNextHydratableSibling,s=e.getFirstHydratableChild,c=e.hydrateInstance,f=e.hydrateTextInstance,d=null,p=null,h=!1;return{enterHydrationState:function(e){return p=s(e.stateNode.containerInfo),d=e,h=!0},resetHydrationState:function(){p=d=null,h=!1},tryToClaimNextHydratableInstance:function(e){if(h){var r=p;if(r){if(!n(e,r)){if(!(r=u(r))||!n(e,r))return e.effectTag|=2,h=!1,void(d=e);t(d,p)}d=e,p=s(r)}else e.effectTag|=2,h=!1,d=e}},prepareToHydrateHostInstance:function(e,t,n){return t=c(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return f(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==d)return!1;if(!h)return o(e),h=!0,!1;var n=e.type;if(5!==e.tag||"head"!==n&&"body"!==n&&!a(n,e.memoizedProps))for(n=p;n;)t(e,n),n=u(n);return o(e),p=d?u(e.stateNode):null,!0}}}function Dt(e){function t(e){re=$=!0;var t=e.stateNode;if(t.current===e&&r("177"),t.isReadyForCommit=!1,Hr.current=null,1i.expirationTime)&&(a=i.expirationTime),i=i.sibling;o.expirationTime=a}if(null!==t)return t;if(null!==n&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1e))if(Y<=K)for(;null!==Q;)Q=s(Q)?a(Q):o(Q);else for(;null!==Q&&!C();)Q=s(Q)?a(Q):o(Q)}else if(!(0===Y||Y>e))if(Y<=K)for(;null!==Q;)Q=o(Q);else for(;null!==Q&&!C();)Q=o(Q)}function l(e,t){if($&&r("243"),$=!0,e.isReadyForCommit=!1,e!==G||t!==Y||null===Q){for(;-1t)&&(e.expirationTime=t),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>t)&&(e.alternate.expirationTime=t),null===e.return){if(3!==e.tag)break;var n=e.stateNode;!$&&n===G&&t<=Y&&(Q=G=null,Y=0);var o=t;if(ve>ge&&r("185"),null===n.nextScheduledRoot)n.remainingExpirationTime=o,null===ie?(ae=ie=n,n.nextScheduledRoot=n):(ie=ie.nextScheduledRoot=n,ie.nextScheduledRoot=ae);else{var a=n.remainingExpirationTime;(0===a||obe)&&(fe=!0)}function k(e){null===se&&r("246"),se.remainingExpirationTime=0,de||(de=!0,pe=e)}var x=Rt(e),E=At(e),T=x.popHostContainer,_=x.popHostContext,S=x.resetHostContainer,P=Ot(e,x,E,p,d),O=P.beginWork,N=P.beginFailedWork,I=Nt(e,x,E).completeWork;x=It(e,u);var R=x.commitResetTextContent,A=x.commitPlacement,D=x.commitDeletion,M=x.commitWork,F=x.commitLifeCycles,U=x.commitAttachRef,L=x.commitDetachRef,j=e.now,H=e.scheduleDeferredCallback,B=e.useSyncScheduling,z=e.prepareForCommit,V=e.resetAfterCommit,W=j(),K=2,q=0,$=!1,Q=null,G=null,Y=0,X=null,Z=null,J=null,ee=null,te=null,ne=!1,re=!1,oe=!1,ae=null,ie=null,le=!1,ue=!1,se=null,ce=0,fe=!1,de=!1,pe=null,he=null,me=!1,ye=!1,ge=1e3,ve=0,be=1;return{computeAsyncExpiration:f,computeExpirationForFiber:d,scheduleWork:p,batchedUpdates:function(e,t){var n=me;me=!0;try{return e(t)}finally{(me=n)||ue||b(1,null)}},unbatchedUpdates:function(e){if(me&&!ye){ye=!0;try{return e()}finally{ye=!1}}return e()},flushSync:function(e){var t=me;me=!0;try{e:{var n=q;q=1;try{var o=e();break e}finally{q=n}o=void 0}return o}finally{me=t,ue&&r("187"),b(1,null)}},deferredUpdates:function(e){var t=q;q=f();try{return e()}finally{q=t}}}}function Mt(e){function t(e){return e=_e(e),null===e?null:e.stateNode}var n=e.getPublicInstance;e=Dt(e);var o=e.computeAsyncExpiration,a=e.computeExpirationForFiber,i=e.scheduleWork;return{createContainer:function(e,t){var n=new at(3,null,0);return e={current:n,containerInfo:e,pendingChildren:null,remainingExpirationTime:0,isReadyForCommit:!1,finishedWork:null,context:null,pendingContext:null,hydrate:t,nextScheduledRoot:null},n.stateNode=e},updateContainer:function(e,t,n,l){var u=t.current;if(n){n=n._reactInternalFiber;var s;e:{for(2===ke(n)&&2===n.tag||r("170"),s=n;3!==s.tag;){if(Je(s)){s=s.stateNode.__reactInternalMemoizedMergedChildContext;break e}(s=s.return)||r("171")}s=s.stateNode.context}n=Je(n)?nt(n,s):s}else n=Sn;null===t.context?t.context=n:t.pendingContext=n,t=l,t=void 0===t?null:t,l=null!=e&&null!=e.type&&null!=e.type.prototype&&!0===e.type.prototype.unstable_isAsyncReactComponent?o():a(u),bt(u,{expirationTime:l,partialState:{element:e},callback:t,isReplace:!1,isForced:!1,nextCallback:null,next:null}),i(u,l)},batchedUpdates:e.batchedUpdates,unbatchedUpdates:e.unbatchedUpdates,deferredUpdates:e.deferredUpdates,flushSync:e.flushSync,getPublicRootInstance:function(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return n(e.child.stateNode);default:return e.child.stateNode}},findHostInstance:t,findHostInstanceWithNoPortals:function(e){return e=Se(e),null===e?null:e.stateNode},injectIntoDevTools:function(e){var n=e.findFiberByHostInstance;return ht(wn({},e,{findHostInstanceByFiber:function(e){return t(e)},findFiberByHostInstance:function(e){return n?n(e):null}}))}}}function Ft(e){return!!qo.hasOwnProperty(e)||!Ko.hasOwnProperty(e)&&(Wo.test(e)?qo[e]=!0:(Ko[e]=!0,!1))}function Ut(e,t,n){var r=i(t);if(r&&a(t,n)){var o=r.mutationMethod;o?o(e,n):null==n||r.hasBooleanValue&&!n||r.hasNumericValue&&isNaN(n)||r.hasPositiveNumericValue&&1>n||r.hasOverloadedBooleanValue&&!1===n?jt(e,t):r.mustUseProperty?e[r.propertyName]=n:(t=r.attributeName,(o=r.attributeNamespace)?e.setAttributeNS(o,t,""+n):r.hasBooleanValue||r.hasOverloadedBooleanValue&&!0===n?e.setAttribute(t,""):e.setAttribute(t,""+n))}else Lt(e,t,a(t,n)?n:null)}function Lt(e,t,n){Ft(t)&&(null==n?e.removeAttribute(t):e.setAttribute(t,""+n))}function jt(e,t){var n=i(t);n?(t=n.mutationMethod)?t(e,void 0):n.mustUseProperty?e[n.propertyName]=!n.hasBooleanValue&&"":e.removeAttribute(n.attributeName):e.removeAttribute(t)}function Ht(e,t){var n=t.value,r=t.checked;return wn({type:void 0,step:void 0,min:void 0,max:void 0},t,{defaultChecked:void 0,defaultValue:void 0,value:null!=n?n:e._wrapperState.initialValue,checked:null!=r?r:e._wrapperState.initialChecked})}function Bt(e,t){var n=t.defaultValue;e._wrapperState={initialChecked:null!=t.checked?t.checked:t.defaultChecked,initialValue:null!=t.value?t.value:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function zt(e,t){var n=t.checked;null!=n&&Ut(e,"checked",n||!1),n=t.value,null!=n?0===n&&""===e.value?e.value="0":"number"===t.type?(t=parseFloat(e.value)||0,(n!=t||n==t&&e.value!=n)&&(e.value=""+n)):e.value!==""+n&&(e.value=""+n):(null==t.value&&null!=t.defaultValue&&e.defaultValue!==""+t.defaultValue&&(e.defaultValue=""+t.defaultValue),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked))}function Vt(e,t){switch(t.type){case"submit":case"reset":break;case"color":case"date":case"datetime":case"datetime-local":case"month":case"time":case"week":e.value="",e.value=e.defaultValue;break;default:e.value=e.value}t=e.name,""!==t&&(e.name=""),e.defaultChecked=!e.defaultChecked,e.defaultChecked=!e.defaultChecked,""!==t&&(e.name=t)}function Wt(e){var t="";return vn.Children.forEach(e,function(e){null==e||"string"!==typeof e&&"number"!==typeof e||(t+=e)}),t}function Kt(e,t){return e=wn({children:void 0},t),(t=Wt(t.children))&&(e.children=t),e}function qt(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o=t.length||r("93"),t=t[0]),n=""+t),null==n&&(n=""),o=n),e._wrapperState={initialValue:""+o}}function Yt(e,t){var n=t.value;null!=n&&(n=""+n,n!==e.value&&(e.value=n),null==t.defaultValue&&(e.defaultValue=n)),null!=t.defaultValue&&(e.defaultValue=t.defaultValue)}function Xt(e){var t=e.textContent;t===e._wrapperState.initialValue&&(e.value=t)}function Zt(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Jt(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?Zt(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}function en(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}function tn(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),o=n,a=t[n];o=null==a||"boolean"===typeof a||""===a?"":r||"number"!==typeof a||0===a||Zo.hasOwnProperty(o)&&Zo[o]?(""+a).trim():a+"px","float"===n&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}function nn(e,t,n){t&&(ea[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML)&&r("137",e,n()),null!=t.dangerouslySetInnerHTML&&(null!=t.children&&r("60"),"object"===typeof t.dangerouslySetInnerHTML&&"__html"in t.dangerouslySetInnerHTML||r("61")),null!=t.style&&"object"!==typeof t.style&&r("62",n()))}function rn(e,t){if(-1===e.indexOf("-"))return"string"===typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function on(e,t){e=9===e.nodeType||11===e.nodeType?e:e.ownerDocument;var n=Me(e);t=Gn[t];for(var r=0;r<\/script>",e=e.removeChild(e.firstChild)):e="string"===typeof t.is?n.createElement(e,{is:t.is}):n.createElement(e):e=n.createElementNS(r,e),e}function ln(e,t){return(9===t.nodeType?t:t.ownerDocument).createTextNode(e)}function un(e,t,n,r){var o=rn(t,n);switch(t){case"iframe":case"object":Ne("topLoad","load",e);var a=n;break;case"video":case"audio":for(a in ra)ra.hasOwnProperty(a)&&Ne(a,ra[a],e);a=n;break;case"source":Ne("topError","error",e),a=n;break;case"img":case"image":Ne("topError","error",e),Ne("topLoad","load",e),a=n;break;case"form":Ne("topReset","reset",e),Ne("topSubmit","submit",e),a=n;break;case"details":Ne("topToggle","toggle",e),a=n;break;case"input":Bt(e,n),a=Ht(e,n),Ne("topInvalid","invalid",e),on(r,"onChange");break;case"option":a=Kt(e,n);break;case"select":$t(e,n),a=wn({},n,{value:void 0}),Ne("topInvalid","invalid",e),on(r,"onChange");break;case"textarea":Gt(e,n),a=Qt(e,n),Ne("topInvalid","invalid",e),on(r,"onChange");break;default:a=n}nn(t,a,na);var i,l=a;for(i in l)if(l.hasOwnProperty(i)){var u=l[i];"style"===i?tn(e,u,na):"dangerouslySetInnerHTML"===i?null!=(u=u?u.__html:void 0)&&Go(e,u):"children"===i?"string"===typeof u?("textarea"!==t||""!==u)&&Xo(e,u):"number"===typeof u&&Xo(e,""+u):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(Qn.hasOwnProperty(i)?null!=u&&on(r,i):o?Lt(e,i,u):null!=u&&Ut(e,i,u))}switch(t){case"input":ae(e),Vt(e,n);break;case"textarea":ae(e),Xt(e,n);break;case"option":null!=n.value&&e.setAttribute("value",n.value);break;case"select":e.multiple=!!n.multiple,t=n.value,null!=t?qt(e,!!n.multiple,t,!1):null!=n.defaultValue&&qt(e,!!n.multiple,n.defaultValue,!0);break;default:"function"===typeof a.onClick&&(e.onclick=Cn)}}function sn(e,t,n,r,o){var a=null;switch(t){case"input":n=Ht(e,n),r=Ht(e,r),a=[];break;case"option":n=Kt(e,n),r=Kt(e,r),a=[];break;case"select":n=wn({},n,{value:void 0}),r=wn({},r,{value:void 0}),a=[];break;case"textarea":n=Qt(e,n),r=Qt(e,r),a=[];break;default:"function"!==typeof n.onClick&&"function"===typeof r.onClick&&(e.onclick=Cn)}nn(t,r,na);var i,l;e=null;for(i in n)if(!r.hasOwnProperty(i)&&n.hasOwnProperty(i)&&null!=n[i])if("style"===i)for(l in t=n[i])t.hasOwnProperty(l)&&(e||(e={}),e[l]="");else"dangerouslySetInnerHTML"!==i&&"children"!==i&&"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(Qn.hasOwnProperty(i)?a||(a=[]):(a=a||[]).push(i,null));for(i in r){var u=r[i];if(t=null!=n?n[i]:void 0,r.hasOwnProperty(i)&&u!==t&&(null!=u||null!=t))if("style"===i)if(t){for(l in t)!t.hasOwnProperty(l)||u&&u.hasOwnProperty(l)||(e||(e={}),e[l]="");for(l in u)u.hasOwnProperty(l)&&t[l]!==u[l]&&(e||(e={}),e[l]=u[l])}else e||(a||(a=[]),a.push(i,e)),e=u;else"dangerouslySetInnerHTML"===i?(u=u?u.__html:void 0,t=t?t.__html:void 0,null!=u&&t!==u&&(a=a||[]).push(i,""+u)):"children"===i?t===u||"string"!==typeof u&&"number"!==typeof u||(a=a||[]).push(i,""+u):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&(Qn.hasOwnProperty(i)?(null!=u&&on(o,i),a||t===u||(a=[])):(a=a||[]).push(i,u))}return e&&(a=a||[]).push("style",e),a}function cn(e,t,n,r,o){rn(n,r),r=rn(n,o);for(var a=0;a=u.hasBooleanValue+u.hasNumericValue+u.hasOverloadedBooleanValue||r("50",l),i.hasOwnProperty(l)&&(u.attributeName=i[l]),a.hasOwnProperty(l)&&(u.attributeNamespace=a[l]),e.hasOwnProperty(l)&&(u.mutationMethod=e[l]),Nn[l]=u}}},Nn={},In=On,Rn=In.MUST_USE_PROPERTY,An=In.HAS_BOOLEAN_VALUE,Dn=In.HAS_NUMERIC_VALUE,Mn=In.HAS_POSITIVE_NUMERIC_VALUE,Fn=In.HAS_OVERLOADED_BOOLEAN_VALUE,Un=In.HAS_STRING_BOOLEAN_VALUE,Ln={Properties:{allowFullScreen:An,async:An,autoFocus:An,autoPlay:An,capture:Fn,checked:Rn|An,cols:Mn,contentEditable:Un,controls:An,default:An,defer:An,disabled:An,download:Fn,draggable:Un,formNoValidate:An,hidden:An,loop:An,multiple:Rn|An,muted:Rn|An,noValidate:An,open:An,playsInline:An,readOnly:An,required:An,reversed:An,rows:Mn,rowSpan:Dn,scoped:An,seamless:An,selected:Rn|An,size:Mn,start:Dn,span:Mn,spellCheck:Un,style:0,tabIndex:0,itemScope:An,acceptCharset:0,className:0,htmlFor:0,httpEquiv:0,value:Un},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMMutationMethods:{value:function(e,t){if(null==t)return e.removeAttribute("value");"number"!==e.type||!1===e.hasAttribute("value")?e.setAttribute("value",""+t):e.validity&&!e.validity.badInput&&e.ownerDocument.activeElement!==e&&e.setAttribute("value",""+t)}}},jn=In.HAS_STRING_BOOLEAN_VALUE,Hn={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace"},Bn={Properties:{autoReverse:jn,externalResourcesRequired:jn,preserveAlpha:jn},DOMAttributeNames:{autoReverse:"autoReverse",externalResourcesRequired:"externalResourcesRequired",preserveAlpha:"preserveAlpha"},DOMAttributeNamespaces:{xlinkActuate:Hn.xlink,xlinkArcrole:Hn.xlink,xlinkHref:Hn.xlink,xlinkRole:Hn.xlink,xlinkShow:Hn.xlink,xlinkTitle:Hn.xlink,xlinkType:Hn.xlink,xmlBase:Hn.xml,xmlLang:Hn.xml,xmlSpace:Hn.xml}},zn=/[\-\:]([a-z])/g;"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode x-height xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type xml:base xmlns:xlink xml:lang xml:space".split(" ").forEach(function(e){var t=e.replace(zn,l);Bn.Properties[t]=0,Bn.DOMAttributeNames[t]=e}),In.injectDOMPropertyConfig(Ln),In.injectDOMPropertyConfig(Bn);var Vn={_caughtError:null,_hasCaughtError:!1,_rethrowError:null,_hasRethrowError:!1,injection:{injectErrorUtils:function(e){"function"!==typeof e.invokeGuardedCallback&&r("197"),u=e.invokeGuardedCallback}},invokeGuardedCallback:function(e,t,n,r,o,a,i,l,s){u.apply(Vn,arguments)},invokeGuardedCallbackAndCatchFirstError:function(e,t,n,r,o,a,i,l,u){if(Vn.invokeGuardedCallback.apply(this,arguments),Vn.hasCaughtError()){var s=Vn.clearCaughtError();Vn._hasRethrowError||(Vn._hasRethrowError=!0,Vn._rethrowError=s)}},rethrowCaughtError:function(){return s.apply(Vn,arguments)},hasCaughtError:function(){return Vn._hasCaughtError},clearCaughtError:function(){if(Vn._hasCaughtError){var e=Vn._caughtError;return Vn._caughtError=null,Vn._hasCaughtError=!1,e}r("198")}},Wn=null,Kn={},qn=[],$n={},Qn={},Gn={},Yn=Object.freeze({plugins:qn,eventNameDispatchConfigs:$n,registrationNameModules:Qn,registrationNameDependencies:Gn,possibleRegistrationNames:null,injectEventPluginOrder:d,injectEventPluginsByName:p}),Xn=null,Zn=null,Jn=null,er=null,tr={injectEventPluginOrder:d,injectEventPluginsByName:p},nr=Object.freeze({injection:tr,getListener:w,extractEvents:C,enqueueEvents:k,processEventQueue:x}),rr=Math.random().toString(36).slice(2),or="__reactInternalInstance$"+rr,ar="__reactEventHandlers$"+rr,ir=Object.freeze({precacheFiberNode:function(e,t){t[or]=e},getClosestInstanceFromNode:E,getInstanceFromNode:function(e){return e=e[or],!e||5!==e.tag&&6!==e.tag?null:e},getNodeFromInstance:T,getFiberCurrentPropsFromNode:_,updateFiberProps:function(e,t){e[ar]=t}}),lr=Object.freeze({accumulateTwoPhaseDispatches:D,accumulateTwoPhaseDispatchesSkipTarget:function(e){y(e,I)},accumulateEnterLeaveDispatches:M,accumulateDirectDispatches:function(e){y(e,A)}}),ur=null,sr={_root:null,_startText:null,_fallbackText:null},cr="dispatchConfig _targetInst nativeEvent isDefaultPrevented isPropagationStopped _dispatchListeners _dispatchInstances".split(" "),fr={type:null,target:null,currentTarget:Cn.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};wn(j.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!==typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=Cn.thatReturnsTrue)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!==typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=Cn.thatReturnsTrue)},persist:function(){this.isPersistent=Cn.thatReturnsTrue},isPersistent:Cn.thatReturnsFalse,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;for(t=0;t=parseInt(yr.version(),10))}var gr,vr=mr,br=bn.canUseDOM&&(!pr||hr&&8
=hr),wr=String.fromCharCode(32),Cr={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"topBlur topCompositionEnd topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"topBlur topCompositionStart topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"topBlur topCompositionUpdate topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")}},kr=!1,xr=!1,Er={eventTypes:Cr,extractEvents:function(e,t,n,r){var o;if(pr)e:{switch(e){case"topCompositionStart":var a=Cr.compositionStart;break e;case"topCompositionEnd":a=Cr.compositionEnd;break e;case"topCompositionUpdate":a=Cr.compositionUpdate;break e}a=void 0}else xr?K(e,n)&&(a=Cr.compositionEnd):"topKeyDown"===e&&229===n.keyCode&&(a=Cr.compositionStart);return a?(br&&(xr||a!==Cr.compositionStart?a===Cr.compositionEnd&&xr&&(o=U()):(sr._root=r,sr._startText=L(),xr=!0)),a=V.getPooled(a,t,n,r),o?a.data=o:null!==(o=q(n))&&(a.data=o),D(a),o=a):o=null,(e=vr?$(e,n):Q(e,n))?(t=W.getPooled(Cr.beforeInput,t,n,r),t.data=e,D(t)):t=null,[o,t]}},Tr=null,_r=null,Sr=null,Pr={injectFiberControlledHostComponent:function(e){Tr=e}},Or=Object.freeze({injection:Pr,enqueueStateRestore:Y,restoreStateIfNeeded:X}),Nr=!1,Ir={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};bn.canUseDOM&&(gr=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("",""));var Rr={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:"topBlur topChange topClick topFocus topInput topKeyDown topKeyUp topSelectionChange".split(" ")}},Ar=null,Dr=null,Mr=!1;bn.canUseDOM&&(Mr=ne("input")&&(!document.documentMode||9=document.documentMode,Jr={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"topBlur topContextMenu topFocus topKeyDown topKeyUp topMouseDown topMouseUp topSelectionChange".split(" ")}},eo=null,to=null,no=null,ro=!1,oo={eventTypes:Jr,extractEvents:function(e,t,n,r){var o,a=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument;if(!(o=!a)){e:{a=Me(a),o=Gn.onSelect;for(var i=0;it&&(t=8),Bo=t"+t+"",t=Qo.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}}),Yo=/["'&<>]/;bn.canUseDOM&&("textContent"in document.documentElement||(en=function(e,t){if(3===e.nodeType)e.nodeValue=t;else{if("boolean"===typeof t||"number"===typeof t)t=""+t;else{t=""+t;var n=Yo.exec(t);if(n){var r,o="",a=0;for(r=n.index;rr&&(o=r,r=e,e=o),o=Ue(n,e);var a=Ue(n,r);if(o&&a&&(1!==t.rangeCount||t.anchorNode!==o.node||t.anchorOffset!==o.offset||t.focusNode!==a.node||t.focusOffset!==a.offset)){var i=document.createRange();i.setStart(o.node,o.offset),t.removeAllRanges(),e>r?(t.addRange(i),t.extend(a.node,a.offset)):(i.setEnd(a.node,a.offset),t.addRange(i))}}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(_n(n),n=0;n