From 5a9cf8f2fb5b970b732657a1c2b52c609c43122a Mon Sep 17 00:00:00 2001 From: Pash10g Date: Sun, 26 Feb 2023 16:01:06 +0000 Subject: [PATCH 01/10] Test a stub version --- mern/client/build/asset-manifest.json | 20 + mern/client/build/favicon.ico | Bin 0 -> 3870 bytes mern/client/build/index.html | 1 + mern/client/build/logo192.png | Bin 0 -> 5347 bytes mern/client/build/logo512.png | Bin 0 -> 9664 bytes mern/client/build/manifest.json | 25 + mern/client/build/robots.txt | 3 + .../build/static/css/2.73420eac.chunk.css | 7 + .../build/static/css/2.73420eac.chunk.css.map | 1 + .../build/static/js/2.6ef6d4dd.chunk.js | 3 + .../static/js/2.6ef6d4dd.chunk.js.LICENSE.txt | 63 + .../build/static/js/2.6ef6d4dd.chunk.js.map | 1 + .../build/static/js/main.6384bb61.chunk.js | 2 + .../static/js/main.6384bb61.chunk.js.map | 1 + .../build/static/js/runtime-main.a06e69b5.js | 2 + .../static/js/runtime-main.a06e69b5.js.map | 1 + mern/client/package-lock.json | 1188 ++++++++++++----- mern/client/src/components/create.js | 14 +- mern/client/src/components/edit.js | 7 +- mern/client/src/components/recordList.js | 21 +- mern/server/public/asset-manifest.json | 20 + mern/server/public/favicon.ico | Bin 0 -> 3870 bytes mern/server/public/index.html | 1 + mern/server/public/logo192.png | Bin 0 -> 5347 bytes mern/server/public/logo512.png | Bin 0 -> 9664 bytes mern/server/public/manifest.json | 25 + mern/server/public/robots.txt | 3 + .../public/static/css/2.73420eac.chunk.css | 7 + .../static/css/2.73420eac.chunk.css.map | 1 + .../public/static/js/2.6ef6d4dd.chunk.js | 3 + .../static/js/2.6ef6d4dd.chunk.js.LICENSE.txt | 63 + .../public/static/js/2.6ef6d4dd.chunk.js.map | 1 + .../public/static/js/main.6384bb61.chunk.js | 2 + .../static/js/main.6384bb61.chunk.js.map | 1 + .../public/static/js/runtime-main.a06e69b5.js | 2 + .../static/js/runtime-main.a06e69b5.js.map | 1 + mern/server/routes/record.js | 16 +- mern/server/server.js | 2 + 38 files changed, 1168 insertions(+), 340 deletions(-) create mode 100644 mern/client/build/asset-manifest.json create mode 100644 mern/client/build/favicon.ico create mode 100644 mern/client/build/index.html create mode 100644 mern/client/build/logo192.png create mode 100644 mern/client/build/logo512.png create mode 100644 mern/client/build/manifest.json create mode 100644 mern/client/build/robots.txt create mode 100644 mern/client/build/static/css/2.73420eac.chunk.css create mode 100644 mern/client/build/static/css/2.73420eac.chunk.css.map create mode 100644 mern/client/build/static/js/2.6ef6d4dd.chunk.js create mode 100644 mern/client/build/static/js/2.6ef6d4dd.chunk.js.LICENSE.txt create mode 100644 mern/client/build/static/js/2.6ef6d4dd.chunk.js.map create mode 100644 mern/client/build/static/js/main.6384bb61.chunk.js create mode 100644 mern/client/build/static/js/main.6384bb61.chunk.js.map create mode 100644 mern/client/build/static/js/runtime-main.a06e69b5.js create mode 100644 mern/client/build/static/js/runtime-main.a06e69b5.js.map create mode 100644 mern/server/public/asset-manifest.json create mode 100644 mern/server/public/favicon.ico create mode 100644 mern/server/public/index.html create mode 100644 mern/server/public/logo192.png create mode 100644 mern/server/public/logo512.png create mode 100644 mern/server/public/manifest.json create mode 100644 mern/server/public/robots.txt create mode 100644 mern/server/public/static/css/2.73420eac.chunk.css create mode 100644 mern/server/public/static/css/2.73420eac.chunk.css.map create mode 100644 mern/server/public/static/js/2.6ef6d4dd.chunk.js create mode 100644 mern/server/public/static/js/2.6ef6d4dd.chunk.js.LICENSE.txt create mode 100644 mern/server/public/static/js/2.6ef6d4dd.chunk.js.map create mode 100644 mern/server/public/static/js/main.6384bb61.chunk.js create mode 100644 mern/server/public/static/js/main.6384bb61.chunk.js.map create mode 100644 mern/server/public/static/js/runtime-main.a06e69b5.js create mode 100644 mern/server/public/static/js/runtime-main.a06e69b5.js.map diff --git a/mern/client/build/asset-manifest.json b/mern/client/build/asset-manifest.json new file mode 100644 index 0000000..fae2a91 --- /dev/null +++ b/mern/client/build/asset-manifest.json @@ -0,0 +1,20 @@ +{ + "files": { + "main.js": "/static/js/main.6384bb61.chunk.js", + "main.js.map": "/static/js/main.6384bb61.chunk.js.map", + "runtime-main.js": "/static/js/runtime-main.a06e69b5.js", + "runtime-main.js.map": "/static/js/runtime-main.a06e69b5.js.map", + "static/css/2.73420eac.chunk.css": "/static/css/2.73420eac.chunk.css", + "static/js/2.6ef6d4dd.chunk.js": "/static/js/2.6ef6d4dd.chunk.js", + "static/js/2.6ef6d4dd.chunk.js.map": "/static/js/2.6ef6d4dd.chunk.js.map", + "index.html": "/index.html", + "static/css/2.73420eac.chunk.css.map": "/static/css/2.73420eac.chunk.css.map", + "static/js/2.6ef6d4dd.chunk.js.LICENSE.txt": "/static/js/2.6ef6d4dd.chunk.js.LICENSE.txt" + }, + "entrypoints": [ + "static/js/runtime-main.a06e69b5.js", + "static/css/2.73420eac.chunk.css", + "static/js/2.6ef6d4dd.chunk.js", + "static/js/main.6384bb61.chunk.js" + ] +} \ No newline at end of file diff --git a/mern/client/build/favicon.ico b/mern/client/build/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..a11777cc471a4344702741ab1c8a588998b1311a GIT binary patch literal 3870 zcma);c{J4h9>;%nil|2-o+rCuEF-(I%-F}ijC~o(k~HKAkr0)!FCj~d>`RtpD?8b; zXOC1OD!V*IsqUwzbMF1)-gEDD=A573Z-&G7^LoAC9|WO7Xc0Cx1g^Zu0u_SjAPB3vGa^W|sj)80f#V0@M_CAZTIO(t--xg= z!sii`1giyH7EKL_+Wi0ab<)&E_0KD!3Rp2^HNB*K2@PHCs4PWSA32*-^7d{9nH2_E zmC{C*N*)(vEF1_aMamw2A{ZH5aIDqiabnFdJ|y0%aS|64E$`s2ccV~3lR!u<){eS` z#^Mx6o(iP1Ix%4dv`t@!&Za-K@mTm#vadc{0aWDV*_%EiGK7qMC_(`exc>-$Gb9~W!w_^{*pYRm~G zBN{nA;cm^w$VWg1O^^<6vY`1XCD|s_zv*g*5&V#wv&s#h$xlUilPe4U@I&UXZbL z0)%9Uj&@yd03n;!7do+bfixH^FeZ-Ema}s;DQX2gY+7g0s(9;`8GyvPY1*vxiF&|w z>!vA~GA<~JUqH}d;DfBSi^IT*#lrzXl$fNpq0_T1tA+`A$1?(gLb?e#0>UELvljtQ zK+*74m0jn&)5yk8mLBv;=@}c{t0ztT<v;Avck$S6D`Z)^c0(jiwKhQsn|LDRY&w(Fmi91I7H6S;b0XM{e zXp0~(T@k_r-!jkLwd1_Vre^v$G4|kh4}=Gi?$AaJ)3I+^m|Zyj#*?Kp@w(lQdJZf4 z#|IJW5z+S^e9@(6hW6N~{pj8|NO*>1)E=%?nNUAkmv~OY&ZV;m-%?pQ_11)hAr0oAwILrlsGawpxx4D43J&K=n+p3WLnlDsQ$b(9+4 z?mO^hmV^F8MV{4Lx>(Q=aHhQ1){0d*(e&s%G=i5rq3;t{JC zmgbn5Nkl)t@fPH$v;af26lyhH!k+#}_&aBK4baYPbZy$5aFx4}ka&qxl z$=Rh$W;U)>-=S-0=?7FH9dUAd2(q#4TCAHky!$^~;Dz^j|8_wuKc*YzfdAht@Q&ror?91Dm!N03=4=O!a)I*0q~p0g$Fm$pmr$ zb;wD;STDIi$@M%y1>p&_>%?UP($15gou_ue1u0!4(%81;qcIW8NyxFEvXpiJ|H4wz z*mFT(qVx1FKufG11hByuX%lPk4t#WZ{>8ka2efjY`~;AL6vWyQKpJun2nRiZYDij$ zP>4jQXPaP$UC$yIVgGa)jDV;F0l^n(V=HMRB5)20V7&r$jmk{UUIe zVjKroK}JAbD>B`2cwNQ&GDLx8{pg`7hbA~grk|W6LgiZ`8y`{Iq0i>t!3p2}MS6S+ zO_ruKyAElt)rdS>CtF7j{&6rP-#c=7evGMt7B6`7HG|-(WL`bDUAjyn+k$mx$CH;q2Dz4x;cPP$hW=`pFfLO)!jaCL@V2+F)So3}vg|%O*^T1j>C2lx zsURO-zIJC$^$g2byVbRIo^w>UxK}74^TqUiRR#7s_X$e)$6iYG1(PcW7un-va-S&u zHk9-6Zn&>T==A)lM^D~bk{&rFzCi35>UR!ZjQkdSiNX*-;l4z9j*7|q`TBl~Au`5& z+c)*8?#-tgUR$Zd%Q3bs96w6k7q@#tUn`5rj+r@_sAVVLqco|6O{ILX&U-&-cbVa3 zY?ngHR@%l{;`ri%H*0EhBWrGjv!LE4db?HEWb5mu*t@{kv|XwK8?npOshmzf=vZA@ zVSN9sL~!sn?r(AK)Q7Jk2(|M67Uy3I{eRy z_l&Y@A>;vjkWN5I2xvFFTLX0i+`{qz7C_@bo`ZUzDugfq4+>a3?1v%)O+YTd6@Ul7 zAfLfm=nhZ`)P~&v90$&UcF+yXm9sq!qCx3^9gzIcO|Y(js^Fj)Rvq>nQAHI92ap=P z10A4@prk+AGWCb`2)dQYFuR$|H6iDE8p}9a?#nV2}LBCoCf(Xi2@szia7#gY>b|l!-U`c}@ zLdhvQjc!BdLJvYvzzzngnw51yRYCqh4}$oRCy-z|v3Hc*d|?^Wj=l~18*E~*cR_kU z{XsxM1i{V*4GujHQ3DBpl2w4FgFR48Nma@HPgnyKoIEY-MqmMeY=I<%oG~l!f<+FN z1ZY^;10j4M4#HYXP zw5eJpA_y(>uLQ~OucgxDLuf}fVs272FaMxhn4xnDGIyLXnw>Xsd^J8XhcWIwIoQ9} z%FoSJTAGW(SRGwJwb=@pY7r$uQRK3Zd~XbxU)ts!4XsJrCycrWSI?e!IqwqIR8+Jh zlRjZ`UO1I!BtJR_2~7AbkbSm%XQqxEPkz6BTGWx8e}nQ=w7bZ|eVP4?*Tb!$(R)iC z9)&%bS*u(lXqzitAN)Oo=&Ytn>%Hzjc<5liuPi>zC_nw;Z0AE3Y$Jao_Q90R-gl~5 z_xAb2J%eArrC1CN4G$}-zVvCqF1;H;abAu6G*+PDHSYFx@Tdbfox*uEd3}BUyYY-l zTfEsOqsi#f9^FoLO;ChK<554qkri&Av~SIM*{fEYRE?vH7pTAOmu2pz3X?Wn*!ROX ztd54huAk&mFBemMooL33RV-*1f0Q3_(7hl$<#*|WF9P!;r;4_+X~k~uKEqdzZ$5Al zV63XN@)j$FN#cCD;ek1R#l zv%pGrhB~KWgoCj%GT?%{@@o(AJGt*PG#l3i>lhmb_twKH^EYvacVY-6bsCl5*^~L0 zonm@lk2UvvTKr2RS%}T>^~EYqdL1q4nD%0n&Xqr^cK^`J5W;lRRB^R-O8b&HENO||mo0xaD+S=I8RTlIfVgqN@SXDr2&-)we--K7w= zJVU8?Z+7k9dy;s;^gDkQa`0nz6N{T?(A&Iz)2!DEecLyRa&FI!id#5Z7B*O2=PsR0 zEvc|8{NS^)!d)MDX(97Xw}m&kEO@5jqRaDZ!+%`wYOI<23q|&js`&o4xvjP7D_xv@ z5hEwpsp{HezI9!~6O{~)lLR@oF7?J7i>1|5a~UuoN=q&6N}EJPV_GD`&M*v8Y`^2j zKII*d_@Fi$+i*YEW+Hbzn{iQk~yP z>7N{S4)r*!NwQ`(qcN#8SRQsNK6>{)X12nbF`*7#ecO7I)Q$uZsV+xS4E7aUn+U(K baj7?x%VD!5Cxk2YbYLNVeiXvvpMCWYo=by@ literal 0 HcmV?d00001 diff --git a/mern/client/build/index.html b/mern/client/build/index.html new file mode 100644 index 0000000..0d48995 --- /dev/null +++ b/mern/client/build/index.html @@ -0,0 +1 @@ +React App
\ No newline at end of file diff --git a/mern/client/build/logo192.png b/mern/client/build/logo192.png new file mode 100644 index 0000000000000000000000000000000000000000..fc44b0a3796c0e0a64c3d858ca038bd4570465d9 GIT binary patch literal 5347 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 b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN literal 0 HcmV?d00001 diff --git a/mern/client/build/manifest.json b/mern/client/build/manifest.json new file mode 100644 index 0000000..080d6c7 --- /dev/null +++ b/mern/client/build/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/mern/client/build/robots.txt b/mern/client/build/robots.txt new file mode 100644 index 0000000..e9e57dc --- /dev/null +++ b/mern/client/build/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/mern/client/build/static/css/2.73420eac.chunk.css b/mern/client/build/static/css/2.73420eac.chunk.css new file mode 100644 index 0000000..b9356a6 --- /dev/null +++ b/mern/client/build/static/css/2.73420eac.chunk.css @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.6.0 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,:after,:before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:initial;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{font-style:normal;line-height:inherit}address,dl,ol,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:initial}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{border-style:none}img,svg{vertical-align:middle}svg{overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:initial}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem}.display-1,.display-2{font-weight:300;line-height:1.2}.display-2{font-size:5.5rem}.display-3{font-size:4.5rem}.display-3,.display-4{font-weight:300;line-height:1.2}.display-4{font-size:3.5rem}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer:before{content:"\2014\00A0"}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col-auto,.col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-auto,.col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md-auto,.col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.333333%;max-width:8.333333%}.col-2{flex:0 0 16.666667%;max-width:16.666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.333333%;max-width:33.333333%}.col-5{flex:0 0 41.666667%;max-width:41.666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.333333%;max-width:58.333333%}.col-8{flex:0 0 66.666667%;max-width:66.666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.333333%;max-width:83.333333%}.col-11{flex:0 0 91.666667%;max-width:91.666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:hsla(0,0%,100%,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:hsla(0,0%,100%,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:initial;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{-webkit-appearance:none;appearance:none}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:initial;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size],textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label:before,.was-validated .custom-control-input:valid~.custom-control-label:before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label:before,.was-validated .custom-control-input:valid:checked~.custom-control-label:before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label:before,.was-validated .custom-control-input:valid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3E%3C/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label:before,.was-validated .custom-control-input:invalid~.custom-control-label:before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label:before,.was-validated .custom-control-input:invalid:checked~.custom-control-label:before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{justify-content:center}.form-inline .form-group,.form-inline label{display:flex;align-items:center;margin-bottom:0}.form-inline .form-group{flex:0 0 auto;flex-flow:row wrap}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;user-select:none;background-color:initial;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary.focus,.btn-primary:focus,.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary.focus,.btn-secondary:focus,.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success.focus,.btn-success:focus,.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info.focus,.btn-info:focus,.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning.focus,.btn-warning:focus,.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger.focus,.btn-danger:focus,.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light.focus,.btn-light:focus,.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark.focus,.btn-dark:focus,.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:initial}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:initial}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:initial}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:initial}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:initial}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:initial}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:initial}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:initial}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3}.btn-link.focus,.btn-link:focus,.btn-link:hover{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-toggle:after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropleft .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty:after{margin-left:0}.dropleft .dropdown-toggle:before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:initial;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:initial}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropright .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropleft .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:first-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label:after,.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.form-control:nth-last-child(n+3),.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label:after,.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-append,.input-group-prepend{display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;-webkit-print-color-adjust:exact;color-adjust:exact}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label:before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label:before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label:before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label:before,.custom-control-input[disabled]~.custom-control-label:before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label:before{pointer-events:none;background-color:#fff;border:1px solid #adb5bd}.custom-control-label:after,.custom-control-label:before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:""}.custom-control-label:after{background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label:before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label:before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label:before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label:after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label:after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label:after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{display:inline-block;margin-bottom:0}.custom-file,.custom-file-input{position:relative;width:100%;height:calc(1.5em + .75rem + 2px)}.custom-file-input{z-index:2;margin:0;overflow:hidden;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label:after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]:after{content:attr(data-browse)}.custom-file-label{left:0;z-index:1;height:calc(1.5em + .75rem + 2px);overflow:hidden;font-weight:400;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label,.custom-file-label:after{position:absolute;top:0;right:0;padding:.375rem .75rem;line-height:1.5;color:#495057}.custom-file-label:after{bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:initial;-webkit-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:initial;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower,.custom-range::-ms-fill-upper{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label:before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label:before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:initial;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;padding:.5rem 1rem}.navbar,.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:initial;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:50%/100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:hsla(0,0%,100%,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:hsla(0,0%,100%,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:hsla(0,0%,100%,.5);border-color:hsla(0,0%,100%,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:initial;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-bottom:-.75rem;border-bottom:0}.card-header-pills,.card-header-tabs{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{flex:1 0;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;grid-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover:before{text-decoration:underline;text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:initial;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.progress{height:1rem;line-height:0;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress,.progress-bar{display:flex;overflow:hidden}.progress-bar{flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:flex;align-items:flex-start}.media-body{flex:1 1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:initial;border:0}a.close.disabled{pointer-events:none}.toast{flex-basis:350px;max-width:350px;font-size:.875rem;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translateY(-50px);transform:translateY(-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered:before{display:block;height:calc(100vh - 1rem);height:-webkit-min-content;height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable:before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered:before{height:calc(100vh - 3.5rem);height:-webkit-min-content;height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow:before,.bs-tooltip-top .arrow:before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow:before,.bs-tooltip-right .arrow:before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.bs-tooltip-bottom .arrow:before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow:before,.bs-tooltip-left .arrow:before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{top:0;left:0;z-index:1060;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover,.popover .arrow{position:absolute;display:block}.popover .arrow{width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow:after,.popover .arrow:before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow:before,.bs-popover-top>.arrow:before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow:after,.bs-popover-top>.arrow:after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow:before,.bs-popover-right>.arrow:before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow:after,.bs-popover-right>.arrow:after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow:before,.bs-popover-bottom>.arrow:before{top:0;border-width:0 .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow:after,.bs-popover-bottom>.arrow:after{top:1px;border-width:0 .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow:before,.bs-popover-left>.arrow:before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow:after,.bs-popover-left>.arrow:after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8'%3E%3Cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:initial;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spinner-border{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid;border-right:.25em solid transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.align-baseline{vertical-align:initial!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:initial!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important}.rounded-right,.rounded-top{border-top-right-radius:.25rem!important}.rounded-bottom,.rounded-right{border-bottom-right-radius:.25rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix:after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive:before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9:before{padding-top:42.857143%}.embed-responsive-16by9:before{padding-top:56.25%}.embed-responsive-4by3:before{padding-top:75%}.embed-responsive-1by1:before{padding-top:100%}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}@media (min-width:576px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}}@media (min-width:768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.user-select-all{-webkit-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{top:0}.fixed-bottom,.fixed-top{position:fixed;right:0;left:0;z-index:1030}.fixed-bottom{bottom:0}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:transparent}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:hsla(0,0%,100%,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:initial;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;word-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,:after,:before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}} +/*# sourceMappingURL=2.73420eac.chunk.css.map */ \ No newline at end of file diff --git a/mern/client/build/static/css/2.73420eac.chunk.css.map b/mern/client/build/static/css/2.73420eac.chunk.css.map new file mode 100644 index 0000000..3acc75e --- /dev/null +++ b/mern/client/build/static/css/2.73420eac.chunk.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://node_modules/bootstrap/scss/bootstrap.scss","webpack://node_modules/bootstrap/dist/css/bootstrap.css","webpack://node_modules/bootstrap/scss/_root.scss","webpack://node_modules/bootstrap/scss/_reboot.scss","webpack://node_modules/bootstrap/scss/_variables.scss","webpack://node_modules/bootstrap/scss/vendor/_rfs.scss","webpack://node_modules/bootstrap/scss/mixins/_hover.scss","webpack://node_modules/bootstrap/scss/_type.scss","webpack://node_modules/bootstrap/scss/mixins/_lists.scss","webpack://node_modules/bootstrap/scss/_images.scss","webpack://node_modules/bootstrap/scss/mixins/_image.scss","webpack://node_modules/bootstrap/scss/mixins/_border-radius.scss","webpack://node_modules/bootstrap/scss/_code.scss","webpack://node_modules/bootstrap/scss/_grid.scss","webpack://node_modules/bootstrap/scss/mixins/_grid.scss","webpack://node_modules/bootstrap/scss/mixins/_breakpoints.scss","webpack://node_modules/bootstrap/scss/mixins/_grid-framework.scss","webpack://node_modules/bootstrap/scss/_tables.scss","webpack://node_modules/bootstrap/scss/mixins/_table-row.scss","webpack://node_modules/bootstrap/scss/_forms.scss","webpack://node_modules/bootstrap/scss/_functions.scss","webpack://node_modules/bootstrap/scss/mixins/_transition.scss","webpack://node_modules/bootstrap/scss/mixins/_forms.scss","webpack://node_modules/bootstrap/scss/mixins/_gradients.scss","webpack://node_modules/bootstrap/scss/_buttons.scss","webpack://node_modules/bootstrap/scss/mixins/_buttons.scss","webpack://node_modules/bootstrap/scss/_transitions.scss","webpack://node_modules/bootstrap/scss/_dropdown.scss","webpack://node_modules/bootstrap/scss/mixins/_caret.scss","webpack://node_modules/bootstrap/scss/mixins/_nav-divider.scss","webpack://node_modules/bootstrap/scss/_button-group.scss","webpack://node_modules/bootstrap/scss/_input-group.scss","webpack://node_modules/bootstrap/scss/_custom-forms.scss","webpack://node_modules/bootstrap/scss/_nav.scss","webpack://node_modules/bootstrap/scss/_navbar.scss","webpack://node_modules/bootstrap/scss/_card.scss","webpack://node_modules/bootstrap/scss/_breadcrumb.scss","webpack://node_modules/bootstrap/scss/_pagination.scss","webpack://node_modules/bootstrap/scss/mixins/_pagination.scss","webpack://node_modules/bootstrap/scss/_badge.scss","webpack://node_modules/bootstrap/scss/mixins/_badge.scss","webpack://node_modules/bootstrap/scss/_jumbotron.scss","webpack://node_modules/bootstrap/scss/_alert.scss","webpack://node_modules/bootstrap/scss/mixins/_alert.scss","webpack://node_modules/bootstrap/scss/_progress.scss","webpack://node_modules/bootstrap/scss/_media.scss","webpack://node_modules/bootstrap/scss/_list-group.scss","webpack://node_modules/bootstrap/scss/mixins/_list-group.scss","webpack://node_modules/bootstrap/scss/_close.scss","webpack://node_modules/bootstrap/scss/_toasts.scss","webpack://node_modules/bootstrap/scss/_modal.scss","webpack://node_modules/bootstrap/scss/_tooltip.scss","webpack://node_modules/bootstrap/scss/mixins/_reset-text.scss","webpack://node_modules/bootstrap/scss/_popover.scss","webpack://node_modules/bootstrap/scss/_carousel.scss","webpack://node_modules/bootstrap/scss/mixins/_clearfix.scss","webpack://node_modules/bootstrap/scss/_spinners.scss","webpack://node_modules/bootstrap/scss/utilities/_align.scss","webpack://node_modules/bootstrap/scss/mixins/_background-variant.scss","webpack://node_modules/bootstrap/scss/utilities/_background.scss","webpack://node_modules/bootstrap/scss/utilities/_borders.scss","webpack://node_modules/bootstrap/scss/utilities/_display.scss","webpack://node_modules/bootstrap/scss/utilities/_embed.scss","webpack://node_modules/bootstrap/scss/utilities/_flex.scss","webpack://node_modules/bootstrap/scss/utilities/_float.scss","webpack://node_modules/bootstrap/scss/utilities/_interactions.scss","webpack://node_modules/bootstrap/scss/utilities/_overflow.scss","webpack://node_modules/bootstrap/scss/utilities/_position.scss","webpack://node_modules/bootstrap/scss/utilities/_screenreaders.scss","webpack://node_modules/bootstrap/scss/mixins/_screen-reader.scss","webpack://node_modules/bootstrap/scss/utilities/_shadows.scss","webpack://node_modules/bootstrap/scss/utilities/_sizing.scss","webpack://node_modules/bootstrap/scss/utilities/_spacing.scss","webpack://node_modules/bootstrap/scss/utilities/_stretched-link.scss","webpack://node_modules/bootstrap/scss/utilities/_text.scss","webpack://node_modules/bootstrap/scss/mixins/_text-truncate.scss","webpack://node_modules/bootstrap/scss/mixins/_text-emphasis.scss","webpack://node_modules/bootstrap/scss/mixins/_text-hide.scss","webpack://node_modules/bootstrap/scss/utilities/_visibility.scss","webpack://node_modules/bootstrap/scss/_print.scss"],"names":[],"mappings":"AAAA;;;;;ECKE,CCLF,MAGI,cAAc,CAAd,gBAAc,CAAd,gBAAc,CAAd,cAAc,CAAd,aAAc,CAAd,gBAAc,CAAd,gBAAc,CAAd,eAAc,CAAd,cAAc,CAAd,cAAc,CAAd,YAAc,CAAd,cAAc,CAAd,mBAAc,CAId,iBAAc,CAAd,mBAAc,CAAd,iBAAc,CAAd,cAAc,CAAd,iBAAc,CAAd,gBAAc,CAAd,eAAc,CAAd,cAAc,CAId,iBAAiC,CAAjC,qBAAiC,CAAjC,qBAAiC,CAAjC,qBAAiC,CAAjC,sBAAiC,CAKnC,qNAAyB,CACzB,sGDkBF,CEjBA,iBAGE,qBFoBF,CEjBA,KACE,sBAAuB,CACvB,gBAAiB,CACjB,6BAA8B,CAC9B,yCFoBF,CEdA,sEACE,aFiBF,CEPA,KACE,QAAS,CACT,wMCqOoO,CCrJhO,cAtCY,CFxChB,eC8O+B,CD7O/B,eCkP+B,CDjP/B,aCnCgB,CDoChB,eAAgB,CAChB,qBFUF,CAEA,0CECE,mBFCF,CEQA,GACE,kBAAuB,CACvB,QAAS,CACT,gBFLF,CEkBA,kBACE,YAAa,CACb,mBFfF,CEsBA,EACE,YAAa,CACb,kBFnBF,CE8BA,sCAEE,yBAA0B,CAC1B,wCAAiC,CAAjC,gCAAiC,CACjC,WAAY,CACZ,eAAgB,CAChB,qCAA8B,CAA9B,6BF3BF,CE8BA,QAEE,iBAAkB,CAClB,mBF3BF,CE8BA,iBALE,kBFlBF,CEuBA,SAGE,YF1BF,CE8BA,wBAIE,eF3BF,CE8BA,GACE,eF3BF,CE8BA,GACE,mBAAoB,CACpB,aF3BF,CE8BA,WACE,eF3BF,CE8BA,SAEE,kBF3BF,CE8BA,MExFI,aJ8DJ,CEmCA,QAEE,iBAAkB,CEnGhB,aAAW,CFqGb,aAAc,CACd,sBFhCF,CEmCA,IAAM,aF/BN,CEgCA,IAAM,SF5BN,CEmCA,EACE,aCvJe,CDwJf,oBCX4C,CDY5C,wBFhCF,CKhJE,QHmLE,aCd8D,CDe9D,yBF/BJ,CKrJE,4DHkME,aAAc,CACd,oBFpCJ,CE6CA,kBAIE,0FCyDgH,CC7M9G,aJ2GJ,CE6CA,IAEE,YAAa,CAEb,kBAAmB,CAEnB,aAAc,CAGd,4BF/CF,CEuDA,OAEE,eFrDF,CE6DA,IAEE,iBF1DF,CE6DA,QAJE,qBFpDF,CEwDA,IAGE,eF3DF,CEoEA,MACE,wBFjEF,CEoEA,QACE,kBC6EkC,CD5ElC,qBC4EkC,CD3ElC,aCtQgB,CDuQhB,eAAgB,CAChB,mBFjEF,CEwEA,GAEE,kBAAmB,CACnB,+BFtEF,CE8EA,MAEE,oBAAqB,CACrB,mBF5EF,CEkFA,OAEE,eFhFF,CEwFA,iCACE,SFrFF,CEwFA,sCAKE,QAAS,CACT,mBAAoB,CE5PlB,iBAAW,CF8Pb,mBFrFF,CEwFA,aAEE,gBFrFF,CEwFA,cAEE,mBFrFF,CAEA,cE0FE,cFxFF,CE8FA,OACE,gBF3FF,CEkGA,gDAIE,yBF/FF,CEoGE,4GAKI,cFlGN,CEwGA,wHAIE,SAAU,CACV,iBFrGF,CEwGA,uCAEE,qBAAsB,CACtB,SFrGF,CEyGA,SACE,aAAc,CAEd,eFvGF,CE0GA,SAME,WAAY,CAEZ,SAAU,CACV,QAAS,CACT,QF7GF,CEkHA,OACE,aAAc,CACd,UAAW,CACX,cAAe,CACf,SAAU,CACV,mBAAoB,CEnShB,gBAtCY,CF2UhB,mBAAoB,CACpB,aAAc,CACd,kBF/GF,CEkHA,SACE,sBF/GF,CAEA,kFEmHE,WFhHF,CAEA,cEsHE,mBAAoB,CACpB,uBFpHF,CAEA,yCE0HE,uBFxHF,CEgIA,6BACE,YAAa,CACb,yBF7HF,CEoIA,OACE,oBFjIF,CEoIA,QACE,iBAAkB,CAClB,cFjIF,CEoIA,SACE,YFjIF,CAEA,SEqIE,sBFnIF,CMzVA,0CAEE,mBHqSuC,CGnSvC,eHqS+B,CGpS/B,eN2VF,CMvVA,OFgHM,gBJ2ON,CM1VA,OF+GM,cJ+ON,CM7VA,OF8GM,iBJmPN,CMhWA,OF6GM,gBJuPN,CMnWA,OF4GM,iBJ2PN,CMtWA,OF2GM,cJ+PN,CMxWA,MFyGM,iBAtCY,CEjEhB,eN2WF,CMvWA,WFmGM,cJ0QN,CMxWA,sBAHE,eH0R+B,CGzR/B,eNgXF,CM9WA,WF8FM,gBJgRN,CMzWA,WFyFM,gBJsRN,CM1WA,sBAHE,eHkR+B,CGjR/B,eNkXF,CMhXA,WFoFM,gBJ4RN,CEhVA,GIpBE,eHgFW,CG/EX,kBH+EW,CG9EX,QAAS,CACT,mCNwWF,CMhWA,aFMI,aAAW,CEHb,eNmWF,CMhWA,WAEE,YHkQgC,CGjQhC,wBNmWF,CMtVA,4BCpFE,cAAe,CACf,ePmbF,CM7VA,kBACE,oBNgWF,CMjWA,mCAII,kBNiWJ,CMvVA,YFjCI,aAAW,CEmCb,wBN0VF,CMtVA,YACE,kBHuBW,CCRP,iBJ2UN,CMtVA,mBACE,aAAc,CF7CZ,aAAW,CE+Cb,aNyVF,CM5VA,0BAMI,oBN0VJ,CQvcA,0BCFE,cAAe,CAGf,WTodF,CQrdA,eACE,cLmgCwC,CKlgCxC,qBLRa,CKSb,wBLNgB,COQd,oBVgdJ,CQtcA,QAEE,oBRwcF,CQrcA,YACE,mBAA0B,CAC1B,aRwcF,CQrcA,gBJkCI,aAAW,CIhCb,aRwcF,CW/eA,KPuEI,eAAW,COrEb,aRmCe,CQlCf,oBXkfF,CW/eE,OACE,aXkfJ,CW7eA,IACE,mBRulCuC,CC7hCrC,eAAW,COxDb,URTa,CQUb,wBRDgB,COEd,mBVgfJ,CWrfA,QASI,SAAU,CPkDV,cAAW,COhDX,eXgfJ,CExSA,ISjME,aAAc,CPyCZ,eAAW,COvCb,aX6eF,CWhfA,SP0CI,iBAAW,COlCX,aAAc,CACd,iBX6eJ,CWxeA,gBACE,gBR8jCuC,CQ7jCvC,iBX2eF,CYnhBE,oFCDA,UAAW,CACX,kBAA0B,CAC1B,iBAAyB,CACzB,iBAAkB,CAClB,gBb6hBF,Cc1eI,yBFzCE,yBACE,eZuhBN,CACF,CchfI,yBFzCE,uCACE,eZ6hBN,CACF,CctfI,yBFzCE,qDACE,eZmiBN,CACF,Cc5fI,0BFzCE,mEACE,gBZyiBN,CACF,CY9gBE,KCnCA,YAAa,CACb,cAAe,CACf,kBAA0B,CAC1B,iBbqjBF,CY/gBE,YACE,cAAe,CACf,aZkhBJ,CYphBE,2CAMI,eAAgB,CAChB,cZmhBN,CezkBE,sqBACE,iBAAkB,CAClB,UAAW,CACX,kBAA0B,CAC1B,iBfilBJ,Ce3jBM,KACE,YAAa,CACb,WAAY,CACZ,cf8jBR,CezjBU,cFwBN,aAAuB,CACvB,cbqiBJ,Ce9jBU,cFwBN,YAAuB,CACvB,ab0iBJ,CenkBU,cFwBN,mBAAuB,CACvB,oBb+iBJ,CexkBU,cFwBN,YAAuB,CACvB,abojBJ,Ce7kBU,cFwBN,YAAuB,CACvB,abyjBJ,CellBU,cFwBN,mBAAuB,CACvB,oBb8jBJ,CejlBM,UFCJ,aAAc,CACd,UAAW,CACX,cbolBF,CejlBU,OFbR,kBAAsC,CAItC,mBb+lBF,CetlBU,OFbR,mBAAsC,CAItC,oBbomBF,Ce3lBU,OFbR,YAAsC,CAItC,abymBF,CehmBU,OFbR,mBAAsC,CAItC,oBb8mBF,CermBU,OFbR,mBAAsC,CAItC,oBbmnBF,Ce1mBU,OFbR,YAAsC,CAItC,abwnBF,Ce/mBU,OFbR,mBAAsC,CAItC,oBb6nBF,CepnBU,OFbR,mBAAsC,CAItC,oBbkoBF,CeznBU,OFbR,YAAsC,CAItC,abuoBF,Ce9nBU,QFbR,mBAAsC,CAItC,oBb4oBF,CenoBU,QFbR,mBAAsC,CAItC,oBbipBF,CexoBU,QFbR,aAAsC,CAItC,cbspBF,CevoBM,aAAwB,Qf2oB9B,CezoBM,YAAuB,Qf6oB7B,Ce1oBQ,SAAwB,Of8oBhC,Ce9oBQ,SAAwB,OfkpBhC,CelpBQ,SAAwB,OfspBhC,CetpBQ,SAAwB,Of0pBhC,Ce1pBQ,SAAwB,Of8pBhC,Ce9pBQ,SAAwB,OfkqBhC,CelqBQ,SAAwB,OfsqBhC,CetqBQ,SAAwB,Of0qBhC,Ce1qBQ,SAAwB,Of8qBhC,Ce9qBQ,SAAwB,OfkrBhC,CelrBQ,UAAwB,QfsrBhC,CetrBQ,UAAwB,Qf0rBhC,Ce1rBQ,UAAwB,Qf8rBhC,CevrBY,UFhBV,qBb2sBF,Ce3rBY,UFhBV,sBb+sBF,Ce/rBY,UFhBV,ebmtBF,CensBY,UFhBV,sBbutBF,CevsBY,UFhBV,sBb2tBF,Ce3sBY,UFhBV,eb+tBF,Ce/sBY,UFhBV,sBbmuBF,CentBY,UFhBV,sBbuuBF,CevtBY,UFhBV,eb2uBF,Ce3tBY,WFhBV,sBb+uBF,Ce/tBY,WFhBV,sBbmvBF,Cc9uBI,yBC3BE,QACE,YAAa,CACb,WAAY,CACZ,cf6wBN,CexwBQ,iBFwBN,aAAuB,CACvB,cbmvBF,Ce5wBQ,iBFwBN,YAAuB,CACvB,abuvBF,CehxBQ,iBFwBN,mBAAuB,CACvB,oBb2vBF,CepxBQ,iBFwBN,YAAuB,CACvB,ab+vBF,CexxBQ,iBFwBN,YAAuB,CACvB,abmwBF,Ce5xBQ,iBFwBN,mBAAuB,CACvB,oBbuwBF,Ce1xBI,aFCJ,aAAc,CACd,UAAW,CACX,cb4xBA,CezxBQ,UFbR,kBAAsC,CAItC,mBbsyBA,Ce7xBQ,UFbR,mBAAsC,CAItC,oBb0yBA,CejyBQ,UFbR,YAAsC,CAItC,ab8yBA,CeryBQ,UFbR,mBAAsC,CAItC,oBbkzBA,CezyBQ,UFbR,mBAAsC,CAItC,oBbszBA,Ce7yBQ,UFbR,YAAsC,CAItC,ab0zBA,CejzBQ,UFbR,mBAAsC,CAItC,oBb8zBA,CerzBQ,UFbR,mBAAsC,CAItC,oBbk0BA,CezzBQ,UFbR,YAAsC,CAItC,abs0BA,Ce7zBQ,WFbR,mBAAsC,CAItC,oBb00BA,Cej0BQ,WFbR,mBAAsC,CAItC,oBb80BA,Cer0BQ,WFbR,aAAsC,CAItC,cbk1BA,Cen0BI,gBAAwB,Qfs0B5B,Cep0BI,eAAuB,Qfu0B3B,Cep0BM,YAAwB,Ofu0B9B,Cev0BM,YAAwB,Of00B9B,Ce10BM,YAAwB,Of60B9B,Ce70BM,YAAwB,Ofg1B9B,Ceh1BM,YAAwB,Ofm1B9B,Cen1BM,YAAwB,Ofs1B9B,Cet1BM,YAAwB,Ofy1B9B,Cez1BM,YAAwB,Of41B9B,Ce51BM,YAAwB,Of+1B9B,Ce/1BM,YAAwB,Ofk2B9B,Cel2BM,aAAwB,Qfq2B9B,Cer2BM,aAAwB,Qfw2B9B,Cex2BM,aAAwB,Qf22B9B,Cep2BU,aFhBV,abu3BA,Cev2BU,aFhBV,qBb03BA,Ce12BU,aFhBV,sBb63BA,Ce72BU,aFhBV,ebg4BA,Ceh3BU,aFhBV,sBbm4BA,Cen3BU,aFhBV,sBbs4BA,Cet3BU,aFhBV,eby4BA,Cez3BU,aFhBV,sBb44BA,Ce53BU,aFhBV,sBb+4BA,Ce/3BU,aFhBV,ebk5BA,Cel4BU,cFhBV,sBbq5BA,Cer4BU,cFhBV,sBbw5BA,CACF,Ccp5BI,yBC3BE,QACE,YAAa,CACb,WAAY,CACZ,cfm7BN,Ce96BQ,iBFwBN,aAAuB,CACvB,cby5BF,Cel7BQ,iBFwBN,YAAuB,CACvB,ab65BF,Cet7BQ,iBFwBN,mBAAuB,CACvB,oBbi6BF,Ce17BQ,iBFwBN,YAAuB,CACvB,abq6BF,Ce97BQ,iBFwBN,YAAuB,CACvB,aby6BF,Cel8BQ,iBFwBN,mBAAuB,CACvB,oBb66BF,Ceh8BI,aFCJ,aAAc,CACd,UAAW,CACX,cbk8BA,Ce/7BQ,UFbR,kBAAsC,CAItC,mBb48BA,Cen8BQ,UFbR,mBAAsC,CAItC,oBbg9BA,Cev8BQ,UFbR,YAAsC,CAItC,abo9BA,Ce38BQ,UFbR,mBAAsC,CAItC,oBbw9BA,Ce/8BQ,UFbR,mBAAsC,CAItC,oBb49BA,Cen9BQ,UFbR,YAAsC,CAItC,abg+BA,Cev9BQ,UFbR,mBAAsC,CAItC,oBbo+BA,Ce39BQ,UFbR,mBAAsC,CAItC,oBbw+BA,Ce/9BQ,UFbR,YAAsC,CAItC,ab4+BA,Cen+BQ,WFbR,mBAAsC,CAItC,oBbg/BA,Cev+BQ,WFbR,mBAAsC,CAItC,oBbo/BA,Ce3+BQ,WFbR,aAAsC,CAItC,cbw/BA,Cez+BI,gBAAwB,Qf4+B5B,Ce1+BI,eAAuB,Qf6+B3B,Ce1+BM,YAAwB,Of6+B9B,Ce7+BM,YAAwB,Ofg/B9B,Ceh/BM,YAAwB,Ofm/B9B,Cen/BM,YAAwB,Ofs/B9B,Cet/BM,YAAwB,Ofy/B9B,Cez/BM,YAAwB,Of4/B9B,Ce5/BM,YAAwB,Of+/B9B,Ce//BM,YAAwB,OfkgC9B,CelgCM,YAAwB,OfqgC9B,CergCM,YAAwB,OfwgC9B,CexgCM,aAAwB,Qf2gC9B,Ce3gCM,aAAwB,Qf8gC9B,Ce9gCM,aAAwB,QfihC9B,Ce1gCU,aFhBV,ab6hCA,Ce7gCU,aFhBV,qBbgiCA,CehhCU,aFhBV,sBbmiCA,CenhCU,aFhBV,ebsiCA,CethCU,aFhBV,sBbyiCA,CezhCU,aFhBV,sBb4iCA,Ce5hCU,aFhBV,eb+iCA,Ce/hCU,aFhBV,sBbkjCA,CeliCU,aFhBV,sBbqjCA,CeriCU,aFhBV,ebwjCA,CexiCU,cFhBV,sBb2jCA,Ce3iCU,cFhBV,sBb8jCA,CACF,Cc1jCI,yBC3BE,QACE,YAAa,CACb,WAAY,CACZ,cfylCN,CeplCQ,iBFwBN,aAAuB,CACvB,cb+jCF,CexlCQ,iBFwBN,YAAuB,CACvB,abmkCF,Ce5lCQ,iBFwBN,mBAAuB,CACvB,oBbukCF,CehmCQ,iBFwBN,YAAuB,CACvB,ab2kCF,CepmCQ,iBFwBN,YAAuB,CACvB,ab+kCF,CexmCQ,iBFwBN,mBAAuB,CACvB,oBbmlCF,CetmCI,aFCJ,aAAc,CACd,UAAW,CACX,cbwmCA,CermCQ,UFbR,kBAAsC,CAItC,mBbknCA,CezmCQ,UFbR,mBAAsC,CAItC,oBbsnCA,Ce7mCQ,UFbR,YAAsC,CAItC,ab0nCA,CejnCQ,UFbR,mBAAsC,CAItC,oBb8nCA,CernCQ,UFbR,mBAAsC,CAItC,oBbkoCA,CeznCQ,UFbR,YAAsC,CAItC,absoCA,Ce7nCQ,UFbR,mBAAsC,CAItC,oBb0oCA,CejoCQ,UFbR,mBAAsC,CAItC,oBb8oCA,CeroCQ,UFbR,YAAsC,CAItC,abkpCA,CezoCQ,WFbR,mBAAsC,CAItC,oBbspCA,Ce7oCQ,WFbR,mBAAsC,CAItC,oBb0pCA,CejpCQ,WFbR,aAAsC,CAItC,cb8pCA,Ce/oCI,gBAAwB,QfkpC5B,CehpCI,eAAuB,QfmpC3B,CehpCM,YAAwB,OfmpC9B,CenpCM,YAAwB,OfspC9B,CetpCM,YAAwB,OfypC9B,CezpCM,YAAwB,Of4pC9B,Ce5pCM,YAAwB,Of+pC9B,Ce/pCM,YAAwB,OfkqC9B,CelqCM,YAAwB,OfqqC9B,CerqCM,YAAwB,OfwqC9B,CexqCM,YAAwB,Of2qC9B,Ce3qCM,YAAwB,Of8qC9B,Ce9qCM,aAAwB,QfirC9B,CejrCM,aAAwB,QforC9B,CeprCM,aAAwB,QfurC9B,CehrCU,aFhBV,abmsCA,CenrCU,aFhBV,qBbssCA,CetrCU,aFhBV,sBbysCA,CezrCU,aFhBV,eb4sCA,Ce5rCU,aFhBV,sBb+sCA,Ce/rCU,aFhBV,sBbktCA,CelsCU,aFhBV,ebqtCA,CersCU,aFhBV,sBbwtCA,CexsCU,aFhBV,sBb2tCA,Ce3sCU,aFhBV,eb8tCA,Ce9sCU,cFhBV,sBbiuCA,CejtCU,cFhBV,sBbouCA,CACF,CchuCI,0BC3BE,QACE,YAAa,CACb,WAAY,CACZ,cf+vCN,Ce1vCQ,iBFwBN,aAAuB,CACvB,cbquCF,Ce9vCQ,iBFwBN,YAAuB,CACvB,abyuCF,CelwCQ,iBFwBN,mBAAuB,CACvB,oBb6uCF,CetwCQ,iBFwBN,YAAuB,CACvB,abivCF,Ce1wCQ,iBFwBN,YAAuB,CACvB,abqvCF,Ce9wCQ,iBFwBN,mBAAuB,CACvB,oBbyvCF,Ce5wCI,aFCJ,aAAc,CACd,UAAW,CACX,cb8wCA,Ce3wCQ,UFbR,kBAAsC,CAItC,mBbwxCA,Ce/wCQ,UFbR,mBAAsC,CAItC,oBb4xCA,CenxCQ,UFbR,YAAsC,CAItC,abgyCA,CevxCQ,UFbR,mBAAsC,CAItC,oBboyCA,Ce3xCQ,UFbR,mBAAsC,CAItC,oBbwyCA,Ce/xCQ,UFbR,YAAsC,CAItC,ab4yCA,CenyCQ,UFbR,mBAAsC,CAItC,oBbgzCA,CevyCQ,UFbR,mBAAsC,CAItC,oBbozCA,Ce3yCQ,UFbR,YAAsC,CAItC,abwzCA,Ce/yCQ,WFbR,mBAAsC,CAItC,oBb4zCA,CenzCQ,WFbR,mBAAsC,CAItC,oBbg0CA,CevzCQ,WFbR,aAAsC,CAItC,cbo0CA,CerzCI,gBAAwB,QfwzC5B,CetzCI,eAAuB,QfyzC3B,CetzCM,YAAwB,OfyzC9B,CezzCM,YAAwB,Of4zC9B,Ce5zCM,YAAwB,Of+zC9B,Ce/zCM,YAAwB,Ofk0C9B,Cel0CM,YAAwB,Ofq0C9B,Cer0CM,YAAwB,Ofw0C9B,Cex0CM,YAAwB,Of20C9B,Ce30CM,YAAwB,Of80C9B,Ce90CM,YAAwB,Ofi1C9B,Cej1CM,YAAwB,Ofo1C9B,Cep1CM,aAAwB,Qfu1C9B,Cev1CM,aAAwB,Qf01C9B,Ce11CM,aAAwB,Qf61C9B,Cet1CU,aFhBV,aby2CA,Cez1CU,aFhBV,qBb42CA,Ce51CU,aFhBV,sBb+2CA,Ce/1CU,aFhBV,ebk3CA,Cel2CU,aFhBV,sBbq3CA,Cer2CU,aFhBV,sBbw3CA,Cex2CU,aFhBV,eb23CA,Ce32CU,aFhBV,sBb83CA,Ce92CU,aFhBV,sBbi4CA,Cej3CU,aFhBV,ebo4CA,Cep3CU,cFhBV,sBbu4CA,Cev3CU,cFhBV,sBb04CA,CACF,CgB97CA,OACE,UAAW,CACX,kBbiIW,CahIX,ahBi8CF,CgBp8CA,oBAQI,cbkVgC,CajVhC,kBAAmB,CACnB,4BhBi8CJ,CgB38CA,gBAcI,qBAAsB,CACtB,+BhBi8CJ,CgBh9CA,mBAmBI,4BhBi8CJ,CgBx7CA,0BAGI,ahB07CJ,CgBj7CA,sDAKI,wBhBq7CJ,CgB17CA,kDAWM,uBhBo7CN,CgB/6CA,mGAKI,QhBi7CJ,CgBz6CA,yCAEI,gChB26CJ,CK1+CE,4BW2EI,abvEY,CawEZ,iChBm6CN,CiBt/CE,mDAII,wBjBw/CN,CiB5/CE,uFAYM,oBjBu/CR,CiBh/CE,4GASQ,wBjBg/CV,CiB5gDE,yDAII,wBjB8gDN,CiBlhDE,+FAYM,oBjB6gDR,CiBtgDE,kHASQ,wBjBsgDV,CiBliDE,mDAII,wBjBoiDN,CiBxiDE,uFAYM,oBjBmiDR,CiB5hDE,4GASQ,wBjB4hDV,CiBxjDE,0CAII,wBjB0jDN,CiB9jDE,2EAYM,oBjByjDR,CiBljDE,mGASQ,wBjBkjDV,CiB9kDE,mDAII,wBjBglDN,CiBplDE,uFAYM,oBjB+kDR,CiBxkDE,4GASQ,wBjBwkDV,CiBpmDE,gDAII,wBjBsmDN,CiB1mDE,mFAYM,oBjBqmDR,CiB9lDE,yGASQ,wBjB8lDV,CiB1nDE,6CAII,wBjB4nDN,CiBhoDE,+EAYM,oBjB2nDR,CiBpnDE,sGASQ,wBjBonDV,CiBhpDE,0CAII,wBjBkpDN,CiBtpDE,2EAYM,oBjBipDR,CiB1oDE,mGASQ,wBjB0oDV,CiBnpDE,yJASQ,iCjBypDV,CgB3kDA,sBAGM,Ub3GS,Ca4GT,wBbpGY,CaqGZ,oBhB4kDN,CgBjlDA,uBAWM,ab5GY,Ca6GZ,wBblHY,CamHZ,oBhB0kDN,CgBrkDA,YACE,Ub3Ha,Ca4Hb,wBhBwkDF,CgB1kDA,mDAOI,oBhBykDJ,CgBhlDA,2BAWI,QhBykDJ,CgBplDA,oDAgBM,oChBwkDN,CK7sDE,uCW4IM,UbjJO,CakJP,qChBqkDR,CcrpDI,4BEiGA,qBAEI,aAAc,CACd,UAAW,CACX,eAAgB,CAChB,gChBujDN,CgB5jDG,qCASK,QhBsjDR,CACF,CcjqDI,4BEiGA,qBAEI,aAAc,CACd,UAAW,CACX,eAAgB,CAChB,gChBmkDN,CgBxkDG,qCASK,QhBkkDR,CACF,Cc7qDI,4BEiGA,qBAEI,aAAc,CACd,UAAW,CACX,eAAgB,CAChB,gChB+kDN,CgBplDG,qCASK,QhB8kDR,CACF,CczrDI,6BEiGA,qBAEI,aAAc,CACd,UAAW,CACX,eAAgB,CAChB,gChB2lDN,CgBhmDG,qCASK,QhB0lDR,CACF,CgBzmDA,kBAOQ,aAAc,CACd,UAAW,CACX,eAAgB,CAChB,gChBsmDR,CgBhnDA,kCAcU,QhBsmDV,CkBnxDA,cACE,aAAc,CACd,UAAW,CACX,iCCiH8D,CDhH9D,sBfyXkC,CCpQ9B,cAtCY,Cc5EhB,efkR+B,CejR/B,efsR+B,CerR/B,afDgB,CeEhB,qBfTa,CeUb,2BAA4B,CAC5B,wBfPgB,COOd,oBP6NgC,CiB/N9B,oEpByxDN,CoBrxDM,uCFdN,cEeQ,epByxDN,CACF,CkBzyDA,0BAsBI,wBAA6B,CAC7B,QlBuxDJ,CkB9yDA,6BA4BI,iBAAkB,CAClB,yBlBsxDJ,CqB5yDE,oBACE,alBAc,CkBCd,qBlBRW,CkBSX,oBlBqdsE,CkBpdtE,SAAU,CAKR,0CrB2yDN,CkB3zDA,yCAqCI,af9Bc,CegCd,SlByxDJ,CkBh0DA,2BAqCI,af9Bc,CegCd,SlByxDJ,CkBh0DA,+CAiDI,wBf9Cc,CegDd,SlBkxDJ,CkB9wDA,mIAKI,uBAAgB,CAAhB,elBgxDJ,CkB5wDA,qCAOI,af/Dc,CegEd,qBlBywDJ,CkBpwDA,uCAEE,aAAc,CACd,UlBuwDF,CkB7vDA,gBACE,+BCyB8D,CDxB9D,kCCwB8D,CDvB9D,eAAgB,Cd3Bd,iBAAW,Cc6Bb,elBgwDF,CkB7vDA,mBACE,6BCiB8D,CDhB9D,gCCgB8D,CfK1D,iBAtCY,CcmBhB,elBgwDF,CkB7vDA,mBACE,8BCU8D,CDT9D,iCCS8D,CfK1D,iBAtCY,Cc0BhB,elBgwDF,CkBvvDA,wBACE,aAAc,CACd,UAAW,CACX,iBAA2B,CAC3B,eAAgB,CdDZ,cAtCY,CcyChB,efkK+B,CejK/B,afnHgB,CeoHhB,wBAA6B,CAE7B,wBAAmC,CAAnC,kBlB0vDF,CkBpwDA,gFAcI,eAAgB,CAChB,clB0vDJ,CkB9uDA,iBACE,gCC9B8D,CD+B9D,oBfoPiC,CC9Q7B,iBAtCY,CckEhB,ef+E+B,COxN7B,mBV23DJ,CkB9uDA,iBACE,+BCtC8D,CDuC9D,kBfiPgC,CCnR5B,iBAtCY,Cc0EhB,efsE+B,COvN7B,mBVm4DJ,CkBtuDA,8EACE,WlB6uDF,CkBruDA,YACE,kBlBwuDF,CkBruDA,WACE,aAAc,CACd,iBlBwuDF,CkBhuDA,UACE,YAAa,CACb,cAAe,CACf,iBAA0C,CAC1C,gBlBmuDF,CkBvuDA,uCAQI,iBAA0C,CAC1C,gBlBouDJ,CkB3tDA,YACE,iBAAkB,CAClB,aAAc,CACd,oBlB8tDF,CkB3tDA,kBACE,iBAAkB,CAClB,gBf4R2C,Ce3R3C,oBlB8tDF,CkBjuDA,2FAQI,alB8tDJ,CkB1tDA,kBACE,elB6tDF,CkB1tDA,mBACE,mBAAoB,CACpB,kBAAmB,CACnB,cAAe,CACf,mBlB6tDF,CkBjuDA,qCAQI,eAAgB,CAChB,YAAa,CACb,qBfwQ4C,CevQ5C,alB6tDJ,CqB16DE,gBACE,YAAa,CACb,UAAW,CACX,iBlB0c0C,CCjb1C,aAAW,CiBvBX,arB66DJ,CqB16DE,eACE,iBAAkB,CAClB,QAAS,CACT,MAAO,CACP,SAAU,CACV,YAAa,CACb,cAAe,CACf,oBlBoyBqC,CkBnyBrC,gBAAiB,CjBmEf,iBAtCY,CiB3Bd,elBsO6B,CkBrO7B,UlBxDW,CkByDX,mClBtBa,COxBb,oBV49DJ,CqBz6DI,qEAEE,QrB46DN,CqBn9DI,8HA8CE,arB46DN,CqB19DI,0DAoDE,oBlB1CW,CkB6CT,kCFmCwD,CElCxD,4QF3B0E,CE4B1E,2BAA4B,CAC5B,wDAA6D,CAC7D,2DrBw6DR,CqBn+DI,sEA+DI,oBlBrDS,CkBsDT,0CrBw6DR,CqBx+DI,0EAyEI,kCFiBwD,CEhBxD,6ErBm6DR,CqB7+DI,4DAiFE,oBlBvEW,CkB0ET,qCFMwD,CELxD,wiBrB85DR,CqBn/DI,wEAyFI,oBlB/ES,CkBgFT,0CrB85DR,CqBx/DI,sGAkGI,arB05DR,CqB5/DI,kMAuGI,arB25DR,CqBlgEI,sHA+GI,arBu5DR,CqBtgEI,oIAkHM,oBrBw5DV,CqB1gEI,oJAwHM,oBAAkC,CClJxC,wBtByiEJ,CqB/gEI,gJA+HM,0CrBo5DV,CqBnhEI,sRA6II,oBrB84DR,CqB3hEI,sHAkJM,oBlBxIO,CkByIP,0CrB64DV,CqBphEE,kBACE,YAAa,CACb,UAAW,CACX,iBlB0c0C,CCjb1C,aAAW,CiBvBX,arBuhEJ,CqBphEE,iBACE,iBAAkB,CAClB,QAAS,CACT,MAAO,CACP,SAAU,CACV,YAAa,CACb,cAAe,CACf,oBlBoyBqC,CkBnyBrC,gBAAiB,CjBmEf,iBAtCY,CiB3Bd,elBsO6B,CkBrO7B,UlBxDW,CkByDX,mClBzBa,COrBb,oBVskEJ,CqBnhEI,yEAEE,QrBshEN,CqB7jEI,8IA8CE,arBshEN,CqBpkEI,8DAoDE,oBlB7CW,CkBgDT,kCFmCwD,CElCxD,qUF3B0E,CE4B1E,2BAA4B,CAC5B,wDAA6D,CAC7D,2DrBkhER,CqB7kEI,0EA+DI,oBlBxDS,CkByDT,0CrBkhER,CqBllEI,8EAyEI,kCFiBwD,CEhBxD,6ErB6gER,CqBvlEI,gEAiFE,oBlB1EW,CkB6ET,qCFMwD,CELxD,imBrBwgER,CqB7lEI,4EAyFI,oBlBlFS,CkBmFT,0CrBwgER,CqBlmEI,0GAkGI,arBogER,CqBtmEI,kNAuGI,arBqgER,CqB5mEI,0HA+GI,arBigER,CqBhnEI,wIAkHM,oBrBkgEV,CqBpnEI,wJAwHM,oBAAkC,CClJxC,wBtBmpEJ,CqBznEI,oJA+HM,0CrB8/DV,CqB7nEI,8RA6II,oBrBw/DR,CqBroEI,0HAkJM,oBlB3IO,CkB4IP,0CrBu/DV,CkBx5DA,aACE,YAAa,CACb,kBAAmB,CACnB,kBlB25DF,CkB95DA,yBASI,UlBy5DJ,CcxnEI,yBIsNJ,mBAiBM,sBlBy5DJ,CkB16DF,4CAeM,YAAa,CACb,kBAAmB,CAEnB,elB+5DJ,CkBj7DF,yBAwBM,aAAc,CACd,kBlBw5DJ,CkBj7DF,2BAgCM,oBAAqB,CACrB,UAAW,CACX,qBlBo5DJ,CkBt7DF,qCAuCM,oBlBk5DJ,CkBz7DF,sDA4CM,UlBi5DJ,CkB77DF,yBAkDM,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,UAAW,CACX,clB84DJ,CkBp8DF,+BAyDM,iBAAkB,CAClB,aAAc,CACd,YAAa,CACb,mBf+KwC,Ce9KxC,alB84DJ,CkB38DF,6BAiEM,kBAAmB,CACnB,sBlB64DJ,CkB/8DF,mCAqEM,elB64DJ,CACF,CuB/tEA,KACE,oBAAqB,CAErB,epBsR+B,CoBrR/B,apBMgB,CoBLhB,iBAAkB,CAGlB,qBAAsB,CACtB,wBAAiB,CAAjB,gBAAiB,CACjB,wBAA6B,CAC7B,4BAA2C,CCuF3C,sBrB2RkC,CCpQ9B,cAtCY,CoBiBhB,erB0L+B,COlR7B,oBP6NgC,CiB/N9B,6HpBquEN,CoBjuEM,uCGdN,KHeQ,epBquEN,CACF,CK/uEE,WkBUE,apBNc,CoBOd,oBvByuEJ,CuB1vEA,sBAsBI,SAAU,CACV,0CvBwuEJ,CuB/vEA,4BA6BI,WvBsuEJ,CuBnwEA,mCAkCI,cvBquEJ,CuBvtEA,uCAEE,mBvB0tEF,CuBjtEE,aC3DA,UrBCa,CmBDX,wBnB6Ba,CqB3Bf,oBxBgxEF,CwBvwEE,yDALE,UrBLW,CmBDX,wBEDoF,CASpF,oBxBuxEJ,CwBpxEE,sCASI,0CxB2wEN,CwBtwEE,4CAEE,UrB1BW,CqB2BX,wBrBCa,CqBAb,oBxBwwEJ,CwBjwEE,uIAGE,UrBtCW,CqBuCX,wBAzCuK,CA6CvK,oBxBgwEJ,CwB9vEI,yJAKI,0CxB8vER,CuBtvEE,eC3DA,UrBCa,CmBDX,wBnBOc,CqBLhB,oBxBqzEF,CwB5yEE,+DALE,UrBLW,CmBDX,wBEDoF,CASpF,oBxB4zEJ,CwBzzEE,0CASI,2CxBgzEN,CwB3yEE,gDAEE,UrB1BW,CqB2BX,wBrBrBc,CqBsBd,oBxB6yEJ,CwBtyEE,6IAGE,UrBtCW,CqBuCX,wBAzCuK,CA6CvK,oBxBqyEJ,CwBnyEI,+JAKI,2CxBmyER,CuB3xEE,aC3DA,UrBCa,CmBDX,wBnBoCa,CqBlCf,oBxB01EF,CwBj1EE,yDALE,UrBLW,CmBDX,wBEDoF,CASpF,oBxBi2EJ,CwB91EE,sCASI,yCxBq1EN,CwBh1EE,4CAEE,UrB1BW,CqB2BX,wBrBQa,CqBPb,oBxBk1EJ,CwB30EE,uIAGE,UrBtCW,CqBuCX,wBAzCuK,CA6CvK,oBxB00EJ,CwBx0EI,yJAKI,yCxBw0ER,CuBh0EE,UC3DA,UrBCa,CmBDX,wBnBsCa,CqBpCf,oBxB+3EF,CwBt3EE,gDALE,UrBLW,CmBDX,wBEDoF,CASpF,oBxBs4EJ,CwBn4EE,gCASI,0CxB03EN,CwBr3EE,sCAEE,UrB1BW,CqB2BX,wBrBUa,CqBTb,oBxBu3EJ,CwBh3EE,8HAGE,UrBtCW,CqBuCX,wBAzCuK,CA6CvK,oBxB+2EJ,CwB72EI,gJAKI,0CxB62ER,CuBr2EE,aC3DA,arBUgB,CmBVd,wBnBmCa,CqBjCf,oBxBo6EF,CwB35EE,yDALE,arBIc,CmBVd,wBEDoF,CASpF,oBxB26EJ,CwBx6EE,sCASI,0CxB+5EN,CwB15EE,4CAEE,arBjBc,CqBkBd,wBrBOa,CqBNb,oBxB45EJ,CwBr5EE,uIAGE,arB7Bc,CqB8Bd,wBAzCuK,CA6CvK,oBxBo5EJ,CwBl5EI,yJAKI,0CxBk5ER,CuB14EE,YC3DA,UrBCa,CmBDX,wBnBiCa,CqB/Bf,oBxBy8EF,CwBh8EE,sDALE,UrBLW,CmBDX,wBEDoF,CASpF,oBxBg9EJ,CwB78EE,oCASI,yCxBo8EN,CwB/7EE,0CAEE,UrB1BW,CqB2BX,wBrBKa,CqBJb,oBxBi8EJ,CwB17EE,oIAGE,UrBtCW,CqBuCX,wBAzCuK,CA6CvK,oBxBy7EJ,CwBv7EI,sJAKI,yCxBu7ER,CuB/6EE,WC3DA,arBUgB,CmBVd,wBnBEc,CqBAhB,oBxB8+EF,CwBr+EE,mDALE,arBIc,CmBVd,wBEDoF,CASpF,oBxBq/EJ,CwBl/EE,kCASI,2CxBy+EN,CwBp+EE,wCAEE,arBjBc,CqBkBd,wBrB1Bc,CqB2Bd,oBxBs+EJ,CwB/9EE,iIAGE,arB7Bc,CqB8Bd,wBAzCuK,CA6CvK,oBxB89EJ,CwB59EI,mJAKI,2CxB49ER,CuBp9EE,UC3DA,UrBCa,CmBDX,wBnBSc,CqBPhB,oBxBmhFF,CwB1gFE,gDALE,UrBLW,CmBDX,wBEDoF,CASpF,oBxB0hFJ,CwBvhFE,gCASI,wCxB8gFN,CwBzgFE,sCAEE,UrB1BW,CqB2BX,wBrBnBc,CqBoBd,oBxB2gFJ,CwBpgFE,8HAGE,UrBtCW,CqBuCX,wBAzCuK,CA6CvK,oBxBmgFJ,CwBjgFI,gJAKI,wCxBigFR,CuBn/EE,qBCPA,arB7Be,CqB8Bf,oBxB8/EF,CKnjFE,2BmBwDE,UrB7DW,CqB8DX,wBrBlCa,CqBmCb,oBxB+/EJ,CwB5/EE,sDAEE,yCxB8/EJ,CwB3/EE,4DAEE,arB7Ca,CqB8Cb,wBxB6/EJ,CwB1/EE,+JAGE,UrBhFW,CqBiFX,wBrBrDa,CqBsDb,oBxB4/EJ,CwB1/EI,iLAKI,yCxB0/ER,CuBnhFE,uBCPA,arBnDgB,CqBoDhB,oBxB8hFF,CKnlFE,6BmBwDE,UrB7DW,CqB8DX,wBrBxDc,CqByDd,oBxB+hFJ,CwB5hFE,0DAEE,2CxB8hFJ,CwB3hFE,gEAEE,arBnEc,CqBoEd,wBxB6hFJ,CwB1hFE,qKAGE,UrBhFW,CqBiFX,wBrB3Ec,CqB4Ed,oBxB4hFJ,CwB1hFI,uLAKI,2CxB0hFR,CuBnjFE,qBCPA,arBtBe,CqBuBf,oBxB8jFF,CKnnFE,2BmBwDE,UrB7DW,CqB8DX,wBrB3Ba,CqB4Bb,oBxB+jFJ,CwB5jFE,sDAEE,yCxB8jFJ,CwB3jFE,4DAEE,arBtCa,CqBuCb,wBxB6jFJ,CwB1jFE,+JAGE,UrBhFW,CqBiFX,wBrB9Ca,CqB+Cb,oBxB4jFJ,CwB1jFI,iLAKI,yCxB0jFR,CuBnlFE,kBCPA,arBpBe,CqBqBf,oBxB8lFF,CKnpFE,wBmBwDE,UrB7DW,CqB8DX,wBrBzBa,CqB0Bb,oBxB+lFJ,CwB5lFE,gDAEE,0CxB8lFJ,CwB3lFE,sDAEE,arBpCa,CqBqCb,wBxB6lFJ,CwB1lFE,sJAGE,UrBhFW,CqBiFX,wBrB5Ca,CqB6Cb,oBxB4lFJ,CwB1lFI,wKAKI,0CxB0lFR,CuBnnFE,qBCPA,arBvBe,CqBwBf,oBxB8nFF,CKnrFE,2BmBwDE,arBpDc,CqBqDd,wBrB5Ba,CqB6Bb,oBxB+nFJ,CwB5nFE,sDAEE,yCxB8nFJ,CwB3nFE,4DAEE,arBvCa,CqBwCb,wBxB6nFJ,CwB1nFE,+JAGE,arBvEc,CqBwEd,wBrB/Ca,CqBgDb,oBxB4nFJ,CwB1nFI,iLAKI,yCxB0nFR,CuBnpFE,oBCPA,arBzBe,CqB0Bf,oBxB8pFF,CKntFE,0BmBwDE,UrB7DW,CqB8DX,wBrB9Ba,CqB+Bb,oBxB+pFJ,CwB5pFE,oDAEE,yCxB8pFJ,CwB3pFE,0DAEE,arBzCa,CqB0Cb,wBxB6pFJ,CwB1pFE,4JAGE,UrBhFW,CqBiFX,wBrBjDa,CqBkDb,oBxB4pFJ,CwB1pFI,8KAKI,yCxB0pFR,CuBnrFE,mBCPA,arBxDgB,CqByDhB,oBxB8rFF,CKnvFE,yBmBwDE,arBpDc,CqBqDd,wBrB7Dc,CqB8Dd,oBxB+rFJ,CwB5rFE,kDAEE,2CxB8rFJ,CwB3rFE,wDAEE,arBxEc,CqByEd,wBxB6rFJ,CwB1rFE,yJAGE,arBvEc,CqBwEd,wBrBhFc,CqBiFd,oBxB4rFJ,CwB1rFI,2KAKI,2CxB0rFR,CuBntFE,kBCPA,arBjDgB,CqBkDhB,oBxB8tFF,CKnxFE,wBmBwDE,UrB7DW,CqB8DX,wBrBtDc,CqBuDd,oBxB+tFJ,CwB5tFE,gDAEE,wCxB8tFJ,CwB3tFE,sDAEE,arBjEc,CqBkEd,wBxB6tFJ,CwB1tFE,sJAGE,UrBhFW,CqBiFX,wBrBzEc,CqB0Ed,oBxB4tFJ,CwB1tFI,wKAKI,wCxB0tFR,CuBxuFA,UACE,epB4M+B,CoB3M/B,apBjDe,CoBkDf,oBvB2uFF,CKpzFE,gBkB4EE,avB6uFJ,CuBnvFA,gDAOI,yBvBgvFJ,CuBvvFA,sCAiBI,apBtFc,CoBuFd,mBvB0uFJ,CuB/tFA,2BCPE,kBrB0SgC,CCnR5B,iBAtCY,CoBiBhB,erB+H+B,COvN7B,mBVm0FJ,CuBluFA,2BCXE,oBrBqSiC,CC9Q7B,iBAtCY,CoBiBhB,erBgI+B,COxN7B,mBV00FJ,CuBhuFA,WA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B5oGA,wNAkBM,S7BsoGN,C6BhoGA,aACE,YAAa,CACb,cAAe,CACf,0B7BmoGF,C6BtoGA,0BAMI,U7BooGJ,C6BhoGA,0EAII,gB7BioGJ,C6BroGA,mGnBHI,yBmBa8B,CnBZ9B,4BV6oGJ,C6B3oGA,+EnBWI,wBmBI6B,CnBH7B,2BVqoGJ,C6BlnGA,uBACE,sBAAmC,CACnC,qB7BqnGF,C6BvnGA,0GAOI,a7BsnGJ,C6BnnGE,wCACE,c7BsnGJ,C6BlnGA,yEACE,qBAAsC,CACtC,oB7BqnGF,C6BlnGA,yEACE,oBAAsC,CACtC,mB7BqnGF,C6BjmGA,oBACE,qBAAsB,CACtB,sBAAuB,CACvB,sB7BomGF,C6BvmGA,wDAOI,U7BqmGJ,C6B5mGA,4FAYI,e7BqmGJ,C6BjnGA,qHnBrEI,4BmBuF+B,CnBtF/B,2BV2rGJ,C6BvnGA,iGnBnFI,wBmB0G4B,CnBzG5B,yBV+sGJ,C6BrlGA,yDAGI,e7BulGJ,C6B1lGA,gMAOM,iBAAkB,CAClB,kBAAsB,CACtB,mB7B0lGN,C8BnvGA,aACE,iBAAkB,CAClB,YAAa,CACb,cAAe,CACf,mBAAoB,CACpB,U9BsvGF,C8B3vGA,sHAWI,iBAAkB,CAClB,aAAc,CACd,QAAS,CACT,WAAY,CACZ,e9BuvGJ,C8BtwGA,0gBAoBM,gB9BiwGN,C8BrxGA,yIA4BI,S9B+vGJ,C8B3xGA,mDAiCI,S9B8vGJ,C8B/xGA,2FpB0CI,wBoBJmD,CpBKnD,2BV0vGJ,C8BryGA,0BA4CI,YAAa,CACb,kB9B6vGJ,C8B1yGA,6HpB0CI,wBoBMsE,CpBLtE,2BVqwGJ,C8BhzGA,+apB4BI,yBoBmCgC,CpBlChC,4BViyGJ,C8BnvGA,yCAEE,Y9BsvGF,C8BxvGA,mDAQI,iBAAkB,CAClB,S9BqvGJ,C8B9vGA,+DAYM,S9BuvGN,C8BnwGA,4VAoBI,gB9B0vGJ,C8BtvGA,qBAAuB,iB9B0vGvB,C8BzvGA,oBAAsB,gB9B6vGtB,C8BrvGA,kBACE,YAAa,CACb,kBAAmB,CACnB,sB3B8QkC,C2B7QlC,eAAgB,C1BSZ,cAtCY,C0B+BhB,e3BuK+B,C2BtK/B,e3B2K+B,C2B1K/B,a3B5GgB,C2B6GhB,iBAAkB,CAClB,kBAAmB,CACnB,wB3BpHgB,C2BqHhB,wB3BnHgB,COOd,oBVq2GJ,C8BrwGA,2EAkBI,Y9BwvGJ,C8B9uGA,2EAEE,+B9BivGF,C8B9uGA,6PAME,kB3ByPgC,CCnR5B,iBAtCY,C0BkEhB,e3B8E+B,COvN7B,mBV23GJ,C8B9uGA,2EAEE,gC9BivGF,C8B9uGA,6PAME,oB3BmOiC,CC9Q7B,iBAtCY,C0BmFhB,e3B8D+B,COxN7B,mBV44GJ,C8B9uGA,8DAEE,qB9BivGF,C8BtuGA,skBpB3JI,yBoBmK4B,CpBlK5B,4BV44GJ,C8BvuGA,+WpBxJI,wBoB8J2B,CpB7J3B,2BVw4GJ,C+Bh7GA,gBACE,iBAAkB,CAClB,SAAU,CACV,aAAc,CACd,iBAA+C,CAC/C,mBAAqE,CACrE,gCAAmB,CAAnB,kB/Bm7GF,C+Bh7GA,uBACE,mBAAoB,CACpB,iB/Bm7GF,C+Bh7GA,sBACE,iBAAkB,CAClB,MAAO,CACP,UAAW,CACX,U5Bof0C,C4Bnf1C,cAAkF,CAClF,S/Bm7GF,C+Bz7GA,2DASI,U5BzBW,C4B0BX,oB5BEa,CmB7Bb,wBtBg9GJ,C+B/7GA,yDAoBM,0C/B+6GN,C+Bn8GA,uEAyBI,oB/B86GJ,C+Bv8GA,yEA6BI,U5B7CW,C4B8CX,wB5Bif8E,C4Bhf9E,oB/B86GJ,C+B78GA,2GAuCM,a/B06GN,C+Bj9GA,yHA0CQ,wB/B26GR,C+Bj6GA,sBACE,iBAAkB,CAClB,eAAgB,CAEhB,kB/Bm6GF,C+Bv6GA,6BAeI,mBAAoB,CAEpB,qB5BrFW,C4BsFX,wB/Bk6GJ,C+Bp7GA,yDASI,iBAAkB,CAClB,UAA+E,CAC/E,YAA+D,CAC/D,aAAc,CACd,U5BubwC,C4BtbxC,W5BsbwC,C4BpbxC,U/B+6GJ,C+B/7GA,4BA+BI,gC/Bg6GJ,C+Bv5GA,8CrBjGI,oBV4/GJ,C+B35GA,2EAOM,6N/Bw5GN,C+B/5GA,kFAaM,oB5B7FW,CmB7Bb,wBtBihHJ,C+Bp6GA,iFAkBM,0K/Bs5GN,C+Bx6GA,qFT7GI,mCtByhHJ,C+B56GA,2FT7GI,mCtB6hHJ,C+B54GA,2CAGI,iB/B64GJ,C+Bh5GA,wEAQM,2L/B44GN,C+Bp5GA,kFTjJI,mCtByiHJ,C+Bh4GA,eACE,oB/Bm4GF,C+Bp4GA,4CAKM,aAAqD,CACrD,a5BiY+E,C4BhY/E,kBAAmB,CAEnB,mB/Bk4GN,C+B34GA,2CAaM,sBZlE0D,CYmE1D,yBZnE0D,CYoE1D,sBZhD0D,CYiD1D,uBZjD0D,CYkD1D,wB5BpLY,C4BsLZ,mB5BqX4E,CiBviB5E,yIjByf+H,CiBzf/H,iIjByf+H,CiBzf/H,oKpBojHN,CoBhjHM,uCW2JN,2CX1JQ,epBojHN,CACF,C+B35GA,yEA0BM,qB5BlMS,C4BmMT,oCAA4E,CAA5E,4B/Bq4GN,C+Bh6GA,mFTzKI,mCtB6kHJ,C+Bv3GA,eACE,oBAAqB,CACrB,UAAW,CACX,iCZrG8D,CYsG9D,sC5BmKkC,CCpQ9B,cAtCY,C2B0IhB,e5B4D+B,C4B3D/B,e5BgE+B,C4B/D/B,a5BvNgB,C4BwNhB,qBAAsB,CACtB,iO5BkW+I,C4BjW/I,wB5B7NgB,COOd,oBP6NgC,C4BJlC,uBAAgB,CAAhB,e/Bw3GF,C+Bv4GA,qBAkBI,oB5BuPsE,C4BtPtE,SAAU,CAKR,0C/Bq3GN,C+B74GA,gCAiCM,a5B/OY,C4BgPZ,qB/Bg3GN,C+Bl5GA,8DAwCI,WAAY,CACZ,oB5B8HgC,C4B7HhC,qB/B82GJ,C+Bx5GA,wBA8CI,a5B7Pc,C4B8Pd,wB/B82GJ,C+B75GA,2BAoDI,Y/B62GJ,C+Bj6GA,8BAyDI,iBAAkB,CAClB,yB/B42GJ,C+Bx2GA,kBACE,gCZjK8D,CYkK9D,kB5BgHkC,C4B/GlC,qB5B+GkC,C4B9GlC,kB5B+GiC,CC9Q7B,iBJ2gHN,C+Bx2GA,kBACE,+BZzK8D,CY0K9D,iB5B6GiC,C4B5GjC,oB5B4GiC,C4B3GjC,iB5B4GgC,CCnR5B,iBJmhHN,C+Bn2GA,aAEE,oBAAqB,CAGrB,e/Bs2GF,C+Bn2GA,gCAPE,iBAAkB,CAElB,UAAW,CACX,iC/Bi3GF,C+B72GA,mBAEE,SAAU,CAGV,QAAS,CACT,eAAgB,CAChB,S/Bs2GF,C+B72GA,4CAUI,oB5BoKsE,C4BnKtE,0C/Bu2GJ,C+Bl3GA,+FAiBI,wB/Bs2GJ,C+Bv3GA,qDAsBM,gB/Bq2GN,C+B33GA,yDA2BI,yB/Bo2GJ,C+Bh2GA,mBAIE,MAAO,CACP,SAAU,CACV,iCZlO8D,CYoO9D,eAAgB,CAEhB,e5BjE+B,C4BoE/B,qB5B5Va,C4B6Vb,wB5BzVgB,COOd,oBVqrHJ,C+Bj3GA,4CACE,iBAAkB,CAClB,KAAM,CACN,OAAQ,CAIR,sB5BsCkC,C4BlClC,e5B7D+B,C4B8D/B,a/Bs3GF,C+Bl4GA,yBAsBI,QAAS,CACT,SAAU,CACV,aAAc,CACd,2BZrP4D,CYyP5D,gBAAiB,CT7WjB,wBnBGc,C4B4Wd,mBAAoB,CrBnWpB,+BVssHJ,C+Bx1GA,cACE,UAAW,CACX,aZ3Q2B,CY4Q3B,SAAU,CACV,wBAA6B,CAC7B,uBAAgB,CAAhB,e/B21GF,C+Bh2GA,oBAQI,S/B41GJ,C+Bp2GA,0CAY8B,yD/B41G9B,C+Bx2GA,sCAa8B,yD/B+1G9B,C+B52GA,+BAc8B,yD/Bk2G9B,C+Bh3GA,gCAkBI,Q/Bk2GJ,C+Bp3GA,oCAsBI,U5BmN6C,C4BlN7C,W5BkN6C,C4BjN7C,kBAAyE,CTlZzE,wBnB6Ba,C4BuXb,Q5BkN0C,CO1lB1C,kBP2lB6C,CiB7lB3C,8GjByf+H,CiBzf/H,sGjByf+H,C4B3GjI,uBAAgB,CAAhB,e/Bi2GJ,CoB3uHM,uCW4WN,oCX3WQ,uBAAgB,CAAhB,epB+uHN,CACF,C+Br4GA,2CT1XI,wBtBmwHJ,C+Bz4GA,6CAsCI,U5B4LoC,C4B3LpC,Y5B4LqC,C4B3LrC,iBAAkB,CAClB,c5B2LuC,C4B1LvC,wB5Bhac,C4Biad,wBAAyB,CrBzZzB,kBViwHJ,C+Bn5GA,gCAiDI,U5BwL6C,C4BvL7C,W5BuL6C,CmBnmB7C,wBnB6Ba,C4BiZb,Q5BwL0C,CO1lB1C,kBP2lB6C,CiB7lB3C,2GjByf+H,CiBzf/H,sGjByf+H,C4BjFjI,e/Bq2GJ,CoBzwHM,uCW4WN,gCX3WQ,oBAAgB,CAAhB,epB6wHN,CACF,C+Bn6GA,uCT1XI,wBtBiyHJ,C+Bv6GA,gCAgEI,U5BkKoC,C4BjKpC,Y5BkKqC,C4BjKrC,iBAAkB,CAClB,c5BiKuC,C4BhKvC,wB5B1bc,C4B2bd,wBAAyB,CrBnbzB,kBV+xHJ,C+Bj7GA,yBA2EI,U5B8J6C,C4B7J7C,W5B6J6C,C4B5J7C,YAAa,CACb,kB5BtE+B,C4BuE/B,iB5BvE+B,CmBlY/B,wBnB6Ba,C4B8ab,Q5B2J0C,CO1lB1C,kBP2lB6C,CiB7lB3C,0GjByf+H,CiBzf/H,sGjByf+H,C4BpDjI,e/By2GJ,CoB1yHM,uCW4WN,yBX3WQ,mBAAgB,CAAhB,epB8yHN,CACF,C+Bp8GA,gCT1XI,wBtBk0HJ,C+Bx8GA,yBA6FI,U5BqIoC,C4BpIpC,Y5BqIqC,C4BpIrC,iBAAkB,CAClB,c5BoIuC,C4BnIvC,wBAA6B,CAC7B,wBAAyB,CACzB,kB/B+2GJ,C+Bl9GA,4DAwGI,wB5B9dc,COQd,kBV20HJ,C+B79GA,8BA6GI,iB/Bg3GJ,C+B79GA,6CAoHM,wB/B62GN,C+Bj+GA,sDAwHM,c/B62GN,C+Br+GA,yCA4HM,wB/B62GN,C+Bz+GA,yCAgIM,c/B62GN,C+B7+GA,kCAoIM,wB/B62GN,C+Bx2GA,+DXzfM,sGpBu2HN,CoBn2HM,uCWqfN,+DXpfQ,epBy2HN,CACF,CgC13HA,KACE,YAAa,CACb,cAAe,CACf,cAAe,CACf,eAAgB,CAChB,ehC63HF,CgC13HA,UACE,aAAc,CACd,kBhC63HF,CK53HE,gC2BGE,oBhC63HJ,CgCn4HA,mBAWI,a7BXc,C6BYd,mBAAoB,CACpB,chC43HJ,CgCp3HA,UACE,+BhCu3HF,CgCx3HA,oBAII,kB7BsM6B,C6BrM7B,4BAAgD,CtBZhD,6BPoNgC,COnNhC,8BVq4HJ,CKj5HE,oD2B2BI,oChC03HN,CgCn4HA,6BAaM,a7BlCY,C6BmCZ,wBAA6B,CAC7B,wBhC03HN,CgCz4HA,8DAqBI,a7BzCc,C6B0Cd,qB7BjDW,C6BkDX,iChCy3HJ,CgCh5HA,yBA4BI,e7B8K6B,COjN7B,wBsBqC4B,CtBpC5B,yBV45HJ,CgC/2HA,qBtBvDI,oBV06HJ,CgCn3HA,uDAOI,U7BzEW,C6B0EX,wBhCi3HJ,CgCx2HA,wCAGI,aAAc,CACd,iBhC02HJ,CgCt2HA,kDAGI,YAAa,CACb,WAAY,CACZ,iBhCw2HJ,CgC/1HA,uBAEI,YhCi2HJ,CgCn2HA,qBAKI,ahCk2HJ,CiCt8HA,QACE,iBAAkB,CAKlB,kBjCy8HF,CiC/8HA,4IAEE,YAAa,CACb,cAAe,CACf,kBAAmB,CACnB,6BjCk9HF,CiCr7HA,cACE,oBAAqB,CACrB,oB9BiqB+E,C8BhqB/E,uB9BgqB+E,C8B/pB/E,iB9BgFW,CCRP,iBAtCY,C6BhChB,mBAAoB,CACpB,kBjCw7HF,CKl+HE,wC4B6CE,oBjCy7HJ,CiCh7HA,YACE,YAAa,CACb,qBAAsB,CACtB,cAAe,CACf,eAAgB,CAChB,ejCm7HF,CiCx7HA,sBAQI,eAAgB,CAChB,cjCo7HJ,CiC77HA,2BAaI,eAAgB,CAChB,UjCo7HJ,CiC36HA,aACE,oBAAqB,CACrB,iB9BwlBuC,C8BvlBvC,oBjC86HF,CiCl6HA,iBACE,eAAgB,CAChB,WAAY,CAGZ,kBjCm6HF,CiC/5HA,gBACE,qB9BmmBwC,CC1lBpC,iBAtCY,C6B+BhB,aAAc,CACd,wBAA6B,CAC7B,4BAAuC,CvBxGrC,oBV2gIJ,CK7gIE,4C4B8GE,oBjCm6HJ,CiC75HA,qBACE,oBAAqB,CACrB,WAAY,CACZ,YAAa,CACb,qBAAsB,CACtB,UAAW,CACX,kCjCg6HF,CiC75HA,mBACE,e9B+kBsC,C8B9kBtC,ejCg6HF,Cct+HI,4BmBgFC,gMAGK,eAAgB,CAChB,cjCy5HR,CACF,Cc3/HI,yBmB6FA,kBAoBI,oBAAqB,CACrB,0BjC+4HN,CiCp6HG,8BAwBK,kBjC+4HR,CiCv6HG,6CA2BO,iBjC+4HV,CiC16HG,wCA+BO,mB9BwhB6B,C8BvhB7B,kBjC84HV,CiC96HG,gMAsCK,gBjC44HR,CiCl7HG,qCAqDK,gBjCg4HR,CiCr7HG,mCAyDK,sBAAwB,CAGxB,ejC63HR,CiCz7HG,kCAgEK,YjC43HR,CACF,Cc7gII,4BmBgFC,gMAGK,eAAgB,CAChB,cjCg8HR,CACF,CcliII,yBmB6FA,kBAoBI,oBAAqB,CACrB,0BjCs7HN,CiC38HG,8BAwBK,kBjCs7HR,CiC98HG,6CA2BO,iBjCs7HV,CiCj9HG,wCA+BO,mB9BwhB6B,C8BvhB7B,kBjCq7HV,CiCr9HG,gMAsCK,gBjCm7HR,CiCz9HG,qCAqDK,gBjCu6HR,CiC59HG,mCAyDK,sBAAwB,CAGxB,ejCo6HR,CiCh+HG,kCAgEK,YjCm6HR,CACF,CcpjII,4BmBgFC,gMAGK,eAAgB,CAChB,cjCu+HR,CACF,CczkII,yBmB6FA,kBAoBI,oBAAqB,CACrB,0BjC69HN,CiCl/HG,8BAwBK,kBjC69HR,CiCr/HG,6CA2BO,iBjC69HV,CiCx/HG,wCA+BO,mB9BwhB6B,C8BvhB7B,kBjC49HV,CiC5/HG,gMAsCK,gBjC09HR,CiChgIG,qCAqDK,gBjC88HR,CiCngIG,mCAyDK,sBAAwB,CAGxB,ejC28HR,CiCvgIG,kCAgEK,YjC08HR,CACF,Cc3lII,6BmBgFC,gMAGK,eAAgB,CAChB,cjC8gIR,CACF,CchnII,0BmB6FA,kBAoBI,oBAAqB,CACrB,0BjCogIN,CiCzhIG,8BAwBK,kBjCogIR,CiC5hIG,6CA2BO,iBjCogIV,CiC/hIG,wCA+BO,mB9BwhB6B,C8BvhB7B,kBjCmgIV,CiCniIG,gMAsCK,gBjCigIR,CiCviIG,qCAqDK,gBjCq/HR,CiC1iIG,mCAyDK,sBAAwB,CAGxB,ejCk/HR,CiC9iIG,kCAgEK,YjCi/HR,CACF,CiCvjIA,eAyBQ,oBAAqB,CACrB,0BjCkiIR,CiC5jIA,8KAQU,eAAgB,CAChB,cjCyjIV,CiClkIA,2BA6BU,kBjCyiIV,CiCtkIA,0CAgCY,iBjC0iIZ,CiC1kIA,qCAoCY,mB9BwhB6B,C8BvhB7B,kBjC0iIZ,CiC/kIA,8KA2CU,gBjCyiIV,CiCplIA,kCA0DU,gBjC8hIV,CiCxlIA,gCA8DU,sBAAwB,CAGxB,ejC4hIV,CiC7lIA,+BAqEU,YjC4hIV,CKruIE,gG4B2NI,oBjCkhIN,CiCvhIA,oCAWM,oBjCghIN,CKjvIE,oF4BoOM,oBjCihIR,CiC/hIA,6CAkBQ,oBjCihIR,CiCniIA,0KA0BM,oBjCghIN,CiC1iIA,8BA+BI,oB9BpPW,C8BqPX,2BjC+gIJ,CiC/iIA,mCAoCI,wQjC+gIJ,CiCnjIA,2BAwCI,oBjC+gIJ,CK7wIE,mG4BmQM,oBjCkhIR,CKrxIE,6F4B+QI,UjC8gIN,CiCnhIA,mCAWM,wBjC4gIN,CKjyIE,kF4BwRM,yBjC6gIR,CiC3hIA,4CAkBQ,yBjC6gIR,CiC/hIA,sKA0BM,UjC4gIN,CiCtiIA,6BA+BI,wB9BlTW,C8BmTX,+BjC2gIJ,CiC3iIA,kCAoCI,8QjC2gIJ,CiC/iIA,0BAwCI,wBjC2gIJ,CK7zIE,gG4BuTM,UjC8gIR,CkCj1IA,MACE,iBAAkB,CAClB,YAAa,CACb,qBAAsB,CACtB,WAAY,CAEZ,oBAAqB,CACrB,qB/BJa,C+BKb,uBAA2B,CAC3B,iC/BIa,COCX,oBV+0IJ,CkC71IA,SAaI,cAAe,CACf,alCo1IJ,CkCl2IA,kBAkBI,kBAAmB,CACnB,qBlCo1IJ,CkCv2IA,8BAsBM,kBAAmB,CxBCrB,yCSmH4D,CTlH5D,0CVq1IJ,CkC72IA,6BA2BM,qBAAsB,CxBUxB,6CSqG4D,CTpG5D,4CV60IJ,CkCn3IA,8DAoCI,YlCo1IJ,CkCh1IA,WAGE,aAAc,CAGd,cAAe,CACf,elC+0IF,CkC30IA,YACE,oBlC80IF,CkC30IA,eACE,mBlC+0IF,CkC30IA,qCAHE,elCk1IF,CKn4IE,iB6B0DE,oBlC60IJ,CkC/0IA,sBAMI,mBlC60IJ,CkCr0IA,aACE,sB/B8uByC,C+B7uBzC,eAAgB,CAEhB,gC/BrEa,C+BsEb,wClCu0IF,CkC50IA,yBxBhEI,uDVg5IJ,CkCp0IA,aACE,sB/BkuByC,C+BhuBzC,gC/BhFa,C+BiFb,qClCs0IF,CkC10IA,wBxB5EI,uDV05IJ,CkC9zIA,kBAEE,qB/BgtBwC,C+B9sBxC,elCi0IF,CkC9zIA,qCANE,qBAAiC,CAEjC,oBlCu0IF,CkC7zIA,kBACE,iBAAkB,CAClB,KAAM,CACN,OAAQ,CACR,QAAS,CACT,MAAO,CACP,e/B2sByC,CO1zBvC,gCVg7IJ,CkC7zIA,yCAGE,aAAc,CACd,UlCg0IF,CkC7zIA,wBxBjHI,yCSmH4D,CTlH5D,0CVm7IJ,CkC9zIA,2BxBxGI,6CSqG4D,CTpG5D,4CV26IJ,CkC5zIA,iBAEI,kBlC8zIJ,Cc75II,yBoB6FJ,WAMI,YAAa,CACb,kBAAmB,CACnB,kB/B6qBsD,C+B5qBtD,iBlC+zIF,CkCx0IF,iBAaM,QAAY,CACZ,iB/BuqBoD,C+BtqBpD,eAAgB,CAChB,gBlC8zIJ,CACF,CkCrzIA,kBAII,kBlCqzIJ,Cch7II,yBoBuHJ,YAQI,YAAa,CACb,kBlCszIF,CkC/zIF,kBAcM,QAAY,CACZ,elCozIJ,CkCn0IF,wBAkBQ,aAAc,CACd,alCozIN,CkCv0IF,mCxBjJI,yBwB0KoC,CxBzKpC,4BV29IF,CkC30IF,iGA8BY,yBlCizIV,CkC/0IF,oGAmCY,4BlCgzIV,CkCn1IF,oCxBnII,wBwB2KmC,CxB1KnC,2BVy9IF,CkCv1IF,mGA6CY,wBlC8yIV,CkC31IF,sGAkDY,2BlC6yIV,CACF,CkCjyIA,oBAEI,oBlCmyIJ,Cc39II,yBoBsLJ,cAMI,sB/BylBiC,C+BzlBjC,c/BylBiC,C+BxlBjC,0B/BylBuC,C+BzlBvC,uB/BylBuC,C+BzlBvC,uB/BylBuC,C+BzlBvC,kB/BylBuC,C+BxlBvC,SAAU,CACV,QlCoyIF,CkC7yIF,oBAYM,oBAAqB,CACrB,UlCoyIJ,CACF,CkC3xIA,WACE,oBlC8xIF,CkC/xIA,iBAII,elC+xIJ,CkCnyIA,oCAOM,eAAgB,CxBvOlB,4BwBwOiC,CxBvOjC,2BVwgJJ,CkCzyIA,qCxB9OI,wBwB0P8B,CxBzP9B,yBV2hJJ,CkC9yIA,8BxBvPI,ewBuQ0B,CACxB,kBlCkyIN,CmC5jJA,YACE,YAAa,CACb,cAAe,CACf,mBhCiiCsC,CgChiCtC,kBhCmiCsC,CgCjiCtC,eAAgB,CAChB,wBhCEgB,COSd,oBVojJJ,CmC3jJA,kCAGI,kBnC4jJJ,CmC/jJA,yCAMM,UAAW,CACX,mBhCmhCmC,CgClhCnC,ahCNY,CgCOZ,WnC6jJN,CmCtkJA,+CAoBI,yBAA0B,CAI1B,oBnCkjJJ,CmC1kJA,wBA4BI,anCsjJJ,CoC7lJA,YACE,YAAa,C7BGb,cAAe,CACf,eAAgB,CGad,oBVklJJ,CoC9lJA,WACE,iBAAkB,CAClB,aAAc,CACd,oBjCgxBwC,CiC/wBxC,gBjCkO+B,CiCjO/B,gBjCmxBsC,CiClxBtC,ajCuBe,CiCrBf,qBjCPa,CiCQb,wBpCgmJF,CoCzmJA,iBAYI,SAAU,CACV,ajC8J8D,CiC7J9D,oBAAqB,CACrB,wBjCZc,CiCad,oBpCimJJ,CoCjnJA,iBAoBI,SAAU,CACV,SjC2wBiC,CiC1wBjC,0CpCimJJ,CoC7lJA,kCAGM,aAAc,C1BahB,6BP+LgC,CO9LhC,gCVklJJ,CoCnmJA,iC1BEI,8BP6MgC,CO5MhC,iCVqmJJ,CoCxmJA,6BAcI,SAAU,CACV,UjCxCW,CiCyCX,wBjCba,CiCcb,oBpC8lJJ,CoC/mJA,+BAqBI,ajCxCc,CiCyCd,mBAAoB,CAEpB,WAAY,CACZ,qBjClDW,CiCmDX,oBpC6lJJ,CqCppJE,0BACE,qBlCyxBsC,CC9pBpC,iBAtCY,CiCnFd,erCupJJ,CqClpJM,iD3BqCF,4BPgM+B,CO/L/B,+BVinJJ,CqClpJM,gD3BkBF,6BP8M+B,CO7M/B,gCVooJJ,CqCpqJE,0BACE,oBlCuxBqC,CC5pBnC,iBAtCY,CiCnFd,erCuqJJ,CqClqJM,iD3BqCF,4BPiM+B,COhM/B,+BVioJJ,CqClqJM,gD3BkBF,6BP+M+B,CO9M/B,gCVopJJ,CsClrJA,OACE,oBAAqB,CACrB,kBnC05BsC,CCz1BpC,aAAW,CkC/Db,enCuR+B,CmCtR/B,aAAc,CACd,iBAAkB,CAClB,kBAAmB,CACnB,sBAAwB,C5BKtB,oBP6NgC,CiB/N9B,6HpBorJN,CoBhrJM,uCkBfN,OlBgBQ,epBorJN,CACF,CK1rJE,4BiCGI,oBtC2rJN,CsCzsJA,aAoBI,YtCyrJJ,CsCprJA,YACE,iBAAkB,CAClB,QtCurJF,CsChrJA,YACE,kBnC+3BsC,CmC93BtC,iBnC83BsC,COr5BpC,mBV2sJJ,CsC3qJE,eCjDA,UpCMa,CoCLb,wBvCguJF,CKltJE,4CkCVI,UpCCS,CoCAT,wBvCguJN,CuCnuJU,4CAQJ,SAAU,CACV,yCvC+tJN,CsC1rJE,iBCjDA,UpCMa,CoCLb,wBvC+uJF,CKjuJE,gDkCVI,UpCCS,CoCAT,wBvC+uJN,CuClvJU,gDAQJ,SAAU,CACV,2CvC8uJN,CsCzsJE,eCjDA,UpCMa,CoCLb,wBvC8vJF,CKhvJE,4CkCVI,UpCCS,CoCAT,wBvC8vJN,CuCjwJU,4CAQJ,SAAU,CACV,yCvC6vJN,CsCxtJE,YCjDA,UpCMa,CoCLb,wBvC6wJF,CK/vJE,sCkCVI,UpCCS,CoCAT,wBvC6wJN,CuChxJU,sCAQJ,SAAU,CACV,0CvC4wJN,CsCvuJE,eCjDA,apCegB,CoCdhB,wBvC4xJF,CK9wJE,4CkCVI,apCUY,CoCTZ,wBvC4xJN,CuC/xJU,4CAQJ,SAAU,CACV,yCvC2xJN,CsCtvJE,cCjDA,UpCMa,CoCLb,wBvC2yJF,CK7xJE,0CkCVI,UpCCS,CoCAT,wBvC2yJN,CuC9yJU,0CAQJ,SAAU,CACV,yCvC0yJN,CsCrwJE,aCjDA,apCegB,CoCdhB,wBvC0zJF,CK5yJE,wCkCVI,apCUY,CoCTZ,wBvC0zJN,CuC7zJU,wCAQJ,SAAU,CACV,2CvCyzJN,CsCpxJE,YCjDA,UpCMa,CoCLb,wBvCy0JF,CK3zJE,sCkCVI,UpCCS,CoCAT,wBvCy0JN,CuC50JU,sCAQJ,SAAU,CACV,wCvCw0JN,CwCr1JA,WACE,iBAAoD,CACpD,kBrCuzBsC,CqCrzBtC,wBrCKgB,COSd,mBV00JJ,CchyJI,yB0B5DJ,WAQI,iBxCy1JF,CACF,CwCt1JA,iBACE,eAAgB,CAChB,cAAe,C9BIb,eVs1JJ,CyCp2JA,OACE,iBAAkB,CAClB,sBtCu9ByC,CsCt9BzC,kBtCu9BsC,CsCt9BtC,4BAA6C,C/BU3C,oBV81JJ,CyCn2JA,eAEE,azCq2JF,CyCj2JA,YACE,ezCo2JF,CyC51JA,mBACE,kBzC+1JF,CyCh2JA,0BAKI,iBAAkB,CAClB,KAAM,CACN,OAAQ,CACR,SAAU,CACV,sBtCw7BuC,CsCv7BvC,azC+1JJ,CyCr1JE,eC/CA,avBwGgE,CGnG9D,wBHmG8D,CuBtGhE,oB1Cw4JF,C0Ct4JE,kBACE,wB1Cy4JJ,C0Ct4JE,2BACE,a1Cy4JJ,CyCn2JE,iBC/CA,avBwGgE,CGnG9D,wBHmG8D,CuBtGhE,oB1Cs5JF,C0Cp5JE,oBACE,wB1Cu5JJ,C0Cp5JE,6BACE,a1Cu5JJ,CyCj3JE,eC/CA,avBwGgE,CGnG9D,wBHmG8D,CuBtGhE,oB1Co6JF,C0Cl6JE,kBACE,wB1Cq6JJ,C0Cl6JE,2BACE,a1Cq6JJ,CyC/3JE,YC/CA,avBwGgE,CGnG9D,wBHmG8D,CuBtGhE,oB1Ck7JF,C0Ch7JE,eACE,wB1Cm7JJ,C0Ch7JE,wBACE,a1Cm7JJ,CyC74JE,eC/CA,avBwGgE,CGnG9D,wBHmG8D,CuBtGhE,oB1Cg8JF,C0C97JE,kBACE,wB1Ci8JJ,C0C97JE,2BACE,a1Ci8JJ,CyC35JE,cC/CA,avBwGgE,CGnG9D,wBHmG8D,CuBtGhE,oB1C88JF,C0C58JE,iBACE,wB1C+8JJ,C0C58JE,0BACE,a1C+8JJ,CyCz6JE,aC/CA,avBwGgE,CGnG9D,wBHmG8D,CuBtGhE,oB1C49JF,C0C19JE,gBACE,wB1C69JJ,C0C19JE,yBACE,a1C69JJ,CyCv7JE,YC/CA,avBwGgE,CGnG9D,wBHmG8D,CuBtGhE,oB1C0+JF,C0Cx+JE,eACE,wB1C2+JJ,C0Cx+JE,wBACE,a1C2+JJ,C2Cn/JE,wCACE,GAAO,0B3Cu/JT,C2Ct/JE,GAAK,uB3Cy/JP,CACF,C2C5/JE,gCACE,GAAO,0B3Cu/JT,C2Ct/JE,GAAK,uB3Cy/JP,CACF,C2Ct/JA,UAEE,WxCg+BsC,CwC99BtC,aAAc,CvCmHV,gBAtCY,CuC3EhB,wBxCLgB,COSd,oBVs/JJ,C2Cr/JA,wBAVE,YAAa,CAEb,e3CygKF,C2CjgKA,cAEE,qBAAsB,CACtB,sBAAuB,CAEvB,UxCjBa,CwCkBb,iBAAkB,CAClB,kBAAmB,CACnB,wBxCQe,CiBnBX,yBpBogKN,CoBhgKM,uCuBDN,cvBEQ,epBogKN,CACF,C2C3/JA,sBrBYE,qKAA6I,CqBV7I,yB3C8/JF,C2C1/JE,uBACE,yDAA8D,CAA9D,iD3C6/JJ,C2C1/JM,uCAJJ,uBAKM,sBAAe,CAAf,c3C8/JN,CACF,C4CziKA,OACE,YAAa,CACb,sB5C4iKF,C4CziKA,YACE,Q5C4iKF,C6C9iKA,YACE,YAAa,CACb,qBAAsB,CAGtB,cAAe,CACf,eAAgB,CnCQd,oBVwiKJ,C6CtiKA,wBACE,UAAW,CACX,a1CRgB,C0CShB,kB7CyiKF,CKhjKE,4DwCWE,SAAU,CACV,a1Cdc,C0Ced,oBAAqB,CACrB,wB7CyiKJ,C6CnjKA,+BAcI,a1ClBc,C0CmBd,wB7CyiKJ,C6ChiKA,iBACE,iBAAkB,CAClB,aAAc,CACd,sB1C+8ByC,C0C58BzC,qB1C3Ca,C0C4Cb,iC7CiiKF,C6CxiKA,6BnCjBI,8BmC2BkC,CnC1BlC,+BV6jKJ,C6C7iKA,4BnCHI,kCmCiBqC,CnChBrC,iCVojKJ,C6CljKA,oDAmBI,a1ClDc,C0CmDd,mBAAoB,CACpB,qB7CmiKJ,C6CxjKA,wBA0BI,SAAU,CACV,U1ChEW,C0CiEX,wB1CrCa,C0CsCb,oB7CkiKJ,C6C/jKA,kCAiCI,kB7CkiKJ,C6CnkKA,yCAoCM,e1C4J2B,C0C3J3B,oB7CmiKN,C6CrhKI,uBACE,kB7CwhKN,C6CzhKI,oDnCtBA,gCPsKgC,COlLhC,yBVgkKJ,C6C9hKI,mDnClCA,8BPkLgC,COtKhC,2BVyjKJ,C6CniKI,+CAeM,Y7CwhKV,C6CviKI,yDAmBM,oB1C0HuB,C0CzHvB,mB7CwhKV,C6C5iKI,gEAuBQ,gB1CsHqB,C0CrHrB,qB7CyhKZ,CcplKI,yB+BmCA,0BACE,kB7CqjKJ,C6CtjKE,uDnCtBA,gCPsKgC,COlLhC,yBV4lKF,C6C1jKE,sDnClCA,8BPkLgC,COtKhC,2BVolKF,C6C9jKE,kDAeM,Y7CkjKR,C6CjkKE,4DAmBM,oB1C0HuB,C0CzHvB,mB7CijKR,C6CrkKE,mEAuBQ,gB1CsHqB,C0CrHrB,qB7CijKV,CACF,Cc7mKI,yB+BmCA,0BACE,kB7C8kKJ,C6C/kKE,uDnCtBA,gCPsKgC,COlLhC,yBVqnKF,C6CnlKE,sDnClCA,8BPkLgC,COtKhC,2BV6mKF,C6CvlKE,kDAeM,Y7C2kKR,C6C1lKE,4DAmBM,oB1C0HuB,C0CzHvB,mB7C0kKR,C6C9lKE,mEAuBQ,gB1CsHqB,C0CrHrB,qB7C0kKV,CACF,CctoKI,yB+BmCA,0BACE,kB7CumKJ,C6CxmKE,uDnCtBA,gCPsKgC,COlLhC,yBV8oKF,C6C5mKE,sDnClCA,8BPkLgC,COtKhC,2BVsoKF,C6ChnKE,kDAeM,Y7ComKR,C6CnnKE,4DAmBM,oB1C0HuB,C0CzHvB,mB7CmmKR,C6CvnKE,mEAuBQ,gB1CsHqB,C0CrHrB,qB7CmmKV,CACF,Cc/pKI,0B+BmCA,0BACE,kB7CgoKJ,C6CjoKE,uDnCtBA,gCPsKgC,COlLhC,yBVuqKF,C6CroKE,sDnClCA,8BPkLgC,COtKhC,2BV+pKF,C6CzoKE,kDAeM,Y7C6nKR,C6C5oKE,4DAmBM,oB1C0HuB,C0CzHvB,mB7C4nKR,C6ChpKE,mEAuBQ,gB1CsHqB,C0CrHrB,qB7C4nKV,CACF,C6C/mKA,kBnCnHI,eVsuKJ,C6CnnKA,mCAII,oB7CmnKJ,C6CvnKA,8CAOM,qB7ConKN,C8C7vKE,yBACE,a3BqG8D,C2BpG9D,wB9CgwKJ,CKrvKE,4GyCPM,a3BgG0D,C2B/F1D,wB9CgwKR,C8CvwKE,uDAWM,U3CPO,C2CQP,wB3B0F0D,C2BzF1D,oB9CgwKR,C8C7wKE,2BACE,a3BqG8D,C2BpG9D,wB9CgxKJ,CKrwKE,gHyCPM,a3BgG0D,C2B/F1D,wB9CgxKR,C8CvxKE,yDAWM,U3CPO,C2CQP,wB3B0F0D,C2BzF1D,oB9CgxKR,C8C7xKE,yBACE,a3BqG8D,C2BpG9D,wB9CgyKJ,CKrxKE,4GyCPM,a3BgG0D,C2B/F1D,wB9CgyKR,C8CvyKE,uDAWM,U3CPO,C2CQP,wB3B0F0D,C2BzF1D,oB9CgyKR,C8C7yKE,sBACE,a3BqG8D,C2BpG9D,wB9CgzKJ,CKryKE,sGyCPM,a3BgG0D,C2B/F1D,wB9CgzKR,C8CvzKE,oDAWM,U3CPO,C2CQP,wB3B0F0D,C2BzF1D,oB9CgzKR,C8C7zKE,yBACE,a3BqG8D,C2BpG9D,wB9Cg0KJ,CKrzKE,4GyCPM,a3BgG0D,C2B/F1D,wB9Cg0KR,C8Cv0KE,uDAWM,U3CPO,C2CQP,wB3B0F0D,C2BzF1D,oB9Cg0KR,C8C70KE,wBACE,a3BqG8D,C2BpG9D,wB9Cg1KJ,CKr0KE,0GyCPM,a3BgG0D,C2B/F1D,wB9Cg1KR,C8Cv1KE,sDAWM,U3CPO,C2CQP,wB3B0F0D,C2BzF1D,oB9Cg1KR,C8C71KE,uBACE,a3BqG8D,C2BpG9D,wB9Cg2KJ,CKr1KE,wGyCPM,a3BgG0D,C2B/F1D,wB9Cg2KR,C8Cv2KE,qDAWM,U3CPO,C2CQP,wB3B0F0D,C2BzF1D,oB9Cg2KR,C8C72KE,sBACE,a3BqG8D,C2BpG9D,wB9Cg3KJ,CKr2KE,sGyCPM,a3BgG0D,C2B/F1D,wB9Cg3KR,C8Cv3KE,oDAWM,U3CPO,C2CQP,wB3B0F0D,C2BzF1D,oB9Cg3KR,C+Ch4KA,OACE,WAAY,C3C8HR,gBAtCY,C2CtFhB,e5C6R+B,C4C5R/B,aAAc,CACd,U5CYa,C4CXb,wB5CCa,C4CAb,U/Cm4KF,CK93KE,a0CDE,U5CMW,C4CLX,oB/Cm4KJ,CK/3KE,sF0CCI,W/Ck4KN,C+Cv3KA,aACE,SAAU,CACV,wBAA6B,CAC7B,Q/C03KF,C+Cp3KA,iBACE,mB/Cu3KF,CgD75KA,OAGE,gB7Cy4BuC,C6Cx4BvC,e7Cw4BuC,CC7wBnC,iBAtCY,C4ClFhB,oC7CAa,C6CCb,2BAA4B,CAC5B,+B7C04BmD,C6Cz4BnD,yC7COa,C6CNb,SAAU,CtCOR,oBVu5KJ,CgDz6KA,wBAeI,oBhD85KJ,CgD76KA,eAmBI,ShD85KJ,CgDj7KA,YAuBI,aAAc,CACd,ShD85KJ,CgDt7KA,YA4BI,YhD85KJ,CgD15KA,cACE,YAAa,CACb,kBAAmB,CACnB,qB7C02BwC,C6Cz2BxC,a7CvBgB,C6CwBhB,oC7C9Ba,C6C+Bb,2BAA4B,CAC5B,uC7Ck3BoD,CO93BlD,yCSmH4D,CTlH5D,0CV06KJ,CgD35KA,YACE,chD85KF,CiDp8KA,YAEE,ejDs8KF,CiDx8KA,mBAKI,iBAAkB,CAClB,ejDu8KJ,CiDl8KA,OACE,cAAe,CACf,KAAM,CACN,MAAO,CACP,Y9C2pBsC,C8C1pBtC,YAAa,CACb,UAAW,CACX,WAAY,CACZ,eAAgB,CAGhB,SjDm8KF,CiD57KA,cACE,iBAAkB,CAClB,UAAW,CACX,Y9C+4BuC,C8C74BvC,mBjD87KF,CiD37KE,0B7B3BI,yCjBo8BoD,CiBp8BpD,iCjBo8BoD,CiBp8BpD,gEjBo8BoD,C8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xLJ,CoD5xLA,iFAUM,OAAQ,CACR,gCjDywBmC,CiDxwBnC,iCpDsxLN,CoDlyLA,+EAgBM,SjD4G2B,CiD3G3B,gCjDmwBmC,CiDlwBnC,sBpDsxLN,CoDhwLA,gBACE,oBjDouBwC,CiDnuBxC,eAAgB,ChD3BZ,cAtCY,CgDoEhB,wBjD6tByD,CiD5tBzD,+BAAyE,C1CnIvE,wCSmH4D,CTlH5D,yCVs4LJ,CoD1wLA,sBAUI,YpDowLJ,CoDhwLA,cACE,oBjDstBwC,CiDrtBxC,apDmwLF,CqD95LA,UACE,iBrDi6LF,CqD95LA,wBACE,kBrDi6LF,CqD95LA,gBACE,iBAAkB,CAClB,UAAW,CACX,erDi6LF,CsDx7LE,sBACE,aAAc,CACd,UAAW,CACX,UtD27LJ,CqDn6LA,eACE,iBAAkB,CAClB,YAAa,CACb,UAAW,CACX,UAAW,CACX,kBAAmB,CACnB,kCAA2B,CAA3B,0BAA2B,CjClBvB,4CjByjCkF,CiBzjClF,oCjByjCkF,CiBzjClF,sEpBy7LN,CoBr7LM,uCiCQN,ejCPQ,epBy7LN,CACF,CqDz6LA,8DAGE,arD46LF,CqDz6LA,yEAEE,kCAA2B,CAA3B,0BrD46LF,CqDz6LA,yEAEE,mCAA4B,CAA5B,2BrD46LF,CqDp6LA,8BAEI,SAAU,CACV,2BAA4B,CAC5B,sBAAe,CAAf,crDs6LJ,CqD16LA,kJAUI,SAAU,CACV,SrDs6LJ,CqDj7LA,qFAgBI,SAAU,CACV,SAAU,CjC5DR,yBpBm+LN,CoB/9LM,uCiCuCN,qFjCtCQ,epBo+LN,CACF,CqDp6LA,8CAEE,iBAAkB,CAClB,KAAM,CACN,QAAS,CACT,SAAU,CAEV,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,SlDo9BsC,CkDn9BtC,UlD1Fa,CkD2Fb,iBAAkB,CAClB,UlDk9BqC,CiBriCjC,4BpB0/LN,CoBt/LM,uCiCkEN,8CjCjEQ,epB2/LN,CACF,CKjgME,oHgDwFE,UlDjGW,CkDkGX,oBAAqB,CACrB,SAAU,CACV,UrD+6LJ,CqD56LA,uBACE,MrD+6LF,CqD16LA,uBACE,OrD66LF,CqDt6LA,wDAEE,oBAAqB,CACrB,UlDo8BuC,CkDn8BvC,WlDm8BuC,CkDl8BvC,kCrDy6LF,CqDv6LA,4BACE,iNrD06LF,CqDx6LA,4BACE,kNrD26LF,CqDl6LA,qBACE,iBAAkB,CAClB,OAAQ,CACR,QAAS,CACT,MAAO,CACP,UAAW,CACX,YAAa,CACb,sBAAuB,CACvB,cAAe,CAEf,gBlD05BsC,CkDz5BtC,elDy5BsC,CkDx5BtC,erDo6LF,CqDh7LA,wBAeI,kBAAuB,CACvB,aAAc,CACd,UlDw5BqC,CkDv5BrC,UlDw5BoC,CkDv5BpC,gBlDy5BoC,CkDx5BpC,elDw5BoC,CkDv5BpC,kBAAmB,CACnB,cAAe,CACf,qBlDhKW,CkDiKX,2BAA4B,CAE5B,iCAAiE,CACjE,oCAAoE,CACpE,UAAW,CjC5JT,2BpBikMN,CoB7jMM,uCiC4HN,wBjC3HQ,epBikMN,CACF,CqDv8LA,6BAiCI,SrD06LJ,CqDj6LA,kBACE,iBAAkB,CAClB,SAA2C,CAC3C,WAAY,CACZ,QAA0C,CAC1C,UAAW,CACX,gBAAiB,CACjB,mBAAoB,CACpB,UlD3La,CkD4Lb,iBrDo6LF,CuDnmMA,kCACE,GAAK,+BAAyB,CAAzB,uBvDumML,CACF,CuDzmMA,0BACE,GAAK,+BAAyB,CAAzB,uBvDumML,CACF,CuDrmMA,gBACE,oBAAqB,CACrB,UpDokC0B,CoDnkC1B,WpDmkC0B,CoDlkC1B,0BAA2B,CAE3B,kBAA+B,CAA/B,oCAA+B,CAE/B,iBAAkB,CAClB,qDAA8C,CAA9C,6CvDumMF,CuDpmMA,mBACE,UpD6jC4B,CoD5jC5B,WpD4jC4B,CoD3jC5B,iBvDumMF,CuDhmMA,gCACE,GACE,0BAAmB,CAAnB,kBvDmmMF,CuDjmMA,IACE,SAAU,CACV,sBAAe,CAAf,cvDmmMF,CACF,CuD1mMA,wBACE,GACE,0BAAmB,CAAnB,kBvDmmMF,CuDjmMA,IACE,SAAU,CACV,sBAAe,CAAf,cvDmmMF,CACF,CuDhmMA,cACE,oBAAqB,CACrB,UpDoiC0B,CoDniC1B,WpDmiC0B,CoDliC1B,0BAA2B,CAC3B,6BAA8B,CAE9B,iBAAkB,CAClB,SAAU,CACV,mDAA4C,CAA5C,2CvDkmMF,CuD/lMA,iBACE,UpD6hC4B,CoD5hC5B,WvDkmMF,CuD9lME,uCACE,8BAEE,+BAAwB,CAAxB,uBvDimMJ,CACF,CwD7pMA,gBAAqB,gCxDiqMrB,CwDhqMA,WAAqB,4BxDoqMrB,CwDnqMA,cAAqB,+BxDuqMrB,CwDtqMA,cAAqB,+BxD0qMrB,CwDzqMA,mBAAqB,oCxD6qMrB,CwD5qMA,gBAAqB,iCxDgrMrB,CyDlrME,YACE,kCzDqrMJ,CK3qME,sFoDLI,kCzDsrMN,CyD5rME,cACE,kCzD+rMJ,CKrrME,8FoDLI,kCzDgsMN,CyDtsME,YACE,kCzDysMJ,CK/rME,sFoDLI,kCzD0sMN,CyDhtME,SACE,kCzDmtMJ,CKzsME,0EoDLI,kCzDotMN,CyD1tME,YACE,kCzD6tMJ,CKntME,sFoDLI,kCzD8tMN,CyDpuME,WACE,kCzDuuMJ,CK7tME,kFoDLI,kCzDwuMN,CyD9uME,UACE,kCzDivMJ,CKvuME,8EoDLI,kCzDkvMN,CyDxvME,SACE,kCzD2vMJ,CKjvME,0EoDLI,kCzD4vMN,C0D3vMA,UACE,+B1D8vMF,C0D3vMA,gBACE,kC1D8vMF,C2DzwMA,QAAkB,kC3D6wMlB,C2D5wMA,YAAkB,sC3DgxMlB,C2D/wMA,cAAkB,wC3DmxMlB,C2DlxMA,eAAkB,yC3DsxMlB,C2DrxMA,aAAkB,uC3DyxMlB,C2DvxMA,UAAmB,kB3D2xMnB,C2D1xMA,cAAmB,sB3D8xMnB,C2D7xMA,gBAAmB,wB3DiyMnB,C2DhyMA,iBAAmB,yB3DoyMnB,C2DnyMA,eAAmB,uB3DuyMnB,C2DpyME,gBACE,8B3DuyMJ,C2DxyME,kBACE,8B3D2yMJ,C2D5yME,gBACE,8B3D+yMJ,C2DhzME,aACE,8B3DmzMJ,C2DpzME,gBACE,8B3DuzMJ,C2DxzME,eACE,8B3D2zMJ,C2D5zME,cACE,8B3D+zMJ,C2Dh0ME,aACE,8B3Dm0MJ,C2D/zMA,cACE,2B3Dk0MF,C2D3zMA,YACE,6B3D8zMF,C2D3zMA,SACE,8B3D8zMF,C2D3zMA,aACE,uC3D+zMF,C2D3zMA,4BAHE,wC3Dm0MF,C2D3zMA,+BAHE,2C3Dm0MF,C2D3zMA,8BAHE,0C3Dm0MF,C2Dh0MA,cACE,uC3D+zMF,C2D3zMA,YACE,6B3D8zMF,C2D3zMA,gBACE,2B3D8zMF,C2D3zMA,cACE,6B3D8zMF,C2D3zMA,WACE,yB3D8zMF,CsDt4ME,gBACE,aAAc,CACd,UAAW,CACX,UtDy4MJ,C4Dl4MM,QAAwB,sB5Ds4M9B,C4Dt4MM,UAAwB,wB5D04M9B,C4D14MM,gBAAwB,8B5D84M9B,C4D94MM,SAAwB,uB5Dk5M9B,C4Dl5MM,SAAwB,uB5Ds5M9B,C4Dt5MM,aAAwB,2B5D05M9B,C4D15MM,cAAwB,4B5D85M9B,C4D95MM,QAAwB,sB5Dk6M9B,C4Dl6MM,eAAwB,6B5Ds6M9B,Ccr3MI,yB8CjDE,WAAwB,sB5D26M5B,C4D36MI,aAAwB,wB5D86M5B,C4D96MI,mBAAwB,8B5Di7M5B,C4Dj7MI,YAAwB,uB5Do7M5B,C4Dp7MI,YAAwB,uB5Du7M5B,C4Dv7MI,gBAAwB,2B5D07M5B,C4D17MI,iBAAwB,4B5D67M5B,C4D77MI,WAAwB,sB5Dg8M5B,C4Dh8MI,kBAAwB,6B5Dm8M5B,CACF,Ccn5MI,yB8CjDE,WAAwB,sB5Dy8M5B,C4Dz8MI,aAAwB,wB5D48M5B,C4D58MI,mBAAwB,8B5D+8M5B,C4D/8MI,YAAwB,uB5Dk9M5B,C4Dl9MI,YAAwB,uB5Dq9M5B,C4Dr9MI,gBAAwB,2B5Dw9M5B,C4Dx9MI,iBAAwB,4B5D29M5B,C4D39MI,WAAwB,sB5D89M5B,C4D99MI,kBAAwB,6B5Di+M5B,CACF,Ccj7MI,yB8CjDE,WAAwB,sB5Du+M5B,C4Dv+MI,aAAwB,wB5D0+M5B,C4D1+MI,mBAAwB,8B5D6+M5B,C4D7+MI,YAAwB,uB5Dg/M5B,C4Dh/MI,YAAwB,uB5Dm/M5B,C4Dn/MI,gBAAwB,2B5Ds/M5B,C4Dt/MI,iBAAwB,4B5Dy/M5B,C4Dz/MI,WAAwB,sB5D4/M5B,C4D5/MI,kBAAwB,6B5D+/M5B,CACF,Cc/8MI,0B8CjDE,WAAwB,sB5DqgN5B,C4DrgNI,aAAwB,wB5DwgN5B,C4DxgNI,mBAAwB,8B5D2gN5B,C4D3gNI,YAAwB,uB5D8gN5B,C4D9gNI,YAAwB,uB5DihN5B,C4DjhNI,gBAAwB,2B5DohN5B,C4DphNI,iBAAwB,4B5DuhN5B,C4DvhNI,WAAwB,sB5D0hN5B,C4D1hNI,kBAAwB,6B5D6hN5B,CACF,C4DphNA,aAEI,cAAqB,sB5DuhNvB,C4DvhNE,gBAAqB,wB5D0hNvB,C4D1hNE,sBAAqB,8B5D6hNvB,C4D7hNE,eAAqB,uB5DgiNvB,C4DhiNE,eAAqB,uB5DmiNvB,C4DniNE,mBAAqB,2B5DsiNvB,C4DtiNE,oBAAqB,4B5DyiNvB,C4DziNE,cAAqB,sB5D4iNvB,C4D5iNE,qBAAqB,6B5D+iNvB,CACF,C6DrkNA,kBACE,iBAAkB,CAClB,aAAc,CACd,UAAW,CACX,SAAU,CACV,e7DwkNF,C6D7kNA,yBAQI,aAAc,CACd,U7DykNJ,C6DllNA,2IAiBI,iBAAkB,CAClB,KAAM,CACN,QAAS,CACT,MAAO,CACP,UAAW,CACX,WAAY,CACZ,Q7DykNJ,C6DjkNE,+BAEI,sB7DmkNN,C6DrkNE,+BAEI,kB7DukNN,C6DzkNE,8BAEI,e7D2kNN,C6D7kNE,8BAEI,gB7D+kNN,C8DxmNI,UAAgC,4B9D4mNpC,C8D3mNI,aAAgC,+B9D+mNpC,C8D9mNI,kBAAgC,oC9DknNpC,C8DjnNI,qBAAgC,uC9DqnNpC,C8DnnNI,WAA8B,wB9DunNlC,C8DtnNI,aAA8B,0B9D0nNlC,C8DznNI,mBAA8B,gC9D6nNlC,C8D5nNI,WAA8B,uB9DgoNlC,C8D/nNI,aAA8B,qB9DmoNlC,C8DloNI,aAA8B,qB9DsoNlC,C8DroNI,eAA8B,uB9DyoNlC,C8DxoNI,eAA8B,uB9D4oNlC,C8D1oNI,uBAAoC,oC9D8oNxC,C8D7oNI,qBAAoC,kC9DipNxC,C8DhpNI,wBAAoC,gC9DopNxC,C8DnpNI,yBAAoC,uC9DupNxC,C8DtpNI,wBAAoC,sC9D0pNxC,C8DxpNI,mBAAiC,gC9D4pNrC,C8D3pNI,iBAAiC,8B9D+pNrC,C8D9pNI,oBAAiC,4B9DkqNrC,C8DjqNI,sBAAiC,8B9DqqNrC,C8DpqNI,qBAAiC,6B9DwqNrC,C8DtqNI,qBAAkC,kC9D0qNtC,C8DzqNI,mBAAkC,gC9D6qNtC,C8D5qNI,sBAAkC,8B9DgrNtC,C8D/qNI,uBAAkC,qC9DmrNtC,C8DlrNI,sBAAkC,oC9DsrNtC,C8DrrNI,uBAAkC,+B9DyrNtC,C8DvrNI,iBAAgC,yB9D2rNpC,C8D1rNI,kBAAgC,+B9D8rNpC,C8D7rNI,gBAAgC,6B9DisNpC,C8DhsNI,mBAAgC,2B9DosNpC,C8DnsNI,qBAAgC,6B9DusNpC,C8DtsNI,oBAAgC,4B9D0sNpC,Cc9rNI,yBgDlDA,aAAgC,4B9DqvNlC,C8DpvNE,gBAAgC,+B9DuvNlC,C8DtvNE,qBAAgC,oC9DyvNlC,C8DxvNE,wBAAgC,uC9D2vNlC,C8DzvNE,cAA8B,wB9D4vNhC,C8D3vNE,gBAA8B,0B9D8vNhC,C8D7vNE,sBAA8B,gC9DgwNhC,C8D/vNE,cAA8B,uB9DkwNhC,C8DjwNE,gBAA8B,qB9DowNhC,C8DnwNE,gBAA8B,qB9DswNhC,C8DrwNE,kBAA8B,uB9DwwNhC,C8DvwNE,kBAA8B,uB9D0wNhC,C8DxwNE,0BAAoC,oC9D2wNtC,C8D1wNE,wBAAoC,kC9D6wNtC,C8D5wNE,2BAAoC,gC9D+wNtC,C8D9wNE,4BAAoC,uC9DixNtC,C8DhxNE,2BAAoC,sC9DmxNtC,C8DjxNE,sBAAiC,gC9DoxNnC,C8DnxNE,oBAAiC,8B9DsxNnC,C8DrxNE,uBAAiC,4B9DwxNnC,C8DvxNE,yBAAiC,8B9D0xNnC,C8DzxNE,wBAAiC,6B9D4xNnC,C8D1xNE,wBAAkC,kC9D6xNpC,C8D5xNE,sBAAkC,gC9D+xNpC,C8D9xNE,yBAAkC,8B9DiyNpC,C8DhyNE,0BAAkC,qC9DmyNpC,C8DlyNE,yBAAkC,oC9DqyNpC,C8DpyNE,0BAAkC,+B9DuyNpC,C8DryNE,oBAAgC,yB9DwyNlC,C8DvyNE,qBAAgC,+B9D0yNlC,C8DzyNE,mBAAgC,6B9D4yNlC,C8D3yNE,sBAAgC,2B9D8yNlC,C8D7yNE,wBAAgC,6B9DgzNlC,C8D/yNE,uBAAgC,4B9DkzNlC,CACF,CcvyNI,yBgDlDA,aAAgC,4B9D81NlC,C8D71NE,gBAAgC,+B9Dg2NlC,C8D/1NE,qBAAgC,oC9Dk2NlC,C8Dj2NE,wBAAgC,uC9Do2NlC,C8Dl2NE,cAA8B,wB9Dq2NhC,C8Dp2NE,gBAA8B,0B9Du2NhC,C8Dt2NE,sBAA8B,gC9Dy2NhC,C8Dx2NE,cAA8B,uB9D22NhC,C8D12NE,gBAA8B,qB9D62NhC,C8D52NE,gBAA8B,qB9D+2NhC,C8D92NE,kBAA8B,uB9Di3NhC,C8Dh3NE,kBAA8B,uB9Dm3NhC,C8Dj3NE,0BAAoC,oC9Do3NtC,C8Dn3NE,wBAAoC,kC9Ds3NtC,C8Dr3NE,2BAAoC,gC9Dw3NtC,C8Dv3NE,4BAAoC,uC9D03NtC,C8Dz3NE,2BAAoC,sC9D43NtC,C8D13NE,sBAAiC,gC9D63NnC,C8D53NE,oBAAiC,8B9D+3NnC,C8D93NE,uBAAiC,4B9Di4NnC,C8Dh4NE,yBAAiC,8B9Dm4NnC,C8Dl4NE,wBAAiC,6B9Dq4NnC,C8Dn4NE,wBAAkC,kC9Ds4NpC,C8Dr4NE,sBAAkC,gC9Dw4NpC,C8Dv4NE,yBAAkC,8B9D04NpC,C8Dz4NE,0BAAkC,qC9D44NpC,C8D34NE,yBAAkC,oC9D84NpC,C8D74NE,0BAAkC,+B9Dg5NpC,C8D94NE,oBAAgC,yB9Di5NlC,C8Dh5NE,qBAAgC,+B9Dm5NlC,C8Dl5NE,mBAAgC,6B9Dq5NlC,C8Dp5NE,sBAAgC,2B9Du5NlC,C8Dt5NE,wBAAgC,6B9Dy5NlC,C8Dx5NE,uBAAgC,4B9D25NlC,CACF,Cch5NI,yBgDlDA,aAAgC,4B9Du8NlC,C8Dt8NE,gBAAgC,+B9Dy8NlC,C8Dx8NE,qBAAgC,oC9D28NlC,C8D18NE,wBAAgC,uC9D68NlC,C8D38NE,cAA8B,wB9D88NhC,C8D78NE,gBAA8B,0B9Dg9NhC,C8D/8NE,sBAA8B,gC9Dk9NhC,C8Dj9NE,cAA8B,uB9Do9NhC,C8Dn9NE,gBAA8B,qB9Ds9NhC,C8Dr9NE,gBAA8B,qB9Dw9NhC,C8Dv9NE,kBAA8B,uB9D09NhC,C8Dz9NE,kBAA8B,uB9D49NhC,C8D19NE,0BAAoC,oC9D69NtC,C8D59NE,wBAAoC,kC9D+9NtC,C8D99NE,2BAAoC,gC9Di+NtC,C8Dh+NE,4BAAoC,uC9Dm+NtC,C8Dl+NE,2BAAoC,sC9Dq+NtC,C8Dn+NE,sBAAiC,gC9Ds+NnC,C8Dr+NE,oBAAiC,8B9Dw+NnC,C8Dv+NE,uBAAiC,4B9D0+NnC,C8Dz+NE,yBAAiC,8B9D4+NnC,C8D3+NE,wBAAiC,6B9D8+NnC,C8D5+NE,wBAAkC,kC9D++NpC,C8D9+NE,sBAAkC,gC9Di/NpC,C8Dh/NE,yBAAkC,8B9Dm/NpC,C8Dl/NE,0BAAkC,qC9Dq/NpC,C8Dp/NE,yBAAkC,oC9Du/NpC,C8Dt/NE,0BAAkC,+B9Dy/NpC,C8Dv/NE,oBAAgC,yB9D0/NlC,C8Dz/NE,qBAAgC,+B9D4/NlC,C8D3/NE,mBAAgC,6B9D8/NlC,C8D7/NE,sBAAgC,2B9DggOlC,C8D//NE,wBAAgC,6B9DkgOlC,C8DjgOE,uBAAgC,4B9DogOlC,CACF,Ccz/NI,0BgDlDA,aAAgC,4B9DgjOlC,C8D/iOE,gBAAgC,+B9DkjOlC,C8DjjOE,qBAAgC,oC9DojOlC,C8DnjOE,wBAAgC,uC9DsjOlC,C8DpjOE,cAA8B,wB9DujOhC,C8DtjOE,gBAA8B,0B9DyjOhC,C8DxjOE,sBAA8B,gC9D2jOhC,C8D1jOE,cAA8B,uB9D6jOhC,C8D5jOE,gBAA8B,qB9D+jOhC,C8D9jOE,gBAA8B,qB9DikOhC,C8DhkOE,kBAA8B,uB9DmkOhC,C8DlkOE,kBAA8B,uB9DqkOhC,C8DnkOE,0BAAoC,oC9DskOtC,C8DrkOE,wBAAoC,kC9DwkOtC,C8DvkOE,2BAAoC,gC9D0kOtC,C8DzkOE,4BAAoC,uC9D4kOtC,C8D3kOE,2BAAoC,sC9D8kOtC,C8D5kOE,sBAAiC,gC9D+kOnC,C8D9kOE,oBAAiC,8B9DilOnC,C8DhlOE,uBAAiC,4B9DmlOnC,C8DllOE,yBAAiC,8B9DqlOnC,C8DplOE,wBAAiC,6B9DulOnC,C8DrlOE,wBAAkC,kC9DwlOpC,C8DvlOE,sBAAkC,gC9D0lOpC,C8DzlOE,yBAAkC,8B9D4lOpC,C8D3lOE,0BAAkC,qC9D8lOpC,C8D7lOE,yBAAkC,oC9DgmOpC,C8D/lOE,0BAAkC,+B9DkmOpC,C8DhmOE,oBAAgC,yB9DmmOlC,C8DlmOE,qBAAgC,+B9DqmOlC,C8DpmOE,mBAAgC,6B9DumOlC,C8DtmOE,sBAAgC,2B9DymOlC,C8DxmOE,wBAAgC,6B9D2mOlC,C8D1mOE,uBAAgC,4B9D6mOlC,CACF,C+DxpOI,YAAwB,oB/D4pO5B,C+D3pOI,aAAwB,qB/D+pO5B,C+D9pOI,YAAwB,oB/DkqO5B,Cc9mOI,yBiDtDA,eAAwB,oB/DyqO1B,C+DxqOE,gBAAwB,qB/D2qO1B,C+D1qOE,eAAwB,oB/D6qO1B,CACF,Cc1nOI,yBiDtDA,eAAwB,oB/DqrO1B,C+DprOE,gBAAwB,qB/DurO1B,C+DtrOE,eAAwB,oB/DyrO1B,CACF,CctoOI,yBiDtDA,eAAwB,oB/DisO1B,C+DhsOE,gBAAwB,qB/DmsO1B,C+DlsOE,eAAwB,oB/DqsO1B,CACF,CclpOI,0BiDtDA,eAAwB,oB/D6sO1B,C+D5sOE,gBAAwB,qB/D+sO1B,C+D9sOE,eAAwB,oB/DitO1B,CACF,CgEvtOE,iBAAyB,iCAA8B,CAA9B,yBhE2tO3B,CgE3tOE,kBAAyB,kCAA8B,CAA9B,0BhE+tO3B,CgE/tOE,kBAAyB,kCAA8B,CAA9B,0BhEmuO3B,CiEnuOE,eAAsB,uBjEuuOxB,CiEvuOE,iBAAsB,yBjE2uOxB,CkE1uOE,iBAAyB,yBlE8uO3B,CkE9uOE,mBAAyB,2BlEkvO3B,CkElvOE,mBAAyB,2BlEsvO3B,CkEtvOE,gBAAyB,wBlE0vO3B,CkE1vOE,iBAAyB,iCAA8B,CAA9B,yBlE8vO3B,CkEzvOA,WAEE,KlE+vOF,CkEzvOA,yBAPE,cAAe,CAEf,OAAQ,CACR,MAAO,CACP,YlEowOF,CkEjwOA,cAGE,QlE8vOF,CkExvO8B,2DAD9B,YAEI,uBAAgB,CAAhB,eAAgB,CAChB,KAAM,CACN,YlE4vOF,CACF,CmEtxOA,SCEE,iBAAkB,CAClB,SAAU,CACV,UAAW,CACX,SAAU,CACV,WAAY,CACZ,eAAgB,CAChB,kBAAsB,CACtB,kBAAmB,CACnB,QpEwxOF,CoE9wOE,mDAEE,eAAgB,CAChB,UAAW,CACX,WAAY,CACZ,gBAAiB,CACjB,SAAU,CACV,kBpEgxOJ,CqE7yOA,WAAa,sDrEizOb,CqEhzOA,QAAU,iDrEozOV,CqEnzOA,WAAa,iDrEuzOb,CqEtzOA,aAAe,yBrE0zOf,CsEzzOI,MAAuB,mBtE6zO3B,CsE7zOI,MAAuB,mBtEi0O3B,CsEj0OI,MAAuB,mBtEq0O3B,CsEr0OI,OAAuB,oBtEy0O3B,CsEz0OI,QAAuB,oBtE60O3B,CsE70OI,MAAuB,oBtEi1O3B,CsEj1OI,MAAuB,oBtEq1O3B,CsEr1OI,MAAuB,oBtEy1O3B,CsEz1OI,OAAuB,qBtE61O3B,CsE71OI,QAAuB,qBtEi2O3B,CsE71OA,QAAU,wBtEi2OV,CsEh2OA,QAAU,yBtEo2OV,CsEh2OA,YAAc,yBtEo2Od,CsEn2OA,YAAc,0BtEu2Od,CsEr2OA,QAAU,qBtEy2OV,CsEx2OA,QAAU,sBtE42OV,CuEr3OQ,KAAgC,kBvEy3OxC,CuEx3OQ,YAEE,sBvE23OV,CuEz3OQ,YAEE,wBvE43OV,CuE13OQ,YAEE,yBvE63OV,CuE33OQ,YAEE,uBvE83OV,CuE74OQ,KAAgC,uBvEi5OxC,CuEh5OQ,YAEE,2BvEm5OV,CuEj5OQ,YAEE,6BvEo5OV,CuEl5OQ,YAEE,8BvEq5OV,CuEn5OQ,YAEE,4BvEs5OV,CuEr6OQ,KAAgC,sBvEy6OxC,CuEx6OQ,YAEE,0BvE26OV,CuEz6OQ,YAEE,4BvE46OV,CuE16OQ,YAEE,6BvE66OV,CuE36OQ,YAEE,2BvE86OV,CuE77OQ,KAAgC,qBvEi8OxC,CuEh8OQ,YAEE,yBvEm8OV,CuEj8OQ,YAEE,2BvEo8OV,CuEl8OQ,YAEE,4BvEq8OV,CuEn8OQ,YAEE,0BvEs8OV,CuEr9OQ,KAAgC,uBvEy9OxC,CuEx9OQ,YAEE,2BvE29OV,CuEz9OQ,YAEE,6BvE49OV,CuE19OQ,YAEE,8BvE69OV,CuE39OQ,YAEE,4BvE89OV,CuE7+OQ,KAAgC,qBvEi/OxC,CuEh/OQ,YAEE,yBvEm/OV,CuEj/OQ,YAEE,2BvEo/OV,CuEl/OQ,YAEE,4BvEq/OV,CuEn/OQ,YAEE,0BvEs/OV,CuErgPQ,KAAgC,mBvEygPxC,CuExgPQ,YAEE,uBvE2gPV,CuEzgPQ,YAEE,yBvE4gPV,CuE1gPQ,YAEE,0BvE6gPV,CuE3gPQ,YAEE,wBvE8gPV,CuE7hPQ,KAAgC,wBvEiiPxC,CuEhiPQ,YAEE,4BvEmiPV,CuEjiPQ,YAEE,8BvEoiPV,CuEliPQ,YAEE,+BvEqiPV,CuEniPQ,YAEE,6BvEsiPV,CuErjPQ,KAAgC,uBvEyjPxC,CuExjPQ,YAEE,2BvE2jPV,CuEzjPQ,YAEE,6BvE4jPV,CuE1jPQ,YAEE,8BvE6jPV,CuE3jPQ,YAEE,4BvE8jPV,CuE7kPQ,KAAgC,sBvEilPxC,CuEhlPQ,YAEE,0BvEmlPV,CuEjlPQ,YAEE,4BvEolPV,CuEllPQ,YAEE,6BvEqlPV,CuEnlPQ,YAEE,2BvEslPV,CuErmPQ,KAAgC,wBvEymPxC,CuExmPQ,YAEE,4BvE2mPV,CuEzmPQ,YAEE,8BvE4mPV,CuE1mPQ,YAEE,+BvE6mPV,CuE3mPQ,YAEE,6BvE8mPV,CuE7nPQ,KAAgC,sBvEioPxC,CuEhoPQ,YAEE,0BvEmoPV,CuEjoPQ,YAEE,4BvEooPV,CuEloPQ,YAEE,6BvEqoPV,CuEnoPQ,YAEE,2BvEsoPV,CuE9nPQ,MAAwB,wBvEkoPhC,CuEjoPQ,cAEE,4BvEooPV,CuEloPQ,cAEE,8BvEqoPV,CuEnoPQ,cAEE,+BvEsoPV,CuEpoPQ,cAEE,6BvEuoPV,CuEtpPQ,MAAwB,uBvE0pPhC,CuEzpPQ,cAEE,2BvE4pPV,CuE1pPQ,cAEE,6BvE6pPV,CuE3pPQ,cAEE,8BvE8pPV,CuE5pPQ,cAEE,4BvE+pPV,CuE9qPQ,MAAwB,sBvEkrPhC,CuEjrPQ,cAEE,0BvEorPV,CuElrPQ,cAEE,4BvEqrPV,CuEnrPQ,cAEE,6BvEsrPV,CuEprPQ,cAEE,2BvEurPV,CuEtsPQ,MAAwB,wBvE0sPhC,CuEzsPQ,cAEE,4BvE4sPV,CuE1sPQ,cAEE,8BvE6sPV,CuE3sPQ,cAEE,+BvE8sPV,CuE5sPQ,cAEE,6BvE+sPV,CuE9tPQ,MAAwB,sBvEkuPhC,CuEjuPQ,cAEE,0BvEouPV,CuEluPQ,cAEE,4BvEquPV,CuEnuPQ,cAEE,6BvEsuPV,CuEpuPQ,cAEE,2BvEuuPV,CuEjuPI,QAAmB,qBvEquPvB,CuEpuPI,kBAEE,yBvEuuPN,CuEruPI,kBAEE,2BvEwuPN,CuEtuPI,kBAEE,4BvEyuPN,CuEvuPI,kBAEE,0BvE0uPN,CcnvPI,yByDlDI,QAAgC,kBvE0yPtC,CuEzyPM,kBAEE,sBvE2yPR,CuEzyPM,kBAEE,wBvE2yPR,CuEzyPM,kBAEE,yBvE2yPR,CuEzyPM,kBAEE,uBvE2yPR,CuE1zPM,QAAgC,uBvE6zPtC,CuE5zPM,kBAEE,2BvE8zPR,CuE5zPM,kBAEE,6BvE8zPR,CuE5zPM,kBAEE,8BvE8zPR,CuE5zPM,kBAEE,4BvE8zPR,CuE70PM,QAAgC,sBvEg1PtC,CuE/0PM,kBAEE,0BvEi1PR,CuE/0PM,kBAEE,4BvEi1PR,CuE/0PM,kBAEE,6BvEi1PR,CuE/0PM,kBAEE,2BvEi1PR,CuEh2PM,QAAgC,qBvEm2PtC,CuEl2PM,kBAEE,yBvEo2PR,CuEl2PM,kBAEE,2BvEo2PR,CuEl2PM,kBAEE,4BvEo2PR,CuEl2PM,kBAEE,0BvEo2PR,CuEn3PM,QAAgC,uBvEs3PtC,CuEr3PM,kBAEE,2BvEu3PR,CuEr3PM,kBAEE,6BvEu3PR,CuEr3PM,kBAEE,8BvEu3PR,CuEr3PM,kBAEE,4BvEu3PR,CuEt4PM,QAAgC,qBvEy4PtC,CuEx4PM,kBAEE,yBvE04PR,CuEx4PM,kBAEE,2BvE04PR,CuEx4PM,kBAEE,4BvE04PR,CuEx4PM,kBAEE,0BvE04PR,CuEz5PM,QAAgC,mBvE45PtC,CuE35PM,kBAEE,uBvE65PR,CuE35PM,kBAEE,yBvE65PR,CuE35PM,kBAEE,0BvE65PR,CuE35PM,kBAEE,wBvE65PR,CuE56PM,QAAgC,wBvE+6PtC,CuE96PM,kBAEE,4BvEg7PR,CuE96PM,kBAEE,8BvEg7PR,CuE96PM,kBAEE,+BvEg7PR,CuE96PM,kBAEE,6BvEg7PR,CuE/7PM,QAAgC,uBvEk8PtC,CuEj8PM,kBAEE,2BvEm8PR,CuEj8PM,kBAEE,6BvEm8PR,CuEj8PM,kBAEE,8BvEm8PR,CuEj8PM,kBAEE,4BvEm8PR,CuEl9PM,QAAgC,sBvEq9PtC,CuEp9PM,kBAEE,0BvEs9PR,CuEp9PM,kBAEE,4BvEs9PR,CuEp9PM,kBAEE,6BvEs9PR,CuEp9PM,kBAEE,2BvEs9PR,CuEr+PM,QAAgC,wBvEw+PtC,CuEv+PM,kBAEE,4BvEy+PR,CuEv+PM,kBAEE,8BvEy+PR,CuEv+PM,kBAEE,+BvEy+PR,CuEv+PM,kBAEE,6BvEy+PR,CuEx/PM,QAAgC,sBvE2/PtC,CuE1/PM,kBAEE,0BvE4/PR,CuE1/PM,kBAEE,4BvE4/PR,CuE1/PM,kBAEE,6BvE4/PR,CuE1/PM,kBAEE,2BvE4/PR,CuEp/PM,SAAwB,wBvEu/P9B,CuEt/PM,oBAEE,4BvEw/PR,CuEt/PM,oBAEE,8BvEw/PR,CuEt/PM,oBAEE,+BvEw/PR,CuEt/PM,oBAEE,6BvEw/PR,CuEvgQM,SAAwB,uBvE0gQ9B,CuEzgQM,oBAEE,2BvE2gQR,CuEzgQM,oBAEE,6BvE2gQR,CuEzgQM,oBAEE,8BvE2gQR,CuEzgQM,oBAEE,4BvE2gQR,CuE1hQM,SAAwB,sBvE6hQ9B,CuE5hQM,oBAEE,0BvE8hQR,CuE5hQM,oBAEE,4BvE8hQR,CuE5hQM,oBAEE,6BvE8hQR,CuE5hQM,oBAEE,2BvE8hQR,CuE7iQM,SAAwB,wBvEgjQ9B,CuE/iQM,oBAEE,4BvEijQR,CuE/iQM,oBAEE,8BvEijQR,CuE/iQM,oBAEE,+BvEijQR,CuE/iQM,oBAEE,6BvEijQR,CuEhkQM,SAAwB,sBvEmkQ9B,CuElkQM,oBAEE,0BvEokQR,CuElkQM,oBAEE,4BvEokQR,CuElkQM,oBAEE,6BvEokQR,CuElkQM,oBAEE,2BvEokQR,CuE9jQE,WAAmB,qBvEikQrB,CuEhkQE,wBAEE,yBvEkkQJ,CuEhkQE,wBAEE,2BvEkkQJ,CuEhkQE,wBAEE,4BvEkkQJ,CuEhkQE,wBAEE,0BvEkkQJ,CACF,Cc5kQI,yByDlDI,QAAgC,kBvEmoQtC,CuEloQM,kBAEE,sBvEooQR,CuEloQM,kBAEE,wBvEooQR,CuEloQM,kBAEE,yBvEooQR,CuEloQM,kBAEE,uBvEooQR,CuEnpQM,QAAgC,uBvEspQtC,CuErpQM,kBAEE,2BvEupQR,CuErpQM,kBAEE,6BvEupQR,CuErpQM,kBAEE,8BvEupQR,CuErpQM,kBAEE,4BvEupQR,CuEtqQM,QAAgC,sBvEyqQtC,CuExqQM,kBAEE,0BvE0qQR,CuExqQM,kBAEE,4BvE0qQR,CuExqQM,kBAEE,6BvE0qQR,CuExqQM,kBAEE,2BvE0qQR,CuEzrQM,QAAgC,qBvE4rQtC,CuE3rQM,kBAEE,yBvE6rQR,CuE3rQM,kBAEE,2BvE6rQR,CuE3rQM,kBAEE,4BvE6rQR,CuE3rQM,kBAEE,0BvE6rQR,CuE5sQM,QAAgC,uBvE+sQtC,CuE9sQM,kBAEE,2BvEgtQR,CuE9sQM,kBAEE,6BvEgtQR,CuE9sQM,kBAEE,8BvEgtQR,CuE9sQM,kBAEE,4BvEgtQR,CuE/tQM,QAAgC,qBvEkuQtC,CuEjuQM,kBAEE,yBvEmuQR,CuEjuQM,kBAEE,2BvEmuQR,CuEjuQM,kBAEE,4BvEmuQR,CuEjuQM,kBAEE,0BvEmuQR,CuElvQM,QAAgC,mBvEqvQtC,CuEpvQM,kBAEE,uBvEsvQR,CuEpvQM,kBAEE,yBvEsvQR,CuEpvQM,kBAEE,0BvEsvQR,CuEpvQM,kBAEE,wBvEsvQR,CuErwQM,QAAgC,wBvEwwQtC,CuEvwQM,kBAEE,4BvEywQR,CuEvwQM,kBAEE,8BvEywQR,CuEvwQM,kBAEE,+BvEywQR,CuEvwQM,kBAEE,6BvEywQR,CuExxQM,QAAgC,uBvE2xQtC,CuE1xQM,kBAEE,2BvE4xQR,CuE1xQM,kBAEE,6BvE4xQR,CuE1xQM,kBAEE,8BvE4xQR,CuE1xQM,kBAEE,4BvE4xQR,CuE3yQM,QAAgC,sBvE8yQtC,CuE7yQM,kBAEE,0BvE+yQR,CuE7yQM,kBAEE,4BvE+yQR,CuE7yQM,kBAEE,6BvE+yQR,CuE7yQM,kBAEE,2BvE+yQR,CuE9zQM,QAAgC,wBvEi0QtC,CuEh0QM,kBAEE,4BvEk0QR,CuEh0QM,kBAEE,8BvEk0QR,CuEh0QM,kBAEE,+BvEk0QR,CuEh0QM,kBAEE,6BvEk0QR,CuEj1QM,QAAgC,sBvEo1QtC,CuEn1QM,kBAEE,0BvEq1QR,CuEn1QM,kBAEE,4BvEq1QR,CuEn1QM,kBAEE,6BvEq1QR,CuEn1QM,kBAEE,2BvEq1QR,CuE70QM,SAAwB,wBvEg1Q9B,CuE/0QM,oBAEE,4BvEi1QR,CuE/0QM,oBAEE,8BvEi1QR,CuE/0QM,oBAEE,+BvEi1QR,CuE/0QM,oBAEE,6BvEi1QR,CuEh2QM,SAAwB,uBvEm2Q9B,CuEl2QM,oBAEE,2BvEo2QR,CuEl2QM,oBAEE,6BvEo2QR,CuEl2QM,oBAEE,8BvEo2QR,CuEl2QM,oBAEE,4BvEo2QR,CuEn3QM,SAAwB,sBvEs3Q9B,CuEr3QM,oBAEE,0BvEu3QR,CuEr3QM,oBAEE,4BvEu3QR,CuEr3QM,oBAEE,6BvEu3QR,CuEr3QM,oBAEE,2BvEu3QR,CuEt4QM,SAAwB,wBvEy4Q9B,CuEx4QM,oBAEE,4BvE04QR,CuEx4QM,oBAEE,8BvE04QR,CuEx4QM,oBAEE,+BvE04QR,CuEx4QM,oBAEE,6BvE04QR,CuEz5QM,SAAwB,sBvE45Q9B,CuE35QM,oBAEE,0BvE65QR,CuE35QM,oBAEE,4BvE65QR,CuE35QM,oBAEE,6BvE65QR,CuE35QM,oBAEE,2BvE65QR,CuEv5QE,WAAmB,qBvE05QrB,CuEz5QE,wBAEE,yBvE25QJ,CuEz5QE,wBAEE,2BvE25QJ,CuEz5QE,wBAEE,4BvE25QJ,CuEz5QE,wBAEE,0BvE25QJ,CACF,Ccr6QI,yByDlDI,QAAgC,kBvE49QtC,CuE39QM,kBAEE,sBvE69QR,CuE39QM,kBAEE,wBvE69QR,CuE39QM,kBAEE,yBvE69QR,CuE39QM,kBAEE,uBvE69QR,CuE5+QM,QAAgC,uBvE++QtC,CuE9+QM,kBAEE,2BvEg/QR,CuE9+QM,kBAEE,6BvEg/QR,CuE9+QM,kBAEE,8BvEg/QR,CuE9+QM,kBAEE,4BvEg/QR,CuE//QM,QAAgC,sBvEkgRtC,CuEjgRM,kBAEE,0BvEmgRR,CuEjgRM,kBAEE,4BvEmgRR,CuEjgRM,kBAEE,6BvEmgRR,CuEjgRM,kBAEE,2BvEmgRR,CuElhRM,QAAgC,qBvEqhRtC,CuEphRM,kBAEE,yBvEshRR,CuEphRM,kBAEE,2BvEshRR,CuEphRM,kBAEE,4BvEshRR,CuEphRM,kBAEE,0BvEshRR,CuEriRM,QAAgC,uBvEwiRtC,CuEviRM,kBAEE,2BvEyiRR,CuEviRM,kBAEE,6BvEyiRR,CuEviRM,kBAEE,8BvEyiRR,CuEviRM,kBAEE,4BvEyiRR,CuExjRM,QAAgC,qBvE2jRtC,CuE1jRM,kBAEE,yBvE4jRR,CuE1jRM,kBAEE,2BvE4jRR,CuE1jRM,kBAEE,4BvE4jRR,CuE1jRM,kBAEE,0BvE4jRR,CuE3kRM,QAAgC,mBvE8kRtC,CuE7kRM,kBAEE,uBvE+kRR,CuE7kRM,kBAEE,yBvE+kRR,CuE7kRM,kBAEE,0BvE+kRR,CuE7kRM,kBAEE,wBvE+kRR,CuE9lRM,QAAgC,wBvEimRtC,CuEhmRM,kBAEE,4BvEkmRR,CuEhmRM,kBAEE,8BvEkmRR,CuEhmRM,kBAEE,+BvEkmRR,CuEhmRM,kBAEE,6BvEkmRR,CuEjnRM,QAAgC,uBvEonRtC,CuEnnRM,kBAEE,2BvEqnRR,CuEnnRM,kBAEE,6BvEqnRR,CuEnnRM,kBAEE,8BvEqnRR,CuEnnRM,kBAEE,4BvEqnRR,CuEpoRM,QAAgC,sBvEuoRtC,CuEtoRM,kBAEE,0BvEwoRR,CuEtoRM,kBAEE,4BvEwoRR,CuEtoRM,kBAEE,6BvEwoRR,CuEtoRM,kBAEE,2BvEwoRR,CuEvpRM,QAAgC,wBvE0pRtC,CuEzpRM,kBAEE,4BvE2pRR,CuEzpRM,kBAEE,8BvE2pRR,CuEzpRM,kBAEE,+BvE2pRR,CuEzpRM,kBAEE,6BvE2pRR,CuE1qRM,QAAgC,sBvE6qRtC,CuE5qRM,kBAEE,0BvE8qRR,CuE5qRM,kBAEE,4BvE8qRR,CuE5qRM,kBAEE,6BvE8qRR,CuE5qRM,kBAEE,2BvE8qRR,CuEtqRM,SAAwB,wBvEyqR9B,CuExqRM,oBAEE,4BvE0qRR,CuExqRM,oBAEE,8BvE0qRR,CuExqRM,oBAEE,+BvE0qRR,CuExqRM,oBAEE,6BvE0qRR,CuEzrRM,SAAwB,uBvE4rR9B,CuE3rRM,oBAEE,2BvE6rRR,CuE3rRM,oBAEE,6BvE6rRR,CuE3rRM,oBAEE,8BvE6rRR,CuE3rRM,oBAEE,4BvE6rRR,CuE5sRM,SAAwB,sBvE+sR9B,CuE9sRM,oBAEE,0BvEgtRR,CuE9sRM,oBAEE,4BvEgtRR,CuE9sRM,oBAEE,6BvEgtRR,CuE9sRM,oBAEE,2BvEgtRR,CuE/tRM,SAAwB,wBvEkuR9B,CuEjuRM,oBAEE,4BvEmuRR,CuEjuRM,oBAEE,8BvEmuRR,CuEjuRM,oBAEE,+BvEmuRR,CuEjuRM,oBAEE,6BvEmuRR,CuElvRM,SAAwB,sBvEqvR9B,CuEpvRM,oBAEE,0BvEsvRR,CuEpvRM,oBAEE,4BvEsvRR,CuEpvRM,oBAEE,6BvEsvRR,CuEpvRM,oBAEE,2BvEsvRR,CuEhvRE,WAAmB,qBvEmvRrB,CuElvRE,wBAEE,yBvEovRJ,CuElvRE,wBAEE,2BvEovRJ,CuElvRE,wBAEE,4BvEovRJ,CuElvRE,wBAEE,0BvEovRJ,CACF,Cc9vRI,0ByDlDI,QAAgC,kBvEqzRtC,CuEpzRM,kBAEE,sBvEszRR,CuEpzRM,kBAEE,wBvEszRR,CuEpzRM,kBAEE,yBvEszRR,CuEpzRM,kBAEE,uBvEszRR,CuEr0RM,QAAgC,uBvEw0RtC,CuEv0RM,kBAEE,2BvEy0RR,CuEv0RM,kBAEE,6BvEy0RR,CuEv0RM,kBAEE,8BvEy0RR,CuEv0RM,kBAEE,4BvEy0RR,CuEx1RM,QAAgC,sBvE21RtC,CuE11RM,kBAEE,0BvE41RR,CuE11RM,kBAEE,4BvE41RR,CuE11RM,kBAEE,6BvE41RR,CuE11RM,kBAEE,2BvE41RR,CuE32RM,QAAgC,qBvE82RtC,CuE72RM,kBAEE,yBvE+2RR,CuE72RM,kBAEE,2BvE+2RR,CuE72RM,kBAEE,4BvE+2RR,CuE72RM,kBAEE,0BvE+2RR,CuE93RM,QAAgC,uBvEi4RtC,CuEh4RM,kBAEE,2BvEk4RR,CuEh4RM,kBAEE,6BvEk4RR,CuEh4RM,kBAEE,8BvEk4RR,CuEh4RM,kBAEE,4BvEk4RR,CuEj5RM,QAAgC,qBvEo5RtC,CuEn5RM,kBAEE,yBvEq5RR,CuEn5RM,kBAEE,2BvEq5RR,CuEn5RM,kBAEE,4BvEq5RR,CuEn5RM,kBAEE,0BvEq5RR,CuEp6RM,QAAgC,mBvEu6RtC,CuEt6RM,kBAEE,uBvEw6RR,CuEt6RM,kBAEE,yBvEw6RR,CuEt6RM,kBAEE,0BvEw6RR,CuEt6RM,kBAEE,wBvEw6RR,CuEv7RM,QAAgC,wBvE07RtC,CuEz7RM,kBAEE,4BvE27RR,CuEz7RM,kBAEE,8BvE27RR,CuEz7RM,kBAEE,+BvE27RR,CuEz7RM,kBAEE,6BvE27RR,CuE18RM,QAAgC,uBvE68RtC,CuE58RM,kBAEE,2BvE88RR,CuE58RM,kBAEE,6BvE88RR,CuE58RM,kBAEE,8BvE88RR,CuE58RM,kBAEE,4BvE88RR,CuE79RM,QAAgC,sBvEg+RtC,CuE/9RM,kBAEE,0BvEi+RR,CuE/9RM,kBAEE,4BvEi+RR,CuE/9RM,kBAEE,6BvEi+RR,CuE/9RM,kBAEE,2BvEi+RR,CuEh/RM,QAAgC,wBvEm/RtC,CuEl/RM,kBAEE,4BvEo/RR,CuEl/RM,kBAEE,8BvEo/RR,CuEl/RM,kBAEE,+BvEo/RR,CuEl/RM,kBAEE,6BvEo/RR,CuEngSM,QAAgC,sBvEsgStC,CuErgSM,kBAEE,0BvEugSR,CuErgSM,kBAEE,4BvEugSR,CuErgSM,kBAEE,6BvEugSR,CuErgSM,kBAEE,2BvEugSR,CuE//RM,SAAwB,wBvEkgS9B,CuEjgSM,oBAEE,4BvEmgSR,CuEjgSM,oBAEE,8BvEmgSR,CuEjgSM,oBAEE,+BvEmgSR,CuEjgSM,oBAEE,6BvEmgSR,CuElhSM,SAAwB,uBvEqhS9B,CuEphSM,oBAEE,2BvEshSR,CuEphSM,oBAEE,6BvEshSR,CuEphSM,oBAEE,8BvEshSR,CuEphSM,oBAEE,4BvEshSR,CuEriSM,SAAwB,sBvEwiS9B,CuEviSM,oBAEE,0BvEyiSR,CuEviSM,oBAEE,4BvEyiSR,CuEviSM,oBAEE,6BvEyiSR,CuEviSM,oBAEE,2BvEyiSR,CuExjSM,SAAwB,wBvE2jS9B,CuE1jSM,oBAEE,4BvE4jSR,CuE1jSM,oBAEE,8BvE4jSR,CuE1jSM,oBAEE,+BvE4jSR,CuE1jSM,oBAEE,6BvE4jSR,CuE3kSM,SAAwB,sBvE8kS9B,CuE7kSM,oBAEE,0BvE+kSR,CuE7kSM,oBAEE,4BvE+kSR,CuE7kSM,oBAEE,6BvE+kSR,CuE7kSM,oBAEE,2BvE+kSR,CuEzkSE,WAAmB,qBvE4kSrB,CuE3kSE,wBAEE,yBvE6kSJ,CuE3kSE,wBAEE,2BvE6kSJ,CuE3kSE,wBAEE,4BvE6kSJ,CuE3kSE,wBAEE,0BvE6kSJ,CACF,CwE/oSA,sBAEI,iBAAkB,CAClB,KAAM,CACN,OAAQ,CACR,QAAS,CACT,MAAO,CACP,SAAU,CAEV,mBAAoB,CACpB,UAAW,CAEX,4BxE+oSJ,CyEzpSA,gBAAkB,oGzE6pSlB,CyEzpSA,cAAiB,4BzE6pSjB,CyE5pSA,WAAiB,4BzEgqSjB,CyE/pSA,aAAiB,4BzEmqSjB,CyElqSA,eCTE,eAAgB,CAChB,sBAAuB,CACvB,kB1E+qSF,CyEhqSI,WAAwB,yBzEoqS5B,CyEnqSI,YAAwB,0BzEuqS5B,CyEtqSI,aAAwB,2BzE0qS5B,CcroSI,yB2DvCA,cAAwB,yBzEirS1B,CyEhrSE,eAAwB,0BzEmrS1B,CyElrSE,gBAAwB,2BzEqrS1B,CACF,CcjpSI,yB2DvCA,cAAwB,yBzE6rS1B,CyE5rSE,eAAwB,0BzE+rS1B,CyE9rSE,gBAAwB,2BzEisS1B,CACF,Cc7pSI,yB2DvCA,cAAwB,yBzEysS1B,CyExsSE,eAAwB,0BzE2sS1B,CyE1sSE,gBAAwB,2BzE6sS1B,CACF,CczqSI,0B2DvCA,cAAwB,yBzEqtS1B,CyEptSE,eAAwB,0BzEutS1B,CyEttSE,gBAAwB,2BzEytS1B,CACF,CyEptSA,gBAAmB,kCzEwtSnB,CyEvtSA,gBAAmB,kCzE2tSnB,CyE1tSA,iBAAmB,mCzE8tSnB,CyE1tSA,mBAAuB,yBzE8tSvB,CyE7tSA,qBAAuB,6BzEiuSvB,CyEhuSA,oBAAuB,yBzEouSvB,CyEnuSA,kBAAuB,yBzEuuSvB,CyEtuSA,oBAAuB,4BzE0uSvB,CyEzuSA,aAAuB,2BzE6uSvB,CyEzuSA,YAAc,oBzE6uSd,C2EpxSE,cACE,uB3EuxSJ,CK7wSE,0CsELM,uB3EsxSR,C2E5xSE,gBACE,uB3E+xSJ,CKrxSE,8CsELM,uB3E8xSR,C2EpySE,cACE,uB3EuySJ,CK7xSE,0CsELM,uB3EsySR,C2E5ySE,WACE,uB3E+ySJ,CKrySE,oCsELM,uB3E8ySR,C2EpzSE,cACE,uB3EuzSJ,CK7ySE,0CsELM,uB3EszSR,C2E5zSE,aACE,uB3E+zSJ,CKrzSE,wCsELM,uB3E8zSR,C2Ep0SE,YACE,uB3Eu0SJ,CK7zSE,sCsELM,uB3Es0SR,C2E50SE,WACE,uB3E+0SJ,CKr0SE,oCsELM,uB3E80SR,CyEvySA,WAAa,uBzE2ySb,CyE1ySA,YAAc,uBzE8ySd,CyE5ySA,eAAiB,8BzEgzSjB,CyE/ySA,eAAiB,kCzEmzSjB,CyE/ySA,WGvDE,UAAW,CACX,iBAAkB,CAClB,gBAAiB,CACjB,wBAA6B,CAC7B,Q5E02SF,CyEnzSA,sBAAwB,8BzEuzSxB,CyErzSA,YACE,+BAAiC,CACjC,8BzEwzSF,CyEnzSA,YAAc,uBzEuzSd,C6Ex3SA,SACE,4B7E23SF,C6Ex3SA,WACE,2B7E23SF,C8E33SE,a5EOF,iB4EDM,0BAA4B,CAE5B,yB9E23SJ,C8Ex3SE,YAEI,yB9Ey3SN,C8Eh3SE,kBACE,4B9Ek3SJ,CEprSF,I4E/KM,8B9Es2SJ,C8Ep2SE,eAEE,wB3EzCY,C2E0CZ,uB9Es2SJ,C8E91SE,MACE,0B9Eg2SJ,C8E71SE,OAEE,uB9E+1SJ,C8E51SE,QAGE,SAAU,CACV,Q9E81SJ,C8E31SE,MAEE,sB9E61SJ,C8Er1SE,MACE,O9Eu1SJ,C8El1SE,gBACE,yB9Eu1SJ,CiCr6SF,Q6CmFM,Y9Eq1SJ,CsCp7SF,OwCkGM,qB9Eq1SJ,CgBx7SF,O8DuGM,kC9Eo1SJ,C8Er1SE,oBAKI,+B9Eo1SN,CgBv5SF,sC8D0EQ,kC9Ei1SN,CgBt0SF,Y8DNM,a9E+0SJ,CiBr8SA,2E6D4HM,oB9E+0SN,CgBj2SF,sB8DuBM,aAAc,CACd,oB9E60SJ,CACF","file":"2.73420eac.chunk.css","sourcesContent":["/*!\n * Bootstrap v4.6.0 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n@import \"utilities\";\n@import \"print\";\n","/*!\n * Bootstrap v4.6.0 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #7abaff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\ninput[type=\"date\"].form-control,\ninput[type=\"time\"].form-control,\ninput[type=\"datetime-local\"].form-control,\ninput[type=\"month\"].form-control {\n appearance: none;\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n font-size: 1rem;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto;\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input[disabled] ~ .form-check-label,\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.form-row > .col > .valid-tooltip,\n.form-row > [class*=\"col-\"] > .valid-tooltip {\n left: 5px;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n border-color: #28a745;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") right 0.75rem center/8px 10px no-repeat, #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat;\n}\n\n.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n border-color: #34ce57;\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.form-row > .col > .invalid-tooltip,\n.form-row > [class*=\"col-\"] > .invalid-tooltip {\n left: 5px;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") right 0.75rem center/8px 10px no-repeat, #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat;\n}\n\n.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n border-color: #e4606d;\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\n.btn:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #e9ecef;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #adb5bd;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group:not(.has-validation) > .form-control:not(:last-child),\n.input-group:not(.has-validation) > .custom-select:not(:last-child),\n.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group.has-validation > .form-control:nth-last-child(n + 3),\n.input-group.has-validation > .custom-select:nth-last-child(n + 3),\n.input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn,\n.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text,\n.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .btn,\n.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n z-index: 1;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n color-adjust: exact;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1;\n width: 1rem;\n height: 1.25rem;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #80bdff;\n}\n\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n border-color: #b3d7ff;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n vertical-align: top;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n background-color: #fff;\n border: #adb5bd solid 1px;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background: 50% / 50% 50% no-repeat;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-switch {\n padding-left: 2.25rem;\n}\n\n.custom-switch .custom-control-label::before {\n left: -2.25rem;\n width: 1.75rem;\n pointer-events: all;\n border-radius: 0.5rem;\n}\n\n.custom-switch .custom-control-label::after {\n top: calc(0.25rem + 2px);\n left: calc(-2.25rem + 2px);\n width: calc(1rem - 4px);\n height: calc(1rem - 4px);\n background-color: #adb5bd;\n border-radius: 0.5rem;\n transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-switch .custom-control-label::after {\n transition: none;\n }\n}\n\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n background-color: #fff;\n transform: translateX(0.75rem);\n}\n\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") right 0.75rem center/8px 10px no-repeat;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n display: none;\n}\n\n.custom-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.custom-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.custom-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n overflow: hidden;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input[disabled] ~ .custom-file-label,\n.custom-file-input:disabled ~ .custom-file-label {\n background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n overflow: hidden;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(1.5em + 0.75rem);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: inherit;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n height: 1.4rem;\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: 0;\n}\n\n.custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n transition: none;\n }\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.custom-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.custom-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none;\n }\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-link {\n margin-bottom: -1px;\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: 50% / 100% 100% no-repeat;\n}\n\n.navbar-nav-scroll {\n max-height: 75vh;\n overflow-y: auto;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-nav-scroll {\n overflow: visible;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n border-top: 0;\n}\n\n.card-body {\n flex: 1 1 auto;\n min-height: 1px;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0;\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n flex: 1 0 0%;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion {\n overflow-anchor: none;\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n float: left;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .badge {\n transition: none;\n }\n}\n\na.badge:hover, a.badge:focus {\n text-decoration: none;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\na.badge-primary:hover, a.badge-primary:focus {\n color: #fff;\n background-color: #0062cc;\n}\n\na.badge-primary:focus, a.badge-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\na.badge-secondary:hover, a.badge-secondary:focus {\n color: #fff;\n background-color: #545b62;\n}\n\na.badge-secondary:focus, a.badge-secondary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\na.badge-success:hover, a.badge-success:focus {\n color: #fff;\n background-color: #1e7e34;\n}\n\na.badge-success:focus, a.badge-success.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\na.badge-info:hover, a.badge-info:focus {\n color: #fff;\n background-color: #117a8b;\n}\n\na.badge-info:focus, a.badge-info.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\na.badge-warning:hover, a.badge-warning:focus {\n color: #212529;\n background-color: #d39e00;\n}\n\na.badge-warning:focus, a.badge-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\na.badge-danger:hover, a.badge-danger:focus {\n color: #fff;\n background-color: #bd2130;\n}\n\na.badge-danger:focus, a.badge-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\na.badge-light:hover, a.badge-light:focus {\n color: #212529;\n background-color: #dae0e5;\n}\n\na.badge-light:focus, a.badge-light.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\na.badge-dark:hover, a.badge-dark:focus {\n color: #fff;\n background-color: #1d2124;\n}\n\na.badge-dark:focus, a.badge-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n line-height: 0;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: 1s linear infinite progress-bar-stripes;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n border-radius: 0.25rem;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush {\n border-radius: 0;\n}\n\n.list-group-flush > .list-group-item {\n border-width: 0 0 1px;\n}\n\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n flex-basis: 350px;\n max-width: 350px;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n height: min-content;\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n height: min-content;\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: 50% / 100% 100% no-repeat;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: .75s linear infinite spinner-border;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: .75s linear infinite spinner-grow;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n animation-duration: 1.5s;\n }\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n pointer-events: auto;\n content: \"\";\n background-color: rgba(0, 0, 0, 0);\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0056b3 !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #494f54 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #19692c !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #0f6674 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #ba8b00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #a71d2a !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #cbd3da !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #121416 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-break {\n word-break: break-word !important;\n word-wrap: break-word !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n .table-dark {\n color: inherit;\n }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6;\n }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,\n // making it impossible to interact with the content\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn't be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Set the cursor for non-`\n\n

\n \n \n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nconst Record = (props) => (\n \n {props.record.name}\n {props.record.position}\n {props.record.level}\n \n Edit |\n \n \n \n);\n\nexport default function RecordList() {\n const [records, setRecords] = useState([]);\n\n // This method fetches the records from the database.\n useEffect(() => {\n async function getRecords() {\n const response = await fetch(`${BASE_URL}/record/`);\n\n if (!response.ok) {\n const message = `An error occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const records = await response.json();\n setRecords(records);\n }\n\n getRecords();\n\n return; \n }, [records.length]);\n\n // This method will delete a record\n async function deleteRecord(id) {\n try {\n await fetch(`${BASE_URL}/${id}`, {\n method: \"DELETE\"\n });\n\n const newRecords = records.filter((el) => el._id !== id);\n setRecords(newRecords);\n }\n catch(e)\n {\n alert(\"Error : \" + e)\n }\n }\n\n // This method will map out the records on the table\n function recordList() {\n return records.map((record) => {\n return (\n deleteRecord(record._id)}\n key={record._id}\n />\n );\n });\n }\n\n // This following section will display the table with the records of individuals.\n return (\n
\n

Record List

\n \n \n \n \n \n \n \n \n \n {recordList()}\n
NamePositionLevelAction
\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Edit() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n records: [],\n });\n const params = useParams();\n const navigate = useNavigate();\n\n useEffect(() => {\n async function fetchData() {\n const id = params.id.toString();\n const response = await fetch(`${BASE_URL}/record/${params.id.toString()}`);\n\n if (!response.ok) {\n const message = `An error has occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const record = await response.json();\n if (!record) {\n window.alert(`Record with id ${id} not found`);\n navigate(\"/\");\n return;\n }\n\n setForm(record);\n }\n\n fetchData();\n\n return;\n }, [params.id, navigate]);\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n async function onSubmit(e) {\n e.preventDefault();\n const editedPerson = {\n name: form.name,\n position: form.position,\n level: form.level,\n };\n\n // This will send a post request to update the data in the database.\n await fetch(`${BASE_URL}/update/${params.id}`, {\n method: \"POST\",\n body: JSON.stringify(editedPerson),\n headers: {\n 'Content-Type': 'application/json'\n },\n });\n\n navigate(\"/\");\n }\n\n // This following section will display the form that takes input from the user to update the data.\n return (\n
\n

Update Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n\n
\n \n
\n
\n
\n );\n}\n","import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Create() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n });\n const navigate = useNavigate();\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n\n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = { ...form };\n try {\n await fetch(`${BASE_URL}/record/add`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(newPerson),\n })\n }\n catch(e){\n window.alert(\"Error : \" + e);\n return;\n }\n\n setForm({ name: \"\", position: \"\", level: \"\" });\n navigate(\"/\");\n }\n\n // This following section will display the form that takes the input from the user.\n return (\n
\n

Create New Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n \n
\n
\n
\n );\n}\n","import React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { Route, Routes } from \"react-router-dom\";\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\n\nconst App = () => {\n return (\n
\n \n
\n \n } />\n } />\n } />\n \n
\n
\n );\n};\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport { BrowserRouter } from \"react-router-dom\";\n\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);"],"sourceRoot":""} \ No newline at end of file diff --git a/mern/server/public/static/js/runtime-main.a06e69b5.js b/mern/server/public/static/js/runtime-main.a06e69b5.js new file mode 100644 index 0000000..582bbff --- /dev/null +++ b/mern/server/public/static/js/runtime-main.a06e69b5.js @@ -0,0 +1,2 @@ +!function(e){function t(t){for(var n,l,i=t[0],f=t[1],a=t[2],p=0,s=[];p { let db_connect = dbo.getDb(); - let myquery = { _id: ObjectId( req.params.id )}; - db_connect.collection("records").deleteOne(myquery, function (err, obj) { - if (err) throw err; - console.log("1 document deleted"); - response.json(obj); - }); + response.status(400); + response.json({"msg" : 'please implement this feature : "file mern/server/routes/record.js line 74"'}); }); module.exports = recordRoutes; diff --git a/mern/server/server.js b/mern/server/server.js index 7282c4b..ba24a19 100644 --- a/mern/server/server.js +++ b/mern/server/server.js @@ -1,11 +1,13 @@ const express = require("express"); const app = express(); const cors = require("cors"); +const path = require('path'); require("dotenv").config({ path: "./config.env" }); const port = process.env.PORT || 5000; app.use(cors()); app.use(express.json()); app.use(require("./routes/record")); +app.use(express.static(path.resolve(__dirname, 'public'))) // get driver connection const dbo = require("./db/conn"); From 436f2c94b9fb8284990a000259dfbf34b49d84af Mon Sep 17 00:00:00 2001 From: Pash10g Date: Sun, 26 Feb 2023 18:02:51 +0200 Subject: [PATCH 02/10] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bf04b15..93db0e6 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,7 @@ npm start Start Web server ``` +export NODE_OPTIONS=--openssl-legacy-provider cd mern/client npm install npm start From 86694b024bafe9ad577234e5e8f94391cbb0d640 Mon Sep 17 00:00:00 2001 From: Pash10g Date: Sun, 26 Feb 2023 18:04:49 +0200 Subject: [PATCH 03/10] Update README.md --- README.md | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/README.md b/README.md index 93db0e6..3d5ce5d 100644 --- a/README.md +++ b/README.md @@ -12,15 +12,8 @@ PORT=5000 Start server: ``` -cd mern/server -npm install -npm start -``` - -Start Web server -``` export NODE_OPTIONS=--openssl-legacy-provider -cd mern/client +cd mern/server npm install npm start ``` From 926ab15c0390d7fc8aa6c224409bd7f5cd5a4bed Mon Sep 17 00:00:00 2001 From: Pash10g Date: Sun, 26 Feb 2023 16:39:31 +0000 Subject: [PATCH 04/10] Updated to fix --- mern/server/routes/record.js | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/mern/server/routes/record.js b/mern/server/routes/record.js index 5a1dbb2..472b5b3 100644 --- a/mern/server/routes/record.js +++ b/mern/server/routes/record.js @@ -27,7 +27,7 @@ recordRoutes.route("/record").get(function (req, res) { // This section will help you get a single record by id recordRoutes.route("/record/:id").get(function (req, res) { let db_connect = dbo.getDb(); - let myquery = {}// TODO : find the specific record id; + let myquery = { _id: ObjectId( req.params.id )}; db_connect .collection("records") .findOne(myquery, function (err, result) { @@ -44,8 +44,10 @@ recordRoutes.route("/record/add").post(function (req, response) { position: req.body.position, level: req.body.level, }; - response.status(400); - response.json({"msg" : 'please implement this feature : "file mern/server/routes/record.js line 48"'}); + db_connect.collection("records").insertOne(myobj, function (err, res) { + if (err) throw err; + response.json(res); + }); }); // This section will help you update a record by id. @@ -71,8 +73,12 @@ recordRoutes.route("/update/:id").post(function (req, response) { // This section will help you delete a record recordRoutes.route("/:id").delete((req, response) => { let db_connect = dbo.getDb(); - response.status(400); - response.json({"msg" : 'please implement this feature : "file mern/server/routes/record.js line 74"'}); + let myquery = { _id: ObjectId( req.params.id )}; + db_connect.collection("records").deleteOne(myquery, function (err, obj) { + if (err) throw err; + console.log("1 document deleted"); + response.json(obj); + }); }); module.exports = recordRoutes; From 05e838b6abe17c0fe2641b708396cc4dfc828d0a Mon Sep 17 00:00:00 2001 From: Pash10g Date: Wed, 1 Mar 2023 08:17:34 +0000 Subject: [PATCH 05/10] My Code changes to allow delete implement --- mern/client/build/asset-manifest.json | 6 +- mern/client/build/index.html | 2 +- .../build/static/js/main.6384bb61.chunk.js | 2 - .../static/js/main.6384bb61.chunk.js.map | 1 - .../build/static/js/main.aca97640.chunk.js | 2 + .../static/js/main.aca97640.chunk.js.map | 1 + mern/client/src/components/recordList.js | 6 + mern/server/package-lock.json | 574 +++++++++++++++++- mern/server/package.json | 6 +- mern/server/public/asset-manifest.json | 6 +- mern/server/public/index.html | 2 +- .../public/static/js/main.6384bb61.chunk.js | 2 - .../static/js/main.6384bb61.chunk.js.map | 1 - .../public/static/js/main.aca97640.chunk.js | 2 + .../static/js/main.aca97640.chunk.js.map | 1 + mern/server/routes/record.js | 12 +- 16 files changed, 603 insertions(+), 23 deletions(-) delete mode 100644 mern/client/build/static/js/main.6384bb61.chunk.js delete mode 100644 mern/client/build/static/js/main.6384bb61.chunk.js.map create mode 100644 mern/client/build/static/js/main.aca97640.chunk.js create mode 100644 mern/client/build/static/js/main.aca97640.chunk.js.map delete mode 100644 mern/server/public/static/js/main.6384bb61.chunk.js delete mode 100644 mern/server/public/static/js/main.6384bb61.chunk.js.map create mode 100644 mern/server/public/static/js/main.aca97640.chunk.js create mode 100644 mern/server/public/static/js/main.aca97640.chunk.js.map diff --git a/mern/client/build/asset-manifest.json b/mern/client/build/asset-manifest.json index fae2a91..5da3ac7 100644 --- a/mern/client/build/asset-manifest.json +++ b/mern/client/build/asset-manifest.json @@ -1,7 +1,7 @@ { "files": { - "main.js": "/static/js/main.6384bb61.chunk.js", - "main.js.map": "/static/js/main.6384bb61.chunk.js.map", + "main.js": "/static/js/main.aca97640.chunk.js", + "main.js.map": "/static/js/main.aca97640.chunk.js.map", "runtime-main.js": "/static/js/runtime-main.a06e69b5.js", "runtime-main.js.map": "/static/js/runtime-main.a06e69b5.js.map", "static/css/2.73420eac.chunk.css": "/static/css/2.73420eac.chunk.css", @@ -15,6 +15,6 @@ "static/js/runtime-main.a06e69b5.js", "static/css/2.73420eac.chunk.css", "static/js/2.6ef6d4dd.chunk.js", - "static/js/main.6384bb61.chunk.js" + "static/js/main.aca97640.chunk.js" ] } \ No newline at end of file diff --git a/mern/client/build/index.html b/mern/client/build/index.html index 0d48995..5ab3967 100644 --- a/mern/client/build/index.html +++ b/mern/client/build/index.html @@ -1 +1 @@ -React App
\ No newline at end of file +React App
\ No newline at end of file diff --git a/mern/client/build/static/js/main.6384bb61.chunk.js b/mern/client/build/static/js/main.6384bb61.chunk.js deleted file mode 100644 index 06c9c7c..0000000 --- a/mern/client/build/static/js/main.6384bb61.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(this.webpackJsonpclient=this.webpackJsonpclient||[]).push([[0],{19:function(e,t,n){"use strict";n.r(t);var c=n(1),r=n.n(c),a=n(11),i=n.n(a),o=n(2),s=(n(16),n(6)),l=n(0);function u(){return Object(l.jsx)("div",{children:Object(l.jsxs)("nav",{className:"navbar navbar-expand-lg navbar-light bg-light",children:[Object(l.jsx)(s.c,{className:"navbar-brand",to:"/",children:Object(l.jsx)("img",{style:{width:"25%"},src:"https://d3cy9zhslanhfa.cloudfront.net/media/3800C044-6298-4575-A05D5C6B7623EE37/4B45D0EC-3482-4759-82DA37D8EA07D229/webimage-8A27671A-8A53-45DC-89D7BF8537F15A0D.png"})}),Object(l.jsx)("button",{className:"navbar-toggler",type:"button","data-toggle":"collapse","data-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation",children:Object(l.jsx)("span",{className:"navbar-toggler-icon"})}),Object(l.jsx)("div",{className:"collapse navbar-collapse",id:"navbarSupportedContent",children:Object(l.jsx)("ul",{className:"navbar-nav ml-auto",children:Object(l.jsx)("li",{className:"nav-item",children:Object(l.jsx)(s.c,{className:"nav-link",to:"/create",children:"Create Record"})})})})]})})}var j=n(5),d=n.n(j),b=n(7),h=n(4),p=function(e){return Object(l.jsxs)("tr",{children:[Object(l.jsx)("td",{children:e.record.name}),Object(l.jsx)("td",{children:e.record.position}),Object(l.jsx)("td",{children:e.record.level}),Object(l.jsxs)("td",{children:[Object(l.jsx)(s.b,{className:"btn btn-link",to:"/edit/".concat(e.record._id),children:"Edit"})," |",Object(l.jsx)("button",{className:"btn btn-link",onClick:function(){e.deleteRecord(e.record._id)},children:"Delete"})]})]})};function m(){var e=Object(c.useState)([]),t=Object(h.a)(e,2),n=t[0],r=t[1];function a(){return(a=Object(b.a)(d.a.mark((function e(t){var c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,fetch("".concat("","/").concat(t),{method:"DELETE"});case 3:c=n.filter((function(e){return e._id!==t})),r(c),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),alert("Error : "+e.t0);case 10:case"end":return e.stop()}}),e,null,[[0,7]])})))).apply(this,arguments)}return Object(c.useEffect)((function(){function e(){return(e=Object(b.a)(d.a.mark((function e(){var t,n,c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("".concat("","/record/"));case 2:if((t=e.sent).ok){e.next=7;break}return n="An error occured: ".concat(t.statusText),window.alert(n),e.abrupt("return");case 7:return e.next=9,t.json();case 9:c=e.sent,r(c);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[n.length]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Record List"}),Object(l.jsxs)("table",{className:"table table-striped",style:{marginTop:20},children:[Object(l.jsx)("thead",{children:Object(l.jsxs)("tr",{children:[Object(l.jsx)("th",{children:"Name"}),Object(l.jsx)("th",{children:"Position"}),Object(l.jsx)("th",{children:"Level"}),Object(l.jsx)("th",{children:"Action"})]})}),Object(l.jsx)("tbody",{children:n.map((function(e){return Object(l.jsx)(p,{record:e,deleteRecord:function(){return function(e){return a.apply(this,arguments)}(e._id)}},e._id)}))})]})]})}var O=n(8);function f(){var e=Object(c.useState)({name:"",position:"",level:"",records:[]}),t=Object(h.a)(e,2),n=t[0],r=t[1],a=Object(o.g)(),i=Object(o.f)();function s(e){return r((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function u(){return(u=Object(b.a)(d.a.mark((function e(t){var c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c={name:n.name,position:n.position,level:n.level},e.next=4,fetch("".concat("","/update/").concat(a.id),{method:"POST",body:JSON.stringify(c),headers:{"Content-Type":"application/json"}});case 4:i("/");case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}return Object(c.useEffect)((function(){function e(){return(e=Object(b.a)(d.a.mark((function e(){var t,n,c,o;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.id.toString(),e.next=3,fetch("".concat("","/record/").concat(a.id.toString()));case 3:if((n=e.sent).ok){e.next=8;break}return c="An error has occured: ".concat(n.statusText),window.alert(c),e.abrupt("return");case 8:return e.next=10,n.json();case 10:if(o=e.sent){e.next=15;break}return window.alert("Record with id ".concat(t," not found")),i("/"),e.abrupt("return");case 15:r(o);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[a.id,i]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Update Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return u.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return s({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return s({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return s({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return s({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return s({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("br",{}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Update Record",className:"btn btn-primary"})})]})]})}function x(){var e=Object(c.useState)({name:"",position:"",level:""}),t=Object(h.a)(e,2),n=t[0],r=t[1],a=Object(o.f)();function i(e){return r((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function s(){return(s=Object(b.a)(d.a.mark((function e(t){var c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c=Object(O.a)({},n),e.prev=2,e.next=5,fetch("".concat("","/record/add"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});case 5:e.next=11;break;case 7:return e.prev=7,e.t0=e.catch(2),window.alert("Error : "+e.t0),e.abrupt("return");case 11:r({name:"",position:"",level:""}),a("/");case 13:case"end":return e.stop()}}),e,null,[[2,7]])})))).apply(this,arguments)}return Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Create New Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return s.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return i({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return i({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Create person",className:"btn btn-primary"})})]})]})}var v=function(){return Object(l.jsxs)("div",{children:[Object(l.jsx)(u,{}),Object(l.jsx)("div",{style:{margin:20},children:Object(l.jsxs)(o.c,{children:[Object(l.jsx)(o.a,{exact:!0,path:"/",element:Object(l.jsx)(m,{})}),Object(l.jsx)(o.a,{path:"/edit/:id",element:Object(l.jsx)(f,{})}),Object(l.jsx)(o.a,{path:"/create",element:Object(l.jsx)(x,{})})]})})]})};i.a.render(Object(l.jsx)(r.a.StrictMode,{children:Object(l.jsx)(s.a,{children:Object(l.jsx)(v,{})})}),document.getElementById("root"))}},[[19,1,2]]]); -//# sourceMappingURL=main.6384bb61.chunk.js.map \ No newline at end of file diff --git a/mern/client/build/static/js/main.6384bb61.chunk.js.map b/mern/client/build/static/js/main.6384bb61.chunk.js.map deleted file mode 100644 index 71fa0fd..0000000 --- a/mern/client/build/static/js/main.6384bb61.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["components/navbar.js","components/recordList.js","components/edit.js","components/create.js","App.js","index.js"],"names":["Navbar","_jsx","children","_jsxs","className","NavLink","to","style","src","type","data-toggle","data-target","aria-controls","aria-expanded","aria-label","id","Record","props","record","name","position","level","Link","concat","_id","onClick","deleteRecord","RecordList","_useState","useState","_useState2","_slicedToArray","records","setRecords","_deleteRecord","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","newRecords","wrap","_context2","prev","next","fetch","method","filter","el","t0","alert","stop","apply","arguments","useEffect","_getRecords","_callee","response","message","_context","sent","ok","statusText","window","abrupt","json","getRecords","length","marginTop","map","_x","Edit","form","setForm","params","useParams","navigate","useNavigate","updateForm","value","_objectSpread","_onSubmit","e","editedPerson","preventDefault","body","JSON","stringify","headers","_fetchData","toString","fetchData","onSubmit","htmlFor","onChange","target","checked","Create","newPerson","App","margin","Routes","Route","exact","path","element","ReactDOM","render","React","StrictMode","BrowserRouter","document","getElementById"],"mappings":"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","file":"static/js/main.6384bb61.chunk.js","sourcesContent":["import React from \"react\";\n\n// We import bootstrap to make our application look better.\nimport \"bootstrap/dist/css/bootstrap.css\";\n\n// We import NavLink to utilize the react router.\nimport { NavLink } from \"react-router-dom\";\n\n// Here, we display our Navbar\nexport default function Navbar() {\n return (\n
\n \n
\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nconst Record = (props) => (\n \n {props.record.name}\n {props.record.position}\n {props.record.level}\n \n Edit |\n \n \n \n);\n\nexport default function RecordList() {\n const [records, setRecords] = useState([]);\n\n // This method fetches the records from the database.\n useEffect(() => {\n async function getRecords() {\n const response = await fetch(`${BASE_URL}/record/`);\n\n if (!response.ok) {\n const message = `An error occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const records = await response.json();\n setRecords(records);\n }\n\n getRecords();\n\n return; \n }, [records.length]);\n\n // This method will delete a record\n async function deleteRecord(id) {\n try {\n await fetch(`${BASE_URL}/${id}`, {\n method: \"DELETE\"\n });\n\n const newRecords = records.filter((el) => el._id !== id);\n setRecords(newRecords);\n }\n catch(e)\n {\n alert(\"Error : \" + e)\n }\n }\n\n // This method will map out the records on the table\n function recordList() {\n return records.map((record) => {\n return (\n deleteRecord(record._id)}\n key={record._id}\n />\n );\n });\n }\n\n // This following section will display the table with the records of individuals.\n return (\n
\n

Record List

\n \n \n \n \n \n \n \n \n \n {recordList()}\n
NamePositionLevelAction
\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Edit() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n records: [],\n });\n const params = useParams();\n const navigate = useNavigate();\n\n useEffect(() => {\n async function fetchData() {\n const id = params.id.toString();\n const response = await fetch(`${BASE_URL}/record/${params.id.toString()}`);\n\n if (!response.ok) {\n const message = `An error has occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const record = await response.json();\n if (!record) {\n window.alert(`Record with id ${id} not found`);\n navigate(\"/\");\n return;\n }\n\n setForm(record);\n }\n\n fetchData();\n\n return;\n }, [params.id, navigate]);\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n async function onSubmit(e) {\n e.preventDefault();\n const editedPerson = {\n name: form.name,\n position: form.position,\n level: form.level,\n };\n\n // This will send a post request to update the data in the database.\n await fetch(`${BASE_URL}/update/${params.id}`, {\n method: \"POST\",\n body: JSON.stringify(editedPerson),\n headers: {\n 'Content-Type': 'application/json'\n },\n });\n\n navigate(\"/\");\n }\n\n // This following section will display the form that takes input from the user to update the data.\n return (\n
\n

Update Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n\n
\n \n
\n
\n
\n );\n}\n","import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Create() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n });\n const navigate = useNavigate();\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n\n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = { ...form };\n try {\n await fetch(`${BASE_URL}/record/add`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(newPerson),\n })\n }\n catch(e){\n window.alert(\"Error : \" + e);\n return;\n }\n\n setForm({ name: \"\", position: \"\", level: \"\" });\n navigate(\"/\");\n }\n\n // This following section will display the form that takes the input from the user.\n return (\n
\n

Create New Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n \n
\n
\n
\n );\n}\n","import React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { Route, Routes } from \"react-router-dom\";\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\n\nconst App = () => {\n return (\n
\n \n
\n \n } />\n } />\n } />\n \n
\n
\n );\n};\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport { BrowserRouter } from \"react-router-dom\";\n\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);"],"sourceRoot":""} \ No newline at end of file diff --git a/mern/client/build/static/js/main.aca97640.chunk.js b/mern/client/build/static/js/main.aca97640.chunk.js new file mode 100644 index 0000000..941cc0f --- /dev/null +++ b/mern/client/build/static/js/main.aca97640.chunk.js @@ -0,0 +1,2 @@ +(this.webpackJsonpclient=this.webpackJsonpclient||[]).push([[0],{19:function(e,t,n){"use strict";n.r(t);var r=n(1),c=n.n(r),a=n(11),i=n.n(a),s=n(2),o=(n(16),n(6)),l=n(0);function u(){return Object(l.jsx)("div",{children:Object(l.jsxs)("nav",{className:"navbar navbar-expand-lg navbar-light bg-light",children:[Object(l.jsx)(o.c,{className:"navbar-brand",to:"/",children:Object(l.jsx)("img",{style:{width:"25%"},src:"https://d3cy9zhslanhfa.cloudfront.net/media/3800C044-6298-4575-A05D5C6B7623EE37/4B45D0EC-3482-4759-82DA37D8EA07D229/webimage-8A27671A-8A53-45DC-89D7BF8537F15A0D.png"})}),Object(l.jsx)("button",{className:"navbar-toggler",type:"button","data-toggle":"collapse","data-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation",children:Object(l.jsx)("span",{className:"navbar-toggler-icon"})}),Object(l.jsx)("div",{className:"collapse navbar-collapse",id:"navbarSupportedContent",children:Object(l.jsx)("ul",{className:"navbar-nav ml-auto",children:Object(l.jsx)("li",{className:"nav-item",children:Object(l.jsx)(o.c,{className:"nav-link",to:"/create",children:"Create Record"})})})})]})})}var j=n(5),d=n.n(j),b=n(7),p=n(4),h=function(e){return Object(l.jsxs)("tr",{children:[Object(l.jsx)("td",{children:e.record.name}),Object(l.jsx)("td",{children:e.record.position}),Object(l.jsx)("td",{children:e.record.level}),Object(l.jsxs)("td",{children:[Object(l.jsx)(o.b,{className:"btn btn-link",to:"/edit/".concat(e.record._id),children:"Edit"})," |",Object(l.jsx)("button",{className:"btn btn-link",onClick:function(){e.deleteRecord(e.record._id)},children:"Delete"})]})]})};function m(){var e=Object(r.useState)([]),t=Object(p.a)(e,2),n=t[0],c=t[1];function a(){return(a=Object(b.a)(d.a.mark((function e(t){var r;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,alert('Please implement the "DELETE" route on mern/server/routes/record.js lines 74'),e.abrupt("return");case 5:r=n.filter((function(e){return e._id!==t})),c(r),e.next=12;break;case 9:e.prev=9,e.t0=e.catch(0),alert("Error : "+e.t0);case 12:case"end":return e.stop()}}),e,null,[[0,9]])})))).apply(this,arguments)}return Object(r.useEffect)((function(){function e(){return(e=Object(b.a)(d.a.mark((function e(){var t,n,r;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("".concat("","/record/"));case 2:if((t=e.sent).ok){e.next=7;break}return n="An error occured: ".concat(t.statusText),window.alert(n),e.abrupt("return");case 7:return e.next=9,t.json();case 9:r=e.sent,c(r);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[n.length]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Record List"}),Object(l.jsxs)("table",{className:"table table-striped",style:{marginTop:20},children:[Object(l.jsx)("thead",{children:Object(l.jsxs)("tr",{children:[Object(l.jsx)("th",{children:"Name"}),Object(l.jsx)("th",{children:"Position"}),Object(l.jsx)("th",{children:"Level"}),Object(l.jsx)("th",{children:"Action"})]})}),Object(l.jsx)("tbody",{children:n.map((function(e){return Object(l.jsx)(h,{record:e,deleteRecord:function(){return function(e){return a.apply(this,arguments)}(e._id)}},e._id)}))})]})]})}var O=n(8);function f(){var e=Object(r.useState)({name:"",position:"",level:"",records:[]}),t=Object(p.a)(e,2),n=t[0],c=t[1],a=Object(s.g)(),i=Object(s.f)();function o(e){return c((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function u(){return(u=Object(b.a)(d.a.mark((function e(t){var r;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),r={name:n.name,position:n.position,level:n.level},e.next=4,fetch("".concat("","/update/").concat(a.id),{method:"POST",body:JSON.stringify(r),headers:{"Content-Type":"application/json"}});case 4:i("/");case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}return Object(r.useEffect)((function(){function e(){return(e=Object(b.a)(d.a.mark((function e(){var t,n,r,s;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.id.toString(),e.next=3,fetch("".concat("","/record/").concat(a.id.toString()));case 3:if((n=e.sent).ok){e.next=8;break}return r="An error has occured: ".concat(n.statusText),window.alert(r),e.abrupt("return");case 8:return e.next=10,n.json();case 10:if(s=e.sent){e.next=15;break}return window.alert("Record with id ".concat(t," not found")),i("/"),e.abrupt("return");case 15:c(s);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[a.id,i]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Update Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return u.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return o({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return o({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("br",{}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Update Record",className:"btn btn-primary"})})]})]})}function x(){var e=Object(r.useState)({name:"",position:"",level:""}),t=Object(p.a)(e,2),n=t[0],c=t[1],a=Object(s.f)();function i(e){return c((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function o(){return(o=Object(b.a)(d.a.mark((function e(t){var r;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),r=Object(O.a)({},n),e.prev=2,e.next=5,fetch("".concat("","/record/add"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});case 5:e.next=11;break;case 7:return e.prev=7,e.t0=e.catch(2),window.alert("Error : "+e.t0),e.abrupt("return");case 11:c({name:"",position:"",level:""}),a("/");case 13:case"end":return e.stop()}}),e,null,[[2,7]])})))).apply(this,arguments)}return Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Create New Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return o.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return i({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return i({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Create person",className:"btn btn-primary"})})]})]})}var v=function(){return Object(l.jsxs)("div",{children:[Object(l.jsx)(u,{}),Object(l.jsx)("div",{style:{margin:20},children:Object(l.jsxs)(s.c,{children:[Object(l.jsx)(s.a,{exact:!0,path:"/",element:Object(l.jsx)(m,{})}),Object(l.jsx)(s.a,{path:"/edit/:id",element:Object(l.jsx)(f,{})}),Object(l.jsx)(s.a,{path:"/create",element:Object(l.jsx)(x,{})})]})})]})};i.a.render(Object(l.jsx)(c.a.StrictMode,{children:Object(l.jsx)(o.a,{children:Object(l.jsx)(v,{})})}),document.getElementById("root"))}},[[19,1,2]]]); +//# sourceMappingURL=main.aca97640.chunk.js.map \ No newline at end of file diff --git a/mern/client/build/static/js/main.aca97640.chunk.js.map b/mern/client/build/static/js/main.aca97640.chunk.js.map new file mode 100644 index 0000000..e05c5ba --- /dev/null +++ b/mern/client/build/static/js/main.aca97640.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["components/navbar.js","components/recordList.js","components/edit.js","components/create.js","App.js","index.js"],"names":["Navbar","_jsx","children","_jsxs","className","NavLink","to","style","src","type","data-toggle","data-target","aria-controls","aria-expanded","aria-label","id","Record","props","record","name","position","level","Link","concat","_id","onClick","deleteRecord","RecordList","_useState","useState","_useState2","_slicedToArray","records","setRecords","_deleteRecord","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","newRecords","wrap","_context2","prev","next","alert","abrupt","filter","el","t0","stop","apply","arguments","useEffect","_getRecords","_callee","response","message","_context","fetch","sent","ok","statusText","window","json","getRecords","length","marginTop","map","_x","Edit","form","setForm","params","useParams","navigate","useNavigate","updateForm","value","_objectSpread","_onSubmit","e","editedPerson","preventDefault","method","body","JSON","stringify","headers","_fetchData","toString","fetchData","onSubmit","htmlFor","onChange","target","checked","Create","newPerson","App","margin","Routes","Route","exact","path","element","ReactDOM","render","React","StrictMode","BrowserRouter","document","getElementById"],"mappings":"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","file":"static/js/main.aca97640.chunk.js","sourcesContent":["import React from \"react\";\n\n// We import bootstrap to make our application look better.\nimport \"bootstrap/dist/css/bootstrap.css\";\n\n// We import NavLink to utilize the react router.\nimport { NavLink } from \"react-router-dom\";\n\n// Here, we display our Navbar\nexport default function Navbar() {\n return (\n
\n \n
\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nconst Record = (props) => (\n \n {props.record.name}\n {props.record.position}\n {props.record.level}\n \n Edit |\n \n \n \n);\n\nexport default function RecordList() {\n const [records, setRecords] = useState([]);\n\n // This method fetches the records from the database.\n useEffect(() => {\n async function getRecords() {\n const response = await fetch(`${BASE_URL}/record/`);\n\n if (!response.ok) {\n const message = `An error occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const records = await response.json();\n setRecords(records);\n }\n\n getRecords();\n\n return; \n }, [records.length]);\n\n // This method will delete a record\n async function deleteRecord(id) {\n try {\n\n /*\n Please remove once implement mern/server/routes/record.js lines 74\n */\n alert('Please implement the \"DELETE\" route on mern/server/routes/record.js lines 74')\n return;\n await fetch(`${BASE_URL}/${id}`, {\n method: \"DELETE\"\n });\n\n const newRecords = records.filter((el) => el._id !== id);\n setRecords(newRecords);\n }\n catch(e)\n {\n alert(\"Error : \" + e)\n }\n }\n\n // This method will map out the records on the table\n function recordList() {\n return records.map((record) => {\n return (\n deleteRecord(record._id)}\n key={record._id}\n />\n );\n });\n }\n\n // This following section will display the table with the records of individuals.\n return (\n
\n

Record List

\n \n \n \n \n \n \n \n \n \n {recordList()}\n
NamePositionLevelAction
\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Edit() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n records: [],\n });\n const params = useParams();\n const navigate = useNavigate();\n\n useEffect(() => {\n async function fetchData() {\n const id = params.id.toString();\n const response = await fetch(`${BASE_URL}/record/${params.id.toString()}`);\n\n if (!response.ok) {\n const message = `An error has occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const record = await response.json();\n if (!record) {\n window.alert(`Record with id ${id} not found`);\n navigate(\"/\");\n return;\n }\n\n setForm(record);\n }\n\n fetchData();\n\n return;\n }, [params.id, navigate]);\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n async function onSubmit(e) {\n e.preventDefault();\n const editedPerson = {\n name: form.name,\n position: form.position,\n level: form.level,\n };\n\n // This will send a post request to update the data in the database.\n await fetch(`${BASE_URL}/update/${params.id}`, {\n method: \"POST\",\n body: JSON.stringify(editedPerson),\n headers: {\n 'Content-Type': 'application/json'\n },\n });\n\n navigate(\"/\");\n }\n\n // This following section will display the form that takes input from the user to update the data.\n return (\n
\n

Update Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n\n
\n \n
\n
\n
\n );\n}\n","import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Create() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n });\n const navigate = useNavigate();\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n\n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = { ...form };\n try {\n await fetch(`${BASE_URL}/record/add`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(newPerson),\n })\n }\n catch(e){\n window.alert(\"Error : \" + e);\n return;\n }\n\n setForm({ name: \"\", position: \"\", level: \"\" });\n navigate(\"/\");\n }\n\n // This following section will display the form that takes the input from the user.\n return (\n
\n

Create New Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n \n
\n
\n
\n );\n}\n","import React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { Route, Routes } from \"react-router-dom\";\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\n\nconst App = () => {\n return (\n
\n \n
\n \n } />\n } />\n } />\n \n
\n
\n );\n};\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport { BrowserRouter } from \"react-router-dom\";\n\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);"],"sourceRoot":""} \ No newline at end of file diff --git a/mern/client/src/components/recordList.js b/mern/client/src/components/recordList.js index 41bb864..f36b7b0 100644 --- a/mern/client/src/components/recordList.js +++ b/mern/client/src/components/recordList.js @@ -48,6 +48,12 @@ export default function RecordList() { // This method will delete a record async function deleteRecord(id) { try { + + /* + Please remove once implement mern/server/routes/record.js lines 74 + */ + alert('Please implement the "DELETE" route on mern/server/routes/record.js lines 74') + return; await fetch(`${BASE_URL}/${id}`, { method: "DELETE" }); diff --git a/mern/server/package-lock.json b/mern/server/package-lock.json index 2a7e22d..0e423b2 100644 --- a/mern/server/package-lock.json +++ b/mern/server/package-lock.json @@ -13,7 +13,8 @@ "dotenv": "^8.2.0", "express": "^4.17.1", "mongodb": "^3.6.6", - "mongoose": "^5.12.4" + "mongoose": "^5.12.4", + "nodemon": "^2.0.20" } }, "node_modules/@types/bson": { @@ -38,6 +39,11 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.41.tgz", "integrity": "sha512-dueRKfaJL4RTtSa7bWeTK1M+VH+Gns73oCgzvYfHZywRCoPSd8EkXBL0mZ9unPTveBn+D9phZBaxuzpwjWkW0g==" }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, "node_modules/accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -50,11 +56,36 @@ "node": ">= 0.6" } }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, "node_modules/bl": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz", @@ -89,6 +120,26 @@ "node": ">= 0.8" } }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/bson": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.6.tgz", @@ -105,6 +156,37 @@ "node": ">= 0.8" } }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, "node_modules/content-disposition": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", @@ -257,6 +339,17 @@ "node": ">= 0.10.0" } }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", @@ -290,6 +383,38 @@ "node": ">= 0.6" } }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, "node_modules/http-errors": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", @@ -316,6 +441,11 @@ "node": ">=0.10.0" } }, + "node_modules/ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==" + }, "node_modules/inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", @@ -329,6 +459,44 @@ "node": ">= 0.10" } }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -396,6 +564,17 @@ "node": ">= 0.6" } }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/mongodb": { "version": "3.6.6", "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.6.tgz", @@ -536,6 +715,68 @@ "node": ">= 0.6" } }, + "node_modules/nodemon": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.20.tgz", + "integrity": "sha512-Km2mWHKKY5GzRg6i1j5OxOHQtuvVsgskLfigG25yTtbyfRGn/GNvIbRyOf1PSCKJ2aT/58TiuUsuOU5UToVViw==", + "dependencies": { + "chokidar": "^3.5.2", + "debug": "^3.2.7", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^5.7.1", + "simple-update-notifier": "^1.0.7", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=8.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "node_modules/nodemon/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/nodemon/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -576,6 +817,17 @@ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -593,6 +845,11 @@ "node": ">= 0.10" } }, + "node_modules/pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==" + }, "node_modules/qs": { "version": "6.7.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", @@ -637,6 +894,17 @@ "util-deprecate": "~1.0.1" } }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, "node_modules/regexp-clone": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz", @@ -664,6 +932,14 @@ "node": ">=6" } }, + "node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, "node_modules/send": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", @@ -716,6 +992,25 @@ "resolved": "https://registry.npmjs.org/sift/-/sift-7.0.1.tgz", "integrity": "sha512-oqD7PMJ+uO6jV9EQCl0LrRw1OwsiPsiFQR5AR30heR+4Dl7jBBbDLnNvWiak20tzZlSE1H7RB30SX/1j/YYT7g==" }, + "node_modules/simple-update-notifier": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz", + "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==", + "dependencies": { + "semver": "~7.0.0" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/simple-update-notifier/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/sliced": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz", @@ -746,6 +1041,28 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, "node_modules/toidentifier": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", @@ -754,6 +1071,17 @@ "node": ">=0.6" } }, + "node_modules/touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "dependencies": { + "nopt": "~1.0.10" + }, + "bin": { + "nodetouch": "bin/nodetouch.js" + } + }, "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -766,6 +1094,11 @@ "node": ">= 0.6" } }, + "node_modules/undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==" + }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -819,6 +1152,11 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.41.tgz", "integrity": "sha512-dueRKfaJL4RTtSa7bWeTK1M+VH+Gns73oCgzvYfHZywRCoPSd8EkXBL0mZ9unPTveBn+D9phZBaxuzpwjWkW0g==" }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -828,11 +1166,30 @@ "negotiator": "0.6.2" } }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, "bl": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz", @@ -864,6 +1221,23 @@ "type-is": "~1.6.17" } }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, "bson": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.6.tgz", @@ -874,6 +1248,26 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, "content-disposition": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", @@ -996,6 +1390,14 @@ "vary": "~1.1.2" } }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, "finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", @@ -1020,6 +1422,25 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, "http-errors": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", @@ -1040,6 +1461,11 @@ "safer-buffer": ">= 2.1.2 < 3" } }, + "ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==" + }, "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", @@ -1050,6 +1476,32 @@ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -1099,6 +1551,14 @@ "mime-db": "1.47.0" } }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, "mongodb": { "version": "3.6.6", "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.6.tgz", @@ -1186,6 +1646,51 @@ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" }, + "nodemon": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.20.tgz", + "integrity": "sha512-Km2mWHKKY5GzRg6i1j5OxOHQtuvVsgskLfigG25yTtbyfRGn/GNvIbRyOf1PSCKJ2aT/58TiuUsuOU5UToVViw==", + "requires": { + "chokidar": "^3.5.2", + "debug": "^3.2.7", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^5.7.1", + "simple-update-notifier": "^1.0.7", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", + "requires": { + "abbrev": "1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -1214,6 +1719,11 @@ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -1228,6 +1738,11 @@ "ipaddr.js": "1.9.1" } }, + "pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==" + }, "qs": { "version": "6.7.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", @@ -1263,6 +1778,14 @@ "util-deprecate": "~1.0.1" } }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, "regexp-clone": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz", @@ -1287,6 +1810,11 @@ "sparse-bitfield": "^3.0.3" } }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, "send": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", @@ -1335,6 +1863,21 @@ "resolved": "https://registry.npmjs.org/sift/-/sift-7.0.1.tgz", "integrity": "sha512-oqD7PMJ+uO6jV9EQCl0LrRw1OwsiPsiFQR5AR30heR+4Dl7jBBbDLnNvWiak20tzZlSE1H7RB30SX/1j/YYT7g==" }, + "simple-update-notifier": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz", + "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==", + "requires": { + "semver": "~7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" + } + } + }, "sliced": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz", @@ -1362,11 +1905,35 @@ "safe-buffer": "~5.1.0" } }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, "toidentifier": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" }, + "touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "requires": { + "nopt": "~1.0.10" + } + }, "type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -1376,6 +1943,11 @@ "mime-types": "~2.1.24" } }, + "undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==" + }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", diff --git a/mern/server/package.json b/mern/server/package.json index 88e743f..f1bd644 100644 --- a/mern/server/package.json +++ b/mern/server/package.json @@ -4,7 +4,8 @@ "description": "", "main": "server.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "test": "echo \"Error: no test specified\" && exit 1", + "start" : "nodemon server.js" }, "keywords": [], "author": "", @@ -14,6 +15,7 @@ "dotenv": "^8.2.0", "express": "^4.17.1", "mongodb": "^3.6.6", - "mongoose": "^5.12.4" + "mongoose": "^5.12.4", + "nodemon": "^2.0.20" } } diff --git a/mern/server/public/asset-manifest.json b/mern/server/public/asset-manifest.json index fae2a91..5da3ac7 100644 --- a/mern/server/public/asset-manifest.json +++ b/mern/server/public/asset-manifest.json @@ -1,7 +1,7 @@ { "files": { - "main.js": "/static/js/main.6384bb61.chunk.js", - "main.js.map": "/static/js/main.6384bb61.chunk.js.map", + "main.js": "/static/js/main.aca97640.chunk.js", + "main.js.map": "/static/js/main.aca97640.chunk.js.map", "runtime-main.js": "/static/js/runtime-main.a06e69b5.js", "runtime-main.js.map": "/static/js/runtime-main.a06e69b5.js.map", "static/css/2.73420eac.chunk.css": "/static/css/2.73420eac.chunk.css", @@ -15,6 +15,6 @@ "static/js/runtime-main.a06e69b5.js", "static/css/2.73420eac.chunk.css", "static/js/2.6ef6d4dd.chunk.js", - "static/js/main.6384bb61.chunk.js" + "static/js/main.aca97640.chunk.js" ] } \ No newline at end of file diff --git a/mern/server/public/index.html b/mern/server/public/index.html index 0d48995..5ab3967 100644 --- a/mern/server/public/index.html +++ b/mern/server/public/index.html @@ -1 +1 @@ -React App
\ No newline at end of file +React App
\ No newline at end of file diff --git a/mern/server/public/static/js/main.6384bb61.chunk.js b/mern/server/public/static/js/main.6384bb61.chunk.js deleted file mode 100644 index 06c9c7c..0000000 --- a/mern/server/public/static/js/main.6384bb61.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(this.webpackJsonpclient=this.webpackJsonpclient||[]).push([[0],{19:function(e,t,n){"use strict";n.r(t);var c=n(1),r=n.n(c),a=n(11),i=n.n(a),o=n(2),s=(n(16),n(6)),l=n(0);function u(){return Object(l.jsx)("div",{children:Object(l.jsxs)("nav",{className:"navbar navbar-expand-lg navbar-light bg-light",children:[Object(l.jsx)(s.c,{className:"navbar-brand",to:"/",children:Object(l.jsx)("img",{style:{width:"25%"},src:"https://d3cy9zhslanhfa.cloudfront.net/media/3800C044-6298-4575-A05D5C6B7623EE37/4B45D0EC-3482-4759-82DA37D8EA07D229/webimage-8A27671A-8A53-45DC-89D7BF8537F15A0D.png"})}),Object(l.jsx)("button",{className:"navbar-toggler",type:"button","data-toggle":"collapse","data-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation",children:Object(l.jsx)("span",{className:"navbar-toggler-icon"})}),Object(l.jsx)("div",{className:"collapse navbar-collapse",id:"navbarSupportedContent",children:Object(l.jsx)("ul",{className:"navbar-nav ml-auto",children:Object(l.jsx)("li",{className:"nav-item",children:Object(l.jsx)(s.c,{className:"nav-link",to:"/create",children:"Create Record"})})})})]})})}var j=n(5),d=n.n(j),b=n(7),h=n(4),p=function(e){return Object(l.jsxs)("tr",{children:[Object(l.jsx)("td",{children:e.record.name}),Object(l.jsx)("td",{children:e.record.position}),Object(l.jsx)("td",{children:e.record.level}),Object(l.jsxs)("td",{children:[Object(l.jsx)(s.b,{className:"btn btn-link",to:"/edit/".concat(e.record._id),children:"Edit"})," |",Object(l.jsx)("button",{className:"btn btn-link",onClick:function(){e.deleteRecord(e.record._id)},children:"Delete"})]})]})};function m(){var e=Object(c.useState)([]),t=Object(h.a)(e,2),n=t[0],r=t[1];function a(){return(a=Object(b.a)(d.a.mark((function e(t){var c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,fetch("".concat("","/").concat(t),{method:"DELETE"});case 3:c=n.filter((function(e){return e._id!==t})),r(c),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),alert("Error : "+e.t0);case 10:case"end":return e.stop()}}),e,null,[[0,7]])})))).apply(this,arguments)}return Object(c.useEffect)((function(){function e(){return(e=Object(b.a)(d.a.mark((function e(){var t,n,c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("".concat("","/record/"));case 2:if((t=e.sent).ok){e.next=7;break}return n="An error occured: ".concat(t.statusText),window.alert(n),e.abrupt("return");case 7:return e.next=9,t.json();case 9:c=e.sent,r(c);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[n.length]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Record List"}),Object(l.jsxs)("table",{className:"table table-striped",style:{marginTop:20},children:[Object(l.jsx)("thead",{children:Object(l.jsxs)("tr",{children:[Object(l.jsx)("th",{children:"Name"}),Object(l.jsx)("th",{children:"Position"}),Object(l.jsx)("th",{children:"Level"}),Object(l.jsx)("th",{children:"Action"})]})}),Object(l.jsx)("tbody",{children:n.map((function(e){return Object(l.jsx)(p,{record:e,deleteRecord:function(){return function(e){return a.apply(this,arguments)}(e._id)}},e._id)}))})]})]})}var O=n(8);function f(){var e=Object(c.useState)({name:"",position:"",level:"",records:[]}),t=Object(h.a)(e,2),n=t[0],r=t[1],a=Object(o.g)(),i=Object(o.f)();function s(e){return r((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function u(){return(u=Object(b.a)(d.a.mark((function e(t){var c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c={name:n.name,position:n.position,level:n.level},e.next=4,fetch("".concat("","/update/").concat(a.id),{method:"POST",body:JSON.stringify(c),headers:{"Content-Type":"application/json"}});case 4:i("/");case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}return Object(c.useEffect)((function(){function e(){return(e=Object(b.a)(d.a.mark((function e(){var t,n,c,o;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.id.toString(),e.next=3,fetch("".concat("","/record/").concat(a.id.toString()));case 3:if((n=e.sent).ok){e.next=8;break}return c="An error has occured: ".concat(n.statusText),window.alert(c),e.abrupt("return");case 8:return e.next=10,n.json();case 10:if(o=e.sent){e.next=15;break}return window.alert("Record with id ".concat(t," not found")),i("/"),e.abrupt("return");case 15:r(o);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[a.id,i]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Update Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return u.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return s({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return s({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return s({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return s({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return s({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("br",{}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Update Record",className:"btn btn-primary"})})]})]})}function x(){var e=Object(c.useState)({name:"",position:"",level:""}),t=Object(h.a)(e,2),n=t[0],r=t[1],a=Object(o.f)();function i(e){return r((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function s(){return(s=Object(b.a)(d.a.mark((function e(t){var c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c=Object(O.a)({},n),e.prev=2,e.next=5,fetch("".concat("","/record/add"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});case 5:e.next=11;break;case 7:return e.prev=7,e.t0=e.catch(2),window.alert("Error : "+e.t0),e.abrupt("return");case 11:r({name:"",position:"",level:""}),a("/");case 13:case"end":return e.stop()}}),e,null,[[2,7]])})))).apply(this,arguments)}return Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Create New Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return s.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return i({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return i({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Create person",className:"btn btn-primary"})})]})]})}var v=function(){return Object(l.jsxs)("div",{children:[Object(l.jsx)(u,{}),Object(l.jsx)("div",{style:{margin:20},children:Object(l.jsxs)(o.c,{children:[Object(l.jsx)(o.a,{exact:!0,path:"/",element:Object(l.jsx)(m,{})}),Object(l.jsx)(o.a,{path:"/edit/:id",element:Object(l.jsx)(f,{})}),Object(l.jsx)(o.a,{path:"/create",element:Object(l.jsx)(x,{})})]})})]})};i.a.render(Object(l.jsx)(r.a.StrictMode,{children:Object(l.jsx)(s.a,{children:Object(l.jsx)(v,{})})}),document.getElementById("root"))}},[[19,1,2]]]); -//# sourceMappingURL=main.6384bb61.chunk.js.map \ No newline at end of file diff --git a/mern/server/public/static/js/main.6384bb61.chunk.js.map b/mern/server/public/static/js/main.6384bb61.chunk.js.map deleted file mode 100644 index 71fa0fd..0000000 --- a/mern/server/public/static/js/main.6384bb61.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["components/navbar.js","components/recordList.js","components/edit.js","components/create.js","App.js","index.js"],"names":["Navbar","_jsx","children","_jsxs","className","NavLink","to","style","src","type","data-toggle","data-target","aria-controls","aria-expanded","aria-label","id","Record","props","record","name","position","level","Link","concat","_id","onClick","deleteRecord","RecordList","_useState","useState","_useState2","_slicedToArray","records","setRecords","_deleteRecord","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","newRecords","wrap","_context2","prev","next","fetch","method","filter","el","t0","alert","stop","apply","arguments","useEffect","_getRecords","_callee","response","message","_context","sent","ok","statusText","window","abrupt","json","getRecords","length","marginTop","map","_x","Edit","form","setForm","params","useParams","navigate","useNavigate","updateForm","value","_objectSpread","_onSubmit","e","editedPerson","preventDefault","body","JSON","stringify","headers","_fetchData","toString","fetchData","onSubmit","htmlFor","onChange","target","checked","Create","newPerson","App","margin","Routes","Route","exact","path","element","ReactDOM","render","React","StrictMode","BrowserRouter","document","getElementById"],"mappings":"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","file":"static/js/main.6384bb61.chunk.js","sourcesContent":["import React from \"react\";\n\n// We import bootstrap to make our application look better.\nimport \"bootstrap/dist/css/bootstrap.css\";\n\n// We import NavLink to utilize the react router.\nimport { NavLink } from \"react-router-dom\";\n\n// Here, we display our Navbar\nexport default function Navbar() {\n return (\n
\n \n
\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nconst Record = (props) => (\n \n {props.record.name}\n {props.record.position}\n {props.record.level}\n \n Edit |\n \n \n \n);\n\nexport default function RecordList() {\n const [records, setRecords] = useState([]);\n\n // This method fetches the records from the database.\n useEffect(() => {\n async function getRecords() {\n const response = await fetch(`${BASE_URL}/record/`);\n\n if (!response.ok) {\n const message = `An error occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const records = await response.json();\n setRecords(records);\n }\n\n getRecords();\n\n return; \n }, [records.length]);\n\n // This method will delete a record\n async function deleteRecord(id) {\n try {\n await fetch(`${BASE_URL}/${id}`, {\n method: \"DELETE\"\n });\n\n const newRecords = records.filter((el) => el._id !== id);\n setRecords(newRecords);\n }\n catch(e)\n {\n alert(\"Error : \" + e)\n }\n }\n\n // This method will map out the records on the table\n function recordList() {\n return records.map((record) => {\n return (\n deleteRecord(record._id)}\n key={record._id}\n />\n );\n });\n }\n\n // This following section will display the table with the records of individuals.\n return (\n
\n

Record List

\n \n \n \n \n \n \n \n \n \n {recordList()}\n
NamePositionLevelAction
\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Edit() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n records: [],\n });\n const params = useParams();\n const navigate = useNavigate();\n\n useEffect(() => {\n async function fetchData() {\n const id = params.id.toString();\n const response = await fetch(`${BASE_URL}/record/${params.id.toString()}`);\n\n if (!response.ok) {\n const message = `An error has occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const record = await response.json();\n if (!record) {\n window.alert(`Record with id ${id} not found`);\n navigate(\"/\");\n return;\n }\n\n setForm(record);\n }\n\n fetchData();\n\n return;\n }, [params.id, navigate]);\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n async function onSubmit(e) {\n e.preventDefault();\n const editedPerson = {\n name: form.name,\n position: form.position,\n level: form.level,\n };\n\n // This will send a post request to update the data in the database.\n await fetch(`${BASE_URL}/update/${params.id}`, {\n method: \"POST\",\n body: JSON.stringify(editedPerson),\n headers: {\n 'Content-Type': 'application/json'\n },\n });\n\n navigate(\"/\");\n }\n\n // This following section will display the form that takes input from the user to update the data.\n return (\n
\n

Update Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n\n
\n \n
\n
\n
\n );\n}\n","import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Create() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n });\n const navigate = useNavigate();\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n\n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = { ...form };\n try {\n await fetch(`${BASE_URL}/record/add`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(newPerson),\n })\n }\n catch(e){\n window.alert(\"Error : \" + e);\n return;\n }\n\n setForm({ name: \"\", position: \"\", level: \"\" });\n navigate(\"/\");\n }\n\n // This following section will display the form that takes the input from the user.\n return (\n
\n

Create New Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n \n
\n
\n
\n );\n}\n","import React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { Route, Routes } from \"react-router-dom\";\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\n\nconst App = () => {\n return (\n
\n \n
\n \n } />\n } />\n } />\n \n
\n
\n );\n};\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport { BrowserRouter } from \"react-router-dom\";\n\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);"],"sourceRoot":""} \ No newline at end of file diff --git a/mern/server/public/static/js/main.aca97640.chunk.js b/mern/server/public/static/js/main.aca97640.chunk.js new file mode 100644 index 0000000..941cc0f --- /dev/null +++ b/mern/server/public/static/js/main.aca97640.chunk.js @@ -0,0 +1,2 @@ +(this.webpackJsonpclient=this.webpackJsonpclient||[]).push([[0],{19:function(e,t,n){"use strict";n.r(t);var r=n(1),c=n.n(r),a=n(11),i=n.n(a),s=n(2),o=(n(16),n(6)),l=n(0);function u(){return Object(l.jsx)("div",{children:Object(l.jsxs)("nav",{className:"navbar navbar-expand-lg navbar-light bg-light",children:[Object(l.jsx)(o.c,{className:"navbar-brand",to:"/",children:Object(l.jsx)("img",{style:{width:"25%"},src:"https://d3cy9zhslanhfa.cloudfront.net/media/3800C044-6298-4575-A05D5C6B7623EE37/4B45D0EC-3482-4759-82DA37D8EA07D229/webimage-8A27671A-8A53-45DC-89D7BF8537F15A0D.png"})}),Object(l.jsx)("button",{className:"navbar-toggler",type:"button","data-toggle":"collapse","data-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation",children:Object(l.jsx)("span",{className:"navbar-toggler-icon"})}),Object(l.jsx)("div",{className:"collapse navbar-collapse",id:"navbarSupportedContent",children:Object(l.jsx)("ul",{className:"navbar-nav ml-auto",children:Object(l.jsx)("li",{className:"nav-item",children:Object(l.jsx)(o.c,{className:"nav-link",to:"/create",children:"Create Record"})})})})]})})}var j=n(5),d=n.n(j),b=n(7),p=n(4),h=function(e){return Object(l.jsxs)("tr",{children:[Object(l.jsx)("td",{children:e.record.name}),Object(l.jsx)("td",{children:e.record.position}),Object(l.jsx)("td",{children:e.record.level}),Object(l.jsxs)("td",{children:[Object(l.jsx)(o.b,{className:"btn btn-link",to:"/edit/".concat(e.record._id),children:"Edit"})," |",Object(l.jsx)("button",{className:"btn btn-link",onClick:function(){e.deleteRecord(e.record._id)},children:"Delete"})]})]})};function m(){var e=Object(r.useState)([]),t=Object(p.a)(e,2),n=t[0],c=t[1];function a(){return(a=Object(b.a)(d.a.mark((function e(t){var r;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,alert('Please implement the "DELETE" route on mern/server/routes/record.js lines 74'),e.abrupt("return");case 5:r=n.filter((function(e){return e._id!==t})),c(r),e.next=12;break;case 9:e.prev=9,e.t0=e.catch(0),alert("Error : "+e.t0);case 12:case"end":return e.stop()}}),e,null,[[0,9]])})))).apply(this,arguments)}return Object(r.useEffect)((function(){function e(){return(e=Object(b.a)(d.a.mark((function e(){var t,n,r;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("".concat("","/record/"));case 2:if((t=e.sent).ok){e.next=7;break}return n="An error occured: ".concat(t.statusText),window.alert(n),e.abrupt("return");case 7:return e.next=9,t.json();case 9:r=e.sent,c(r);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[n.length]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Record List"}),Object(l.jsxs)("table",{className:"table table-striped",style:{marginTop:20},children:[Object(l.jsx)("thead",{children:Object(l.jsxs)("tr",{children:[Object(l.jsx)("th",{children:"Name"}),Object(l.jsx)("th",{children:"Position"}),Object(l.jsx)("th",{children:"Level"}),Object(l.jsx)("th",{children:"Action"})]})}),Object(l.jsx)("tbody",{children:n.map((function(e){return Object(l.jsx)(h,{record:e,deleteRecord:function(){return function(e){return a.apply(this,arguments)}(e._id)}},e._id)}))})]})]})}var O=n(8);function f(){var e=Object(r.useState)({name:"",position:"",level:"",records:[]}),t=Object(p.a)(e,2),n=t[0],c=t[1],a=Object(s.g)(),i=Object(s.f)();function o(e){return c((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function u(){return(u=Object(b.a)(d.a.mark((function e(t){var r;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),r={name:n.name,position:n.position,level:n.level},e.next=4,fetch("".concat("","/update/").concat(a.id),{method:"POST",body:JSON.stringify(r),headers:{"Content-Type":"application/json"}});case 4:i("/");case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}return Object(r.useEffect)((function(){function e(){return(e=Object(b.a)(d.a.mark((function e(){var t,n,r,s;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.id.toString(),e.next=3,fetch("".concat("","/record/").concat(a.id.toString()));case 3:if((n=e.sent).ok){e.next=8;break}return r="An error has occured: ".concat(n.statusText),window.alert(r),e.abrupt("return");case 8:return e.next=10,n.json();case 10:if(s=e.sent){e.next=15;break}return window.alert("Record with id ".concat(t," not found")),i("/"),e.abrupt("return");case 15:c(s);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[a.id,i]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Update Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return u.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return o({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return o({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("br",{}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Update Record",className:"btn btn-primary"})})]})]})}function x(){var e=Object(r.useState)({name:"",position:"",level:""}),t=Object(p.a)(e,2),n=t[0],c=t[1],a=Object(s.f)();function i(e){return c((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function o(){return(o=Object(b.a)(d.a.mark((function e(t){var r;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),r=Object(O.a)({},n),e.prev=2,e.next=5,fetch("".concat("","/record/add"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});case 5:e.next=11;break;case 7:return e.prev=7,e.t0=e.catch(2),window.alert("Error : "+e.t0),e.abrupt("return");case 11:c({name:"",position:"",level:""}),a("/");case 13:case"end":return e.stop()}}),e,null,[[2,7]])})))).apply(this,arguments)}return Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Create New Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return o.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return i({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return i({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Create person",className:"btn btn-primary"})})]})]})}var v=function(){return Object(l.jsxs)("div",{children:[Object(l.jsx)(u,{}),Object(l.jsx)("div",{style:{margin:20},children:Object(l.jsxs)(s.c,{children:[Object(l.jsx)(s.a,{exact:!0,path:"/",element:Object(l.jsx)(m,{})}),Object(l.jsx)(s.a,{path:"/edit/:id",element:Object(l.jsx)(f,{})}),Object(l.jsx)(s.a,{path:"/create",element:Object(l.jsx)(x,{})})]})})]})};i.a.render(Object(l.jsx)(c.a.StrictMode,{children:Object(l.jsx)(o.a,{children:Object(l.jsx)(v,{})})}),document.getElementById("root"))}},[[19,1,2]]]); +//# sourceMappingURL=main.aca97640.chunk.js.map \ No newline at end of file diff --git a/mern/server/public/static/js/main.aca97640.chunk.js.map b/mern/server/public/static/js/main.aca97640.chunk.js.map new file mode 100644 index 0000000..e05c5ba --- /dev/null +++ b/mern/server/public/static/js/main.aca97640.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["components/navbar.js","components/recordList.js","components/edit.js","components/create.js","App.js","index.js"],"names":["Navbar","_jsx","children","_jsxs","className","NavLink","to","style","src","type","data-toggle","data-target","aria-controls","aria-expanded","aria-label","id","Record","props","record","name","position","level","Link","concat","_id","onClick","deleteRecord","RecordList","_useState","useState","_useState2","_slicedToArray","records","setRecords","_deleteRecord","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","newRecords","wrap","_context2","prev","next","alert","abrupt","filter","el","t0","stop","apply","arguments","useEffect","_getRecords","_callee","response","message","_context","fetch","sent","ok","statusText","window","json","getRecords","length","marginTop","map","_x","Edit","form","setForm","params","useParams","navigate","useNavigate","updateForm","value","_objectSpread","_onSubmit","e","editedPerson","preventDefault","method","body","JSON","stringify","headers","_fetchData","toString","fetchData","onSubmit","htmlFor","onChange","target","checked","Create","newPerson","App","margin","Routes","Route","exact","path","element","ReactDOM","render","React","StrictMode","BrowserRouter","document","getElementById"],"mappings":"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","file":"static/js/main.aca97640.chunk.js","sourcesContent":["import React from \"react\";\n\n// We import bootstrap to make our application look better.\nimport \"bootstrap/dist/css/bootstrap.css\";\n\n// We import NavLink to utilize the react router.\nimport { NavLink } from \"react-router-dom\";\n\n// Here, we display our Navbar\nexport default function Navbar() {\n return (\n
\n \n
\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nconst Record = (props) => (\n \n {props.record.name}\n {props.record.position}\n {props.record.level}\n \n Edit |\n \n \n \n);\n\nexport default function RecordList() {\n const [records, setRecords] = useState([]);\n\n // This method fetches the records from the database.\n useEffect(() => {\n async function getRecords() {\n const response = await fetch(`${BASE_URL}/record/`);\n\n if (!response.ok) {\n const message = `An error occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const records = await response.json();\n setRecords(records);\n }\n\n getRecords();\n\n return; \n }, [records.length]);\n\n // This method will delete a record\n async function deleteRecord(id) {\n try {\n\n /*\n Please remove once implement mern/server/routes/record.js lines 74\n */\n alert('Please implement the \"DELETE\" route on mern/server/routes/record.js lines 74')\n return;\n await fetch(`${BASE_URL}/${id}`, {\n method: \"DELETE\"\n });\n\n const newRecords = records.filter((el) => el._id !== id);\n setRecords(newRecords);\n }\n catch(e)\n {\n alert(\"Error : \" + e)\n }\n }\n\n // This method will map out the records on the table\n function recordList() {\n return records.map((record) => {\n return (\n deleteRecord(record._id)}\n key={record._id}\n />\n );\n });\n }\n\n // This following section will display the table with the records of individuals.\n return (\n
\n

Record List

\n \n \n \n \n \n \n \n \n \n {recordList()}\n
NamePositionLevelAction
\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Edit() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n records: [],\n });\n const params = useParams();\n const navigate = useNavigate();\n\n useEffect(() => {\n async function fetchData() {\n const id = params.id.toString();\n const response = await fetch(`${BASE_URL}/record/${params.id.toString()}`);\n\n if (!response.ok) {\n const message = `An error has occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const record = await response.json();\n if (!record) {\n window.alert(`Record with id ${id} not found`);\n navigate(\"/\");\n return;\n }\n\n setForm(record);\n }\n\n fetchData();\n\n return;\n }, [params.id, navigate]);\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n async function onSubmit(e) {\n e.preventDefault();\n const editedPerson = {\n name: form.name,\n position: form.position,\n level: form.level,\n };\n\n // This will send a post request to update the data in the database.\n await fetch(`${BASE_URL}/update/${params.id}`, {\n method: \"POST\",\n body: JSON.stringify(editedPerson),\n headers: {\n 'Content-Type': 'application/json'\n },\n });\n\n navigate(\"/\");\n }\n\n // This following section will display the form that takes input from the user to update the data.\n return (\n
\n

Update Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n\n
\n \n
\n
\n
\n );\n}\n","import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Create() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n });\n const navigate = useNavigate();\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n\n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = { ...form };\n try {\n await fetch(`${BASE_URL}/record/add`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(newPerson),\n })\n }\n catch(e){\n window.alert(\"Error : \" + e);\n return;\n }\n\n setForm({ name: \"\", position: \"\", level: \"\" });\n navigate(\"/\");\n }\n\n // This following section will display the form that takes the input from the user.\n return (\n
\n

Create New Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n \n
\n
\n
\n );\n}\n","import React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { Route, Routes } from \"react-router-dom\";\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\n\nconst App = () => {\n return (\n
\n \n
\n \n } />\n } />\n } />\n \n
\n
\n );\n};\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport { BrowserRouter } from \"react-router-dom\";\n\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);"],"sourceRoot":""} \ No newline at end of file diff --git a/mern/server/routes/record.js b/mern/server/routes/record.js index 472b5b3..848a5ab 100644 --- a/mern/server/routes/record.js +++ b/mern/server/routes/record.js @@ -73,12 +73,12 @@ recordRoutes.route("/update/:id").post(function (req, response) { // This section will help you delete a record recordRoutes.route("/:id").delete((req, response) => { let db_connect = dbo.getDb(); - let myquery = { _id: ObjectId( req.params.id )}; - db_connect.collection("records").deleteOne(myquery, function (err, obj) { - if (err) throw err; - console.log("1 document deleted"); - response.json(obj); - }); + // let myquery = { _id: ObjectId( req.params.id )}; + // db_connect.collection("records").deleteOne(myquery, function (err, obj) { + // if (err) throw err; + // console.log("1 document deleted"); + // response.json(obj); + // }); }); module.exports = recordRoutes; From 2bcf10285dc1bf54aa0842a94ccf20dd42521abe Mon Sep 17 00:00:00 2001 From: Pash10g Date: Wed, 1 Mar 2023 08:28:57 +0000 Subject: [PATCH 06/10] Changing the delete function on web --- mern/client/build/asset-manifest.json | 6 ++-- mern/client/build/index.html | 2 +- .../build/static/js/main.83a5e43e.chunk.js | 2 ++ .../static/js/main.83a5e43e.chunk.js.map | 1 + .../build/static/js/main.aca97640.chunk.js | 2 -- .../static/js/main.aca97640.chunk.js.map | 1 - mern/client/src/components/recordList.js | 30 +++++++++---------- mern/server/public/asset-manifest.json | 6 ++-- mern/server/public/index.html | 2 +- .../public/static/js/main.83a5e43e.chunk.js | 2 ++ .../static/js/main.83a5e43e.chunk.js.map | 1 + .../public/static/js/main.aca97640.chunk.js | 2 -- .../static/js/main.aca97640.chunk.js.map | 1 - 13 files changed, 28 insertions(+), 30 deletions(-) create mode 100644 mern/client/build/static/js/main.83a5e43e.chunk.js create mode 100644 mern/client/build/static/js/main.83a5e43e.chunk.js.map delete mode 100644 mern/client/build/static/js/main.aca97640.chunk.js delete mode 100644 mern/client/build/static/js/main.aca97640.chunk.js.map create mode 100644 mern/server/public/static/js/main.83a5e43e.chunk.js create mode 100644 mern/server/public/static/js/main.83a5e43e.chunk.js.map delete mode 100644 mern/server/public/static/js/main.aca97640.chunk.js delete mode 100644 mern/server/public/static/js/main.aca97640.chunk.js.map diff --git a/mern/client/build/asset-manifest.json b/mern/client/build/asset-manifest.json index 5da3ac7..13a968f 100644 --- a/mern/client/build/asset-manifest.json +++ b/mern/client/build/asset-manifest.json @@ -1,7 +1,7 @@ { "files": { - "main.js": "/static/js/main.aca97640.chunk.js", - "main.js.map": "/static/js/main.aca97640.chunk.js.map", + "main.js": "/static/js/main.83a5e43e.chunk.js", + "main.js.map": "/static/js/main.83a5e43e.chunk.js.map", "runtime-main.js": "/static/js/runtime-main.a06e69b5.js", "runtime-main.js.map": "/static/js/runtime-main.a06e69b5.js.map", "static/css/2.73420eac.chunk.css": "/static/css/2.73420eac.chunk.css", @@ -15,6 +15,6 @@ "static/js/runtime-main.a06e69b5.js", "static/css/2.73420eac.chunk.css", "static/js/2.6ef6d4dd.chunk.js", - "static/js/main.aca97640.chunk.js" + "static/js/main.83a5e43e.chunk.js" ] } \ No newline at end of file diff --git a/mern/client/build/index.html b/mern/client/build/index.html index 5ab3967..a4dd51a 100644 --- a/mern/client/build/index.html +++ b/mern/client/build/index.html @@ -1 +1 @@ -React App
\ No newline at end of file +React App
\ No newline at end of file diff --git a/mern/client/build/static/js/main.83a5e43e.chunk.js b/mern/client/build/static/js/main.83a5e43e.chunk.js new file mode 100644 index 0000000..ae7c141 --- /dev/null +++ b/mern/client/build/static/js/main.83a5e43e.chunk.js @@ -0,0 +1,2 @@ +(this.webpackJsonpclient=this.webpackJsonpclient||[]).push([[0],{19:function(e,t,n){"use strict";n.r(t);var c=n(1),r=n.n(c),a=n(11),i=n.n(a),s=n(2),o=(n(16),n(6)),l=n(0);function u(){return Object(l.jsx)("div",{children:Object(l.jsxs)("nav",{className:"navbar navbar-expand-lg navbar-light bg-light",children:[Object(l.jsx)(o.c,{className:"navbar-brand",to:"/",children:Object(l.jsx)("img",{style:{width:"25%"},src:"https://d3cy9zhslanhfa.cloudfront.net/media/3800C044-6298-4575-A05D5C6B7623EE37/4B45D0EC-3482-4759-82DA37D8EA07D229/webimage-8A27671A-8A53-45DC-89D7BF8537F15A0D.png"})}),Object(l.jsx)("button",{className:"navbar-toggler",type:"button","data-toggle":"collapse","data-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation",children:Object(l.jsx)("span",{className:"navbar-toggler-icon"})}),Object(l.jsx)("div",{className:"collapse navbar-collapse",id:"navbarSupportedContent",children:Object(l.jsx)("ul",{className:"navbar-nav ml-auto",children:Object(l.jsx)("li",{className:"nav-item",children:Object(l.jsx)(o.c,{className:"nav-link",to:"/create",children:"Create Record"})})})})]})})}var j=n(5),d=n.n(j),b=n(7),h=n(4),p=function(e){return Object(l.jsxs)("tr",{children:[Object(l.jsx)("td",{children:e.record.name}),Object(l.jsx)("td",{children:e.record.position}),Object(l.jsx)("td",{children:e.record.level}),Object(l.jsxs)("td",{children:[Object(l.jsx)(o.b,{className:"btn btn-link",to:"/edit/".concat(e.record._id),children:"Edit"})," |",Object(l.jsx)("button",{className:"btn btn-link",onClick:function(){e.deleteRecord(e.record._id)},children:"Delete"})]})]})};function m(){var e=Object(c.useState)([]),t=Object(h.a)(e,2),n=t[0],r=t[1];function a(){return i.apply(this,arguments)}function i(){return(i=Object(b.a)(d.a.mark((function e(){var t,n,c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("".concat("","/record/"));case 2:if((t=e.sent).ok){e.next=7;break}return n="An error occured: ".concat(t.statusText),window.alert(n),e.abrupt("return");case 7:return e.next=9,t.json();case 9:c=e.sent,r(c);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function s(){return(s=Object(b.a)(d.a.mark((function e(t){return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,alert('Please implement the "DELETE" route on mern/server/routes/record.js lines 74, press "OK" when you done'),e.next=4,fetch("".concat("","/").concat(t),{method:"DELETE"});case 4:return e.next=6,a();case 6:e.next=11;break;case 8:e.prev=8,e.t0=e.catch(0),alert("Error : "+e.t0);case 11:case"end":return e.stop()}}),e,null,[[0,8]])})))).apply(this,arguments)}return Object(c.useEffect)((function(){a()}),[n.length]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Record List"}),Object(l.jsxs)("table",{className:"table table-striped",style:{marginTop:20},children:[Object(l.jsx)("thead",{children:Object(l.jsxs)("tr",{children:[Object(l.jsx)("th",{children:"Name"}),Object(l.jsx)("th",{children:"Position"}),Object(l.jsx)("th",{children:"Level"}),Object(l.jsx)("th",{children:"Action"})]})}),Object(l.jsx)("tbody",{children:n.map((function(e){return Object(l.jsx)(p,{record:e,deleteRecord:function(){return function(e){return s.apply(this,arguments)}(e._id)}},e._id)}))})]})]})}var O=n(8);function f(){var e=Object(c.useState)({name:"",position:"",level:"",records:[]}),t=Object(h.a)(e,2),n=t[0],r=t[1],a=Object(s.g)(),i=Object(s.f)();function o(e){return r((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function u(){return(u=Object(b.a)(d.a.mark((function e(t){var c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c={name:n.name,position:n.position,level:n.level},e.next=4,fetch("".concat("","/update/").concat(a.id),{method:"POST",body:JSON.stringify(c),headers:{"Content-Type":"application/json"}});case 4:i("/");case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}return Object(c.useEffect)((function(){function e(){return(e=Object(b.a)(d.a.mark((function e(){var t,n,c,s;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.id.toString(),e.next=3,fetch("".concat("","/record/").concat(a.id.toString()));case 3:if((n=e.sent).ok){e.next=8;break}return c="An error has occured: ".concat(n.statusText),window.alert(c),e.abrupt("return");case 8:return e.next=10,n.json();case 10:if(s=e.sent){e.next=15;break}return window.alert("Record with id ".concat(t," not found")),i("/"),e.abrupt("return");case 15:r(s);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[a.id,i]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Update Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return u.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return o({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return o({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("br",{}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Update Record",className:"btn btn-primary"})})]})]})}function x(){var e=Object(c.useState)({name:"",position:"",level:""}),t=Object(h.a)(e,2),n=t[0],r=t[1],a=Object(s.f)();function i(e){return r((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function o(){return(o=Object(b.a)(d.a.mark((function e(t){var c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c=Object(O.a)({},n),e.prev=2,e.next=5,fetch("".concat("","/record/add"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});case 5:e.next=11;break;case 7:return e.prev=7,e.t0=e.catch(2),window.alert("Error : "+e.t0),e.abrupt("return");case 11:r({name:"",position:"",level:""}),a("/");case 13:case"end":return e.stop()}}),e,null,[[2,7]])})))).apply(this,arguments)}return Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Create New Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return o.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return i({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return i({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Create person",className:"btn btn-primary"})})]})]})}var v=function(){return Object(l.jsxs)("div",{children:[Object(l.jsx)(u,{}),Object(l.jsx)("div",{style:{margin:20},children:Object(l.jsxs)(s.c,{children:[Object(l.jsx)(s.a,{exact:!0,path:"/",element:Object(l.jsx)(m,{})}),Object(l.jsx)(s.a,{path:"/edit/:id",element:Object(l.jsx)(f,{})}),Object(l.jsx)(s.a,{path:"/create",element:Object(l.jsx)(x,{})})]})})]})};i.a.render(Object(l.jsx)(r.a.StrictMode,{children:Object(l.jsx)(o.a,{children:Object(l.jsx)(v,{})})}),document.getElementById("root"))}},[[19,1,2]]]); +//# sourceMappingURL=main.83a5e43e.chunk.js.map \ No newline at end of file diff --git a/mern/client/build/static/js/main.83a5e43e.chunk.js.map b/mern/client/build/static/js/main.83a5e43e.chunk.js.map new file mode 100644 index 0000000..2c4a00d --- /dev/null +++ b/mern/client/build/static/js/main.83a5e43e.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["components/navbar.js","components/recordList.js","components/edit.js","components/create.js","App.js","index.js"],"names":["Navbar","_jsx","children","_jsxs","className","NavLink","to","style","src","type","data-toggle","data-target","aria-controls","aria-expanded","aria-label","id","Record","props","record","name","position","level","Link","concat","_id","onClick","deleteRecord","RecordList","_useState","useState","_useState2","_slicedToArray","records","setRecords","getRecords","_getRecords","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","response","message","wrap","_context","prev","next","fetch","sent","ok","statusText","window","alert","abrupt","json","stop","_deleteRecord","_callee2","_context2","method","t0","useEffect","length","marginTop","map","_x","Edit","form","setForm","params","useParams","navigate","useNavigate","updateForm","value","_objectSpread","_onSubmit","e","editedPerson","preventDefault","body","JSON","stringify","headers","_fetchData","toString","fetchData","onSubmit","htmlFor","onChange","target","checked","Create","newPerson","App","margin","Routes","Route","exact","path","element","ReactDOM","render","React","StrictMode","BrowserRouter","document","getElementById"],"mappings":"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","file":"static/js/main.83a5e43e.chunk.js","sourcesContent":["import React from \"react\";\n\n// We import bootstrap to make our application look better.\nimport \"bootstrap/dist/css/bootstrap.css\";\n\n// We import NavLink to utilize the react router.\nimport { NavLink } from \"react-router-dom\";\n\n// Here, we display our Navbar\nexport default function Navbar() {\n return (\n
\n \n
\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nconst Record = (props) => (\n \n {props.record.name}\n {props.record.position}\n {props.record.level}\n \n Edit |\n \n \n \n);\n\nexport default function RecordList() {\n const [records, setRecords] = useState([]);\n\n // This method fetches the records from the database.\n useEffect(() => {\n \n\n getRecords();\n\n return; \n }, [records.length]);\n async function getRecords() {\n const response = await fetch(`${BASE_URL}/record/`);\n\n if (!response.ok) {\n const message = `An error occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const records = await response.json();\n setRecords(records);\n }\n // This method will delete a record\n async function deleteRecord(id) {\n try {\n\n /*\n Please remove once implement mern/server/routes/record.js lines 74\n */\n alert('Please implement the \"DELETE\" route on mern/server/routes/record.js lines 74, press \"OK\" when you done')\n await fetch(`${BASE_URL}/${id}`, {\n method: \"DELETE\"\n });\n\n await getRecords();\n }\n catch(e)\n {\n alert(\"Error : \" + e)\n }\n }\n\n // This method will map out the records on the table\n function recordList() {\n return records.map((record) => {\n return (\n deleteRecord(record._id)}\n key={record._id}\n />\n );\n });\n }\n\n // This following section will display the table with the records of individuals.\n return (\n
\n

Record List

\n \n \n \n \n \n \n \n \n \n {recordList()}\n
NamePositionLevelAction
\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Edit() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n records: [],\n });\n const params = useParams();\n const navigate = useNavigate();\n\n useEffect(() => {\n async function fetchData() {\n const id = params.id.toString();\n const response = await fetch(`${BASE_URL}/record/${params.id.toString()}`);\n\n if (!response.ok) {\n const message = `An error has occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const record = await response.json();\n if (!record) {\n window.alert(`Record with id ${id} not found`);\n navigate(\"/\");\n return;\n }\n\n setForm(record);\n }\n\n fetchData();\n\n return;\n }, [params.id, navigate]);\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n async function onSubmit(e) {\n e.preventDefault();\n const editedPerson = {\n name: form.name,\n position: form.position,\n level: form.level,\n };\n\n // This will send a post request to update the data in the database.\n await fetch(`${BASE_URL}/update/${params.id}`, {\n method: \"POST\",\n body: JSON.stringify(editedPerson),\n headers: {\n 'Content-Type': 'application/json'\n },\n });\n\n navigate(\"/\");\n }\n\n // This following section will display the form that takes input from the user to update the data.\n return (\n
\n

Update Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n\n
\n \n
\n
\n
\n );\n}\n","import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Create() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n });\n const navigate = useNavigate();\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n\n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = { ...form };\n try {\n await fetch(`${BASE_URL}/record/add`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(newPerson),\n })\n }\n catch(e){\n window.alert(\"Error : \" + e);\n return;\n }\n\n setForm({ name: \"\", position: \"\", level: \"\" });\n navigate(\"/\");\n }\n\n // This following section will display the form that takes the input from the user.\n return (\n
\n

Create New Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n \n
\n
\n
\n );\n}\n","import React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { Route, Routes } from \"react-router-dom\";\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\n\nconst App = () => {\n return (\n
\n \n
\n \n } />\n } />\n } />\n \n
\n
\n );\n};\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport { BrowserRouter } from \"react-router-dom\";\n\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);"],"sourceRoot":""} \ No newline at end of file diff --git a/mern/client/build/static/js/main.aca97640.chunk.js b/mern/client/build/static/js/main.aca97640.chunk.js deleted file mode 100644 index 941cc0f..0000000 --- a/mern/client/build/static/js/main.aca97640.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(this.webpackJsonpclient=this.webpackJsonpclient||[]).push([[0],{19:function(e,t,n){"use strict";n.r(t);var r=n(1),c=n.n(r),a=n(11),i=n.n(a),s=n(2),o=(n(16),n(6)),l=n(0);function u(){return Object(l.jsx)("div",{children:Object(l.jsxs)("nav",{className:"navbar navbar-expand-lg navbar-light bg-light",children:[Object(l.jsx)(o.c,{className:"navbar-brand",to:"/",children:Object(l.jsx)("img",{style:{width:"25%"},src:"https://d3cy9zhslanhfa.cloudfront.net/media/3800C044-6298-4575-A05D5C6B7623EE37/4B45D0EC-3482-4759-82DA37D8EA07D229/webimage-8A27671A-8A53-45DC-89D7BF8537F15A0D.png"})}),Object(l.jsx)("button",{className:"navbar-toggler",type:"button","data-toggle":"collapse","data-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation",children:Object(l.jsx)("span",{className:"navbar-toggler-icon"})}),Object(l.jsx)("div",{className:"collapse navbar-collapse",id:"navbarSupportedContent",children:Object(l.jsx)("ul",{className:"navbar-nav ml-auto",children:Object(l.jsx)("li",{className:"nav-item",children:Object(l.jsx)(o.c,{className:"nav-link",to:"/create",children:"Create Record"})})})})]})})}var j=n(5),d=n.n(j),b=n(7),p=n(4),h=function(e){return Object(l.jsxs)("tr",{children:[Object(l.jsx)("td",{children:e.record.name}),Object(l.jsx)("td",{children:e.record.position}),Object(l.jsx)("td",{children:e.record.level}),Object(l.jsxs)("td",{children:[Object(l.jsx)(o.b,{className:"btn btn-link",to:"/edit/".concat(e.record._id),children:"Edit"})," |",Object(l.jsx)("button",{className:"btn btn-link",onClick:function(){e.deleteRecord(e.record._id)},children:"Delete"})]})]})};function m(){var e=Object(r.useState)([]),t=Object(p.a)(e,2),n=t[0],c=t[1];function a(){return(a=Object(b.a)(d.a.mark((function e(t){var r;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,alert('Please implement the "DELETE" route on mern/server/routes/record.js lines 74'),e.abrupt("return");case 5:r=n.filter((function(e){return e._id!==t})),c(r),e.next=12;break;case 9:e.prev=9,e.t0=e.catch(0),alert("Error : "+e.t0);case 12:case"end":return e.stop()}}),e,null,[[0,9]])})))).apply(this,arguments)}return Object(r.useEffect)((function(){function e(){return(e=Object(b.a)(d.a.mark((function e(){var t,n,r;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("".concat("","/record/"));case 2:if((t=e.sent).ok){e.next=7;break}return n="An error occured: ".concat(t.statusText),window.alert(n),e.abrupt("return");case 7:return e.next=9,t.json();case 9:r=e.sent,c(r);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[n.length]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Record List"}),Object(l.jsxs)("table",{className:"table table-striped",style:{marginTop:20},children:[Object(l.jsx)("thead",{children:Object(l.jsxs)("tr",{children:[Object(l.jsx)("th",{children:"Name"}),Object(l.jsx)("th",{children:"Position"}),Object(l.jsx)("th",{children:"Level"}),Object(l.jsx)("th",{children:"Action"})]})}),Object(l.jsx)("tbody",{children:n.map((function(e){return Object(l.jsx)(h,{record:e,deleteRecord:function(){return function(e){return a.apply(this,arguments)}(e._id)}},e._id)}))})]})]})}var O=n(8);function f(){var e=Object(r.useState)({name:"",position:"",level:"",records:[]}),t=Object(p.a)(e,2),n=t[0],c=t[1],a=Object(s.g)(),i=Object(s.f)();function o(e){return c((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function u(){return(u=Object(b.a)(d.a.mark((function e(t){var r;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),r={name:n.name,position:n.position,level:n.level},e.next=4,fetch("".concat("","/update/").concat(a.id),{method:"POST",body:JSON.stringify(r),headers:{"Content-Type":"application/json"}});case 4:i("/");case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}return Object(r.useEffect)((function(){function e(){return(e=Object(b.a)(d.a.mark((function e(){var t,n,r,s;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.id.toString(),e.next=3,fetch("".concat("","/record/").concat(a.id.toString()));case 3:if((n=e.sent).ok){e.next=8;break}return r="An error has occured: ".concat(n.statusText),window.alert(r),e.abrupt("return");case 8:return e.next=10,n.json();case 10:if(s=e.sent){e.next=15;break}return window.alert("Record with id ".concat(t," not found")),i("/"),e.abrupt("return");case 15:c(s);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[a.id,i]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Update Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return u.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return o({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return o({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("br",{}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Update Record",className:"btn btn-primary"})})]})]})}function x(){var e=Object(r.useState)({name:"",position:"",level:""}),t=Object(p.a)(e,2),n=t[0],c=t[1],a=Object(s.f)();function i(e){return c((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function o(){return(o=Object(b.a)(d.a.mark((function e(t){var r;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),r=Object(O.a)({},n),e.prev=2,e.next=5,fetch("".concat("","/record/add"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});case 5:e.next=11;break;case 7:return e.prev=7,e.t0=e.catch(2),window.alert("Error : "+e.t0),e.abrupt("return");case 11:c({name:"",position:"",level:""}),a("/");case 13:case"end":return e.stop()}}),e,null,[[2,7]])})))).apply(this,arguments)}return Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Create New Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return o.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return i({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return i({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Create person",className:"btn btn-primary"})})]})]})}var v=function(){return Object(l.jsxs)("div",{children:[Object(l.jsx)(u,{}),Object(l.jsx)("div",{style:{margin:20},children:Object(l.jsxs)(s.c,{children:[Object(l.jsx)(s.a,{exact:!0,path:"/",element:Object(l.jsx)(m,{})}),Object(l.jsx)(s.a,{path:"/edit/:id",element:Object(l.jsx)(f,{})}),Object(l.jsx)(s.a,{path:"/create",element:Object(l.jsx)(x,{})})]})})]})};i.a.render(Object(l.jsx)(c.a.StrictMode,{children:Object(l.jsx)(o.a,{children:Object(l.jsx)(v,{})})}),document.getElementById("root"))}},[[19,1,2]]]); -//# sourceMappingURL=main.aca97640.chunk.js.map \ No newline at end of file diff --git a/mern/client/build/static/js/main.aca97640.chunk.js.map b/mern/client/build/static/js/main.aca97640.chunk.js.map deleted file mode 100644 index e05c5ba..0000000 --- a/mern/client/build/static/js/main.aca97640.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["components/navbar.js","components/recordList.js","components/edit.js","components/create.js","App.js","index.js"],"names":["Navbar","_jsx","children","_jsxs","className","NavLink","to","style","src","type","data-toggle","data-target","aria-controls","aria-expanded","aria-label","id","Record","props","record","name","position","level","Link","concat","_id","onClick","deleteRecord","RecordList","_useState","useState","_useState2","_slicedToArray","records","setRecords","_deleteRecord","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","newRecords","wrap","_context2","prev","next","alert","abrupt","filter","el","t0","stop","apply","arguments","useEffect","_getRecords","_callee","response","message","_context","fetch","sent","ok","statusText","window","json","getRecords","length","marginTop","map","_x","Edit","form","setForm","params","useParams","navigate","useNavigate","updateForm","value","_objectSpread","_onSubmit","e","editedPerson","preventDefault","method","body","JSON","stringify","headers","_fetchData","toString","fetchData","onSubmit","htmlFor","onChange","target","checked","Create","newPerson","App","margin","Routes","Route","exact","path","element","ReactDOM","render","React","StrictMode","BrowserRouter","document","getElementById"],"mappings":"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","file":"static/js/main.aca97640.chunk.js","sourcesContent":["import React from \"react\";\n\n// We import bootstrap to make our application look better.\nimport \"bootstrap/dist/css/bootstrap.css\";\n\n// We import NavLink to utilize the react router.\nimport { NavLink } from \"react-router-dom\";\n\n// Here, we display our Navbar\nexport default function Navbar() {\n return (\n
\n \n
\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nconst Record = (props) => (\n \n {props.record.name}\n {props.record.position}\n {props.record.level}\n \n Edit |\n \n \n \n);\n\nexport default function RecordList() {\n const [records, setRecords] = useState([]);\n\n // This method fetches the records from the database.\n useEffect(() => {\n async function getRecords() {\n const response = await fetch(`${BASE_URL}/record/`);\n\n if (!response.ok) {\n const message = `An error occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const records = await response.json();\n setRecords(records);\n }\n\n getRecords();\n\n return; \n }, [records.length]);\n\n // This method will delete a record\n async function deleteRecord(id) {\n try {\n\n /*\n Please remove once implement mern/server/routes/record.js lines 74\n */\n alert('Please implement the \"DELETE\" route on mern/server/routes/record.js lines 74')\n return;\n await fetch(`${BASE_URL}/${id}`, {\n method: \"DELETE\"\n });\n\n const newRecords = records.filter((el) => el._id !== id);\n setRecords(newRecords);\n }\n catch(e)\n {\n alert(\"Error : \" + e)\n }\n }\n\n // This method will map out the records on the table\n function recordList() {\n return records.map((record) => {\n return (\n deleteRecord(record._id)}\n key={record._id}\n />\n );\n });\n }\n\n // This following section will display the table with the records of individuals.\n return (\n
\n

Record List

\n \n \n \n \n \n \n \n \n \n {recordList()}\n
NamePositionLevelAction
\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Edit() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n records: [],\n });\n const params = useParams();\n const navigate = useNavigate();\n\n useEffect(() => {\n async function fetchData() {\n const id = params.id.toString();\n const response = await fetch(`${BASE_URL}/record/${params.id.toString()}`);\n\n if (!response.ok) {\n const message = `An error has occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const record = await response.json();\n if (!record) {\n window.alert(`Record with id ${id} not found`);\n navigate(\"/\");\n return;\n }\n\n setForm(record);\n }\n\n fetchData();\n\n return;\n }, [params.id, navigate]);\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n async function onSubmit(e) {\n e.preventDefault();\n const editedPerson = {\n name: form.name,\n position: form.position,\n level: form.level,\n };\n\n // This will send a post request to update the data in the database.\n await fetch(`${BASE_URL}/update/${params.id}`, {\n method: \"POST\",\n body: JSON.stringify(editedPerson),\n headers: {\n 'Content-Type': 'application/json'\n },\n });\n\n navigate(\"/\");\n }\n\n // This following section will display the form that takes input from the user to update the data.\n return (\n
\n

Update Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n\n
\n \n
\n
\n
\n );\n}\n","import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Create() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n });\n const navigate = useNavigate();\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n\n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = { ...form };\n try {\n await fetch(`${BASE_URL}/record/add`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(newPerson),\n })\n }\n catch(e){\n window.alert(\"Error : \" + e);\n return;\n }\n\n setForm({ name: \"\", position: \"\", level: \"\" });\n navigate(\"/\");\n }\n\n // This following section will display the form that takes the input from the user.\n return (\n
\n

Create New Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n \n
\n
\n
\n );\n}\n","import React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { Route, Routes } from \"react-router-dom\";\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\n\nconst App = () => {\n return (\n
\n \n
\n \n } />\n } />\n } />\n \n
\n
\n );\n};\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport { BrowserRouter } from \"react-router-dom\";\n\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);"],"sourceRoot":""} \ No newline at end of file diff --git a/mern/client/src/components/recordList.js b/mern/client/src/components/recordList.js index f36b7b0..5d24f14 100644 --- a/mern/client/src/components/recordList.js +++ b/mern/client/src/components/recordList.js @@ -27,24 +27,24 @@ export default function RecordList() { // This method fetches the records from the database. useEffect(() => { - async function getRecords() { - const response = await fetch(`${BASE_URL}/record/`); - - if (!response.ok) { - const message = `An error occured: ${response.statusText}`; - window.alert(message); - return; - } - - const records = await response.json(); - setRecords(records); - } + getRecords(); return; }, [records.length]); + async function getRecords() { + const response = await fetch(`${BASE_URL}/record/`); + if (!response.ok) { + const message = `An error occured: ${response.statusText}`; + window.alert(message); + return; + } + + const records = await response.json(); + setRecords(records); + } // This method will delete a record async function deleteRecord(id) { try { @@ -52,14 +52,12 @@ export default function RecordList() { /* Please remove once implement mern/server/routes/record.js lines 74 */ - alert('Please implement the "DELETE" route on mern/server/routes/record.js lines 74') - return; + alert('Please implement the "DELETE" route on mern/server/routes/record.js lines 74, press "OK" when you done') await fetch(`${BASE_URL}/${id}`, { method: "DELETE" }); - const newRecords = records.filter((el) => el._id !== id); - setRecords(newRecords); + await getRecords(); } catch(e) { diff --git a/mern/server/public/asset-manifest.json b/mern/server/public/asset-manifest.json index 5da3ac7..13a968f 100644 --- a/mern/server/public/asset-manifest.json +++ b/mern/server/public/asset-manifest.json @@ -1,7 +1,7 @@ { "files": { - "main.js": "/static/js/main.aca97640.chunk.js", - "main.js.map": "/static/js/main.aca97640.chunk.js.map", + "main.js": "/static/js/main.83a5e43e.chunk.js", + "main.js.map": "/static/js/main.83a5e43e.chunk.js.map", "runtime-main.js": "/static/js/runtime-main.a06e69b5.js", "runtime-main.js.map": "/static/js/runtime-main.a06e69b5.js.map", "static/css/2.73420eac.chunk.css": "/static/css/2.73420eac.chunk.css", @@ -15,6 +15,6 @@ "static/js/runtime-main.a06e69b5.js", "static/css/2.73420eac.chunk.css", "static/js/2.6ef6d4dd.chunk.js", - "static/js/main.aca97640.chunk.js" + "static/js/main.83a5e43e.chunk.js" ] } \ No newline at end of file diff --git a/mern/server/public/index.html b/mern/server/public/index.html index 5ab3967..a4dd51a 100644 --- a/mern/server/public/index.html +++ b/mern/server/public/index.html @@ -1 +1 @@ -React App
\ No newline at end of file +React App
\ No newline at end of file diff --git a/mern/server/public/static/js/main.83a5e43e.chunk.js b/mern/server/public/static/js/main.83a5e43e.chunk.js new file mode 100644 index 0000000..ae7c141 --- /dev/null +++ b/mern/server/public/static/js/main.83a5e43e.chunk.js @@ -0,0 +1,2 @@ +(this.webpackJsonpclient=this.webpackJsonpclient||[]).push([[0],{19:function(e,t,n){"use strict";n.r(t);var c=n(1),r=n.n(c),a=n(11),i=n.n(a),s=n(2),o=(n(16),n(6)),l=n(0);function u(){return Object(l.jsx)("div",{children:Object(l.jsxs)("nav",{className:"navbar navbar-expand-lg navbar-light bg-light",children:[Object(l.jsx)(o.c,{className:"navbar-brand",to:"/",children:Object(l.jsx)("img",{style:{width:"25%"},src:"https://d3cy9zhslanhfa.cloudfront.net/media/3800C044-6298-4575-A05D5C6B7623EE37/4B45D0EC-3482-4759-82DA37D8EA07D229/webimage-8A27671A-8A53-45DC-89D7BF8537F15A0D.png"})}),Object(l.jsx)("button",{className:"navbar-toggler",type:"button","data-toggle":"collapse","data-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation",children:Object(l.jsx)("span",{className:"navbar-toggler-icon"})}),Object(l.jsx)("div",{className:"collapse navbar-collapse",id:"navbarSupportedContent",children:Object(l.jsx)("ul",{className:"navbar-nav ml-auto",children:Object(l.jsx)("li",{className:"nav-item",children:Object(l.jsx)(o.c,{className:"nav-link",to:"/create",children:"Create Record"})})})})]})})}var j=n(5),d=n.n(j),b=n(7),h=n(4),p=function(e){return Object(l.jsxs)("tr",{children:[Object(l.jsx)("td",{children:e.record.name}),Object(l.jsx)("td",{children:e.record.position}),Object(l.jsx)("td",{children:e.record.level}),Object(l.jsxs)("td",{children:[Object(l.jsx)(o.b,{className:"btn btn-link",to:"/edit/".concat(e.record._id),children:"Edit"})," |",Object(l.jsx)("button",{className:"btn btn-link",onClick:function(){e.deleteRecord(e.record._id)},children:"Delete"})]})]})};function m(){var e=Object(c.useState)([]),t=Object(h.a)(e,2),n=t[0],r=t[1];function a(){return i.apply(this,arguments)}function i(){return(i=Object(b.a)(d.a.mark((function e(){var t,n,c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("".concat("","/record/"));case 2:if((t=e.sent).ok){e.next=7;break}return n="An error occured: ".concat(t.statusText),window.alert(n),e.abrupt("return");case 7:return e.next=9,t.json();case 9:c=e.sent,r(c);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function s(){return(s=Object(b.a)(d.a.mark((function e(t){return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,alert('Please implement the "DELETE" route on mern/server/routes/record.js lines 74, press "OK" when you done'),e.next=4,fetch("".concat("","/").concat(t),{method:"DELETE"});case 4:return e.next=6,a();case 6:e.next=11;break;case 8:e.prev=8,e.t0=e.catch(0),alert("Error : "+e.t0);case 11:case"end":return e.stop()}}),e,null,[[0,8]])})))).apply(this,arguments)}return Object(c.useEffect)((function(){a()}),[n.length]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Record List"}),Object(l.jsxs)("table",{className:"table table-striped",style:{marginTop:20},children:[Object(l.jsx)("thead",{children:Object(l.jsxs)("tr",{children:[Object(l.jsx)("th",{children:"Name"}),Object(l.jsx)("th",{children:"Position"}),Object(l.jsx)("th",{children:"Level"}),Object(l.jsx)("th",{children:"Action"})]})}),Object(l.jsx)("tbody",{children:n.map((function(e){return Object(l.jsx)(p,{record:e,deleteRecord:function(){return function(e){return s.apply(this,arguments)}(e._id)}},e._id)}))})]})]})}var O=n(8);function f(){var e=Object(c.useState)({name:"",position:"",level:"",records:[]}),t=Object(h.a)(e,2),n=t[0],r=t[1],a=Object(s.g)(),i=Object(s.f)();function o(e){return r((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function u(){return(u=Object(b.a)(d.a.mark((function e(t){var c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c={name:n.name,position:n.position,level:n.level},e.next=4,fetch("".concat("","/update/").concat(a.id),{method:"POST",body:JSON.stringify(c),headers:{"Content-Type":"application/json"}});case 4:i("/");case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}return Object(c.useEffect)((function(){function e(){return(e=Object(b.a)(d.a.mark((function e(){var t,n,c,s;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.id.toString(),e.next=3,fetch("".concat("","/record/").concat(a.id.toString()));case 3:if((n=e.sent).ok){e.next=8;break}return c="An error has occured: ".concat(n.statusText),window.alert(c),e.abrupt("return");case 8:return e.next=10,n.json();case 10:if(s=e.sent){e.next=15;break}return window.alert("Record with id ".concat(t," not found")),i("/"),e.abrupt("return");case 15:r(s);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[a.id,i]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Update Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return u.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return o({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return o({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("br",{}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Update Record",className:"btn btn-primary"})})]})]})}function x(){var e=Object(c.useState)({name:"",position:"",level:""}),t=Object(h.a)(e,2),n=t[0],r=t[1],a=Object(s.f)();function i(e){return r((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function o(){return(o=Object(b.a)(d.a.mark((function e(t){var c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c=Object(O.a)({},n),e.prev=2,e.next=5,fetch("".concat("","/record/add"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});case 5:e.next=11;break;case 7:return e.prev=7,e.t0=e.catch(2),window.alert("Error : "+e.t0),e.abrupt("return");case 11:r({name:"",position:"",level:""}),a("/");case 13:case"end":return e.stop()}}),e,null,[[2,7]])})))).apply(this,arguments)}return Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Create New Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return o.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return i({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return i({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Create person",className:"btn btn-primary"})})]})]})}var v=function(){return Object(l.jsxs)("div",{children:[Object(l.jsx)(u,{}),Object(l.jsx)("div",{style:{margin:20},children:Object(l.jsxs)(s.c,{children:[Object(l.jsx)(s.a,{exact:!0,path:"/",element:Object(l.jsx)(m,{})}),Object(l.jsx)(s.a,{path:"/edit/:id",element:Object(l.jsx)(f,{})}),Object(l.jsx)(s.a,{path:"/create",element:Object(l.jsx)(x,{})})]})})]})};i.a.render(Object(l.jsx)(r.a.StrictMode,{children:Object(l.jsx)(o.a,{children:Object(l.jsx)(v,{})})}),document.getElementById("root"))}},[[19,1,2]]]); +//# sourceMappingURL=main.83a5e43e.chunk.js.map \ No newline at end of file diff --git a/mern/server/public/static/js/main.83a5e43e.chunk.js.map b/mern/server/public/static/js/main.83a5e43e.chunk.js.map new file mode 100644 index 0000000..2c4a00d --- /dev/null +++ b/mern/server/public/static/js/main.83a5e43e.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["components/navbar.js","components/recordList.js","components/edit.js","components/create.js","App.js","index.js"],"names":["Navbar","_jsx","children","_jsxs","className","NavLink","to","style","src","type","data-toggle","data-target","aria-controls","aria-expanded","aria-label","id","Record","props","record","name","position","level","Link","concat","_id","onClick","deleteRecord","RecordList","_useState","useState","_useState2","_slicedToArray","records","setRecords","getRecords","_getRecords","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","response","message","wrap","_context","prev","next","fetch","sent","ok","statusText","window","alert","abrupt","json","stop","_deleteRecord","_callee2","_context2","method","t0","useEffect","length","marginTop","map","_x","Edit","form","setForm","params","useParams","navigate","useNavigate","updateForm","value","_objectSpread","_onSubmit","e","editedPerson","preventDefault","body","JSON","stringify","headers","_fetchData","toString","fetchData","onSubmit","htmlFor","onChange","target","checked","Create","newPerson","App","margin","Routes","Route","exact","path","element","ReactDOM","render","React","StrictMode","BrowserRouter","document","getElementById"],"mappings":"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","file":"static/js/main.83a5e43e.chunk.js","sourcesContent":["import React from \"react\";\n\n// We import bootstrap to make our application look better.\nimport \"bootstrap/dist/css/bootstrap.css\";\n\n// We import NavLink to utilize the react router.\nimport { NavLink } from \"react-router-dom\";\n\n// Here, we display our Navbar\nexport default function Navbar() {\n return (\n
\n \n
\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nconst Record = (props) => (\n \n {props.record.name}\n {props.record.position}\n {props.record.level}\n \n Edit |\n \n \n \n);\n\nexport default function RecordList() {\n const [records, setRecords] = useState([]);\n\n // This method fetches the records from the database.\n useEffect(() => {\n \n\n getRecords();\n\n return; \n }, [records.length]);\n async function getRecords() {\n const response = await fetch(`${BASE_URL}/record/`);\n\n if (!response.ok) {\n const message = `An error occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const records = await response.json();\n setRecords(records);\n }\n // This method will delete a record\n async function deleteRecord(id) {\n try {\n\n /*\n Please remove once implement mern/server/routes/record.js lines 74\n */\n alert('Please implement the \"DELETE\" route on mern/server/routes/record.js lines 74, press \"OK\" when you done')\n await fetch(`${BASE_URL}/${id}`, {\n method: \"DELETE\"\n });\n\n await getRecords();\n }\n catch(e)\n {\n alert(\"Error : \" + e)\n }\n }\n\n // This method will map out the records on the table\n function recordList() {\n return records.map((record) => {\n return (\n deleteRecord(record._id)}\n key={record._id}\n />\n );\n });\n }\n\n // This following section will display the table with the records of individuals.\n return (\n
\n

Record List

\n \n \n \n \n \n \n \n \n \n {recordList()}\n
NamePositionLevelAction
\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Edit() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n records: [],\n });\n const params = useParams();\n const navigate = useNavigate();\n\n useEffect(() => {\n async function fetchData() {\n const id = params.id.toString();\n const response = await fetch(`${BASE_URL}/record/${params.id.toString()}`);\n\n if (!response.ok) {\n const message = `An error has occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const record = await response.json();\n if (!record) {\n window.alert(`Record with id ${id} not found`);\n navigate(\"/\");\n return;\n }\n\n setForm(record);\n }\n\n fetchData();\n\n return;\n }, [params.id, navigate]);\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n async function onSubmit(e) {\n e.preventDefault();\n const editedPerson = {\n name: form.name,\n position: form.position,\n level: form.level,\n };\n\n // This will send a post request to update the data in the database.\n await fetch(`${BASE_URL}/update/${params.id}`, {\n method: \"POST\",\n body: JSON.stringify(editedPerson),\n headers: {\n 'Content-Type': 'application/json'\n },\n });\n\n navigate(\"/\");\n }\n\n // This following section will display the form that takes input from the user to update the data.\n return (\n
\n

Update Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n\n
\n \n
\n
\n
\n );\n}\n","import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Create() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n });\n const navigate = useNavigate();\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n\n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = { ...form };\n try {\n await fetch(`${BASE_URL}/record/add`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(newPerson),\n })\n }\n catch(e){\n window.alert(\"Error : \" + e);\n return;\n }\n\n setForm({ name: \"\", position: \"\", level: \"\" });\n navigate(\"/\");\n }\n\n // This following section will display the form that takes the input from the user.\n return (\n
\n

Create New Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n \n
\n
\n
\n );\n}\n","import React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { Route, Routes } from \"react-router-dom\";\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\n\nconst App = () => {\n return (\n
\n \n
\n \n } />\n } />\n } />\n \n
\n
\n );\n};\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport { BrowserRouter } from \"react-router-dom\";\n\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);"],"sourceRoot":""} \ No newline at end of file diff --git a/mern/server/public/static/js/main.aca97640.chunk.js b/mern/server/public/static/js/main.aca97640.chunk.js deleted file mode 100644 index 941cc0f..0000000 --- a/mern/server/public/static/js/main.aca97640.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(this.webpackJsonpclient=this.webpackJsonpclient||[]).push([[0],{19:function(e,t,n){"use strict";n.r(t);var r=n(1),c=n.n(r),a=n(11),i=n.n(a),s=n(2),o=(n(16),n(6)),l=n(0);function u(){return Object(l.jsx)("div",{children:Object(l.jsxs)("nav",{className:"navbar navbar-expand-lg navbar-light bg-light",children:[Object(l.jsx)(o.c,{className:"navbar-brand",to:"/",children:Object(l.jsx)("img",{style:{width:"25%"},src:"https://d3cy9zhslanhfa.cloudfront.net/media/3800C044-6298-4575-A05D5C6B7623EE37/4B45D0EC-3482-4759-82DA37D8EA07D229/webimage-8A27671A-8A53-45DC-89D7BF8537F15A0D.png"})}),Object(l.jsx)("button",{className:"navbar-toggler",type:"button","data-toggle":"collapse","data-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation",children:Object(l.jsx)("span",{className:"navbar-toggler-icon"})}),Object(l.jsx)("div",{className:"collapse navbar-collapse",id:"navbarSupportedContent",children:Object(l.jsx)("ul",{className:"navbar-nav ml-auto",children:Object(l.jsx)("li",{className:"nav-item",children:Object(l.jsx)(o.c,{className:"nav-link",to:"/create",children:"Create Record"})})})})]})})}var j=n(5),d=n.n(j),b=n(7),p=n(4),h=function(e){return Object(l.jsxs)("tr",{children:[Object(l.jsx)("td",{children:e.record.name}),Object(l.jsx)("td",{children:e.record.position}),Object(l.jsx)("td",{children:e.record.level}),Object(l.jsxs)("td",{children:[Object(l.jsx)(o.b,{className:"btn btn-link",to:"/edit/".concat(e.record._id),children:"Edit"})," |",Object(l.jsx)("button",{className:"btn btn-link",onClick:function(){e.deleteRecord(e.record._id)},children:"Delete"})]})]})};function m(){var e=Object(r.useState)([]),t=Object(p.a)(e,2),n=t[0],c=t[1];function a(){return(a=Object(b.a)(d.a.mark((function e(t){var r;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,alert('Please implement the "DELETE" route on mern/server/routes/record.js lines 74'),e.abrupt("return");case 5:r=n.filter((function(e){return e._id!==t})),c(r),e.next=12;break;case 9:e.prev=9,e.t0=e.catch(0),alert("Error : "+e.t0);case 12:case"end":return e.stop()}}),e,null,[[0,9]])})))).apply(this,arguments)}return Object(r.useEffect)((function(){function e(){return(e=Object(b.a)(d.a.mark((function e(){var t,n,r;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("".concat("","/record/"));case 2:if((t=e.sent).ok){e.next=7;break}return n="An error occured: ".concat(t.statusText),window.alert(n),e.abrupt("return");case 7:return e.next=9,t.json();case 9:r=e.sent,c(r);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[n.length]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Record List"}),Object(l.jsxs)("table",{className:"table table-striped",style:{marginTop:20},children:[Object(l.jsx)("thead",{children:Object(l.jsxs)("tr",{children:[Object(l.jsx)("th",{children:"Name"}),Object(l.jsx)("th",{children:"Position"}),Object(l.jsx)("th",{children:"Level"}),Object(l.jsx)("th",{children:"Action"})]})}),Object(l.jsx)("tbody",{children:n.map((function(e){return Object(l.jsx)(h,{record:e,deleteRecord:function(){return function(e){return a.apply(this,arguments)}(e._id)}},e._id)}))})]})]})}var O=n(8);function f(){var e=Object(r.useState)({name:"",position:"",level:"",records:[]}),t=Object(p.a)(e,2),n=t[0],c=t[1],a=Object(s.g)(),i=Object(s.f)();function o(e){return c((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function u(){return(u=Object(b.a)(d.a.mark((function e(t){var r;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),r={name:n.name,position:n.position,level:n.level},e.next=4,fetch("".concat("","/update/").concat(a.id),{method:"POST",body:JSON.stringify(r),headers:{"Content-Type":"application/json"}});case 4:i("/");case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}return Object(r.useEffect)((function(){function e(){return(e=Object(b.a)(d.a.mark((function e(){var t,n,r,s;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.id.toString(),e.next=3,fetch("".concat("","/record/").concat(a.id.toString()));case 3:if((n=e.sent).ok){e.next=8;break}return r="An error has occured: ".concat(n.statusText),window.alert(r),e.abrupt("return");case 8:return e.next=10,n.json();case 10:if(s=e.sent){e.next=15;break}return window.alert("Record with id ".concat(t," not found")),i("/"),e.abrupt("return");case 15:c(s);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[a.id,i]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Update Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return u.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return o({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return o({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("br",{}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Update Record",className:"btn btn-primary"})})]})]})}function x(){var e=Object(r.useState)({name:"",position:"",level:""}),t=Object(p.a)(e,2),n=t[0],c=t[1],a=Object(s.f)();function i(e){return c((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function o(){return(o=Object(b.a)(d.a.mark((function e(t){var r;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),r=Object(O.a)({},n),e.prev=2,e.next=5,fetch("".concat("","/record/add"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});case 5:e.next=11;break;case 7:return e.prev=7,e.t0=e.catch(2),window.alert("Error : "+e.t0),e.abrupt("return");case 11:c({name:"",position:"",level:""}),a("/");case 13:case"end":return e.stop()}}),e,null,[[2,7]])})))).apply(this,arguments)}return Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Create New Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return o.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return i({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return i({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Create person",className:"btn btn-primary"})})]})]})}var v=function(){return Object(l.jsxs)("div",{children:[Object(l.jsx)(u,{}),Object(l.jsx)("div",{style:{margin:20},children:Object(l.jsxs)(s.c,{children:[Object(l.jsx)(s.a,{exact:!0,path:"/",element:Object(l.jsx)(m,{})}),Object(l.jsx)(s.a,{path:"/edit/:id",element:Object(l.jsx)(f,{})}),Object(l.jsx)(s.a,{path:"/create",element:Object(l.jsx)(x,{})})]})})]})};i.a.render(Object(l.jsx)(c.a.StrictMode,{children:Object(l.jsx)(o.a,{children:Object(l.jsx)(v,{})})}),document.getElementById("root"))}},[[19,1,2]]]); -//# sourceMappingURL=main.aca97640.chunk.js.map \ No newline at end of file diff --git a/mern/server/public/static/js/main.aca97640.chunk.js.map b/mern/server/public/static/js/main.aca97640.chunk.js.map deleted file mode 100644 index e05c5ba..0000000 --- a/mern/server/public/static/js/main.aca97640.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["components/navbar.js","components/recordList.js","components/edit.js","components/create.js","App.js","index.js"],"names":["Navbar","_jsx","children","_jsxs","className","NavLink","to","style","src","type","data-toggle","data-target","aria-controls","aria-expanded","aria-label","id","Record","props","record","name","position","level","Link","concat","_id","onClick","deleteRecord","RecordList","_useState","useState","_useState2","_slicedToArray","records","setRecords","_deleteRecord","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","newRecords","wrap","_context2","prev","next","alert","abrupt","filter","el","t0","stop","apply","arguments","useEffect","_getRecords","_callee","response","message","_context","fetch","sent","ok","statusText","window","json","getRecords","length","marginTop","map","_x","Edit","form","setForm","params","useParams","navigate","useNavigate","updateForm","value","_objectSpread","_onSubmit","e","editedPerson","preventDefault","method","body","JSON","stringify","headers","_fetchData","toString","fetchData","onSubmit","htmlFor","onChange","target","checked","Create","newPerson","App","margin","Routes","Route","exact","path","element","ReactDOM","render","React","StrictMode","BrowserRouter","document","getElementById"],"mappings":"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","file":"static/js/main.aca97640.chunk.js","sourcesContent":["import React from \"react\";\n\n// We import bootstrap to make our application look better.\nimport \"bootstrap/dist/css/bootstrap.css\";\n\n// We import NavLink to utilize the react router.\nimport { NavLink } from \"react-router-dom\";\n\n// Here, we display our Navbar\nexport default function Navbar() {\n return (\n
\n \n
\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nconst Record = (props) => (\n \n {props.record.name}\n {props.record.position}\n {props.record.level}\n \n Edit |\n \n \n \n);\n\nexport default function RecordList() {\n const [records, setRecords] = useState([]);\n\n // This method fetches the records from the database.\n useEffect(() => {\n async function getRecords() {\n const response = await fetch(`${BASE_URL}/record/`);\n\n if (!response.ok) {\n const message = `An error occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const records = await response.json();\n setRecords(records);\n }\n\n getRecords();\n\n return; \n }, [records.length]);\n\n // This method will delete a record\n async function deleteRecord(id) {\n try {\n\n /*\n Please remove once implement mern/server/routes/record.js lines 74\n */\n alert('Please implement the \"DELETE\" route on mern/server/routes/record.js lines 74')\n return;\n await fetch(`${BASE_URL}/${id}`, {\n method: \"DELETE\"\n });\n\n const newRecords = records.filter((el) => el._id !== id);\n setRecords(newRecords);\n }\n catch(e)\n {\n alert(\"Error : \" + e)\n }\n }\n\n // This method will map out the records on the table\n function recordList() {\n return records.map((record) => {\n return (\n deleteRecord(record._id)}\n key={record._id}\n />\n );\n });\n }\n\n // This following section will display the table with the records of individuals.\n return (\n
\n

Record List

\n \n \n \n \n \n \n \n \n \n {recordList()}\n
NamePositionLevelAction
\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Edit() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n records: [],\n });\n const params = useParams();\n const navigate = useNavigate();\n\n useEffect(() => {\n async function fetchData() {\n const id = params.id.toString();\n const response = await fetch(`${BASE_URL}/record/${params.id.toString()}`);\n\n if (!response.ok) {\n const message = `An error has occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const record = await response.json();\n if (!record) {\n window.alert(`Record with id ${id} not found`);\n navigate(\"/\");\n return;\n }\n\n setForm(record);\n }\n\n fetchData();\n\n return;\n }, [params.id, navigate]);\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n async function onSubmit(e) {\n e.preventDefault();\n const editedPerson = {\n name: form.name,\n position: form.position,\n level: form.level,\n };\n\n // This will send a post request to update the data in the database.\n await fetch(`${BASE_URL}/update/${params.id}`, {\n method: \"POST\",\n body: JSON.stringify(editedPerson),\n headers: {\n 'Content-Type': 'application/json'\n },\n });\n\n navigate(\"/\");\n }\n\n // This following section will display the form that takes input from the user to update the data.\n return (\n
\n

Update Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n\n
\n \n
\n
\n
\n );\n}\n","import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Create() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n });\n const navigate = useNavigate();\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n\n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = { ...form };\n try {\n await fetch(`${BASE_URL}/record/add`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(newPerson),\n })\n }\n catch(e){\n window.alert(\"Error : \" + e);\n return;\n }\n\n setForm({ name: \"\", position: \"\", level: \"\" });\n navigate(\"/\");\n }\n\n // This following section will display the form that takes the input from the user.\n return (\n
\n

Create New Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n \n
\n
\n
\n );\n}\n","import React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { Route, Routes } from \"react-router-dom\";\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\n\nconst App = () => {\n return (\n
\n \n
\n \n } />\n } />\n } />\n \n
\n
\n );\n};\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport { BrowserRouter } from \"react-router-dom\";\n\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);"],"sourceRoot":""} \ No newline at end of file From 71eb0360e699a27efedef109541194009c2861b1 Mon Sep 17 00:00:00 2001 From: Pash10g Date: Wed, 1 Mar 2023 10:26:24 +0000 Subject: [PATCH 07/10] Adding Demo and HTML correct data. --- mern/client/build/favicon.ico | Bin 3870 -> 822 bytes mern/client/build/index.html | 2 +- mern/client/public/favicon.ico | Bin 3870 -> 822 bytes mern/client/public/index.html | 4 ++-- mern/server/public/favicon.ico | Bin 3870 -> 822 bytes mern/server/public/index.html | 2 +- mern/server/routes/record.js | 12 ++++++------ 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/mern/client/build/favicon.ico b/mern/client/build/favicon.ico index a11777cc471a4344702741ab1c8a588998b1311a..9a8b98e4d9f09e81cf4f894871fb5b94aa38eae3 100644 GIT binary patch delta 812 zcmV+{1JnGT9<~OPZU`BF1^@s6s%dfF00009a7bBm000XU000XU0RWnu7ytkO0drDE zLIAGL9O(c600d`2O+f$vv5yP(sMiWoeR11 z+c4=|nz_Go?m08JnFel5|3k){Lgv&0kU6ygWKJyrnUhvP^DMB`LQ2vJxOf_PISt&O z0OqeE73l;lTq`nwJlZ~Pokt4N2w=n?^hKT7u+%R8I^!>ZkzSlS{CT2!;45HflI`K= z?_C0(Ou-Xh0W5ldVciddOJnvjyzmpSaDDXT1B*B9V@u*AfRkaRx58rh{1!a$5x~@s zh4o-|5^D4U<|fBaXLbv5Yt#$i+8-BAe*OxSXa$sset=y;m<3t^WuhMtXMs+@%tUpq zj1NpAbOPootl+H+MOP4@6JU+n)*sur8BG>w1l)~?R_BL*ZQO~<0L8^}83?+8MgT9? zO82LIZ1W7NMkAnk&OWyL%RcsYgjgdY0o6yU_}=QD5H$j6s>|N{zr-8xz!D*&k~$w=moGAyy^`;7w+r^WeKz6 zaR+LAo(5OelQd_7SiX%@4yTbg&k%cn-^dnu_t;58&h}p?|XBxc@WW@GP&x z3*QY9E`x{f_b0r$+Xll95-0!k6Fl+X5egER5ii=s4<6h`f8BGRJZU6*V}u)=Z|@Yx zyk98OE=!PZPmmc9mV#;n#lZ2{6iv8?m{ve&iwU>J6ARe=SuEQO*n1lMjZ`%1_Xabk q7J$qnsRbZ&vKQe0lFnd~wc`J|)yMnb{=#;%nil|2-o+rCuEF-(I%-F}ijC~o(k~HKAkr0)!FCj~d>`RtpD?8b; zXOC1OD!V*IsqUwzbMF1)-gEDD=A573Z-&G7^LoAC9|WO7Xc0Cx1g^Zu0u_SjAPB
3vGa^W|sj)80f#V0@M_CAZTIO(t--xg= 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 baj7?x%VD!5Cxk2YbYLNVeiXvvpMCWYo=by@ diff --git a/mern/client/build/index.html b/mern/client/build/index.html index a4dd51a..8cf7e3f 100644 --- a/mern/client/build/index.html +++ b/mern/client/build/index.html @@ -1 +1 @@ -React App
\ No newline at end of file +MongoDB Demo
\ No newline at end of file diff --git a/mern/client/public/favicon.ico b/mern/client/public/favicon.ico index a11777cc471a4344702741ab1c8a588998b1311a..9a8b98e4d9f09e81cf4f894871fb5b94aa38eae3 100644 GIT binary patch delta 812 zcmV+{1JnGT9<~OPZU`BF1^@s6s%dfF00009a7bBm000XU000XU0RWnu7ytkO0drDE zLIAGL9O(c600d`2O+f$vv5yP(sMiWoeR11 z+c4=|nz_Go?m08JnFel5|3k){Lgv&0kU6ygWKJyrnUhvP^DMB`LQ2vJxOf_PISt&O z0OqeE73l;lTq`nwJlZ~Pokt4N2w=n?^hKT7u+%R8I^!>ZkzSlS{CT2!;45HflI`K= z?_C0(Ou-Xh0W5ldVciddOJnvjyzmpSaDDXT1B*B9V@u*AfRkaRx58rh{1!a$5x~@s zh4o-|5^D4U<|fBaXLbv5Yt#$i+8-BAe*OxSXa$sset=y;m<3t^WuhMtXMs+@%tUpq zj1NpAbOPootl+H+MOP4@6JU+n)*sur8BG>w1l)~?R_BL*ZQO~<0L8^}83?+8MgT9? zO82LIZ1W7NMkAnk&OWyL%RcsYgjgdY0o6yU_}=QD5H$j6s>|N{zr-8xz!D*&k~$w=moGAyy^`;7w+r^WeKz6 zaR+LAo(5OelQd_7SiX%@4yTbg&k%cn-^dnu_t;58&h}p?|XBxc@WW@GP&x z3*QY9E`x{f_b0r$+Xll95-0!k6Fl+X5egER5ii=s4<6h`f8BGRJZU6*V}u)=Z|@Yx zyk98OE=!PZPmmc9mV#;n#lZ2{6iv8?m{ve&iwU>J6ARe=SuEQO*n1lMjZ`%1_Xabk q7J$qnsRbZ&vKQe0lFnd~wc`J|)yMnb{=#;%nil|2-o+rCuEF-(I%-F}ijC~o(k~HKAkr0)!FCj~d>`RtpD?8b; zXOC1OD!V*IsqUwzbMF1)-gEDD=A573Z-&G7^LoAC9|WO7Xc0Cx1g^Zu0u_SjAPB
3vGa^W|sj)80f#V0@M_CAZTIO(t--xg= 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 baj7?x%VD!5Cxk2YbYLNVeiXvvpMCWYo=by@ diff --git a/mern/client/public/index.html b/mern/client/public/index.html index 0dbfa6e..63e8aad 100644 --- a/mern/client/public/index.html +++ b/mern/client/public/index.html @@ -7,11 +7,11 @@ - React App + MongoDB Demo diff --git a/mern/server/public/favicon.ico b/mern/server/public/favicon.ico index a11777cc471a4344702741ab1c8a588998b1311a..9a8b98e4d9f09e81cf4f894871fb5b94aa38eae3 100644 GIT binary patch delta 812 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 baj7?x%VD!5Cxk2YbYLNVeiXvvpMCWYo=by@ diff --git a/mern/server/public/index.html b/mern/server/public/index.html index a4dd51a..8cf7e3f 100644 --- a/mern/server/public/index.html +++ b/mern/server/public/index.html @@ -1 +1 @@ -React App
\ No newline at end of file +MongoDB Demo
\ No newline at end of file diff --git a/mern/server/routes/record.js b/mern/server/routes/record.js index 848a5ab..472b5b3 100644 --- a/mern/server/routes/record.js +++ b/mern/server/routes/record.js @@ -73,12 +73,12 @@ recordRoutes.route("/update/:id").post(function (req, response) { // This section will help you delete a record recordRoutes.route("/:id").delete((req, response) => { let db_connect = dbo.getDb(); - // let myquery = { _id: ObjectId( req.params.id )}; - // db_connect.collection("records").deleteOne(myquery, function (err, obj) { - // if (err) throw err; - // console.log("1 document deleted"); - // response.json(obj); - // }); + let myquery = { _id: ObjectId( req.params.id )}; + db_connect.collection("records").deleteOne(myquery, function (err, obj) { + if (err) throw err; + console.log("1 document deleted"); + response.json(obj); + }); }); module.exports = recordRoutes; From 64ecdc7f5c5431c3ec3160b7c51cc85939979348 Mon Sep 17 00:00:00 2001 From: Pash10g Date: Wed, 1 Mar 2023 13:11:38 +0000 Subject: [PATCH 08/10] Delete function --- mern/client/build/asset-manifest.json | 6 +++--- mern/client/build/index.html | 2 +- .../client/build/static/js/main.48aafeb4.chunk.js | 2 ++ .../build/static/js/main.48aafeb4.chunk.js.map | 1 + .../client/build/static/js/main.83a5e43e.chunk.js | 2 -- .../build/static/js/main.83a5e43e.chunk.js.map | 1 - mern/client/src/components/recordList.js | 15 ++++++++------- mern/server/public/asset-manifest.json | 6 +++--- mern/server/public/index.html | 2 +- .../public/static/js/main.48aafeb4.chunk.js | 2 ++ .../public/static/js/main.48aafeb4.chunk.js.map | 1 + .../public/static/js/main.83a5e43e.chunk.js | 2 -- .../public/static/js/main.83a5e43e.chunk.js.map | 1 - mern/server/routes/record.js | 12 ++++++------ 14 files changed, 28 insertions(+), 27 deletions(-) create mode 100644 mern/client/build/static/js/main.48aafeb4.chunk.js create mode 100644 mern/client/build/static/js/main.48aafeb4.chunk.js.map delete mode 100644 mern/client/build/static/js/main.83a5e43e.chunk.js delete mode 100644 mern/client/build/static/js/main.83a5e43e.chunk.js.map create mode 100644 mern/server/public/static/js/main.48aafeb4.chunk.js create mode 100644 mern/server/public/static/js/main.48aafeb4.chunk.js.map delete mode 100644 mern/server/public/static/js/main.83a5e43e.chunk.js delete mode 100644 mern/server/public/static/js/main.83a5e43e.chunk.js.map diff --git a/mern/client/build/asset-manifest.json b/mern/client/build/asset-manifest.json index 13a968f..f1dec85 100644 --- a/mern/client/build/asset-manifest.json +++ b/mern/client/build/asset-manifest.json @@ -1,7 +1,7 @@ { "files": { - "main.js": "/static/js/main.83a5e43e.chunk.js", - "main.js.map": "/static/js/main.83a5e43e.chunk.js.map", + "main.js": "/static/js/main.48aafeb4.chunk.js", + "main.js.map": "/static/js/main.48aafeb4.chunk.js.map", "runtime-main.js": "/static/js/runtime-main.a06e69b5.js", "runtime-main.js.map": "/static/js/runtime-main.a06e69b5.js.map", "static/css/2.73420eac.chunk.css": "/static/css/2.73420eac.chunk.css", @@ -15,6 +15,6 @@ "static/js/runtime-main.a06e69b5.js", "static/css/2.73420eac.chunk.css", "static/js/2.6ef6d4dd.chunk.js", - "static/js/main.83a5e43e.chunk.js" + "static/js/main.48aafeb4.chunk.js" ] } \ No newline at end of file diff --git a/mern/client/build/index.html b/mern/client/build/index.html index 8cf7e3f..e5c7151 100644 --- a/mern/client/build/index.html +++ b/mern/client/build/index.html @@ -1 +1 @@ -MongoDB Demo
\ No newline at end of file +MongoDB Demo
\ No newline at end of file diff --git a/mern/client/build/static/js/main.48aafeb4.chunk.js b/mern/client/build/static/js/main.48aafeb4.chunk.js new file mode 100644 index 0000000..312529d --- /dev/null +++ b/mern/client/build/static/js/main.48aafeb4.chunk.js @@ -0,0 +1,2 @@ +(this.webpackJsonpclient=this.webpackJsonpclient||[]).push([[0],{19:function(e,t,n){"use strict";n.r(t);var c=n(1),r=n.n(c),a=n(11),i=n.n(a),s=n(2),o=(n(16),n(6)),l=n(0);function u(){return Object(l.jsx)("div",{children:Object(l.jsxs)("nav",{className:"navbar navbar-expand-lg navbar-light bg-light",children:[Object(l.jsx)(o.c,{className:"navbar-brand",to:"/",children:Object(l.jsx)("img",{style:{width:"25%"},src:"https://d3cy9zhslanhfa.cloudfront.net/media/3800C044-6298-4575-A05D5C6B7623EE37/4B45D0EC-3482-4759-82DA37D8EA07D229/webimage-8A27671A-8A53-45DC-89D7BF8537F15A0D.png"})}),Object(l.jsx)("button",{className:"navbar-toggler",type:"button","data-toggle":"collapse","data-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation",children:Object(l.jsx)("span",{className:"navbar-toggler-icon"})}),Object(l.jsx)("div",{className:"collapse navbar-collapse",id:"navbarSupportedContent",children:Object(l.jsx)("ul",{className:"navbar-nav ml-auto",children:Object(l.jsx)("li",{className:"nav-item",children:Object(l.jsx)(o.c,{className:"nav-link",to:"/create",children:"Create Record"})})})})]})})}var j=n(5),d=n.n(j),b=n(7),h=n(4),p=function(e){return Object(l.jsxs)("tr",{children:[Object(l.jsx)("td",{children:e.record.name}),Object(l.jsx)("td",{children:e.record.position}),Object(l.jsx)("td",{children:e.record.level}),Object(l.jsxs)("td",{children:[Object(l.jsx)(o.b,{className:"btn btn-link",to:"/edit/".concat(e.record._id),children:"Edit"})," |",Object(l.jsx)("button",{className:"btn btn-link",onClick:function(){e.deleteRecord(e.record._id)},children:"Delete"})]})]})};function m(){var e=Object(c.useState)([]),t=Object(h.a)(e,2),n=t[0],r=t[1];function a(){return i.apply(this,arguments)}function i(){return(i=Object(b.a)(d.a.mark((function e(){var t,n,c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("".concat("","/record/"));case 2:if((t=e.sent).ok){e.next=7;break}return n="An error occured: ".concat(t.statusText),window.alert(n),e.abrupt("return");case 7:return e.next=9,t.json();case 9:c=e.sent,r(c);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function s(){return(s=Object(b.a)(d.a.mark((function e(t){return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,fetch("".concat("","/").concat(t),{method:"DELETE"});case 3:if(404!==e.sent.status){e.next=8;break}alert('Please implement the mongodb delete method. Please visit "mern/server/routes/record.js" on line 74. This is where the delete endpoint should reside'),e.next=10;break;case 8:return e.next=10,a();case 10:e.next=15;break;case 12:e.prev=12,e.t0=e.catch(0),alert("Error : "+e.t0);case 15:case"end":return e.stop()}}),e,null,[[0,12]])})))).apply(this,arguments)}return Object(c.useEffect)((function(){a()}),[n.length]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Record List"}),Object(l.jsxs)("table",{className:"table table-striped",style:{marginTop:20},children:[Object(l.jsx)("thead",{children:Object(l.jsxs)("tr",{children:[Object(l.jsx)("th",{children:"Name"}),Object(l.jsx)("th",{children:"Position"}),Object(l.jsx)("th",{children:"Level"}),Object(l.jsx)("th",{children:"Action"})]})}),Object(l.jsx)("tbody",{children:n.map((function(e){return Object(l.jsx)(p,{record:e,deleteRecord:function(){return function(e){return s.apply(this,arguments)}(e._id)}},e._id)}))})]})]})}var O=n(8);function x(){var e=Object(c.useState)({name:"",position:"",level:"",records:[]}),t=Object(h.a)(e,2),n=t[0],r=t[1],a=Object(s.g)(),i=Object(s.f)();function o(e){return r((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function u(){return(u=Object(b.a)(d.a.mark((function e(t){var c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c={name:n.name,position:n.position,level:n.level},e.next=4,fetch("".concat("","/update/").concat(a.id),{method:"POST",body:JSON.stringify(c),headers:{"Content-Type":"application/json"}});case 4:i("/");case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}return Object(c.useEffect)((function(){function e(){return(e=Object(b.a)(d.a.mark((function e(){var t,n,c,s;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.id.toString(),e.next=3,fetch("".concat("","/record/").concat(a.id.toString()));case 3:if((n=e.sent).ok){e.next=8;break}return c="An error has occured: ".concat(n.statusText),window.alert(c),e.abrupt("return");case 8:return e.next=10,n.json();case 10:if(s=e.sent){e.next=15;break}return window.alert("Record with id ".concat(t," not found")),i("/"),e.abrupt("return");case 15:r(s);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[a.id,i]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Update Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return u.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return o({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return o({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("br",{}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Update Record",className:"btn btn-primary"})})]})]})}function f(){var e=Object(c.useState)({name:"",position:"",level:""}),t=Object(h.a)(e,2),n=t[0],r=t[1],a=Object(s.f)();function i(e){return r((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function o(){return(o=Object(b.a)(d.a.mark((function e(t){var c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c=Object(O.a)({},n),e.prev=2,e.next=5,fetch("".concat("","/record/add"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});case 5:e.next=11;break;case 7:return e.prev=7,e.t0=e.catch(2),window.alert("Error : "+e.t0),e.abrupt("return");case 11:r({name:"",position:"",level:""}),a("/");case 13:case"end":return e.stop()}}),e,null,[[2,7]])})))).apply(this,arguments)}return Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Create New Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return o.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return i({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return i({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Create person",className:"btn btn-primary"})})]})]})}var v=function(){return Object(l.jsxs)("div",{children:[Object(l.jsx)(u,{}),Object(l.jsx)("div",{style:{margin:20},children:Object(l.jsxs)(s.c,{children:[Object(l.jsx)(s.a,{exact:!0,path:"/",element:Object(l.jsx)(m,{})}),Object(l.jsx)(s.a,{path:"/edit/:id",element:Object(l.jsx)(x,{})}),Object(l.jsx)(s.a,{path:"/create",element:Object(l.jsx)(f,{})})]})})]})};i.a.render(Object(l.jsx)(r.a.StrictMode,{children:Object(l.jsx)(o.a,{children:Object(l.jsx)(v,{})})}),document.getElementById("root"))}},[[19,1,2]]]); +//# sourceMappingURL=main.48aafeb4.chunk.js.map \ No newline at end of file diff --git a/mern/client/build/static/js/main.48aafeb4.chunk.js.map b/mern/client/build/static/js/main.48aafeb4.chunk.js.map new file mode 100644 index 0000000..4f9f51d --- /dev/null +++ b/mern/client/build/static/js/main.48aafeb4.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["components/navbar.js","components/recordList.js","components/edit.js","components/create.js","App.js","index.js"],"names":["Navbar","_jsx","children","_jsxs","className","NavLink","to","style","src","type","data-toggle","data-target","aria-controls","aria-expanded","aria-label","id","Record","props","record","name","position","level","Link","concat","_id","onClick","deleteRecord","RecordList","_useState","useState","_useState2","_slicedToArray","records","setRecords","getRecords","_getRecords","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","response","message","wrap","_context","prev","next","fetch","sent","ok","statusText","window","alert","abrupt","json","stop","_deleteRecord","_callee2","_context2","method","status","t0","useEffect","length","marginTop","map","_x","Edit","form","setForm","params","useParams","navigate","useNavigate","updateForm","value","_objectSpread","_onSubmit","e","editedPerson","preventDefault","body","JSON","stringify","headers","_fetchData","toString","fetchData","onSubmit","htmlFor","onChange","target","checked","Create","newPerson","App","margin","Routes","Route","exact","path","element","ReactDOM","render","React","StrictMode","BrowserRouter","document","getElementById"],"mappings":"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","file":"static/js/main.48aafeb4.chunk.js","sourcesContent":["import React from \"react\";\n\n// We import bootstrap to make our application look better.\nimport \"bootstrap/dist/css/bootstrap.css\";\n\n// We import NavLink to utilize the react router.\nimport { NavLink } from \"react-router-dom\";\n\n// Here, we display our Navbar\nexport default function Navbar() {\n return (\n
\n \n
\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nconst Record = (props) => (\n \n {props.record.name}\n {props.record.position}\n {props.record.level}\n \n Edit |\n \n \n \n);\n\nexport default function RecordList() {\n const [records, setRecords] = useState([]);\n\n // This method fetches the records from the database.\n useEffect(() => {\n \n\n getRecords();\n\n return; \n }, [records.length]);\n async function getRecords() {\n const response = await fetch(`${BASE_URL}/record/`);\n\n if (!response.ok) {\n const message = `An error occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const records = await response.json();\n setRecords(records);\n }\n // This method will delete a record\n async function deleteRecord(id) {\n try {\n /*\n Please remove once implement mern/server/routes/record.js lines 74\n */\n const response = await fetch(`${BASE_URL}/${id}`, {\n method: \"DELETE\"\n });\n \n if (response.status === 404) {\n alert('Please implement the mongodb delete method. Please visit \"mern/server/routes/record.js\" on line 74. This is where the delete endpoint should reside');\n } else {\n await getRecords();\n }\n }\n catch(e) {\n alert(\"Error : \" + e)\n }\n }\n\n // This method will map out the records on the table\n function recordList() {\n return records.map((record) => {\n return (\n deleteRecord(record._id)}\n key={record._id}\n />\n );\n });\n }\n\n // This following section will display the table with the records of individuals.\n return (\n
\n

Record List

\n \n \n \n \n \n \n \n \n \n {recordList()}\n
NamePositionLevelAction
\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Edit() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n records: [],\n });\n const params = useParams();\n const navigate = useNavigate();\n\n useEffect(() => {\n async function fetchData() {\n const id = params.id.toString();\n const response = await fetch(`${BASE_URL}/record/${params.id.toString()}`);\n\n if (!response.ok) {\n const message = `An error has occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const record = await response.json();\n if (!record) {\n window.alert(`Record with id ${id} not found`);\n navigate(\"/\");\n return;\n }\n\n setForm(record);\n }\n\n fetchData();\n\n return;\n }, [params.id, navigate]);\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n async function onSubmit(e) {\n e.preventDefault();\n const editedPerson = {\n name: form.name,\n position: form.position,\n level: form.level,\n };\n\n // This will send a post request to update the data in the database.\n await fetch(`${BASE_URL}/update/${params.id}`, {\n method: \"POST\",\n body: JSON.stringify(editedPerson),\n headers: {\n 'Content-Type': 'application/json'\n },\n });\n\n navigate(\"/\");\n }\n\n // This following section will display the form that takes input from the user to update the data.\n return (\n
\n

Update Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n\n
\n \n
\n
\n
\n );\n}\n","import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Create() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n });\n const navigate = useNavigate();\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n\n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = { ...form };\n try {\n await fetch(`${BASE_URL}/record/add`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(newPerson),\n })\n }\n catch(e){\n window.alert(\"Error : \" + e);\n return;\n }\n\n setForm({ name: \"\", position: \"\", level: \"\" });\n navigate(\"/\");\n }\n\n // This following section will display the form that takes the input from the user.\n return (\n
\n

Create New Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n \n
\n
\n
\n );\n}\n","import React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { Route, Routes } from \"react-router-dom\";\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\n\nconst App = () => {\n return (\n
\n \n
\n \n } />\n } />\n } />\n \n
\n
\n );\n};\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport { BrowserRouter } from \"react-router-dom\";\n\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);"],"sourceRoot":""} \ No newline at end of file diff --git a/mern/client/build/static/js/main.83a5e43e.chunk.js b/mern/client/build/static/js/main.83a5e43e.chunk.js deleted file mode 100644 index ae7c141..0000000 --- a/mern/client/build/static/js/main.83a5e43e.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(this.webpackJsonpclient=this.webpackJsonpclient||[]).push([[0],{19:function(e,t,n){"use strict";n.r(t);var c=n(1),r=n.n(c),a=n(11),i=n.n(a),s=n(2),o=(n(16),n(6)),l=n(0);function u(){return Object(l.jsx)("div",{children:Object(l.jsxs)("nav",{className:"navbar navbar-expand-lg navbar-light bg-light",children:[Object(l.jsx)(o.c,{className:"navbar-brand",to:"/",children:Object(l.jsx)("img",{style:{width:"25%"},src:"https://d3cy9zhslanhfa.cloudfront.net/media/3800C044-6298-4575-A05D5C6B7623EE37/4B45D0EC-3482-4759-82DA37D8EA07D229/webimage-8A27671A-8A53-45DC-89D7BF8537F15A0D.png"})}),Object(l.jsx)("button",{className:"navbar-toggler",type:"button","data-toggle":"collapse","data-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation",children:Object(l.jsx)("span",{className:"navbar-toggler-icon"})}),Object(l.jsx)("div",{className:"collapse navbar-collapse",id:"navbarSupportedContent",children:Object(l.jsx)("ul",{className:"navbar-nav ml-auto",children:Object(l.jsx)("li",{className:"nav-item",children:Object(l.jsx)(o.c,{className:"nav-link",to:"/create",children:"Create Record"})})})})]})})}var j=n(5),d=n.n(j),b=n(7),h=n(4),p=function(e){return Object(l.jsxs)("tr",{children:[Object(l.jsx)("td",{children:e.record.name}),Object(l.jsx)("td",{children:e.record.position}),Object(l.jsx)("td",{children:e.record.level}),Object(l.jsxs)("td",{children:[Object(l.jsx)(o.b,{className:"btn btn-link",to:"/edit/".concat(e.record._id),children:"Edit"})," |",Object(l.jsx)("button",{className:"btn btn-link",onClick:function(){e.deleteRecord(e.record._id)},children:"Delete"})]})]})};function m(){var e=Object(c.useState)([]),t=Object(h.a)(e,2),n=t[0],r=t[1];function a(){return i.apply(this,arguments)}function i(){return(i=Object(b.a)(d.a.mark((function e(){var t,n,c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("".concat("","/record/"));case 2:if((t=e.sent).ok){e.next=7;break}return n="An error occured: ".concat(t.statusText),window.alert(n),e.abrupt("return");case 7:return e.next=9,t.json();case 9:c=e.sent,r(c);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function s(){return(s=Object(b.a)(d.a.mark((function e(t){return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,alert('Please implement the "DELETE" route on mern/server/routes/record.js lines 74, press "OK" when you done'),e.next=4,fetch("".concat("","/").concat(t),{method:"DELETE"});case 4:return e.next=6,a();case 6:e.next=11;break;case 8:e.prev=8,e.t0=e.catch(0),alert("Error : "+e.t0);case 11:case"end":return e.stop()}}),e,null,[[0,8]])})))).apply(this,arguments)}return Object(c.useEffect)((function(){a()}),[n.length]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Record List"}),Object(l.jsxs)("table",{className:"table table-striped",style:{marginTop:20},children:[Object(l.jsx)("thead",{children:Object(l.jsxs)("tr",{children:[Object(l.jsx)("th",{children:"Name"}),Object(l.jsx)("th",{children:"Position"}),Object(l.jsx)("th",{children:"Level"}),Object(l.jsx)("th",{children:"Action"})]})}),Object(l.jsx)("tbody",{children:n.map((function(e){return Object(l.jsx)(p,{record:e,deleteRecord:function(){return function(e){return s.apply(this,arguments)}(e._id)}},e._id)}))})]})]})}var O=n(8);function f(){var e=Object(c.useState)({name:"",position:"",level:"",records:[]}),t=Object(h.a)(e,2),n=t[0],r=t[1],a=Object(s.g)(),i=Object(s.f)();function o(e){return r((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function u(){return(u=Object(b.a)(d.a.mark((function e(t){var c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c={name:n.name,position:n.position,level:n.level},e.next=4,fetch("".concat("","/update/").concat(a.id),{method:"POST",body:JSON.stringify(c),headers:{"Content-Type":"application/json"}});case 4:i("/");case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}return Object(c.useEffect)((function(){function e(){return(e=Object(b.a)(d.a.mark((function e(){var t,n,c,s;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.id.toString(),e.next=3,fetch("".concat("","/record/").concat(a.id.toString()));case 3:if((n=e.sent).ok){e.next=8;break}return c="An error has occured: ".concat(n.statusText),window.alert(c),e.abrupt("return");case 8:return e.next=10,n.json();case 10:if(s=e.sent){e.next=15;break}return window.alert("Record with id ".concat(t," not found")),i("/"),e.abrupt("return");case 15:r(s);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[a.id,i]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Update Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return u.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return o({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return o({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("br",{}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Update Record",className:"btn btn-primary"})})]})]})}function x(){var e=Object(c.useState)({name:"",position:"",level:""}),t=Object(h.a)(e,2),n=t[0],r=t[1],a=Object(s.f)();function i(e){return r((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function o(){return(o=Object(b.a)(d.a.mark((function e(t){var c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c=Object(O.a)({},n),e.prev=2,e.next=5,fetch("".concat("","/record/add"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});case 5:e.next=11;break;case 7:return e.prev=7,e.t0=e.catch(2),window.alert("Error : "+e.t0),e.abrupt("return");case 11:r({name:"",position:"",level:""}),a("/");case 13:case"end":return e.stop()}}),e,null,[[2,7]])})))).apply(this,arguments)}return Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Create New Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return o.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return i({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return i({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Create person",className:"btn btn-primary"})})]})]})}var v=function(){return Object(l.jsxs)("div",{children:[Object(l.jsx)(u,{}),Object(l.jsx)("div",{style:{margin:20},children:Object(l.jsxs)(s.c,{children:[Object(l.jsx)(s.a,{exact:!0,path:"/",element:Object(l.jsx)(m,{})}),Object(l.jsx)(s.a,{path:"/edit/:id",element:Object(l.jsx)(f,{})}),Object(l.jsx)(s.a,{path:"/create",element:Object(l.jsx)(x,{})})]})})]})};i.a.render(Object(l.jsx)(r.a.StrictMode,{children:Object(l.jsx)(o.a,{children:Object(l.jsx)(v,{})})}),document.getElementById("root"))}},[[19,1,2]]]); -//# sourceMappingURL=main.83a5e43e.chunk.js.map \ No newline at end of file diff --git a/mern/client/build/static/js/main.83a5e43e.chunk.js.map b/mern/client/build/static/js/main.83a5e43e.chunk.js.map deleted file mode 100644 index 2c4a00d..0000000 --- a/mern/client/build/static/js/main.83a5e43e.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["components/navbar.js","components/recordList.js","components/edit.js","components/create.js","App.js","index.js"],"names":["Navbar","_jsx","children","_jsxs","className","NavLink","to","style","src","type","data-toggle","data-target","aria-controls","aria-expanded","aria-label","id","Record","props","record","name","position","level","Link","concat","_id","onClick","deleteRecord","RecordList","_useState","useState","_useState2","_slicedToArray","records","setRecords","getRecords","_getRecords","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","response","message","wrap","_context","prev","next","fetch","sent","ok","statusText","window","alert","abrupt","json","stop","_deleteRecord","_callee2","_context2","method","t0","useEffect","length","marginTop","map","_x","Edit","form","setForm","params","useParams","navigate","useNavigate","updateForm","value","_objectSpread","_onSubmit","e","editedPerson","preventDefault","body","JSON","stringify","headers","_fetchData","toString","fetchData","onSubmit","htmlFor","onChange","target","checked","Create","newPerson","App","margin","Routes","Route","exact","path","element","ReactDOM","render","React","StrictMode","BrowserRouter","document","getElementById"],"mappings":"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","file":"static/js/main.83a5e43e.chunk.js","sourcesContent":["import React from \"react\";\n\n// We import bootstrap to make our application look better.\nimport \"bootstrap/dist/css/bootstrap.css\";\n\n// We import NavLink to utilize the react router.\nimport { NavLink } from \"react-router-dom\";\n\n// Here, we display our Navbar\nexport default function Navbar() {\n return (\n
\n \n
\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nconst Record = (props) => (\n \n {props.record.name}\n {props.record.position}\n {props.record.level}\n \n Edit |\n \n \n \n);\n\nexport default function RecordList() {\n const [records, setRecords] = useState([]);\n\n // This method fetches the records from the database.\n useEffect(() => {\n \n\n getRecords();\n\n return; \n }, [records.length]);\n async function getRecords() {\n const response = await fetch(`${BASE_URL}/record/`);\n\n if (!response.ok) {\n const message = `An error occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const records = await response.json();\n setRecords(records);\n }\n // This method will delete a record\n async function deleteRecord(id) {\n try {\n\n /*\n Please remove once implement mern/server/routes/record.js lines 74\n */\n alert('Please implement the \"DELETE\" route on mern/server/routes/record.js lines 74, press \"OK\" when you done')\n await fetch(`${BASE_URL}/${id}`, {\n method: \"DELETE\"\n });\n\n await getRecords();\n }\n catch(e)\n {\n alert(\"Error : \" + e)\n }\n }\n\n // This method will map out the records on the table\n function recordList() {\n return records.map((record) => {\n return (\n deleteRecord(record._id)}\n key={record._id}\n />\n );\n });\n }\n\n // This following section will display the table with the records of individuals.\n return (\n
\n

Record List

\n \n \n \n \n \n \n \n \n \n {recordList()}\n
NamePositionLevelAction
\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Edit() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n records: [],\n });\n const params = useParams();\n const navigate = useNavigate();\n\n useEffect(() => {\n async function fetchData() {\n const id = params.id.toString();\n const response = await fetch(`${BASE_URL}/record/${params.id.toString()}`);\n\n if (!response.ok) {\n const message = `An error has occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const record = await response.json();\n if (!record) {\n window.alert(`Record with id ${id} not found`);\n navigate(\"/\");\n return;\n }\n\n setForm(record);\n }\n\n fetchData();\n\n return;\n }, [params.id, navigate]);\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n async function onSubmit(e) {\n e.preventDefault();\n const editedPerson = {\n name: form.name,\n position: form.position,\n level: form.level,\n };\n\n // This will send a post request to update the data in the database.\n await fetch(`${BASE_URL}/update/${params.id}`, {\n method: \"POST\",\n body: JSON.stringify(editedPerson),\n headers: {\n 'Content-Type': 'application/json'\n },\n });\n\n navigate(\"/\");\n }\n\n // This following section will display the form that takes input from the user to update the data.\n return (\n
\n

Update Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n\n
\n \n
\n
\n
\n );\n}\n","import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Create() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n });\n const navigate = useNavigate();\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n\n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = { ...form };\n try {\n await fetch(`${BASE_URL}/record/add`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(newPerson),\n })\n }\n catch(e){\n window.alert(\"Error : \" + e);\n return;\n }\n\n setForm({ name: \"\", position: \"\", level: \"\" });\n navigate(\"/\");\n }\n\n // This following section will display the form that takes the input from the user.\n return (\n
\n

Create New Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n \n
\n
\n
\n );\n}\n","import React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { Route, Routes } from \"react-router-dom\";\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\n\nconst App = () => {\n return (\n
\n \n
\n \n } />\n } />\n } />\n \n
\n
\n );\n};\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport { BrowserRouter } from \"react-router-dom\";\n\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);"],"sourceRoot":""} \ No newline at end of file diff --git a/mern/client/src/components/recordList.js b/mern/client/src/components/recordList.js index 5d24f14..4e47b6c 100644 --- a/mern/client/src/components/recordList.js +++ b/mern/client/src/components/recordList.js @@ -48,19 +48,20 @@ export default function RecordList() { // This method will delete a record async function deleteRecord(id) { try { - /* Please remove once implement mern/server/routes/record.js lines 74 */ - alert('Please implement the "DELETE" route on mern/server/routes/record.js lines 74, press "OK" when you done') - await fetch(`${BASE_URL}/${id}`, { + const response = await fetch(`${BASE_URL}/${id}`, { method: "DELETE" }); - - await getRecords(); + + if (response.status === 404) { + alert('Please implement the mongodb delete method. Please visit "mern/server/routes/record.js" on line 74. This is where the delete endpoint should reside'); + } else { + await getRecords(); + } } - catch(e) - { + catch(e) { alert("Error : " + e) } } diff --git a/mern/server/public/asset-manifest.json b/mern/server/public/asset-manifest.json index 13a968f..f1dec85 100644 --- a/mern/server/public/asset-manifest.json +++ b/mern/server/public/asset-manifest.json @@ -1,7 +1,7 @@ { "files": { - "main.js": "/static/js/main.83a5e43e.chunk.js", - "main.js.map": "/static/js/main.83a5e43e.chunk.js.map", + "main.js": "/static/js/main.48aafeb4.chunk.js", + "main.js.map": "/static/js/main.48aafeb4.chunk.js.map", "runtime-main.js": "/static/js/runtime-main.a06e69b5.js", "runtime-main.js.map": "/static/js/runtime-main.a06e69b5.js.map", "static/css/2.73420eac.chunk.css": "/static/css/2.73420eac.chunk.css", @@ -15,6 +15,6 @@ "static/js/runtime-main.a06e69b5.js", "static/css/2.73420eac.chunk.css", "static/js/2.6ef6d4dd.chunk.js", - "static/js/main.83a5e43e.chunk.js" + "static/js/main.48aafeb4.chunk.js" ] } \ No newline at end of file diff --git a/mern/server/public/index.html b/mern/server/public/index.html index 8cf7e3f..e5c7151 100644 --- a/mern/server/public/index.html +++ b/mern/server/public/index.html @@ -1 +1 @@ -MongoDB Demo
\ No newline at end of file +MongoDB Demo
\ No newline at end of file diff --git a/mern/server/public/static/js/main.48aafeb4.chunk.js b/mern/server/public/static/js/main.48aafeb4.chunk.js new file mode 100644 index 0000000..312529d --- /dev/null +++ b/mern/server/public/static/js/main.48aafeb4.chunk.js @@ -0,0 +1,2 @@ +(this.webpackJsonpclient=this.webpackJsonpclient||[]).push([[0],{19:function(e,t,n){"use strict";n.r(t);var c=n(1),r=n.n(c),a=n(11),i=n.n(a),s=n(2),o=(n(16),n(6)),l=n(0);function u(){return Object(l.jsx)("div",{children:Object(l.jsxs)("nav",{className:"navbar navbar-expand-lg navbar-light bg-light",children:[Object(l.jsx)(o.c,{className:"navbar-brand",to:"/",children:Object(l.jsx)("img",{style:{width:"25%"},src:"https://d3cy9zhslanhfa.cloudfront.net/media/3800C044-6298-4575-A05D5C6B7623EE37/4B45D0EC-3482-4759-82DA37D8EA07D229/webimage-8A27671A-8A53-45DC-89D7BF8537F15A0D.png"})}),Object(l.jsx)("button",{className:"navbar-toggler",type:"button","data-toggle":"collapse","data-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation",children:Object(l.jsx)("span",{className:"navbar-toggler-icon"})}),Object(l.jsx)("div",{className:"collapse navbar-collapse",id:"navbarSupportedContent",children:Object(l.jsx)("ul",{className:"navbar-nav ml-auto",children:Object(l.jsx)("li",{className:"nav-item",children:Object(l.jsx)(o.c,{className:"nav-link",to:"/create",children:"Create Record"})})})})]})})}var j=n(5),d=n.n(j),b=n(7),h=n(4),p=function(e){return Object(l.jsxs)("tr",{children:[Object(l.jsx)("td",{children:e.record.name}),Object(l.jsx)("td",{children:e.record.position}),Object(l.jsx)("td",{children:e.record.level}),Object(l.jsxs)("td",{children:[Object(l.jsx)(o.b,{className:"btn btn-link",to:"/edit/".concat(e.record._id),children:"Edit"})," |",Object(l.jsx)("button",{className:"btn btn-link",onClick:function(){e.deleteRecord(e.record._id)},children:"Delete"})]})]})};function m(){var e=Object(c.useState)([]),t=Object(h.a)(e,2),n=t[0],r=t[1];function a(){return i.apply(this,arguments)}function i(){return(i=Object(b.a)(d.a.mark((function e(){var t,n,c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("".concat("","/record/"));case 2:if((t=e.sent).ok){e.next=7;break}return n="An error occured: ".concat(t.statusText),window.alert(n),e.abrupt("return");case 7:return e.next=9,t.json();case 9:c=e.sent,r(c);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function s(){return(s=Object(b.a)(d.a.mark((function e(t){return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,fetch("".concat("","/").concat(t),{method:"DELETE"});case 3:if(404!==e.sent.status){e.next=8;break}alert('Please implement the mongodb delete method. Please visit "mern/server/routes/record.js" on line 74. This is where the delete endpoint should reside'),e.next=10;break;case 8:return e.next=10,a();case 10:e.next=15;break;case 12:e.prev=12,e.t0=e.catch(0),alert("Error : "+e.t0);case 15:case"end":return e.stop()}}),e,null,[[0,12]])})))).apply(this,arguments)}return Object(c.useEffect)((function(){a()}),[n.length]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Record List"}),Object(l.jsxs)("table",{className:"table table-striped",style:{marginTop:20},children:[Object(l.jsx)("thead",{children:Object(l.jsxs)("tr",{children:[Object(l.jsx)("th",{children:"Name"}),Object(l.jsx)("th",{children:"Position"}),Object(l.jsx)("th",{children:"Level"}),Object(l.jsx)("th",{children:"Action"})]})}),Object(l.jsx)("tbody",{children:n.map((function(e){return Object(l.jsx)(p,{record:e,deleteRecord:function(){return function(e){return s.apply(this,arguments)}(e._id)}},e._id)}))})]})]})}var O=n(8);function x(){var e=Object(c.useState)({name:"",position:"",level:"",records:[]}),t=Object(h.a)(e,2),n=t[0],r=t[1],a=Object(s.g)(),i=Object(s.f)();function o(e){return r((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function u(){return(u=Object(b.a)(d.a.mark((function e(t){var c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c={name:n.name,position:n.position,level:n.level},e.next=4,fetch("".concat("","/update/").concat(a.id),{method:"POST",body:JSON.stringify(c),headers:{"Content-Type":"application/json"}});case 4:i("/");case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}return Object(c.useEffect)((function(){function e(){return(e=Object(b.a)(d.a.mark((function e(){var t,n,c,s;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.id.toString(),e.next=3,fetch("".concat("","/record/").concat(a.id.toString()));case 3:if((n=e.sent).ok){e.next=8;break}return c="An error has occured: ".concat(n.statusText),window.alert(c),e.abrupt("return");case 8:return e.next=10,n.json();case 10:if(s=e.sent){e.next=15;break}return window.alert("Record with id ".concat(t," not found")),i("/"),e.abrupt("return");case 15:r(s);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[a.id,i]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Update Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return u.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return o({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return o({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("br",{}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Update Record",className:"btn btn-primary"})})]})]})}function f(){var e=Object(c.useState)({name:"",position:"",level:""}),t=Object(h.a)(e,2),n=t[0],r=t[1],a=Object(s.f)();function i(e){return r((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function o(){return(o=Object(b.a)(d.a.mark((function e(t){var c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c=Object(O.a)({},n),e.prev=2,e.next=5,fetch("".concat("","/record/add"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});case 5:e.next=11;break;case 7:return e.prev=7,e.t0=e.catch(2),window.alert("Error : "+e.t0),e.abrupt("return");case 11:r({name:"",position:"",level:""}),a("/");case 13:case"end":return e.stop()}}),e,null,[[2,7]])})))).apply(this,arguments)}return Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Create New Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return o.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return i({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return i({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Create person",className:"btn btn-primary"})})]})]})}var v=function(){return Object(l.jsxs)("div",{children:[Object(l.jsx)(u,{}),Object(l.jsx)("div",{style:{margin:20},children:Object(l.jsxs)(s.c,{children:[Object(l.jsx)(s.a,{exact:!0,path:"/",element:Object(l.jsx)(m,{})}),Object(l.jsx)(s.a,{path:"/edit/:id",element:Object(l.jsx)(x,{})}),Object(l.jsx)(s.a,{path:"/create",element:Object(l.jsx)(f,{})})]})})]})};i.a.render(Object(l.jsx)(r.a.StrictMode,{children:Object(l.jsx)(o.a,{children:Object(l.jsx)(v,{})})}),document.getElementById("root"))}},[[19,1,2]]]); +//# sourceMappingURL=main.48aafeb4.chunk.js.map \ No newline at end of file diff --git a/mern/server/public/static/js/main.48aafeb4.chunk.js.map b/mern/server/public/static/js/main.48aafeb4.chunk.js.map new file mode 100644 index 0000000..4f9f51d --- /dev/null +++ b/mern/server/public/static/js/main.48aafeb4.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["components/navbar.js","components/recordList.js","components/edit.js","components/create.js","App.js","index.js"],"names":["Navbar","_jsx","children","_jsxs","className","NavLink","to","style","src","type","data-toggle","data-target","aria-controls","aria-expanded","aria-label","id","Record","props","record","name","position","level","Link","concat","_id","onClick","deleteRecord","RecordList","_useState","useState","_useState2","_slicedToArray","records","setRecords","getRecords","_getRecords","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","response","message","wrap","_context","prev","next","fetch","sent","ok","statusText","window","alert","abrupt","json","stop","_deleteRecord","_callee2","_context2","method","status","t0","useEffect","length","marginTop","map","_x","Edit","form","setForm","params","useParams","navigate","useNavigate","updateForm","value","_objectSpread","_onSubmit","e","editedPerson","preventDefault","body","JSON","stringify","headers","_fetchData","toString","fetchData","onSubmit","htmlFor","onChange","target","checked","Create","newPerson","App","margin","Routes","Route","exact","path","element","ReactDOM","render","React","StrictMode","BrowserRouter","document","getElementById"],"mappings":"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","file":"static/js/main.48aafeb4.chunk.js","sourcesContent":["import React from \"react\";\n\n// We import bootstrap to make our application look better.\nimport \"bootstrap/dist/css/bootstrap.css\";\n\n// We import NavLink to utilize the react router.\nimport { NavLink } from \"react-router-dom\";\n\n// Here, we display our Navbar\nexport default function Navbar() {\n return (\n
\n \n
\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nconst Record = (props) => (\n \n {props.record.name}\n {props.record.position}\n {props.record.level}\n \n Edit |\n \n \n \n);\n\nexport default function RecordList() {\n const [records, setRecords] = useState([]);\n\n // This method fetches the records from the database.\n useEffect(() => {\n \n\n getRecords();\n\n return; \n }, [records.length]);\n async function getRecords() {\n const response = await fetch(`${BASE_URL}/record/`);\n\n if (!response.ok) {\n const message = `An error occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const records = await response.json();\n setRecords(records);\n }\n // This method will delete a record\n async function deleteRecord(id) {\n try {\n /*\n Please remove once implement mern/server/routes/record.js lines 74\n */\n const response = await fetch(`${BASE_URL}/${id}`, {\n method: \"DELETE\"\n });\n \n if (response.status === 404) {\n alert('Please implement the mongodb delete method. Please visit \"mern/server/routes/record.js\" on line 74. This is where the delete endpoint should reside');\n } else {\n await getRecords();\n }\n }\n catch(e) {\n alert(\"Error : \" + e)\n }\n }\n\n // This method will map out the records on the table\n function recordList() {\n return records.map((record) => {\n return (\n deleteRecord(record._id)}\n key={record._id}\n />\n );\n });\n }\n\n // This following section will display the table with the records of individuals.\n return (\n
\n

Record List

\n \n \n \n \n \n \n \n \n \n {recordList()}\n
NamePositionLevelAction
\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Edit() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n records: [],\n });\n const params = useParams();\n const navigate = useNavigate();\n\n useEffect(() => {\n async function fetchData() {\n const id = params.id.toString();\n const response = await fetch(`${BASE_URL}/record/${params.id.toString()}`);\n\n if (!response.ok) {\n const message = `An error has occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const record = await response.json();\n if (!record) {\n window.alert(`Record with id ${id} not found`);\n navigate(\"/\");\n return;\n }\n\n setForm(record);\n }\n\n fetchData();\n\n return;\n }, [params.id, navigate]);\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n async function onSubmit(e) {\n e.preventDefault();\n const editedPerson = {\n name: form.name,\n position: form.position,\n level: form.level,\n };\n\n // This will send a post request to update the data in the database.\n await fetch(`${BASE_URL}/update/${params.id}`, {\n method: \"POST\",\n body: JSON.stringify(editedPerson),\n headers: {\n 'Content-Type': 'application/json'\n },\n });\n\n navigate(\"/\");\n }\n\n // This following section will display the form that takes input from the user to update the data.\n return (\n
\n

Update Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n\n
\n \n
\n
\n
\n );\n}\n","import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Create() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n });\n const navigate = useNavigate();\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n\n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = { ...form };\n try {\n await fetch(`${BASE_URL}/record/add`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(newPerson),\n })\n }\n catch(e){\n window.alert(\"Error : \" + e);\n return;\n }\n\n setForm({ name: \"\", position: \"\", level: \"\" });\n navigate(\"/\");\n }\n\n // This following section will display the form that takes the input from the user.\n return (\n
\n

Create New Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n \n
\n
\n
\n );\n}\n","import React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { Route, Routes } from \"react-router-dom\";\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\n\nconst App = () => {\n return (\n
\n \n
\n \n } />\n } />\n } />\n \n
\n
\n );\n};\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport { BrowserRouter } from \"react-router-dom\";\n\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);"],"sourceRoot":""} \ No newline at end of file diff --git a/mern/server/public/static/js/main.83a5e43e.chunk.js b/mern/server/public/static/js/main.83a5e43e.chunk.js deleted file mode 100644 index ae7c141..0000000 --- a/mern/server/public/static/js/main.83a5e43e.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(this.webpackJsonpclient=this.webpackJsonpclient||[]).push([[0],{19:function(e,t,n){"use strict";n.r(t);var c=n(1),r=n.n(c),a=n(11),i=n.n(a),s=n(2),o=(n(16),n(6)),l=n(0);function u(){return Object(l.jsx)("div",{children:Object(l.jsxs)("nav",{className:"navbar navbar-expand-lg navbar-light bg-light",children:[Object(l.jsx)(o.c,{className:"navbar-brand",to:"/",children:Object(l.jsx)("img",{style:{width:"25%"},src:"https://d3cy9zhslanhfa.cloudfront.net/media/3800C044-6298-4575-A05D5C6B7623EE37/4B45D0EC-3482-4759-82DA37D8EA07D229/webimage-8A27671A-8A53-45DC-89D7BF8537F15A0D.png"})}),Object(l.jsx)("button",{className:"navbar-toggler",type:"button","data-toggle":"collapse","data-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation",children:Object(l.jsx)("span",{className:"navbar-toggler-icon"})}),Object(l.jsx)("div",{className:"collapse navbar-collapse",id:"navbarSupportedContent",children:Object(l.jsx)("ul",{className:"navbar-nav ml-auto",children:Object(l.jsx)("li",{className:"nav-item",children:Object(l.jsx)(o.c,{className:"nav-link",to:"/create",children:"Create Record"})})})})]})})}var j=n(5),d=n.n(j),b=n(7),h=n(4),p=function(e){return Object(l.jsxs)("tr",{children:[Object(l.jsx)("td",{children:e.record.name}),Object(l.jsx)("td",{children:e.record.position}),Object(l.jsx)("td",{children:e.record.level}),Object(l.jsxs)("td",{children:[Object(l.jsx)(o.b,{className:"btn btn-link",to:"/edit/".concat(e.record._id),children:"Edit"})," |",Object(l.jsx)("button",{className:"btn btn-link",onClick:function(){e.deleteRecord(e.record._id)},children:"Delete"})]})]})};function m(){var e=Object(c.useState)([]),t=Object(h.a)(e,2),n=t[0],r=t[1];function a(){return i.apply(this,arguments)}function i(){return(i=Object(b.a)(d.a.mark((function e(){var t,n,c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("".concat("","/record/"));case 2:if((t=e.sent).ok){e.next=7;break}return n="An error occured: ".concat(t.statusText),window.alert(n),e.abrupt("return");case 7:return e.next=9,t.json();case 9:c=e.sent,r(c);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function s(){return(s=Object(b.a)(d.a.mark((function e(t){return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,alert('Please implement the "DELETE" route on mern/server/routes/record.js lines 74, press "OK" when you done'),e.next=4,fetch("".concat("","/").concat(t),{method:"DELETE"});case 4:return e.next=6,a();case 6:e.next=11;break;case 8:e.prev=8,e.t0=e.catch(0),alert("Error : "+e.t0);case 11:case"end":return e.stop()}}),e,null,[[0,8]])})))).apply(this,arguments)}return Object(c.useEffect)((function(){a()}),[n.length]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Record List"}),Object(l.jsxs)("table",{className:"table table-striped",style:{marginTop:20},children:[Object(l.jsx)("thead",{children:Object(l.jsxs)("tr",{children:[Object(l.jsx)("th",{children:"Name"}),Object(l.jsx)("th",{children:"Position"}),Object(l.jsx)("th",{children:"Level"}),Object(l.jsx)("th",{children:"Action"})]})}),Object(l.jsx)("tbody",{children:n.map((function(e){return Object(l.jsx)(p,{record:e,deleteRecord:function(){return function(e){return s.apply(this,arguments)}(e._id)}},e._id)}))})]})]})}var O=n(8);function f(){var e=Object(c.useState)({name:"",position:"",level:"",records:[]}),t=Object(h.a)(e,2),n=t[0],r=t[1],a=Object(s.g)(),i=Object(s.f)();function o(e){return r((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function u(){return(u=Object(b.a)(d.a.mark((function e(t){var c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c={name:n.name,position:n.position,level:n.level},e.next=4,fetch("".concat("","/update/").concat(a.id),{method:"POST",body:JSON.stringify(c),headers:{"Content-Type":"application/json"}});case 4:i("/");case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}return Object(c.useEffect)((function(){function e(){return(e=Object(b.a)(d.a.mark((function e(){var t,n,c,s;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.id.toString(),e.next=3,fetch("".concat("","/record/").concat(a.id.toString()));case 3:if((n=e.sent).ok){e.next=8;break}return c="An error has occured: ".concat(n.statusText),window.alert(c),e.abrupt("return");case 8:return e.next=10,n.json();case 10:if(s=e.sent){e.next=15;break}return window.alert("Record with id ".concat(t," not found")),i("/"),e.abrupt("return");case 15:r(s);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[a.id,i]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Update Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return u.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return o({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return o({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("br",{}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Update Record",className:"btn btn-primary"})})]})]})}function x(){var e=Object(c.useState)({name:"",position:"",level:""}),t=Object(h.a)(e,2),n=t[0],r=t[1],a=Object(s.f)();function i(e){return r((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function o(){return(o=Object(b.a)(d.a.mark((function e(t){var c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c=Object(O.a)({},n),e.prev=2,e.next=5,fetch("".concat("","/record/add"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});case 5:e.next=11;break;case 7:return e.prev=7,e.t0=e.catch(2),window.alert("Error : "+e.t0),e.abrupt("return");case 11:r({name:"",position:"",level:""}),a("/");case 13:case"end":return e.stop()}}),e,null,[[2,7]])})))).apply(this,arguments)}return Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Create New Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return o.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return i({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return i({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Create person",className:"btn btn-primary"})})]})]})}var v=function(){return Object(l.jsxs)("div",{children:[Object(l.jsx)(u,{}),Object(l.jsx)("div",{style:{margin:20},children:Object(l.jsxs)(s.c,{children:[Object(l.jsx)(s.a,{exact:!0,path:"/",element:Object(l.jsx)(m,{})}),Object(l.jsx)(s.a,{path:"/edit/:id",element:Object(l.jsx)(f,{})}),Object(l.jsx)(s.a,{path:"/create",element:Object(l.jsx)(x,{})})]})})]})};i.a.render(Object(l.jsx)(r.a.StrictMode,{children:Object(l.jsx)(o.a,{children:Object(l.jsx)(v,{})})}),document.getElementById("root"))}},[[19,1,2]]]); -//# sourceMappingURL=main.83a5e43e.chunk.js.map \ No newline at end of file diff --git a/mern/server/public/static/js/main.83a5e43e.chunk.js.map b/mern/server/public/static/js/main.83a5e43e.chunk.js.map deleted file mode 100644 index 2c4a00d..0000000 --- a/mern/server/public/static/js/main.83a5e43e.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["components/navbar.js","components/recordList.js","components/edit.js","components/create.js","App.js","index.js"],"names":["Navbar","_jsx","children","_jsxs","className","NavLink","to","style","src","type","data-toggle","data-target","aria-controls","aria-expanded","aria-label","id","Record","props","record","name","position","level","Link","concat","_id","onClick","deleteRecord","RecordList","_useState","useState","_useState2","_slicedToArray","records","setRecords","getRecords","_getRecords","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","response","message","wrap","_context","prev","next","fetch","sent","ok","statusText","window","alert","abrupt","json","stop","_deleteRecord","_callee2","_context2","method","t0","useEffect","length","marginTop","map","_x","Edit","form","setForm","params","useParams","navigate","useNavigate","updateForm","value","_objectSpread","_onSubmit","e","editedPerson","preventDefault","body","JSON","stringify","headers","_fetchData","toString","fetchData","onSubmit","htmlFor","onChange","target","checked","Create","newPerson","App","margin","Routes","Route","exact","path","element","ReactDOM","render","React","StrictMode","BrowserRouter","document","getElementById"],"mappings":"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","file":"static/js/main.83a5e43e.chunk.js","sourcesContent":["import React from \"react\";\n\n// We import bootstrap to make our application look better.\nimport \"bootstrap/dist/css/bootstrap.css\";\n\n// We import NavLink to utilize the react router.\nimport { NavLink } from \"react-router-dom\";\n\n// Here, we display our Navbar\nexport default function Navbar() {\n return (\n
\n \n
\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nconst Record = (props) => (\n \n {props.record.name}\n {props.record.position}\n {props.record.level}\n \n Edit |\n \n \n \n);\n\nexport default function RecordList() {\n const [records, setRecords] = useState([]);\n\n // This method fetches the records from the database.\n useEffect(() => {\n \n\n getRecords();\n\n return; \n }, [records.length]);\n async function getRecords() {\n const response = await fetch(`${BASE_URL}/record/`);\n\n if (!response.ok) {\n const message = `An error occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const records = await response.json();\n setRecords(records);\n }\n // This method will delete a record\n async function deleteRecord(id) {\n try {\n\n /*\n Please remove once implement mern/server/routes/record.js lines 74\n */\n alert('Please implement the \"DELETE\" route on mern/server/routes/record.js lines 74, press \"OK\" when you done')\n await fetch(`${BASE_URL}/${id}`, {\n method: \"DELETE\"\n });\n\n await getRecords();\n }\n catch(e)\n {\n alert(\"Error : \" + e)\n }\n }\n\n // This method will map out the records on the table\n function recordList() {\n return records.map((record) => {\n return (\n deleteRecord(record._id)}\n key={record._id}\n />\n );\n });\n }\n\n // This following section will display the table with the records of individuals.\n return (\n
\n

Record List

\n \n \n \n \n \n \n \n \n \n {recordList()}\n
NamePositionLevelAction
\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Edit() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n records: [],\n });\n const params = useParams();\n const navigate = useNavigate();\n\n useEffect(() => {\n async function fetchData() {\n const id = params.id.toString();\n const response = await fetch(`${BASE_URL}/record/${params.id.toString()}`);\n\n if (!response.ok) {\n const message = `An error has occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const record = await response.json();\n if (!record) {\n window.alert(`Record with id ${id} not found`);\n navigate(\"/\");\n return;\n }\n\n setForm(record);\n }\n\n fetchData();\n\n return;\n }, [params.id, navigate]);\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n async function onSubmit(e) {\n e.preventDefault();\n const editedPerson = {\n name: form.name,\n position: form.position,\n level: form.level,\n };\n\n // This will send a post request to update the data in the database.\n await fetch(`${BASE_URL}/update/${params.id}`, {\n method: \"POST\",\n body: JSON.stringify(editedPerson),\n headers: {\n 'Content-Type': 'application/json'\n },\n });\n\n navigate(\"/\");\n }\n\n // This following section will display the form that takes input from the user to update the data.\n return (\n
\n

Update Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n\n
\n \n
\n
\n
\n );\n}\n","import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Create() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n });\n const navigate = useNavigate();\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n\n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = { ...form };\n try {\n await fetch(`${BASE_URL}/record/add`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(newPerson),\n })\n }\n catch(e){\n window.alert(\"Error : \" + e);\n return;\n }\n\n setForm({ name: \"\", position: \"\", level: \"\" });\n navigate(\"/\");\n }\n\n // This following section will display the form that takes the input from the user.\n return (\n
\n

Create New Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n \n
\n
\n
\n );\n}\n","import React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { Route, Routes } from \"react-router-dom\";\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\n\nconst App = () => {\n return (\n
\n \n
\n \n } />\n } />\n } />\n \n
\n
\n );\n};\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport { BrowserRouter } from \"react-router-dom\";\n\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);"],"sourceRoot":""} \ No newline at end of file diff --git a/mern/server/routes/record.js b/mern/server/routes/record.js index 472b5b3..579ee7b 100644 --- a/mern/server/routes/record.js +++ b/mern/server/routes/record.js @@ -71,14 +71,14 @@ recordRoutes.route("/update/:id").post(function (req, response) { }); // This section will help you delete a record +/* recordRoutes.route("/:id").delete((req, response) => { let db_connect = dbo.getDb(); let myquery = { _id: ObjectId( req.params.id )}; - db_connect.collection("records").deleteOne(myquery, function (err, obj) { - if (err) throw err; - console.log("1 document deleted"); - response.json(obj); - }); + // Implement delete : db_connect.collection("records").deleteOne( ... ) + response.status(200) }); - +*/ module.exports = recordRoutes; + + From 1d51b47935ea6127fba89cc4fa25e15b3a97ba68 Mon Sep 17 00:00:00 2001 From: Pash10g Date: Thu, 2 Mar 2023 14:19:48 +0000 Subject: [PATCH 09/10] Adding some bug fixes. --- mern/client/build/asset-manifest.json | 6 +++--- mern/client/build/index.html | 2 +- mern/client/build/static/js/main.48aafeb4.chunk.js | 2 -- .../build/static/js/main.48aafeb4.chunk.js.map | 1 - mern/client/build/static/js/main.c2a61789.chunk.js | 2 ++ .../build/static/js/main.c2a61789.chunk.js.map | 1 + mern/client/src/components/recordList.js | 1 + mern/server/public/asset-manifest.json | 6 +++--- mern/server/public/index.html | 2 +- mern/server/public/static/js/main.48aafeb4.chunk.js | 2 -- .../public/static/js/main.48aafeb4.chunk.js.map | 1 - mern/server/public/static/js/main.c2a61789.chunk.js | 2 ++ .../public/static/js/main.c2a61789.chunk.js.map | 1 + mern/server/routes/answer.txt | 9 +++++++++ mern/server/routes/hint.txt | 12 ++++++++++++ 15 files changed, 36 insertions(+), 14 deletions(-) delete mode 100644 mern/client/build/static/js/main.48aafeb4.chunk.js delete mode 100644 mern/client/build/static/js/main.48aafeb4.chunk.js.map create mode 100644 mern/client/build/static/js/main.c2a61789.chunk.js create mode 100644 mern/client/build/static/js/main.c2a61789.chunk.js.map delete mode 100644 mern/server/public/static/js/main.48aafeb4.chunk.js delete mode 100644 mern/server/public/static/js/main.48aafeb4.chunk.js.map create mode 100644 mern/server/public/static/js/main.c2a61789.chunk.js create mode 100644 mern/server/public/static/js/main.c2a61789.chunk.js.map create mode 100644 mern/server/routes/answer.txt create mode 100644 mern/server/routes/hint.txt diff --git a/mern/client/build/asset-manifest.json b/mern/client/build/asset-manifest.json index f1dec85..d17f6e7 100644 --- a/mern/client/build/asset-manifest.json +++ b/mern/client/build/asset-manifest.json @@ -1,7 +1,7 @@ { "files": { - "main.js": "/static/js/main.48aafeb4.chunk.js", - "main.js.map": "/static/js/main.48aafeb4.chunk.js.map", + "main.js": "/static/js/main.c2a61789.chunk.js", + "main.js.map": "/static/js/main.c2a61789.chunk.js.map", "runtime-main.js": "/static/js/runtime-main.a06e69b5.js", "runtime-main.js.map": "/static/js/runtime-main.a06e69b5.js.map", "static/css/2.73420eac.chunk.css": "/static/css/2.73420eac.chunk.css", @@ -15,6 +15,6 @@ "static/js/runtime-main.a06e69b5.js", "static/css/2.73420eac.chunk.css", "static/js/2.6ef6d4dd.chunk.js", - "static/js/main.48aafeb4.chunk.js" + "static/js/main.c2a61789.chunk.js" ] } \ No newline at end of file diff --git a/mern/client/build/index.html b/mern/client/build/index.html index e5c7151..07c17a6 100644 --- a/mern/client/build/index.html +++ b/mern/client/build/index.html @@ -1 +1 @@ -MongoDB Demo
\ No newline at end of file +MongoDB Demo
\ No newline at end of file diff --git a/mern/client/build/static/js/main.48aafeb4.chunk.js b/mern/client/build/static/js/main.48aafeb4.chunk.js deleted file mode 100644 index 312529d..0000000 --- a/mern/client/build/static/js/main.48aafeb4.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(this.webpackJsonpclient=this.webpackJsonpclient||[]).push([[0],{19:function(e,t,n){"use strict";n.r(t);var c=n(1),r=n.n(c),a=n(11),i=n.n(a),s=n(2),o=(n(16),n(6)),l=n(0);function u(){return Object(l.jsx)("div",{children:Object(l.jsxs)("nav",{className:"navbar navbar-expand-lg navbar-light bg-light",children:[Object(l.jsx)(o.c,{className:"navbar-brand",to:"/",children:Object(l.jsx)("img",{style:{width:"25%"},src:"https://d3cy9zhslanhfa.cloudfront.net/media/3800C044-6298-4575-A05D5C6B7623EE37/4B45D0EC-3482-4759-82DA37D8EA07D229/webimage-8A27671A-8A53-45DC-89D7BF8537F15A0D.png"})}),Object(l.jsx)("button",{className:"navbar-toggler",type:"button","data-toggle":"collapse","data-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation",children:Object(l.jsx)("span",{className:"navbar-toggler-icon"})}),Object(l.jsx)("div",{className:"collapse navbar-collapse",id:"navbarSupportedContent",children:Object(l.jsx)("ul",{className:"navbar-nav ml-auto",children:Object(l.jsx)("li",{className:"nav-item",children:Object(l.jsx)(o.c,{className:"nav-link",to:"/create",children:"Create Record"})})})})]})})}var j=n(5),d=n.n(j),b=n(7),h=n(4),p=function(e){return Object(l.jsxs)("tr",{children:[Object(l.jsx)("td",{children:e.record.name}),Object(l.jsx)("td",{children:e.record.position}),Object(l.jsx)("td",{children:e.record.level}),Object(l.jsxs)("td",{children:[Object(l.jsx)(o.b,{className:"btn btn-link",to:"/edit/".concat(e.record._id),children:"Edit"})," |",Object(l.jsx)("button",{className:"btn btn-link",onClick:function(){e.deleteRecord(e.record._id)},children:"Delete"})]})]})};function m(){var e=Object(c.useState)([]),t=Object(h.a)(e,2),n=t[0],r=t[1];function a(){return i.apply(this,arguments)}function i(){return(i=Object(b.a)(d.a.mark((function e(){var t,n,c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("".concat("","/record/"));case 2:if((t=e.sent).ok){e.next=7;break}return n="An error occured: ".concat(t.statusText),window.alert(n),e.abrupt("return");case 7:return e.next=9,t.json();case 9:c=e.sent,r(c);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function s(){return(s=Object(b.a)(d.a.mark((function e(t){return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,fetch("".concat("","/").concat(t),{method:"DELETE"});case 3:if(404!==e.sent.status){e.next=8;break}alert('Please implement the mongodb delete method. Please visit "mern/server/routes/record.js" on line 74. This is where the delete endpoint should reside'),e.next=10;break;case 8:return e.next=10,a();case 10:e.next=15;break;case 12:e.prev=12,e.t0=e.catch(0),alert("Error : "+e.t0);case 15:case"end":return e.stop()}}),e,null,[[0,12]])})))).apply(this,arguments)}return Object(c.useEffect)((function(){a()}),[n.length]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Record List"}),Object(l.jsxs)("table",{className:"table table-striped",style:{marginTop:20},children:[Object(l.jsx)("thead",{children:Object(l.jsxs)("tr",{children:[Object(l.jsx)("th",{children:"Name"}),Object(l.jsx)("th",{children:"Position"}),Object(l.jsx)("th",{children:"Level"}),Object(l.jsx)("th",{children:"Action"})]})}),Object(l.jsx)("tbody",{children:n.map((function(e){return Object(l.jsx)(p,{record:e,deleteRecord:function(){return function(e){return s.apply(this,arguments)}(e._id)}},e._id)}))})]})]})}var O=n(8);function x(){var e=Object(c.useState)({name:"",position:"",level:"",records:[]}),t=Object(h.a)(e,2),n=t[0],r=t[1],a=Object(s.g)(),i=Object(s.f)();function o(e){return r((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function u(){return(u=Object(b.a)(d.a.mark((function e(t){var c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c={name:n.name,position:n.position,level:n.level},e.next=4,fetch("".concat("","/update/").concat(a.id),{method:"POST",body:JSON.stringify(c),headers:{"Content-Type":"application/json"}});case 4:i("/");case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}return Object(c.useEffect)((function(){function e(){return(e=Object(b.a)(d.a.mark((function e(){var t,n,c,s;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.id.toString(),e.next=3,fetch("".concat("","/record/").concat(a.id.toString()));case 3:if((n=e.sent).ok){e.next=8;break}return c="An error has occured: ".concat(n.statusText),window.alert(c),e.abrupt("return");case 8:return e.next=10,n.json();case 10:if(s=e.sent){e.next=15;break}return window.alert("Record with id ".concat(t," not found")),i("/"),e.abrupt("return");case 15:r(s);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[a.id,i]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Update Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return u.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return o({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return o({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("br",{}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Update Record",className:"btn btn-primary"})})]})]})}function f(){var e=Object(c.useState)({name:"",position:"",level:""}),t=Object(h.a)(e,2),n=t[0],r=t[1],a=Object(s.f)();function i(e){return r((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function o(){return(o=Object(b.a)(d.a.mark((function e(t){var c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c=Object(O.a)({},n),e.prev=2,e.next=5,fetch("".concat("","/record/add"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});case 5:e.next=11;break;case 7:return e.prev=7,e.t0=e.catch(2),window.alert("Error : "+e.t0),e.abrupt("return");case 11:r({name:"",position:"",level:""}),a("/");case 13:case"end":return e.stop()}}),e,null,[[2,7]])})))).apply(this,arguments)}return Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Create New Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return o.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return i({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return i({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Create person",className:"btn btn-primary"})})]})]})}var v=function(){return Object(l.jsxs)("div",{children:[Object(l.jsx)(u,{}),Object(l.jsx)("div",{style:{margin:20},children:Object(l.jsxs)(s.c,{children:[Object(l.jsx)(s.a,{exact:!0,path:"/",element:Object(l.jsx)(m,{})}),Object(l.jsx)(s.a,{path:"/edit/:id",element:Object(l.jsx)(x,{})}),Object(l.jsx)(s.a,{path:"/create",element:Object(l.jsx)(f,{})})]})})]})};i.a.render(Object(l.jsx)(r.a.StrictMode,{children:Object(l.jsx)(o.a,{children:Object(l.jsx)(v,{})})}),document.getElementById("root"))}},[[19,1,2]]]); -//# sourceMappingURL=main.48aafeb4.chunk.js.map \ No newline at end of file diff --git a/mern/client/build/static/js/main.48aafeb4.chunk.js.map b/mern/client/build/static/js/main.48aafeb4.chunk.js.map deleted file mode 100644 index 4f9f51d..0000000 --- a/mern/client/build/static/js/main.48aafeb4.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["components/navbar.js","components/recordList.js","components/edit.js","components/create.js","App.js","index.js"],"names":["Navbar","_jsx","children","_jsxs","className","NavLink","to","style","src","type","data-toggle","data-target","aria-controls","aria-expanded","aria-label","id","Record","props","record","name","position","level","Link","concat","_id","onClick","deleteRecord","RecordList","_useState","useState","_useState2","_slicedToArray","records","setRecords","getRecords","_getRecords","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","response","message","wrap","_context","prev","next","fetch","sent","ok","statusText","window","alert","abrupt","json","stop","_deleteRecord","_callee2","_context2","method","status","t0","useEffect","length","marginTop","map","_x","Edit","form","setForm","params","useParams","navigate","useNavigate","updateForm","value","_objectSpread","_onSubmit","e","editedPerson","preventDefault","body","JSON","stringify","headers","_fetchData","toString","fetchData","onSubmit","htmlFor","onChange","target","checked","Create","newPerson","App","margin","Routes","Route","exact","path","element","ReactDOM","render","React","StrictMode","BrowserRouter","document","getElementById"],"mappings":"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","file":"static/js/main.48aafeb4.chunk.js","sourcesContent":["import React from \"react\";\n\n// We import bootstrap to make our application look better.\nimport \"bootstrap/dist/css/bootstrap.css\";\n\n// We import NavLink to utilize the react router.\nimport { NavLink } from \"react-router-dom\";\n\n// Here, we display our Navbar\nexport default function Navbar() {\n return (\n
\n \n
\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nconst Record = (props) => (\n \n {props.record.name}\n {props.record.position}\n {props.record.level}\n \n Edit |\n \n \n \n);\n\nexport default function RecordList() {\n const [records, setRecords] = useState([]);\n\n // This method fetches the records from the database.\n useEffect(() => {\n \n\n getRecords();\n\n return; \n }, [records.length]);\n async function getRecords() {\n const response = await fetch(`${BASE_URL}/record/`);\n\n if (!response.ok) {\n const message = `An error occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const records = await response.json();\n setRecords(records);\n }\n // This method will delete a record\n async function deleteRecord(id) {\n try {\n /*\n Please remove once implement mern/server/routes/record.js lines 74\n */\n const response = await fetch(`${BASE_URL}/${id}`, {\n method: \"DELETE\"\n });\n \n if (response.status === 404) {\n alert('Please implement the mongodb delete method. Please visit \"mern/server/routes/record.js\" on line 74. This is where the delete endpoint should reside');\n } else {\n await getRecords();\n }\n }\n catch(e) {\n alert(\"Error : \" + e)\n }\n }\n\n // This method will map out the records on the table\n function recordList() {\n return records.map((record) => {\n return (\n deleteRecord(record._id)}\n key={record._id}\n />\n );\n });\n }\n\n // This following section will display the table with the records of individuals.\n return (\n
\n

Record List

\n \n \n \n \n \n \n \n \n \n {recordList()}\n
NamePositionLevelAction
\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Edit() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n records: [],\n });\n const params = useParams();\n const navigate = useNavigate();\n\n useEffect(() => {\n async function fetchData() {\n const id = params.id.toString();\n const response = await fetch(`${BASE_URL}/record/${params.id.toString()}`);\n\n if (!response.ok) {\n const message = `An error has occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const record = await response.json();\n if (!record) {\n window.alert(`Record with id ${id} not found`);\n navigate(\"/\");\n return;\n }\n\n setForm(record);\n }\n\n fetchData();\n\n return;\n }, [params.id, navigate]);\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n async function onSubmit(e) {\n e.preventDefault();\n const editedPerson = {\n name: form.name,\n position: form.position,\n level: form.level,\n };\n\n // This will send a post request to update the data in the database.\n await fetch(`${BASE_URL}/update/${params.id}`, {\n method: \"POST\",\n body: JSON.stringify(editedPerson),\n headers: {\n 'Content-Type': 'application/json'\n },\n });\n\n navigate(\"/\");\n }\n\n // This following section will display the form that takes input from the user to update the data.\n return (\n
\n

Update Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n\n
\n \n
\n
\n
\n );\n}\n","import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Create() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n });\n const navigate = useNavigate();\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n\n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = { ...form };\n try {\n await fetch(`${BASE_URL}/record/add`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(newPerson),\n })\n }\n catch(e){\n window.alert(\"Error : \" + e);\n return;\n }\n\n setForm({ name: \"\", position: \"\", level: \"\" });\n navigate(\"/\");\n }\n\n // This following section will display the form that takes the input from the user.\n return (\n
\n

Create New Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n \n
\n
\n
\n );\n}\n","import React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { Route, Routes } from \"react-router-dom\";\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\n\nconst App = () => {\n return (\n
\n \n
\n \n } />\n } />\n } />\n \n
\n
\n );\n};\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport { BrowserRouter } from \"react-router-dom\";\n\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);"],"sourceRoot":""} \ No newline at end of file diff --git a/mern/client/build/static/js/main.c2a61789.chunk.js b/mern/client/build/static/js/main.c2a61789.chunk.js new file mode 100644 index 0000000..601b98c --- /dev/null +++ b/mern/client/build/static/js/main.c2a61789.chunk.js @@ -0,0 +1,2 @@ +(this.webpackJsonpclient=this.webpackJsonpclient||[]).push([[0],{19:function(e,t,n){"use strict";n.r(t);var c=n(1),r=n.n(c),a=n(11),i=n.n(a),s=n(2),o=(n(16),n(6)),l=n(0);function u(){return Object(l.jsx)("div",{children:Object(l.jsxs)("nav",{className:"navbar navbar-expand-lg navbar-light bg-light",children:[Object(l.jsx)(o.c,{className:"navbar-brand",to:"/",children:Object(l.jsx)("img",{style:{width:"25%"},src:"https://d3cy9zhslanhfa.cloudfront.net/media/3800C044-6298-4575-A05D5C6B7623EE37/4B45D0EC-3482-4759-82DA37D8EA07D229/webimage-8A27671A-8A53-45DC-89D7BF8537F15A0D.png"})}),Object(l.jsx)("button",{className:"navbar-toggler",type:"button","data-toggle":"collapse","data-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation",children:Object(l.jsx)("span",{className:"navbar-toggler-icon"})}),Object(l.jsx)("div",{className:"collapse navbar-collapse",id:"navbarSupportedContent",children:Object(l.jsx)("ul",{className:"navbar-nav ml-auto",children:Object(l.jsx)("li",{className:"nav-item",children:Object(l.jsx)(o.c,{className:"nav-link",to:"/create",children:"Create Record"})})})})]})})}var d=n(5),j=n.n(d),b=n(7),h=n(4),p=function(e){return Object(l.jsxs)("tr",{children:[Object(l.jsx)("td",{children:e.record.name}),Object(l.jsx)("td",{children:e.record.position}),Object(l.jsx)("td",{children:e.record.level}),Object(l.jsxs)("td",{children:[Object(l.jsx)(o.b,{className:"btn btn-link",to:"/edit/".concat(e.record._id),children:"Edit"})," |",Object(l.jsx)("button",{className:"btn btn-link",onClick:function(){e.deleteRecord(e.record._id)},children:"Delete"})]})]})};function m(){var e=Object(c.useState)([]),t=Object(h.a)(e,2),n=t[0],r=t[1];function a(){return i.apply(this,arguments)}function i(){return(i=Object(b.a)(j.a.mark((function e(){var t,n,c;return j.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("".concat("","/record/"));case 2:if((t=e.sent).ok){e.next=7;break}return n="An error occured: ".concat(t.statusText),window.alert(n),e.abrupt("return");case 7:return e.next=9,t.json();case 9:c=e.sent,r(c);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function s(){return(s=Object(b.a)(j.a.mark((function e(t){return j.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,fetch("".concat("","/").concat(t),{method:"DELETE"});case 3:if(404!==e.sent.status){e.next=8;break}alert('Please implement the mongodb delete method. Please visit "mern/server/routes/record.js" on line 74. This is where the delete endpoint should reside'),e.next=10;break;case 8:return e.next=10,a();case 10:e.next=15;break;case 12:e.prev=12,e.t0=e.catch(0),alert("Error : "+e.t0);case 15:case"end":return e.stop()}}),e,null,[[0,12]])})))).apply(this,arguments)}return Object(c.useEffect)((function(){a()}),[n.length]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Record List"}),Object(l.jsxs)("table",{className:"table table-striped",style:{marginTop:20},children:[Object(l.jsx)("thead",{children:Object(l.jsxs)("tr",{children:[Object(l.jsx)("th",{children:"Name"}),Object(l.jsx)("th",{children:"Position"}),Object(l.jsx)("th",{children:"Level"}),Object(l.jsx)("th",{children:"Action"})]})}),Object(l.jsx)("tbody",{children:0===n.length?Object(l.jsx)("div",{children:"No Records Yet..."}):n.map((function(e){return Object(l.jsx)(p,{record:e,deleteRecord:function(){return function(e){return s.apply(this,arguments)}(e._id)}},e._id)}))})]})]})}var O=n(8);function x(){var e=Object(c.useState)({name:"",position:"",level:"",records:[]}),t=Object(h.a)(e,2),n=t[0],r=t[1],a=Object(s.g)(),i=Object(s.f)();function o(e){return r((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function u(){return(u=Object(b.a)(j.a.mark((function e(t){var c;return j.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c={name:n.name,position:n.position,level:n.level},e.next=4,fetch("".concat("","/update/").concat(a.id),{method:"POST",body:JSON.stringify(c),headers:{"Content-Type":"application/json"}});case 4:i("/");case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}return Object(c.useEffect)((function(){function e(){return(e=Object(b.a)(j.a.mark((function e(){var t,n,c,s;return j.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.id.toString(),e.next=3,fetch("".concat("","/record/").concat(a.id.toString()));case 3:if((n=e.sent).ok){e.next=8;break}return c="An error has occured: ".concat(n.statusText),window.alert(c),e.abrupt("return");case 8:return e.next=10,n.json();case 10:if(s=e.sent){e.next=15;break}return window.alert("Record with id ".concat(t," not found")),i("/"),e.abrupt("return");case 15:r(s);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[a.id,i]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Update Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return u.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return o({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return o({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("br",{}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Update Record",className:"btn btn-primary"})})]})]})}function f(){var e=Object(c.useState)({name:"",position:"",level:""}),t=Object(h.a)(e,2),n=t[0],r=t[1],a=Object(s.f)();function i(e){return r((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function o(){return(o=Object(b.a)(j.a.mark((function e(t){var c;return j.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c=Object(O.a)({},n),e.prev=2,e.next=5,fetch("".concat("","/record/add"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});case 5:e.next=11;break;case 7:return e.prev=7,e.t0=e.catch(2),window.alert("Error : "+e.t0),e.abrupt("return");case 11:r({name:"",position:"",level:""}),a("/");case 13:case"end":return e.stop()}}),e,null,[[2,7]])})))).apply(this,arguments)}return Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Create New Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return o.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return i({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return i({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Create person",className:"btn btn-primary"})})]})]})}var v=function(){return Object(l.jsxs)("div",{children:[Object(l.jsx)(u,{}),Object(l.jsx)("div",{style:{margin:20},children:Object(l.jsxs)(s.c,{children:[Object(l.jsx)(s.a,{exact:!0,path:"/",element:Object(l.jsx)(m,{})}),Object(l.jsx)(s.a,{path:"/edit/:id",element:Object(l.jsx)(x,{})}),Object(l.jsx)(s.a,{path:"/create",element:Object(l.jsx)(f,{})})]})})]})};i.a.render(Object(l.jsx)(r.a.StrictMode,{children:Object(l.jsx)(o.a,{children:Object(l.jsx)(v,{})})}),document.getElementById("root"))}},[[19,1,2]]]); +//# sourceMappingURL=main.c2a61789.chunk.js.map \ No newline at end of file diff --git a/mern/client/build/static/js/main.c2a61789.chunk.js.map b/mern/client/build/static/js/main.c2a61789.chunk.js.map new file mode 100644 index 0000000..f065818 --- /dev/null +++ b/mern/client/build/static/js/main.c2a61789.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["components/navbar.js","components/recordList.js","components/edit.js","components/create.js","App.js","index.js"],"names":["Navbar","_jsx","children","_jsxs","className","NavLink","to","style","src","type","data-toggle","data-target","aria-controls","aria-expanded","aria-label","id","Record","props","record","name","position","level","Link","concat","_id","onClick","deleteRecord","RecordList","_useState","useState","_useState2","_slicedToArray","records","setRecords","getRecords","_getRecords","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","response","message","wrap","_context","prev","next","fetch","sent","ok","statusText","window","alert","abrupt","json","stop","_deleteRecord","_callee2","_context2","method","status","t0","useEffect","length","marginTop","map","_x","Edit","form","setForm","params","useParams","navigate","useNavigate","updateForm","value","_objectSpread","_onSubmit","e","editedPerson","preventDefault","body","JSON","stringify","headers","_fetchData","toString","fetchData","onSubmit","htmlFor","onChange","target","checked","Create","newPerson","App","margin","Routes","Route","exact","path","element","ReactDOM","render","React","StrictMode","BrowserRouter","document","getElementById"],"mappings":"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","file":"static/js/main.c2a61789.chunk.js","sourcesContent":["import React from \"react\";\n\n// We import bootstrap to make our application look better.\nimport \"bootstrap/dist/css/bootstrap.css\";\n\n// We import NavLink to utilize the react router.\nimport { NavLink } from \"react-router-dom\";\n\n// Here, we display our Navbar\nexport default function Navbar() {\n return (\n
\n \n
\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nconst Record = (props) => (\n \n {props.record.name}\n {props.record.position}\n {props.record.level}\n \n Edit |\n \n \n \n);\n\nexport default function RecordList() {\n const [records, setRecords] = useState([]);\n\n // This method fetches the records from the database.\n useEffect(() => {\n \n\n getRecords();\n\n return; \n }, [records.length]);\n async function getRecords() {\n const response = await fetch(`${BASE_URL}/record/`);\n\n if (!response.ok) {\n const message = `An error occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const records = await response.json();\n setRecords(records);\n }\n // This method will delete a record\n async function deleteRecord(id) {\n try {\n /*\n Please remove once implement mern/server/routes/record.js lines 74\n */\n const response = await fetch(`${BASE_URL}/${id}`, {\n method: \"DELETE\"\n });\n \n if (response.status === 404) {\n alert('Please implement the mongodb delete method. Please visit \"mern/server/routes/record.js\" on line 74. This is where the delete endpoint should reside');\n } else {\n await getRecords();\n }\n }\n catch(e) {\n alert(\"Error : \" + e)\n }\n }\n\n // This method will map out the records on the table\n function recordList() {\n if (records.length === 0) return
No Records Yet...
\n return records.map((record) => {\n return (\n deleteRecord(record._id)}\n key={record._id}\n />\n );\n });\n }\n\n // This following section will display the table with the records of individuals.\n return (\n
\n

Record List

\n \n \n \n \n \n \n \n \n \n {recordList()}\n
NamePositionLevelAction
\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Edit() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n records: [],\n });\n const params = useParams();\n const navigate = useNavigate();\n\n useEffect(() => {\n async function fetchData() {\n const id = params.id.toString();\n const response = await fetch(`${BASE_URL}/record/${params.id.toString()}`);\n\n if (!response.ok) {\n const message = `An error has occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const record = await response.json();\n if (!record) {\n window.alert(`Record with id ${id} not found`);\n navigate(\"/\");\n return;\n }\n\n setForm(record);\n }\n\n fetchData();\n\n return;\n }, [params.id, navigate]);\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n async function onSubmit(e) {\n e.preventDefault();\n const editedPerson = {\n name: form.name,\n position: form.position,\n level: form.level,\n };\n\n // This will send a post request to update the data in the database.\n await fetch(`${BASE_URL}/update/${params.id}`, {\n method: \"POST\",\n body: JSON.stringify(editedPerson),\n headers: {\n 'Content-Type': 'application/json'\n },\n });\n\n navigate(\"/\");\n }\n\n // This following section will display the form that takes input from the user to update the data.\n return (\n
\n

Update Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n\n
\n \n
\n
\n
\n );\n}\n","import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Create() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n });\n const navigate = useNavigate();\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n\n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = { ...form };\n try {\n await fetch(`${BASE_URL}/record/add`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(newPerson),\n })\n }\n catch(e){\n window.alert(\"Error : \" + e);\n return;\n }\n\n setForm({ name: \"\", position: \"\", level: \"\" });\n navigate(\"/\");\n }\n\n // This following section will display the form that takes the input from the user.\n return (\n
\n

Create New Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n \n
\n
\n
\n );\n}\n","import React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { Route, Routes } from \"react-router-dom\";\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\n\nconst App = () => {\n return (\n
\n \n
\n \n } />\n } />\n } />\n \n
\n
\n );\n};\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport { BrowserRouter } from \"react-router-dom\";\n\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);"],"sourceRoot":""} \ No newline at end of file diff --git a/mern/client/src/components/recordList.js b/mern/client/src/components/recordList.js index 4e47b6c..978486c 100644 --- a/mern/client/src/components/recordList.js +++ b/mern/client/src/components/recordList.js @@ -68,6 +68,7 @@ export default function RecordList() { // This method will map out the records on the table function recordList() { + if (records.length === 0) return
No Records Yet
return records.map((record) => { return ( MongoDB Demo
\ No newline at end of file +MongoDB Demo
\ No newline at end of file diff --git a/mern/server/public/static/js/main.48aafeb4.chunk.js b/mern/server/public/static/js/main.48aafeb4.chunk.js deleted file mode 100644 index 312529d..0000000 --- a/mern/server/public/static/js/main.48aafeb4.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(this.webpackJsonpclient=this.webpackJsonpclient||[]).push([[0],{19:function(e,t,n){"use strict";n.r(t);var c=n(1),r=n.n(c),a=n(11),i=n.n(a),s=n(2),o=(n(16),n(6)),l=n(0);function u(){return Object(l.jsx)("div",{children:Object(l.jsxs)("nav",{className:"navbar navbar-expand-lg navbar-light bg-light",children:[Object(l.jsx)(o.c,{className:"navbar-brand",to:"/",children:Object(l.jsx)("img",{style:{width:"25%"},src:"https://d3cy9zhslanhfa.cloudfront.net/media/3800C044-6298-4575-A05D5C6B7623EE37/4B45D0EC-3482-4759-82DA37D8EA07D229/webimage-8A27671A-8A53-45DC-89D7BF8537F15A0D.png"})}),Object(l.jsx)("button",{className:"navbar-toggler",type:"button","data-toggle":"collapse","data-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation",children:Object(l.jsx)("span",{className:"navbar-toggler-icon"})}),Object(l.jsx)("div",{className:"collapse navbar-collapse",id:"navbarSupportedContent",children:Object(l.jsx)("ul",{className:"navbar-nav ml-auto",children:Object(l.jsx)("li",{className:"nav-item",children:Object(l.jsx)(o.c,{className:"nav-link",to:"/create",children:"Create Record"})})})})]})})}var j=n(5),d=n.n(j),b=n(7),h=n(4),p=function(e){return Object(l.jsxs)("tr",{children:[Object(l.jsx)("td",{children:e.record.name}),Object(l.jsx)("td",{children:e.record.position}),Object(l.jsx)("td",{children:e.record.level}),Object(l.jsxs)("td",{children:[Object(l.jsx)(o.b,{className:"btn btn-link",to:"/edit/".concat(e.record._id),children:"Edit"})," |",Object(l.jsx)("button",{className:"btn btn-link",onClick:function(){e.deleteRecord(e.record._id)},children:"Delete"})]})]})};function m(){var e=Object(c.useState)([]),t=Object(h.a)(e,2),n=t[0],r=t[1];function a(){return i.apply(this,arguments)}function i(){return(i=Object(b.a)(d.a.mark((function e(){var t,n,c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("".concat("","/record/"));case 2:if((t=e.sent).ok){e.next=7;break}return n="An error occured: ".concat(t.statusText),window.alert(n),e.abrupt("return");case 7:return e.next=9,t.json();case 9:c=e.sent,r(c);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function s(){return(s=Object(b.a)(d.a.mark((function e(t){return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,fetch("".concat("","/").concat(t),{method:"DELETE"});case 3:if(404!==e.sent.status){e.next=8;break}alert('Please implement the mongodb delete method. Please visit "mern/server/routes/record.js" on line 74. This is where the delete endpoint should reside'),e.next=10;break;case 8:return e.next=10,a();case 10:e.next=15;break;case 12:e.prev=12,e.t0=e.catch(0),alert("Error : "+e.t0);case 15:case"end":return e.stop()}}),e,null,[[0,12]])})))).apply(this,arguments)}return Object(c.useEffect)((function(){a()}),[n.length]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Record List"}),Object(l.jsxs)("table",{className:"table table-striped",style:{marginTop:20},children:[Object(l.jsx)("thead",{children:Object(l.jsxs)("tr",{children:[Object(l.jsx)("th",{children:"Name"}),Object(l.jsx)("th",{children:"Position"}),Object(l.jsx)("th",{children:"Level"}),Object(l.jsx)("th",{children:"Action"})]})}),Object(l.jsx)("tbody",{children:n.map((function(e){return Object(l.jsx)(p,{record:e,deleteRecord:function(){return function(e){return s.apply(this,arguments)}(e._id)}},e._id)}))})]})]})}var O=n(8);function x(){var e=Object(c.useState)({name:"",position:"",level:"",records:[]}),t=Object(h.a)(e,2),n=t[0],r=t[1],a=Object(s.g)(),i=Object(s.f)();function o(e){return r((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function u(){return(u=Object(b.a)(d.a.mark((function e(t){var c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c={name:n.name,position:n.position,level:n.level},e.next=4,fetch("".concat("","/update/").concat(a.id),{method:"POST",body:JSON.stringify(c),headers:{"Content-Type":"application/json"}});case 4:i("/");case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}return Object(c.useEffect)((function(){function e(){return(e=Object(b.a)(d.a.mark((function e(){var t,n,c,s;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.id.toString(),e.next=3,fetch("".concat("","/record/").concat(a.id.toString()));case 3:if((n=e.sent).ok){e.next=8;break}return c="An error has occured: ".concat(n.statusText),window.alert(c),e.abrupt("return");case 8:return e.next=10,n.json();case 10:if(s=e.sent){e.next=15;break}return window.alert("Record with id ".concat(t," not found")),i("/"),e.abrupt("return");case 15:r(s);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[a.id,i]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Update Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return u.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return o({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return o({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("br",{}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Update Record",className:"btn btn-primary"})})]})]})}function f(){var e=Object(c.useState)({name:"",position:"",level:""}),t=Object(h.a)(e,2),n=t[0],r=t[1],a=Object(s.f)();function i(e){return r((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function o(){return(o=Object(b.a)(d.a.mark((function e(t){var c;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c=Object(O.a)({},n),e.prev=2,e.next=5,fetch("".concat("","/record/add"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});case 5:e.next=11;break;case 7:return e.prev=7,e.t0=e.catch(2),window.alert("Error : "+e.t0),e.abrupt("return");case 11:r({name:"",position:"",level:""}),a("/");case 13:case"end":return e.stop()}}),e,null,[[2,7]])})))).apply(this,arguments)}return Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Create New Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return o.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return i({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return i({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Create person",className:"btn btn-primary"})})]})]})}var v=function(){return Object(l.jsxs)("div",{children:[Object(l.jsx)(u,{}),Object(l.jsx)("div",{style:{margin:20},children:Object(l.jsxs)(s.c,{children:[Object(l.jsx)(s.a,{exact:!0,path:"/",element:Object(l.jsx)(m,{})}),Object(l.jsx)(s.a,{path:"/edit/:id",element:Object(l.jsx)(x,{})}),Object(l.jsx)(s.a,{path:"/create",element:Object(l.jsx)(f,{})})]})})]})};i.a.render(Object(l.jsx)(r.a.StrictMode,{children:Object(l.jsx)(o.a,{children:Object(l.jsx)(v,{})})}),document.getElementById("root"))}},[[19,1,2]]]); -//# sourceMappingURL=main.48aafeb4.chunk.js.map \ No newline at end of file diff --git a/mern/server/public/static/js/main.48aafeb4.chunk.js.map b/mern/server/public/static/js/main.48aafeb4.chunk.js.map deleted file mode 100644 index 4f9f51d..0000000 --- a/mern/server/public/static/js/main.48aafeb4.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["components/navbar.js","components/recordList.js","components/edit.js","components/create.js","App.js","index.js"],"names":["Navbar","_jsx","children","_jsxs","className","NavLink","to","style","src","type","data-toggle","data-target","aria-controls","aria-expanded","aria-label","id","Record","props","record","name","position","level","Link","concat","_id","onClick","deleteRecord","RecordList","_useState","useState","_useState2","_slicedToArray","records","setRecords","getRecords","_getRecords","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","response","message","wrap","_context","prev","next","fetch","sent","ok","statusText","window","alert","abrupt","json","stop","_deleteRecord","_callee2","_context2","method","status","t0","useEffect","length","marginTop","map","_x","Edit","form","setForm","params","useParams","navigate","useNavigate","updateForm","value","_objectSpread","_onSubmit","e","editedPerson","preventDefault","body","JSON","stringify","headers","_fetchData","toString","fetchData","onSubmit","htmlFor","onChange","target","checked","Create","newPerson","App","margin","Routes","Route","exact","path","element","ReactDOM","render","React","StrictMode","BrowserRouter","document","getElementById"],"mappings":"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","file":"static/js/main.48aafeb4.chunk.js","sourcesContent":["import React from \"react\";\n\n// We import bootstrap to make our application look better.\nimport \"bootstrap/dist/css/bootstrap.css\";\n\n// We import NavLink to utilize the react router.\nimport { NavLink } from \"react-router-dom\";\n\n// Here, we display our Navbar\nexport default function Navbar() {\n return (\n
\n \n
\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nconst Record = (props) => (\n \n {props.record.name}\n {props.record.position}\n {props.record.level}\n \n Edit |\n \n \n \n);\n\nexport default function RecordList() {\n const [records, setRecords] = useState([]);\n\n // This method fetches the records from the database.\n useEffect(() => {\n \n\n getRecords();\n\n return; \n }, [records.length]);\n async function getRecords() {\n const response = await fetch(`${BASE_URL}/record/`);\n\n if (!response.ok) {\n const message = `An error occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const records = await response.json();\n setRecords(records);\n }\n // This method will delete a record\n async function deleteRecord(id) {\n try {\n /*\n Please remove once implement mern/server/routes/record.js lines 74\n */\n const response = await fetch(`${BASE_URL}/${id}`, {\n method: \"DELETE\"\n });\n \n if (response.status === 404) {\n alert('Please implement the mongodb delete method. Please visit \"mern/server/routes/record.js\" on line 74. This is where the delete endpoint should reside');\n } else {\n await getRecords();\n }\n }\n catch(e) {\n alert(\"Error : \" + e)\n }\n }\n\n // This method will map out the records on the table\n function recordList() {\n return records.map((record) => {\n return (\n deleteRecord(record._id)}\n key={record._id}\n />\n );\n });\n }\n\n // This following section will display the table with the records of individuals.\n return (\n
\n

Record List

\n \n \n \n \n \n \n \n \n \n {recordList()}\n
NamePositionLevelAction
\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Edit() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n records: [],\n });\n const params = useParams();\n const navigate = useNavigate();\n\n useEffect(() => {\n async function fetchData() {\n const id = params.id.toString();\n const response = await fetch(`${BASE_URL}/record/${params.id.toString()}`);\n\n if (!response.ok) {\n const message = `An error has occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const record = await response.json();\n if (!record) {\n window.alert(`Record with id ${id} not found`);\n navigate(\"/\");\n return;\n }\n\n setForm(record);\n }\n\n fetchData();\n\n return;\n }, [params.id, navigate]);\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n async function onSubmit(e) {\n e.preventDefault();\n const editedPerson = {\n name: form.name,\n position: form.position,\n level: form.level,\n };\n\n // This will send a post request to update the data in the database.\n await fetch(`${BASE_URL}/update/${params.id}`, {\n method: \"POST\",\n body: JSON.stringify(editedPerson),\n headers: {\n 'Content-Type': 'application/json'\n },\n });\n\n navigate(\"/\");\n }\n\n // This following section will display the form that takes input from the user to update the data.\n return (\n
\n

Update Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n\n
\n \n
\n
\n
\n );\n}\n","import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Create() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n });\n const navigate = useNavigate();\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n\n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = { ...form };\n try {\n await fetch(`${BASE_URL}/record/add`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(newPerson),\n })\n }\n catch(e){\n window.alert(\"Error : \" + e);\n return;\n }\n\n setForm({ name: \"\", position: \"\", level: \"\" });\n navigate(\"/\");\n }\n\n // This following section will display the form that takes the input from the user.\n return (\n
\n

Create New Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n \n
\n
\n
\n );\n}\n","import React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { Route, Routes } from \"react-router-dom\";\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\n\nconst App = () => {\n return (\n
\n \n
\n \n } />\n } />\n } />\n \n
\n
\n );\n};\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport { BrowserRouter } from \"react-router-dom\";\n\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);"],"sourceRoot":""} \ No newline at end of file diff --git a/mern/server/public/static/js/main.c2a61789.chunk.js b/mern/server/public/static/js/main.c2a61789.chunk.js new file mode 100644 index 0000000..601b98c --- /dev/null +++ b/mern/server/public/static/js/main.c2a61789.chunk.js @@ -0,0 +1,2 @@ +(this.webpackJsonpclient=this.webpackJsonpclient||[]).push([[0],{19:function(e,t,n){"use strict";n.r(t);var c=n(1),r=n.n(c),a=n(11),i=n.n(a),s=n(2),o=(n(16),n(6)),l=n(0);function u(){return Object(l.jsx)("div",{children:Object(l.jsxs)("nav",{className:"navbar navbar-expand-lg navbar-light bg-light",children:[Object(l.jsx)(o.c,{className:"navbar-brand",to:"/",children:Object(l.jsx)("img",{style:{width:"25%"},src:"https://d3cy9zhslanhfa.cloudfront.net/media/3800C044-6298-4575-A05D5C6B7623EE37/4B45D0EC-3482-4759-82DA37D8EA07D229/webimage-8A27671A-8A53-45DC-89D7BF8537F15A0D.png"})}),Object(l.jsx)("button",{className:"navbar-toggler",type:"button","data-toggle":"collapse","data-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation",children:Object(l.jsx)("span",{className:"navbar-toggler-icon"})}),Object(l.jsx)("div",{className:"collapse navbar-collapse",id:"navbarSupportedContent",children:Object(l.jsx)("ul",{className:"navbar-nav ml-auto",children:Object(l.jsx)("li",{className:"nav-item",children:Object(l.jsx)(o.c,{className:"nav-link",to:"/create",children:"Create Record"})})})})]})})}var d=n(5),j=n.n(d),b=n(7),h=n(4),p=function(e){return Object(l.jsxs)("tr",{children:[Object(l.jsx)("td",{children:e.record.name}),Object(l.jsx)("td",{children:e.record.position}),Object(l.jsx)("td",{children:e.record.level}),Object(l.jsxs)("td",{children:[Object(l.jsx)(o.b,{className:"btn btn-link",to:"/edit/".concat(e.record._id),children:"Edit"})," |",Object(l.jsx)("button",{className:"btn btn-link",onClick:function(){e.deleteRecord(e.record._id)},children:"Delete"})]})]})};function m(){var e=Object(c.useState)([]),t=Object(h.a)(e,2),n=t[0],r=t[1];function a(){return i.apply(this,arguments)}function i(){return(i=Object(b.a)(j.a.mark((function e(){var t,n,c;return j.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("".concat("","/record/"));case 2:if((t=e.sent).ok){e.next=7;break}return n="An error occured: ".concat(t.statusText),window.alert(n),e.abrupt("return");case 7:return e.next=9,t.json();case 9:c=e.sent,r(c);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function s(){return(s=Object(b.a)(j.a.mark((function e(t){return j.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,fetch("".concat("","/").concat(t),{method:"DELETE"});case 3:if(404!==e.sent.status){e.next=8;break}alert('Please implement the mongodb delete method. Please visit "mern/server/routes/record.js" on line 74. This is where the delete endpoint should reside'),e.next=10;break;case 8:return e.next=10,a();case 10:e.next=15;break;case 12:e.prev=12,e.t0=e.catch(0),alert("Error : "+e.t0);case 15:case"end":return e.stop()}}),e,null,[[0,12]])})))).apply(this,arguments)}return Object(c.useEffect)((function(){a()}),[n.length]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Record List"}),Object(l.jsxs)("table",{className:"table table-striped",style:{marginTop:20},children:[Object(l.jsx)("thead",{children:Object(l.jsxs)("tr",{children:[Object(l.jsx)("th",{children:"Name"}),Object(l.jsx)("th",{children:"Position"}),Object(l.jsx)("th",{children:"Level"}),Object(l.jsx)("th",{children:"Action"})]})}),Object(l.jsx)("tbody",{children:0===n.length?Object(l.jsx)("div",{children:"No Records Yet..."}):n.map((function(e){return Object(l.jsx)(p,{record:e,deleteRecord:function(){return function(e){return s.apply(this,arguments)}(e._id)}},e._id)}))})]})]})}var O=n(8);function x(){var e=Object(c.useState)({name:"",position:"",level:"",records:[]}),t=Object(h.a)(e,2),n=t[0],r=t[1],a=Object(s.g)(),i=Object(s.f)();function o(e){return r((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function u(){return(u=Object(b.a)(j.a.mark((function e(t){var c;return j.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c={name:n.name,position:n.position,level:n.level},e.next=4,fetch("".concat("","/update/").concat(a.id),{method:"POST",body:JSON.stringify(c),headers:{"Content-Type":"application/json"}});case 4:i("/");case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}return Object(c.useEffect)((function(){function e(){return(e=Object(b.a)(j.a.mark((function e(){var t,n,c,s;return j.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.id.toString(),e.next=3,fetch("".concat("","/record/").concat(a.id.toString()));case 3:if((n=e.sent).ok){e.next=8;break}return c="An error has occured: ".concat(n.statusText),window.alert(c),e.abrupt("return");case 8:return e.next=10,n.json();case 10:if(s=e.sent){e.next=15;break}return window.alert("Record with id ".concat(t," not found")),i("/"),e.abrupt("return");case 15:r(s);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[a.id,i]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Update Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return u.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return o({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return o({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("br",{}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Update Record",className:"btn btn-primary"})})]})]})}function f(){var e=Object(c.useState)({name:"",position:"",level:""}),t=Object(h.a)(e,2),n=t[0],r=t[1],a=Object(s.f)();function i(e){return r((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function o(){return(o=Object(b.a)(j.a.mark((function e(t){var c;return j.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c=Object(O.a)({},n),e.prev=2,e.next=5,fetch("".concat("","/record/add"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});case 5:e.next=11;break;case 7:return e.prev=7,e.t0=e.catch(2),window.alert("Error : "+e.t0),e.abrupt("return");case 11:r({name:"",position:"",level:""}),a("/");case 13:case"end":return e.stop()}}),e,null,[[2,7]])})))).apply(this,arguments)}return Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Create New Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return o.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return i({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return i({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Create person",className:"btn btn-primary"})})]})]})}var v=function(){return Object(l.jsxs)("div",{children:[Object(l.jsx)(u,{}),Object(l.jsx)("div",{style:{margin:20},children:Object(l.jsxs)(s.c,{children:[Object(l.jsx)(s.a,{exact:!0,path:"/",element:Object(l.jsx)(m,{})}),Object(l.jsx)(s.a,{path:"/edit/:id",element:Object(l.jsx)(x,{})}),Object(l.jsx)(s.a,{path:"/create",element:Object(l.jsx)(f,{})})]})})]})};i.a.render(Object(l.jsx)(r.a.StrictMode,{children:Object(l.jsx)(o.a,{children:Object(l.jsx)(v,{})})}),document.getElementById("root"))}},[[19,1,2]]]); +//# sourceMappingURL=main.c2a61789.chunk.js.map \ No newline at end of file diff --git a/mern/server/public/static/js/main.c2a61789.chunk.js.map b/mern/server/public/static/js/main.c2a61789.chunk.js.map new file mode 100644 index 0000000..f065818 --- /dev/null +++ b/mern/server/public/static/js/main.c2a61789.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["components/navbar.js","components/recordList.js","components/edit.js","components/create.js","App.js","index.js"],"names":["Navbar","_jsx","children","_jsxs","className","NavLink","to","style","src","type","data-toggle","data-target","aria-controls","aria-expanded","aria-label","id","Record","props","record","name","position","level","Link","concat","_id","onClick","deleteRecord","RecordList","_useState","useState","_useState2","_slicedToArray","records","setRecords","getRecords","_getRecords","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","response","message","wrap","_context","prev","next","fetch","sent","ok","statusText","window","alert","abrupt","json","stop","_deleteRecord","_callee2","_context2","method","status","t0","useEffect","length","marginTop","map","_x","Edit","form","setForm","params","useParams","navigate","useNavigate","updateForm","value","_objectSpread","_onSubmit","e","editedPerson","preventDefault","body","JSON","stringify","headers","_fetchData","toString","fetchData","onSubmit","htmlFor","onChange","target","checked","Create","newPerson","App","margin","Routes","Route","exact","path","element","ReactDOM","render","React","StrictMode","BrowserRouter","document","getElementById"],"mappings":"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","file":"static/js/main.c2a61789.chunk.js","sourcesContent":["import React from \"react\";\n\n// We import bootstrap to make our application look better.\nimport \"bootstrap/dist/css/bootstrap.css\";\n\n// We import NavLink to utilize the react router.\nimport { NavLink } from \"react-router-dom\";\n\n// Here, we display our Navbar\nexport default function Navbar() {\n return (\n
\n \n
\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nconst Record = (props) => (\n \n {props.record.name}\n {props.record.position}\n {props.record.level}\n \n Edit |\n \n \n \n);\n\nexport default function RecordList() {\n const [records, setRecords] = useState([]);\n\n // This method fetches the records from the database.\n useEffect(() => {\n \n\n getRecords();\n\n return; \n }, [records.length]);\n async function getRecords() {\n const response = await fetch(`${BASE_URL}/record/`);\n\n if (!response.ok) {\n const message = `An error occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const records = await response.json();\n setRecords(records);\n }\n // This method will delete a record\n async function deleteRecord(id) {\n try {\n /*\n Please remove once implement mern/server/routes/record.js lines 74\n */\n const response = await fetch(`${BASE_URL}/${id}`, {\n method: \"DELETE\"\n });\n \n if (response.status === 404) {\n alert('Please implement the mongodb delete method. Please visit \"mern/server/routes/record.js\" on line 74. This is where the delete endpoint should reside');\n } else {\n await getRecords();\n }\n }\n catch(e) {\n alert(\"Error : \" + e)\n }\n }\n\n // This method will map out the records on the table\n function recordList() {\n if (records.length === 0) return
No Records Yet...
\n return records.map((record) => {\n return (\n deleteRecord(record._id)}\n key={record._id}\n />\n );\n });\n }\n\n // This following section will display the table with the records of individuals.\n return (\n
\n

Record List

\n \n \n \n \n \n \n \n \n \n {recordList()}\n
NamePositionLevelAction
\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Edit() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n records: [],\n });\n const params = useParams();\n const navigate = useNavigate();\n\n useEffect(() => {\n async function fetchData() {\n const id = params.id.toString();\n const response = await fetch(`${BASE_URL}/record/${params.id.toString()}`);\n\n if (!response.ok) {\n const message = `An error has occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const record = await response.json();\n if (!record) {\n window.alert(`Record with id ${id} not found`);\n navigate(\"/\");\n return;\n }\n\n setForm(record);\n }\n\n fetchData();\n\n return;\n }, [params.id, navigate]);\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n async function onSubmit(e) {\n e.preventDefault();\n const editedPerson = {\n name: form.name,\n position: form.position,\n level: form.level,\n };\n\n // This will send a post request to update the data in the database.\n await fetch(`${BASE_URL}/update/${params.id}`, {\n method: \"POST\",\n body: JSON.stringify(editedPerson),\n headers: {\n 'Content-Type': 'application/json'\n },\n });\n\n navigate(\"/\");\n }\n\n // This following section will display the form that takes input from the user to update the data.\n return (\n
\n

Update Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n\n
\n \n
\n
\n
\n );\n}\n","import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Create() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n });\n const navigate = useNavigate();\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n\n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = { ...form };\n try {\n await fetch(`${BASE_URL}/record/add`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(newPerson),\n })\n }\n catch(e){\n window.alert(\"Error : \" + e);\n return;\n }\n\n setForm({ name: \"\", position: \"\", level: \"\" });\n navigate(\"/\");\n }\n\n // This following section will display the form that takes the input from the user.\n return (\n
\n

Create New Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n \n
\n
\n
\n );\n}\n","import React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { Route, Routes } from \"react-router-dom\";\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\n\nconst App = () => {\n return (\n
\n \n
\n \n } />\n } />\n } />\n \n
\n
\n );\n};\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport { BrowserRouter } from \"react-router-dom\";\n\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);"],"sourceRoot":""} \ No newline at end of file diff --git a/mern/server/routes/answer.txt b/mern/server/routes/answer.txt new file mode 100644 index 0000000..fcb64c0 --- /dev/null +++ b/mern/server/routes/answer.txt @@ -0,0 +1,9 @@ +recordRoutes.route("/:id").delete((req, response) => { + let db_connect = dbo.getDb(); + let myquery = { _id: ObjectId( req.params.id )}; + db_connect.collection("records").deleteOne(myquery, function (err, obj) { + if (err) throw err; + console.log("1 document deleted"); + response.status(200).json(obj); + }); +}); diff --git a/mern/server/routes/hint.txt b/mern/server/routes/hint.txt new file mode 100644 index 0000000..c70ab02 --- /dev/null +++ b/mern/server/routes/hint.txt @@ -0,0 +1,12 @@ +recordRoutes.route("/:id").delete((req, response) => { + let db_connect = dbo.getDb(); + /////////////////////////////// + // Place the correct code here + let myquery = {...}; + /////////////////////////////// + db_connect.collection("records").deleteOne(myquery, function (err, obj) { + if (err) throw err; + console.log("1 document deleted"); + response.status(200).json(obj); + }); +}); From fd9e96fa61126cf565c1047c667e193cabff87fd Mon Sep 17 00:00:00 2001 From: Pash10g Date: Tue, 28 Mar 2023 09:40:49 +0000 Subject: [PATCH 10/10] Adding Atlas search and new build --- mern/client/build/asset-manifest.json | 14 ++-- mern/client/build/index.html | 2 +- ....6ef6d4dd.chunk.js => 2.285d59e6.chunk.js} | 6 +- ...SE.txt => 2.285d59e6.chunk.js.LICENSE.txt} | 0 .../build/static/js/2.285d59e6.chunk.js.map | 1 + .../build/static/js/2.6ef6d4dd.chunk.js.map | 1 - .../build/static/js/main.c2a61789.chunk.js | 2 - .../static/js/main.c2a61789.chunk.js.map | 1 - .../build/static/js/main.e03411ad.chunk.js | 2 + .../static/js/main.e03411ad.chunk.js.map | 1 + mern/client/src/components/recordList.js | 4 +- mern/client/src/components/searchBar.js | 67 +++++++++++++++++++ mern/server/public/asset-manifest.json | 14 ++-- mern/server/public/index.html | 2 +- ....6ef6d4dd.chunk.js => 2.285d59e6.chunk.js} | 6 +- ...SE.txt => 2.285d59e6.chunk.js.LICENSE.txt} | 0 .../public/static/js/2.285d59e6.chunk.js.map | 1 + .../public/static/js/2.6ef6d4dd.chunk.js.map | 1 - .../public/static/js/main.c2a61789.chunk.js | 2 - .../static/js/main.c2a61789.chunk.js.map | 1 - .../public/static/js/main.e03411ad.chunk.js | 2 + .../static/js/main.e03411ad.chunk.js.map | 1 + mern/server/routes/record.js | 23 +++++++ 23 files changed, 123 insertions(+), 31 deletions(-) rename mern/client/build/static/js/{2.6ef6d4dd.chunk.js => 2.285d59e6.chunk.js} (93%) rename mern/client/build/static/js/{2.6ef6d4dd.chunk.js.LICENSE.txt => 2.285d59e6.chunk.js.LICENSE.txt} (100%) create mode 100644 mern/client/build/static/js/2.285d59e6.chunk.js.map delete mode 100644 mern/client/build/static/js/2.6ef6d4dd.chunk.js.map delete mode 100644 mern/client/build/static/js/main.c2a61789.chunk.js delete mode 100644 mern/client/build/static/js/main.c2a61789.chunk.js.map create mode 100644 mern/client/build/static/js/main.e03411ad.chunk.js create mode 100644 mern/client/build/static/js/main.e03411ad.chunk.js.map create mode 100644 mern/client/src/components/searchBar.js rename mern/server/public/static/js/{2.6ef6d4dd.chunk.js => 2.285d59e6.chunk.js} (93%) rename mern/server/public/static/js/{2.6ef6d4dd.chunk.js.LICENSE.txt => 2.285d59e6.chunk.js.LICENSE.txt} (100%) create mode 100644 mern/server/public/static/js/2.285d59e6.chunk.js.map delete mode 100644 mern/server/public/static/js/2.6ef6d4dd.chunk.js.map delete mode 100644 mern/server/public/static/js/main.c2a61789.chunk.js delete mode 100644 mern/server/public/static/js/main.c2a61789.chunk.js.map create mode 100644 mern/server/public/static/js/main.e03411ad.chunk.js create mode 100644 mern/server/public/static/js/main.e03411ad.chunk.js.map diff --git a/mern/client/build/asset-manifest.json b/mern/client/build/asset-manifest.json index d17f6e7..d14a3cc 100644 --- a/mern/client/build/asset-manifest.json +++ b/mern/client/build/asset-manifest.json @@ -1,20 +1,20 @@ { "files": { - "main.js": "/static/js/main.c2a61789.chunk.js", - "main.js.map": "/static/js/main.c2a61789.chunk.js.map", + "main.js": "/static/js/main.e03411ad.chunk.js", + "main.js.map": "/static/js/main.e03411ad.chunk.js.map", "runtime-main.js": "/static/js/runtime-main.a06e69b5.js", "runtime-main.js.map": "/static/js/runtime-main.a06e69b5.js.map", "static/css/2.73420eac.chunk.css": "/static/css/2.73420eac.chunk.css", - "static/js/2.6ef6d4dd.chunk.js": "/static/js/2.6ef6d4dd.chunk.js", - "static/js/2.6ef6d4dd.chunk.js.map": "/static/js/2.6ef6d4dd.chunk.js.map", + "static/js/2.285d59e6.chunk.js": "/static/js/2.285d59e6.chunk.js", + "static/js/2.285d59e6.chunk.js.map": "/static/js/2.285d59e6.chunk.js.map", "index.html": "/index.html", "static/css/2.73420eac.chunk.css.map": "/static/css/2.73420eac.chunk.css.map", - "static/js/2.6ef6d4dd.chunk.js.LICENSE.txt": "/static/js/2.6ef6d4dd.chunk.js.LICENSE.txt" + "static/js/2.285d59e6.chunk.js.LICENSE.txt": "/static/js/2.285d59e6.chunk.js.LICENSE.txt" }, "entrypoints": [ "static/js/runtime-main.a06e69b5.js", "static/css/2.73420eac.chunk.css", - "static/js/2.6ef6d4dd.chunk.js", - "static/js/main.c2a61789.chunk.js" + "static/js/2.285d59e6.chunk.js", + "static/js/main.e03411ad.chunk.js" ] } \ No newline at end of file diff --git a/mern/client/build/index.html b/mern/client/build/index.html index 07c17a6..80d089f 100644 --- a/mern/client/build/index.html +++ b/mern/client/build/index.html @@ -1 +1 @@ -MongoDB Demo
\ No newline at end of file +MongoDB Demo
\ No newline at end of file diff --git a/mern/client/build/static/js/2.6ef6d4dd.chunk.js b/mern/client/build/static/js/2.285d59e6.chunk.js similarity index 93% rename from mern/client/build/static/js/2.6ef6d4dd.chunk.js rename to mern/client/build/static/js/2.285d59e6.chunk.js index 2b487af..8b3db4d 100644 --- a/mern/client/build/static/js/2.6ef6d4dd.chunk.js +++ b/mern/client/build/static/js/2.285d59e6.chunk.js @@ -1,3 +1,3 @@ -/*! For license information please see 2.6ef6d4dd.chunk.js.LICENSE.txt */ -(this.webpackJsonpclient=this.webpackJsonpclient||[]).push([[2],[function(e,t,n){"use strict";e.exports=n(17)},function(e,t,n){"use strict";e.exports=n(12)},function(e,t,n){"use strict";n.d(t,"a",(function(){return f})),n.d(t,"b",(function(){return d})),n.d(t,"c",(function(){return p})),n.d(t,"d",(function(){return h})),n.d(t,"e",(function(){return m})),n.d(t,"f",(function(){return g})),n.d(t,"g",(function(){return b})),n.d(t,"h",(function(){return w}));var r=n(4),a=n(1),l=n(3);function o(e,t){if(!e)throw new Error(t)}var i=Object(a.createContext)(null);var u=Object(a.createContext)(null);var c=Object(a.createContext)({outlet:null,matches:[]});function s(e){return function(e){var t=Object(a.useContext)(c).outlet;if(t)return Object(a.createElement)(y.Provider,{value:e},t);return t}(e.context)}function f(e){o(!1)}function d(e){var t=e.basename,n=void 0===t?"/":t,r=e.children,c=void 0===r?null:r,s=e.location,f=e.navigationType,d=void 0===f?l.a.Pop:f,p=e.navigator,h=e.static,m=void 0!==h&&h;v()&&o(!1);var g=z(n),y=Object(a.useMemo)((function(){return{basename:g,navigator:p,static:m}}),[g,p,m]);"string"===typeof s&&(s=Object(l.f)(s));var b=s,w=b.pathname,k=void 0===w?"/":w,E=b.search,S=void 0===E?"":E,x=b.hash,_=void 0===x?"":x,C=b.state,P=void 0===C?null:C,O=b.key,L=void 0===O?"default":O,T=Object(a.useMemo)((function(){var e=N(k,g);return null==e?null:{pathname:e,search:S,hash:_,state:P,key:L}}),[g,k,S,_,P,L]);return null==T?null:Object(a.createElement)(i.Provider,{value:y},Object(a.createElement)(u.Provider,{children:c,value:{location:T,navigationType:d}}))}function p(e){var t=e.children,n=e.location;return function(e,t){v()||o(!1);var n=Object(a.useContext)(c).matches,r=n[n.length-1],i=r?r.params:{},u=(r&&r.pathname,r?r.pathnameBase:"/");r&&r.route;0;var s,f=m();if(t){var d,p="string"===typeof t?Object(l.f)(t):t;"/"===u||(null==(d=p.pathname)?void 0:d.startsWith(u))||o(!1),s=p}else s=f;var h=s.pathname||"/",g="/"===u?h:h.slice(u.length)||"/",y=function(e,t,n){void 0===n&&(n="/");var r=N(("string"===typeof t?Object(l.f)(t):t).pathname||"/",n);if(null==r)return null;var a=E(e);!function(e){e.sort((function(e,t){return e.score!==t.score?t.score-e.score:function(e,t){return e.length===t.length&&e.slice(0,-1).every((function(e,n){return e===t[n]}))?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((function(e){return e.childrenIndex})),t.routesMeta.map((function(e){return e.childrenIndex})))}))}(a);for(var o=null,i=0;null==o&&i0&&(!0===e.index&&o(!1),E(e.children,t,u,i)),(null!=e.path||e.index)&&t.push({path:i,score:_(i,e.index),routesMeta:u})})),t}var S=/^:\w+$/,x=function(e){return"*"===e};function _(e,t){var n=e.split("/"),r=n.length;return n.some(x)&&(r+=-2),t&&(r+=2),n.filter((function(e){return!x(e)})).reduce((function(e,t){return e+(S.test(t)?3:""===t?1:10)}),r)}function C(e,t){for(var n=e.routesMeta,r={},a="/",l=[],o=0;o=0?t[i]:"/"}var c=function(e,t){void 0===t&&(t="/");var n="string"===typeof e?Object(l.f)(e):e,r=n.pathname,a=n.search,o=void 0===a?"":a,i=n.hash,u=void 0===i?"":i;return{pathname:r?r.startsWith("/")?r:function(e,t){var n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach((function(e){".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)})),n.length>1?n.join("/"):"/"}(r,t):t,search:j(o),hash:R(u)}}(a,r);return o&&"/"!==o&&o.endsWith("/")&&!c.pathname.endsWith("/")&&(c.pathname+="/"),c}function N(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;var n=e.charAt(t.length);return n&&"/"!==n?null:e.slice(t.length)||"/"}var T=function(e){return e.join("/").replace(/\/\/+/g,"/")},z=function(e){return e.replace(/\/+$/,"").replace(/^\/*/,"/")},j=function(e){return e&&"?"!==e?e.startsWith("?")?e:"?"+e:""},R=function(e){return e&&"#"!==e?e.startsWith("#")?e:"#"+e:""}},function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t=0||(a[n]=e[n]);return a}var c=["onClick","reloadDocument","replace","state","target","to"],s=["aria-current","caseSensitive","className","end","style","to","children"];function f(e){var t=e.basename,n=e.children,i=e.window,u=Object(a.useRef)();null==u.current&&(u.current=Object(l.b)({window:i}));var c=u.current,s=Object(a.useState)({action:c.action,location:c.location}),f=Object(r.a)(s,2),d=f[0],p=f[1];return Object(a.useLayoutEffect)((function(){return c.listen(p)}),[c]),Object(a.createElement)(o.b,{basename:t,children:n,location:d.location,navigationType:d.action,navigator:c})}var d=Object(a.forwardRef)((function(e,t){var n=e.onClick,r=e.reloadDocument,s=e.replace,f=void 0!==s&&s,d=e.state,p=e.target,h=e.to,v=u(e,c),m=Object(o.d)(h),g=function(e,t){var n=void 0===t?{}:t,r=n.target,i=n.replace,u=n.state,c=Object(o.f)(),s=Object(o.e)(),f=Object(o.h)(e);return Object(a.useCallback)((function(t){if(0===t.button&&(!r||"_self"===r)&&!function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(t)){t.preventDefault();var n=!!i||Object(l.e)(s)===Object(l.e)(f);c(e,{replace:n,state:u})}}),[s,c,f,i,u,r,e])}(h,{replace:f,state:d,target:p});return Object(a.createElement)("a",i({},v,{href:m,onClick:function(e){n&&n(e),e.defaultPrevented||r||g(e)},ref:t,target:p}))}));var p=Object(a.forwardRef)((function(e,t){var n=e["aria-current"],r=void 0===n?"page":n,l=e.caseSensitive,c=void 0!==l&&l,f=e.className,p=void 0===f?"":f,h=e.end,v=void 0!==h&&h,m=e.style,g=e.to,y=e.children,b=u(e,s),w=Object(o.e)(),k=Object(o.h)(g),E=w.pathname,S=k.pathname;c||(E=E.toLowerCase(),S=S.toLowerCase());var x,_=E===S||!v&&E.startsWith(S)&&"/"===E.charAt(S.length),C=_?r:void 0;x="function"===typeof p?p({isActive:_}):[p,_?"active":null].filter(Boolean).join(" ");var P="function"===typeof m?m({isActive:_}):m;return Object(a.createElement)(d,i({},b,{"aria-current":C,className:x,ref:t,style:P,to:g}),"function"===typeof y?y({isActive:_}):y)}))},function(e,t,n){"use strict";function r(e,t,n,r,a,l,o){try{var i=e[l](o),u=i.value}catch(c){return void n(c)}i.done?t(u):Promise.resolve(u).then(r,a)}function a(e){return function(){var t=this,n=arguments;return new Promise((function(a,l){var o=e.apply(t,n);function i(e){r(o,a,l,i,u,"next",e)}function u(e){r(o,a,l,i,u,"throw",e)}i(void 0)}))}}n.d(t,"a",(function(){return a}))},function(e,t,n){"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n
works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original to value had one.\n if (\n toPathname &&\n toPathname !== \"/\" &&\n toPathname.endsWith(\"/\") &&\n !path.pathname.endsWith(\"/\")\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\nfunction getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\nfunction stripBasename(pathname: string, basename: string): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n let nextChar = pathname.charAt(basename.length);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(basename.length) || \"/\";\n}\n\nconst joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\nconst normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\nconst normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\nconst normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n NavigationContext as UNSAFE_NavigationContext,\n LocationContext as UNSAFE_LocationContext,\n RouteContext as UNSAFE_RouteContext\n};\n","module.exports = require(\"regenerator-runtime\");\n","import arrayWithHoles from \"@babel/runtime/helpers/esm/arrayWithHoles\";\nimport iterableToArrayLimit from \"@babel/runtime/helpers/esm/iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableRest from \"@babel/runtime/helpers/esm/nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import * as React from \"react\";\nimport type { BrowserHistory, HashHistory, History } from \"history\";\nimport { createBrowserHistory, createHashHistory, createPath } from \"history\";\nimport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n resolvePath,\n renderMatches,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext\n} from \"react-router\";\nimport type { To } from \"react-router\";\n\nfunction warning(cond: boolean, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// RE-EXPORTS\n////////////////////////////////////////////////////////////////////////////////\n\n// Note: Keep in sync with react-router exports!\nexport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n renderMatches,\n resolvePath,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext\n};\n\nexport type {\n Location,\n Path,\n To,\n NavigationType,\n MemoryRouterProps,\n NavigateFunction,\n NavigateOptions,\n NavigateProps,\n Navigator,\n OutletProps,\n Params,\n PathMatch,\n RouteMatch,\n RouteObject,\n RouteProps,\n PathRouteProps,\n LayoutRouteProps,\n IndexRouteProps,\n RouterProps,\n RoutesProps\n} from \"react-router\";\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n UNSAFE_NavigationContext,\n UNSAFE_LocationContext,\n UNSAFE_RouteContext\n} from \"react-router\";\n\n////////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n////////////////////////////////////////////////////////////////////////////////\n\nexport interface BrowserRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `` for use in web browsers. Provides the cleanest URLs.\n */\nexport function BrowserRouter({\n basename,\n children,\n window\n}: BrowserRouterProps) {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createBrowserHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface HashRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nexport function HashRouter({ basename, children, window }: HashRouterProps) {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createHashHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface HistoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n history: History;\n}\n\n/**\n * A `` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter({ basename, children, history }: HistoryRouterProps) {\n const [state, setState] = React.useState({\n action: history.action,\n location: history.location\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nif (__DEV__) {\n HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\n\nexport { HistoryRouter as unstable_HistoryRouter };\n\nfunction isModifiedEvent(event: React.MouseEvent) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nexport interface LinkProps\n extends Omit, \"href\"> {\n reloadDocument?: boolean;\n replace?: boolean;\n state?: any;\n to: To;\n}\n\n/**\n * The public API for rendering a history-aware .\n */\nexport const Link = React.forwardRef(\n function LinkWithRef(\n { onClick, reloadDocument, replace = false, state, target, to, ...rest },\n ref\n ) {\n let href = useHref(to);\n let internalOnClick = useLinkClickHandler(to, { replace, state, target });\n function handleClick(\n event: React.MouseEvent\n ) {\n if (onClick) onClick(event);\n if (!event.defaultPrevented && !reloadDocument) {\n internalOnClick(event);\n }\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/anchor-has-content\n \n );\n }\n);\n\nif (__DEV__) {\n Link.displayName = \"Link\";\n}\n\nexport interface NavLinkProps\n extends Omit {\n children:\n | React.ReactNode\n | ((props: { isActive: boolean }) => React.ReactNode);\n caseSensitive?: boolean;\n className?: string | ((props: { isActive: boolean }) => string);\n end?: boolean;\n style?:\n | React.CSSProperties\n | ((props: { isActive: boolean }) => React.CSSProperties);\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nexport const NavLink = React.forwardRef(\n function NavLinkWithRef(\n {\n \"aria-current\": ariaCurrentProp = \"page\",\n caseSensitive = false,\n className: classNameProp = \"\",\n end = false,\n style: styleProp,\n to,\n children,\n ...rest\n },\n ref\n ) {\n let location = useLocation();\n let path = useResolvedPath(to);\n\n let locationPathname = location.pathname;\n let toPathname = path.pathname;\n if (!caseSensitive) {\n locationPathname = locationPathname.toLowerCase();\n toPathname = toPathname.toLowerCase();\n }\n\n let isActive =\n locationPathname === toPathname ||\n (!end &&\n locationPathname.startsWith(toPathname) &&\n locationPathname.charAt(toPathname.length) === \"/\");\n\n let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n\n let className: string;\n if (typeof classNameProp === \"function\") {\n className = classNameProp({ isActive });\n } else {\n // If the className prop is not a function, we use a default `active`\n // class for s that are active. In v5 `active` was the default\n // value for `activeClassName`, but we are removing that API and can still\n // use the old default behavior for a cleaner upgrade path and keep the\n // simple styling rules working as they currently do.\n className = [classNameProp, isActive ? \"active\" : null]\n .filter(Boolean)\n .join(\" \");\n }\n\n let style =\n typeof styleProp === \"function\" ? styleProp({ isActive }) : styleProp;\n\n return (\n \n {typeof children === \"function\" ? children({ isActive }) : children}\n \n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// HOOKS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Handles the click behavior for router `` components. This is useful if\n * you need to create custom `` components with the same click behavior we\n * use in our exported ``.\n */\nexport function useLinkClickHandler(\n to: To,\n {\n target,\n replace: replaceProp,\n state\n }: {\n target?: React.HTMLAttributeAnchorTarget;\n replace?: boolean;\n state?: any;\n } = {}\n): (event: React.MouseEvent) => void {\n let navigate = useNavigate();\n let location = useLocation();\n let path = useResolvedPath(to);\n\n return React.useCallback(\n (event: React.MouseEvent) => {\n if (\n event.button === 0 && // Ignore everything but left clicks\n (!target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // Ignore clicks with modifier keys\n ) {\n event.preventDefault();\n\n // If the URL hasn't changed, a regular will do a replace instead of\n // a push, so do the same here.\n let replace =\n !!replaceProp || createPath(location) === createPath(path);\n\n navigate(to, { replace, state });\n }\n },\n [location, navigate, path, replaceProp, state, target, to]\n );\n}\n\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\nexport function useSearchParams(defaultInit?: URLSearchParamsInit) {\n warning(\n typeof URLSearchParams !== \"undefined\",\n `You cannot use the \\`useSearchParams\\` hook in a browser that does not ` +\n `support the URLSearchParams API. If you need to support Internet ` +\n `Explorer 11, we recommend you load a polyfill such as ` +\n `https://github.com/ungap/url-search-params\\n\\n` +\n `If you're unsure how to load polyfills, we recommend you check out ` +\n `https://polyfill.io/v3/ which provides some recommendations about how ` +\n `to load polyfills only for users that need them, instead of for every ` +\n `user.`\n );\n\n let defaultSearchParamsRef = React.useRef(createSearchParams(defaultInit));\n\n let location = useLocation();\n let searchParams = React.useMemo(() => {\n let searchParams = createSearchParams(location.search);\n\n for (let key of defaultSearchParamsRef.current.keys()) {\n if (!searchParams.has(key)) {\n defaultSearchParamsRef.current.getAll(key).forEach(value => {\n searchParams.append(key, value);\n });\n }\n }\n\n return searchParams;\n }, [location.search]);\n\n let navigate = useNavigate();\n let setSearchParams = React.useCallback(\n (\n nextInit: URLSearchParamsInit,\n navigateOptions?: { replace?: boolean; state?: any }\n ) => {\n navigate(\"?\" + createSearchParams(nextInit), navigateOptions);\n },\n [navigate]\n );\n\n return [searchParams, setSearchParams] as const;\n}\n\nexport type ParamKeyValuePair = [string, string];\n\nexport type URLSearchParamsInit =\n | string\n | ParamKeyValuePair[]\n | Record\n | URLSearchParams;\n\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nexport function createSearchParams(\n init: URLSearchParamsInit = \"\"\n): URLSearchParams {\n return new URLSearchParams(\n typeof init === \"string\" ||\n Array.isArray(init) ||\n init instanceof URLSearchParams\n ? init\n : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(\n Array.isArray(value) ? value.map(v => [key, v]) : [[key, value]]\n );\n }, [] as ParamKeyValuePair[])\n );\n}\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","/** @license React v17.0.2\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"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 xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){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 mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){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 xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;ad?0:1<c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;az?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;zz?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;af))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0c?98:c,function(){a(!0)});gg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eJi&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;ee&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10 component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;tO()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","/** @license React v17.0.2\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';require(\"object-assign\");var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/mern/client/build/static/js/2.6ef6d4dd.chunk.js.map b/mern/client/build/static/js/2.6ef6d4dd.chunk.js.map deleted file mode 100644 index c430af7..0000000 --- a/mern/client/build/static/js/2.6ef6d4dd.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../node_modules/react/jsx-runtime.js","../node_modules/react/index.js","../../../../packages/react-router/index.tsx","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator/index.js","../../../../packages/react-router-dom/index.tsx","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/object-assign/index.js","../node_modules/react-dom/index.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/scheduler/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/regenerator-runtime/runtime.js"],"names":["module","exports","require","invariant","cond","message","Error","NavigationContext","createContext","LocationContext","RouteContext","outlet","matches","Outlet","props","context","useContext","createElement","OutletContext","Provider","value","useOutlet","Route","_props","Router","_ref3","_ref3$basename","basename","basenameProp","_ref3$children","children","locationProp","location","_ref3$navigationType","navigationType","Action","Pop","navigator","_ref3$static","static","staticProp","useInRouterContext","normalizePathname","navigationContext","useMemo","parsePath","_locationProp","_locationProp$pathnam","pathname","_locationProp$search","search","_locationProp$hash","hash","_locationProp$state","state","_locationProp$key","key","trailingPathname","stripBasename","Routes","_ref4","routes","locationArg","parentMatches","routeMatch","length","parentParams","params","parentPathnameBase","pathnameBase","route","process","locationFromContext","useLocation","_parsedLocationArg$pa","parsedLocationArg","startsWith","remainingPathname","slice","branches","flattenRoutes","sort","a","b","score","every","n","i","compareIndexes","routesMeta","map","meta","childrenIndex","rankRouteBranches","matchRouteBranch","matchRoutes","_renderMatches","match","Object","assign","joinPaths","useRoutes","createRoutesFromChildren","useHref","to","_useContext","_useResolvedPath","useResolvedPath","joinedPathname","toPathname","getToPathname","endsWithSlash","endsWith","createHref","useNavigate","_useContext2","locationPathname","routePathnamesJson","JSON","stringify","activeRef","useRef","useEffect","current","useCallback","options","path","resolveTo","parse","replace","push","go","useParams","Children","forEach","element","isValidElement","type","Fragment","caseSensitive","index","apply","parentsMeta","parentPath","relativePath","concat","computeScore","paramRe","isSplat","s","segments","split","initialScore","some","filter","reduce","segment","test","branch","matchedParams","matchedPathname","end","matchPath","reduceRight","undefined","pattern","_compilePath","paramNames","regexpSource","_","paramName","RegExp","compilePath","_compilePath2","_slicedToArray","matcher","captureGroups","memo","splatValue","decodeURIComponent","error","safelyDecodeURIComponent","toArg","routePathnames","from","routePathnameIndex","toSegments","shift","join","fromPathname","_ref5","_ref5$search","_ref5$hash","pop","resolvePathname","normalizeSearch","normalizeHash","resolvePath","toLowerCase","nextChar","charAt","paths","_extends","target","arguments","source","prototype","hasOwnProperty","call","this","arr","Array","isArray","Symbol","iterator","_arr","_n","_d","_e","_s","_i","next","done","err","unsupportedIterableToArray","TypeError","BrowserRouter","_ref","window","historyRef","createBrowserHistory","history","_useState","useState","action","_useState2","setState","useLayoutEffect","listen","Link","forwardRef","ref","onClick","reloadDocument","_ref4$replace","rest","_objectWithoutPropertiesLoose","_excluded","href","internalOnClick","_temp","_ref6","replaceProp","navigate","event","button","metaKey","altKey","ctrlKey","shiftKey","isModifiedEvent","preventDefault","createPath","useLinkClickHandler","defaultPrevented","NavLink","_ref5$ariaCurrent","ariaCurrentProp","_ref5$caseSensitive","_ref5$className","className","classNameProp","_ref5$end","styleProp","style","_excluded2","isActive","ariaCurrent","Boolean","aria-current","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","Promise","then","_asyncToGenerator","fn","self","args","_defineProperty","obj","defineProperty","enumerable","configurable","writable","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_objectSpread2","getOwnPropertyDescriptors","defineProperties","_arrayLikeToArray","len","arr2","_unsupportedIterableToArray","o","minLen","toString","constructor","name","propIsEnumerable","propertyIsEnumerable","toObject","val","test1","String","getOwnPropertyNames","test2","fromCharCode","test3","letter","shouldUseNative","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","console","l","p","StrictMode","Profiler","q","r","t","Suspense","u","v","for","w","x","z","c","encodeURIComponent","A","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","B","C","refs","updater","D","E","isReactComponent","forceUpdate","F","isPureReactComponent","G","H","I","__self","__source","J","e","d","k","h","g","f","m","defaultProps","$$typeof","_owner","L","M","N","escape","O","K","y","P","Q","_status","_result","default","R","S","T","ReactCurrentDispatcher","ReactCurrentBatchConfig","transition","ReactCurrentOwner","IsSomeRendererActing","count","toArray","only","Component","PureComponent","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","cloneElement","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","Consumer","_context","createFactory","bind","createRef","render","lazy","_payload","_init","compare","useDebugValue","useImperativeHandle","useReducer","version","aa","ba","Set","ca","da","ea","add","fa","document","ha","ia","ja","ka","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","oa","pa","toUpperCase","qa","ma","isNaN","na","la","removeAttribute","setAttribute","setAttributeNS","xlinkHref","ra","sa","ta","ua","wa","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ma","Ka","La","Na","stack","trim","Oa","Pa","prepareStackTrace","set","Reflect","construct","displayName","Qa","tag","_render","Ra","Sa","Ta","nodeName","Va","_valueTracker","get","getValue","setValue","stopTracking","Ua","Wa","checked","Xa","activeElement","body","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","$a","ab","bb","cb","ownerDocument","eb","db","fb","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","hb","ib","jb","textContent","kb","lb","mb","nb","ob","namespaceURI","innerHTML","valueOf","firstChild","removeChild","appendChild","MSApp","execUnsafeLocalFunction","pb","lastChild","nodeType","nodeValue","qb","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","rb","sb","tb","indexOf","setProperty","substring","ub","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","param","track","wbr","vb","wb","is","xb","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Ob","Pb","Qb","addEventListener","removeEventListener","Rb","onError","Sb","Tb","Ub","Vb","Wb","Xb","Zb","alternate","return","flags","$b","memoizedState","dehydrated","ac","cc","child","sibling","bc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","nc","Map","oc","pc","qc","rc","blockedOn","domEventName","eventSystemFlags","nativeEvent","targetContainers","sc","delete","pointerId","tc","vc","wc","lanePriority","unstable_runWithPriority","priority","hydrate","containerInfo","xc","yc","zc","Ac","Bc","unstable_scheduleCallback","unstable_NormalPriority","Cc","Dc","Ec","animationend","animationiteration","animationstart","transitionend","Fc","Gc","Hc","animation","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","unstable_now","Rc","Uc","pendingLanes","expiredLanes","suspendedLanes","pingedLanes","Vc","entangledLanes","entanglements","Wc","Xc","Yc","Zc","$c","eventTimes","Math","clz32","bd","cd","log","LN2","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","id","uc","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","returnValue","isPropagationStopped","stopPropagation","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","Date","now","isTrusted","td","ud","view","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","getModifierState","zd","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Jd","clipboardData","Ld","data","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","8","9","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","Od","Alt","Control","Meta","Shift","Pd","Rd","code","repeat","locale","which","Td","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Zd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","color","date","datetime","email","month","number","password","range","tel","text","time","url","week","me","ne","oe","listeners","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","Le","node","offset","nextSibling","Me","contains","compareDocumentPosition","Ne","HTMLIFrameElement","contentWindow","Oe","contentEditable","Pe","Qe","Re","Se","Te","Ue","start","selectionStart","selectionEnd","anchorNode","defaultView","getSelection","anchorOffset","focusNode","focusOffset","Ve","We","Xe","Ye","Ze","Yb","instance","listener","$e","has","af","bf","random","cf","df","capture","passive","Nb","ef","ff","parentWindow","gf","hf","je","char","ke","unshift","jf","kf","lf","mf","autoFocus","nf","__html","of","setTimeout","pf","clearTimeout","qf","rf","sf","previousSibling","tf","vf","wf","xf","yf","zf","Af","Bf","Cf","Df","Ef","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","childContextTypes","Gf","Hf","If","getChildContext","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","Of","Pf","unstable_cancelCallback","Qf","unstable_shouldYield","Rf","unstable_requestPaint","Sf","Tf","unstable_getCurrentPriorityLevel","Uf","unstable_ImmediatePriority","Vf","Wf","Xf","unstable_LowPriority","Yf","unstable_IdlePriority","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","childLanes","tg","dependencies","firstContext","lanes","ug","vg","observedBits","responders","wg","xg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","yg","zg","eventTime","lane","payload","callback","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Kg","_reactInternals","Hg","Ig","Jg","Lg","shouldComponentUpdate","Mg","contextType","Ng","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Og","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Pg","Qg","_stringRef","Rg","Sg","lastEffect","nextEffect","firstEffect","Tg","Ug","mode","elementType","Vg","implementation","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","documentElement","tagName","fh","gh","hh","ih","memoizedProps","revealOrder","jh","kh","lh","mh","nh","oh","pendingProps","ph","qh","rh","sh","th","uh","_workInProgressVersionPrimary","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","baseQueue","queue","Ih","Jh","Kh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","dispatch","Lh","Mh","_getVersion","_source","mutableReadLanes","Nh","U","getSnapshot","subscribe","setSnapshot","Oh","Ph","Qh","Rh","create","destroy","deps","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","readContext","useDeferredValue","useTransition","useMutableSource","useOpaqueIdentifier","unstable_isNewReconciler","uf","ei","fi","gi","hi","ii","ji","ki","li","mi","baseLanes","ni","oi","pi","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","qi","getDerivedStateFromError","ri","pendingContext","Bi","Di","Ei","si","retryLane","ti","fallback","unstable_avoidThisFallback","ui","unstable_expectedLoadTime","vi","wi","xi","yi","zi","isBackwards","rendering","renderingStartTime","last","tail","tailMode","Ai","Fi","Gi","wasMultiple","multiple","onclick","size","createElementNS","createTextNode","V","Hi","Ii","W","Ji","Ki","Li","Mi","Ni","Oi","WeakMap","Pi","Qi","Ri","Si","componentDidCatch","Ti","componentStack","Ui","WeakSet","Vi","Wi","Xi","__reactInternalSnapshotBeforeUpdate","Yi","Zi","$i","focus","aj","display","bj","onCommitFiberUnmount","componentWillUnmount","cj","dj","ej","fj","gj","hj","insertBefore","_reactRootContainer","ij","jj","kj","lj","mj","nj","ceil","oj","pj","X","Y","qj","rj","sj","tj","uj","vj","Infinity","wj","ck","Z","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Sc","Kj","Lj","Mj","callbackNode","expirationTimes","callbackPriority","Tc","Nj","Oj","Pj","Qj","Rj","Sj","Tj","finishedWork","finishedLanes","Uj","timeoutHandle","Wj","Xj","pingCache","Yj","Zj","va","ak","bk","dk","rangeCount","focusedElem","selectionRange","ek","min","extend","createRange","setStart","removeAllRanges","addRange","setEnd","left","scrollLeft","top","scrollTop","onCommitFiberRoot","fk","gk","ik","pendingChildren","jk","mutableSourceEagerHydrationData","kk","lk","mk","nk","ok","qk","hydrationOptions","mutableSources","_internalRoot","rk","tk","hasAttribute","sk","uk","hk","unstable_observedBits","unmount","querySelectorAll","form","Vj","vk","Events","wk","findFiberByHostInstance","bundleType","rendererPackageName","xk","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","yk","isDisabled","supportsFiber","inject","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","performance","MessageChannel","unstable_forceFrameRate","cancelAnimationFrame","requestAnimationFrame","floor","port2","port1","onmessage","postMessage","sortIndex","startTime","expirationTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","delay","unstable_wrapCallback","jsx","jsxs","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","GenStateSuspendedStart","method","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","result","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","iter","reverse","skipTempReset","prev","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function"],"mappings":"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","file":"static/js/2.6ef6d4dd.chunk.js","sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","import * as React from \"react\";\nimport type {\n History,\n InitialEntry,\n Location,\n MemoryHistory,\n Path,\n To\n} from \"history\";\nimport {\n Action as NavigationType,\n createMemoryHistory,\n parsePath\n} from \"history\";\n\nexport type { Location, Path, To, NavigationType };\n\nfunction invariant(cond: any, message: string): asserts cond {\n if (!cond) throw new Error(message);\n}\n\nfunction warning(cond: any, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nconst alreadyWarned: Record = {};\nfunction warningOnce(key: string, cond: boolean, message: string) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// CONTEXT\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\nexport type Navigator = Pick;\n\ninterface NavigationContextObject {\n basename: string;\n navigator: Navigator;\n static: boolean;\n}\n\nconst NavigationContext = React.createContext(null!);\n\nif (__DEV__) {\n NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n location: Location;\n navigationType: NavigationType;\n}\n\nconst LocationContext = React.createContext(null!);\n\nif (__DEV__) {\n LocationContext.displayName = \"Location\";\n}\n\ninterface RouteContextObject {\n outlet: React.ReactElement | null;\n matches: RouteMatch[];\n}\n\nconst RouteContext = React.createContext({\n outlet: null,\n matches: []\n});\n\nif (__DEV__) {\n RouteContext.displayName = \"Route\";\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n///////////////////////////////////////////////////////////////////////////////\n\nexport interface MemoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n}\n\n/**\n * A that stores all entries in memory.\n *\n * @see https://reactrouter.com/docs/en/v6/api#memoryrouter\n */\nexport function MemoryRouter({\n basename,\n children,\n initialEntries,\n initialIndex\n}: MemoryRouterProps): React.ReactElement {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({ initialEntries, initialIndex });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface NavigateProps {\n to: To;\n replace?: boolean;\n state?: any;\n}\n\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/docs/en/v6/api#navigate\n */\nexport function Navigate({ to, replace, state }: NavigateProps): null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n ` may be used only in the context of a component.`\n );\n\n warning(\n !React.useContext(NavigationContext).static,\n ` must not be used on the initial render in a . ` +\n `This is a no-op, but you should modify your code so the is ` +\n `only ever rendered in response to some user interaction or state change.`\n );\n\n let navigate = useNavigate();\n React.useEffect(() => {\n navigate(to, { replace, state });\n });\n\n return null;\n}\n\nexport interface OutletProps {\n context?: unknown;\n}\n\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/docs/en/v6/api#outlet\n */\nexport function Outlet(props: OutletProps): React.ReactElement | null {\n return useOutlet(props.context);\n}\n\nexport interface RouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: boolean;\n path?: string;\n}\n\nexport interface PathRouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: false;\n path: string;\n}\n\nexport interface LayoutRouteProps {\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n}\n\nexport interface IndexRouteProps {\n element?: React.ReactNode | null;\n index: true;\n}\n\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#route\n */\nexport function Route(\n _props: PathRouteProps | LayoutRouteProps | IndexRouteProps\n): React.ReactElement | null {\n invariant(\n false,\n `A is only ever to be used as the child of element, ` +\n `never rendered directly. Please wrap your in a .`\n );\n}\n\nexport interface RouterProps {\n basename?: string;\n children?: React.ReactNode;\n location: Partial | string;\n navigationType?: NavigationType;\n navigator: Navigator;\n static?: boolean;\n}\n\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a directly. Instead, you'll render a\n * router that is more specific to your environment such as a \n * in web browsers or a for server rendering.\n *\n * @see https://reactrouter.com/docs/en/v6/api#router\n */\nexport function Router({\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = NavigationType.Pop,\n navigator,\n static: staticProp = false\n}: RouterProps): React.ReactElement | null {\n invariant(\n !useInRouterContext(),\n `You cannot render a inside another .` +\n ` You should never have more than one in your app.`\n );\n\n let basename = normalizePathname(basenameProp);\n let navigationContext = React.useMemo(\n () => ({ basename, navigator, static: staticProp }),\n [basename, navigator, staticProp]\n );\n\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\"\n } = locationProp;\n\n let location = React.useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n\n if (trailingPathname == null) {\n return null;\n }\n\n return {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key\n };\n }, [basename, pathname, search, hash, state, key]);\n\n warning(\n location != null,\n ` is not able to match the URL ` +\n `\"${pathname}${search}${hash}\" because it does not start with the ` +\n `basename, so the won't render anything.`\n );\n\n if (location == null) {\n return null;\n }\n\n return (\n \n \n \n );\n}\n\nexport interface RoutesProps {\n children?: React.ReactNode;\n location?: Partial | string;\n}\n\n/**\n * A container for a nested tree of elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#routes\n */\nexport function Routes({\n children,\n location\n}: RoutesProps): React.ReactElement | null {\n return useRoutes(createRoutesFromChildren(children), location);\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// HOOKS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usehref\n */\nexport function useHref(to: To): string {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to);\n\n let joinedPathname = pathname;\n if (basename !== \"/\") {\n let toPathname = getToPathname(to);\n let endsWithSlash = toPathname != null && toPathname.endsWith(\"/\");\n joinedPathname =\n pathname === \"/\"\n ? basename + (endsWithSlash ? \"/\" : \"\")\n : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({ pathname: joinedPathname, search, hash });\n}\n\n/**\n * Returns true if this component is a descendant of a .\n *\n * @see https://reactrouter.com/docs/en/v6/api#useinroutercontext\n */\nexport function useInRouterContext(): boolean {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/docs/en/v6/api#uselocation\n */\nexport function useLocation(): Location {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a component.`\n );\n\n return React.useContext(LocationContext).location;\n}\n\ntype ParamParseFailed = { failed: true };\n\ntype ParamParseSegment =\n // Check here if there exists a forward slash in the string.\n Segment extends `${infer LeftSegment}/${infer RightSegment}`\n ? // If there is a forward slash, then attempt to parse each side of the\n // forward slash.\n ParamParseSegment extends infer LeftResult\n ? ParamParseSegment extends infer RightResult\n ? LeftResult extends string\n ? // If the left side is successfully parsed as a param, then check if\n // the right side can be successfully parsed as well. If both sides\n // can be parsed, then the result is a union of the two sides\n // (read: \"foo\" | \"bar\").\n RightResult extends string\n ? LeftResult | RightResult\n : LeftResult\n : // If the left side is not successfully parsed as a param, then check\n // if only the right side can be successfully parse as a param. If it\n // can, then the result is just right, else it's a failure.\n RightResult extends string\n ? RightResult\n : ParamParseFailed\n : ParamParseFailed\n : // If the left side didn't parse into a param, then just check the right\n // side.\n ParamParseSegment extends infer RightResult\n ? RightResult extends string\n ? RightResult\n : ParamParseFailed\n : ParamParseFailed\n : // If there's no forward slash, then check if this segment starts with a\n // colon. If it does, then this is a dynamic segment, so the result is\n // just the remainder of the string. Otherwise, it's a failure.\n Segment extends `:${infer Remaining}`\n ? Remaining\n : ParamParseFailed;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\ntype ParamParseKey =\n ParamParseSegment extends string\n ? ParamParseSegment\n : string;\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigationtype\n */\nexport function useNavigationType(): NavigationType {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns true if the URL for the given \"to\" value matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * .\n *\n * @see https://reactrouter.com/docs/en/v6/api#usematch\n */\nexport function useMatch<\n ParamKey extends ParamParseKey,\n Path extends string\n>(pattern: PathPattern | Path): PathMatch | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a component.`\n );\n\n let { pathname } = useLocation();\n return React.useMemo(\n () => matchPath(pattern, pathname),\n [pathname, pattern]\n );\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\nexport interface NavigateFunction {\n (to: To, options?: NavigateOptions): void;\n (delta: number): void;\n}\n\nexport interface NavigateOptions {\n replace?: boolean;\n state?: any;\n}\n\n/**\n * Returns an imperative method for changing the location. Used by s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigate\n */\nexport function useNavigate(): NavigateFunction {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n matches.map(match => match.pathnameBase)\n );\n\n let activeRef = React.useRef(false);\n React.useEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(\n activeRef.current,\n `You should call navigate() in a React.useEffect(), not when ` +\n `your component is first rendered.`\n );\n\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname\n );\n\n if (basename !== \"/\") {\n path.pathname = joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(\n path,\n options.state\n );\n },\n [basename, navigator, routePathnamesJson, locationPathname]\n );\n\n return navigate;\n}\n\nconst OutletContext = React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/docs/en/v6/api#useoutletcontext\n */\nexport function useOutletContext(): Context {\n return React.useContext(OutletContext) as Context;\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by to render child routes.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useoutlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return (\n {outlet}\n );\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useparams\n */\nexport function useParams<\n ParamsOrKey extends string | Record = string\n>(): Readonly<\n [ParamsOrKey] extends [string] ? Params : Partial\n> {\n let { matches } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? (routeMatch.params as any) : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useresolvedpath\n */\nexport function useResolvedPath(to: To): Path {\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n matches.map(match => match.pathnameBase)\n );\n\n return React.useMemo(\n () => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname),\n [to, routePathnamesJson, locationPathname]\n );\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an to render their child route's\n * element.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useroutes\n */\nexport function useRoutes(\n routes: RouteObject[],\n locationArg?: Partial | string\n): React.ReactElement | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a component.`\n );\n\n let { matches: parentMatches } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (__DEV__) {\n // You won't get a warning about 2 different under a \n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = (parentRoute && parentRoute.path) || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\"),\n `You rendered descendant (or called \\`useRoutes()\\`) at ` +\n `\"${parentPathname}\" (under ) but the ` +\n `parent route path has no trailing \"*\". This means if you navigate ` +\n `deeper, the parent won't match anymore and therefore the child ` +\n `routes will never render.\\n\\n` +\n `Please change the parent to .`\n );\n }\n\n let locationFromContext = useLocation();\n\n let location;\n if (locationArg) {\n let parsedLocationArg =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n invariant(\n parentPathnameBase === \"/\" ||\n parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`\\` or \\`useRoutes(routes, location)\\`, ` +\n `the location pathname must begin with the portion of the URL pathname that was ` +\n `matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" ` +\n `but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n let remainingPathname =\n parentPathnameBase === \"/\"\n ? pathname\n : pathname.slice(parentPathnameBase.length) || \"/\";\n let matches = matchRoutes(routes, { pathname: remainingPathname });\n\n if (__DEV__) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n\n warning(\n matches == null ||\n matches[matches.length - 1].route.element !== undefined,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" does not have an element. ` +\n `This means it will render an with a null value by default resulting in an \"empty\" page.`\n );\n }\n\n return _renderMatches(\n matches &&\n matches.map(match =>\n Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([parentPathnameBase, match.pathname]),\n pathnameBase:\n match.pathnameBase === \"/\"\n ? parentPathnameBase\n : joinPaths([parentPathnameBase, match.pathnameBase])\n })\n ),\n parentMatches\n );\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `` element or an array of them. Used internally by\n * `` to create a route config from its children.\n *\n * @see https://reactrouter.com/docs/en/v6/api#createroutesfromchildren\n */\nexport function createRoutesFromChildren(\n children: React.ReactNode\n): RouteObject[] {\n let routes: RouteObject[] = [];\n\n React.Children.forEach(children, element => {\n if (!React.isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n\n if (element.type === React.Fragment) {\n // Transparently support React.Fragment and its children.\n routes.push.apply(\n routes,\n createRoutesFromChildren(element.props.children)\n );\n return;\n }\n\n invariant(\n element.type === Route,\n `[${\n typeof element.type === \"string\" ? element.type : element.type.name\n }] is not a component. All component children of must be a or `\n );\n\n let route: RouteObject = {\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n index: element.props.index,\n path: element.props.path\n };\n\n if (element.props.children) {\n route.children = createRoutesFromChildren(element.props.children);\n }\n\n routes.push(route);\n });\n\n return routes;\n}\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport interface RouteObject {\n caseSensitive?: boolean;\n children?: RouteObject[];\n element?: React.ReactNode;\n index?: boolean;\n path?: string;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/docs/en/v6/api#generatepath\n */\nexport function generatePath(path: string, params: Params = {}): string {\n return path\n .replace(/:(\\w+)/g, (_, key) => {\n invariant(params[key] != null, `Missing \":${key}\" param`);\n return params[key]!;\n })\n .replace(/\\/*\\*$/, _ =>\n params[\"*\"] == null ? \"\" : params[\"*\"].replace(/^\\/*/, \"/\")\n );\n}\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface RouteMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObject;\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchroutes\n */\nexport function matchRoutes(\n routes: RouteObject[],\n locationArg: Partial | string,\n basename = \"/\"\n): RouteMatch[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(branches[i], pathname);\n }\n\n return matches;\n}\n\ninterface RouteMeta {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObject;\n}\n\ninterface RouteBranch {\n path: string;\n score: number;\n routesMeta: RouteMeta[];\n}\n\nfunction flattenRoutes(\n routes: RouteObject[],\n branches: RouteBranch[] = [],\n parentsMeta: RouteMeta[] = [],\n parentPath = \"\"\n): RouteBranch[] {\n routes.forEach((route, index) => {\n let meta: RouteMeta = {\n relativePath: route.path || \"\",\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({ path, score: computeScore(path, route.index), routesMeta });\n });\n\n return branches;\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map(meta => meta.childrenIndex),\n b.routesMeta.map(meta => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter(s => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch(\n branch: RouteBranch,\n pathname: string\n): RouteMatch[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: RouteMatch[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n if (!match) return null;\n\n Object.assign(matchedParams, match.params);\n\n let route = meta.route;\n\n matches.push({\n params: matchedParams,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: joinPaths([matchedPathname, match.pathnameBase]),\n route\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\nexport function renderMatches(\n matches: RouteMatch[] | null\n): React.ReactElement | null {\n return _renderMatches(matches);\n}\n\nfunction _renderMatches(\n matches: RouteMatch[] | null,\n parentMatches: RouteMatch[] = []\n): React.ReactElement | null {\n if (matches == null) return null;\n\n return matches.reduceRight((outlet, match, index) => {\n return (\n \n }\n value={{\n outlet,\n matches: parentMatches.concat(matches.slice(0, index + 1))\n }}\n />\n );\n }, null as React.ReactElement | null);\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchpath\n */\nexport function matchPath<\n ParamKey extends ParamParseKey,\n Path extends string\n>(\n pattern: PathPattern | Path,\n pathname: string\n): PathMatch | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, paramNames] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = paramNames.reduce>(\n (memo, paramName, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n memo[paramName] = safelyDecodeURIComponent(\n captureGroups[index] || \"\",\n paramName\n );\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern\n };\n}\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, string[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let paramNames: string[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/:(\\w+)/g, (_: string, paramName: string) => {\n paramNames.push(paramName);\n return \"([^\\\\/]+)\";\n });\n\n if (path.endsWith(\"*\")) {\n paramNames.push(\"*\");\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else {\n regexpSource += end\n ? \"\\\\/*$\" // When matching to the end, ignore trailing slashes\n : // Otherwise, match a word boundary or a proceeding /. The word boundary restricts\n // parent routes to matching only their own words and nothing more, e.g. parent\n // route \"/home\" should not match \"/home2\".\n \"(?:\\\\b|\\\\/|$)\";\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, paramNames];\n}\n\nfunction safelyDecodeURIComponent(value: string, paramName: string) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(\n false,\n `The value for the URL param \"${paramName}\" will not be decoded because` +\n ` the string \"${value}\" is a malformed URL segment. This is probably` +\n ` due to a bad percent encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/docs/en/v6/api#resolvepath\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\"\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash)\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach(segment => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nfunction resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string\n): Path {\n let to = typeof toArg === \"string\" ? parsePath(toArg) : toArg;\n let toPathname = toArg === \"\" || to.pathname === \"\" ? \"/\" : to.pathname;\n\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n let from: string;\n if (toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original to value had one.\n if (\n toPathname &&\n toPathname !== \"/\" &&\n toPathname.endsWith(\"/\") &&\n !path.pathname.endsWith(\"/\")\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\nfunction getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\nfunction stripBasename(pathname: string, basename: string): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n let nextChar = pathname.charAt(basename.length);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(basename.length) || \"/\";\n}\n\nconst joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\nconst normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\nconst normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\nconst normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n NavigationContext as UNSAFE_NavigationContext,\n LocationContext as UNSAFE_LocationContext,\n RouteContext as UNSAFE_RouteContext\n};\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","import arrayWithHoles from \"@babel/runtime/helpers/esm/arrayWithHoles\";\nimport iterableToArrayLimit from \"@babel/runtime/helpers/esm/iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableRest from \"@babel/runtime/helpers/esm/nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","module.exports = require(\"regenerator-runtime\");\n","import * as React from \"react\";\nimport type { BrowserHistory, HashHistory, History } from \"history\";\nimport { createBrowserHistory, createHashHistory, createPath } from \"history\";\nimport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n resolvePath,\n renderMatches,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext\n} from \"react-router\";\nimport type { To } from \"react-router\";\n\nfunction warning(cond: boolean, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// RE-EXPORTS\n////////////////////////////////////////////////////////////////////////////////\n\n// Note: Keep in sync with react-router exports!\nexport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n renderMatches,\n resolvePath,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext\n};\n\nexport type {\n Location,\n Path,\n To,\n NavigationType,\n MemoryRouterProps,\n NavigateFunction,\n NavigateOptions,\n NavigateProps,\n Navigator,\n OutletProps,\n Params,\n PathMatch,\n RouteMatch,\n RouteObject,\n RouteProps,\n PathRouteProps,\n LayoutRouteProps,\n IndexRouteProps,\n RouterProps,\n RoutesProps\n} from \"react-router\";\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n UNSAFE_NavigationContext,\n UNSAFE_LocationContext,\n UNSAFE_RouteContext\n} from \"react-router\";\n\n////////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n////////////////////////////////////////////////////////////////////////////////\n\nexport interface BrowserRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `` for use in web browsers. Provides the cleanest URLs.\n */\nexport function BrowserRouter({\n basename,\n children,\n window\n}: BrowserRouterProps) {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createBrowserHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface HashRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nexport function HashRouter({ basename, children, window }: HashRouterProps) {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createHashHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface HistoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n history: History;\n}\n\n/**\n * A `` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter({ basename, children, history }: HistoryRouterProps) {\n const [state, setState] = React.useState({\n action: history.action,\n location: history.location\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nif (__DEV__) {\n HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\n\nexport { HistoryRouter as unstable_HistoryRouter };\n\nfunction isModifiedEvent(event: React.MouseEvent) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nexport interface LinkProps\n extends Omit, \"href\"> {\n reloadDocument?: boolean;\n replace?: boolean;\n state?: any;\n to: To;\n}\n\n/**\n * The public API for rendering a history-aware .\n */\nexport const Link = React.forwardRef(\n function LinkWithRef(\n { onClick, reloadDocument, replace = false, state, target, to, ...rest },\n ref\n ) {\n let href = useHref(to);\n let internalOnClick = useLinkClickHandler(to, { replace, state, target });\n function handleClick(\n event: React.MouseEvent\n ) {\n if (onClick) onClick(event);\n if (!event.defaultPrevented && !reloadDocument) {\n internalOnClick(event);\n }\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/anchor-has-content\n \n );\n }\n);\n\nif (__DEV__) {\n Link.displayName = \"Link\";\n}\n\nexport interface NavLinkProps\n extends Omit {\n children:\n | React.ReactNode\n | ((props: { isActive: boolean }) => React.ReactNode);\n caseSensitive?: boolean;\n className?: string | ((props: { isActive: boolean }) => string);\n end?: boolean;\n style?:\n | React.CSSProperties\n | ((props: { isActive: boolean }) => React.CSSProperties);\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nexport const NavLink = React.forwardRef(\n function NavLinkWithRef(\n {\n \"aria-current\": ariaCurrentProp = \"page\",\n caseSensitive = false,\n className: classNameProp = \"\",\n end = false,\n style: styleProp,\n to,\n children,\n ...rest\n },\n ref\n ) {\n let location = useLocation();\n let path = useResolvedPath(to);\n\n let locationPathname = location.pathname;\n let toPathname = path.pathname;\n if (!caseSensitive) {\n locationPathname = locationPathname.toLowerCase();\n toPathname = toPathname.toLowerCase();\n }\n\n let isActive =\n locationPathname === toPathname ||\n (!end &&\n locationPathname.startsWith(toPathname) &&\n locationPathname.charAt(toPathname.length) === \"/\");\n\n let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n\n let className: string;\n if (typeof classNameProp === \"function\") {\n className = classNameProp({ isActive });\n } else {\n // If the className prop is not a function, we use a default `active`\n // class for s that are active. In v5 `active` was the default\n // value for `activeClassName`, but we are removing that API and can still\n // use the old default behavior for a cleaner upgrade path and keep the\n // simple styling rules working as they currently do.\n className = [classNameProp, isActive ? \"active\" : null]\n .filter(Boolean)\n .join(\" \");\n }\n\n let style =\n typeof styleProp === \"function\" ? styleProp({ isActive }) : styleProp;\n\n return (\n \n {typeof children === \"function\" ? children({ isActive }) : children}\n \n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// HOOKS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Handles the click behavior for router `` components. This is useful if\n * you need to create custom `` components with the same click behavior we\n * use in our exported ``.\n */\nexport function useLinkClickHandler(\n to: To,\n {\n target,\n replace: replaceProp,\n state\n }: {\n target?: React.HTMLAttributeAnchorTarget;\n replace?: boolean;\n state?: any;\n } = {}\n): (event: React.MouseEvent) => void {\n let navigate = useNavigate();\n let location = useLocation();\n let path = useResolvedPath(to);\n\n return React.useCallback(\n (event: React.MouseEvent) => {\n if (\n event.button === 0 && // Ignore everything but left clicks\n (!target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // Ignore clicks with modifier keys\n ) {\n event.preventDefault();\n\n // If the URL hasn't changed, a regular will do a replace instead of\n // a push, so do the same here.\n let replace =\n !!replaceProp || createPath(location) === createPath(path);\n\n navigate(to, { replace, state });\n }\n },\n [location, navigate, path, replaceProp, state, target, to]\n );\n}\n\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\nexport function useSearchParams(defaultInit?: URLSearchParamsInit) {\n warning(\n typeof URLSearchParams !== \"undefined\",\n `You cannot use the \\`useSearchParams\\` hook in a browser that does not ` +\n `support the URLSearchParams API. If you need to support Internet ` +\n `Explorer 11, we recommend you load a polyfill such as ` +\n `https://github.com/ungap/url-search-params\\n\\n` +\n `If you're unsure how to load polyfills, we recommend you check out ` +\n `https://polyfill.io/v3/ which provides some recommendations about how ` +\n `to load polyfills only for users that need them, instead of for every ` +\n `user.`\n );\n\n let defaultSearchParamsRef = React.useRef(createSearchParams(defaultInit));\n\n let location = useLocation();\n let searchParams = React.useMemo(() => {\n let searchParams = createSearchParams(location.search);\n\n for (let key of defaultSearchParamsRef.current.keys()) {\n if (!searchParams.has(key)) {\n defaultSearchParamsRef.current.getAll(key).forEach(value => {\n searchParams.append(key, value);\n });\n }\n }\n\n return searchParams;\n }, [location.search]);\n\n let navigate = useNavigate();\n let setSearchParams = React.useCallback(\n (\n nextInit: URLSearchParamsInit,\n navigateOptions?: { replace?: boolean; state?: any }\n ) => {\n navigate(\"?\" + createSearchParams(nextInit), navigateOptions);\n },\n [navigate]\n );\n\n return [searchParams, setSearchParams] as const;\n}\n\nexport type ParamKeyValuePair = [string, string];\n\nexport type URLSearchParamsInit =\n | string\n | ParamKeyValuePair[]\n | Record\n | URLSearchParams;\n\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nexport function createSearchParams(\n init: URLSearchParamsInit = \"\"\n): URLSearchParams {\n return new URLSearchParams(\n typeof init === \"string\" ||\n Array.isArray(init) ||\n init instanceof URLSearchParams\n ? init\n : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(\n Array.isArray(value) ? value.map(v => [key, v]) : [[key, value]]\n );\n }, [] as ParamKeyValuePair[])\n );\n}\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","/** @license React v17.0.2\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"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 xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){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 mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){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 xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;ad?0:1<c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;az?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;zz?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;af))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0c?98:c,function(){a(!0)});gg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eJi&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;ee&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10 component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;tO()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","/** @license React v17.0.2\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';require(\"object-assign\");var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/mern/client/build/static/js/main.c2a61789.chunk.js b/mern/client/build/static/js/main.c2a61789.chunk.js deleted file mode 100644 index 601b98c..0000000 --- a/mern/client/build/static/js/main.c2a61789.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(this.webpackJsonpclient=this.webpackJsonpclient||[]).push([[0],{19:function(e,t,n){"use strict";n.r(t);var c=n(1),r=n.n(c),a=n(11),i=n.n(a),s=n(2),o=(n(16),n(6)),l=n(0);function u(){return Object(l.jsx)("div",{children:Object(l.jsxs)("nav",{className:"navbar navbar-expand-lg navbar-light bg-light",children:[Object(l.jsx)(o.c,{className:"navbar-brand",to:"/",children:Object(l.jsx)("img",{style:{width:"25%"},src:"https://d3cy9zhslanhfa.cloudfront.net/media/3800C044-6298-4575-A05D5C6B7623EE37/4B45D0EC-3482-4759-82DA37D8EA07D229/webimage-8A27671A-8A53-45DC-89D7BF8537F15A0D.png"})}),Object(l.jsx)("button",{className:"navbar-toggler",type:"button","data-toggle":"collapse","data-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation",children:Object(l.jsx)("span",{className:"navbar-toggler-icon"})}),Object(l.jsx)("div",{className:"collapse navbar-collapse",id:"navbarSupportedContent",children:Object(l.jsx)("ul",{className:"navbar-nav ml-auto",children:Object(l.jsx)("li",{className:"nav-item",children:Object(l.jsx)(o.c,{className:"nav-link",to:"/create",children:"Create Record"})})})})]})})}var d=n(5),j=n.n(d),b=n(7),h=n(4),p=function(e){return Object(l.jsxs)("tr",{children:[Object(l.jsx)("td",{children:e.record.name}),Object(l.jsx)("td",{children:e.record.position}),Object(l.jsx)("td",{children:e.record.level}),Object(l.jsxs)("td",{children:[Object(l.jsx)(o.b,{className:"btn btn-link",to:"/edit/".concat(e.record._id),children:"Edit"})," |",Object(l.jsx)("button",{className:"btn btn-link",onClick:function(){e.deleteRecord(e.record._id)},children:"Delete"})]})]})};function m(){var e=Object(c.useState)([]),t=Object(h.a)(e,2),n=t[0],r=t[1];function a(){return i.apply(this,arguments)}function i(){return(i=Object(b.a)(j.a.mark((function e(){var t,n,c;return j.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("".concat("","/record/"));case 2:if((t=e.sent).ok){e.next=7;break}return n="An error occured: ".concat(t.statusText),window.alert(n),e.abrupt("return");case 7:return e.next=9,t.json();case 9:c=e.sent,r(c);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function s(){return(s=Object(b.a)(j.a.mark((function e(t){return j.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,fetch("".concat("","/").concat(t),{method:"DELETE"});case 3:if(404!==e.sent.status){e.next=8;break}alert('Please implement the mongodb delete method. Please visit "mern/server/routes/record.js" on line 74. This is where the delete endpoint should reside'),e.next=10;break;case 8:return e.next=10,a();case 10:e.next=15;break;case 12:e.prev=12,e.t0=e.catch(0),alert("Error : "+e.t0);case 15:case"end":return e.stop()}}),e,null,[[0,12]])})))).apply(this,arguments)}return Object(c.useEffect)((function(){a()}),[n.length]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Record List"}),Object(l.jsxs)("table",{className:"table table-striped",style:{marginTop:20},children:[Object(l.jsx)("thead",{children:Object(l.jsxs)("tr",{children:[Object(l.jsx)("th",{children:"Name"}),Object(l.jsx)("th",{children:"Position"}),Object(l.jsx)("th",{children:"Level"}),Object(l.jsx)("th",{children:"Action"})]})}),Object(l.jsx)("tbody",{children:0===n.length?Object(l.jsx)("div",{children:"No Records Yet..."}):n.map((function(e){return Object(l.jsx)(p,{record:e,deleteRecord:function(){return function(e){return s.apply(this,arguments)}(e._id)}},e._id)}))})]})]})}var O=n(8);function x(){var e=Object(c.useState)({name:"",position:"",level:"",records:[]}),t=Object(h.a)(e,2),n=t[0],r=t[1],a=Object(s.g)(),i=Object(s.f)();function o(e){return r((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function u(){return(u=Object(b.a)(j.a.mark((function e(t){var c;return j.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c={name:n.name,position:n.position,level:n.level},e.next=4,fetch("".concat("","/update/").concat(a.id),{method:"POST",body:JSON.stringify(c),headers:{"Content-Type":"application/json"}});case 4:i("/");case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}return Object(c.useEffect)((function(){function e(){return(e=Object(b.a)(j.a.mark((function e(){var t,n,c,s;return j.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.id.toString(),e.next=3,fetch("".concat("","/record/").concat(a.id.toString()));case 3:if((n=e.sent).ok){e.next=8;break}return c="An error has occured: ".concat(n.statusText),window.alert(c),e.abrupt("return");case 8:return e.next=10,n.json();case 10:if(s=e.sent){e.next=15;break}return window.alert("Record with id ".concat(t," not found")),i("/"),e.abrupt("return");case 15:r(s);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[a.id,i]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Update Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return u.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return o({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return o({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("br",{}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Update Record",className:"btn btn-primary"})})]})]})}function f(){var e=Object(c.useState)({name:"",position:"",level:""}),t=Object(h.a)(e,2),n=t[0],r=t[1],a=Object(s.f)();function i(e){return r((function(t){return Object(O.a)(Object(O.a)({},t),e)}))}function o(){return(o=Object(b.a)(j.a.mark((function e(t){var c;return j.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),c=Object(O.a)({},n),e.prev=2,e.next=5,fetch("".concat("","/record/add"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});case 5:e.next=11;break;case 7:return e.prev=7,e.t0=e.catch(2),window.alert("Error : "+e.t0),e.abrupt("return");case 11:r({name:"",position:"",level:""}),a("/");case 13:case"end":return e.stop()}}),e,null,[[2,7]])})))).apply(this,arguments)}return Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Create New Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return o.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return i({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return i({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Create person",className:"btn btn-primary"})})]})]})}var v=function(){return Object(l.jsxs)("div",{children:[Object(l.jsx)(u,{}),Object(l.jsx)("div",{style:{margin:20},children:Object(l.jsxs)(s.c,{children:[Object(l.jsx)(s.a,{exact:!0,path:"/",element:Object(l.jsx)(m,{})}),Object(l.jsx)(s.a,{path:"/edit/:id",element:Object(l.jsx)(x,{})}),Object(l.jsx)(s.a,{path:"/create",element:Object(l.jsx)(f,{})})]})})]})};i.a.render(Object(l.jsx)(r.a.StrictMode,{children:Object(l.jsx)(o.a,{children:Object(l.jsx)(v,{})})}),document.getElementById("root"))}},[[19,1,2]]]); -//# sourceMappingURL=main.c2a61789.chunk.js.map \ No newline at end of file diff --git a/mern/client/build/static/js/main.c2a61789.chunk.js.map b/mern/client/build/static/js/main.c2a61789.chunk.js.map deleted file mode 100644 index f065818..0000000 --- a/mern/client/build/static/js/main.c2a61789.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["components/navbar.js","components/recordList.js","components/edit.js","components/create.js","App.js","index.js"],"names":["Navbar","_jsx","children","_jsxs","className","NavLink","to","style","src","type","data-toggle","data-target","aria-controls","aria-expanded","aria-label","id","Record","props","record","name","position","level","Link","concat","_id","onClick","deleteRecord","RecordList","_useState","useState","_useState2","_slicedToArray","records","setRecords","getRecords","_getRecords","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","response","message","wrap","_context","prev","next","fetch","sent","ok","statusText","window","alert","abrupt","json","stop","_deleteRecord","_callee2","_context2","method","status","t0","useEffect","length","marginTop","map","_x","Edit","form","setForm","params","useParams","navigate","useNavigate","updateForm","value","_objectSpread","_onSubmit","e","editedPerson","preventDefault","body","JSON","stringify","headers","_fetchData","toString","fetchData","onSubmit","htmlFor","onChange","target","checked","Create","newPerson","App","margin","Routes","Route","exact","path","element","ReactDOM","render","React","StrictMode","BrowserRouter","document","getElementById"],"mappings":"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","file":"static/js/main.c2a61789.chunk.js","sourcesContent":["import React from \"react\";\n\n// We import bootstrap to make our application look better.\nimport \"bootstrap/dist/css/bootstrap.css\";\n\n// We import NavLink to utilize the react router.\nimport { NavLink } from \"react-router-dom\";\n\n// Here, we display our Navbar\nexport default function Navbar() {\n return (\n
\n \n
\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nconst Record = (props) => (\n \n {props.record.name}\n {props.record.position}\n {props.record.level}\n \n Edit |\n \n \n \n);\n\nexport default function RecordList() {\n const [records, setRecords] = useState([]);\n\n // This method fetches the records from the database.\n useEffect(() => {\n \n\n getRecords();\n\n return; \n }, [records.length]);\n async function getRecords() {\n const response = await fetch(`${BASE_URL}/record/`);\n\n if (!response.ok) {\n const message = `An error occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const records = await response.json();\n setRecords(records);\n }\n // This method will delete a record\n async function deleteRecord(id) {\n try {\n /*\n Please remove once implement mern/server/routes/record.js lines 74\n */\n const response = await fetch(`${BASE_URL}/${id}`, {\n method: \"DELETE\"\n });\n \n if (response.status === 404) {\n alert('Please implement the mongodb delete method. Please visit \"mern/server/routes/record.js\" on line 74. This is where the delete endpoint should reside');\n } else {\n await getRecords();\n }\n }\n catch(e) {\n alert(\"Error : \" + e)\n }\n }\n\n // This method will map out the records on the table\n function recordList() {\n if (records.length === 0) return
No Records Yet...
\n return records.map((record) => {\n return (\n deleteRecord(record._id)}\n key={record._id}\n />\n );\n });\n }\n\n // This following section will display the table with the records of individuals.\n return (\n
\n

Record List

\n \n \n \n \n \n \n \n \n \n {recordList()}\n
NamePositionLevelAction
\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Edit() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n records: [],\n });\n const params = useParams();\n const navigate = useNavigate();\n\n useEffect(() => {\n async function fetchData() {\n const id = params.id.toString();\n const response = await fetch(`${BASE_URL}/record/${params.id.toString()}`);\n\n if (!response.ok) {\n const message = `An error has occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const record = await response.json();\n if (!record) {\n window.alert(`Record with id ${id} not found`);\n navigate(\"/\");\n return;\n }\n\n setForm(record);\n }\n\n fetchData();\n\n return;\n }, [params.id, navigate]);\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n async function onSubmit(e) {\n e.preventDefault();\n const editedPerson = {\n name: form.name,\n position: form.position,\n level: form.level,\n };\n\n // This will send a post request to update the data in the database.\n await fetch(`${BASE_URL}/update/${params.id}`, {\n method: \"POST\",\n body: JSON.stringify(editedPerson),\n headers: {\n 'Content-Type': 'application/json'\n },\n });\n\n navigate(\"/\");\n }\n\n // This following section will display the form that takes input from the user to update the data.\n return (\n
\n

Update Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n\n
\n \n
\n
\n
\n );\n}\n","import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Create() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n });\n const navigate = useNavigate();\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n\n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = { ...form };\n try {\n await fetch(`${BASE_URL}/record/add`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(newPerson),\n })\n }\n catch(e){\n window.alert(\"Error : \" + e);\n return;\n }\n\n setForm({ name: \"\", position: \"\", level: \"\" });\n navigate(\"/\");\n }\n\n // This following section will display the form that takes the input from the user.\n return (\n
\n

Create New Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n \n
\n
\n
\n );\n}\n","import React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { Route, Routes } from \"react-router-dom\";\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\n\nconst App = () => {\n return (\n
\n \n
\n \n } />\n } />\n } />\n \n
\n
\n );\n};\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport { BrowserRouter } from \"react-router-dom\";\n\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);"],"sourceRoot":""} \ No newline at end of file diff --git a/mern/client/build/static/js/main.e03411ad.chunk.js b/mern/client/build/static/js/main.e03411ad.chunk.js new file mode 100644 index 0000000..d58cb28 --- /dev/null +++ b/mern/client/build/static/js/main.e03411ad.chunk.js @@ -0,0 +1,2 @@ +(this.webpackJsonpclient=this.webpackJsonpclient||[]).push([[0],{19:function(e,t,n){"use strict";n.r(t);var r=n(1),c=n.n(r),a=n(11),i=n.n(a),s=n(2),o=(n(16),n(8)),l=n(0);function u(){return Object(l.jsx)("div",{children:Object(l.jsxs)("nav",{className:"navbar navbar-expand-lg navbar-light bg-light",children:[Object(l.jsx)(o.c,{className:"navbar-brand",to:"/",children:Object(l.jsx)("img",{style:{width:"25%"},src:"https://d3cy9zhslanhfa.cloudfront.net/media/3800C044-6298-4575-A05D5C6B7623EE37/4B45D0EC-3482-4759-82DA37D8EA07D229/webimage-8A27671A-8A53-45DC-89D7BF8537F15A0D.png"})}),Object(l.jsx)("button",{className:"navbar-toggler",type:"button","data-toggle":"collapse","data-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation",children:Object(l.jsx)("span",{className:"navbar-toggler-icon"})}),Object(l.jsx)("div",{className:"collapse navbar-collapse",id:"navbarSupportedContent",children:Object(l.jsx)("ul",{className:"navbar-nav ml-auto",children:Object(l.jsx)("li",{className:"nav-item",children:Object(l.jsx)(o.c,{className:"nav-link",to:"/create",children:"Create Record"})})})})]})})}var j=n(3),d=n.n(j),b=n(7),h=n(4),p=n(6);function m(e){var t=e.setRecords,n=Object(r.useState)({searchTerm:null}),c=Object(h.a)(n,2),a=c[0],i=c[1];function s(){return(s=Object(b.a)(d.a.mark((function e(n){var r,c,i;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.preventDefault(),r=Object(p.a)({},a),e.prev=2,e.next=5,fetch("".concat("","/search"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});case 5:return c=e.sent,e.next=8,c.json();case 8:i=e.sent,t(i),e.next=16;break;case 12:return e.prev=12,e.t0=e.catch(2),window.alert("Error : "+e.t0),e.abrupt("return");case 16:case"end":return e.stop()}}),e,null,[[2,12]])})))).apply(this,arguments)}return Object(l.jsx)("div",{children:Object(l.jsx)("form",{onSubmit:function(e){return s.apply(this,arguments)},children:Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("input",{type:"text",className:"form-control",id:"searchTerm",value:a.searchTerm,onChange:function(e){return t={searchTerm:e.target.value},i((function(e){return Object(p.a)(Object(p.a)({},e),t)}));var t}}),Object(l.jsx)("input",{type:"submit",value:"Search",className:"btn btn-primary"})]})})})}var O=function(e){return Object(l.jsxs)("tr",{children:[Object(l.jsx)("td",{children:e.record.name}),Object(l.jsx)("td",{children:e.record.position}),Object(l.jsx)("td",{children:e.record.level}),Object(l.jsxs)("td",{children:[Object(l.jsx)(o.b,{className:"btn btn-link",to:"/edit/".concat(e.record._id),children:"Edit"})," |",Object(l.jsx)("button",{className:"btn btn-link",onClick:function(){e.deleteRecord(e.record._id)},children:"Delete"})]})]})};function f(){var e=Object(r.useState)([]),t=Object(h.a)(e,2),n=t[0],c=t[1];function a(){return i.apply(this,arguments)}function i(){return(i=Object(b.a)(d.a.mark((function e(){var t,n,r;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("".concat("","/record/"));case 2:if((t=e.sent).ok){e.next=7;break}return n="An error occured: ".concat(t.statusText),window.alert(n),e.abrupt("return");case 7:return e.next=9,t.json();case 9:r=e.sent,c(r);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function s(){return(s=Object(b.a)(d.a.mark((function e(t){return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,fetch("".concat("","/").concat(t),{method:"DELETE"});case 3:if(404!==e.sent.status){e.next=8;break}alert('Please implement the mongodb delete method. Please visit "mern/server/routes/record.js" on line 74. This is where the delete endpoint should reside'),e.next=10;break;case 8:return e.next=10,a();case 10:e.next=15;break;case 12:e.prev=12,e.t0=e.catch(0),alert("Error : "+e.t0);case 15:case"end":return e.stop()}}),e,null,[[0,12]])})))).apply(this,arguments)}return Object(r.useEffect)((function(){a()}),[]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Record List"}),Object(l.jsx)(m,{setRecords:c}),Object(l.jsxs)("table",{className:"table table-striped",style:{marginTop:20},children:[Object(l.jsx)("thead",{children:Object(l.jsxs)("tr",{children:[Object(l.jsx)("th",{children:"Name"}),Object(l.jsx)("th",{children:"Position"}),Object(l.jsx)("th",{children:"Level"}),Object(l.jsx)("th",{children:"Action"})]})}),Object(l.jsx)("tbody",{children:0===n.length?Object(l.jsx)("div",{children:"No Records Yet"}):n.map((function(e){return Object(l.jsx)(O,{record:e,deleteRecord:function(){return function(e){return s.apply(this,arguments)}(e._id)}},e._id)}))})]})]})}function x(){var e=Object(r.useState)({name:"",position:"",level:"",records:[]}),t=Object(h.a)(e,2),n=t[0],c=t[1],a=Object(s.g)(),i=Object(s.f)();function o(e){return c((function(t){return Object(p.a)(Object(p.a)({},t),e)}))}function u(){return(u=Object(b.a)(d.a.mark((function e(t){var r;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),r={name:n.name,position:n.position,level:n.level},e.next=4,fetch("".concat("","/update/").concat(a.id),{method:"POST",body:JSON.stringify(r),headers:{"Content-Type":"application/json"}});case 4:i("/");case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}return Object(r.useEffect)((function(){function e(){return(e=Object(b.a)(d.a.mark((function e(){var t,n,r,s;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.id.toString(),e.next=3,fetch("".concat("","/record/").concat(a.id.toString()));case 3:if((n=e.sent).ok){e.next=8;break}return r="An error has occured: ".concat(n.statusText),window.alert(r),e.abrupt("return");case 8:return e.next=10,n.json();case 10:if(s=e.sent){e.next=15;break}return window.alert("Record with id ".concat(t," not found")),i("/"),e.abrupt("return");case 15:c(s);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[a.id,i]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Update Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return u.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return o({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return o({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("br",{}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Update Record",className:"btn btn-primary"})})]})]})}function v(){var e=Object(r.useState)({name:"",position:"",level:""}),t=Object(h.a)(e,2),n=t[0],c=t[1],a=Object(s.f)();function i(e){return c((function(t){return Object(p.a)(Object(p.a)({},t),e)}))}function o(){return(o=Object(b.a)(d.a.mark((function e(t){var r;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),r=Object(p.a)({},n),e.prev=2,e.next=5,fetch("".concat("","/record/add"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});case 5:e.next=11;break;case 7:return e.prev=7,e.t0=e.catch(2),window.alert("Error : "+e.t0),e.abrupt("return");case 11:c({name:"",position:"",level:""}),a("/");case 13:case"end":return e.stop()}}),e,null,[[2,7]])})))).apply(this,arguments)}return Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Create New Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return o.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return i({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return i({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Create person",className:"btn btn-primary"})})]})]})}var g=function(){return Object(l.jsxs)("div",{children:[Object(l.jsx)(u,{}),Object(l.jsx)("div",{style:{margin:20},children:Object(l.jsxs)(s.c,{children:[Object(l.jsx)(s.a,{exact:!0,path:"/",element:Object(l.jsx)(f,{})}),Object(l.jsx)(s.a,{path:"/edit/:id",element:Object(l.jsx)(x,{})}),Object(l.jsx)(s.a,{path:"/create",element:Object(l.jsx)(v,{})})]})})]})};i.a.render(Object(l.jsx)(c.a.StrictMode,{children:Object(l.jsx)(o.a,{children:Object(l.jsx)(g,{})})}),document.getElementById("root"))}},[[19,1,2]]]); +//# sourceMappingURL=main.e03411ad.chunk.js.map \ No newline at end of file diff --git a/mern/client/build/static/js/main.e03411ad.chunk.js.map b/mern/client/build/static/js/main.e03411ad.chunk.js.map new file mode 100644 index 0000000..2fdc4e5 --- /dev/null +++ b/mern/client/build/static/js/main.e03411ad.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["components/navbar.js","components/searchBar.js","components/recordList.js","components/edit.js","components/create.js","App.js","index.js"],"names":["Navbar","_jsx","children","_jsxs","className","NavLink","to","style","src","type","data-toggle","data-target","aria-controls","aria-expanded","aria-label","id","SearchBar","_ref","setRecords","_useState","useState","searchTerm","_useState2","_slicedToArray","form","setForm","_onSubmit","_asyncToGenerator","_regeneratorRuntime","mark","_callee","e","newSearch","response","records","wrap","_context","prev","next","preventDefault","_objectSpread","fetch","concat","method","headers","body","JSON","stringify","sent","json","t0","window","alert","abrupt","stop","apply","arguments","onSubmit","_x","value","onChange","target","Record","props","record","name","position","level","Link","_id","onClick","deleteRecord","RecordList","getRecords","_getRecords","message","ok","statusText","_deleteRecord","_callee2","_context2","status","useEffect","marginTop","length","map","Edit","params","useParams","navigate","useNavigate","updateForm","editedPerson","_fetchData","toString","fetchData","htmlFor","checked","Create","newPerson","App","margin","Routes","Route","exact","path","element","ReactDOM","render","React","StrictMode","BrowserRouter","document","getElementById"],"mappings":"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","file":"static/js/main.e03411ad.chunk.js","sourcesContent":["import React from \"react\";\n\n// We import bootstrap to make our application look better.\nimport \"bootstrap/dist/css/bootstrap.css\";\n\n// We import NavLink to utilize the react router.\nimport { NavLink } from \"react-router-dom\";\n\n// Here, we display our Navbar\nexport default function Navbar() {\n return (\n
\n \n
\n );\n}\n","import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function SearchBar({setRecords}) {\n const [form, setForm] = useState({\n searchTerm : null\n });\n\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n\n // When a post request is sent to the create url, we'll add a new record to the database.\n const newSearch = { ...form };\n try {\n const response = await fetch(`${BASE_URL}/search`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(newSearch),\n })\n const records = await response.json();\n // setForm({ name: \"\", position: \"\", level: \"\" });\n setRecords(records);\n }\n catch(e){\n window.alert(\"Error : \" + e);\n return;\n }\n \n //navigate(\"/\");\n }\n\n // This following section will display the form that takes the input from the user.\n return (\n
\n
\n
\n updateForm({ searchTerm: e.target.value })}\n />\n \n
\n
\n
\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport SearchBar from './searchBar.js'\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nconst Record = (props) => (\n \n {props.record.name}\n {props.record.position}\n {props.record.level}\n \n Edit |\n \n \n \n);\n\nexport default function RecordList() {\n const [records, setRecords] = useState([]);\n\n // This method fetches the records from the database.\n useEffect(() => {\n \n\n getRecords();\n\n return; \n }, []);\n async function getRecords() {\n const response = await fetch(`${BASE_URL}/record/`);\n\n if (!response.ok) {\n const message = `An error occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const records = await response.json();\n setRecords(records);\n }\n // This method will delete a record\n async function deleteRecord(id) {\n try {\n /*\n Please remove once implement mern/server/routes/record.js lines 74\n */\n const response = await fetch(`${BASE_URL}/${id}`, {\n method: \"DELETE\"\n });\n \n if (response.status === 404) {\n alert('Please implement the mongodb delete method. Please visit \"mern/server/routes/record.js\" on line 74. This is where the delete endpoint should reside');\n } else {\n await getRecords();\n }\n }\n catch(e) {\n alert(\"Error : \" + e)\n }\n }\n\n // This method will map out the records on the table\n function recordList() {\n if (records.length === 0) return
No Records Yet
\n return records.map((record) => {\n return (\n deleteRecord(record._id)}\n key={record._id}\n />\n );\n });\n }\n\n // This following section will display the table with the records of individuals.\n return (\n
\n

Record List

\n \n \n \n \n \n \n \n \n \n \n {recordList()}\n
NamePositionLevelAction
\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Edit() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n records: [],\n });\n const params = useParams();\n const navigate = useNavigate();\n\n useEffect(() => {\n async function fetchData() {\n const id = params.id.toString();\n const response = await fetch(`${BASE_URL}/record/${params.id.toString()}`);\n\n if (!response.ok) {\n const message = `An error has occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const record = await response.json();\n if (!record) {\n window.alert(`Record with id ${id} not found`);\n navigate(\"/\");\n return;\n }\n\n setForm(record);\n }\n\n fetchData();\n\n return;\n }, [params.id, navigate]);\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n async function onSubmit(e) {\n e.preventDefault();\n const editedPerson = {\n name: form.name,\n position: form.position,\n level: form.level,\n };\n\n // This will send a post request to update the data in the database.\n await fetch(`${BASE_URL}/update/${params.id}`, {\n method: \"POST\",\n body: JSON.stringify(editedPerson),\n headers: {\n 'Content-Type': 'application/json'\n },\n });\n\n navigate(\"/\");\n }\n\n // This following section will display the form that takes input from the user to update the data.\n return (\n
\n

Update Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n\n
\n \n
\n
\n
\n );\n}\n","import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Create() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n });\n const navigate = useNavigate();\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n\n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = { ...form };\n try {\n await fetch(`${BASE_URL}/record/add`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(newPerson),\n })\n }\n catch(e){\n window.alert(\"Error : \" + e);\n return;\n }\n\n setForm({ name: \"\", position: \"\", level: \"\" });\n navigate(\"/\");\n }\n\n // This following section will display the form that takes the input from the user.\n return (\n
\n

Create New Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n \n
\n
\n
\n );\n}\n","import React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { Route, Routes } from \"react-router-dom\";\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\n\nconst App = () => {\n return (\n
\n \n
\n \n } />\n } />\n } />\n \n
\n
\n );\n};\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport { BrowserRouter } from \"react-router-dom\";\n\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);"],"sourceRoot":""} \ No newline at end of file diff --git a/mern/client/src/components/recordList.js b/mern/client/src/components/recordList.js index 978486c..535e35e 100644 --- a/mern/client/src/components/recordList.js +++ b/mern/client/src/components/recordList.js @@ -1,5 +1,6 @@ import React, { useEffect, useState } from "react"; import { Link } from "react-router-dom"; +import SearchBar from './searchBar.js' const BASE_URL = process.env.NODE_ENV === 'production' ? '' : 'http://localhost:5000' @@ -32,7 +33,7 @@ export default function RecordList() { getRecords(); return; - }, [records.length]); + }, []); async function getRecords() { const response = await fetch(`${BASE_URL}/record/`); @@ -84,6 +85,7 @@ export default function RecordList() { return (

Record List

+ diff --git a/mern/client/src/components/searchBar.js b/mern/client/src/components/searchBar.js new file mode 100644 index 0000000..15e7ae7 --- /dev/null +++ b/mern/client/src/components/searchBar.js @@ -0,0 +1,67 @@ +import React, { useState } from "react"; +import { useNavigate } from "react-router"; +const BASE_URL = process.env.NODE_ENV === 'production' + ? '' + : 'http://localhost:5000' + +export default function SearchBar({setRecords}) { + const [form, setForm] = useState({ + searchTerm : null + }); + + + // These methods will update the state properties. + function updateForm(value) { + return setForm((prev) => { + return { ...prev, ...value }; + }); + } + + // This function will handle the submission. + async function onSubmit(e) { + e.preventDefault(); + + // When a post request is sent to the create url, we'll add a new record to the database. + const newSearch = { ...form }; + try { + const response = await fetch(`${BASE_URL}/search`, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify(newSearch), + }) + const records = await response.json(); + // setForm({ name: "", position: "", level: "" }); + setRecords(records); + } + catch(e){ + window.alert("Error : " + e); + return; + } + + //navigate("/"); + } + + // This following section will display the form that takes the input from the user. + return ( +
+
+
+ updateForm({ searchTerm: e.target.value })} + /> + +
+ +
+ ); +} diff --git a/mern/server/public/asset-manifest.json b/mern/server/public/asset-manifest.json index d17f6e7..d14a3cc 100644 --- a/mern/server/public/asset-manifest.json +++ b/mern/server/public/asset-manifest.json @@ -1,20 +1,20 @@ { "files": { - "main.js": "/static/js/main.c2a61789.chunk.js", - "main.js.map": "/static/js/main.c2a61789.chunk.js.map", + "main.js": "/static/js/main.e03411ad.chunk.js", + "main.js.map": "/static/js/main.e03411ad.chunk.js.map", "runtime-main.js": "/static/js/runtime-main.a06e69b5.js", "runtime-main.js.map": "/static/js/runtime-main.a06e69b5.js.map", "static/css/2.73420eac.chunk.css": "/static/css/2.73420eac.chunk.css", - "static/js/2.6ef6d4dd.chunk.js": "/static/js/2.6ef6d4dd.chunk.js", - "static/js/2.6ef6d4dd.chunk.js.map": "/static/js/2.6ef6d4dd.chunk.js.map", + "static/js/2.285d59e6.chunk.js": "/static/js/2.285d59e6.chunk.js", + "static/js/2.285d59e6.chunk.js.map": "/static/js/2.285d59e6.chunk.js.map", "index.html": "/index.html", "static/css/2.73420eac.chunk.css.map": "/static/css/2.73420eac.chunk.css.map", - "static/js/2.6ef6d4dd.chunk.js.LICENSE.txt": "/static/js/2.6ef6d4dd.chunk.js.LICENSE.txt" + "static/js/2.285d59e6.chunk.js.LICENSE.txt": "/static/js/2.285d59e6.chunk.js.LICENSE.txt" }, "entrypoints": [ "static/js/runtime-main.a06e69b5.js", "static/css/2.73420eac.chunk.css", - "static/js/2.6ef6d4dd.chunk.js", - "static/js/main.c2a61789.chunk.js" + "static/js/2.285d59e6.chunk.js", + "static/js/main.e03411ad.chunk.js" ] } \ No newline at end of file diff --git a/mern/server/public/index.html b/mern/server/public/index.html index 07c17a6..80d089f 100644 --- a/mern/server/public/index.html +++ b/mern/server/public/index.html @@ -1 +1 @@ -MongoDB Demo
\ No newline at end of file +MongoDB Demo
\ No newline at end of file diff --git a/mern/server/public/static/js/2.6ef6d4dd.chunk.js b/mern/server/public/static/js/2.285d59e6.chunk.js similarity index 93% rename from mern/server/public/static/js/2.6ef6d4dd.chunk.js rename to mern/server/public/static/js/2.285d59e6.chunk.js index 2b487af..8b3db4d 100644 --- a/mern/server/public/static/js/2.6ef6d4dd.chunk.js +++ b/mern/server/public/static/js/2.285d59e6.chunk.js @@ -1,3 +1,3 @@ -/*! For license information please see 2.6ef6d4dd.chunk.js.LICENSE.txt */ -(this.webpackJsonpclient=this.webpackJsonpclient||[]).push([[2],[function(e,t,n){"use strict";e.exports=n(17)},function(e,t,n){"use strict";e.exports=n(12)},function(e,t,n){"use strict";n.d(t,"a",(function(){return f})),n.d(t,"b",(function(){return d})),n.d(t,"c",(function(){return p})),n.d(t,"d",(function(){return h})),n.d(t,"e",(function(){return m})),n.d(t,"f",(function(){return g})),n.d(t,"g",(function(){return b})),n.d(t,"h",(function(){return w}));var r=n(4),a=n(1),l=n(3);function o(e,t){if(!e)throw new Error(t)}var i=Object(a.createContext)(null);var u=Object(a.createContext)(null);var c=Object(a.createContext)({outlet:null,matches:[]});function s(e){return function(e){var t=Object(a.useContext)(c).outlet;if(t)return Object(a.createElement)(y.Provider,{value:e},t);return t}(e.context)}function f(e){o(!1)}function d(e){var t=e.basename,n=void 0===t?"/":t,r=e.children,c=void 0===r?null:r,s=e.location,f=e.navigationType,d=void 0===f?l.a.Pop:f,p=e.navigator,h=e.static,m=void 0!==h&&h;v()&&o(!1);var g=z(n),y=Object(a.useMemo)((function(){return{basename:g,navigator:p,static:m}}),[g,p,m]);"string"===typeof s&&(s=Object(l.f)(s));var b=s,w=b.pathname,k=void 0===w?"/":w,E=b.search,S=void 0===E?"":E,x=b.hash,_=void 0===x?"":x,C=b.state,P=void 0===C?null:C,O=b.key,L=void 0===O?"default":O,T=Object(a.useMemo)((function(){var e=N(k,g);return null==e?null:{pathname:e,search:S,hash:_,state:P,key:L}}),[g,k,S,_,P,L]);return null==T?null:Object(a.createElement)(i.Provider,{value:y},Object(a.createElement)(u.Provider,{children:c,value:{location:T,navigationType:d}}))}function p(e){var t=e.children,n=e.location;return function(e,t){v()||o(!1);var n=Object(a.useContext)(c).matches,r=n[n.length-1],i=r?r.params:{},u=(r&&r.pathname,r?r.pathnameBase:"/");r&&r.route;0;var s,f=m();if(t){var d,p="string"===typeof t?Object(l.f)(t):t;"/"===u||(null==(d=p.pathname)?void 0:d.startsWith(u))||o(!1),s=p}else s=f;var h=s.pathname||"/",g="/"===u?h:h.slice(u.length)||"/",y=function(e,t,n){void 0===n&&(n="/");var r=N(("string"===typeof t?Object(l.f)(t):t).pathname||"/",n);if(null==r)return null;var a=E(e);!function(e){e.sort((function(e,t){return e.score!==t.score?t.score-e.score:function(e,t){return e.length===t.length&&e.slice(0,-1).every((function(e,n){return e===t[n]}))?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((function(e){return e.childrenIndex})),t.routesMeta.map((function(e){return e.childrenIndex})))}))}(a);for(var o=null,i=0;null==o&&i0&&(!0===e.index&&o(!1),E(e.children,t,u,i)),(null!=e.path||e.index)&&t.push({path:i,score:_(i,e.index),routesMeta:u})})),t}var S=/^:\w+$/,x=function(e){return"*"===e};function _(e,t){var n=e.split("/"),r=n.length;return n.some(x)&&(r+=-2),t&&(r+=2),n.filter((function(e){return!x(e)})).reduce((function(e,t){return e+(S.test(t)?3:""===t?1:10)}),r)}function C(e,t){for(var n=e.routesMeta,r={},a="/",l=[],o=0;o=0?t[i]:"/"}var c=function(e,t){void 0===t&&(t="/");var n="string"===typeof e?Object(l.f)(e):e,r=n.pathname,a=n.search,o=void 0===a?"":a,i=n.hash,u=void 0===i?"":i;return{pathname:r?r.startsWith("/")?r:function(e,t){var n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach((function(e){".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)})),n.length>1?n.join("/"):"/"}(r,t):t,search:j(o),hash:R(u)}}(a,r);return o&&"/"!==o&&o.endsWith("/")&&!c.pathname.endsWith("/")&&(c.pathname+="/"),c}function N(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;var n=e.charAt(t.length);return n&&"/"!==n?null:e.slice(t.length)||"/"}var T=function(e){return e.join("/").replace(/\/\/+/g,"/")},z=function(e){return e.replace(/\/+$/,"").replace(/^\/*/,"/")},j=function(e){return e&&"?"!==e?e.startsWith("?")?e:"?"+e:""},R=function(e){return e&&"#"!==e?e.startsWith("#")?e:"#"+e:""}},function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t=0||(a[n]=e[n]);return a}var c=["onClick","reloadDocument","replace","state","target","to"],s=["aria-current","caseSensitive","className","end","style","to","children"];function f(e){var t=e.basename,n=e.children,i=e.window,u=Object(a.useRef)();null==u.current&&(u.current=Object(l.b)({window:i}));var c=u.current,s=Object(a.useState)({action:c.action,location:c.location}),f=Object(r.a)(s,2),d=f[0],p=f[1];return Object(a.useLayoutEffect)((function(){return c.listen(p)}),[c]),Object(a.createElement)(o.b,{basename:t,children:n,location:d.location,navigationType:d.action,navigator:c})}var d=Object(a.forwardRef)((function(e,t){var n=e.onClick,r=e.reloadDocument,s=e.replace,f=void 0!==s&&s,d=e.state,p=e.target,h=e.to,v=u(e,c),m=Object(o.d)(h),g=function(e,t){var n=void 0===t?{}:t,r=n.target,i=n.replace,u=n.state,c=Object(o.f)(),s=Object(o.e)(),f=Object(o.h)(e);return Object(a.useCallback)((function(t){if(0===t.button&&(!r||"_self"===r)&&!function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(t)){t.preventDefault();var n=!!i||Object(l.e)(s)===Object(l.e)(f);c(e,{replace:n,state:u})}}),[s,c,f,i,u,r,e])}(h,{replace:f,state:d,target:p});return Object(a.createElement)("a",i({},v,{href:m,onClick:function(e){n&&n(e),e.defaultPrevented||r||g(e)},ref:t,target:p}))}));var p=Object(a.forwardRef)((function(e,t){var n=e["aria-current"],r=void 0===n?"page":n,l=e.caseSensitive,c=void 0!==l&&l,f=e.className,p=void 0===f?"":f,h=e.end,v=void 0!==h&&h,m=e.style,g=e.to,y=e.children,b=u(e,s),w=Object(o.e)(),k=Object(o.h)(g),E=w.pathname,S=k.pathname;c||(E=E.toLowerCase(),S=S.toLowerCase());var x,_=E===S||!v&&E.startsWith(S)&&"/"===E.charAt(S.length),C=_?r:void 0;x="function"===typeof p?p({isActive:_}):[p,_?"active":null].filter(Boolean).join(" ");var P="function"===typeof m?m({isActive:_}):m;return Object(a.createElement)(d,i({},b,{"aria-current":C,className:x,ref:t,style:P,to:g}),"function"===typeof y?y({isActive:_}):y)}))},function(e,t,n){"use strict";function r(e,t,n,r,a,l,o){try{var i=e[l](o),u=i.value}catch(c){return void n(c)}i.done?t(u):Promise.resolve(u).then(r,a)}function a(e){return function(){var t=this,n=arguments;return new Promise((function(a,l){var o=e.apply(t,n);function i(e){r(o,a,l,i,u,"next",e)}function u(e){r(o,a,l,i,u,"throw",e)}i(void 0)}))}}n.d(t,"a",(function(){return a}))},function(e,t,n){"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n\n \n \n \n \n \n);\n\nexport default function RecordList() {\n const [records, setRecords] = useState([]);\n\n // This method fetches the records from the database.\n useEffect(() => {\n \n\n getRecords();\n\n return; \n }, [records.length]);\n async function getRecords() {\n const response = await fetch(`${BASE_URL}/record/`);\n\n if (!response.ok) {\n const message = `An error occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const records = await response.json();\n setRecords(records);\n }\n // This method will delete a record\n async function deleteRecord(id) {\n try {\n /*\n Please remove once implement mern/server/routes/record.js lines 74\n */\n const response = await fetch(`${BASE_URL}/${id}`, {\n method: \"DELETE\"\n });\n \n if (response.status === 404) {\n alert('Please implement the mongodb delete method. Please visit \"mern/server/routes/record.js\" on line 74. This is where the delete endpoint should reside');\n } else {\n await getRecords();\n }\n }\n catch(e) {\n alert(\"Error : \" + e)\n }\n }\n\n // This method will map out the records on the table\n function recordList() {\n if (records.length === 0) return
No Records Yet...
\n return records.map((record) => {\n return (\n deleteRecord(record._id)}\n key={record._id}\n />\n );\n });\n }\n\n // This following section will display the table with the records of individuals.\n return (\n
\n

Record List

\n
{props.record.name}{props.record.position}{props.record.level}\n Edit |\n \n
\n \n \n \n \n \n \n \n \n {recordList()}\n
NamePositionLevelAction
\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Edit() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n records: [],\n });\n const params = useParams();\n const navigate = useNavigate();\n\n useEffect(() => {\n async function fetchData() {\n const id = params.id.toString();\n const response = await fetch(`${BASE_URL}/record/${params.id.toString()}`);\n\n if (!response.ok) {\n const message = `An error has occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const record = await response.json();\n if (!record) {\n window.alert(`Record with id ${id} not found`);\n navigate(\"/\");\n return;\n }\n\n setForm(record);\n }\n\n fetchData();\n\n return;\n }, [params.id, navigate]);\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n async function onSubmit(e) {\n e.preventDefault();\n const editedPerson = {\n name: form.name,\n position: form.position,\n level: form.level,\n };\n\n // This will send a post request to update the data in the database.\n await fetch(`${BASE_URL}/update/${params.id}`, {\n method: \"POST\",\n body: JSON.stringify(editedPerson),\n headers: {\n 'Content-Type': 'application/json'\n },\n });\n\n navigate(\"/\");\n }\n\n // This following section will display the form that takes input from the user to update the data.\n return (\n
\n

Update Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n\n
\n \n
\n
\n
\n );\n}\n","import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Create() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n });\n const navigate = useNavigate();\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n\n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = { ...form };\n try {\n await fetch(`${BASE_URL}/record/add`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(newPerson),\n })\n }\n catch(e){\n window.alert(\"Error : \" + e);\n return;\n }\n\n setForm({ name: \"\", position: \"\", level: \"\" });\n navigate(\"/\");\n }\n\n // This following section will display the form that takes the input from the user.\n return (\n
\n

Create New Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n \n
\n
\n
\n );\n}\n","import React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { Route, Routes } from \"react-router-dom\";\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\n\nconst App = () => {\n return (\n
\n \n
\n \n } />\n } />\n } />\n \n
\n
\n );\n};\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport { BrowserRouter } from \"react-router-dom\";\n\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);"],"sourceRoot":""} \ No newline at end of file diff --git a/mern/server/public/static/js/main.e03411ad.chunk.js b/mern/server/public/static/js/main.e03411ad.chunk.js new file mode 100644 index 0000000..d58cb28 --- /dev/null +++ b/mern/server/public/static/js/main.e03411ad.chunk.js @@ -0,0 +1,2 @@ +(this.webpackJsonpclient=this.webpackJsonpclient||[]).push([[0],{19:function(e,t,n){"use strict";n.r(t);var r=n(1),c=n.n(r),a=n(11),i=n.n(a),s=n(2),o=(n(16),n(8)),l=n(0);function u(){return Object(l.jsx)("div",{children:Object(l.jsxs)("nav",{className:"navbar navbar-expand-lg navbar-light bg-light",children:[Object(l.jsx)(o.c,{className:"navbar-brand",to:"/",children:Object(l.jsx)("img",{style:{width:"25%"},src:"https://d3cy9zhslanhfa.cloudfront.net/media/3800C044-6298-4575-A05D5C6B7623EE37/4B45D0EC-3482-4759-82DA37D8EA07D229/webimage-8A27671A-8A53-45DC-89D7BF8537F15A0D.png"})}),Object(l.jsx)("button",{className:"navbar-toggler",type:"button","data-toggle":"collapse","data-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation",children:Object(l.jsx)("span",{className:"navbar-toggler-icon"})}),Object(l.jsx)("div",{className:"collapse navbar-collapse",id:"navbarSupportedContent",children:Object(l.jsx)("ul",{className:"navbar-nav ml-auto",children:Object(l.jsx)("li",{className:"nav-item",children:Object(l.jsx)(o.c,{className:"nav-link",to:"/create",children:"Create Record"})})})})]})})}var j=n(3),d=n.n(j),b=n(7),h=n(4),p=n(6);function m(e){var t=e.setRecords,n=Object(r.useState)({searchTerm:null}),c=Object(h.a)(n,2),a=c[0],i=c[1];function s(){return(s=Object(b.a)(d.a.mark((function e(n){var r,c,i;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.preventDefault(),r=Object(p.a)({},a),e.prev=2,e.next=5,fetch("".concat("","/search"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});case 5:return c=e.sent,e.next=8,c.json();case 8:i=e.sent,t(i),e.next=16;break;case 12:return e.prev=12,e.t0=e.catch(2),window.alert("Error : "+e.t0),e.abrupt("return");case 16:case"end":return e.stop()}}),e,null,[[2,12]])})))).apply(this,arguments)}return Object(l.jsx)("div",{children:Object(l.jsx)("form",{onSubmit:function(e){return s.apply(this,arguments)},children:Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("input",{type:"text",className:"form-control",id:"searchTerm",value:a.searchTerm,onChange:function(e){return t={searchTerm:e.target.value},i((function(e){return Object(p.a)(Object(p.a)({},e),t)}));var t}}),Object(l.jsx)("input",{type:"submit",value:"Search",className:"btn btn-primary"})]})})})}var O=function(e){return Object(l.jsxs)("tr",{children:[Object(l.jsx)("td",{children:e.record.name}),Object(l.jsx)("td",{children:e.record.position}),Object(l.jsx)("td",{children:e.record.level}),Object(l.jsxs)("td",{children:[Object(l.jsx)(o.b,{className:"btn btn-link",to:"/edit/".concat(e.record._id),children:"Edit"})," |",Object(l.jsx)("button",{className:"btn btn-link",onClick:function(){e.deleteRecord(e.record._id)},children:"Delete"})]})]})};function f(){var e=Object(r.useState)([]),t=Object(h.a)(e,2),n=t[0],c=t[1];function a(){return i.apply(this,arguments)}function i(){return(i=Object(b.a)(d.a.mark((function e(){var t,n,r;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("".concat("","/record/"));case 2:if((t=e.sent).ok){e.next=7;break}return n="An error occured: ".concat(t.statusText),window.alert(n),e.abrupt("return");case 7:return e.next=9,t.json();case 9:r=e.sent,c(r);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function s(){return(s=Object(b.a)(d.a.mark((function e(t){return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,fetch("".concat("","/").concat(t),{method:"DELETE"});case 3:if(404!==e.sent.status){e.next=8;break}alert('Please implement the mongodb delete method. Please visit "mern/server/routes/record.js" on line 74. This is where the delete endpoint should reside'),e.next=10;break;case 8:return e.next=10,a();case 10:e.next=15;break;case 12:e.prev=12,e.t0=e.catch(0),alert("Error : "+e.t0);case 15:case"end":return e.stop()}}),e,null,[[0,12]])})))).apply(this,arguments)}return Object(r.useEffect)((function(){a()}),[]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Record List"}),Object(l.jsx)(m,{setRecords:c}),Object(l.jsxs)("table",{className:"table table-striped",style:{marginTop:20},children:[Object(l.jsx)("thead",{children:Object(l.jsxs)("tr",{children:[Object(l.jsx)("th",{children:"Name"}),Object(l.jsx)("th",{children:"Position"}),Object(l.jsx)("th",{children:"Level"}),Object(l.jsx)("th",{children:"Action"})]})}),Object(l.jsx)("tbody",{children:0===n.length?Object(l.jsx)("div",{children:"No Records Yet"}):n.map((function(e){return Object(l.jsx)(O,{record:e,deleteRecord:function(){return function(e){return s.apply(this,arguments)}(e._id)}},e._id)}))})]})]})}function x(){var e=Object(r.useState)({name:"",position:"",level:"",records:[]}),t=Object(h.a)(e,2),n=t[0],c=t[1],a=Object(s.g)(),i=Object(s.f)();function o(e){return c((function(t){return Object(p.a)(Object(p.a)({},t),e)}))}function u(){return(u=Object(b.a)(d.a.mark((function e(t){var r;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),r={name:n.name,position:n.position,level:n.level},e.next=4,fetch("".concat("","/update/").concat(a.id),{method:"POST",body:JSON.stringify(r),headers:{"Content-Type":"application/json"}});case 4:i("/");case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}return Object(r.useEffect)((function(){function e(){return(e=Object(b.a)(d.a.mark((function e(){var t,n,r,s;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.id.toString(),e.next=3,fetch("".concat("","/record/").concat(a.id.toString()));case 3:if((n=e.sent).ok){e.next=8;break}return r="An error has occured: ".concat(n.statusText),window.alert(r),e.abrupt("return");case 8:return e.next=10,n.json();case 10:if(s=e.sent){e.next=15;break}return window.alert("Record with id ".concat(t," not found")),i("/"),e.abrupt("return");case 15:c(s);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[a.id,i]),Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Update Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return u.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return o({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position: "}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return o({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return o({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("br",{}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Update Record",className:"btn btn-primary"})})]})]})}function v(){var e=Object(r.useState)({name:"",position:"",level:""}),t=Object(h.a)(e,2),n=t[0],c=t[1],a=Object(s.f)();function i(e){return c((function(t){return Object(p.a)(Object(p.a)({},t),e)}))}function o(){return(o=Object(b.a)(d.a.mark((function e(t){var r;return d.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),r=Object(p.a)({},n),e.prev=2,e.next=5,fetch("".concat("","/record/add"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});case 5:e.next=11;break;case 7:return e.prev=7,e.t0=e.catch(2),window.alert("Error : "+e.t0),e.abrupt("return");case 11:c({name:"",position:"",level:""}),a("/");case 13:case"end":return e.stop()}}),e,null,[[2,7]])})))).apply(this,arguments)}return Object(l.jsxs)("div",{children:[Object(l.jsx)("h3",{children:"Create New Record"}),Object(l.jsxs)("form",{onSubmit:function(e){return o.apply(this,arguments)},children:[Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"name",children:"Name"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"name",value:n.name,onChange:function(e){return i({name:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsx)("label",{htmlFor:"position",children:"Position"}),Object(l.jsx)("input",{type:"text",className:"form-control",id:"position",value:n.position,onChange:function(e){return i({position:e.target.value})}})]}),Object(l.jsxs)("div",{className:"form-group",children:[Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionIntern",value:"Intern",checked:"Intern"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionIntern",className:"form-check-label",children:"Intern"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionJunior",value:"Junior",checked:"Junior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionJunior",className:"form-check-label",children:"Junior"})]}),Object(l.jsxs)("div",{className:"form-check form-check-inline",children:[Object(l.jsx)("input",{className:"form-check-input",type:"radio",name:"positionOptions",id:"positionSenior",value:"Senior",checked:"Senior"===n.level,onChange:function(e){return i({level:e.target.value})}}),Object(l.jsx)("label",{htmlFor:"positionSenior",className:"form-check-label",children:"Senior"})]})]}),Object(l.jsx)("div",{className:"form-group",children:Object(l.jsx)("input",{type:"submit",value:"Create person",className:"btn btn-primary"})})]})]})}var g=function(){return Object(l.jsxs)("div",{children:[Object(l.jsx)(u,{}),Object(l.jsx)("div",{style:{margin:20},children:Object(l.jsxs)(s.c,{children:[Object(l.jsx)(s.a,{exact:!0,path:"/",element:Object(l.jsx)(f,{})}),Object(l.jsx)(s.a,{path:"/edit/:id",element:Object(l.jsx)(x,{})}),Object(l.jsx)(s.a,{path:"/create",element:Object(l.jsx)(v,{})})]})})]})};i.a.render(Object(l.jsx)(c.a.StrictMode,{children:Object(l.jsx)(o.a,{children:Object(l.jsx)(g,{})})}),document.getElementById("root"))}},[[19,1,2]]]); +//# sourceMappingURL=main.e03411ad.chunk.js.map \ No newline at end of file diff --git a/mern/server/public/static/js/main.e03411ad.chunk.js.map b/mern/server/public/static/js/main.e03411ad.chunk.js.map new file mode 100644 index 0000000..2fdc4e5 --- /dev/null +++ b/mern/server/public/static/js/main.e03411ad.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["components/navbar.js","components/searchBar.js","components/recordList.js","components/edit.js","components/create.js","App.js","index.js"],"names":["Navbar","_jsx","children","_jsxs","className","NavLink","to","style","src","type","data-toggle","data-target","aria-controls","aria-expanded","aria-label","id","SearchBar","_ref","setRecords","_useState","useState","searchTerm","_useState2","_slicedToArray","form","setForm","_onSubmit","_asyncToGenerator","_regeneratorRuntime","mark","_callee","e","newSearch","response","records","wrap","_context","prev","next","preventDefault","_objectSpread","fetch","concat","method","headers","body","JSON","stringify","sent","json","t0","window","alert","abrupt","stop","apply","arguments","onSubmit","_x","value","onChange","target","Record","props","record","name","position","level","Link","_id","onClick","deleteRecord","RecordList","getRecords","_getRecords","message","ok","statusText","_deleteRecord","_callee2","_context2","status","useEffect","marginTop","length","map","Edit","params","useParams","navigate","useNavigate","updateForm","editedPerson","_fetchData","toString","fetchData","htmlFor","checked","Create","newPerson","App","margin","Routes","Route","exact","path","element","ReactDOM","render","React","StrictMode","BrowserRouter","document","getElementById"],"mappings":"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","file":"static/js/main.e03411ad.chunk.js","sourcesContent":["import React from \"react\";\n\n// We import bootstrap to make our application look better.\nimport \"bootstrap/dist/css/bootstrap.css\";\n\n// We import NavLink to utilize the react router.\nimport { NavLink } from \"react-router-dom\";\n\n// Here, we display our Navbar\nexport default function Navbar() {\n return (\n
\n \n
\n );\n}\n","import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function SearchBar({setRecords}) {\n const [form, setForm] = useState({\n searchTerm : null\n });\n\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n\n // When a post request is sent to the create url, we'll add a new record to the database.\n const newSearch = { ...form };\n try {\n const response = await fetch(`${BASE_URL}/search`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(newSearch),\n })\n const records = await response.json();\n // setForm({ name: \"\", position: \"\", level: \"\" });\n setRecords(records);\n }\n catch(e){\n window.alert(\"Error : \" + e);\n return;\n }\n \n //navigate(\"/\");\n }\n\n // This following section will display the form that takes the input from the user.\n return (\n
\n
\n
\n updateForm({ searchTerm: e.target.value })}\n />\n \n
\n
\n
\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport SearchBar from './searchBar.js'\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nconst Record = (props) => (\n \n {props.record.name}\n {props.record.position}\n {props.record.level}\n \n Edit |\n \n \n \n);\n\nexport default function RecordList() {\n const [records, setRecords] = useState([]);\n\n // This method fetches the records from the database.\n useEffect(() => {\n \n\n getRecords();\n\n return; \n }, []);\n async function getRecords() {\n const response = await fetch(`${BASE_URL}/record/`);\n\n if (!response.ok) {\n const message = `An error occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const records = await response.json();\n setRecords(records);\n }\n // This method will delete a record\n async function deleteRecord(id) {\n try {\n /*\n Please remove once implement mern/server/routes/record.js lines 74\n */\n const response = await fetch(`${BASE_URL}/${id}`, {\n method: \"DELETE\"\n });\n \n if (response.status === 404) {\n alert('Please implement the mongodb delete method. Please visit \"mern/server/routes/record.js\" on line 74. This is where the delete endpoint should reside');\n } else {\n await getRecords();\n }\n }\n catch(e) {\n alert(\"Error : \" + e)\n }\n }\n\n // This method will map out the records on the table\n function recordList() {\n if (records.length === 0) return
No Records Yet
\n return records.map((record) => {\n return (\n deleteRecord(record._id)}\n key={record._id}\n />\n );\n });\n }\n\n // This following section will display the table with the records of individuals.\n return (\n
\n

Record List

\n \n \n \n \n \n \n \n \n \n \n {recordList()}\n
NamePositionLevelAction
\n
\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Edit() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n records: [],\n });\n const params = useParams();\n const navigate = useNavigate();\n\n useEffect(() => {\n async function fetchData() {\n const id = params.id.toString();\n const response = await fetch(`${BASE_URL}/record/${params.id.toString()}`);\n\n if (!response.ok) {\n const message = `An error has occured: ${response.statusText}`;\n window.alert(message);\n return;\n }\n\n const record = await response.json();\n if (!record) {\n window.alert(`Record with id ${id} not found`);\n navigate(\"/\");\n return;\n }\n\n setForm(record);\n }\n\n fetchData();\n\n return;\n }, [params.id, navigate]);\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n async function onSubmit(e) {\n e.preventDefault();\n const editedPerson = {\n name: form.name,\n position: form.position,\n level: form.level,\n };\n\n // This will send a post request to update the data in the database.\n await fetch(`${BASE_URL}/update/${params.id}`, {\n method: \"POST\",\n body: JSON.stringify(editedPerson),\n headers: {\n 'Content-Type': 'application/json'\n },\n });\n\n navigate(\"/\");\n }\n\n // This following section will display the form that takes input from the user to update the data.\n return (\n
\n

Update Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n\n
\n \n
\n
\n
\n );\n}\n","import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nconst BASE_URL = process.env.NODE_ENV === 'production'\n ? ''\n : 'http://localhost:5000'\n\nexport default function Create() {\n const [form, setForm] = useState({\n name: \"\",\n position: \"\",\n level: \"\",\n });\n const navigate = useNavigate();\n\n // These methods will update the state properties.\n function updateForm(value) {\n return setForm((prev) => {\n return { ...prev, ...value };\n });\n }\n\n // This function will handle the submission.\n async function onSubmit(e) {\n e.preventDefault();\n\n // When a post request is sent to the create url, we'll add a new record to the database.\n const newPerson = { ...form };\n try {\n await fetch(`${BASE_URL}/record/add`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(newPerson),\n })\n }\n catch(e){\n window.alert(\"Error : \" + e);\n return;\n }\n\n setForm({ name: \"\", position: \"\", level: \"\" });\n navigate(\"/\");\n }\n\n // This following section will display the form that takes the input from the user.\n return (\n
\n

Create New Record

\n
\n
\n \n updateForm({ name: e.target.value })}\n />\n
\n
\n \n updateForm({ position: e.target.value })}\n />\n
\n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n updateForm({ level: e.target.value })}\n />\n \n
\n
\n
\n \n
\n
\n
\n );\n}\n","import React from \"react\";\n\n// We use Route in order to define the different routes of our application\nimport { Route, Routes } from \"react-router-dom\";\n\n// We import all the components we need in our app\nimport Navbar from \"./components/navbar\";\nimport RecordList from \"./components/recordList\";\nimport Edit from \"./components/edit\";\nimport Create from \"./components/create\";\n\nconst App = () => {\n return (\n
\n \n
\n \n } />\n } />\n } />\n \n
\n
\n );\n};\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport { BrowserRouter } from \"react-router-dom\";\n\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);"],"sourceRoot":""} \ No newline at end of file diff --git a/mern/server/routes/record.js b/mern/server/routes/record.js index 579ee7b..e52441f 100644 --- a/mern/server/routes/record.js +++ b/mern/server/routes/record.js @@ -79,6 +79,29 @@ recordRoutes.route("/:id").delete((req, response) => { response.status(200) }); */ + +// This section will use atlas search +recordRoutes.route("/search").post(async function (req, response) { + let db_connect = dbo.getDb(); + let searchTerm = req.body.searchTerm + try { + let res = await db_connect.collection("records").aggregate([ + {"$search": { + "text" : { + "query" : searchTerm, + "path" : ["name", "position"], + fuzzy : {} + } + } + } + ]).toArray() + response.json(res); + } + catch(err){ + if (err) throw "Query or index is not in place"; + } +}); + module.exports = recordRoutes;