From 05f8c935d9759481e7349cf690317c2b9d798c1f Mon Sep 17 00:00:00 2001 From: OlehMaliuta <104268973+OlehMaliuta@users.noreply.github.com> Date: Fri, 25 Aug 2023 13:50:03 +0300 Subject: [PATCH] admin menu update, fixes and improvments * major admin menu changes; * change style of the search bars and the "add" buttons on user list, script list and object list pages; * added button for redirecting to home page in admin menu; * improved authorization page logic. --- .../src/components/AdminLayout/.module.css | 304 ++++++++++++++---- .../components/AdminLayout/AdminLayout.tsx | 232 +++++++++---- .../components/AdminLayout/img/devices.png | Bin 0 -> 8110 bytes .../components/AdminLayout/img/home-page.png | Bin 0 -> 6238 bytes .../AdminLayout/img/installed-ext.png | Bin 0 -> 3762 bytes .../src/components/AdminLayout/img/menu.png | Bin 0 -> 19584 bytes .../components/AdminLayout/img/objects.png | Bin 0 -> 6819 bytes .../AdminLayout/img/repositories.png | Bin 0 -> 3268 bytes .../src/components/AdminLayout/img/rooms.png | Bin 0 -> 8567 bytes .../components/AdminLayout/img/schedules.png | Bin 0 -> 17657 bytes .../components/AdminLayout/img/scripts.png | Bin 0 -> 5797 bytes .../components/AdminLayout/img/settings.png | Bin 11481 -> 0 bytes .../AdminLayout/img/system-info.png | Bin 0 -> 10180 bytes .../components/AdminLayout/img/triggers.png | Bin 0 -> 3998 bytes .../src/components/AdminLayout/img/users.png | Bin 0 -> 6460 bytes .../AuthorizationPage/AuthorizationPage.tsx | 16 + client-app/src/pages/HomePage/.module.css | 2 +- .../src/pages/ObjectEditPage/.module.css | 7 - .../pages/ObjectEditPage/ObjectEditPage.tsx | 1 - .../src/pages/ObjectListPage/.module.css | 32 +- .../pages/ObjectListPage/ObjectListPage.tsx | 33 +- .../src/pages/ScriptEditPage/.module.css | 7 - .../pages/ScriptEditPage/ScriptEditPage.tsx | 1 - .../src/pages/ScriptListPage/.module.css | 26 +- .../pages/ScriptListPage/ScriptListPage.tsx | 19 +- .../src/pages/SystemInfoPage/.module.css | 6 - .../pages/SystemInfoPage/SystemInfoPage.tsx | 1 - client-app/src/pages/UserEditPage/.module.css | 6 - .../src/pages/UserEditPage/UserEditPage.tsx | 1 - client-app/src/pages/UserListPage/.module.css | 26 +- .../src/pages/UserListPage/UserListPage.tsx | 23 +- 31 files changed, 523 insertions(+), 220 deletions(-) create mode 100644 client-app/src/components/AdminLayout/img/devices.png create mode 100644 client-app/src/components/AdminLayout/img/home-page.png create mode 100644 client-app/src/components/AdminLayout/img/installed-ext.png create mode 100644 client-app/src/components/AdminLayout/img/menu.png create mode 100644 client-app/src/components/AdminLayout/img/objects.png create mode 100644 client-app/src/components/AdminLayout/img/repositories.png create mode 100644 client-app/src/components/AdminLayout/img/rooms.png create mode 100644 client-app/src/components/AdminLayout/img/schedules.png create mode 100644 client-app/src/components/AdminLayout/img/scripts.png delete mode 100644 client-app/src/components/AdminLayout/img/settings.png create mode 100644 client-app/src/components/AdminLayout/img/system-info.png create mode 100644 client-app/src/components/AdminLayout/img/triggers.png create mode 100644 client-app/src/components/AdminLayout/img/users.png diff --git a/client-app/src/components/AdminLayout/.module.css b/client-app/src/components/AdminLayout/.module.css index 86822be..8c03002 100644 --- a/client-app/src/components/AdminLayout/.module.css +++ b/client-app/src/components/AdminLayout/.module.css @@ -1,8 +1,12 @@ -.main { - position: relative; - background-color: rgba(70, 78, 120, 0.16); - height: 10vh; - z-index: 1; +.admin_space { + position: fixed; + left: 0; + right: 0; + top: 0; + bottom: 0; + display: grid; + grid-template-columns: 73px 1fr; + transition: 0.5s; } .log_out_panel { @@ -54,101 +58,277 @@ background-color: rgb(224, 224, 162); } -.logo { +.navigation { + position: absolute; + top: 0; + bottom: 0; + left: 0; + background-color: rgb(120, 120, 255); + width: 73px; + overflow-y: auto; + z-index: 1; + transition: 0.5s; +} + +.navigation_opened { + width: 230px; +} + +.navigation::-webkit-scrollbar { + display: none; +} + +.top_nav_panel { + position: relative; + width: 100%; + height: 90px; +} + +.menu_img { cursor: pointer; position: absolute; + left: 19px; top: 50%; - left: 1vw; - transform: translateY(-60%); - font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; - font-size: 2.445vw; - font-weight: bold; - color: blue; + transform: translateY(-50%); + width: 35px; + border-radius: 50px; + content: url(./img/menu.png); + -moz-user-select: none; + -webkit-user-select: none; + user-select: none; + transition: 0.5s; } -.logo:hover { - color: rgb(97, 115, 255); +.menu_img_rotated { + transform: translateY(-50%) rotate(180deg); } -.page_list { +.app_name { + cursor: default; position: absolute; - display: flex; + left: 68px; top: 50%; - left: 17vw; transform: translateY(-50%); + color: white; + background-color: rgb(0, 26, 141); + border-radius: 10px; + padding-inline: 5px; + padding-block: 5px; + font-size: 33px; + font-weight: 600; + white-space: nowrap; + opacity: 0; + transition: 0.5s; + } -.menu_container { +.app_name_visible { + opacity: 1; +} + +.page_collection { position: relative; + width: 100%; } -.var { - user-select: none; - border: 0.5vh solid rgba(0, 0, 0, 0); - border-radius: 5px; - cursor: pointer; - font-family: sans-serif; - font-size: 2vw; - font-weight: 600; - color: rgb(128, 0, 255); +.theme_separate_line_cont { + position: relative; + width: 100%; +} + +.theme_separate_line_cont:first-child { + padding-bottom: 14px; +} + +.theme_separate_line_cont:not(:first-child) { + padding-block: 14px; } -.var:hover { - border-color: rgb(128, 0, 255); +.theme_separate_line { + position: absolute; + left: 8px; + right: 8px; + height: 1px; + background-color: white; } -.items { +.sep_theme_text { position: absolute; - top: 5vh; - text-align: center; - background-color: rgb(255, 242, 224); - border-radius: 1vh; - -webkit-box-shadow: 0px 0px 21px -5px rgba(0,0,0,0.75); - -moz-box-shadow: 0px 0px 21px -5px rgba(0,0,0,0.75); - box-shadow: 0px 0px 21px -5px rgba(0,0,0,0.75); + display: none; } -.items .comp { - border: 0.5vh solid rgba(0, 0, 0, 0); +.pages { + width: 100%; +} + +.page { cursor: pointer; - color: rgb(122, 42, 165); - font-family: sans-serif; + position: relative; + width: 100%; + height: 70px; +} + +.page:hover { + background-color: rgb(0, 51, 255); +} + +.page_img { + position: absolute; + left: 16px; + top: 50%; + transform: translateY(-50%); + width: 40px; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.sys_info_img { + content: url(./img/system-info.png); +} + +.objects_img { + content: url(./img/objects.png); +} + +.devices_img { + content: url(./img/devices.png); +} + +.rooms_img { + content: url(./img/rooms.png); +} + +.schedules_img { + content: url(./img/schedules.png); +} + +.scripts_img { + content: url(./img/scripts.png); +} + +.triggers_img { + content: url(./img/triggers.png); +} + +.repositories_img { + content: url(./img/repositories.png); +} + +.installed_ext_img { + content: url(./img/installed-ext.png); +} + +.users_img { + content: url(./img/users.png); +} + +.page_name { + position: absolute; + left: 68px; + top: 50%; + transform: translateY(-50%); + color: white; + font-size: 25px; font-weight: 600; - font-size: 3vh; - padding-left: 1vw; - padding-right: 1vw; - border-radius: 0.6vh; - text-decoration: none; + white-space: nowrap; + opacity: 0; + transition: 0.5s; +} + +.page_name_visible { + opacity: 1; } -.items .comp:hover { - border-color: rgb(122, 42, 165); +.top_menu { + position: absolute; + left: 0; + right: 0; + background-color: rgba(70, 78, 120, 0.16); + height: 90px; } -.page_list .menu_container:not(:last-child) { - margin-right: 4vw; +.content { + position: relative; + overflow-y: auto; + overflow-x: hidden; } -.log_out { +.content::-webkit-scrollbar { + width: 7px; +} + +.content::-webkit-scrollbar-track { + background-color: aquamarine; +} + +.content::-webkit-scrollbar-thumb { + background-color: #0036a3; + border-radius: 10px; +} + +.page_header { + cursor: default; + position: absolute; + top: 50%; + transform: translateY(-58%); + margin-left: 20px; + color: #0036a3; + font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; + font-size: 40px; + width: fit-content; +} + +.logo { + cursor: default; + position: absolute; + top: 50%; + transform: translateY(-55%); + font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; + font-size: 40px; + font-weight: bold; + padding: 0; + color: rgb(34, 34, 255); +} + +.go_to_home_page_button { cursor: pointer; position: absolute; - border: 0.5vh solid blue; - border-radius: 1vh; - padding: 0.8vh; - height: 5.5vh; - width: 2.75vw; - top: 1.2vh; - background-color: rgb(207, 238, 207); - right: 2.5vw; + right: 120px; + top: 50%; + transform: translateY(-50%); + content: url(./img/home-page.png); + background-color: rgb(206, 238, 194); + border: 4px solid blue; + border-radius: 10px; + padding: 5px; + width: 50px; -moz-user-select: none; -webkit-user-select: none; user-select: none; } -.log_out:hover { +.go_to_home_page_button:hover { background-color: aquamarine; } -.active_link { - background-color: rgb(242, 255, 56); +.log_out_button { + cursor: pointer; + position: absolute; + right: 30px; + top: 50%; + transform: translateY(-50%); + content: url(./img/log-out.png); + background-color: rgb(223, 207, 238); + border: 4px solid blue; + border-radius: 10px; + padding: 5px; + width: 50px; + -moz-user-select: none; + -webkit-user-select: none; + user-select: none; +} + +.log_out_button:hover { + background-color: aquamarine; } \ No newline at end of file diff --git a/client-app/src/components/AdminLayout/AdminLayout.tsx b/client-app/src/components/AdminLayout/AdminLayout.tsx index 78fb058..702daf6 100644 --- a/client-app/src/components/AdminLayout/AdminLayout.tsx +++ b/client-app/src/components/AdminLayout/AdminLayout.tsx @@ -1,16 +1,27 @@ import React from "react"; import { Outlet, useNavigate } from "react-router-dom"; +import { ApiExtensions } from "../../services/api/extensions"; import { ApiAuth } from "../../services/api/auth"; import cl from './.module.css'; import Space from "../Space/Space"; import ModalWindow from "../ModalWindow/ModalWindow"; -import logOutPng from './img/log-out.png'; + +type ShortExtensionInfo = { + id: string, + name: string, + url: string +} const AdminLayout = () => { + const [chosenMenu, openMenu] = React.useState(undefined); - const [isModWinVisible, setModWinVisibility] = React.useState(false); + const [isInstalledExtMenuOpened, installedExtMenuState] = React.useState(false); + const [isNavMenuOpened, setNavMenuState] = React.useState(false); + const [isModWinVisible, setModWinVisibility] = React.useState(false); + const [extensionList, setExtensionList] = React.useState>([]); const navigate = useNavigate(); + const authPageNavigate = () => { ApiAuth.signOut().then(() => { navigate('/auth'); @@ -21,84 +32,177 @@ const AdminLayout = () => { openMenu(undefined); navigate(path); } - - function WindowClickEvent(event: any) { - var elements = document.getElementsByClassName(cl.var) - - if (chosenMenu !== undefined) { - for (var i = 0; i < elements.length; i++) { - if (elements[i].contains(event.target)) { - return; - } + + function GetTitle() { + var path = window.location.pathname; + + if (path === "/admin") { + return "System information"; + } + + if (path === "/admin/objects") { + return "Objects"; + } + if (path.includes("/admin/objects/")) { + if (path.includes("/add")) { + return "Objects - new object"; + } + else { + return "Objects - editing object"; } + } + + if (path === "/admin/scripts") { + return "Scripts"; + } + if (path.includes("/admin/scripts/")) { + if (path.includes("/add")) { + return "Scripts - new script"; + } + else { + return "Scripts - editing script"; + } + } - openMenu(undefined); + if (path === "/admin/users") { + return "Users"; } + if (path.includes("/admin/users/")) { + if (path.includes("/add")) { + return "Users - new user"; + } + else { + return "Users - editing user"; + } + } + + return "UNDEFINED LOCATION"; } - React.useEffect(() => { - window.addEventListener("click", WindowClickEvent); + function RenderInstalledExtensions() { + var result: Array = []; + + extensionList.map((el) => { + result.push( +
+

{ if (el.url) { window.location.href = el.url } }}>{el.name}

+
+ ); + }); + + return result; + } - return () => { - window.removeEventListener("click", WindowClickEvent); - }; + React.useEffect(() => { + ApiExtensions.getExtensions().then((res) => { + setExtensionList([...res]); + }); }); return ( - <> -
- -
-

Do you want to log out?

- -
- - -
+
+
+
- - + + +
+
+ +
+

Do you want to log out?

+ +
+ + +
+
+
+

{GetTitle()}

+ navigate("/")} /> + setModWinVisibility(true)} title="Log out" alt="log out" /> +
+ + +
+ ); } diff --git a/client-app/src/components/AdminLayout/img/devices.png b/client-app/src/components/AdminLayout/img/devices.png new file mode 100644 index 0000000000000000000000000000000000000000..27cd31aa148bb3e70b8c74872f0c206c6f86b88e GIT binary patch literal 8110 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 literal 0 HcmV?d00001 diff --git a/client-app/src/components/AdminLayout/img/home-page.png b/client-app/src/components/AdminLayout/img/home-page.png new file mode 100644 index 0000000000000000000000000000000000000000..97dabfee2040eef7402f8bdde2276d68bd0da358 GIT binary patch literal 6238 zcmdT|dpOhW|Gzh5a~dLt$f=%EiIr%}Va}?jL@895iiv1Z&Soq;QK%ltDN03=V?xd; zDK?bzaZ^Ul?7=Ye`>f~p&+q@=^}Vj|u4~ulzVFZWe!btX_v?PY@9Vx}V{IiavP}d4 zAb#wq`Dp;)&=3w#LeS%%z|J-30rNX;WeN)DO2429f@pHm1c2fMQLd{XG#4fvb@T%O z-N^sKK3~th0)QO*n7N5vp!3Yomq$vUZwV1h9v>A$)Rd1zh6KN|VtpH&+CN>h=f+#} zhvq$I@=d`hVa<`Ka7!#kgI|YjFwBJ9T|= z=CBKH2jlrQAME|^$Z(YiRr;`>{ywioeD%RM6KVW%1m zHa9GcZkYdRN?!AEYi921i{ap_Tc#P<5I)`KHEN`$o8<7+6f zYcDTlk;-(Ul}wIDM$nv5gLj53fd_GBs7)VWa&=^2QPaUqce7Cdlclp2CMe#t6Vwyv z4wxt)p8&uQ&U9;3N$tC~?tQ(b9-5_|D?M_s%e@4pkWPG^hM(e~D#q$&+_MNPr$C)MXxs z{DA@_5H;i5BoeO%>gh6XrxbL0GXYrdnC{7nA9}bXGI5fMm^Nn4?K`8BT=qR-SH1Tz zj6zppY$%+WI0Y#2GOst}FHHOiDAqE$8w!^vtN_J7bpvhpd2JzBaPT-4ama>qIivVX zOX{SRG(&F=)ZbI;Txf+2S_6urhQSYv97z!d3fRUC3JJJ~Dai547kzWL!srA~RNz}@ z*b3yk94Q8uoRU_TUq(Iz^I@aGU}J=Vil5MmG$2q-4{G}%2M~aBh(_K`Kr?;dAoN7( z$em8fc~T90cne@`|Fc-b1>g0j^|RJrg=5UFU_ng;$eqkk-+h*~qVFdbE(x-1guHv{Y$?kPOzi#8$2L)C-n`ptouTFh@V0L~? z-393@J3(SB^+}b3;*}jBG0Gi3>vk{k4lou<-KgN(u(WPdAMbqBSRHzG`Nv*2nkFqm zyL%sYH;nTAb$~DFVF|gmJQ}M5qnz<2eUB^q=qL=*@44gOm%haAfKhZhra${YWE43! za1p@T6_*bAg7-fwz+x|nuyz4VO)ya?Mq_FQ=@qXd2_C0XA8T|gmr8@jN$&U$j?~r@ zfMD77wIQ#su%Ub;bg4SjFxQ3rawsbr&>~J)0m9xE*9*1e{N%wb8Lrz%-2i6w%*IHC zt@v|Dd5@_l+YU`;$cjJG=Pk~^y1{+J)A4zWIOFwq3JRQPXy~7P0M|ymEj^bK1?ndb zt=}S@bd`hmJC?Q@1HzTmjcrMncrW`3ot>|(UVpUt&e>N$jnW|u#IE8D_>2m@plGjG zjg{~4L|?Nrt0zuvz59vfj-5^K@2cV{|H#D^**do2FMPjy6c9AfU;RU5uBl~Zl+ip8 z!18HdA=OZ{OtPK6jkpsIcC=6T^lHm3?Gc1h0PtcjG@JK#DfT$UHGA@wiRW?ip<`4)g;GQ19(!ert7eWK=40GsMw zhql~XZECC^5{ZHXE67-`%z)eu*}<`p^R?x{U&L>N_+6ELsF({?rwPgRMr&BDxp`EO znCr(PgDrEQNdHrvlVP*FycI11BMhTB?cvS1Yv!7QyQcs_J9Xp8+DnbfW#Ey<=y=R1ZqO-@( zq9{Lv!9~9HhN#(&Zl&(P>a9Glx^I$cX36tvWR5=MTH1czJ1H%wi+m6bFxaSUr}+rp>sDsr5>D>*~1-a6RJ{4INptNqo?!7TYhhyA<>ucUQ+WXf-sI=H5T zrP^ZqlTH@)&E1Za@S{aYZ{d?E|JR3(0v}H9=w`3dY)<^lkEKacssL`gXs{&YXtO{+ zcYDi4KjEj|X#rsL1utyAMgvu89$)$FgQG)pF_%?rIfm(mnh5DYw-OfX>Ydgg{EYN= zU)qIIm5!KdR(%ANM@ShIKFTzNQi)Tt%7|<0$!oldzH(l6wm~M||30!{RWYrsq3U)i z)OWG;#dA*up4}ICvj4u{^InXi=(0SSHSRgn|bYDyJAs{IW`tABP6Swyp1NS?Gfi{G^|Cetzlh zF=pme7xNHO`6%dxeqzHNu<)^CCqL8;Ape%my=y=H(U;WC=`|ldq7amUtIJcy3%egk z8oSFfynmyN8 z2(QF>yR{z!%~#O42qgAq@vFRw+q%KZzX9b+4h-NNQcQlHw=Kdx03sBQ{JkkIwM+s zqaVj1xM{cU_d+%IB69hOROYJro^-FJ&ipZz^1z$v!LKH1&F*zMZoFqkZ^UQME`KJD zF*m#U!n`&)Mv8em>fvfG5E|#3QXqVl; z=kLZHC4F;2DRsH0T&S~O$-%bD15nNeAM4>OJ2_I$q0BSx_UyiPdUKsEM13;BU+Rw0Dyr+h_Vw4+flSX~cKu zt)5T>G70`}3!ckV7=nLF+K!;RJls=v^;5Rf&q&?y`2!)oK048qU$w5HWf@eVrYqO! z-tQzaXQZ>B-T{}JkY*zXCY2q@zgn5@)zs~@Ys5iK=>iD1Z!mR(pdKLz)za*P0ryoz z!-|;#l+lg?O-mXX^R!+v3s*#~U#)6xA4%sk4NJv)5GC5Ye@bGmNl>DCv`Ea=o%o68 zvo8{B4A!!324=kAVJ{0ECXcFO5FWqz9oG4H_$i-X8ov8~Pfwxr~+ z070!x^y1MqUDcyQA!Kn(MkwA`4I(rrC{oT2Q472CE(^nEo_P^E z5uT9F^fKM?jDUv2{2ldo$fIc>uhu&y}NRLn) zTCzY}0PRL$1P=rjnkhaw!SSb9i{luh>GG14c8osI6YNPHKT zv1uXJu~4#~>BWAK2*MIsXITXo{0M~>^A;(+i6h4YWZh2duES!4tM~Q%<~(k3{zvew zDwbeY;M;u!J zsB7-$#dUQ3x9J?t;gT;DDT@rLVPOw@FZMU3z~VTh6F>Ep?s!7rZ#5#5=_3}K4@Nua z(Qxy*PJx{tR%LV^9pU~oCIW#2;bIcP~ZBD{vfxMePVKO$Z>pb z4GBrmh8v+H31^-4T9upXS~uEu5!x<}Z^`~b>DG|)S~?qI*ek>OkY=im)JuKZ)L|p1 zUp+aH`NlqGt*Z()W0WsdCy@)O-ZLUqpW#8T3aZJdDxU+@uM-BF-NC^-M?$Kl+drkH zZn~>(y{{LGPfTK8w{EF6#QashPe8tFy1ey5b4~y(G&en}rRs}RnYkZ8z2k>O)YObUP(>;@N27LXO0 zk{Bc&USaHLXGB^pbjpI0xP5*iS{PkkzIIrFQEheHtxvx zXY_eT6bP{4!q%kVO>B39OvcI{9#|*U#=E8zntx<{TJ0P~9LyySeP5cyw)EAe zFDyM6UAdH80|d8{U&$P8sZ{(iQ&D%AwNOW+f9qA2GFM%Gm;PwB#VHY%s`#LVqV zN7yCpVGmU5k&}I#(3&Ik)1r@3ZM55_v-`Y z;fdC(q2$_TqMJH7zb(gBNOkgZs7unqT7eNV%LLa_rzsJBp%AS*_E{u(;e6_z@biVU z{x`m+%=qZ-ZJ_B{gHlp~3+vmB_nsJ{0wNBQiKI`8gBDyPkc+4 zIN4Sp{7%-~%$-pQQhG4U$gwcq@7-DeJ5J%%M3P*s=IusBT^TaP!Ng+q25xiHHZ!K` zmY5H3A9+lITWutM)}>-pBGIPZk=vHVSh)Y_{NQ2$H~dwC>$6?P3rKmZ&J=^AsESJ2 z!{O{cA!lgi%)9sPYr$#ZEiNA^$dilXvH1FmNrf;@LJsi_b*T2&j@ZjV4Qe#k26H z*syE~-!xx968!(%f5G#7P4yS&CDNRF$P#f+!a2?c3J|PIdmb)s;I$;`3hXzwAH*hC zPju{>+z*4^P`i`x$?q2n*SOYJp>r`3^eVwyozFJ4`0q-)9%t8$Fp;}c0l?%az>S|f zr2-hGSQvoBMCkrb_`h|~PF-u>{=e6POwSQAJIS!So|hf9QBKqUZ;$Q2Ix+u$&XW?Z z*R4*Pgo)JeOdoVv+}#KN{Rz+|={2$8imw+te9|POH_(@fr7_TyMuct#KuJV_YDf+<1%316faGotUki=h_RmNGOAC$)253HF zs!cW^W#jA!UM_&S@{b4U%sRiFgz(7F;Li$@CLeCf9g;DH_X6%e+kLKgVIh9iv5%6x zg(>bQ7Dr+cFdew^gqQz>iX{*KwqbQKdaa24Jfx9`=@W6?&3(pI>c`sx(cz&xU^+;F=wf;%Nc?-=)4D?Ud z+I1(CzedQBx3XjrnBo(fz^i#lK`j-ZW9qMWE<;{5<~*9+?1)?jPw7b#Obxftf0QkP zF%Lv--~Ev7u-6*NUab_jvstGsk!*XVn89{FMMrwXnvI?etEfsC?ydU@PCyakbNHHNWW*QC<%^_W6O6BM?{ z#-lOCBuTA`fc;c_f~mLfa31k?27MPXwuE6TvO34n4zvN?zDA>j8KzSj(FG=vd+GkPh9#8z}SCAdO!>dwVx!`>vVk5iuM#Weh_j}T)AT$@aPH2mbo&{=mdQAr*ayQ2c!mx|K z5TXyw4QCHi6OL&tek(Q~n`TZHIHAXjbT%=Z#J37X8<3XJA{|@i4U~vvt4St)X|v+hZ->awatT$GRmq7 zJePcjV`TBd741%*RR)=}c5*TMJA_DQAKFtv4G?N9G6HHOPV}Byjm6}kA=T`wx$T@n z_oOX5Hvo4_kc*^z{?u<17G`brhKps3dg90r|9EFtu)&!M+@B^GSC$zpuEa}7>g+H$ zQ;EN`(f8C+Xyz<5Gi5eJVD1x8L6uc&EIJ2EB;Seq>MzPV#&TrE7ml<^?4yU01VcL6 z!MWBf{fl{feC9*J$O^S#kc*n~=JIlF+rivv{eZ#<>1fu+%U_)sFf?}sHNR-t&?Qwm z+G!2hC}sM<0NU*YYF9(?0Cbb;&|8!qLX>L^0lZ>Pa+f?$Jd=Oms4>`t z+)TszaD7d#*J=rmRxJjE|&Lo$09W4JhA$my#o1XQQUP82- zoa-|wCut8!gI$z9LexxB;>mA%Cr^uC776`O_<3bNX?(grNnleCcwpBLf=5Y$IvnuG zr6@33&7Kc$ee*1HNPJmW_Qpd>MIe3tw{1HII3p9izI-=w$rUpqs-*Dpym;S$ zh3QZp&SAVs_H$pKI#aCuT;8S9?rRyF%`&phSK&sDVrQoFe+N| zTzUFWUe$kn0ZW!J({B^{M4$+EI5~*|O;LXB21M5-fSu=_ez%ZTYHSH;UK=XiLmGQK@p4MgyA=GL0j37hXS1#uD%N43 zm@G73i2D68vgEO#H^UU9*IZK5e)oj_+Ro0-g@H~`ta?slU3)tH=qd%&CGE@J z$@lJr-Jt;2^PUio?H$05jLl`$4*JuvsQRQOuJOw1j}tAxKMiBPcE1HHxI9q;x9X-5_NFj&ukT!q7~z)mF<60- zUwGAj_`AR9#G$bo=Lfgn`g{JX66t6}&4#L~F^}2Vi=A3E11!=m>mT`2e%&mtUxyX? z*%Z--J|Tc?4eydkrJ)hStZcgS;q+mz)X?Xkd$bMdk1%M3HdohSb)4qen1(O`wh%c8 z@1tD%n~E^qLnWlI7LA9}heO_|Ez@$ZhPt{2`JC7#0@3x@-{_U632 z=dtc=8f}pcLB)hmX;$`6F+&o+>Pj_W*3?Hh6vp8(-jPakL(>|kX&)b`KJ%O9$5 z{PZoK-AX3qppbp6+^ff2jH z;=Sre2VdP-RrGZX4egW$h@Oh#L$VfMzkJy%DJUSKH!mCa<;qdTbQXb|A{<>7;b`Mh zmW7yhiMoPYTR)WFbeq?@Q)&qOfu!8s?UXcrI>(M%+m#P%t6STd-|J`^jG4{HQ0L4! zc!I~Jy_FTBqvIwSAH(d*4_*?M%4aEO=jJx^Htr!SM^P=Q^G8fyB`*!xBeu2Udd)kq zwuH3QCg-Egsc3|T?5l1Vd@*f!Rhd624Jv1`TXTa{(BkgRJ#Dbj>w1XSE@f{SXrIT* z8#I(5f@EW6r-j%mqUb~)G39&hU_&^#MQC_Y=nL`N%tTudxlF#Mtc^E*o9NO3JN+Rp33SjLQ;H8tgN5XAG6zX!1r@CdhZ+$ zKKBz)$1gYC=Wwf--*Jk=XI|&Phe+#PU0r=CvAZ^|eDO z#wtCLa5iFaoRa0$RqIsxVGN}uW~h1L^5kBrjx?6Q?!0X5>R3%pO#nh#HnR@~H?C}I z5-Pq=`j5&mX*XS>c~XxPojoFgXYT|0vL`JxSgtKCy=SHMAqA}o3TsCs5B?xk|3qer zxf@#&8F{*(96cB!1jUu2YzLRB|9)t{3Z9knF`pfoQBli9DxoAGXuGX#it5sNnet7MIgjwx$EeuJMYxjUkFm-(#OT*P7c7}4oODF887P6 zCC72}g7yB9c=St1Nv^`^56>^t3oO|@T_8rIuQ{p0mYiqEok4JSObJ!K;UO8A^`M=Wk`ROObzL6ayY?YT^-^L97f#4&Z1Gdx4qQa)As5tLck7&Z~l0wqw3Dr=k z$G$a8zy2-_X9kMv(M3s<9LMBi?lvaDh3tDzn~;HD#3b1ZtypZvv{2D6e+e@~h0+h| zO&DDelAihO4W{RlKYaLTr1l~UlIHPlX~r+SfkwKzET6|I0{-)feIVSwKX-=16hG*h$K$Ee-$th z<_c(pXyw#@6@5Jr`lQfEs8Mi$gEyFWL&O4;tZwav|HxkA_6?lXB z-Ar3ompe(7>39K>g5Vj8i_%$f9d}0fyIGHk`k1wB+j4#!rI(bHG$;?miQz*o+>(-# z=wIE^b(`>|YTOBkrYh(S=kz+QS4nQXiSJ$*y3~c{X-G(lO>`LSASH&0c_5&qz9qk< z#y{Ep_Ll{SFzny{J2ig1%eQYNv2|>N_Jv}|9TZZ#^McHo} z;lw|$ZLvn@iN)84fY)Rq_?B_;p*`u9)5r?w;4|c_I6xS$%)a@iI8Z~!;7SciTEl<^ zr_=-I!lcPTnVLou;_w5m18tvAMVE2HbXpGv9;v65T zss*_NFJMAa*3g4h63w&|(X}M=Upt@{d4;2Y``5mu={-t6u**0q{+9)h1RJk3IcIN4 zd=CpR`&A)8Z|`K!j(1~4R(SXjAM?a&x`WhZ()?M(AUBSFDOp8HNl_~6+!K=l7~@wm z3W`sSZ@Nm{OzqstX2VQWsjZp|jKr|f0r@%pLT-%-WJk)JM* zb8}l>9yafuniN6OD<5)Jhj_6 zojCP%voyGvGliCG=|WJGx{Hg;{CM0IL5^FYQFwUET4vmYn}+lDtRsTyz=IYteyJqg zEgbsr>W+Di`yHZq!2@ziIYk|xQ$NK0gP^9mP3BXHc^xGx9<(*4xhJw#bV>Np-$Jdd z8!IZyO&CpN%ocFqcb1oz@A(lYWZiNOL9Nk#AgPt`z9LK9&okd$v26)rB8xM;&BR79XKFxx6|=FzrQEMv*0M?33Al-e)4Xk|nk7f15+Tx=KN&6xPdciq0sr zLQeiWFXsw}QAZ>+TtSM1G%!w3Ky(G6%u|ey8Eh!R_IsBU{uvlyiw|+aHO3kh;(@Fz z_g)&-Sy*6ar?kkuEN94B-NNDzJg(mXFA60|*AFX9v3w8obsG#s?wNv*!-rQz1#byr zb(sToF?%75aLYgGpGS z_|uQ1WYN4TbP%rsPym~pBYzU=?!zNt*3cmb*vpz01n%`XuPZ`T}Y8jtc5SSk9e)ICog7)W;xS5Cw_)?%*8= zS4glH8QETb5gQUDr2Dkn`fLA*Z2>dycu<;M%oO*Fl ze7Bwm2W{;>5R7bck>1C6n%jwc!a;c)$=DlRS3`#=bS2ETpVpnJoCKDviehgEvF4MCDx z#-s92U|YSHkUF@}Z^wF(!-;M_=E2BF938(h1Tkc`bNK#mEU4ak=XWRCf@onx_~O7a zh+e|IrykBOmuw5hWtI@e#KfJ!#4}hSSrhA=4vHXuC>4Qt?HPq|{3PopTn-WRQEIcO~}pXyHbm zLcZV*CW`0W49;cINlM{K!FSO##)B|0Fwmd9Xu~qELRmm_#Bbt%-a|OaNsh_fE=ser z7;y;+zkX=<)1rhSJD(GC{Pz1qfP~p>8^q0x2}d9_KPRMK@IaOYK!Jnxs!kK@4B-i5 zdreJux)KuIDd44rqTqwM#GXcQVWv%tjSr=~sy6zrChQ|&2Fv+M$od(dh{)puc8IMG z8QBVg$uklOWAs`dCDHaP!jy7CDL0bCPi$oA2I>*E_HGJ7!otE|O2iLvP~Mccdx#_5 z{?OuyVx)Vx$#YL=_uhSRj0Ja;q#_M15iMKi3GQ!Ap8sp}?ifCngtt6v2?p^Yqi3zG ztgL*)&fdO2tBl-j0$L^`dj>BKhKO%Wk)`g#bjHKV8rRqE;YrW!Zq!Z?`w3Hh0Oh0_ zDpTt^ltvmF)jA@*9DHtgU6a+8Bnx{(iy*#*JMiY1EQMrbWTg5;7=Oow#Lo`cF?bbG z?|nW_dY5kxA9=g9x0fA$agi4>JtEz^_B2{ncA0vM`fL_lPA15>ipVn< zG8j=N>|zm+H$bVStJ|O^QoxyaO$r~_Ck5eNb~%TsoM|5$8D0^&et#c0n{s`>34%^m zmefm*fJ$UD;c#O-@E#p;aS;&9{%PpjoMbeG6cD8Hn(7`~74dcd`-g{MiVy#)g_7%U z!cocYU`ZmPFJE?TF8u-M)UNm_zXB~hQ|Tb-nz~tcRe)vtck8h(GD<;qjvWrJ*gf7u zGzc4I@v_i#lC28Pt*^gR@Ui8!%OO$#D?axIb)nX54xM&Uiej=hiGOZ8mvr;+!9qtO&vVGm7tNVo^ z=3J|dLCnmq&4Rh($$Z`BRR$u<`gx0_@Zzz2u@e#^4N}TK&s1U}ThWX=(c%Dd%711O z&1Q3-nHg=wjw3^&GH=lm8JF*Jh|~2J`#wAGAwTMB3eS_z%RMv$K-VN7%EQCh@HoKB zhS3P6IX1ENveTW8b1h_KzRT9*4fdx`@8W9lpaU8Sv_twDli)z1bH3A5WLaUh1uX|x zOA>?rA|jm4w=g6pD=}s*oD&N^`=*BzrV_u+2m)5#B2d+ivOI0XhAM1%`TN?EqJs%~ zP72BkHS}!Ft?l1<^oQsfNIkZepo>d`0 z4h#S4#YqA@iP4H9DpOCRT18};@o_oCR(P23-`8U0Z4d7mAN0)#qD#H9_!A3xB%=f$ zPe*zn3~uLZwU#ADJr(BD(^IPH-7?sS87edm%4LTc8p+)X?nXy2Rp`S;=!dudTW(%T zO%w40K?J{}3ju2J^0q#D5h==Bna`0dFVa{s&|XKsCtKu%m=-K<1QA$7>gc^qQW-bv z171(1v=o4HQRc7@p^t`vD;hJCF#@^42W~8-kKt~?Xnr0{Q*>zmbSSJ}w)hepPEk{R z_3x?wufijqhfrc-qBrEx+1n8j9&Ws>2iPC;!1MUb?TYyzY`E6Fqi4W1=H@a)KQKn7@T*tyLeize;G@$WX_D7BOCyyUOXTtSrk>3^X z$}L38^ahi{2(|jsM%MiO|sgTLT?_>_D)YaS&akzeM~c$A*SqxOm(Y!Mzu^}sbs()_Kyo+5BX@|yL`Ne*kz}K9WO|&v$ z_^&7Ix6tA(C@I}9_69TG2S==C1P7cSSuV+~GK2*D7}NXHhJ4=moA_yTVj?LxjYHez zk*Ltf2xBG*K?^I3pp%)NQR`qtrf>}!xUv#96;(V!$r@RkM3F1$gf%s zCKwsD8eW+Bq~>JocQ~dVS((jXaT=??)O zjLyqeB{?~f!2QYmlcCf3WYyC&jeNO9g3fC?Rk1&}{2C-(Q5OXfwV-Q(`xCJ*-`B>D zu{?Kr$6+~jb)zF)*VD}eIBK1Nm%B3q3%cR_DBU;Gv?i0xoQK@1he(o-jVd!h5eOT(Ujay3}nZ z4*&Bx)SzW9ag3j%Lcy4H zJedggVs>`#-Ph+Pl4XQMQ%~(@U#%WF(m<{O9mZ0bFD8zP_Y*anRz6<$Rc$&T6RWJO ztQI=_w*NdPV2;$Y28o%3t?4F5bU0!iv$f&bpXS{+I|~`L!^uP8gE`UzOJ^Gu2}6v` z#JT44)uYL6KPex2R@OWM3|`CQBmpdg>>PgX`)9khsjupQt!U&zc|5H24OCyHq^K<-^!a z;qEEUKR!EchuPMdQfoD1-!BA({NdrZioWgd@AH@aE?Gf`Kju3ffKD_$EKDmYQZBlV zRuzQS+mOG00z&6R}RO&+qH7dhuw_XxvG70G9(VlV1&&;H{`;`l3PEI^apNS^1BjR!GS*ZN|pAXrQQuk$UHa!yb1BlHrJ>(haDOwW}39Cx~pas1A4cSbM6*O7vwc`aH z)S{lwmyb{nnVBvKTru+ElPHK=A%#)L5Lwqy&^$b{m(tDv}&<(M{g0N9+& z(Xe*$_X>>hQo|aeqN#LJg^qt^XswWxy&d z{8Xe{gS~j~@ccfrNFo~d*4Nd$^ibrxcL@+#IzdLPrlCFZmiz}MEs@vZ3Q=!bihySL z5X16fP@Szfp43H#a|~K^bTk4x#?H>}y(%#1{MT8n$J-C04)%!%py|>1*n?WD*rOxQ zy83!WYay23nDoqfpV=7~EnQ^Mr2r!l$@wJLqE$0oVbThYRO>fPkG#dqY_Z+cWns>xbw0(@E_#!PA1dk+MQ3s)`_Bq)DEIq;pQ|AcGi z!L0{YBH{_gC;C~<7X6O-)OZqI3IIL=8^;AEn}%T~#n7;qFEj{>9UMjB48jUSXUFe&lvpPh3sX$x{QO$oF^S?g zY(i}B-@l(3c;Dd@7UbmmPZsYWitAm*QFj=_;!+Z4AwO5W)4T+@Ph(Jz8y!yTm<8!t z2Q~ddhvOrW@rQAVo#N-lDkgV!FYfT<#PdJ^ImYE`e{#awyby#iU&?CBJWqaL7PIcN z55hoo;3Z}o-}y7t78^GXQVvz|pys|lgAq!49|FbGU)kB+zuV6X_*?Fg;{4g0za-C9 zR}cZ&q?OUZjJ!M&(fx!>YDill?D8#>YZ$;0-fQvld1u;PZr3MRy5)usfYwRL#F*UI z-(0F@p)Gt4%A3mTd$+e(W`Lj~GN|+ByV_q2LItOfuu19xC*kJ z<|2(=wc=sn(^kF8&$t`T+%GLwa!^z%%6p|RIr>2hGQNr>a&&ZTx~ypB4eCZiCgz_x zEXmD!|N1ehrDu)wJZ6}5LLP-Le!055*e7{b_b}FHQ{pdVF69D+Goik?^V%$Tb|*zu zI1dF5HiBHxJ-26VPa8m5-s1F8#A06z-T3u~do;zCK|Ye}kUGe;SG;x^CyS?f`-DmC zY;p-DCzE|$@p3`afGrOcgqU<%skvrK<~HgdxJ~jjd}kqC#F}nn3ocIwrOh15LYaXT zyiZfUNeR%qff$cT}zzba_<_f+46@PLNmwNo@(c+fZ-!H(iVt;rr@2T`Ry<(>-js3zYxr>bmfA&<)+ciD=%zp zZKcOYaurlm>Kuc%wzi7W9up8;tV?STr-wblN?AGHnU8gxX|zQ2y3x+CY6uv$HjopD zoiM6pKV`y;KCG`F_Bhxm$v3;H(OD|n(?RDkx0aRWT0DX)85vG}d?+OxQeVtm`fupo zDk)Jn{WB0lS3|K(cIw}B)sp>r<1o^buz9Lx<(tdS<+1$bQty(!a#4MuJjmrqAb325 zp#QQ)O6M(X)VTCwl-5xUVZZvLx(DO$#;3hUAcq_3>n+CC$Mjp=smLd|y4T0-jXikw zMwn!r$G(4{eEg~mAmY-^;?mD|uFoibXYi*0{kZ-|zQfgCZ#YAPho{@R>V*wD8lxIY zxk1-ggR}y-0XB&R_k6*S6DFz_H-3N9EB{qUu@mk z$^{!7XF?rk8Z7qS-$w{1Pl4bA_J=|tgRVIJALuR(<-K5RHnjVEZvfX`ey*e@g;jbf zPYWp6{B5Xx(*ZCl=5*VGFAuoseGAM)79m135#xt|aOSP$KFO_(IhcqQf^6782~}2> zPs(=e6xIa|RXq+14-e1C5!D~N?*H$Ceyz2ohFWWeJqnd1@A(sSN`o$CGWS{wx+hHh z6nxuLd3~z(S~2Xp&nXLy_sJ*W_cGw8L%aU_lUF}rQXn}A{#h-%G>Hz^6`K1%4Hk2K zgB@^igE}GJuhppKYck(ZM}N+`eNqoIzq&YOMO*u84)_<*RHeMC%idntRY)Zs^wA;HQJh=jXmK6ZLWU7ra;N|~EBc;HLIPdMGhAU06yK)qSvgPCYQgC_-~ z2Z6&q*AC-^a7O06H9;bjs1MEKA$~K-LMg0kbsrCH2Lb|$)Ip+hVfa@mm6&i(^Hde^ zMj~OR0_~&jYX{nY3^lPAOJH5nJNV+`L4uG?VU3k5Sa=XSjDF+V3F2)=lLDW9`|ndW zP?7^VgJde4d1DyFtDOV5bU1AuK_@074^QP|?>mfu<(GX!Wv#I~Xd&FsgNa*AKpw1b zpX7E!3mEV?%@6Bql4`d;^Ew+}Ur`F!5CUNR#L$rXKeie95wOk2|6`j@10R2+SHJj1 zesj??{OW?C^S+wZKiHTcm}_-midxjNx2IWO->7=|gH^x5UwC?ErZ8cUWlM?$9@_@x zm|LM43PsGW^^&Odez1-jNd1}bvd;dA@&5h7U)gvePxRYg;(5vu*sn5M+_KUMiJsd=V5bV9`hc32tL20cNwE))im|pX4 zJf1thA7nlu*X%-v1@&d(K>z$ZR$+%SNVfN5C_wGqjR7K!i00>$j|>&+Y;PBgoc_%7 zTv5Fo`uL~0^9nyB5ISLG!~msEo9WTw zlQ}2)fe6+N#_9O@_}8LNop_D2{v_|;zjv5X^Ys-OqLlpIutn0xQAmpO?_UA`pvWbx zD?K4$DMXG3N$nalvC;SJ@o#wBtT8gNl6~;oXY63CrI^;hh?W+SZ;g^K4{S^iq)M9kPHn|jE74XFYc`8w;z;(b_MQApANQuVG&3k*dJ_8{c4H+=aK?a zjKDhr@ZhW0OWk97my`)Cs)<9lzwM!8EpChMEc^H|Grwam^raq=BR~??Oc+>aMcf&Z zG!wbY{3**9hr4rA6X2t~)Vya00(H52-F z(kUJDCXQ1f=&Z8sE1N~ud46js{W;6Nrj3Y*K(K=VDs4aaS>4dUJBh6MOOuNwpAX_5 z5?7g4(wR}I!!H*=It>-xx^;^#5QCnNl1ZM$yT2*q?pR~CvMNvpROhL9xwe{&J=xsG zXLniaEEh~*A}pB}#UR7sf8GWV9f(_SRsK4JzlaiU%ZVR_B7m2otJ$#y_e}3d$&QlY zaEz%_AGM!k%A($>D!xLB#5Ho?8OO6$OGROH(lG(|NEnoCE7pY8l^j~BLya}O;SqbHDyj*9W3 z1|^>NPfBuMTOsjlhLDzvOA$Vnaij*cMFhbAJhs9nG(vlDo!`q`2ygd0em>t3fMO0mOXk$2F3P9|UO!8Jq|7SBY#Nv? zEBgqWiUkXvTJtwS5RfDNb{2`7pV~eq9pN&O9zS(PJ_H<&%Y+<7IGNK0s32;Th+4gN z`ae>3;xm%sSe!*I z$wO7oayS?>rBIq3v9akRgX`C>><{n#9AHqko_v1&8r}Q2{rCogr@gUzn5YZnBz^6( z*NMPx@II`c7(pPI|7REZxrq{tbWg^Onrw(9P7kzz;R-%}yma{ZcO1(0VI|!ohWkDx zeCt!ISKOKA#T3_~cl?h3Apz|-DSR!CnOKs7&*aBtT61fkf-7#QsyBI9a^PLy?URANv zQ7!%5?N$Vp#Z-$2r_xR{#nzU;85vQ0Qey4~o>nm(g2_tqm%!eF41wiX$ryq?Q&Ueb z3~&lMzjdw*HOu2a;j*$8e6Q(3kGva{!{YeU($ih`9UF811``x$#n=Jp)^yr1vwJ#T zp8V?ZG*9Tg_jT700~Lv~yYixEzLVj!D)iAES2(}87~5;kB=YpmtdEHK=TN+pso~1c zXNNRg^G8D_tz7dg8f}yH2|93~HZHPd+e_8M1YB>=Qqp3zL+%tScR= z?BoxUsA&BoH-kS4NU#hWY0Zln+3KM!&M?yCOpxgQxVIAY#}+P>U*FGJ*%6xV)Q$&o z&Lobu4i3FbotF=`n|A_@Qjo`6Ght8PQQUBd!g@I!k9v1Z18XeEpAP~6aL*2yUemvl z(%qiU>*$7tM+3)Z;ymFDCc-3c-@ejK&DRcJW|o3}J{*uTmN0466$$3b%V|J|V?m)W zUywm|i4Mey*Z>{?lwGol5ucIxmPsbGi#N(LsOknrJKp?-9`_wK}BM4T6(-+n<%92}fK z5r{Wem*@FLhG~T}1ll@)wO--Zng$wd=C$dR>g9`%#_;9K%dp=^NRi@=mz#kbrtRDG zjEiDc&n6%u`=rqFIS4gHl1h)`TiFVEU6+f6Hlq0XUVgW+vVIZL{;{0WJ}}yyvd(V4 zN)Oh=VU4DIy|>i=r)lZzE<3w{NQA;$+fa2qy;yKE3$PjgS8`lhY!xL%Y{zKu;!&1h zHN|{O8ylOh5}nfgzqW5ObL;y{#!9R0JT@<~!oy>}@;*W{`;9U3_wZF>`3;)9hn5ao zDCNxg=O1zob0^_MLGIQuy;DwKG^}j&-4Kr_d;roeLl~p<7sFxrP&Q5-fXDGN0=r`* znH|(nA|}H=3iEy*jmLy2uN%1l#Fecc(3Tg%a9*o{P)IuKZUyufH+TX9U+m-kEYN8P z6FQJy;~3U!qLA`hO+W?Zm**uHWa5y`!iE>j#%9;W2DJ*((%)wnt3v{Ul*-*(LQ(iQ zXLm36`fvjsK2Cds+2ceuDT5|)AkdD=oTqPPH@Ala$1*dcN70!{bKiElN+=`XXet{v zxnl$NLNuiW^XRUrc@TD04`>5$6c*BC;q)7_g6Ptub;W|5PXr;TPM1MM7i>ZHNb97( z`jQ46O8g6o(_OTE<>Z=$MN2$-1Wpp)?x}ssdB%XGi1EjRa&oID`@x}^Yv%pv zF5fhMj%8~jh<fJS2+K07IOcT(@<^O6lQ^7g@*`<$qSkj41H*sI~!HyG4GRSus|YSfUX{N{|=ARAN7Bzc+DXI zupWX8GLfm%KrOFE+f71y2`>+2FYM3QYd2Q4o*&oeoeD~ej|1~! zxIkjB6V%dxOT?+>4hn!ur7vc1_g#tEog%XpVDopN3`b@1W>rvo`}pjE+!wFTcO3zn ztyi_x)kKw@d^9|rXB_Jr8;&z-@D)+JnS<1`nvTd>S@sYBq{W=C15(9oi4mGwj&o*Do}kHP`Em@U^U-}A zM-eBLUv(&+K*;OQJVi5(+%+co;*W$VamnG_={7J z&H$?Vc|#du2hh!=UxQUX2|i#)h7&*{Yenc?Zyx`iBv`vY{wQ9ckQBvSj%P2G0m6JH zg4IQF{igXKOtM$pYu<6@@c{_LZpdu5Crbm-3931~HfzT(hqLCq>#~K<*db`-tCImy z1V1kNW8)xkZjRFm_pd~m;(xfrjs`yu4k|SI&s?4#*P@C{Z-N5zR9C747gA9roK%|J zHFHYLK%Z4QHg1kYP+Cfmi|V>dApZ6hd8MkmvfF?imWDvh+3?*d6}t1ufbX!J_V&{N z=$s3inNNw`_`D-*iVeZC{_>RRJLvtkk?OSI%z`%?zy(f;d~eaxZT z04)T1(pxoe8)`m%-VwCdmug6BqUL!u-l*CGXcI`A$&%^_Xpf=p?SZpqOEYw+YqPic zmTM)d-d3Z`6Avm(%?Yf3K+V($q-@yi*ith^UV7OA^~OF2T;!ENw((C zf_i3TTJvc^?#TQ8Q9MLHHEd*lAUB6SeWA6?_-d$YJ3MmGC0{P4cTh_$X{btjI7^(b zzDWUrb`yf?s`vuz#qCH$eyEpv* z>_j>+3$T;;83F2#Q^hma_&6JEdn@T7C$5YsqF(>3KsNuGkUiS__rxfOYb?Y5eee7d z?~gyrMP-CxJMEG6ARiSK72xXOfVF_9T>gDwMG>v$&~cGXOE*x9a8p{`fYLr+(h6IC zU;D}Dv0)~!N+T`@YAk~f(n!R!YMdoWkD#iB=*LH#YwOOE@-Uq;Y znVjs!ix(E1^^fy7`#=M|f`t6hxBrOD-yCTa+o;IVwi;Lt$Ap9KSv_cu^o#Wu(_sFk zrLM_VFQ-LT-{M(e#rF5S5iBjv&B{{}<7#bQ9;dq=q zRoAG@jjt?Z%xkJ=A!IX}Ou}>b!PBu7n;!!Yt*@^alF(|IF-Ugmfi7P5qE56ClPS3r zEQn6&L==8`m zj~pXo=UItaF|>2{w<#6C=|JTm}|BEbYE?;-U>Qdl#u%PPoI*|*(&E~S^+xnP2-E}2!Mogal<{#9nqv!Os> z(|_x5FnR>t0_`s&Y>jq)q|INYq(r)P|5skZcG4ZrJpZ6WQ+s4kq9o~vJYr+ct}uD$ zu`vM%TwZfC)z0^99uR4k#W0j(tCR7e_JZd z#J`DRpTw&>@Ht(llpf18maEezy_FH3g%k6s(I%}YvE)R3nU_joS+&0T$pjFp3s^?n z^3apr|8+@8YO~2JH50n5pg$O>Leqe4Q71TUyROqjGDS(L`iv7yV5Zt}U94O%%lluf zjgwP~Dzb+4`h;}&l0-uchw9}y!{%hw17J)#W1egm12K+T-j5t6;nr9G^gyU%KR(|Z zpK-d`u&R9iuv$@&1)7U%<)iTsIQ@Zf;K8=mcsRrebnG~llrTV6LUIUv>Zur6?L=*Nr*bc=%nP5oqKC_sI6Yp#`| zan@7xkt4_!xN4st?+lbT&b>P23`(a?=bEF}5VLhy%w`BHPjf$-a@(4HT@GNOO;^J{ z1!)JJsOLfp&8uF3-$A>D&FWBQ(^V)eclG>q?%i zIyVqNeqLK=1n@O|uNac^qpi=;kLRNF%=}D5R_sw#z-$vQafz9xpUGQ1W_v_+e?5w2 ztq0ek)1Qq^5?A%y@&Yp0plY zo`Z2f)KChpjp>h-Cpu$eO&4E3+}754=Pzms63-PKN37mgAr$6m4Hcd+C@Wxl#~6bV z=NBjh@OYF9)-r!({FofH39jXhDqRM=%PUmnz=LzSmM_sZk#mh)Ev|CkNK zie@g!R(3?IS>=I22?6L_{AbS;meZ4E5nVj zmru98Mr6_^>Z!YSkt6GPYL#T;2HgzjBT=sxhEwDBm-ZD=BFBVx@9&V*$rx_ScDl&WjMsSP2hz=zoQ_ z4MPY$W0uF@E>mFvggSIv}U2jhlhEF$+8S><&+p(2>&8VdG>l*|e=yinD zQIki|xPlj8!&44AbK7%j%JL956$E-TrW1RjQT?;B4Vq24A3uJ4CW7w#1q{G~RDv+{ z71bskzM1<{Pe;4yuh42541yA=T0riWKufqktR))|!MJ`msZ3S)tB>+k}%3x;ab%)7ny7;ay1SA_ZM zURO-n^}(-pnVQ;kQuY73Umr!&peJ3y-R0zsTfrD`0;|f2INa;zNIm)U+3rKP^ybI@ zPTNEHUx%|rG--10|JP<6E|N<|zf@OJQXl3$wEg0RYsj*&4;1_p{ab~UJ8*q?mt zvqn0mSMS~XtDDY9yQCHAhc8E*5AOk5U+{V?B6Kg#UEaFs3Vd>U+GlP1*%;17We93- z+o>NPu@0A(88gx$s465eoJU$b>>m?+`6{6bTSE1Chj%DSYM285^vhEwJY1R_{Q8;16k;ZBZ@%X5CRRwUq;vMZhG1E&Zcd|PtY~I@w#%y zD~(!RZN{rCAi0~_hzoV;`}X=Y;+b$MeTUI3ZSp1lTaHEE{$pfC)Iky;v3}x zkg{l@Oc^mhaE*oIbFb8qd5jTeRKql1{?y3dkZSi`tmn(ra2dy<^0|liMEz3GKHl`# zbE!|<;<$7x-~_Gtz^}`|sMJFNPCs7wFVvg?TN+YQ=ah3hp`uDgB@<0ZyQqHU6Wow_ zPFhx0!(JnAz%3Ki^1sg9^?7A=m0+A+4Nu?>kI3aEt^ zb7L|P1JBH)Kuli*axq-IrfkPtPzRbdk#x856eaz4Gv071aPVL(DQQ^QYx2QIH5l!a zl~Wuum~)5wZ4kjyG*iinicaXE2XoIGQzbB*Z)c_@o}goJCE|lzT%)EkZaI%UE$zkY z69b@GQgU*9o5y?fq^hWSA!fZPxca$)j*iX@7}_A_0pfzA5biFu7HkwHka+veL#g5L zPr;Ie)<7QGNlE3}p=bDTT~rJro_J~FkvqS0tsv5C%NIn^6<=o5>iIctbMpbtNdwA> zB7Q3UiG+793L*)yU4$X13lt^`Wol~L{^w-a>TKmDMJMgP4I`Z1v9I3NK zC8Kt?$`%p?;!^LXWuWNY?FyJsRK-l~hEloueLA4Zp^*`%`;>CCv)dE#-V8S>v6pY3 zP}nhUb3Rx6u6l9I9YdX`md&p|(5U{pU@qyUZ+O z1^q2|F5!@nDf;Nf|AwiUl^q}Bd2F}+`zMHCdeuz^m$}8sQM1qjhoCzvsNV}P?wb<; zdESWWDXC|-H1=ZL!;Qe`QRLUJ|2STh z?8AC5x0r#&72u6fV4|&%f!+1P7AVnP|HFAvw1aMQGh|_j13N=-bY4FLgGui;p8Kqe16rS@)|nZD37`?gz* z20*@SL-o+vBG`c-7&rS2V|;S@^r`Uls1vlt4WvT)i5j}hR;7_KnNJp3%E>_vX3@Y%WPSSe!X_9iGhBD|-N zY_uH~bSe(jfdRwCB?rg43QtF88{KhCsb?71rX)ljx}~~Jd0)-;{J?x)ztcy2&=TZI zHu~+qDXQiVXzS)hchFW=q>;(`1F$Zp|Hl7*-*V0al8IL?*L!JW$VjMvpN^Qon_V3poq3%`;-WZgu^fD3QO)C4E`Qa$mK$q-2_V zj#$kbM=JCyC)8iwo?&SfFVwFj}P3gN*NWR_$t*AO3Wf!xLh1w`JcZVx_a~cZ8@RI zSiz5b2)_PUTU$S`5SON>Eml*;0uGe?*QwkZ#I;i@6!{MoLzUfSGK6{-@4vitP%&?+ z{D~&SM$qEP8+&$iZMjvP7j@#k$3Ev+G8vX-4;&?rmkv)_ZL@*|+Vvza1Gg`ND`eJi zOwm>NGaVg+6ivAF(Q@WI?hyU-&~j%=YD?m|LWT`P1-VND*Ai`2C3Y#RE1dA81@*gm z-xEj&y{uDGUd@6Utz%t~%~Cx>fgJ-ZBfKTRhdxI2o$1{tHf7ks4x@y#1Hfc0Oy z;g5ug`Uid5Af#r%hvWVN>4h%pS{cS{FJRyY6|V?N|5tFxm5jiU-}A`xbCa-<{6|NHla0`k#qJ7X}Z zKQ6*GE=CzEPtb&)yD>ll=lVH6<7emj^wcfnF{v5h0zTwZksi)w9~JT3O**T2;yB-_ zDJHkL8$4OZL0TeMG6OZE1pcD!a`(Fo-On|m2_}JhA*d!r03(=y-HIPhj5>=;sLpP0 z1_JTJzeiHk1+r?EV&t8V^ug>hsW1v>=Y8>ZgFH=w781_mqij=SGP;$z z0W29Yo(`8l{5j`o!Oukwgh6hyL1y#zcS=jL__OqI73fZ|gJs?OD07Cx>&-T8oOWF3 zWcY(wAz>RGwz@&KhDC%UjQOjh3#Yf0nbC{|*k7#>jOG!Sc2IF!DYT(~4x(#lj z`pY4Y+s)mU3;!351#642LO#*OG`_^;JI^OR^V|!Zgky4ME~`s3bu?4l|J3w9T{;QLz#gCfF|t9 z5Rk_J+~m54D2JVd;;G?xN}uHmKTQ+|08LtbeSMKBEPPND-vUtOx`!x-oB-s91)lsO z8jU7g$53YC0HEtuS67!`QCWGfT6`OV8rMBU*-C-G8NrVS-+F6TPfyR7>mJH%8~`+x zq#+nwE09e9mb;E2$`%6jK=Aa+Wy@aRQ~fkmH~?r`Gz5d66Ua9Kgu%C*CYp?tDs~%{ zE%A8l71uG8eK-JUS~WE_eFEZbRKZsPl)LUB$^hp9*<}rWvM&}p>NGpe<<)x6T(-2h;tD((i5=emi= zAq${WRi2$wUh>;WB$9F+M7e_lfSd^g0`pVGd`T1!gVzWtx11KmuachptSc5f?mC8Y z69)h}_wF^qb!zby2%5o1Q1h|?dRSe*vo5t{8w6!V_SYgC_0MPXSX1neont*?cBBGw`=!nI-UB?hz z4F>?Fy_S|1Z*XX66)YZ5!QB8p;<}0GDnh zKsrPa$v5UD-r1*2#Q{KBAsh}D4<{090DJ)=%}`XjZldg=z<>ZzF|vDBetvAvo;|~^ zn~1I#2LNTA*49?@^8Wpw^_uCAo(BBH6pUy79V z8rG~?C}Xx+p+ONefS*Y~SNAp`odVkqYh%2!N7;@8fO1MpON%!+_|6g)8-PI&ilqSZ zU3ZZaV*t7Z(w>5CuPiJ3GvA7ratQ|j<+N}(Ts$%|w%B^QLKIDat^j0~>n@rWV*(t4 zB5p-rE%dyX`2Zi~G7bQu|50CGUt|gjZUbnNgh!2v+@A?ib+YEN~k=%qmb!7TuaTzAoXi~=~Mkb?qyP^|5a$K%IbM-inn z4gjJFs;{rllfuGJiz-)hH~@&I$jUqKtSCyP zYGG`R0=0nDD6ojbVA6&JcpZu(*5EKyj~HtY$K&yS0O~r9DAREO5KXf{ATU2AQf+{0 z1*%o$W)V~axEVm1>psWM3eaa2ePYn7KrdAL@6Yis+L>o}rp#sNU&(CXEzOGmA( zf|Z2^s8X>v31k6)d4PTlkh!>Yg5Wt$ov0Lm0RU$Na$2FM6?(z|CsS%p!RQ-B#+>9+ z_(bk-01%}=X>4r#sONceQzCOkq(Ut!AX=`fDuzU4L{tZ@=vfgtE2@Jq=B%m?da45e j&iKAR03Op5rM3S6IXAxugml#z00000NkvXXu0mjfjkR5@jY8m1V3`C|ZQFC+0to+?F_eY4_UzV4G-uGr%St9YJAHH}`Bk{^EQ4v{pa@Z`X?- zKA}*F^$Gp9l#OGvg<6jSOr_hl=5lUb@AYIMD>H*_^+(^S+v>+P9y>%6yu`mEr-*Ip zoB$32jA=)KGa-x7j$G^e710|Z(b3~^o6We`h=x?!OJw9(tJeGOf6@20<)$bi14*|i zx?ESy?XgQ_W6A<1qAy>dcN#$;Bl3psM(br?P&B9C$uS}EDTrbP*2}C!@i&FIvjo@Y z%tb|dy5nwOA|4SrC8v>XoJb>QCB$mTgqOXERC6)UXh(NUJ0>zLPnNV>f$I~a^cyR9 zQKaFv7DGpYQ*b#*s)LA(oQflu#7NyNz-+c&ryN2WWt;9G0%=q$e~6PBB5y)L!y+mq zk3l_rlAYFT5(>NoTlt?kHHzm0S~t?@>(N4tA|T0*^9Pm?5jcR4rc?LNyCY#JgF&sG zcSCF{1AL$GIR9)?#Aax}#Rdrt_@tTMM-G1GB?2#vasI0#g-Au9k;=7U?3$qN!G;gL-W!Um7N1VbW?>xG-%u zU}pTyGpanlsWC|BfUzlESGKW0v1>O7qx!RH7|{hp0|x-8XB;4yF()OWG~xk50mzqz zEe#9XX1??SL~#k*lERx5twMiTl>i{7!ZwTgUjb`6gs|9PB+~r#FI!5^!T-p(%mu!T z`vR}HpnCSf|5m&t2*PPSfF`H)g|#pW0ZPm$L{V4Za^&V%7*9}HJlm*7%6cIb z1v=J8t!ORnr@Ty6H(P3?S`4Jhtsx2rGaC##aGPFss3pcAaXoOe9~ z-W@(#76cA!GSy-5x*!M~(%U?U0(~pivykVcW-75~izRb;MEDX4>?P@f^TS)m*w$EJ z^AJPeON(KfK$Nv66>!Jt*=M#G3M?@{B+{1h)Hsz-x3;twuNlB}ADG_xD6Ema-wv^- z5JPi~VPCc5R3V5`HZWWDdYY92W}rfjX*7jwjln@-IrNrXAykqhXNleSvChM>wu%TR zIi}R)*Vcr)&?Wg_on%?>kk{a`(0V7yp+LZw;*8mv)N3W))gtJau-)x+7>8u&L5L_d z1*xz!6WVEnk+3jFL!t?-92t2|jgO>TNa6Nwkrd_;F_$SZr9WA4+(d@C^2ZOnit;li zb43ZVGnLKsSn1ObB-{^qiG}hk3H<21{H#wq$6r{&(%M+Wx-0MJKwTVLEG177fLKMY z7=s7(p9&E`<5mG)`?VklVg)^~~ei#=2EW{ex zws@B-e=%Pm0pJ#0N%n*ZsAMdQ8}<)D@!gxka2($g;`F`cApitHeV@AR(a08+nkEm4X9aiL0DtTC|~k$Umb;f#@d=G|QbF+nlLwhZ4Vq3PXP+qRvF zD4AdBpYI%)e&B|Kn3)KG?vlV~>TC_cqgXgjmg6)M!G|J11Ip+`S+HLTFfz`5Ia`4t zsKSAAI{lvL@#X@%9TYLx`R&tEiAb+tEO0M9qo|0eR6qekX=JVvqEZ+IzIc6asUYoO zEVc#7zdymk8F@dF-1LxGipA@C=B8M!xixIk3W8LM1lQ{WFMpqm_qNZ(mLq65&b7&X zM%s0eu4xFuG0xSnL{Mf5G;X~F?3jpS(uq_h-@QZCy3Oc9Yv zMbPf?jEv%-j3bbja>6XU!wd_^i#uUv7%L0~+xXtM+32%?LaMhHQdQEBV0c0#v5KqV z{@XE^9#biG9)&I^!=1p;hw#aME%WKcK2aRF=Oz6K_DoG2aL@+N;O(lQC}m9t@4F}= zG!hVm0|^oXL?m4k3j##WjGFGCY$yU7|7)5tvY_4`WOTfpz$5~93y6Lp0q3vij%r{rS;)J#Yqw3v2j_3^~gFLxU%d)SUR0*gi}L&`QBJyGdpAfDZGnqNixm9Zm_tv zR)UjK?=4WNK*kxm7k?{A5%vqnw8}wf+~Vb3E#2%L9Cgh?5VLuCPAMYF%pt|s3Gv&I z2~^VAczGO|2!@nE{NPi;8U0MQWt^_ri{` z@ndW`Np1UJpGDFE6x}>V>i4@Ta$1V;QG_57?ApWh4$kCUw(otqhNHv}Y7l#Vn$c{s ztRYv5Eut3ACwl8IYn3arv2_2fQ&-RODOU7HtMS!Wg*+R-va6N5@!TakSv+AXU1y24 zD@E^c(Zz@0uNbL@Pj+Usxr2F#)VOy3(ZFYJWcTDdAWC7#Ep za#%aCdN~YBGgdhv{lGbqB6_9CCeS-;6}UDKj%wzyW|wz-t+a(s7yjs96p((vmNa_r z_RS7;Dk${nXD(26Ov&}l+f%-7+#_`cNg^3%3+YkaoBB5qBw21z{K%u$DDQKU7ElH) zhVy3K6^3Ud)4W#no|1SCzY|Z)#l-^G&6B@UN7>JuXoE! zRgIETUsn3>$@=LB&wFW$T05;m!Iyv3orI|b=;?G1)o4TLobKBMZ_n4P{@$iVt#WN{ z7M~7k&Xm#ercC?@G#K{=nibrX(w^*a1Ujeg&<-HkE4_7#IEw9%N@_a2B_~rS7g4E~ z#knM~xvJd*b0t<@_L6L62UZH^@EX~LzVqnIR`}BlBm`t5T_tp;WMI!^LR(z?>hm>*8i!Vcsa=A;o zc$hDfL%jKJqzBj*s{!FmyTPF#!oI5MD4ogd45LY3w-IX`CCNtNXONEU&cVsxEb_VD z9QZgE3$Zk_BB3xH@!PwH-b-bXZ}w)v=oNYHZS-Xw@jJT*Uk+rED|$0w^jaZX)JvtW zzu%(vm)VDQ85Q|^!QCq((?^A=8n%yknO#Mvs~@IkKFa!$e(6VZ$0^IlXTFD~B(Rc0 zR=?+E=J^hDjD!mi`DtxQD>GL)@81qJ?Na~b|B$VnOx@^S~U)ZT@<#lC~vy&yN@LYo;FHJ4^ZC+(628P^!t&%dhz}|)lplM0!vre zNfGjSPWRU)OjS<()}FjS+yWnI7M6Bh%Y#`hx@WqwbQ|bzA--lpR+R?>lHKT1V7bhW|H8iK@wM7{dH|_qa?|cZeGf1(f(%CFO=O@P?c93 zOc^VNt;ub=>bJoxul;pLydTq!r;4VeAcIypaV_qH-c0y6fx5vi@JmFwy zQkrllnw)&kIL*ju>erDwkHyw=48pTTXJ4;KsJ{;G&vz`KCUtM!-{Rd9*C)rd!m*g?|e_o7;yxm#JQ^AiGe4J?>3 z+k0+z;-U*~lNJD{lsiP9Ia_vk9%gV9I|5fbpQ#@OGf7t{r7&sb1L8j3Jzo6>Wd)*aJU?(e%mFoPG&q*<=#Ryj%)L6E}Ir7QFfDN_cAk`f3CJjrD3V@A*6 zfJm7y+jCNe;09MXxa|VT`2Ph!LE+zSMv5nDlJrW?FAKwyeTsEh9SYQ%f&()7=!77dm&oXS)mpO@E`KgsCI;umto$ z^q+ckd`2lshz!sN_Kb%5B-z9@I7)LFv|p@1Hs~Kdx(QsWqwq zfXdpgh*mZS%%*DglbfXrYYmb=@5zWFK)~zrt+gW)F5%nY;ajUPIJylg-C8qYZ(sC` z*_6?B&qcVCM7b-wkoW3|2z;*6H@Y?y7M1z_hR@2@XKP_%01k?P{@1PLmLyN@Xat~n z%T7lLx9o-BY5xXgV6gE}N0b6fh?@vNm~+oETaZ6~E5X5o1~)6?Wc+xPW;5h4?&cxr z|8%YXyM6V42Be>P-VejPgm+FPK0@SwL(uf#j+AAuklfAN6~J{4ko4ic)$OIYYjTAu zV3z^WLp(NbQbs~{em9T@C68{j7}ZO8=B3a@N<9&9BkIiX;D+_a;*)+0Qnoze_i-Wq z@x9ts4_98l7(PE=zh$sIjk9jzs^nkn5Z@Jjc130&5))-t?NAb##EYoBVL0#{ANO9R z@%yOXH!*F_$F<%2;|!}+TLACzFK|S-L03rn=IOGK1&1lh-QkS&prg0Cb%M)g#UH~6 z+_3BVe!n}q%v-PPqGxneJ|{bzo+oRb+G?$>^UO{lpTz=gOyp6b-z~A%aJ`*RjaMNeBOt5ktXlWH~aAf z%m#RxS>p~W3e6F@8w;d%Y&!Xl8`1Ln zk3e+Qn7kiNXgU-@`KwPxWzX+&MzQ|*N<;CHok513aC2j3WlA@@4gM^`gg3vdkpH|;YvEC1g;8hGVoc7Tm@tvl$Uyp zRL9fI+dCw;2?CoMxw_Ea_h^qvM^wS}E$Pj1fF;-&I;Xz-6T#^~XAm*!&^(qbKz{L4 z;n%pn&WH)JXC6n{kBP+RrGs7Xs6N8f%BH$(b$E^0Hjpb(D#Jsf?e5IEp^p(mrW=&Jt`H!wm_Bsh!SL2l5s|;|`rV+QdaV z6#;bNRXDak7hE(}VGDSe&obj?b=-ijuD;Y{)6&7femHoI(>Vxmov5t2Bo=-} ziX?)f+`YoMNOrZ_2!yYYPQrrH73sMN($&S#m6-_I_~;2ArTXS(!w34K%aRn)D7$wg&c-0U$g^u>q40j#2@Xo3Qm`E=j(`%|tJD(3>VL}ySFQM*jZ0+HV(wN0*Ar>Ir xW$`ox^21&gY`1!3(Spe+1Qb2iuVOZTMxytUp?Cgu_>U!U*v#%wg^5?pe*vqzvJe0O literal 0 HcmV?d00001 diff --git a/client-app/src/components/AdminLayout/img/repositories.png b/client-app/src/components/AdminLayout/img/repositories.png new file mode 100644 index 0000000000000000000000000000000000000000..e099027d0369970a627cbf40fa7b1213a8054b69 GIT binary patch literal 3268 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 U-HWptg8n>!-B#9?Tnatv-%Bhj@c;k- literal 0 HcmV?d00001 diff --git a/client-app/src/components/AdminLayout/img/rooms.png b/client-app/src/components/AdminLayout/img/rooms.png new file mode 100644 index 0000000000000000000000000000000000000000..c842dda6835bcfa08d25e8b267002031cab12f43 GIT binary patch literal 8567 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 literal 0 HcmV?d00001 diff --git a/client-app/src/components/AdminLayout/img/scripts.png b/client-app/src/components/AdminLayout/img/scripts.png new file mode 100644 index 0000000000000000000000000000000000000000..66d00397eeca42f07bb2ae54b74bc2fa95294350 GIT binary patch literal 5797 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 literal 0 HcmV?d00001 diff --git a/client-app/src/components/AdminLayout/img/settings.png b/client-app/src/components/AdminLayout/img/settings.png deleted file mode 100644 index 871978bd60efaed75aab2fc7ea2810fe14033699..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11481 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 H?4$n={2;|D diff --git a/client-app/src/components/AdminLayout/img/system-info.png b/client-app/src/components/AdminLayout/img/system-info.png new file mode 100644 index 0000000000000000000000000000000000000000..7d67663d3361b5ebdf2d9ddd7631b6ef5049b0ef GIT binary patch literal 10180 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�ElARiPor&FWCUH~ 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 { break; default: setLogInErr("authorization failed"); + (document.getElementsByClassName(cl.password)[0] as HTMLInputElement).value = ""; break; } }); @@ -51,8 +52,23 @@ const AuthorizationPage = () => { return null; } + function WindowKeyPressEvent(event: KeyboardEvent) { + var userInput = document.getElementsByClassName(cl.user)[0] as HTMLInputElement; + var passwordInput = document.getElementsByClassName(cl.password)[0] as HTMLInputElement; + + if (event.key === "Enter" && (document.activeElement === userInput || document.activeElement === passwordInput)) { + SignInRequest(userInput.value, passwordInput.value); + } + } + React.useEffect(() => { document.body.style.backgroundColor = 'white'; + + window.addEventListener("keypress", WindowKeyPressEvent); + + return () => { + window.removeEventListener("keypress", WindowKeyPressEvent); + }; }, []); return ( diff --git a/client-app/src/pages/HomePage/.module.css b/client-app/src/pages/HomePage/.module.css index 61778b3..cb3b42a 100644 --- a/client-app/src/pages/HomePage/.module.css +++ b/client-app/src/pages/HomePage/.module.css @@ -49,7 +49,7 @@ .top_menu { background-color: rgba(70, 78, 120, 0.16); - height: 10vh; + height: 90px; -moz-user-select: none; -webkit-user-select: none; user-select: none; diff --git a/client-app/src/pages/ObjectEditPage/.module.css b/client-app/src/pages/ObjectEditPage/.module.css index 8432220..64c187d 100644 --- a/client-app/src/pages/ObjectEditPage/.module.css +++ b/client-app/src/pages/ObjectEditPage/.module.css @@ -1,10 +1,3 @@ -.page_header { - color: #0036a3; - font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; - font-size: 45px; - text-align: center; -} - .add_prop_button { border: 1px solid black; border-radius: 5px; diff --git a/client-app/src/pages/ObjectEditPage/ObjectEditPage.tsx b/client-app/src/pages/ObjectEditPage/ObjectEditPage.tsx index 6663530..d408c3f 100644 --- a/client-app/src/pages/ObjectEditPage/ObjectEditPage.tsx +++ b/client-app/src/pages/ObjectEditPage/ObjectEditPage.tsx @@ -258,7 +258,6 @@ const ObjectEditPage = () => { return (
-

{id === 'add' ? 'New object' : 'Object editing'}

diff --git a/client-app/src/pages/ObjectListPage/.module.css b/client-app/src/pages/ObjectListPage/.module.css index ce2224f..c645057 100644 --- a/client-app/src/pages/ObjectListPage/.module.css +++ b/client-app/src/pages/ObjectListPage/.module.css @@ -57,11 +57,10 @@ outline: none; } -.page_header { - color: #0036a3; - font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; - font-size: 45px; - text-align: center; +.list_control_panel { + position: relative; + display: flex; + padding-left: 1.5%; } .sort_objects_button { @@ -75,6 +74,25 @@ padding: 1px; } -.adder:hover { - background-color: cyan; +.add_object_button { + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + width: 130px; + background-color: rgb(214, 214, 214); + border: 2px solid black; + border-radius: 10px; + font-size: 22px; +} + +.add_object_button:hover { + border: 2px solid blue; + background-color: aquamarine; +} + +.start_object_line { + position: absolute; + left: 0; + right: 0; } \ No newline at end of file diff --git a/client-app/src/pages/ObjectListPage/ObjectListPage.tsx b/client-app/src/pages/ObjectListPage/ObjectListPage.tsx index f63c65f..9449cc8 100644 --- a/client-app/src/pages/ObjectListPage/ObjectListPage.tsx +++ b/client-app/src/pages/ObjectListPage/ObjectListPage.tsx @@ -3,7 +3,6 @@ import { ApiObjects } from "../../services/api/objects"; import { useNavigate } from "react-router-dom"; import cl from "./.module.css"; import ObjectSection from "../../components/ObjectSection/ObjectSection"; -import ItemsContainer from "../../components/ItemsContainer/ItemsContainer"; import CustomTextarea from "../../components/CustomTextarea/CustomTextarea"; import ModalWindow from "../../components/ModalWindow/ModalWindow"; import Space from "../../components/Space/Space"; @@ -141,21 +140,6 @@ const ObjectListPage = () => { onRemoveClick={() => DeleteObjectRequest(fixedObjects[i].id)} />); } - rendered.push(
  • navToEditObject('add', '')}> - Add new object
  • - ); - return rendered; } @@ -186,16 +170,19 @@ const ObjectListPage = () => {
    -

    Object list

    - - + +

    setSortMode(prev => { return !prev; })}>{`A ${sortByAsc ? '⇧' : '⇩'}`}

    ) => ChangeSearchValue(e.target.value)} /> - -
      -
      - + +
      navToEditObject('add', '')}> +

      Add object

      +
      +
    + +
      +
      {RenderObjects()}
    diff --git a/client-app/src/pages/ScriptEditPage/.module.css b/client-app/src/pages/ScriptEditPage/.module.css index e0f8352..2858094 100644 --- a/client-app/src/pages/ScriptEditPage/.module.css +++ b/client-app/src/pages/ScriptEditPage/.module.css @@ -1,10 +1,3 @@ -.page_header { - color: #0036a3; - font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; - font-size: 45px; - text-align: center; -} - .select_list_header { font-size: 16px; } diff --git a/client-app/src/pages/ScriptEditPage/ScriptEditPage.tsx b/client-app/src/pages/ScriptEditPage/ScriptEditPage.tsx index effcf13..1fc483c 100644 --- a/client-app/src/pages/ScriptEditPage/ScriptEditPage.tsx +++ b/client-app/src/pages/ScriptEditPage/ScriptEditPage.tsx @@ -358,7 +358,6 @@ const ScriptEditPage = () => { return (
    -

    {id === 'add' ? 'New script' : 'Script editing'}

    diff --git a/client-app/src/pages/ScriptListPage/.module.css b/client-app/src/pages/ScriptListPage/.module.css index 667f033..f8b7a81 100644 --- a/client-app/src/pages/ScriptListPage/.module.css +++ b/client-app/src/pages/ScriptListPage/.module.css @@ -103,11 +103,27 @@ background-color: rgb(158, 11, 11); } -.page_header { - color: #0036a3; - font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; - font-size: 45px; - text-align: center; +.list_control_panel { + position: relative; + display: flex; + padding-left: 2%; +} + +.add_script_button { + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + width: 130px; + background-color: rgb(214, 214, 214); + border: 2px solid black; + border-radius: 10px; + font-size: 22px; +} + +.add_script_button:hover { + border: 2px solid blue; + background-color: aquamarine; } .script_record { diff --git a/client-app/src/pages/ScriptListPage/ScriptListPage.tsx b/client-app/src/pages/ScriptListPage/ScriptListPage.tsx index 7b90cee..9cbbd5a 100644 --- a/client-app/src/pages/ScriptListPage/ScriptListPage.tsx +++ b/client-app/src/pages/ScriptListPage/ScriptListPage.tsx @@ -2,12 +2,11 @@ import React from "react"; import { useNavigate } from "react-router-dom"; import { ApiScripts } from "../../services/api/scripts"; import cl from "./.module.css"; -import InputBox from "../../components/InputBox/InputBox"; -import ItemsContainer from "../../components/ItemsContainer/ItemsContainer"; import ModalWindow from "../../components/ModalWindow/ModalWindow"; import Space from "../../components/Space/Space"; import TableHeader from "../../components/TableHeader/TableHeader"; import LoadingAnimation from "../../components/LoadingAnimation/LoadingAnimation"; +import CustomTextarea from "../../components/CustomTextarea/CustomTextarea"; type SortMode = { parameter: string, @@ -208,15 +207,15 @@ const ScriptListPage = () => {
    -

    Script list

    - - setSearch(e.value)} placeholder="Search" /> -
    - - navToAddScript()} /> + +
    + ) => setSearch(e.target.value)} /> + +
    navToAddScript()}> +

    Add script

    - - +
    +
    { return (
    -

    System information

    ); } diff --git a/client-app/src/pages/UserEditPage/.module.css b/client-app/src/pages/UserEditPage/.module.css index 8c744ff..e69de29 100644 --- a/client-app/src/pages/UserEditPage/.module.css +++ b/client-app/src/pages/UserEditPage/.module.css @@ -1,6 +0,0 @@ -.page_header { - color: #0036a3; - font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; - font-size: 45px; - text-align: center; -} \ No newline at end of file diff --git a/client-app/src/pages/UserEditPage/UserEditPage.tsx b/client-app/src/pages/UserEditPage/UserEditPage.tsx index 08e4542..1dac295 100644 --- a/client-app/src/pages/UserEditPage/UserEditPage.tsx +++ b/client-app/src/pages/UserEditPage/UserEditPage.tsx @@ -213,7 +213,6 @@ const UserEditPage = () => { return ( -

    {username === 'add' ? 'New user' : 'User editing'}

    diff --git a/client-app/src/pages/UserListPage/.module.css b/client-app/src/pages/UserListPage/.module.css index 060203a..be5adc2 100644 --- a/client-app/src/pages/UserListPage/.module.css +++ b/client-app/src/pages/UserListPage/.module.css @@ -57,11 +57,27 @@ outline: none; } -.page_header { - color: #0036a3; - font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; - font-size: 45px; - text-align: center; +.list_control_panel { + position: relative; + display: flex; + padding-left: 2%; +} + +.add_user_button { + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + width: 130px; + background-color: rgb(214, 214, 214); + border: 2px solid black; + border-radius: 10px; + font-size: 22px; +} + +.add_user_button:hover { + border: 2px solid blue; + background-color: aquamarine; } .user_record { diff --git a/client-app/src/pages/UserListPage/UserListPage.tsx b/client-app/src/pages/UserListPage/UserListPage.tsx index 1ca9e1a..8dc5caf 100644 --- a/client-app/src/pages/UserListPage/UserListPage.tsx +++ b/client-app/src/pages/UserListPage/UserListPage.tsx @@ -2,12 +2,11 @@ import React from "react"; import { useNavigate } from 'react-router-dom'; import { ApiUsers } from "../../services/api/users"; import cl from "./.module.css"; -import ItemsContainer from "../../components/ItemsContainer/ItemsContainer"; -import InputBox from "../../components/InputBox/InputBox"; import TableHeader from "../../components/TableHeader/TableHeader"; import Space from "../../components/Space/Space"; import ModalWindow from "../../components/ModalWindow/ModalWindow"; import LoadingAnimation from "../../components/LoadingAnimation/LoadingAnimation"; +import CustomTextarea from "../../components/CustomTextarea/CustomTextarea"; type SortMode = { parameter: string, @@ -219,17 +218,15 @@ const UserListPage = () => {
    -

    User list

    - - setSearch(e.value)} placeholder="Search" /> - {(selfPermission?.user?.create ? -
    - - navToAddUser()} /> -
    - : "")} -
    - + +
    + ) => setSearch(e.target.value)} /> + +
    navToAddUser()}> +

    Add user

    +
    +
    +