From 4b77945517718f1b3591de96e9ae1d39260639ff Mon Sep 17 00:00:00 2001
From: Patrick Pacher <patrick.pacher@gmail.com>
Date: Wed, 20 Mar 2024 10:43:29 +0100
Subject: [PATCH] Migrate Angular UI from portmaster-ui to desktop/angular.
 Update Earthfile to build libs, UI and tauri-builtin

---
 .earthlyignore                                |     7 +-
 Earthfile                                     |    63 +-
 assets/fonts/Roboto-300/LICENSE.txt           |   202 +
 assets/fonts/Roboto-300/Roboto-300.eot        |   Bin 0 -> 16205 bytes
 assets/fonts/Roboto-300/Roboto-300.svg        |   314 +
 assets/fonts/Roboto-300/Roboto-300.ttf        |   Bin 0 -> 32664 bytes
 assets/fonts/Roboto-300/Roboto-300.woff       |   Bin 0 -> 13360 bytes
 assets/fonts/Roboto-300/Roboto-300.woff2      |   Bin 0 -> 10324 bytes
 assets/fonts/Roboto-300italic/LICENSE.txt     |   202 +
 .../Roboto-300italic/Roboto-300italic.eot     |   Bin 0 -> 17886 bytes
 .../Roboto-300italic/Roboto-300italic.svg     |   327 +
 .../Roboto-300italic/Roboto-300italic.ttf     |   Bin 0 -> 34384 bytes
 .../Roboto-300italic/Roboto-300italic.woff    |   Bin 0 -> 15004 bytes
 .../Roboto-300italic/Roboto-300italic.woff2   |   Bin 0 -> 11844 bytes
 assets/fonts/Roboto-500/LICENSE.txt           |   202 +
 assets/fonts/Roboto-500/Roboto-500.eot        |   Bin 0 -> 16310 bytes
 assets/fonts/Roboto-500/Roboto-500.svg        |   305 +
 assets/fonts/Roboto-500/Roboto-500.ttf        |   Bin 0 -> 32580 bytes
 assets/fonts/Roboto-500/Roboto-500.woff       |   Bin 0 -> 13248 bytes
 assets/fonts/Roboto-500/Roboto-500.woff2      |   Bin 0 -> 10248 bytes
 assets/fonts/Roboto-500italic/LICENSE.txt     |   202 +
 .../Roboto-500italic/Roboto-500italic.eot     |   Bin 0 -> 17584 bytes
 .../Roboto-500italic/Roboto-500italic.svg     |   327 +
 .../Roboto-500italic/Roboto-500italic.ttf     |   Bin 0 -> 33868 bytes
 .../Roboto-500italic/Roboto-500italic.woff    |   Bin 0 -> 14620 bytes
 .../Roboto-500italic/Roboto-500italic.woff2   |   Bin 0 -> 11532 bytes
 assets/fonts/Roboto-700/LICENSE.txt           |   202 +
 assets/fonts/Roboto-700/Roboto-700.eot        |   Bin 0 -> 16208 bytes
 assets/fonts/Roboto-700/Roboto-700.svg        |   310 +
 assets/fonts/Roboto-700/Roboto-700.ttf        |   Bin 0 -> 32500 bytes
 assets/fonts/Roboto-700/Roboto-700.woff       |   Bin 0 -> 13348 bytes
 assets/fonts/Roboto-700/Roboto-700.woff2      |   Bin 0 -> 10276 bytes
 assets/fonts/Roboto-700italic/LICENSE.txt     |   202 +
 .../Roboto-700italic/Roboto-700italic.eot     |   Bin 0 -> 17151 bytes
 .../Roboto-700italic/Roboto-700italic.svg     |   325 +
 .../Roboto-700italic/Roboto-700italic.ttf     |   Bin 0 -> 32808 bytes
 .../Roboto-700italic/Roboto-700italic.woff    |   Bin 0 -> 14708 bytes
 .../Roboto-700italic/Roboto-700italic.woff2   |   Bin 0 -> 11492 bytes
 assets/fonts/Roboto-italic/LICENSE.txt        |   202 +
 assets/fonts/Roboto-italic/Roboto-italic.eot  |   Bin 0 -> 17534 bytes
 assets/fonts/Roboto-italic/Roboto-italic.svg  |   323 +
 assets/fonts/Roboto-italic/Roboto-italic.ttf  |   Bin 0 -> 33404 bytes
 assets/fonts/Roboto-italic/Roboto-italic.woff |   Bin 0 -> 14716 bytes
 .../fonts/Roboto-italic/Roboto-italic.woff2   |   Bin 0 -> 11500 bytes
 assets/fonts/Roboto-regular/LICENSE.txt       |   202 +
 .../fonts/Roboto-regular/Roboto-regular.eot   |   Bin 0 -> 16227 bytes
 .../fonts/Roboto-regular/Roboto-regular.svg   |   308 +
 .../fonts/Roboto-regular/Roboto-regular.ttf   |   Bin 0 -> 32652 bytes
 .../fonts/Roboto-regular/Roboto-regular.woff  |   Bin 0 -> 13308 bytes
 .../fonts/Roboto-regular/Roboto-regular.woff2 |   Bin 0 -> 10292 bytes
 assets/fonts/roboto-slimfix.css               |   111 +
 assets/fonts/roboto.css                       |   111 +
 assets/icons/README.md                        |     3 +
 assets/icons/pm_dark_128.png                  |   Bin 0 -> 10900 bytes
 assets/icons/pm_dark_256.png                  |   Bin 0 -> 16639 bytes
 assets/icons/pm_dark_512.ico                  |   Bin 0 -> 110291 bytes
 assets/icons/pm_dark_512.png                  |   Bin 0 -> 31400 bytes
 assets/icons/pm_dark_blue_128.png             |   Bin 0 -> 10678 bytes
 assets/icons/pm_dark_blue_256.png             |   Bin 0 -> 17006 bytes
 assets/icons/pm_dark_blue_512.ico             |   Bin 0 -> 99678 bytes
 assets/icons/pm_dark_blue_512.png             |   Bin 0 -> 26121 bytes
 assets/icons/pm_dark_green_128.png            |   Bin 0 -> 11587 bytes
 assets/icons/pm_dark_green_256.png            |   Bin 0 -> 18162 bytes
 assets/icons/pm_dark_green_512.ico            |   Bin 0 -> 112077 bytes
 assets/icons/pm_dark_green_512.png            |   Bin 0 -> 28931 bytes
 assets/icons/pm_dark_red_128.png              |   Bin 0 -> 11443 bytes
 assets/icons/pm_dark_red_256.png              |   Bin 0 -> 17932 bytes
 assets/icons/pm_dark_red_512.ico              |   Bin 0 -> 112150 bytes
 assets/icons/pm_dark_red_512.png              |   Bin 0 -> 29114 bytes
 assets/icons/pm_dark_yellow_128.png           |   Bin 0 -> 11569 bytes
 assets/icons/pm_dark_yellow_256.png           |   Bin 0 -> 18137 bytes
 assets/icons/pm_dark_yellow_512.ico           |   Bin 0 -> 112046 bytes
 assets/icons/pm_dark_yellow_512.png           |   Bin 0 -> 28968 bytes
 assets/icons/pm_light_128.png                 |   Bin 0 -> 11328 bytes
 assets/icons/pm_light_256.png                 |   Bin 0 -> 17563 bytes
 assets/icons/pm_light_512.ico                 |   Bin 0 -> 111080 bytes
 assets/icons/pm_light_512.png                 |   Bin 0 -> 31361 bytes
 assets/icons/pm_light_blue_128.png            |   Bin 0 -> 10888 bytes
 assets/icons/pm_light_blue_256.png            |   Bin 0 -> 15813 bytes
 assets/icons/pm_light_blue_512.ico            |   Bin 0 -> 113172 bytes
 assets/icons/pm_light_blue_512.png            |   Bin 0 -> 25466 bytes
 assets/icons/pm_light_green_128.png           |   Bin 0 -> 11555 bytes
 assets/icons/pm_light_green_256.png           |   Bin 0 -> 18828 bytes
 assets/icons/pm_light_green_512.ico           |   Bin 0 -> 113175 bytes
 assets/icons/pm_light_green_512.png           |   Bin 0 -> 28929 bytes
 assets/icons/pm_light_red_128.png             |   Bin 0 -> 11625 bytes
 assets/icons/pm_light_red_256.png             |   Bin 0 -> 18969 bytes
 assets/icons/pm_light_red_512.ico             |   Bin 0 -> 113172 bytes
 assets/icons/pm_light_red_512.png             |   Bin 0 -> 28952 bytes
 assets/icons/pm_light_yellow_128.png          |   Bin 0 -> 11555 bytes
 assets/icons/pm_light_yellow_256.png          |   Bin 0 -> 18756 bytes
 assets/icons/pm_light_yellow_512.ico          |   Bin 0 -> 113171 bytes
 assets/icons/pm_light_yellow_512.png          |   Bin 0 -> 29002 bytes
 assets/img/Mobile.svg                         |     1 +
 assets/img/flags/AD.png                       |   Bin 0 -> 263 bytes
 assets/img/flags/AE.png                       |   Bin 0 -> 107 bytes
 assets/img/flags/AF.png                       |   Bin 0 -> 259 bytes
 assets/img/flags/AG.png                       |   Bin 0 -> 302 bytes
 assets/img/flags/AI.png                       |   Bin 0 -> 332 bytes
 assets/img/flags/AL.png                       |   Bin 0 -> 291 bytes
 assets/img/flags/AM.png                       |   Bin 0 -> 105 bytes
 assets/img/flags/AN.png                       |   Bin 0 -> 145 bytes
 assets/img/flags/AO.png                       |   Bin 0 -> 241 bytes
 assets/img/flags/AQ.png                       |   Bin 0 -> 382 bytes
 assets/img/flags/AR.png                       |   Bin 0 -> 209 bytes
 assets/img/flags/AS.png                       |   Bin 0 -> 448 bytes
 assets/img/flags/AT.png                       |   Bin 0 -> 98 bytes
 assets/img/flags/AU.png                       |   Bin 0 -> 228 bytes
 assets/img/flags/AW.png                       |   Bin 0 -> 182 bytes
 assets/img/flags/AX.png                       |   Bin 0 -> 121 bytes
 assets/img/flags/AZ.png                       |   Bin 0 -> 267 bytes
 assets/img/flags/BA.png                       |   Bin 0 -> 355 bytes
 assets/img/flags/BB.png                       |   Bin 0 -> 159 bytes
 assets/img/flags/BD.png                       |   Bin 0 -> 211 bytes
 assets/img/flags/BE.png                       |   Bin 0 -> 102 bytes
 assets/img/flags/BF.png                       |   Bin 0 -> 166 bytes
 assets/img/flags/BG.png                       |   Bin 0 -> 103 bytes
 assets/img/flags/BH.png                       |   Bin 0 -> 129 bytes
 assets/img/flags/BI.png                       |   Bin 0 -> 454 bytes
 assets/img/flags/BJ.png                       |   Bin 0 -> 106 bytes
 assets/img/flags/BL.png                       |   Bin 0 -> 539 bytes
 assets/img/flags/BM.png                       |   Bin 0 -> 321 bytes
 assets/img/flags/BN.png                       |   Bin 0 -> 518 bytes
 assets/img/flags/BO.png                       |   Bin 0 -> 236 bytes
 assets/img/flags/BR.png                       |   Bin 0 -> 432 bytes
 assets/img/flags/BS.png                       |   Bin 0 -> 171 bytes
 assets/img/flags/BT.png                       |   Bin 0 -> 449 bytes
 assets/img/flags/BW.png                       |   Bin 0 -> 108 bytes
 assets/img/flags/BY.png                       |   Bin 0 -> 151 bytes
 assets/img/flags/BZ.png                       |   Bin 0 -> 337 bytes
 assets/img/flags/CA.png                       |   Bin 0 -> 177 bytes
 assets/img/flags/CC.png                       |   Bin 0 -> 259 bytes
 assets/img/flags/CD.png                       |   Bin 0 -> 432 bytes
 assets/img/flags/CF.png                       |   Bin 0 -> 162 bytes
 assets/img/flags/CG.png                       |   Bin 0 -> 152 bytes
 assets/img/flags/CH.png                       |   Bin 0 -> 100 bytes
 assets/img/flags/CI.png                       |   Bin 0 -> 100 bytes
 assets/img/flags/CK.png                       |   Bin 0 -> 331 bytes
 assets/img/flags/CL.png                       |   Bin 0 -> 150 bytes
 assets/img/flags/CM.png                       |   Bin 0 -> 163 bytes
 assets/img/flags/CN.png                       |   Bin 0 -> 310 bytes
 assets/img/flags/CO.png                       |   Bin 0 -> 108 bytes
 assets/img/flags/CR.png                       |   Bin 0 -> 110 bytes
 assets/img/flags/CT.png                       |   Bin 0 -> 1356 bytes
 assets/img/flags/CU.png                       |   Bin 0 -> 215 bytes
 assets/img/flags/CV.png                       |   Bin 0 -> 138 bytes
 assets/img/flags/CW.png                       |   Bin 0 -> 191 bytes
 assets/img/flags/CX.png                       |   Bin 0 -> 390 bytes
 assets/img/flags/CY.png                       |   Bin 0 -> 364 bytes
 assets/img/flags/CZ.png                       |   Bin 0 -> 221 bytes
 assets/img/flags/DE.png                       |   Bin 0 -> 102 bytes
 assets/img/flags/DJ.png                       |   Bin 0 -> 228 bytes
 assets/img/flags/DK.png                       |   Bin 0 -> 106 bytes
 assets/img/flags/DM.png                       |   Bin 0 -> 333 bytes
 assets/img/flags/DO.png                       |   Bin 0 -> 142 bytes
 assets/img/flags/DZ.png                       |   Bin 0 -> 309 bytes
 assets/img/flags/EC.png                       |   Bin 0 -> 264 bytes
 assets/img/flags/EE.png                       |   Bin 0 -> 102 bytes
 assets/img/flags/EG.png                       |   Bin 0 -> 199 bytes
 assets/img/flags/EH.png                       |   Bin 0 -> 248 bytes
 assets/img/flags/ER.png                       |   Bin 0 -> 421 bytes
 assets/img/flags/ES.png                       |   Bin 0 -> 221 bytes
 assets/img/flags/ET.png                       |   Bin 0 -> 420 bytes
 assets/img/flags/EU.png                       |   Bin 0 -> 316 bytes
 assets/img/flags/FI.png                       |   Bin 0 -> 103 bytes
 assets/img/flags/FJ.png                       |   Bin 0 -> 387 bytes
 assets/img/flags/FK.png                       |   Bin 0 -> 344 bytes
 assets/img/flags/FM.png                       |   Bin 0 -> 198 bytes
 assets/img/flags/FO.png                       |   Bin 0 -> 122 bytes
 assets/img/flags/FR.png                       |   Bin 0 -> 100 bytes
 assets/img/flags/GA.png                       |   Bin 0 -> 108 bytes
 assets/img/flags/GB.png                       |   Bin 0 -> 353 bytes
 assets/img/flags/GD.png                       |   Bin 0 -> 313 bytes
 assets/img/flags/GE.png                       |   Bin 0 -> 122 bytes
 assets/img/flags/GG.png                       |   Bin 0 -> 124 bytes
 assets/img/flags/GH.png                       |   Bin 0 -> 162 bytes
 assets/img/flags/GI.png                       |   Bin 0 -> 245 bytes
 assets/img/flags/GL.png                       |   Bin 0 -> 196 bytes
 assets/img/flags/GM.png                       |   Bin 0 -> 115 bytes
 assets/img/flags/GN.png                       |   Bin 0 -> 103 bytes
 assets/img/flags/GQ.png                       |   Bin 0 -> 308 bytes
 assets/img/flags/GR.png                       |   Bin 0 -> 141 bytes
 assets/img/flags/GS.png                       |   Bin 0 -> 455 bytes
 assets/img/flags/GT.png                       |   Bin 0 -> 198 bytes
 assets/img/flags/GU.png                       |   Bin 0 -> 228 bytes
 assets/img/flags/GW.png                       |   Bin 0 -> 149 bytes
 assets/img/flags/GY.png                       |   Bin 0 -> 393 bytes
 assets/img/flags/HK.png                       |   Bin 0 -> 418 bytes
 assets/img/flags/HN.png                       |   Bin 0 -> 154 bytes
 assets/img/flags/HR.png                       |   Bin 0 -> 391 bytes
 assets/img/flags/HT.png                       |   Bin 0 -> 206 bytes
 assets/img/flags/HU.png                       |   Bin 0 -> 104 bytes
 assets/img/flags/IC.png                       |   Bin 0 -> 183 bytes
 assets/img/flags/ID.png                       |   Bin 0 -> 98 bytes
 assets/img/flags/IE.png                       |   Bin 0 -> 99 bytes
 assets/img/flags/IL.png                       |   Bin 0 -> 180 bytes
 assets/img/flags/IM.png                       |   Bin 0 -> 367 bytes
 assets/img/flags/IN.png                       |   Bin 0 -> 194 bytes
 assets/img/flags/IQ.png                       |   Bin 0 -> 269 bytes
 assets/img/flags/IR.png                       |   Bin 0 -> 356 bytes
 assets/img/flags/IS.png                       |   Bin 0 -> 124 bytes
 assets/img/flags/IT.png                       |   Bin 0 -> 100 bytes
 assets/img/flags/JE.png                       |   Bin 0 -> 403 bytes
 assets/img/flags/JM.png                       |   Bin 0 -> 392 bytes
 assets/img/flags/JO.png                       |   Bin 0 -> 236 bytes
 assets/img/flags/JP.png                       |   Bin 0 -> 155 bytes
 assets/img/flags/KE.png                       |   Bin 0 -> 324 bytes
 assets/img/flags/KG.png                       |   Bin 0 -> 380 bytes
 assets/img/flags/KH.png                       |   Bin 0 -> 232 bytes
 assets/img/flags/KI.png                       |   Bin 0 -> 517 bytes
 assets/img/flags/KM.png                       |   Bin 0 -> 272 bytes
 assets/img/flags/KN.png                       |   Bin 0 -> 403 bytes
 assets/img/flags/KP.png                       |   Bin 0 -> 197 bytes
 assets/img/flags/KR.png                       |   Bin 0 -> 413 bytes
 assets/img/flags/KW.png                       |   Bin 0 -> 185 bytes
 assets/img/flags/KY.png                       |   Bin 0 -> 338 bytes
 assets/img/flags/KZ.png                       |   Bin 0 -> 405 bytes
 assets/img/flags/LA.png                       |   Bin 0 -> 175 bytes
 assets/img/flags/LB.png                       |   Bin 0 -> 213 bytes
 assets/img/flags/LC.png                       |   Bin 0 -> 197 bytes
 assets/img/flags/LI.png                       |   Bin 0 -> 216 bytes
 assets/img/flags/LICENSE.txt                  |     7 +
 assets/img/flags/LK.png                       |   Bin 0 -> 325 bytes
 assets/img/flags/LR.png                       |   Bin 0 -> 142 bytes
 assets/img/flags/LS.png                       |   Bin 0 -> 200 bytes
 assets/img/flags/LT.png                       |   Bin 0 -> 108 bytes
 assets/img/flags/LU.png                       |   Bin 0 -> 105 bytes
 assets/img/flags/LV.png                       |   Bin 0 -> 99 bytes
 assets/img/flags/LY.png                       |   Bin 0 -> 212 bytes
 assets/img/flags/MA.png                       |   Bin 0 -> 302 bytes
 assets/img/flags/MC.png                       |   Bin 0 -> 98 bytes
 assets/img/flags/MD.png                       |   Bin 0 -> 190 bytes
 assets/img/flags/ME.png                       |   Bin 0 -> 323 bytes
 assets/img/flags/MF.png                       |   Bin 0 -> 161 bytes
 assets/img/flags/MG.png                       |   Bin 0 -> 101 bytes
 assets/img/flags/MH.png                       |   Bin 0 -> 382 bytes
 assets/img/flags/MK.png                       |   Bin 0 -> 378 bytes
 assets/img/flags/ML.png                       |   Bin 0 -> 103 bytes
 assets/img/flags/MM.png                       |   Bin 0 -> 195 bytes
 assets/img/flags/MN.png                       |   Bin 0 -> 225 bytes
 assets/img/flags/MO.png                       |   Bin 0 -> 413 bytes
 assets/img/flags/MP.png                       |   Bin 0 -> 548 bytes
 assets/img/flags/MQ.png                       |   Bin 0 -> 202 bytes
 assets/img/flags/MR.png                       |   Bin 0 -> 250 bytes
 assets/img/flags/MS.png                       |   Bin 0 -> 346 bytes
 assets/img/flags/MT.png                       |   Bin 0 -> 114 bytes
 assets/img/flags/MU.png                       |   Bin 0 -> 116 bytes
 assets/img/flags/MV.png                       |   Bin 0 -> 201 bytes
 assets/img/flags/MW.png                       |   Bin 0 -> 193 bytes
 assets/img/flags/MX.png                       |   Bin 0 -> 207 bytes
 assets/img/flags/MY.png                       |   Bin 0 -> 236 bytes
 assets/img/flags/MZ.png                       |   Bin 0 -> 315 bytes
 assets/img/flags/NA.png                       |   Bin 0 -> 452 bytes
 assets/img/flags/NC.png                       |   Bin 0 -> 325 bytes
 assets/img/flags/NE.png                       |   Bin 0 -> 153 bytes
 assets/img/flags/NF.png                       |   Bin 0 -> 295 bytes
 assets/img/flags/NG.png                       |   Bin 0 -> 98 bytes
 assets/img/flags/NI.png                       |   Bin 0 -> 210 bytes
 assets/img/flags/NL.png                       |   Bin 0 -> 104 bytes
 assets/img/flags/NO.png                       |   Bin 0 -> 124 bytes
 assets/img/flags/NP.png                       |   Bin 0 -> 241 bytes
 assets/img/flags/NR.png                       |   Bin 0 -> 172 bytes
 assets/img/flags/NU.png                       |   Bin 0 -> 252 bytes
 assets/img/flags/NZ.png                       |   Bin 0 -> 200 bytes
 assets/img/flags/OM.png                       |   Bin 0 -> 198 bytes
 assets/img/flags/PA.png                       |   Bin 0 -> 174 bytes
 assets/img/flags/PE.png                       |   Bin 0 -> 98 bytes
 assets/img/flags/PF.png                       |   Bin 0 -> 217 bytes
 assets/img/flags/PG.png                       |   Bin 0 -> 444 bytes
 assets/img/flags/PH.png                       |   Bin 0 -> 342 bytes
 assets/img/flags/PK.png                       |   Bin 0 -> 306 bytes
 assets/img/flags/PL.png                       |   Bin 0 -> 102 bytes
 assets/img/flags/PN.png                       |   Bin 0 -> 423 bytes
 assets/img/flags/PR.png                       |   Bin 0 -> 216 bytes
 assets/img/flags/PS.png                       |   Bin 0 -> 157 bytes
 assets/img/flags/PT.png                       |   Bin 0 -> 303 bytes
 assets/img/flags/PW.png                       |   Bin 0 -> 209 bytes
 assets/img/flags/PY.png                       |   Bin 0 -> 197 bytes
 assets/img/flags/QA.png                       |   Bin 0 -> 190 bytes
 assets/img/flags/RE.png                       |   Bin 0 -> 443 bytes
 assets/img/flags/RO.png                       |   Bin 0 -> 103 bytes
 assets/img/flags/RS.png                       |   Bin 0 -> 331 bytes
 assets/img/flags/RU.png                       |   Bin 0 -> 98 bytes
 assets/img/flags/RW.png                       |   Bin 0 -> 182 bytes
 assets/img/flags/SA.png                       |   Bin 0 -> 426 bytes
 assets/img/flags/SB.png                       |   Bin 0 -> 306 bytes
 assets/img/flags/SC.png                       |   Bin 0 -> 314 bytes
 assets/img/flags/SD.png                       |   Bin 0 -> 156 bytes
 assets/img/flags/SE.png                       |   Bin 0 -> 109 bytes
 assets/img/flags/SG.png                       |   Bin 0 -> 253 bytes
 assets/img/flags/SH.png                       |   Bin 0 -> 333 bytes
 assets/img/flags/SI.png                       |   Bin 0 -> 177 bytes
 assets/img/flags/SK.png                       |   Bin 0 -> 225 bytes
 assets/img/flags/SL.png                       |   Bin 0 -> 104 bytes
 assets/img/flags/SM.png                       |   Bin 0 -> 291 bytes
 assets/img/flags/SN.png                       |   Bin 0 -> 160 bytes
 assets/img/flags/SO.png                       |   Bin 0 -> 192 bytes
 assets/img/flags/SR.png                       |   Bin 0 -> 166 bytes
 assets/img/flags/SS.png                       |   Bin 0 -> 289 bytes
 assets/img/flags/ST.png                       |   Bin 0 -> 243 bytes
 assets/img/flags/SV.png                       |   Bin 0 -> 209 bytes
 assets/img/flags/SX.png                       |   Bin 0 -> 483 bytes
 assets/img/flags/SY.png                       |   Bin 0 -> 161 bytes
 assets/img/flags/SZ.png                       |   Bin 0 -> 366 bytes
 assets/img/flags/TC.png                       |   Bin 0 -> 312 bytes
 assets/img/flags/TD.png                       |   Bin 0 -> 103 bytes
 assets/img/flags/TF.png                       |   Bin 0 -> 224 bytes
 assets/img/flags/TG.png                       |   Bin 0 -> 174 bytes
 assets/img/flags/TH.png                       |   Bin 0 -> 110 bytes
 assets/img/flags/TJ.png                       |   Bin 0 -> 203 bytes
 assets/img/flags/TK.png                       |   Bin 0 -> 260 bytes
 assets/img/flags/TL.png                       |   Bin 0 -> 277 bytes
 assets/img/flags/TM.png                       |   Bin 0 -> 392 bytes
 assets/img/flags/TN.png                       |   Bin 0 -> 271 bytes
 assets/img/flags/TO.png                       |   Bin 0 -> 114 bytes
 assets/img/flags/TR.png                       |   Bin 0 -> 311 bytes
 assets/img/flags/TT.png                       |   Bin 0 -> 358 bytes
 assets/img/flags/TV.png                       |   Bin 0 -> 398 bytes
 assets/img/flags/TW.png                       |   Bin 0 -> 205 bytes
 assets/img/flags/TZ.png                       |   Bin 0 -> 415 bytes
 assets/img/flags/UA.png                       |   Bin 0 -> 102 bytes
 assets/img/flags/UG.png                       |   Bin 0 -> 188 bytes
 assets/img/flags/US.png                       |   Bin 0 -> 120 bytes
 assets/img/flags/UY.png                       |   Bin 0 -> 216 bytes
 assets/img/flags/UZ.png                       |   Bin 0 -> 163 bytes
 assets/img/flags/VA.png                       |   Bin 0 -> 202 bytes
 assets/img/flags/VC.png                       |   Bin 0 -> 217 bytes
 assets/img/flags/VE.png                       |   Bin 0 -> 302 bytes
 assets/img/flags/VG.png                       |   Bin 0 -> 337 bytes
 assets/img/flags/VI.png                       |   Bin 0 -> 500 bytes
 assets/img/flags/VN.png                       |   Bin 0 -> 193 bytes
 assets/img/flags/VU.png                       |   Bin 0 -> 302 bytes
 assets/img/flags/WF.png                       |   Bin 0 -> 182 bytes
 assets/img/flags/WS.png                       |   Bin 0 -> 236 bytes
 assets/img/flags/YE.png                       |   Bin 0 -> 103 bytes
 assets/img/flags/YT.png                       |   Bin 0 -> 482 bytes
 assets/img/flags/ZA.png                       |   Bin 0 -> 348 bytes
 assets/img/flags/ZM.png                       |   Bin 0 -> 189 bytes
 assets/img/flags/ZW.png                       |   Bin 0 -> 300 bytes
 assets/img/flags/_abkhazia.png                |   Bin 0 -> 276 bytes
 assets/img/flags/_basque-country.png          |   Bin 0 -> 240 bytes
 .../flags/_british-antarctic-territory.png    |   Bin 0 -> 361 bytes
 assets/img/flags/_commonwealth.png            |   Bin 0 -> 443 bytes
 assets/img/flags/_england.png                 |   Bin 0 -> 102 bytes
 assets/img/flags/_gosquared.png               |   Bin 0 -> 239 bytes
 assets/img/flags/_kosovo.png                  |   Bin 0 -> 434 bytes
 assets/img/flags/_mars.png                    |   Bin 0 -> 103 bytes
 assets/img/flags/_nagorno-karabakh.png        |   Bin 0 -> 141 bytes
 assets/img/flags/_nato.png                    |   Bin 0 -> 143 bytes
 assets/img/flags/_northern-cyprus.png         |   Bin 0 -> 220 bytes
 assets/img/flags/_olympics.png                |   Bin 0 -> 329 bytes
 assets/img/flags/_red-cross.png               |   Bin 0 -> 109 bytes
 assets/img/flags/_scotland.png                |   Bin 0 -> 351 bytes
 assets/img/flags/_somaliland.png              |   Bin 0 -> 315 bytes
 assets/img/flags/_south-ossetia.png           |   Bin 0 -> 100 bytes
 assets/img/flags/_united-nations.png          |   Bin 0 -> 366 bytes
 assets/img/flags/_unknown.png                 |   Bin 0 -> 176 bytes
 assets/img/flags/_wales.png                   |   Bin 0 -> 527 bytes
 assets/img/linux.svg                          |     1 +
 assets/img/mac.svg                            |     1 +
 assets/img/plants1-br.png                     |   Bin 0 -> 25340 bytes
 assets/img/plants1.png                        |   Bin 0 -> 36805 bytes
 .../access-regional-content-easily.png        |   Bin 0 -> 80815 bytes
 .../built-from-the-ground-up.png              |   Bin 0 -> 281930 bytes
 .../img/spn-feature-carousel/bye-bye-vpns.png |   Bin 0 -> 103251 bytes
 .../easily-control-your-privacy.png           |   Bin 0 -> 72739 bytes
 .../multiple-identities-for-each-app.png      |   Bin 0 -> 49252 bytes
 assets/img/spn-login.png                      |   Bin 0 -> 89031 bytes
 assets/img/windows.svg                        |     1 +
 assets/world-50m.json                         |     1 +
 desktop/angular/.gitignore                    |     3 +-
 desktop/angular/README.md                     |   104 +
 desktop/angular/angular.json                  |   457 +
 desktop/angular/assets                        |     1 +
 .../angular/browser-extension-dev.config.ts   |    16 +
 desktop/angular/browser-extension.config.ts   |     5 +
 desktop/angular/docker.sh                     |    18 +
 desktop/angular/e2e/protractor.conf.js        |    36 +
 desktop/angular/e2e/src/app.e2e-spec.ts       |    23 +
 desktop/angular/e2e/src/app.po.ts             |    11 +
 desktop/angular/e2e/tsconfig.json             |    14 +
 desktop/angular/karma.conf.js                 |    32 +
 desktop/angular/package-lock.json             | 34959 ++++++++++++++++
 desktop/angular/package.json                  |   105 +
 .../portmaster-chrome-extension/karma.conf.js |    44 +
 .../src/app/app-routing.module.ts             |    15 +
 .../src/app/app.component.html                |     3 +
 .../src/app/app.component.scss                |     3 +
 .../src/app/app.component.ts                  |    54 +
 .../src/app/app.module.ts                     |    39 +
 .../domain-list/domain-list.component.html    |    27 +
 .../app/domain-list/domain-list.component.ts  |   129 +
 .../src/app/domain-list/index.ts              |     1 +
 .../src/app/header/header.component.html      |    22 +
 .../src/app/header/header.component.scss      |    29 +
 .../src/app/header/header.component.ts        |     9 +
 .../src/app/header/index.ts                   |     1 +
 .../src/app/interceptor.ts                    |    45 +
 .../src/app/request-interceptor.service.ts    |    49 +
 .../src/app/welcome/index.ts                  |     2 +
 .../src/app/welcome/intro.component.html      |    48 +
 .../src/app/welcome/intro.component.ts        |    44 +
 .../src/app/welcome/welcome.module.ts         |    19 +
 .../src/assets}/.gitkeep                      |     0
 .../src/assets/icon_128.png                   |   Bin 0 -> 11328 bytes
 .../src/background.ts                         |   133 +
 .../src/background/commands.ts                |    14 +
 .../src/background/tab-tracker.ts             |   126 +
 .../src/background/tab-utils.ts               |     9 +
 .../src/environments/environment.prod.ts      |     3 +
 .../src/environments/environment.ts           |    16 +
 .../src/favicon.ico                           |   Bin 0 -> 948 bytes
 .../src/index.html                            |    13 +
 .../portmaster-chrome-extension/src/main.ts   |    12 +
 .../src/manifest.json                         |    23 +
 .../src/polyfills.ts                          |    53 +
 .../src/styles.scss                           |     8 +
 .../portmaster-chrome-extension/src/test.ts   |    14 +
 .../tsconfig.app.json                         |    18 +
 .../tsconfig.spec.json                        |    18 +
 .../projects/safing/portmaster-api/README.md  |    24 +
 .../safing/portmaster-api/karma.conf.js       |    44 +
 .../safing/portmaster-api/ng-package.json     |     7 +
 .../safing/portmaster-api/package-lock.json   |   132 +
 .../safing/portmaster-api/package.json        |    14 +
 .../src/lib/app-profile.service.ts            |   262 +
 .../src/lib/app-profile.types.ts              |   215 +
 .../portmaster-api/src/lib/config.service.ts  |   128 +
 .../portmaster-api/src/lib/config.types.ts    |   348 +
 .../portmaster-api/src/lib/core.types.ts      |    34 +
 .../src/lib/debug-api.service.ts              |    54 +
 .../safing/portmaster-api/src/lib/features.ts |     8 +
 .../src/lib/meta-api.service.ts               |   106 +
 .../safing/portmaster-api/src/lib/module.ts   |    55 +
 .../src/lib/netquery.service.ts               |   543 +
 .../portmaster-api/src/lib/network.types.ts   |   314 +
 .../portmaster-api/src/lib/portapi.service.ts |  1011 +
 .../portmaster-api/src/lib/portapi.types.ts   |   453 +
 .../portmaster-api/src/lib/spn.service.ts     |   171 +
 .../portmaster-api/src/lib/spn.types.ts       |   104 +
 .../safing/portmaster-api/src/lib/utils.ts    |    13 +
 .../src/lib/websocket.service.ts              |    17 +
 .../safing/portmaster-api/src/public-api.ts   |    22 +
 .../safing/portmaster-api/src/test.ts         |    15 +
 .../safing/portmaster-api/tsconfig.lib.json   |    16 +
 .../portmaster-api/tsconfig.lib.prod.json     |     7 +
 .../safing/portmaster-api/tsconfig.spec.json  |    18 +
 .../angular/projects/safing/ui/.eslintrc.json |    44 +
 desktop/angular/projects/safing/ui/README.md  |    24 +
 .../angular/projects/safing/ui/karma.conf.js  |    44 +
 .../projects/safing/ui/ng-package.json        |    11 +
 .../angular/projects/safing/ui/package.json   |    17 +
 .../ui/src/lib/accordion/accordion-group.html |     1 +
 .../ui/src/lib/accordion/accordion-group.ts   |   116 +
 .../ui/src/lib/accordion/accordion.html       |    10 +
 .../ui/src/lib/accordion/accordion.module.ts  |    19 +
 .../safing/ui/src/lib/accordion/accordion.ts  |    88 +
 .../safing/ui/src/lib/accordion/index.ts      |     4 +
 .../safing/ui/src/lib/animations/index.ts     |    88 +
 .../ui/src/lib/dialog/_confirm.dialog.scss    |    95 +
 .../safing/ui/src/lib/dialog/_dialog.scss     |    28 +
 .../ui/src/lib/dialog/confirm.dialog.html     |    22 +
 .../ui/src/lib/dialog/confirm.dialog.ts       |    40 +
 .../ui/src/lib/dialog/dialog.animations.ts    |    19 +
 .../ui/src/lib/dialog/dialog.container.ts     |    76 +
 .../safing/ui/src/lib/dialog/dialog.module.ts |    23 +
 .../safing/ui/src/lib/dialog/dialog.ref.ts    |    62 +
 .../ui/src/lib/dialog/dialog.service.ts       |   154 +
 .../safing/ui/src/lib/dialog/index.ts         |     5 +
 .../safing/ui/src/lib/dropdown/dropdown.html  |    27 +
 .../ui/src/lib/dropdown/dropdown.module.ts    |    18 +
 .../safing/ui/src/lib/dropdown/dropdown.ts    |   216 +
 .../safing/ui/src/lib/dropdown/index.ts       |     3 +
 .../ui/src/lib/overlay-stepper/index.ts       |     5 +
 .../overlay-stepper-container.html            |    22 +
 .../overlay-stepper-container.ts              |   261 +
 .../overlay-stepper/overlay-stepper.module.ts |    21 +
 .../lib/overlay-stepper/overlay-stepper.ts    |    57 +
 .../safing/ui/src/lib/overlay-stepper/refs.ts |   143 +
 .../ui/src/lib/overlay-stepper/step-outlet.ts |    90 +
 .../safing/ui/src/lib/overlay-stepper/step.ts |    64 +
 .../ui/src/lib/pagination/_pagination.scss    |    22 +
 .../lib/pagination/dynamic-items-paginator.ts |    64 +
 .../safing/ui/src/lib/pagination/index.ts     |     5 +
 .../ui/src/lib/pagination/pagination.html     |    33 +
 .../src/lib/pagination/pagination.module.ts   |    19 +
 .../ui/src/lib/pagination/pagination.ts       |   132 +
 .../src/lib/pagination/snapshot-paginator.ts  |    64 +
 .../safing/ui/src/lib/select/_select.scss     |    73 +
 .../safing/ui/src/lib/select/index.ts         |     4 +
 .../projects/safing/ui/src/lib/select/item.ts |    64 +
 .../safing/ui/src/lib/select/select.html      |    88 +
 .../safing/ui/src/lib/select/select.module.ts |    31 +
 .../safing/ui/src/lib/select/select.ts        |   495 +
 .../safing/ui/src/lib/tabs/_tab-group.scss    |     3 +
 .../projects/safing/ui/src/lib/tabs/index.ts  |     4 +
 .../safing/ui/src/lib/tabs/tab-group.html     |    24 +
 .../safing/ui/src/lib/tabs/tab-group.ts       |   352 +
 .../projects/safing/ui/src/lib/tabs/tab.ts    |   167 +
 .../safing/ui/src/lib/tabs/tabs.module.ts     |    28 +
 .../safing/ui/src/lib/tipup/_tipup.scss       |    52 +
 .../safing/ui/src/lib/tipup/anchor.ts         |    43 +
 .../safing/ui/src/lib/tipup/clone-node.ts     |   128 +
 .../safing/ui/src/lib/tipup/css-utils.ts      |    87 +
 .../projects/safing/ui/src/lib/tipup/index.ts |     6 +
 .../safing/ui/src/lib/tipup/safe.pipe.ts      |    21 +
 .../ui/src/lib/tipup/tipup-component.ts       |    67 +
 .../safing/ui/src/lib/tipup/tipup.html        |    22 +
 .../safing/ui/src/lib/tipup/tipup.module.ts   |    47 +
 .../projects/safing/ui/src/lib/tipup/tipup.ts |   526 +
 .../safing/ui/src/lib/tipup/translations.ts   |    27 +
 .../projects/safing/ui/src/lib/tipup/utils.ts |     8 +
 .../src/lib/toggle-switch/_toggle-switch.scss |    35 +
 .../safing/ui/src/lib/toggle-switch/index.ts  |     3 +
 .../src/lib/toggle-switch/toggle-switch.html  |    20 +
 .../ui/src/lib/toggle-switch/toggle-switch.ts |    59 +
 .../ui/src/lib/toggle-switch/toggle.module.ts |    18 +
 .../src/lib/tooltip/_tooltip-component.scss   |     5 +
 .../safing/ui/src/lib/tooltip/index.ts        |     3 +
 .../ui/src/lib/tooltip/tooltip-component.html |     6 +
 .../ui/src/lib/tooltip/tooltip-component.ts   |   139 +
 .../ui/src/lib/tooltip/tooltip.module.ts      |    23 +
 .../safing/ui/src/lib/tooltip/tooltip.ts      |   244 +
 .../projects/safing/ui/src/lib/ui.module.ts   |    10 +
 .../projects/safing/ui/src/public-api.ts      |    16 +
 .../angular/projects/safing/ui/src/test.ts    |    16 +
 .../angular/projects/safing/ui/theming.scss   |     8 +
 .../projects/safing/ui/tsconfig.lib.json      |    18 +
 .../projects/safing/ui/tsconfig.lib.prod.json |     7 +
 .../projects/safing/ui/tsconfig.spec.json     |    17 +
 .../tauri-builtin/src/app/app.component.html  |   105 +
 .../tauri-builtin/src/app/app.component.ts    |    52 +
 .../tauri-builtin/src/app/app.config.ts       |    12 +
 .../angular/projects/tauri-builtin/src/assets |     1 +
 .../projects/tauri-builtin/src/favicon.ico    |   Bin 0 -> 948 bytes
 .../projects/tauri-builtin/src/index.html     |    13 +
 .../projects/tauri-builtin/src/main.ts        |     6 +
 .../projects/tauri-builtin/src/styles.scss    |     7 +
 .../projects/tauri-builtin/tsconfig.app.json  |    10 +
 desktop/angular/proxy.json                    |     6 +
 desktop/angular/src/app/app-routing.module.ts |    68 +
 desktop/angular/src/app/app.component.html    |    53 +
 desktop/angular/src/app/app.component.scss    |   114 +
 desktop/angular/src/app/app.component.spec.ts |    28 +
 desktop/angular/src/app/app.component.ts      |   234 +
 desktop/angular/src/app/app.module.ts         |   240 +
 .../angular/src/app/integration/browser.ts    |    41 +
 .../angular/src/app/integration/electron.ts   |    55 +
 .../angular/src/app/integration/factory.ts    |    22 +
 desktop/angular/src/app/integration/index.ts  |     2 +
 .../src/app/integration/integration.ts        |    41 +
 .../angular/src/app/integration/taur-app.ts   |   216 +
 desktop/angular/src/app/intro/index.ts        |     1 +
 desktop/angular/src/app/intro/intro.module.ts |    36 +
 .../src/app/intro/step-1-welcome/index.ts     |     1 +
 .../intro/step-1-welcome/step-1-welcome.html  |    14 +
 .../intro/step-1-welcome/step-1-welcome.ts    |    22 +
 .../src/app/intro/step-2-trackers/index.ts    |     1 +
 .../step-2-trackers/step-2-trackers.html      |    11 +
 .../intro/step-2-trackers/step-2-trackers.ts  |    48 +
 .../angular/src/app/intro/step-3-dns/index.ts |     1 +
 .../src/app/intro/step-3-dns/step-3-dns.html  |    17 +
 .../src/app/intro/step-3-dns/step-3-dns.ts    |   106 +
 .../src/app/intro/step-4-tipups/index.ts      |     1 +
 .../intro/step-4-tipups/step-4-tipups.html    |    11 +
 .../app/intro/step-4-tipups/step-4-tipups.ts  |    12 +
 desktop/angular/src/app/intro/step.scss       |    11 +
 .../src/app/layout/navigation/navigation.html |   230 +
 .../src/app/layout/navigation/navigation.scss |    98 +
 .../src/app/layout/navigation/navigation.ts   |   298 +
 .../src/app/layout/side-dash/side-dash.html   |    10 +
 .../src/app/layout/side-dash/side-dash.scss   |    11 +
 .../src/app/layout/side-dash/side-dash.ts     |    13 +
 desktop/angular/src/app/package-lock.json     |    27 +
 desktop/angular/src/app/package.json          |    12 +
 .../app-insights/app-insights.component.html  |    13 +
 .../app-insights/app-insights.component.ts    |    96 +
 .../src/app/pages/app-view/app-view.html      |   425 +
 .../src/app/pages/app-view/app-view.scss      |     3 +
 .../src/app/pages/app-view/app-view.ts        |   641 +
 .../angular/src/app/pages/app-view/index.ts   |     3 +
 .../merge-profile-dialog.component.html       |    36 +
 .../merge-profile-dialog.component.ts         |    62 +
 .../src/app/pages/app-view/overview.html      |   193 +
 .../src/app/pages/app-view/overview.scss      |    54 +
 .../src/app/pages/app-view/overview.ts        |   305 +
 .../qs-history/qs-history.component.html      |    12 +
 .../qs-history/qs-history.component.scss}     |     0
 .../qs-history/qs-history.component.ts        |    67 +
 .../app/pages/app-view/qs-internet/index.ts   |     1 +
 .../app-view/qs-internet/qs-internet.html     |    30 +
 .../pages/app-view/qs-internet/qs-internet.ts |    79 +
 .../pages/app-view/qs-select-exit/index.ts    |     1 +
 .../qs-select-exit/qs-select-exit.html        |    39 +
 .../qs-select-exit/qs-select-exit.scss        |     0
 .../app-view/qs-select-exit/qs-select-exit.ts |   128 +
 .../app/pages/app-view/qs-use-spn/index.ts    |     1 +
 .../pages/app-view/qs-use-spn/qs-use-spn.html |    42 +
 .../pages/app-view/qs-use-spn/qs-use-spn.ts   |    97 +
 .../dashboard-widget.component.html           |    14 +
 .../dashboard-widget.component.ts             |    30 +
 .../pages/dashboard/dashboard.component.html  |   281 +
 .../pages/dashboard/dashboard.component.scss  |   166 +
 .../pages/dashboard/dashboard.component.ts    |   481 +
 .../feature-card/feature-card.component.html  |    61 +
 .../feature-card/feature-card.component.scss  |    60 +
 .../feature-card/feature-card.component.ts    |   128 +
 .../angular/src/app/pages/monitor/index.ts    |     1 +
 .../src/app/pages/monitor/monitor.html        |    46 +
 .../src/app/pages/monitor/monitor.scss        |    49 +
 .../angular/src/app/pages/monitor/monitor.ts  |    77 +
 desktop/angular/src/app/pages/page.scss       |     6 +
 .../src/app/pages/settings/settings.html      |    26 +
 .../src/app/pages/settings/settings.scss      |    83 +
 .../src/app/pages/settings/settings.ts        |   133 +
 .../spn/country-details/country-details.html  |   154 +
 .../spn/country-details/country-details.ts    |   217 +
 .../app/pages/spn/country-details/index.ts    |     1 +
 .../spn/country-overlay/country-overlay.html  |    25 +
 .../spn/country-overlay/country-overlay.scss  |    40 +
 .../spn/country-overlay/country-overlay.ts    |    75 +
 .../app/pages/spn/country-overlay/index.ts    |     1 +
 desktop/angular/src/app/pages/spn/index.ts    |     1 +
 .../src/app/pages/spn/map-legend/index.ts     |     1 +
 .../app/pages/spn/map-legend/map-legend.html  |    54 +
 .../app/pages/spn/map-legend/map-legend.ts    |    69 +
 .../src/app/pages/spn/map-renderer/index.ts   |     1 +
 .../pages/spn/map-renderer/map-renderer.ts    |   383 +
 .../app/pages/spn/map-renderer/map-style.scss |   167 +
 .../angular/src/app/pages/spn/map.service.ts  |   253 +
 .../src/app/pages/spn/node-icon/index.ts      |     1 +
 .../app/pages/spn/node-icon/node-icon.html    |    12 +
 .../app/pages/spn/node-icon/node-icon.scss    |    38 +
 .../src/app/pages/spn/node-icon/node-icon.ts  |    44 +
 .../src/app/pages/spn/pin-details/index.ts    |     1 +
 .../pages/spn/pin-details/pin-details.html    |   127 +
 .../app/pages/spn/pin-details/pin-details.ts  |   100 +
 .../src/app/pages/spn/pin-list/index.ts       |     0
 .../src/app/pages/spn/pin-list/pin-list.html  |    84 +
 .../src/app/pages/spn/pin-list/pin-list.ts    |    87 +
 .../src/app/pages/spn/pin-overlay/index.ts    |     1 +
 .../pages/spn/pin-overlay/pin-overlay.html    |   117 +
 .../pages/spn/pin-overlay/pin-overlay.scss    |     4 +
 .../app/pages/spn/pin-overlay/pin-overlay.ts  |   190 +
 .../src/app/pages/spn/pin-route/index.ts      |     1 +
 .../app/pages/spn/pin-route/pin-route.html    |    53 +
 .../app/pages/spn/pin-route/pin-route.scss    |    67 +
 .../src/app/pages/spn/pin-route/pin-route.ts  |    46 +
 .../pages/spn/spn-feature-carousel/index.ts   |     1 +
 .../spn-feature-carousel.html                 |   274 +
 .../spn-feature-carousel.scss                 |    62 +
 .../spn-feature-carousel.ts                   |    83 +
 .../angular/src/app/pages/spn/spn-page.html   |   102 +
 .../angular/src/app/pages/spn/spn-page.scss   |   143 +
 desktop/angular/src/app/pages/spn/spn-page.ts |  1012 +
 .../angular/src/app/pages/spn/spn.module.ts   |    69 +
 desktop/angular/src/app/pages/spn/utils.ts    |     4 +
 .../src/app/pages/support/form/index.ts       |     1 +
 .../app/pages/support/form/support-form.html  |   107 +
 .../app/pages/support/form/support-form.scss  |   253 +
 .../app/pages/support/form/support-form.ts    |   258 +
 .../angular/src/app/pages/support/index.ts    |     1 +
 .../angular/src/app/pages/support/pages.ts    |   175 +
 .../pages/support/progress-dialog/index.ts    |     1 +
 .../progress-dialog/progress-dialog.html      |   114 +
 .../progress-dialog/progress-dialog.ts        |   173 +
 .../src/app/pages/support/support.html        |    50 +
 .../src/app/pages/support/support.scss        |    77 +
 .../angular/src/app/pages/support/support.ts  |    97 +
 .../prompt-entrypoint/prompt-entrypoint.ts    |    78 +
 .../src/app/prompt-entrypoint/prompt.html     |    65 +
 desktop/angular/src/app/services/index.ts     |     8 +
 .../services/notifications.service.spec.ts    |   354 +
 .../src/app/services/notifications.service.ts |   395 +
 .../src/app/services/notifications.types.ts   |   205 +
 desktop/angular/src/app/services/package.json |     3 +
 .../src/app/services/session-data.service.ts  |    72 +
 .../src/app/services/status.service.spec.ts   |    16 +
 .../src/app/services/status.service.ts        |    95 +
 .../angular/src/app/services/status.types.ts  |   132 +
 .../src/app/services/supporthub.service.ts    |    82 +
 .../src/app/services/ui-state.service.ts      |    57 +
 .../src/app/services/virtual-notification.ts  |    85 +
 .../action-indicator.module.ts                |    13 +
 .../action-indicator.service.ts               |   284 +
 .../src/app/shared/action-indicator/index.ts  |     2 +
 .../shared/action-indicator/indicator.html    |    30 +
 .../shared/action-indicator/indicator.scss    |    74 +
 .../app/shared/action-indicator/indicator.ts  |    78 +
 desktop/angular/src/app/shared/animations.ts  |   111 +
 .../app/shared/app-icon/app-icon-resolver.ts  |   118 +
 .../src/app/shared/app-icon/app-icon.html     |     9 +
 .../app/shared/app-icon/app-icon.module.ts    |    23 +
 .../src/app/shared/app-icon/app-icon.scss     |    28 +
 .../src/app/shared/app-icon/app-icon.ts       |   312 +
 .../angular/src/app/shared/app-icon/index.ts  |     2 +
 .../config/basic-setting/basic-setting.html   |    69 +
 .../config/basic-setting/basic-setting.scss   |    28 +
 .../config/basic-setting/basic-setting.ts     |   333 +
 .../app/shared/config/basic-setting/index.ts  |     1 +
 .../app/shared/config/config-settings.html    |   111 +
 .../app/shared/config/config-settings.scss    |    95 +
 .../src/app/shared/config/config-settings.ts  |   606 +
 .../src/app/shared/config/config.module.ts    |    77 +
 .../export-dialog.component.html              |    19 +
 .../export-dialog/export-dialog.component.ts  |    67 +
 .../config/filter-lists/filter-list.html      |    55 +
 .../config/filter-lists/filter-list.scss      |   101 +
 .../shared/config/filter-lists/filter-list.ts |   293 +
 .../app/shared/config/filter-lists/index.ts   |     1 +
 .../generic-setting/generic-setting.html      |   204 +
 .../generic-setting/generic-setting.scss      |    97 +
 .../config/generic-setting/generic-setting.ts |   715 +
 .../shared/config/generic-setting/index.ts    |     1 +
 .../app/shared/config/import-dialog/cursor.ts |    90 +
 .../import-dialog.component.html              |    99 +
 .../import-dialog/import-dialog.component.ts  |   201 +
 .../shared/config/import-dialog/selection.ts  |   185 +
 .../angular/src/app/shared/config/index.ts    |     8 +
 .../app/shared/config/ordererd-list/index.ts  |     2 +
 .../app/shared/config/ordererd-list/item.html |    14 +
 .../app/shared/config/ordererd-list/item.scss |    56 +
 .../app/shared/config/ordererd-list/item.ts   |    87 +
 .../config/ordererd-list/ordered-list.html    |    23 +
 .../config/ordererd-list/ordered-list.scss    |    77 +
 .../config/ordererd-list/ordered-list.ts      |   111 +
 .../src/app/shared/config/rule-list/index.ts  |     2 +
 .../shared/config/rule-list/list-item.html    |    29 +
 .../shared/config/rule-list/list-item.scss    |    65 +
 .../app/shared/config/rule-list/list-item.ts  |   221 +
 .../shared/config/rule-list/rule-list.html    |    46 +
 .../shared/config/rule-list/rule-list.scss    |    75 +
 .../app/shared/config/rule-list/rule-list.ts  |   226 +
 .../src/app/shared/config/safe.pipe.ts        |    21 +
 .../count-indicator/count-indicator.html      |     4 +
 .../count-indicator/count-indicator.module.ts |    15 +
 .../count-indicator/count-indicator.scss      |     8 +
 .../shared/count-indicator/count-indicator.ts |    22 +
 .../app/shared/count-indicator/count.pipe.ts  |    18 +
 .../src/app/shared/count-indicator/index.ts   |     2 +
 .../app/shared/country-flag/country-flag.ts   |    45 +
 .../app/shared/country-flag/country.module.ts |    12 +
 .../src/app/shared/country-flag/index.ts      |     2 +
 .../edit-profile-dialog.html                  |   322 +
 .../edit-profile-dialog.scss                  |    29 +
 .../edit-profile-dialog.ts                    |   393 +
 .../app/shared/edit-profile-dialog/index.ts   |     1 +
 .../app/shared/exit-screen/exit-screen.html   |    19 +
 .../app/shared/exit-screen/exit-screen.scss   |    68 +
 .../src/app/shared/exit-screen/exit-screen.ts |    52 +
 .../app/shared/exit-screen/exit.service.ts    |   146 +
 .../src/app/shared/exit-screen/index.ts       |     2 +
 .../shared/expertise/expertise-directive.ts   |    93 +
 .../shared/expertise/expertise-switch.html    |    16 +
 .../shared/expertise/expertise-switch.scss    |    12 +
 .../app/shared/expertise/expertise-switch.ts  |    38 +
 .../app/shared/expertise/expertise.module.ts  |    24 +
 .../app/shared/expertise/expertise.service.ts |    63 +
 .../angular/src/app/shared/expertise/index.ts |     3 +
 .../src/app/shared/external-link.directive.ts |    53 +
 .../shared/feature-scout/feature-scout.html   |   106 +
 .../shared/feature-scout/feature-scout.scss   |    15 +
 .../app/shared/feature-scout/feature-scout.ts |    98 +
 .../src/app/shared/feature-scout/index.ts     |     1 +
 .../src/app/shared/focus/focus.directive.ts   |    32 +
 .../src/app/shared/focus/focus.module.ts      |    16 +
 desktop/angular/src/app/shared/focus/index.ts |     2 +
 .../app/shared/fuzzySearch/fuse.service.ts    |   105 +
 .../src/app/shared/fuzzySearch/index.ts       |     4 +
 .../src/app/shared/fuzzySearch/search-pipe.ts |    19 +
 .../angular/src/app/shared/loading/index.ts   |     1 +
 .../src/app/shared/loading/loading.html       |     3 +
 .../src/app/shared/loading/loading.scss       |    52 +
 .../angular/src/app/shared/loading/loading.ts |    14 +
 desktop/angular/src/app/shared/menu/index.ts  |     2 +
 .../src/app/shared/menu/menu-group.scss       |    13 +
 .../src/app/shared/menu/menu-item.scss        |    17 +
 .../src/app/shared/menu/menu-trigger.html     |    14 +
 .../src/app/shared/menu/menu-trigger.scss     |    41 +
 desktop/angular/src/app/shared/menu/menu.html |     6 +
 .../src/app/shared/menu/menu.module.ts        |    26 +
 desktop/angular/src/app/shared/menu/menu.ts   |   111 +
 .../src/app/shared/multi-switch/index.ts      |     3 +
 .../app/shared/multi-switch/multi-switch.html |     5 +
 .../multi-switch/multi-switch.module.ts       |    26 +
 .../app/shared/multi-switch/multi-switch.scss |    46 +
 .../app/shared/multi-switch/multi-switch.ts   |   370 +
 .../app/shared/multi-switch/switch-item.scss  |    35 +
 .../app/shared/multi-switch/switch-item.ts    |    80 +
 .../src/app/shared/netquery/.eslintrc.json    |    44 +
 .../netquery/add-to-filter/add-to-filter.ts   |    93 +
 .../shared/netquery/add-to-filter/index.ts    |     1 +
 .../circular-bar-chart.component.ts           |   358 +
 .../app/shared/netquery/combined-menu.pipe.ts |    16 +
 .../connection-details/conn-details.html      |   322 +
 .../connection-details/conn-details.scss      |   114 +
 .../connection-details/conn-details.ts        |   147 +
 .../netquery/connection-details/index.ts      |     1 +
 .../netquery/connection-helper.service.ts     |   537 +
 .../netquery/connection-row/conn-row.html     |   146 +
 .../netquery/connection-row/conn-row.scss     |    43 +
 .../netquery/connection-row/conn-row.ts       |    78 +
 .../shared/netquery/connection-row/index.ts   |     1 +
 .../angular/src/app/shared/netquery/index.ts  |     2 +
 .../app/shared/netquery/line-chart/index.ts   |     0
 .../shared/netquery/line-chart/line-chart.ts  |   592 +
 .../shared/netquery/netquery.component.html   |   388 +
 .../app/shared/netquery/netquery.component.ts |  1270 +
 .../app/shared/netquery/netquery.module.ts    |    88 +
 .../shared/netquery/pipes/can-show.pipe.ts    |    22 +
 .../netquery/pipes/can-use-rules.pipe.ts      |    32 +
 .../netquery/pipes/country-name.pipe.ts       |    59 +
 .../src/app/shared/netquery/pipes/index.ts    |     5 +
 .../shared/netquery/pipes/is-blocked.pipe.ts  |    12 +
 .../shared/netquery/pipes/location.pipe.ts    |    33 +
 .../app/shared/netquery/scope-label/index.ts  |     1 +
 .../netquery/scope-label/scope-label.html     |     8 +
 .../netquery/scope-label/scope-label.ts       |    34 +
 .../shared/netquery/search-overlay/index.ts   |     1 +
 .../search-overlay/search-overlay.html        |     2 +
 .../netquery/search-overlay/search-overlay.ts |    81 +
 .../app/shared/netquery/searchbar/index.ts    |     1 +
 .../shared/netquery/searchbar/searchbar.html  |    76 +
 .../shared/netquery/searchbar/searchbar.ts    |   437 +
 .../src/app/shared/netquery/tag-bar/index.ts  |     1 +
 .../app/shared/netquery/tag-bar/tag-bar.html  |    26 +
 .../app/shared/netquery/tag-bar/tag-bar.ts    |   136 +
 .../src/app/shared/netquery/textql/helper.ts  |    21 +
 .../src/app/shared/netquery/textql/index.ts   |     1 +
 .../src/app/shared/netquery/textql/input.ts   |    41 +
 .../src/app/shared/netquery/textql/lexer.ts   |   255 +
 .../src/app/shared/netquery/textql/parser.ts  |   204 +
 .../src/app/shared/netquery/textql/token.ts   |    46 +
 .../angular/src/app/shared/netquery/utils.ts  |    63 +
 .../src/app/shared/network-scout/index.ts     |     1 +
 .../shared/network-scout/network-scout.html   |   182 +
 .../shared/network-scout/network-scout.scss   |     3 +
 .../app/shared/network-scout/network-scout.ts |   322 +
 .../src/app/shared/notification-list/index.ts |     1 +
 .../notification-list.component.html          |    24 +
 .../notification-list.component.scss          |   186 +
 .../notification-list.component.ts            |   138 +
 .../app/shared/notification/notification.html |    27 +
 .../app/shared/notification/notification.scss |    48 +
 .../app/shared/notification/notification.ts   |    65 +
 .../src/app/shared/pipes/bytes.pipe.ts        |    28 +
 .../app/shared/pipes/common-pipes.module.ts   |    27 +
 .../src/app/shared/pipes/duration.pipe.ts     |   103 +
 desktop/angular/src/app/shared/pipes/index.ts |     6 +
 .../src/app/shared/pipes/round.pipe.ts        |    15 +
 .../src/app/shared/pipes/time-ago.pipe.ts     |    56 +
 .../src/app/shared/pipes/to-profile.pipe.ts   |    35 +
 .../src/app/shared/pipes/to-seconds.pipe.ts   |    19 +
 .../shared/process-details-dialog/index.ts    |     1 +
 .../process-details-dialog.html               |   131 +
 .../process-details-dialog.scss               |    32 +
 .../process-details-dialog.ts                 |   102 +
 .../src/app/shared/prompt-list/index.ts       |     1 +
 .../prompt-list/prompt-list.component.html    |    68 +
 .../prompt-list/prompt-list.component.scss    |   204 +
 .../prompt-list/prompt-list.component.ts      |   236 +
 .../src/app/shared/security-lock/index.ts     |     1 +
 .../shared/security-lock/security-lock.html   |    25 +
 .../shared/security-lock/security-lock.scss   |   120 +
 .../app/shared/security-lock/security-lock.ts |    97 +
 .../app/shared/spn-account-details/index.ts   |     1 +
 .../spn-account-details.html                  |   101 +
 .../spn-account-details.scss                  |     7 +
 .../spn-account-details.ts                    |    83 +
 .../angular/src/app/shared/spn-login/index.ts |     1 +
 .../src/app/shared/spn-login/spn-login.html   |    70 +
 .../src/app/shared/spn-login/spn-login.scss   |    53 +
 .../src/app/shared/spn-login/spn-login.ts     |    70 +
 .../app/shared/spn-network-status/index.ts    |     1 +
 .../spn-network-status.html                   |    28 +
 .../spn-network-status.scss                   |    71 +
 .../spn-network-status/spn-network-status.ts  |    65 +
 .../src/app/shared/spn-status/index.ts        |     1 +
 .../src/app/shared/spn-status/spn-status.html |    54 +
 .../src/app/shared/spn-status/spn-status.ts   |   128 +
 .../src/app/shared/status-pilot/index.ts      |     1 +
 .../app/shared/status-pilot/pilot-widget.html |    57 +
 .../app/shared/status-pilot/pilot-widget.scss |   208 +
 .../app/shared/status-pilot/pilot-widget.ts   |   115 +
 .../src/app/shared/text-placeholder/index.ts  |     1 +
 .../shared/text-placeholder/placeholder.scss  |    32 +
 .../shared/text-placeholder/placeholder.ts    |    61 +
 desktop/angular/src/app/shared/utils.ts       |    76 +
 desktop/angular/src/assets                    |     1 +
 desktop/angular/src/electron-app.d.ts         |    41 +
 .../src/environments/environment.prod.ts      |    22 +
 .../angular/src/environments/environment.ts   |    19 +
 desktop/angular/src/i18n/helptexts.yaml       |   370 +
 desktop/angular/src/i18n/helptexts.yaml.d.ts  |    24 +
 desktop/angular/src/index.html                |    34 +
 desktop/angular/src/main.ts                   |    94 +
 desktop/angular/src/polyfills.ts              |    57 +
 desktop/angular/src/styles.scss               |   120 +
 desktop/angular/src/test.ts                   |    14 +
 desktop/angular/src/theme.less                |     4 +
 desktop/angular/src/theme/_breadcrumbs.scss   |    20 +
 desktop/angular/src/theme/_button.scss        |    58 +
 desktop/angular/src/theme/_card.scss          |   110 +
 desktop/angular/src/theme/_colors.scss        |    46 +
 desktop/angular/src/theme/_dialog.scss        |     9 +
 desktop/angular/src/theme/_drag-n-drop.scss   |    46 +
 desktop/angular/src/theme/_inputs.scss        |    35 +
 desktop/angular/src/theme/_markdown.scss      |   455 +
 desktop/angular/src/theme/_pill.scss          |     7 +
 desktop/angular/src/theme/_scroll.scss        |    28 +
 desktop/angular/src/theme/_search.scss        |    10 +
 desktop/angular/src/theme/_table.scss         |    41 +
 desktop/angular/src/theme/_tailwind.scss      |     4 +
 desktop/angular/src/theme/_trust-level.scss   |    73 +
 desktop/angular/src/theme/_typography.scss    |    61 +
 desktop/angular/src/theme/_verdict.scss       |    47 +
 desktop/angular/src/theme/mixins/_pill.scss   |    42 +
 desktop/angular/tailwind.config.js            |   127 +
 desktop/angular/tsconfig.app.json             |    16 +
 desktop/angular/tsconfig.json                 |    41 +
 desktop/angular/tsconfig.spec.json            |    19 +
 desktop/angular/tslint.json                   |   153 +
 922 files changed, 84071 insertions(+), 26 deletions(-)
 create mode 100644 assets/fonts/Roboto-300/LICENSE.txt
 create mode 100644 assets/fonts/Roboto-300/Roboto-300.eot
 create mode 100644 assets/fonts/Roboto-300/Roboto-300.svg
 create mode 100644 assets/fonts/Roboto-300/Roboto-300.ttf
 create mode 100644 assets/fonts/Roboto-300/Roboto-300.woff
 create mode 100644 assets/fonts/Roboto-300/Roboto-300.woff2
 create mode 100644 assets/fonts/Roboto-300italic/LICENSE.txt
 create mode 100644 assets/fonts/Roboto-300italic/Roboto-300italic.eot
 create mode 100644 assets/fonts/Roboto-300italic/Roboto-300italic.svg
 create mode 100644 assets/fonts/Roboto-300italic/Roboto-300italic.ttf
 create mode 100644 assets/fonts/Roboto-300italic/Roboto-300italic.woff
 create mode 100644 assets/fonts/Roboto-300italic/Roboto-300italic.woff2
 create mode 100644 assets/fonts/Roboto-500/LICENSE.txt
 create mode 100644 assets/fonts/Roboto-500/Roboto-500.eot
 create mode 100644 assets/fonts/Roboto-500/Roboto-500.svg
 create mode 100644 assets/fonts/Roboto-500/Roboto-500.ttf
 create mode 100644 assets/fonts/Roboto-500/Roboto-500.woff
 create mode 100644 assets/fonts/Roboto-500/Roboto-500.woff2
 create mode 100644 assets/fonts/Roboto-500italic/LICENSE.txt
 create mode 100644 assets/fonts/Roboto-500italic/Roboto-500italic.eot
 create mode 100644 assets/fonts/Roboto-500italic/Roboto-500italic.svg
 create mode 100644 assets/fonts/Roboto-500italic/Roboto-500italic.ttf
 create mode 100644 assets/fonts/Roboto-500italic/Roboto-500italic.woff
 create mode 100644 assets/fonts/Roboto-500italic/Roboto-500italic.woff2
 create mode 100644 assets/fonts/Roboto-700/LICENSE.txt
 create mode 100644 assets/fonts/Roboto-700/Roboto-700.eot
 create mode 100644 assets/fonts/Roboto-700/Roboto-700.svg
 create mode 100644 assets/fonts/Roboto-700/Roboto-700.ttf
 create mode 100644 assets/fonts/Roboto-700/Roboto-700.woff
 create mode 100644 assets/fonts/Roboto-700/Roboto-700.woff2
 create mode 100644 assets/fonts/Roboto-700italic/LICENSE.txt
 create mode 100644 assets/fonts/Roboto-700italic/Roboto-700italic.eot
 create mode 100644 assets/fonts/Roboto-700italic/Roboto-700italic.svg
 create mode 100644 assets/fonts/Roboto-700italic/Roboto-700italic.ttf
 create mode 100644 assets/fonts/Roboto-700italic/Roboto-700italic.woff
 create mode 100644 assets/fonts/Roboto-700italic/Roboto-700italic.woff2
 create mode 100644 assets/fonts/Roboto-italic/LICENSE.txt
 create mode 100644 assets/fonts/Roboto-italic/Roboto-italic.eot
 create mode 100644 assets/fonts/Roboto-italic/Roboto-italic.svg
 create mode 100644 assets/fonts/Roboto-italic/Roboto-italic.ttf
 create mode 100644 assets/fonts/Roboto-italic/Roboto-italic.woff
 create mode 100644 assets/fonts/Roboto-italic/Roboto-italic.woff2
 create mode 100644 assets/fonts/Roboto-regular/LICENSE.txt
 create mode 100644 assets/fonts/Roboto-regular/Roboto-regular.eot
 create mode 100644 assets/fonts/Roboto-regular/Roboto-regular.svg
 create mode 100644 assets/fonts/Roboto-regular/Roboto-regular.ttf
 create mode 100644 assets/fonts/Roboto-regular/Roboto-regular.woff
 create mode 100644 assets/fonts/Roboto-regular/Roboto-regular.woff2
 create mode 100644 assets/fonts/roboto-slimfix.css
 create mode 100644 assets/fonts/roboto.css
 create mode 100644 assets/icons/README.md
 create mode 100644 assets/icons/pm_dark_128.png
 create mode 100644 assets/icons/pm_dark_256.png
 create mode 100644 assets/icons/pm_dark_512.ico
 create mode 100644 assets/icons/pm_dark_512.png
 create mode 100644 assets/icons/pm_dark_blue_128.png
 create mode 100644 assets/icons/pm_dark_blue_256.png
 create mode 100644 assets/icons/pm_dark_blue_512.ico
 create mode 100644 assets/icons/pm_dark_blue_512.png
 create mode 100644 assets/icons/pm_dark_green_128.png
 create mode 100644 assets/icons/pm_dark_green_256.png
 create mode 100644 assets/icons/pm_dark_green_512.ico
 create mode 100644 assets/icons/pm_dark_green_512.png
 create mode 100644 assets/icons/pm_dark_red_128.png
 create mode 100644 assets/icons/pm_dark_red_256.png
 create mode 100644 assets/icons/pm_dark_red_512.ico
 create mode 100644 assets/icons/pm_dark_red_512.png
 create mode 100644 assets/icons/pm_dark_yellow_128.png
 create mode 100644 assets/icons/pm_dark_yellow_256.png
 create mode 100644 assets/icons/pm_dark_yellow_512.ico
 create mode 100644 assets/icons/pm_dark_yellow_512.png
 create mode 100644 assets/icons/pm_light_128.png
 create mode 100644 assets/icons/pm_light_256.png
 create mode 100644 assets/icons/pm_light_512.ico
 create mode 100644 assets/icons/pm_light_512.png
 create mode 100644 assets/icons/pm_light_blue_128.png
 create mode 100644 assets/icons/pm_light_blue_256.png
 create mode 100644 assets/icons/pm_light_blue_512.ico
 create mode 100644 assets/icons/pm_light_blue_512.png
 create mode 100644 assets/icons/pm_light_green_128.png
 create mode 100644 assets/icons/pm_light_green_256.png
 create mode 100644 assets/icons/pm_light_green_512.ico
 create mode 100644 assets/icons/pm_light_green_512.png
 create mode 100644 assets/icons/pm_light_red_128.png
 create mode 100644 assets/icons/pm_light_red_256.png
 create mode 100644 assets/icons/pm_light_red_512.ico
 create mode 100644 assets/icons/pm_light_red_512.png
 create mode 100644 assets/icons/pm_light_yellow_128.png
 create mode 100644 assets/icons/pm_light_yellow_256.png
 create mode 100644 assets/icons/pm_light_yellow_512.ico
 create mode 100644 assets/icons/pm_light_yellow_512.png
 create mode 100644 assets/img/Mobile.svg
 create mode 100644 assets/img/flags/AD.png
 create mode 100644 assets/img/flags/AE.png
 create mode 100644 assets/img/flags/AF.png
 create mode 100644 assets/img/flags/AG.png
 create mode 100644 assets/img/flags/AI.png
 create mode 100644 assets/img/flags/AL.png
 create mode 100644 assets/img/flags/AM.png
 create mode 100644 assets/img/flags/AN.png
 create mode 100644 assets/img/flags/AO.png
 create mode 100644 assets/img/flags/AQ.png
 create mode 100644 assets/img/flags/AR.png
 create mode 100644 assets/img/flags/AS.png
 create mode 100644 assets/img/flags/AT.png
 create mode 100644 assets/img/flags/AU.png
 create mode 100644 assets/img/flags/AW.png
 create mode 100644 assets/img/flags/AX.png
 create mode 100644 assets/img/flags/AZ.png
 create mode 100644 assets/img/flags/BA.png
 create mode 100644 assets/img/flags/BB.png
 create mode 100644 assets/img/flags/BD.png
 create mode 100644 assets/img/flags/BE.png
 create mode 100644 assets/img/flags/BF.png
 create mode 100644 assets/img/flags/BG.png
 create mode 100644 assets/img/flags/BH.png
 create mode 100644 assets/img/flags/BI.png
 create mode 100644 assets/img/flags/BJ.png
 create mode 100644 assets/img/flags/BL.png
 create mode 100644 assets/img/flags/BM.png
 create mode 100644 assets/img/flags/BN.png
 create mode 100644 assets/img/flags/BO.png
 create mode 100644 assets/img/flags/BR.png
 create mode 100644 assets/img/flags/BS.png
 create mode 100644 assets/img/flags/BT.png
 create mode 100644 assets/img/flags/BW.png
 create mode 100644 assets/img/flags/BY.png
 create mode 100644 assets/img/flags/BZ.png
 create mode 100644 assets/img/flags/CA.png
 create mode 100644 assets/img/flags/CC.png
 create mode 100644 assets/img/flags/CD.png
 create mode 100644 assets/img/flags/CF.png
 create mode 100644 assets/img/flags/CG.png
 create mode 100644 assets/img/flags/CH.png
 create mode 100644 assets/img/flags/CI.png
 create mode 100644 assets/img/flags/CK.png
 create mode 100644 assets/img/flags/CL.png
 create mode 100644 assets/img/flags/CM.png
 create mode 100644 assets/img/flags/CN.png
 create mode 100644 assets/img/flags/CO.png
 create mode 100644 assets/img/flags/CR.png
 create mode 100644 assets/img/flags/CT.png
 create mode 100644 assets/img/flags/CU.png
 create mode 100644 assets/img/flags/CV.png
 create mode 100644 assets/img/flags/CW.png
 create mode 100644 assets/img/flags/CX.png
 create mode 100644 assets/img/flags/CY.png
 create mode 100644 assets/img/flags/CZ.png
 create mode 100644 assets/img/flags/DE.png
 create mode 100644 assets/img/flags/DJ.png
 create mode 100644 assets/img/flags/DK.png
 create mode 100644 assets/img/flags/DM.png
 create mode 100644 assets/img/flags/DO.png
 create mode 100644 assets/img/flags/DZ.png
 create mode 100644 assets/img/flags/EC.png
 create mode 100644 assets/img/flags/EE.png
 create mode 100644 assets/img/flags/EG.png
 create mode 100644 assets/img/flags/EH.png
 create mode 100644 assets/img/flags/ER.png
 create mode 100644 assets/img/flags/ES.png
 create mode 100644 assets/img/flags/ET.png
 create mode 100644 assets/img/flags/EU.png
 create mode 100644 assets/img/flags/FI.png
 create mode 100644 assets/img/flags/FJ.png
 create mode 100644 assets/img/flags/FK.png
 create mode 100644 assets/img/flags/FM.png
 create mode 100644 assets/img/flags/FO.png
 create mode 100644 assets/img/flags/FR.png
 create mode 100644 assets/img/flags/GA.png
 create mode 100644 assets/img/flags/GB.png
 create mode 100644 assets/img/flags/GD.png
 create mode 100644 assets/img/flags/GE.png
 create mode 100644 assets/img/flags/GG.png
 create mode 100644 assets/img/flags/GH.png
 create mode 100644 assets/img/flags/GI.png
 create mode 100644 assets/img/flags/GL.png
 create mode 100644 assets/img/flags/GM.png
 create mode 100644 assets/img/flags/GN.png
 create mode 100644 assets/img/flags/GQ.png
 create mode 100644 assets/img/flags/GR.png
 create mode 100644 assets/img/flags/GS.png
 create mode 100644 assets/img/flags/GT.png
 create mode 100644 assets/img/flags/GU.png
 create mode 100644 assets/img/flags/GW.png
 create mode 100644 assets/img/flags/GY.png
 create mode 100644 assets/img/flags/HK.png
 create mode 100644 assets/img/flags/HN.png
 create mode 100644 assets/img/flags/HR.png
 create mode 100644 assets/img/flags/HT.png
 create mode 100644 assets/img/flags/HU.png
 create mode 100644 assets/img/flags/IC.png
 create mode 100644 assets/img/flags/ID.png
 create mode 100644 assets/img/flags/IE.png
 create mode 100644 assets/img/flags/IL.png
 create mode 100644 assets/img/flags/IM.png
 create mode 100644 assets/img/flags/IN.png
 create mode 100644 assets/img/flags/IQ.png
 create mode 100644 assets/img/flags/IR.png
 create mode 100644 assets/img/flags/IS.png
 create mode 100644 assets/img/flags/IT.png
 create mode 100644 assets/img/flags/JE.png
 create mode 100644 assets/img/flags/JM.png
 create mode 100644 assets/img/flags/JO.png
 create mode 100644 assets/img/flags/JP.png
 create mode 100644 assets/img/flags/KE.png
 create mode 100644 assets/img/flags/KG.png
 create mode 100644 assets/img/flags/KH.png
 create mode 100644 assets/img/flags/KI.png
 create mode 100644 assets/img/flags/KM.png
 create mode 100644 assets/img/flags/KN.png
 create mode 100644 assets/img/flags/KP.png
 create mode 100644 assets/img/flags/KR.png
 create mode 100644 assets/img/flags/KW.png
 create mode 100644 assets/img/flags/KY.png
 create mode 100644 assets/img/flags/KZ.png
 create mode 100644 assets/img/flags/LA.png
 create mode 100644 assets/img/flags/LB.png
 create mode 100644 assets/img/flags/LC.png
 create mode 100644 assets/img/flags/LI.png
 create mode 100644 assets/img/flags/LICENSE.txt
 create mode 100644 assets/img/flags/LK.png
 create mode 100644 assets/img/flags/LR.png
 create mode 100644 assets/img/flags/LS.png
 create mode 100644 assets/img/flags/LT.png
 create mode 100644 assets/img/flags/LU.png
 create mode 100644 assets/img/flags/LV.png
 create mode 100644 assets/img/flags/LY.png
 create mode 100644 assets/img/flags/MA.png
 create mode 100644 assets/img/flags/MC.png
 create mode 100644 assets/img/flags/MD.png
 create mode 100644 assets/img/flags/ME.png
 create mode 100644 assets/img/flags/MF.png
 create mode 100644 assets/img/flags/MG.png
 create mode 100644 assets/img/flags/MH.png
 create mode 100644 assets/img/flags/MK.png
 create mode 100644 assets/img/flags/ML.png
 create mode 100644 assets/img/flags/MM.png
 create mode 100644 assets/img/flags/MN.png
 create mode 100644 assets/img/flags/MO.png
 create mode 100644 assets/img/flags/MP.png
 create mode 100644 assets/img/flags/MQ.png
 create mode 100644 assets/img/flags/MR.png
 create mode 100644 assets/img/flags/MS.png
 create mode 100644 assets/img/flags/MT.png
 create mode 100644 assets/img/flags/MU.png
 create mode 100644 assets/img/flags/MV.png
 create mode 100644 assets/img/flags/MW.png
 create mode 100644 assets/img/flags/MX.png
 create mode 100644 assets/img/flags/MY.png
 create mode 100644 assets/img/flags/MZ.png
 create mode 100644 assets/img/flags/NA.png
 create mode 100644 assets/img/flags/NC.png
 create mode 100644 assets/img/flags/NE.png
 create mode 100644 assets/img/flags/NF.png
 create mode 100644 assets/img/flags/NG.png
 create mode 100644 assets/img/flags/NI.png
 create mode 100644 assets/img/flags/NL.png
 create mode 100644 assets/img/flags/NO.png
 create mode 100644 assets/img/flags/NP.png
 create mode 100644 assets/img/flags/NR.png
 create mode 100644 assets/img/flags/NU.png
 create mode 100644 assets/img/flags/NZ.png
 create mode 100644 assets/img/flags/OM.png
 create mode 100644 assets/img/flags/PA.png
 create mode 100644 assets/img/flags/PE.png
 create mode 100644 assets/img/flags/PF.png
 create mode 100644 assets/img/flags/PG.png
 create mode 100644 assets/img/flags/PH.png
 create mode 100644 assets/img/flags/PK.png
 create mode 100644 assets/img/flags/PL.png
 create mode 100644 assets/img/flags/PN.png
 create mode 100644 assets/img/flags/PR.png
 create mode 100644 assets/img/flags/PS.png
 create mode 100644 assets/img/flags/PT.png
 create mode 100644 assets/img/flags/PW.png
 create mode 100644 assets/img/flags/PY.png
 create mode 100644 assets/img/flags/QA.png
 create mode 100644 assets/img/flags/RE.png
 create mode 100644 assets/img/flags/RO.png
 create mode 100644 assets/img/flags/RS.png
 create mode 100644 assets/img/flags/RU.png
 create mode 100644 assets/img/flags/RW.png
 create mode 100644 assets/img/flags/SA.png
 create mode 100644 assets/img/flags/SB.png
 create mode 100644 assets/img/flags/SC.png
 create mode 100644 assets/img/flags/SD.png
 create mode 100644 assets/img/flags/SE.png
 create mode 100644 assets/img/flags/SG.png
 create mode 100644 assets/img/flags/SH.png
 create mode 100644 assets/img/flags/SI.png
 create mode 100644 assets/img/flags/SK.png
 create mode 100644 assets/img/flags/SL.png
 create mode 100644 assets/img/flags/SM.png
 create mode 100644 assets/img/flags/SN.png
 create mode 100644 assets/img/flags/SO.png
 create mode 100644 assets/img/flags/SR.png
 create mode 100644 assets/img/flags/SS.png
 create mode 100644 assets/img/flags/ST.png
 create mode 100644 assets/img/flags/SV.png
 create mode 100644 assets/img/flags/SX.png
 create mode 100644 assets/img/flags/SY.png
 create mode 100644 assets/img/flags/SZ.png
 create mode 100644 assets/img/flags/TC.png
 create mode 100644 assets/img/flags/TD.png
 create mode 100644 assets/img/flags/TF.png
 create mode 100644 assets/img/flags/TG.png
 create mode 100644 assets/img/flags/TH.png
 create mode 100644 assets/img/flags/TJ.png
 create mode 100644 assets/img/flags/TK.png
 create mode 100644 assets/img/flags/TL.png
 create mode 100644 assets/img/flags/TM.png
 create mode 100644 assets/img/flags/TN.png
 create mode 100644 assets/img/flags/TO.png
 create mode 100644 assets/img/flags/TR.png
 create mode 100644 assets/img/flags/TT.png
 create mode 100644 assets/img/flags/TV.png
 create mode 100644 assets/img/flags/TW.png
 create mode 100644 assets/img/flags/TZ.png
 create mode 100644 assets/img/flags/UA.png
 create mode 100644 assets/img/flags/UG.png
 create mode 100644 assets/img/flags/US.png
 create mode 100644 assets/img/flags/UY.png
 create mode 100644 assets/img/flags/UZ.png
 create mode 100644 assets/img/flags/VA.png
 create mode 100644 assets/img/flags/VC.png
 create mode 100644 assets/img/flags/VE.png
 create mode 100644 assets/img/flags/VG.png
 create mode 100644 assets/img/flags/VI.png
 create mode 100644 assets/img/flags/VN.png
 create mode 100644 assets/img/flags/VU.png
 create mode 100644 assets/img/flags/WF.png
 create mode 100644 assets/img/flags/WS.png
 create mode 100644 assets/img/flags/YE.png
 create mode 100644 assets/img/flags/YT.png
 create mode 100644 assets/img/flags/ZA.png
 create mode 100644 assets/img/flags/ZM.png
 create mode 100644 assets/img/flags/ZW.png
 create mode 100644 assets/img/flags/_abkhazia.png
 create mode 100644 assets/img/flags/_basque-country.png
 create mode 100644 assets/img/flags/_british-antarctic-territory.png
 create mode 100644 assets/img/flags/_commonwealth.png
 create mode 100644 assets/img/flags/_england.png
 create mode 100644 assets/img/flags/_gosquared.png
 create mode 100644 assets/img/flags/_kosovo.png
 create mode 100644 assets/img/flags/_mars.png
 create mode 100644 assets/img/flags/_nagorno-karabakh.png
 create mode 100644 assets/img/flags/_nato.png
 create mode 100644 assets/img/flags/_northern-cyprus.png
 create mode 100644 assets/img/flags/_olympics.png
 create mode 100644 assets/img/flags/_red-cross.png
 create mode 100644 assets/img/flags/_scotland.png
 create mode 100644 assets/img/flags/_somaliland.png
 create mode 100644 assets/img/flags/_south-ossetia.png
 create mode 100644 assets/img/flags/_united-nations.png
 create mode 100644 assets/img/flags/_unknown.png
 create mode 100644 assets/img/flags/_wales.png
 create mode 100755 assets/img/linux.svg
 create mode 100755 assets/img/mac.svg
 create mode 100644 assets/img/plants1-br.png
 create mode 100644 assets/img/plants1.png
 create mode 100644 assets/img/spn-feature-carousel/access-regional-content-easily.png
 create mode 100644 assets/img/spn-feature-carousel/built-from-the-ground-up.png
 create mode 100644 assets/img/spn-feature-carousel/bye-bye-vpns.png
 create mode 100644 assets/img/spn-feature-carousel/easily-control-your-privacy.png
 create mode 100644 assets/img/spn-feature-carousel/multiple-identities-for-each-app.png
 create mode 100644 assets/img/spn-login.png
 create mode 100755 assets/img/windows.svg
 create mode 100644 assets/world-50m.json
 create mode 100644 desktop/angular/README.md
 create mode 100644 desktop/angular/angular.json
 create mode 120000 desktop/angular/assets
 create mode 100644 desktop/angular/browser-extension-dev.config.ts
 create mode 100644 desktop/angular/browser-extension.config.ts
 create mode 100755 desktop/angular/docker.sh
 create mode 100644 desktop/angular/e2e/protractor.conf.js
 create mode 100644 desktop/angular/e2e/src/app.e2e-spec.ts
 create mode 100644 desktop/angular/e2e/src/app.po.ts
 create mode 100644 desktop/angular/e2e/tsconfig.json
 create mode 100644 desktop/angular/karma.conf.js
 create mode 100644 desktop/angular/package-lock.json
 create mode 100644 desktop/angular/package.json
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/karma.conf.js
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/app/app-routing.module.ts
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/app/app.component.html
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/app/app.component.scss
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/app/app.component.ts
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/app/app.module.ts
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/app/domain-list/domain-list.component.html
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/app/domain-list/domain-list.component.ts
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/app/domain-list/index.ts
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/app/header/header.component.html
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/app/header/header.component.scss
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/app/header/header.component.ts
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/app/header/index.ts
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/app/interceptor.ts
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/app/request-interceptor.service.ts
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/app/welcome/index.ts
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/app/welcome/intro.component.html
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/app/welcome/intro.component.ts
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/app/welcome/welcome.module.ts
 rename {assets => desktop/angular/projects/portmaster-chrome-extension/src/assets}/.gitkeep (100%)
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/assets/icon_128.png
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/background.ts
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/background/commands.ts
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/background/tab-tracker.ts
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/background/tab-utils.ts
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/environments/environment.prod.ts
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/environments/environment.ts
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/favicon.ico
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/index.html
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/main.ts
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/manifest.json
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/polyfills.ts
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/styles.scss
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/src/test.ts
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/tsconfig.app.json
 create mode 100644 desktop/angular/projects/portmaster-chrome-extension/tsconfig.spec.json
 create mode 100644 desktop/angular/projects/safing/portmaster-api/README.md
 create mode 100644 desktop/angular/projects/safing/portmaster-api/karma.conf.js
 create mode 100644 desktop/angular/projects/safing/portmaster-api/ng-package.json
 create mode 100644 desktop/angular/projects/safing/portmaster-api/package-lock.json
 create mode 100644 desktop/angular/projects/safing/portmaster-api/package.json
 create mode 100644 desktop/angular/projects/safing/portmaster-api/src/lib/app-profile.service.ts
 create mode 100644 desktop/angular/projects/safing/portmaster-api/src/lib/app-profile.types.ts
 create mode 100644 desktop/angular/projects/safing/portmaster-api/src/lib/config.service.ts
 create mode 100644 desktop/angular/projects/safing/portmaster-api/src/lib/config.types.ts
 create mode 100644 desktop/angular/projects/safing/portmaster-api/src/lib/core.types.ts
 create mode 100644 desktop/angular/projects/safing/portmaster-api/src/lib/debug-api.service.ts
 create mode 100644 desktop/angular/projects/safing/portmaster-api/src/lib/features.ts
 create mode 100644 desktop/angular/projects/safing/portmaster-api/src/lib/meta-api.service.ts
 create mode 100644 desktop/angular/projects/safing/portmaster-api/src/lib/module.ts
 create mode 100644 desktop/angular/projects/safing/portmaster-api/src/lib/netquery.service.ts
 create mode 100644 desktop/angular/projects/safing/portmaster-api/src/lib/network.types.ts
 create mode 100644 desktop/angular/projects/safing/portmaster-api/src/lib/portapi.service.ts
 create mode 100644 desktop/angular/projects/safing/portmaster-api/src/lib/portapi.types.ts
 create mode 100644 desktop/angular/projects/safing/portmaster-api/src/lib/spn.service.ts
 create mode 100644 desktop/angular/projects/safing/portmaster-api/src/lib/spn.types.ts
 create mode 100644 desktop/angular/projects/safing/portmaster-api/src/lib/utils.ts
 create mode 100644 desktop/angular/projects/safing/portmaster-api/src/lib/websocket.service.ts
 create mode 100644 desktop/angular/projects/safing/portmaster-api/src/public-api.ts
 create mode 100644 desktop/angular/projects/safing/portmaster-api/src/test.ts
 create mode 100644 desktop/angular/projects/safing/portmaster-api/tsconfig.lib.json
 create mode 100644 desktop/angular/projects/safing/portmaster-api/tsconfig.lib.prod.json
 create mode 100644 desktop/angular/projects/safing/portmaster-api/tsconfig.spec.json
 create mode 100644 desktop/angular/projects/safing/ui/.eslintrc.json
 create mode 100644 desktop/angular/projects/safing/ui/README.md
 create mode 100644 desktop/angular/projects/safing/ui/karma.conf.js
 create mode 100644 desktop/angular/projects/safing/ui/ng-package.json
 create mode 100644 desktop/angular/projects/safing/ui/package.json
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/accordion/accordion-group.html
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/accordion/accordion-group.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/accordion/accordion.html
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/accordion/accordion.module.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/accordion/accordion.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/accordion/index.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/animations/index.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/dialog/_confirm.dialog.scss
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/dialog/_dialog.scss
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/dialog/confirm.dialog.html
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/dialog/confirm.dialog.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/dialog/dialog.animations.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/dialog/dialog.container.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/dialog/dialog.module.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/dialog/dialog.ref.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/dialog/dialog.service.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/dialog/index.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/dropdown/dropdown.html
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/dropdown/dropdown.module.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/dropdown/dropdown.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/dropdown/index.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/overlay-stepper/index.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/overlay-stepper/overlay-stepper-container.html
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/overlay-stepper/overlay-stepper-container.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/overlay-stepper/overlay-stepper.module.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/overlay-stepper/overlay-stepper.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/overlay-stepper/refs.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/overlay-stepper/step-outlet.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/overlay-stepper/step.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/pagination/_pagination.scss
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/pagination/dynamic-items-paginator.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/pagination/index.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/pagination/pagination.html
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/pagination/pagination.module.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/pagination/pagination.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/pagination/snapshot-paginator.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/select/_select.scss
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/select/index.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/select/item.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/select/select.html
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/select/select.module.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/select/select.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/tabs/_tab-group.scss
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/tabs/index.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/tabs/tab-group.html
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/tabs/tab-group.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/tabs/tab.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/tabs/tabs.module.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/tipup/_tipup.scss
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/tipup/anchor.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/tipup/clone-node.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/tipup/css-utils.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/tipup/index.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/tipup/safe.pipe.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/tipup/tipup-component.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/tipup/tipup.html
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/tipup/tipup.module.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/tipup/tipup.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/tipup/translations.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/tipup/utils.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/toggle-switch/_toggle-switch.scss
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/toggle-switch/index.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/toggle-switch/toggle-switch.html
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/toggle-switch/toggle-switch.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/toggle-switch/toggle.module.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/tooltip/_tooltip-component.scss
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/tooltip/index.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/tooltip/tooltip-component.html
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/tooltip/tooltip-component.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/tooltip/tooltip.module.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/tooltip/tooltip.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/lib/ui.module.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/public-api.ts
 create mode 100644 desktop/angular/projects/safing/ui/src/test.ts
 create mode 100644 desktop/angular/projects/safing/ui/theming.scss
 create mode 100644 desktop/angular/projects/safing/ui/tsconfig.lib.json
 create mode 100644 desktop/angular/projects/safing/ui/tsconfig.lib.prod.json
 create mode 100644 desktop/angular/projects/safing/ui/tsconfig.spec.json
 create mode 100644 desktop/angular/projects/tauri-builtin/src/app/app.component.html
 create mode 100644 desktop/angular/projects/tauri-builtin/src/app/app.component.ts
 create mode 100644 desktop/angular/projects/tauri-builtin/src/app/app.config.ts
 create mode 120000 desktop/angular/projects/tauri-builtin/src/assets
 create mode 100644 desktop/angular/projects/tauri-builtin/src/favicon.ico
 create mode 100644 desktop/angular/projects/tauri-builtin/src/index.html
 create mode 100644 desktop/angular/projects/tauri-builtin/src/main.ts
 create mode 100644 desktop/angular/projects/tauri-builtin/src/styles.scss
 create mode 100644 desktop/angular/projects/tauri-builtin/tsconfig.app.json
 create mode 100644 desktop/angular/proxy.json
 create mode 100644 desktop/angular/src/app/app-routing.module.ts
 create mode 100644 desktop/angular/src/app/app.component.html
 create mode 100644 desktop/angular/src/app/app.component.scss
 create mode 100644 desktop/angular/src/app/app.component.spec.ts
 create mode 100644 desktop/angular/src/app/app.component.ts
 create mode 100644 desktop/angular/src/app/app.module.ts
 create mode 100644 desktop/angular/src/app/integration/browser.ts
 create mode 100644 desktop/angular/src/app/integration/electron.ts
 create mode 100644 desktop/angular/src/app/integration/factory.ts
 create mode 100644 desktop/angular/src/app/integration/index.ts
 create mode 100644 desktop/angular/src/app/integration/integration.ts
 create mode 100644 desktop/angular/src/app/integration/taur-app.ts
 create mode 100644 desktop/angular/src/app/intro/index.ts
 create mode 100644 desktop/angular/src/app/intro/intro.module.ts
 create mode 100644 desktop/angular/src/app/intro/step-1-welcome/index.ts
 create mode 100644 desktop/angular/src/app/intro/step-1-welcome/step-1-welcome.html
 create mode 100644 desktop/angular/src/app/intro/step-1-welcome/step-1-welcome.ts
 create mode 100644 desktop/angular/src/app/intro/step-2-trackers/index.ts
 create mode 100644 desktop/angular/src/app/intro/step-2-trackers/step-2-trackers.html
 create mode 100644 desktop/angular/src/app/intro/step-2-trackers/step-2-trackers.ts
 create mode 100644 desktop/angular/src/app/intro/step-3-dns/index.ts
 create mode 100644 desktop/angular/src/app/intro/step-3-dns/step-3-dns.html
 create mode 100644 desktop/angular/src/app/intro/step-3-dns/step-3-dns.ts
 create mode 100644 desktop/angular/src/app/intro/step-4-tipups/index.ts
 create mode 100644 desktop/angular/src/app/intro/step-4-tipups/step-4-tipups.html
 create mode 100644 desktop/angular/src/app/intro/step-4-tipups/step-4-tipups.ts
 create mode 100644 desktop/angular/src/app/intro/step.scss
 create mode 100644 desktop/angular/src/app/layout/navigation/navigation.html
 create mode 100644 desktop/angular/src/app/layout/navigation/navigation.scss
 create mode 100644 desktop/angular/src/app/layout/navigation/navigation.ts
 create mode 100644 desktop/angular/src/app/layout/side-dash/side-dash.html
 create mode 100644 desktop/angular/src/app/layout/side-dash/side-dash.scss
 create mode 100644 desktop/angular/src/app/layout/side-dash/side-dash.ts
 create mode 100644 desktop/angular/src/app/package-lock.json
 create mode 100644 desktop/angular/src/app/package.json
 create mode 100644 desktop/angular/src/app/pages/app-view/app-insights/app-insights.component.html
 create mode 100644 desktop/angular/src/app/pages/app-view/app-insights/app-insights.component.ts
 create mode 100644 desktop/angular/src/app/pages/app-view/app-view.html
 create mode 100644 desktop/angular/src/app/pages/app-view/app-view.scss
 create mode 100644 desktop/angular/src/app/pages/app-view/app-view.ts
 create mode 100644 desktop/angular/src/app/pages/app-view/index.ts
 create mode 100644 desktop/angular/src/app/pages/app-view/merge-profile-dialog/merge-profile-dialog.component.html
 create mode 100644 desktop/angular/src/app/pages/app-view/merge-profile-dialog/merge-profile-dialog.component.ts
 create mode 100644 desktop/angular/src/app/pages/app-view/overview.html
 create mode 100644 desktop/angular/src/app/pages/app-view/overview.scss
 create mode 100644 desktop/angular/src/app/pages/app-view/overview.ts
 create mode 100644 desktop/angular/src/app/pages/app-view/qs-history/qs-history.component.html
 rename desktop/angular/{.gitkeep => src/app/pages/app-view/qs-history/qs-history.component.scss} (100%)
 create mode 100644 desktop/angular/src/app/pages/app-view/qs-history/qs-history.component.ts
 create mode 100644 desktop/angular/src/app/pages/app-view/qs-internet/index.ts
 create mode 100644 desktop/angular/src/app/pages/app-view/qs-internet/qs-internet.html
 create mode 100644 desktop/angular/src/app/pages/app-view/qs-internet/qs-internet.ts
 create mode 100644 desktop/angular/src/app/pages/app-view/qs-select-exit/index.ts
 create mode 100644 desktop/angular/src/app/pages/app-view/qs-select-exit/qs-select-exit.html
 create mode 100644 desktop/angular/src/app/pages/app-view/qs-select-exit/qs-select-exit.scss
 create mode 100644 desktop/angular/src/app/pages/app-view/qs-select-exit/qs-select-exit.ts
 create mode 100644 desktop/angular/src/app/pages/app-view/qs-use-spn/index.ts
 create mode 100644 desktop/angular/src/app/pages/app-view/qs-use-spn/qs-use-spn.html
 create mode 100644 desktop/angular/src/app/pages/app-view/qs-use-spn/qs-use-spn.ts
 create mode 100644 desktop/angular/src/app/pages/dashboard/dashboard-widget/dashboard-widget.component.html
 create mode 100644 desktop/angular/src/app/pages/dashboard/dashboard-widget/dashboard-widget.component.ts
 create mode 100644 desktop/angular/src/app/pages/dashboard/dashboard.component.html
 create mode 100644 desktop/angular/src/app/pages/dashboard/dashboard.component.scss
 create mode 100644 desktop/angular/src/app/pages/dashboard/dashboard.component.ts
 create mode 100644 desktop/angular/src/app/pages/dashboard/feature-card/feature-card.component.html
 create mode 100644 desktop/angular/src/app/pages/dashboard/feature-card/feature-card.component.scss
 create mode 100644 desktop/angular/src/app/pages/dashboard/feature-card/feature-card.component.ts
 create mode 100644 desktop/angular/src/app/pages/monitor/index.ts
 create mode 100644 desktop/angular/src/app/pages/monitor/monitor.html
 create mode 100644 desktop/angular/src/app/pages/monitor/monitor.scss
 create mode 100644 desktop/angular/src/app/pages/monitor/monitor.ts
 create mode 100644 desktop/angular/src/app/pages/page.scss
 create mode 100644 desktop/angular/src/app/pages/settings/settings.html
 create mode 100644 desktop/angular/src/app/pages/settings/settings.scss
 create mode 100644 desktop/angular/src/app/pages/settings/settings.ts
 create mode 100644 desktop/angular/src/app/pages/spn/country-details/country-details.html
 create mode 100644 desktop/angular/src/app/pages/spn/country-details/country-details.ts
 create mode 100644 desktop/angular/src/app/pages/spn/country-details/index.ts
 create mode 100644 desktop/angular/src/app/pages/spn/country-overlay/country-overlay.html
 create mode 100644 desktop/angular/src/app/pages/spn/country-overlay/country-overlay.scss
 create mode 100644 desktop/angular/src/app/pages/spn/country-overlay/country-overlay.ts
 create mode 100644 desktop/angular/src/app/pages/spn/country-overlay/index.ts
 create mode 100644 desktop/angular/src/app/pages/spn/index.ts
 create mode 100644 desktop/angular/src/app/pages/spn/map-legend/index.ts
 create mode 100644 desktop/angular/src/app/pages/spn/map-legend/map-legend.html
 create mode 100644 desktop/angular/src/app/pages/spn/map-legend/map-legend.ts
 create mode 100644 desktop/angular/src/app/pages/spn/map-renderer/index.ts
 create mode 100644 desktop/angular/src/app/pages/spn/map-renderer/map-renderer.ts
 create mode 100644 desktop/angular/src/app/pages/spn/map-renderer/map-style.scss
 create mode 100644 desktop/angular/src/app/pages/spn/map.service.ts
 create mode 100644 desktop/angular/src/app/pages/spn/node-icon/index.ts
 create mode 100644 desktop/angular/src/app/pages/spn/node-icon/node-icon.html
 create mode 100644 desktop/angular/src/app/pages/spn/node-icon/node-icon.scss
 create mode 100644 desktop/angular/src/app/pages/spn/node-icon/node-icon.ts
 create mode 100644 desktop/angular/src/app/pages/spn/pin-details/index.ts
 create mode 100644 desktop/angular/src/app/pages/spn/pin-details/pin-details.html
 create mode 100644 desktop/angular/src/app/pages/spn/pin-details/pin-details.ts
 create mode 100644 desktop/angular/src/app/pages/spn/pin-list/index.ts
 create mode 100644 desktop/angular/src/app/pages/spn/pin-list/pin-list.html
 create mode 100644 desktop/angular/src/app/pages/spn/pin-list/pin-list.ts
 create mode 100644 desktop/angular/src/app/pages/spn/pin-overlay/index.ts
 create mode 100644 desktop/angular/src/app/pages/spn/pin-overlay/pin-overlay.html
 create mode 100644 desktop/angular/src/app/pages/spn/pin-overlay/pin-overlay.scss
 create mode 100644 desktop/angular/src/app/pages/spn/pin-overlay/pin-overlay.ts
 create mode 100644 desktop/angular/src/app/pages/spn/pin-route/index.ts
 create mode 100644 desktop/angular/src/app/pages/spn/pin-route/pin-route.html
 create mode 100644 desktop/angular/src/app/pages/spn/pin-route/pin-route.scss
 create mode 100644 desktop/angular/src/app/pages/spn/pin-route/pin-route.ts
 create mode 100644 desktop/angular/src/app/pages/spn/spn-feature-carousel/index.ts
 create mode 100644 desktop/angular/src/app/pages/spn/spn-feature-carousel/spn-feature-carousel.html
 create mode 100644 desktop/angular/src/app/pages/spn/spn-feature-carousel/spn-feature-carousel.scss
 create mode 100644 desktop/angular/src/app/pages/spn/spn-feature-carousel/spn-feature-carousel.ts
 create mode 100644 desktop/angular/src/app/pages/spn/spn-page.html
 create mode 100644 desktop/angular/src/app/pages/spn/spn-page.scss
 create mode 100644 desktop/angular/src/app/pages/spn/spn-page.ts
 create mode 100644 desktop/angular/src/app/pages/spn/spn.module.ts
 create mode 100644 desktop/angular/src/app/pages/spn/utils.ts
 create mode 100644 desktop/angular/src/app/pages/support/form/index.ts
 create mode 100644 desktop/angular/src/app/pages/support/form/support-form.html
 create mode 100644 desktop/angular/src/app/pages/support/form/support-form.scss
 create mode 100644 desktop/angular/src/app/pages/support/form/support-form.ts
 create mode 100644 desktop/angular/src/app/pages/support/index.ts
 create mode 100644 desktop/angular/src/app/pages/support/pages.ts
 create mode 100644 desktop/angular/src/app/pages/support/progress-dialog/index.ts
 create mode 100644 desktop/angular/src/app/pages/support/progress-dialog/progress-dialog.html
 create mode 100644 desktop/angular/src/app/pages/support/progress-dialog/progress-dialog.ts
 create mode 100644 desktop/angular/src/app/pages/support/support.html
 create mode 100644 desktop/angular/src/app/pages/support/support.scss
 create mode 100644 desktop/angular/src/app/pages/support/support.ts
 create mode 100644 desktop/angular/src/app/prompt-entrypoint/prompt-entrypoint.ts
 create mode 100644 desktop/angular/src/app/prompt-entrypoint/prompt.html
 create mode 100644 desktop/angular/src/app/services/index.ts
 create mode 100644 desktop/angular/src/app/services/notifications.service.spec.ts
 create mode 100644 desktop/angular/src/app/services/notifications.service.ts
 create mode 100644 desktop/angular/src/app/services/notifications.types.ts
 create mode 100644 desktop/angular/src/app/services/package.json
 create mode 100644 desktop/angular/src/app/services/session-data.service.ts
 create mode 100644 desktop/angular/src/app/services/status.service.spec.ts
 create mode 100644 desktop/angular/src/app/services/status.service.ts
 create mode 100644 desktop/angular/src/app/services/status.types.ts
 create mode 100644 desktop/angular/src/app/services/supporthub.service.ts
 create mode 100644 desktop/angular/src/app/services/ui-state.service.ts
 create mode 100644 desktop/angular/src/app/services/virtual-notification.ts
 create mode 100644 desktop/angular/src/app/shared/action-indicator/action-indicator.module.ts
 create mode 100644 desktop/angular/src/app/shared/action-indicator/action-indicator.service.ts
 create mode 100644 desktop/angular/src/app/shared/action-indicator/index.ts
 create mode 100644 desktop/angular/src/app/shared/action-indicator/indicator.html
 create mode 100644 desktop/angular/src/app/shared/action-indicator/indicator.scss
 create mode 100644 desktop/angular/src/app/shared/action-indicator/indicator.ts
 create mode 100644 desktop/angular/src/app/shared/animations.ts
 create mode 100644 desktop/angular/src/app/shared/app-icon/app-icon-resolver.ts
 create mode 100644 desktop/angular/src/app/shared/app-icon/app-icon.html
 create mode 100644 desktop/angular/src/app/shared/app-icon/app-icon.module.ts
 create mode 100644 desktop/angular/src/app/shared/app-icon/app-icon.scss
 create mode 100644 desktop/angular/src/app/shared/app-icon/app-icon.ts
 create mode 100644 desktop/angular/src/app/shared/app-icon/index.ts
 create mode 100644 desktop/angular/src/app/shared/config/basic-setting/basic-setting.html
 create mode 100644 desktop/angular/src/app/shared/config/basic-setting/basic-setting.scss
 create mode 100644 desktop/angular/src/app/shared/config/basic-setting/basic-setting.ts
 create mode 100644 desktop/angular/src/app/shared/config/basic-setting/index.ts
 create mode 100644 desktop/angular/src/app/shared/config/config-settings.html
 create mode 100644 desktop/angular/src/app/shared/config/config-settings.scss
 create mode 100644 desktop/angular/src/app/shared/config/config-settings.ts
 create mode 100644 desktop/angular/src/app/shared/config/config.module.ts
 create mode 100644 desktop/angular/src/app/shared/config/export-dialog/export-dialog.component.html
 create mode 100644 desktop/angular/src/app/shared/config/export-dialog/export-dialog.component.ts
 create mode 100644 desktop/angular/src/app/shared/config/filter-lists/filter-list.html
 create mode 100644 desktop/angular/src/app/shared/config/filter-lists/filter-list.scss
 create mode 100644 desktop/angular/src/app/shared/config/filter-lists/filter-list.ts
 create mode 100644 desktop/angular/src/app/shared/config/filter-lists/index.ts
 create mode 100644 desktop/angular/src/app/shared/config/generic-setting/generic-setting.html
 create mode 100644 desktop/angular/src/app/shared/config/generic-setting/generic-setting.scss
 create mode 100644 desktop/angular/src/app/shared/config/generic-setting/generic-setting.ts
 create mode 100644 desktop/angular/src/app/shared/config/generic-setting/index.ts
 create mode 100644 desktop/angular/src/app/shared/config/import-dialog/cursor.ts
 create mode 100644 desktop/angular/src/app/shared/config/import-dialog/import-dialog.component.html
 create mode 100644 desktop/angular/src/app/shared/config/import-dialog/import-dialog.component.ts
 create mode 100644 desktop/angular/src/app/shared/config/import-dialog/selection.ts
 create mode 100644 desktop/angular/src/app/shared/config/index.ts
 create mode 100644 desktop/angular/src/app/shared/config/ordererd-list/index.ts
 create mode 100644 desktop/angular/src/app/shared/config/ordererd-list/item.html
 create mode 100644 desktop/angular/src/app/shared/config/ordererd-list/item.scss
 create mode 100644 desktop/angular/src/app/shared/config/ordererd-list/item.ts
 create mode 100644 desktop/angular/src/app/shared/config/ordererd-list/ordered-list.html
 create mode 100644 desktop/angular/src/app/shared/config/ordererd-list/ordered-list.scss
 create mode 100644 desktop/angular/src/app/shared/config/ordererd-list/ordered-list.ts
 create mode 100644 desktop/angular/src/app/shared/config/rule-list/index.ts
 create mode 100644 desktop/angular/src/app/shared/config/rule-list/list-item.html
 create mode 100644 desktop/angular/src/app/shared/config/rule-list/list-item.scss
 create mode 100644 desktop/angular/src/app/shared/config/rule-list/list-item.ts
 create mode 100644 desktop/angular/src/app/shared/config/rule-list/rule-list.html
 create mode 100644 desktop/angular/src/app/shared/config/rule-list/rule-list.scss
 create mode 100644 desktop/angular/src/app/shared/config/rule-list/rule-list.ts
 create mode 100644 desktop/angular/src/app/shared/config/safe.pipe.ts
 create mode 100644 desktop/angular/src/app/shared/count-indicator/count-indicator.html
 create mode 100644 desktop/angular/src/app/shared/count-indicator/count-indicator.module.ts
 create mode 100644 desktop/angular/src/app/shared/count-indicator/count-indicator.scss
 create mode 100644 desktop/angular/src/app/shared/count-indicator/count-indicator.ts
 create mode 100644 desktop/angular/src/app/shared/count-indicator/count.pipe.ts
 create mode 100644 desktop/angular/src/app/shared/count-indicator/index.ts
 create mode 100644 desktop/angular/src/app/shared/country-flag/country-flag.ts
 create mode 100644 desktop/angular/src/app/shared/country-flag/country.module.ts
 create mode 100644 desktop/angular/src/app/shared/country-flag/index.ts
 create mode 100644 desktop/angular/src/app/shared/edit-profile-dialog/edit-profile-dialog.html
 create mode 100644 desktop/angular/src/app/shared/edit-profile-dialog/edit-profile-dialog.scss
 create mode 100644 desktop/angular/src/app/shared/edit-profile-dialog/edit-profile-dialog.ts
 create mode 100644 desktop/angular/src/app/shared/edit-profile-dialog/index.ts
 create mode 100644 desktop/angular/src/app/shared/exit-screen/exit-screen.html
 create mode 100644 desktop/angular/src/app/shared/exit-screen/exit-screen.scss
 create mode 100644 desktop/angular/src/app/shared/exit-screen/exit-screen.ts
 create mode 100644 desktop/angular/src/app/shared/exit-screen/exit.service.ts
 create mode 100644 desktop/angular/src/app/shared/exit-screen/index.ts
 create mode 100644 desktop/angular/src/app/shared/expertise/expertise-directive.ts
 create mode 100644 desktop/angular/src/app/shared/expertise/expertise-switch.html
 create mode 100644 desktop/angular/src/app/shared/expertise/expertise-switch.scss
 create mode 100644 desktop/angular/src/app/shared/expertise/expertise-switch.ts
 create mode 100644 desktop/angular/src/app/shared/expertise/expertise.module.ts
 create mode 100644 desktop/angular/src/app/shared/expertise/expertise.service.ts
 create mode 100644 desktop/angular/src/app/shared/expertise/index.ts
 create mode 100644 desktop/angular/src/app/shared/external-link.directive.ts
 create mode 100644 desktop/angular/src/app/shared/feature-scout/feature-scout.html
 create mode 100644 desktop/angular/src/app/shared/feature-scout/feature-scout.scss
 create mode 100644 desktop/angular/src/app/shared/feature-scout/feature-scout.ts
 create mode 100644 desktop/angular/src/app/shared/feature-scout/index.ts
 create mode 100644 desktop/angular/src/app/shared/focus/focus.directive.ts
 create mode 100644 desktop/angular/src/app/shared/focus/focus.module.ts
 create mode 100644 desktop/angular/src/app/shared/focus/index.ts
 create mode 100644 desktop/angular/src/app/shared/fuzzySearch/fuse.service.ts
 create mode 100644 desktop/angular/src/app/shared/fuzzySearch/index.ts
 create mode 100644 desktop/angular/src/app/shared/fuzzySearch/search-pipe.ts
 create mode 100644 desktop/angular/src/app/shared/loading/index.ts
 create mode 100644 desktop/angular/src/app/shared/loading/loading.html
 create mode 100644 desktop/angular/src/app/shared/loading/loading.scss
 create mode 100644 desktop/angular/src/app/shared/loading/loading.ts
 create mode 100644 desktop/angular/src/app/shared/menu/index.ts
 create mode 100644 desktop/angular/src/app/shared/menu/menu-group.scss
 create mode 100644 desktop/angular/src/app/shared/menu/menu-item.scss
 create mode 100644 desktop/angular/src/app/shared/menu/menu-trigger.html
 create mode 100644 desktop/angular/src/app/shared/menu/menu-trigger.scss
 create mode 100644 desktop/angular/src/app/shared/menu/menu.html
 create mode 100644 desktop/angular/src/app/shared/menu/menu.module.ts
 create mode 100644 desktop/angular/src/app/shared/menu/menu.ts
 create mode 100644 desktop/angular/src/app/shared/multi-switch/index.ts
 create mode 100644 desktop/angular/src/app/shared/multi-switch/multi-switch.html
 create mode 100644 desktop/angular/src/app/shared/multi-switch/multi-switch.module.ts
 create mode 100644 desktop/angular/src/app/shared/multi-switch/multi-switch.scss
 create mode 100644 desktop/angular/src/app/shared/multi-switch/multi-switch.ts
 create mode 100644 desktop/angular/src/app/shared/multi-switch/switch-item.scss
 create mode 100644 desktop/angular/src/app/shared/multi-switch/switch-item.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/.eslintrc.json
 create mode 100644 desktop/angular/src/app/shared/netquery/add-to-filter/add-to-filter.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/add-to-filter/index.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/circular-bar-chart/circular-bar-chart.component.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/combined-menu.pipe.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/connection-details/conn-details.html
 create mode 100644 desktop/angular/src/app/shared/netquery/connection-details/conn-details.scss
 create mode 100644 desktop/angular/src/app/shared/netquery/connection-details/conn-details.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/connection-details/index.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/connection-helper.service.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/connection-row/conn-row.html
 create mode 100644 desktop/angular/src/app/shared/netquery/connection-row/conn-row.scss
 create mode 100644 desktop/angular/src/app/shared/netquery/connection-row/conn-row.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/connection-row/index.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/index.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/line-chart/index.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/line-chart/line-chart.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/netquery.component.html
 create mode 100644 desktop/angular/src/app/shared/netquery/netquery.component.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/netquery.module.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/pipes/can-show.pipe.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/pipes/can-use-rules.pipe.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/pipes/country-name.pipe.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/pipes/index.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/pipes/is-blocked.pipe.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/pipes/location.pipe.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/scope-label/index.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/scope-label/scope-label.html
 create mode 100644 desktop/angular/src/app/shared/netquery/scope-label/scope-label.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/search-overlay/index.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/search-overlay/search-overlay.html
 create mode 100644 desktop/angular/src/app/shared/netquery/search-overlay/search-overlay.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/searchbar/index.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/searchbar/searchbar.html
 create mode 100644 desktop/angular/src/app/shared/netquery/searchbar/searchbar.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/tag-bar/index.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/tag-bar/tag-bar.html
 create mode 100644 desktop/angular/src/app/shared/netquery/tag-bar/tag-bar.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/textql/helper.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/textql/index.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/textql/input.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/textql/lexer.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/textql/parser.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/textql/token.ts
 create mode 100644 desktop/angular/src/app/shared/netquery/utils.ts
 create mode 100644 desktop/angular/src/app/shared/network-scout/index.ts
 create mode 100644 desktop/angular/src/app/shared/network-scout/network-scout.html
 create mode 100644 desktop/angular/src/app/shared/network-scout/network-scout.scss
 create mode 100644 desktop/angular/src/app/shared/network-scout/network-scout.ts
 create mode 100644 desktop/angular/src/app/shared/notification-list/index.ts
 create mode 100644 desktop/angular/src/app/shared/notification-list/notification-list.component.html
 create mode 100644 desktop/angular/src/app/shared/notification-list/notification-list.component.scss
 create mode 100644 desktop/angular/src/app/shared/notification-list/notification-list.component.ts
 create mode 100644 desktop/angular/src/app/shared/notification/notification.html
 create mode 100644 desktop/angular/src/app/shared/notification/notification.scss
 create mode 100644 desktop/angular/src/app/shared/notification/notification.ts
 create mode 100644 desktop/angular/src/app/shared/pipes/bytes.pipe.ts
 create mode 100644 desktop/angular/src/app/shared/pipes/common-pipes.module.ts
 create mode 100644 desktop/angular/src/app/shared/pipes/duration.pipe.ts
 create mode 100644 desktop/angular/src/app/shared/pipes/index.ts
 create mode 100644 desktop/angular/src/app/shared/pipes/round.pipe.ts
 create mode 100644 desktop/angular/src/app/shared/pipes/time-ago.pipe.ts
 create mode 100644 desktop/angular/src/app/shared/pipes/to-profile.pipe.ts
 create mode 100644 desktop/angular/src/app/shared/pipes/to-seconds.pipe.ts
 create mode 100644 desktop/angular/src/app/shared/process-details-dialog/index.ts
 create mode 100644 desktop/angular/src/app/shared/process-details-dialog/process-details-dialog.html
 create mode 100644 desktop/angular/src/app/shared/process-details-dialog/process-details-dialog.scss
 create mode 100644 desktop/angular/src/app/shared/process-details-dialog/process-details-dialog.ts
 create mode 100644 desktop/angular/src/app/shared/prompt-list/index.ts
 create mode 100644 desktop/angular/src/app/shared/prompt-list/prompt-list.component.html
 create mode 100644 desktop/angular/src/app/shared/prompt-list/prompt-list.component.scss
 create mode 100644 desktop/angular/src/app/shared/prompt-list/prompt-list.component.ts
 create mode 100644 desktop/angular/src/app/shared/security-lock/index.ts
 create mode 100644 desktop/angular/src/app/shared/security-lock/security-lock.html
 create mode 100644 desktop/angular/src/app/shared/security-lock/security-lock.scss
 create mode 100644 desktop/angular/src/app/shared/security-lock/security-lock.ts
 create mode 100644 desktop/angular/src/app/shared/spn-account-details/index.ts
 create mode 100644 desktop/angular/src/app/shared/spn-account-details/spn-account-details.html
 create mode 100644 desktop/angular/src/app/shared/spn-account-details/spn-account-details.scss
 create mode 100644 desktop/angular/src/app/shared/spn-account-details/spn-account-details.ts
 create mode 100644 desktop/angular/src/app/shared/spn-login/index.ts
 create mode 100644 desktop/angular/src/app/shared/spn-login/spn-login.html
 create mode 100644 desktop/angular/src/app/shared/spn-login/spn-login.scss
 create mode 100644 desktop/angular/src/app/shared/spn-login/spn-login.ts
 create mode 100644 desktop/angular/src/app/shared/spn-network-status/index.ts
 create mode 100644 desktop/angular/src/app/shared/spn-network-status/spn-network-status.html
 create mode 100644 desktop/angular/src/app/shared/spn-network-status/spn-network-status.scss
 create mode 100644 desktop/angular/src/app/shared/spn-network-status/spn-network-status.ts
 create mode 100644 desktop/angular/src/app/shared/spn-status/index.ts
 create mode 100644 desktop/angular/src/app/shared/spn-status/spn-status.html
 create mode 100644 desktop/angular/src/app/shared/spn-status/spn-status.ts
 create mode 100644 desktop/angular/src/app/shared/status-pilot/index.ts
 create mode 100644 desktop/angular/src/app/shared/status-pilot/pilot-widget.html
 create mode 100644 desktop/angular/src/app/shared/status-pilot/pilot-widget.scss
 create mode 100644 desktop/angular/src/app/shared/status-pilot/pilot-widget.ts
 create mode 100644 desktop/angular/src/app/shared/text-placeholder/index.ts
 create mode 100644 desktop/angular/src/app/shared/text-placeholder/placeholder.scss
 create mode 100644 desktop/angular/src/app/shared/text-placeholder/placeholder.ts
 create mode 100644 desktop/angular/src/app/shared/utils.ts
 create mode 120000 desktop/angular/src/assets
 create mode 100644 desktop/angular/src/electron-app.d.ts
 create mode 100644 desktop/angular/src/environments/environment.prod.ts
 create mode 100644 desktop/angular/src/environments/environment.ts
 create mode 100644 desktop/angular/src/i18n/helptexts.yaml
 create mode 100644 desktop/angular/src/i18n/helptexts.yaml.d.ts
 create mode 100644 desktop/angular/src/index.html
 create mode 100644 desktop/angular/src/main.ts
 create mode 100644 desktop/angular/src/polyfills.ts
 create mode 100644 desktop/angular/src/styles.scss
 create mode 100644 desktop/angular/src/test.ts
 create mode 100644 desktop/angular/src/theme.less
 create mode 100644 desktop/angular/src/theme/_breadcrumbs.scss
 create mode 100644 desktop/angular/src/theme/_button.scss
 create mode 100644 desktop/angular/src/theme/_card.scss
 create mode 100644 desktop/angular/src/theme/_colors.scss
 create mode 100644 desktop/angular/src/theme/_dialog.scss
 create mode 100644 desktop/angular/src/theme/_drag-n-drop.scss
 create mode 100644 desktop/angular/src/theme/_inputs.scss
 create mode 100644 desktop/angular/src/theme/_markdown.scss
 create mode 100644 desktop/angular/src/theme/_pill.scss
 create mode 100644 desktop/angular/src/theme/_scroll.scss
 create mode 100644 desktop/angular/src/theme/_search.scss
 create mode 100644 desktop/angular/src/theme/_table.scss
 create mode 100644 desktop/angular/src/theme/_tailwind.scss
 create mode 100644 desktop/angular/src/theme/_trust-level.scss
 create mode 100644 desktop/angular/src/theme/_typography.scss
 create mode 100644 desktop/angular/src/theme/_verdict.scss
 create mode 100644 desktop/angular/src/theme/mixins/_pill.scss
 create mode 100644 desktop/angular/tailwind.config.js
 create mode 100644 desktop/angular/tsconfig.app.json
 create mode 100644 desktop/angular/tsconfig.json
 create mode 100644 desktop/angular/tsconfig.spec.json
 create mode 100644 desktop/angular/tslint.json

diff --git a/.earthlyignore b/.earthlyignore
index 9b694cb7..37c45b4d 100644
--- a/.earthlyignore
+++ b/.earthlyignore
@@ -7,4 +7,9 @@ node_modules/
 desktop/angular/node_modules
 desktop/angular/dist
 desktop/angular/dist-lib
-desktop/angular/dist-extension
\ No newline at end of file
+desktop/angular/dist-extension
+desktop/angular/.angular
+
+# Assets are ignored here because the symlink wouldn't work in
+# the buildkit container so we copy the assets directly in Earthfile.
+desktop/angular/assets
\ No newline at end of file
diff --git a/Earthfile b/Earthfile
index 1ca151dc..3638f0d6 100644
--- a/Earthfile
+++ b/Earthfile
@@ -52,7 +52,7 @@ build-go:
     ARG GOOS=linux
     ARG GOARCH=amd64
     ARG GOARM
-    ARG CMDS=portmaster-start portmaster-core hub
+    ARG CMDS=portmaster-start portmaster-core hub notifier
 
     CACHE --sharing shared "$GOCACHE"
     CACHE --sharing shared "$GOMODCACHE"
@@ -112,7 +112,7 @@ test-go-all-platforms:
     BUILD +test-go --GOARCH=amd64 --GOOS=windows
     BUILD +test-go --GOARCH=arm64 --GOOS=windows
 
-# Builds portmaster-start and portmaster-core for all supported platforms
+# Builds portmaster-start, portmaster-core, hub and notifier for all supported platforms
 build-go-release:
     # Linux platforms:
     BUILD +build-go --GOARCH=amd64 --GOOS=linux
@@ -131,46 +131,61 @@ build-utils:
     BUILD +build-go --CMDS="" --GOARCH=amd64 --GOOS=linux
     BUILD +build-go --CMDS="" --GOARCH=amd64 --GOOS=windows
 
-# Prepares the angular project
+# Prepares the angular project by installing dependencies
 angular-deps:
     FROM node:${node_version}
     WORKDIR /app/ui
 
     RUN apt update && apt install zip
 
-    CACHE --sharing shared "/app/ui/node_modules"
-
     COPY desktop/angular/package.json .
     COPY desktop/angular/package-lock.json .
+    COPY assets/ ./assets
+
     RUN npm install
 
-
+# Copies the UI folder into the working container
+# and builds the shared libraries in the specified configuration (production or development)
 angular-base:
     FROM +angular-deps
+    ARG configuration="production"
 
     COPY desktop/angular/ .
 
-# Build the Portmaster UI (angular) in release mode
+    IF [ "${configuration}" = "production" ]
+        RUN npm run build-libs
+    ELSE
+        RUN npm run build-libs:dev
+    END
+
+# Build an angualr project, zip it and save artifacts locally
+angular-project:
+    ARG --required project
+    ARG --required dist
+    ARG configuration="production"
+    ARG baseHref="/"
+
+    FROM +angular-base --configuration="${configuration}"
+
+    IF [ "${configuration}" = "production" ]
+        ENV NODE_ENV="production"
+    END
+
+    RUN ./node_modules/.bin/ng build --configuration ${configuration} --base-href ${baseHref} "${project}"
+
+    RUN zip -r "./${project}.zip" "${dist}"
+    SAVE ARTIFACT "./${project}.zip" AS LOCAL ${outputDir}/${project}.zip
+    SAVE ARTIFACT "./dist" AS LOCAL ${outputDir}/${project}
+
+# Build the angular projects (portmaster-UI and tauri-builtin) in production mode
 angular-release:
-    FROM +angular-base
+    BUILD +angular-project --project=portmaster --dist=./dist --configuration=production --baseHref=/ui/modules/portmaster
+    BUILD +angular-project --project=tauri-builtin --dist=./dist/tauri-builtin --configuration=production --baseHref="/"
 
-    CACHE --sharing shared "/app/ui/node_modules"
-
-    RUN npm run build
-    RUN zip -r ./angular.zip ./dist
-    SAVE ARTIFACT "./angular.zip" AS LOCAL ${outputDir}/angular.zip
-    SAVE ARTIFACT "./dist" AS LOCAL ${outputDir}/angular
-
-
-# Build the Portmaster UI (angular) in dev mode
+# Build the angular projects (portmaster-UI and tauri-builtin) in dev mode
 angular-dev:
-    FROM +angular-base
-
-    CACHE --sharing shared "/app/ui/node_modules"
-
-    RUN npm run build:dev
-    SAVE ARTIFACT ./dist AS LOCAL ${outputDir}/angular
-
+    BUILD +angular-project --project=portmaster --dist=./dist --configuration=development --baseHref=/ui/modules/portmaster
+    BUILD +angular-project --project=tauri-builtin --dist=./dist/tauri-builtin --configuration=development --baseHref="/"
 
 release:
     BUILD +build-go-release
diff --git a/assets/fonts/Roboto-300/LICENSE.txt b/assets/fonts/Roboto-300/LICENSE.txt
new file mode 100644
index 00000000..d6456956
--- /dev/null
+++ b/assets/fonts/Roboto-300/LICENSE.txt
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/assets/fonts/Roboto-300/Roboto-300.eot b/assets/fonts/Roboto-300/Roboto-300.eot
new file mode 100644
index 0000000000000000000000000000000000000000..826acfda9102ca6aba858813c72fa34b6968da36
GIT binary patch
literal 16205
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
GcK$C}BGQQf

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-300/Roboto-300.svg b/assets/fonts/Roboto-300/Roboto-300.svg
new file mode 100644
index 00000000..52b28327
--- /dev/null
+++ b/assets/fonts/Roboto-300/Roboto-300.svg
@@ -0,0 +1,314 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg">
+<defs >
+<font id="Roboto" horiz-adv-x="1137" ><font-face
+    font-family="Roboto Light"
+    units-per-em="2048"
+    panose-1="2 0 0 0 0 0 0 0 0 0"
+    ascent="1900"
+    descent="-500"
+    alphabetic="0" />
+<glyph unicode=" " horiz-adv-x="498" />
+<glyph unicode="!" horiz-adv-x="462" d="M284 405H173L167 1456H291L284 405ZM153 70Q153 104 175 127T235 151T295 128T318 70Q318 37 296 15T235 -8T175 14T153 70Z" />
+<glyph unicode="&quot;" horiz-adv-x="588" d="M243 1396L223 1083H143L146 1536H243V1396ZM479 1396L459 1083H378L382 1536H479V1396Z" />
+<glyph unicode="#" horiz-adv-x="1191" d="M753 410H439L362 0H263L340 410H85V503H357L440 944H161V1040H458L537 1456H636L557 1040H872L951 1456H1051L972 1040H1201V944H954L871 503H1126V410H853L776 0H676L753 410ZM456 503H771L854 944H539L456 503Z" />
+<glyph unicode="$" horiz-adv-x="1135" d="M901 359Q901 470 829 540T575 674Q349 745 258 842T167 1095Q167 1258 267 1359T539 1475V1677H641V1475Q817 1459 913 1343T1010 1028H891Q891 1185 810 1277T587 1370Q445 1370 366 1296T286 1097Q286 977 359 910T607
+783T862 669T981 540T1021 361Q1021 197 919 97T637 -18V-208H536V-19Q335 -6 225 107T115 418H235Q235 262 326 174T580 85Q722 85 811 161T901 359Z" />
+<glyph unicode="%" horiz-adv-x="1513" d="M109 1176Q109 1306 189 1391T394 1477T598 1392T679 1170V1099Q679 971 600 886T396 800Q273 800 191 884T109 1106V1176ZM206 1099Q206 1006 257 946T396 886Q481 886 531 946T582 1103V1176Q582 1269 530 1329T394
+1390Q311 1390 259 1330T206 1170V1099ZM842 357Q842 487 922 572T1126 657T1330 573T1412 350V279Q1412 149 1332 64T1128 -21T924 63T842 284V357ZM938 279Q938 185 989 125T1128 65Q1214 65 1264 125T1315 284V357Q1315 453 1264 511T1126 570Q1042 570 990
+511T938 353V279ZM434 121L359 169L1070 1307L1145 1259L434 121Z" />
+<glyph unicode="&amp;" horiz-adv-x="1260" d="M404 794Q317 899 278 981T238 1145Q238 1298 329 1387T573 1476Q712 1476 798 1396T884 1191Q884 1047 718 908L558 784L958 318Q1049 465 1049 651H1160Q1160 403 1032 232L1231 0H1087L961 146Q882 68 779 24T560
+-20Q352 -20 230 86T108 371Q108 477 170 571T390 784L404 794ZM560 81Q651 81 736 119T890 229L483 701L469 716L423 681Q227 521 227 371Q227 240 317 161T560 81ZM358 1149Q358 1027 493 861L624 961Q688 1007 729 1062T770 1191Q770 1269 716 1321T572 1374Q474
+1374 416 1311T358 1149Z" />
+<glyph unicode="&apos;" horiz-adv-x="348" d="M226 1395L209 1090H119Q124 1386 124 1536H226V1395Z" />
+<glyph unicode="(" horiz-adv-x="653" d="M140 588Q140 806 196 1011T360 1387T592 1632L621 1551Q555 1504 490 1414T374 1200T292 922T260 571Q260 362 307 169T438 -171T621 -393L592 -470Q465 -394 357 -225T195 148T140 588Z" />
+<glyph unicode=")" horiz-adv-x="667" d="M514 573Q514 353 460 150T298 -223T62 -470L33 -393Q131 -323 214 -176T346 166T394 591Q394 798 346 990T214 1334T33 1555L62 1632Q188 1555 295 1386T458 1011T514 573Z" />
+<glyph unicode="*" horiz-adv-x="869" d="M361 1000L29 1108L61 1209L393 1086L389 1456H493L485 1083L809 1210L842 1109L509 994L732 700L647 637L433 942L229 639L144 700L361 1000Z" />
+<glyph unicode="+" horiz-adv-x="1156" d="M630 740H1073V628H630V146H509V628H75V740H509V1206H630V740Z" />
+<glyph unicode="," horiz-adv-x="392" d="M131 -272L60 -220Q151 -98 154 33V188H271V63Q271 -145 131 -272Z" />
+<glyph unicode="-" horiz-adv-x="586" d="M528 592H49V693H528V592Z" />
+<glyph unicode="." horiz-adv-x="489" d="M145 72Q145 107 167 131T230 156T293 132T316 72T293 15T230 -8T168 14T145 72Z" />
+<glyph unicode="/" horiz-adv-x="813" d="M139 -125H30L638 1456H746L139 -125Z" />
+<glyph unicode="0" horiz-adv-x="1135" d="M1015 607Q1015 299 902 140T569 -20Q353 -20 238 136T120 592V853Q120 1160 234 1318T567 1476Q783 1476 897 1324T1015 874V607ZM895 868Q895 1118 814 1246T567 1374Q405 1374 323 1249T239 880V594Q239 345 323 213T569
+81Q729 81 811 210T895 588V868Z" />
+<glyph unicode="1" horiz-adv-x="1135" d="M694 0H574V1312L178 1165V1277L674 1461H694V0Z" />
+<glyph unicode="2" horiz-adv-x="1135" d="M1049 0H137V92L636 658Q760 801 808 894T856 1075Q856 1213 775 1293T552 1374Q405 1374 315 1280T224 1036H105Q105 1159 160 1260T318 1418T552 1476Q752 1476 864 1371T977 1085Q977 983 914 862T690 560L284 101H1049V0Z" />
+<glyph unicode="3" horiz-adv-x="1135" d="M403 793H527Q630 793 707 829T824 929T865 1076Q865 1216 786 1295T559 1374Q419 1374 330 1292T240 1074H120Q120 1187 177 1280T335 1425T559 1476Q757 1476 871 1368T985 1072Q985 967 919 879T736 746Q872 708 942
+616T1012 395Q1012 208 890 94T564 -20Q434 -20 326 32T158 177T98 395H218Q218 256 315 169T564 81Q719 81 805 160T892 391Q892 537 799 614T523 691H403V793Z" />
+<glyph unicode="4" horiz-adv-x="1135" d="M872 469H1099V368H872V0H752V368H67V436L741 1456H872V469ZM214 469H752V1301L699 1209L214 469Z" />
+<glyph unicode="5" horiz-adv-x="1135" d="M218 746L289 1456H1017V1345H392L341 853Q458 933 615 933Q812 933 929 805T1046 464Q1046 234 932 107T611 -20Q421 -20 303 86T168 383H283Q300 234 384 158T611 81Q767 81 846 180T926 462Q926 622 837 723T594 824Q509
+824 446 803T313 719L218 746Z" />
+<glyph unicode="6" horiz-adv-x="1135" d="M843 1467V1362H829Q568 1362 418 1209T252 782Q312 865 405 910T613 956Q805 956 918 824T1032 477Q1032 335 979 221T827 44T601 -20Q392 -20 261 131T130 523V643Q130 1034 308 1248T813 1467H843ZM594 853Q480 853
+382 786T250 614V512Q250 322 347 202T601 82Q741 82 827 193T914 473Q914 645 828 749T594 853Z" />
+<glyph unicode="7" horiz-adv-x="1135" d="M1034 1387L412 0H287L905 1354H77V1456H1034V1387Z" />
+<glyph unicode="8" horiz-adv-x="1135" d="M995 1081Q995 968 929 879T755 747Q881 704 957 608T1033 386Q1033 199 906 90T570 -20Q359 -20 233 89T106 386Q106 510 179 607T379 747Q271 789 207 878T143 1081Q143 1262 259 1369T568 1476T877 1368T995 1081ZM913
+385Q913 521 816 608T568 696T321 610T225 385T318 164T570 81Q725 81 819 163T913 385ZM875 1082Q875 1207 789 1290T568 1374Q432 1374 348 1294T263 1082Q263 954 347 876T569 798Q704 798 789 876T875 1082Z" />
+<glyph unicode="9" horiz-adv-x="1135" d="M884 674Q820 580 725 529T519 477Q395 477 300 541T153 718T101 965Q101 1109 156 1227T311 1410T541 1476Q760 1476 882 1323T1004 887V779Q1004 385 836 187T323 -11H301L302 93H344Q605 97 741 241T884 674ZM534
+580Q654 580 749 651T885 837V906Q885 1128 793 1250T543 1373Q401 1373 310 1259T219 970Q219 803 306 692T534 580Z" />
+<glyph unicode=":" horiz-adv-x="430" d="M383 72Q383 107 405 131T468 156T531 132T554 72T531 15T468 -8T406 14T383 72ZM129 995Q129 1030 151 1054T214 1079T277 1055T300 995T277 938T214 915T152 937T129 995Z" />
+<glyph unicode=";" horiz-adv-x="399" d="M118 995Q118 1030 140 1054T203 1079T266 1055T289 995T266 938T203 915T141 937T118 995ZM131 -272L60 -220Q151 -98 154 33V188H271V63Q271 -145 131 -272Z" />
+<glyph unicode="&lt;" horiz-adv-x="1047" d="M208 655L904 355V229L77 608V705L904 1083V957L208 655Z" />
+<glyph unicode="=" horiz-adv-x="1133" d="M983 829H149V935H983V829ZM983 418H149V524H983V418Z" />
+<glyph unicode="&gt;" horiz-adv-x="1061" d="M835 659L124 962V1085L969 707V610L124 231V355L835 659Z" />
+<glyph unicode="?" horiz-adv-x="930" d="M376 404Q378 522 408 594T537 763T664 901T708 990T724 1101Q724 1226 658 1297T472 1369Q352 1369 279 1301T203 1115H84Q86 1279 195 1377T472 1476Q644 1476 743 1376T843 1103Q843 995 794 901T608 680Q495 585 495
+404H376ZM360 70Q360 104 381 127T442 151Q480 151 502 128T525 70Q525 37 503 15T442 -8Q403 -8 382 14T360 70Z" />
+<glyph unicode="@" horiz-adv-x="1870" d="M1754 513Q1749 366 1700 241T1565 48T1364 -20Q1267 -20 1206 31T1125 174Q1017 -20 827 -20Q687 -20 618 101T567 427Q582 590 641 717T796 916T1001 988Q1078 988 1136 967T1271 880L1220 310Q1210 194 1249 130T1376
+66Q1499 66 1575 186T1661 513Q1680 918 1507 1122T983 1327Q772 1327 603 1222T335 923T225 478T291 35T528 -260T906 -363Q998 -363 1087 -341T1236 -284L1267 -364Q1210 -402 1108 -427T902 -453Q652 -453 472 -341T203 -17T125 478Q137 756 247 970T550 1302T987
+1420Q1242 1420 1419 1314T1681 1002T1754 513ZM673 286Q684 186 729 132T848 77Q1033 77 1121 332L1166 848Q1099 897 1008 897Q897 897 816 809T696 565T673 286Z" />
+<glyph unicode="A" horiz-adv-x="1279" d="M970 408H309L159 0H30L581 1456H698L1249 0H1121L970 408ZM347 513H931L639 1306L347 513Z" />
+<glyph unicode="B" horiz-adv-x="1255" d="M184 0V1456H614Q848 1456 969 1360T1090 1075Q1090 962 1029 879T860 759Q987 731 1064 634T1142 410Q1142 217 1018 109T671 0H184ZM307 700V104H676Q834 104 926 184T1019 408Q1019 543 931 621T686 700H307ZM307
+803H643Q797 806 881 875T966 1078Q966 1218 879 1284T614 1351H307V803Z" />
+<glyph unicode="C" horiz-adv-x="1330" d="M1215 454Q1190 224 1051 102T679 -20Q517 -20 393 61T200 290T131 630V819Q131 1013 199 1163T394 1394T688 1476Q922 1476 1057 1350T1215 1000H1091Q1045 1371 688 1371Q490 1371 373 1223T255 814V636Q255 384 369
+234T679 84Q872 84 970 176T1091 454H1215Z" />
+<glyph unicode="D" horiz-adv-x="1341" d="M184 0V1456H591Q770 1456 912 1375T1133 1141T1213 795V661Q1213 466 1134 315T912 82T582 0H184ZM307 1351V104H583Q813 104 952 256T1091 669V797Q1091 1048 954 1199T593 1351H307Z" />
+<glyph unicode="E" horiz-adv-x="1165" d="M988 698H307V104H1090V0H184V1456H1085V1351H307V802H988V698Z" />
+<glyph unicode="F" horiz-adv-x="1152" d="M986 680H307V0H184V1456H1086V1351H307V785H986V680Z" />
+<glyph unicode="G" horiz-adv-x="1400" d="M1235 173Q1171 82 1035 31T729 -20Q558 -20 425 62T219 294T145 638V822Q145 1125 298 1300T709 1476Q934 1476 1071 1362T1234 1046H1111Q1084 1206 981 1288T710 1371Q506 1371 387 1226T268 817V645Q268 479 324
+352T486 154T729 84Q888 84 1002 134Q1076 167 1112 211V587H721V691H1235V173Z" />
+<glyph unicode="H" horiz-adv-x="1449" d="M1263 0H1139V698H307V0H184V1456H307V802H1139V1456H1263V0Z" />
+<glyph unicode="I" horiz-adv-x="545" d="M334 0H211V1456H334V0Z" />
+<glyph unicode="J" horiz-adv-x="1127" d="M827 1456H951V433Q951 226 832 103T511 -20Q299 -20 185 91T71 401H194Q194 243 277 164T511 84Q650 84 737 176T827 426V1456Z" />
+<glyph unicode="K" horiz-adv-x="1292" d="M512 723L307 521V0H184V1456H307V671L1053 1456H1208L598 808L1255 0H1105L512 723Z" />
+<glyph unicode="L" horiz-adv-x="1079" d="M308 104H1027V0H184V1456H308V104Z" />
+<glyph unicode="M" horiz-adv-x="1772" d="M347 1456L884 171L1423 1456H1587V0H1464V634L1474 1284L932 0H837L297 1279L307 638V0H184V1456H347Z" />
+<glyph unicode="N" horiz-adv-x="1454" d="M1268 0H1145L308 1246V0H184V1456H308L1146 209V1456H1268V0Z" />
+<glyph unicode="O" horiz-adv-x="1386" d="M1260 649Q1260 448 1191 296T992 62T694 -20Q439 -20 282 162T125 655V805Q125 1004 195 1157T395 1393T692 1476T988 1395T1187 1166T1260 823V649ZM1137 807Q1137 1070 1018 1219T692 1368Q489 1368 369 1219T248
+801V649Q248 390 368 239T694 87Q903 87 1020 236T1137 653V807Z" />
+<glyph unicode="P" horiz-adv-x="1261" d="M307 593V0H184V1456H680Q907 1456 1038 1340T1170 1021Q1170 816 1044 705T677 593H307ZM307 697H680Q859 697 953 782T1047 1019Q1047 1170 954 1259T688 1351H307V697Z" />
+<glyph unicode="Q" horiz-adv-x="1386" d="M1256 649Q1256 441 1183 287T973 53L1238 -178L1153 -254L856 3Q774 -20 689 -20Q523 -20 394 62T193 294T121 642V805Q121 1004 191 1157T391 1393T687 1476Q857 1476 986 1394T1185 1159T1256 806V649ZM1133 807Q1133
+1070 1014 1219T687 1368Q485 1368 365 1219T244 801V649Q244 390 363 239T689 87Q897 87 1015 236T1133 652V807Z" />
+<glyph unicode="R" horiz-adv-x="1300" d="M728 606H305V0H181V1456H654Q887 1456 1018 1343T1149 1027Q1149 887 1067 780T847 632L1211 13V0H1080L728 606ZM305 711H682Q837 711 931 799T1025 1027Q1025 1181 927 1266T652 1351H305V711Z" />
+<glyph unicode="S" horiz-adv-x="1213" d="M1008 358Q1008 479 923 549T612 683T282 822Q134 928 134 1100Q134 1267 271 1371T623 1476Q768 1476 882 1420T1060 1264T1123 1041H999Q999 1190 897 1280T623 1371Q456 1371 357 1297T258 1102Q258 991 347 921T632
+798T929 687T1081 549T1132 360Q1132 188 995 84T632 -20Q478 -20 350 35T155 189T88 416H211Q211 262 326 173T632 84Q802 84 905 159T1008 358Z" />
+<glyph unicode="T" horiz-adv-x="1223" d="M1172 1351H673V0H550V1351H52V1456H1172V1351Z" />
+<glyph unicode="U" horiz-adv-x="1346" d="M1187 1456V462Q1186 315 1122 206T942 39T674 -20Q444 -20 306 105T162 453V1456H284V471Q284 287 389 186T674 84T958 186T1063 470V1456H1187Z" />
+<glyph unicode="V" horiz-adv-x="1263" d="M623 180L631 149L640 180L1098 1456H1233L691 0H573L31 1456H165L623 180Z" />
+<glyph unicode="W" horiz-adv-x="1836" d="M453 393L498 167L553 383L869 1456H980L1292 383L1346 165L1394 393L1657 1456H1783L1410 0H1292L962 1139L925 1283L889 1139L551 0H433L61 1456H187L453 393Z" />
+<glyph unicode="X" horiz-adv-x="1253" d="M627 840L1037 1456H1184L702 738L1199 0H1051L627 636L201 0H55L553 738L70 1456H217L627 840Z" />
+<glyph unicode="Y" horiz-adv-x="1226" d="M611 662L1056 1456H1198L672 548V0H549V548L24 1456H170L611 662Z" />
+<glyph unicode="Z" horiz-adv-x="1225" d="M239 104H1138V0H90V93L954 1351H116V1456H1106V1368L239 104Z" />
+<glyph unicode="[" horiz-adv-x="491" d="M493 1562H283V-210H493V-312H163V1664H493V1562Z" />
+<glyph unicode="\" horiz-adv-x="807" d="M48 1456H165L773 -125H656L48 1456Z" />
+<glyph unicode="]" horiz-adv-x="491" d="M0 1664H331V-312H0V-210H211V1562H0V1664Z" />
+<glyph unicode="^" horiz-adv-x="852" d="M421 1298L193 729H77L376 1456H466L764 729H648L421 1298Z" />
+<glyph unicode="_" horiz-adv-x="884" d="M882 -101H1V0H882V-101Z" />
+<glyph unicode="`" horiz-adv-x="585" d="M438 1245H329L103 1524H247L438 1245Z" />
+<glyph unicode="a" horiz-adv-x="1097" d="M839 0Q821 51 816 151Q753 69 656 25T449 -20Q293 -20 197 67T100 287Q100 445 231 537T598 629H815V752Q815 868 744 934T535 1001Q410 1001 328 937T246 783L126 784Q126 913 246 1007T541 1102Q722 1102 826 1012T934
+759V247Q934 90 967 12V0H839ZM463 86Q583 86 677 144T815 299V537H601Q422 535 321 472T220 297Q220 206 287 146T463 86Z" />
+<glyph unicode="b" horiz-adv-x="1135" d="M1027 530Q1027 277 915 129T614 -20Q388 -20 272 148L267 0H155V1536H274V925Q388 1102 612 1102Q804 1102 915 956T1027 548V530ZM907 551Q907 765 824 881T590 998Q475 998 395 942T274 776V288Q364 84 592 84Q740
+84 823 201T907 551Z" />
+<glyph unicode="c" horiz-adv-x="1055" d="M556 81Q681 81 765 151T857 334H972Q967 235 910 154T759 26T556 -20Q343 -20 219 128T94 526V562Q94 722 150 845T310 1035T555 1102Q733 1102 848 996T972 717H857Q849 844 766 922T555 1000Q393 1000 304 883T214
+555V520Q214 313 303 197T556 81Z" />
+<glyph unicode="d" horiz-adv-x="1138" d="M108 551Q108 803 220 952T526 1102Q745 1102 860 929V1536H979V0H867L862 144Q747 -20 524 -20Q337 -20 223 130T108 537V551ZM229 530Q229 323 312 204T546 84Q767 84 860 279V787Q767 998 548 998Q397 998 313 880T229 530Z" />
+<glyph unicode="e" horiz-adv-x="1058" d="M575 -20Q437 -20 326 48T152 237T90 510V553Q90 709 150 834T319 1030T553 1102Q750 1102 865 968T981 600V533H209V510Q209 326 314 204T580 81Q676 81 749 116T883 228L958 171Q826 -20 575 -20ZM553 1000Q418 1000
+326 901T213 635H862V648Q857 804 773 902T553 1000Z" />
+<glyph unicode="f" horiz-adv-x="678" d="M242 0V984H63V1082H242V1213Q242 1379 326 1468T562 1557Q630 1557 689 1540L680 1440Q630 1452 571 1452Q472 1452 417 1391T362 1216V1082H620V984H362V0H242Z" />
+<glyph unicode="g" horiz-adv-x="1136" d="M108 551Q108 805 220 953T526 1102Q747 1102 862 926L868 1082H980V22Q980 -187 863 -309T546 -431Q433 -431 331 -381T169 -246L236 -174Q363 -330 538 -330Q688 -330 772 -242T859 4V140Q744 -20 524 -20Q336 -20
+222 130T108 535V551ZM229 530Q229 323 312 204T546 84Q767 84 859 282V785Q817 889 738 943T548 998Q397 998 313 880T229 530Z" />
+<glyph unicode="h" horiz-adv-x="1124" d="M275 899Q334 996 426 1049T627 1102Q801 1102 886 1004T972 710V0H853V711Q852 856 792 927T598 998Q487 998 402 929T275 741V0H156V1536H275V899Z" />
+<glyph unicode="i" horiz-adv-x="459" d="M290 0H170V1082H290V0ZM149 1395Q149 1429 171 1452T231 1476T291 1453T314 1395T292 1338T231 1315T171 1338T149 1395Z" />
+<glyph unicode="j" horiz-adv-x="467" d="M285 1082V-129Q285 -279 213 -358T1 -437Q-53 -437 -104 -418L-102 -319Q-58 -332 -12 -332Q166 -332 166 -127V1082H285ZM226 1476Q265 1476 287 1453T309 1395T287 1338T226 1315Q188 1315 167 1338T145 1395T166 1452T226
+1476Z" />
+<glyph unicode="k" horiz-adv-x="1003" d="M413 545L276 413V0H156V1536H276V553L389 675L803 1082H954L495 626L994 0H851L413 545Z" />
+<glyph unicode="l" horiz-adv-x="459" d="M290 0H170V1536H290V0Z" />
+<glyph unicode="m" horiz-adv-x="1815" d="M265 1082L269 906Q329 1004 419 1053T619 1102Q875 1102 944 892Q1002 993 1099 1047T1313 1102Q1661 1102 1668 722V0H1548V713Q1547 858 1486 928T1285 998Q1156 996 1067 915T968 716V0H848V722Q847 861 783 929T584
+998Q471 998 390 934T270 742V0H150V1082H265Z" />
+<glyph unicode="n" horiz-adv-x="1125" d="M270 1082L274 897Q335 997 426 1049T627 1102Q801 1102 886 1004T972 710V0H853V711Q852 856 792 927T598 998Q487 998 402 929T275 741V0H156V1082H270Z" />
+<glyph unicode="o" horiz-adv-x="1147" d="M90 557Q90 713 150 838T321 1032T572 1102Q788 1102 922 951T1056 549V524Q1056 367 996 242T825 48T574 -20Q359 -20 225 131T90 533V557ZM210 524Q210 330 310 206T574 81Q736 81 836 205T937 534V557Q937 681 891
+784T762 943T572 1000Q412 1000 311 875T210 546V524Z" />
+<glyph unicode="p" horiz-adv-x="1135" d="M1026 530Q1026 277 914 129T614 -20Q392 -20 274 136V-416H155V1082H266L272 929Q389 1102 611 1102Q805 1102 915 955T1026 547V530ZM906 551Q906 758 821 878T584 998Q474 998 395 945T274 791V272Q317 179 397 130T586
+81Q737 81 821 201T906 551Z" />
+<glyph unicode="q" horiz-adv-x="1142" d="M108 551Q108 805 220 953T528 1102Q747 1102 861 935L867 1082H979V-416H859V134Q741 -20 526 -20Q336 -20 222 130T108 535V551ZM229 530Q229 320 313 201T548 81Q763 81 859 268V798Q814 895 735 947T550 1000Q399
+1000 314 881T229 530Z" />
+<glyph unicode="r" horiz-adv-x="689" d="M656 980Q618 987 575 987Q463 987 386 925T275 743V0H156V1082H273L275 910Q370 1102 580 1102Q630 1102 659 1089L656 980Z" />
+<glyph unicode="s" horiz-adv-x="1037" d="M804 275Q804 364 733 418T517 502T294 572T176 669T137 807Q137 935 244 1018T518 1102Q699 1102 808 1013T918 779H798Q798 874 719 937T518 1000Q400 1000 329 948T257 811Q257 730 316 686T533 604T769 525T886 424T924
+281Q924 144 814 62T525 -20Q336 -20 219 71T101 303H221Q228 198 309 140T525 81Q650 81 727 136T804 275Z" />
+<glyph unicode="t" horiz-adv-x="658" d="M342 1359V1082H566V984H342V263Q342 173 374 129T483 85Q513 85 580 95L585 -3Q538 -20 457 -20Q334 -20 278 51T222 262V984H23V1082H222V1359H342Z" />
+<glyph unicode="u" horiz-adv-x="1125" d="M852 137Q744 -20 507 -20Q334 -20 244 80T152 378V1082H271V393Q271 84 521 84Q781 84 850 299V1082H970V0H854L852 137Z" />
+<glyph unicode="v" horiz-adv-x="985" d="M493 165L822 1082H945L541 0H444L38 1082H161L493 165Z" />
+<glyph unicode="w" horiz-adv-x="1544" d="M415 249L433 156L457 254L717 1082H819L1076 261L1104 147L1127 252L1349 1082H1473L1158 0H1056L778 858L765 917L752 857L479 0H377L63 1082H186L415 249Z" />
+<glyph unicode="x" horiz-adv-x="996" d="M496 643L788 1082H930L563 551L946 0H805L497 458L189 0H48L430 551L63 1082H204L496 643Z" />
+<glyph unicode="y" horiz-adv-x="973" d="M499 172L815 1082H944L482 -184L458 -240Q369 -437 183 -437Q140 -437 91 -423L90 -324L152 -330Q240 -330 294 -287T387 -137L440 9L32 1082H163L499 172Z" />
+<glyph unicode="z" horiz-adv-x="996" d="M235 101H938V0H87V88L743 979H107V1082H894V993L235 101Z" />
+<glyph unicode="{" horiz-adv-x="676" d="M637 -404Q469 -354 384 -241T299 59V280Q299 543 68 543V647Q299 647 299 908V1137Q300 1320 384 1433T637 1597L663 1518Q419 1440 419 1127V914Q419 668 235 595Q419 518 419 277V49Q423 -243 666 -324L637 -404Z" />
+<glyph unicode="|" horiz-adv-x="452" d="M279 -270H178V1456H279V-270Z" />
+<glyph unicode="}" horiz-adv-x="676" d="M9 -324Q252 -243 256 49V273Q256 526 449 594Q256 662 256 913V1126Q256 1442 12 1518L38 1597Q209 1546 292 1432T376 1131V908Q376 647 607 647V543Q376 543 376 280V59Q376 -128 291 -241T38 -404L9 -324Z" />
+<glyph unicode="~" horiz-adv-x="1402" d="M1254 764Q1254 615 1171 519T958 423Q886 423 824 450T670 558T535 659T441 680Q352 680 303 621T253 450L145 449Q145 598 226 692T441 787Q515 787 581 756T740 643Q807 580 855 555T958 529Q1046 529 1098 592T1150
+764H1254Z" />
+<glyph unicode="&#xa0;" horiz-adv-x="498" />
+<glyph unicode="&#xa1;" horiz-adv-x="452" d="M174 690H285L292 -359H168L174 690ZM305 1022Q305 988 283 965T223 942T163 965T140 1022T162 1079T223 1102T283 1079T305 1022Z" />
+<glyph unicode="&#xa2;" horiz-adv-x="1115" d="M581 81Q704 81 788 150T882 334H997Q989 195 887 97T636 -17V-245H516V-16Q331 7 225 150T119 526V562Q119 784 224 929T516 1098V1318H636V1099Q791 1083 891 978T997 717H882Q874 844 791 922T580 1000Q418 1000
+329 883T239 555V520Q239 313 328 197T581 81Z" />
+<glyph unicode="&#xa3;" horiz-adv-x="1170" d="M404 645L413 368Q415 194 349 104H1094V0H97V104H195Q246 117 272 211Q292 285 290 367L281 645H93V749H277L268 1039Q268 1239 378 1357T674 1476Q856 1476 961 1371T1067 1088H944Q944 1223 869 1297T665 1371Q540
+1371 466 1283T392 1039L401 749H745V645H404Z" />
+<glyph unicode="&#xa4;" horiz-adv-x="1481" d="M1131 133Q1053 61 953 21T740 -20Q514 -20 349 132L194 -26L109 60L268 221Q144 389 144 608Q144 835 277 1006L109 1177L194 1264L361 1094Q526 1234 740 1234T1119 1092L1289 1265L1375 1177L1204 1002Q1334
+832 1334 608Q1334 393 1212 224L1375 60L1289 -27L1131 133ZM257 608Q257 470 321 350T499 161T740 91Q869 91 981 161T1157 350T1221 608Q1221 747 1156 866T979 1054T740 1122T500 1054T323 867T257 608Z" />
+<glyph unicode="&#xa5;" horiz-adv-x="1223" d="M607 734L1028 1456H1171L718 705H1085V616H667V412H1085V324H667V0H544V324H130V412H544V616H130V705H496L44 1456H187L607 734Z" />
+<glyph unicode="&#xa6;" horiz-adv-x="444" d="M159 -270V501H279V-270H159ZM279 698H159V1456H279V698Z" />
+<glyph unicode="&#xa7;" horiz-adv-x="1239" d="M1119 431Q1119 331 1058 262T887 159Q978 111 1026 41T1075 -139Q1075 -303 949 -399T606 -495Q497 -495 401 -467T236 -382Q102 -268 102 -64L222 -62Q222 -218 325 -305T606 -393Q766 -393 860 -324T954 -141Q954
+-64 920 -17T805 69T548 156T284 255T153 378T108 551Q108 651 166 721T331 825Q245 872 199 942T153 1120Q153 1281 282 1378T624 1476Q848 1476 972 1363T1097 1045H977Q977 1191 881 1282T624 1374Q459 1374 366 1306T273 1122Q273 1043 304 996T411 911T646
+828Q842 777 936 726T1075 603T1119 431ZM454 771Q346 758 287 700T228 553Q228 470 263 422T379 336T663 242L755 214Q867 227 933 284T999 428Q999 526 932 585T692 700L454 771Z" />
+<glyph unicode="&#xa8;" horiz-adv-x="881" d="M143 1396Q143 1430 164 1453T225 1477Q263 1477 285 1454T308 1396Q308 1363 286 1340T225 1317Q186 1317 165 1340T143 1396ZM580 1395Q580 1429 602 1452T662 1476Q701 1476 723 1453T745 1395Q745 1362 723 1339T662
+1316Q624 1316 602 1339T580 1395Z" />
+<glyph unicode="&#xa9;" horiz-adv-x="1637" d="M1121 607Q1121 455 1039 374T807 293T566 399T474 686V776Q474 950 566 1056T807 1163T1039 1083T1122 850H1023Q1023 1074 807 1074Q701 1074 637 993T573 771V680Q573 546 636 465T807 383Q913 383 967 436T1022
+607H1121ZM192 729Q192 553 273 399T502 155T817 65Q984 65 1129 154T1357 396T1441 729Q1441 907 1358 1059T1130 1300T817 1389Q646 1389 499 1298T272 1055T192 729ZM107 729Q107 931 200 1104T459 1376T817 1476T1174 1377T1432 1104T1526 729Q1526 532 1436
+360T1181 84T817 -21Q620 -21 455 82T198 358T107 729Z" />
+<glyph unicode="&#xaa;" horiz-adv-x="906" d="M649 705Q634 748 628 799Q541 691 406 691Q289 691 223 749T157 908Q157 1018 240 1079T486 1140H625V1201Q625 1286 585 1333T464 1380Q374 1380 323 1345T271 1237L164 1243Q164 1345 247 1410T464 1476Q588 1476
+661 1405T734 1199V884Q734 792 760 705H649ZM426 786Q479 786 536 816T625 890V1058H496Q266 1058 266 912Q266 786 426 786Z" />
+<glyph unicode="&#xab;" horiz-adv-x="933" d="M247 792L523 404H418L123 783V802L418 1181H523L247 792ZM556 536L832 148H727L432 527V546L727 925H832L556 536Z" />
+<glyph unicode="&#xac;" horiz-adv-x="1117" d="M936 386H816V670H124V776H936V386Z" />
+<glyph unicode="&#xad;" horiz-adv-x="586" d="M528 592H49V693H528V592Z" />
+<glyph unicode="&#xae;" horiz-adv-x="1642" d="M102 729Q102 931 195 1104T454 1376T812 1476T1169 1377T1428 1104T1522 729Q1522 530 1431 358T1175 83T812 -21T450 82T193 358T102 729ZM187 729Q187 550 270 396T499 154T812 65T1125 153T1353 396T1436 729Q1436
+905 1355 1057T1129 1299T812 1389Q644 1389 499 1301T270 1060T187 729ZM650 666V321H552V1160H810Q957 1160 1036 1099T1115 912Q1115 779 974 715Q1046 689 1074 635T1102 504T1106 394T1119 337V321H1017Q1003 357 1003 503Q1003 592 966 629T838 666H650ZM650
+757H831Q912 757 964 799T1017 910Q1017 995 974 1031T824 1070H650V757Z" />
+<glyph unicode="&#xaf;" horiz-adv-x="874" d="M776 1359H106V1456H776V1359Z" />
+<glyph unicode="&#xb0;" horiz-adv-x="774" d="M630 1226Q630 1122 559 1051T388 980Q287 980 215 1051T143 1226T216 1402T388 1476T558 1403T630 1226ZM233 1226Q233 1159 277 1115T388 1071T497 1115T540 1226Q540 1295 497 1340T388 1385Q323 1385 278 1340T233
+1226Z" />
+<glyph unicode="&#xb1;" horiz-adv-x="1085" d="M609 829H1000V727H609V289H498V727H84V829H498V1267H609V829ZM963 0H128V101H963V0Z" />
+<glyph unicode="&#xb2;" horiz-adv-x="740" d="M667 665H96V740L416 1054Q522 1164 522 1237Q522 1300 482 1338T362 1377Q275 1377 228 1333T181 1215H76Q76 1323 155 1394T360 1465T557 1403T628 1239Q628 1138 510 1016L455 961L229 752H667V665Z" />
+<glyph unicode="&#xb3;" horiz-adv-x="740" d="M267 1107H353Q434 1109 481 1145T529 1241Q529 1303 486 1340T362 1377Q286 1377 238 1340T190 1245H85Q85 1341 163 1403T361 1465Q489 1465 562 1405T635 1243Q635 1187 597 1140T489 1069Q651 1027 651 880Q651
+778 572 716T363 654Q234 654 153 717T71 884H177Q177 822 229 782T366 741Q453 741 499 779T546 883Q546 1025 340 1025H267V1107Z" />
+<glyph unicode="&#xb4;" horiz-adv-x="576" d="M315 1524H460L229 1245H124L315 1524Z" />
+<glyph unicode="&#xb5;" horiz-adv-x="1140" d="M281 1082V446Q281 266 344 174T544 81Q676 81 753 138T859 312V1082H979V0H870L863 154Q765 -20 552 -20Q368 -20 281 105V-416H162V1082H281Z" />
+<glyph unicode="&#xb6;" horiz-adv-x="973" d="M681 0V520H573Q423 520 312 578T142 742T83 988Q83 1201 216 1328T577 1456H801V0H681Z" />
+<glyph unicode="&#xb7;" horiz-adv-x="503" d="M163 717Q163 752 185 776T247 800T310 776T333 717T310 659T247 635T185 658T163 717Z" />
+<glyph unicode="&#xb8;" horiz-adv-x="498" d="M246 0L234 -64Q399 -85 399 -235Q399 -327 320 -381T105 -435L98 -357Q187 -357 243 -325T300 -237Q300 -179 257 -157T124 -127L153 0H246Z" />
+<glyph unicode="&#xb9;" horiz-adv-x="740" d="M464 669H358V1332L126 1262V1352L450 1459H464V669Z" />
+<glyph unicode="&#xba;" horiz-adv-x="922" d="M135 1132Q135 1285 223 1380T458 1476Q605 1476 693 1381T782 1127V1033Q782 880 694 785T460 690Q313 690 224 784T135 1038V1132ZM243 1033Q243 919 299 852T460 785Q559 785 616 851T674 1037V1132Q674 1247
+616 1313T458 1380T301 1312T243 1127V1033Z" />
+<glyph unicode="&#xbb;" horiz-adv-x="928" d="M221 944L516 560V541L221 162H115L391 550L115 944H221ZM540 944L835 560V541L540 162H434L710 550L434 944H540Z" />
+<glyph unicode="&#xbc;" horiz-adv-x="1484" d="M453 664H347V1327L115 1257V1347L439 1454H453V664ZM414 129L340 177L1051 1315L1125 1267L414 129ZM1272 275H1399V187H1272V0H1167V187H768L764 253L1161 789H1272V275ZM878 275H1167V659L1136 609L878 275Z" />
+<glyph unicode="&#xbd;" horiz-adv-x="1548" d="M370 129L296 177L1007 1315L1081 1267L370 129ZM438 664H332V1327L100 1257V1347L424 1454H438V664ZM1436 0H865V75L1185 389Q1291 499 1291 572Q1291 635 1251 673T1131 712Q1044 712 997 668T950 550H845Q845
+658 924 729T1129 800T1326 738T1397 574Q1397 473 1279 351L1224 296L998 87H1436V0Z" />
+<glyph unicode="&#xbe;" horiz-adv-x="1590" d="M558 129L484 177L1195 1315L1269 1267L558 129ZM1387 275H1514V187H1387V0H1282V187H883L879 253L1276 789H1387V275ZM993 275H1282V659L1251 609L993 275ZM314 1107H400Q481 1109 528 1145T576 1241Q576 1303
+533 1340T409 1377Q333 1377 285 1340T237 1245H132Q132 1341 210 1403T408 1465Q536 1465 609 1405T682 1243Q682 1187 644 1140T536 1069Q698 1027 698 880Q698 778 619 716T410 654Q281 654 200 717T118 884H224Q224 822 276 782T413 741Q500 741 546 779T593
+883Q593 1025 387 1025H314V1107Z" />
+<glyph unicode="&#xbf;" horiz-adv-x="940" d="M551 687Q549 564 524 505T405 352T288 228Q207 123 207 -8Q207 -137 274 -207T469 -277Q588 -277 659 -207T732 -20H852Q850 -186 745 -284T469 -383Q291 -383 190 -283T88 -10Q88 101 141 202T337 438Q422 509
+429 618L431 687H551ZM567 1022Q567 988 545 965T485 941T425 964T402 1022Q402 1055 424 1078T485 1101T545 1078T567 1022Z" />
+<glyph unicode="&#xc0;" horiz-adv-x="1279" d="M970 408H309L159 0H30L581 1456H698L1249 0H1121L970 408ZM347 513H931L639 1306L347 513ZM716 1560H607L381 1839H525L716 1560Z" />
+<glyph unicode="&#xc1;" horiz-adv-x="1279" d="M970 408H309L159 0H30L581 1456H698L1249 0H1121L970 408ZM347 513H931L639 1306L347 513ZM762 1839H907L676 1560H571L762 1839Z" />
+<glyph unicode="&#xc2;" horiz-adv-x="1279" d="M970 408H309L159 0H30L581 1456H698L1249 0H1121L970 408ZM347 513H931L639 1306L347 513ZM921 1583V1573H810L642 1756L475 1573H366V1586L604 1841H680L921 1583Z" />
+<glyph unicode="&#xc3;" horiz-adv-x="1279" d="M970 408H309L159 0H30L581 1456H698L1249 0H1121L970 408ZM347 513H931L639 1306L347 513ZM983 1809Q983 1713 927 1655T788 1596Q712 1596 640 1651T510 1706Q463 1706 432 1675T400 1588L310 1591Q310 1683 364
+1743T505 1803Q553 1803 587 1786T651 1748T711 1710T783 1693Q829 1693 861 1726T894 1815L983 1809Z" />
+<glyph unicode="&#xc4;" horiz-adv-x="1279" d="M970 408H309L159 0H30L581 1456H698L1249 0H1121L970 408ZM347 513H931L639 1306L347 513ZM349 1711Q349 1745 370 1768T431 1792Q469 1792 491 1769T514 1711Q514 1678 492 1655T431 1632Q392 1632 371 1655T349
+1711ZM786 1710Q786 1744 808 1767T868 1791Q907 1791 929 1768T951 1710Q951 1677 929 1654T868 1631Q830 1631 808 1654T786 1710Z" />
+<glyph unicode="&#xc5;" horiz-adv-x="1279" d="M970 408H309L159 0H30L581 1456H698L1249 0H1121L970 408ZM347 513H931L639 1306L347 513ZM450 1715Q450 1795 506 1850T643 1905Q722 1905 779 1850T836 1715Q836 1636 781 1582T643 1528T505 1582T450 1715ZM527
+1715Q527 1665 560 1632T643 1599Q692 1599 726 1631T760 1715Q760 1768 725 1801T643 1834Q594 1834 561 1800T527 1715Z" />
+<glyph unicode="&#xc6;" horiz-adv-x="1865" d="M1823 0H1006L989 389H393L163 0H17L898 1456H1762V1354H1068L1091 809H1680V707H1095L1121 101H1823V0ZM460 502H985L950 1331L460 502Z" />
+<glyph unicode="&#xc7;" horiz-adv-x="1330" d="M1215 454Q1190 224 1051 102T679 -20Q517 -20 393 61T200 290T131 630V819Q131 1013 199 1163T394 1394T688 1476Q922 1476 1057 1350T1215 1000H1091Q1045 1371 688 1371Q490 1371 373 1223T255 814V636Q255 384
+369 234T679 84Q872 84 970 176T1091 454H1215ZM728 -9L716 -73Q881 -94 881 -244Q881 -336 802 -390T587 -444L580 -366Q669 -366 725 -334T782 -246Q782 -188 739 -166T606 -136L635 -9H728Z" />
+<glyph unicode="&#xc8;" horiz-adv-x="1165" d="M988 698H307V104H1090V0H184V1456H1085V1351H307V802H988V698ZM693 1566H584L358 1845H502L693 1566Z" />
+<glyph unicode="&#xc9;" horiz-adv-x="1165" d="M988 698H307V104H1090V0H184V1456H1085V1351H307V802H988V698ZM739 1845H884L653 1566H548L739 1845Z" />
+<glyph unicode="&#xca;" horiz-adv-x="1165" d="M988 698H307V104H1090V0H184V1456H1085V1351H307V802H988V698ZM898 1589V1579H787L619 1762L452 1579H343V1592L581 1847H657L898 1589Z" />
+<glyph unicode="&#xcb;" horiz-adv-x="1165" d="M988 698H307V104H1090V0H184V1456H1085V1351H307V802H988V698ZM326 1717Q326 1751 347 1774T408 1798Q446 1798 468 1775T491 1717Q491 1684 469 1661T408 1638Q369 1638 348 1661T326 1717ZM763 1716Q763 1750
+785 1773T845 1797Q884 1797 906 1774T928 1716Q928 1683 906 1660T845 1637Q807 1637 785 1660T763 1716Z" />
+<glyph unicode="&#xcc;" horiz-adv-x="545" d="M334 0H211V1456H334V0ZM348 1566H239L13 1845H157L348 1566Z" />
+<glyph unicode="&#xcd;" horiz-adv-x="545" d="M334 0H211V1456H334V0ZM393 1845H538L307 1566H202L393 1845Z" />
+<glyph unicode="&#xce;" horiz-adv-x="545" d="M334 0H211V1456H334V0ZM553 1589V1579H442L274 1762L107 1579H-2V1592L236 1847H312L553 1589Z" />
+<glyph unicode="&#xcf;" horiz-adv-x="545" d="M334 0H211V1456H334V0ZM-19 1717Q-19 1751 2 1774T63 1798Q101 1798 123 1775T146 1717Q146 1684 124 1661T63 1638Q24 1638 3 1661T-19 1717ZM418 1716Q418 1750 440 1773T500 1797Q539 1797 561 1774T583 1716Q583
+1683 561 1660T500 1637Q462 1637 440 1660T418 1716Z" />
+<glyph unicode="&#xd0;" horiz-adv-x="1371" d="M214 0V689H33V791H214V1456H621Q800 1456 942 1375T1163 1141T1243 795V661Q1243 466 1164 315T942 82T612 0H214ZM645 689H337V104H608Q843 104 982 256T1121 669V797Q1121 1048 984 1199T623 1351H337V791H645V689Z" />
+<glyph unicode="&#xd1;" horiz-adv-x="1454" d="M1268 0H1145L308 1246V0H184V1456H308L1146 209V1456H1268V0ZM1067 1809Q1067 1713 1011 1655T872 1596Q796 1596 724 1651T594 1706Q547 1706 516 1675T484 1588L394 1591Q394 1683 448 1743T589 1803Q637 1803
+671 1786T735 1748T795 1710T867 1693Q913 1693 945 1726T978 1815L1067 1809Z" />
+<glyph unicode="&#xd2;" horiz-adv-x="1386" d="M1260 649Q1260 448 1191 296T992 62T694 -20Q439 -20 282 162T125 655V805Q125 1004 195 1157T395 1393T692 1476T988 1395T1187 1166T1260 823V649ZM1137 807Q1137 1070 1018 1219T692 1368Q489 1368 369 1219T248
+801V649Q248 390 368 239T694 87Q903 87 1020 236T1137 653V807ZM765 1572H656L430 1851H574L765 1572Z" />
+<glyph unicode="&#xd3;" horiz-adv-x="1386" d="M1260 649Q1260 448 1191 296T992 62T694 -20Q439 -20 282 162T125 655V805Q125 1004 195 1157T395 1393T692 1476T988 1395T1187 1166T1260 823V649ZM1137 807Q1137 1070 1018 1219T692 1368Q489 1368 369 1219T248
+801V649Q248 390 368 239T694 87Q903 87 1020 236T1137 653V807ZM811 1851H956L725 1572H620L811 1851Z" />
+<glyph unicode="&#xd4;" horiz-adv-x="1386" d="M1260 649Q1260 448 1191 296T992 62T694 -20Q439 -20 282 162T125 655V805Q125 1004 195 1157T395 1393T692 1476T988 1395T1187 1166T1260 823V649ZM1137 807Q1137 1070 1018 1219T692 1368Q489 1368 369 1219T248
+801V649Q248 390 368 239T694 87Q903 87 1020 236T1137 653V807ZM970 1595V1585H859L691 1768L524 1585H415V1598L653 1853H729L970 1595Z" />
+<glyph unicode="&#xd5;" horiz-adv-x="1386" d="M1260 649Q1260 448 1191 296T992 62T694 -20Q439 -20 282 162T125 655V805Q125 1004 195 1157T395 1393T692 1476T988 1395T1187 1166T1260 823V649ZM1137 807Q1137 1070 1018 1219T692 1368Q489 1368 369 1219T248
+801V649Q248 390 368 239T694 87Q903 87 1020 236T1137 653V807ZM1032 1821Q1032 1725 976 1667T837 1608Q761 1608 689 1663T559 1718Q512 1718 481 1687T449 1600L359 1603Q359 1695 413 1755T554 1815Q602 1815 636 1798T700 1760T760 1722T832 1705Q878 1705
+910 1738T943 1827L1032 1821Z" />
+<glyph unicode="&#xd6;" horiz-adv-x="1386" d="M1260 649Q1260 448 1191 296T992 62T694 -20Q439 -20 282 162T125 655V805Q125 1004 195 1157T395 1393T692 1476T988 1395T1187 1166T1260 823V649ZM1137 807Q1137 1070 1018 1219T692 1368Q489 1368 369 1219T248
+801V649Q248 390 368 239T694 87Q903 87 1020 236T1137 653V807ZM398 1723Q398 1757 419 1780T480 1804Q518 1804 540 1781T563 1723Q563 1690 541 1667T480 1644Q441 1644 420 1667T398 1723ZM835 1722Q835 1756 857 1779T917 1803Q956 1803 978 1780T1000 1722Q1000
+1689 978 1666T917 1643Q879 1643 857 1666T835 1722Z" />
+<glyph unicode="&#xd7;" horiz-adv-x="1072" d="M93 179L451 544L108 894L187 974L529 624L872 974L951 894L608 544L966 179L887 100L529 464L172 100L93 179Z" />
+<glyph unicode="&#xd8;" horiz-adv-x="1386" d="M1260 649Q1260 448 1191 296T992 62T694 -20Q508 -20 375 77L274 -83H170L307 134Q125 318 125 658V805Q125 1004 195 1157T395 1393T692 1476Q916 1476 1064 1336L1171 1505H1274L1125 1268Q1259 1088 1260 807V649ZM248
+649Q248 388 370 235L1002 1237Q883 1368 692 1368Q489 1368 369 1219T248 801V649ZM1137 807Q1137 1018 1057 1160L434 171Q541 87 694 87Q903 87 1020 236T1137 653V807Z" />
+<glyph unicode="&#xd9;" horiz-adv-x="1346" d="M1187 1456V462Q1186 315 1122 206T942 39T674 -20Q444 -20 306 105T162 453V1456H284V471Q284 287 389 186T674 84T958 186T1063 470V1456H1187ZM756 1560H647L421 1839H565L756 1560Z" />
+<glyph unicode="&#xda;" horiz-adv-x="1346" d="M1187 1456V462Q1186 315 1122 206T942 39T674 -20Q444 -20 306 105T162 453V1456H284V471Q284 287 389 186T674 84T958 186T1063 470V1456H1187ZM802 1839H947L716 1560H611L802 1839Z" />
+<glyph unicode="&#xdb;" horiz-adv-x="1346" d="M1187 1456V462Q1186 315 1122 206T942 39T674 -20Q444 -20 306 105T162 453V1456H284V471Q284 287 389 186T674 84T958 186T1063 470V1456H1187ZM961 1583V1573H850L682 1756L515 1573H406V1586L644 1841H720L961 1583Z" />
+<glyph unicode="&#xdc;" horiz-adv-x="1346" d="M1187 1456V462Q1186 315 1122 206T942 39T674 -20Q444 -20 306 105T162 453V1456H284V471Q284 287 389 186T674 84T958 186T1063 470V1456H1187ZM389 1711Q389 1745 410 1768T471 1792Q509 1792 531 1769T554 1711Q554
+1678 532 1655T471 1632Q432 1632 411 1655T389 1711ZM826 1710Q826 1744 848 1767T908 1791Q947 1791 969 1768T991 1710Q991 1677 969 1654T908 1631Q870 1631 848 1654T826 1710Z" />
+<glyph unicode="&#xdd;" horiz-adv-x="1226" d="M611 662L1056 1456H1198L672 548V0H549V548L24 1456H170L611 662ZM732 1833H877L646 1554H541L732 1833Z" />
+<glyph unicode="&#xde;" horiz-adv-x="1214" d="M303 1456V1152H628Q771 1152 877 1101T1039 956T1096 738Q1096 553 974 441T641 324H303V0H183V1456H303ZM303 1051V425H627Q784 425 880 510T976 736T885 961T642 1051H303Z" />
+<glyph unicode="&#xdf;" horiz-adv-x="1200" d="M271 0H151V1127Q151 1327 246 1435T512 1544Q665 1544 760 1460T856 1237Q856 1179 843 1131T794 1019T746 913T733 824Q733 768 774 716T911 593T1051 454T1096 306Q1096 160 990 70T720 -20Q636 -20 545 4T414
+60L448 161Q485 132 562 106T706 80Q828 80 902 144T976 306Q976 367 932 423T797 547T659 681T613 826Q613 922 676 1034T739 1230Q739 1323 676 1382T522 1442Q275 1442 271 1136V0Z" />
+<glyph unicode="&#xe0;" horiz-adv-x="1097" d="M839 0Q821 51 816 151Q753 69 656 25T449 -20Q293 -20 197 67T100 287Q100 445 231 537T598 629H815V752Q815 868 744 934T535 1001Q410 1001 328 937T246 783L126 784Q126 913 246 1007T541 1102Q722 1102 826
+1012T934 759V247Q934 90 967 12V0H839ZM463 86Q583 86 677 144T815 299V537H601Q422 535 321 472T220 297Q220 206 287 146T463 86ZM653 1245H544L318 1524H462L653 1245Z" />
+<glyph unicode="&#xe1;" horiz-adv-x="1097" d="M839 0Q821 51 816 151Q753 69 656 25T449 -20Q293 -20 197 67T100 287Q100 445 231 537T598 629H815V752Q815 868 744 934T535 1001Q410 1001 328 937T246 783L126 784Q126 913 246 1007T541 1102Q722 1102 826
+1012T934 759V247Q934 90 967 12V0H839ZM463 86Q583 86 677 144T815 299V537H601Q422 535 321 472T220 297Q220 206 287 146T463 86ZM699 1524H844L613 1245H508L699 1524Z" />
+<glyph unicode="&#xe2;" horiz-adv-x="1097" d="M839 0Q821 51 816 151Q753 69 656 25T449 -20Q293 -20 197 67T100 287Q100 445 231 537T598 629H815V752Q815 868 744 934T535 1001Q410 1001 328 937T246 783L126 784Q126 913 246 1007T541 1102Q722 1102 826
+1012T934 759V247Q934 90 967 12V0H839ZM463 86Q583 86 677 144T815 299V537H601Q422 535 321 472T220 297Q220 206 287 146T463 86ZM858 1268V1258H747L579 1441L412 1258H303V1271L541 1526H617L858 1268Z" />
+<glyph unicode="&#xe3;" horiz-adv-x="1097" d="M839 0Q821 51 816 151Q753 69 656 25T449 -20Q293 -20 197 67T100 287Q100 445 231 537T598 629H815V752Q815 868 744 934T535 1001Q410 1001 328 937T246 783L126 784Q126 913 246 1007T541 1102Q722 1102 826
+1012T934 759V247Q934 90 967 12V0H839ZM463 86Q583 86 677 144T815 299V537H601Q422 535 321 472T220 297Q220 206 287 146T463 86ZM920 1494Q920 1398 864 1340T725 1281Q649 1281 577 1336T447 1391Q400 1391 369 1360T337 1273L247 1276Q247 1368 301 1428T442
+1488Q490 1488 524 1471T588 1433T648 1395T720 1378Q766 1378 798 1411T831 1500L920 1494Z" />
+<glyph unicode="&#xe4;" horiz-adv-x="1097" d="M839 0Q821 51 816 151Q753 69 656 25T449 -20Q293 -20 197 67T100 287Q100 445 231 537T598 629H815V752Q815 868 744 934T535 1001Q410 1001 328 937T246 783L126 784Q126 913 246 1007T541 1102Q722 1102 826
+1012T934 759V247Q934 90 967 12V0H839ZM463 86Q583 86 677 144T815 299V537H601Q422 535 321 472T220 297Q220 206 287 146T463 86ZM286 1396Q286 1430 307 1453T368 1477Q406 1477 428 1454T451 1396Q451 1363 429 1340T368 1317Q329 1317 308 1340T286 1396ZM723
+1395Q723 1429 745 1452T805 1476Q844 1476 866 1453T888 1395Q888 1362 866 1339T805 1316Q767 1316 745 1339T723 1395Z" />
+<glyph unicode="&#xe5;" horiz-adv-x="1097" d="M839 0Q821 51 816 151Q753 69 656 25T449 -20Q293 -20 197 67T100 287Q100 445 231 537T598 629H815V752Q815 868 744 934T535 1001Q410 1001 328 937T246 783L126 784Q126 913 246 1007T541 1102Q722 1102 826
+1012T934 759V247Q934 90 967 12V0H839ZM463 86Q583 86 677 144T815 299V537H601Q422 535 321 472T220 297Q220 206 287 146T463 86ZM387 1400Q387 1480 443 1535T580 1590Q659 1590 716 1535T773 1400Q773 1321 718 1267T580 1213T442 1267T387 1400ZM464 1400Q464
+1350 497 1317T580 1284Q629 1284 663 1316T697 1400Q697 1453 662 1486T580 1519Q531 1519 498 1485T464 1400Z" />
+<glyph unicode="&#xe6;" horiz-adv-x="1732" d="M1265 -20Q1126 -20 1027 34T867 186Q807 88 693 34T440 -20Q271 -20 178 64T85 293Q85 450 195 539T511 632H781V720Q781 852 718 926T528 1000Q398 1000 315 935T232 765L113 778Q113 922 229 1012T528 1102Q653
+1102 741 1049T870 889Q930 989 1024 1045T1235 1102Q1431 1102 1543 982T1658 644V538H901V509Q901 308 997 195T1265 81Q1450 81 1589 199L1636 112Q1491 -20 1265 -20ZM458 80Q549 80 642 126T781 236V536H525Q388 536 302 475T207 309L206 289Q206 192 271
+136T458 80ZM1235 1000Q1103 1000 1013 902T904 636H1539V667Q1539 821 1459 910T1235 1000Z" />
+<glyph unicode="&#xe7;" horiz-adv-x="1055" d="M556 81Q681 81 765 151T857 334H972Q967 235 910 154T759 26T556 -20Q343 -20 219 128T94 526V562Q94 722 150 845T310 1035T555 1102Q733 1102 848 996T972 717H857Q849 844 766 922T555 1000Q393 1000 304 883T214
+555V520Q214 313 303 197T556 81ZM589 -9L577 -73Q742 -94 742 -244Q742 -336 663 -390T448 -444L441 -366Q530 -366 586 -334T643 -246Q643 -188 600 -166T467 -136L496 -9H589Z" />
+<glyph unicode="&#xe8;" horiz-adv-x="1058" d="M575 -20Q437 -20 326 48T152 237T90 510V553Q90 709 150 834T319 1030T553 1102Q750 1102 865 968T981 600V533H209V510Q209 326 314 204T580 81Q676 81 749 116T883 228L958 171Q826 -20 575 -20ZM553 1000Q418
+1000 326 901T213 635H862V648Q857 804 773 902T553 1000ZM640 1245H531L305 1524H449L640 1245Z" />
+<glyph unicode="&#xe9;" horiz-adv-x="1058" d="M575 -20Q437 -20 326 48T152 237T90 510V553Q90 709 150 834T319 1030T553 1102Q750 1102 865 968T981 600V533H209V510Q209 326 314 204T580 81Q676 81 749 116T883 228L958 171Q826 -20 575 -20ZM553 1000Q418
+1000 326 901T213 635H862V648Q857 804 773 902T553 1000ZM686 1524H831L600 1245H495L686 1524Z" />
+<glyph unicode="&#xea;" horiz-adv-x="1058" d="M575 -20Q437 -20 326 48T152 237T90 510V553Q90 709 150 834T319 1030T553 1102Q750 1102 865 968T981 600V533H209V510Q209 326 314 204T580 81Q676 81 749 116T883 228L958 171Q826 -20 575 -20ZM553 1000Q418
+1000 326 901T213 635H862V648Q857 804 773 902T553 1000ZM845 1268V1258H734L566 1441L399 1258H290V1271L528 1526H604L845 1268Z" />
+<glyph unicode="&#xeb;" horiz-adv-x="1058" d="M575 -20Q437 -20 326 48T152 237T90 510V553Q90 709 150 834T319 1030T553 1102Q750 1102 865 968T981 600V533H209V510Q209 326 314 204T580 81Q676 81 749 116T883 228L958 171Q826 -20 575 -20ZM553 1000Q418
+1000 326 901T213 635H862V648Q857 804 773 902T553 1000ZM273 1396Q273 1430 294 1453T355 1477Q393 1477 415 1454T438 1396Q438 1363 416 1340T355 1317Q316 1317 295 1340T273 1396ZM710 1395Q710 1429 732 1452T792 1476Q831 1476 853 1453T875 1395Q875 1362
+853 1339T792 1316Q754 1316 732 1339T710 1395Z" />
+<glyph unicode="&#xec;" horiz-adv-x="456" d="M288 0H168V1082H288V0ZM305 1233H196L-30 1512H114L305 1233Z" />
+<glyph unicode="&#xed;" horiz-adv-x="456" d="M288 0H168V1082H288V0ZM350 1768H495L264 1489H159L350 1768Z" />
+<glyph unicode="&#xee;" horiz-adv-x="456" d="M288 0H168V1082H288V0ZM510 1256V1246H399L231 1429L64 1246H-45V1259L193 1514H269L510 1256Z" />
+<glyph unicode="&#xef;" horiz-adv-x="456" d="M288 0H168V1082H288V0ZM-62 1384Q-62 1418 -41 1441T20 1465Q58 1465 80 1442T103 1384Q103 1351 81 1328T20 1305Q-19 1305 -40 1328T-62 1384ZM375 1383Q375 1417 397 1440T457 1464Q496 1464 518 1441T540 1383Q540
+1350 518 1327T457 1304Q419 1304 397 1327T375 1383Z" />
+<glyph unicode="&#xf0;" horiz-adv-x="1191" d="M811 1303Q1049 1053 1055 645V535Q1055 376 999 249T842 51T615 -20Q485 -20 379 41T211 216T149 466Q149 695 268 830T587 965Q687 965 773 927T919 821Q877 1072 709 1240L484 1101L433 1174L639 1302Q502 1408
+296 1475L335 1578Q577 1506 744 1366L938 1487L989 1414L811 1303ZM935 625L933 682Q894 765 807 813T609 861Q448 861 359 756T269 466Q269 363 314 274T438 134T619 83Q760 83 847 207T935 543V625Z" />
+<glyph unicode="&#xf1;" horiz-adv-x="1125" d="M270 1082L274 897Q335 997 426 1049T627 1102Q801 1102 886 1004T972 710V0H853V711Q852 856 792 927T598 998Q487 998 402 929T275 741V0H156V1082H270ZM916 1493Q916 1397 860 1339T721 1280Q645 1280 573 1335T443
+1390Q396 1390 365 1359T333 1272L243 1275Q243 1367 297 1427T438 1487Q486 1487 520 1470T584 1432T644 1394T716 1377Q762 1377 794 1410T827 1499L916 1493Z" />
+<glyph unicode="&#xf2;" horiz-adv-x="1147" d="M90 557Q90 713 150 838T321 1032T572 1102Q788 1102 922 951T1056 549V524Q1056 367 996 242T825 48T574 -20Q359 -20 225 131T90 533V557ZM210 524Q210 330 310 206T574 81Q736 81 836 205T937 534V557Q937 681
+891 784T762 943T572 1000Q412 1000 311 875T210 546V524ZM645 1245H536L310 1524H454L645 1245Z" />
+<glyph unicode="&#xf3;" horiz-adv-x="1147" d="M90 557Q90 713 150 838T321 1032T572 1102Q788 1102 922 951T1056 549V524Q1056 367 996 242T825 48T574 -20Q359 -20 225 131T90 533V557ZM210 524Q210 330 310 206T574 81Q736 81 836 205T937 534V557Q937 681
+891 784T762 943T572 1000Q412 1000 311 875T210 546V524ZM691 1524H836L605 1245H500L691 1524Z" />
+<glyph unicode="&#xf4;" horiz-adv-x="1147" d="M90 557Q90 713 150 838T321 1032T572 1102Q788 1102 922 951T1056 549V524Q1056 367 996 242T825 48T574 -20Q359 -20 225 131T90 533V557ZM210 524Q210 330 310 206T574 81Q736 81 836 205T937 534V557Q937 681
+891 784T762 943T572 1000Q412 1000 311 875T210 546V524ZM850 1268V1258H739L571 1441L404 1258H295V1271L533 1526H609L850 1268Z" />
+<glyph unicode="&#xf5;" horiz-adv-x="1147" d="M90 557Q90 713 150 838T321 1032T572 1102Q788 1102 922 951T1056 549V524Q1056 367 996 242T825 48T574 -20Q359 -20 225 131T90 533V557ZM210 524Q210 330 310 206T574 81Q736 81 836 205T937 534V557Q937 681
+891 784T762 943T572 1000Q412 1000 311 875T210 546V524ZM912 1493Q912 1397 856 1339T717 1280Q641 1280 569 1335T439 1390Q392 1390 361 1359T329 1272L239 1275Q239 1367 293 1427T434 1487Q482 1487 516 1470T580 1432T640 1394T712 1377Q758 1377 790 1410T823
+1499L912 1493Z" />
+<glyph unicode="&#xf6;" horiz-adv-x="1147" d="M90 557Q90 713 150 838T321 1032T572 1102Q788 1102 922 951T1056 549V524Q1056 367 996 242T825 48T574 -20Q359 -20 225 131T90 533V557ZM210 524Q210 330 310 206T574 81Q736 81 836 205T937 534V557Q937 681
+891 784T762 943T572 1000Q412 1000 311 875T210 546V524ZM278 1396Q278 1430 299 1453T360 1477Q398 1477 420 1454T443 1396Q443 1363 421 1340T360 1317Q321 1317 300 1340T278 1396ZM715 1395Q715 1429 737 1452T797 1476Q836 1476 858 1453T880 1395Q880 1362
+858 1339T797 1316Q759 1316 737 1339T715 1395Z" />
+<glyph unicode="&#xf7;" horiz-adv-x="1164" d="M1070 644H72V760H1070V644ZM495 1088Q495 1123 517 1147T579 1171T642 1147T665 1088T642 1030T579 1006T517 1029T495 1088ZM495 291Q495 326 517 350T579 374T642 350T665 291T642 233T579 210T517 233T495 291Z" />
+<glyph unicode="&#xf8;" horiz-adv-x="1140" d="M89 557Q89 713 149 838T320 1032T571 1102Q685 1102 785 1054L863 1214H957L857 1010Q951 938 1003 821T1055 557V524Q1055 368 994 242T823 48T573 -20Q465 -20 373 21L294 -140H200L299 63Q199 134 144 253T89
+524V557ZM208 524Q208 414 243 319T348 163L737 957Q662 1000 571 1000Q410 1000 309 875T208 546V524ZM935 557Q935 660 902 751T806 905L419 115Q487 81 573 81Q734 81 834 205T935 534V557Z" />
+<glyph unicode="&#xf9;" horiz-adv-x="1125" d="M852 137Q744 -20 507 -20Q334 -20 244 80T152 378V1082H271V393Q271 84 521 84Q781 84 850 299V1082H970V0H854L852 137ZM647 1245H538L312 1524H456L647 1245Z" />
+<glyph unicode="&#xfa;" horiz-adv-x="1125" d="M852 137Q744 -20 507 -20Q334 -20 244 80T152 378V1082H271V393Q271 84 521 84Q781 84 850 299V1082H970V0H854L852 137ZM693 1524H838L607 1245H502L693 1524Z" />
+<glyph unicode="&#xfb;" horiz-adv-x="1125" d="M852 137Q744 -20 507 -20Q334 -20 244 80T152 378V1082H271V393Q271 84 521 84Q781 84 850 299V1082H970V0H854L852 137ZM852 1268V1258H741L573 1441L406 1258H297V1271L535 1526H611L852 1268Z" />
+<glyph unicode="&#xfc;" horiz-adv-x="1125" d="M852 137Q744 -20 507 -20Q334 -20 244 80T152 378V1082H271V393Q271 84 521 84Q781 84 850 299V1082H970V0H854L852 137ZM280 1396Q280 1430 301 1453T362 1477Q400 1477 422 1454T445 1396Q445 1363 423 1340T362
+1317Q323 1317 302 1340T280 1396ZM717 1395Q717 1429 739 1452T799 1476Q838 1476 860 1453T882 1395Q882 1362 860 1339T799 1316Q761 1316 739 1339T717 1395Z" />
+<glyph unicode="&#xfd;" horiz-adv-x="973" d="M499 172L815 1082H944L482 -184L458 -240Q369 -437 183 -437Q140 -437 91 -423L90 -324L152 -330Q240 -330 294 -287T387 -137L440 9L32 1082H163L499 172ZM633 1524H778L547 1245H442L633 1524Z" />
+<glyph unicode="&#xfe;" horiz-adv-x="1150" d="M1031 530Q1031 277 919 129T618 -20Q397 -20 279 136V-416H159V1536H279V932Q396 1102 616 1102Q808 1102 919 956T1031 548V530ZM911 551Q911 758 826 878T589 998Q479 998 400 945T279 791V270Q321 180 400 131T591
+81Q742 81 826 201T911 551Z" />
+<glyph unicode="&#xff;" horiz-adv-x="973" d="M499 172L815 1082H944L482 -184L458 -240Q369 -437 183 -437Q140 -437 91 -423L90 -324L152 -330Q240 -330 294 -287T387 -137L440 9L32 1082H163L499 172ZM220 1396Q220 1430 241 1453T302 1477Q340 1477 362 1454T385
+1396Q385 1363 363 1340T302 1317Q263 1317 242 1340T220 1396ZM657 1395Q657 1429 679 1452T739 1476Q778 1476 800 1453T822 1395Q822 1362 800 1339T739 1316Q701 1316 679 1339T657 1395Z" />
+<glyph unicode="&#x2013;" horiz-adv-x="1334" d="M1417 686H415V788H1417V686Z" />
+<glyph unicode="&#x2014;" horiz-adv-x="1580" d="M1462 686H126V788H1462V686Z" />
+<glyph unicode="&#x2018;" horiz-adv-x="364" d="M238 1554L310 1503Q220 1385 217 1249V1121H98V1233Q98 1325 135 1410T238 1554Z" />
+<glyph unicode="&#x2019;" horiz-adv-x="364" d="M133 1099L62 1151Q152 1272 155 1405V1536H273V1435Q273 1226 133 1099Z" />
+<glyph unicode="&#x201a;" horiz-adv-x="353" d="M112 -231L41 -179Q124 -68 132 51L133 205H252V104Q252 -104 112 -231Z" />
+<glyph unicode="&#x201c;" horiz-adv-x="612" d="M239 1554L311 1503Q221 1385 218 1249V1121H99V1233Q99 1325 136 1410T239 1554ZM490 1554L562 1503Q472 1385 469 1249V1121H350V1233Q350 1325 387 1410T490 1554Z" />
+<glyph unicode="&#x201d;" horiz-adv-x="617" d="M139 1099L68 1151Q158 1272 161 1405V1536H279V1435Q279 1226 139 1099ZM383 1099L312 1151Q402 1272 405 1405V1536H523V1435Q523 1226 383 1099Z" />
+<glyph unicode="&#x201e;" horiz-adv-x="593" d="M112 -240L41 -188Q130 -65 133 73V236H252V106Q252 -111 112 -240ZM346 -240L275 -188Q363 -66 366 73V236H486V106Q486 -111 346 -240Z" />
+<glyph unicode="&#x2022;" horiz-adv-x="662" d="M146 752Q146 831 197 881T331 931Q413 931 464 883T517 757V717Q517 636 466 588T332 540Q248 540 197 589T146 719V752Z" />
+<glyph unicode="&#x2039;" horiz-adv-x="609" d="M232 555L508 167H403L108 546V565L403 944H508L232 555Z" />
+<glyph unicode="&#x203a;" horiz-adv-x="609" d="M203 944L498 560V541L203 162H97L373 550L97 944H203Z" />
+</font>
+</defs>
+</svg>
diff --git a/assets/fonts/Roboto-300/Roboto-300.ttf b/assets/fonts/Roboto-300/Roboto-300.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..66bc5ab8e299e9948a6fce6b7867cc638bc703c7
GIT binary patch
literal 32664
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
Oy0RWu*cxZpF#jK_d)v+c

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-300/Roboto-300.woff b/assets/fonts/Roboto-300/Roboto-300.woff
new file mode 100644
index 0000000000000000000000000000000000000000..1bff3ec454e615b795218f1babebb15277170986
GIT binary patch
literal 13360
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
NR0RNNh`?q5{|9c~2uc6|

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-300/Roboto-300.woff2 b/assets/fonts/Roboto-300/Roboto-300.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..4411cbc8754cf7ec78501ba711efabe15b936675
GIT binary patch
literal 10324
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

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-300italic/LICENSE.txt b/assets/fonts/Roboto-300italic/LICENSE.txt
new file mode 100644
index 00000000..d6456956
--- /dev/null
+++ b/assets/fonts/Roboto-300italic/LICENSE.txt
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/assets/fonts/Roboto-300italic/Roboto-300italic.eot b/assets/fonts/Roboto-300italic/Roboto-300italic.eot
new file mode 100644
index 0000000000000000000000000000000000000000..c47c43ecfe86130fbd78c8347d775ad9ea7d533a
GIT binary patch
literal 17886
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
Z-kh5%$qv-l3y!);OTS1+V=ll=NB|b$lez!^

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-300italic/Roboto-300italic.svg b/assets/fonts/Roboto-300italic/Roboto-300italic.svg
new file mode 100644
index 00000000..ea86b201
--- /dev/null
+++ b/assets/fonts/Roboto-300italic/Roboto-300italic.svg
@@ -0,0 +1,327 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg">
+<defs >
+<font id="Roboto" horiz-adv-x="1016" ><font-face
+    font-family="Roboto Light"
+    units-per-em="2048"
+    panose-1="2 0 0 0 0 0 0 0 0 0"
+    ascent="1900"
+    descent="-500"
+    alphabetic="0" />
+<glyph unicode=" " horiz-adv-x="493" />
+<glyph unicode="!" horiz-adv-x="458" d="M243 405H133L309 1456H433L243 405ZM56 70Q58 104 84 128T141 152Q176 153 198 129T218 70Q216 37 191 15T132 -9T76 12T56 70Z" />
+<glyph unicode="&quot;" horiz-adv-x="580" d="M361 1390L293 1083H212L287 1536H384L361 1390ZM590 1392L522 1083H440L516 1536H613L590 1392Z" />
+<glyph unicode="#" horiz-adv-x="1165" d="M695 410H396L250 0H148L295 410H48L65 503H327L484 944H214L232 1040H518L667 1456H769L619 1040H919L1069 1456H1171L1022 1040H1243L1226 944H988L831 503H1077L1061 410H798L651 0H549L695 410ZM428 503H728L886
+944H586L428 503Z" />
+<glyph unicode="$" horiz-adv-x="1111" d="M837 366Q848 465 791 538T587 670T371 785T268 916T242 1088Q255 1254 368 1356T658 1476L693 1677H795L760 1474Q914 1451 990 1335T1050 1028H932Q946 1181 882 1274T691 1370Q557 1372 466 1294T360 1090Q343 929
+489 842Q527 819 639 773T811 683Q973 565 957 369Q944 203 828 100T529 -18L496 -208H395L428 -18Q312 -7 231 50T113 203T87 418H206Q193 264 268 175T485 84Q625 82 724 161T837 366Z" />
+<glyph unicode="%" horiz-adv-x="1478" d="M206 1175Q221 1307 309 1394T521 1478Q636 1474 703 1389T762 1176L755 1109Q740 968 652 882T442 799Q329 801 260 886T199 1099L206 1175ZM296 1097Q289 1002 330 945T447 885Q529 883 586 942T657 1099L665 1177Q673
+1272 632 1330T516 1391Q435 1393 376 1332T304 1168L296 1097ZM775 356Q790 486 877 573T1089 658Q1206 654 1273 570T1331 357L1324 279Q1309 147 1220 61T1010 -22Q895 -20 827 66T768 279L775 356ZM864 277Q857 183 897 125T1015 64Q1095 62 1153 120T1226
+279L1234 358Q1241 455 1202 512T1084 571Q1000 573 942 512T872 349L864 277ZM350 122L277 175L1162 1306L1231 1258L350 122Z" />
+<glyph unicode="&amp;" horiz-adv-x="1232" d="M428 796L391 861Q308 1014 319 1137Q331 1289 432 1384T684 1477Q811 1473 887 1395T955 1199Q942 1033 726 883L576 779L887 318Q999 466 1029 651H1137Q1104 401 951 229L1103 0H971L874 144Q680 -24 462 -20Q282
+-18 172 87T74 363Q83 472 162 575T428 796ZM467 82Q639 79 812 232L494 701L483 716L434 681L382 640Q211 500 195 363Q178 242 255 163T467 82ZM438 1142Q425 1023 524 862L704 992Q828 1089 839 1200Q847 1275 800 1325T676 1375Q580 1377 515 1310T438 1142Z"
+/>
+<glyph unicode="&apos;" horiz-adv-x="348" d="M344 1389L281 1090H190L266 1536H367L344 1389Z" />
+<glyph unicode="(" horiz-adv-x="643" d="M736 1633L757 1551Q597 1442 479 1245T295 773T233 240L235 174Q257 -226 454 -392L419 -469Q219 -320 151 -3Q110 190 120 392Q131 653 216 915T434 1360T736 1633Z" />
+<glyph unicode=")" horiz-adv-x="657" d="M495 577Q436 201 280 -74T-103 -471L-124 -393Q65 -264 192 -18T375 572L379 592Q403 761 401 921Q396 1152 339 1311T180 1555L215 1631Q371 1517 448 1287T514 769Q510 675 498 593L495 577Z" />
+<glyph unicode="*" horiz-adv-x="853" d="M417 1003L114 1111L161 1208L464 1084L525 1456H629L556 1087L890 1212L905 1106L561 991L727 695L638 635L484 940L234 639L156 705L417 1003Z" />
+<glyph unicode="+" horiz-adv-x="1131" d="M637 740H1067L1047 628H618L534 146H414L498 628H76L96 740H517L598 1206H718L637 740Z" />
+<glyph unicode="," horiz-adv-x="390" d="M-17 -273L-84 -218Q31 -86 53 46L77 188H193L171 44Q138 -144 -17 -273Z" />
+<glyph unicode="-" horiz-adv-x="578" d="M512 592H45L63 693H530L512 592Z" />
+<glyph unicode="." horiz-adv-x="484" d="M48 72Q51 107 76 131T137 157Q173 158 196 133T216 72Q214 37 189 15T128 -9T70 13T48 72Z" />
+<glyph unicode="/" horiz-adv-x="799" d="M13 -125H-101L764 1456H877L13 -125Z" />
+<glyph unicode="0" horiz-adv-x="1111" d="M459 -20Q342 -17 261 42T143 214T110 468L117 576L160 860Q207 1164 341 1322T692 1476Q869 1472 957 1346T1040 992Q1038 920 1029 853L989 595Q936 278 801 126T459 -20ZM924 1084Q903 1368 686 1375Q524 1380 421
+1251T281 875L237 593Q222 472 228 378Q236 235 297 159T466 80Q616 73 718 193T863 550L911 857Q930 979 924 1084Z" />
+<glyph unicode="1" horiz-adv-x="1111" d="M571 0H451L679 1308L268 1162L289 1280L797 1461H820L571 0Z" />
+<glyph unicode="2" horiz-adv-x="1111" d="M925 0H38L53 97L683 720Q882 921 901 1082Q917 1207 851 1289T656 1375Q516 1379 415 1287T287 1037L172 1036Q196 1231 331 1355T660 1477Q841 1473 940 1366T1023 1092Q1003 895 775 665L203 101H942L925 0Z" />
+<glyph unicode="3" horiz-adv-x="1111" d="M427 793L542 791Q693 791 798 870T919 1083Q933 1215 866 1293T669 1375Q531 1377 436 1295T315 1075L199 1074Q221 1253 354 1366T675 1477Q854 1473 954 1363T1038 1079Q1029 971 954 883T745 742Q855 703 910 613T956
+403Q940 212 803 94T468 -20Q282 -16 170 99T71 395H189Q177 261 255 173T474 81Q624 77 724 164T838 399Q850 527 778 603T558 689L537 690L411 691L427 793Z" />
+<glyph unicode="4" horiz-adv-x="1111" d="M825 469H1045L1027 368H808L743 0H624L688 368H27L35 435L862 1456H996L825 469ZM190 469H705L849 1289L787 1206L190 469Z" />
+<glyph unicode="5" horiz-adv-x="1111" d="M233 748L411 1456H1122L1104 1345H499L367 853Q486 934 639 932Q818 930 915 800T994 471Q974 248 843 112T508 -21Q331 -17 231 94T130 384H243Q245 243 315 164T514 80Q666 76 762 184T874 470Q888 624 818 721T613
+823Q460 827 329 720L233 748Z" />
+<glyph unicode="6" horiz-adv-x="1111" d="M955 1468L943 1363H911Q673 1358 510 1210T270 783Q422 960 643 956Q758 954 840 893T960 722T985 484Q976 382 936 287T830 121Q694 -25 501 -21Q335 -16 233 95T115 385Q106 477 139 674Q201 1047 408 1257T939 1468H955ZM618
+853Q500 855 390 786T249 615L236 511Q223 396 250 299T342 142T506 81Q601 79 678 130T805 274T868 480Q885 641 818 745T618 853Z" />
+<glyph unicode="7" horiz-adv-x="1111" d="M1127 1387L310 0H180L992 1354H191L207 1456H1135L1127 1387Z" />
+<glyph unicode="8" horiz-adv-x="1111" d="M1057 1090Q1046 972 971 884T766 743Q872 694 926 602T972 395Q957 208 815 92T465 -20Q277 -16 167 92T72 378Q83 505 168 601T400 751Q310 799 266 884T230 1072Q243 1252 374 1366T697 1476Q869 1472 970 1366T1057
+1090ZM853 394Q867 523 788 608T575 697Q421 699 314 607T191 376Q176 245 254 164T470 80Q622 76 730 163T853 394ZM937 1091Q949 1208 880 1289T690 1375Q552 1377 457 1291T348 1073Q336 955 405 877T595 797Q728 793 826 877T937 1091Z" />
+<glyph unicode="9" horiz-adv-x="1111" d="M879 673Q803 578 704 526T500 477Q386 479 304 544T185 718T159 958Q174 1103 242 1224T418 1412T654 1477Q826 1473 924 1357T1029 1032Q1032 920 1001 735Q940 375 746 184T251 -12H202L214 92H254Q500 96 654 239T879
+673ZM520 580Q634 576 736 645T898 837Q912 959 912 1008Q912 1179 845 1274T650 1374Q553 1376 474 1323T342 1172T277 963Q266 862 291 774T375 634T520 580Z" />
+<glyph unicode=":" horiz-adv-x="427" d="M287 72Q290 107 315 131T376 157Q412 158 435 133T455 72Q453 37 428 15T367 -9T309 13T287 72ZM191 995Q194 1030 219 1054T280 1080Q316 1081 339 1056T359 995Q357 960 332 938T271 914T213 936T191 995Z" />
+<glyph unicode=";" horiz-adv-x="397" d="M180 995Q183 1030 208 1054T269 1080Q305 1081 328 1056T348 995Q346 960 321 938T260 914T202 936T180 995ZM-17 -273L-84 -218Q31 -86 53 46L77 188H193L171 44Q138 -144 -17 -273Z" />
+<glyph unicode="&lt;" horiz-adv-x="1026" d="M212 652L836 352L814 231L75 612L92 708L964 1087L940 954L212 652Z" />
+<glyph unicode="=" horiz-adv-x="1109" d="M995 829H183L202 935H1014L995 829ZM923 418H112L131 524H942L923 418Z" />
+<glyph unicode="&gt;" horiz-adv-x="1039" d="M820 662L182 965L203 1083L960 704L943 607L54 227L77 358L820 662Z" />
+<glyph unicode="?" horiz-adv-x="912" d="M339 402Q352 512 400 597T547 766T686 897T752 996T784 1110Q797 1223 746 1295T587 1371Q472 1373 393 1306T287 1116L172 1115Q196 1281 313 1381T596 1477Q749 1473 834 1373T905 1111Q887 924 699 755L586 660Q480
+565 449 404L339 402ZM256 70Q259 104 283 127T342 152T399 129T419 70Q416 37 391 15T333 -9Q298 -10 276 12T256 70Z" />
+<glyph unicode="@" horiz-adv-x="1824" d="M1229 -20Q1143 -18 1087 32T1024 173Q943 64 867 20T708 -21Q616 -18 563 46T504 235Q493 408 569 599T763 890T1023 989Q1100 987 1158 959T1274 882L1139 308L1131 231Q1126 158 1156 113T1247 65Q1353 61 1433 143T1561
+380T1617 722Q1623 908 1564 1045T1383 1253T1082 1327Q842 1331 639 1193T309 802T175 274Q169 88 231 -60T414 -284T703 -362Q870 -366 1040 -284L1063 -366Q912 -455 698 -453Q507 -452 366 -369T150 -124T74 246Q74 469 153 689T375 1079T701 1336T1088 1420Q1284
+1417 1423 1337T1636 1102T1709 745Q1709 531 1646 350T1474 73T1229 -20ZM609 285Q604 189 637 134T737 75Q830 70 915 144T1040 330L1170 850Q1110 895 1028 899Q870 904 760 750T615 357L609 285Z" />
+<glyph unicode="A" horiz-adv-x="1251" d="M909 408H271L54 0H-79L708 1456H825L1106 0H985L909 408ZM326 513H889L745 1302L326 513Z" />
+<glyph unicode="B" horiz-adv-x="1227" d="M73 0L326 1456L736 1455Q945 1450 1051 1352T1141 1082Q1130 968 1058 884T863 755Q967 723 1025 631T1074 418Q1059 228 921 114T559 0H73ZM317 700L213 104L563 103Q721 103 828 186T953 416Q966 543 896 619T690
+699L317 700ZM334 803L653 802Q809 804 906 881T1018 1087Q1043 1340 733 1350L430 1351L334 803Z" />
+<glyph unicode="C" horiz-adv-x="1300" d="M1150 454Q1099 229 943 102T562 -20Q367 -16 252 118T127 481Q124 559 134 636L161 812Q192 1013 285 1168T513 1401T808 1476Q1016 1472 1133 1344T1248 999L1127 1000Q1127 1175 1043 1271T802 1372Q604 1377 465
+1225T283 803L253 603L249 513Q247 395 283 294T393 140T568 84Q742 78 859 171T1031 453L1150 454Z" />
+<glyph unicode="D" horiz-adv-x="1311" d="M73 0L326 1456L705 1455Q874 1455 998 1369T1177 1130T1210 794L1192 673Q1146 370 950 185T469 0H73ZM430 1351L213 104L473 103Q626 103 752 173T960 370T1068 658T1095 880T1089 998Q1066 1158 967 1252T711 1350L430 1351Z" />
+<glyph unicode="E" horiz-adv-x="1140" d="M977 698H317L213 104H973L955 0H73L326 1456H1203L1184 1351H430L334 802H995L977 698Z" />
+<glyph unicode="F" horiz-adv-x="1127" d="M972 680H314L195 0H73L326 1456H1204L1185 1351H430L331 785H991L972 680Z" />
+<glyph unicode="G" horiz-adv-x="1368" d="M1131 173Q1057 78 919 28T610 -20Q407 -18 281 119T143 484Q138 566 149 644L174 810Q221 1116 395 1298T829 1476Q1029 1472 1149 1357T1275 1045H1155Q1148 1197 1063 1282T824 1371Q620 1376 479 1224T296 806L272
+650Q262 585 264 516Q267 318 360 203T614 85Q871 80 1009 211L1075 587H696L714 691H1215L1131 173Z" />
+<glyph unicode="H" horiz-adv-x="1416" d="M1122 0H999L1121 698H317L195 0H73L326 1456H448L334 802H1138L1252 1456H1376L1122 0Z" />
+<glyph unicode="I" horiz-adv-x="539" d="M221 0H99L352 1456H474L221 0Z" />
+<glyph unicode="J" horiz-adv-x="1103" d="M959 1456H1082L907 433Q878 230 744 103T410 -21Q222 -17 124 95T44 401H166Q151 255 217 171T418 83Q557 79 657 174T784 431L959 1456Z" />
+<glyph unicode="K" horiz-adv-x="1263" d="M523 721L285 516L195 0H73L326 1456H448L313 680L546 890L1164 1456H1327L616 802L1110 0H972L523 721Z" />
+<glyph unicode="L" horiz-adv-x="1057" d="M214 104H912L894 0H73L326 1456H449L214 104Z" />
+<glyph unicode="M" horiz-adv-x="1729" d="M484 1456L781 174L1525 1456H1690L1437 0H1315L1426 639L1545 1269L804 0H710L408 1279L305 633L195 0H73L326 1456H484Z" />
+<glyph unicode="N" horiz-adv-x="1420" d="M1128 0H1010L413 1248L196 0H73L326 1456H444L1042 207L1259 1456H1380L1128 0Z" />
+<glyph unicode="O" horiz-adv-x="1354" d="M577 -20Q373 -16 254 121T124 489Q120 569 131 648L151 786Q196 1091 371 1284Q550 1481 813 1476Q947 1473 1047 1411T1204 1229T1265 966Q1268 880 1256 798L1233 644Q1198 438 1104 284T874 54T577 -20ZM1136 809Q1144
+872 1145 937Q1145 1059 1107 1159T993 1312T807 1369Q607 1374 466 1226T280 824Q244 619 245 521Q245 319 333 205T583 87Q796 82 935 241T1114 661L1136 809Z" />
+<glyph unicode="P" horiz-adv-x="1233" d="M298 593L195 0H73L326 1456L800 1455Q1004 1449 1115 1335T1209 1028Q1189 824 1044 708T666 592L298 593ZM316 697L671 696Q844 696 956 784T1087 1027Q1103 1175 1024 1260T797 1350L430 1351L316 697Z" />
+<glyph unicode="Q" horiz-adv-x="1354" d="M851 50L1067 -183L976 -254L734 2Q648 -19 570 -19Q437 -18 337 45T182 226T120 491Q116 573 127 649L149 798Q179 999 274 1159T506 1399T808 1476Q1012 1472 1132 1335T1261 966Q1264 880 1252 798L1226 626Q1151
+211 851 50ZM1132 808Q1140 871 1141 937Q1141 1060 1102 1161T987 1314T802 1369Q600 1374 460 1224T275 818Q240 613 240 521Q240 324 327 208T578 87Q790 82 930 239T1110 663L1132 808Z" />
+<glyph unicode="R" horiz-adv-x="1271" d="M710 606H299L193 0H70L323 1456L754 1455Q972 1455 1090 1342T1189 1035Q1174 889 1080 783T828 629L1076 14L1075 0H945L710 606ZM317 711L677 710Q831 710 940 800T1067 1036Q1084 1176 1005 1261T772 1350L428 1351L317
+711Z" />
+<glyph unicode="S" horiz-adv-x="1187" d="M936 365Q959 553 735 641L544 710L482 735Q198 856 219 1092Q228 1208 301 1296T493 1431T747 1476Q876 1473 977 1417T1129 1262T1169 1041H1046Q1060 1189 977 1278T741 1371Q583 1373 471 1299T342 1095Q329 992
+402 920T658 793Q890 719 980 616T1059 368Q1048 248 975 160T780 24T518 -20Q379 -19 268 37T101 190T56 416H178Q163 264 259 175T524 83T806 159T936 365Z" />
+<glyph unicode="T" horiz-adv-x="1196" d="M1268 1351H785L550 0H428L663 1351H179L198 1456H1287L1268 1351Z" />
+<glyph unicode="U" horiz-adv-x="1316" d="M1306 1456L1137 471Q1101 241 944 108T562 -21Q421 -18 319 44T170 218T140 469L309 1456H430L262 468Q241 299 324 195T568 84Q736 78 857 177T1011 452L1183 1456H1306Z" />
+<glyph unicode="V" horiz-adv-x="1235" d="M536 180L538 149L552 180L1196 1456H1334L580 0H463L166 1456H289L536 180Z" />
+<glyph unicode="W" horiz-adv-x="1791" d="M408 389L415 174L502 387L974 1456H1084L1220 377L1237 171L1319 397L1739 1456H1867L1277 0H1160L1017 1144L1006 1278L950 1139L444 0H327L193 1456H315L408 389Z" />
+<glyph unicode="X" horiz-adv-x="1225" d="M642 842L1135 1456H1287L703 732L1067 0H929L618 634L106 0H-45L558 744L204 1456H342L642 842Z" />
+<glyph unicode="Y" horiz-adv-x="1199" d="M600 664L1168 1456H1316L643 542L549 0H427L524 555L174 1456H311L600 664Z" />
+<glyph unicode="Z" horiz-adv-x="1198" d="M151 104H1020L1001 0H-18L-1 99L1051 1351H241L260 1456H1223L1207 1362L151 104Z" />
+<glyph unicode="[" horiz-adv-x="486" d="M630 1562H426L150 -210H354L337 -312H14L323 1664H646L630 1562Z" />
+<glyph unicode="\" horiz-adv-x="793" d="M197 1456H307L623 -125H512L197 1456Z" />
+<glyph unicode="]" horiz-adv-x="486" d="M165 1664H489L180 -312H-144L-127 -210H77L354 1562H149L165 1664Z" />
+<glyph unicode="^" horiz-adv-x="836" d="M532 1294L213 729H93L509 1456H599L762 729H653L532 1294Z" />
+<glyph unicode="_" horiz-adv-x="867" d="M736 -101H-122L-104 0H754L736 -101Z" />
+<glyph unicode="`" horiz-adv-x="577" d="M523 1245H423L247 1524H381L523 1245Z" />
+<glyph unicode="a" horiz-adv-x="1074" d="M719 0Q714 38 716 76L725 151Q650 70 554 24T345 -20Q208 -18 123 66T46 279Q54 386 119 464T306 586T577 630L798 629L816 753Q828 864 768 931T591 1002Q473 1004 386 944T276 784H159Q179 926 305 1015T603 1103Q770
+1099 860 1002T934 750L844 206L836 119Q833 65 844 12L842 0H719ZM365 85Q475 81 575 137T742 298L783 537L592 538Q410 538 295 474T168 289Q159 201 214 144T365 85Z" />
+<glyph unicode="b" horiz-adv-x="1111" d="M986 536Q951 278 822 126T501 -21Q395 -19 315 26T191 148L157 0H45L312 1536H430L317 925Q456 1108 668 1102Q823 1098 907 987T994 680Q995 616 988 557L986 536ZM869 559L876 654Q879 817 819 906T640 999Q421 1003
+297 777L215 287Q244 190 314 138T486 82Q635 79 735 197T869 559Z" />
+<glyph unicode="c" horiz-adv-x="1033" d="M465 80Q583 76 673 145T794 333H907Q877 172 750 74T459 -21Q328 -18 239 51T111 242T85 517L89 560Q101 665 140 764T246 939T403 1060T610 1102Q776 1098 874 990T966 716L853 717Q855 842 788 919T605 1000Q481 1004
+386 928T243 713T198 418Q201 257 270 171T465 80Z" />
+<glyph unicode="d" horiz-adv-x="1114" d="M94 544Q117 714 187 845T358 1041T586 1102Q682 1100 761 1058T886 929L996 1536H1114L847 0H736L763 144Q622 -26 413 -20Q262 -16 177 97T87 403Q85 465 92 523L94 544ZM214 524Q206 457 208 381Q212 244 271 166T441
+83Q552 80 636 134T778 278L865 788Q836 885 770 940T600 999Q448 1004 347 883T216 545L214 524Z" />
+<glyph unicode="e" horiz-adv-x="1036" d="M475 -20Q345 -18 250 52T111 244T79 507L82 541Q96 691 171 826T361 1033T607 1102Q728 1100 811 1036T933 858T957 606L949 533H200L197 509Q182 400 213 301T314 143T484 82Q580 79 657 119T799 226L869 169Q796 75
+696 27T475 -20ZM601 1000Q471 1005 368 908T213 635L841 634L844 649Q862 791 794 893T601 1000Z" />
+<glyph unicode="f" horiz-adv-x="668" d="M129 0L300 984H126L144 1082H317L338 1229Q363 1388 459 1475T700 1560Q758 1558 831 1540L810 1441Q754 1456 703 1456Q603 1456 538 1391T455 1210L436 1082H687L669 984H420L249 0H129Z" />
+<glyph unicode="g" horiz-adv-x="1112" d="M585 1103Q682 1100 762 1057T888 926L925 1082H1036L854 19Q835 -117 768 -221T597 -380T364 -432Q262 -430 169 -381Q75 -331 18 -242L92 -172Q195 -327 361 -331Q509 -335 608 -242T734 13L760 139Q616 -26 413 -20Q261
+-16 177 96T88 403Q82 582 148 757T327 1019T585 1103ZM213 523L207 430Q204 266 264 177T441 83Q541 79 628 130T778 281L863 786Q836 883 770 939T599 999Q446 1004 346 881T213 523Z" />
+<glyph unicode="h" horiz-adv-x="1100" d="M313 899Q469 1106 681 1102Q837 1098 908 993T958 704L840 0H722L840 706Q846 763 842 816Q825 994 648 999Q543 1001 452 937T292 742L164 0H46L313 1536H431L313 899Z" />
+<glyph unicode="i" horiz-adv-x="455" d="M179 0H59L248 1082H367L179 0ZM281 1395Q286 1460 367 1477Q406 1470 422 1453T444 1395Q434 1357 415 1340T358 1314Q277 1326 281 1395Z" />
+<glyph unicode="j" horiz-adv-x="463" d="M362 1082L156 -129Q136 -280 51 -362T-167 -440Q-210 -439 -276 -419L-262 -320Q-207 -335 -174 -335Q1 -339 38 -124L244 1082H362ZM278 1395Q280 1428 303 1452T362 1477T419 1454T439 1395Q436 1361 412 1338T353
+1314Q318 1313 297 1336T278 1395Z" />
+<glyph unicode="k" horiz-adv-x="983" d="M396 543L236 408L165 0H46L313 1536H432L262 562L386 676L857 1082H1016L484 621L857 0H725L396 543Z" />
+<glyph unicode="l" horiz-adv-x="455" d="M179 0H59L326 1536H446L179 0Z" />
+<glyph unicode="m" horiz-adv-x="1771" d="M343 1082L309 906Q455 1106 676 1102Q790 1100 865 1045T959 892Q1033 993 1131 1048T1346 1102Q1500 1099 1574 1001T1636 728L1634 705L1515 0H1396L1514 707Q1520 766 1515 819Q1495 996 1313 999Q1191 1001 1089
+920T960 716L836 0H717L837 716Q866 992 634 999Q519 1001 420 927T287 743L159 0H40L228 1082H343Z" />
+<glyph unicode="n" horiz-adv-x="1101" d="M348 1082L312 897Q384 997 478 1050T681 1102Q837 1098 908 993T958 704L840 0H722L840 706Q846 763 842 816Q825 994 648 999Q543 1001 452 937T292 742L164 0H46L234 1082H348Z" />
+<glyph unicode="o" horiz-adv-x="1123" d="M75 551Q93 708 171 838T365 1037T618 1102Q752 1100 846 1029T984 834T1014 560L1012 541Q982 285 831 130T467 -20Q285 -17 176 114T69 460L72 517L75 551ZM191 517Q178 398 208 298T306 140T473 80Q581 78 670 135T818
+296T893 526L896 559Q914 752 837 874T612 1000Q452 1005 336 877T193 535L191 517Z" />
+<glyph unicode="p" horiz-adv-x="1111" d="M500 -21Q407 -19 325 18T191 136L91 -416H-27L233 1082H343L315 929Q456 1108 668 1102Q820 1098 905 989T993 680Q994 617 987 558L983 530Q958 355 889 228T721 39T500 -21ZM868 558L874 653Q877 813 816 904T635
+999Q530 1001 445 948T300 792L211 271Q243 179 312 131T479 80Q624 75 724 188T860 505L868 558Z" />
+<glyph unicode="q" horiz-adv-x="1118" d="M95 545Q130 803 260 955T587 1102Q682 1100 761 1060T888 935L923 1082H1035L775 -416H656L758 134Q619 -26 415 -20Q263 -16 178 95T88 402Q86 464 93 523L95 545ZM214 524L207 430Q204 266 263 175T442 80Q541 76
+626 125T775 267L866 799Q835 891 769 944T602 1000Q446 1005 345 879T216 545L214 524Z" />
+<glyph unicode="r" horiz-adv-x="678" d="M707 981Q668 989 628 990Q514 990 419 921T292 744L164 0H46L234 1082H351L315 910Q374 1006 457 1056T641 1104Q676 1104 723 1090L707 981Z" />
+<glyph unicode="s" d="M730 282Q746 420 562 482L390 533Q153 613 166 800Q173 935 290 1019T570 1102Q729 1100 828 1013T920 779H802Q808 876 742 937T565 1000Q451 1000 373 947T285 805Q270 676 443 624L568 588L635 565Q861 480 848 288Q840 158 736 75T466
+-19L425 -20Q316 -18 228 22T93 136T52 304L171 303Q171 201 240 142T430 81Q550 81 634 135T730 282Z" />
+<glyph unicode="t" horiz-adv-x="648" d="M465 1359L417 1082H634L617 984H400L280 262L278 200Q278 91 378 88Q409 87 475 95L470 -3Q411 -20 350 -18Q245 -16 197 55T162 263L281 984H87L105 1082H297L346 1359H465Z" />
+<glyph unicode="u" horiz-adv-x="1101" d="M764 136Q635 -26 408 -20Q255 -17 180 90T126 389L242 1082H360L245 386Q239 332 244 279Q251 187 299 137T431 84Q551 79 653 139T785 298L919 1082H1039L851 0H735L764 136Z" />
+<glyph unicode="v" horiz-adv-x="965" d="M408 169L870 1082H996L435 0H338L113 1082H231L408 169Z" />
+<glyph unicode="w" horiz-adv-x="1508" d="M342 249V164L381 257L776 1082H878L985 255L991 153L1032 256L1390 1082H1517L1023 0H921L802 858L801 918L778 857L364 0H262L147 1082L259 1083L342 249Z" />
+<glyph unicode="x" horiz-adv-x="976" d="M484 645L835 1082H983L539 545L822 0H690L464 456L94 0H-52L410 557L139 1082H271L484 645Z" />
+<glyph unicode="y" horiz-adv-x="954" d="M408 176L871 1082H1004L344 -174Q271 -320 190 -381T8 -440Q-30 -438 -88 -424L-76 -326L-16 -333Q152 -340 249 -135L325 16L116 1082H241L408 176Z" />
+<glyph unicode="z" horiz-adv-x="976" d="M147 101H825L807 0H-21L-5 94L781 979H168L186 1082H953L936 987L147 101Z" />
+<glyph unicode="{" horiz-adv-x="666" d="M476 -402Q326 -351 257 -232T206 58L237 285Q243 338 237 384Q217 531 58 542L70 645Q300 654 338 899L372 1146Q426 1495 770 1599L788 1519Q532 1432 489 1125L455 884Q419 673 228 591Q345 527 357 374Q360 329 356
+284L325 57Q317 -5 322 -63Q335 -257 506 -323L476 -402Z" />
+<glyph unicode="|" horiz-adv-x="448" d="M136 -270H35L305 1456H406L136 -270Z" />
+<glyph unicode="}" horiz-adv-x="666" d="M-136 -325Q124 -236 166 71L198 304Q234 519 434 598Q374 626 339 681T297 813Q293 858 298 904L328 1133Q335 1194 332 1253Q327 1349 282 1417T153 1518L185 1595Q331 1543 399 1425T447 1132L417 903Q411 850 417
+805Q437 657 595 649L584 545Q348 535 313 275L282 44Q228 -303 -116 -406L-136 -325Z" />
+<glyph unicode="~" horiz-adv-x="1370" d="M1240 764Q1221 609 1132 514T914 422Q795 425 681 527L591 613Q515 681 439 681Q263 684 222 451L118 449Q137 606 225 698T444 789Q560 786 672 689L767 599Q842 530 920 528Q1003 526 1061 586T1141 763L1240 764Z" />
+<glyph unicode="&#xa0;" horiz-adv-x="493" />
+<glyph unicode="&#xa1;" horiz-adv-x="448" d="M183 690H294L118 -359H-5L183 690ZM370 1022Q368 989 344 966T285 941Q250 940 228 963T208 1022Q211 1056 235 1079T294 1103Q329 1104 351 1081T370 1022Z" />
+<glyph unicode="&#xa2;" horiz-adv-x="1092" d="M484 80Q604 76 694 145T817 333H930Q902 189 793 95T524 -18L481 -245H361L405 -14Q308 4 247 57Q130 159 112 344Q94 521 145 694T314 973T591 1099L633 1318H753L710 1097Q851 1072 926 969T996 716L883 717Q887
+841 821 918T639 1000Q470 1005 360 872T227 499L224 419Q224 261 290 173T484 80Z" />
+<glyph unicode="&#xa3;" horiz-adv-x="1145" d="M401 645L364 376Q340 200 252 102L977 104L959 0H-11L7 103L99 102Q212 144 242 367L279 645H97L115 749H294L331 1031Q358 1238 484 1359T791 1477Q955 1473 1045 1366T1119 1088H997Q1010 1211 953 1289T776
+1372Q650 1375 563 1283T453 1025L416 749H750L732 645H401Z" />
+<glyph unicode="&#xa4;" horiz-adv-x="1447" d="M1023 131Q831 -24 620 -20Q519 -18 427 20T265 132L85 -26L12 66L195 222Q114 401 141 601Q172 829 338 1010L205 1183L298 1265L429 1096Q619 1238 819 1234Q916 1232 1005 1197T1164 1092L1361 1265L1435 1171L1238
+1001Q1324 815 1296 614Q1269 399 1111 222L1241 54L1147 -28L1023 131ZM252 599Q240 507 259 417T326 256T450 138T627 89Q760 85 882 156T1085 352T1185 616Q1202 744 1159 862T1024 1050T811 1123Q681 1127 561 1060T356 868T252 599Z" />
+<glyph unicode="&#xa5;" horiz-adv-x="1196" d="M609 736L1141 1456H1290L720 705H1073L1057 616H652L616 412H1022L1006 324H601L544 0H422L479 324H77L93 412H494L530 616H127L143 705H502L194 1456H327L609 736Z" />
+<glyph unicode="&#xa6;" horiz-adv-x="441" d="M2 -270L136 501H256L121 -270H2ZM289 698H170L302 1456H421L289 698Z" />
+<glyph unicode="&#xa7;" horiz-adv-x="1212" d="M1066 439Q1049 240 793 155Q940 55 924 -131Q915 -245 848 -327T665 -454T418 -495Q210 -493 93 -378T-7 -64L112 -62Q97 -210 181 -300T423 -393Q571 -398 679 -327T803 -134Q813 -46 761 15T584 120L422 173L342
+204Q84 313 104 543Q121 742 368 829Q228 930 245 1112Q254 1224 323 1307T506 1435T753 1476Q954 1472 1061 1355T1149 1045H1031Q1045 1190 968 1280T748 1374Q589 1376 485 1307T366 1115Q344 948 542 871L777 791Q936 734 1006 650T1066 439ZM615 729L483 772Q249
+733 224 546Q211 453 267 388T488 271T668 213Q790 231 861 288T945 435Q957 526 896 592T679 709L615 729Z" />
+<glyph unicode="&#xa8;" horiz-adv-x="865" d="M262 1396Q264 1430 288 1453T347 1478Q382 1478 404 1455T424 1396Q422 1363 397 1340T339 1316Q304 1316 282 1338T262 1396ZM686 1395Q688 1429 714 1453T771 1477Q806 1478 828 1454T848 1395Q846 1361 821 1339T763
+1315Q729 1315 707 1337T686 1395Z" />
+<glyph unicode="&#xa9;" horiz-adv-x="1598" d="M1101 607Q1082 455 992 372T762 292Q620 296 546 406T485 680L493 758Q513 946 615 1056T868 1164Q1005 1160 1076 1077T1137 850H1039Q1057 1071 864 1075Q758 1077 685 995T595 777L585 679Q572 550 620 468T766
+382Q964 375 1006 606L1101 607ZM219 562Q241 345 379 206T717 65Q912 61 1085 178T1355 494T1430 896Q1414 1038 1346 1150T1171 1324T932 1389Q788 1392 653 1328T411 1141T254 864T219 562ZM135 722Q157 919 270 1096T560 1377T933 1476Q1112 1474 1254 1376T1466
+1102T1513 735Q1488 529 1371 351T1079 74T716 -21Q532 -17 392 81T182 356T135 722Z" />
+<glyph unicode="&#xaa;" horiz-adv-x="889" d="M657 703Q651 751 654 798Q555 690 427 690Q324 690 264 749T209 900Q214 1014 307 1077T560 1141L697 1140L706 1202Q710 1237 706 1269Q692 1377 583 1380Q507 1382 452 1348T377 1238L273 1244Q288 1353 375 1416T589
+1477Q706 1473 766 1398T816 1200L767 886Q752 793 762 704L657 703ZM450 784Q563 784 658 889L688 1058L562 1059Q455 1059 391 1019T319 905Q314 846 349 815T450 784Z" />
+<glyph unicode="&#xab;" horiz-adv-x="915" d="M228 786L426 404H331L106 782L108 801L456 1181H570L228 786ZM528 530L726 148H631L406 526L408 545L756 925H870L528 530Z" />
+<glyph unicode="&#xac;" horiz-adv-x="1093" d="M872 386H753L803 670H131L150 776H940L872 386Z" />
+<glyph unicode="&#xad;" horiz-adv-x="578" d="M512 592H45L63 693H530L512 592Z" />
+<glyph unicode="&#xae;" horiz-adv-x="1603" d="M130 722Q155 929 270 1104T559 1379T928 1476Q1105 1474 1247 1377T1461 1103T1510 735Q1492 584 1421 443T1238 195T990 32T711 -21Q527 -17 387 81T177 356T130 722ZM214 562Q236 346 374 207T712 65Q855 62
+989 125T1231 312T1389 589T1425 896Q1411 1034 1344 1147T1168 1323T927 1389Q784 1392 648 1328T407 1143T250 869T214 562ZM655 666L600 321H502L634 1160L878 1159Q1011 1154 1079 1093T1141 919Q1131 787 975 711Q1058 669 1067 571L1066 509Q1056 433 1057
+400L1059 337L1057 321H959Q954 357 956 393L962 465L967 509Q974 584 947 622T842 665L655 666ZM668 757L839 756Q921 758 979 800T1047 917Q1067 1068 877 1069L718 1070L668 757Z" />
+<glyph unicode="&#xaf;" horiz-adv-x="858" d="M873 1359H220L236 1456H888L873 1359Z" />
+<glyph unicode="&#xb0;" horiz-adv-x="761" d="M249 1217Q253 1323 331 1401T511 1477Q603 1475 664 1404T722 1235Q718 1129 642 1053T464 979Q368 981 307 1052T249 1217ZM339 1219Q333 1157 370 1114T466 1070Q533 1070 580 1117T633 1233Q639 1294 605 1340T508
+1386Q444 1386 395 1339T339 1219Z" />
+<glyph unicode="&#xb1;" horiz-adv-x="1062" d="M628 829H1008L991 727H612L543 289H433L502 727H100L116 829H517L586 1267H697L628 829ZM842 0H29L45 101H858L842 0Z" />
+<glyph unicode="&#xb2;" horiz-adv-x="728" d="M659 665H103L117 745L488 1066Q598 1164 608 1247Q616 1311 580 1345T481 1380Q400 1381 350 1337T283 1216H180Q196 1332 280 1400T482 1467Q594 1465 658 1405T716 1248Q709 1133 560 1004L497 950L255 752H675L659 665Z" />
+<glyph unicode="&#xb3;" horiz-adv-x="728" d="M345 1106H421Q510 1109 565 1149Q617 1187 623 1248Q629 1310 590 1344T485 1379Q418 1380 368 1346T299 1247L195 1246Q210 1349 291 1409T486 1467Q598 1465 666 1407T728 1251Q721 1133 559 1065Q690 1021 684
+888Q679 781 592 717T380 654Q262 656 190 718T122 885H225Q222 822 265 782T385 742Q467 742 520 782T581 890Q594 1019 417 1024L336 1025L345 1106Z" />
+<glyph unicode="&#xb4;" horiz-adv-x="569" d="M446 1524L596 1523L328 1246H216L446 1524Z" />
+<glyph unicode="&#xb5;" horiz-adv-x="1116" d="M358 1082L253 448L247 368V321Q256 87 439 80Q561 76 657 138T784 311L916 1082H1035L847 0H739L766 154Q645 -24 441 -20Q265 -15 192 106L98 -416H-20L240 1082H358Z" />
+<glyph unicode="&#xb6;" horiz-adv-x="954" d="M566 0L657 520L574 521Q362 523 250 650T159 980Q182 1195 334 1326T710 1457L938 1456L685 0H566Z" />
+<glyph unicode="&#xb7;" horiz-adv-x="498" d="M178 717Q180 752 205 776T265 801Q302 801 324 777T345 717Q342 682 317 659T256 634Q220 633 198 657T178 717Z" />
+<glyph unicode="&#xb8;" horiz-adv-x="493" d="M131 0L109 -66Q250 -92 244 -228Q239 -326 155 -380T-75 -437L-74 -358Q22 -355 79 -322T145 -231Q154 -152 51 -134L-4 -126L41 0H131Z" />
+<glyph unicode="&#xb9;" horiz-adv-x="728" d="M463 669H358L473 1329L235 1260L252 1354L580 1459H597L463 669Z" />
+<glyph unicode="&#xba;" horiz-adv-x="904" d="M585 1477Q720 1473 794 1377T855 1132L845 1033Q826 879 728 782T485 689Q350 693 276 788T213 1033L222 1121Q239 1284 340 1382T585 1477ZM323 1031Q311 920 356 853T491 784Q587 780 654 850T737 1042L748 1133Q758
+1243 713 1310T579 1381Q479 1383 413 1312T333 1123L323 1031Z" />
+<glyph unicode="&#xbb;" horiz-adv-x="910" d="M270 944L494 562L492 542L144 162H30L371 556L174 944H270ZM580 944L804 562L802 542L454 162H340L681 556L484 944H580Z" />
+<glyph unicode="&#xbc;" horiz-adv-x="1449" d="M450 664H345L460 1324L222 1255L239 1349L567 1454H584L450 664ZM327 130L255 183L1140 1314L1208 1265L327 130ZM1179 275H1303L1287 187H1164L1131 0H1026L1060 187H675L679 252L1154 789H1269L1179 275ZM801
+275H1074L1147 660L1108 609L801 275Z" />
+<glyph unicode="&#xbd;" horiz-adv-x="1512" d="M284 130L212 183L1097 1314L1165 1265L284 130ZM436 664H331L446 1324L208 1255L225 1349L553 1454H570L436 664ZM1290 0H734L748 80L1119 401Q1229 499 1239 582Q1247 646 1211 680T1112 715Q1031 716 981 672T914
+551H811Q827 667 911 735T1113 802Q1225 800 1289 740T1347 583Q1340 468 1191 339L1128 285L886 87H1306L1290 0Z" />
+<glyph unicode="&#xbe;" horiz-adv-x="1552" d="M467 130L395 183L1280 1314L1348 1265L467 130ZM1290 275H1414L1398 187H1275L1242 0H1137L1171 187H786L790 252L1265 789H1380L1290 275ZM912 275H1185L1258 660L1219 609L912 275ZM390 1106H466Q555 1109 610
+1149Q662 1187 668 1248Q674 1310 635 1344T530 1379Q463 1380 413 1346T344 1247L240 1246Q255 1349 336 1409T531 1467Q643 1465 711 1407T773 1251Q766 1133 604 1065Q735 1021 729 888Q724 781 637 717T425 654Q307 656 235 718T167 885H270Q267 822 310 782T430
+742Q512 742 565 782T626 890Q639 1019 462 1024L381 1025L390 1106Z" />
+<glyph unicode="&#xbf;" horiz-adv-x="922" d="M554 688Q539 580 498 507T372 359T267 265Q125 131 109 -17Q96 -136 151 -206T315 -279Q425 -283 504 -215T610 -21L727 -20Q702 -190 588 -289T307 -384Q145 -380 59 -277T-11 -18Q7 174 198 349L336 469Q415 547
+439 687L554 688ZM632 1022Q630 988 604 964T547 940Q512 939 490 963T470 1022Q473 1055 498 1078T556 1102Q590 1103 612 1080T632 1022Z" />
+<glyph unicode="&#xc0;" horiz-adv-x="1251" d="M909 408H271L54 0H-79L708 1456H825L1106 0H985L909 408ZM326 513H889L745 1302L326 513ZM859 1560H759L583 1839H717L859 1560Z" />
+<glyph unicode="&#xc1;" horiz-adv-x="1251" d="M909 408H271L54 0H-79L708 1456H825L1106 0H985L909 408ZM326 513H889L745 1302L326 513ZM946 1839L1096 1838L828 1561H716L946 1839Z" />
+<glyph unicode="&#xc2;" horiz-adv-x="1251" d="M909 408H271L54 0H-79L708 1456H825L1106 0H985L909 408ZM326 513H889L745 1302L326 513ZM1067 1584L1066 1572L958 1573L829 1754L635 1574L525 1573L526 1587L796 1841H869L1067 1584Z" />
+<glyph unicode="&#xc3;" horiz-adv-x="1251" d="M909 408H271L54 0H-79L708 1456H825L1106 0H985L909 408ZM326 513H889L745 1302L326 513ZM1159 1809Q1145 1709 1089 1652T949 1594Q918 1594 893 1604T818 1649T743 1695T687 1707Q641 1707 608 1676T560 1589L471
+1592Q485 1688 542 1747T683 1805Q721 1805 752 1788T815 1749T879 1709T947 1692Q1039 1692 1075 1814L1159 1809Z" />
+<glyph unicode="&#xc4;" horiz-adv-x="1251" d="M909 408H271L54 0H-79L708 1456H825L1106 0H985L909 408ZM326 513H889L745 1302L326 513ZM528 1711Q530 1745 554 1768T613 1793Q648 1793 670 1770T690 1711Q688 1678 663 1655T605 1631Q570 1631 548 1653T528
+1711ZM952 1710Q954 1744 980 1768T1037 1792Q1072 1793 1094 1769T1114 1710Q1112 1676 1087 1654T1029 1630Q995 1630 973 1652T952 1710Z" />
+<glyph unicode="&#xc5;" horiz-adv-x="1251" d="M909 408H271L54 0H-79L708 1456H825L1106 0H985L909 408ZM326 513H889L745 1302L326 513ZM631 1707Q633 1790 692 1848T831 1906Q906 1906 957 1853T1007 1723Q1005 1643 947 1585T806 1527Q731 1527 680 1578T631
+1707ZM708 1709Q704 1663 730 1631T802 1599Q850 1599 887 1633T931 1721Q935 1769 908 1801T835 1834Q788 1834 750 1797T708 1709Z" />
+<glyph unicode="&#xc6;" horiz-adv-x="1819" d="M1666 0H871L922 389H350L59 0H-93L1015 1456H1859L1841 1354H1168L1096 809H1668L1650 707H1082L1002 101H1684L1666 0ZM434 502H938L1047 1320L434 502Z" />
+<glyph unicode="&#xc7;" horiz-adv-x="1300" d="M1150 454Q1099 229 943 102T562 -20Q367 -16 252 118T127 481Q124 559 134 636L161 812Q192 1013 285 1168T513 1401T808 1476Q1016 1472 1133 1344T1248 999L1127 1000Q1127 1175 1043 1271T802 1372Q604 1377
+465 1225T283 803L253 603L249 513Q247 395 283 294T393 140T568 84Q742 78 859 171T1031 453L1150 454ZM597 -9L575 -75Q716 -101 710 -237Q705 -335 621 -389T391 -446L392 -367Q488 -364 545 -331T611 -240Q620 -161 517 -143L462 -135L507 -9H597Z" />
+<glyph unicode="&#xc8;" horiz-adv-x="1140" d="M977 698H317L213 104H973L955 0H73L326 1456H1203L1184 1351H430L334 802H995L977 698ZM837 1566H737L561 1845H695L837 1566Z" />
+<glyph unicode="&#xc9;" horiz-adv-x="1140" d="M977 698H317L213 104H973L955 0H73L326 1456H1203L1184 1351H430L334 802H995L977 698ZM924 1845L1074 1844L806 1567H694L924 1845Z" />
+<glyph unicode="&#xca;" horiz-adv-x="1140" d="M977 698H317L213 104H973L955 0H73L326 1456H1203L1184 1351H430L334 802H995L977 698ZM1045 1590L1044 1578L936 1579L807 1760L613 1580L503 1579L504 1593L774 1847H847L1045 1590Z" />
+<glyph unicode="&#xcb;" horiz-adv-x="1140" d="M977 698H317L213 104H973L955 0H73L326 1456H1203L1184 1351H430L334 802H995L977 698ZM506 1717Q508 1751 532 1774T591 1799Q626 1799 648 1776T668 1717Q666 1684 641 1661T583 1637Q548 1637 526 1659T506
+1717ZM930 1716Q932 1750 958 1774T1015 1798Q1050 1799 1072 1775T1092 1716Q1090 1682 1065 1660T1007 1636Q973 1636 951 1658T930 1716Z" />
+<glyph unicode="&#xcc;" horiz-adv-x="539" d="M221 0H99L352 1456H474L221 0ZM503 1566H403L227 1845H361L503 1566Z" />
+<glyph unicode="&#xcd;" horiz-adv-x="539" d="M221 0H99L352 1456H474L221 0ZM589 1845L739 1844L471 1567H359L589 1845Z" />
+<glyph unicode="&#xce;" horiz-adv-x="539" d="M221 0H99L352 1456H474L221 0ZM711 1590L710 1578L602 1579L473 1760L279 1580L169 1579L170 1593L440 1847H513L711 1590Z" />
+<glyph unicode="&#xcf;" horiz-adv-x="539" d="M221 0H99L352 1456H474L221 0ZM172 1717Q174 1751 198 1774T257 1799Q292 1799 314 1776T334 1717Q332 1684 307 1661T249 1637Q214 1637 192 1659T172 1717ZM596 1716Q598 1750 624 1774T681 1798Q716 1799 738
+1775T758 1716Q756 1682 731 1660T673 1636Q639 1636 617 1658T596 1716Z" />
+<glyph unicode="&#xd0;" horiz-adv-x="1341" d="M103 0L222 689H47L65 791H240L356 1456L735 1455Q904 1455 1028 1369T1207 1130T1240 794L1222 673Q1176 370 980 185T499 0H103ZM643 689H345L243 104L503 103Q656 103 782 173T990 370T1098 658T1125 880T1119
+998Q1096 1158 997 1252T741 1350L460 1351L362 791H661L643 689Z" />
+<glyph unicode="&#xd1;" horiz-adv-x="1420" d="M1128 0H1010L413 1248L196 0H73L326 1456H444L1042 207L1259 1456H1380L1128 0ZM1240 1809Q1226 1709 1170 1652T1030 1594Q999 1594 974 1604T899 1649T824 1695T768 1707Q722 1707 689 1676T641 1589L552 1592Q566
+1688 623 1747T764 1805Q802 1805 833 1788T896 1749T960 1709T1028 1692Q1120 1692 1156 1814L1240 1809Z" />
+<glyph unicode="&#xd2;" horiz-adv-x="1354" d="M577 -20Q373 -16 254 121T124 489Q120 569 131 648L151 786Q196 1091 371 1284Q550 1481 813 1476Q947 1473 1047 1411T1204 1229T1265 966Q1268 880 1256 798L1233 644Q1198 438 1104 284T874 54T577 -20ZM1136
+809Q1144 872 1145 937Q1145 1059 1107 1159T993 1312T807 1369Q607 1374 466 1226T280 824Q244 619 245 521Q245 319 333 205T583 87Q796 82 935 241T1114 661L1136 809ZM908 1572H808L632 1851H766L908 1572Z" />
+<glyph unicode="&#xd3;" horiz-adv-x="1354" d="M577 -20Q373 -16 254 121T124 489Q120 569 131 648L151 786Q196 1091 371 1284Q550 1481 813 1476Q947 1473 1047 1411T1204 1229T1265 966Q1268 880 1256 798L1233 644Q1198 438 1104 284T874 54T577 -20ZM1136
+809Q1144 872 1145 937Q1145 1059 1107 1159T993 1312T807 1369Q607 1374 466 1226T280 824Q244 619 245 521Q245 319 333 205T583 87Q796 82 935 241T1114 661L1136 809ZM995 1851L1145 1850L877 1573H765L995 1851Z" />
+<glyph unicode="&#xd4;" horiz-adv-x="1354" d="M577 -20Q373 -16 254 121T124 489Q120 569 131 648L151 786Q196 1091 371 1284Q550 1481 813 1476Q947 1473 1047 1411T1204 1229T1265 966Q1268 880 1256 798L1233 644Q1198 438 1104 284T874 54T577 -20ZM1136
+809Q1144 872 1145 937Q1145 1059 1107 1159T993 1312T807 1369Q607 1374 466 1226T280 824Q244 619 245 521Q245 319 333 205T583 87Q796 82 935 241T1114 661L1136 809ZM1116 1596L1115 1584L1007 1585L878 1766L684 1586L574 1585L575 1599L845 1853H918L1116
+1596Z" />
+<glyph unicode="&#xd5;" horiz-adv-x="1354" d="M577 -20Q373 -16 254 121T124 489Q120 569 131 648L151 786Q196 1091 371 1284Q550 1481 813 1476Q947 1473 1047 1411T1204 1229T1265 966Q1268 880 1256 798L1233 644Q1198 438 1104 284T874 54T577 -20ZM1136
+809Q1144 872 1145 937Q1145 1059 1107 1159T993 1312T807 1369Q607 1374 466 1226T280 824Q244 619 245 521Q245 319 333 205T583 87Q796 82 935 241T1114 661L1136 809ZM1208 1821Q1194 1721 1138 1664T998 1606Q967 1606 942 1616T867 1661T792 1707T736 1719Q690
+1719 657 1688T609 1601L520 1604Q534 1700 591 1759T732 1817Q770 1817 801 1800T864 1761T928 1721T996 1704Q1088 1704 1124 1826L1208 1821Z" />
+<glyph unicode="&#xd6;" horiz-adv-x="1354" d="M577 -20Q373 -16 254 121T124 489Q120 569 131 648L151 786Q196 1091 371 1284Q550 1481 813 1476Q947 1473 1047 1411T1204 1229T1265 966Q1268 880 1256 798L1233 644Q1198 438 1104 284T874 54T577 -20ZM1136
+809Q1144 872 1145 937Q1145 1059 1107 1159T993 1312T807 1369Q607 1374 466 1226T280 824Q244 619 245 521Q245 319 333 205T583 87Q796 82 935 241T1114 661L1136 809ZM577 1723Q579 1757 603 1780T662 1805Q697 1805 719 1782T739 1723Q737 1690 712 1667T654
+1643Q619 1643 597 1665T577 1723ZM1001 1722Q1003 1756 1029 1780T1086 1804Q1121 1805 1143 1781T1163 1722Q1161 1688 1136 1666T1078 1642Q1044 1642 1022 1664T1001 1722Z" />
+<glyph unicode="&#xd7;" horiz-adv-x="1050" d="M17 184L428 550L155 900L242 975L512 625L906 974L974 888L580 539L865 173L779 99L495 463L85 100L17 184Z" />
+<glyph unicode="&#xd8;" horiz-adv-x="1354" d="M575 -21Q397 -17 281 77L153 -82H41L218 136Q117 292 120 516Q121 613 157 823T301 1195T567 1427Q683 1479 813 1476Q909 1474 998 1441T1153 1336L1288 1504H1399L1207 1267Q1255 1158 1265 1040Q1275 921 1258
+806L1236 663Q1203 449 1108 292T877 56T582 -21H575ZM241 544Q231 361 291 235L1081 1240Q988 1366 808 1370Q601 1375 459 1219T275 795L247 614L241 544ZM1151 986Q1151 1074 1127 1160L349 168Q437 91 582 86Q714 83 823 147T1009 343T1115 668T1147 901T1151
+986Z" />
+<glyph unicode="&#xd9;" horiz-adv-x="1316" d="M1306 1456L1137 471Q1101 241 944 108T562 -21Q421 -18 319 44T170 218T140 469L309 1456H430L262 468Q241 299 324 195T568 84Q736 78 857 177T1011 452L1183 1456H1306ZM897 1560H797L621 1839H755L897 1560Z" />
+<glyph unicode="&#xda;" horiz-adv-x="1316" d="M1306 1456L1137 471Q1101 241 944 108T562 -21Q421 -18 319 44T170 218T140 469L309 1456H430L262 468Q241 299 324 195T568 84Q736 78 857 177T1011 452L1183 1456H1306ZM984 1839L1134 1838L866 1561H754L984 1839Z" />
+<glyph unicode="&#xdb;" horiz-adv-x="1316" d="M1306 1456L1137 471Q1101 241 944 108T562 -21Q421 -18 319 44T170 218T140 469L309 1456H430L262 468Q241 299 324 195T568 84Q736 78 857 177T1011 452L1183 1456H1306ZM1105 1584L1104 1572L996 1573L867 1754L673
+1574L563 1573L564 1587L834 1841H907L1105 1584Z" />
+<glyph unicode="&#xdc;" horiz-adv-x="1316" d="M1306 1456L1137 471Q1101 241 944 108T562 -21Q421 -18 319 44T170 218T140 469L309 1456H430L262 468Q241 299 324 195T568 84Q736 78 857 177T1011 452L1183 1456H1306ZM566 1711Q568 1745 592 1768T651 1793Q686
+1793 708 1770T728 1711Q726 1678 701 1655T643 1631Q608 1631 586 1653T566 1711ZM990 1710Q992 1744 1018 1768T1075 1792Q1110 1793 1132 1769T1152 1710Q1150 1676 1125 1654T1067 1630Q1033 1630 1011 1652T990 1710Z" />
+<glyph unicode="&#xdd;" horiz-adv-x="1199" d="M600 664L1168 1456H1316L643 542L549 0H427L524 555L174 1456H311L600 664ZM915 1833L1065 1832L797 1555H685L915 1833Z" />
+<glyph unicode="&#xde;" horiz-adv-x="1188" d="M444 1456L391 1152L696 1151Q819 1148 913 1097T1053 954T1088 745Q1076 617 1007 522T822 375T568 323L248 324L191 0H72L325 1456H444ZM374 1051L265 425L572 424Q729 424 840 512T968 744Q984 878 908 962T694
+1050L374 1051Z" />
+<glyph unicode="&#xdf;" horiz-adv-x="1174" d="M160 0H41L234 1127Q262 1327 371 1438T645 1544Q785 1540 866 1457T936 1246Q932 1199 917 1157T846 1023T776 894T756 814Q748 756 776 702T879 574T985 440T1013 316Q1004 167 885 71T603 -21Q523 -21 442 0T308
+62L354 161Q459 81 593 79Q710 77 796 143T896 315Q903 375 874 430T771 558T664 690T638 816Q643 865 661 908T726 1029T792 1148T817 1240Q827 1323 780 1381T647 1444Q529 1449 452 1367T352 1128L160 0Z" />
+<glyph unicode="&#xe0;" horiz-adv-x="1074" d="M719 0Q714 38 716 76L725 151Q650 70 554 24T345 -20Q208 -18 123 66T46 279Q54 386 119 464T306 586T577 630L798 629L816 753Q828 864 768 931T591 1002Q473 1004 386 944T276 784H159Q179 926 305 1015T603
+1103Q770 1099 860 1002T934 750L844 206L836 119Q833 65 844 12L842 0H719ZM365 85Q475 81 575 137T742 298L783 537L592 538Q410 538 295 474T168 289Q159 201 214 144T365 85ZM743 1245H643L467 1524H601L743 1245Z" />
+<glyph unicode="&#xe1;" horiz-adv-x="1074" d="M719 0Q714 38 716 76L725 151Q650 70 554 24T345 -20Q208 -18 123 66T46 279Q54 386 119 464T306 586T577 630L798 629L816 753Q828 864 768 931T591 1002Q473 1004 386 944T276 784H159Q179 926 305 1015T603
+1103Q770 1099 860 1002T934 750L844 206L836 119Q833 65 844 12L842 0H719ZM365 85Q475 81 575 137T742 298L783 537L592 538Q410 538 295 474T168 289Q159 201 214 144T365 85ZM830 1524L980 1523L712 1246H600L830 1524Z" />
+<glyph unicode="&#xe2;" horiz-adv-x="1074" d="M719 0Q714 38 716 76L725 151Q650 70 554 24T345 -20Q208 -18 123 66T46 279Q54 386 119 464T306 586T577 630L798 629L816 753Q828 864 768 931T591 1002Q473 1004 386 944T276 784H159Q179 926 305 1015T603
+1103Q770 1099 860 1002T934 750L844 206L836 119Q833 65 844 12L842 0H719ZM365 85Q475 81 575 137T742 298L783 537L592 538Q410 538 295 474T168 289Q159 201 214 144T365 85ZM951 1269L950 1257L842 1258L713 1439L519 1259L409 1258L410 1272L680 1526H753L951
+1269Z" />
+<glyph unicode="&#xe3;" horiz-adv-x="1074" d="M719 0Q714 38 716 76L725 151Q650 70 554 24T345 -20Q208 -18 123 66T46 279Q54 386 119 464T306 586T577 630L798 629L816 753Q828 864 768 931T591 1002Q473 1004 386 944T276 784H159Q179 926 305 1015T603
+1103Q770 1099 860 1002T934 750L844 206L836 119Q833 65 844 12L842 0H719ZM365 85Q475 81 575 137T742 298L783 537L592 538Q410 538 295 474T168 289Q159 201 214 144T365 85ZM1043 1494Q1029 1394 973 1337T833 1279Q802 1279 777 1289T702 1334T627 1380T571
+1392Q525 1392 492 1361T444 1274L355 1277Q369 1373 426 1432T567 1490Q605 1490 636 1473T699 1434T763 1394T831 1377Q923 1377 959 1499L1043 1494Z" />
+<glyph unicode="&#xe4;" horiz-adv-x="1074" d="M719 0Q714 38 716 76L725 151Q650 70 554 24T345 -20Q208 -18 123 66T46 279Q54 386 119 464T306 586T577 630L798 629L816 753Q828 864 768 931T591 1002Q473 1004 386 944T276 784H159Q179 926 305 1015T603
+1103Q770 1099 860 1002T934 750L844 206L836 119Q833 65 844 12L842 0H719ZM365 85Q475 81 575 137T742 298L783 537L592 538Q410 538 295 474T168 289Q159 201 214 144T365 85ZM412 1396Q414 1430 438 1453T497 1478Q532 1478 554 1455T574 1396Q572 1363 547
+1340T489 1316Q454 1316 432 1338T412 1396ZM836 1395Q838 1429 864 1453T921 1477Q956 1478 978 1454T998 1395Q996 1361 971 1339T913 1315Q879 1315 857 1337T836 1395Z" />
+<glyph unicode="&#xe5;" horiz-adv-x="1074" d="M719 0Q714 38 716 76L725 151Q650 70 554 24T345 -20Q208 -18 123 66T46 279Q54 386 119 464T306 586T577 630L798 629L816 753Q828 864 768 931T591 1002Q473 1004 386 944T276 784H159Q179 926 305 1015T603
+1103Q770 1099 860 1002T934 750L844 206L836 119Q833 65 844 12L842 0H719ZM365 85Q475 81 575 137T742 298L783 537L592 538Q410 538 295 474T168 289Q159 201 214 144T365 85ZM515 1392Q517 1475 576 1533T715 1591Q790 1591 841 1538T891 1408Q889 1328 831
+1270T690 1212Q615 1212 564 1263T515 1392ZM592 1394Q588 1348 614 1316T686 1284Q734 1284 771 1318T815 1406Q819 1454 792 1486T719 1519Q672 1519 634 1482T592 1394Z" />
+<glyph unicode="&#xe6;" horiz-adv-x="1690" d="M1134 -19Q1012 -17 918 37T781 186Q700 80 584 29T336 -20Q188 -18 106 65T33 285Q45 449 174 541T510 633L765 632L777 721Q791 851 741 924T583 1001Q460 1003 372 941T260 766L145 778Q165 927 289 1017T591
+1102Q710 1100 789 1043T890 890Q1055 1106 1277 1102Q1458 1098 1550 970T1618 638L1603 538H871L866 508Q855 431 863 356Q875 232 947 159T1139 82Q1308 78 1470 199L1509 110Q1358 -23 1134 -19ZM358 80Q445 78 535 119T697 235L750 536L510 537Q366 537 266
+467T153 281Q144 186 201 133T358 80ZM1269 1001Q1141 1004 1042 913T884 636H1499Q1513 729 1504 791Q1489 888 1428 943T1269 1001Z" />
+<glyph unicode="&#xe7;" horiz-adv-x="1033" d="M465 80Q583 76 673 145T794 333H907Q877 172 750 74T459 -21Q328 -18 239 51T111 242T85 517L89 560Q101 665 140 764T246 939T403 1060T610 1102Q776 1098 874 990T966 716L853 717Q855 842 788 919T605 1000Q481
+1004 386 928T243 713T198 418Q201 257 270 171T465 80ZM473 -9L451 -75Q592 -101 586 -237Q581 -335 497 -389T267 -446L268 -367Q364 -364 421 -331T487 -240Q496 -161 393 -143L338 -135L383 -9H473Z" />
+<glyph unicode="&#xe8;" horiz-adv-x="1036" d="M475 -20Q345 -18 250 52T111 244T79 507L82 541Q96 691 171 826T361 1033T607 1102Q728 1100 811 1036T933 858T957 606L949 533H200L197 509Q182 400 213 301T314 143T484 82Q580 79 657 119T799 226L869 169Q796
+75 696 27T475 -20ZM601 1000Q471 1005 368 908T213 635L841 634L844 649Q862 791 794 893T601 1000ZM719 1245H619L443 1524H577L719 1245Z" />
+<glyph unicode="&#xe9;" horiz-adv-x="1036" d="M475 -20Q345 -18 250 52T111 244T79 507L82 541Q96 691 171 826T361 1033T607 1102Q728 1100 811 1036T933 858T957 606L949 533H200L197 509Q182 400 213 301T314 143T484 82Q580 79 657 119T799 226L869 169Q796
+75 696 27T475 -20ZM601 1000Q471 1005 368 908T213 635L841 634L844 649Q862 791 794 893T601 1000ZM806 1524L956 1523L688 1246H576L806 1524Z" />
+<glyph unicode="&#xea;" horiz-adv-x="1036" d="M475 -20Q345 -18 250 52T111 244T79 507L82 541Q96 691 171 826T361 1033T607 1102Q728 1100 811 1036T933 858T957 606L949 533H200L197 509Q182 400 213 301T314 143T484 82Q580 79 657 119T799 226L869 169Q796
+75 696 27T475 -20ZM601 1000Q471 1005 368 908T213 635L841 634L844 649Q862 791 794 893T601 1000ZM927 1269L926 1257L818 1258L689 1439L495 1259L385 1258L386 1272L656 1526H729L927 1269Z" />
+<glyph unicode="&#xeb;" horiz-adv-x="1036" d="M475 -20Q345 -18 250 52T111 244T79 507L82 541Q96 691 171 826T361 1033T607 1102Q728 1100 811 1036T933 858T957 606L949 533H200L197 509Q182 400 213 301T314 143T484 82Q580 79 657 119T799 226L869 169Q796
+75 696 27T475 -20ZM601 1000Q471 1005 368 908T213 635L841 634L844 649Q862 791 794 893T601 1000ZM388 1396Q390 1430 414 1453T473 1478Q508 1478 530 1455T550 1396Q548 1363 523 1340T465 1316Q430 1316 408 1338T388 1396ZM812 1395Q814 1429 840 1453T897
+1477Q932 1478 954 1454T974 1395Q972 1361 947 1339T889 1315Q855 1315 833 1337T812 1395Z" />
+<glyph unicode="&#xec;" horiz-adv-x="452" d="M177 0H57L246 1082H365L177 0ZM659 1489H559L383 1768H517L659 1489Z" />
+<glyph unicode="&#xed;" horiz-adv-x="452" d="M177 0H57L246 1082H365L177 0ZM489 1768L639 1767L371 1490H259L489 1768Z" />
+<glyph unicode="&#xee;" horiz-adv-x="452" d="M177 0H57L246 1082H365L177 0ZM611 1257L610 1245L502 1246L373 1427L179 1247L69 1246L70 1260L340 1514H413L611 1257Z" />
+<glyph unicode="&#xef;" horiz-adv-x="452" d="M177 0H57L246 1082H365L177 0ZM72 1384Q74 1418 98 1441T157 1466Q192 1466 214 1443T234 1384Q232 1351 207 1328T149 1304Q114 1304 92 1326T72 1384ZM496 1383Q498 1417 524 1441T581 1465Q616 1466 638 1442T658
+1383Q656 1349 631 1327T573 1303Q539 1303 517 1325T496 1383Z" />
+<glyph unicode="&#xf0;" horiz-adv-x="1165" d="M912 1301Q1049 1085 1045 800Q1042 681 1018 527T925 249T759 56Q645 -25 506 -21Q383 -17 292 46T157 220T125 458Q139 604 206 721T383 904T625 966Q713 964 793 928T927 821Q931 1059 807 1239L563 1100L523
+1179L744 1304Q634 1408 441 1476L490 1577Q708 1504 852 1367L1063 1488L1103 1409L912 1301ZM916 686Q884 770 811 815T639 862Q481 866 374 755T245 458Q227 304 302 195T516 82Q666 77 769 207T901 558L910 626L916 686Z" />
+<glyph unicode="&#xf1;" horiz-adv-x="1101" d="M348 1082L312 897Q384 997 478 1050T681 1102Q837 1098 908 993T958 704L840 0H722L840 706Q846 763 842 816Q825 994 648 999Q543 1001 452 937T292 742L164 0H46L234 1082H348ZM1039 1493Q1025 1393 969 1336T829
+1278Q798 1278 773 1288T698 1333T623 1379T567 1391Q521 1391 488 1360T440 1273L351 1276Q365 1372 422 1431T563 1489Q601 1489 632 1472T695 1433T759 1393T827 1376Q919 1376 955 1498L1039 1493Z" />
+<glyph unicode="&#xf2;" horiz-adv-x="1123" d="M75 551Q93 708 171 838T365 1037T618 1102Q752 1100 846 1029T984 834T1014 560L1012 541Q982 285 831 130T467 -20Q285 -17 176 114T69 460L72 517L75 551ZM191 517Q178 398 208 298T306 140T473 80Q581 78 670
+135T818 296T893 526L896 559Q914 752 837 874T612 1000Q452 1005 336 877T193 535L191 517ZM723 1245H623L447 1524H581L723 1245Z" />
+<glyph unicode="&#xf3;" horiz-adv-x="1123" d="M75 551Q93 708 171 838T365 1037T618 1102Q752 1100 846 1029T984 834T1014 560L1012 541Q982 285 831 130T467 -20Q285 -17 176 114T69 460L72 517L75 551ZM191 517Q178 398 208 298T306 140T473 80Q581 78 670
+135T818 296T893 526L896 559Q914 752 837 874T612 1000Q452 1005 336 877T193 535L191 517ZM810 1524L960 1523L692 1246H580L810 1524Z" />
+<glyph unicode="&#xf4;" horiz-adv-x="1123" d="M75 551Q93 708 171 838T365 1037T618 1102Q752 1100 846 1029T984 834T1014 560L1012 541Q982 285 831 130T467 -20Q285 -17 176 114T69 460L72 517L75 551ZM191 517Q178 398 208 298T306 140T473 80Q581 78 670
+135T818 296T893 526L896 559Q914 752 837 874T612 1000Q452 1005 336 877T193 535L191 517ZM931 1269L930 1257L822 1258L693 1439L499 1259L389 1258L390 1272L660 1526H733L931 1269Z" />
+<glyph unicode="&#xf5;" horiz-adv-x="1123" d="M75 551Q93 708 171 838T365 1037T618 1102Q752 1100 846 1029T984 834T1014 560L1012 541Q982 285 831 130T467 -20Q285 -17 176 114T69 460L72 517L75 551ZM191 517Q178 398 208 298T306 140T473 80Q581 78 670
+135T818 296T893 526L896 559Q914 752 837 874T612 1000Q452 1005 336 877T193 535L191 517ZM1023 1493Q1009 1393 953 1336T813 1278Q782 1278 757 1288T682 1333T607 1379T551 1391Q505 1391 472 1360T424 1273L335 1276Q349 1372 406 1431T547 1489Q585 1489
+616 1472T679 1433T743 1393T811 1376Q903 1376 939 1498L1023 1493Z" />
+<glyph unicode="&#xf6;" horiz-adv-x="1123" d="M75 551Q93 708 171 838T365 1037T618 1102Q752 1100 846 1029T984 834T1014 560L1012 541Q982 285 831 130T467 -20Q285 -17 176 114T69 460L72 517L75 551ZM191 517Q178 398 208 298T306 140T473 80Q581 78 670
+135T818 296T893 526L896 559Q914 752 837 874T612 1000Q452 1005 336 877T193 535L191 517ZM392 1396Q394 1430 418 1453T477 1478Q512 1478 534 1455T554 1396Q552 1363 527 1340T469 1316Q434 1316 412 1338T392 1396ZM816 1395Q818 1429 844 1453T901 1477Q936
+1478 958 1454T978 1395Q976 1361 951 1339T893 1315Q859 1315 837 1337T816 1395Z" />
+<glyph unicode="&#xf7;" horiz-adv-x="1139" d="M1047 644H76L97 760H1068L1047 644ZM564 1088Q566 1123 591 1147T651 1172Q687 1173 710 1149T731 1088Q728 1053 703 1030T642 1005Q604 1005 582 1029T564 1088ZM426 291Q428 326 453 350T513 375Q549 376 572
+352T593 291Q590 256 565 233T504 209T446 231T426 291Z" />
+<glyph unicode="&#xf8;" horiz-adv-x="1116" d="M631 1104Q741 1100 833 1054L940 1214L1040 1213L901 1008Q1015 883 1021 680Q1024 475 953 316T750 66T459 -22Q361 -21 269 21L161 -140L61 -139L198 65Q76 187 69 396Q63 592 134 756T337 1014T631 1104ZM184
+425Q181 262 257 164L775 960Q704 1002 625 1003Q502 1006 402 931T244 721T184 425ZM905 649Q908 800 840 904L324 112Q389 80 464 78Q649 74 774 235T905 649Z" />
+<glyph unicode="&#xf9;" horiz-adv-x="1101" d="M764 136Q635 -26 408 -20Q255 -17 180 90T126 389L242 1082H360L245 386Q239 332 244 279Q251 187 299 137T431 84Q551 79 653 139T785 298L919 1082H1039L851 0H735L764 136ZM737 1245H637L461 1524H595L737 1245Z" />
+<glyph unicode="&#xfa;" horiz-adv-x="1101" d="M764 136Q635 -26 408 -20Q255 -17 180 90T126 389L242 1082H360L245 386Q239 332 244 279Q251 187 299 137T431 84Q551 79 653 139T785 298L919 1082H1039L851 0H735L764 136ZM824 1524L974 1523L706 1246H594L824 1524Z" />
+<glyph unicode="&#xfb;" horiz-adv-x="1101" d="M764 136Q635 -26 408 -20Q255 -17 180 90T126 389L242 1082H360L245 386Q239 332 244 279Q251 187 299 137T431 84Q551 79 653 139T785 298L919 1082H1039L851 0H735L764 136ZM945 1269L944 1257L836 1258L707
+1439L513 1259L403 1258L404 1272L674 1526H747L945 1269Z" />
+<glyph unicode="&#xfc;" horiz-adv-x="1101" d="M764 136Q635 -26 408 -20Q255 -17 180 90T126 389L242 1082H360L245 386Q239 332 244 279Q251 187 299 137T431 84Q551 79 653 139T785 298L919 1082H1039L851 0H735L764 136ZM406 1396Q408 1430 432 1453T491
+1478Q526 1478 548 1455T568 1396Q566 1363 541 1340T483 1316Q448 1316 426 1338T406 1396ZM830 1395Q832 1429 858 1453T915 1477Q950 1478 972 1454T992 1395Q990 1361 965 1339T907 1315Q873 1315 851 1337T830 1395Z" />
+<glyph unicode="&#xfd;" horiz-adv-x="954" d="M408 176L871 1082H1004L344 -174Q271 -320 190 -381T8 -440Q-30 -438 -88 -424L-76 -326L-16 -333Q152 -340 249 -135L325 16L116 1082H241L408 176ZM766 1524L916 1523L648 1246H536L766 1524Z" />
+<glyph unicode="&#xfe;" horiz-adv-x="1126" d="M504 -21Q411 -19 329 18T196 136L96 -416H-23L316 1536H435L323 932Q463 1108 672 1102Q828 1098 912 986T998 680Q998 617 992 558L990 542Q954 279 825 126Q696 -26 504 -21ZM873 558L879 653Q882 813 822 904T640
+999Q535 1001 450 948T305 792L216 269Q248 178 317 130T484 80Q635 75 737 196T873 558Z" />
+<glyph unicode="&#xff;" horiz-adv-x="954" d="M408 176L871 1082H1004L344 -174Q271 -320 190 -381T8 -440Q-30 -438 -88 -424L-76 -326L-16 -333Q152 -340 249 -135L325 16L116 1082H241L408 176ZM348 1396Q350 1430 374 1453T433 1478Q468 1478 490 1455T510
+1396Q508 1363 483 1340T425 1316Q390 1316 368 1338T348 1396ZM772 1395Q774 1429 800 1453T857 1477Q892 1478 914 1454T934 1395Q932 1361 907 1339T849 1315Q815 1315 793 1337T772 1395Z" />
+<glyph unicode="&#x2013;" horiz-adv-x="1304" d="M1401 686H426L448 788H1424L1401 686Z" />
+<glyph unicode="&#x2014;" horiz-adv-x="1543" d="M1444 686H143L173 788H1474L1444 686Z" />
+<glyph unicode="&#x2018;" horiz-adv-x="363" d="M389 1555L458 1501Q353 1380 326 1257L302 1121H184L201 1230Q231 1422 389 1555Z" />
+<glyph unicode="&#x2019;" horiz-adv-x="363" d="M227 1097L156 1153Q262 1277 288 1402L312 1536H429L411 1422Q380 1226 227 1097Z" />
+<glyph unicode="&#x201a;" horiz-adv-x="352" d="M-28 -232L-95 -177Q8 -58 35 66L60 205H178L160 85Q127 -101 -28 -232Z" />
+<glyph unicode="&#x201c;" horiz-adv-x="604" d="M390 1555L459 1501Q354 1380 327 1257L303 1121H185L202 1230Q232 1422 390 1555ZM633 1555L702 1501Q597 1380 570 1257L546 1121H428L445 1230Q475 1422 633 1555Z" />
+<glyph unicode="&#x201d;" horiz-adv-x="608" d="M233 1097L162 1153Q268 1277 294 1402L318 1536H435L417 1422Q386 1226 233 1097ZM470 1097L399 1153Q505 1277 531 1402L555 1536H672L654 1422Q623 1226 470 1097Z" />
+<glyph unicode="&#x201e;" horiz-adv-x="585" d="M-30 -241L-97 -186Q15 -53 39 87L65 236H183L160 90Q128 -107 -30 -241ZM207 -242L131 -185Q236 -62 263 75L291 236H410L384 71Q351 -113 207 -242Z" />
+<glyph unicode="&#x2022;" horiz-adv-x="652" d="M165 745Q171 828 224 879T358 931Q434 931 479 884T525 755L524 718Q518 637 466 588T332 538Q256 538 210 586T164 710L165 745Z" />
+<glyph unicode="&#x2039;" horiz-adv-x="601" d="M217 549L415 167H320L95 545L97 564L445 944H559L217 549Z" />
+<glyph unicode="&#x203a;" horiz-adv-x="601" d="M253 944L477 562L475 542L127 162H13L354 556L157 944H253Z" />
+</font>
+</defs>
+</svg>
diff --git a/assets/fonts/Roboto-300italic/Roboto-300italic.ttf b/assets/fonts/Roboto-300italic/Roboto-300italic.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..ef1d13ceee0fbcd9bf33ac437372a0abae2857f5
GIT binary patch
literal 34384
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

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-300italic/Roboto-300italic.woff b/assets/fonts/Roboto-300italic/Roboto-300italic.woff
new file mode 100644
index 0000000000000000000000000000000000000000..fc4a8b5ae7d24b1fc390521113ee34c0e3a66b87
GIT binary patch
literal 15004
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

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-300italic/Roboto-300italic.woff2 b/assets/fonts/Roboto-300italic/Roboto-300italic.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..05fdb0ae9302ffdfeb80498fffcf46ae3c0d371e
GIT binary patch
literal 11844
zcmV-KF1yipPew8T0RR9104_uT4gdfE091$o04?hP0ssI200000000000000000000
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

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-500/LICENSE.txt b/assets/fonts/Roboto-500/LICENSE.txt
new file mode 100644
index 00000000..d6456956
--- /dev/null
+++ b/assets/fonts/Roboto-500/LICENSE.txt
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/assets/fonts/Roboto-500/Roboto-500.eot b/assets/fonts/Roboto-500/Roboto-500.eot
new file mode 100644
index 0000000000000000000000000000000000000000..8c06caa2d6b9e9da215c7c50b308b351044e1e5e
GIT binary patch
literal 16310
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
F{vY~qss;c6

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-500/Roboto-500.svg b/assets/fonts/Roboto-500/Roboto-500.svg
new file mode 100644
index 00000000..2b989161
--- /dev/null
+++ b/assets/fonts/Roboto-500/Roboto-500.svg
@@ -0,0 +1,305 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg">
+<defs >
+<font id="Roboto" horiz-adv-x="1173" ><font-face
+    font-family="Roboto Medium"
+    units-per-em="2048"
+    panose-1="2 0 0 0 0 0 0 0 0 0"
+    ascent="1900"
+    descent="-500"
+    alphabetic="0" />
+<glyph unicode=" " horiz-adv-x="510" />
+<glyph unicode="!" horiz-adv-x="549" d="M382 429H173L150 1456H406L382 429ZM143 115Q143 172 180 209T281 247T382 210T419 115Q419 60 383 23T281 -14T179 23T143 115Z" />
+<glyph unicode="&quot;" horiz-adv-x="664" d="M275 1399L240 1012H101V1536H275V1399ZM576 1399L541 1012H402V1536H576V1399Z" />
+<glyph unicode="#" horiz-adv-x="1250" d="M719 410H495L419 0H251L327 410H96V568H357L415 881H172V1040H445L523 1456H690L612 1040H837L915 1456H1082L1004 1040H1212V881H974L916 568H1137V410H886L810 0H643L719 410ZM525 568H749L807 881H583L525 568Z" />
+<glyph unicode="$" horiz-adv-x="1164" d="M819 380Q819 465 765 520T585 620T389 703Q156 828 156 1073Q156 1239 257 1346T531 1473V1691H691V1471Q865 1446 960 1324T1055 1005H813Q813 1131 757 1203T603 1276Q507 1276 453 1224T399 1075Q399 988 452 936T634
+836T835 749T958 658T1035 539T1062 382Q1062 213 959 108T670 -16V-211H511V-17Q313 5 207 125T100 443H343Q343 317 406 248T586 179Q700 179 759 234T819 380Z" />
+<glyph unicode="%" horiz-adv-x="1504" d="M99 1176Q99 1308 184 1392T407 1477Q547 1477 631 1393T716 1171V1099Q716 968 632 884T409 800Q274 800 187 882T99 1105V1176ZM269 1099Q269 1030 307 988T409 945Q471 945 509 987T547 1103V1176Q547 1245 509 1288T407
+1331T307 1288T269 1173V1099ZM799 357Q799 491 886 574T1108 657Q1244 657 1330 574T1417 350V279Q1417 149 1334 65T1110 -20T885 63T799 284V357ZM969 279Q969 211 1008 168T1110 124Q1174 124 1210 165T1247 282V357Q1247 427 1208 469T1108 511Q1046 511 1008
+469T969 353V279ZM459 109L334 181L1045 1319L1170 1247L459 109Z" />
+<glyph unicode="&amp;" horiz-adv-x="1309" d="M86 393Q86 494 141 578T358 779Q273 886 240 961T206 1106Q206 1277 310 1376T590 1476Q749 1476 850 1383T952 1151Q952 1060 906 984T755 831L656 759L937 427Q998 547 998 694H1209Q1209 425 1083 253L1297 0H1015L933
+97Q777 -20 561 -20T216 94T86 393ZM568 174Q691 174 798 256L480 631L449 609Q329 518 329 401Q329 300 394 237T568 174ZM434 1112Q434 1028 537 901L648 977L679 1002Q741 1057 741 1143Q741 1200 698 1240T589 1281Q518 1281 476 1233T434 1112Z" />
+<glyph unicode="&apos;" horiz-adv-x="346" d="M267 1411L241 1020H82V1536H267V1411Z" />
+<glyph unicode="(" horiz-adv-x="714" d="M128 592Q128 823 190 1030T372 1401T626 1631L674 1489Q533 1382 446 1163T350 660L349 574Q349 271 434 34T674 -328L626 -463Q492 -397 372 -233T190 138T128 592Z" />
+<glyph unicode=")" horiz-adv-x="722" d="M593 576Q593 354 532 148T347 -228T88 -463L40 -328Q190 -212 277 26T365 571V594Q365 872 289 1100T71 1467L40 1495L88 1631Q216 1569 336 1411T520 1058T592 654L593 576Z" />
+<glyph unicode="*" horiz-adv-x="905" d="M332 972L27 1060L82 1229L384 1112L369 1456H548L533 1106L830 1221L884 1049L574 961L774 695L629 589L449 877L271 598L125 700L332 972Z" />
+<glyph unicode="+" horiz-adv-x="1141" d="M686 801H1066V579H686V146H450V579H68V801H450V1206H686V801Z" />
+<glyph unicode="," horiz-adv-x="450" d="M159 -328L28 -250Q86 -159 107 -92T130 46V235H349L348 60Q347 -46 295 -152T159 -328Z" />
+<glyph unicode="-" horiz-adv-x="672" d="M596 521H71V717H596V521Z" />
+<glyph unicode="." horiz-adv-x="572" d="M276 256Q344 256 381 218T418 121Q418 64 381 27T276 -11Q211 -11 173 26T135 121T172 217T276 256Z" />
+<glyph unicode="/" horiz-adv-x="810" d="M193 -125H2L575 1456H766L193 -125Z" />
+<glyph unicode="0" horiz-adv-x="1164" d="M1058 613Q1058 299 941 140T583 -20Q347 -20 228 135T105 596V848Q105 1162 222 1319T581 1476Q820 1476 937 1323T1058 865V613ZM815 885Q815 1090 759 1185T581 1281Q462 1281 406 1191T347 908V578Q347 374 404 274T583
+174Q700 174 756 266T815 556V885Z" />
+<glyph unicode="1" horiz-adv-x="1164" d="M767 0H525V1169L168 1047V1252L736 1461H767V0Z" />
+<glyph unicode="2" horiz-adv-x="1164" d="M1088 0H109V167L594 696Q699 813 743 891T788 1049Q788 1153 730 1217T572 1281Q454 1281 389 1209T324 1012H81Q81 1145 141 1251T314 1417T574 1476Q786 1476 908 1370T1031 1075Q1031 966 970 847T768 575L412 194H1088V0Z" />
+<glyph unicode="3" horiz-adv-x="1164" d="M390 839H538Q650 840 715 897T781 1062Q781 1166 727 1223T560 1281Q462 1281 399 1225T336 1077H93Q93 1189 152 1281T318 1424T557 1476Q775 1476 899 1367T1024 1062Q1024 964 962 878T800 747Q920 706 982 618T1045
+408Q1045 212 911 96T557 -20Q347 -20 213 92T79 390H322Q322 294 386 234T560 174Q673 174 738 234T803 408Q803 523 735 585T533 647H390V839Z" />
+<glyph unicode="4" horiz-adv-x="1164" d="M931 519H1112V324H931V0H688V324H59L52 472L680 1456H931V519ZM307 519H688V1127L670 1095L307 519Z" />
+<glyph unicode="5" horiz-adv-x="1164" d="M174 722L253 1456H1035V1246H455L415 898Q516 956 643 956Q851 956 966 823T1082 465Q1082 243 954 112T603 -20Q403 -20 272 93T129 393H364Q378 287 440 231T602 174Q714 174 776 254T839 472Q839 605 770 682T580
+760Q514 760 468 743T368 674L174 722Z" />
+<glyph unicode="6" horiz-adv-x="1164" d="M865 1463V1262H835Q631 1259 509 1150T364 841Q481 964 663 964Q856 964 967 828T1079 477Q1079 255 949 118T606 -20Q388 -20 253 141T117 563V646Q117 1029 303 1246T840 1463H865ZM604 768Q524 768 458 723T360 603V529Q360
+367 428 272T604 176T775 257T838 470T774 685T604 768Z" />
+<glyph unicode="7" horiz-adv-x="1164" d="M1078 1321L496 0H241L822 1261H69V1456H1078V1321Z" />
+<glyph unicode="8" horiz-adv-x="1164" d="M1026 1072Q1026 965 971 882T821 750Q935 697 996 605T1058 397Q1058 205 928 93T582 -20Q365 -20 235 93T104 397Q104 514 166 607T340 750Q246 798 192 881T137 1072Q137 1258 257 1367T581 1476Q786 1476 906 1367T1026
+1072ZM815 409Q815 517 751 583T580 650T411 584T347 409Q347 302 409 238T582 174T753 236T815 409ZM784 1063Q784 1158 729 1219T581 1281T434 1223T380 1063Q380 963 434 904T582 845T729 904T784 1063Z" />
+<glyph unicode="9" horiz-adv-x="1164" d="M798 609Q676 480 513 480Q321 480 207 614T93 968Q93 1112 151 1229T316 1411T564 1476Q784 1476 913 1312T1042 873V805Q1042 411 864 204T333 -6H304V195H339Q554 198 669 298T798 609ZM564 670Q637 670 701 712T800
+828V923Q800 1084 734 1182T563 1280T396 1194T333 975Q333 838 396 754T564 670Z" />
+<glyph unicode=":" horiz-adv-x="543" d="M527 256Q595 256 632 218T669 121Q669 64 632 27T527 -11Q462 -11 424 26T386 121T423 217T527 256ZM271 1105Q339 1105 376 1067T413 970Q413 913 376 876T271 838Q206 838 168 875T130 970T167 1066T271 1105Z" />
+<glyph unicode=";" horiz-adv-x="487" d="M250 1105Q318 1105 355 1067T392 970Q392 913 355 876T250 838Q185 838 147 875T109 970T146 1066T250 1105ZM177 -328L46 -250Q104 -159 125 -92T148 46V235H367L366 60Q365 -46 313 -152T177 -328Z" />
+<glyph unicode="&lt;" horiz-adv-x="1041" d="M310 631L900 407V164L63 537V730L900 1102V859L310 631Z" />
+<glyph unicode="=" horiz-adv-x="1146" d="M1007 780H145V982H1007V780ZM1007 356H145V557H1007V356Z" />
+<glyph unicode="&gt;" horiz-adv-x="1066" d="M746 636L128 863V1102L992 730V537L128 165V404L746 636Z" />
+<glyph unicode="?" horiz-adv-x="996" d="M350 428Q350 561 383 640T513 813T637 948Q677 1009 677 1080Q677 1174 631 1223T494 1273Q408 1273 356 1225T303 1093H60Q62 1270 180 1373T494 1476Q695 1476 807 1374T920 1089Q920 926 768 768L645 647Q579 572
+577 428H350ZM333 117Q333 176 370 212T470 249Q534 249 571 212T608 117Q608 62 572 25T470 -12T369 25T333 117Z" />
+<glyph unicode="@" horiz-adv-x="1832" d="M1741 518Q1729 268 1618 124T1317 -21Q1136 -21 1075 133Q1024 57 957 19T815 -19Q669 -19 594 101T536 422Q552 585 615 716T776 918T984 990Q1068 990 1132 969T1284 882L1232 319Q1213 121 1346 121Q1448 121 1513
+230T1585 514Q1602 883 1443 1079T963 1275Q767 1275 616 1177T375 894T277 471Q265 230 334 56T547 -210T898 -301Q982 -301 1073 -281T1229 -227L1267 -364Q1206 -404 1103 -428T894 -453Q640 -453 458 -346T185 -34Q91 177 102 471Q114 745 225 963T528 1303T967
+1424Q1216 1424 1395 1315T1664 1000T1741 518ZM732 422Q719 286 756 216T874 145Q928 145 976 192T1054 323L1099 816Q1049 835 1002 835Q891 835 821 731T732 422Z" />
+<glyph unicode="A" horiz-adv-x="1363" d="M963 339H399L281 0H18L568 1456H795L1346 0H1082L963 339ZM470 543H892L681 1147L470 543Z" />
+<glyph unicode="B" horiz-adv-x="1292" d="M148 0V1456H647Q894 1456 1023 1357T1152 1062Q1152 962 1098 882T940 758Q1058 726 1122 638T1187 425Q1187 220 1056 110T679 0H148ZM401 657V202H682Q801 202 868 261T935 425Q935 652 703 657H401ZM401 843H649Q767
+843 833 896T900 1048Q900 1156 839 1204T647 1252H401V843Z" />
+<glyph unicode="C" horiz-adv-x="1337" d="M1259 474Q1237 241 1087 111T688 -20Q514 -20 382 62T177 297T102 650V786Q102 992 175 1149T384 1391T700 1476Q941 1476 1088 1345T1259 975H1007Q989 1132 916 1201T700 1271Q535 1271 447 1151T356 797V668Q356
+432 440 308T688 184Q837 184 912 251T1007 474H1259Z" />
+<glyph unicode="D" horiz-adv-x="1338" d="M148 0V1456H578Q771 1456 920 1370T1152 1126T1234 764V691Q1234 484 1152 327T917 85T567 0H148ZM401 1252V202H566Q765 202 871 326T980 684V765Q980 1002 877 1127T578 1252H401Z" />
+<glyph unicode="E" horiz-adv-x="1158" d="M999 650H401V202H1100V0H148V1456H1093V1252H401V850H999V650Z" />
+<glyph unicode="F" horiz-adv-x="1125" d="M987 617H401V0H148V1456H1073V1252H401V819H987V617Z" />
+<glyph unicode="G" horiz-adv-x="1394" d="M1264 189Q1185 86 1045 33T727 -20Q544 -20 403 63T186 300T106 661V775Q106 1105 264 1290T705 1476Q948 1476 1091 1356T1263 1010H1015Q973 1273 710 1273Q540 1273 452 1151T360 791V679Q360 443 459 313T736 182Q930
+182 1012 270V555H712V747H1264V189Z" />
+<glyph unicode="H" horiz-adv-x="1455" d="M1304 0H1052V647H401V0H148V1456H401V850H1052V1456H1304V0Z" />
+<glyph unicode="I" horiz-adv-x="578" d="M415 0H163V1456H415V0Z" />
+<glyph unicode="J" horiz-adv-x="1137" d="M744 1456H996V435Q996 226 866 103T521 -20Q293 -20 169 95T45 415H297Q297 299 354 241T521 182Q623 182 683 249T744 436V1456Z" />
+<glyph unicode="K" horiz-adv-x="1291" d="M566 629L401 454V0H148V1456H401V773L541 946L967 1456H1273L732 811L1304 0H1004L566 629Z" />
+<glyph unicode="L" horiz-adv-x="1108" d="M401 202H1062V0H148V1456H401V202Z" />
+<glyph unicode="M" horiz-adv-x="1793" d="M476 1456L896 340L1315 1456H1642V0H1390V480L1415 1122L985 0H804L375 1121L400 480V0H148V1456H476Z" />
+<glyph unicode="N" horiz-adv-x="1454" d="M1303 0H1050L401 1033V0H148V1456H401L1052 419V1456H1303V0Z" />
+<glyph unicode="O" horiz-adv-x="1414" d="M1310 690Q1310 476 1236 315T1025 67T708 -20Q531 -20 393 66T179 313T102 682V764Q102 977 177 1140T390 1389T706 1476T1021 1391T1234 1145T1310 771V690ZM1057 766Q1057 1008 966 1137T706 1266Q542 1266 450 1138T355
+774V690Q355 450 448 319T708 188Q876 188 966 316T1057 690V766Z" />
+<glyph unicode="P" horiz-adv-x="1309" d="M401 541V0H148V1456H705Q949 1456 1092 1329T1236 993Q1236 779 1096 660T702 541H401ZM401 744H705Q840 744 911 807T982 991Q982 1109 910 1179T712 1252H401V744Z" />
+<glyph unicode="Q" horiz-adv-x="1414" d="M1305 690Q1305 483 1240 332T1056 91L1306 -104L1142 -252L832 -7Q771 -20 701 -20Q525 -20 387 66T173 313T96 682V764Q96 977 171 1140T384 1389T699 1476Q879 1476 1016 1391T1229 1145T1305 771V690ZM1051 766Q1051
+1012 959 1139T699 1266Q536 1266 444 1138T349 775V690Q349 454 441 321T701 188Q870 188 960 316T1051 690V766Z" />
+<glyph unicode="R" horiz-adv-x="1278" d="M683 561H401V0H148V1456H660Q912 1456 1049 1343T1186 1016Q1186 870 1116 772T919 620L1246 13V0H975L683 561ZM401 764H661Q789 764 861 828T933 1005Q933 1122 867 1186T668 1252H401V764Z" />
+<glyph unicode="S" horiz-adv-x="1236" d="M909 375Q909 471 842 523T598 628T318 746Q119 871 119 1072Q119 1248 262 1362T635 1476Q787 1476 906 1420T1093 1261T1161 1031H909Q909 1145 838 1209T633 1274Q509 1274 441 1221T372 1073Q372 993 446 940T690
+836T963 721T1114 573T1162 377Q1162 195 1023 88T644 -20Q486 -20 354 38T148 200T74 440H327Q327 316 409 248T644 180Q776 180 842 233T909 375Z" />
+<glyph unicode="T" horiz-adv-x="1243" d="M1200 1252H746V0H495V1252H45V1456H1200V1252Z" />
+<glyph unicode="U" horiz-adv-x="1335" d="M1213 1456V483Q1213 251 1065 116T669 -20Q419 -20 272 113T125 484V1456H377V482Q377 336 451 259T669 182Q961 182 961 490V1456H1213Z" />
+<glyph unicode="V" horiz-adv-x="1325" d="M661 317L1031 1456H1309L785 0H540L18 1456H295L661 317Z" />
+<glyph unicode="W" horiz-adv-x="1802" d="M1290 360L1514 1456H1765L1429 0H1187L910 1063L627 0H384L48 1456H299L525 362L803 1456H1015L1290 360Z" />
+<glyph unicode="X" horiz-adv-x="1296" d="M649 930L955 1456H1247L807 734L1257 0H962L649 534L335 0H41L492 734L51 1456H343L649 930Z" />
+<glyph unicode="Y" horiz-adv-x="1248" d="M623 766L958 1456H1238L750 536V0H496V536L7 1456H288L623 766Z" />
+<glyph unicode="Z" horiz-adv-x="1233" d="M386 202H1164V0H80V164L833 1252H85V1456H1140V1296L386 202Z" />
+<glyph unicode="[" horiz-adv-x="561" d="M540 1488H375V-135H540V-324H132V1678H540V1488Z" />
+<glyph unicode="\" horiz-adv-x="856" d="M20 1456H260L868 -125H628L20 1456Z" />
+<glyph unicode="]" horiz-adv-x="561" d="M12 1678H422V-324H12V-135H179V1488H12V1678Z" />
+<glyph unicode="^" horiz-adv-x="875" d="M437 1190L259 729H53L352 1456H523L821 729H616L437 1190Z" />
+<glyph unicode="_" horiz-adv-x="924" d="M920 -191H3V0H920V-191Z" />
+<glyph unicode="`" horiz-adv-x="660" d="M521 1233H319L49 1536H326L521 1233Z" />
+<glyph unicode="a" horiz-adv-x="1108" d="M771 0Q755 31 743 101Q627 -20 459 -20Q296 -20 193 73T90 303Q90 476 218 568T586 661H735V732Q735 816 688 866T545 917Q462 917 409 876T356 770H113Q113 859 172 936T332 1058T559 1102Q749 1102 862 1007T978 738V250Q978
+104 1019 17V0H771ZM504 175Q576 175 639 210T735 304V508H604Q469 508 401 461T333 328Q333 258 379 217T504 175Z" />
+<glyph unicode="b" horiz-adv-x="1153" d="M1074 530Q1074 278 962 129T652 -20Q462 -20 356 117L344 0H124V1536H367V978Q472 1102 650 1102Q848 1102 961 955T1074 544V530ZM831 551Q831 727 769 815T589 903Q431 903 367 765V319Q432 178 591 178Q705 178 767
+263T831 520V551Z" />
+<glyph unicode="c" horiz-adv-x="1072" d="M569 174Q660 174 720 227T784 358H1013Q1009 257 950 170T790 31T572 -20Q345 -20 212 127T79 533V558Q79 805 211 953T571 1102Q764 1102 885 990T1013 694H784Q780 787 721 847T569 907Q451 907 387 822T322 562V523Q322
+347 385 261T569 174Z" />
+<glyph unicode="d" horiz-adv-x="1156" d="M79 549Q79 799 195 950T506 1102Q678 1102 784 982V1536H1027V0H807L795 112Q686 -20 504 -20Q314 -20 197 133T79 549ZM322 528Q322 363 385 271T566 178Q715 178 784 311V773Q717 903 568 903Q450 903 386 810T322 528Z" />
+<glyph unicode="e" horiz-adv-x="1099" d="M601 -20Q370 -20 227 125T83 513V543Q83 705 145 832T321 1031T573 1102Q794 1102 914 961T1035 562V464H328Q339 330 417 252T615 174Q782 174 887 309L1018 184Q953 87 845 34T601 -20ZM572 907Q472 907 411 837T332
+642H795V660Q787 782 730 844T572 907Z" />
+<glyph unicode="f" horiz-adv-x="726" d="M210 0V902H45V1082H210V1181Q210 1361 310 1459T590 1557Q654 1557 726 1539L720 1349Q680 1357 627 1357Q453 1357 453 1178V1082H673V902H453V0H210Z" />
+<glyph unicode="g" horiz-adv-x="1161" d="M82 549Q82 801 200 951T515 1102Q700 1102 806 973L817 1082H1036V33Q1036 -180 904 -303T546 -426Q427 -426 314 -377T141 -247L256 -101Q368 -234 532 -234Q653 -234 723 -169T793 24V97Q688 -20 513 -20Q323 -20
+203 131T82 549ZM324 528Q324 365 390 272T575 178Q722 178 793 304V780Q724 903 577 903Q457 903 391 808T324 528Z" />
+<glyph unicode="h" horiz-adv-x="1137" d="M364 964Q483 1102 665 1102Q1011 1102 1016 707V0H773V698Q773 810 725 856T582 903Q436 903 364 773V0H121V1536H364V964Z" />
+<glyph unicode="i" horiz-adv-x="523" d="M383 0H140V1082H383V0ZM125 1363Q125 1419 160 1456T262 1493T364 1456T400 1363Q400 1308 364 1272T262 1235T161 1271T125 1363Z" />
+<glyph unicode="j" horiz-adv-x="513" d="M378 1082V-96Q378 -262 296 -349T54 -437Q-13 -437 -75 -420V-228Q-37 -237 11 -237Q132 -237 135 -105V1082H378ZM114 1363Q114 1419 149 1456T251 1493T353 1456T389 1363Q389 1308 353 1272T251 1235T150 1271T114 1363Z" />
+<glyph unicode="k" horiz-adv-x="1069" d="M476 464L368 353V0H125V1536H368V650L444 745L743 1082H1035L633 631L1078 0H797L476 464Z" />
+<glyph unicode="l" horiz-adv-x="523" d="M383 0H140V1536H383V0Z" />
+<glyph unicode="m" horiz-adv-x="1782" d="M353 1082L360 969Q474 1102 672 1102Q889 1102 969 936Q1087 1102 1301 1102Q1480 1102 1567 1003T1657 711V0H1414V704Q1414 807 1369 855T1220 903Q1137 903 1085 859T1011 742L1012 0H769V712Q764 903 574 903Q428
+903 367 784V0H124V1082H353Z" />
+<glyph unicode="n" horiz-adv-x="1139" d="M350 1082L357 957Q477 1102 672 1102Q1010 1102 1016 715V0H773V701Q773 804 729 853T583 903Q436 903 364 770V0H121V1082H350Z" />
+<glyph unicode="o" horiz-adv-x="1166" d="M79 551Q79 710 142 837T319 1033T581 1102Q800 1102 936 961T1084 587L1085 530Q1085 370 1024 244T848 49T583 -20Q354 -20 217 132T79 539V551ZM322 530Q322 363 391 269T583 174T774 270T843 551Q843 715 773 811T581
+907Q462 907 392 813T322 530Z" />
+<glyph unicode="p" horiz-adv-x="1153" d="M1072 530Q1072 279 958 130T652 -20Q474 -20 367 97V-416H124V1082H348L358 972Q465 1102 649 1102Q847 1102 959 955T1072 545V530ZM830 551Q830 713 766 808T581 903Q432 903 367 780V300Q433 174 583 174Q699 174
+764 267T830 551Z" />
+<glyph unicode="q" horiz-adv-x="1163" d="M79 550Q79 804 195 953T509 1102Q690 1102 796 975L810 1082H1026V-416H783V92Q677 -20 507 -20Q313 -20 196 131T79 550ZM322 529Q322 363 387 269T569 174Q713 174 783 297V789Q713 907 571 907Q455 907 389 814T322 529Z" />
+<glyph unicode="r" horiz-adv-x="720" d="M691 860Q643 868 592 868Q425 868 367 740V0H124V1082H356L362 961Q450 1102 606 1102Q658 1102 692 1088L691 860Z" />
+<glyph unicode="s" horiz-adv-x="1057" d="M731 294Q731 359 678 393T500 453T293 519Q111 607 111 774Q111 914 229 1008T529 1102Q723 1102 842 1006T962 757H719Q719 827 667 873T529 920Q449 920 399 883T348 784Q348 728 395 697T585 635T809 560T930 455T970
+307Q970 161 849 71T532 -20Q399 -20 295 28T133 160T75 341H311Q316 255 376 209T535 162Q631 162 681 198T731 294Z" />
+<glyph unicode="t" horiz-adv-x="681" d="M429 1345V1082H620V902H429V298Q429 236 453 209T541 181Q583 181 626 191V3Q543 -20 466 -20Q186 -20 186 289V902H8V1082H186V1345H429Z" />
+<glyph unicode="u" horiz-adv-x="1138" d="M780 106Q673 -20 476 -20Q300 -20 210 83T119 381V1082H362V384Q362 178 533 178Q710 178 772 305V1082H1015V0H786L780 106Z" />
+<glyph unicode="v" horiz-adv-x="1013" d="M506 308L735 1082H986L611 0H400L22 1082H274L506 308Z" />
+<glyph unicode="w" horiz-adv-x="1522" d="M1075 335L1247 1082H1484L1189 0H989L757 743L529 0H329L33 1082H270L445 343L667 1082H850L1075 335Z" />
+<glyph unicode="x" horiz-adv-x="1030" d="M513 726L719 1082H989L658 549L1000 0H732L516 370L301 0H31L373 549L43 1082H311L513 726Z" />
+<glyph unicode="y" horiz-adv-x="997" d="M503 348L723 1082H982L552 -164Q453 -437 216 -437Q163 -437 99 -419V-231L145 -234Q237 -234 283 -201T357 -88L392 5L12 1082H274L503 348Z" />
+<glyph unicode="z" horiz-adv-x="1030" d="M384 194H960V0H82V159L631 886H92V1082H939V928L384 194Z" />
+<glyph unicode="{" horiz-adv-x="687" d="M609 -360Q256 -261 249 91V304Q249 529 56 529V707Q249 707 249 933V1145Q252 1325 342 1436T609 1597L657 1457Q484 1401 478 1151V935Q478 710 305 619Q478 527 478 300V87Q484 -163 657 -219L609 -360Z" />
+<glyph unicode="|" horiz-adv-x="514" d="M341 -270H174V1456H341V-270Z" />
+<glyph unicode="}" horiz-adv-x="687" d="M27 -219Q203 -162 207 93V301Q207 532 389 618Q207 704 207 938V1145Q203 1400 27 1457L75 1597Q257 1546 346 1432T435 1132V932Q435 707 629 707V529Q435 529 435 304V107Q435 -80 346 -194T75 -360L27 -219Z" />
+<glyph unicode="~" horiz-adv-x="1361" d="M1244 786Q1244 610 1149 499T912 387Q838 387 776 415T636 511T526 596T454 613Q387 613 349 561T310 425H117Q117 596 208 705T447 815Q521 815 587 786T726 690T832 607T905 590Q972 590 1014 646T1056 786H1244Z" />
+<glyph unicode="&#xa0;" horiz-adv-x="510" />
+<glyph unicode="&#xa1;" horiz-adv-x="542" d="M170 662H379L403 -364H146L170 662ZM409 971Q409 915 373 878T272 840Q206 840 170 877T134 971Q134 1026 170 1063T272 1101Q337 1101 373 1064T409 971Z" />
+<glyph unicode="&#xa2;" horiz-adv-x="1149" d="M591 174Q680 174 740 226T806 358H1034Q1030 222 932 120T687 -11V-245H487V-11Q304 23 202 166T100 530V558Q100 771 202 915T487 1093V1318H687V1094Q845 1066 937 958T1034 694H806Q799 790 740 848T590 907Q360
+907 344 595L343 523Q343 347 406 261T591 174Z" />
+<glyph unicode="&#xa3;" horiz-adv-x="1205" d="M509 598L516 422Q516 287 452 202H1148L1147 0H98V202H180Q219 211 240 266T262 413L255 598H94V797H249L241 1039Q241 1241 366 1358T694 1475T1013 1366T1129 1073H884Q884 1168 832 1220T685 1273Q596 1273
+545 1208T493 1039L502 797H813V598H509Z" />
+<glyph unicode="&#xa4;" horiz-adv-x="1437" d="M1085 107Q926 -20 723 -20Q521 -20 363 106L234 -26L93 118L228 255Q128 411 128 608Q128 808 237 973L93 1120L234 1264L376 1119Q531 1234 723 1234Q917 1234 1072 1117L1217 1265L1359 1120L1211 969Q1318 810
+1318 608Q1318 415 1220 259L1359 118L1217 -27L1085 107ZM313 608Q313 488 368 385T518 224T723 165T928 224T1077 386T1132 608T1078 829T929 989T723 1048T517 990T368 829T313 608Z" />
+<glyph unicode="&#xa5;" horiz-adv-x="1248" d="M621 820L936 1456H1216L823 742H1092V590H743V452H1092V301H743V0H491V301H137V452H491V590H137V742H418L25 1456H306L621 820Z" />
+<glyph unicode="&#xa6;" horiz-adv-x="508" d="M136 -270V525H365V-270H136ZM365 698H136V1456H365V698Z" />
+<glyph unicode="&#xa7;" horiz-adv-x="1272" d="M1164 455Q1164 271 993 182Q1128 82 1128 -103Q1128 -276 993 -375T624 -474Q378 -474 234 -366T90 -50L332 -49Q332 -159 410 -219T624 -279Q745 -279 815 -232T886 -105Q886 -28 819 17T565 118Q377 169 282
+224T141 356T94 542Q94 726 263 816Q198 866 164 934T130 1102Q130 1272 267 1374T635 1476Q875 1476 1009 1364T1143 1047H900Q900 1153 828 1217T635 1281Q512 1281 443 1234T373 1104Q373 1020 433 977T686 881T977 773T1119 640T1164 455ZM601 673Q520 694
+444 722Q336 682 336 558Q336 477 385 434T584 344L763 291L809 275Q924 322 924 439Q924 520 856 568T601 673Z" />
+<glyph unicode="&#xa8;" horiz-adv-x="901" d="M93 1366Q93 1416 126 1450T219 1484T312 1450T346 1366T312 1282T219 1248T127 1282T93 1366ZM549 1365Q549 1415 583 1449T676 1483T769 1449T803 1365T769 1281T676 1247T583 1281T549 1365Z" />
+<glyph unicode="&#xa9;" horiz-adv-x="1604" d="M1118 596Q1118 444 1031 363T783 282T529 388T434 675V788Q434 962 529 1068T783 1175Q946 1175 1032 1093T1119 861H963Q963 957 917 998T783 1040Q691 1040 640 972T588 786V669Q588 551 640 484T783 417Q872
+417 917 457T962 596H1118ZM1384 729Q1384 895 1309 1037T1097 1265T797 1351Q638 1351 502 1269T287 1043T209 729T286 415T500 188T797 104T1094 189T1308 418T1384 729ZM87 729Q87 931 180 1104T439 1376T797 1476T1154 1377T1412 1104T1506 729T1413 354T1155
+81T797 -20Q604 -20 440 80T181 353T87 729Z" />
+<glyph unicode="&#xaa;" horiz-adv-x="913" d="M608 705L591 773Q514 691 390 691Q272 691 207 752T141 919Q141 1029 225 1089T482 1150H584V1201Q584 1328 468 1328Q403 1328 367 1303T330 1229L157 1243Q157 1347 244 1411T468 1476Q605 1476 682 1404T759
+1199V883Q759 786 785 705H608ZM433 835Q473 835 515 853T584 896V1033H478Q402 1032 359 1002T316 923Q316 835 433 835Z" />
+<glyph unicode="&#xab;" horiz-adv-x="994" d="M551 537L798 138H631L343 528V547L631 937H798L551 537ZM654 537L901 138H734L446 528V547L734 937H901L654 537Z" />
+<glyph unicode="&#xac;" horiz-adv-x="1133" d="M962 374H762V634H127V805H962V374Z" />
+<glyph unicode="&#xad;" horiz-adv-x="672" d="M596 521H71V717H596V521Z" />
+<glyph unicode="&#xae;" horiz-adv-x="1604" d="M87 729Q87 931 180 1104T439 1376T797 1476T1154 1377T1412 1104T1506 729T1413 354T1155 81T797 -20Q604 -20 440 80T181 353T87 729ZM1384 729Q1384 895 1309 1037T1097 1265T797 1351Q638 1351 502 1269T287
+1043T209 729T286 415T500 188T797 104T1094 189T1308 418T1384 729ZM653 653V316H502V1166H783Q936 1166 1022 1099T1108 906Q1108 789 988 726Q1053 697 1079 642T1105 505T1108 389T1122 332V316H967Q954 350 954 510Q954 586 921 619T811 653H653ZM653 787H796Q865
+787 911 818T958 903Q958 973 923 1002T794 1033H653V787Z" />
+<glyph unicode="&#xaf;" horiz-adv-x="987" d="M862 1298H135V1456H862V1298Z" />
+<glyph unicode="&#xb0;" horiz-adv-x="778" d="M391 1476Q497 1476 574 1397T651 1208T575 1021T391 943Q282 943 205 1020T127 1208T205 1397T391 1476ZM391 1084Q444 1084 478 1119T513 1208Q513 1260 479 1298T391 1336T302 1298T266 1208T302 1120T391 1084Z" />
+<glyph unicode="&#xb1;" horiz-adv-x="1098" d="M668 899H1011V700H668V312H452V700H95V899H452V1276H668V899ZM974 1H125V197H974V1Z" />
+<glyph unicode="&#xb2;" horiz-adv-x="758" d="M690 667H78V792L363 1053Q476 1156 476 1223Q476 1265 449 1291T370 1318Q312 1318 279 1285T246 1198H60Q60 1314 144 1390T364 1467Q507 1467 585 1403T663 1224Q663 1117 557 1015L459 928L319 815H690V667Z" />
+<glyph unicode="&#xb3;" horiz-adv-x="758" d="M268 1132H349Q481 1132 481 1229Q481 1264 454 1290T365 1317Q317 1317 285 1298T252 1243H66Q66 1342 148 1404T361 1466Q504 1466 585 1406T667 1240Q667 1121 532 1070Q681 1029 681 887Q681 781 593 718T361
+655Q226 655 141 718T55 895H241Q241 857 275 831T370 804Q433 804 463 831T494 901Q494 1002 360 1003H268V1132Z" />
+<glyph unicode="&#xb4;" horiz-adv-x="667" d="M307 1536H584L307 1233H112L307 1536Z" />
+<glyph unicode="&#xb5;" horiz-adv-x="1211" d="M388 1082V446Q390 305 434 240T585 175Q753 175 812 296V1082H1055V0H832L825 86Q733 -21 586 -21Q465 -21 388 34V-416H146V1082H388Z" />
+<glyph unicode="&#xb6;" horiz-adv-x="1005" d="M644 0V520H564Q334 520 202 647T69 988Q69 1201 202 1328T565 1456H854V0H644Z" />
+<glyph unicode="&#xb7;" horiz-adv-x="578" d="M142 714Q142 772 179 811T283 850T387 811T425 714Q425 655 386 618T283 581Q218 581 180 618T142 714Z" />
+<glyph unicode="&#xb8;" horiz-adv-x="528" d="M318 3L307 -51Q457 -78 457 -224Q457 -329 371 -388T130 -447L123 -310Q189 -310 224 -287T260 -221Q260 -176 225 -159T109 -136L141 3H318Z" />
+<glyph unicode="&#xb9;" horiz-adv-x="758" d="M514 672H329V1242L128 1194V1340L495 1459H514V672Z" />
+<glyph unicode="&#xba;" horiz-adv-x="935" d="M119 1121Q119 1281 214 1378T465 1476T716 1379T812 1116V1044Q812 885 718 788T467 690Q309 690 214 788T119 1049V1121ZM294 1044Q294 946 340 891T467 836Q545 836 590 890T637 1041V1121Q637 1218 591 1273T465
+1328Q387 1328 341 1274T294 1117V1044Z" />
+<glyph unicode="&#xbb;" horiz-adv-x="994" d="M260 937L548 547V528L260 138H93L340 537L93 937H260ZM633 937L921 547V528L633 138H466L713 537L466 937H633Z" />
+<glyph unicode="&#xbc;" horiz-adv-x="1488" d="M475 664H290V1234L89 1186V1332L456 1451H475V664ZM453 117L328 189L1039 1327L1164 1255L453 117ZM1316 314H1411V163H1316V0H1129V163H771L762 284L1127 789H1316V314ZM943 314H1129V556L1115 534L943 314Z" />
+<glyph unicode="&#xbd;" horiz-adv-x="1579" d="M410 117L285 189L996 1327L1121 1255L410 117ZM466 667H281V1237L80 1189V1335L447 1454H466V667ZM1484 0H872V125L1157 386Q1270 489 1270 556Q1270 598 1243 624T1164 651Q1106 651 1073 618T1040 531H854Q854
+647 938 723T1158 800Q1301 800 1379 736T1457 557Q1457 450 1351 348L1253 261L1113 148H1484V0Z" />
+<glyph unicode="&#xbe;" horiz-adv-x="1623" d="M594 117L469 189L1180 1327L1305 1255L594 117ZM1437 314H1532V163H1437V0H1250V163H892L883 284L1248 789H1437V314ZM1064 314H1250V556L1236 534L1064 314ZM316 1133H397Q529 1133 529 1230Q529 1265 502 1291T413
+1318Q365 1318 333 1299T300 1244H114Q114 1343 196 1405T409 1467Q552 1467 633 1407T715 1241Q715 1122 580 1071Q729 1030 729 888Q729 782 641 719T409 656Q274 656 189 719T103 896H289Q289 858 323 832T418 805Q481 805 511 832T542 902Q542 1003 408 1004H316V1133Z"
+/>
+<glyph unicode="&#xbf;" horiz-adv-x="996" d="M630 661Q628 537 602 465T502 313L399 207Q309 110 309 4Q309 -90 358 -136T496 -183Q584 -183 637 -133T690 0H933Q931 -177 812 -281T498 -385Q292 -385 179 -285T66 0Q66 165 221 328L313 421Q391 493 401 608L403
+661H630ZM650 972Q650 916 615 879T513 841T411 878T375 972Q375 1027 411 1064T513 1102T614 1065T650 972Z" />
+<glyph unicode="&#xc0;" horiz-adv-x="1363" d="M963 339H399L281 0H18L568 1456H795L1346 0H1082L963 339ZM470 543H892L681 1147L470 543ZM812 1543H610L340 1846H617L812 1543Z" />
+<glyph unicode="&#xc1;" horiz-adv-x="1363" d="M963 339H399L281 0H18L568 1456H795L1346 0H1082L963 339ZM470 543H892L681 1147L470 543ZM757 1846H1034L757 1543H562L757 1846Z" />
+<glyph unicode="&#xc2;" horiz-adv-x="1363" d="M963 339H399L281 0H18L568 1456H795L1346 0H1082L963 339ZM470 543H892L681 1147L470 543ZM1030 1569V1558H835L685 1714L536 1558H343V1571L614 1847H757L1030 1569Z" />
+<glyph unicode="&#xc3;" horiz-adv-x="1363" d="M963 339H399L281 0H18L568 1456H795L1346 0H1082L963 339ZM470 543H892L681 1147L470 543ZM1052 1824Q1052 1714 989 1641T829 1568Q790 1568 762 1576T681 1615T607 1651T559 1657Q521 1657 495 1629T468 1554L319
+1562Q319 1672 382 1747T541 1822Q598 1822 678 1777T811 1732Q849 1732 876 1760T903 1836L1052 1824Z" />
+<glyph unicode="&#xc4;" horiz-adv-x="1363" d="M963 339H399L281 0H18L568 1456H795L1346 0H1082L963 339ZM470 543H892L681 1147L470 543ZM331 1676Q331 1726 364 1760T457 1794T550 1760T584 1676T550 1592T457 1558T365 1592T331 1676ZM787 1675Q787 1725
+821 1759T914 1793T1007 1759T1041 1675T1007 1591T914 1557T821 1591T787 1675Z" />
+<glyph unicode="&#xc5;" horiz-adv-x="1363" d="M963 339H399L281 0H18L568 1456H795L1346 0H1082L963 339ZM470 543H892L681 1147L470 543ZM686 1940Q779 1940 843 1879T907 1732T845 1587T686 1527Q589 1527 527 1587T464 1732T527 1878T686 1940ZM574 1732Q574
+1685 607 1653T686 1620Q733 1620 765 1652T798 1732Q798 1778 767 1811T686 1845T606 1812T574 1732Z" />
+<glyph unicode="&#xc6;" horiz-adv-x="1925" d="M1879 0H981L966 340H464L280 0H-10L825 1456H1817V1259H1171L1188 851H1736V654H1196L1216 196H1879V0ZM580 555H957L930 1203L580 555Z" />
+<glyph unicode="&#xc7;" horiz-adv-x="1337" d="M1259 474Q1237 241 1087 111T688 -20Q514 -20 382 62T177 297T102 650V786Q102 992 175 1149T384 1391T700 1476Q941 1476 1088 1345T1259 975H1007Q989 1132 916 1201T700 1271Q535 1271 447 1151T356 797V668Q356
+432 440 308T688 184Q837 184 912 251T1007 474H1259ZM775 -2L764 -56Q914 -83 914 -229Q914 -334 828 -393T587 -452L580 -315Q646 -315 681 -292T717 -226Q717 -181 682 -164T566 -141L598 -2H775Z" />
+<glyph unicode="&#xc8;" horiz-adv-x="1158" d="M999 650H401V202H1100V0H148V1456H1093V1252H401V850H999V650ZM753 1550H551L281 1853H558L753 1550Z" />
+<glyph unicode="&#xc9;" horiz-adv-x="1158" d="M999 650H401V202H1100V0H148V1456H1093V1252H401V850H999V650ZM698 1853H975L698 1550H503L698 1853Z" />
+<glyph unicode="&#xca;" horiz-adv-x="1158" d="M999 650H401V202H1100V0H148V1456H1093V1252H401V850H999V650ZM971 1576V1565H776L626 1721L477 1565H284V1578L555 1854H698L971 1576Z" />
+<glyph unicode="&#xcb;" horiz-adv-x="1158" d="M999 650H401V202H1100V0H148V1456H1093V1252H401V850H999V650ZM272 1683Q272 1733 305 1767T398 1801T491 1767T525 1683T491 1599T398 1565T306 1599T272 1683ZM728 1682Q728 1732 762 1766T855 1800T948 1766T982
+1682T948 1598T855 1564T762 1598T728 1682Z" />
+<glyph unicode="&#xcc;" horiz-adv-x="578" d="M415 0H163V1456H415V0ZM416 1550H214L-56 1853H221L416 1550Z" />
+<glyph unicode="&#xcd;" horiz-adv-x="578" d="M415 0H163V1456H415V0ZM360 1853H637L360 1550H165L360 1853Z" />
+<glyph unicode="&#xce;" horiz-adv-x="578" d="M415 0H163V1456H415V0ZM634 1576V1565H439L289 1721L140 1565H-53V1578L218 1854H361L634 1576Z" />
+<glyph unicode="&#xcf;" horiz-adv-x="578" d="M415 0H163V1456H415V0ZM-65 1683Q-65 1733 -32 1767T61 1801T154 1767T188 1683T154 1599T61 1565T-31 1599T-65 1683ZM391 1682Q391 1732 425 1766T518 1800T611 1766T645 1682T611 1598T518 1564T425 1598T391 1682Z" />
+<glyph unicode="&#xd0;" horiz-adv-x="1368" d="M178 0V652H-9V822H178V1456H608Q801 1456 950 1370T1182 1126T1264 764V691Q1264 484 1182 327T947 85T597 0H178ZM660 652H431V202H594Q797 202 903 328T1010 695V765Q1010 1002 907 1127T608 1252H431V822H660V652Z" />
+<glyph unicode="&#xd1;" horiz-adv-x="1454" d="M1303 0H1050L401 1033V0H148V1456H401L1052 419V1456H1303V0ZM1093 1824Q1093 1714 1030 1641T870 1568Q831 1568 803 1576T722 1615T648 1651T600 1657Q562 1657 536 1629T509 1554L360 1562Q360 1672 423 1747T582
+1822Q639 1822 719 1777T852 1732Q890 1732 917 1760T944 1836L1093 1824Z" />
+<glyph unicode="&#xd2;" horiz-adv-x="1414" d="M1310 690Q1310 476 1236 315T1025 67T708 -20Q531 -20 393 66T179 313T102 682V764Q102 977 177 1140T390 1389T706 1476T1021 1391T1234 1145T1310 771V690ZM1057 766Q1057 1008 966 1137T706 1266Q542 1266 450
+1138T355 774V690Q355 450 448 319T708 188Q876 188 966 316T1057 690V766ZM835 1543H633L363 1846H640L835 1543Z" />
+<glyph unicode="&#xd3;" horiz-adv-x="1414" d="M1310 690Q1310 476 1236 315T1025 67T708 -20Q531 -20 393 66T179 313T102 682V764Q102 977 177 1140T390 1389T706 1476T1021 1391T1234 1145T1310 771V690ZM1057 766Q1057 1008 966 1137T706 1266Q542 1266 450
+1138T355 774V690Q355 450 448 319T708 188Q876 188 966 316T1057 690V766ZM780 1846H1057L780 1543H585L780 1846Z" />
+<glyph unicode="&#xd4;" horiz-adv-x="1414" d="M1310 690Q1310 476 1236 315T1025 67T708 -20Q531 -20 393 66T179 313T102 682V764Q102 977 177 1140T390 1389T706 1476T1021 1391T1234 1145T1310 771V690ZM1057 766Q1057 1008 966 1137T706 1266Q542 1266 450
+1138T355 774V690Q355 450 448 319T708 188Q876 188 966 316T1057 690V766ZM1053 1569V1558H858L708 1714L559 1558H366V1571L637 1847H780L1053 1569Z" />
+<glyph unicode="&#xd5;" horiz-adv-x="1414" d="M1310 690Q1310 476 1236 315T1025 67T708 -20Q531 -20 393 66T179 313T102 682V764Q102 977 177 1140T390 1389T706 1476T1021 1391T1234 1145T1310 771V690ZM1057 766Q1057 1008 966 1137T706 1266Q542 1266 450
+1138T355 774V690Q355 450 448 319T708 188Q876 188 966 316T1057 690V766ZM1075 1824Q1075 1714 1012 1641T852 1568Q813 1568 785 1576T704 1615T630 1651T582 1657Q544 1657 518 1629T491 1554L342 1562Q342 1672 405 1747T564 1822Q621 1822 701 1777T834 1732Q872
+1732 899 1760T926 1836L1075 1824Z" />
+<glyph unicode="&#xd6;" horiz-adv-x="1414" d="M1310 690Q1310 476 1236 315T1025 67T708 -20Q531 -20 393 66T179 313T102 682V764Q102 977 177 1140T390 1389T706 1476T1021 1391T1234 1145T1310 771V690ZM1057 766Q1057 1008 966 1137T706 1266Q542 1266 450
+1138T355 774V690Q355 450 448 319T708 188Q876 188 966 316T1057 690V766ZM354 1676Q354 1726 387 1760T480 1794T573 1760T607 1676T573 1592T480 1558T388 1592T354 1676ZM810 1675Q810 1725 844 1759T937 1793T1030 1759T1064 1675T1030 1591T937 1557T844
+1591T810 1675Z" />
+<glyph unicode="&#xd7;" horiz-adv-x="1092" d="M77 364L393 686L77 1008L225 1158L540 836L856 1158L1004 1008L688 686L1004 364L856 214L540 535L225 214L77 364Z" />
+<glyph unicode="&#xd8;" horiz-adv-x="1412" d="M1314 690Q1314 476 1240 315T1029 67T711 -20Q547 -20 415 55L324 -95H155L300 143Q105 338 105 697V764Q105 977 180 1139T393 1388T709 1476Q906 1476 1049 1375L1136 1518H1303L1156 1275Q1313 1082 1314 765V690ZM358
+690Q358 483 429 355L931 1181Q844 1266 709 1266Q545 1266 453 1138T358 774V690ZM1061 766Q1061 932 1017 1046L528 242Q606 188 711 188Q880 188 970 316T1061 690V766Z" />
+<glyph unicode="&#xd9;" horiz-adv-x="1335" d="M1213 1456V483Q1213 251 1065 116T669 -20Q419 -20 272 113T125 484V1456H377V482Q377 336 451 259T669 182Q961 182 961 490V1456H1213ZM794 1543H592L322 1846H599L794 1543Z" />
+<glyph unicode="&#xda;" horiz-adv-x="1335" d="M1213 1456V483Q1213 251 1065 116T669 -20Q419 -20 272 113T125 484V1456H377V482Q377 336 451 259T669 182Q961 182 961 490V1456H1213ZM739 1846H1016L739 1543H544L739 1846Z" />
+<glyph unicode="&#xdb;" horiz-adv-x="1335" d="M1213 1456V483Q1213 251 1065 116T669 -20Q419 -20 272 113T125 484V1456H377V482Q377 336 451 259T669 182Q961 182 961 490V1456H1213ZM1012 1569V1558H817L667 1714L518 1558H325V1571L596 1847H739L1012 1569Z" />
+<glyph unicode="&#xdc;" horiz-adv-x="1335" d="M1213 1456V483Q1213 251 1065 116T669 -20Q419 -20 272 113T125 484V1456H377V482Q377 336 451 259T669 182Q961 182 961 490V1456H1213ZM313 1676Q313 1726 346 1760T439 1794T532 1760T566 1676T532 1592T439
+1558T347 1592T313 1676ZM769 1675Q769 1725 803 1759T896 1793T989 1759T1023 1675T989 1591T896 1557T803 1591T769 1675Z" />
+<glyph unicode="&#xdd;" horiz-adv-x="1248" d="M623 766L958 1456H1238L750 536V0H496V536L7 1456H288L623 766ZM698 1846H975L698 1543H503L698 1846Z" />
+<glyph unicode="&#xde;" horiz-adv-x="1226" d="M391 1456V1176H632Q876 1176 1013 1057T1150 738Q1150 539 1013 420T633 300H391V0H148V1456H391ZM391 981V495H637Q762 495 834 560T907 736T837 913T645 981H391Z" />
+<glyph unicode="&#xdf;" horiz-adv-x="1255" d="M378 0H136V1105Q136 1319 250 1438T571 1557Q758 1557 865 1464T973 1201Q973 1139 960 1090T912 985T866 896T855 824Q855 780 887 738T1009 622T1138 480T1179 336Q1179 165 1071 73T764 -20Q684 -20 599 -1T475
+44L524 239Q569 211 632 193T750 174Q847 174 892 217T937 327Q937 376 902 421T780 535T653 671T612 819Q612 907 675 1007T738 1185Q738 1266 692 1314T566 1363Q382 1363 378 1116V0Z" />
+<glyph unicode="&#xe0;" horiz-adv-x="1108" d="M771 0Q755 31 743 101Q627 -20 459 -20Q296 -20 193 73T90 303Q90 476 218 568T586 661H735V732Q735 816 688 866T545 917Q462 917 409 876T356 770H113Q113 859 172 936T332 1058T559 1102Q749 1102 862 1007T978
+738V250Q978 104 1019 17V0H771ZM504 175Q576 175 639 210T735 304V508H604Q469 508 401 461T333 328Q333 258 379 217T504 175ZM694 1233H492L222 1536H499L694 1233Z" />
+<glyph unicode="&#xe1;" horiz-adv-x="1108" d="M771 0Q755 31 743 101Q627 -20 459 -20Q296 -20 193 73T90 303Q90 476 218 568T586 661H735V732Q735 816 688 866T545 917Q462 917 409 876T356 770H113Q113 859 172 936T332 1058T559 1102Q749 1102 862 1007T978
+738V250Q978 104 1019 17V0H771ZM504 175Q576 175 639 210T735 304V508H604Q469 508 401 461T333 328Q333 258 379 217T504 175ZM639 1536H916L639 1233H444L639 1536Z" />
+<glyph unicode="&#xe2;" horiz-adv-x="1108" d="M771 0Q755 31 743 101Q627 -20 459 -20Q296 -20 193 73T90 303Q90 476 218 568T586 661H735V732Q735 816 688 866T545 917Q462 917 409 876T356 770H113Q113 859 172 936T332 1058T559 1102Q749 1102 862 1007T978
+738V250Q978 104 1019 17V0H771ZM504 175Q576 175 639 210T735 304V508H604Q469 508 401 461T333 328Q333 258 379 217T504 175ZM912 1259V1248H717L567 1404L418 1248H225V1261L496 1537H639L912 1259Z" />
+<glyph unicode="&#xe3;" horiz-adv-x="1108" d="M771 0Q755 31 743 101Q627 -20 459 -20Q296 -20 193 73T90 303Q90 476 218 568T586 661H735V732Q735 816 688 866T545 917Q462 917 409 876T356 770H113Q113 859 172 936T332 1058T559 1102Q749 1102 862 1007T978
+738V250Q978 104 1019 17V0H771ZM504 175Q576 175 639 210T735 304V508H604Q469 508 401 461T333 328Q333 258 379 217T504 175ZM934 1514Q934 1404 871 1331T711 1258Q672 1258 644 1266T563 1305T489 1341T441 1347Q403 1347 377 1319T350 1244L201 1252Q201
+1362 264 1437T423 1512Q480 1512 560 1467T693 1422Q731 1422 758 1450T785 1526L934 1514Z" />
+<glyph unicode="&#xe4;" horiz-adv-x="1108" d="M771 0Q755 31 743 101Q627 -20 459 -20Q296 -20 193 73T90 303Q90 476 218 568T586 661H735V732Q735 816 688 866T545 917Q462 917 409 876T356 770H113Q113 859 172 936T332 1058T559 1102Q749 1102 862 1007T978
+738V250Q978 104 1019 17V0H771ZM504 175Q576 175 639 210T735 304V508H604Q469 508 401 461T333 328Q333 258 379 217T504 175ZM213 1366Q213 1416 246 1450T339 1484T432 1450T466 1366T432 1282T339 1248T247 1282T213 1366ZM669 1365Q669 1415 703 1449T796
+1483T889 1449T923 1365T889 1281T796 1247T703 1281T669 1365Z" />
+<glyph unicode="&#xe5;" horiz-adv-x="1108" d="M771 0Q755 31 743 101Q627 -20 459 -20Q296 -20 193 73T90 303Q90 476 218 568T586 661H735V732Q735 816 688 866T545 917Q462 917 409 876T356 770H113Q113 859 172 936T332 1058T559 1102Q749 1102 862 1007T978
+738V250Q978 104 1019 17V0H771ZM504 175Q576 175 639 210T735 304V508H604Q469 508 401 461T333 328Q333 258 379 217T504 175ZM568 1630Q661 1630 725 1569T789 1422T727 1277T568 1217Q471 1217 409 1277T346 1422T409 1568T568 1630ZM456 1422Q456 1375 489
+1343T568 1310Q615 1310 647 1342T680 1422Q680 1468 649 1501T568 1535T488 1502T456 1422Z" />
+<glyph unicode="&#xe6;" horiz-adv-x="1729" d="M1254 -20Q1001 -20 861 141Q796 64 689 22T448 -20Q272 -20 172 68T72 312Q72 470 191 556T543 642H734V713Q734 804 687 855T551 907Q460 907 403 863T345 752L103 771Q103 917 229 1009T553 1102Q776 1102 887
+969Q1018 1104 1218 1102Q1430 1102 1549 973T1668 608V471H973Q982 332 1058 253T1268 174Q1405 174 1512 232L1573 266L1646 100Q1576 44 1472 12T1254 -20ZM495 164Q553 164 621 193T734 266V475H538Q434 473 374 426T314 308Q314 243 360 204T495 164ZM1218
+907Q1119 907 1056 838T976 642H1428V672Q1428 785 1374 846T1218 907Z" />
+<glyph unicode="&#xe7;" horiz-adv-x="1072" d="M569 174Q660 174 720 227T784 358H1013Q1009 257 950 170T790 31T572 -20Q345 -20 212 127T79 533V558Q79 805 211 953T571 1102Q764 1102 885 990T1013 694H784Q780 787 721 847T569 907Q451 907 387 822T322
+562V523Q322 347 385 261T569 174ZM635 -2L624 -56Q774 -83 774 -229Q774 -334 688 -393T447 -452L440 -315Q506 -315 541 -292T577 -226Q577 -181 542 -164T426 -141L458 -2H635Z" />
+<glyph unicode="&#xe8;" horiz-adv-x="1099" d="M601 -20Q370 -20 227 125T83 513V543Q83 705 145 832T321 1031T573 1102Q794 1102 914 961T1035 562V464H328Q339 330 417 252T615 174Q782 174 887 309L1018 184Q953 87 845 34T601 -20ZM572 907Q472 907 411
+837T332 642H795V660Q787 782 730 844T572 907ZM682 1233H480L210 1536H487L682 1233Z" />
+<glyph unicode="&#xe9;" horiz-adv-x="1099" d="M601 -20Q370 -20 227 125T83 513V543Q83 705 145 832T321 1031T573 1102Q794 1102 914 961T1035 562V464H328Q339 330 417 252T615 174Q782 174 887 309L1018 184Q953 87 845 34T601 -20ZM572 907Q472 907 411
+837T332 642H795V660Q787 782 730 844T572 907ZM627 1536H904L627 1233H432L627 1536Z" />
+<glyph unicode="&#xea;" horiz-adv-x="1099" d="M601 -20Q370 -20 227 125T83 513V543Q83 705 145 832T321 1031T573 1102Q794 1102 914 961T1035 562V464H328Q339 330 417 252T615 174Q782 174 887 309L1018 184Q953 87 845 34T601 -20ZM572 907Q472 907 411
+837T332 642H795V660Q787 782 730 844T572 907ZM900 1259V1248H705L555 1404L406 1248H213V1261L484 1537H627L900 1259Z" />
+<glyph unicode="&#xeb;" horiz-adv-x="1099" d="M601 -20Q370 -20 227 125T83 513V543Q83 705 145 832T321 1031T573 1102Q794 1102 914 961T1035 562V464H328Q339 330 417 252T615 174Q782 174 887 309L1018 184Q953 87 845 34T601 -20ZM572 907Q472 907 411
+837T332 642H795V660Q787 782 730 844T572 907ZM201 1366Q201 1416 234 1450T327 1484T420 1450T454 1366T420 1282T327 1248T235 1282T201 1366ZM657 1365Q657 1415 691 1449T784 1483T877 1449T911 1365T877 1281T784 1247T691 1281T657 1365Z" />
+<glyph unicode="&#xec;" horiz-adv-x="538" d="M386 0H143V1082H386V0ZM652 1482H450L180 1785H457L652 1482Z" />
+<glyph unicode="&#xed;" horiz-adv-x="538" d="M386 0H143V1082H386V0ZM340 1785H617L340 1482H145L340 1785Z" />
+<glyph unicode="&#xee;" horiz-adv-x="538" d="M386 0H143V1082H386V0ZM614 1252V1241H419L269 1397L120 1241H-73V1254L198 1530H341L614 1252Z" />
+<glyph unicode="&#xef;" horiz-adv-x="538" d="M386 0H143V1082H386V0ZM-85 1359Q-85 1409 -52 1443T41 1477T134 1443T168 1359T134 1275T41 1241T-51 1275T-85 1359ZM371 1358Q371 1408 405 1442T498 1476T591 1442T625 1358T591 1274T498 1240T405 1274T371 1358Z" />
+<glyph unicode="&#xf0;" horiz-adv-x="1191" d="M834 1303Q1088 1038 1088 637V555Q1088 389 1025 258T848 53T593 -20Q455 -20 342 43T166 219T103 468Q103 617 159 732T319 910T554 973Q700 973 813 882Q764 1051 638 1173L434 1038L356 1147L528 1261Q402 1343
+240 1385L315 1580Q553 1530 730 1395L910 1515L988 1406L834 1303ZM845 663L844 681Q812 729 751 757T611 785Q485 785 416 701T346 468Q346 342 416 258T597 174Q708 174 776 274T845 547V663Z" />
+<glyph unicode="&#xf1;" horiz-adv-x="1139" d="M350 1082L357 957Q477 1102 672 1102Q1010 1102 1016 715V0H773V701Q773 804 729 853T583 903Q436 903 364 770V0H121V1082H350ZM940 1514Q940 1404 877 1331T717 1258Q678 1258 650 1266T569 1305T495 1341T447
+1347Q409 1347 383 1319T356 1244L207 1252Q207 1362 270 1437T429 1512Q486 1512 566 1467T699 1422Q737 1422 764 1450T791 1526L940 1514Z" />
+<glyph unicode="&#xf2;" horiz-adv-x="1166" d="M79 551Q79 710 142 837T319 1033T581 1102Q800 1102 936 961T1084 587L1085 530Q1085 370 1024 244T848 49T583 -20Q354 -20 217 132T79 539V551ZM322 530Q322 363 391 269T583 174T774 270T843 551Q843 715 773
+811T581 907Q462 907 392 813T322 530ZM703 1233H501L231 1536H508L703 1233Z" />
+<glyph unicode="&#xf3;" horiz-adv-x="1166" d="M79 551Q79 710 142 837T319 1033T581 1102Q800 1102 936 961T1084 587L1085 530Q1085 370 1024 244T848 49T583 -20Q354 -20 217 132T79 539V551ZM322 530Q322 363 391 269T583 174T774 270T843 551Q843 715 773
+811T581 907Q462 907 392 813T322 530ZM648 1536H925L648 1233H453L648 1536Z" />
+<glyph unicode="&#xf4;" horiz-adv-x="1166" d="M79 551Q79 710 142 837T319 1033T581 1102Q800 1102 936 961T1084 587L1085 530Q1085 370 1024 244T848 49T583 -20Q354 -20 217 132T79 539V551ZM322 530Q322 363 391 269T583 174T774 270T843 551Q843 715 773
+811T581 907Q462 907 392 813T322 530ZM921 1259V1248H726L576 1404L427 1248H234V1261L505 1537H648L921 1259Z" />
+<glyph unicode="&#xf5;" horiz-adv-x="1166" d="M79 551Q79 710 142 837T319 1033T581 1102Q800 1102 936 961T1084 587L1085 530Q1085 370 1024 244T848 49T583 -20Q354 -20 217 132T79 539V551ZM322 530Q322 363 391 269T583 174T774 270T843 551Q843 715 773
+811T581 907Q462 907 392 813T322 530ZM943 1514Q943 1404 880 1331T720 1258Q681 1258 653 1266T572 1305T498 1341T450 1347Q412 1347 386 1319T359 1244L210 1252Q210 1362 273 1437T432 1512Q489 1512 569 1467T702 1422Q740 1422 767 1450T794 1526L943 1514Z"
+/>
+<glyph unicode="&#xf6;" horiz-adv-x="1166" d="M79 551Q79 710 142 837T319 1033T581 1102Q800 1102 936 961T1084 587L1085 530Q1085 370 1024 244T848 49T583 -20Q354 -20 217 132T79 539V551ZM322 530Q322 363 391 269T583 174T774 270T843 551Q843 715 773
+811T581 907Q462 907 392 813T322 530ZM222 1366Q222 1416 255 1450T348 1484T441 1450T475 1366T441 1282T348 1248T256 1282T222 1366ZM678 1365Q678 1415 712 1449T805 1483T898 1449T932 1365T898 1281T805 1247T712 1281T678 1365Z" />
+<glyph unicode="&#xf7;" horiz-adv-x="1169" d="M1079 582H67V794H1079V582ZM576 1228Q644 1228 681 1190T718 1095T681 1001T576 963Q509 963 472 1000T435 1095T472 1190T576 1228ZM435 278Q435 336 472 374T576 412Q644 412 681 374T718 278Q718 221 681 184T576
+147Q509 147 472 184T435 278Z" />
+<glyph unicode="&#xf8;" horiz-adv-x="1160" d="M79 551Q79 710 142 837T319 1033T581 1102Q687 1102 775 1068L846 1211H991L889 1003Q1085 850 1085 530Q1085 370 1024 244T848 49T583 -20Q490 -20 400 10L328 -137H183L285 70Q79 220 79 551ZM322 530Q322 374
+386 276L685 885Q638 907 581 907Q462 907 392 813T322 530ZM843 551Q843 699 785 792L489 191Q532 174 583 174Q706 174 774 270T843 551Z" />
+<glyph unicode="&#xf9;" horiz-adv-x="1138" d="M780 106Q673 -20 476 -20Q300 -20 210 83T119 381V1082H362V384Q362 178 533 178Q710 178 772 305V1082H1015V0H786L780 106ZM696 1233H494L224 1536H501L696 1233Z" />
+<glyph unicode="&#xfa;" horiz-adv-x="1138" d="M780 106Q673 -20 476 -20Q300 -20 210 83T119 381V1082H362V384Q362 178 533 178Q710 178 772 305V1082H1015V0H786L780 106ZM641 1536H918L641 1233H446L641 1536Z" />
+<glyph unicode="&#xfb;" horiz-adv-x="1138" d="M780 106Q673 -20 476 -20Q300 -20 210 83T119 381V1082H362V384Q362 178 533 178Q710 178 772 305V1082H1015V0H786L780 106ZM914 1259V1248H719L569 1404L420 1248H227V1261L498 1537H641L914 1259Z" />
+<glyph unicode="&#xfc;" horiz-adv-x="1138" d="M780 106Q673 -20 476 -20Q300 -20 210 83T119 381V1082H362V384Q362 178 533 178Q710 178 772 305V1082H1015V0H786L780 106ZM215 1366Q215 1416 248 1450T341 1484T434 1450T468 1366T434 1282T341 1248T249 1282T215
+1366ZM671 1365Q671 1415 705 1449T798 1483T891 1449T925 1365T891 1281T798 1247T705 1281T671 1365Z" />
+<glyph unicode="&#xfd;" horiz-adv-x="997" d="M503 348L723 1082H982L552 -164Q453 -437 216 -437Q163 -437 99 -419V-231L145 -234Q237 -234 283 -201T357 -88L392 5L12 1082H274L503 348ZM585 1536H862L585 1233H390L585 1536Z" />
+<glyph unicode="&#xfe;" horiz-adv-x="1175" d="M1079 530Q1079 283 966 132T658 -20Q480 -20 373 97V-416H130V1536H373V983Q479 1102 655 1102Q852 1102 965 955T1079 546V530ZM836 551Q836 717 771 810T587 903Q438 903 373 780V300Q439 174 589 174Q705 174
+770 267T836 551Z" />
+<glyph unicode="&#xff;" horiz-adv-x="997" d="M503 348L723 1082H982L552 -164Q453 -437 216 -437Q163 -437 99 -419V-231L145 -234Q237 -234 283 -201T357 -88L392 5L12 1082H274L503 348ZM159 1366Q159 1416 192 1450T285 1484T378 1450T412 1366T378 1282T285
+1248T193 1282T159 1366ZM615 1365Q615 1415 649 1449T742 1483T835 1449T869 1365T835 1281T742 1247T649 1281T615 1365Z" />
+<glyph unicode="&#x2013;" horiz-adv-x="1321" d="M1432 621H414V817H1432V621Z" />
+<glyph unicode="&#x2014;" horiz-adv-x="1584" d="M1744 621H386V817H1744V621Z" />
+<glyph unicode="&#x2018;" horiz-adv-x="448" d="M282 1562L406 1485Q315 1352 312 1208V1056H99V1194Q100 1290 151 1394T282 1562Z" />
+<glyph unicode="&#x2019;" horiz-adv-x="444" d="M175 1024L51 1101Q141 1232 144 1378V1536H357V1398Q357 1295 305 1191T175 1024Z" />
+<glyph unicode="&#x201a;" horiz-adv-x="462" d="M173 -298L50 -220Q135 -93 138 55V202H356V69Q355 -24 304 -128T173 -298Z" />
+<glyph unicode="&#x201c;" horiz-adv-x="788" d="M291 1562L415 1485Q324 1352 321 1208V1056H108V1194Q109 1290 160 1394T291 1562ZM627 1562L751 1485Q660 1352 657 1208V1056H444V1194Q445 1290 496 1394T627 1562Z" />
+<glyph unicode="&#x201d;" horiz-adv-x="795" d="M188 1024L64 1101Q154 1232 157 1378V1536H370V1398Q370 1295 318 1191T188 1024ZM522 1024L398 1101Q488 1232 491 1378V1536H704V1398Q704 1295 652 1191T522 1024Z" />
+<glyph unicode="&#x201e;" horiz-adv-x="776" d="M177 -318L50 -240Q135 -103 138 54V255H356V69Q355 -39 300 -153Q251 -253 177 -318ZM499 -318L372 -240Q460 -98 464 52V255H682V73Q682 -26 631 -136T499 -318Z" />
+<glyph unicode="&#x2022;" horiz-adv-x="715" d="M136 771Q136 866 196 926T357 987Q460 987 520 927T580 768V731Q580 637 521 578T358 518Q259 518 199 575T136 726V771Z" />
+<glyph unicode="&#x2039;" horiz-adv-x="626" d="M316 537L563 138H396L108 528V547L396 937H563L316 537Z" />
+<glyph unicode="&#x203a;" horiz-adv-x="617" d="M251 937L539 547V528L251 138H84L331 537L84 937H251Z" />
+</font>
+</defs>
+</svg>
diff --git a/assets/fonts/Roboto-500/Roboto-500.ttf b/assets/fonts/Roboto-500/Roboto-500.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..8d6fa9240c90211e79fcad94e003c5d37ac23f02
GIT binary patch
literal 32580
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
N(iqmV^1TXL{XZ}~s`LN=

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-500/Roboto-500.woff b/assets/fonts/Roboto-500/Roboto-500.woff
new file mode 100644
index 0000000000000000000000000000000000000000..d3c82e18468c2cceb36a5a9c199e5ae2cd2ca379
GIT binary patch
literal 13248
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
F{{T_EoMQk0

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-500/Roboto-500.woff2 b/assets/fonts/Roboto-500/Roboto-500.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..6be92c71776f48e17d2b96a21cfa93b3ed1a7854
GIT binary patch
literal 10248
zcmV+jDEHTQPew8T0RR9104N9m4gdfE08J<W04J{i0ssI200000000000000000000
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
OuMBQiZEso$5&!^o%n_Ra

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-500italic/LICENSE.txt b/assets/fonts/Roboto-500italic/LICENSE.txt
new file mode 100644
index 00000000..d6456956
--- /dev/null
+++ b/assets/fonts/Roboto-500italic/LICENSE.txt
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/assets/fonts/Roboto-500italic/Roboto-500italic.eot b/assets/fonts/Roboto-500italic/Roboto-500italic.eot
new file mode 100644
index 0000000000000000000000000000000000000000..2b253af0d391527560ac31879f3131e1a307d15b
GIT binary patch
literal 17584
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

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-500italic/Roboto-500italic.svg b/assets/fonts/Roboto-500italic/Roboto-500italic.svg
new file mode 100644
index 00000000..43c3be61
--- /dev/null
+++ b/assets/fonts/Roboto-500italic/Roboto-500italic.svg
@@ -0,0 +1,327 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg">
+<defs >
+<font id="Roboto" horiz-adv-x="1049" ><font-face
+    font-family="Roboto Medium"
+    units-per-em="2048"
+    panose-1="2 0 0 0 0 0 0 0 0 0"
+    ascent="1900"
+    descent="-500"
+    alphabetic="0" />
+<glyph unicode=" " horiz-adv-x="505" />
+<glyph unicode="!" horiz-adv-x="543" d="M342 429H138L294 1456H544L342 429ZM55 111Q55 170 92 208T188 248Q245 250 284 213T323 119T286 25T190 -15Q135 -17 95 18T55 111Z" />
+<glyph unicode="&quot;" horiz-adv-x="654" d="M391 1388L299 1012H161L244 1536H414L391 1388ZM683 1388L591 1012H453L536 1536H706L683 1388Z" />
+<glyph unicode="#" horiz-adv-x="1223" d="M662 410H451L306 0H136L281 410H59L87 568H337L448 881H215L243 1040H504L653 1456H822L673 1040H885L1033 1456H1202L1054 1040H1253L1225 881H997L887 568H1099L1071 410H830L685 0H516L662 410ZM507 568H718L829
+881H618L507 568Z" />
+<glyph unicode="$" horiz-adv-x="1139" d="M766 387Q775 463 734 519Q694 576 576 625Q517 650 470 675T387 729Q217 858 231 1065Q242 1235 356 1343Q469 1452 650 1473L690 1691H847L806 1469Q955 1437 1029 1317Q1105 1195 1095 1005H859Q868 1133 826 1203T696
+1276Q603 1278 541 1223T466 1068Q457 991 497 938Q537 884 653 833Q770 781 832 737Q1016 607 1001 389Q990 216 871 109Q754 4 565 -16L529 -211H373L410 -15Q243 10 154 132Q66 253 75 444L312 443Q305 315 355 248T505 179Q611 177 682 234Q755 292 766 387Z"
+/>
+<glyph unicode="%" horiz-adv-x="1469" d="M527 1478Q658 1474 731 1389T796 1176L790 1099Q775 962 683 879T460 800Q334 802 258 887T189 1099L196 1173Q209 1310 300 1395T527 1478ZM356 1097Q349 1033 377 990T463 944Q523 942 567 985T622 1099L631 1177Q638
+1242 610 1286T523 1332Q462 1334 417 1288T364 1167L356 1097ZM1065 657Q1195 653 1268 568T1334 357L1328 279Q1314 144 1221 60T998 -21Q874 -19 797 64T726 279L731 344Q742 486 834 572T1065 657ZM893 277Q888 208 917 167T1001 123Q1062 121 1104 162T1159
+279L1169 358Q1174 430 1145 470T1061 512Q997 514 953 468T901 349L893 277ZM374 111L254 190L1133 1317L1253 1238L374 111Z" />
+<glyph unicode="&amp;" horiz-adv-x="1280" d="M56 385Q68 567 266 707L380 782Q319 894 299 964T283 1098Q295 1268 409 1374T695 1476Q788 1473 863 1432T978 1319T1013 1159Q1008 1069 956 991T785 830L664 750L878 426Q961 550 982 694L1185 695Q1161 423
+1001 250L1162 0H904L843 95Q667 -23 468 -19Q281 -17 163 94T56 385ZM484 175Q552 174 612 200T728 261L485 630L451 608Q314 512 297 393Q285 297 337 237T484 175ZM501 1105Q491 1036 539 944L562 902L661 964Q790 1046 802 1152Q808 1209 772 1245T681 1282Q609
+1282 559 1230T501 1105Z" />
+<glyph unicode="&apos;" horiz-adv-x="346" d="M385 1399L301 1020H144L225 1536H406L385 1399Z" />
+<glyph unicode="(" horiz-adv-x="703" d="M128 588Q181 953 348 1237T764 1632L800 1488Q458 1224 356 660Q319 454 318 263Q316 60 366 -91T514 -330L458 -463Q287 -357 196 -133T112 389Q114 485 126 571L128 588Z" />
+<glyph unicode=")" horiz-adv-x="710" d="M-71 -465L-108 -327Q104 -162 224 117T370 780L374 904Q374 1325 178 1497L235 1631Q350 1561 431 1435T552 1134T588 779Q579 500 490 239T255 -203T-71 -465Z" />
+<glyph unicode="*" horiz-adv-x="888" d="M383 977L103 1065L182 1226L461 1107L506 1456H682L607 1112L909 1224L933 1044L614 956L765 685L616 587L492 876L272 600L138 710L383 977Z" />
+<glyph unicode="+" horiz-adv-x="1117" d="M701 801H1070L1031 579H663L588 146H357L433 579H61L101 801H471L541 1206H772L701 801Z" />
+<glyph unicode="," horiz-adv-x="447" d="M8 -328L-119 -248Q-1 -90 26 29L63 235H276L250 74Q210 -173 8 -328Z" />
+<glyph unicode="-" horiz-adv-x="662" d="M565 521H54L89 717H600L565 521Z" />
+<glyph unicode="." horiz-adv-x="565" d="M48 117Q48 178 86 216T185 257Q244 259 283 222T323 125Q323 67 285 29T186 -12Q127 -14 88 23T48 117Z" />
+<glyph unicode="/" horiz-adv-x="796" d="M67 -125H-129L701 1456H898L67 -125Z" />
+<glyph unicode="0" horiz-adv-x="1139" d="M479 -20Q290 -16 193 110T99 465Q100 539 109 613L148 873Q197 1179 337 1330T699 1476Q887 1472 984 1348T1079 996Q1078 921 1069 848L1030 595Q979 282 841 129T479 -20ZM838 887Q851 1001 851 1049Q846 1275 686
+1282Q564 1287 490 1193T386 894L340 577Q328 474 329 414Q329 180 493 173Q719 160 784 526L838 887Z" />
+<glyph unicode="1" horiz-adv-x="1139" d="M641 0H405L607 1164L239 1042L276 1257L852 1461H888L641 0Z" />
+<glyph unicode="2" horiz-adv-x="1139" d="M962 0H11L39 177L644 758Q813 923 830 1057Q843 1152 798 1215T663 1283Q552 1287 476 1214T384 1013L148 1012Q158 1146 229 1253T419 1419T676 1476Q866 1472 976 1366T1074 1082Q1057 878 829 651L767 590L346 194H993L962
+0Z" />
+<glyph unicode="3" horiz-adv-x="1139" d="M416 839L545 838Q662 838 740 901T829 1069Q840 1168 793 1224T653 1283Q559 1285 490 1228T407 1078L170 1077Q179 1194 247 1286T424 1427T661 1476Q856 1472 968 1363T1068 1069Q1061 969 994 886T800 742Q973 662
+984 464V416Q971 220 824 98T462 -20Q339 -19 241 32T91 177T42 391L278 390Q274 294 325 236T476 174Q585 170 661 238T750 416Q762 527 705 585T539 646L386 647L416 839Z" />
+<glyph unicode="4" horiz-adv-x="1139" d="M890 519H1066L1032 324H857L800 0H563L619 324H9L30 484L800 1456H1053L890 519ZM292 519H653L766 1130L742 1096L292 519Z" />
+<glyph unicode="5" horiz-adv-x="1139" d="M186 725L377 1456H1139L1106 1246H545L442 897Q544 955 664 955Q849 953 948 819T1030 472Q1012 253 866 114T505 -21Q323 -17 210 96T90 394H317Q324 292 374 235T516 175Q627 172 702 256T793 480Q805 604 752 680T594
+759Q530 761 480 739T381 676L186 725Z" />
+<glyph unicode="6" horiz-adv-x="1139" d="M972 1464L952 1262L939 1263Q747 1265 606 1160T385 840Q517 968 686 964Q803 962 885 899T1005 725T1031 484Q1019 342 948 224T763 41T512 -21Q339 -17 231 102T108 415Q99 522 131 701Q196 1058 408 1261T949 1464H972ZM617
+769Q537 771 467 727T349 600Q338 499 339 456Q339 328 386 253T521 176Q629 173 704 257T795 477Q808 604 760 685T617 769Z" />
+<glyph unicode="7" horiz-adv-x="1139" d="M1157 1309L393 0H134L895 1261H169L200 1456H1180L1157 1309Z" />
+<glyph unicode="8" horiz-adv-x="1139" d="M1084 1080Q1066 863 828 744Q917 687 960 599T996 405Q983 213 839 95T482 -20Q288 -16 174 95T72 388Q90 631 363 756Q288 810 252 890T222 1063Q236 1251 370 1365T703 1476Q822 1473 912 1423T1048 1283T1084 1080ZM762
+417Q773 518 723 583T579 651Q473 653 398 582T311 401Q300 298 351 237T495 173Q603 171 676 240T762 417ZM846 1072Q855 1162 813 1221T687 1282Q596 1284 532 1220T456 1054Q447 960 490 903T614 844Q706 842 770 907T846 1072Z" />
+<glyph unicode="9" horiz-adv-x="1139" d="M247 194Q459 192 592 296T791 610Q655 478 503 480Q390 482 307 541T183 713T154 961Q167 1106 238 1227T424 1414T673 1476Q790 1473 876 1417T1011 1256T1066 1022Q1071 915 1043 755Q979 385 769 189T235 -7H213L232
+195L247 194ZM562 669Q636 667 702 709T816 827L829 924L833 994Q836 1124 792 1200T660 1281Q535 1285 455 1161T390 869Q397 780 442 726T562 669Z" />
+<glyph unicode=":" horiz-adv-x="537" d="M299 117Q299 178 337 216T436 257Q495 259 534 222T574 125Q574 67 536 29T437 -12Q378 -14 339 23T299 117ZM189 966Q189 1027 227 1065T326 1106Q385 1108 424 1071T464 974Q464 916 426 878T327 837Q268 835 229 872T189
+966Z" />
+<glyph unicode=";" horiz-adv-x="482" d="M169 966Q169 1027 207 1065T306 1106Q365 1108 404 1071T444 974Q444 916 406 878T307 837Q248 835 209 872T169 966ZM25 -328L-102 -248Q16 -90 43 29L80 235H293L267 74Q227 -173 25 -328Z" />
+<glyph unicode="&lt;" horiz-adv-x="1020" d="M306 626L840 402L799 170L50 543L84 736L963 1108L918 854L306 626Z" />
+<glyph unicode="=" horiz-adv-x="1122" d="M1009 780H171L207 982H1044L1009 780ZM935 356H98L133 557H971L935 356Z" />
+<glyph unicode="&gt;" horiz-adv-x="1044" d="M731 641L170 868L210 1097L985 724L951 531L47 159L91 409L731 641Z" />
+<glyph unicode="?" horiz-adv-x="976" d="M319 427Q331 552 377 640T525 814T658 936Q752 1044 734 1162Q726 1214 690 1244T597 1276Q515 1278 459 1229T385 1094L149 1093Q166 1271 294 1376T612 1477Q789 1473 890 1370T977 1097Q962 920 773 757L651 655Q557
+569 537 428L319 427ZM239 113Q239 172 276 210T372 250Q428 252 467 215T506 121Q506 60 467 24T373 -13Q317 -15 278 20T239 113Z" />
+<glyph unicode="@" horiz-adv-x="1787" d="M1190 -21Q1113 -19 1054 18T975 133Q844 -23 705 -20Q591 -18 530 72T478 323Q485 484 564 651T757 906T1002 991Q1087 989 1153 961T1287 884L1153 317L1145 257Q1138 194 1158 158T1225 119Q1314 115 1382 187T1494
+396T1544 706Q1548 840 1519 947T1429 1125Q1304 1271 1062 1275Q895 1278 748 1206T484 989T300 658T226 281Q218 108 270 -26T432 -229T701 -300Q867 -302 1040 -227L1067 -367Q929 -453 700 -453Q505 -452 360 -370T136 -132T54 235Q50 456 129 680T352 1077T679
+1338T1064 1424Q1256 1421 1397 1340T1615 1104T1696 748Q1700 537 1636 354T1456 73T1190 -21ZM671 307Q666 145 772 142Q828 139 887 192T976 322L1105 819Q1060 836 1019 838Q889 843 801 718T676 363L671 307Z" />
+<glyph unicode="A" horiz-adv-x="1332" d="M893 339H348L174 0H-92L694 1456H916L1198 0H950L893 339ZM452 543H860L761 1145L452 543Z" />
+<glyph unicode="B" horiz-adv-x="1263" d="M39 0L292 1456L739 1455Q975 1454 1093 1353T1198 1071Q1180 859 939 752Q1029 720 1078 635T1120 432Q1106 232 960 116T573 0H39ZM400 657L321 202L580 201Q697 201 779 263T876 433Q890 536 845 594T696 656L400
+657ZM432 843L659 842Q781 842 858 900T949 1057Q974 1244 760 1251L503 1252L432 843Z" />
+<glyph unicode="C" horiz-adv-x="1307" d="M1194 475Q1157 247 989 112T580 -20Q441 -17 337 46T173 229T107 502Q101 616 135 812T265 1165T502 1400T815 1476Q1032 1472 1158 1340T1293 974H1048Q1043 1130 983 1199T803 1272Q640 1277 530 1155T382 800L362
+667L353 565Q345 462 367 372T447 234T592 183Q871 172 950 473L1194 475Z" />
+<glyph unicode="D" horiz-adv-x="1308" d="M39 0L291 1456L685 1455Q867 1455 998 1365T1189 1115T1225 763L1214 684Q1184 483 1082 328T817 86T461 0H39ZM503 1252L321 202L467 201Q665 201 795 326T963 673Q989 825 982 938Q973 1083 898 1165T688 1251L503 1252Z" />
+<glyph unicode="E" horiz-adv-x="1133" d="M979 650H399L321 202H999L964 0H39L291 1456H1210L1174 1252H503L433 850H1014L979 650Z" />
+<glyph unicode="F" horiz-adv-x="1101" d="M961 617H393L286 0H39L291 1456H1191L1155 1252H503L428 819H997L961 617Z" />
+<glyph unicode="G" horiz-adv-x="1362" d="M1168 189Q1088 85 942 32T616 -20Q472 -19 362 44T188 229T114 506Q107 626 139 812T253 1142T454 1369Q614 1480 820 1476Q1039 1472 1162 1350T1302 1008L1063 1009Q1041 1266 814 1273Q644 1278 535 1154T385 794Q362
+657 360 570Q354 391 425 288T634 183Q809 179 922 270L976 555H684L718 747H1253L1168 189Z" />
+<glyph unicode="H" horiz-adv-x="1421" d="M1162 0H916L1028 647H398L286 0H39L292 1456H539L433 850H1063L1168 1456H1415L1162 0Z" />
+<glyph unicode="I" horiz-adv-x="571" d="M299 0H53L306 1456H552L299 0Z" />
+<glyph unicode="J" horiz-adv-x="1113" d="M875 1456H1121L947 435Q916 223 774 99T422 -21Q218 -17 111 100T13 416L259 415Q245 186 437 182Q537 178 608 245T701 434L875 1456Z" />
+<glyph unicode="K" horiz-adv-x="1262" d="M563 627L363 444L286 0H39L292 1456H539L422 787L575 946L1077 1456H1393L745 799L1154 0H878L563 627Z" />
+<glyph unicode="L" horiz-adv-x="1085" d="M321 202H963L927 0H39L292 1456H539L321 202Z" />
+<glyph unicode="M" horiz-adv-x="1749" d="M606 1456L819 342L1418 1456H1742L1490 0H1244L1329 493L1458 1100L858 0H680L457 1133L366 467L285 0H39L292 1456H606Z" />
+<glyph unicode="N" horiz-adv-x="1420" d="M1161 0H922L467 1043L286 0H39L292 1456H531L986 409L1168 1456H1414L1161 0Z" />
+<glyph unicode="O" horiz-adv-x="1382" d="M599 -20Q457 -17 350 48T182 236T114 517Q107 642 136 809T241 1113T422 1338Q595 1480 822 1476Q1038 1472 1166 1327T1307 935Q1313 811 1285 651T1187 356T1014 131Q836 -25 599 -20ZM1054 767L1063 873Q1069 982
+1044 1074T960 1215T809 1267Q683 1271 586 1196T428 968T357 584Q347 401 413 296T611 187Q784 182 896 317T1044 697L1054 767Z" />
+<glyph unicode="P" horiz-adv-x="1280" d="M380 541L286 0H39L292 1456L796 1455Q1024 1455 1154 1331T1267 1001Q1249 789 1094 665T688 540L380 541ZM415 744L698 742Q832 742 917 810T1020 1000Q1034 1111 979 1178T811 1251L503 1252L415 744Z" />
+<glyph unicode="Q" horiz-adv-x="1382" d="M939 86L1147 -114L973 -252L717 -8Q637 -20 590 -19Q377 -17 248 129T106 521Q100 646 129 810T237 1118T431 1350Q599 1480 815 1476Q959 1473 1066 1408T1234 1218T1302 936Q1306 850 1296 764L1284 677Q1222 275
+939 86ZM1049 768L1058 874Q1064 984 1039 1076T953 1216T802 1267Q606 1273 486 1093T351 584Q345 473 371 380T456 239T605 187Q770 180 883 308T1036 679L1049 768Z" />
+<glyph unicode="R" horiz-adv-x="1250" d="M662 561H384L286 0H39L292 1456L751 1455Q988 1455 1114 1341T1223 1024Q1212 883 1129 780T896 617L1111 15L1110 0H848L662 561ZM418 764L657 762Q786 762 872 829T974 1013Q989 1126 934 1186T767 1251L503 1252L418 764Z" />
+<glyph unicode="S" horiz-adv-x="1209" d="M844 382Q866 526 687 596L606 626Q380 705 285 813T199 1064Q207 1188 283 1282T485 1428T751 1476Q887 1473 993 1417T1155 1260T1207 1030L961 1031Q968 1145 911 1208T737 1274Q620 1276 540 1219T445 1065Q425 938
+615 865L690 838Q919 756 1010 646T1090 384Q1080 261 1009 170T813 28T536 -20Q393 -19 277 40T98 203T41 441L288 440Q280 316 349 249T547 180Q667 178 747 231T844 382Z" />
+<glyph unicode="T" horiz-adv-x="1216" d="M1278 1252H838L621 0H375L593 1252H156L192 1456H1314L1278 1252Z" />
+<glyph unicode="U" horiz-adv-x="1305" d="M1327 1456L1162 483Q1128 250 963 112T562 -22Q344 -18 218 110T102 444L105 482L270 1456H516L351 481Q333 342 392 264T574 182Q709 178 799 255T914 476L1081 1456H1327Z" />
+<glyph unicode="V" horiz-adv-x="1295" d="M593 319L1129 1456H1409L673 0H434L155 1456H417L593 319Z" />
+<glyph unicode="W" horiz-adv-x="1758" d="M1211 362L1599 1456H1850L1296 0H1060L959 1060L519 0H281L183 1456H422L470 367L909 1456H1116L1211 362Z" />
+<glyph unicode="X" horiz-adv-x="1267" d="M675 931L1053 1456H1351L802 723L1120 0H846L626 533L238 0H-61L500 745L189 1456H461L675 931Z" />
+<glyph unicode="Y" horiz-adv-x="1221" d="M627 768L1071 1456H1357L715 523L624 0H376L472 549L161 1456H422L627 768Z" />
+<glyph unicode="Z" horiz-adv-x="1206" d="M314 202H1062L1026 0H-27L4 176L913 1252H195L231 1456H1255L1225 1284L314 202Z" />
+<glyph unicode="[" horiz-adv-x="554" d="M663 1488H504L250 -135H410L380 -324H-17L296 1678H693L663 1488Z" />
+<glyph unicode="\" horiz-adv-x="840" d="M172 1456H396L712 -125H488L172 1456Z" />
+<glyph unicode="]" horiz-adv-x="554" d="M180 1678H579L266 -324H-134L-104 -135H58L312 1488H149L180 1678Z" />
+<glyph unicode="^" horiz-adv-x="859" d="M532 1188L279 729H68L484 1456H651L814 729H625L532 1188Z" />
+<glyph unicode="_" horiz-adv-x="906" d="M756 -191H-135L-101 0H790L756 -191Z" />
+<glyph unicode="`" horiz-adv-x="650" d="M598 1233H417L202 1536H456L598 1233Z" />
+<glyph unicode="a" horiz-adv-x="1085" d="M659 0Q647 40 649 101Q515 -24 360 -20Q219 -18 127 70T40 295Q48 466 188 564T564 662L718 660L732 734Q738 773 732 807Q712 915 589 918Q513 920 456 880T385 771L148 769Q155 869 219 944T389 1062T613 1102Q790
+1098 889 996T971 730L888 223L880 133Q877 74 895 18L894 0H659ZM415 174Q490 172 554 208T663 303L700 508L587 509Q453 509 373 459T282 320Q274 253 311 215T415 174Z" />
+<glyph unicode="b" horiz-adv-x="1128" d="M1031 536Q1011 371 943 238T773 40T544 -21Q363 -17 271 118L233 0H16L282 1536H520L412 977Q533 1106 699 1102Q856 1098 944 987T1038 683Q1039 623 1031 536ZM803 670Q803 779 758 840T628 904Q485 908 386 766L308
+318Q352 182 497 177Q617 174 694 269T794 537Q802 622 803 670Z" />
+<glyph unicode="c" horiz-adv-x="1050" d="M488 173Q573 171 638 222T722 357L946 358Q935 251 869 163T698 26T481 -20Q342 -18 244 52T101 245T71 521L74 556Q91 713 165 840T358 1037T620 1102Q796 1098 901 986T1006 693H784Q784 786 739 845T607 908Q468
+912 388 790T302 446Q295 177 488 173Z" />
+<glyph unicode="d" horiz-adv-x="1131" d="M68 542Q88 709 158 842T331 1040T560 1103Q725 1099 818 980L922 1536H1160L893 0H681L697 112Q571 -25 401 -21Q250 -19 160 95T62 400Q59 462 65 521L68 542ZM298 449Q291 325 336 252T472 177Q609 173 709 310L790
+775Q743 900 608 904Q472 908 389 784T298 449Z" />
+<glyph unicode="e" horiz-adv-x="1076" d="M506 -20Q365 -17 262 51T109 237T71 500L74 541Q92 706 170 837T366 1037T620 1102Q823 1098 924 951T1001 568L987 464H306Q297 335 358 256T526 175Q679 170 808 308L928 182Q860 85 749 32T506 -20ZM607 908Q419
+914 325 642L774 641L778 662Q785 708 779 752Q768 823 723 864T607 908Z" />
+<glyph unicode="f" horiz-adv-x="714" d="M99 0L256 902H95L127 1082H287L303 1198Q329 1366 438 1464T721 1560Q782 1558 862 1540L836 1350Q792 1360 747 1360Q662 1361 608 1314T539 1184L524 1082H738L706 902H493L336 0H99Z" />
+<glyph unicode="g" horiz-adv-x="1136" d="M70 542Q89 704 157 835T330 1035T568 1103Q746 1099 837 972L874 1083L1090 1082L911 30Q881 -182 733 -307T371 -427Q257 -425 155 -375T-9 -243L117 -100Q212 -231 365 -235Q481 -239 564 -172T676 21L693 97Q568
+-24 409 -20Q257 -18 166 95T65 399Q62 459 70 542ZM305 521Q299 470 301 411Q303 305 349 243T480 178Q615 173 716 303L801 781Q749 900 616 904Q496 907 414 811T307 542L305 521Z" />
+<glyph unicode="h" horiz-adv-x="1113" d="M407 963Q542 1105 714 1101Q868 1099 942 992T998 696L882 0H645L763 699Q768 742 765 779Q752 901 621 904Q489 906 385 774L250 0H13L279 1536H517L407 963Z" />
+<glyph unicode="i" horiz-adv-x="517" d="M268 0H31L219 1082H456L268 0ZM253 1359Q253 1414 289 1453T386 1494Q444 1496 482 1459T521 1367Q521 1310 484 1273T388 1234Q331 1232 292 1268T253 1359Z" />
+<glyph unicode="j" horiz-adv-x="508" d="M451 1082L252 -95Q230 -263 136 -352T-109 -440Q-173 -438 -244 -421L-224 -229Q-178 -240 -140 -240Q-13 -240 13 -91L214 1082H451ZM243 1359Q243 1417 279 1454T375 1494Q433 1496 471 1460T510 1367Q510 1310 473
+1273T377 1234Q317 1234 280 1269T243 1359Z" />
+<glyph unicode="k" horiz-adv-x="1047" d="M447 462L313 343L254 0H17L283 1536H520L368 664L451 750L795 1082H1098L618 620L934 0H677L447 462Z" />
+<glyph unicode="l" horiz-adv-x="517" d="M268 0H31L298 1536H535L268 0Z" />
+<glyph unicode="m" horiz-adv-x="1739" d="M425 1083L404 968Q538 1106 724 1102Q826 1100 893 1055T985 936Q1135 1106 1329 1102Q1487 1098 1563 994T1621 701L1504 0H1267L1385 703Q1390 747 1386 784Q1370 901 1238 904Q1091 908 1006 743L1003 721L879 0H641L759
+700Q764 743 760 780Q744 901 612 904Q479 906 390 785L253 0H16L203 1082L425 1083Z" />
+<glyph unicode="n" horiz-adv-x="1115" d="M423 1083L399 956Q538 1106 720 1102Q872 1099 945 994T999 699L882 0H645L763 702Q768 745 764 782Q751 901 622 904Q487 906 385 771L250 0H13L200 1082L423 1083Z" />
+<glyph unicode="o" horiz-adv-x="1141" d="M73 545Q90 704 166 834T363 1035T629 1102Q768 1100 869 1028T1016 831T1049 553Q1033 381 956 249T758 47T490 -20Q352 -18 252 53T104 249T70 524L73 545ZM306 408Q311 303 361 240T502 173Q624 170 706 267T810 532L816
+630Q816 758 765 831T617 908Q465 912 377 759Q324 666 310 545Q302 461 306 408Z" />
+<glyph unicode="p" horiz-adv-x="1128" d="M1029 537Q1009 375 943 243T774 44T544 -21Q375 -17 278 99L181 -416H-57L203 1082L420 1083L402 971Q526 1106 697 1102Q800 1101 876 1050T992 900T1036 682Q1037 621 1029 537ZM795 558L800 631Q803 760 758 831T621
+904Q487 908 389 781L305 298Q350 177 488 173Q606 170 686 265T795 558Z" />
+<glyph unicode="q" horiz-adv-x="1138" d="M68 543Q88 714 159 846T333 1042T563 1103Q735 1099 827 974L866 1083L1080 1082L820 -416H583L681 93Q560 -24 404 -20Q249 -18 159 95T62 399Q59 462 65 522L68 543ZM303 522L298 450Q295 315 340 246T474 174Q549
+171 604 205T705 296L793 790Q741 904 611 908Q497 911 418 822T310 569L303 522Z" />
+<glyph unicode="r" horiz-adv-x="708" d="M724 860Q678 870 631 870Q475 874 383 741L253 0H16L203 1082L428 1083L404 960Q515 1107 660 1104Q693 1104 751 1089L724 860Z" />
+<glyph unicode="s" horiz-adv-x="1035" d="M663 300Q680 399 535 437T336 499Q130 587 137 767Q142 913 269 1008T575 1102Q747 1100 855 1005T962 756L727 757Q729 832 686 874T568 919Q489 919 433 880T367 778Q353 687 495 652T705 586Q903 499 896 314Q891
+211 829 135T661 18T438 -20Q261 -18 145 83T30 342L259 341Q261 254 311 209T448 163Q536 163 594 199T663 300Z" />
+<glyph unicode="t" horiz-adv-x="671" d="M547 1345L501 1082H686L655 902H469L367 296Q364 271 366 251Q372 186 446 183Q483 183 530 192L514 2Q440 -19 365 -19Q241 -17 180 65T131 284L232 902H59L91 1082H263L309 1345H547Z" />
+<glyph unicode="u" horiz-adv-x="1114" d="M685 107Q562 -24 377 -20Q272 -18 203 32T104 171T86 382L203 1082H440L322 379Q318 342 321 307Q331 183 446 178Q603 172 700 304L836 1082H1073L886 0H664L685 107Z" />
+<glyph unicode="v" horiz-adv-x="993" d="M442 311L784 1082H1037L504 0H298L100 1082H338L442 311Z" />
+<glyph unicode="w" horiz-adv-x="1486" d="M993 337L1290 1082H1528L1054 0H859L764 740L414 0H218L119 1082H343L384 348L726 1082H905L993 337Z" />
+<glyph unicode="x" horiz-adv-x="1009" d="M511 728L766 1082H1043L629 538L870 0H622L471 369L205 0H-71L356 560L123 1082H371L511 728Z" />
+<glyph unicode="y" horiz-adv-x="977" d="M440 350L780 1082H1042L401 -187Q267 -443 48 -440Q-6 -438 -75 -420L-55 -232L-12 -236Q74 -239 130 -204T224 -93L281 19L100 1082H346L440 350Z" />
+<glyph unicode="z" horiz-adv-x="1009" d="M312 194H862L828 0H-25L5 171L653 886H138L173 1082H996L967 917L312 194Z" />
+<glyph unicode="{" horiz-adv-x="676" d="M461 -359Q303 -308 225 -188T166 106L194 310Q199 355 195 394Q182 516 48 527L65 705Q264 715 295 936L326 1160Q383 1496 738 1600L773 1457Q580 1387 545 1125L516 907Q483 710 298 614Q371 559 398 478T416 309L386
+79L383 8Q380 -162 511 -220L461 -359Z" />
+<glyph unicode="|" horiz-adv-x="509" d="M196 -270H32L302 1456H466L196 -270Z" />
+<glyph unicode="}" horiz-adv-x="676" d="M-103 -219Q81 -155 122 93L156 337Q191 532 381 623Q269 697 255 841Q250 884 255 929L285 1159L289 1231Q289 1401 160 1458L215 1595Q378 1541 450 1421T504 1132L476 928Q471 882 475 844Q488 720 623 709L605 531Q405
+521 375 302L344 79Q287 -261 -68 -363L-103 -219Z" />
+<glyph unicode="~" horiz-adv-x="1330" d="M1226 788Q1214 614 1116 498T870 386Q789 388 726 425T605 520T514 596T447 614Q312 617 278 425H91Q105 600 204 710T449 816Q531 814 596 776T717 681T807 606T872 588Q940 588 986 640T1049 785L1226 788Z" />
+<glyph unicode="&#xa0;" horiz-adv-x="505" />
+<glyph unicode="&#xa1;" horiz-adv-x="536" d="M175 662H379L225 -364H-26L175 662ZM462 975Q462 918 425 880T329 839T232 874T194 967Q194 1024 231 1062T327 1102Q385 1104 423 1067T462 975Z" />
+<glyph unicode="&#xa2;" horiz-adv-x="1125" d="M502 173Q590 171 654 223T738 357L961 358Q947 217 840 118T573 -11L526 -245H330L378 -9Q271 18 203 91T105 276T90 520L92 540Q117 769 240 914T556 1093L602 1318H797L751 1091Q883 1058 956 953T1028 693H807Q807
+790 761 846T632 907Q489 913 405 780T320 407Q320 301 366 239T502 173Z" />
+<glyph unicode="&#xa3;" horiz-adv-x="1179" d="M494 598L472 424Q455 294 366 199L1046 202L1010 0H-10L26 201L95 199Q195 235 223 413L247 598H90L125 797H276L307 1048Q323 1175 392 1274T570 1426T806 1475Q986 1471 1087 1363T1181 1072L942 1073Q947 1168
+906 1219T782 1275Q692 1277 629 1210T551 1031L522 797H824L789 598H494Z" />
+<glyph unicode="&#xa4;" horiz-adv-x="1404" d="M980 105Q798 -24 610 -20Q415 -16 280 106L128 -26L8 129L162 257Q135 342 125 428Q106 575 150 717T296 976L181 1131L332 1264L442 1121Q617 1237 795 1233Q980 1231 1116 1117L1286 1265L1407 1109L1238 967Q1300
+782 1280 615Q1254 414 1123 256L1234 107L1082 -27L980 105ZM306 599Q291 489 325 389T436 228T618 163Q731 159 835 219T1011 388T1099 616Q1114 726 1080 825T969 985T787 1049Q673 1053 568 992T392 825T306 599Z" />
+<glyph unicode="&#xa5;" horiz-adv-x="1221" d="M634 822L1050 1456H1336L831 742H1085L1058 590H720L696 452H1035L1008 301H670L618 0H371L424 301H80L107 452H450L474 590H130L157 742H437L179 1456H440L634 822Z" />
+<glyph unicode="&#xa6;" horiz-adv-x="503" d="M-20 -270L119 525H342L204 -270H-20ZM372 698H148L280 1456H504L372 698Z" />
+<glyph unicode="&#xa7;" horiz-adv-x="1244" d="M1106 463Q1092 282 892 177Q989 73 976 -95Q967 -216 896 -302T704 -432T439 -474Q215 -472 90 -359T-31 -49H209Q203 -156 266 -216T449 -279Q569 -279 647 -230T739 -98Q760 22 575 87L429 135L340 170Q63 289
+84 534Q98 718 296 821Q200 930 213 1094Q227 1270 376 1374T752 1476Q966 1472 1083 1358T1192 1046L956 1047Q962 1155 904 1216T741 1280Q627 1282 549 1236Q466 1187 452 1097Q430 963 620 907T894 807Q1123 691 1106 463ZM465 723Q344 668 324 550Q302 414
+484 353L679 289L719 274Q848 333 868 447Q890 576 696 644L465 723Z" />
+<glyph unicode="&#xa8;" horiz-adv-x="884" d="M332 1485Q386 1485 421 1452T456 1369Q456 1318 421 1284T333 1247Q277 1247 243 1281T209 1363T243 1447T332 1485ZM775 1484Q831 1484 865 1450T899 1368Q899 1317 864 1283T776 1246Q721 1246 687 1279T652 1362T686
+1447T775 1484Z" />
+<glyph unicode="&#xa9;" horiz-adv-x="1566" d="M1091 596Q1079 446 987 362T741 282Q595 286 513 394T445 669L455 770Q474 958 578 1068T840 1176Q989 1172 1066 1088T1139 860L987 861Q992 951 956 995T839 1042Q746 1044 685 973T609 778T594 627L596 583Q601
+508 638 464T742 417Q909 410 940 595L1091 596ZM233 571Q252 367 380 237T697 104Q881 100 1045 209T1301 506T1375 887Q1356 1089 1230 1217T912 1351Q727 1355 563 1246T306 950T233 571ZM115 722Q132 872 200 1011T381 1259T627 1423T906 1476Q1084 1474 1227
+1376T1441 1104T1492 735Q1470 534 1355 355T1067 76T702 -20Q520 -16 379 82T166 354T115 722Z" />
+<glyph unicode="&#xaa;" horiz-adv-x="896" d="M622 703Q617 743 619 773Q526 691 417 691Q311 691 251 752T194 911Q196 1026 289 1088T551 1151L655 1150L666 1203Q670 1228 669 1250Q662 1325 586 1328Q467 1332 440 1229L268 1243Q279 1354 367 1416T586 1477Q708
+1475 778 1400T838 1200L784 853L780 795Q779 750 788 703H622ZM457 833Q526 833 616 895L643 1033H560Q478 1030 427 999T368 915Q361 877 385 855T457 833Z" />
+<glyph unicode="&#xab;" horiz-adv-x="974" d="M530 524L696 138H548L329 527L330 547L670 937H849L530 524ZM622 524L788 138H640L421 527L422 547L762 937H941L622 524Z" />
+<glyph unicode="&#xac;" horiz-adv-x="1109" d="M895 374H699L745 634H128L159 805H970L895 374Z" />
+<glyph unicode="&#xad;" horiz-adv-x="662" d="M565 521H54L89 717H600L565 521Z" />
+<glyph unicode="&#xae;" horiz-adv-x="1566" d="M115 722Q137 920 248 1096T534 1376T906 1476Q1084 1474 1227 1376T1441 1104T1492 735Q1470 534 1355 355T1067 76T702 -20Q520 -16 379 82T166 354T115 722ZM232 571Q244 440 307 333T470 166T697 104Q853 100
+1000 182T1248 414T1372 736Q1393 895 1341 1038T1176 1264T912 1351Q727 1355 563 1246T306 951T232 571ZM654 653L601 316H453L586 1166L846 1165Q989 1160 1063 1093T1132 913Q1125 797 988 721Q1061 675 1068 575Q1070 544 1064 484T1058 395L1062 333L1061
+315H912Q907 352 909 388Q910 421 922 516Q928 579 906 613T818 651L654 653ZM674 787L803 786Q877 788 927 821T988 909Q999 968 970 998T851 1032L713 1033L674 787Z" />
+<glyph unicode="&#xaf;" horiz-adv-x="967" d="M946 1298H239L264 1456H971L946 1298Z" />
+<glyph unicode="&#xb0;" horiz-adv-x="765" d="M230 1199Q232 1310 314 1394T507 1477Q606 1475 673 1399T738 1217Q734 1103 654 1022T466 942Q364 944 296 1019T230 1199ZM366 1201Q360 1157 387 1121T463 1084Q518 1084 558 1123T604 1215Q610 1264 584 1300T510
+1337Q456 1337 414 1295T366 1201Z" />
+<glyph unicode="&#xb1;" horiz-adv-x="1075" d="M696 899H1029L997 700H665L604 312H393L454 700H107L139 899H484L544 1276H755L696 899ZM852 1H27L58 197H883L852 1Z" />
+<glyph unicode="&#xb2;" horiz-adv-x="745" d="M681 667H86L110 802L452 1083Q549 1166 561 1233Q568 1274 547 1297T484 1322Q426 1322 393 1287T347 1199L165 1198Q175 1319 262 1395T480 1469Q607 1467 680 1402T748 1232Q743 1106 593 987L514 927L357 817L708
+815L681 667Z" />
+<glyph unicode="&#xb3;" horiz-adv-x="745" d="M345 1132H428Q489 1134 527 1162T573 1236Q582 1303 508 1316L485 1318Q392 1320 364 1244L178 1243Q187 1348 270 1409T478 1468Q607 1465 683 1406T755 1248Q752 1189 716 1146T597 1064Q715 1023 711 894Q708
+783 614 718T381 655Q256 657 180 722T103 897L280 896Q284 807 390 805Q444 805 485 833T534 908Q547 997 427 1002H335L345 1132Z" />
+<glyph unicode="&#xb4;" horiz-adv-x="657" d="M437 1536H722L406 1233H200L437 1536Z" />
+<glyph unicode="&#xb5;" horiz-adv-x="1185" d="M461 1082L359 460Q351 375 353 335Q358 178 491 175Q643 171 733 295L871 1082H1108L921 0H706L721 86Q617 -24 477 -22Q369 -22 287 35L201 -416H-35L225 1082H461Z" />
+<glyph unicode="&#xb6;" horiz-adv-x="985" d="M530 0L620 520L564 521Q353 524 239 651T145 980Q164 1191 313 1324T688 1457L988 1456L735 0H530Z" />
+<glyph unicode="&#xb7;" horiz-adv-x="571" d="M158 710Q158 771 196 810T294 851Q355 853 394 814T433 718Q433 659 394 621T295 580Q236 578 197 615T158 710Z" />
+<glyph unicode="&#xb8;" horiz-adv-x="522" d="M197 4L178 -55Q240 -69 271 -111T302 -217Q300 -326 211 -385T-45 -451L-43 -310Q94 -304 110 -214Q119 -154 37 -141L-19 -135L26 2L197 4Z" />
+<glyph unicode="&#xb9;" horiz-adv-x="745" d="M511 672H330L429 1238L225 1191L252 1344L618 1459H641L511 672Z" />
+<glyph unicode="&#xba;" horiz-adv-x="917" d="M586 1477Q730 1473 811 1374T882 1121L876 1055Q861 891 756 788T498 689Q357 693 274 791T201 1044L207 1110Q217 1220 268 1304T403 1434T586 1477ZM373 1041Q365 944 399 890T504 834Q583 832 637 890T703 1052L711
+1122Q719 1222 685 1274T580 1329Q500 1331 446 1272T381 1113L373 1041Z" />
+<glyph unicode="&#xbb;" horiz-adv-x="974" d="M303 937L523 549L521 528L182 138H2L321 549L156 937H303ZM665 937L885 549L883 528L544 138H364L683 549L518 937H665Z" />
+<glyph unicode="&#xbc;" horiz-adv-x="1453" d="M471 664H290L389 1230L185 1183L212 1336L578 1451H601L471 664ZM366 119L245 198L1125 1325L1245 1246L366 119ZM1222 313L1322 314L1294 163H1202L1174 0H990L1020 163H673L686 296L1118 788L1304 790L1222 313ZM875
+314H1045L1096 559L1078 535L875 314Z" />
+<glyph unicode="&#xbd;" horiz-adv-x="1542" d="M324 119L203 198L1083 1325L1203 1246L324 119ZM463 667H282L381 1233L177 1186L204 1339L570 1454H593L463 667ZM1336 0H741L765 135L1107 416Q1204 499 1216 566Q1223 607 1202 630T1139 655Q1081 655 1048 620T1002
+532L820 531Q830 652 917 728T1135 802Q1262 800 1335 735T1403 565Q1398 439 1248 320L1169 260L1012 150L1363 148L1336 0Z" />
+<glyph unicode="&#xbe;" horiz-adv-x="1584" d="M503 119L382 198L1262 1325L1382 1246L503 119ZM1339 313L1439 314L1411 163H1319L1291 0H1107L1137 163H790L803 296L1235 788L1421 790L1339 313ZM992 314H1162L1213 559L1195 535L992 314ZM392 1133H475Q536
+1135 574 1163T620 1237Q629 1304 555 1317L532 1319Q439 1321 411 1245L225 1244Q234 1349 317 1410T525 1469Q654 1466 730 1407T802 1249Q799 1190 763 1147T644 1065Q762 1024 758 895Q755 784 661 719T428 656Q303 658 227 723T150 898L327 897Q331 808 437
+806Q491 806 532 834T581 909Q594 998 474 1003H382L392 1133Z" />
+<glyph unicode="&#xbf;" horiz-adv-x="976" d="M619 662Q608 546 565 461T426 288L344 214Q224 105 210 -6Q199 -88 236 -136T351 -186Q434 -188 491 -138T566 0H803Q786 -179 656 -284T338 -386Q155 -382 55 -280T-33 -9Q-18 170 177 341L286 435Q381 521 401
+661L619 662ZM701 976Q701 917 664 880T569 840Q510 838 472 875T434 968Q434 1025 471 1063T567 1103Q625 1105 663 1068T701 976Z" />
+<glyph unicode="&#xc0;" horiz-adv-x="1332" d="M893 339H348L174 0H-92L694 1456H916L1198 0H950L893 339ZM452 543H860L761 1145L452 543ZM945 1543H764L549 1846H803L945 1543Z" />
+<glyph unicode="&#xc1;" horiz-adv-x="1332" d="M893 339H348L174 0H-92L694 1456H916L1198 0H950L893 339ZM452 543H860L761 1145L452 543ZM939 1846H1224L908 1543H702L939 1846Z" />
+<glyph unicode="&#xc2;" horiz-adv-x="1332" d="M893 339H348L174 0H-92L694 1456H916L1198 0H950L893 339ZM452 543H860L761 1145L452 543ZM1169 1572V1555L984 1558L867 1713L694 1559L501 1555L500 1573L801 1847H937L1169 1572Z" />
+<glyph unicode="&#xc3;" horiz-adv-x="1332" d="M893 339H348L174 0H-92L694 1456H916L1198 0H950L893 339ZM452 543H860L761 1145L452 543ZM1225 1824Q1213 1705 1149 1635T990 1565Q966 1565 944 1572T868 1609T788 1649T733 1658Q654 1655 627 1554L478 1562Q488
+1676 553 1751T714 1825Q762 1824 837 1780T946 1731L971 1730Q1052 1733 1080 1835L1225 1824Z" />
+<glyph unicode="&#xc4;" horiz-adv-x="1332" d="M893 339H348L174 0H-92L694 1456H916L1198 0H950L893 339ZM452 543H860L761 1145L452 543ZM628 1795Q682 1795 717 1762T752 1679Q752 1628 717 1594T629 1557Q573 1557 539 1591T505 1673T539 1757T628 1795ZM1071
+1794Q1127 1794 1161 1760T1195 1678Q1195 1627 1160 1593T1072 1556Q1017 1556 983 1589T948 1672T982 1757T1071 1794Z" />
+<glyph unicode="&#xc5;" horiz-adv-x="1332" d="M893 339H348L174 0H-92L694 1456H916L1198 0H950L893 339ZM452 543H860L761 1145L452 543ZM646 1724Q646 1814 712 1877T872 1941Q954 1941 1015 1883T1076 1740Q1076 1651 1010 1589T851 1526Q764 1526 705 1584T646
+1724ZM753 1726Q747 1686 772 1653T840 1620Q890 1620 926 1656T969 1738Q975 1781 951 1813T883 1845Q833 1845 796 1809T753 1726Z" />
+<glyph unicode="&#xc6;" horiz-adv-x="1877" d="M1719 0H848L892 340H413L175 0H-121L941 1456H1912L1877 1259H1251L1196 851H1729L1694 654H1170L1110 196H1754L1719 0ZM562 555H920L1005 1189L562 555Z" />
+<glyph unicode="&#xc7;" horiz-adv-x="1307" d="M1194 475Q1157 247 989 112T580 -20Q441 -17 337 46T173 229T107 502Q101 616 135 812T265 1165T502 1400T815 1476Q1032 1472 1158 1340T1293 974H1048Q1043 1130 983 1199T803 1272Q640 1277 530 1155T382 800L362
+667L353 565Q345 462 367 372T447 234T592 183Q871 172 950 473L1194 475ZM639 -1L620 -60Q682 -74 713 -116T744 -222Q742 -331 653 -390T397 -456L399 -315Q536 -309 552 -219Q561 -159 479 -146L423 -140L468 -3L639 -1Z" />
+<glyph unicode="&#xc8;" horiz-adv-x="1133" d="M979 650H399L321 202H999L964 0H39L291 1456H1210L1174 1252H503L433 850H1014L979 650ZM889 1550H708L493 1853H747L889 1550Z" />
+<glyph unicode="&#xc9;" horiz-adv-x="1133" d="M979 650H399L321 202H999L964 0H39L291 1456H1210L1174 1252H503L433 850H1014L979 650ZM883 1853H1168L852 1550H646L883 1853Z" />
+<glyph unicode="&#xca;" horiz-adv-x="1133" d="M979 650H399L321 202H999L964 0H39L291 1456H1210L1174 1252H503L433 850H1014L979 650ZM1113 1579V1562L928 1565L811 1720L638 1566L445 1562L444 1580L745 1854H881L1113 1579Z" />
+<glyph unicode="&#xcb;" horiz-adv-x="1133" d="M979 650H399L321 202H999L964 0H39L291 1456H1210L1174 1252H503L433 850H1014L979 650ZM572 1802Q626 1802 661 1769T696 1686Q696 1635 661 1601T573 1564Q517 1564 483 1598T449 1680T483 1764T572 1802ZM1015
+1801Q1071 1801 1105 1767T1139 1685Q1139 1634 1104 1600T1016 1563Q961 1563 927 1596T892 1679T926 1764T1015 1801Z" />
+<glyph unicode="&#xcc;" horiz-adv-x="571" d="M299 0H53L306 1456H552L299 0ZM562 1550H381L166 1853H420L562 1550Z" />
+<glyph unicode="&#xcd;" horiz-adv-x="571" d="M299 0H53L306 1456H552L299 0ZM555 1853H840L524 1550H318L555 1853Z" />
+<glyph unicode="&#xce;" horiz-adv-x="571" d="M299 0H53L306 1456H552L299 0ZM786 1579V1562L601 1565L484 1720L311 1566L118 1562L117 1580L418 1854H554L786 1579Z" />
+<glyph unicode="&#xcf;" horiz-adv-x="571" d="M299 0H53L306 1456H552L299 0ZM245 1802Q299 1802 334 1769T369 1686Q369 1635 334 1601T246 1564Q190 1564 156 1598T122 1680T156 1764T245 1802ZM688 1801Q744 1801 778 1767T812 1685Q812 1634 777 1600T689
+1563Q634 1563 600 1596T565 1679T599 1764T688 1801Z" />
+<glyph unicode="&#xd0;" horiz-adv-x="1338" d="M69 0L182 652H-1L29 822H211L321 1456L715 1455Q897 1455 1028 1365T1219 1115T1255 763L1244 684Q1214 483 1112 328T847 86T491 0H69ZM650 652H429L351 202L497 201Q695 201 825 326T993 673Q1019 825 1012 938Q1003
+1083 928 1165T718 1251L533 1252L458 822H680L650 652Z" />
+<glyph unicode="&#xd1;" horiz-adv-x="1420" d="M1161 0H922L467 1043L286 0H39L292 1456H531L986 409L1168 1456H1414L1161 0ZM1265 1824Q1253 1705 1189 1635T1030 1565Q1006 1565 984 1572T908 1609T828 1649T773 1658Q694 1655 667 1554L518 1562Q528 1676
+593 1751T754 1825Q802 1824 877 1780T986 1731L1011 1730Q1092 1733 1120 1835L1265 1824Z" />
+<glyph unicode="&#xd2;" horiz-adv-x="1382" d="M599 -20Q457 -17 350 48T182 236T114 517Q107 642 136 809T241 1113T422 1338Q595 1480 822 1476Q1038 1472 1166 1327T1307 935Q1313 811 1285 651T1187 356T1014 131Q836 -25 599 -20ZM1054 767L1063 873Q1069
+982 1044 1074T960 1215T809 1267Q683 1271 586 1196T428 968T357 584Q347 401 413 296T611 187Q784 182 896 317T1044 697L1054 767ZM968 1543H787L572 1846H826L968 1543Z" />
+<glyph unicode="&#xd3;" horiz-adv-x="1382" d="M599 -20Q457 -17 350 48T182 236T114 517Q107 642 136 809T241 1113T422 1338Q595 1480 822 1476Q1038 1472 1166 1327T1307 935Q1313 811 1285 651T1187 356T1014 131Q836 -25 599 -20ZM1054 767L1063 873Q1069
+982 1044 1074T960 1215T809 1267Q683 1271 586 1196T428 968T357 584Q347 401 413 296T611 187Q784 182 896 317T1044 697L1054 767ZM962 1846H1247L931 1543H725L962 1846Z" />
+<glyph unicode="&#xd4;" horiz-adv-x="1382" d="M599 -20Q457 -17 350 48T182 236T114 517Q107 642 136 809T241 1113T422 1338Q595 1480 822 1476Q1038 1472 1166 1327T1307 935Q1313 811 1285 651T1187 356T1014 131Q836 -25 599 -20ZM1054 767L1063 873Q1069
+982 1044 1074T960 1215T809 1267Q683 1271 586 1196T428 968T357 584Q347 401 413 296T611 187Q784 182 896 317T1044 697L1054 767ZM1192 1572V1555L1007 1558L890 1713L717 1559L524 1555L523 1573L824 1847H960L1192 1572Z" />
+<glyph unicode="&#xd5;" horiz-adv-x="1382" d="M599 -20Q457 -17 350 48T182 236T114 517Q107 642 136 809T241 1113T422 1338Q595 1480 822 1476Q1038 1472 1166 1327T1307 935Q1313 811 1285 651T1187 356T1014 131Q836 -25 599 -20ZM1054 767L1063 873Q1069
+982 1044 1074T960 1215T809 1267Q683 1271 586 1196T428 968T357 584Q347 401 413 296T611 187Q784 182 896 317T1044 697L1054 767ZM1248 1824Q1236 1705 1172 1635T1013 1565Q989 1565 967 1572T891 1609T811 1649T756 1658Q677 1655 650 1554L501 1562Q511
+1676 576 1751T737 1825Q785 1824 860 1780T969 1731L994 1730Q1075 1733 1103 1835L1248 1824Z" />
+<glyph unicode="&#xd6;" horiz-adv-x="1382" d="M599 -20Q457 -17 350 48T182 236T114 517Q107 642 136 809T241 1113T422 1338Q595 1480 822 1476Q1038 1472 1166 1327T1307 935Q1313 811 1285 651T1187 356T1014 131Q836 -25 599 -20ZM1054 767L1063 873Q1069
+982 1044 1074T960 1215T809 1267Q683 1271 586 1196T428 968T357 584Q347 401 413 296T611 187Q784 182 896 317T1044 697L1054 767ZM651 1795Q705 1795 740 1762T775 1679Q775 1628 740 1594T652 1557Q596 1557 562 1591T528 1673T562 1757T651 1795ZM1094 1794Q1150
+1794 1184 1760T1218 1678Q1218 1627 1183 1593T1095 1556Q1040 1556 1006 1589T971 1672T1005 1757T1094 1794Z" />
+<glyph unicode="&#xd7;" horiz-adv-x="1069" d="M35 375L398 696L147 1019L305 1158L555 837L917 1158L1044 997L681 676L932 353L774 214L523 534L162 214L35 375Z" />
+<glyph unicode="&#xd8;" horiz-adv-x="1380" d="M599 -21Q443 -17 320 56L202 -95L21 -94L215 146Q107 322 109 548L112 627Q131 895 227 1086T478 1378T823 1477Q1013 1473 1141 1374L1253 1517H1432L1236 1273Q1292 1152 1306 1024Q1323 854 1286 649T1149 287T906
+54T599 -21ZM349 522Q346 437 366 354L1003 1185Q941 1263 812 1268Q646 1273 533 1145T379 784Q353 635 349 522ZM1073 907Q1078 977 1072 1048L451 238Q514 188 610 186Q786 181 899 320T1049 710L1066 831L1073 907Z" />
+<glyph unicode="&#xd9;" horiz-adv-x="1305" d="M1327 1456L1162 483Q1128 250 963 112T562 -22Q344 -18 218 110T102 444L105 482L270 1456H516L351 481Q333 342 392 264T574 182Q709 178 799 255T914 476L1081 1456H1327ZM928 1543H747L532 1846H786L928 1543Z" />
+<glyph unicode="&#xda;" horiz-adv-x="1305" d="M1327 1456L1162 483Q1128 250 963 112T562 -22Q344 -18 218 110T102 444L105 482L270 1456H516L351 481Q333 342 392 264T574 182Q709 178 799 255T914 476L1081 1456H1327ZM922 1846H1207L891 1543H685L922 1846Z" />
+<glyph unicode="&#xdb;" horiz-adv-x="1305" d="M1327 1456L1162 483Q1128 250 963 112T562 -22Q344 -18 218 110T102 444L105 482L270 1456H516L351 481Q333 342 392 264T574 182Q709 178 799 255T914 476L1081 1456H1327ZM1152 1572V1555L967 1558L850 1713L677
+1559L484 1555L483 1573L784 1847H920L1152 1572Z" />
+<glyph unicode="&#xdc;" horiz-adv-x="1305" d="M1327 1456L1162 483Q1128 250 963 112T562 -22Q344 -18 218 110T102 444L105 482L270 1456H516L351 481Q333 342 392 264T574 182Q709 178 799 255T914 476L1081 1456H1327ZM611 1795Q665 1795 700 1762T735 1679Q735
+1628 700 1594T612 1557Q556 1557 522 1591T488 1673T522 1757T611 1795ZM1054 1794Q1110 1794 1144 1760T1178 1678Q1178 1627 1143 1593T1055 1556Q1000 1556 966 1589T931 1672T965 1757T1054 1794Z" />
+<glyph unicode="&#xdd;" horiz-adv-x="1221" d="M627 768L1071 1456H1357L715 523L624 0H376L472 549L161 1456H422L627 768ZM882 1846H1167L851 1543H645L882 1846Z" />
+<glyph unicode="&#xde;" horiz-adv-x="1199" d="M529 1456L480 1176L683 1175Q905 1174 1029 1057T1139 746Q1123 543 970 421T581 299L329 300L276 0H39L292 1456H529ZM447 981L362 495L587 493Q715 495 801 563T902 745Q916 852 860 914T698 980L447 981Z" />
+<glyph unicode="&#xdf;" horiz-adv-x="1227" d="M264 0H27L216 1105Q244 1315 372 1438T700 1558Q867 1554 962 1460T1044 1209Q1040 1160 1022 1117T956 996T894 886T873 815Q865 766 888 715T979 588T1073 456T1098 345Q1089 172 965 74T652 -21Q481 -19 368
+46L436 239Q539 173 647 173Q735 173 794 217T864 335Q872 387 847 438T752 564Q626 698 635 809Q639 866 664 912T719 1003T775 1094T808 1195Q817 1271 783 1317T678 1367Q588 1370 530 1305T451 1104L264 0Z" />
+<glyph unicode="&#xe0;" horiz-adv-x="1085" d="M659 0Q647 40 649 101Q515 -24 360 -20Q219 -18 127 70T40 295Q48 466 188 564T564 662L718 660L732 734Q738 773 732 807Q712 915 589 918Q513 920 456 880T385 771L148 769Q155 869 219 944T389 1062T613 1102Q790
+1098 889 996T971 730L888 223L880 133Q877 74 895 18L894 0H659ZM415 174Q490 172 554 208T663 303L700 508L587 509Q453 509 373 459T282 320Q274 253 311 215T415 174ZM777 1233H596L381 1536H635L777 1233Z" />
+<glyph unicode="&#xe1;" horiz-adv-x="1085" d="M659 0Q647 40 649 101Q515 -24 360 -20Q219 -18 127 70T40 295Q48 466 188 564T564 662L718 660L732 734Q738 773 732 807Q712 915 589 918Q513 920 456 880T385 771L148 769Q155 869 219 944T389 1062T613 1102Q790
+1098 889 996T971 730L888 223L880 133Q877 74 895 18L894 0H659ZM415 174Q490 172 554 208T663 303L700 508L587 509Q453 509 373 459T282 320Q274 253 311 215T415 174ZM771 1536H1056L740 1233H534L771 1536Z" />
+<glyph unicode="&#xe2;" horiz-adv-x="1085" d="M659 0Q647 40 649 101Q515 -24 360 -20Q219 -18 127 70T40 295Q48 466 188 564T564 662L718 660L732 734Q738 773 732 807Q712 915 589 918Q513 920 456 880T385 771L148 769Q155 869 219 944T389 1062T613 1102Q790
+1098 889 996T971 730L888 223L880 133Q877 74 895 18L894 0H659ZM415 174Q490 172 554 208T663 303L700 508L587 509Q453 509 373 459T282 320Q274 253 311 215T415 174ZM1001 1262V1245L816 1248L699 1403L526 1249L333 1245L332 1263L633 1537H769L1001 1262Z"
+/>
+<glyph unicode="&#xe3;" horiz-adv-x="1085" d="M659 0Q647 40 649 101Q515 -24 360 -20Q219 -18 127 70T40 295Q48 466 188 564T564 662L718 660L732 734Q738 773 732 807Q712 915 589 918Q513 920 456 880T385 771L148 769Q155 869 219 944T389 1062T613 1102Q790
+1098 889 996T971 730L888 223L880 133Q877 74 895 18L894 0H659ZM415 174Q490 172 554 208T663 303L700 508L587 509Q453 509 373 459T282 320Q274 253 311 215T415 174ZM1057 1514Q1045 1395 981 1325T822 1255Q798 1255 776 1262T700 1299T620 1339T565 1348Q486
+1345 459 1244L310 1252Q320 1366 385 1441T546 1515Q594 1514 669 1470T778 1421L803 1420Q884 1423 912 1525L1057 1514Z" />
+<glyph unicode="&#xe4;" horiz-adv-x="1085" d="M659 0Q647 40 649 101Q515 -24 360 -20Q219 -18 127 70T40 295Q48 466 188 564T564 662L718 660L732 734Q738 773 732 807Q712 915 589 918Q513 920 456 880T385 771L148 769Q155 869 219 944T389 1062T613 1102Q790
+1098 889 996T971 730L888 223L880 133Q877 74 895 18L894 0H659ZM415 174Q490 172 554 208T663 303L700 508L587 509Q453 509 373 459T282 320Q274 253 311 215T415 174ZM460 1485Q514 1485 549 1452T584 1369Q584 1318 549 1284T461 1247Q405 1247 371 1281T337
+1363T371 1447T460 1485ZM903 1484Q959 1484 993 1450T1027 1368Q1027 1317 992 1283T904 1246Q849 1246 815 1279T780 1362T814 1447T903 1484Z" />
+<glyph unicode="&#xe5;" horiz-adv-x="1085" d="M659 0Q647 40 649 101Q515 -24 360 -20Q219 -18 127 70T40 295Q48 466 188 564T564 662L718 660L732 734Q738 773 732 807Q712 915 589 918Q513 920 456 880T385 771L148 769Q155 869 219 944T389 1062T613 1102Q790
+1098 889 996T971 730L888 223L880 133Q877 74 895 18L894 0H659ZM415 174Q490 172 554 208T663 303L700 508L587 509Q453 509 373 459T282 320Q274 253 311 215T415 174ZM478 1414Q478 1504 544 1567T704 1631Q786 1631 847 1573T908 1430Q908 1341 842 1279T683
+1216Q596 1216 537 1274T478 1414ZM585 1416Q579 1376 604 1343T672 1310Q722 1310 758 1346T801 1428Q807 1471 783 1503T715 1535Q665 1535 628 1499T585 1416Z" />
+<glyph unicode="&#xe6;" horiz-adv-x="1687" d="M1130 -19Q1015 -19 921 22T774 140Q602 -24 349 -20Q195 -18 105 69T23 304Q33 465 163 554T524 643L715 641L728 715Q734 753 730 787Q713 904 594 907Q507 909 448 867T375 752L138 771Q145 869 206 945T377
+1063T610 1103Q825 1098 915 970Q1070 1106 1255 1102Q1449 1096 1548 961T1622 612L1601 471H932Q918 335 977 257T1152 176Q1237 174 1312 200T1462 266L1520 98Q1455 41 1350 10T1130 -19ZM402 163Q516 163 654 265L694 475L525 476Q418 473 346 426T261 300Q252
+237 291 201T402 163ZM1239 908Q1143 911 1070 844T951 641H1389L1395 674Q1402 719 1398 761Q1384 902 1239 908Z" />
+<glyph unicode="&#xe7;" horiz-adv-x="1050" d="M488 173Q573 171 638 222T722 357L946 358Q935 251 869 163T698 26T481 -20Q342 -18 244 52T101 245T71 521L74 556Q91 713 165 840T358 1037T620 1102Q796 1098 901 986T1006 693H784Q784 786 739 845T607 908Q468
+912 388 790T302 446Q295 177 488 173ZM513 -1L494 -60Q556 -74 587 -116T618 -222Q616 -331 527 -390T271 -456L273 -315Q410 -309 426 -219Q435 -159 353 -146L297 -140L342 -3L513 -1Z" />
+<glyph unicode="&#xe8;" horiz-adv-x="1076" d="M506 -20Q365 -17 262 51T109 237T71 500L74 541Q92 706 170 837T366 1037T620 1102Q823 1098 924 951T1001 568L987 464H306Q297 335 358 256T526 175Q679 170 808 308L928 182Q860 85 749 32T506 -20ZM607 908Q419
+914 325 642L774 641L778 662Q785 708 779 752Q768 823 723 864T607 908ZM754 1233H573L358 1536H612L754 1233Z" />
+<glyph unicode="&#xe9;" horiz-adv-x="1076" d="M506 -20Q365 -17 262 51T109 237T71 500L74 541Q92 706 170 837T366 1037T620 1102Q823 1098 924 951T1001 568L987 464H306Q297 335 358 256T526 175Q679 170 808 308L928 182Q860 85 749 32T506 -20ZM607 908Q419
+914 325 642L774 641L778 662Q785 708 779 752Q768 823 723 864T607 908ZM748 1536H1033L717 1233H511L748 1536Z" />
+<glyph unicode="&#xea;" horiz-adv-x="1076" d="M506 -20Q365 -17 262 51T109 237T71 500L74 541Q92 706 170 837T366 1037T620 1102Q823 1098 924 951T1001 568L987 464H306Q297 335 358 256T526 175Q679 170 808 308L928 182Q860 85 749 32T506 -20ZM607 908Q419
+914 325 642L774 641L778 662Q785 708 779 752Q768 823 723 864T607 908ZM978 1262V1245L793 1248L676 1403L503 1249L310 1245L309 1263L610 1537H746L978 1262Z" />
+<glyph unicode="&#xeb;" horiz-adv-x="1076" d="M506 -20Q365 -17 262 51T109 237T71 500L74 541Q92 706 170 837T366 1037T620 1102Q823 1098 924 951T1001 568L987 464H306Q297 335 358 256T526 175Q679 170 808 308L928 182Q860 85 749 32T506 -20ZM607 908Q419
+914 325 642L774 641L778 662Q785 708 779 752Q768 823 723 864T607 908ZM437 1485Q491 1485 526 1452T561 1369Q561 1318 526 1284T438 1247Q382 1247 348 1281T314 1363T348 1447T437 1485ZM880 1484Q936 1484 970 1450T1004 1368Q1004 1317 969 1283T881 1246Q826
+1246 792 1279T757 1362T791 1447T880 1484Z" />
+<glyph unicode="&#xec;" horiz-adv-x="532" d="M271 0H34L222 1082H459L271 0ZM743 1482H562L347 1785H601L743 1482Z" />
+<glyph unicode="&#xed;" horiz-adv-x="532" d="M271 0H34L222 1082H459L271 0ZM480 1785H765L449 1482H243L480 1785Z" />
+<glyph unicode="&#xee;" horiz-adv-x="532" d="M271 0H34L222 1082H459L271 0ZM711 1255V1238L526 1241L409 1396L236 1242L43 1238L42 1256L343 1530H479L711 1255Z" />
+<glyph unicode="&#xef;" horiz-adv-x="532" d="M271 0H34L222 1082H459L271 0ZM170 1478Q224 1478 259 1445T294 1362Q294 1311 259 1277T171 1240Q115 1240 81 1274T47 1356T81 1440T170 1478ZM613 1477Q669 1477 703 1443T737 1361Q737 1310 702 1276T614 1239Q559
+1239 525 1272T490 1355T524 1440T613 1477Z" />
+<glyph unicode="&#xf0;" horiz-adv-x="1165" d="M933 1300Q1024 1145 1056 983T1066 642L1054 556Q1031 389 947 251T745 45T490 -21Q363 -17 265 47T118 221T82 460Q95 604 163 724T343 911T588 974Q726 970 833 881Q829 1034 733 1172L509 1036L446 1157L630
+1265Q539 1338 374 1386L465 1580Q687 1526 835 1395L1036 1517L1098 1396L933 1300ZM834 685Q780 782 633 787Q506 789 421 698T319 460Q305 340 357 258T508 172Q626 167 707 271T814 548L834 685Z" />
+<glyph unicode="&#xf1;" horiz-adv-x="1115" d="M423 1083L399 956Q538 1106 720 1102Q872 1099 945 994T999 699L882 0H645L763 702Q768 745 764 782Q751 901 622 904Q487 906 385 771L250 0H13L200 1082L423 1083ZM1063 1514Q1051 1395 987 1325T828 1255Q804
+1255 782 1262T706 1299T626 1339T571 1348Q492 1345 465 1244L316 1252Q326 1366 391 1441T552 1515Q600 1514 675 1470T784 1421L809 1420Q890 1423 918 1525L1063 1514Z" />
+<glyph unicode="&#xf2;" horiz-adv-x="1141" d="M73 545Q90 704 166 834T363 1035T629 1102Q768 1100 869 1028T1016 831T1049 553Q1033 381 956 249T758 47T490 -20Q352 -18 252 53T104 249T70 524L73 545ZM306 408Q311 303 361 240T502 173Q624 170 706 267T810
+532L816 630Q816 758 765 831T617 908Q465 912 377 759Q324 666 310 545Q302 461 306 408ZM774 1233H593L378 1536H632L774 1233Z" />
+<glyph unicode="&#xf3;" horiz-adv-x="1141" d="M73 545Q90 704 166 834T363 1035T629 1102Q768 1100 869 1028T1016 831T1049 553Q1033 381 956 249T758 47T490 -20Q352 -18 252 53T104 249T70 524L73 545ZM306 408Q311 303 361 240T502 173Q624 170 706 267T810
+532L816 630Q816 758 765 831T617 908Q465 912 377 759Q324 666 310 545Q302 461 306 408ZM768 1536H1053L737 1233H531L768 1536Z" />
+<glyph unicode="&#xf4;" horiz-adv-x="1141" d="M73 545Q90 704 166 834T363 1035T629 1102Q768 1100 869 1028T1016 831T1049 553Q1033 381 956 249T758 47T490 -20Q352 -18 252 53T104 249T70 524L73 545ZM306 408Q311 303 361 240T502 173Q624 170 706 267T810
+532L816 630Q816 758 765 831T617 908Q465 912 377 759Q324 666 310 545Q302 461 306 408ZM998 1262V1245L813 1248L696 1403L523 1249L330 1245L329 1263L630 1537H766L998 1262Z" />
+<glyph unicode="&#xf5;" horiz-adv-x="1141" d="M73 545Q90 704 166 834T363 1035T629 1102Q768 1100 869 1028T1016 831T1049 553Q1033 381 956 249T758 47T490 -20Q352 -18 252 53T104 249T70 524L73 545ZM306 408Q311 303 361 240T502 173Q624 170 706 267T810
+532L816 630Q816 758 765 831T617 908Q465 912 377 759Q324 666 310 545Q302 461 306 408ZM1054 1514Q1042 1395 978 1325T819 1255Q795 1255 773 1262T697 1299T617 1339T562 1348Q483 1345 456 1244L307 1252Q317 1366 382 1441T543 1515Q591 1514 666 1470T775
+1421L800 1420Q881 1423 909 1525L1054 1514Z" />
+<glyph unicode="&#xf6;" horiz-adv-x="1141" d="M73 545Q90 704 166 834T363 1035T629 1102Q768 1100 869 1028T1016 831T1049 553Q1033 381 956 249T758 47T490 -20Q352 -18 252 53T104 249T70 524L73 545ZM306 408Q311 303 361 240T502 173Q624 170 706 267T810
+532L816 630Q816 758 765 831T617 908Q465 912 377 759Q324 666 310 545Q302 461 306 408ZM457 1485Q511 1485 546 1452T581 1369Q581 1318 546 1284T458 1247Q402 1247 368 1281T334 1363T368 1447T457 1485ZM900 1484Q956 1484 990 1450T1024 1368Q1024 1317
+989 1283T901 1246Q846 1246 812 1279T777 1362T811 1447T900 1484Z" />
+<glyph unicode="&#xf7;" horiz-adv-x="1144" d="M1044 582H61L98 794H1082L1044 582ZM508 1091Q508 1152 547 1189T644 1229Q705 1231 744 1193T783 1099Q783 1042 746 1003T646 962Q587 960 548 996T508 1091ZM366 274Q366 331 404 371T503 413Q560 415 600 379T641
+282Q641 223 603 186T504 146Q447 144 407 180T366 274Z" />
+<glyph unicode="&#xf8;" horiz-adv-x="1135" d="M68 544Q83 662 130 767T255 951Q411 1108 634 1104Q728 1102 823 1067L920 1211L1075 1210L929 1000Q1041 868 1048 673Q1050 615 1042 532Q1022 373 945 244T745 46T475 -22Q389 -20 298 11L197 -137L42 -136L188
+73Q70 203 62 402Q59 463 66 523L68 544ZM291 399Q290 336 310 275L714 890Q676 909 623 911Q523 912 448 848T332 663T291 399ZM820 673Q821 733 803 793L403 186Q443 172 485 170Q606 167 691 262T807 532Q819 616 820 673Z" />
+<glyph unicode="&#xf9;" horiz-adv-x="1114" d="M685 107Q562 -24 377 -20Q272 -18 203 32T104 171T86 382L203 1082H440L322 379Q318 342 321 307Q331 183 446 178Q603 172 700 304L836 1082H1073L886 0H664L685 107ZM779 1233H598L383 1536H637L779 1233Z" />
+<glyph unicode="&#xfa;" horiz-adv-x="1114" d="M685 107Q562 -24 377 -20Q272 -18 203 32T104 171T86 382L203 1082H440L322 379Q318 342 321 307Q331 183 446 178Q603 172 700 304L836 1082H1073L886 0H664L685 107ZM773 1536H1058L742 1233H536L773 1536Z" />
+<glyph unicode="&#xfb;" horiz-adv-x="1114" d="M685 107Q562 -24 377 -20Q272 -18 203 32T104 171T86 382L203 1082H440L322 379Q318 342 321 307Q331 183 446 178Q603 172 700 304L836 1082H1073L886 0H664L685 107ZM1003 1262V1245L818 1248L701 1403L528 1249L335
+1245L334 1263L635 1537H771L1003 1262Z" />
+<glyph unicode="&#xfc;" horiz-adv-x="1114" d="M685 107Q562 -24 377 -20Q272 -18 203 32T104 171T86 382L203 1082H440L322 379Q318 342 321 307Q331 183 446 178Q603 172 700 304L836 1082H1073L886 0H664L685 107ZM462 1485Q516 1485 551 1452T586 1369Q586
+1318 551 1284T463 1247Q407 1247 373 1281T339 1363T373 1447T462 1485ZM905 1484Q961 1484 995 1450T1029 1368Q1029 1317 994 1283T906 1246Q851 1246 817 1279T782 1362T816 1447T905 1484Z" />
+<glyph unicode="&#xfd;" horiz-adv-x="977" d="M440 350L780 1082H1042L401 -187Q267 -443 48 -440Q-6 -438 -75 -420L-55 -232L-12 -236Q74 -239 130 -204T224 -93L281 19L100 1082H346L440 350ZM719 1536H1004L688 1233H482L719 1536Z" />
+<glyph unicode="&#xfe;" horiz-adv-x="1150" d="M1036 536Q1016 372 948 240T778 41T550 -22Q382 -18 284 99L187 -416H-51L288 1536H525L419 982Q541 1106 704 1102Q861 1098 949 987T1043 683Q1044 623 1036 536ZM801 558L806 632Q809 759 764 829T626 904Q493
+908 395 781L310 298Q357 177 494 173Q612 170 692 265T801 558Z" />
+<glyph unicode="&#xff;" horiz-adv-x="977" d="M440 350L780 1082H1042L401 -187Q267 -443 48 -440Q-6 -438 -75 -420L-55 -232L-12 -236Q74 -239 130 -204T224 -93L281 19L100 1082H346L440 350ZM408 1485Q462 1485 497 1452T532 1369Q532 1318 497 1284T409
+1247Q353 1247 319 1281T285 1363T319 1447T408 1485ZM851 1484Q907 1484 941 1450T975 1368Q975 1317 940 1283T852 1246Q797 1246 763 1279T728 1362T762 1447T851 1484Z" />
+<glyph unicode="&#x2013;" horiz-adv-x="1291" d="M1402 621H412L454 817H1444L1402 621Z" />
+<glyph unicode="&#x2014;" horiz-adv-x="1546" d="M1707 621H387L443 817H1763L1707 621Z" />
+<glyph unicode="&#x2018;" horiz-adv-x="445" d="M427 1562L546 1483Q439 1342 411 1215L382 1056H174L194 1180Q232 1411 427 1562Z" />
+<glyph unicode="&#x2019;" horiz-adv-x="441" d="M257 1024L138 1103Q244 1242 272 1371L302 1536H510L488 1400Q451 1174 257 1024Z" />
+<glyph unicode="&#x201a;" horiz-adv-x="458" d="M26 -298L-92 -218Q10 -81 37 48L65 202H277L258 79Q223 -145 26 -298Z" />
+<glyph unicode="&#x201c;" horiz-adv-x="774" d="M436 1562L555 1483Q448 1342 420 1215L391 1056H183L203 1180Q241 1411 436 1562ZM762 1562L881 1483Q774 1342 746 1215L717 1056H509L529 1180Q567 1411 762 1562Z" />
+<glyph unicode="&#x201d;" horiz-adv-x="781" d="M270 1024L151 1103Q257 1242 285 1371L315 1536H523L501 1400Q464 1174 270 1024ZM594 1024L475 1103Q581 1242 609 1371L639 1536H847L825 1400Q788 1174 594 1024Z" />
+<glyph unicode="&#x201e;" horiz-adv-x="763" d="M27 -318L-95 -238Q16 -78 42 70L74 255H286L257 73Q239 -40 178 -143T27 -318ZM339 -318L217 -238Q333 -75 358 70L390 255H603L573 72Q555 -44 492 -144T339 -318Z" />
+<glyph unicode="&#x2022;" horiz-adv-x="704" d="M159 764Q165 864 227 926T386 988Q477 986 533 927T589 774L587 731Q580 631 518 574T360 516Q270 516 214 574T158 723L159 764Z" />
+<glyph unicode="&#x2039;" horiz-adv-x="617" d="M294 524L460 138H312L93 527L94 547L434 937H613L294 524Z" />
+<glyph unicode="&#x203a;" horiz-adv-x="608" d="M294 937L514 549L512 528L173 138H-7L312 549L147 937H294Z" />
+</font>
+</defs>
+</svg>
diff --git a/assets/fonts/Roboto-500italic/Roboto-500italic.ttf b/assets/fonts/Roboto-500italic/Roboto-500italic.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..28d03db9922938c39fb7b2dd5e2a9b3823151f4f
GIT binary patch
literal 33868
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
JW{(^!?H4K5xGMkv

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-500italic/Roboto-500italic.woff b/assets/fonts/Roboto-500italic/Roboto-500italic.woff
new file mode 100644
index 0000000000000000000000000000000000000000..072ca9b236b39a18544e2b2e063de7f6ccf0fda8
GIT binary patch
literal 14620
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
a<4p9PzaT>Eu@$ht+YxoU!3Mr--~RwEDB{}y

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-500italic/Roboto-500italic.woff2 b/assets/fonts/Roboto-500italic/Roboto-500italic.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..382866ae2b8a74f354d6af2d27350550a97d03e1
GIT binary patch
literal 11532
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

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-700/LICENSE.txt b/assets/fonts/Roboto-700/LICENSE.txt
new file mode 100644
index 00000000..d6456956
--- /dev/null
+++ b/assets/fonts/Roboto-700/LICENSE.txt
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/assets/fonts/Roboto-700/Roboto-700.eot b/assets/fonts/Roboto-700/Roboto-700.eot
new file mode 100644
index 0000000000000000000000000000000000000000..f89cad7b7f9c64a64c33ff2d27d52be1c28131a9
GIT binary patch
literal 16208
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
N69Ue10BL+3|3BR=Qi%Wn

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-700/Roboto-700.svg b/assets/fonts/Roboto-700/Roboto-700.svg
new file mode 100644
index 00000000..fc8d42f9
--- /dev/null
+++ b/assets/fonts/Roboto-700/Roboto-700.svg
@@ -0,0 +1,310 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg">
+<defs >
+<font id="Roboto" horiz-adv-x="1186" ><font-face
+    font-family="Roboto"
+    units-per-em="2048"
+    panose-1="2 0 0 0 0 0 0 0 0 0"
+    ascent="1900"
+    descent="-500"
+    alphabetic="0" />
+<glyph unicode=" " horiz-adv-x="510" />
+<glyph unicode="!" horiz-adv-x="557" d="M405 447H165L131 1456H439L405 447ZM285 289Q358 289 402 246T447 136Q447 70 403 27T285 -16Q213 -16 169 27T124 136T168 245T285 289Z" />
+<glyph unicode="&quot;" horiz-adv-x="657" d="M266 1398L226 987H64V1536H266V1398ZM591 1398L552 987H390V1536H591V1398Z" />
+<glyph unicode="#" horiz-adv-x="1220" d="M667 410H474L402 0H219L291 410H64V582H321L371 866H139V1040H402L475 1456H657L584 1040H778L851 1456H1034L961 1040H1180V866H930L880 582H1104V410H850L778 0H595L667 410ZM504 582H697L747 866H553L504 582Z" />
+<glyph unicode="$" horiz-adv-x="1175" d="M790 383Q790 465 745 513T590 603T402 684T267 777T179 901T147 1070Q147 1239 255 1347T542 1473V1687H702V1470Q879 1445 979 1323T1079 1005H790Q790 1125 741 1184T608 1244Q526 1244 481 1198T436 1069Q436 993
+480 947T643 853T840 763T970 667T1051 545T1079 385Q1079 215 973 109T681 -16V-215H522V-17Q317 5 205 128T92 457H381Q381 338 437 275T600 211Q688 211 739 257T790 383Z" />
+<glyph unicode="%" horiz-adv-x="1512" d="M95 1176Q95 1310 182 1393T410 1477Q553 1477 640 1395T727 1171V1099Q727 964 640 882T412 800Q270 800 183 882T95 1105V1176ZM287 1099Q287 1039 321 1003T412 966T501 1003T534 1102V1176Q534 1236 501 1273T410
+1310Q355 1310 321 1274T287 1172V1099ZM791 357Q791 492 879 574T1107 657Q1249 657 1336 576T1424 351V279Q1424 145 1338 63T1109 -20Q965 -20 878 63T791 283V357ZM983 279Q983 224 1019 185T1109 146Q1231 146 1231 281V357Q1231 417 1197 453T1107 490T1017
+454T983 354V279ZM469 109L328 185L1039 1323L1180 1247L469 109Z" />
+<glyph unicode="&amp;" horiz-adv-x="1344" d="M71 392Q71 493 127 579T335 770Q270 857 233 933T196 1093Q196 1263 303 1369T593 1476Q756 1476 860 1379T965 1137Q965 963 789 830L677 749L928 457Q987 573 987 713H1233Q1233 429 1102 253L1320 0H992L917
+86Q756 -20 547 -20Q331 -20 201 93T71 392ZM561 212Q665 212 758 270L471 602L450 587Q361 511 361 408Q361 321 416 267T561 212ZM455 1097Q455 1022 543 908L620 959Q679 997 701 1033T724 1119T687 1206T592 1243Q530 1243 493 1203T455 1097Z" />
+<glyph unicode="&apos;" horiz-adv-x="331" d="M275 1389L246 985H63V1536H275V1389Z" />
+<glyph unicode="(" horiz-adv-x="719" d="M124 592Q124 821 185 1028T365 1394T623 1616L679 1460Q533 1352 451 1126T369 598V567Q369 264 450 37T679 -302L623 -455Q487 -394 370 -240T190 117T124 539V592Z" />
+<glyph unicode=")" horiz-adv-x="722" d="M609 569Q609 343 544 134T357 -235T96 -455L40 -302Q182 -195 264 28T349 541V594Q349 893 268 1121T40 1463L96 1616Q232 1557 352 1402T539 1041T609 614V569Z" />
+<glyph unicode="*" horiz-adv-x="928" d="M341 962L27 1051L86 1232L397 1107L377 1456H573L553 1100L856 1223L915 1040L595 951L805 685L646 572L464 864L284 582L125 690L341 962Z" />
+<glyph unicode="+" horiz-adv-x="1118" d="M694 815H1055V554H694V146H419V554H57V815H419V1206H694V815Z" />
+<glyph unicode="," horiz-adv-x="500" d="M186 -365L35 -286L71 -221Q138 -99 140 22V246H384L383 46Q382 -65 327 -178T186 -365Z" />
+<glyph unicode="-" horiz-adv-x="794" d="M673 507H110V740H673V507Z" />
+<glyph unicode="." horiz-adv-x="595" d="M126 142Q126 211 172 254T289 297Q360 297 406 254T453 142Q453 74 407 32T289 -11Q218 -11 172 31T126 142Z" />
+<glyph unicode="/" horiz-adv-x="765" d="M202 -125H-13L523 1456H738L202 -125Z" />
+<glyph unicode="0" horiz-adv-x="1175" d="M1079 602Q1079 300 954 140T588 -20Q350 -20 224 137T95 587V855Q95 1160 221 1318T586 1476T950 1320T1079 870V602ZM790 896Q790 1077 741 1159T586 1242Q484 1242 436 1164T384 918V564Q384 386 432 300T588 213Q694
+213 741 296T790 550V896Z" />
+<glyph unicode="1" horiz-adv-x="1175" d="M801 0H512V1114L167 1007V1242L770 1458H801V0Z" />
+<glyph unicode="2" horiz-adv-x="1175" d="M1097 0H99V198L570 700Q667 806 713 885T760 1035Q760 1132 711 1187T571 1243Q473 1243 417 1176T360 998H70Q70 1131 133 1241T313 1413T576 1476Q801 1476 925 1368T1050 1063Q1050 955 994 843T802 582L471 233H1097V0Z" />
+<glyph unicode="3" horiz-adv-x="1175" d="M393 856H547Q657 856 710 911T763 1057Q763 1145 711 1194T566 1243Q483 1243 427 1198T371 1079H82Q82 1193 143 1283T315 1425T559 1476Q790 1476 921 1366T1052 1061Q1052 961 991 877T831 748Q954 704 1014 616T1075
+408Q1075 214 934 97T559 -20Q341 -20 203 95T64 399H353Q353 317 414 265T566 213Q669 213 727 267T786 412Q786 630 546 630H393V856Z" />
+<glyph unicode="4" horiz-adv-x="1175" d="M954 548H1119V315H954V0H665V315H68L55 497L662 1456H954V548ZM343 548H665V1062L646 1029L343 548Z" />
+<glyph unicode="5" horiz-adv-x="1175" d="M142 716L226 1456H1042V1215H463L427 902Q530 957 646 957Q854 957 972 828T1090 467Q1090 326 1031 215T860 42T598 -20Q466 -20 353 33T175 184T105 405H391Q400 314 454 264T597 213Q695 213 748 283T801 483Q801
+607 740 673T567 739Q464 739 400 685L372 659L142 716Z" />
+<glyph unicode="6" horiz-adv-x="1175" d="M883 1471V1233H855Q659 1230 540 1131T396 856Q512 974 689 974Q879 974 991 838T1103 480Q1103 338 1042 223T868 44T613 -20Q383 -20 242 140T100 567V671Q100 908 189 1089T446 1370T835 1471H883ZM601 742Q531 742
+474 706T390 609V521Q390 376 447 295T607 213Q700 213 757 286T815 477Q815 596 757 669T601 742Z" />
+<glyph unicode="7" horiz-adv-x="1175" d="M1089 1294L526 0H221L785 1222H61V1456H1089V1294Z" />
+<glyph unicode="8" horiz-adv-x="1175" d="M1048 1069Q1048 963 995 881T849 750Q955 699 1017 610T1079 399Q1079 205 947 93T588 -20T228 93T95 399Q95 520 157 610T324 750Q231 799 179 881T126 1069Q126 1255 250 1365T587 1476Q799 1476 923 1367T1048 1069ZM789
+420Q789 515 734 572T586 629Q494 629 439 573T384 420Q384 327 438 270T588 213Q682 213 735 268T789 420ZM759 1055Q759 1140 714 1191T587 1243Q506 1243 461 1193T416 1055Q416 968 461 915T588 862T714 915T759 1055Z" />
+<glyph unicode="9" horiz-adv-x="1175" d="M775 582Q662 471 511 471Q318 471 202 603T86 961Q86 1104 148 1223T323 1409T575 1476Q719 1476 831 1404T1005 1197T1068 888V781Q1068 417 887 209T374 -13L303 -14V227L367 228Q744 245 775 582ZM582 692Q652 692
+702 728T779 815V934Q779 1081 723 1162T573 1243Q486 1243 430 1164T374 964Q374 845 428 769T582 692Z" />
+<glyph unicode=":" horiz-adv-x="578" d="M381 142Q381 211 427 254T544 297Q615 297 661 254T708 142Q708 74 662 32T544 -11Q473 -11 427 31T381 142ZM125 961Q125 1030 171 1073T288 1116Q359 1116 405 1073T452 961Q452 893 406 851T288 808Q217 808 171 850T125
+961Z" />
+<glyph unicode=";" horiz-adv-x="537" d="M108 961Q108 1030 154 1073T271 1116Q342 1116 388 1073T435 961Q435 893 389 851T271 808Q200 808 154 850T108 961ZM208 -365L57 -286L93 -221Q160 -99 162 22V246H406L405 46Q404 -65 349 -178T208 -365Z" />
+<glyph unicode="&lt;" horiz-adv-x="1042" d="M345 618L915 417V137L54 502V738L915 1103V823L345 618Z" />
+<glyph unicode="=" horiz-adv-x="1172" d="M1030 746H136V982H1030V746ZM1030 313H136V549H1030V313Z" />
+<glyph unicode="&gt;" horiz-adv-x="1058" d="M701 621L120 824V1102L991 737V502L120 136V415L701 621Z" />
+<glyph unicode="?" horiz-adv-x="1019" d="M347 447Q347 587 381 670T505 833T626 964T656 1071Q656 1240 500 1240Q426 1240 382 1195T335 1069H45Q47 1260 168 1368T500 1476Q712 1476 829 1374T946 1084Q946 999 908 924T775 756L694 679Q618 606 607 508L603
+447H347ZM318 140Q318 207 363 250T480 294T596 251T642 140Q642 74 598 31T480 -12T363 31T318 140Z" />
+<glyph unicode="@" horiz-adv-x="1833" d="M1749 536Q1738 280 1623 130T1312 -21Q1226 -21 1164 16T1069 122Q969 -18 808 -18Q662 -18 582 105T522 430Q540 595 605 723T771 921T987 990Q1130 990 1231 924L1294 881L1243 303Q1233 224 1260 182T1348 140Q1440
+140 1502 247T1570 529Q1587 878 1430 1065T963 1253Q770 1253 619 1155T381 877T283 463Q267 109 425 -84T898 -278Q981 -278 1072 -260T1229 -210L1267 -364Q1206 -404 1103 -428T894 -453Q630 -453 444 -347T167 -33T87 463Q99 739 213 958T523 1296T967 1416Q1218
+1416 1399 1309T1670 1001T1749 536ZM744 430Q733 298 767 230T877 161Q926 161 970 204T1043 328L1085 801Q1046 814 1005 814Q890 814 827 716T744 430Z" />
+<glyph unicode="A" horiz-adv-x="1378" d="M952 300H426L326 0H7L549 1456H827L1372 0H1053L952 300ZM507 543H871L688 1088L507 543Z" />
+<glyph unicode="B" horiz-adv-x="1307" d="M130 0V1456H640Q905 1456 1042 1355T1179 1057Q1179 950 1124 869T971 749Q1083 721 1147 636T1212 428Q1212 218 1078 110T696 0H130ZM430 634V241H687Q793 241 852 291T912 431Q912 631 705 634H430ZM430 846H652Q879
+850 879 1027Q879 1126 822 1169T640 1213H430V846Z" />
+<glyph unicode="C" horiz-adv-x="1340" d="M1273 485Q1256 250 1100 115T687 -20Q407 -20 247 168T86 686V775Q86 985 160 1145T371 1390T691 1476Q943 1476 1097 1341T1275 962H975Q964 1103 897 1166T691 1230Q541 1230 467 1123T390 789V679Q390 443 461 334T687
+225Q826 225 894 288T973 485H1273Z" />
+<glyph unicode="D" horiz-adv-x="1331" d="M130 0V1456H578Q770 1456 921 1370T1158 1124T1243 761V694Q1243 491 1160 333T924 88T581 0H130ZM430 1213V241H575Q751 241 844 356T939 685V762Q939 984 847 1098T578 1213H430Z" />
+<glyph unicode="E" horiz-adv-x="1152" d="M1006 631H430V241H1106V0H130V1456H1104V1213H430V866H1006V631Z" />
+<glyph unicode="F" horiz-adv-x="1122" d="M1006 595H430V0H130V1456H1078V1213H430V837H1006V595Z" />
+<glyph unicode="G" horiz-adv-x="1395" d="M1282 184Q1201 87 1053 34T725 -20Q536 -20 394 62T174 302T94 671V770Q94 988 167 1147T379 1391T704 1476Q963 1476 1109 1353T1282 993H990Q970 1118 902 1176T713 1234Q560 1234 480 1119T399 777V684Q399 455 486
+338T741 221Q910 221 982 293V544H709V765H1282V184Z" />
+<glyph unicode="H" horiz-adv-x="1447" d="M1315 0H1015V624H430V0H130V1456H430V866H1015V1456H1315V0Z" />
+<glyph unicode="I" horiz-adv-x="597" d="M449 0H149V1456H449V0Z" />
+<glyph unicode="J" horiz-adv-x="1144" d="M717 1456H1017V448Q1017 309 956 203T782 38T529 -20Q298 -20 169 97T40 430H342Q342 323 387 272T529 221Q615 221 666 280T717 448V1456Z" />
+<glyph unicode="K" horiz-adv-x="1300" d="M586 584L430 416V0H130V1456H430V796L562 977L933 1456H1302L785 809L1317 0H960L586 584Z" />
+<glyph unicode="L" horiz-adv-x="1109" d="M430 241H1067V0H130V1456H430V241Z" />
+<glyph unicode="M" horiz-adv-x="1794" d="M522 1456L896 400L1268 1456H1662V0H1361V398L1391 1085L998 0H792L400 1084L430 398V0H130V1456H522Z" />
+<glyph unicode="N" horiz-adv-x="1446" d="M1314 0H1014L430 958V0H130V1456H430L1015 496V1456H1314V0Z" />
+<glyph unicode="O" horiz-adv-x="1414" d="M1326 695Q1326 480 1250 318T1033 68T708 -20Q527 -20 385 67T165 315T86 687V759Q86 974 163 1137T382 1388T706 1476T1029 1389T1248 1138T1326 760V695ZM1022 761Q1022 990 940 1109T706 1228Q555 1228 473 1111T390
+766V695Q390 472 472 349T708 226Q859 226 940 344T1022 690V761Z" />
+<glyph unicode="P" horiz-adv-x="1321" d="M430 513V0H130V1456H698Q862 1456 986 1396T1178 1226T1245 974Q1245 760 1099 637T693 513H430ZM430 756H698Q817 756 879 812T942 972Q942 1079 879 1145T705 1213H430V756Z" />
+<glyph unicode="Q" horiz-adv-x="1414" d="M1324 695Q1324 491 1258 341T1075 99L1317 -91L1126 -260L816 -11Q763 -20 706 -20Q525 -20 383 67T163 315T84 687V759Q84 974 161 1137T380 1388T704 1476T1027 1389T1246 1138T1324 760V695ZM1020 761Q1020 990 938
+1109T704 1228Q553 1228 471 1111T388 766V695Q388 472 470 349T706 226Q857 226 938 344T1020 690V761Z" />
+<glyph unicode="R" horiz-adv-x="1307" d="M669 533H430V0H130V1456H671Q929 1456 1069 1341T1209 1016Q1209 867 1145 768T949 609L1264 14V0H942L669 533ZM430 776H672Q785 776 847 833T909 992Q909 1095 851 1154T671 1213H430V776Z" />
+<glyph unicode="S" horiz-adv-x="1259" d="M885 382Q885 467 825 512T609 608T362 708Q114 842 114 1069Q114 1187 180 1279T371 1424T651 1476Q807 1476 929 1420T1118 1260T1186 1026H886Q886 1126 823 1181T646 1237Q536 1237 475 1191T414 1068Q414 997 485
+949T696 859Q952 782 1069 668T1186 384Q1186 195 1043 88T658 -20Q490 -20 352 41T142 210T69 458H370Q370 217 658 217Q765 217 825 260T885 382Z" />
+<glyph unicode="T" horiz-adv-x="1267" d="M1226 1213H780V0H480V1213H40V1456H1226V1213Z" />
+<glyph unicode="U" horiz-adv-x="1348" d="M1232 1456V497Q1232 258 1083 119T674 -20Q419 -20 269 115T116 486V1456H416V495Q416 352 484 287T674 221Q927 221 931 487V1456H1232Z" />
+<glyph unicode="V" horiz-adv-x="1339" d="M668 361L998 1456H1332L825 0H512L7 1456H340L668 361Z" />
+<glyph unicode="W" horiz-adv-x="1791" d="M1264 420L1460 1456H1759L1436 0H1134L897 974L660 0H358L35 1456H334L531 422L771 1456H1025L1264 420Z" />
+<glyph unicode="X" horiz-adv-x="1301" d="M651 954L924 1456H1269L845 734L1280 0H931L651 510L371 0H22L457 734L33 1456H378L651 954Z" />
+<glyph unicode="Y" horiz-adv-x="1266" d="M632 800L935 1456H1263L785 528V0H480V528L2 1456H331L632 800Z" />
+<glyph unicode="Z" horiz-adv-x="1241" d="M448 241H1182V0H73V176L793 1213H74V1456H1166V1284L448 241Z" />
+<glyph unicode="[" horiz-adv-x="569" d="M552 1471H410V-116H552V-339H120V1694H552V1471Z" />
+<glyph unicode="\" horiz-adv-x="864" d="M0 1456H295L903 -125H607L0 1456Z" />
+<glyph unicode="]" horiz-adv-x="569" d="M13 1694H445V-339H13V-116H156V1471H13V1694Z" />
+<glyph unicode="^" horiz-adv-x="895" d="M448 1186L274 729H44L343 1456H553L852 729H623L448 1186Z" />
+<glyph unicode="_" horiz-adv-x="914" d="M912 -226H1V0H912V-226Z" />
+<glyph unicode="`" horiz-adv-x="677" d="M565 1226H328L52 1536H367L565 1226Z" />
+<glyph unicode="a" horiz-adv-x="1098" d="M738 0Q718 39 709 97Q604 -20 436 -20Q277 -20 173 72T68 304Q68 476 195 568T564 661H697V723Q697 798 659 843T537 888Q464 888 423 853T381 757H92Q92 851 150 931T314 1056T552 1102Q752 1102 869 1002T987 719V250Q988
+96 1030 17V0H738ZM499 201Q563 201 617 229T697 306V492H589Q372 492 358 342L357 325Q357 271 395 236T499 201Z" />
+<glyph unicode="b" horiz-adv-x="1153" d="M1086 531Q1086 271 975 126T665 -20Q489 -20 384 115L371 0H111V1536H400V985Q500 1102 663 1102Q861 1102 973 957T1086 547V531ZM797 552Q797 716 745 791T590 867Q452 867 400 754V327Q453 213 592 213Q732 213 776
+351Q797 417 797 552Z" />
+<glyph unicode="c" horiz-adv-x="1068" d="M561 213Q641 213 691 257T743 374H1014Q1013 264 954 173T793 31T566 -20Q334 -20 200 127T66 535V554Q66 804 199 953T564 1102Q767 1102 889 987T1014 679H743Q741 763 691 815T559 868Q458 868 407 795T355 556V526Q355
+359 406 286T561 213Z" />
+<glyph unicode="d" horiz-adv-x="1154" d="M66 549Q66 802 179 952T490 1102Q648 1102 751 984V1536H1041V0H780L766 115Q658 -20 488 -20Q297 -20 182 130T66 549ZM355 528Q355 376 408 295T562 214Q696 214 751 327V754Q697 867 564 867Q355 867 355 528Z" />
+<glyph unicode="e" horiz-adv-x="1107" d="M609 -20Q371 -20 222 126T72 515V543Q72 706 135 834T313 1032T577 1102Q799 1102 926 962T1054 565V447H365Q379 341 449 277T628 213Q795 213 889 334L1031 175Q966 83 855 32T609 -20ZM576 868Q490 868 437 810T368
+644H770V667Q768 763 718 815T576 868Z" />
+<glyph unicode="f" horiz-adv-x="734" d="M190 0V870H29V1082H190V1174Q190 1356 294 1456T587 1557Q647 1557 734 1537L731 1313Q695 1322 643 1322Q480 1322 480 1169V1082H695V870H480V0H190Z" />
+<glyph unicode="g" horiz-adv-x="1169" d="M69 549Q69 798 187 950T507 1102Q685 1102 784 980L796 1082H1058V36Q1058 -106 994 -211T812 -371T538 -426Q419 -426 306 -379T135 -256L263 -80Q371 -201 525 -201Q640 -201 704 -140T768 35V93Q668 -20 505 -20Q310
+-20 190 132T69 537V549ZM358 528Q358 381 417 298T579 214Q711 214 768 313V768Q710 867 581 867Q477 867 418 782T358 528Z" />
+<glyph unicode="h" horiz-adv-x="1146" d="M393 964Q508 1102 682 1102Q1034 1102 1039 693V0H750V685Q750 778 710 822T577 867Q450 867 393 769V0H104V1536H393V964Z" />
+<glyph unicode="i" horiz-adv-x="543" d="M416 0H126V1082H416V0ZM109 1362Q109 1427 152 1469T271 1511Q345 1511 389 1469T433 1362Q433 1296 389 1254T271 1212T154 1254T109 1362Z" />
+<glyph unicode="j" horiz-adv-x="532" d="M417 1082V-59Q417 -238 322 -337T48 -437Q-27 -437 -95 -420V-191Q-43 -200 -4 -200Q127 -200 127 -61V1082H417ZM104 1362Q104 1427 147 1469T266 1511T384 1469T428 1362Q428 1296 384 1254T266 1212T149 1254T104 1362Z" />
+<glyph unicode="k" horiz-adv-x="1094" d="M504 434L400 330V0H111V1536H400V685L456 757L733 1082H1080L689 631L1114 0H782L504 434Z" />
+<glyph unicode="l" horiz-adv-x="543" d="M416 0H126V1536H416V0Z" />
+<glyph unicode="m" horiz-adv-x="1773" d="M382 1082L391 961Q506 1102 702 1102Q911 1102 989 937Q1103 1102 1314 1102Q1490 1102 1576 1000T1662 691V0H1372V690Q1372 782 1336 824T1209 867Q1079 867 1029 743L1030 0H741V689Q741 783 704 825T578 867Q455
+867 400 765V0H111V1082H382Z" />
+<glyph unicode="n" horiz-adv-x="1147" d="M377 1082L386 957Q502 1102 697 1102Q869 1102 953 1001T1039 699V0H750V692Q750 784 710 825T577 867Q455 867 394 763V0H105V1082H377Z" />
+<glyph unicode="o" horiz-adv-x="1158" d="M66 551Q66 712 128 838T306 1033T577 1102Q796 1102 934 968T1089 604L1091 530Q1091 281 952 131T579 -20T206 130T66 538V551ZM355 530Q355 376 413 295T579 213Q684 213 743 293T802 551Q802 702 743 785T577 868Q471
+868 413 786T355 530Z" />
+<glyph unicode="p" horiz-adv-x="1153" d="M1085 531Q1085 281 972 131T665 -20Q501 -20 400 94V-416H111V1082H379L389 976Q494 1102 663 1102Q863 1102 974 954T1085 546V531ZM796 552Q796 703 743 785T587 867Q451 867 400 763V320Q453 213 589 213Q796 213 796 552Z" />
+<glyph unicode="q" horiz-adv-x="1157" d="M66 551Q66 806 179 954T491 1102Q665 1102 768 969L787 1082H1041V-416H751V93Q651 -20 489 -20Q296 -20 181 130T66 551ZM355 530Q355 375 409 294T563 213Q696 213 751 319V766Q697 868 565 868Q465 868 410 787T355 530Z" />
+<glyph unicode="r" horiz-adv-x="747" d="M719 811Q660 819 615 819Q451 819 400 708V0H111V1082H384L392 953Q479 1102 633 1102Q681 1102 723 1089L719 811Z" />
+<glyph unicode="s" horiz-adv-x="1053" d="M697 299Q697 352 645 382T476 437Q90 518 90 765Q90 909 209 1005T522 1102Q728 1102 851 1005T975 753H686Q686 815 646 855T521 896Q448 896 408 863T368 779Q368 731 413 702T567 651T749 602Q978 518 978 311Q978
+163 851 72T523 -20Q387 -20 282 28T116 161T56 344H330Q334 267 387 226T529 185Q612 185 654 216T697 299Z" />
+<glyph unicode="t" horiz-adv-x="692" d="M457 1348V1082H642V870H457V330Q457 270 480 244T568 218Q616 218 653 225V6Q568 -20 478 -20Q174 -20 168 287V870H10V1082H168V1348H457Z" />
+<glyph unicode="u" horiz-adv-x="1146" d="M759 110Q652 -20 463 -20Q289 -20 198 80T104 373V1082H393V383Q393 214 547 214Q694 214 749 316V1082H1039V0H767L759 110Z" />
+<glyph unicode="v" horiz-adv-x="1035" d="M516 353L717 1082H1019L654 0H378L13 1082H315L516 353Z" />
+<glyph unicode="w" horiz-adv-x="1505" d="M1052 393L1194 1082H1473L1197 0H955L750 681L545 0H304L28 1082H307L448 394L646 1082H855L1052 393Z" />
+<glyph unicode="x" horiz-adv-x="1042" d="M523 759L705 1082H1014L706 552L1027 0H717L524 340L332 0H21L342 552L35 1082H345L523 759Z" />
+<glyph unicode="y" horiz-adv-x="1028" d="M515 409L715 1082H1025L590 -168L566 -225Q469 -437 246 -437Q183 -437 118 -418V-199L162 -200Q244 -200 284 -175T348 -92L382 -3L3 1082H314L515 409Z" />
+<glyph unicode="z" horiz-adv-x="1042" d="M443 233H972V0H74V176L583 848H89V1082H956V911L443 233Z" />
+<glyph unicode="{" horiz-adv-x="676" d="M586 -360Q226 -259 226 105V304Q226 515 48 515V722Q222 722 226 921V1133Q226 1318 316 1432T586 1597L642 1436Q566 1408 527 1339T486 1146V936Q486 710 307 619Q486 527 486 300V88Q491 -146 642 -198L586 -360Z" />
+<glyph unicode="|" horiz-adv-x="518" d="M348 -270H173V1456H348V-270Z" />
+<glyph unicode="}" horiz-adv-x="676" d="M34 -198Q186 -144 190 92V304Q190 530 373 618Q190 706 190 937V1146Q186 1379 34 1436L90 1597Q269 1547 359 1434T450 1136V921Q454 722 628 722V515Q450 515 450 306V89Q442 -261 90 -360L34 -198Z" />
+<glyph unicode="~" horiz-adv-x="1328" d="M1221 793Q1221 607 1128 491T888 375Q814 375 751 403T604 511T451 591Q393 591 357 541T321 413L106 415Q106 601 196 714T437 827Q515 827 579 797T724 690T873 612Q932 612 969 665T1007 794L1221 793Z" />
+<glyph unicode="&#xa0;" horiz-adv-x="510" />
+<glyph unicode="&#xa1;" horiz-adv-x="578" d="M170 639H411L444 -369H137L170 639ZM452 948Q452 881 406 838T290 795T174 838T128 948T172 1058T290 1101T407 1058T452 948Z" />
+<glyph unicode="&#xa2;" horiz-adv-x="1178" d="M594 213Q674 213 724 257T776 374H1048Q1046 229 950 124T698 -11V-245H498V-12Q311 18 205 162T99 532V554Q99 772 204 917T498 1094V1318H698V1093Q861 1064 953 953T1048 679H776Q774 765 724 816T593 868Q491
+868 440 794T388 559V526Q388 358 439 286T594 213Z" />
+<glyph unicode="&#xa3;" horiz-adv-x="1217" d="M564 576L570 437Q570 314 508 241H1161V0H102V241H194Q266 259 266 420L261 576H99V812H253L246 1039Q246 1241 369 1358T700 1475Q912 1475 1033 1363T1154 1058H867Q867 1143 824 1188T699 1233Q633 1233 590
+1184T546 1039L555 812H864V576H564Z" />
+<glyph unicode="&#xa4;" horiz-adv-x="1418" d="M1073 107Q914 -20 712 -20Q509 -20 351 106L222 -26L81 118L216 255Q116 411 116 608Q116 812 225 973L81 1120L222 1264L364 1119Q519 1234 712 1234Q906 1234 1061 1117L1205 1265L1347 1120L1199 969Q1306 810
+1306 608Q1306 415 1208 259L1347 118L1205 -27L1073 107ZM302 608Q302 490 356 389T505 229T712 170Q822 170 917 228T1067 388T1121 608Q1121 727 1067 827T918 986T712 1044Q600 1044 505 986T356 828T302 608Z" />
+<glyph unicode="&#xa5;" horiz-adv-x="1254" d="M626 850L903 1456H1232L857 742H1091V567H772V452H1091V278H772V0H472V278H136V452H472V567H136V742H396L20 1456H350L626 850Z" />
+<glyph unicode="&#xa6;" horiz-adv-x="516" d="M128 -270V525H388V-270H128ZM388 698H128V1456H388V698Z" />
+<glyph unicode="&#xa7;" horiz-adv-x="1287" d="M1180 481Q1180 299 1018 210Q1153 108 1153 -78Q1153 -253 1016 -352T636 -452Q379 -452 236 -345T92 -35L381 -34Q381 -123 445 -170T636 -218Q748 -218 806 -181T864 -80Q864 -15 800 26T553 117T278 223T140
+353T94 534Q94 714 256 807Q120 910 120 1095Q120 1266 260 1371T640 1476Q887 1476 1023 1363T1159 1049H870Q870 1136 809 1189T640 1243Q530 1243 470 1204T410 1097Q410 1024 465 987T706 901T988 797T1133 666T1180 481ZM458 704Q383 662 383 563Q383 494
+424 457T590 379L812 312Q894 359 894 452Q894 514 849 553T685 633L458 704Z" />
+<glyph unicode="&#xa8;" horiz-adv-x="956" d="M93 1365Q93 1419 131 1455T231 1492Q293 1492 331 1455T369 1365T331 1276T231 1239Q172 1239 133 1274T93 1365ZM580 1365Q580 1418 619 1455T718 1492Q776 1492 816 1456T857 1365Q857 1313 819 1276T718 1238T618
+1275T580 1365Z" />
+<glyph unicode="&#xa9;" horiz-adv-x="1606" d="M1117 596Q1117 444 1030 363T782 282T528 388T433 675V788Q433 962 528 1068T782 1175Q945 1175 1031 1093T1118 861H962Q962 957 916 998T782 1040Q690 1040 640 973T588 792V669Q588 552 639 485T782 417Q871
+417 916 457T961 596H1117ZM1383 729Q1383 895 1308 1037T1096 1265T796 1351Q637 1351 501 1269T286 1043T208 729T285 415T499 188T796 104T1093 189T1307 418T1383 729ZM86 729Q86 931 179 1104T438 1376T796 1476T1153 1377T1412 1104T1506 729Q1506 525 1411
+352T1152 79T796 -20Q603 -20 439 80T180 353T86 729Z" />
+<glyph unicode="&#xaa;" horiz-adv-x="909" d="M604 705Q594 732 587 773Q510 691 386 691Q268 691 203 752T137 919Q137 1029 221 1089T478 1150H580V1201Q580 1328 464 1328Q399 1328 363 1303T326 1229L153 1243Q153 1347 240 1411T464 1476Q599 1476 677 1404T755
+1199V883Q755 786 781 705H604ZM429 835Q469 835 511 853T580 897V1033H474Q398 1032 355 1002T312 923Q312 835 429 835Z" />
+<glyph unicode="&#xab;" horiz-adv-x="1023" d="M559 524L799 125H613L333 515V534L613 924H799L559 524ZM688 524L928 125H742L462 515V534L742 924H928L688 524Z" />
+<glyph unicode="&#xac;" horiz-adv-x="1129" d="M961 374H761V634H126V805H961V374Z" />
+<glyph unicode="&#xad;" horiz-adv-x="794" d="M673 507H110V740H673V507Z" />
+<glyph unicode="&#xae;" horiz-adv-x="1606" d="M86 729Q86 931 179 1104T438 1376T796 1476T1153 1377T1412 1104T1506 729Q1506 525 1411 352T1152 79T796 -20Q603 -20 439 80T180 353T86 729ZM1383 729Q1383 895 1308 1037T1096 1265T796 1351Q637 1351 501
+1269T286 1043T208 729T285 415T499 188T796 104T1093 189T1307 418T1383 729ZM652 653V316H501V1166H782Q933 1166 1020 1098T1107 903Q1107 791 994 729Q1055 698 1079 643T1104 505T1107 389T1121 332V316H966Q953 350 953 510Q953 586 920 619T810 653H652ZM652
+787H788Q862 787 909 819T957 903Q957 973 922 1002T793 1033H652V787Z" />
+<glyph unicode="&#xaf;" horiz-adv-x="1026" d="M878 1290H148V1457H878V1290Z" />
+<glyph unicode="&#xb0;" horiz-adv-x="795" d="M126 1200Q126 1314 207 1395T398 1476Q507 1476 586 1396T666 1200T587 1007T398 928Q290 928 208 1006T126 1200ZM398 1076Q451 1076 485 1111T520 1200Q520 1252 486 1290T398 1328T309 1290T273 1200T309 1112T398
+1076Z" />
+<glyph unicode="&#xb1;" horiz-adv-x="1100" d="M677 942H1005V701H677V337H424V701H89V942H424V1285H677V942ZM977 1H113V236H977V1Z" />
+<glyph unicode="&#xb2;" horiz-adv-x="763" d="M693 667H73V805L360 1062Q416 1111 440 1153T465 1218Q465 1302 370 1302Q320 1302 291 1271T261 1193H55Q55 1309 140 1388T361 1467Q509 1467 589 1403T670 1219Q670 1149 634 1091T490 946L342 831H693V667Z" />
+<glyph unicode="&#xb3;" horiz-adv-x="763" d="M273 1136H355Q474 1136 474 1224Q474 1259 446 1280T368 1301Q326 1301 297 1286T267 1241H62Q62 1343 146 1404T362 1466Q507 1466 592 1407T678 1240Q678 1121 543 1071Q693 1030 693 887Q693 782 602 719T362
+655Q220 655 134 721T48 902H254Q254 868 288 844T374 819Q434 819 460 845T487 907Q487 999 365 1000H273V1136Z" />
+<glyph unicode="&#xb4;" horiz-adv-x="679" d="M298 1536H613L336 1226H101L298 1536Z" />
+<glyph unicode="&#xb5;" horiz-adv-x="1261" d="M428 1082V459Q428 333 468 274T608 214Q757 214 813 319V1082H1102V0H833L827 68Q738 -21 602 -21Q500 -21 428 24V-416H139V1082H428Z" />
+<glyph unicode="&#xb6;" horiz-adv-x="1003" d="M650 0V520H570Q340 520 208 647T75 988Q75 1201 208 1328T571 1456H869V0H650Z" />
+<glyph unicode="&#xb7;" horiz-adv-x="617" d="M140 697Q140 766 186 809T303 852T420 809T467 697T420 586T303 543Q231 543 186 586T140 697Z" />
+<glyph unicode="&#xb8;" horiz-adv-x="548" d="M345 7L334 -51Q484 -78 484 -224Q484 -334 393 -398T135 -462L128 -295Q240 -295 240 -214Q240 -172 207 -157T98 -136L129 7H345Z" />
+<glyph unicode="&#xb9;" horiz-adv-x="763" d="M528 669H324V1217L135 1176V1334L509 1455H528V669Z" />
+<glyph unicode="&#xba;" horiz-adv-x="936" d="M118 1121Q118 1281 213 1378T464 1476T715 1379T811 1116V1044Q811 885 717 788T466 690Q308 690 213 788T118 1049V1121ZM293 1044Q293 946 339 891T466 836Q544 836 589 890T636 1041V1121Q636 1218 590 1273T464
+1328Q386 1328 340 1274T293 1117V1044Z" />
+<glyph unicode="&#xbb;" horiz-adv-x="1023" d="M272 923L552 533V514L272 124H85L325 523L85 923H272ZM665 923L945 533V514L665 124H478L718 523L478 923H665Z" />
+<glyph unicode="&#xbc;" horiz-adv-x="1470" d="M494 664H290V1212L101 1171V1329L475 1450H494V664ZM458 117L317 193L1028 1331L1169 1255L458 117ZM1302 326H1390V159H1302V0H1097V159H751L739 294L1096 789H1302V326ZM935 326H1097V538L1083 516L935 326Z" />
+<glyph unicode="&#xbd;" horiz-adv-x="1559" d="M416 117L275 193L986 1331L1127 1255L416 117ZM477 670H273V1218L84 1177V1335L458 1456H477V670ZM1477 0H857V138L1144 395Q1200 444 1224 486T1249 551Q1249 635 1154 635Q1104 635 1075 604T1045 526H839Q839
+642 924 721T1145 800Q1293 800 1373 736T1454 552Q1454 482 1418 424T1274 279L1126 164H1477V0Z" />
+<glyph unicode="&#xbe;" horiz-adv-x="1655" d="M619 117L478 193L1189 1331L1330 1255L619 117ZM1460 326H1548V159H1460V0H1255V159H909L897 294L1254 789H1460V326ZM1093 326H1255V538L1241 516L1093 326ZM319 1137H401Q520 1137 520 1225Q520 1260 492 1281T414
+1302Q372 1302 343 1287T313 1242H108Q108 1344 192 1405T408 1467Q553 1467 638 1408T724 1241Q724 1122 589 1072Q739 1031 739 888Q739 783 648 720T408 656Q266 656 180 722T94 903H300Q300 869 334 845T420 820Q480 820 506 846T533 908Q533 1000 411 1001H319V1137Z"
+/>
+<glyph unicode="&#xbf;" horiz-adv-x="1019" d="M666 643Q666 510 635 428T525 272T417 162T374 89T359 8Q359 -149 513 -149Q590 -149 635 -104T683 22H972Q970 -170 849 -277T518 -385Q305 -385 187 -284T69 6Q69 165 222 318L319 411Q369 456 388 505T410 643H666ZM702
+949Q702 882 656 839T540 796T424 839T378 949T422 1059T540 1102T657 1059T702 949Z" />
+<glyph unicode="&#xc0;" horiz-adv-x="1378" d="M952 300H426L326 0H7L549 1456H827L1372 0H1053L952 300ZM507 543H871L688 1088L507 543ZM836 1536H599L323 1846H638L836 1536Z" />
+<glyph unicode="&#xc1;" horiz-adv-x="1378" d="M952 300H426L326 0H7L549 1456H827L1372 0H1053L952 300ZM507 543H871L688 1088L507 543ZM750 1846H1065L788 1536H553L750 1846Z" />
+<glyph unicode="&#xc2;" horiz-adv-x="1378" d="M952 300H426L326 0H7L549 1456H827L1372 0H1053L952 300ZM507 543H871L688 1088L507 543ZM1076 1566V1554H846L692 1699L538 1554H312V1570L608 1846H776L1076 1566Z" />
+<glyph unicode="&#xc3;" horiz-adv-x="1378" d="M952 300H426L326 0H7L549 1456H827L1372 0H1053L952 300ZM507 543H871L688 1088L507 543ZM1068 1832Q1068 1719 1002 1643T841 1566Q803 1566 774 1574T692 1611T617 1645T567 1652Q532 1652 508 1627T483 1556L315
+1566Q315 1677 380 1755T541 1833Q571 1833 597 1826T684 1789T767 1754T815 1748Q850 1748 875 1772T901 1843L1068 1832Z" />
+<glyph unicode="&#xc4;" horiz-adv-x="1378" d="M952 300H426L326 0H7L549 1456H827L1372 0H1053L952 300ZM507 543H871L688 1088L507 543ZM309 1675Q309 1729 347 1765T447 1802Q509 1802 547 1765T585 1675T547 1586T447 1549Q388 1549 349 1584T309 1675ZM796
+1675Q796 1728 835 1765T934 1802Q992 1802 1032 1766T1073 1675Q1073 1623 1035 1586T934 1548T834 1585T796 1675Z" />
+<glyph unicode="&#xc5;" horiz-adv-x="1378" d="M952 300H426L326 0H7L549 1456H827L1372 0H1053L952 300ZM507 543H871L688 1088L507 543ZM470 1730Q470 1816 535 1875T693 1935Q785 1935 850 1877T916 1730Q916 1645 852 1587T693 1529Q596 1529 533 1588T470
+1730ZM585 1730Q585 1686 614 1655T693 1623T772 1654T801 1730Q801 1776 772 1807T693 1839T615 1808T585 1730Z" />
+<glyph unicode="&#xc6;" horiz-adv-x="1925" d="M1865 0H968L954 333H508L341 0H2L788 1456H1804V1220H1206L1221 865H1723V629H1231L1247 235H1865V0ZM633 580H944L920 1150L633 580Z" />
+<glyph unicode="&#xc7;" horiz-adv-x="1340" d="M1273 485Q1256 250 1100 115T687 -20Q407 -20 247 168T86 686V775Q86 985 160 1145T371 1390T691 1476Q943 1476 1097 1341T1275 962H975Q964 1103 897 1166T691 1230Q541 1230 467 1123T390 789V679Q390 443 461
+334T687 225Q826 225 894 288T973 485H1273ZM797 6L786 -52Q936 -79 936 -225Q936 -335 845 -399T587 -463L580 -296Q692 -296 692 -215Q692 -173 659 -158T550 -137L581 6H797Z" />
+<glyph unicode="&#xc8;" horiz-adv-x="1152" d="M1006 631H430V241H1106V0H130V1456H1104V1213H430V866H1006V631ZM779 1539H542L266 1849H581L779 1539Z" />
+<glyph unicode="&#xc9;" horiz-adv-x="1152" d="M1006 631H430V241H1106V0H130V1456H1104V1213H430V866H1006V631ZM693 1849H1008L731 1539H496L693 1849Z" />
+<glyph unicode="&#xca;" horiz-adv-x="1152" d="M1006 631H430V241H1106V0H130V1456H1104V1213H430V866H1006V631ZM1019 1569V1557H789L635 1702L481 1557H255V1573L551 1849H719L1019 1569Z" />
+<glyph unicode="&#xcb;" horiz-adv-x="1152" d="M1006 631H430V241H1106V0H130V1456H1104V1213H430V866H1006V631ZM252 1678Q252 1732 290 1768T390 1805Q452 1805 490 1768T528 1678T490 1589T390 1552Q331 1552 292 1587T252 1678ZM739 1678Q739 1731 778 1768T877
+1805Q935 1805 975 1769T1016 1678Q1016 1626 978 1589T877 1551T777 1588T739 1678Z" />
+<glyph unicode="&#xcc;" horiz-adv-x="597" d="M449 0H149V1456H449V0ZM443 1539H206L-70 1849H245L443 1539Z" />
+<glyph unicode="&#xcd;" horiz-adv-x="597" d="M449 0H149V1456H449V0ZM356 1849H671L394 1539H159L356 1849Z" />
+<glyph unicode="&#xce;" horiz-adv-x="597" d="M449 0H149V1456H449V0ZM683 1569V1557H453L299 1702L145 1557H-81V1573L215 1849H383L683 1569Z" />
+<glyph unicode="&#xcf;" horiz-adv-x="597" d="M449 0H149V1456H449V0ZM-84 1678Q-84 1732 -46 1768T54 1805Q116 1805 154 1768T192 1678T154 1589T54 1552Q-5 1552 -44 1587T-84 1678ZM403 1678Q403 1731 442 1768T541 1805Q599 1805 639 1769T680 1678Q680
+1626 642 1589T541 1551T441 1588T403 1678Z" />
+<glyph unicode="&#xd0;" horiz-adv-x="1361" d="M160 0V642H-20V825H160V1456H608Q800 1456 951 1370T1188 1124T1273 761V694Q1273 491 1190 333T954 88T611 0H160ZM679 642H460V241H605Q783 241 876 358T969 694V762Q969 984 877 1098T608 1213H460V825H679V642Z" />
+<glyph unicode="&#xd1;" horiz-adv-x="1446" d="M1314 0H1014L430 958V0H130V1456H430L1015 496V1456H1314V0ZM1102 1832Q1102 1719 1036 1643T875 1566Q837 1566 808 1574T726 1611T651 1645T601 1652Q566 1652 542 1627T517 1556L349 1566Q349 1677 414 1755T575
+1833Q605 1833 631 1826T718 1789T801 1754T849 1748Q884 1748 909 1772T935 1843L1102 1832Z" />
+<glyph unicode="&#xd2;" horiz-adv-x="1414" d="M1326 695Q1326 480 1250 318T1033 68T708 -20Q527 -20 385 67T165 315T86 687V759Q86 974 163 1137T382 1388T706 1476T1029 1389T1248 1138T1326 760V695ZM1022 761Q1022 990 940 1109T706 1228Q555 1228 473
+1111T390 766V695Q390 472 472 349T708 226Q859 226 940 344T1022 690V761ZM850 1536H613L337 1846H652L850 1536Z" />
+<glyph unicode="&#xd3;" horiz-adv-x="1414" d="M1326 695Q1326 480 1250 318T1033 68T708 -20Q527 -20 385 67T165 315T86 687V759Q86 974 163 1137T382 1388T706 1476T1029 1389T1248 1138T1326 760V695ZM1022 761Q1022 990 940 1109T706 1228Q555 1228 473
+1111T390 766V695Q390 472 472 349T708 226Q859 226 940 344T1022 690V761ZM764 1846H1079L802 1536H567L764 1846Z" />
+<glyph unicode="&#xd4;" horiz-adv-x="1414" d="M1326 695Q1326 480 1250 318T1033 68T708 -20Q527 -20 385 67T165 315T86 687V759Q86 974 163 1137T382 1388T706 1476T1029 1389T1248 1138T1326 760V695ZM1022 761Q1022 990 940 1109T706 1228Q555 1228 473
+1111T390 766V695Q390 472 472 349T708 226Q859 226 940 344T1022 690V761ZM1090 1566V1554H860L706 1699L552 1554H326V1570L622 1846H790L1090 1566Z" />
+<glyph unicode="&#xd5;" horiz-adv-x="1414" d="M1326 695Q1326 480 1250 318T1033 68T708 -20Q527 -20 385 67T165 315T86 687V759Q86 974 163 1137T382 1388T706 1476T1029 1389T1248 1138T1326 760V695ZM1022 761Q1022 990 940 1109T706 1228Q555 1228 473
+1111T390 766V695Q390 472 472 349T708 226Q859 226 940 344T1022 690V761ZM1082 1832Q1082 1719 1016 1643T855 1566Q817 1566 788 1574T706 1611T631 1645T581 1652Q546 1652 522 1627T497 1556L329 1566Q329 1677 394 1755T555 1833Q585 1833 611 1826T698 1789T781
+1754T829 1748Q864 1748 889 1772T915 1843L1082 1832Z" />
+<glyph unicode="&#xd6;" horiz-adv-x="1414" d="M1326 695Q1326 480 1250 318T1033 68T708 -20Q527 -20 385 67T165 315T86 687V759Q86 974 163 1137T382 1388T706 1476T1029 1389T1248 1138T1326 760V695ZM1022 761Q1022 990 940 1109T706 1228Q555 1228 473
+1111T390 766V695Q390 472 472 349T708 226Q859 226 940 344T1022 690V761ZM323 1675Q323 1729 361 1765T461 1802Q523 1802 561 1765T599 1675T561 1586T461 1549Q402 1549 363 1584T323 1675ZM810 1675Q810 1728 849 1765T948 1802Q1006 1802 1046 1766T1087
+1675Q1087 1623 1049 1586T948 1548T848 1585T810 1675Z" />
+<glyph unicode="&#xd7;" horiz-adv-x="1088" d="M65 373L372 686L65 999L235 1167L539 856L844 1167L1014 999L707 686L1014 373L844 205L539 515L235 205L65 373Z" />
+<glyph unicode="&#xd8;" horiz-adv-x="1411" d="M1333 695Q1333 480 1257 318T1040 68T715 -20Q551 -20 420 50L335 -95H147L290 147Q93 342 93 702V759Q93 974 170 1137T389 1388T713 1476Q888 1476 1027 1394L1101 1518H1288L1154 1291Q1333 1093 1333 754V695ZM397
+695Q397 523 446 410L893 1167Q820 1228 713 1228Q562 1228 480 1111T397 766V695ZM1030 761Q1030 912 992 1017L552 273Q622 226 715 226Q866 226 947 344T1030 690V761Z" />
+<glyph unicode="&#xd9;" horiz-adv-x="1348" d="M1232 1456V497Q1232 258 1083 119T674 -20Q419 -20 269 115T116 486V1456H416V495Q416 352 484 287T674 221Q927 221 931 487V1456H1232ZM814 1536H577L301 1846H616L814 1536Z" />
+<glyph unicode="&#xda;" horiz-adv-x="1348" d="M1232 1456V497Q1232 258 1083 119T674 -20Q419 -20 269 115T116 486V1456H416V495Q416 352 484 287T674 221Q927 221 931 487V1456H1232ZM728 1846H1043L766 1536H531L728 1846Z" />
+<glyph unicode="&#xdb;" horiz-adv-x="1348" d="M1232 1456V497Q1232 258 1083 119T674 -20Q419 -20 269 115T116 486V1456H416V495Q416 352 484 287T674 221Q927 221 931 487V1456H1232ZM1054 1566V1554H824L670 1699L516 1554H290V1570L586 1846H754L1054 1566Z" />
+<glyph unicode="&#xdc;" horiz-adv-x="1348" d="M1232 1456V497Q1232 258 1083 119T674 -20Q419 -20 269 115T116 486V1456H416V495Q416 352 484 287T674 221Q927 221 931 487V1456H1232ZM287 1675Q287 1729 325 1765T425 1802Q487 1802 525 1765T563 1675T525
+1586T425 1549Q366 1549 327 1584T287 1675ZM774 1675Q774 1728 813 1765T912 1802Q970 1802 1010 1766T1051 1675Q1051 1623 1013 1586T912 1548T812 1585T774 1675Z" />
+<glyph unicode="&#xdd;" horiz-adv-x="1266" d="M632 800L935 1456H1263L785 528V0H480V528L2 1456H331L632 800ZM693 1846H1008L731 1536H496L693 1846Z" />
+<glyph unicode="&#xde;" horiz-adv-x="1246" d="M422 1456V1189H652Q814 1188 933 1133T1117 975T1181 738Q1181 536 1043 414T664 287H422V0H133V1456H422ZM422 956V520H645Q762 520 827 579T892 736T829 894T653 956H422Z" />
+<glyph unicode="&#xdf;" horiz-adv-x="1292" d="M424 0H135V1101Q135 1321 259 1440T609 1559Q800 1559 915 1460T1031 1189Q1031 1081 978 994T924 830Q924 793 954 754T1073 636Q1224 502 1224 354Q1224 177 1109 79T779 -20Q698 -20 619 -4T500 36L554 265Q652
+213 773 213Q852 213 894 249T936 349Q936 395 902 438T785 548Q635 668 635 818Q635 914 690 1004T745 1174Q745 1244 701 1285T588 1327Q429 1327 424 1114V0Z" />
+<glyph unicode="&#xe0;" horiz-adv-x="1098" d="M738 0Q718 39 709 97Q604 -20 436 -20Q277 -20 173 72T68 304Q68 476 195 568T564 661H697V723Q697 798 659 843T537 888Q464 888 423 853T381 757H92Q92 851 150 931T314 1056T552 1102Q752 1102 869 1002T987
+719V250Q988 96 1030 17V0H738ZM499 201Q563 201 617 229T697 306V492H589Q372 492 358 342L357 325Q357 271 395 236T499 201ZM695 1226H458L182 1536H497L695 1226Z" />
+<glyph unicode="&#xe1;" horiz-adv-x="1098" d="M738 0Q718 39 709 97Q604 -20 436 -20Q277 -20 173 72T68 304Q68 476 195 568T564 661H697V723Q697 798 659 843T537 888Q464 888 423 853T381 757H92Q92 851 150 931T314 1056T552 1102Q752 1102 869 1002T987
+719V250Q988 96 1030 17V0H738ZM499 201Q563 201 617 229T697 306V492H589Q372 492 358 342L357 325Q357 271 395 236T499 201ZM609 1536H924L647 1226H412L609 1536Z" />
+<glyph unicode="&#xe2;" horiz-adv-x="1098" d="M738 0Q718 39 709 97Q604 -20 436 -20Q277 -20 173 72T68 304Q68 476 195 568T564 661H697V723Q697 798 659 843T537 888Q464 888 423 853T381 757H92Q92 851 150 931T314 1056T552 1102Q752 1102 869 1002T987
+719V250Q988 96 1030 17V0H738ZM499 201Q563 201 617 229T697 306V492H589Q372 492 358 342L357 325Q357 271 395 236T499 201ZM935 1256V1244H705L551 1389L397 1244H171V1260L467 1536H635L935 1256Z" />
+<glyph unicode="&#xe3;" horiz-adv-x="1098" d="M738 0Q718 39 709 97Q604 -20 436 -20Q277 -20 173 72T68 304Q68 476 195 568T564 661H697V723Q697 798 659 843T537 888Q464 888 423 853T381 757H92Q92 851 150 931T314 1056T552 1102Q752 1102 869 1002T987
+719V250Q988 96 1030 17V0H738ZM499 201Q563 201 617 229T697 306V492H589Q372 492 358 342L357 325Q357 271 395 236T499 201ZM927 1779Q927 1666 861 1590T700 1513Q662 1513 633 1521T551 1558T476 1592T426 1599Q391 1599 367 1574T342 1503L174 1513Q174 1624
+239 1702T400 1780Q430 1780 456 1773T543 1736T626 1701T674 1695Q709 1695 734 1719T760 1790L927 1779Z" />
+<glyph unicode="&#xe4;" horiz-adv-x="1098" d="M738 0Q718 39 709 97Q604 -20 436 -20Q277 -20 173 72T68 304Q68 476 195 568T564 661H697V723Q697 798 659 843T537 888Q464 888 423 853T381 757H92Q92 851 150 931T314 1056T552 1102Q752 1102 869 1002T987
+719V250Q988 96 1030 17V0H738ZM499 201Q563 201 617 229T697 306V492H589Q372 492 358 342L357 325Q357 271 395 236T499 201ZM168 1365Q168 1419 206 1455T306 1492Q368 1492 406 1455T444 1365T406 1276T306 1239Q247 1239 208 1274T168 1365ZM655 1365Q655
+1418 694 1455T793 1492Q851 1492 891 1456T932 1365Q932 1313 894 1276T793 1238T693 1275T655 1365Z" />
+<glyph unicode="&#xe5;" horiz-adv-x="1098" d="M738 0Q718 39 709 97Q604 -20 436 -20Q277 -20 173 72T68 304Q68 476 195 568T564 661H697V723Q697 798 659 843T537 888Q464 888 423 853T381 757H92Q92 851 150 931T314 1056T552 1102Q752 1102 869 1002T987
+719V250Q988 96 1030 17V0H738ZM499 201Q563 201 617 229T697 306V492H589Q372 492 358 342L357 325Q357 271 395 236T499 201ZM329 1420Q329 1506 394 1565T552 1625Q644 1625 709 1567T775 1420Q775 1335 711 1277T552 1219Q455 1219 392 1278T329 1420ZM444
+1420Q444 1376 473 1345T552 1313T631 1344T660 1420Q660 1466 631 1497T552 1529T474 1498T444 1420Z" />
+<glyph unicode="&#xe6;" horiz-adv-x="1729" d="M1246 -20Q999 -20 860 127Q796 58 694 19T466 -20Q280 -20 173 69T66 319Q66 476 190 562T557 649H725V706Q725 782 685 825T567 868Q485 868 438 833T390 745L101 764Q101 913 231 1007T570 1102Q781 1102 897
+992Q1023 1104 1223 1102Q1435 1102 1556 971T1677 607V450H1009Q1020 334 1089 273T1276 212Q1353 212 1418 228T1571 289L1648 100Q1575 44 1468 12T1246 -20ZM521 192Q570 192 628 214T725 272V461H561Q466 460 411 418T355 315Q355 259 395 226T521 192ZM1223
+868Q1133 868 1079 811T1011 644H1393V672Q1393 766 1350 817T1223 868Z" />
+<glyph unicode="&#xe7;" horiz-adv-x="1068" d="M561 213Q641 213 691 257T743 374H1014Q1013 264 954 173T793 31T566 -20Q334 -20 200 127T66 535V554Q66 804 199 953T564 1102Q767 1102 889 987T1014 679H743Q741 763 691 815T559 868Q458 868 407 795T355
+556V526Q355 359 406 286T561 213ZM666 6L655 -52Q805 -79 805 -225Q805 -335 714 -399T456 -463L449 -296Q561 -296 561 -215Q561 -173 528 -158T419 -137L450 6H666Z" />
+<glyph unicode="&#xe8;" horiz-adv-x="1107" d="M609 -20Q371 -20 222 126T72 515V543Q72 706 135 834T313 1032T577 1102Q799 1102 926 962T1054 565V447H365Q379 341 449 277T628 213Q795 213 889 334L1031 175Q966 83 855 32T609 -20ZM576 868Q490 868 437
+810T368 644H770V667Q768 763 718 815T576 868ZM688 1226H451L175 1536H490L688 1226Z" />
+<glyph unicode="&#xe9;" horiz-adv-x="1107" d="M609 -20Q371 -20 222 126T72 515V543Q72 706 135 834T313 1032T577 1102Q799 1102 926 962T1054 565V447H365Q379 341 449 277T628 213Q795 213 889 334L1031 175Q966 83 855 32T609 -20ZM576 868Q490 868 437
+810T368 644H770V667Q768 763 718 815T576 868ZM602 1536H917L640 1226H405L602 1536Z" />
+<glyph unicode="&#xea;" horiz-adv-x="1107" d="M609 -20Q371 -20 222 126T72 515V543Q72 706 135 834T313 1032T577 1102Q799 1102 926 962T1054 565V447H365Q379 341 449 277T628 213Q795 213 889 334L1031 175Q966 83 855 32T609 -20ZM576 868Q490 868 437
+810T368 644H770V667Q768 763 718 815T576 868ZM928 1256V1244H698L544 1389L390 1244H164V1260L460 1536H628L928 1256Z" />
+<glyph unicode="&#xeb;" horiz-adv-x="1107" d="M609 -20Q371 -20 222 126T72 515V543Q72 706 135 834T313 1032T577 1102Q799 1102 926 962T1054 565V447H365Q379 341 449 277T628 213Q795 213 889 334L1031 175Q966 83 855 32T609 -20ZM576 868Q490 868 437
+810T368 644H770V667Q768 763 718 815T576 868ZM161 1365Q161 1419 199 1455T299 1492Q361 1492 399 1455T437 1365T399 1276T299 1239Q240 1239 201 1274T161 1365ZM648 1365Q648 1418 687 1455T786 1492Q844 1492 884 1456T925 1365Q925 1313 887 1276T786 1238T686
+1275T648 1365Z" />
+<glyph unicode="&#xec;" horiz-adv-x="561" d="M423 0H134V1082H423V0ZM425 1211H188L-88 1521H227L425 1211Z" />
+<glyph unicode="&#xed;" horiz-adv-x="561" d="M423 0H134V1082H423V0ZM338 1777H653L376 1467H141L338 1777Z" />
+<glyph unicode="&#xee;" horiz-adv-x="561" d="M423 0H134V1082H423V0ZM665 1241V1229H435L281 1374L127 1229H-99V1245L197 1521H365L665 1241Z" />
+<glyph unicode="&#xef;" horiz-adv-x="561" d="M423 0H134V1082H423V0ZM-102 1350Q-102 1404 -64 1440T36 1477Q98 1477 136 1440T174 1350T136 1261T36 1224Q-23 1224 -62 1259T-102 1350ZM385 1350Q385 1403 424 1440T523 1477Q581 1477 621 1441T662 1350Q662
+1298 624 1261T523 1223T423 1260T385 1350Z" />
+<glyph unicode="&#xf0;" horiz-adv-x="1178" d="M849 1305Q1104 1043 1105 651V577Q1105 405 1039 268T853 56T587 -20Q443 -20 328 43T149 219T84 468Q84 699 207 832T536 966Q672 966 780 890Q731 1042 614 1155L423 1033L345 1147L497 1244Q381 1316 233 1355L324
+1579Q562 1531 740 1399L911 1508L988 1394L849 1305ZM816 663Q748 746 601 746Q488 746 431 672T373 468Q373 356 433 285T591 213Q694 213 755 303T816 552V663Z" />
+<glyph unicode="&#xf1;" horiz-adv-x="1147" d="M377 1082L386 957Q502 1102 697 1102Q869 1102 953 1001T1039 699V0H750V692Q750 784 710 825T577 867Q455 867 394 763V0H105V1082H377ZM951 1779Q951 1666 885 1590T724 1513Q686 1513 657 1521T575 1558T500
+1592T450 1599Q415 1599 391 1574T366 1503L198 1513Q198 1624 263 1702T424 1780Q454 1780 480 1773T567 1736T650 1701T698 1695Q733 1695 758 1719T784 1790L951 1779Z" />
+<glyph unicode="&#xf2;" horiz-adv-x="1158" d="M66 551Q66 712 128 838T306 1033T577 1102Q796 1102 934 968T1089 604L1091 530Q1091 281 952 131T579 -20T206 130T66 538V551ZM355 530Q355 376 413 295T579 213Q684 213 743 293T802 551Q802 702 743 785T577
+868Q471 868 413 786T355 530ZM720 1226H483L207 1536H522L720 1226Z" />
+<glyph unicode="&#xf3;" horiz-adv-x="1158" d="M66 551Q66 712 128 838T306 1033T577 1102Q796 1102 934 968T1089 604L1091 530Q1091 281 952 131T579 -20T206 130T66 538V551ZM355 530Q355 376 413 295T579 213Q684 213 743 293T802 551Q802 702 743 785T577
+868Q471 868 413 786T355 530ZM634 1536H949L672 1226H437L634 1536Z" />
+<glyph unicode="&#xf4;" horiz-adv-x="1158" d="M66 551Q66 712 128 838T306 1033T577 1102Q796 1102 934 968T1089 604L1091 530Q1091 281 952 131T579 -20T206 130T66 538V551ZM355 530Q355 376 413 295T579 213Q684 213 743 293T802 551Q802 702 743 785T577
+868Q471 868 413 786T355 530ZM960 1256V1244H730L576 1389L422 1244H196V1260L492 1536H660L960 1256Z" />
+<glyph unicode="&#xf5;" horiz-adv-x="1158" d="M66 551Q66 712 128 838T306 1033T577 1102Q796 1102 934 968T1089 604L1091 530Q1091 281 952 131T579 -20T206 130T66 538V551ZM355 530Q355 376 413 295T579 213Q684 213 743 293T802 551Q802 702 743 785T577
+868Q471 868 413 786T355 530ZM952 1779Q952 1666 886 1590T725 1513Q687 1513 658 1521T576 1558T501 1592T451 1599Q416 1599 392 1574T367 1503L199 1513Q199 1624 264 1702T425 1780Q455 1780 481 1773T568 1736T651 1701T699 1695Q734 1695 759 1719T785 1790L952
+1779Z" />
+<glyph unicode="&#xf6;" horiz-adv-x="1158" d="M66 551Q66 712 128 838T306 1033T577 1102Q796 1102 934 968T1089 604L1091 530Q1091 281 952 131T579 -20T206 130T66 538V551ZM355 530Q355 376 413 295T579 213Q684 213 743 293T802 551Q802 702 743 785T577
+868Q471 868 413 786T355 530ZM193 1365Q193 1419 231 1455T331 1492Q393 1492 431 1455T469 1365T431 1276T331 1239Q272 1239 233 1274T193 1365ZM680 1365Q680 1418 719 1455T818 1492Q876 1492 916 1456T957 1365Q957 1313 919 1276T818 1238T718 1275T680
+1365Z" />
+<glyph unicode="&#xf7;" horiz-adv-x="1168" d="M1091 571H63V801H1091V571ZM415 1089Q415 1157 460 1199T578 1241Q649 1241 695 1200T742 1089Q742 1022 697 981T578 939Q503 939 459 981T415 1089ZM415 277Q415 345 460 387T578 429Q649 429 695 388T742 277Q742
+210 697 169T578 127Q503 127 459 169T415 277Z" />
+<glyph unicode="&#xf8;" horiz-adv-x="1156" d="M66 551Q66 712 128 838T306 1033T577 1102Q678 1102 763 1073L833 1216H994L891 1005Q1091 856 1091 530Q1091 281 952 131T579 -20Q484 -20 403 6L331 -142H170L273 70Q66 216 66 551ZM355 530Q355 400 396 322L656
+854Q620 868 577 868Q471 868 413 786T355 530ZM802 551Q802 665 765 747L509 223Q539 213 579 213Q684 213 743 293T802 551Z" />
+<glyph unicode="&#xf9;" horiz-adv-x="1146" d="M759 110Q652 -20 463 -20Q289 -20 198 80T104 373V1082H393V383Q393 214 547 214Q694 214 749 316V1082H1039V0H767L759 110ZM716 1226H479L203 1536H518L716 1226Z" />
+<glyph unicode="&#xfa;" horiz-adv-x="1146" d="M759 110Q652 -20 463 -20Q289 -20 198 80T104 373V1082H393V383Q393 214 547 214Q694 214 749 316V1082H1039V0H767L759 110ZM630 1536H945L668 1226H433L630 1536Z" />
+<glyph unicode="&#xfb;" horiz-adv-x="1146" d="M759 110Q652 -20 463 -20Q289 -20 198 80T104 373V1082H393V383Q393 214 547 214Q694 214 749 316V1082H1039V0H767L759 110ZM956 1256V1244H726L572 1389L418 1244H192V1260L488 1536H656L956 1256Z" />
+<glyph unicode="&#xfc;" horiz-adv-x="1146" d="M759 110Q652 -20 463 -20Q289 -20 198 80T104 373V1082H393V383Q393 214 547 214Q694 214 749 316V1082H1039V0H767L759 110ZM189 1365Q189 1419 227 1455T327 1492Q389 1492 427 1455T465 1365T427 1276T327 1239Q268
+1239 229 1274T189 1365ZM676 1365Q676 1418 715 1455T814 1492Q872 1492 912 1456T953 1365Q953 1313 915 1276T814 1238T714 1275T676 1365Z" />
+<glyph unicode="&#xfd;" horiz-adv-x="1028" d="M515 409L715 1082H1025L590 -168L566 -225Q469 -437 246 -437Q183 -437 118 -418V-199L162 -200Q244 -200 284 -175T348 -92L382 -3L3 1082H314L515 409ZM578 1536H893L616 1226H381L578 1536Z" />
+<glyph unicode="&#xfe;" horiz-adv-x="1162" d="M1087 531Q1087 281 974 131T667 -20Q503 -20 403 93V-416H113V1536H403V989Q503 1102 665 1102Q863 1102 975 955T1087 545V531ZM798 552Q798 703 745 785T589 867Q457 867 403 765V318Q457 213 591 213Q798 213 798 552Z" />
+<glyph unicode="&#xff;" horiz-adv-x="1028" d="M515 409L715 1082H1025L590 -168L566 -225Q469 -437 246 -437Q183 -437 118 -418V-199L162 -200Q244 -200 284 -175T348 -92L382 -3L3 1082H314L515 409ZM137 1365Q137 1419 175 1455T275 1492Q337 1492 375 1455T413
+1365T375 1276T275 1239Q216 1239 177 1274T137 1365ZM624 1365Q624 1418 663 1455T762 1492Q820 1492 860 1456T901 1365Q901 1313 863 1276T762 1238T662 1275T624 1365Z" />
+<glyph unicode="&#x2013;" horiz-adv-x="1294" d="M1444 596H408V832H1444V596Z" />
+<glyph unicode="&#x2014;" horiz-adv-x="1563" d="M1746 596H365V832H1746V596Z" />
+<glyph unicode="&#x2018;" horiz-adv-x="479" d="M286 1570L422 1491Q336 1355 333 1215V1048H104V1198Q104 1292 156 1398T286 1570Z" />
+<glyph unicode="&#x2019;" horiz-adv-x="470" d="M194 1009L58 1088Q144 1223 147 1367V1536H377V1381Q377 1291 327 1186T194 1009Z" />
+<glyph unicode="&#x201a;" horiz-adv-x="508" d="M202 -305L66 -226Q144 -100 147 48V229H385L384 63Q383 -26 334 -129T202 -305Z" />
+<glyph unicode="&#x201c;" horiz-adv-x="831" d="M294 1570L430 1491Q344 1355 341 1215V1048H112V1198Q112 1292 164 1398T294 1570ZM637 1570L773 1491Q687 1355 684 1215V1048H455V1198Q455 1292 507 1398T637 1570Z" />
+<glyph unicode="&#x201d;" horiz-adv-x="837" d="M208 1009L72 1088Q158 1223 161 1367V1536H391V1381Q391 1291 341 1186T208 1009ZM555 1009L419 1088Q505 1223 508 1367V1536H738V1381Q738 1291 688 1186T555 1009Z" />
+<glyph unicode="&#x201e;" horiz-adv-x="825" d="M209 -325L66 -246Q144 -112 147 47V263H385L384 64Q383 -33 336 -142T209 -325ZM545 -325L402 -246Q488 -98 491 48V263H729L728 60Q726 -36 676 -145T545 -325Z" />
+<glyph unicode="&#x2022;" horiz-adv-x="736" d="M135 766Q135 870 201 933T371 996Q479 996 543 934T610 771V728Q610 625 545 563T373 500Q268 500 202 562T135 731V766Z" />
+<glyph unicode="&#x2039;" horiz-adv-x="638" d="M334 524L574 125H388L108 515V534L388 924H574L334 524Z" />
+<glyph unicode="&#x203a;" horiz-adv-x="618" d="M267 923L547 533V514L267 124H80L320 523L80 923H267Z" />
+</font>
+</defs>
+</svg>
diff --git a/assets/fonts/Roboto-700/Roboto-700.ttf b/assets/fonts/Roboto-700/Roboto-700.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..19090afb10e101b0524a4dbe1f5af074dcd2a1d3
GIT binary patch
literal 32500
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
Q330vIjyK(K2c7x<15Q#gi2wiq

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-700/Roboto-700.woff b/assets/fonts/Roboto-700/Roboto-700.woff
new file mode 100644
index 0000000000000000000000000000000000000000..3143de2975add1e96477f65e1060d439b330c590
GIT binary patch
literal 13348
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

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-700/Roboto-700.woff2 b/assets/fonts/Roboto-700/Roboto-700.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..3b2dd4e2082859a8b0afbf8b5d92b90421e4aaf2
GIT binary patch
literal 10276
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

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-700italic/LICENSE.txt b/assets/fonts/Roboto-700italic/LICENSE.txt
new file mode 100644
index 00000000..d6456956
--- /dev/null
+++ b/assets/fonts/Roboto-700italic/LICENSE.txt
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/assets/fonts/Roboto-700italic/Roboto-700italic.eot b/assets/fonts/Roboto-700italic/Roboto-700italic.eot
new file mode 100644
index 0000000000000000000000000000000000000000..b8bbdf2271a73401e565b0676b8dfb575d92226f
GIT binary patch
literal 17151
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
T6oVDoWR|w*$T36-0$e>X(HB)B

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-700italic/Roboto-700italic.svg b/assets/fonts/Roboto-700italic/Roboto-700italic.svg
new file mode 100644
index 00000000..c71c29ec
--- /dev/null
+++ b/assets/fonts/Roboto-700italic/Roboto-700italic.svg
@@ -0,0 +1,325 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg">
+<defs >
+<font id="Roboto" horiz-adv-x="1061" ><font-face
+    font-family="Roboto"
+    units-per-em="2048"
+    panose-1="2 0 0 0 0 0 0 0 0 0"
+    ascent="1900"
+    descent="-500"
+    alphabetic="0" />
+<glyph unicode=" " horiz-adv-x="505" />
+<glyph unicode="!" horiz-adv-x="550" d="M369 447H134L276 1456H577L369 447ZM41 131Q39 197 83 242T195 290Q259 292 306 251T355 142Q357 76 313 30T200 -18Q130 -18 86 26T41 131Z" />
+<glyph unicode="&quot;" horiz-adv-x="647" d="M381 1382L282 987H121L208 1536H406L381 1382ZM697 1382L598 987H438L524 1536H721L697 1382Z" />
+<glyph unicode="#" horiz-adv-x="1193" d="M611 410H432L290 0H104L246 410H28L58 582H305L402 866H180L211 1040H462L606 1456H790L647 1040H827L970 1456H1156L1013 1040H1222L1192 866H953L855 582H1069L1039 410H796L655 0H469L611 410ZM490 582H669L767 866H587L490
+582Z" />
+<glyph unicode="$" horiz-adv-x="1150" d="M737 390Q747 460 714 511T579 608T409 699Q204 837 219 1062Q230 1234 348 1343T657 1473L698 1687H855L813 1467Q965 1435 1044 1315T1119 1004L836 1005Q848 1241 697 1244Q618 1246 564 1196T499 1063Q490 999 521
+950T642 858T793 778Q1032 634 1016 392Q1005 218 888 111T576 -16L537 -215H381L420 -15Q244 11 152 136T65 458L347 457Q342 336 386 275T520 212Q605 210 665 259T737 390Z" />
+<glyph unicode="%" horiz-adv-x="1477" d="M525 1478Q659 1474 736 1389T806 1176L800 1099Q786 962 692 879T465 800Q335 802 257 885T184 1099L189 1166Q200 1308 292 1394T525 1478ZM373 1095Q368 1039 391 1003T466 965T556 999T608 1099L618 1177Q625 1236
+601 1272T526 1311Q471 1313 432 1274T383 1176L373 1095ZM723 357Q735 493 829 576T1059 658Q1192 654 1270 570T1340 357L1335 290Q1324 145 1230 60T999 -21Q871 -19 791 64T718 279L723 357ZM904 277Q899 222 925 185T999 145Q1057 143 1094 179T1142 279L1152
+359Q1159 418 1134 453T1060 491Q1006 493 967 457T915 357L904 277ZM386 111L247 196L1125 1320L1262 1237L386 111Z" />
+<glyph unicode="&amp;" horiz-adv-x="1314" d="M41 385Q51 568 258 710L356 773L316 863Q264 989 271 1086Q279 1201 336 1291T488 1430T695 1476Q842 1472 936 1379T1024 1145Q1014 956 797 813L683 738L871 456Q955 576 972 714H1211Q1192 432 1018 249L1186
+0H884L829 84Q649 -23 458 -19Q268 -17 149 95T41 385ZM480 213Q567 210 689 272L475 602L451 586Q345 507 330 399Q319 316 362 266T480 213ZM518 1090Q514 1066 517 1043Q524 990 566 909L648 959Q772 1034 781 1128Q787 1178 759 1211T681 1244Q619 1246 573
+1201T518 1090Z" />
+<glyph unicode="&apos;" horiz-adv-x="331" d="M389 1373L301 985H120L207 1536H414L389 1373Z" />
+<glyph unicode="(" horiz-adv-x="707" d="M122 588Q170 945 335 1226T751 1619L799 1458Q457 1197 366 619Q335 423 333 267Q328 -144 521 -304L458 -455Q242 -335 156 -40Q99 158 105 384Q107 479 118 564L122 588Z" />
+<glyph unicode=")" horiz-adv-x="710" d="M-56 -458L-104 -300Q239 -35 329 548Q358 735 360 893Q365 1304 174 1465L237 1616Q355 1552 439 1430T564 1134T603 778Q597 500 507 238T272 -203T-56 -458Z" />
+<glyph unicode="*" horiz-adv-x="910" d="M392 966L100 1058L185 1228L472 1100L515 1456H707L627 1109L934 1227L960 1034L632 945L793 673L632 569L506 862L284 584L135 703L392 966Z" />
+<glyph unicode="+" horiz-adv-x="1094" d="M712 815H1062L1016 554H667L596 146H327L398 554H46L92 815H443L511 1206H780L712 815Z" />
+<glyph unicode="," horiz-adv-x="495" d="M31 -365L-118 -284L-45 -167Q19 -60 37 34L74 246H312L283 62Q242 -197 31 -365Z" />
+<glyph unicode="-" horiz-adv-x="780" d="M638 507H90L130 740H679L638 507Z" />
+<glyph unicode="." horiz-adv-x="587" d="M200 298Q267 300 314 257T362 147Q364 81 318 35T205 -12Q138 -14 92 28T44 137T87 250T200 298Z" />
+<glyph unicode="/" horiz-adv-x="752" d="M77 -125H-145L649 1456H872L77 -125Z" />
+<glyph unicode="0" horiz-adv-x="1150" d="M485 -20Q296 -16 193 108T87 454Q86 528 95 602L136 875Q185 1173 329 1327T698 1476Q887 1472 990 1349T1097 1004Q1098 929 1089 855L1047 584Q997 284 855 130T485 -20ZM824 1038Q824 1237 684 1244Q482 1253 427
+936L377 598Q361 492 361 422Q356 219 500 212Q703 199 758 529L811 885Q824 972 824 1038Z" />
+<glyph unicode="1" horiz-adv-x="1150" d="M674 0H392L584 1108L230 1001L274 1248L882 1458L919 1459L674 0Z" />
+<glyph unicode="2" horiz-adv-x="1150" d="M971 0H1L34 210L551 695Q710 844 762 937T801 1119Q780 1243 658 1246Q562 1248 498 1179T419 998L137 997Q145 1133 218 1244T412 1416T675 1477Q878 1473 991 1363T1091 1070Q1075 864 848 640L704 503L406 235L1008
+233L971 0Z" />
+<glyph unicode="3" horiz-adv-x="1150" d="M422 856L557 855Q660 855 729 912T810 1065Q820 1146 779 1194T656 1245T516 1201T444 1080L162 1078Q171 1254 313 1366T660 1477Q866 1473 986 1362T1095 1068Q1081 860 830 742Q928 695 973 609T1013 416Q1006 284
+932 184T734 31T466 -20Q271 -18 148 97T27 400H307Q305 319 352 268T485 214Q583 212 653 269T735 420Q748 520 700 573T552 629L386 630L422 856Z" />
+<glyph unicode="4" horiz-adv-x="1150" d="M918 548H1078L1037 315H877L822 0H540L595 315H17L37 512L780 1456H1075L918 548ZM330 550L636 548L735 1066L709 1030L330 550Z" />
+<glyph unicode="5" horiz-adv-x="1150" d="M154 720L350 1456H1146L1108 1215H549L453 900Q542 956 663 956Q850 956 952 824T1039 474Q1027 330 955 215T764 38T504 -21Q381 -20 281 35T124 188T67 406H344Q348 317 393 267T515 214Q615 211 679 287T757 491Q769
+605 723 671T581 739Q475 741 385 661L154 720Z" />
+<glyph unicode="6" horiz-adv-x="1150" d="M991 1472L969 1233L914 1232Q571 1214 419 854Q544 977 712 973Q830 971 911 907T1031 732T1058 487Q1046 344 973 226T780 42T523 -21Q380 -17 278 59T128 269T97 559L108 649Q155 1025 383 1248T953 1472H991ZM616
+743Q543 745 485 707T389 610L376 520Q371 475 372 422Q374 328 415 271T531 213Q605 210 666 261T756 398T775 573Q766 651 725 696T616 743Z" />
+<glyph unicode="7" horiz-adv-x="1150" d="M1164 1279L424 0H113L851 1222H155L192 1456H1191L1164 1279Z" />
+<glyph unicode="8" horiz-adv-x="1150" d="M1104 1077Q1090 864 854 744Q939 685 981 598T1016 408Q1005 212 857 94T491 -20Q292 -18 172 94T62 390Q76 632 347 756Q200 873 210 1061Q217 1185 283 1281T460 1428T704 1476Q893 1472 1004 1364T1104 1077ZM738
+428Q749 514 707 571T583 630Q492 632 427 571T348 411Q337 325 378 270T504 212Q596 210 660 270T738 428ZM819 1063Q828 1145 793 1193T689 1244Q610 1246 555 1192T489 1047Q480 966 513 915T618 861Q696 859 752 915T819 1063Z" />
+<glyph unicode="9" horiz-adv-x="1150" d="M763 583Q640 469 500 471Q380 472 296 535T172 710T143 954Q157 1115 245 1245T474 1437Q567 1478 678 1476Q858 1472 965 1350T1086 1023Q1090 952 1083 882L1072 796Q1023 415 801 200T230 -15H209L231 227H246Q443
+224 570 312T763 583ZM578 691Q698 687 790 814L807 935Q812 977 812 1030Q810 1126 772 1184T662 1244Q590 1245 533 1193T446 1049T424 868Q431 788 471 740T578 691Z" />
+<glyph unicode=":" horiz-adv-x="571" d="M455 298Q522 300 569 257T617 147Q619 81 573 35T460 -12Q393 -14 347 28T299 137T342 250T455 298ZM340 1117Q407 1119 454 1076T502 966Q504 900 458 854T345 807Q278 805 232 847T184 956T227 1069T340 1117Z" />
+<glyph unicode=";" horiz-adv-x="531" d="M323 1117Q390 1119 437 1076T485 966Q487 900 441 854T328 807Q261 805 215 847T167 956T210 1069T323 1117ZM52 -365L-97 -284L-24 -167Q40 -60 58 34L95 246H333L304 62Q263 -197 52 -365Z" />
+<glyph unicode="&lt;" horiz-adv-x="1021" d="M337 612L856 411L810 144L36 509L77 745L978 1110L926 817L337 612Z" />
+<glyph unicode="=" horiz-adv-x="1147" d="M1025 746H156L198 982H1067L1025 746ZM950 313H81L123 549H992L950 313Z" />
+<glyph unicode="&gt;" horiz-adv-x="1036" d="M685 627L155 830L202 1095L985 730L944 495L33 129L85 421L685 627Z" />
+<glyph unicode="?" horiz-adv-x="998" d="M321 446Q330 576 374 665T512 830T638 941Q724 1036 713 1143Q703 1240 600 1243Q529 1245 480 1198T415 1070L132 1068Q145 1258 278 1369T614 1477Q803 1473 909 1369T1002 1092Q990 922 808 769L680 663Q588 578 568
+447L321 446ZM228 134Q226 201 271 247T384 295Q448 297 495 255T544 145Q546 82 502 35T388 -14Q321 -14 276 27T228 134Z" />
+<glyph unicode="@" horiz-adv-x="1788" d="M1194 -21Q1022 -16 976 122Q850 -22 708 -19Q588 -17 526 78T471 330Q477 485 554 648T748 902T1008 991Q1081 989 1145 966T1301 883L1167 301L1160 248Q1149 143 1234 138Q1360 133 1438 286T1533 663L1536 714Q1541
+875 1491 998T1333 1185T1068 1253Q904 1256 757 1184T493 970T311 647T237 277Q228 66 311 -76Q428 -274 708 -277Q869 -279 1046 -209L1074 -367Q945 -453 709 -453Q508 -451 371 -377T154 -178T54 111Q24 336 90 582T305 1023T650 1318T1065 1416Q1358 1411
+1527 1238T1710 765Q1716 596 1670 429T1534 147Q1398 -26 1194 -21ZM690 320Q679 160 780 157Q834 154 889 206T969 326L1096 804Q1065 815 1027 817Q901 822 817 709T696 378L690 320Z" />
+<glyph unicode="A" horiz-adv-x="1347" d="M877 300H369L219 0H-104L674 1456H945L1222 0H923L877 300ZM489 543H840L758 1085L489 543Z" />
+<glyph unicode="B" horiz-adv-x="1278" d="M21 0L274 1456L728 1455Q981 1454 1108 1352T1223 1065Q1209 844 968 742Q1055 712 1103 630T1144 435Q1130 229 983 115T580 0H21ZM425 634L356 241L587 240Q695 240 768 293T855 438Q869 528 831 578T701 633L425
+634ZM461 846L660 844Q771 846 841 896T926 1035Q951 1211 741 1212L525 1213L461 846Z" />
+<glyph unicode="C" horiz-adv-x="1310" d="M1208 486Q1191 335 1105 219T881 40T583 -20Q439 -17 332 46T164 230T94 508Q87 631 119 814T235 1139T434 1364Q596 1480 804 1476Q1030 1472 1162 1337T1308 960L1016 961Q1016 1099 961 1163T790 1231Q640 1236 544
+1124T414 797Q382 588 386 484Q391 352 445 290T596 224Q730 219 810 287T917 484L1208 486Z" />
+<glyph unicode="D" horiz-adv-x="1301" d="M21 0L274 1456L692 1455Q839 1452 956 1389T1147 1206T1235 938Q1243 851 1233 760L1226 707Q1182 387 975 194T471 0H21ZM525 1213L356 241L478 240Q680 240 802 388T943 835L945 867Q948 1032 882 1120T685 1212L525 1213Z" />
+<glyph unicode="E" horiz-adv-x="1127" d="M982 631H424L356 241H1012L970 0H21L274 1456H1221L1178 1213H525L464 866H1024L982 631Z" />
+<glyph unicode="F" horiz-adv-x="1098" d="M976 595H418L314 0H21L274 1456H1196L1153 1213H525L459 837H1019L976 595Z" />
+<glyph unicode="G" horiz-adv-x="1363" d="M1188 184Q1110 85 960 32T620 -19Q471 -18 358 46T180 232T106 508Q96 652 136 846T275 1187T512 1406T818 1476Q1046 1472 1175 1348T1322 991L1040 992Q1029 1114 975 1172T814 1234Q629 1240 523 1072T401 583Q391
+412 453 318T644 222Q793 218 898 293L947 544H681L720 765H1276L1188 184Z" />
+<glyph unicode="H" horiz-adv-x="1414" d="M1173 0H880L988 624H423L314 0H21L274 1456H567L464 866H1030L1132 1456H1425L1173 0Z" />
+<glyph unicode="I" horiz-adv-x="589" d="M333 0H40L292 1456H585L333 0Z" />
+<glyph unicode="J" horiz-adv-x="1120" d="M846 1456H1139L968 448Q950 310 876 201T686 34T431 -21Q225 -17 113 101T7 431L302 430Q287 224 447 221Q534 218 595 279T674 448L846 1456Z" />
+<glyph unicode="K" horiz-adv-x="1271" d="M576 581L384 403L314 0H21L274 1456H567L455 814L604 982L1042 1456H1424L795 794L1170 0H836L576 581Z" />
+<glyph unicode="L" horiz-adv-x="1086" d="M356 241H974L932 0H21L274 1456H567L356 241Z" />
+<glyph unicode="M" horiz-adv-x="1750" d="M650 1456L829 403L1372 1456H1762L1509 0H1215L1287 415L1429 1063L871 0H670L475 1100L381 383L314 0H21L274 1456H650Z" />
+<glyph unicode="N" horiz-adv-x="1413" d="M1172 0H888L483 971L314 0H21L274 1456H557L963 483L1132 1456H1424L1172 0Z" />
+<glyph unicode="O" horiz-adv-x="1382" d="M606 -20Q461 -17 351 48T176 237T101 521Q90 685 136 871T284 1198T523 1409T821 1476Q968 1473 1078 1407T1251 1216T1323 933Q1333 757 1285 571T1136 249T900 45T606 -20ZM1021 768L1029 863Q1039 1041 982 1133T807
+1229Q624 1235 517 1067T395 597Q385 420 442 325T619 225Q776 218 879 347T1014 714L1021 768Z" />
+<glyph unicode="P" horiz-adv-x="1291" d="M404 513L314 0H21L274 1456L784 1455Q1020 1455 1155 1324T1273 982Q1257 768 1095 640T680 512L404 513ZM445 756L689 754Q807 754 885 815T978 980T945 1146T801 1212L525 1213L445 756Z" />
+<glyph unicode="Q" horiz-adv-x="1382" d="M958 95L1160 -103L960 -260L705 -12Q648 -21 599 -19Q381 -17 247 129T98 522Q89 645 116 796T206 1075T360 1293T569 1431T817 1476Q963 1473 1073 1407T1247 1217T1320 933Q1325 846 1315 759L1298 644Q1231 272 958
+95ZM1026 863Q1033 1048 976 1136T803 1229Q620 1235 513 1067T391 597Q381 420 438 325T615 225Q772 218 875 347T1010 714Q1023 810 1026 863Z" />
+<glyph unicode="R" horiz-adv-x="1278" d="M645 533H407L314 0H21L274 1456L756 1455Q998 1455 1128 1341T1244 1024Q1223 724 924 607L1129 16V0H817L645 533ZM449 776L667 774Q783 776 858 836T949 1001Q963 1098 918 1153T775 1212L525 1213L449 776Z" />
+<glyph unicode="S" horiz-adv-x="1231" d="M822 389Q843 508 705 571L512 648Q176 798 193 1061Q200 1183 273 1277T478 1424T763 1476Q974 1472 1104 1351T1232 1025H940Q945 1124 897 1179T746 1236Q646 1238 572 1191T484 1060Q465 951 630 887L762 837L838
+802Q1133 656 1114 392Q1105 263 1032 170T832 26T553 -21Q398 -18 277 44T93 219Q34 324 38 459L331 458Q317 221 564 217Q671 217 740 264T822 389Z" />
+<glyph unicode="T" horiz-adv-x="1239" d="M1296 1213H864L654 0H361L571 1213H144L187 1456H1339L1296 1213Z" />
+<glyph unicode="U" horiz-adv-x="1318" d="M1349 1456L1185 496Q1151 255 985 115T573 -21Q419 -18 306 46T138 228T101 495L264 1456H557L394 494Q387 438 393 389Q413 227 586 221Q710 217 789 289T891 495L1055 1456H1349Z" />
+<glyph unicode="V" horiz-adv-x="1309" d="M606 364L1096 1456H1432L713 0H407L145 1456H460L606 364Z" />
+<glyph unicode="W" horiz-adv-x="1747" d="M1195 423L1546 1456H1845L1304 0H1009L932 970L551 0H256L170 1456H456L485 428L877 1456H1126L1195 423Z" />
+<glyph unicode="X" horiz-adv-x="1272" d="M679 956L1022 1456H1374L839 720L1141 0H817L626 508L275 0H-81L466 748L173 1456H493L679 956Z" />
+<glyph unicode="Y" horiz-adv-x="1238" d="M640 802L1047 1456H1383L747 512L659 0H361L456 545L154 1455L463 1456L640 802Z" />
+<glyph unicode="Z" horiz-adv-x="1214" d="M378 243L1086 241L1044 0H-34L-1 191L870 1211L177 1213L220 1456H1281L1248 1269L378 243Z" />
+<glyph unicode="[" horiz-adv-x="562" d="M673 1471H535L287 -116H425L390 -339H-31L287 1694H708L673 1471Z" />
+<glyph unicode="\" horiz-adv-x="848" d="M154 1456H429L745 -125H469L154 1456Z" />
+<glyph unicode="]" horiz-adv-x="562" d="M183 1694H604L286 -339H-135L-100 -116H39L287 1471H148L183 1694Z" />
+<glyph unicode="^" horiz-adv-x="878" d="M543 1183L296 729H57L474 1456H679L843 729H632L543 1183Z" />
+<glyph unicode="_" horiz-adv-x="897" d="M743 -226H-143L-103 0H782L743 -226Z" />
+<glyph unicode="`" horiz-adv-x="667" d="M638 1226L427 1227L204 1534L495 1536L638 1226Z" />
+<glyph unicode="a" horiz-adv-x="1075" d="M629 0Q616 41 618 98Q496 -24 342 -20Q200 -18 107 72T19 296Q26 473 167 567T547 662L679 660L693 725Q699 758 696 788Q691 835 661 861T580 889Q514 891 468 857T409 757L126 756Q133 911 268 1007T603 1102Q787
+1098 891 993T978 721L895 203L890 139Q888 68 907 19L906 0H629ZM412 199Q534 195 625 305L660 492L562 493Q406 489 337 398Q312 365 306 317Q298 263 328 232T412 199Z" />
+<glyph unicode="b" horiz-adv-x="1128" d="M1043 538Q1013 282 887 128T561 -21Q390 -17 301 117L260 0H3L269 1536H552L443 983Q557 1106 707 1102Q864 1100 953 990T1049 684Q1051 622 1043 538ZM763 559Q772 644 769 691Q758 865 625 868Q500 872 418 755L340
+325Q378 217 502 213Q710 207 757 515L763 559Z" />
+<glyph unicode="c" horiz-adv-x="1046" d="M477 212Q555 210 607 254T675 373L940 374Q933 260 869 169T697 27T470 -21Q273 -18 158 115T47 469L50 524L51 535Q78 799 229 953T602 1102Q785 1098 892 983T998 678H735Q735 765 697 815T583 869Q381 875 338 574Q323
+465 327 390Q337 215 477 212Z" />
+<glyph unicode="d" horiz-adv-x="1129" d="M540 1103Q691 1099 784 982L890 1536H1173L907 0H655L671 116Q550 -25 389 -21Q288 -20 212 32T95 181T49 399Q46 462 52 521L58 566Q82 732 150 858T318 1045T540 1103ZM335 521Q327 445 330 393Q340 217 472 214Q591
+209 679 326L756 756Q717 863 600 868Q497 871 429 789T335 521Z" />
+<glyph unicode="e" horiz-adv-x="1084" d="M517 -20Q375 -19 266 49T102 237T60 501L63 541Q78 699 155 831T353 1034T621 1102Q830 1098 937 949T1019 570L1003 447H340Q336 342 391 279T541 214Q695 210 811 333L940 173Q879 81 764 30T517 -20ZM607 869Q529
+871 469 820T360 643H748L754 669Q760 709 755 745Q745 803 706 835T607 869Z" />
+<glyph unicode="f" horiz-adv-x="722" d="M79 0L230 870H74L111 1082L267 1083L281 1191Q307 1364 422 1462T715 1559Q776 1557 868 1538L843 1313Q795 1325 760 1325Q685 1326 632 1287T565 1170L550 1082H759L722 870H514L363 0H79Z" />
+<glyph unicode="g" horiz-adv-x="1144" d="M57 542Q87 793 220 949T557 1103Q730 1099 815 978L852 1083L1111 1082L934 37Q905 -179 750 -305T366 -427Q254 -425 152 -379T-16 -251L124 -79Q218 -198 360 -202Q470 -206 548 -145T654 29L670 94Q552 -24 405 -20Q247
+-18 154 97T52 398Q49 459 57 542ZM334 424Q334 330 373 274T488 214Q603 210 692 312L776 770Q733 864 617 868Q509 871 434 781T340 542Q333 469 334 424Z" />
+<glyph unicode="h" horiz-adv-x="1122" d="M433 962Q560 1104 726 1102Q887 1098 962 987T1019 682L905 0H623L738 685Q743 724 740 757Q730 865 614 868Q500 872 414 770L278 0H-4L262 1536H545L433 962Z" />
+<glyph unicode="i" horiz-adv-x="537" d="M301 0H17L205 1082H489L301 0ZM238 1357Q236 1424 282 1468T393 1512Q457 1514 504 1473T553 1367Q555 1305 512 1259T398 1211Q335 1209 288 1249T238 1357Z" />
+<glyph unicode="j" horiz-adv-x="526" d="M490 1082L296 -59Q273 -240 166 -341T-112 -440Q-180 -438 -262 -421L-239 -191Q-189 -202 -152 -204Q-19 -206 10 -60L206 1082H490ZM233 1357Q231 1423 275 1466T388 1512Q457 1512 501 1471T548 1367Q550 1300 506
+1257T393 1211Q330 1209 283 1249T233 1357Z" />
+<glyph unicode="k" horiz-adv-x="1071" d="M471 431L340 317L285 0H3L269 1536H552L406 702L461 761L782 1082H1144L671 617L972 0H663L471 431Z" />
+<glyph unicode="l" horiz-adv-x="537" d="M301 0H17L284 1536H567L301 0Z" />
+<glyph unicode="m" horiz-adv-x="1730" d="M453 1083L430 960Q561 1106 747 1102Q847 1100 913 1056T1002 937Q1145 1106 1338 1102Q1487 1099 1562 1000T1626 714L1624 689L1509 0H1226L1341 691Q1345 728 1344 760Q1337 865 1224 868Q1108 868 1025 744L1022
+721L896 0H614L729 689Q733 726 732 758Q725 864 613 867Q506 870 420 766L285 0H3L190 1082L453 1083Z" />
+<glyph unicode="n" horiz-adv-x="1123" d="M449 1083L425 955Q555 1106 740 1102Q893 1099 966 990T1019 688L905 0H623L739 691Q744 730 741 762Q728 864 613 867Q502 871 414 764L279 0H-3L185 1082L449 1083Z" />
+<glyph unicode="o" horiz-adv-x="1133" d="M622 1102Q765 1100 868 1029T1020 832T1055 553Q1032 295 876 136T489 -20Q348 -18 245 52T93 248T58 524Q84 792 240 950T622 1102ZM337 421Q339 325 382 270T503 212Q633 208 707 331T776 656Q772 752 730 809T608
+869Q482 873 407 751T337 421Z" />
+<glyph unicode="p" horiz-adv-x="1128" d="M1042 538Q1021 368 953 236T784 40T560 -21Q403 -17 312 96L213 -416H-69L190 1082L450 1083L431 974Q548 1106 707 1102T954 987T1048 684Q1050 622 1042 538ZM762 559L768 655Q770 752 733 809T623 868Q500 872 420
+764L339 318Q376 217 498 213Q600 210 668 292T762 559Z" />
+<glyph unicode="q" horiz-adv-x="1132" d="M540 1103Q708 1099 797 967L843 1083L1095 1082L835 -416H551L652 95Q539 -24 389 -20Q288 -19 212 33T95 183T49 400Q46 463 52 523L58 567Q82 735 150 861T318 1046T540 1103ZM331 394Q341 216 473 213Q592 209 677
+318L759 768Q720 865 602 869Q496 872 427 786T338 544Q328 441 331 394Z" />
+<glyph unicode="r" horiz-adv-x="735" d="M744 811Q686 821 649 821Q498 825 410 708L285 0H3L191 1082L456 1083L430 951Q532 1104 682 1104Q724 1104 780 1090L744 811Z" />
+<glyph unicode="s" horiz-adv-x="1031" d="M630 305Q646 385 519 421L428 444Q105 533 114 758Q119 911 249 1007T564 1102Q747 1100 860 1005T975 752L695 753Q697 892 557 894Q491 894 443 861T383 772Q368 692 504 659L544 650Q682 617 755 575T867 469T904
+318Q901 215 838 138T664 19T431 -20Q251 -18 131 83T9 346L275 344Q279 189 441 187Q519 187 569 219T630 305Z" />
+<glyph unicode="t" horiz-adv-x="681" d="M575 1348L528 1082H708L671 870H491L399 328Q393 277 407 250T475 221Q491 220 561 226L541 5Q466 -20 379 -18Q240 -16 172 69T116 299L209 870H56L93 1082H246L292 1348H575Z" />
+<glyph unicode="u" horiz-adv-x="1122" d="M673 112Q553 -23 375 -20Q219 -18 139 92T77 382L194 1082H476L357 379Q353 346 356 317Q366 217 467 214Q598 210 684 315L819 1082H1103L915 0H652L673 112Z" />
+<glyph unicode="v" horiz-adv-x="1014" d="M458 357L766 1082H1070L547 0H277L92 1082H378L458 357Z" />
+<glyph unicode="w" horiz-adv-x="1470" d="M980 394L1237 1082H1518L1063 0H827L747 677L431 0H195L115 1082H379L396 401L705 1082H909L980 394Z" />
+<glyph unicode="x" horiz-adv-x="1021" d="M524 761L751 1082H1068L676 538L895 0H609L476 338L237 0H-82L326 566L117 1082H403L524 761Z" />
+<glyph unicode="y" horiz-adv-x="1007" d="M462 412L771 1082H1085L452 -163Q384 -306 293 -373T81 -440Q34 -440 -55 -419L-34 -199L5 -201Q143 -205 207 -100L269 15L92 1082H384L462 412Z" />
+<glyph unicode="z" horiz-adv-x="1021" d="M371 235L881 233L840 0H-33L0 191L603 846L128 848L169 1082H1012L980 897L371 235Z" />
+<glyph unicode="{" horiz-adv-x="666" d="M438 -360Q280 -307 203 -187Q126 -66 144 106L172 311Q177 353 174 389Q164 502 39 513L58 720Q243 728 273 942L305 1172Q364 1497 709 1601L756 1435Q588 1370 555 1131L523 902Q489 709 300 613Q369 562 401 485T424
+309L393 73L389 16Q382 -146 499 -199L438 -360Z" />
+<glyph unicode="|" horiz-adv-x="512" d="M203 -270H31L301 1456H473L203 -270Z" />
+<glyph unicode="}" horiz-adv-x="666" d="M-94 -197Q74 -132 107 107L139 337Q173 530 365 624Q293 673 261 752T238 929L269 1165L273 1222Q280 1383 164 1437L228 1595Q389 1541 462 1421T518 1132L490 928Q485 885 488 850Q498 735 623 724L604 517Q418 507
+389 296L362 97Q311 -256 -47 -364L-94 -197Z" />
+<glyph unicode="~" horiz-adv-x="1298" d="M1203 795Q1197 677 1151 579T1027 426T848 374Q771 376 711 409T593 501T507 576T443 593Q384 593 344 546T289 413L80 415Q92 601 189 716T438 828Q515 826 576 793T710 685T841 610Q903 610 945 660T1001 794L1203 795Z" />
+<glyph unicode="&#xa0;" horiz-adv-x="505" />
+<glyph unicode="&#xa1;" horiz-adv-x="571" d="M171 639H406L263 -369H-37L171 639ZM499 953Q501 884 455 839T344 794Q281 792 234 834T184 943Q182 1008 226 1054T339 1102Q403 1104 450 1063T499 953Z" />
+<glyph unicode="&#xa2;" horiz-adv-x="1153" d="M518 212Q596 210 649 254T717 373L983 375Q972 224 866 121T592 -11L543 -245H347L397 -9Q233 29 154 173T96 523Q121 769 246 915T572 1094L619 1318H815L768 1090Q901 1058 975 951T1048 678H784L783 712Q770
+863 636 869Q535 874 469 795T381 552Q369 442 372 391Q377 215 518 212Z" />
+<glyph unicode="&#xa3;" horiz-adv-x="1190" d="M544 576L527 429Q511 320 426 237L1066 241L1023 0H-6L37 240L112 238Q160 257 187 297T228 421L249 576H91L132 812H282L309 1033Q335 1241 471 1360T807 1475Q998 1471 1103 1359T1205 1057L925 1058Q930 1232
+789 1235Q719 1237 669 1184T603 1040L576 812H876L835 576H544Z" />
+<glyph unicode="&#xa4;" horiz-adv-x="1385" d="M972 105Q790 -24 603 -20Q403 -16 272 106L119 -26L-3 132L151 257Q94 442 114 602Q140 817 285 977L170 1134L318 1264L427 1121Q604 1237 781 1233Q966 1231 1102 1117L1272 1265L1395 1106L1226 967Q1288 781
+1268 615Q1244 412 1111 255L1222 104L1073 -27L972 105ZM295 599Q280 489 314 390T424 231T605 168Q719 164 824 224T999 390T1088 617Q1103 727 1069 826T959 983T779 1045Q664 1049 558 989T382 824T295 599Z" />
+<glyph unicode="&#xa5;" horiz-adv-x="1226" d="M643 852L1016 1456H1353L861 744L1086 742L1053 567H745L724 452H1034L1003 278H695L646 0H353L402 278H75L106 452H431L452 567H125L156 742H417L172 1455L482 1456L643 852Z" />
+<glyph unicode="&#xa6;" horiz-adv-x="511" d="M-28 -270L111 525H365L227 -270H-28ZM394 698H140L272 1456H526L394 698Z" />
+<glyph unicode="&#xa7;" horiz-adv-x="1258" d="M1126 489Q1119 387 1064 319T921 205Q1016 94 1005 -70Q997 -187 930 -273T738 -407T458 -452Q228 -450 100 -340T-24 -34H257Q253 -125 308 -171T468 -217Q577 -217 643 -179T723 -73Q743 25 587 82L490 113Q262
+183 168 280T83 526Q93 703 288 812Q192 925 202 1087Q214 1253 345 1356T686 1474L753 1476Q971 1472 1092 1360T1210 1048H930Q933 1139 884 1189T743 1242Q640 1245 571 1204T486 1090Q464 973 639 925T906 830T1050 725Q1135 629 1126 489ZM479 705Q389 650
+372 555Q348 434 516 379L595 354L725 311Q820 367 840 460Q861 570 700 630L479 705Z" />
+<glyph unicode="&#xa8;" horiz-adv-x="937" d="M210 1362Q208 1416 246 1453T341 1493Q397 1495 438 1459T479 1368Q481 1315 443 1278T348 1238Q295 1236 254 1271T210 1362ZM683 1362Q681 1416 719 1453T813 1493Q866 1495 908 1460T953 1368Q953 1314 915 1277T821
+1237T724 1271T683 1362Z" />
+<glyph unicode="&#xa9;" horiz-adv-x="1568" d="M1089 597Q1079 447 988 363T744 282Q596 286 514 395T444 669L455 779Q474 963 577 1070T836 1176Q981 1172 1061 1089T1139 859L987 861Q1000 1038 841 1042Q748 1044 686 973T609 777T594 632T595 584Q598 511
+635 466T737 417Q906 410 937 596L1089 597ZM235 722Q213 563 264 420T429 191T692 104Q853 100 998 182T1245 413T1371 736Q1393 895 1342 1037T1178 1263T914 1351Q752 1355 603 1270T355 1036T235 722ZM114 722Q131 874 200 1014T380 1262T625 1424T902 1476Q1085
+1472 1227 1374T1441 1102T1493 735Q1472 546 1373 379T1118 107Q924 -24 705 -20Q520 -16 379 83T165 357T114 722Z" />
+<glyph unicode="&#xaa;" horiz-adv-x="892" d="M619 702L616 774Q527 691 415 691Q310 691 249 751T187 911Q189 1026 281 1088T542 1151L648 1149L660 1204L664 1250Q661 1325 583 1328Q463 1332 436 1229L263 1242Q270 1352 357 1415T577 1477Q698 1475 770
+1400T832 1200L779 853L775 794Q774 750 783 702H619ZM448 833Q517 833 609 896L637 1033H557Q473 1030 422 999T362 915Q355 877 377 855T448 833Z" />
+<glyph unicode="&#xab;" horiz-adv-x="1002" d="M534 508L696 126L529 125L316 513L317 534L647 924H850L534 508ZM651 508L813 126L646 125L433 513L434 534L764 924H967L651 508Z" />
+<glyph unicode="&#xac;" horiz-adv-x="1105" d="M894 374H698L744 634H127L157 805H969L894 374Z" />
+<glyph unicode="&#xad;" horiz-adv-x="780" d="M638 507H90L130 740H679L638 507Z" />
+<glyph unicode="&#xae;" horiz-adv-x="1568" d="M114 722Q131 874 200 1014T380 1262T625 1424T902 1476Q1085 1472 1227 1374T1441 1102T1493 735Q1472 546 1373 379T1118 107Q924 -24 705 -20Q520 -16 379 83T165 357T114 722ZM235 722Q213 562 265 418T429
+191T692 104Q849 100 996 182T1245 412T1371 736Q1393 895 1342 1037T1178 1263T914 1351Q752 1355 603 1270T355 1036T235 722ZM653 653L600 316H452L585 1166L841 1165Q983 1160 1059 1092T1131 910Q1128 852 1095 807T994 723Q1062 674 1068 574Q1069 545 1063
+485T1058 396L1062 333L1061 314L913 315Q907 352 909 388Q910 431 921 516Q928 579 907 613T820 651L653 653ZM674 787L790 786Q872 789 924 821T987 909Q998 967 970 998T853 1032L712 1033L674 787Z" />
+<glyph unicode="&#xaf;" horiz-adv-x="1005" d="M960 1290H250L277 1457H987L960 1290Z" />
+<glyph unicode="&#xb0;" horiz-adv-x="781" d="M228 1191Q230 1308 314 1393T510 1477Q614 1475 683 1395T751 1209Q749 1093 667 1009T473 927Q368 929 297 1006T228 1191ZM371 1193Q365 1148 391 1112T465 1076Q516 1076 558 1113T609 1207Q615 1256 590 1292T518
+1329Q467 1329 424 1289T371 1193Z" />
+<glyph unicode="&#xb1;" horiz-adv-x="1077" d="M711 942H1030L992 701H674L617 337H369L426 701H101L139 942H464L518 1285H765L711 942ZM855 1H15L52 236H892L855 1Z" />
+<glyph unicode="&#xb2;" horiz-adv-x="750" d="M684 667H81L107 817L442 1087Q537 1166 549 1228Q557 1264 539 1285T485 1306Q388 1306 364 1194L160 1192Q168 1318 256 1394T473 1469Q604 1467 680 1403T755 1227Q750 1089 586 972L508 917L378 833L714 831L684 667Z" />
+<glyph unicode="&#xb3;" horiz-adv-x="750" d="M350 1136H431Q485 1138 521 1162T567 1231Q572 1265 549 1283T490 1302Q410 1302 382 1242L174 1241Q181 1347 263 1408T476 1467Q612 1464 690 1406T766 1248Q763 1130 608 1065Q666 1045 695 1000T723 894Q721
+783 626 718T386 655Q257 657 178 724T96 904L291 903Q298 821 393 821Q445 821 482 846T528 914Q544 994 434 999H340L350 1136Z" />
+<glyph unicode="&#xb4;" horiz-adv-x="669" d="M426 1536H753L435 1226H186L426 1536Z" />
+<glyph unicode="&#xb5;" horiz-adv-x="1233" d="M500 1082L397 460L391 377Q384 217 516 214Q649 210 737 318L872 1082H1154L966 0H718L726 69Q620 -24 496 -22Q403 -22 327 26L240 -416H-42L218 1082H500Z" />
+<glyph unicode="&#xb6;" horiz-adv-x="983" d="M535 0L625 520L573 521Q362 524 247 651T149 980Q168 1194 317 1325T689 1457L1002 1456L749 0H535Z" />
+<glyph unicode="&#xb7;" horiz-adv-x="608" d="M154 692Q152 759 197 805T310 853Q375 855 422 812T472 702Q474 637 429 590T314 542Q250 540 203 581T154 692Z" />
+<glyph unicode="&#xb8;" horiz-adv-x="542" d="M222 9L202 -55Q264 -68 295 -111T327 -217Q327 -332 231 -396T-45 -465L-37 -295Q74 -290 91 -207Q103 -146 5 -139L-30 -136L13 6L222 9Z" />
+<glyph unicode="&#xb9;" horiz-adv-x="750" d="M525 669H325L420 1212L229 1172L259 1340L628 1455L653 1456L525 669Z" />
+<glyph unicode="&#xba;" horiz-adv-x="918" d="M581 1477Q729 1473 810 1372T881 1121L875 1055Q859 884 755 785T501 689Q357 693 273 792T200 1044L205 1107Q218 1274 322 1377T581 1477ZM372 1041Q369 1005 372 969Q377 908 410 872T500 834Q576 831 631 887T701
+1044L712 1145L711 1194Q696 1326 583 1329Q506 1332 451 1277T381 1121L372 1041Z" />
+<glyph unicode="&#xbb;" horiz-adv-x="1002" d="M311 923L524 536L523 514L193 124H-10L305 539L144 922L311 923ZM692 923L905 536L904 514L574 124H371L686 539L525 922L692 923Z" />
+<glyph unicode="&#xbc;" horiz-adv-x="1436" d="M490 664H290L385 1207L194 1167L224 1335L593 1450L618 1451L490 664ZM374 119L235 204L1113 1328L1250 1245L374 119ZM1208 324L1304 325L1273 159H1188L1159 0H959L987 159H652L666 309L1085 788L1288 790L1208
+324ZM866 328L1018 325L1062 541L1044 516L866 328Z" />
+<glyph unicode="&#xbd;" horiz-adv-x="1522" d="M333 119L194 204L1072 1328L1209 1245L333 119ZM474 670H274L369 1213L178 1173L208 1341L577 1456L602 1457L474 670ZM1329 0H726L752 150L1087 420Q1182 499 1194 561Q1202 597 1184 618T1130 639Q1033 639 1009
+527L805 525Q813 651 901 727T1118 802Q1249 800 1325 736T1400 560Q1395 422 1231 305L1153 250L1023 166L1359 164L1329 0Z" />
+<glyph unicode="&#xbe;" horiz-adv-x="1615" d="M530 119L391 204L1269 1328L1406 1245L530 119ZM1362 324L1458 325L1427 159H1342L1313 0H1113L1141 159H806L820 309L1239 788L1442 790L1362 324ZM1020 328L1172 325L1216 541L1198 516L1020 328ZM395 1137H476Q530
+1139 566 1163T612 1232Q617 1266 594 1284T535 1303Q455 1303 427 1243L219 1242Q226 1348 308 1409T521 1468Q657 1465 735 1407T811 1249Q808 1131 653 1066Q711 1046 740 1001T768 895Q766 784 671 719T431 656Q302 658 223 725T141 905L336 904Q343 822 438
+822Q490 822 527 847T573 915Q589 995 479 1000H385L395 1137Z" />
+<glyph unicode="&#xbf;" horiz-adv-x="998" d="M648 644Q640 522 598 433T470 271L402 214Q275 108 258 -2Q249 -66 275 -108T370 -152Q441 -154 490 -110T559 21L841 23Q828 -168 696 -278T360 -385Q174 -383 66 -281T-31 -2Q-20 159 148 309L293 430Q379 509
+402 643L648 644ZM747 954Q749 885 703 840T592 795Q528 793 481 834T432 944Q430 1013 476 1058T587 1103Q651 1105 698 1064T747 954Z" />
+<glyph unicode="&#xc0;" horiz-adv-x="1347" d="M877 300H369L219 0H-104L674 1456H945L1222 0H923L877 300ZM489 543H840L758 1085L489 543ZM966 1536L755 1537L532 1844L823 1846L966 1536Z" />
+<glyph unicode="&#xc1;" horiz-adv-x="1347" d="M877 300H369L219 0H-104L674 1456H945L1222 0H923L877 300ZM489 543H840L758 1085L489 543ZM930 1846H1257L939 1536H690L930 1846Z" />
+<glyph unicode="&#xc2;" horiz-adv-x="1347" d="M877 300H369L219 0H-104L674 1456H945L1222 0H923L877 300ZM489 543H840L758 1085L489 543ZM1214 1570V1549L998 1554L875 1698L700 1555L471 1551V1574L792 1846L953 1847L1214 1570Z" />
+<glyph unicode="&#xc3;" horiz-adv-x="1347" d="M877 300H369L219 0H-104L674 1456H945L1222 0H923L877 300ZM489 543H840L758 1085L489 543ZM1236 1834Q1229 1716 1166 1640T1005 1563Q977 1563 952 1571T875 1608T799 1646T744 1654Q668 1651 643 1556L477 1566Q484
+1682 550 1760T713 1836Q739 1836 762 1829T841 1791T921 1753T974 1746Q1051 1749 1075 1844L1236 1834Z" />
+<glyph unicode="&#xc4;" horiz-adv-x="1347" d="M877 300H369L219 0H-104L674 1456H945L1222 0H923L877 300ZM489 543H840L758 1085L489 543ZM485 1672Q483 1726 521 1763T616 1803Q672 1805 713 1769T754 1678Q756 1625 718 1588T623 1548Q570 1546 529 1581T485
+1672ZM958 1672Q956 1726 994 1763T1088 1803Q1141 1805 1183 1770T1228 1678Q1228 1624 1190 1587T1096 1547T999 1581T958 1672Z" />
+<glyph unicode="&#xc5;" horiz-adv-x="1347" d="M877 300H369L219 0H-104L674 1456H945L1222 0H923L877 300ZM489 543H840L758 1085L489 543ZM651 1723Q651 1813 717 1874T874 1936Q961 1936 1022 1878T1084 1737Q1086 1651 1021 1590T861 1528Q775 1528 714 1584T651
+1723ZM764 1723Q757 1683 779 1653T844 1623Q891 1623 927 1655T972 1737Q978 1780 955 1809T892 1839Q845 1839 808 1805T764 1723Z" />
+<glyph unicode="&#xc6;" horiz-adv-x="1877" d="M1706 0H835L879 333H456L236 0H-111L904 1456H1900L1858 1220H1278L1231 865H1719L1677 629H1200L1147 235H1747L1706 0ZM615 582L913 580L986 1132L615 582Z" />
+<glyph unicode="&#xc7;" horiz-adv-x="1310" d="M1208 486Q1191 335 1105 219T881 40T583 -20Q439 -17 332 46T164 230T94 508Q87 631 119 814T235 1139T434 1364Q596 1480 804 1476Q1030 1472 1162 1337T1308 960L1016 961Q1016 1099 961 1163T790 1231Q640 1236
+544 1124T414 797Q382 588 386 484Q391 352 445 290T596 224Q730 219 810 287T917 484L1208 486ZM660 8L640 -56Q702 -69 733 -112T765 -218Q765 -333 669 -397T393 -466L401 -296Q512 -291 529 -208Q541 -147 443 -140L408 -137L451 5L660 8Z" />
+<glyph unicode="&#xc8;" horiz-adv-x="1127" d="M982 631H424L356 241H1012L970 0H21L274 1456H1221L1178 1213H525L464 866H1024L982 631ZM911 1539L700 1540L477 1847L768 1849L911 1539Z" />
+<glyph unicode="&#xc9;" horiz-adv-x="1127" d="M982 631H424L356 241H1012L970 0H21L274 1456H1221L1178 1213H525L464 866H1024L982 631ZM875 1849H1202L884 1539H635L875 1849Z" />
+<glyph unicode="&#xca;" horiz-adv-x="1127" d="M982 631H424L356 241H1012L970 0H21L274 1456H1221L1178 1213H525L464 866H1024L982 631ZM1159 1573V1552L943 1557L820 1701L645 1558L416 1554V1577L737 1849L898 1850L1159 1573Z" />
+<glyph unicode="&#xcb;" horiz-adv-x="1127" d="M982 631H424L356 241H1012L970 0H21L274 1456H1221L1178 1213H525L464 866H1024L982 631ZM430 1675Q428 1729 466 1766T561 1806Q617 1808 658 1772T699 1681Q701 1628 663 1591T568 1551Q515 1549 474 1584T430
+1675ZM903 1675Q901 1729 939 1766T1033 1806Q1086 1808 1128 1773T1173 1681Q1173 1627 1135 1590T1041 1550T944 1584T903 1675Z" />
+<glyph unicode="&#xcc;" horiz-adv-x="589" d="M333 0H40L292 1456H585L333 0ZM585 1539L374 1540L151 1847L442 1849L585 1539Z" />
+<glyph unicode="&#xcd;" horiz-adv-x="589" d="M333 0H40L292 1456H585L333 0ZM548 1849H875L557 1539H308L548 1849Z" />
+<glyph unicode="&#xce;" horiz-adv-x="589" d="M333 0H40L292 1456H585L333 0ZM833 1573V1552L617 1557L494 1701L319 1558L90 1554V1577L411 1849L572 1850L833 1573Z" />
+<glyph unicode="&#xcf;" horiz-adv-x="589" d="M333 0H40L292 1456H585L333 0ZM104 1675Q102 1729 140 1766T235 1806Q291 1808 332 1772T373 1681Q375 1628 337 1591T242 1551Q189 1549 148 1584T104 1675ZM577 1675Q575 1729 613 1766T707 1806Q760 1808 802
+1773T847 1681Q847 1627 809 1590T715 1550T618 1584T577 1675Z" />
+<glyph unicode="&#xd0;" horiz-adv-x="1331" d="M51 0L162 642H-13L20 825H194L304 1456L720 1455Q867 1453 985 1389T1177 1206T1265 938Q1273 851 1263 760L1256 707Q1212 387 1005 194T501 0H51ZM667 642H455L386 241L508 240Q710 240 832 388T973 835L975
+867Q978 1032 912 1120T715 1212L555 1213L487 825H700L667 642Z" />
+<glyph unicode="&#xd1;" horiz-adv-x="1413" d="M1172 0H888L483 971L314 0H21L274 1456H557L963 483L1132 1456H1424L1172 0ZM1269 1834Q1262 1716 1199 1640T1038 1563Q1010 1563 985 1571T908 1608T832 1646T777 1654Q701 1651 676 1556L510 1566Q517 1682
+583 1760T746 1836Q772 1836 795 1829T874 1791T954 1753T1007 1746Q1084 1749 1108 1844L1269 1834Z" />
+<glyph unicode="&#xd2;" horiz-adv-x="1382" d="M606 -20Q461 -17 351 48T176 237T101 521Q90 685 136 871T284 1198T523 1409T821 1476Q968 1473 1078 1407T1251 1216T1323 933Q1333 757 1285 571T1136 249T900 45T606 -20ZM1021 768L1029 863Q1039 1041 982
+1133T807 1229Q624 1235 517 1067T395 597Q385 420 442 325T619 225Q776 218 879 347T1014 714L1021 768ZM980 1536L769 1537L546 1844L837 1846L980 1536Z" />
+<glyph unicode="&#xd3;" horiz-adv-x="1382" d="M606 -20Q461 -17 351 48T176 237T101 521Q90 685 136 871T284 1198T523 1409T821 1476Q968 1473 1078 1407T1251 1216T1323 933Q1333 757 1285 571T1136 249T900 45T606 -20ZM1021 768L1029 863Q1039 1041 982
+1133T807 1229Q624 1235 517 1067T395 597Q385 420 442 325T619 225Q776 218 879 347T1014 714L1021 768ZM944 1846H1271L953 1536H704L944 1846Z" />
+<glyph unicode="&#xd4;" horiz-adv-x="1382" d="M606 -20Q461 -17 351 48T176 237T101 521Q90 685 136 871T284 1198T523 1409T821 1476Q968 1473 1078 1407T1251 1216T1323 933Q1333 757 1285 571T1136 249T900 45T606 -20ZM1021 768L1029 863Q1039 1041 982
+1133T807 1229Q624 1235 517 1067T395 597Q385 420 442 325T619 225Q776 218 879 347T1014 714L1021 768ZM1228 1570V1549L1012 1554L889 1698L714 1555L485 1551V1574L806 1846L967 1847L1228 1570Z" />
+<glyph unicode="&#xd5;" horiz-adv-x="1382" d="M606 -20Q461 -17 351 48T176 237T101 521Q90 685 136 871T284 1198T523 1409T821 1476Q968 1473 1078 1407T1251 1216T1323 933Q1333 757 1285 571T1136 249T900 45T606 -20ZM1021 768L1029 863Q1039 1041 982
+1133T807 1229Q624 1235 517 1067T395 597Q385 420 442 325T619 225Q776 218 879 347T1014 714L1021 768ZM1250 1834Q1243 1716 1180 1640T1019 1563Q991 1563 966 1571T889 1608T813 1646T758 1654Q682 1651 657 1556L491 1566Q498 1682 564 1760T727 1836Q753
+1836 776 1829T855 1791T935 1753T988 1746Q1065 1749 1089 1844L1250 1834Z" />
+<glyph unicode="&#xd6;" horiz-adv-x="1382" d="M606 -20Q461 -17 351 48T176 237T101 521Q90 685 136 871T284 1198T523 1409T821 1476Q968 1473 1078 1407T1251 1216T1323 933Q1333 757 1285 571T1136 249T900 45T606 -20ZM1021 768L1029 863Q1039 1041 982
+1133T807 1229Q624 1235 517 1067T395 597Q385 420 442 325T619 225Q776 218 879 347T1014 714L1021 768ZM499 1672Q497 1726 535 1763T630 1803Q686 1805 727 1769T768 1678Q770 1625 732 1588T637 1548Q584 1546 543 1581T499 1672ZM972 1672Q970 1726 1008 1763T1102
+1803Q1155 1805 1197 1770T1242 1678Q1242 1624 1204 1587T1110 1547T1013 1581T972 1672Z" />
+<glyph unicode="&#xd7;" horiz-adv-x="1065" d="M25 386L378 699L134 1012L314 1167L556 857L904 1168L1052 986L699 672L943 360L764 204L521 514L173 205L25 386Z" />
+<glyph unicode="&#xd8;" horiz-adv-x="1379" d="M606 -21Q451 -19 327 51L215 -95L12 -94L206 150Q68 382 107 695L115 753Q145 967 244 1135T493 1391T824 1477Q993 1473 1118 1393L1217 1518L1419 1517L1236 1288Q1356 1056 1320 759L1315 719Q1273 386 1081
+181T606 -21ZM387 552Q382 480 390 408L965 1172Q914 1226 813 1231Q655 1236 551 1109T411 749Q392 621 387 552ZM1044 1020L479 268Q530 228 618 223Q765 218 867 331T1010 660T1044 1020Z" />
+<glyph unicode="&#xd9;" horiz-adv-x="1318" d="M1349 1456L1185 496Q1151 255 985 115T573 -21Q419 -18 306 46T138 228T101 495L264 1456H557L394 494Q387 438 393 389Q413 227 586 221Q710 217 789 289T891 495L1055 1456H1349ZM945 1536L734 1537L511 1844L802
+1846L945 1536Z" />
+<glyph unicode="&#xda;" horiz-adv-x="1318" d="M1349 1456L1185 496Q1151 255 985 115T573 -21Q419 -18 306 46T138 228T101 495L264 1456H557L394 494Q387 438 393 389Q413 227 586 221Q710 217 789 289T891 495L1055 1456H1349ZM909 1846H1236L918 1536H669L909 1846Z" />
+<glyph unicode="&#xdb;" horiz-adv-x="1318" d="M1349 1456L1185 496Q1151 255 985 115T573 -21Q419 -18 306 46T138 228T101 495L264 1456H557L394 494Q387 438 393 389Q413 227 586 221Q710 217 789 289T891 495L1055 1456H1349ZM1193 1570V1549L977 1554L854
+1698L679 1555L450 1551V1574L771 1846L932 1847L1193 1570Z" />
+<glyph unicode="&#xdc;" horiz-adv-x="1318" d="M1349 1456L1185 496Q1151 255 985 115T573 -21Q419 -18 306 46T138 228T101 495L264 1456H557L394 494Q387 438 393 389Q413 227 586 221Q710 217 789 289T891 495L1055 1456H1349ZM464 1672Q462 1726 500 1763T595
+1803Q651 1805 692 1769T733 1678Q735 1625 697 1588T602 1548Q549 1546 508 1581T464 1672ZM937 1672Q935 1726 973 1763T1067 1803Q1120 1805 1162 1770T1207 1678Q1207 1624 1169 1587T1075 1547T978 1581T937 1672Z" />
+<glyph unicode="&#xdd;" horiz-adv-x="1238" d="M640 802L1047 1456H1383L747 512L659 0H361L456 545L154 1455L463 1456L640 802ZM875 1846H1202L884 1536H635L875 1846Z" />
+<glyph unicode="&#xde;" horiz-adv-x="1219" d="M559 1456L512 1189L689 1188Q923 1187 1054 1066T1170 746Q1159 605 1082 501T876 342T590 286L357 287L306 0H24L277 1456H559ZM473 956L397 520L595 519Q708 519 789 578T888 744Q902 839 852 895T705 955L473 956Z" />
+<glyph unicode="&#xdf;" horiz-adv-x="1263" d="M308 0H26L214 1101Q243 1319 382 1442T734 1559Q908 1555 1009 1455T1099 1197Q1096 1151 1080 1111T1019 995T961 889T941 821Q933 775 953 727T1034 604T1120 473T1145 363Q1136 184 1006 81T670 -21Q504 -19
+391 38L467 265Q556 210 672 212Q744 212 799 250T867 357Q875 405 854 453T766 576T674 712Q654 758 657 808Q660 853 676 892T734 1002T792 1109T812 1184Q820 1246 790 1287T696 1331Q614 1334 563 1275T495 1098L308 0Z" />
+<glyph unicode="&#xe0;" horiz-adv-x="1075" d="M629 0Q616 41 618 98Q496 -24 342 -20Q200 -18 107 72T19 296Q26 473 167 567T547 662L679 660L693 725Q699 758 696 788Q691 835 661 861T580 889Q514 891 468 857T409 757L126 756Q133 911 268 1007T603 1102Q787
+1098 891 993T978 721L895 203L890 139Q888 68 907 19L906 0H629ZM412 199Q534 195 625 305L660 492L562 493Q406 489 337 398Q312 365 306 317Q298 263 328 232T412 199ZM776 1226L565 1227L342 1534L633 1536L776 1226Z" />
+<glyph unicode="&#xe1;" horiz-adv-x="1075" d="M629 0Q616 41 618 98Q496 -24 342 -20Q200 -18 107 72T19 296Q26 473 167 567T547 662L679 660L693 725Q699 758 696 788Q691 835 661 861T580 889Q514 891 468 857T409 757L126 756Q133 911 268 1007T603 1102Q787
+1098 891 993T978 721L895 203L890 139Q888 68 907 19L906 0H629ZM412 199Q534 195 625 305L660 492L562 493Q406 489 337 398Q312 365 306 317Q298 263 328 232T412 199ZM740 1536H1067L749 1226H500L740 1536Z" />
+<glyph unicode="&#xe2;" horiz-adv-x="1075" d="M629 0Q616 41 618 98Q496 -24 342 -20Q200 -18 107 72T19 296Q26 473 167 567T547 662L679 660L693 725Q699 758 696 788Q691 835 661 861T580 889Q514 891 468 857T409 757L126 756Q133 911 268 1007T603 1102Q787
+1098 891 993T978 721L895 203L890 139Q888 68 907 19L906 0H629ZM412 199Q534 195 625 305L660 492L562 493Q406 489 337 398Q312 365 306 317Q298 263 328 232T412 199ZM1024 1260V1239L808 1244L685 1388L510 1245L281 1241V1264L602 1536L763 1537L1024 1260Z"
+/>
+<glyph unicode="&#xe3;" horiz-adv-x="1075" d="M629 0Q616 41 618 98Q496 -24 342 -20Q200 -18 107 72T19 296Q26 473 167 567T547 662L679 660L693 725Q699 758 696 788Q691 835 661 861T580 889Q514 891 468 857T409 757L126 756Q133 911 268 1007T603 1102Q787
+1098 891 993T978 721L895 203L890 139Q888 68 907 19L906 0H629ZM412 199Q534 195 625 305L660 492L562 493Q406 489 337 398Q312 365 306 317Q298 263 328 232T412 199ZM1046 1781Q1039 1663 976 1587T815 1510Q787 1510 762 1518T685 1555T609 1593T554 1601Q478
+1598 453 1503L287 1513Q294 1629 360 1707T523 1783Q549 1783 572 1776T651 1738T731 1700T784 1693Q861 1696 885 1791L1046 1781Z" />
+<glyph unicode="&#xe4;" horiz-adv-x="1075" d="M629 0Q616 41 618 98Q496 -24 342 -20Q200 -18 107 72T19 296Q26 473 167 567T547 662L679 660L693 725Q699 758 696 788Q691 835 661 861T580 889Q514 891 468 857T409 757L126 756Q133 911 268 1007T603 1102Q787
+1098 891 993T978 721L895 203L890 139Q888 68 907 19L906 0H629ZM412 199Q534 195 625 305L660 492L562 493Q406 489 337 398Q312 365 306 317Q298 263 328 232T412 199ZM295 1362Q293 1416 331 1453T426 1493Q482 1495 523 1459T564 1368Q566 1315 528 1278T433
+1238Q380 1236 339 1271T295 1362ZM768 1362Q766 1416 804 1453T898 1493Q951 1495 993 1460T1038 1368Q1038 1314 1000 1277T906 1237T809 1271T768 1362Z" />
+<glyph unicode="&#xe5;" horiz-adv-x="1075" d="M629 0Q616 41 618 98Q496 -24 342 -20Q200 -18 107 72T19 296Q26 473 167 567T547 662L679 660L693 725Q699 758 696 788Q691 835 661 861T580 889Q514 891 468 857T409 757L126 756Q133 911 268 1007T603 1102Q787
+1098 891 993T978 721L895 203L890 139Q888 68 907 19L906 0H629ZM412 199Q534 195 625 305L660 492L562 493Q406 489 337 398Q312 365 306 317Q298 263 328 232T412 199ZM461 1413Q461 1503 527 1564T684 1626Q771 1626 832 1568T894 1427Q896 1341 831 1280T671
+1218Q585 1218 524 1274T461 1413ZM574 1413Q567 1373 589 1343T654 1313Q701 1313 737 1345T782 1427Q788 1470 765 1499T702 1529Q655 1529 618 1495T574 1413Z" />
+<glyph unicode="&#xe6;" horiz-adv-x="1687" d="M1123 -20Q880 -15 771 126Q601 -24 367 -20Q261 -19 178 22T52 137T15 311Q22 475 159 562T537 650L704 648L717 708Q722 741 719 770Q705 866 604 869Q534 871 481 839T415 745L134 763Q142 923 282 1015T620
+1103Q824 1098 922 993Q1073 1105 1253 1101Q1445 1097 1548 962T1628 612L1603 450H961Q951 342 1003 279T1159 214Q1240 212 1313 234T1458 290L1519 97Q1384 -20 1123 -20ZM426 191Q522 191 642 271L680 461L541 462Q442 459 376 417T299 307Q289 254 324 223T426
+191ZM1237 869Q1066 875 981 643H1350L1357 674Q1363 710 1361 745Q1354 863 1237 869Z" />
+<glyph unicode="&#xe7;" horiz-adv-x="1046" d="M477 212Q555 210 607 254T675 373L940 374Q933 260 869 169T697 27T470 -21Q273 -18 158 115T47 469L50 524L51 535Q78 799 229 953T602 1102Q785 1098 892 983T998 678H735Q735 765 697 815T583 869Q381 875 338
+574Q323 465 327 390Q337 215 477 212ZM544 8L524 -56Q586 -69 617 -112T649 -218Q649 -333 553 -397T277 -466L285 -296Q396 -291 413 -208Q425 -147 327 -140L292 -137L335 5L544 8Z" />
+<glyph unicode="&#xe8;" horiz-adv-x="1084" d="M517 -20Q375 -19 266 49T102 237T60 501L63 541Q78 699 155 831T353 1034T621 1102Q830 1098 937 949T1019 570L1003 447H340Q336 342 391 279T541 214Q695 210 811 333L940 173Q879 81 764 30T517 -20ZM607 869Q529
+871 469 820T360 643H748L754 669Q760 709 755 745Q745 803 706 835T607 869ZM757 1226L546 1227L323 1534L614 1536L757 1226Z" />
+<glyph unicode="&#xe9;" horiz-adv-x="1084" d="M517 -20Q375 -19 266 49T102 237T60 501L63 541Q78 699 155 831T353 1034T621 1102Q830 1098 937 949T1019 570L1003 447H340Q336 342 391 279T541 214Q695 210 811 333L940 173Q879 81 764 30T517 -20ZM607 869Q529
+871 469 820T360 643H748L754 669Q760 709 755 745Q745 803 706 835T607 869ZM721 1536H1048L730 1226H481L721 1536Z" />
+<glyph unicode="&#xea;" horiz-adv-x="1084" d="M517 -20Q375 -19 266 49T102 237T60 501L63 541Q78 699 155 831T353 1034T621 1102Q830 1098 937 949T1019 570L1003 447H340Q336 342 391 279T541 214Q695 210 811 333L940 173Q879 81 764 30T517 -20ZM607 869Q529
+871 469 820T360 643H748L754 669Q760 709 755 745Q745 803 706 835T607 869ZM1005 1260V1239L789 1244L666 1388L491 1245L262 1241V1264L583 1536L744 1537L1005 1260Z" />
+<glyph unicode="&#xeb;" horiz-adv-x="1084" d="M517 -20Q375 -19 266 49T102 237T60 501L63 541Q78 699 155 831T353 1034T621 1102Q830 1098 937 949T1019 570L1003 447H340Q336 342 391 279T541 214Q695 210 811 333L940 173Q879 81 764 30T517 -20ZM607 869Q529
+871 469 820T360 643H748L754 669Q760 709 755 745Q745 803 706 835T607 869ZM276 1362Q274 1416 312 1453T407 1493Q463 1495 504 1459T545 1368Q547 1315 509 1278T414 1238Q361 1236 320 1271T276 1362ZM749 1362Q747 1416 785 1453T879 1493Q932 1495 974 1460T1019
+1368Q1019 1314 981 1277T887 1237T790 1271T749 1362Z" />
+<glyph unicode="&#xec;" horiz-adv-x="554" d="M307 0H25L213 1082H495L307 0ZM767 1467L556 1468L333 1775L624 1777L767 1467Z" />
+<glyph unicode="&#xed;" horiz-adv-x="554" d="M307 0H25L213 1082H495L307 0ZM474 1777H801L483 1467H234L474 1777Z" />
+<glyph unicode="&#xee;" horiz-adv-x="554" d="M307 0H25L213 1082H495L307 0ZM759 1245V1224L543 1229L420 1373L245 1230L16 1226V1249L337 1521L498 1522L759 1245Z" />
+<glyph unicode="&#xef;" horiz-adv-x="554" d="M307 0H25L213 1082H495L307 0ZM30 1347Q28 1401 66 1438T161 1478Q217 1480 258 1444T299 1353Q301 1300 263 1263T168 1223Q115 1221 74 1256T30 1347ZM503 1347Q501 1401 539 1438T633 1478Q686 1480 728 1445T773
+1353Q773 1299 735 1262T641 1222T544 1256T503 1347Z" />
+<glyph unicode="&#xf0;" horiz-adv-x="1153" d="M948 1302Q1035 1147 1069 989T1082 653L1076 601Q1042 320 879 147T488 -21Q359 -18 258 44T104 218T64 460Q77 608 144 726T319 906T565 967Q694 963 802 889Q796 1029 710 1154L499 1031L437 1159L598 1248Q517
+1315 363 1357L471 1579Q694 1526 842 1399L1034 1511L1094 1382L948 1302ZM809 665Q782 706 732 727T621 748Q509 750 435 670T346 460Q334 351 377 283T506 211Q607 208 679 289T783 526L806 652L809 665Z" />
+<glyph unicode="&#xf1;" horiz-adv-x="1123" d="M449 1083L425 955Q555 1106 740 1102Q893 1099 966 990T1019 688L905 0H623L739 691Q744 730 741 762Q728 864 613 867Q502 871 414 764L279 0H-3L185 1082L449 1083ZM1069 1781Q1062 1663 999 1587T838 1510Q810
+1510 785 1518T708 1555T632 1593T577 1601Q501 1598 476 1503L310 1513Q317 1629 383 1707T546 1783Q572 1783 595 1776T674 1738T754 1700T807 1693Q884 1696 908 1791L1069 1781Z" />
+<glyph unicode="&#xf2;" horiz-adv-x="1133" d="M622 1102Q765 1100 868 1029T1020 832T1055 553Q1032 295 876 136T489 -20Q348 -18 245 52T93 248T58 524Q84 792 240 950T622 1102ZM337 421Q339 325 382 270T503 212Q633 208 707 331T776 656Q772 752 730 809T608
+869Q482 873 407 751T337 421ZM788 1226L577 1227L354 1534L645 1536L788 1226Z" />
+<glyph unicode="&#xf3;" horiz-adv-x="1133" d="M622 1102Q765 1100 868 1029T1020 832T1055 553Q1032 295 876 136T489 -20Q348 -18 245 52T93 248T58 524Q84 792 240 950T622 1102ZM337 421Q339 325 382 270T503 212Q633 208 707 331T776 656Q772 752 730 809T608
+869Q482 873 407 751T337 421ZM752 1536H1079L761 1226H512L752 1536Z" />
+<glyph unicode="&#xf4;" horiz-adv-x="1133" d="M622 1102Q765 1100 868 1029T1020 832T1055 553Q1032 295 876 136T489 -20Q348 -18 245 52T93 248T58 524Q84 792 240 950T622 1102ZM337 421Q339 325 382 270T503 212Q633 208 707 331T776 656Q772 752 730 809T608
+869Q482 873 407 751T337 421ZM1036 1260V1239L820 1244L697 1388L522 1245L293 1241V1264L614 1536L775 1537L1036 1260Z" />
+<glyph unicode="&#xf5;" horiz-adv-x="1133" d="M622 1102Q765 1100 868 1029T1020 832T1055 553Q1032 295 876 136T489 -20Q348 -18 245 52T93 248T58 524Q84 792 240 950T622 1102ZM337 421Q339 325 382 270T503 212Q633 208 707 331T776 656Q772 752 730 809T608
+869Q482 873 407 751T337 421ZM1058 1781Q1051 1663 988 1587T827 1510Q799 1510 774 1518T697 1555T621 1593T566 1601Q490 1598 465 1503L299 1513Q306 1629 372 1707T535 1783Q561 1783 584 1776T663 1738T743 1700T796 1693Q873 1696 897 1791L1058 1781Z"
+/>
+<glyph unicode="&#xf6;" horiz-adv-x="1133" d="M622 1102Q765 1100 868 1029T1020 832T1055 553Q1032 295 876 136T489 -20Q348 -18 245 52T93 248T58 524Q84 792 240 950T622 1102ZM337 421Q339 325 382 270T503 212Q633 208 707 331T776 656Q772 752 730 809T608
+869Q482 873 407 751T337 421ZM307 1362Q305 1416 343 1453T438 1493Q494 1495 535 1459T576 1368Q578 1315 540 1278T445 1238Q392 1236 351 1271T307 1362ZM780 1362Q778 1416 816 1453T910 1493Q963 1495 1005 1460T1050 1368Q1050 1314 1012 1277T918 1237T821
+1271T780 1362Z" />
+<glyph unicode="&#xf7;" horiz-adv-x="1143" d="M1054 571H55L95 801H1095L1054 571ZM487 1084Q485 1150 530 1196T644 1242Q711 1244 757 1202T805 1094T762 983T649 938Q581 936 535 977T487 1084ZM346 272Q344 338 389 384T503 430Q570 432 616 390T664 282T621
+171T508 126Q440 124 394 165T346 272Z" />
+<glyph unicode="&#xf8;" horiz-adv-x="1131" d="M55 545Q75 707 153 837T353 1037T627 1104Q718 1103 807 1072L907 1216L1081 1215L931 1001Q1045 867 1054 673Q1056 615 1048 532Q1028 370 951 243T750 46T475 -22Q388 -21 304 7L201 -142L27 -141L177 74Q58
+205 50 402Q47 459 55 545ZM320 423Q316 371 326 320L682 860Q650 872 616 872Q489 874 412 761T320 423ZM782 651Q785 699 778 749L425 218Q455 210 484 209Q592 207 666 289T768 532Q779 608 782 651Z" />
+<glyph unicode="&#xf9;" horiz-adv-x="1122" d="M673 112Q553 -23 375 -20Q219 -18 139 92T77 382L194 1082H476L357 379Q353 346 356 317Q366 217 467 214Q598 210 684 315L819 1082H1103L915 0H652L673 112ZM796 1226L585 1227L362 1534L653 1536L796 1226Z" />
+<glyph unicode="&#xfa;" horiz-adv-x="1122" d="M673 112Q553 -23 375 -20Q219 -18 139 92T77 382L194 1082H476L357 379Q353 346 356 317Q366 217 467 214Q598 210 684 315L819 1082H1103L915 0H652L673 112ZM760 1536H1087L769 1226H520L760 1536Z" />
+<glyph unicode="&#xfb;" horiz-adv-x="1122" d="M673 112Q553 -23 375 -20Q219 -18 139 92T77 382L194 1082H476L357 379Q353 346 356 317Q366 217 467 214Q598 210 684 315L819 1082H1103L915 0H652L673 112ZM1044 1260V1239L828 1244L705 1388L530 1245L301
+1241V1264L622 1536L783 1537L1044 1260Z" />
+<glyph unicode="&#xfc;" horiz-adv-x="1122" d="M673 112Q553 -23 375 -20Q219 -18 139 92T77 382L194 1082H476L357 379Q353 346 356 317Q366 217 467 214Q598 210 684 315L819 1082H1103L915 0H652L673 112ZM315 1362Q313 1416 351 1453T446 1493Q502 1495 543
+1459T584 1368Q586 1315 548 1278T453 1238Q400 1236 359 1271T315 1362ZM788 1362Q786 1416 824 1453T918 1493Q971 1495 1013 1460T1058 1368Q1058 1314 1020 1277T926 1237T829 1271T788 1362Z" />
+<glyph unicode="&#xfd;" horiz-adv-x="1007" d="M462 412L771 1082H1085L452 -163Q384 -306 293 -373T81 -440Q34 -440 -55 -419L-34 -199L5 -201Q143 -205 207 -100L269 15L92 1082H384L462 412ZM710 1536H1037L719 1226H470L710 1536Z" />
+<glyph unicode="&#xfe;" horiz-adv-x="1137" d="M1044 538Q1023 365 955 234T786 40T562 -21Q408 -17 314 95L216 -416H-67L271 1536H555L447 987Q560 1106 709 1102Q865 1100 954 990T1050 684Q1052 622 1044 538ZM764 559L770 655Q772 752 735 809T625 868Q505
+872 423 766L341 316Q378 215 500 213Q598 210 665 287T758 517L764 559Z" />
+<glyph unicode="&#xff;" horiz-adv-x="1007" d="M462 412L771 1082H1085L452 -163Q384 -306 293 -373T81 -440Q34 -440 -55 -419L-34 -199L5 -201Q143 -205 207 -100L269 15L92 1082H384L462 412ZM265 1362Q263 1416 301 1453T396 1493Q452 1495 493 1459T534
+1368Q536 1315 498 1278T403 1238Q350 1236 309 1271T265 1362ZM738 1362Q736 1416 774 1453T868 1493Q921 1495 963 1460T1008 1368Q1008 1314 970 1277T876 1237T779 1271T738 1362Z" />
+<glyph unicode="&#x2013;" horiz-adv-x="1265" d="M1409 596H402L451 832H1459L1409 596Z" />
+<glyph unicode="&#x2014;" horiz-adv-x="1526" d="M1702 596H360L425 832H1769L1702 596Z" />
+<glyph unicode="&#x2018;" horiz-adv-x="475" d="M428 1570L562 1488Q516 1420 480 1351T428 1199L402 1048H178L198 1180Q234 1412 428 1570Z" />
+<glyph unicode="&#x2019;" horiz-adv-x="466" d="M285 1007L142 1091Q245 1239 271 1351L304 1536H529L506 1388Q472 1167 285 1007Z" />
+<glyph unicode="&#x201a;" horiz-adv-x="503" d="M57 -305L-77 -223Q19 -79 44 38L78 229H310L288 86Q252 -146 57 -305Z" />
+<glyph unicode="&#x201c;" horiz-adv-x="816" d="M436 1570L570 1488Q524 1420 488 1351T436 1199L410 1048H186L206 1180Q242 1412 436 1570ZM768 1570L902 1488Q856 1420 820 1351T768 1199L742 1048H518L538 1180Q574 1412 768 1570Z" />
+<glyph unicode="&#x201d;" horiz-adv-x="822" d="M299 1007L156 1091Q259 1239 285 1351L318 1536H543L520 1388Q486 1167 299 1007ZM635 1007L492 1091Q595 1239 621 1351L654 1536H879L856 1388Q822 1167 635 1007Z" />
+<glyph unicode="&#x201e;" horiz-adv-x="810" d="M60 -325L-80 -244Q16 -96 44 38L84 263H316L285 72Q246 -166 60 -325ZM386 -325L245 -244Q350 -83 377 35L417 263H649L622 86Q584 -158 386 -325Z" />
+<glyph unicode="&#x2022;" horiz-adv-x="724" d="M399 997Q498 995 557 933T617 769L616 729Q610 624 543 560T374 498Q275 500 216 563T156 720L157 754Q160 862 226 929T399 997Z" />
+<glyph unicode="&#x2039;" horiz-adv-x="629" d="M308 508L470 126L303 125L90 513L91 534L421 924H624L308 508Z" />
+<glyph unicode="&#x203a;" horiz-adv-x="609" d="M306 923L519 536L518 514L188 124H-15L300 539L139 922L306 923Z" />
+</font>
+</defs>
+</svg>
diff --git a/assets/fonts/Roboto-700italic/Roboto-700italic.ttf b/assets/fonts/Roboto-700italic/Roboto-700italic.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..a20e38894c0bde3942fd06f1905b775e58fb62cc
GIT binary patch
literal 32808
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
E0}ar`vH$=8

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-700italic/Roboto-700italic.woff b/assets/fonts/Roboto-700italic/Roboto-700italic.woff
new file mode 100644
index 0000000000000000000000000000000000000000..7a0ae05e17a6e8f1b76133875dded5ff6aae52cb
GIT binary patch
literal 14708
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
Ip|7d^AL*HhJ^%m!

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-700italic/Roboto-700italic.woff2 b/assets/fonts/Roboto-700italic/Roboto-700italic.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..91d2aa6aaec159df2976305a5f8edbf115173f1d
GIT binary patch
literal 11492
zcmV<AEF05zPew8T0RR9104(GH4*&oF08+RB04$0C0ssI200000000000000000000
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
K`T|s(2m%1>d-dc1

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-italic/LICENSE.txt b/assets/fonts/Roboto-italic/LICENSE.txt
new file mode 100644
index 00000000..d6456956
--- /dev/null
+++ b/assets/fonts/Roboto-italic/LICENSE.txt
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/assets/fonts/Roboto-italic/Roboto-italic.eot b/assets/fonts/Roboto-italic/Roboto-italic.eot
new file mode 100644
index 0000000000000000000000000000000000000000..f2d020a8741fd850a1480bab13d0e11f6e914025
GIT binary patch
literal 17534
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

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-italic/Roboto-italic.svg b/assets/fonts/Roboto-italic/Roboto-italic.svg
new file mode 100644
index 00000000..738b8295
--- /dev/null
+++ b/assets/fonts/Roboto-italic/Roboto-italic.svg
@@ -0,0 +1,323 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg">
+<defs >
+<font id="Roboto" horiz-adv-x="1035" ><font-face
+    font-family="Roboto"
+    units-per-em="2048"
+    panose-1="2 0 0 0 0 0 0 0 0 0"
+    ascent="1900"
+    descent="-500"
+    alphabetic="0" />
+<glyph unicode=" " horiz-adv-x="502" />
+<glyph unicode="!" horiz-adv-x="521" d="M305 411H141L310 1456H500L305 411ZM67 90Q68 137 97 167T174 200Q220 202 250 172T280 96Q280 49 250 20T173 -12T97 15T67 90Z" />
+<glyph unicode="&quot;" horiz-adv-x="645" d="M393 1390L310 1042L200 1041L280 1544L416 1535L393 1390ZM655 1390L572 1042H462L542 1544L678 1535L655 1390Z" />
+<glyph unicode="#" horiz-adv-x="1233" d="M707 410H457L307 0H163L312 410H82L106 547H361L489 901H241L265 1040H539L691 1456H836L683 1040H934L1086 1456H1232L1079 1040H1275L1251 901H1029L901 547H1117L1093 410H852L703 0H557L707 410ZM505 547H755L884
+901H634L505 547Z" />
+<glyph unicode="$" horiz-adv-x="1126" d="M801 382Q811 468 758 532T579 644T377 754Q229 875 243 1071Q254 1235 361 1342T646 1473L685 1692H831L791 1470Q939 1441 1011 1321T1069 1008H890Q898 1155 847 1233T695 1315Q582 1317 509 1252T423 1075Q414 989
+460 927T644 811T852 697T955 560T981 384Q968 213 854 108T550 -17L516 -208H371L406 -15Q242 9 158 126T85 429H266Q255 298 313 220T490 140Q617 138 702 204T801 382Z" />
+<glyph unicode="%" horiz-adv-x="1465" d="M525 1478Q646 1474 717 1390T781 1176L775 1099Q760 965 670 880T454 799Q333 801 260 887T195 1099L201 1163Q214 1307 305 1393T525 1478ZM330 1097Q325 1016 359 969T458 919Q526 917 576 967T638 1099L647 1177Q654
+1253 621 1304T521 1357Q452 1359 401 1308T339 1176L330 1097ZM1070 658Q1194 654 1265 569T1328 357L1322 290Q1309 149 1219 62T1000 -22Q880 -20 807 65T741 279L747 347Q760 486 849 573T1070 658ZM876 277Q871 197 904 149T1004 98Q1074 96 1123 147T1184
+279L1193 358Q1200 433 1167 484T1067 537Q996 539 946 488T885 357L876 277ZM360 112L261 184L1142 1312L1241 1241L360 112Z" />
+<glyph unicode="&amp;" horiz-adv-x="1245" d="M71 384Q86 570 293 716L407 792L364 869Q292 1001 300 1114Q312 1279 420 1379T692 1476Q827 1474 915 1389T995 1176Q986 1004 782 861L635 763L884 382Q975 517 998 672H1159Q1132 417 978 245L1135 0H933L860
+113Q686 -23 477 -19Q288 -17 173 95T71 384ZM483 131Q617 128 767 244L496 668L453 638Q274 514 255 383Q240 275 303 204T483 131ZM478 1121Q470 1037 527 936L554 889L707 992Q814 1072 825 1177Q831 1241 790 1283T681 1325Q598 1325 542 1265T478 1121Z" />
+<glyph unicode="&apos;" horiz-adv-x="356" d="M374 1418L298 1057H170L247 1536H393L374 1418Z" />
+<glyph unicode="(" horiz-adv-x="689" d="M133 587Q166 818 255 1037T475 1410T765 1644L792 1520Q635 1403 523 1215T349 767T290 255Q290 48 343 -109T498 -358L453 -470Q286 -354 198 -127T117 393Q119 489 131 576L133 587Z" />
+<glyph unicode=")" horiz-adv-x="701" d="M547 585Q512 341 420 124T200 -243T-85 -471L-113 -356Q230 -98 345 473Q391 703 389 916Q384 1345 181 1531L228 1643Q340 1565 417 1436T531 1135T564 779Q561 682 549 596L547 585Z" />
+<glyph unicode="*" horiz-adv-x="866" d="M384 987L107 1077L175 1221L453 1108L504 1456H654L584 1112L887 1220L906 1061L591 970L738 695L610 607L479 897L257 617L143 715L384 987Z" />
+<glyph unicode="+" horiz-adv-x="1136" d="M682 781H1076L1045 606H652L572 146H390L470 606H76L107 781H500L574 1206H756L682 781Z" />
+<glyph unicode="," horiz-adv-x="400" d="M-9 -291L-113 -216Q3 -73 31 68L57 219H234L213 84Q177 -144 -9 -291Z" />
+<glyph unicode="-" horiz-adv-x="558" d="M500 543H25L52 694H527L500 543Z" />
+<glyph unicode="." horiz-adv-x="533" d="M164 210Q213 211 245 180T276 100T243 21T163 -12T84 15T53 94T84 175T164 210Z" />
+<glyph unicode="/" horiz-adv-x="829" d="M51 -125H-113L751 1456H914L51 -125Z" />
+<glyph unicode="0" horiz-adv-x="1126" d="M472 -20Q288 -16 196 110T112 475Q114 549 123 621L159 864Q207 1175 342 1328T698 1476Q884 1472 975 1349T1060 990Q1057 915 1048 843L1013 608Q960 279 826 127T472 -20ZM873 876Q887 997 886 1064Q881 1318 689
+1325Q549 1330 463 1222T342 881L299 591Q285 475 286 402Q291 137 482 130Q615 124 701 228T825 558L873 876Z" />
+<glyph unicode="1" horiz-adv-x="1126" d="M604 0H422L636 1228L249 1092L280 1268L820 1463H852L604 0Z" />
+<glyph unicode="2" horiz-adv-x="1126" d="M950 0H23L45 141L582 663L680 760Q849 929 867 1072Q880 1182 824 1251T666 1325Q535 1329 447 1249T340 1028L161 1027Q174 1161 243 1264T426 1423T673 1476Q854 1472 960 1367T1052 1093Q1035 901 831 689L739 596L271
+151H974L950 0Z" />
+<glyph unicode="3" horiz-adv-x="1126" d="M416 818L536 817Q668 817 758 886T862 1075Q875 1191 819 1257T656 1326Q542 1328 463 1260T365 1075L186 1074Q203 1254 339 1366T665 1477Q848 1473 952 1363T1043 1071Q1034 968 964 883T770 742Q869 702 918 616T959
+413Q943 216 803 96T461 -20Q274 -16 163 96T60 385L241 384Q235 272 295 204T469 131Q597 127 682 204T779 410Q790 529 725 595T531 666L392 667L416 818Z" />
+<glyph unicode="4" horiz-adv-x="1126" d="M857 489H1053L1026 338H831L772 0H590L649 338H5L26 457L826 1456H1024L857 489ZM243 489H675L805 1205L776 1163L243 489Z" />
+<glyph unicode="5" horiz-adv-x="1126" d="M219 733L404 1456H1130L1103 1285H533L421 887Q531 952 659 950Q840 948 937 814T1016 471Q997 247 857 111T508 -21Q334 -19 227 91T114 384H283Q290 264 351 198T516 130Q644 126 731 221T835 470Q849 605 788 692T609
+784Q536 786 480 762T367 693L219 733Z" />
+<glyph unicode="6" horiz-adv-x="1126" d="M955 1458L939 1301H904Q704 1297 562 1177T342 823Q478 959 660 955Q775 953 857 892T977 722T1004 482Q984 261 846 118T505 -20Q343 -16 239 99T120 407Q112 512 145 691Q214 1064 417 1261T935 1458H955ZM621 802Q524
+804 439 746T308 598L301 531L299 450Q299 368 324 291T398 174T513 133Q634 128 720 223T824 473Q834 563 813 638T744 756T621 802Z" />
+<glyph unicode="7" horiz-adv-x="1126" d="M1146 1342L355 0H157L944 1304H184L208 1456H1164L1146 1342Z" />
+<glyph unicode="8" horiz-adv-x="1126" d="M1064 1085Q1055 976 987 889T800 744Q894 690 939 600T977 402Q962 209 819 93T474 -20Q285 -16 175 97T80 385Q91 510 168 603T378 755Q300 809 263 891T233 1067Q247 1252 378 1366T700 1476Q874 1472 976 1363T1064
+1085ZM798 406Q810 519 750 594T576 674Q452 676 364 596T262 388Q250 272 310 202T482 130Q608 126 696 203T798 406ZM882 1082Q893 1183 841 1252T691 1325Q579 1327 502 1254T412 1064Q401 960 454 893T605 824Q714 822 791 894T882 1082Z" />
+<glyph unicode="9" horiz-adv-x="1126" d="M823 640Q749 562 666 524T501 487Q386 489 305 552T186 725T160 965Q173 1109 241 1229T418 1414T660 1476Q834 1472 933 1350T1040 1023Q1043 916 1015 757Q949 383 755 194T255 -2H210L226 154H263Q478 158 615 274T823
+640ZM539 640Q630 636 714 691T852 841L860 914L863 995Q859 1150 806 1234T652 1322Q528 1327 441 1227T339 975Q332 914 341 851T377 740Q431 643 539 640Z" />
+<glyph unicode=":" horiz-adv-x="491" d="M410 210Q459 211 491 180T522 100T489 21T409 -12T330 15T299 94T330 175T410 210ZM307 1093Q356 1094 388 1063T419 983T386 904T306 871T227 898T196 977T227 1058T307 1093Z" />
+<glyph unicode=";" horiz-adv-x="430" d="M284 1093Q333 1094 365 1063T396 983T363 904T283 871T204 898T173 977T204 1058T284 1093ZM3 -291L-101 -216Q15 -73 43 68L69 219H246L225 84Q189 -144 3 -291Z" />
+<glyph unicode="&lt;" horiz-adv-x="1020" d="M263 640L828 387L795 200L65 579L91 725L952 1103L916 898L263 640Z" />
+<glyph unicode="=" horiz-adv-x="1100" d="M994 814H184L212 975H1023L994 814ZM922 399H112L140 559H951L922 399Z" />
+<glyph unicode="&gt;" horiz-adv-x="1048" d="M781 654L183 913L216 1095L980 716L954 571L58 191L94 392L781 654Z" />
+<glyph unicode="?" horiz-adv-x="948" d="M321 409Q334 524 382 612T538 796L619 867Q744 978 760 1100Q772 1194 729 1253T595 1316Q493 1318 428 1262T345 1116L165 1115Q184 1280 306 1379T606 1477Q774 1473 866 1371T945 1104Q928 922 741 754L619 650Q521
+561 498 410L321 409ZM250 90Q251 137 280 167T357 200Q403 201 433 172T463 95Q463 49 433 19T356 -12Q309 -14 280 15T250 90Z" />
+<glyph unicode="@" horiz-adv-x="1794" d="M1199 -20Q1110 -18 1056 26T988 148Q852 -24 709 -21Q593 -19 537 72T493 319Q503 480 579 647T765 903T1005 990Q1144 987 1277 885L1144 327Q1134 261 1134 234Q1129 99 1226 96Q1373 90 1464 261T1566 702Q1573 882
+1520 1019T1352 1226T1067 1299Q846 1303 657 1176T346 806T211 284Q203 103 258 -39T425 -253T699 -327Q868 -331 1038 -249L1065 -366Q926 -453 697 -453Q506 -452 365 -369T147 -125T70 246Q68 463 147 688T368 1085T690 1345T1071 1431Q1265 1428 1404 1344T1617
+1099T1691 734Q1691 509 1626 333T1450 67T1199 -20ZM649 294Q644 123 761 120Q868 115 961 264L993 317L994 328L1127 834Q1075 862 1020 863Q881 868 785 728T654 351L649 294Z" />
+<glyph unicode="A" horiz-adv-x="1306" d="M909 380H319L120 0H-81L710 1456H875L1163 0H978L909 380ZM402 538H881L760 1217L402 538Z" />
+<glyph unicode="B" horiz-adv-x="1247" d="M59 0L312 1456L739 1455Q962 1455 1073 1355T1170 1076Q1152 867 907 761Q1005 723 1053 631T1093 428Q1078 231 935 116T565 0H59ZM365 681L274 157L571 156Q707 156 799 229T906 426Q920 544 865 610T692 680L365
+681ZM392 835L663 834Q790 834 877 899T980 1078Q993 1184 939 1238T758 1297L472 1298L392 835Z" />
+<glyph unicode="C" horiz-adv-x="1303" d="M1169 464Q1127 238 965 106T575 -20Q440 -17 339 46T182 229T120 494Q116 576 127 654L144 774Q191 1102 374 1291T821 1476Q1026 1472 1146 1344T1273 987H1086Q1073 1293 846 1317L813 1319Q624 1324 498 1179T334
+781L312 630L306 542Q300 358 371 250T584 137Q736 132 835 210T987 461L1169 464Z" />
+<glyph unicode="D" horiz-adv-x="1313" d="M59 0L312 1456L690 1455Q868 1455 996 1366T1181 1121T1214 770L1204 697Q1160 379 957 190T447 0H59ZM472 1298L274 157L459 156Q671 156 818 288T1010 650Q1045 834 1034 963Q1019 1118 931 1205T695 1297L472 1298Z" />
+<glyph unicode="E" horiz-adv-x="1139" d="M976 673H364L274 157H986L958 0H59L312 1456H1201L1173 1298H472L391 830H1003L976 673Z" />
+<glyph unicode="F" horiz-adv-x="1108" d="M951 643H359L247 0H59L312 1456H1188L1160 1298H472L386 800H979L951 643Z" />
+<glyph unicode="G" horiz-adv-x="1363" d="M1147 192Q1074 89 935 34T616 -20Q473 -17 366 47T198 230T128 502Q121 621 157 824T285 1175T512 1401T825 1476Q1028 1472 1148 1356T1286 1028H1100Q1089 1166 1017 1240T818 1318Q630 1325 504 1183T337 768L318
+628L315 552Q315 355 396 248T623 138Q834 133 958 242L1018 569H690L718 725H1230L1147 192Z" />
+<glyph unicode="H" horiz-adv-x="1426" d="M1146 0H958L1075 673H364L247 0H59L312 1456H500L391 830H1101L1210 1456H1399L1146 0Z" />
+<glyph unicode="I" horiz-adv-x="550" d="M260 0H73L326 1456H513L260 0Z" />
+<glyph unicode="J" horiz-adv-x="1106" d="M910 1456H1098L923 425Q894 219 756 97T412 -22Q220 -18 115 94T22 402H209Q198 282 254 211T422 137Q545 133 630 214T734 424L910 1456Z" />
+<glyph unicode="K" horiz-adv-x="1255" d="M544 675L331 484L247 0H59L312 1456H500L376 747L1118 1456H1360L683 804L1136 0H927L544 675Z" />
+<glyph unicode="L" horiz-adv-x="1079" d="M275 157H945L917 0H59L312 1456H501L275 157Z" />
+<glyph unicode="M" horiz-adv-x="1744" d="M549 1456L804 270L1472 1456H1719L1466 0H1279L1379 576L1498 1162L838 0H694L434 1185L344 557L247 0H59L312 1456H549Z" />
+<glyph unicode="N" horiz-adv-x="1426" d="M1146 0H964L444 1130L248 0H59L312 1456H494L1015 321L1212 1456H1399L1146 0Z" />
+<glyph unicode="O" horiz-adv-x="1376" d="M593 -20Q454 -17 352 47T190 235T125 515Q119 636 152 814T266 1135T463 1364Q620 1480 821 1476Q1034 1472 1157 1329T1289 940Q1293 835 1268 673T1177 372T1010 139Q834 -25 593 -20ZM1104 894Q1110 1091 1035 1199T812
+1312Q678 1316 573 1240T400 1013T314 629L311 564Q305 368 381 257T602 142Q791 137 915 278T1081 676Q1101 802 1104 894Z" />
+<glyph unicode="P" horiz-adv-x="1263" d="M346 570L247 0H59L312 1456L798 1455Q1023 1455 1145 1336T1250 1018Q1232 809 1084 689T692 569L346 570ZM373 727L697 726Q850 726 948 803T1063 1017Q1079 1140 1012 1216T817 1297L472 1298L373 727Z" />
+<glyph unicode="Q" horiz-adv-x="1376" d="M907 76L1124 -133L985 -246L731 -3Q657 -19 583 -19Q446 -18 342 47T181 236T117 516Q111 642 143 816T255 1131T446 1358Q606 1480 812 1476Q953 1473 1057 1408T1218 1220T1281 940Q1284 856 1274 773L1262 688Q1200
+257 907 76ZM1095 894Q1102 1094 1026 1201T804 1312Q670 1316 565 1240T392 1013T306 629L303 564Q299 449 330 349T428 197T594 142Q778 135 903 275T1071 670Q1092 797 1095 894Z" />
+<glyph unicode="R" horiz-adv-x="1233" d="M685 589H349L247 0H58L311 1456L749 1455Q978 1454 1098 1339T1199 1026Q1188 889 1100 785T864 628L1090 13L1089 0H889L685 589ZM376 746L652 745Q796 745 895 821T1011 1026Q1026 1151 961 1222T763 1297L472 1298L376 746Z" />
+<glyph unicode="S" horiz-adv-x="1189" d="M877 375Q899 535 711 609L538 672L480 697Q188 830 207 1071Q217 1192 290 1285T483 1428T740 1476Q872 1473 975 1417T1133 1261T1181 1034L992 1035Q1002 1169 932 1242T732 1318Q595 1320 503 1254T397 1074Q377
+925 580 848L729 795L804 763Q1086 633 1065 377Q1054 254 982 165T787 26T521 -20Q384 -19 271 38T98 196T46 423L234 422Q225 292 304 216T529 137T768 200T877 375Z" />
+<glyph unicode="T" horiz-adv-x="1195" d="M1261 1298H808L583 0H396L621 1298H168L196 1456H1289L1261 1298Z" />
+<glyph unicode="U" horiz-adv-x="1298" d="M1312 1456L1144 471Q1110 244 948 110T557 -21Q414 -18 309 43T153 216T120 470L288 1456H473L306 469Q289 316 358 229T567 137Q719 131 823 219T955 468L1123 1456H1312Z" />
+<glyph unicode="V" horiz-adv-x="1274" d="M574 257L1165 1456H1377L625 0H459L164 1456H361L574 257Z" />
+<glyph unicode="W" horiz-adv-x="1772" d="M446 449L442 273L510 445L945 1456H1104L1219 432L1229 266L1292 467L1664 1456H1857L1287 0H1116L990 1069L986 1169L944 1053L480 0H309L195 1456H378L446 449Z" />
+<glyph unicode="X" horiz-adv-x="1255" d="M666 899L1091 1456H1323L756 725L1095 0H884L626 567L188 0H-44L535 743L205 1456H413L666 899Z" />
+<glyph unicode="Y" horiz-adv-x="1203" d="M611 726L1106 1456H1330L677 533L584 0H397L493 554L168 1456H372L611 726Z" />
+<glyph unicode="Z" horiz-adv-x="1199" d="M234 157H1036L1008 0H-21L6 154L972 1298H216L244 1456H1230L1204 1305L234 157Z" />
+<glyph unicode="[" horiz-adv-x="537" d="M650 1512H465L204 -160H390L366 -312H-1L307 1664H675L650 1512Z" />
+<glyph unicode="\" horiz-adv-x="825" d="M191 1456H355L670 -125H507L191 1456Z" />
+<glyph unicode="]" horiz-adv-x="537" d="M175 1664H543L234 -312H-134L-110 -160H77L338 1512H150L175 1664Z" />
+<glyph unicode="^" horiz-adv-x="840" d="M524 1209L256 729H79L496 1456H620L783 729H625L524 1209Z" />
+<glyph unicode="_" horiz-adv-x="906" d="M763 -151H-127L-100 0H790L763 -151Z" />
+<glyph unicode="`" horiz-adv-x="624" d="M555 1240H412L207 1534H412L555 1240Z" />
+<glyph unicode="a" horiz-adv-x="1091" d="M693 0Q686 29 686 57L689 114Q540 -24 373 -20Q230 -18 141 70T59 292Q69 464 209 560T579 657L768 656L780 742Q790 839 743 895T600 954Q507 956 436 909T348 783L166 782Q175 877 240 950T407 1064T618 1103Q787
+1099 881 1001T960 739L872 203L867 126Q865 71 879 17L877 0H693ZM409 140Q496 138 573 181T707 302L746 525L609 526Q438 526 347 472T244 319Q235 243 279 193T409 140Z" />
+<glyph unicode="b" horiz-adv-x="1125" d="M1013 536Q993 370 922 237T750 40T526 -21Q330 -17 235 126L198 0H31L298 1536H479L370 962Q500 1106 686 1102Q842 1098 929 987T1021 681Q1022 617 1015 557L1013 536ZM841 641Q844 787 792 864T633 946Q464 950 347
+776L266 305Q326 140 491 136Q597 132 676 199T797 386T841 641Z" />
+<glyph unicode="c" horiz-adv-x="1050" d="M488 130Q585 128 663 186T765 340L936 341Q921 239 855 155T687 24T480 -20Q345 -18 252 50T114 241T84 517L89 567Q108 723 180 846T368 1037T624 1102Q794 1098 896 988T998 709L829 710Q827 816 770 881T616 951Q475
+954 382 846T265 544L262 518Q256 454 260 386Q267 269 326 201T488 130Z" />
+<glyph unicode="d" horiz-adv-x="1130" d="M83 543Q103 708 174 841T349 1040T578 1103Q759 1099 856 971L960 1536H1141L875 0H710L729 116Q601 -24 413 -20Q263 -16 174 97T78 402Q75 461 83 543ZM257 439Q254 296 308 217T466 136Q623 129 745 294L831 794Q771
+942 613 946Q506 949 425 882T301 693T257 439Z" />
+<glyph unicode="e" horiz-adv-x="1062" d="M499 -20Q297 -16 183 129T87 500L92 543Q109 704 187 837T379 1037T623 1102Q790 1098 885 991T989 701Q992 636 985 571L974 488H267Q249 341 315 238T514 131Q674 127 810 275L914 187Q846 89 739 34T499 -20ZM614
+951Q502 954 419 875T286 640L812 639L816 655Q832 781 776 864T614 951Z" />
+<glyph unicode="f" horiz-adv-x="700" d="M119 0L283 939H116L141 1082H307L325 1210Q351 1373 451 1465Q556 1561 719 1559Q770 1559 848 1542L826 1391Q778 1401 729 1403Q635 1403 577 1345T504 1189L488 1082H712L687 939H463L300 0H119Z" />
+<glyph unicode="g" horiz-adv-x="1125" d="M84 543Q108 720 179 850T353 1043T578 1103Q766 1099 862 961L898 1082H1064L884 23Q855 -184 716 -308T373 -427Q263 -425 163 -375T4 -238L107 -127Q205 -272 366 -276Q495 -280 584 -204T703 12L723 108Q591 -24
+414 -20Q313 -17 239 34T123 183T78 401Q76 460 84 543ZM259 440Q256 297 308 219T467 136Q629 132 746 295L831 792Q771 940 614 946Q467 950 373 826T261 491L259 440Z" />
+<glyph unicode="h" horiz-adv-x="1104" d="M369 950Q511 1105 696 1101Q848 1099 921 997T976 709L858 0H677L796 712Q802 761 797 803Q780 943 632 946Q466 950 346 772L212 0H31L298 1536H479L369 950Z" />
+<glyph unicode="i" horiz-adv-x="492" d="M227 0H47L235 1082H415L227 0ZM376 1477Q422 1479 452 1450T483 1372Q482 1325 453 1295T376 1263T299 1290T270 1366T300 1444T376 1477Z" />
+<glyph unicode="j" horiz-adv-x="484" d="M406 1082L201 -129Q181 -282 99 -362T-117 -440Q-170 -438 -236 -420L-220 -272Q-183 -281 -137 -283Q-8 -283 18 -129L225 1082H406ZM256 1366Q257 1413 285 1444T362 1477Q408 1479 438 1449T469 1372Q468 1325 438
+1295T361 1263Q316 1261 286 1291T256 1366Z" />
+<glyph unicode="k" horiz-adv-x="1017" d="M419 499L277 372L213 0H32L299 1536H480L320 618L431 730L815 1082H1050L553 621L895 0H697L419 499Z" />
+<glyph unicode="l" horiz-adv-x="492" d="M227 0H47L313 1536H494L227 0Z" />
+<glyph unicode="m" horiz-adv-x="1751" d="M388 1083L365 962Q501 1106 694 1102Q797 1100 868 1055T967 928Q1119 1106 1326 1102Q1488 1098 1565 993T1622 711L1503 0H1323L1441 713Q1447 765 1441 808Q1422 944 1263 947Q1164 949 1084 886T980 719L857 0H675L795
+712Q808 823 762 883T617 945Q448 949 348 791L211 0H30L218 1082L388 1083Z" />
+<glyph unicode="n" horiz-adv-x="1106" d="M390 1083L364 946Q510 1106 696 1102Q849 1098 922 996T976 709L858 0H677L796 712Q802 761 797 803Q780 943 632 946Q469 949 346 772L212 0H31L219 1082L390 1083Z" />
+<glyph unicode="o" horiz-adv-x="1143" d="M632 1102Q768 1100 865 1028T1008 830T1040 553L1038 531Q1019 373 944 246T750 47T489 -20Q354 -18 257 54T114 250T82 523Q97 691 173 825T368 1032T632 1102ZM264 522Q257 459 264 391Q274 273 334 203T496 130Q586
+127 662 174T790 318T857 531Q865 623 860 686Q848 807 787 877T625 951Q485 954 387 841T266 545L264 522Z" />
+<glyph unicode="p" horiz-adv-x="1125" d="M1011 536Q991 371 922 239T751 42T525 -21Q337 -17 237 106L140 -416H-41L219 1082L383 1083L363 962Q497 1106 684 1102Q840 1098 927 987T1019 681Q1020 617 1014 557L1011 536ZM833 557L838 641Q838 787 783 864T622
+946Q465 950 351 797L260 278Q321 134 479 130Q614 127 708 235T833 557Z" />
+<glyph unicode="q" horiz-adv-x="1139" d="M585 1103Q768 1099 864 972L897 1082H1064L804 -416H624L722 100Q592 -24 420 -20Q268 -18 177 95T79 400Q73 524 108 661T212 901T377 1055T585 1103ZM265 522L260 438Q257 293 312 213T472 130Q625 126 743 276L837
+808Q771 947 621 951Q484 954 390 846T265 522Z" />
+<glyph unicode="r" horiz-adv-x="682" d="M704 917L619 926Q445 926 345 769L212 0H31L219 1082L394 1083L367 957Q482 1108 638 1104Q671 1104 724 1089L704 917Z" />
+<glyph unicode="s" horiz-adv-x="1034" d="M701 293Q716 405 578 451L390 506Q152 588 160 778Q167 921 290 1012T581 1102Q745 1100 847 1007T946 763L766 764Q768 845 715 896T574 949Q480 951 412 903Q349 858 339 785Q326 691 454 648L545 623Q731 575 809
+498T881 307Q875 206 815 131T655 17T442 -20Q270 -18 158 80T50 334L231 333Q231 242 289 187T448 132Q547 130 619 173T701 293Z" />
+<glyph unicode="t" horiz-adv-x="659" d="M509 1344L463 1082H660L635 939H439L326 266Q323 240 325 218Q332 140 410 140Q443 140 498 150L484 -1Q419 -19 352 -19Q244 -17 190 60T148 269L258 939H67L92 1082H283L329 1344H509Z" />
+<glyph unicode="u" horiz-adv-x="1105" d="M718 107Q591 -24 395 -20Q240 -16 166 91T110 383L226 1082H407L290 380Q285 336 288 294Q293 222 331 181T437 137Q631 131 737 294L873 1082H1054L866 0H695L718 107Z" />
+<glyph unicode="v" horiz-adv-x="972" d="M424 253L814 1082H1005L460 0H322L110 1082H288L424 253Z" />
+<glyph unicode="w" horiz-adv-x="1503" d="M1002 256L1347 1082H1534L1041 0H894L782 818L392 0H245L128 1082H301L367 276L751 1082H897L1002 256Z" />
+<glyph unicode="x" horiz-adv-x="995" d="M496 688L790 1082H1012L578 538L842 0H645L466 404L161 0H-60L387 556L131 1082H329L496 688Z" />
+<glyph unicode="y" horiz-adv-x="950" d="M419 273L804 1082H1004L362 -180Q228 -443 18 -440Q-19 -439 -91 -422L-75 -272L-28 -277Q58 -281 120 -239T231 -101L296 23L109 1082H298L419 273Z" />
+<glyph unicode="z" horiz-adv-x="995" d="M234 151H842L815 0H-19L6 145L715 929H150L178 1082H974L950 942L234 151Z" />
+<glyph unicode="{" horiz-adv-x="682" d="M478 -365Q320 -312 246 -193T191 99L219 306Q225 355 220 397Q203 533 56 541L72 686Q289 696 321 931L352 1159Q411 1498 762 1599L789 1482Q577 1412 532 1145L498 905Q465 705 287 611Q390 534 400 392Q403 348 399
+305L368 62L366 -9L368 -40Q385 -199 519 -252L478 -365Z" />
+<glyph unicode="|" horiz-adv-x="494" d="M179 -270H33L303 1456H449L179 -270Z" />
+<glyph unicode="}" horiz-adv-x="682" d="M-116 -251Q101 -180 144 93L175 319Q206 527 401 620Q288 689 275 836Q271 878 276 923L307 1169L309 1240Q306 1424 157 1482L202 1595Q358 1542 430 1423T483 1132L456 924Q450 874 455 833Q471 698 618 690L603 545Q385
+535 353 297L325 90Q274 -264 -88 -368L-116 -251Z" />
+<glyph unicode="~" horiz-adv-x="1361" d="M1245 778Q1231 615 1134 507T896 400Q770 403 647 515L587 573Q515 640 449 640Q313 643 269 476L261 439L105 436Q121 598 218 702T457 803Q576 800 684 707L773 624Q841 563 904 563Q979 563 1031 618T1102 775L1245 778Z" />
+<glyph unicode="&#xa0;" horiz-adv-x="502" />
+<glyph unicode="&#xa1;" horiz-adv-x="494" d="M179 684H344L175 -360H-15L179 684ZM416 999Q416 952 387 921T310 888T233 917T203 993Q204 1041 233 1070T310 1102Q356 1103 386 1074T416 999Z" />
+<glyph unicode="&#xa2;" horiz-adv-x="1096" d="M489 130Q586 128 664 185T770 340L942 341Q921 207 817 113T552 -12L506 -245H325L372 -9Q253 21 181 115T94 350Q82 461 104 594T186 833T340 1004T552 1092L597 1318H778L733 1093Q864 1061 937 960T1011 709H841Q841
+815 785 881T632 951Q480 957 381 829T268 473L267 431Q264 289 322 211T489 130Z" />
+<glyph unicode="&#xa3;" horiz-adv-x="1164" d="M440 622L412 410Q392 257 304 154L1019 157L990 0H-13L16 156L83 154Q196 195 225 416L252 622H92L119 779H275L306 1032Q331 1236 470 1359T801 1476Q969 1472 1065 1368T1153 1086L966 1087Q973 1193 924 1254T774
+1319Q664 1323 587 1241T494 1030L462 779H772L745 622H440Z" />
+<glyph unicode="&#xa4;" horiz-adv-x="1426" d="M996 110Q809 -24 619 -20Q420 -16 284 110L127 -26L18 118L177 252Q147 337 137 424Q118 574 162 718T311 980L194 1137L335 1264L449 1116Q628 1238 810 1234Q998 1232 1135 1113L1310 1265L1421 1119L1248 972Q1280
+885 1292 796Q1310 652 1270 511T1130 250L1245 100L1102 -27L996 110ZM304 599Q289 485 326 381T442 216T630 150Q747 146 854 209T1034 383T1123 617Q1137 732 1101 835T985 998T798 1063Q680 1067 572 1004T392 831T304 599Z" />
+<glyph unicode="&#xa5;" horiz-adv-x="1213" d="M622 783L1091 1456H1316L786 736H1083L1061 611H689L660 446H1033L1011 322H639L582 0H394L450 322H83L105 446H471L500 611H133L155 736H465L184 1456H387L622 783Z" />
+<glyph unicode="&#xa6;" horiz-adv-x="486" d="M-9 -270L129 521H311L173 -270H-9ZM341 698H159L291 1456H473L341 698Z" />
+<glyph unicode="&#xa7;" horiz-adv-x="1228" d="M1087 439Q1069 248 858 152Q961 49 948 -120Q934 -294 790 -396T424 -496Q207 -492 86 -377T-24 -63L157 -62Q151 -147 182 -210T279 -307T432 -343Q515 -345 589 -318T709 -242T764 -123Q776 -46 723 9T531 109T312
+192Q70 307 90 543Q104 727 314 830Q215 936 228 1102Q236 1210 303 1296T489 1430Q612 1478 753 1476Q960 1472 1072 1358T1173 1045H993Q1001 1171 935 1246T745 1325Q610 1327 519 1269T412 1105Q401 1024 449 970T632 873T839 800Q1108 684 1087 439ZM616 691L462
+743Q295 696 273 545Q259 445 334 384Q384 343 513 303T707 237Q881 289 903 436Q914 509 867 565T700 663L616 691Z" />
+<glyph unicode="&#xa8;" horiz-adv-x="840" d="M219 1369Q220 1415 249 1445T325 1478Q372 1479 402 1450T432 1373Q432 1327 402 1297T325 1265Q278 1264 249 1293T219 1369ZM636 1367Q637 1413 666 1444T742 1477Q790 1478 820 1449T849 1371Q849 1324 819 1295T742
+1263Q696 1262 666 1291T636 1367Z" />
+<glyph unicode="&#xa9;" horiz-adv-x="1571" d="M1093 597Q1079 446 986 363T744 283Q599 287 519 395T453 670L463 768Q483 957 586 1066T847 1174Q989 1170 1066 1089T1138 859L995 860Q1001 945 967 994T842 1045Q747 1047 684 975T606 775T592 617L594 582Q601
+505 640 460T748 412Q918 405 953 596L1093 597ZM230 570Q252 363 382 232T702 98Q889 94 1055 205T1313 507T1385 888Q1363 1093 1235 1222T914 1356Q725 1360 559 1248T301 948T230 570ZM119 722Q141 921 255 1099T544 1378T913 1476Q1091 1474 1233 1376T1446
+1105T1496 735Q1473 532 1359 355T1073 78T713 -21H703Q520 -17 380 81T169 352T119 722Z" />
+<glyph unicode="&#xaa;" horiz-adv-x="898" d="M630 703L626 777Q534 691 420 691Q315 691 255 752T199 911Q204 1026 297 1088T557 1150L668 1149L677 1203Q680 1230 678 1254Q671 1333 586 1336Q530 1337 487 1313T428 1232L272 1243Q283 1352 371 1415T590
+1477Q713 1473 779 1399T836 1200L782 853L778 795Q777 750 785 704L630 703ZM460 826Q535 826 626 894L654 1037H561Q473 1034 421 1002T361 915Q356 872 383 849T460 826Z" />
+<glyph unicode="&#xab;" horiz-adv-x="942" d="M517 794L695 407H570L345 794L347 814L694 1203H846L517 794ZM581 538L759 151H634L409 538L411 558L758 947H910L581 538Z" />
+<glyph unicode="&#xac;" horiz-adv-x="1110" d="M891 375H709L756 639H129L158 800H965L891 375Z" />
+<glyph unicode="&#xad;" horiz-adv-x="558" d="M500 543H25L52 694H527L500 543Z" />
+<glyph unicode="&#xae;" horiz-adv-x="1572" d="M118 722Q140 921 254 1099T543 1378T912 1476Q1087 1474 1228 1379T1443 1110T1495 735Q1472 531 1357 354T1069 75T703 -22Q524 -18 384 77T171 348T118 722ZM229 569Q241 438 305 328T472 159T701 97Q888 93
+1053 203T1311 503T1385 888Q1371 1021 1307 1129T1141 1295T913 1356Q728 1360 563 1253T304 956T229 569ZM654 654L601 316H463L596 1165L853 1164Q992 1159 1066 1095T1134 916Q1131 858 1097 810T982 716Q1059 672 1068 575L1067 514Q1056 427 1058 396L1061
+332L1059 315H921Q915 352 917 388L924 460L930 514Q937 580 913 614T821 653L654 654ZM673 782L816 781Q888 783 938 817T998 910Q1008 973 976 1004T854 1038H714L673 782Z" />
+<glyph unicode="&#xaf;" horiz-adv-x="920" d="M921 1313H227L250 1456H944L921 1313Z" />
+<glyph unicode="&#xb0;" horiz-adv-x="752" d="M236 1207Q240 1318 320 1398T504 1477Q601 1475 664 1401T726 1225Q722 1113 643 1035T461 959Q363 961 298 1033T236 1207ZM357 1209Q351 1160 381 1124T461 1087Q515 1087 557 1127T606 1223Q612 1271 584 1310T504
+1350Q450 1350 407 1308T357 1209Z" />
+<glyph unicode="&#xb1;" horiz-adv-x="1071" d="M670 854H1023L999 703H647L582 289H418L483 703H109L134 854H507L572 1267H735L670 854ZM848 0H37L61 152H872L848 0Z" />
+<glyph unicode="&#xb2;" horiz-adv-x="738" d="M674 667H92L112 783L467 1081Q566 1165 578 1239Q585 1287 559 1314T484 1342Q418 1343 378 1306T324 1206L170 1205Q181 1322 268 1396T483 1469Q603 1467 672 1404T737 1239Q729 1116 578 991L514 940L318 795H697L674
+667Z" />
+<glyph unicode="&#xb3;" horiz-adv-x="738" d="M343 1125L421 1124Q487 1126 533 1156T587 1241Q593 1290 562 1314T481 1339Q369 1339 340 1246H184Q195 1347 274 1407T479 1468Q605 1465 676 1406T742 1250Q735 1131 583 1065Q701 1022 697 893Q692 782 602
+718T378 655Q259 657 185 719T110 889H261Q261 839 294 812T385 784Q449 784 494 816T547 901Q560 1003 419 1008L332 1009L343 1125Z" />
+<glyph unicode="&#xb4;" horiz-adv-x="633" d="M447 1534H677L371 1240H213L447 1534Z" />
+<glyph unicode="&#xb5;" horiz-adv-x="1135" d="M414 1082L311 458Q301 374 304 316Q314 133 460 130Q643 124 740 281L879 1082H1061L873 0H711L730 115Q619 -23 457 -21Q322 -21 242 54L153 -416H-27L233 1082H414Z" />
+<glyph unicode="&#xb6;" horiz-adv-x="981" d="M532 0L623 520L559 521Q348 524 236 651T143 980Q157 1122 231 1231T425 1398T689 1457L966 1456L714 0H532Z" />
+<glyph unicode="&#xb7;" horiz-adv-x="528" d="M165 726Q166 775 196 807T277 842Q325 844 357 813T389 732Q388 683 356 652T275 618Q230 616 198 645T165 726Z" />
+<glyph unicode="&#xb8;" horiz-adv-x="502" d="M167 0L146 -55Q275 -84 271 -218Q268 -320 181 -377T-56 -437L-52 -329Q114 -323 130 -222Q142 -151 38 -139L-8 -133L38 0H167Z" />
+<glyph unicode="&#xb9;" horiz-adv-x="738" d="M493 674H339L443 1271L223 1215L247 1350L603 1463H624L493 674Z" />
+<glyph unicode="&#xba;" horiz-adv-x="913" d="M589 1477Q730 1473 810 1375T878 1123L871 1052Q854 886 750 786T495 689Q353 693 273 793T205 1043L212 1113Q229 1281 334 1381T589 1477ZM365 1041Q355 945 391 888T504 828Q583 825 639 882T710 1043L719 1124Q727
+1226 690 1280T581 1337Q499 1339 443 1281T373 1123L365 1041Z" />
+<glyph unicode="&#xbb;" horiz-adv-x="941" d="M291 949L516 562L514 541L167 152H15L343 560L166 949H291ZM629 949L854 562L852 541L505 152H353L681 560L504 949H629Z" />
+<glyph unicode="&#xbc;" horiz-adv-x="1465" d="M455 664H301L405 1261L185 1205L209 1340L565 1453H586L455 664ZM354 120L256 192L1137 1320L1235 1248L354 120ZM1227 299H1331L1308 169H1205L1175 0H1021L1051 169H688L701 281L1148 789H1312L1227 299ZM865
+299H1073L1131 590L1109 560L865 299Z" />
+<glyph unicode="&#xbd;" horiz-adv-x="1551" d="M311 120L213 192L1094 1320L1192 1248L311 120ZM450 664H296L400 1261L180 1205L204 1340L560 1453H581L450 664ZM1333 0H751L771 116L1126 414Q1225 498 1237 572Q1244 620 1218 647T1143 675Q1077 676 1037 639T983
+539L829 538Q840 655 927 729T1142 802Q1262 800 1331 737T1396 572Q1388 449 1237 324L1173 273L977 128H1356L1333 0Z" />
+<glyph unicode="&#xbe;" horiz-adv-x="1555" d="M477 120L379 192L1260 1320L1358 1248L477 120ZM1316 299H1420L1397 169H1294L1264 0H1110L1140 169H777L790 281L1237 789H1401L1316 299ZM954 299H1162L1220 590L1198 560L954 299ZM391 1126L469 1125Q535 1127
+581 1157T635 1242Q641 1291 610 1315T529 1340Q417 1340 388 1247H232Q243 1348 322 1408T527 1469Q653 1466 724 1407T790 1251Q783 1132 631 1066Q749 1023 745 894Q740 783 650 719T426 656Q307 658 233 720T158 890H309Q309 840 342 813T433 785Q497 785 542
+817T595 902Q608 1004 467 1009L380 1010L391 1126Z" />
+<glyph unicode="&#xbf;" horiz-adv-x="950" d="M584 681Q572 572 531 492T384 311L287 220Q168 105 155 -10Q142 -108 189 -166T329 -226Q427 -228 493 -172T578 -21L758 -20Q739 -187 617 -288T318 -386Q145 -382 50 -281T-30 -14Q-15 169 176 344L292 446Q383
+531 408 680L584 681ZM654 1000Q654 953 625 922T548 889Q500 887 471 918T441 994Q442 1041 472 1070T548 1102Q594 1103 624 1075T654 1000Z" />
+<glyph unicode="&#xc0;" horiz-adv-x="1306" d="M909 380H319L120 0H-81L710 1456H875L1163 0H978L909 380ZM402 538H881L760 1217L402 538ZM916 1550H773L568 1844H773L916 1550Z" />
+<glyph unicode="&#xc1;" horiz-adv-x="1306" d="M909 380H319L120 0H-81L710 1456H875L1163 0H978L909 380ZM402 538H881L760 1217L402 538ZM946 1844H1176L870 1550H712L946 1844Z" />
+<glyph unicode="&#xc2;" horiz-adv-x="1306" d="M909 380H319L120 0H-81L710 1456H875L1163 0H978L909 380ZM402 538H881L760 1217L402 538ZM1117 1574V1560L970 1562L857 1731L681 1563L528 1560V1576L806 1846H912L1117 1574Z" />
+<glyph unicode="&#xc3;" horiz-adv-x="1306" d="M909 380H319L120 0H-81L710 1456H875L1163 0H978L909 380ZM402 538H881L760 1217L402 538ZM1199 1815Q1187 1704 1126 1637T972 1570Q935 1570 905 1585T844 1620T783 1654T716 1668Q631 1665 600 1556L478 1563Q490
+1673 552 1743T708 1811Q735 1811 758 1803T835 1762T912 1720T964 1712Q1050 1712 1082 1825L1199 1815Z" />
+<glyph unicode="&#xc4;" horiz-adv-x="1306" d="M909 380H319L120 0H-81L710 1456H875L1163 0H978L909 380ZM402 538H881L760 1217L402 538ZM526 1679Q527 1725 556 1755T632 1788Q679 1789 709 1760T739 1683Q739 1637 709 1607T632 1575Q585 1574 556 1603T526
+1679ZM943 1677Q944 1723 973 1754T1049 1787Q1097 1788 1127 1759T1156 1681Q1156 1634 1126 1605T1049 1573Q1003 1572 973 1601T943 1677Z" />
+<glyph unicode="&#xc5;" horiz-adv-x="1306" d="M909 380H319L120 0H-81L710 1456H875L1163 0H978L909 380ZM402 538H881L760 1217L402 538ZM641 1721Q643 1812 707 1875T861 1938Q943 1938 1000 1880T1058 1737Q1056 1648 992 1586T838 1524Q754 1524 697 1581T641
+1721ZM737 1723Q733 1677 760 1646T830 1614Q876 1614 915 1649T961 1735Q967 1781 939 1814T869 1847Q823 1847 783 1811T737 1723Z" />
+<glyph unicode="&#xc6;" horiz-adv-x="1867" d="M1719 0H862L909 353H369L108 0H-124L982 1456H1912L1885 1304H1215L1152 833H1726L1699 682H1132L1061 151H1746L1719 0ZM496 527H932L1028 1249L496 527Z" />
+<glyph unicode="&#xc7;" horiz-adv-x="1303" d="M1169 464Q1127 238 965 106T575 -20Q440 -17 339 46T182 229T120 494Q116 576 127 654L144 774Q191 1102 374 1291T821 1476Q1026 1472 1146 1344T1273 987H1086Q1073 1293 846 1317L813 1319Q624 1324 498 1179T334
+781L312 630L306 542Q300 358 371 250T584 137Q736 132 835 210T987 461L1169 464ZM617 -9L596 -64Q725 -93 721 -227Q718 -329 631 -386T394 -446L398 -338Q564 -332 580 -231Q592 -160 488 -148L442 -142L488 -9H617Z" />
+<glyph unicode="&#xc8;" horiz-adv-x="1139" d="M976 673H364L274 157H986L958 0H59L312 1456H1201L1173 1298H472L391 830H1003L976 673ZM866 1562H723L518 1856H723L866 1562Z" />
+<glyph unicode="&#xc9;" horiz-adv-x="1139" d="M976 673H364L274 157H986L958 0H59L312 1456H1201L1173 1298H472L391 830H1003L976 673ZM896 1856H1126L820 1562H662L896 1856Z" />
+<glyph unicode="&#xca;" horiz-adv-x="1139" d="M976 673H364L274 157H986L958 0H59L312 1456H1201L1173 1298H472L391 830H1003L976 673ZM1067 1586V1572L920 1574L807 1743L631 1575L478 1572V1588L756 1858H862L1067 1586Z" />
+<glyph unicode="&#xcb;" horiz-adv-x="1139" d="M976 673H364L274 157H986L958 0H59L312 1456H1201L1173 1298H472L391 830H1003L976 673ZM476 1691Q477 1737 506 1767T582 1800Q629 1801 659 1772T689 1695Q689 1649 659 1619T582 1587Q535 1586 506 1615T476
+1691ZM893 1689Q894 1735 923 1766T999 1799Q1047 1800 1077 1771T1106 1693Q1106 1646 1076 1617T999 1585Q953 1584 923 1613T893 1689Z" />
+<glyph unicode="&#xcc;" horiz-adv-x="550" d="M260 0H73L326 1456H513L260 0ZM537 1562H394L189 1856H394L537 1562Z" />
+<glyph unicode="&#xcd;" horiz-adv-x="550" d="M260 0H73L326 1456H513L260 0ZM566 1856H796L490 1562H332L566 1856Z" />
+<glyph unicode="&#xce;" horiz-adv-x="550" d="M260 0H73L326 1456H513L260 0ZM738 1586V1572L591 1574L478 1743L302 1575L149 1572V1588L427 1858H533L738 1586Z" />
+<glyph unicode="&#xcf;" horiz-adv-x="550" d="M260 0H73L326 1456H513L260 0ZM147 1691Q148 1737 177 1767T253 1800Q300 1801 330 1772T360 1695Q360 1649 330 1619T253 1587Q206 1586 177 1615T147 1691ZM564 1689Q565 1735 594 1766T670 1799Q718 1800 748
+1771T777 1693Q777 1646 747 1617T670 1585Q624 1584 594 1613T564 1689Z" />
+<glyph unicode="&#xd0;" horiz-adv-x="1343" d="M89 0L204 666H47L74 817H231L342 1456L720 1455Q898 1455 1026 1366T1211 1121T1244 770L1234 697Q1190 379 987 190T477 0H89ZM665 666H392L304 157L489 156Q701 156 848 288T1040 650Q1075 834 1064 963Q1049
+1118 961 1205T725 1297L502 1298L418 817H692L665 666Z" />
+<glyph unicode="&#xd1;" horiz-adv-x="1426" d="M1146 0H964L444 1130L248 0H59L312 1456H494L1015 321L1212 1456H1399L1146 0ZM1251 1815Q1239 1704 1178 1637T1024 1570Q987 1570 957 1585T896 1620T835 1654T768 1668Q683 1665 652 1556L530 1563Q542 1673
+604 1743T760 1811Q787 1811 810 1803T887 1762T964 1720T1016 1712Q1102 1712 1134 1825L1251 1815Z" />
+<glyph unicode="&#xd2;" horiz-adv-x="1376" d="M593 -20Q454 -17 352 47T190 235T125 515Q119 636 152 814T266 1135T463 1364Q620 1480 821 1476Q1034 1472 1157 1329T1289 940Q1293 835 1268 673T1177 372T1010 139Q834 -25 593 -20ZM1104 894Q1110 1091 1035
+1199T812 1312Q678 1316 573 1240T400 1013T314 629L311 564Q305 368 381 257T602 142Q791 137 915 278T1081 676Q1101 802 1104 894ZM949 1552H806L601 1846H806L949 1552Z" />
+<glyph unicode="&#xd3;" horiz-adv-x="1376" d="M593 -20Q454 -17 352 47T190 235T125 515Q119 636 152 814T266 1135T463 1364Q620 1480 821 1476Q1034 1472 1157 1329T1289 940Q1293 835 1268 673T1177 372T1010 139Q834 -25 593 -20ZM1104 894Q1110 1091 1035
+1199T812 1312Q678 1316 573 1240T400 1013T314 629L311 564Q305 368 381 257T602 142Q791 137 915 278T1081 676Q1101 802 1104 894ZM979 1846H1209L903 1552H745L979 1846Z" />
+<glyph unicode="&#xd4;" horiz-adv-x="1376" d="M593 -20Q454 -17 352 47T190 235T125 515Q119 636 152 814T266 1135T463 1364Q620 1480 821 1476Q1034 1472 1157 1329T1289 940Q1293 835 1268 673T1177 372T1010 139Q834 -25 593 -20ZM1104 894Q1110 1091 1035
+1199T812 1312Q678 1316 573 1240T400 1013T314 629L311 564Q305 368 381 257T602 142Q791 137 915 278T1081 676Q1101 802 1104 894ZM1150 1576V1562L1003 1564L890 1733L714 1565L561 1562V1578L839 1848H945L1150 1576Z" />
+<glyph unicode="&#xd5;" horiz-adv-x="1376" d="M593 -20Q454 -17 352 47T190 235T125 515Q119 636 152 814T266 1135T463 1364Q620 1480 821 1476Q1034 1472 1157 1329T1289 940Q1293 835 1268 673T1177 372T1010 139Q834 -25 593 -20ZM1104 894Q1110 1091 1035
+1199T812 1312Q678 1316 573 1240T400 1013T314 629L311 564Q305 368 381 257T602 142Q791 137 915 278T1081 676Q1101 802 1104 894ZM1232 1817Q1220 1706 1159 1639T1005 1572Q968 1572 938 1587T877 1622T816 1656T749 1670Q664 1667 633 1558L511 1565Q523
+1675 585 1745T741 1813Q768 1813 791 1805T868 1764T945 1722T997 1714Q1083 1714 1115 1827L1232 1817Z" />
+<glyph unicode="&#xd6;" horiz-adv-x="1376" d="M593 -20Q454 -17 352 47T190 235T125 515Q119 636 152 814T266 1135T463 1364Q620 1480 821 1476Q1034 1472 1157 1329T1289 940Q1293 835 1268 673T1177 372T1010 139Q834 -25 593 -20ZM1104 894Q1110 1091 1035
+1199T812 1312Q678 1316 573 1240T400 1013T314 629L311 564Q305 368 381 257T602 142Q791 137 915 278T1081 676Q1101 802 1104 894ZM559 1681Q560 1727 589 1757T665 1790Q712 1791 742 1762T772 1685Q772 1639 742 1609T665 1577Q618 1576 589 1605T559 1681ZM976
+1679Q977 1725 1006 1756T1082 1789Q1130 1790 1160 1761T1189 1683Q1189 1636 1159 1607T1082 1575Q1036 1574 1006 1603T976 1679Z" />
+<glyph unicode="&#xd7;" horiz-adv-x="1069" d="M40 338L419 673L158 1009L286 1123L548 789L925 1123L1026 992L650 656L912 320L784 206L521 542L142 206L40 338Z" />
+<glyph unicode="&#xd8;" horiz-adv-x="1376" d="M590 -21Q424 -17 307 63L183 -92H32L221 140Q115 311 120 541Q121 638 145 788T229 1067T378 1289T580 1430T820 1476Q1026 1472 1155 1350L1286 1515H1436L1228 1259Q1277 1143 1287 1021Q1301 852 1258 630T1102
+249T830 23Q718 -24 590 -21ZM302 487Q304 379 335 296L1045 1204Q968 1308 812 1313Q630 1318 504 1180T334 798Q300 606 302 487ZM1109 933Q1113 1011 1102 1089L411 203Q485 145 599 141Q790 136 916 283T1083 700Q1105 847 1109 933Z" />
+<glyph unicode="&#xd9;" horiz-adv-x="1298" d="M1312 1456L1144 471Q1110 244 948 110T557 -21Q414 -18 309 43T153 216T120 470L288 1456H473L306 469Q289 316 358 229T567 137Q719 131 823 219T955 468L1123 1456H1312ZM911 1550H768L563 1844H768L911 1550Z" />
+<glyph unicode="&#xda;" horiz-adv-x="1298" d="M1312 1456L1144 471Q1110 244 948 110T557 -21Q414 -18 309 43T153 216T120 470L288 1456H473L306 469Q289 316 358 229T567 137Q719 131 823 219T955 468L1123 1456H1312ZM941 1844H1171L865 1550H707L941 1844Z" />
+<glyph unicode="&#xdb;" horiz-adv-x="1298" d="M1312 1456L1144 471Q1110 244 948 110T557 -21Q414 -18 309 43T153 216T120 470L288 1456H473L306 469Q289 316 358 229T567 137Q719 131 823 219T955 468L1123 1456H1312ZM1112 1574V1560L965 1562L852 1731L676
+1563L523 1560V1576L801 1846H907L1112 1574Z" />
+<glyph unicode="&#xdc;" horiz-adv-x="1298" d="M1312 1456L1144 471Q1110 244 948 110T557 -21Q414 -18 309 43T153 216T120 470L288 1456H473L306 469Q289 316 358 229T567 137Q719 131 823 219T955 468L1123 1456H1312ZM521 1679Q522 1725 551 1755T627 1788Q674
+1789 704 1760T734 1683Q734 1637 704 1607T627 1575Q580 1574 551 1603T521 1679ZM938 1677Q939 1723 968 1754T1044 1787Q1092 1788 1122 1759T1151 1681Q1151 1634 1121 1605T1044 1573Q998 1572 968 1601T938 1677Z" />
+<glyph unicode="&#xdd;" horiz-adv-x="1203" d="M611 726L1106 1456H1330L677 533L584 0H397L493 554L168 1456H372L611 726ZM892 1844H1122L816 1550H658L892 1844Z" />
+<glyph unicode="&#xde;" horiz-adv-x="1184" d="M491 1456L440 1163L678 1162Q886 1161 1004 1048T1107 746Q1096 616 1026 518T836 366T572 312L293 313L238 0H56L309 1456H491ZM414 1011L319 465L576 464Q715 464 812 540T926 744Q940 864 876 935T693 1010L414 1011Z" />
+<glyph unicode="&#xdf;" horiz-adv-x="1191" d="M211 0H30L220 1111Q238 1245 297 1348T449 1504T663 1555Q822 1551 909 1462T983 1225Q974 1130 893 1008T800 810Q791 755 818 701T918 573T1020 443T1046 326Q1036 162 920 69T631 -21Q453 -19 339 54L398 207Q504
+132 617 130Q718 130 787 179T868 315Q875 372 848 425T747 554T643 688T618 811Q623 870 651 918T711 1012T772 1105T809 1211Q819 1293 781 1347T662 1405Q557 1408 489 1333T400 1112L211 0Z" />
+<glyph unicode="&#xe0;" horiz-adv-x="1091" d="M693 0Q686 29 686 57L689 114Q540 -24 373 -20Q230 -18 141 70T59 292Q69 464 209 560T579 657L768 656L780 742Q790 839 743 895T600 954Q507 956 436 909T348 783L166 782Q175 877 240 950T407 1064T618 1103Q787
+1099 881 1001T960 739L872 203L867 126Q865 71 879 17L877 0H693ZM409 140Q496 138 573 181T707 302L746 525L609 526Q438 526 347 472T244 319Q235 243 279 193T409 140ZM774 1240H631L426 1534H631L774 1240Z" />
+<glyph unicode="&#xe1;" horiz-adv-x="1091" d="M693 0Q686 29 686 57L689 114Q540 -24 373 -20Q230 -18 141 70T59 292Q69 464 209 560T579 657L768 656L780 742Q790 839 743 895T600 954Q507 956 436 909T348 783L166 782Q175 877 240 950T407 1064T618 1103Q787
+1099 881 1001T960 739L872 203L867 126Q865 71 879 17L877 0H693ZM409 140Q496 138 573 181T707 302L746 525L609 526Q438 526 347 472T244 319Q235 243 279 193T409 140ZM804 1534H1034L728 1240H570L804 1534Z" />
+<glyph unicode="&#xe2;" horiz-adv-x="1091" d="M693 0Q686 29 686 57L689 114Q540 -24 373 -20Q230 -18 141 70T59 292Q69 464 209 560T579 657L768 656L780 742Q790 839 743 895T600 954Q507 956 436 909T348 783L166 782Q175 877 240 950T407 1064T618 1103Q787
+1099 881 1001T960 739L872 203L867 126Q865 71 879 17L877 0H693ZM409 140Q496 138 573 181T707 302L746 525L609 526Q438 526 347 472T244 319Q235 243 279 193T409 140ZM975 1264V1250L828 1252L715 1421L539 1253L386 1250V1266L664 1536H770L975 1264Z" />
+<glyph unicode="&#xe3;" horiz-adv-x="1091" d="M693 0Q686 29 686 57L689 114Q540 -24 373 -20Q230 -18 141 70T59 292Q69 464 209 560T579 657L768 656L780 742Q790 839 743 895T600 954Q507 956 436 909T348 783L166 782Q175 877 240 950T407 1064T618 1103Q787
+1099 881 1001T960 739L872 203L867 126Q865 71 879 17L877 0H693ZM409 140Q496 138 573 181T707 302L746 525L609 526Q438 526 347 472T244 319Q235 243 279 193T409 140ZM1057 1505Q1045 1394 984 1327T830 1260Q793 1260 763 1275T702 1310T641 1344T574 1358Q489
+1355 458 1246L336 1253Q348 1363 410 1433T566 1501Q593 1501 616 1493T693 1452T770 1410T822 1402Q908 1402 940 1515L1057 1505Z" />
+<glyph unicode="&#xe4;" horiz-adv-x="1091" d="M693 0Q686 29 686 57L689 114Q540 -24 373 -20Q230 -18 141 70T59 292Q69 464 209 560T579 657L768 656L780 742Q790 839 743 895T600 954Q507 956 436 909T348 783L166 782Q175 877 240 950T407 1064T618 1103Q787
+1099 881 1001T960 739L872 203L867 126Q865 71 879 17L877 0H693ZM409 140Q496 138 573 181T707 302L746 525L609 526Q438 526 347 472T244 319Q235 243 279 193T409 140ZM384 1369Q385 1415 414 1445T490 1478Q537 1479 567 1450T597 1373Q597 1327 567 1297T490
+1265Q443 1264 414 1293T384 1369ZM801 1367Q802 1413 831 1444T907 1477Q955 1478 985 1449T1014 1371Q1014 1324 984 1295T907 1263Q861 1262 831 1291T801 1367Z" />
+<glyph unicode="&#xe5;" horiz-adv-x="1091" d="M693 0Q686 29 686 57L689 114Q540 -24 373 -20Q230 -18 141 70T59 292Q69 464 209 560T579 657L768 656L780 742Q790 839 743 895T600 954Q507 956 436 909T348 783L166 782Q175 877 240 950T407 1064T618 1103Q787
+1099 881 1001T960 739L872 203L867 126Q865 71 879 17L877 0H693ZM409 140Q496 138 573 181T707 302L746 525L609 526Q438 526 347 472T244 319Q235 243 279 193T409 140ZM499 1411Q501 1502 565 1565T719 1628Q801 1628 858 1570T916 1427Q914 1338 850 1276T696
+1214Q612 1214 555 1271T499 1411ZM595 1413Q591 1367 618 1336T688 1304Q734 1304 773 1339T819 1425Q825 1471 797 1504T727 1537Q681 1537 641 1501T595 1413Z" />
+<glyph unicode="&#xe6;" horiz-adv-x="1687" d="M1136 -20Q1015 -18 923 28T779 160Q610 -24 334 -20Q188 -18 104 68T29 296Q39 456 166 546T510 636L736 635L748 721Q760 825 717 885T584 950Q480 952 408 899T321 759L142 778Q158 929 284 1017T596 1103Q705
+1101 786 1058T902 937Q1064 1106 1258 1102Q1385 1100 1472 1037T1596 864T1616 615L1598 497H896Q887 429 896 365Q909 258 973 196T1142 132Q1232 130 1310 160T1463 237L1516 100Q1378 -20 1136 -20ZM375 129Q445 127 524 163T670 257L713 495L510 496Q390
+496 307 440T212 292Q203 218 248 175T375 129ZM1248 952Q1138 955 1053 877T915 640H1437L1443 672Q1452 727 1445 777Q1434 857 1383 903T1248 952Z" />
+<glyph unicode="&#xe7;" horiz-adv-x="1050" d="M488 130Q585 128 663 186T765 340L936 341Q921 239 855 155T687 24T480 -20Q345 -18 252 50T114 241T84 517L89 567Q108 723 180 846T368 1037T624 1102Q794 1098 896 988T998 709L829 710Q827 816 770 881T616
+951Q475 954 382 846T265 544L262 518Q256 454 260 386Q267 269 326 201T488 130ZM485 -9L464 -64Q593 -93 589 -227Q586 -329 499 -386T262 -446L266 -338Q432 -332 448 -231Q460 -160 356 -148L310 -142L356 -9H485Z" />
+<glyph unicode="&#xe8;" horiz-adv-x="1062" d="M499 -20Q297 -16 183 129T87 500L92 543Q109 704 187 837T379 1037T623 1102Q790 1098 885 991T989 701Q992 636 985 571L974 488H267Q249 341 315 238T514 131Q674 127 810 275L914 187Q846 89 739 34T499 -20ZM614
+951Q502 954 419 875T286 640L812 639L816 655Q832 781 776 864T614 951ZM747 1240H604L399 1534H604L747 1240Z" />
+<glyph unicode="&#xe9;" horiz-adv-x="1062" d="M499 -20Q297 -16 183 129T87 500L92 543Q109 704 187 837T379 1037T623 1102Q790 1098 885 991T989 701Q992 636 985 571L974 488H267Q249 341 315 238T514 131Q674 127 810 275L914 187Q846 89 739 34T499 -20ZM614
+951Q502 954 419 875T286 640L812 639L816 655Q832 781 776 864T614 951ZM777 1534H1007L701 1240H543L777 1534Z" />
+<glyph unicode="&#xea;" horiz-adv-x="1062" d="M499 -20Q297 -16 183 129T87 500L92 543Q109 704 187 837T379 1037T623 1102Q790 1098 885 991T989 701Q992 636 985 571L974 488H267Q249 341 315 238T514 131Q674 127 810 275L914 187Q846 89 739 34T499 -20ZM614
+951Q502 954 419 875T286 640L812 639L816 655Q832 781 776 864T614 951ZM948 1264V1250L801 1252L688 1421L512 1253L359 1250V1266L637 1536H743L948 1264Z" />
+<glyph unicode="&#xeb;" horiz-adv-x="1062" d="M499 -20Q297 -16 183 129T87 500L92 543Q109 704 187 837T379 1037T623 1102Q790 1098 885 991T989 701Q992 636 985 571L974 488H267Q249 341 315 238T514 131Q674 127 810 275L914 187Q846 89 739 34T499 -20ZM614
+951Q502 954 419 875T286 640L812 639L816 655Q832 781 776 864T614 951ZM357 1369Q358 1415 387 1445T463 1478Q510 1479 540 1450T570 1373Q570 1327 540 1297T463 1265Q416 1264 387 1293T357 1369ZM774 1367Q775 1413 804 1444T880 1477Q928 1478 958 1449T987
+1371Q987 1324 957 1295T880 1263Q834 1262 804 1291T774 1367Z" />
+<glyph unicode="&#xec;" horiz-adv-x="501" d="M227 0H46L234 1082H415L227 0ZM711 1495H568L363 1789H568L711 1495Z" />
+<glyph unicode="&#xed;" horiz-adv-x="501" d="M227 0H46L234 1082H415L227 0ZM484 1789H714L408 1495H250L484 1789Z" />
+<glyph unicode="&#xee;" horiz-adv-x="501" d="M227 0H46L234 1082H415L227 0ZM656 1263V1249L509 1251L396 1420L220 1252L67 1249V1265L345 1535H451L656 1263Z" />
+<glyph unicode="&#xef;" horiz-adv-x="501" d="M227 0H46L234 1082H415L227 0ZM65 1368Q66 1414 95 1444T171 1477Q218 1478 248 1449T278 1372Q278 1326 248 1296T171 1264Q124 1263 95 1292T65 1368ZM482 1366Q483 1412 512 1443T588 1476Q636 1477 666 1448T695
+1370Q695 1323 665 1294T588 1262Q542 1261 512 1290T482 1366Z" />
+<glyph unicode="&#xf0;" horiz-adv-x="1174" d="M926 1299Q1103 1004 1053 633L1040 542Q1016 375 938 242T747 43T504 -21Q316 -17 204 120T111 459Q125 603 194 724T374 914T617 978Q771 974 882 863Q878 1045 772 1198L533 1050L474 1158L681 1284Q579 1370
+401 1422L471 1579Q691 1523 841 1387L1050 1517L1108 1408L926 1299ZM877 695Q821 821 651 826Q507 830 409 729T292 458Q277 319 341 226T517 129Q644 124 735 233T857 535L877 695Z" />
+<glyph unicode="&#xf1;" horiz-adv-x="1106" d="M390 1083L364 946Q510 1106 696 1102Q849 1098 922 996T976 709L858 0H677L796 712Q802 761 797 803Q780 943 632 946Q469 949 346 772L212 0H31L219 1082L390 1083ZM1048 1505Q1036 1394 975 1327T821 1260Q784
+1260 754 1275T693 1310T632 1344T565 1358Q480 1355 449 1246L327 1253Q339 1363 401 1433T557 1501Q584 1501 607 1493T684 1452T761 1410T813 1402Q899 1402 931 1515L1048 1505Z" />
+<glyph unicode="&#xf2;" horiz-adv-x="1143" d="M632 1102Q768 1100 865 1028T1008 830T1040 553L1038 531Q1019 373 944 246T750 47T489 -20Q354 -18 257 54T114 250T82 523Q97 691 173 825T368 1032T632 1102ZM264 522Q257 459 264 391Q274 273 334 203T496
+130Q586 127 662 174T790 318T857 531Q865 623 860 686Q848 807 787 877T625 951Q485 954 387 841T266 545L264 522ZM756 1240H613L408 1534H613L756 1240Z" />
+<glyph unicode="&#xf3;" horiz-adv-x="1143" d="M632 1102Q768 1100 865 1028T1008 830T1040 553L1038 531Q1019 373 944 246T750 47T489 -20Q354 -18 257 54T114 250T82 523Q97 691 173 825T368 1032T632 1102ZM264 522Q257 459 264 391Q274 273 334 203T496
+130Q586 127 662 174T790 318T857 531Q865 623 860 686Q848 807 787 877T625 951Q485 954 387 841T266 545L264 522ZM786 1534H1016L710 1240H552L786 1534Z" />
+<glyph unicode="&#xf4;" horiz-adv-x="1143" d="M632 1102Q768 1100 865 1028T1008 830T1040 553L1038 531Q1019 373 944 246T750 47T489 -20Q354 -18 257 54T114 250T82 523Q97 691 173 825T368 1032T632 1102ZM264 522Q257 459 264 391Q274 273 334 203T496
+130Q586 127 662 174T790 318T857 531Q865 623 860 686Q848 807 787 877T625 951Q485 954 387 841T266 545L264 522ZM957 1264V1250L810 1252L697 1421L521 1253L368 1250V1266L646 1536H752L957 1264Z" />
+<glyph unicode="&#xf5;" horiz-adv-x="1143" d="M632 1102Q768 1100 865 1028T1008 830T1040 553L1038 531Q1019 373 944 246T750 47T489 -20Q354 -18 257 54T114 250T82 523Q97 691 173 825T368 1032T632 1102ZM264 522Q257 459 264 391Q274 273 334 203T496
+130Q586 127 662 174T790 318T857 531Q865 623 860 686Q848 807 787 877T625 951Q485 954 387 841T266 545L264 522ZM1039 1505Q1027 1394 966 1327T812 1260Q775 1260 745 1275T684 1310T623 1344T556 1358Q471 1355 440 1246L318 1253Q330 1363 392 1433T548
+1501Q575 1501 598 1493T675 1452T752 1410T804 1402Q890 1402 922 1515L1039 1505Z" />
+<glyph unicode="&#xf6;" horiz-adv-x="1143" d="M632 1102Q768 1100 865 1028T1008 830T1040 553L1038 531Q1019 373 944 246T750 47T489 -20Q354 -18 257 54T114 250T82 523Q97 691 173 825T368 1032T632 1102ZM264 522Q257 459 264 391Q274 273 334 203T496
+130Q586 127 662 174T790 318T857 531Q865 623 860 686Q848 807 787 877T625 951Q485 954 387 841T266 545L264 522ZM366 1369Q367 1415 396 1445T472 1478Q519 1479 549 1450T579 1373Q579 1327 549 1297T472 1265Q425 1264 396 1293T366 1369ZM783 1367Q784 1413
+813 1444T889 1477Q937 1478 967 1449T996 1371Q996 1324 966 1295T889 1263Q843 1262 813 1291T783 1367Z" />
+<glyph unicode="&#xf7;" horiz-adv-x="1144" d="M1038 600H68L101 784H1070L1038 600ZM534 1095Q534 1144 564 1176T645 1211Q693 1213 725 1182T757 1101Q756 1052 725 1021T644 988T564 1016T534 1095ZM392 278Q393 327 423 359T504 394Q552 396 584 365T616
+284Q615 235 583 204T502 171T423 199T392 278Z" />
+<glyph unicode="&#xf8;" horiz-adv-x="1135" d="M638 1104Q741 1102 832 1059L934 1208L1066 1207L922 1000Q1032 870 1039 672Q1041 617 1033 531Q1014 375 935 244T735 44T473 -22Q384 -20 291 15L189 -134L57 -133L198 72Q80 196 73 401Q71 462 77 522L79 538Q115
+801 270 954T638 1104ZM249 447Q239 315 290 224L749 922Q694 951 630 953Q473 957 369 820T249 447ZM863 701Q860 775 829 844L373 152Q423 129 480 127Q620 124 720 234T852 531Q865 626 863 701Z" />
+<glyph unicode="&#xf9;" horiz-adv-x="1105" d="M718 107Q591 -24 395 -20Q240 -16 166 91T110 383L226 1082H407L290 380Q285 336 288 294Q293 222 331 181T437 137Q631 131 737 294L873 1082H1054L866 0H695L718 107ZM760 1240H617L412 1534H617L760 1240Z" />
+<glyph unicode="&#xfa;" horiz-adv-x="1105" d="M718 107Q591 -24 395 -20Q240 -16 166 91T110 383L226 1082H407L290 380Q285 336 288 294Q293 222 331 181T437 137Q631 131 737 294L873 1082H1054L866 0H695L718 107ZM790 1534H1020L714 1240H556L790 1534Z" />
+<glyph unicode="&#xfb;" horiz-adv-x="1105" d="M718 107Q591 -24 395 -20Q240 -16 166 91T110 383L226 1082H407L290 380Q285 336 288 294Q293 222 331 181T437 137Q631 131 737 294L873 1082H1054L866 0H695L718 107ZM961 1264V1250L814 1252L701 1421L525 1253L372
+1250V1266L650 1536H756L961 1264Z" />
+<glyph unicode="&#xfc;" horiz-adv-x="1105" d="M718 107Q591 -24 395 -20Q240 -16 166 91T110 383L226 1082H407L290 380Q285 336 288 294Q293 222 331 181T437 137Q631 131 737 294L873 1082H1054L866 0H695L718 107ZM370 1369Q371 1415 400 1445T476 1478Q523
+1479 553 1450T583 1373Q583 1327 553 1297T476 1265Q429 1264 400 1293T370 1369ZM787 1367Q788 1413 817 1444T893 1477Q941 1478 971 1449T1000 1371Q1000 1324 970 1295T893 1263Q847 1262 817 1291T787 1367Z" />
+<glyph unicode="&#xfd;" horiz-adv-x="950" d="M419 273L804 1082H1004L362 -180Q228 -443 18 -440Q-19 -439 -91 -422L-75 -272L-28 -277Q58 -281 120 -239T231 -101L296 23L109 1082H298L419 273ZM733 1534H963L657 1240H499L733 1534Z" />
+<glyph unicode="&#xfe;" horiz-adv-x="1155" d="M1020 536Q1000 370 930 237T759 40T533 -22Q347 -18 246 106L149 -416H-32L307 1536H487L381 969Q512 1106 693 1102Q851 1098 937 984T1027 681Q1028 620 1020 536ZM842 558L847 642Q847 787 791 865T631 945Q471
+949 359 797L269 278Q330 135 487 130Q624 127 718 236T842 558Z" />
+<glyph unicode="&#xff;" horiz-adv-x="950" d="M419 273L804 1082H1004L362 -180Q228 -443 18 -440Q-19 -439 -91 -422L-75 -272L-28 -277Q58 -281 120 -239T231 -101L296 23L109 1082H298L419 273ZM313 1369Q314 1415 343 1445T419 1478Q466 1479 496 1450T526
+1373Q526 1327 496 1297T419 1265Q372 1264 343 1293T313 1369ZM730 1367Q731 1413 760 1444T836 1477Q884 1478 914 1449T943 1371Q943 1324 913 1295T836 1263Q790 1262 760 1291T730 1367Z" />
+<glyph unicode="&#x2013;" horiz-adv-x="1314" d="M1396 651H423L456 802H1429L1396 651Z" />
+<glyph unicode="&#x2014;" horiz-adv-x="1561" d="M1707 651H410L453 802H1750L1707 651Z" />
+<glyph unicode="&#x2018;" horiz-adv-x="407" d="M417 1555L517 1481Q405 1341 378 1207L354 1073H174L192 1185Q228 1407 417 1555Z" />
+<glyph unicode="&#x2019;" horiz-adv-x="407" d="M237 1046L137 1120Q255 1267 279 1405L302 1536H480L461 1415Q425 1190 237 1046Z" />
+<glyph unicode="&#x201a;" horiz-adv-x="405" d="M-5 -283L-104 -208Q11 -64 35 75L53 181H234L219 85Q184 -135 -5 -283Z" />
+<glyph unicode="&#x201c;" horiz-adv-x="712" d="M425 1555L525 1481Q413 1341 386 1207L362 1073H182L200 1185Q236 1407 425 1555ZM730 1555L830 1481Q718 1341 691 1207L667 1073H487L505 1185Q541 1407 730 1555Z" />
+<glyph unicode="&#x201d;" horiz-adv-x="719" d="M249 1046L149 1120Q267 1267 291 1405L314 1536H492L473 1415Q437 1190 249 1046ZM546 1046L446 1120Q564 1267 588 1405L611 1536H789L770 1415Q734 1190 546 1046Z" />
+<glyph unicode="&#x201e;" horiz-adv-x="694" d="M-4 -302L-108 -227Q8 -76 35 75L65 246H245L220 90Q181 -151 -4 -302ZM283 -302L180 -227Q296 -73 322 75L352 246H533L508 90Q469 -150 283 -302Z" />
+<glyph unicode="&#x2022;" horiz-adv-x="679" d="M161 765Q167 859 225 915T370 972Q451 972 503 918T556 775L554 733Q548 643 492 588T345 533Q263 533 212 586T160 724L161 765Z" />
+<glyph unicode="&#x2039;" horiz-adv-x="606" d="M267 540L445 153H320L95 540L97 560L444 949H596L267 540Z" />
+<glyph unicode="&#x203a;" horiz-adv-x="606" d="M278 949L503 562L501 541L154 152H2L330 560L153 949H278Z" />
+</font>
+</defs>
+</svg>
diff --git a/assets/fonts/Roboto-italic/Roboto-italic.ttf b/assets/fonts/Roboto-italic/Roboto-italic.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..b0dd4a1e528f513a5261baa536e6a226200a2bb6
GIT binary patch
literal 33404
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
RR;p6MN{V@9tNe#1{sOTsz$*X%

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-italic/Roboto-italic.woff b/assets/fonts/Roboto-italic/Roboto-italic.woff
new file mode 100644
index 0000000000000000000000000000000000000000..dcfeb0083663b3deb1dae10ac8817ff3cc745c6f
GIT binary patch
literal 14716
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
N%s%}dkpBt@{~yorWvT!G

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-italic/Roboto-italic.woff2 b/assets/fonts/Roboto-italic/Roboto-italic.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..1bb77f9d11136c6490559d34ffc7d08c660ad5c4
GIT binary patch
literal 11500
zcmV<IEECgrPew8T0RR9104(eP4*&oF08&5z04$RL0ssI200000000000000000000
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
SGj^Q8m4<)c5Rh*`A_WtV#7PwZ

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-regular/LICENSE.txt b/assets/fonts/Roboto-regular/LICENSE.txt
new file mode 100644
index 00000000..d6456956
--- /dev/null
+++ b/assets/fonts/Roboto-regular/LICENSE.txt
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/assets/fonts/Roboto-regular/Roboto-regular.eot b/assets/fonts/Roboto-regular/Roboto-regular.eot
new file mode 100644
index 0000000000000000000000000000000000000000..d26bc8f519b5b90a0639f82a18bfef133599196a
GIT binary patch
literal 16227
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

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-regular/Roboto-regular.svg b/assets/fonts/Roboto-regular/Roboto-regular.svg
new file mode 100644
index 00000000..ed55c105
--- /dev/null
+++ b/assets/fonts/Roboto-regular/Roboto-regular.svg
@@ -0,0 +1,308 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg">
+<defs >
+<font id="Roboto" horiz-adv-x="1157" ><font-face
+    font-family="Roboto"
+    units-per-em="2048"
+    panose-1="2 0 0 0 0 0 0 0 0 0"
+    ascent="1900"
+    descent="-500"
+    alphabetic="0" />
+<glyph unicode=" " horiz-adv-x="507" />
+<glyph unicode="!" horiz-adv-x="527" d="M347 411H180L167 1456H361L347 411ZM160 93Q160 138 187 168T269 199T351 169T379 93T351 19T269 -11T188 18T160 93Z" />
+<glyph unicode="&quot;" horiz-adv-x="655" d="M277 1400L247 1042H136L137 1536H277V1400ZM547 1400L517 1042H406L407 1536H547V1400Z" />
+<glyph unicode="#" horiz-adv-x="1261" d="M765 410H501L421 0H278L358 410H119V547H384L453 901H195V1040H480L562 1456H705L623 1040H887L969 1456H1113L1031 1040H1235V901H1004L935 547H1160V410H909L829 0H685L765 410ZM527 547H791L860 901H596L527 547Z" />
+<glyph unicode="$" horiz-adv-x="1150" d="M856 375Q856 467 792 530T574 644Q361 709 264 813T166 1079Q166 1243 261 1348T524 1473V1692H673V1472Q841 1449 934 1331T1028 1008H844Q844 1149 777 1232T596 1315Q477 1315 414 1254T351 1082Q351 980 417 920T636
+810T874 701T1000 562T1041 377Q1041 208 940 105T655 -17V-208H507V-17Q321 0 216 115T110 429H295Q295 290 368 215T575 140Q706 140 781 203T856 375Z" />
+<glyph unicode="%" horiz-adv-x="1500" d="M105 1176Q105 1307 188 1392T403 1477Q536 1477 618 1392T701 1170V1099Q701 967 618 884T405 800Q275 800 190 883T105 1106V1176ZM243 1099Q243 1021 287 971T405 920Q476 920 519 969T563 1103V1176Q563 1254 520
+1305T403 1356T286 1305T243 1172V1099ZM814 357Q814 488 897 572T1112 657T1327 573T1411 350V279Q1411 148 1328 64T1114 -21T899 62T814 285V357ZM952 279Q952 200 996 150T1114 99Q1186 99 1229 148T1272 283V357Q1272 436 1229 486T1112 536Q1041 536 997
+487T952 353V279ZM447 110L342 176L1053 1314L1158 1248L447 110Z" />
+<glyph unicode="&amp;" horiz-adv-x="1273" d="M101 391Q101 496 159 584T383 789Q286 907 253 979T220 1122Q220 1288 318 1382T584 1476Q734 1476 832 1389T930 1168Q930 1080 886 1006T730 849L623 770L947 383Q1015 513 1015 672H1182Q1182 417 1059 249L1267
+0H1045L948 115Q874 49 775 15T572 -20Q359 -20 230 93T101 391ZM572 131Q719 131 841 243L486 668L453 644Q286 521 286 391Q286 273 362 202T572 131ZM405 1128Q405 1032 523 888L641 971Q709 1019 734 1062T759 1168Q759 1235 709 1279T583 1324Q501 1324 453
+1269T405 1128Z" />
+<glyph unicode="&apos;" horiz-adv-x="357" d="M253 1425L232 1057H103L104 1536H253V1425Z" />
+<glyph unicode="(" horiz-adv-x="700" d="M133 591Q133 817 193 1025T374 1403T623 1643L661 1521Q515 1409 422 1179T319 664L318 579Q318 193 459 -91Q544 -261 661 -357L623 -470Q490 -396 369 -222Q133 118 133 591Z" />
+<glyph unicode=")" horiz-adv-x="712" d="M567 581Q567 358 509 154T330 -224T77 -470L38 -357Q192 -239 285 9T381 561V593Q381 803 337 983T215 1307T38 1530L77 1643Q209 1570 328 1399T507 1022T567 581Z" />
+<glyph unicode="*" horiz-adv-x="882" d="M330 983L28 1073L74 1224L376 1112L367 1456H520L510 1107L807 1217L853 1065L546 974L744 703L620 609L434 897L254 616L129 707L330 983Z" />
+<glyph unicode="+" horiz-adv-x="1161" d="M670 781H1076V606H670V146H484V606H78V781H484V1206H670V781Z" />
+<glyph unicode="," horiz-adv-x="402" d="M134 -290L29 -218Q123 -87 127 52V219H308V74Q308 -27 259 -128T134 -290Z" />
+<glyph unicode="-" horiz-adv-x="565" d="M525 543H37V694H525V543Z" />
+<glyph unicode="." horiz-adv-x="539" d="M144 97Q144 145 172 177T258 209T344 177T374 97Q374 51 345 20T258 -11T173 20T144 97Z" />
+<glyph unicode="/" horiz-adv-x="844" d="M177 -125H18L626 1456H784L177 -125Z" />
+<glyph unicode="0" horiz-adv-x="1150" d="M1034 621Q1034 296 923 138T576 -20Q343 -20 231 134T115 596V843Q115 1164 226 1320T574 1476Q809 1476 920 1326T1034 861V621ZM849 874Q849 1109 783 1216T574 1324Q432 1324 367 1217T300 888V592Q300 356 368 244T576
+131Q713 131 779 237T849 571V874Z" />
+<glyph unicode="1" horiz-adv-x="1150" d="M729 0H543V1233L170 1096V1264L700 1463H729V0Z" />
+<glyph unicode="2" horiz-adv-x="1150" d="M1075 0H121V133L625 693Q737 820 779 899T822 1064Q822 1178 753 1251T569 1324Q431 1324 355 1246T278 1027H93Q93 1228 222 1352T569 1476Q772 1476 890 1370T1008 1086Q1008 871 734 574L344 151H1075V0Z" />
+<glyph unicode="3" horiz-adv-x="1150" d="M390 818H529Q660 820 735 887T810 1068Q810 1324 555 1324Q435 1324 364 1256T292 1074H107Q107 1247 233 1361T555 1476Q761 1476 878 1367T995 1064Q995 969 934 880T766 747Q886 709 951 621T1017 406Q1017 210 889
+95T556 -20T223 91T94 384H280Q280 269 355 200T556 131Q690 131 761 201T832 402Q832 529 754 597T529 667H390V818Z" />
+<glyph unicode="4" horiz-adv-x="1150" d="M902 489H1104V338H902V0H716V338H53V447L705 1456H902V489ZM263 489H716V1203L694 1163L263 489Z" />
+<glyph unicode="5" horiz-adv-x="1150" d="M206 730L280 1456H1026V1285H437L393 888Q500 951 636 951Q835 951 952 820T1069 464Q1069 239 948 110T608 -20Q415 -20 293 87T154 383H329Q346 258 418 195T608 131Q737 131 810 219T884 462Q884 608 805 696T593
+785Q472 785 403 732L354 692L206 730Z" />
+<glyph unicode="6" horiz-adv-x="1150" d="M847 1457V1300H813Q597 1296 469 1172T321 823Q436 955 635 955Q825 955 938 821T1052 475Q1052 250 930 115T601 -20Q392 -20 262 140T132 554V625Q132 1027 303 1239T814 1457H847ZM604 801Q509 801 429 744T318 601V533Q318
+353 399 243T601 133Q726 133 797 225T869 466Q869 616 797 708T604 801Z" />
+<glyph unicode="7" horiz-adv-x="1150" d="M1061 1352L458 0H264L865 1304H77V1456H1061V1352Z" />
+<glyph unicode="8" horiz-adv-x="1150" d="M1004 1076Q1004 967 947 882T791 749Q905 700 971 606T1038 393Q1038 204 911 92T575 -20Q365 -20 239 92T112 393Q112 511 176 606T355 750Q258 798 202 883T146 1076Q146 1260 264 1368T575 1476Q767 1476 885 1368T1004
+1076ZM853 397Q853 519 776 596T573 673T373 597T297 397T370 202T575 131Q705 131 779 202T853 397ZM575 1324Q466 1324 399 1257T331 1073Q331 962 397 894T575 825T752 893T819 1073T750 1254T575 1324Z" />
+<glyph unicode="9" horiz-adv-x="1150" d="M830 640Q772 571 692 529T515 487Q389 487 296 549T151 723T100 972Q100 1118 155 1235T313 1414T551 1476Q767 1476 891 1315T1016 874V820Q1016 395 848 200T341 -1H305V155H344Q573 159 696 274T830 640ZM545 640Q638
+640 716 697T831 838V912Q831 1094 752 1208T552 1322Q430 1322 356 1229T282 982Q282 833 353 737T545 640Z" />
+<glyph unicode=":" horiz-adv-x="496" d="M390 97Q390 145 418 177T504 209T590 177T620 97Q620 51 591 20T504 -11T419 20T390 97ZM135 980Q135 1028 163 1060T249 1092T335 1060T365 980Q365 934 336 903T249 872T164 903T135 980Z" />
+<glyph unicode=";" horiz-adv-x="433" d="M111 980Q111 1028 139 1060T225 1092T311 1060T341 980Q341 934 312 903T225 872T140 903T111 980ZM146 -290L41 -218Q135 -87 139 52V219H320V74Q320 -27 271 -128T146 -290Z" />
+<glyph unicode="&lt;" horiz-adv-x="1041" d="M264 644L890 391V195L72 574V720L890 1098V902L264 644Z" />
+<glyph unicode="=" horiz-adv-x="1124" d="M986 814H152V975H986V814ZM986 399H152V559H986V399Z" />
+<glyph unicode="&gt;" horiz-adv-x="1070" d="M795 650L134 909V1099L988 721V575L134 196V388L795 650Z" />
+<glyph unicode="?" horiz-adv-x="967" d="M357 410Q359 529 384 598T486 751L617 886Q701 981 701 1090Q701 1195 646 1254T486 1314Q384 1314 322 1260T260 1115H75Q77 1277 190 1376T486 1476Q675 1476 780 1375T886 1096Q886 921 724 751L615 643Q542 562 542
+410H357ZM349 93Q349 138 376 168T458 199T540 169T568 93T540 19T458 -11T377 18T349 93Z" />
+<glyph unicode="@" horiz-adv-x="1839" d="M1738 502Q1726 260 1618 120T1329 -20Q1142 -20 1089 148Q1035 63 966 22T822 -20Q680 -20 607 96T553 417Q568 582 628 711T784 915T985 989Q1066 989 1130 968T1274 883L1222 329Q1203 98 1350 98Q1463 98 1533 210T1609
+502Q1628 891 1465 1095T967 1299Q766 1299 610 1200T364 912T263 478Q251 230 323 48T542 -231T899 -328Q989 -328 1079 -306T1230 -249L1267 -364Q1205 -403 1103 -428T895 -453Q645 -453 465 -341T196 -17T118 478Q130 753 241 972T542 1311T971 1431Q1220 1431
+1398 1319T1663 996T1738 502ZM712 417Q698 275 738 199T867 123Q927 123 982 174T1074 320L1075 329L1121 832Q1065 861 1001 861Q884 861 808 742T712 417Z" />
+<glyph unicode="A" horiz-adv-x="1336" d="M973 380H363L226 0H28L584 1456H752L1309 0H1112L973 380ZM421 538H916L668 1219L421 538Z" />
+<glyph unicode="B" horiz-adv-x="1275" d="M169 0V1456H645Q882 1456 1001 1358T1121 1068Q1121 966 1063 888T905 766Q1023 733 1091 641T1160 420Q1160 224 1033 112T674 0H169ZM361 681V157H678Q812 157 889 226T967 418Q967 681 681 681H361ZM361 835H651Q777
+835 852 898T928 1069Q928 1189 858 1243T645 1298H361V835Z" />
+<glyph unicode="C" horiz-adv-x="1333" d="M1240 462Q1213 231 1070 106T688 -20Q430 -20 275 165T119 660V800Q119 1003 191 1157T397 1393T705 1476Q937 1476 1077 1347T1240 988H1047Q1022 1162 939 1240T705 1318Q521 1318 417 1182T312 795V654Q312 417 411
+277T688 137Q848 137 933 209T1047 462H1240Z" />
+<glyph unicode="D" horiz-adv-x="1343" d="M169 0V1456H580Q770 1456 916 1372T1141 1133T1222 777V684Q1222 478 1143 323T916 85T572 0H169ZM361 1298V157H563Q785 157 908 295T1032 688V773Q1032 1021 916 1158T585 1298H361Z" />
+<glyph unicode="E" horiz-adv-x="1164" d="M992 673H361V157H1094V0H169V1456H1084V1298H361V830H992V673Z" />
+<glyph unicode="F" horiz-adv-x="1132" d="M972 643H361V0H169V1456H1071V1298H361V800H972V643Z" />
+<glyph unicode="G" horiz-adv-x="1395" d="M1244 191Q1170 85 1038 33T729 -20Q551 -20 413 63T200 301T122 658V785Q122 1114 275 1295T707 1476Q935 1476 1074 1360T1244 1029H1052Q998 1318 708 1318Q515 1318 416 1183T315 790V671Q315 426 427 282T730 137Q838
+137 919 161T1053 242V569H716V725H1244V191Z" />
+<glyph unicode="H" horiz-adv-x="1460" d="M1288 0H1095V673H361V0H169V1456H361V830H1095V1456H1288V0Z" />
+<glyph unicode="I" horiz-adv-x="557" d="M375 0H183V1456H375V0Z" />
+<glyph unicode="J" horiz-adv-x="1130" d="M779 1456H972V425Q972 216 847 98T512 -20Q295 -20 174 91T53 402H245Q245 277 313 207T512 137Q631 137 704 212T779 422V1456Z" />
+<glyph unicode="K" horiz-adv-x="1284" d="M539 677L361 492V0H169V1456H361V736L1008 1456H1240L667 813L1285 0H1055L539 677Z" />
+<glyph unicode="L" horiz-adv-x="1102" d="M362 157H1052V0H169V1456H362V157Z" />
+<glyph unicode="M" horiz-adv-x="1788" d="M417 1456L893 268L1369 1456H1618V0H1426V567L1444 1179L966 0H819L342 1176L361 567V0H169V1456H417Z" />
+<glyph unicode="N" horiz-adv-x="1460" d="M1288 0H1095L362 1122V0H169V1456H362L1097 329V1456H1288V0Z" />
+<glyph unicode="O" horiz-adv-x="1408" d="M1289 681Q1289 467 1217 308T1013 64T705 -20Q533 -20 400 64T194 305T118 668V773Q118 983 191 1144T397 1390T703 1476Q878 1476 1011 1392T1217 1147T1289 773V681ZM1098 775Q1098 1034 994 1172T703 1311Q521 1311
+417 1173T309 788V681Q309 430 414 287T705 143Q891 143 993 278T1098 667V775Z" />
+<glyph unicode="P" horiz-adv-x="1292" d="M361 570V0H169V1456H706Q945 1456 1080 1334T1216 1011Q1216 799 1084 685T704 570H361ZM361 727H706Q860 727 942 799T1024 1009Q1024 1139 942 1217T717 1298H361V727Z" />
+<glyph unicode="Q" horiz-adv-x="1408" d="M1281 681Q1281 470 1214 318T1026 79L1286 -125L1155 -246L848 -2Q776 -20 696 -20Q524 -20 391 64T185 305T109 668V773Q109 983 182 1144T388 1390T694 1476Q870 1476 1003 1391T1209 1147T1281 774V681ZM1089 775Q1089
+1032 987 1171T694 1311Q513 1311 409 1173T301 788V681Q301 431 405 287T696 143T984 278T1089 667V775Z" />
+<glyph unicode="R" horiz-adv-x="1261" d="M703 589H361V0H168V1456H650Q896 1456 1028 1344T1161 1018Q1161 882 1088 781T883 630L1225 12V0H1019L703 589ZM361 746H656Q799 746 883 820T968 1018Q968 1153 888 1225T655 1298H361V746Z" />
+<glyph unicode="S" horiz-adv-x="1215" d="M598 649Q351 720 239 823T126 1079Q126 1251 263 1363T621 1476Q771 1476 888 1418T1070 1258T1135 1035H942Q942 1167 858 1242T621 1318Q479 1318 400 1256T320 1082Q320 993 395 932T652 819T936 707T1088 563T1138
+370Q1138 193 1000 87T631 -20Q481 -20 351 37T151 195T80 422H273Q273 290 370 214T631 137Q783 137 864 199T945 368T870 533T598 649Z" />
+<glyph unicode="T" horiz-adv-x="1222" d="M1175 1298H707V0H516V1298H49V1456H1175V1298Z" />
+<glyph unicode="U" horiz-adv-x="1328" d="M1194 1456V466Q1193 260 1065 129T716 -18L665 -20Q426 -20 284 109T140 464V1456H330V470Q330 312 417 225T665 137Q828 137 914 224T1001 469V1456H1194Z" />
+<glyph unicode="V" horiz-adv-x="1303" d="M651 255L1067 1456H1277L737 0H567L28 1456H237L651 255Z" />
+<glyph unicode="W" horiz-adv-x="1817" d="M483 459L511 267L552 440L840 1456H1002L1283 440L1323 264L1354 460L1580 1456H1773L1420 0H1245L945 1061L922 1172L899 1061L588 0H413L61 1456H253L483 459Z" />
+<glyph unicode="X" horiz-adv-x="1284" d="M644 898L993 1456H1219L759 734L1230 0H1002L644 568L284 0H57L529 734L68 1456H293L644 898Z" />
+<glyph unicode="Y" horiz-adv-x="1230" d="M613 725L993 1456H1211L709 543V0H517V543L15 1456H235L613 725Z" />
+<glyph unicode="Z" horiz-adv-x="1226" d="M313 157H1146V0H86V144L884 1298H99V1456H1114V1315L313 157Z" />
+<glyph unicode="[" horiz-adv-x="543" d="M523 1512H332V-160H523V-312H146V1664H523V1512Z" />
+<glyph unicode="\" horiz-adv-x="840" d="M40 1456H216L824 -125H648L40 1456Z" />
+<glyph unicode="]" horiz-adv-x="543" d="M9 1664H387V-312H9V-160H202V1512H9V1664Z" />
+<glyph unicode="^" horiz-adv-x="856" d="M426 1211L236 729H64L363 1456H490L788 729H617L426 1211Z" />
+<glyph unicode="_" horiz-adv-x="924" d="M920 -151H4V0H920V-151Z" />
+<glyph unicode="`" horiz-adv-x="633" d="M474 1240H315L57 1534H280L474 1240Z" />
+<glyph unicode="a" horiz-adv-x="1114" d="M808 0Q792 32 782 114Q653 -20 474 -20Q314 -20 212 70T109 300Q109 469 237 562T599 656H779V741Q779 838 721 895T550 953Q451 953 384 903T317 782H131Q131 863 188 938T344 1058T561 1102Q748 1102 854 1009T964
+751V253Q964 104 1002 16V0H808ZM501 141Q588 141 666 186T779 303V525H634Q294 525 294 326Q294 239 352 190T501 141Z" />
+<glyph unicode="b" horiz-adv-x="1149" d="M1056 529Q1056 281 942 131T636 -20Q431 -20 319 125L310 0H140V1536H325V963Q437 1102 634 1102T943 953T1056 545V529ZM871 550Q871 739 798 842T588 945Q405 945 325 775V307Q410 137 590 137Q723 137 797 240T871 550Z" />
+<glyph unicode="c" horiz-adv-x="1072" d="M574 131Q673 131 747 191T829 341H1004Q999 248 940 164T783 30T574 -20Q353 -20 223 127T92 531V562Q92 720 150 843T316 1034T573 1102Q755 1102 875 993T1004 710H829Q821 815 750 882T573 950Q432 950 355 849T277
+555V520Q277 333 354 232T574 131Z" />
+<glyph unicode="d" horiz-adv-x="1155" d="M95 550Q95 799 213 950T522 1102Q712 1102 823 972V1536H1008V0H838L829 116Q718 -20 520 -20Q332 -20 214 134T95 536V550ZM280 529Q280 345 356 241T566 137Q742 137 823 295V792Q740 945 568 945Q432 945 356 840T280 529Z" />
+<glyph unicode="e" horiz-adv-x="1085" d="M589 -20Q369 -20 231 124T93 511V545Q93 706 154 832T326 1030T566 1102Q777 1102 894 963T1011 565V488H278Q282 328 371 230T599 131Q697 131 765 171T884 277L997 189Q861 -20 589 -20ZM566 950Q454 950 378 869T284
+640H826V654Q818 795 750 872T566 950Z" />
+<glyph unicode="f" horiz-adv-x="711" d="M231 0V939H60V1082H231V1193Q231 1367 324 1462T587 1557Q651 1557 714 1540L704 1390Q657 1399 604 1399Q514 1399 465 1347T416 1196V1082H647V939H416V0H231Z" />
+<glyph unicode="g" horiz-adv-x="1149" d="M96 550Q96 803 213 952T523 1102Q721 1102 832 962L841 1082H1010V26Q1010 -184 886 -305T551 -426Q434 -426 322 -376T151 -239L247 -128Q366 -275 538 -275Q673 -275 748 -199T824 15V108Q713 -20 521 -20Q331 -20
+214 133T96 550ZM282 529Q282 346 357 242T567 137Q742 137 824 296V790Q739 945 569 945Q434 945 358 840T282 529Z" />
+<glyph unicode="h" horiz-adv-x="1128" d="M325 951Q448 1102 645 1102Q988 1102 991 715V0H806V716Q805 833 753 889T589 945Q499 945 431 897T325 771V0H140V1536H325V951Z" />
+<glyph unicode="i" horiz-adv-x="497" d="M341 0H156V1082H341V0ZM141 1369Q141 1414 168 1445T250 1476T332 1445T360 1369T332 1294T250 1264T169 1294T141 1369Z" />
+<glyph unicode="j" horiz-adv-x="489" d="M331 1082V-125Q331 -437 48 -437Q-13 -437 -65 -419V-271Q-33 -279 19 -279Q81 -279 113 -246T146 -129V1082H331ZM127 1369Q127 1413 154 1444T235 1476Q289 1476 317 1445T345 1369T317 1294T235 1264T154 1294T127 1369Z" />
+<glyph unicode="k" horiz-adv-x="1038" d="M442 501L326 380V0H141V1536H326V607L425 726L762 1082H987L566 630L1036 0H819L442 501Z" />
+<glyph unicode="l" horiz-adv-x="497" d="M341 0H156V1536H341V0Z" />
+<glyph unicode="m" horiz-adv-x="1795" d="M314 1082L319 962Q438 1102 640 1102Q867 1102 949 928Q1003 1006 1089 1054T1294 1102Q1650 1102 1656 725V0H1471V714Q1471 830 1418 887T1240 945Q1137 945 1069 884T990 718V0H804V709Q804 945 573 945Q391 945
+324 790V0H139V1082H314Z" />
+<glyph unicode="n" horiz-adv-x="1130" d="M315 1082L321 946Q445 1102 645 1102Q988 1102 991 715V0H806V716Q805 833 753 889T589 945Q499 945 431 897T325 771V0H140V1082H315Z" />
+<glyph unicode="o" horiz-adv-x="1168" d="M91 551Q91 710 153 837T327 1033T582 1102Q803 1102 939 949T1076 542V529Q1076 371 1016 246T843 50T584 -20Q364 -20 228 133T91 538V551ZM277 529Q277 349 360 240T584 131Q725 131 808 241T891 551Q891 729 807
+839T582 950Q445 950 361 841T277 529Z" />
+<glyph unicode="p" horiz-adv-x="1149" d="M1054 529Q1054 282 941 131T635 -20Q438 -20 325 105V-416H140V1082H309L318 962Q431 1102 632 1102Q827 1102 940 955T1054 546V529ZM869 550Q869 733 791 839T577 945Q409 945 325 796V279Q408 131 579 131Q712 131
+790 236T869 550Z" />
+<glyph unicode="q" horiz-adv-x="1164" d="M95 550Q95 805 212 953T526 1102Q718 1102 829 973L837 1082H1007V-416H822V100Q710 -20 524 -20Q328 -20 212 132T95 537V550ZM280 529Q280 343 358 237T570 131Q735 131 822 277V807Q734 950 572 950Q438 950 359
+844T280 529Z" />
+<glyph unicode="r" horiz-adv-x="693" d="M663 916Q621 923 572 923Q390 923 325 768V0H140V1082H320L323 957Q414 1102 581 1102Q635 1102 663 1088V916Z" />
+<glyph unicode="s" horiz-adv-x="1056" d="M770 287Q770 362 714 403T517 475T294 547T172 647T132 785Q132 918 244 1010T532 1102Q716 1102 830 1007T945 764H759Q759 840 695 895T532 950Q431 950 374 906T317 791Q317 724 370 690T561 625T786 551T913 448T955
+300Q955 155 839 68T538 -20Q408 -20 308 26T152 154T95 333H280Q285 240 354 186T538 131Q643 131 706 173T770 287Z" />
+<glyph unicode="t" horiz-adv-x="669" d="M391 1344V1082H593V939H391V268Q391 203 418 171T510 138Q542 138 598 150V0Q525 -20 456 -20Q332 -20 269 55T206 268V939H9V1082H206V1344H391Z" />
+<glyph unicode="u" horiz-adv-x="1129" d="M808 107Q700 -20 491 -20Q318 -20 228 80T136 378V1082H321V383Q321 137 521 137Q733 137 803 295V1082H988V0H812L808 107Z" />
+<glyph unicode="v" horiz-adv-x="992" d="M497 251L765 1082H954L566 0H425L33 1082H222L497 251Z" />
+<glyph unicode="w" horiz-adv-x="1539" d="M1098 255L1306 1082H1491L1176 0H1026L763 820L507 0H357L43 1082H227L440 272L692 1082H841L1098 255Z" />
+<glyph unicode="x" horiz-adv-x="1015" d="M503 687L743 1082H959L605 547L970 0H756L506 405L256 0H41L406 547L52 1082H266L503 687Z" />
+<glyph unicode="y" horiz-adv-x="969" d="M494 271L746 1082H944L509 -167Q408 -437 188 -437L153 -434L84 -421V-271L134 -275Q228 -275 280 -237T367 -98L408 12L22 1082H224L494 271Z" />
+<glyph unicode="z" horiz-adv-x="1015" d="M314 151H947V0H88V136L685 929H97V1082H917V951L314 151Z" />
+<glyph unicode="{" horiz-adv-x="693" d="M632 -366Q455 -316 366 -202T276 101V300Q276 543 64 543V688Q276 688 276 930V1138Q278 1321 365 1433T632 1597L670 1482Q461 1415 461 1133V931Q461 704 294 615Q461 525 461 296V90Q464 -185 670 -251L632 -366Z" />
+<glyph unicode="|" horiz-adv-x="499" d="M324 -270H175V1456H324V-270Z" />
+<glyph unicode="}" horiz-adv-x="693" d="M19 -251Q222 -186 229 80V300Q229 531 410 615Q229 697 229 930V1133Q229 1415 20 1482L58 1597Q235 1547 324 1435T414 1137V927Q414 688 626 688V543Q414 543 414 300V98Q414 -90 324 -203T58 -366L19 -251Z" />
+<glyph unicode="~" horiz-adv-x="1393" d="M1263 777Q1263 619 1170 511T939 402Q867 402 803 428T655 529T533 621T454 639Q376 639 334 586T292 438L131 436Q131 596 223 699T454 802Q530 802 600 770T758 658T910 567L939 565Q1015 565 1062 623T1110 776L1263 777Z" />
+<glyph unicode="&#xa0;" horiz-adv-x="507" />
+<glyph unicode="&#xa1;" horiz-adv-x="499" d="M170 684H338L351 -360H157L170 684ZM358 996Q358 951 331 920T249 889T167 920T139 996T167 1071T249 1101T330 1071T358 996Z" />
+<glyph unicode="&#xa2;" horiz-adv-x="1120" d="M586 131Q686 131 760 191T842 341H1017Q1011 215 912 115T669 -12V-245H484V-11Q305 23 205 165T105 527V562Q105 774 206 916T484 1092V1318H669V1095Q819 1072 915 966T1017 710H842Q834 815 763 882T586 950Q445
+950 368 849T290 555V520Q290 333 367 232T586 131Z" />
+<glyph unicode="&#xa3;" horiz-adv-x="1190" d="M449 622L457 402Q457 248 395 157H1128L1127 0H95V157H172Q212 166 237 231T264 393V401L256 622H91V779H251L242 1039Q242 1238 364 1357T687 1476Q877 1476 988 1370T1099 1087H908Q908 1194 845 1256T670 1318Q565
+1318 500 1241T435 1039L444 779H763V622H449Z" />
+<glyph unicode="&#xa4;" horiz-adv-x="1460" d="M1103 112Q944 -20 735 -20Q528 -20 369 110L235 -26L105 109L244 250Q140 406 140 608Q140 814 252 977L105 1128L235 1264L382 1114Q540 1234 735 1234Q931 1234 1090 1113L1239 1265L1371 1128L1220 974Q1330
+811 1330 608Q1330 412 1228 253L1371 109L1239 -27L1103 112ZM311 608Q311 485 368 379T524 212T735 151T946 212T1100 379T1157 608Q1157 730 1101 835T946 1001T735 1062Q622 1062 524 1002T369 836T311 608Z" />
+<glyph unicode="&#xa5;" horiz-adv-x="1240" d="M614 782L978 1456H1197L779 736H1091V611H707V446H1091V322H707V0H514V322H136V446H514V611H136V736H449L31 1456H251L614 782Z" />
+<glyph unicode="&#xa6;" horiz-adv-x="491" d="M147 -270V521H333V-270H147ZM333 698H147V1456H333V698Z" />
+<glyph unicode="&#xa7;" horiz-adv-x="1256" d="M1145 431Q1145 242 959 157Q1028 108 1064 40T1100 -128Q1100 -296 970 -395T612 -495Q500 -495 400 -467T229 -382Q90 -269 90 -64L276 -62Q276 -192 366 -267T612 -343Q748 -343 831 -285T914 -130Q914 -41 843
+11T563 126Q381 174 285 229T143 362T96 551Q96 737 278 825Q212 874 177 942T141 1110Q141 1276 274 1376T630 1476Q862 1476 992 1363T1122 1045H937Q937 1170 853 1247T630 1325Q488 1325 408 1268T327 1112Q327 1043 355 1003T450 931T661 858T889 782T1030
+698T1116 585T1145 431ZM602 691Q512 715 437 742Q357 723 320 673T282 553Q282 483 309 443T402 370T611 296T797 238Q875 258 917 308T959 428Q959 516 890 570T602 691Z" />
+<glyph unicode="&#xa8;" horiz-adv-x="856" d="M102 1371Q102 1416 129 1446T211 1477T293 1447T321 1371T293 1296T211 1266T130 1296T102 1371ZM532 1369Q532 1414 559 1445T641 1476T723 1445T751 1369T723 1294T641 1264T560 1294T532 1369Z" />
+<glyph unicode="&#xa9;" horiz-adv-x="1609" d="M1119 597Q1119 444 1033 364T788 283Q631 283 537 388T442 676V786Q442 962 537 1067T788 1173Q948 1173 1034 1091T1120 860H974Q974 959 927 1001T788 1044Q694 1044 640 975T586 783V670Q586 550 640 481T788
+412Q880 412 926 454T973 597H1119ZM206 729Q206 557 286 411T503 181T801 98T1098 181T1315 410T1395 729Q1395 899 1316 1044T1100 1272T801 1356Q641 1356 503 1274T286 1045T206 729ZM91 729Q91 931 184 1104T443 1376T801 1476T1158 1377T1416 1104T1510 729Q1510
+532 1420 360T1165 84T801 -21Q604 -21 439 82T182 358T91 729Z" />
+<glyph unicode="&#xaa;" horiz-adv-x="915" d="M618 705Q606 739 600 777Q524 691 396 691Q277 691 212 753T147 918Q147 1029 230 1089T486 1149H594V1201Q594 1336 470 1336Q401 1336 362 1309T322 1231L161 1243Q161 1346 247 1411T470 1476Q603 1476 680 1405T757
+1199V883Q757 786 783 705H618ZM435 828Q478 828 522 848T594 895V1037H482Q399 1036 355 1005T310 922Q310 828 435 828Z" />
+<glyph unicode="&#xab;" horiz-adv-x="961" d="M536 804L794 407H653L358 795V814L653 1203H794L536 804ZM610 548L868 151H727L432 539V558L727 947H868L610 548Z" />
+<glyph unicode="&#xac;" horiz-adv-x="1134" d="M958 375H772V639H127V800H958V375Z" />
+<glyph unicode="&#xad;" horiz-adv-x="565" d="M525 543H37V694H525V543Z" />
+<glyph unicode="&#xae;" horiz-adv-x="1610" d="M90 729Q90 931 183 1104T442 1376T800 1476T1157 1377T1415 1104T1509 729Q1509 532 1419 360T1164 84T800 -21Q603 -21 438 82T181 358T90 729ZM205 729Q205 557 285 411T502 181T800 98Q961 98 1099 182T1315
+412T1394 729Q1394 900 1316 1044T1099 1272T800 1356Q640 1356 502 1274T285 1045T205 729ZM653 654V316H512V1165H788Q941 1165 1025 1100T1110 909Q1110 786 982 721Q1104 671 1105 517V456Q1105 370 1122 332V316H977Q963 352 963 444T960 554Q944 650 829
+654H653ZM653 782H809Q881 784 925 817T969 904Q969 977 930 1007T791 1038H653V782Z" />
+<glyph unicode="&#xaf;" horiz-adv-x="938" d="M834 1313H120V1456H834V1313Z" />
+<glyph unicode="&#xb0;" horiz-adv-x="765" d="M130 1216Q130 1320 204 1398T385 1476Q489 1476 562 1399T636 1216Q636 1110 563 1035T385 960Q280 960 205 1035T130 1216ZM385 1088Q439 1088 476 1123T513 1216Q513 1274 476 1311T385 1349Q330 1349 293 1310T255
+1216T292 1125T385 1088Z" />
+<glyph unicode="&#xb1;" horiz-adv-x="1094" d="M649 854H1013V703H649V289H482V703H97V854H482V1267H649V854ZM970 0H135V152H970V0Z" />
+<glyph unicode="&#xb2;" horiz-adv-x="751" d="M683 667H84V775L384 1057Q493 1159 493 1228Q493 1277 461 1307T369 1338Q294 1338 259 1300T223 1205H66Q66 1319 149 1393T365 1467T574 1404T651 1230Q651 1126 544 1019L460 940L284 795H683V667Z" />
+<glyph unicode="&#xb3;" horiz-adv-x="751" d="M265 1125H349Q423 1125 459 1155T495 1234Q495 1279 464 1308T362 1337Q305 1337 268 1312T230 1245H73Q73 1343 154 1404T360 1466Q497 1466 575 1406T653 1241Q653 1186 618 1141T517 1070Q666 1029 666 886Q666
+780 581 718T360 655Q228 655 145 718T62 888H220Q220 843 259 813T366 783Q436 783 472 813T509 894Q509 1007 353 1009H265V1125Z" />
+<glyph unicode="&#xb4;" horiz-adv-x="642" d="M316 1534H540L272 1240H123L316 1534Z" />
+<glyph unicode="&#xb5;" horiz-adv-x="1160" d="M339 1082V449Q340 286 391 208T559 130Q758 130 820 282V1082H1006V0H839L830 115Q737 -20 567 -20Q420 -20 339 53V-416H154V1082H339Z" />
+<glyph unicode="&#xb6;" horiz-adv-x="1001" d="M646 0V520H562Q332 520 200 647T67 988Q67 1201 200 1328T563 1456H832V0H646Z" />
+<glyph unicode="&#xb7;" horiz-adv-x="534" d="M147 729Q147 777 175 809T261 841T347 809T377 729Q377 682 348 651T261 619T176 650T147 729Z" />
+<glyph unicode="&#xb8;" horiz-adv-x="507" d="M285 0L273 -52Q426 -79 426 -225Q426 -322 346 -378T123 -435L116 -328Q195 -328 238 -302T282 -229Q282 -185 250 -164T120 -134L152 0H285Z" />
+<glyph unicode="&#xb9;" horiz-adv-x="751" d="M495 674H338V1275L122 1218V1346L477 1463H495V674Z" />
+<glyph unicode="&#xba;" horiz-adv-x="931" d="M122 1123Q122 1281 216 1378T464 1476Q619 1476 713 1380T807 1117V1043Q807 884 714 787T466 690T217 787T122 1049V1123ZM285 1043Q285 943 333 886T466 829Q549 829 596 886T644 1045V1123Q644 1222 596 1279T464
+1336Q383 1336 335 1281T285 1129V1043Z" />
+<glyph unicode="&#xbb;" horiz-adv-x="960" d="M244 949L539 560V541L244 152H102L360 550L102 949H244ZM593 949L888 560V541L593 152H451L709 550L451 949H593Z" />
+<glyph unicode="&#xbc;" horiz-adv-x="1500" d="M458 664H301V1265L85 1208V1336L440 1453H458V664ZM443 118L339 184L1050 1322L1154 1256L443 118ZM1318 299H1425V169H1318V0H1161V169H786L780 271L1157 789H1318V299ZM938 299H1161V588L1144 560L938 299Z" />
+<glyph unicode="&#xbd;" horiz-adv-x="1589" d="M399 118L295 184L1006 1322L1110 1256L399 118ZM453 664H296V1265L80 1208V1336L435 1453H453V664ZM1481 0H882V108L1182 390Q1291 492 1291 561Q1291 610 1259 640T1167 671Q1092 671 1057 633T1021 538H864Q864
+652 947 726T1163 800T1372 737T1449 563Q1449 459 1342 352L1258 273L1082 128H1481V0Z" />
+<glyph unicode="&#xbe;" horiz-adv-x="1593" d="M570 118L466 184L1177 1322L1281 1256L570 118ZM1410 299H1517V169H1410V0H1253V169H878L872 271L1249 789H1410V299ZM1030 299H1253V588L1236 560L1030 299ZM314 1126H398Q472 1126 508 1156T544 1235Q544 1280
+513 1309T411 1338Q354 1338 317 1313T279 1246H122Q122 1344 203 1405T409 1467Q546 1467 624 1407T702 1242Q702 1187 667 1142T566 1071Q715 1030 715 887Q715 781 630 719T409 656Q277 656 194 719T111 889H269Q269 844 308 814T415 784Q485 784 521 814T558
+895Q558 1008 402 1010H314V1126Z" />
+<glyph unicode="&#xbf;" horiz-adv-x="969" d="M588 680Q587 574 567 511T498 388T358 233T255 37L253 0Q253 -109 311 -166T478 -224Q578 -224 640 -168T703 -20H888Q886 -181 774 -283T478 -385Q282 -385 175 -285T68 -5Q68 168 228 343L337 456Q403 534 403
+680H588ZM596 997Q596 952 569 921T487 890T405 921T377 997Q377 1041 405 1071T487 1101T568 1071T596 997Z" />
+<glyph unicode="&#xc0;" horiz-adv-x="1336" d="M973 380H363L226 0H28L584 1456H752L1309 0H1112L973 380ZM421 538H916L668 1219L421 538ZM778 1550H619L361 1844H584L778 1550Z" />
+<glyph unicode="&#xc1;" horiz-adv-x="1336" d="M973 380H363L226 0H28L584 1456H752L1309 0H1112L973 380ZM421 538H916L668 1219L421 538ZM763 1844H987L719 1550H570L763 1844Z" />
+<glyph unicode="&#xc2;" horiz-adv-x="1336" d="M973 380H363L226 0H28L584 1456H752L1309 0H1112L973 380ZM421 538H916L668 1219L421 538ZM975 1572V1562H822L672 1732L523 1562H370V1574L616 1846H728L975 1572Z" />
+<glyph unicode="&#xc3;" horiz-adv-x="1336" d="M973 380H363L226 0H28L584 1456H752L1309 0H1112L973 380ZM421 538H916L668 1219L421 538ZM1027 1814Q1027 1706 966 1639T812 1572Q771 1572 741 1582T663 1623T593 1660T543 1667Q502 1667 473 1636T444 1555L320
+1562Q320 1669 380 1739T534 1809Q569 1809 597 1799T673 1760T746 1722T803 1713Q846 1713 874 1747T903 1826L1027 1814Z" />
+<glyph unicode="&#xc4;" horiz-adv-x="1336" d="M973 380H363L226 0H28L584 1456H752L1309 0H1112L973 380ZM421 538H916L668 1219L421 538ZM351 1681Q351 1726 378 1756T460 1787T542 1757T570 1681T542 1606T460 1576T379 1606T351 1681ZM781 1679Q781 1724
+808 1755T890 1786T972 1755T1000 1679T972 1604T890 1574T809 1604T781 1679Z" />
+<glyph unicode="&#xc5;" horiz-adv-x="1336" d="M973 380H363L226 0H28L584 1456H752L1309 0H1112L973 380ZM421 538H916L668 1219L421 538ZM887 1729Q887 1642 825 1584T672 1525Q580 1525 519 1584T457 1729T518 1876T672 1937T825 1876T887 1729ZM556 1729Q556
+1682 589 1648T672 1614Q720 1614 754 1647T788 1729T755 1812T672 1847Q622 1847 589 1812T556 1729Z" />
+<glyph unicode="&#xc6;" horiz-adv-x="1914" d="M1879 0H996L981 353H417L212 0H-14L866 1456H1817V1304H1126L1146 833H1736V682H1152L1174 151H1879V0ZM518 527H974L943 1260L518 527Z" />
+<glyph unicode="&#xc7;" horiz-adv-x="1333" d="M1240 462Q1213 231 1070 106T688 -20Q430 -20 275 165T119 660V800Q119 1003 191 1157T397 1393T705 1476Q937 1476 1077 1347T1240 988H1047Q1022 1162 939 1240T705 1318Q521 1318 417 1182T312 795V654Q312
+417 411 277T688 137Q848 137 933 209T1047 462H1240ZM751 -9L739 -61Q892 -88 892 -234Q892 -331 812 -387T589 -444L582 -337Q661 -337 704 -311T748 -238Q748 -194 716 -173T586 -143L618 -9H751Z" />
+<glyph unicode="&#xc8;" horiz-adv-x="1164" d="M992 673H361V157H1094V0H169V1456H1084V1298H361V830H992V673ZM725 1562H566L308 1856H531L725 1562Z" />
+<glyph unicode="&#xc9;" horiz-adv-x="1164" d="M992 673H361V157H1094V0H169V1456H1084V1298H361V830H992V673ZM710 1856H934L666 1562H517L710 1856Z" />
+<glyph unicode="&#xca;" horiz-adv-x="1164" d="M992 673H361V157H1094V0H169V1456H1084V1298H361V830H992V673ZM922 1584V1574H769L619 1744L470 1574H317V1586L563 1858H675L922 1584Z" />
+<glyph unicode="&#xcb;" horiz-adv-x="1164" d="M992 673H361V157H1094V0H169V1456H1084V1298H361V830H992V673ZM298 1693Q298 1738 325 1768T407 1799T489 1769T517 1693T489 1618T407 1588T326 1618T298 1693ZM728 1691Q728 1736 755 1767T837 1798T919 1767T947
+1691T919 1616T837 1586T756 1616T728 1691Z" />
+<glyph unicode="&#xcc;" horiz-adv-x="557" d="M375 0H183V1456H375V0ZM385 1562H226L-32 1856H191L385 1562Z" />
+<glyph unicode="&#xcd;" horiz-adv-x="557" d="M375 0H183V1456H375V0ZM369 1856H593L325 1562H176L369 1856Z" />
+<glyph unicode="&#xce;" horiz-adv-x="557" d="M375 0H183V1456H375V0ZM582 1584V1574H429L279 1744L130 1574H-23V1586L223 1858H335L582 1584Z" />
+<glyph unicode="&#xcf;" horiz-adv-x="557" d="M375 0H183V1456H375V0ZM-42 1693Q-42 1738 -15 1768T67 1799T149 1769T177 1693T149 1618T67 1588T-14 1618T-42 1693ZM388 1691Q388 1736 415 1767T497 1798T579 1767T607 1691T579 1616T497 1586T416 1616T388 1691Z" />
+<glyph unicode="&#xd0;" horiz-adv-x="1373" d="M199 0V666H37V817H199V1456H610Q800 1456 946 1372T1171 1133T1252 777V684Q1252 478 1173 323T946 85T602 0H199ZM673 666H391V157H592Q814 157 937 294T1062 680V773Q1062 1021 946 1158T615 1298H391V817H673V666Z" />
+<glyph unicode="&#xd1;" horiz-adv-x="1460" d="M1288 0H1095L362 1122V0H169V1456H362L1097 329V1456H1288V0ZM1081 1814Q1081 1706 1020 1639T866 1572Q825 1572 795 1582T717 1623T647 1660T597 1667Q556 1667 527 1636T498 1555L374 1562Q374 1669 434 1739T588
+1809Q623 1809 651 1799T727 1760T800 1722T857 1713Q900 1713 928 1747T957 1826L1081 1814Z" />
+<glyph unicode="&#xd2;" horiz-adv-x="1408" d="M1289 681Q1289 467 1217 308T1013 64T705 -20Q533 -20 400 64T194 305T118 668V773Q118 983 191 1144T397 1390T703 1476Q878 1476 1011 1392T1217 1147T1289 773V681ZM1098 775Q1098 1034 994 1172T703 1311Q521
+1311 417 1173T309 788V681Q309 430 414 287T705 143Q891 143 993 278T1098 667V775ZM812 1552H653L395 1846H618L812 1552Z" />
+<glyph unicode="&#xd3;" horiz-adv-x="1408" d="M1289 681Q1289 467 1217 308T1013 64T705 -20Q533 -20 400 64T194 305T118 668V773Q118 983 191 1144T397 1390T703 1476Q878 1476 1011 1392T1217 1147T1289 773V681ZM1098 775Q1098 1034 994 1172T703 1311Q521
+1311 417 1173T309 788V681Q309 430 414 287T705 143Q891 143 993 278T1098 667V775ZM797 1846H1021L753 1552H604L797 1846Z" />
+<glyph unicode="&#xd4;" horiz-adv-x="1408" d="M1289 681Q1289 467 1217 308T1013 64T705 -20Q533 -20 400 64T194 305T118 668V773Q118 983 191 1144T397 1390T703 1476Q878 1476 1011 1392T1217 1147T1289 773V681ZM1098 775Q1098 1034 994 1172T703 1311Q521
+1311 417 1173T309 788V681Q309 430 414 287T705 143Q891 143 993 278T1098 667V775ZM1009 1574V1564H856L706 1734L557 1564H404V1576L650 1848H762L1009 1574Z" />
+<glyph unicode="&#xd5;" horiz-adv-x="1408" d="M1289 681Q1289 467 1217 308T1013 64T705 -20Q533 -20 400 64T194 305T118 668V773Q118 983 191 1144T397 1390T703 1476Q878 1476 1011 1392T1217 1147T1289 773V681ZM1098 775Q1098 1034 994 1172T703 1311Q521
+1311 417 1173T309 788V681Q309 430 414 287T705 143Q891 143 993 278T1098 667V775ZM1061 1816Q1061 1708 1000 1641T846 1574Q805 1574 775 1584T697 1625T627 1662T577 1669Q536 1669 507 1638T478 1557L354 1564Q354 1671 414 1741T568 1811Q603 1811 631 1801T707
+1762T780 1724T837 1715Q880 1715 908 1749T937 1828L1061 1816Z" />
+<glyph unicode="&#xd6;" horiz-adv-x="1408" d="M1289 681Q1289 467 1217 308T1013 64T705 -20Q533 -20 400 64T194 305T118 668V773Q118 983 191 1144T397 1390T703 1476Q878 1476 1011 1392T1217 1147T1289 773V681ZM1098 775Q1098 1034 994 1172T703 1311Q521
+1311 417 1173T309 788V681Q309 430 414 287T705 143Q891 143 993 278T1098 667V775ZM385 1683Q385 1728 412 1758T494 1789T576 1759T604 1683T576 1608T494 1578T413 1608T385 1683ZM815 1681Q815 1726 842 1757T924 1788T1006 1757T1034 1681T1006 1606T924
+1576T843 1606T815 1681Z" />
+<glyph unicode="&#xd7;" horiz-adv-x="1092" d="M89 329L419 665L91 1000L210 1123L539 788L868 1123L987 1000L659 665L989 329L870 206L539 543L208 206L89 329Z" />
+<glyph unicode="&#xd8;" horiz-adv-x="1408" d="M1289 681Q1289 467 1217 308T1013 64T705 -20Q534 -20 403 62L306 -93H164L308 138Q118 330 118 690V773Q118 983 191 1144T397 1390T703 1476Q917 1476 1065 1351L1168 1516H1309L1150 1261Q1287 1074 1289 780V681ZM309
+681Q309 437 407 296L971 1200Q869 1311 703 1311Q521 1311 417 1173T309 788V681ZM1098 775Q1098 957 1042 1088L493 207Q584 143 705 143Q891 143 993 278T1098 667V775Z" />
+<glyph unicode="&#xd9;" horiz-adv-x="1328" d="M1194 1456V466Q1193 260 1065 129T716 -18L665 -20Q426 -20 284 109T140 464V1456H330V470Q330 312 417 225T665 137Q828 137 914 224T1001 469V1456H1194ZM773 1550H614L356 1844H579L773 1550Z" />
+<glyph unicode="&#xda;" horiz-adv-x="1328" d="M1194 1456V466Q1193 260 1065 129T716 -18L665 -20Q426 -20 284 109T140 464V1456H330V470Q330 312 417 225T665 137Q828 137 914 224T1001 469V1456H1194ZM758 1844H982L714 1550H565L758 1844Z" />
+<glyph unicode="&#xdb;" horiz-adv-x="1328" d="M1194 1456V466Q1193 260 1065 129T716 -18L665 -20Q426 -20 284 109T140 464V1456H330V470Q330 312 417 225T665 137Q828 137 914 224T1001 469V1456H1194ZM970 1572V1562H817L667 1732L518 1562H365V1574L611
+1846H723L970 1572Z" />
+<glyph unicode="&#xdc;" horiz-adv-x="1328" d="M1194 1456V466Q1193 260 1065 129T716 -18L665 -20Q426 -20 284 109T140 464V1456H330V470Q330 312 417 225T665 137Q828 137 914 224T1001 469V1456H1194ZM346 1681Q346 1726 373 1756T455 1787T537 1757T565
+1681T537 1606T455 1576T374 1606T346 1681ZM776 1679Q776 1724 803 1755T885 1786T967 1755T995 1679T967 1604T885 1574T804 1604T776 1679Z" />
+<glyph unicode="&#xdd;" horiz-adv-x="1230" d="M613 725L993 1456H1211L709 543V0H517V543L15 1456H235L613 725ZM708 1844H932L664 1550H515L708 1844Z" />
+<glyph unicode="&#xde;" horiz-adv-x="1210" d="M352 1456V1163H631Q778 1163 888 1111T1057 961T1117 738Q1117 544 985 429T626 313H352V0H166V1456H352ZM352 1011V465H629Q771 465 851 540T931 736Q931 859 851 934T635 1011H352Z" />
+<glyph unicode="&#xdf;" horiz-adv-x="1218" d="M324 0H139V1111Q139 1319 242 1436T532 1554Q712 1554 810 1465T909 1216Q909 1091 845 990T781 819Q781 768 818 721T950 601T1087 461T1130 317Q1130 158 1029 69T745 -20Q664 -20 574 2T445 52L488 207Q537
+175 604 153T725 131Q832 131 888 178T945 307Q945 359 908 407T777 528T639 671T595 821Q595 910 664 1013T734 1201Q734 1295 682 1348T542 1402Q324 1402 324 1109V0Z" />
+<glyph unicode="&#xe0;" horiz-adv-x="1114" d="M808 0Q792 32 782 114Q653 -20 474 -20Q314 -20 212 70T109 300Q109 469 237 562T599 656H779V741Q779 838 721 895T550 953Q451 953 384 903T317 782H131Q131 863 188 938T344 1058T561 1102Q748 1102 854 1009T964
+751V253Q964 104 1002 16V0H808ZM501 141Q588 141 666 186T779 303V525H634Q294 525 294 326Q294 239 352 190T501 141ZM687 1240H528L270 1534H493L687 1240Z" />
+<glyph unicode="&#xe1;" horiz-adv-x="1114" d="M808 0Q792 32 782 114Q653 -20 474 -20Q314 -20 212 70T109 300Q109 469 237 562T599 656H779V741Q779 838 721 895T550 953Q451 953 384 903T317 782H131Q131 863 188 938T344 1058T561 1102Q748 1102 854 1009T964
+751V253Q964 104 1002 16V0H808ZM501 141Q588 141 666 186T779 303V525H634Q294 525 294 326Q294 239 352 190T501 141ZM672 1534H896L628 1240H479L672 1534Z" />
+<glyph unicode="&#xe2;" horiz-adv-x="1114" d="M808 0Q792 32 782 114Q653 -20 474 -20Q314 -20 212 70T109 300Q109 469 237 562T599 656H779V741Q779 838 721 895T550 953Q451 953 384 903T317 782H131Q131 863 188 938T344 1058T561 1102Q748 1102 854 1009T964
+751V253Q964 104 1002 16V0H808ZM501 141Q588 141 666 186T779 303V525H634Q294 525 294 326Q294 239 352 190T501 141ZM884 1262V1252H731L581 1422L432 1252H279V1264L525 1536H637L884 1262Z" />
+<glyph unicode="&#xe3;" horiz-adv-x="1114" d="M808 0Q792 32 782 114Q653 -20 474 -20Q314 -20 212 70T109 300Q109 469 237 562T599 656H779V741Q779 838 721 895T550 953Q451 953 384 903T317 782H131Q131 863 188 938T344 1058T561 1102Q748 1102 854 1009T964
+751V253Q964 104 1002 16V0H808ZM501 141Q588 141 666 186T779 303V525H634Q294 525 294 326Q294 239 352 190T501 141ZM936 1504Q936 1396 875 1329T721 1262Q680 1262 650 1272T572 1313T502 1350T452 1357Q411 1357 382 1326T353 1245L229 1252Q229 1359 289
+1429T443 1499Q478 1499 506 1489T582 1450T655 1412T712 1403Q755 1403 783 1437T812 1516L936 1504Z" />
+<glyph unicode="&#xe4;" horiz-adv-x="1114" d="M808 0Q792 32 782 114Q653 -20 474 -20Q314 -20 212 70T109 300Q109 469 237 562T599 656H779V741Q779 838 721 895T550 953Q451 953 384 903T317 782H131Q131 863 188 938T344 1058T561 1102Q748 1102 854 1009T964
+751V253Q964 104 1002 16V0H808ZM501 141Q588 141 666 186T779 303V525H634Q294 525 294 326Q294 239 352 190T501 141ZM260 1371Q260 1416 287 1446T369 1477T451 1447T479 1371T451 1296T369 1266T288 1296T260 1371ZM690 1369Q690 1414 717 1445T799 1476T881
+1445T909 1369T881 1294T799 1264T718 1294T690 1369Z" />
+<glyph unicode="&#xe5;" horiz-adv-x="1114" d="M808 0Q792 32 782 114Q653 -20 474 -20Q314 -20 212 70T109 300Q109 469 237 562T599 656H779V741Q779 838 721 895T550 953Q451 953 384 903T317 782H131Q131 863 188 938T344 1058T561 1102Q748 1102 854 1009T964
+751V253Q964 104 1002 16V0H808ZM501 141Q588 141 666 186T779 303V525H634Q294 525 294 326Q294 239 352 190T501 141ZM796 1419Q796 1332 734 1274T581 1215Q489 1215 428 1274T366 1419T427 1566T581 1627T734 1566T796 1419ZM465 1419Q465 1372 498 1338T581
+1304Q629 1304 663 1337T697 1419T664 1502T581 1537Q531 1537 498 1502T465 1419Z" />
+<glyph unicode="&#xe6;" horiz-adv-x="1729" d="M1262 -20Q1001 -20 865 160Q800 74 687 27T433 -20Q266 -20 172 66T78 304Q78 461 191 548T526 635H749V720Q749 827 694 888T535 950Q430 950 360 895T290 759L106 778Q106 921 227 1011T535 1102Q650 1102 738
+1061T876 936Q939 1015 1026 1058T1218 1102Q1428 1102 1544 974T1660 612V497H932Q939 321 1026 226T1262 130Q1410 130 1531 206L1578 237L1642 101Q1484 -20 1262 -20ZM469 130Q541 130 620 167T749 258V495H521Q404 493 334 438T264 300Q264 223 317 177T469
+130ZM1218 950Q1103 950 1029 865T937 640H1475V671Q1475 803 1408 876T1218 950Z" />
+<glyph unicode="&#xe7;" horiz-adv-x="1072" d="M574 131Q673 131 747 191T829 341H1004Q999 248 940 164T783 30T574 -20Q353 -20 223 127T92 531V562Q92 720 150 843T316 1034T573 1102Q755 1102 875 993T1004 710H829Q821 815 750 882T573 950Q432 950 355
+849T277 555V520Q277 333 354 232T574 131ZM604 -9L592 -61Q745 -88 745 -234Q745 -331 665 -387T442 -444L435 -337Q514 -337 557 -311T601 -238Q601 -194 569 -173T439 -143L471 -9H604Z" />
+<glyph unicode="&#xe8;" horiz-adv-x="1085" d="M589 -20Q369 -20 231 124T93 511V545Q93 706 154 832T326 1030T566 1102Q777 1102 894 963T1011 565V488H278Q282 328 371 230T599 131Q697 131 765 171T884 277L997 189Q861 -20 589 -20ZM566 950Q454 950 378
+869T284 640H826V654Q818 795 750 872T566 950ZM671 1240H512L254 1534H477L671 1240Z" />
+<glyph unicode="&#xe9;" horiz-adv-x="1085" d="M589 -20Q369 -20 231 124T93 511V545Q93 706 154 832T326 1030T566 1102Q777 1102 894 963T1011 565V488H278Q282 328 371 230T599 131Q697 131 765 171T884 277L997 189Q861 -20 589 -20ZM566 950Q454 950 378
+869T284 640H826V654Q818 795 750 872T566 950ZM656 1534H880L612 1240H463L656 1534Z" />
+<glyph unicode="&#xea;" horiz-adv-x="1085" d="M589 -20Q369 -20 231 124T93 511V545Q93 706 154 832T326 1030T566 1102Q777 1102 894 963T1011 565V488H278Q282 328 371 230T599 131Q697 131 765 171T884 277L997 189Q861 -20 589 -20ZM566 950Q454 950 378
+869T284 640H826V654Q818 795 750 872T566 950ZM868 1262V1252H715L565 1422L416 1252H263V1264L509 1536H621L868 1262Z" />
+<glyph unicode="&#xeb;" horiz-adv-x="1085" d="M589 -20Q369 -20 231 124T93 511V545Q93 706 154 832T326 1030T566 1102Q777 1102 894 963T1011 565V488H278Q282 328 371 230T599 131Q697 131 765 171T884 277L997 189Q861 -20 589 -20ZM566 950Q454 950 378
+869T284 640H826V654Q818 795 750 872T566 950ZM244 1371Q244 1416 271 1446T353 1477T435 1447T463 1371T435 1296T353 1266T272 1296T244 1371ZM674 1369Q674 1414 701 1445T783 1476T865 1445T893 1369T865 1294T783 1264T702 1294T674 1369Z" />
+<glyph unicode="&#xec;" horiz-adv-x="506" d="M341 0H155V1082H341V0ZM615 1495H456L198 1789H421L615 1495Z" />
+<glyph unicode="&#xed;" horiz-adv-x="506" d="M341 0H155V1082H341V0ZM343 1789H567L299 1495H150L343 1789Z" />
+<glyph unicode="&#xee;" horiz-adv-x="506" d="M341 0H155V1082H341V0ZM556 1261V1251H403L253 1421L104 1251H-49V1263L197 1535H309L556 1261Z" />
+<glyph unicode="&#xef;" horiz-adv-x="506" d="M341 0H155V1082H341V0ZM-68 1370Q-68 1415 -41 1445T41 1476T123 1446T151 1370T123 1295T41 1265T-40 1295T-68 1370ZM362 1368Q362 1413 389 1444T471 1475T553 1444T581 1368T553 1293T471 1263T390 1293T362 1368Z" />
+<glyph unicode="&#xf0;" horiz-adv-x="1200" d="M820 1301Q1069 1037 1069 628V535Q1069 377 1011 251T844 52T602 -20Q467 -20 357 44T187 221T126 467Q126 614 182 730T341 912T574 977Q737 977 858 863Q810 1058 669 1199L451 1051L378 1150L570 1281Q438 1372
+255 1421L312 1580Q551 1526 726 1387L915 1516L988 1416L820 1301ZM884 635L882 691Q849 752 780 788T618 825Q473 825 392 730T311 467Q311 327 394 229T606 131Q731 131 807 244T884 541V635Z" />
+<glyph unicode="&#xf1;" horiz-adv-x="1130" d="M315 1082L321 946Q445 1102 645 1102Q988 1102 991 715V0H806V716Q805 833 753 889T589 945Q499 945 431 897T325 771V0H140V1082H315ZM927 1504Q927 1396 866 1329T712 1262Q671 1262 641 1272T563 1313T493 1350T443
+1357Q402 1357 373 1326T344 1245L220 1252Q220 1359 280 1429T434 1499Q469 1499 497 1489T573 1450T646 1412T703 1403Q746 1403 774 1437T803 1516L927 1504Z" />
+<glyph unicode="&#xf2;" horiz-adv-x="1168" d="M91 551Q91 710 153 837T327 1033T582 1102Q803 1102 939 949T1076 542V529Q1076 371 1016 246T843 50T584 -20Q364 -20 228 133T91 538V551ZM277 529Q277 349 360 240T584 131Q725 131 808 241T891 551Q891 729
+807 839T582 950Q445 950 361 841T277 529ZM681 1240H522L264 1534H487L681 1240Z" />
+<glyph unicode="&#xf3;" horiz-adv-x="1168" d="M91 551Q91 710 153 837T327 1033T582 1102Q803 1102 939 949T1076 542V529Q1076 371 1016 246T843 50T584 -20Q364 -20 228 133T91 538V551ZM277 529Q277 349 360 240T584 131Q725 131 808 241T891 551Q891 729
+807 839T582 950Q445 950 361 841T277 529ZM666 1534H890L622 1240H473L666 1534Z" />
+<glyph unicode="&#xf4;" horiz-adv-x="1168" d="M91 551Q91 710 153 837T327 1033T582 1102Q803 1102 939 949T1076 542V529Q1076 371 1016 246T843 50T584 -20Q364 -20 228 133T91 538V551ZM277 529Q277 349 360 240T584 131Q725 131 808 241T891 551Q891 729
+807 839T582 950Q445 950 361 841T277 529ZM878 1262V1252H725L575 1422L426 1252H273V1264L519 1536H631L878 1262Z" />
+<glyph unicode="&#xf5;" horiz-adv-x="1168" d="M91 551Q91 710 153 837T327 1033T582 1102Q803 1102 939 949T1076 542V529Q1076 371 1016 246T843 50T584 -20Q364 -20 228 133T91 538V551ZM277 529Q277 349 360 240T584 131Q725 131 808 241T891 551Q891 729
+807 839T582 950Q445 950 361 841T277 529ZM930 1504Q930 1396 869 1329T715 1262Q674 1262 644 1272T566 1313T496 1350T446 1357Q405 1357 376 1326T347 1245L223 1252Q223 1359 283 1429T437 1499Q472 1499 500 1489T576 1450T649 1412T706 1403Q749 1403 777
+1437T806 1516L930 1504Z" />
+<glyph unicode="&#xf6;" horiz-adv-x="1168" d="M91 551Q91 710 153 837T327 1033T582 1102Q803 1102 939 949T1076 542V529Q1076 371 1016 246T843 50T584 -20Q364 -20 228 133T91 538V551ZM277 529Q277 349 360 240T584 131Q725 131 808 241T891 551Q891 729
+807 839T582 950Q445 950 361 841T277 529ZM254 1371Q254 1416 281 1446T363 1477T445 1447T473 1371T445 1296T363 1266T282 1296T254 1371ZM684 1369Q684 1414 711 1445T793 1476T875 1445T903 1369T875 1294T793 1264T712 1294T684 1369Z" />
+<glyph unicode="&#xf7;" horiz-adv-x="1169" d="M1069 600H71V784H1069V600ZM461 1098Q461 1146 489 1178T575 1210T661 1178T691 1098Q691 1051 662 1020T575 989T490 1020T461 1098ZM461 281Q461 329 489 361T575 393T661 361T691 281Q691 235 662 204T575 172T490
+203T461 281Z" />
+<glyph unicode="&#xf8;" horiz-adv-x="1160" d="M91 551Q91 710 152 836T326 1032T582 1102Q692 1102 786 1060L859 1208H983L881 1003Q1076 849 1076 529Q1076 371 1014 244T840 49T584 -20Q480 -20 394 15L320 -134H196L296 69Q91 218 91 551ZM276 529Q276 335
+373 224L716 918Q654 950 582 950Q444 950 360 841T276 529ZM890 551Q890 733 803 844L463 156Q518 131 584 131Q723 131 806 240T890 535V551Z" />
+<glyph unicode="&#xf9;" horiz-adv-x="1129" d="M808 107Q700 -20 491 -20Q318 -20 228 80T136 378V1082H321V383Q321 137 521 137Q733 137 803 295V1082H988V0H812L808 107ZM673 1240H514L256 1534H479L673 1240Z" />
+<glyph unicode="&#xfa;" horiz-adv-x="1129" d="M808 107Q700 -20 491 -20Q318 -20 228 80T136 378V1082H321V383Q321 137 521 137Q733 137 803 295V1082H988V0H812L808 107ZM658 1534H882L614 1240H465L658 1534Z" />
+<glyph unicode="&#xfb;" horiz-adv-x="1129" d="M808 107Q700 -20 491 -20Q318 -20 228 80T136 378V1082H321V383Q321 137 521 137Q733 137 803 295V1082H988V0H812L808 107ZM870 1262V1252H717L567 1422L418 1252H265V1264L511 1536H623L870 1262Z" />
+<glyph unicode="&#xfc;" horiz-adv-x="1129" d="M808 107Q700 -20 491 -20Q318 -20 228 80T136 378V1082H321V383Q321 137 521 137Q733 137 803 295V1082H988V0H812L808 107ZM246 1371Q246 1416 273 1446T355 1477T437 1447T465 1371T437 1296T355 1266T274 1296T246
+1371ZM676 1369Q676 1414 703 1445T785 1476T867 1445T895 1369T867 1294T785 1264T704 1294T676 1369Z" />
+<glyph unicode="&#xfd;" horiz-adv-x="969" d="M494 271L746 1082H944L509 -167Q408 -437 188 -437L153 -434L84 -421V-271L134 -275Q228 -275 280 -237T367 -98L408 12L22 1082H224L494 271ZM599 1534H823L555 1240H406L599 1534Z" />
+<glyph unicode="&#xfe;" horiz-adv-x="1180" d="M1063 529Q1063 282 950 131T644 -20Q447 -20 334 105V-416H149V1536H334V970Q447 1102 641 1102Q836 1102 949 955T1063 546V529ZM878 550Q878 733 800 839T586 945Q418 945 334 796V279Q417 131 588 131Q721 131
+799 236T878 550Z" />
+<glyph unicode="&#xff;" horiz-adv-x="969" d="M494 271L746 1082H944L509 -167Q408 -437 188 -437L153 -434L84 -421V-271L134 -275Q228 -275 280 -237T367 -98L408 12L22 1082H224L494 271ZM187 1371Q187 1416 214 1446T296 1477T378 1447T406 1371T378 1296T296
+1266T215 1296T187 1371ZM617 1369Q617 1414 644 1445T726 1476T808 1445T836 1369T808 1294T726 1264T645 1294T617 1369Z" />
+<glyph unicode="&#x2013;" horiz-adv-x="1344" d="M1421 651H419V802H1421V651Z" />
+<glyph unicode="&#x2014;" horiz-adv-x="1599" d="M1737 651H401V802H1737V651Z" />
+<glyph unicode="&#x2018;" horiz-adv-x="409" d="M270 1555L376 1483Q283 1356 280 1209V1073H96V1189Q96 1291 144 1391T270 1555Z" />
+<glyph unicode="&#x2019;" horiz-adv-x="409" d="M153 1046L48 1118Q141 1248 144 1392V1536H327V1406Q326 1306 278 1207T153 1046Z" />
+<glyph unicode="&#x201a;" horiz-adv-x="407" d="M141 -283L36 -210Q127 -83 130 63V181H315V81Q315 -20 266 -121T141 -283Z" />
+<glyph unicode="&#x201c;" horiz-adv-x="724" d="M278 1555L384 1483Q291 1356 288 1209V1073H104V1189Q104 1291 152 1391T278 1555ZM593 1555L699 1483Q606 1356 603 1209V1073H419V1189Q419 1291 467 1391T593 1555Z" />
+<glyph unicode="&#x201d;" horiz-adv-x="731" d="M165 1046L60 1118Q153 1248 156 1392V1536H339V1406Q338 1306 290 1207T165 1046ZM472 1046L367 1118Q460 1248 463 1392V1536H646V1406Q645 1306 597 1207T472 1046Z" />
+<glyph unicode="&#x201e;" horiz-adv-x="705" d="M141 -301L36 -229Q127 -92 130 61V246H315V82Q315 -26 266 -131T141 -301ZM437 -301L332 -229Q423 -92 426 61V246H612V82Q612 -25 564 -129T437 -301Z" />
+<glyph unicode="&#x2022;" horiz-adv-x="690" d="M138 772Q138 859 193 915T341 971Q432 971 489 917T546 769V732Q546 645 491 590T342 535Q249 535 194 590T138 734V772Z" />
+<glyph unicode="&#x2039;" horiz-adv-x="614" d="M286 550L544 153H403L108 541V560L403 949H544L286 550Z" />
+<glyph unicode="&#x203a;" horiz-adv-x="614" d="M231 949L526 560V541L231 152H89L347 550L89 949H231Z" />
+</font>
+</defs>
+</svg>
diff --git a/assets/fonts/Roboto-regular/Roboto-regular.ttf b/assets/fonts/Roboto-regular/Roboto-regular.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..7b25f3ce940cbba3001420d38b7d0f12fb7f2142
GIT binary patch
literal 32652
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
N6K0jQ!xePm{|7p>-q!#C

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-regular/Roboto-regular.woff b/assets/fonts/Roboto-regular/Roboto-regular.woff
new file mode 100644
index 0000000000000000000000000000000000000000..5e353cf47a872d196e9894c8e86aa8a39afc8b5a
GIT binary patch
literal 13308
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%0A$*l1$RANFQ0*4Bg99MMI
zf`&!xCOY}sK92k-L_}KnHZ6CFWW=eGS?EF<4W^l7GGjTLINn4u)@{*gPt$wLA8dm#
z)r5L2t&d~B5A$KO=Uj$_I@R{)X$HHYOM(=lt>{f|Dt;~+RBVbPGIfd8f3m{14zb~{
zd<BEX<u}2p?CzAZdKJ2v({sB~a3zdssI0S)#@NxiwPMOzYQ}LY8!RTlt%RR#NiWi)
z7^ki3TU}(2v~B8BU4JiCKT6gA@%^x@mB6!Ia4j5+S*whPI;SuW!q}j*uPO0@yi_&G
z3<f5|ZO$18LfZ=&VOO>p00V!>Nkl1UmG1qq6+dx}Ur*j-RBdx(*QvU&gcW=i>AMK*
zk$9#m2e^aDMht-o3!#YUL%AJyLRu5Iihz0b?fw#)`EKjSJ|^-LOCJAX;8Y@mK7*;`
z5AB96jDY@%Zvz~LehVy4=TlVtAS(1Pyj?-TDO_U|(naDngJ{$OFX%Ky#5{MfA48mA
z{R#l6U8b&ZiP_%a!4#G<caF3b%~Pz}K=9z1b^S|<Q&z39QI6H%vUeVCcow5iorTyo
z-vFXe2Z9Or4M#WOx(Js7@}hZQ(R@U1h8R*J;45dJaqwtcbwJ4MePQ!vPCKI2(AZ$*
z1y0k~yy0!0G_dxf`dhW0nMLN!tGPNGrgQL<8yD0<?G)l&0w{&Kc^H<v1my^eYB}TA
zURp^WJx#2xUILw6Ie@qi$k1T}{kZug8yIlN>->_va)FPXH4=4d{7^PeR2Nf`x+~;B
zd?cBU`OhnpgxmyGZR(3LJ4yU8GfQq4MaSXXE<d$*%{KSxz3eDA`mJ{N!#&8T5k_y$
z&qf5m4o;T8w6#a>Ykw*nCXH*)^uk}|8lgfeWOs!Itg5v}uh9V>=d-yg@fvYH%aw3N
z<6&9%iG3>BbPnSs^dlflx@4~+VAP;g0txJqB=(UkcgF`~&k{paK$Jzxo<VCiWO|mc
zjhG+jCoB|st|82R*$@O32vEWtW;S6AhHQvxb<*p3fNH&Cb+?N@Tlj<}Xow@YkIfgV
z52B_5rJlf26mYYSi04o^shwH#i8k}zAgrE_Hkg=`Poq9aTtpnhzLq?UL<NH@L+@ku
z8^$lgmX=QS;s*zgY6oYM*`dRcU)ir*#=Ct&E!+S7^|jalfC0V%U;y7fKLN<@V3nTG
zKQTtIAG=pKd25NGb&L+Vc7ckQfFBQx4_gI+WT=Y2X-N#gieTWRt~5{;`T{)-0>TS4
z(4@m5V{l?(EZRfXcQaQZqd#w4?$$0RG9R}(A2Zccc5&514Ld-h2;-wT$|acdDTWJ{
zAsMQG@BXSm{AH`Q{Uj>8{`&i97WWW!IN)dy-6sQjdW;a{J)V#^*jV|Z@fN5eA1I0Q
z*VqtB8No#0cxoeOgh2X9)1~HGl9qeUR6_NKtDZU3IqoRrFi&J6zRz){VvqPN+__Pl
zQ1UG1Udtq&obCWobNTQ9j=Su~k>A%m3Eh%TZ==`RCRIo>*sS8R!&bmWsUIGv8ZUF2
z7K5pwl<M*R+p;m)FHkb##t7LZBXZD*rw;Qq0{FVxf<GAHWyJQ~;zBn`7~oQVi6FU_
z)L3L;hHS<`r7-ta+MbNlnBdCD*Jo_0Sy@@txY;)@Yiej|S==?_S*3@xQHuMfjUQm)
zc{ysE+m<&t864Zny??y5Z481Jm-hR-aaafVLe5ub$$W1!UBM;Ffbi9~nL+HSv$~SK
zef{yb-D>>-y4n?9<1Dp_?5h1{gL|kUYE}|IypwN#>pBwokcqh}{UMs6(ENohTInjU
zp`npP+OpE-LUqsc;lWe8AO3`}a*$Vz*iJ&{MoXdXIMjAEwS$|&?_8&}&dH2=LQMZC
z5crdkV~%d$Y#LY4l_;g7P|A&wlD&t-(OSdSw$b~hp0Z(B-qk77wi7kOjl|R1LeI9*
z`d@u<Lsm&EWA^h1%#=CA>a!`L%LcJG<b3)pD^I+*cmYC$asfU!7s}+QDqdBz{bq8D
z69l&^p;fh`vwfVqPP1$7cz7hZB<3w2zrjM;M(-6-JC~~OJOA*t$eU+Y`IKyvUW;u~
z_W9uH6w0n%qpR-5%6ln%%Y<x}03>vn2`7R36|d3VKCE8cqo%=V`vp+>xE0su7y*}i
zI&lq&S>MT04CNw5QAq@yo<oGJ2YjS2cJG~`6<R9EgBk8$PkMTxRH%jrZ*j4dZH1`z
zH{VU`j)nz{=1DE94$3?vSq}tmW~T{Hrpgh)$$tFnL~nDu(g9}WB2#G#ZmGsz0@Ajn
zKAGP&;u7Z;zs*7kmOrpcWa&hm*itP9wx0551@~$|AE2%C9nPozGpbgR<MOS22LadO
zMjkS3SFE~cj)Slma{0G$u_3xc`U*&D?*`;M7Fipx&DR|(>>#N>&<%nU@(+PumFp}C
z@~K7CAS9O|?jUypcyPA?TS9qH0N*5BNa9;KlTR<vPbYN^CqZkdjcvrQ!w}5J+KuiD
z<9Q@tEPR)bS+%8ub=e(Grx!{52R>$Mv#wIA$SSBkZ|MYLAb~iT%rZtW=(tRpwF_Ik
z){xLC$g`DP6cQc|-T~aZ`)$tLUwYec;N=0AHTVyk6^!Y61Wtb$dme8>OjbjnX_sj3
zBW3eq;EI~n-aSI22%gp8S_|9!YC26*!Qm)oK^3nf1JP2K`yl_@;iAYA3RVX{gs7;v
zjo~b<P9$9~k+Yp4*WF0V_0Up{Z<%lS)xzSIFWD(oF1>TA;26rSf)z$*R}9i7L*MLZ
zCAu5=+0SAwGg1~p!d($jmU*HKU<yD;eRcwDA!~{YYRhAC?X2U+A^^Ba=K>+NT==T3
zupP77;O%NQtmFIm9#4FY?4HwjSrE$ez@PtH+V=!z$Q7-RswaQ6U(+R7A*8x=@u$19
zg;J1Tr4X0jyXg+x=L{57$8Kms5#sJT+g_n2FUBRfOwwb1>0`I1cVnu}>~Lf*anAK7
z9(p?qTEt5uwWADWyDg~}hLH3u+D~Z9kSxTSzqF_uiW88AY&x~U*ke!3GWtUwW(59!
z+a>u*<KItYkKD*y^C?0H(QGH_Cr|^(tEQBUlD>;E_FM+*!Hsx&{8H<F+t+)}jT9E$
zXrBbF8iEzR=6jX3174Aau80?n@?T`GhYRkq#ep4)AN?@zf8J1svlJ5#>DgK3wmQEV
z+im};GaSp&W-kxUHu5PAV0o<Kd!5%`wlg4~2*BmUK6YLuL?P%15=<EDsz4m@+o~Sw
z8L&5`2L|)$UEiehpSe$#4^n`~o1@K!A;yOR`TavPn9a$7uTYb0OLcBf4#aYx++yZI
z)-D)*o56SWsN;Y}K{SL<@GA|tAu=ZtB4k&j;1Ql}N&#)W?hYF32M5q!I;K}j?spMK
zZwrZUzHPKd;{y!Z-0y$iy5HqqvprP2JU3T;eQwor+MPyPt$eipbzIcxyoUeCQB*`W
z9(;GQu`t+<@OGxuQTU0OTEe5G(P-=*!(T^%zlWUQqm)L-YM*)=s>C^65%0FOPv%`#
z@o>8Rbl*QwtqFFHZZumm%NArw?$(XaZ+;CA%?AyAjl0o+EWnm6$44V8OHVz{!Opxp
zn5ynj7+#g}KFRF3*I=iq@7TrL7omC3o}%*{e^2RYEe;N5M&OjAJIx*8dC1U9MBfYX
zj8lV-j)+c6VozOJlXp|}lin-#J;g$UkrZZ#@*xLA&l}jiBG3_BPaw>cRc>I_3QNWx
zpTWN_bZuace><yYFuix3?JkX*&zZl=<VrX@ZC>!s#l^+L;q^D@K*Q1T$s0i_g|tI5
zpH01^0}^*eo_cCyt;^Ee!+0X$sKv!>a8LEpmkt|P-RW4w?049R;oZ$0E;Ir6R$Q4O
zPbKgp@Dj34p{kYi50aTP4JKV-ugP#(6*om{y2D+n6d!o}+(h&alsObDY9~Q*lBlL?
z1@BPt1JbPAx*P2}RF+e2^Y6cUxL1Va%0}P<p1ArvTlK007IqU%L?&zp8L!Y;j+Lqv
zVJLS;{H;XQpIwuUZ9#k;!nq#<OC|l=J^RPdW|Qu|HpI2C{9$m5(?o<}3~@>k<e$D_
z`{Q1}y_;N{;@}B?!cuSZ_1`*dJYcj8m0UL~8+R_o8$QVmavsRQ(`<bsbU{t&qB0TH
z{ndq(w}l-nd3{6(vCE7`E+=}SNVGb}x2GJxmu@Oa{v%uX9d*V8k3<l5soZ7(O|9%U
z?<keiN@rPg_qY`eDy(#Wq!po(lVW6WkJ?*NG+o<FzR6H|h&+k<4Y!Nv;5WY7OO25~
zh+M!UtR~MpFnV5t1<s3Km5y7~Izj*yHgsaJa90jm=M~S`+XK4syEjs9`9HyFSss`D
zz1gh5KlbmM{7?QO6PPns1O4*@xKGP3Ha$DXynmDl6*L*qG__c<5-76LBmGgS%`pcL
zC4xg5J>q<^+Ra2by0slD&UV+a7rke}bX+`kU38j=L1y=}23ySMgx^uY$+}p`_@Tn9
zwAs5?#Dy_D4Rrnu!*|6KuTkQ#Jr~e#L>b~8dkY<<MLMy^uvNpQn_9OrqcDi(3o{dL
zhDPhkJ1Y&SD|D@oa#>nxeai^8NroyPTU{+fJ2TaZLHE^m##p8#p9wfbuLUX{`4gw8
z_ZK?RxvlRDFI;ZGJ?hNpufpsb4n<ii>~Gr#ZR<acbb}jMi=o?fMo=Jg^U}ES+*I$&
z{)0TPXT7V<8m&)bLTe@`c6gJ#Iik+KH|a!r`}c2@$pAQ}>7MLuB`r@G5?sM^YGSUP
zvb^2;>ZPd?uFrQZdVgiNz~6~MkcctcD6m~7-`2_#56NCOpjhuY=(NkH1!7w>?>!0*
z>ptNnU2(6_EF~P{%Q=ZSQ--FSQQU97ktui_eyu-M+AxiD4z5LG&!fn#g}2N*@=3>S
z{xgDSifed6XUkOQBYvRO6D^HeA2M#TCFo)-WeWL^Kq6x{DYcMz+CloPVHBuxX=P-7
zj(6s+TyF=*(!wGhqg|S6&@W6UCgAAsI6>es&-GS)Lh`{&bP=2a4WDni(RL*zzhPj9
zD^*?py#_Cpcr*xXdDE^xJdn@((hGuKV@KW3Yhho@f{uO7B^?L)J8tN;7(-?-euh}h
z!r#6w1fLJ6wY?TQ2cik-^$t!f^Spp>4xxff+rAlX<g^q)$@WI7BJg@*?kxtDqFaZZ
z8)6UJPc39X5qE%n{?l4(`6Md_D(=7PY=-W>E&m@Xq1sRDtLoq%>{cn{#HoJB2lAqa
zPyWP`jszr*I#`dAlpbLe;WBbY&=v`h*#pmq*H3oLF~}jS%OQ(-F_Y`bfmivG{Vd%l
ziY_L}*>MYST{19{;ouHeC1`>-zoRElV5JA2S{h?76%&)sY-WKiO?j1)o=t6UKhGY3
zCfBXa7|Z<9{eyp}t|V8pgA0azGaYMPCl~!|4-BR~0&D}k_+!1VynY*NSSs9W)td>D
zNwW@VOQOw+Cpy$PwQ?R0XZpBLW|~HH4xwz_jB&BGJF$u}wwN^zUKgiH^c{lRmd$qc
z$<M3~bUYC3MMW<ygTh>4W{e-=XE`da?XkS{Cm2RO12JA#!e^>QC{Vj;_{Okvwk&r3
zc&E`m_Z#fN_pn!&IzkY7D9`O`ac6@Ix&V>XI(Bbub%|2<fx_O}#r>)94sy6UG`xe|
zY#A7;wekWoU;BIf=U2*+Nk@SChkLOeOn$Yu8WF?VYnG(}WO;i$xo6l*16>CEz!w-F
z2&)DC)?lK7%)Pf}6JMHiJF-dYHL}E1p&9;-0)&<_q3yy~G5LHf7elx3ee*=nc{!8R
zhpoH_B0NqnQcaB^FaCC|9UI$zYh0y`Gf>VOwkgR5?J<ChK~#I;>u-Pn4D9Xp@q^|@
zIRRl)Vrx#npY?C7t>|c5IFqMe)E3)NDv3%#eh~{|0E)6k?7;ZAY35dpbi8N+%fO88
zlFpnUJ5lwsIkNC{%uJy_-B9){vap*}l$E`?B#PAX?r-NLBb_lS3TkQ3gUeoiqIs`9
zvyJiLCvnF~wYzbi2TIQLgF}i&wROt~`N)(?t0~>VIEi9rb<J?n!r{o_sLi#e6>s`u
zyxypNtIpKW)F(X+b<fO(A%<fU3)h_>tICovZ1LmdDMyeCAuof6?Wx`dm4j`E&Fu((
zWmZG5VVp&-8f)m&!7&E1g$_mODA2&P1SOH9Eii-D{Jsd7k@~y4559Q`&s8iti|70)
z1)|73%<cjvg{A-5LMI0DW8&U>gYJ_j{+^CZo-jV_fG9~<7hgC%=Q#lbPh0Uj85mwY
zdtXtUzMJ7axK7WJZGXhJ44kadW=nBt$jh|8doN~Vuk+Xo@6DFsV>q2@#vE<`t&#An
zI<5%tZ<hwx%xXEz2;N^diezO1%%qRKb|-Uw#OIP6Z23<k30S5Kj(r0YxOyLC{a})J
zXfs)glkG8ipH#@6;;o`~4T+NvA@}Ayom+~K-$+Y~DJe=nVJPwy6K_y6RD#aG5nFfP
zE6v!CG&4plc!=+H=+T&!HAoh5m-)49Q4a2<YNRDO8J>l=ajyL32iY_iOE+_c)2mT7
z#1&v9K!l%$OEH!Qmv~IW!AaeOA=-dK-rp#vbLt@La>Ax*6J$11p9b;FCAlu6%^P~q
z^#sk^IZk`)K=eyIQjnB?kw#+I?0q$TXXn|k-Y1)4yPY3+apHlRt`Dk`O22mRG@ns_
zF?_p=2G#gE-?}Yx=YVLmv2DL~2+D1ZhAy9S()>Y9{7@VYcR_>B#^l!>;>VbFz#()8
zJF11Uf6OBOZN*$mo#;?&5L;b+@0eqaVG=#a=CX3=9irk_ggP`b<D1fFF9~<p7BEx%
z7)N>wjacA>H?<4P99u)eMo$yitgLNyK?yV|Un*Kfzn<^&q<fFsl@j-Y79I@1*AOJq
zXO(8g<qo0?VeAU!m;?U@z8uNC@Ru9PA&I2QB&M$xqhxUpQo#rN1FqMQb+~l}SqDU7
zSkY*Qdtj3i{rgWC%si_ne}+MIkI8vnf%fT48L3ZV=pCNb3mCXZ&)?h<UIH!XYSw|s
zof>lO6h2;-xn9J(SZ=;mTyYqF#YMdB-orq`c7;@1?=eJ^3}^Why6^9Pssi3L@a=bs
z&%tUY!-C23k|>)@B)-+u>}zvt(MpY0p-;q<_Gu+(MWdI2JH*Ds{$zQs=7_$^3HS{*
zetI$sU`3O|+8~z=o(cgdV06jI6@MAu%T7*X4a-XUIsKgNb}*?*g9>JDpv3XWA$BLC
zN6A*|^ry*aI3Kf<SYL`vk$aRK6ujND*9XfJ(MNA~XZH66>Wu^orr{|de#C<~FZIIb
z<g&ir_gi+-Clw`7e_WgCc2--*Ktr4jxbt@BSrEhCTYm0r(ZPe93D&Dmp`0RX{(8n+
z9s&nTrSKU4OE!)z*A(NZ%gHF!=saX7K2B%Q@HvK?)EI$w-S9?Jo9)Z*BGTe#C7%${
zt*6y)nx>G_oD^%l`U!JL4T3Dt28!d@daw9vt6eZ7x*0-7o7q{4vN<|cbq=rVK^bWS
z_!02?n`Q28ziPu^LwP>Z<WZPnB>-{=O3?%!<es;Z?;rk`Hf&ezeIyoX&3^ZrAc9{w
zrcNlbU9w3|Bc|y{piKRyM86keU5G10?5PP0O#VOee<mGOoepI<2&uNQEEpcvo!(%{
zu!WyfM#=ZsLv5Buev~GcBP-y(L2BmqGaNv_k{m)UKgD`wC97S#_?oIwE|!x#kz^^t
z<GXAyeTn`n{4@%0(8A;JAk@S7OH}2SdosR7rI}Y;+vXUastIEZOVR?VX38+m^}{kR
z7rdIP-_tdCWxwWP8A?G2c0ahpAdy6ninFdXUjPG{)4G&XyjVq(`m9X$gr7}kI5k7X
zY;?2sf$b)tU0GnW_4EtllUuV38mGgmWp!*(Zkx%waqw^{%g9d*gN-mV*bz-1M@NcR
z56ka_ya-pnH0%2&%#}KS*DSBBudegX+zJU<Vincel?Z=`|Jm%0fs0+;8l5z)+0S;B
zmskI&+kd>0TRQU=-^;D=&EWhzb$J_y5w1b`L@F#=f%sk>EhRJ9Gd>mRO*5t?FsDTe
zt(5Lcao$7@V<*X~ogMPS#jx!rva|Im^di2{{?*mN@ZH`*@z(n24qH9%T|&P@YhaR-
z_oIyGeMPPa8;-Y)v$6>%Kw0@BsO<D#IVpO^FRO=*%(*g$%$qDvnVhzBmAk>T0>f-7
zMl;!l%Qb4}dyQbnYUK6BZ&jKTBvg2%{`j1d{Z7Sl<%&w|C22W+d2QLjNMDNqbbM4o
ziQFQ}^1?ONv*FgCRQJXxvjyo3HP7buI|ovM;HyJi19j4>;s}zatTY@F$cSkzyN<8e
zOjY^DF-IKEN`fDXF1+P5!g-F2BwX^-ct3_@oZ7VH`g!U_9<=t@fYi1X6t6nAtPuSE
zFK&tLtE7oO+$DaxJg?UqV)BnD$~ci~%S8;M6YPjC93FA7I)~@$;(UQ~fpsj2hA8pJ
zG(G;WF?p8AV-1at46Ec_g-eRT=;Fy)OLZ!a%q@+L=+d)B&*7N~KKtvy>$sCcJrF5K
z^O&w4eIP--V<;3i+lP)w-Q7$7`lkB&9u7VtdL>2C#Yf)JB*E{el*(ET9p<V-{CDQ-
zhnHUMfO9*@r){jm3*iIGQ*dLNp_Rd4h74`!JK~c#{L0Q)Y$3l+SdLxUL$0jhR%QUx
zU&HmhP2uewAE77uXqYwZ=x+2n&YYD)idn|rCNgn>fhOLPlCU76WDukm>^sAs%vekv
zz-&_vu4t7MZK!f|U6Y%2b=afOf_pJA`V}TUMaSGkq+j>6LrMh&TY=S+fI|S(&PUaL
z;4XIXalt8<#K6a5MBnKBM8Gu=aB|V{BK|X#?<zp};tf`rn#(%iPZ!m6bZ9?Y!;5G;
zQ5jIM_Z1ILQtzB^+DAfv+Ic#m?cnA^I<^L~^pz2p-{on+fiV+a;5<)<!*gN*bsqC*
zTx?pGGMm$OqvizhbU$5Uvv~Mvu;er<(`3P3<K+N54vm}zm=p6bnc(z*`N^hFx;Ef1
zMoiB58Zq=kZO~?7QewO}I;ptb(qb|GU|Wsi-L{h2J_^~?G>1Di$I1Tq>tsQ#TIX(2
z7|ih}>_9I)HT-8i9rUv4Yf3-F3WQwohy!Q{zV!(rBf0&2DPmEy<$;PZyXnWwy5ISP
zsUbAz{r$D?$Us2j_;TRKvnq2>J=#@GyFc>A6V{QGSInO}8_{kXm}S}LFz`vi@8epM
zfCL|jG3ZUE#)4$)J*u9#jUc)pG5J*&W=m-;ug;d^jX!#9NBNFc>#IWgUN7h51kP36
zND+u5n2ht^I$TzeL|mdI7}jDW&2(3d59noI{Udye`^umu01c>bD-D&HRrmfDoxoKz
z(l|mmUxWIn-L&UlJ@T-*HWDR8rK{C9%1zuE^J^F4RX0Y-0qrEBGRYysYBf!ZmM%)l
z5^SIPm?zRISq<<LY-|qMWk%oEp^nNuGM9pk#POT6?G%Sw+Y)tK3OYUuhNS);^3@7x
z04)C=_FNmfYFXIt*mpGcHQ21X{P>>LCTkHq@YGk(^KxtH`iuNXnMNE2sVq``WUdRw
za9jZ;zK+s(bwd>ELShl4C|x_0qFRH9xMzdEysvL;tk0nzqT1R+to=2zh+@1B97-;&
zeonI996QwTbMJ$sam{y4wy2`uyG8`MBS>r|3w|KRd?g+TH0gw>PatjRc7Z!|f{+r2
z^ezvlYfOD$A#5U(X%e+mAvqALQ5}Gi#mP*Er}|CA7Da+pToe3YTlk8Y!_`Y|xPNv?
zr0j~KC89ttwJ%*nltJ;YRF+-x-w{=Y8h8m?_AnwLn}P6APF`6w3pv^?`M`s@EH1a1
z_ppxb>P~kT^jSL-EP}>m>(1?E9bF)&`yCOx#Bt21R=@_~g5tlXp*YhS@;7s`SP=gj
zHaW|om2I9%V!lI0VUmE91Kosw&9Vv-&Dam!G-AP+!Fl1qoM?=tzaIs5gYFxNJ=B-m
z5(UeKMzVht>B4svb(HB8o+ffZ+7=+TMlq_^m)B5a<*^m_128b4JD&FUOs@)%k{#w|
z@#G>?C=%uV(vD=Dd|3-AJEf@wCD1uou1d+t=ur6xLEEVKs&;;8UF1`=hNxs$30O~b
z5z46~pY#-+b@yvm_J~l!GSs!u1DvCZ()H&sfoYQw(PH;($;bXJ^v!+g{G5F1UWNH%
z>qJ)Fis>-B`5?n2kAC+y&1<IJ!<debcdD%3S;JZgst;Gly?NA_Z%IpuPl>Ze-^@9M
z{h`}+7!E^2$F6`BX)f+HuCcHfP-GE-{7<^nunyLU3A4)q5uvv1@V|6^>*FsWiOB?$
zcR81!CP71Nlktg^SGw<a-Nq|Lck*+2qqyloPcwWq#?-;tF$#!6eo7Yly3!1B^!$$7
z@)V0n+GPXqzx<kt*$tMzjFDjpHR>F6pOrFIySLz7b-TQQ3i*!*+01DqURQeT9={NK
z5{r++UF_J_G|hgehPWpwc?V=9PqWxs(dl$Oq}?0I!zE74n(QV~(tawyq_+FRPaQ=m
z**}`>Vqc3RpL9<eS2rNH7PB9ze&hO91~>rR_QK}g1c8{hkaNFL3+hBijn$MhQ=$-~
zZrdx8$P9!GLP#=rBA>o4#Jf*Lo-(Qy4x#-itXeS0KTX(B8q2J($Ot;<)PqkUKA(fk
zXI$T(nk%q%>0e&2FN~{OMk{h#mp_}Y6!qKv2=qT9yT7|LH?8%CVz`33vid&snDWsU
z6LUv_xwS+s98)(?gm>i|x{HNI*o1`|^s@#7L19Ia7SF142jTA%p5WUh^;>%p1by@I
zK^zuF_tnQ_s9nyk)QwBgHS?+<GcLvJAF8%<xOCikk%^AXo&Nq#wt5R%cL{$XV+2?=
z4Ca5=He(?8OscFLpTogMqxGD3G9Z6v_S8g#p1>m!=W&PnNPSRE^b*6LsH`-fM)eWr
z3caY3^X&Z=xy;9l2~naafyIl1P##Sb&h$zvd3n4oDZ1B@I*V73j!J|n8GO0SfyA7D
zY*<mT3JaOgq?Haa_Zz5rV_uN|$>HAdF-^HA^#yAckss)L+cqQX%f&*v6J@9=Ht(S6
zD!(*bX;At?MXT^?f4kp+O(-?R$2U%Hf6s1e4T{E9KH3Sz?iM|!a*aTc_}aLItjb~e
zO<KVeeu;*~Wcane^O$;X#1pY;$Ci-z*6>(aUrb7?iU%vFS%qOOEjMtsUDJh5q=>$A
ze{sYQ=F_r?uaD*G*qhnUwx3Gwa;MJgdTa|PcgS$f`*z<?PilKxc>RP;DsbFFNsp*I
z!?aH7*-!zB{RkS#9git@r(e?5G^2NlJD*HurmurZc3u)<gQCsoap;P<Sj`O~fW;_w
zV}Hazz?gLyMIpz^6(VJ(8P+(LWY|yAC~dH*G?Q?x&P$Lws!5{Pqr&AwwG}e30iKEO
z2W?D2^G9k6tkaC%XY@fHA>g*$0~|Ahka_-uPf?m8k+zHXH?ixagcPzzsH63P@a3KR
z&-6gB@`h)}kBBNg5i9BQ|I+-b+`fNQZRKO06GC0teTcM)<dCa`yjyjFr#WjG??L%i
zvLw$;;IoY5>y60{nZvSUc%Ar?RSDaPQQBR~+#FC?c}|JhTGI2JHQ<l@WZxo8n*NhN
zDYe#G84GgNZn~M_Jn0lgYh(bt2IWa`P`{7M^sVG0wsc+0+c_LosRx6nhVpQW0JkGg
zhfXN@IdMBo6YDB|LBBn+Cdd}9c0g=w6S;U?U&Gbd>BG6+bnTYDXBT`#wsJU2n7SkS
znvX{O`M28i!-#X)>vsaBC3;9BH<x8qMJAJP6V+$`KSV>lYU!?gCJug&<FIq;OEvYY
z)inVw$vIV`$Kd36A7<2C0n!fJnuWUhg`&ZQp03tqhMQY$A>MX<unmWzWLe7N8V}`P
za)`0mtC($~Yk83RkWe{rgG1!6_k=&{b2njp=d+s5k*f6tU!xSsQ=*9m!dZrNU12`o
z<~KA0{ih`Ea!CX9U5F3n8jK$Uguvi`yl1=UdLr#usfA`D|K@MZ-5?+K&RZ?p+FNbL
z7j;^fAQA{2>mHZs<cQXb5}AE7J=Mb5KjMh4KApG+_e)nwQlvck=Lv1mU_|QmPqc)f
zg+;(IW}T9!n#mm2*mOcL2P|<+X%oAix-X=G02>V(drwPp#AQf+SGwdW(R`@6jmZE}
z8Z-~WcdK^NRinIV$vO{{8f$Ns;lrgh-!m+7_dzj_=r=`Z%bAJPllRZZaDv&?9!-AM
z{+F3SQz4+c2j;=#(AP37T8#Hl-T6c2?XFemc`Z_9G^4A(@niXzs>Rc{sn`6zAS8#L
zbHr*<IFq}A|2P3em#$(mgvH4Z|0_5048a1w8-C4Z6zf$u4Xruc+#1f3JVrSX5*K#*
zXVjG~bTEr{G<Y%>O0!6%g}gp%#VTg!k9&S`hO!5G@#Jy!`D3bx4W#c#$v3Yk5r*Nd
z4tq~Sd$;nK3*@_noXqqLr-`Y!^D2v}QDa=Zh<1B_uC({fF0Ve3J}G#mKD2(83ab4|
ztI_Iu3`gLYn;>xE@tfx<Wn1}KkymCACzQ(A@k3n>T3nLD4<Oo5qj7%Jxr-UIrs&LS
z7`X&ku`<%%z5QI$%u7>JRk*&utqEl8+w#3cCdva*QWgzdt2!+1An+o`iq?sJ6P)yc
zdw|S0r&*Msgu{zx90DY0)%gTb>3Kd(C@26-#Z!dj!Fv|oN}x%FzE|@)TV99R8hJ}?
zZPjAUv3cbVmMS^Z9^wA-|F#raUHq{<&Gx}Rp4S-4{uVL^Q}rq60j2YN<pE_x0JB|O
zIW%H^7asPvDGxkb_)m$ayUE^nTnJ#lp&)IZxrAO0euAO2f*VEm!W|z~f?}>A%4BC7
zwUPI#<XVrPz<@AMBD-}Va$THF<wn;lv3z~>kf6Tr6PBKeVBo`d23(uBCkc3|0s6Eq
zeF@^<eY%6KTApeW)#A-2qGtnzc}!eyVdqx68-mrm?E2eNIv*qVpR*;pLE5O`iU5Hi
zzKaU&-OEc`%*)G5KDzR2I(JcN>8K>T{DJ&Xs4IKKG080;M#tgjq+3FEQRbam4O!xt
zuHK`z53z5?ONOUt$|(Jn&F4{Qi_jMI4DUht>t*(p-I=*3@vq#dZPt!n?So3t>euNB
zhh9xLa(3S)-A_4IbBzf%PEEgY;$fwI2Aq+X$F20-PN3PGzUTJD+sW%j{0>MK_LYt2
z{+RQ1;E^17oVM_3%3AmJttL>!nW;DXmU>rY3v1K(`N!X@M6~l~tbk))nkwF3!`SXo
z8!Q5PUBK6p|K->{!+mT%)tKazF}3PC?YDJY?BorG;T{DX?LrzmR}g?u{*>%$uL%Rm
zI6dr!j%n8D^{KOaZC~5jrpbEg$6c-?Y;jKcwdIQb&c#*OVW=m2<e6!kmSw(AU%C?E
zZtXxGz0BFwnX2=>gdBOP`1p`v-cl;)5Z?-WaK3Zje(AX0ycMW1FMSbcp|#IKuNNFQ
z@@pRcuzwhNXOjQCFPqUeQNDD^yX|@CUGP(?xvYIoKLQT8@R-X@=w~kZD4a0V)BYFn
z5-aT`n&`H|dCDiPf#onM+I;N1mT6+*6P%v3sr^5Vne0ed05}VZu;M1P*xCnvr&4so
z_OB%^zwFQR8!dk-uQ-C<XMe`ra+6RQJiSwAV{6Jq#NDEWn`Q=f3iRR0RW*vCuQl04
zqNH5pxke7+NuN}?fu7QW_W^V=@+(xx1jP22KI%*64FE9XD^}|x^W6jRVg6H10S2#8
z8UO2N*5xu@@ZT3<nPHs1T-g7(|220oV*?WdgX!myf!^NJXX%$*>{2iV2+R#gfW0=P
z=+}Fj1aJf@S(IPfQ+Jn-U!v?=>;EgxZng<CUspG$@<?~(nLpH4gaMGW(g%CR`&Khd
z0>7(PA({5;VzfkIAi*gwOcvB>4`X+KyV7);gCKO@exEwN)Lna4=`47OGzuPNxC!4D
zMV^%?!aDqwzXKr~2=caJN}Pb3o%GF%(3kqR5}O3`IR_j^K=v!O#7W&<l1fU@kH_1k
z2<^B^x1@aHXCInp=4&t5piqpZ-F0f&np^Wpo21NU*gd|c)(Ww^(F59iAjkCBATq7N
z)wd#_?j(Yew@Q6D_MY|9DyqGa?w3oF-+wV$N$9=iZrIX%(xgmB&eC#8p6~43w><=I
zCEi7PXlcPNwvZoJb*mk?B;NZLwQ$O7J7hfjcoTSZ-yc7(F&!gzt*W3iaZPG;)r21Y
z{@zi1SlEh4YR)Bj#UX%zG(U?JC-RCJk&rm=R#ccPk4h)9`8{NhyzHoYt~ViWn~*vn
zd>>C?K4W%(m?GaR=ui7^$|0+#03#w%=jn;rtD>lnl1f)ej0%VMBucW^$<GE{ggVH^
z=%d8pVa1WPM3n|dEhZl5)Dzru`8o}<n^#c;x5DzvR0X!^5&!Ru7lD@t=z@^C&l5HU
zY3pNtw%tJ3Mtjlkl=W6&eof=Vb3gUY^YD{*MXbtsF5K+=4((1A+TonwPj@3Eh^cJ&
z!e2jL1Wt{!wt|et`E~gs*+C>N?D-vnsHeR}0no6Fy83831yNf~MoV3<f|0hLB%F5B
z_?!TOwB@J&%`^T!@Rc1N6hQBqZQ|w|vibj;MgKi4m1gd8F`jNiwykZLT(ah7U5&*a
zEZ?d>=YGRXfJ+bA6IL~BWme{*hcnWttK?G2qS;FRNKKH!EiO=!Ew5_S5aaIJ(8!^^
zO0F5VOD>YqD=wN-!7Y<f;h>{d6_u^#P^JD`y7-z=@?L?tfM?0y1X?q)DRkB7sODc3
zI6u8#dy(*|_?Wwn?iW)o?5W$}veaS6WUJGh1=>|}#A+oZuh3ekHt}eqS4}QSo)<E#
zj$PEdI(aqwYza}<D9^55>bS9WRBc{f+CMhE&PQDxK4y3}bR}>7zRG`GEcG?&snnmh
zyLh}Gc@=+e5yDVGhJx}M_#AlI9lbVr;-4$%oL#XnbY}M?^r1u(O2|5(8j>`fOOK|y
z9aD2m%PPi-$@lmzvX(wobbPul*dr`83I~}_zYtt9gZk1hkp>5E$N&s3v`4+{mwt+b
zgL)FA8j4QCmNrtg4!5bJMjDFX!dBl?;|n(jQ3(vi$`~L;8NzC6r6gjSVruFxCAgS^
zuWE24GQ1;l`ntXSr?mtCwg9mJEPx6C@_!xxfb?H^`Gx_20)V-L>HcB!0tes(Z?A2h
zUz##gYFm3n+I+n0L?5$V`O`UOIXL<bz&_Sa$$O|Y{hNMxIre&n+~%vfmDY2px)n#m
zh?q^hVo4b)Q!p0J{3fELav;vmetHuTum3>_6~U*rplx;(#3U&0cNR_QL;ogeCjGov
z#6<U7OL5UyLUx`5@t)QhS26w_wKs~8nso0*kPgd93X}B5|E*_cfS^xJ1R4Yl0DzVl
IY!>i;0Hpr=H~;_u

literal 0
HcmV?d00001

diff --git a/assets/fonts/Roboto-regular/Roboto-regular.woff2 b/assets/fonts/Roboto-regular/Roboto-regular.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..d1035f9a104819cdd70d3694683c53ce8d9580ae
GIT binary patch
literal 10292
zcmV-4D9hJ(Pew8T0RR9104Ov74*&oF08OL-04Li30ssI200000000000000000000
z0000QOdFaG9DxW1U;u_V5ey3ERM9vRfoK6X0we>5b_;_(00bZff)EEF8%02)qN-QK
zq9`AfJ=tF+WD^Fit`(CqC|TJOr#C_we742BUrb^WBhz1J+K2YN)Lk8t6iuFgtn2w-
zNlvQzKC_?sIrIo1XQD@B?;rTN_5K1z3L9b+qF@rKVv!Oe5g|2dR0utC)Tojgf(&}2
zL!?Bd<rK`blKbX9vo8}ESV;Z>kiAn17~3gr&-GWRDpR3b4b<QOnh)<^XE`I=3p0{+
zVXE@da+~WC{$N@_g90p==4-c;)<t_=igsV0j!J<cz-!9|<mZLPq4d&iFE3G&c(hof
z<HoP?e>T%r|HedPa~Fke)_Z<^xF%?-lsmH{>1IbO@$>Bg8}@i58FV2@p*;lvDp%px
zdu5baJ_mFTokIW>LC4fIX*)Yzx**7$jUEq0T-(>7Z#>gAh$6&aD0QhzIb<Oe<;LP}
zPs3?z4=Uy%5XE%cOS}f`$K~$W3Aq8G!U`g2!f25g5seXX7?JRMh)9wGQK}3|ja3K)
z*oOgMn5$hw(*O?NA&5i-;k%F=-9Yl5w!R*40|t;iXyCX*WQQml`YPPxP9zUF?CXFw
zmtmmFER4G!FrHs}5K)&US8e3X=^v)H!q(Di8>a2k4%+A9ZvsuR88l|Q+rBj7%m@d!
zUp>jZB_|2IFqffsi;tO=0+RnMhPZ|W2Ld5yoORB5V#G<2cA1>3uDd~<22Hy3=rdx*
zQl>1~a@3%y^+26^4>h1`)T9{$Q>QN7227YVW!jv13l=STVr2zZM2G-{QC>orr{5P|
z0mTHj$dtgrWSLP~nP-&yt^-1Imfes$;*u&MWiYt#QNYV6TWk>)un#!ljo>a=@gKBE
z-~|{>Bf*3ubG(v$ab!D{K_>aYJnPavdD$ml$f6j<BJY{!HAG~hksEuqij{HaQNcuw
zyk?YTCV>`zI=JVd&`gU=skrn@NT0mSLu7>xp@9qHAPlfNPn@DZh;OIc4G2~koX(RW
z>n06|%UOmYhtE}b*YO*e#}>sCe)#-^VnlTJ!)1I_vPLy;s2Na)+n^7Ij;49dEITY6
zQ}PBi{BrHI7^#H^PzUw!&_0+oLof^@FbZRQ{0=5y5~g4p=J^6(5tiVIeL1f^g=g^G
zzLFiQ`CwhnBDrk4nzycJ)qvp`2I&0V0%j9uu@KFBR|tBb7y6)oY+fvQaM)F|Lk-m7
zwlHi<V$Z}Q3$h`{KAs&DFbPvI-F*l?7+?~l!&Rtk2rO+T%vsCAK{aow8BmAYU<fHN
z4ihj5Q!uTu(6=xT3$VzS08hro;7JTTP$8FEcnfdgExd)diEpvfBtRRWlc=8v#z`|D
z_yS-Nmf*=ZcGSEs449u?agI6&GLx_Q5OThxGxzcpXJ{$sLix{M5IY%{sxQK&vki~8
zbl`P12k{p`es<}|r`4C?%Dn>)%ZEhfchX@U*|sXO4^PT6gohd$L4=uiHO)Dg%={lp
zlEVYCoK4-wvRnCN>7x&?grqkUJ32tTcklKVKy<^4z^Mo3bofjM5&vxNy7pdPZTSjv
zxdX@THS77BAIaP*F&o<oasp^GJx|4u&Ahtwz44h2Xw@llqAPFnBBda`c=6_Gw&3AY
zjw>Qe*6d~~%lSX;8Iic0+)?iVYZI46kXR;^A*k!D=fBl;YH_Wlx<4|%X;pl@IODpx
zGcaF8Nt=?@N?SWQW}QDFKWW)*a%DR>fjjko`tHccc%a6M5$XnXr_dqid{Ev>JH&oy
zol=$)>FG!^N2vKo;|d8igRx4!_YPOsUuHtT0Aj@H9RbUP!M+&5gHiB>pb0q#<05Hn
zF1rCwg{ni;4L(ZK@fckOjx)l7%p6a#VCA&L&YY1c*I6~DiJJ3-!8bvTW>91*qQmGg
zI-(sROc-$nW1Pik=Nz#v5`iL$*@<CR;*K~HB%w%Eph@eLU=~*}J2}kZD&}?#bGnYX
z+`#*&U>>(Ho~qz&3laM8;d-9y6W-52;9EoofM0?Svc&wX#G!Wk;OSWoqe2|{c2PSl
z7x;)8j)p|Tpd%5hMF$kdWg=RSe(VOwk;|YlJjNY)O_)Y77t3ef6Z^Xd{74#M5Juz1
z3xvnqgal^~HIxfreG><|q@l<VM!6*TdWBdK8nGi5#I-{XzMph;JZ_WV=?@|xtVUo6
z%)?m1O(Af-LI~nTh+rF9G?Zk*C@IZ6(q(iHVGuXMXxyq1i%0ViXAfE55DK9Y2kbAK
z#?vuGh{am=91gBQsPQ5-$k>yJ!w$LOjr0V_HT<{+pIFpA@8)C++<p#zpc`xeX=EV)
z6E))?E{4m;D1~x|?Tv>rp_92j8qoEmmIe#v%cm4*CsOnHhP(aUFn6!~9D8(}d<=k-
z0N1>ZwkpVj{9WK5z@69p4g!$Z0P4z<PJqB`)iLwqyo!W{vx9b9n07Vba_tA_2lf}P
zbfmd8dyRPHr4ROyi<*8P>CgJgmQUcYz;OXV0XYF>0bhYS!Fq2G<n$5Hr;OD@eMZfC
z<$u#t&rT3HC~$O#SMH0JZ`sC@f&5B8$PUOBh*{+RKlZovZ_7rw5Wxc2GI4JG(^|@U
zB)iwanZU)sEt!;2ZT?6#I>xlmK1#G6z54VU5F^&0A;U(D8WSged|NqLf@M!V^W2I=
ztAn|>eF-?p>0G$^Vom2o3}6d9+DNUw7OQ?U@H*g~z#V{hna;fhcsKAd;6A{|fzLEi
z0X_@Ks=()fuL17?zK;9<t-v>c?*i`!z6X3Ccs%d};3vRGfu90D1D*){9QY0JDd4we
z)lUX~2mBHE0`Mnu<DUZj8NfdPd=vO5fPVpaD)4Ur|F5O)u+7tfZ2c3^E*i@-K)e3b
zHvpaq`e!HbY|wu=f#-n!<FPy!Y!7uj48Zfi_9(|=0K5QfkDK}g051mHlgIKhu)WgM
zR|fEMu)W#@UJ14joWQHV_MH=WH8}Z@DZB;(1sBQQx2bvl6wp2l{1WW<c5vu(0R}?-
zT$tw<QaY6(upeq^VMYZyE9mmhpQ@-xo*6Akd+#cIBqtxLh#A?Z<R0m~Oo$4B(v=BQ
z!Yx(foCzP=tLUS<5od!cvUitpGAa5LNc}V7`eMc{P<wM8R~LE3S#i*hlGU{r1On%Z
zj&X**Ry&svb&SgbC^~V@mZ>kXS11b^5D1ccsvTpS^*CNOiiRMSP`+^O`^j@(;I^`@
zi)%nj7W(QSfn5(b-c}V>0(C-X2jI|9k8cN<4T#HK;(I9fp$$P;pnV(~Oun$LlR_#T
zhz_Txx$JX5)K+3(=#W8)05MO<$`u8SKpV6d?YcKkaFx?Ak=bG|nuH6C`cuj{$^Yfo
zeTtt9Xv`-EZvtQYP$#r&{<<FzhA~ip4xbbtxtgZI+$?hPQ-E@%g2B~)T^L-Yfbf+y
ze-JKBa^q6qQ6m+Kday9Ws0Bls+j8FF22djUu@ODSEf+vh2}Vs_v^^a(nF>!-e^R>3
z*UO8`9NM-;lB<6=9_49kb+sC(tD@GbF`L-=l``#ijCtG`Td&u0YEMQyIMc^NH5wQR
zKs-vDT9@*QX_EG#iZ7KV$|wLkqe)n<JQZ<-*NMw8G{uFKSL-F(kZ>D6=Ldp0t4SSD
zKFsy=^HBJS=Nh<LBU37J(^H9LHy9EIszfell#`%0v$Yk18?+?_z!f`P4cDJ7g$j5_
zfGSpRj5FfPayF@s7qA^h5|TSuX+f0!$uw0G9?025#=AgipDR@c3Mp1A4?g~TOvu0O
zw0&L_adh-4WGFyZ0n$sm#S{{pwym}8?%!IgQWXs3i&u4&MOUk~-M%c<lZtT`+yDKd
zU8!pQ*H!8J`WNBWY{uIy>*~67QZZM1Wc<DJ7NtKR;gr4$4p{;!*3hCG3`(!_(_Qvl
z$=B*nx|ur|ab%q|HA;mCaBD&ovA}Mv!L9yO*&a6&VvI)mU7rN0z<K_x(ve^xb>W7!
z1R-A2CNKPeM7xhWzVS-EYzFT7jP1T$c#q9YsI@j$-kYc={wAd}(xohE{SCdXgtCKN
zHA2~5uO{7RtqUv1lQ+Bu%yq0XQd+W6#*(n?ME;~U+RWAEygE^*RUZ2?+1M`%YAQ7c
z$~ossEM$^3y#~_?xF(&<Rs591$A;$BsNODSv&;Eo9e1yU8&JbjZR<`q<SJlPrz<QG
z&*rq4QMBMV;-pL2Yd*UVYE+r_iBifS5>R3L5~Mz|8V3~doYHskN|$`!7n0Yifmxqq
zm1@+ULy*S+eI5kGbrnV7y5E=J8D$W>9{+sk=c)v$kOG!Z?f~=JPDFEwJ$^-nc%lOe
zx=v5|)RbHr5Ono;g;rNt!79XG%DZG(gUSx-7E?U~?etYE_^`3|j1o0jpi9fkf(>#7
zmZEk@IUwX!{fOSX%8Mg@kH+_(co>SQ{KW1oP5FFI>NT5gxx^L|iu4f33UUg*Ni89S
zTkWWu030P;)>a0LcF+~Nt!!M>bv5U#DfO6B)C<dPIWj`)R-*oGtJ8S{*_trB6(t@g
z)Ws0mfmow@WH{B+EYoB7AkOV_NqY(<WJiy-G#HIlso!Y8rw=Vw^y;FyTbi{pH6(-p
z{j4`lgBUYxuJE_87UIDNRRgT?qG{_e#@scCFJ$XlgJbx_jF6HpQwgE!Z>;aWR2m-5
z6=6N)jZ=+e-_{fnWAc5;s`MU4+Cix9NB(LS4I!_xqGlL?4ys8Rt1frOif;v0s~Vir
zDsxhoo`XWAGM$+L2!thW*4il#&2ILBGFAs#+N!2O8$ODgLfgko+SCEsX{tYKOm!jN
zD8wr==RG?xCS*V^I=xBO&s_LxIczbHf0L~yc7`v3(_U4?_cq?8mf1uUkHOI1b9h?X
z%Sgp464*|m+Ct+N>q)qTbtfJbZe39vTG%T<_s)kKGThGQAnl`9A3B2y)lz&iCqbOr
zkeVllM=#W$+YrlORHg!<RHk1j?f?#3Lcwh3B;8sRQd#7j?vaMQ3RBir1+R{xgHZ5n
zUd7~k2`^(K>doUB$3AHz98Ja5BCMXg5AzSUQSYgYaVdzkRPKy?-Fn{#ZWw|)2(#dD
zJiW9RQ+<A+F3&wh94WF*XP5;ot9qC?lrR^i(wvgoXVi-qG!=y~re25LU{V<nwwy|Y
zb3Xh{`%RW3M%Ve*=?zu9H7OL@LiT{Z?yd6DKIU|&7FXF6Ro0%>aU~TYYz#oE{#vU@
zp8r8YX^}KA_-<+H+c|oUkZ9|KM@DXR?bu<I5;T6A)9go7w<X)jF14~jy;FmRjp^hG
z%AuVn0e{AG>Go4ORtjrWFHv-!V>6c1)w}>uWy*1lji))cQjUEm%|IW--J091_|PnT
zt!pZ@D=CjAG3T@&oO-$sy>yy1+A_MJOPsP?z&S}os}U`JEe-RCkj>ive-T6lgt8=*
zu}Oi8J!KumGlpC;Am}}9ef=q=K$4F`s7brQbh%$M5D>~@#OK_ZV5e`&A~5a9_h6B|
zUgTLr;Or1!=|gBo3&67SMydFJ;0Sn8hDI#O^#-HCEWa8S_78AU^+kxpP_tm7EAScy
z9&_}BcgbAw`?l~W52u|+v7iqLY|6H%q+_}zl(6A!X(dxhudXGV3BNz8(~1Of+fxPy
zGLZom5n;KK3-SZAWfeV-s|e4jE7knWH`5&{v6ZBNuwak7F@fTCwf;IquC$5iHhgbZ
zFN0_9<p?7wof;QS4Fi^}+~_J=bZkW}Sv97rDl&>zm6X7uW$d7#YGiAuu4U+$)m!SF
zY8H#Gs$r?FPEy?~nD>3L+H0j|XlJOQZDg;mYGP;b<CC+(MPE|elz~H>i*G}PuZ^Dq
zMYU?MvnG4+VXTQsmWQsZmQs{bWJ&ej>*_~8)@(@X3M0x+i^%4ZMrM$wT@7nhaFl;;
z3hLB<HhvU8JtZ*-qZ>;0CYpNI9<XmQozF88)~FDpwG~+MK|ex8C@9^NIf*+822sgJ
z3~0XALS8ZIf%R|nK~{O)H}`+jXf<K4JU{0Dh^WAvv2)=uTkW%S@80)@{sq8y|A~mH
zNVbS4&Nz?F;;g$!j-=TzcZen9MDxK=GdTBxE4v|kiaE9Y|ANMZ*ptqxmQm=$>eh5e
zyK&$=zLT>96dQ30sX<({o|FRg&=O%5kz$Z9cUM`x`gV6+8ZG%<VfE6xH>(#>S2{S~
zL@!ZNBNvg?vv0{8NeMCYs2A{*`Pi3S!#i>eq?oba#XQ3eiVaB#={||Mg~^O@)c2>8
zZx$M#@ScsWdJYHeC6l5MYAgx%l2o!cqyEqK;LPsR0qfvKmkR+xQ4RNo_NIJTZDaaS
z6T;(ClA`Yw#AhH$aM^ZuB4<L6sh8t^cJSlyna`uc6UH$8RDJRFgF6?JU2l*_cUd+z
zKcSxWe_rJ2YTyZ_g!@NkG!$eM(_?~^rCCAxYh#h%6ZGD9!UidNv}cQBVe<>u%wx3t
zU)2nw8a>Qoigk(iaYN;nvgbizsqNJ4v<^@-R1<1d8xW!%<jY-#8$;6WB$}<5w|Gov
zK=;4(*||R(UH%c>U3b}tdD4g-Z=Uq`y?w&wV;!8I_bWT+M@C9?RAwr#!(sQhIA6~g
z^4jX5k&pyZTM<{3OZ9ESnIVoF<P4A9$q@4L55)trH0?M&%;~~2+vu+^d4F0KdY{tQ
zXe)XV6r9P-qo(!&Yqa;DA*qug8N*r!55e{OqKajT@`|O3AkmbVh3b*94bF%=HKY$5
z@(_QC1Wo;@IDIR37k7V`yCH7o45Vypq^)~yqOqZjMs!ot$?dylx(_pA**A`lPY$$p
zN>|GmB<g9TroX~ZaaRPQdNN&f@157aA$1P_GSfS09ovkLxs{_eercpRfc-1ScM4Is
z@3C3Sg{IS_r6~!QUrrlMRUE&s+!L#9A@4u@v|q2Ul;8B?O3}$Nx#r<`$_gj)EmYnw
z_Z?h&9BM}n84(<&*9b1shno(4`2OEKk6J8!<=y+izPmn!_UHWs$Q=<wf7f>|*Kl5s
z%TEkuJ$^G!Fg!bq7??z)9ECfPGlyRu|Meav>n)o+nI^?n(Xev>#lPKuu)eAwyJL3W
z@054L2bxN2(~dObT|hz4sp?`G7_*!i3lgpzM7U(|eiLio2z!P<cJPY`+(4BDU{;HY
zKC{d$o?i%nYXi~t(S4WqY+UikCwsWl*Q@S=bEY>Ds<Ne!iF@jjF8tg3caAUi$p{Gc
zk8lG7d|emlC6<Y)sp=N;fKCMTm#vi{$M%udNc|9S+CUI*rT4Qw{`KbZ(~qlTePQIJ
zsDKPA#KGZ;#*VkIbI!&++PM}bd|%`xxD+-O`P?V;!{Pn(V?z}y<!3khC0_eu+Xb1&
z7IN`6mk{Kl8blWC?D{j_qat6NoO(eggSJGu!CFnPW2?!yj7+=Cr7N)4)-|x#P~;bT
z5cDIy&bC=T)K|CPbH^FXNp931aK0i(=u6|!2ky_~3%Kp?Mun#N_tO%h?iZw@96$$8
zn~xO_G(=BE1xkKa<<-Hua5_7Ua$~U<kSYG2)~~u>vnPB(ZI7nWomxH2x4z-lm&h68
zQ4)qOoHOaWXDBt9q4A}Z91sRW^0!+XGr4v6jg{=zJ`s~a{V~<qd8x&ro~GHsu8vc|
zcK1CS2@9{X(WK<jd;Kv3x%YF+LYAn$pzeoX04%<D{Scckz6%<a^fj0U?DKsmKO8}j
z&5fRC#q|%%?$^~9KZnGBhcS(FCx_{^CtK-{VQb<@@7X#$`bRl$=8rQC#|ODjZTIu<
zr#Ik-g!nzOf#56Dz|XV7&niV(h-^(hURvFDyySH0#go;k$D81=5c2HV3H$UDeJ8fp
zZv`$FDiobglh}^pE&iSY0<Al}z(VfL4FcAVz6KRbr`uKo9Uwa*_)ZJX?SDh~y3C5s
z?#;UMOZUz#J%B3_Ia#?`gku%UC5X^EoZVy7jfib7ooY#<0du#-(AJ0KZ69l|%G4!g
z4;lM+&NI>XKT(B@dA=kY7nlmFuB97{8vEFSB8vCNi;I2Jo@uzyT3`Xjb<f1ajdSP@
zOn3TpLc2C?!GP8hn>h{FqwF&SSWO!+7Jk)3_8zMkVK`Cj^L05stL^`%to047&Z%)O
zDftt9r#kb-!Aj`o8`0h#k4R|-#-~6n&c`Eur0cEJj}DfOoJVnVouZF=xpm~6$Dm1A
zAqadDEDQd#k{UU`yB~dL6<yLalxP>PEvevT96yWqnefUf=gm0I&6*sa53e3Ppgiz=
z$mp(>-(aKe$e7tW+mT*Tp6(v77W%t;zJJ6c2^T;UnEUZ@&Trjb&dA!sKcg-_J15c7
z<6d9SYYE1ucIs?=gKqJAgZ$d~!q=5gzdbm6*ccTx$(RCPXHQSFcx$0M=qhh41{gBr
z7^BBU+=*dkAw)OeYmsZeeB`=B)_3U}@{0PM_~REnWMrSmngipDPhe;ct1>%(9sA9S
z!9~BP$TEqa0z!oxCcr;w;)QO#%$+)Ge+O*fB4fhWg%su#AI$DF!yJD5s!cJUpCJc?
z7CCHuNWoZb)>014giAvIt|d@bc_jXE6$k#>NXl5*?$$pHTuar{<dn*l(WaV}<b>*{
zps>aJeN&`=*ejHc0oZ3WT!2^7_~4chO9#5WV4hr~pM}-Sd=OhW$0dus-Lu1e9ucg>
z+Dw~e2F5dhIkY4Gr-PMQI3HVSl#Vw}EsrZ&fO9@s*%EE?`M{8CL4}&7Rm*mR_{kHu
zz4Q)Vt<cx<(TUw?Z|K<W&SGjtxZ62;8>=e0DDho?V5k>poc`(|BWl##tHOqXu}CD6
zT*3|Dpr1U;1ZAQ`K}KFdAS7Fjpb{EJO)MFv46}e_gqvIV<NB5{80uqmej8g*DIzfB
z=<xq9p23^l2bJYg4#voJgL3JfMPFqwD<PZ5N16vMoz3F4>)_Hqzi;q76}~<EkhpBi
zPZV7GnU%#)W@)cpf_L2SPrC~vN2E6$xK;#}IkO2?&bLoGoOM5VT66-gWC!J#lZEsT
zY34~sLx4M7qG`Kp^z%ac!lzlJ?cqj~q!4LV@$kfpDw8VH|7KA5X$4T?q5?|~74W|%
z<XPBOUbX1A=<ZG)o>deg(Ipx;pkwYs-n--TL|4n^LkZCO%vQ`?PEfliU6ZMP>b#b|
zt5qpd+CH76nRK(E^k=`Om5(*h9@M}BU()Q;l)5j5dXz(EAgf6OHf(r|a%h+Fy6NQT
zk(E;m<45TNTa0xofA2h&s(-fpr(2&p>+}5UW~)$$E4mXX5rtUeSXU~GN^$7XFYm^B
zR_7ag-NHjWT_W?saOj&wp!~mAarEOy#gVb`k#UL1P6ZP)p5+<Yk?|SSqJY7n;=rt&
zXmWO*d->#$V{s}aI$jPH5<;3E4B8qD_L>V>Z@Pv8y}SnlNb?|U&+S(ByzJ5Cu!zct
z&<MqT#o*B3%HXgoWsg=MgX;kEz!>uz6I9b1x)}z_;;QiuHRzFTudz!imlM6F8Aw!f
zb|Jaa*Tyu(dG>m%Sg(ggz9+NQSV8<&yh9cH=-Li?bD9xWou8CiO0rYAq#Y-JT)Rfq
z%jQbN@mkXZ8i%#<8V)MAWVB-xj_A_w5cChRCW%B~aWs!(2sNkGpQr2fRrzF?S65nG
z)HT=ULGPI>D1C6BnqhBcU~c7>5aJ!!mStsOq3`%Fx~}9jzEYmIa$3u}+M<*As<Ki-
zMe!*TZGvg4F%qFZ5`Qa93^yBV%#I9e%(NPVOJAemZNrFw$Pg#bs(?D8bbP3amW)&>
zhtq?|gxI{)xNEkDbj*V<7@uLLdg+154Jj+Qx*5R4#g^R!(`AAo(nt*!S6W7>DLh&C
zpiqDSySev^UWzVXUQJY3$UXTW3CO!{gyl(}X9(=GCZQYd6{;e}3bN{Vt~n%vw9rYN
z`}YOh=|1PI0$1mZd>7XYs<R7~`ftCi`mHN+>Kd|_G_;5s>TovGh?qkxt}c$ui7cw-
z<NK_Xs|2<A#>5MUh>j`}f3DrWb^A&YsVWnf7w+Ng>Z-5RkVXNXEJp(k)obD+ySJ`r
zNS-UQD-RA$C<t`Eq++IUFzYPEl@>~lsSI-~7SXz@bW823ly?DQ0)*jz8yrGZ*e@*?
z1m$-Nd`GY62r%WUaU_el+Dsj_MH|)`h{GAY#Qj}bWc&A$3$S#^SpGTk&=7k_N`+(1
zxrZ}sOS~v7uG&UYVi$kf;!ecE`?4a_Czm7aeDT0qVPD)ikYCW*SEW(H?3eEDuPnzp
z*mxW0Tag^K?3Y6Hb*<eI8@OE!E@#87{o4E3?fBe%NbU}yUMX?T(v8XXp~bQ0`jUr4
zFNHf9UqpU_A{Svd`gws5w~h3a&DJF>y*;;?u%wlvwjbYb$Qw9zd<9I@)U{Q${DalB
z)V9(poutmMp_55T*CHQ8>DuI{QeJlVI_pPBonFcey<3q|{Ey5;gs#imf3ZzIr9^i0
zs7k^XDWSvFb}33w-`nhFP&7u;j$A?qGM_v9_lFO#zI=hd!eq_7j4r|bsU_KgA;W*4
zcmQRF@$AfNX3J1hN!Yy!6)6p?PKsf?X30cjn{LYm^Yi)p;x5Rzd0Fa7t6O(v7$xYM
zCe9dGIk}oV69TObK5Trmyy2#0N_A&lPSIBV>bjwud$6-hlDlp@p7OD!)2BgCLhpuF
zy^+h@E7<i}W@)JJp=Jf%et$E*DDb9Nwpx+;{&(BHNRqq$9Ty83w6srFEl=X%6EU$F
zAf>YZ2Wy^XvG1QJl(_ik5rOM*nVvf{k&*WUy~PHSlb>d)+4V+6o3)8wE`BfbFtIB_
z&7LKi>i}n>nnik9PjzzD;I9IU+Ux+uIg^(iFRic01o@sSP)9{nI*8}|UI+i#NThgJ
zo>R*Vb(|W=lP?bWyG~AXHWXCP3bmh@%Ic6Eu<<ZzT~|x2e(KoLX5^vY;H;Qb^^5_E
zByW1vSxXtRUeN=fi-t@&CU~WRP9q<w{4X_$8){|h5_$e+mxs~_x4td#qVEn*0af`U
z-i}<UL~dez|28snWq#l_*a(*f{(VMHO&IgNW-sqJNb-8L`}d9S3=8f4P+V7ln|c^I
z`fL1@=MDSob|YSKE39JwI&keJPm&T!mS);YmlNa578Pfg?5XAZ6Sxn%zElu*c+Z|k
zrDf6bIKS@m0ztnB;}BnSi(tRH;GmBB2-h$aQ&f@=S5mN3RF;rbPywm`R*1o|7U!C6
zuGbwsS1b|2;ue@>dCJH7%E=QKE-Q%u&r5=fszo>|gWTbJ*Jc#hviO}<Eh15rwDu^l
zw;6%t!_I1E;iz<fhQl8XR+)U!S=Ee;%4IMrh<0-;H?M9%W`&#0Ea2{Aj6FOp%)N=0
zLdNdyR+b(fCU8s$Nlp=tCJ4u*0Jl%;M2_uKkrX5q%H5s*)FQQe7-aCrBG3cPk1Ks0
zPZCN3js^ZWdK$~o6xx)~6xPIsJ$n4JYus@{8Bx%qf<A%mycZUc5CJ!ul9Y0kU?O&0
zSBut}@oul$YsU*hCA<TiUEQo!DXS0Eh1OmQYac?;9Gi2CCl$trYx0M>-u6bv^Va~o
z%zzKJ<oG;rfoC*s0(=g&&$~sr(TZpRSjRwYS;+4CNe&pzFV88z_nmZ$TX~27j@NYr
zFZ?)wd2RgSFu>{X{{UFw^L_X@0}ZfV%YtV=9_Rn(Uv+*{j{Jlb><_RiXs*B+%JaPE
znuQg%gK$_?_9d>d&|A0^EH$yZKaQh+%duAuNwB;M61~7JB|iYougJF_^F(*=ob_~>
z8-P`2Qxf&d+Ru>HZh~GT0rcl~7Q84solu!p<tE-_v3tMPyZcn*+oc(9a%Xk*lebfv
zPE$Z<>_KfV-_f~NWxr7oyZ38}yHAxh%+(MQ*}ZbAckf4L_o<N|<{B^78J<>)YE-3K
ztI}(iBZ+wv67w5Ks$R8gD06K`c=bvFaiLN53e3z%VjjXUS6|fYB1HD6P{?A}RTcOg
zqT+?=-gi}LcQ3(NT@}mi6kmZuRqZjl*;8E%i&S;^3?fq4bZd5)t5lR!rTnbD;~>9d
zX?IT|oO_8df=5qV(d|_Iis(^KeV-K(nC^OalC(R@hq=mCO|#9Tk;G>N0@H2TVXo3t
zONsA@ZC<$E2>y<cxh!QLxI-b2iOKaxT)sB<Qg&{)h8Tvi@5&htqd8aZ2pp{p!F=AV
zr(@s?;JM)6&ran%sZxfZwCFp>zpR`~qIWI?*NVT#EdZDIwB9)@3H1}5tH0M#FppoQ
zO;6b#f|2ES{LZBd*eTcY96|$ija42!6^*Rf0PS(yEIR1d(>J>$wY@BXej5WCn48kN
zf8I{ET4`+0EA}{b^zwhn2UfMKbPrjgP2UIVL!8b162|NKk0J}8=i8pcR^}{r%HwTm
zu{8X%G?gL?(6WXz0@_{XU)i8vLEk*GpF8*Vx~#80ha`jXv-y^}mUEDv{}5Tgx>DLO
zvgIpC4Uq+6<1qf+?Lj9->hRy6w*C1YTY+9I#xmEXk5ThvT1`mEnO2*H4mRhq^tnuu
z&-up3^y*bZCdPHRZ;twywbs+*ZFzrT>Fi4!m@A4$nPOJ&qiPM*<{2?xk=XY(HELP=
zjcnPQ(!E4oEK`&ev&$r{@}-mRhbjor!7WbhoweSzzr&FY06zUEUQqzP{v)mbI`Vgs
zO?=}6?EOKtv4QoTJI<TpYyb55r;+||i(7s&k~vVg{dc}w`+-V31-ae{sBj*0g-iY9
z*c>_aF0p-#@E|!_3A9><V_k+&KO${t!b`aipcX8_3S=N3V&D#Vb+<$NUtDW+u6U`H
zgWM7oH%8rF#kkJPj@ECqDI;LsM5|<DBjz!E1kV<<E~33$$xIAq)ABEWP{hm#{*yCw
zuY0{yQ@wO*gv1n=JP$a!9&&wRT&WrR>Whr}2^mApS!2aEZc2U>!t{rw@-^dLVUkOn
zMMbl&>n!`IYs*|V<t({<l+t$7Timpwj|x|`q;i#9Y0Pu<WY)bEAdqhnwz?bg*l=<|
zyD+{xH^%WBZj#pJ+h+~X3DaBj(JHBIxKtJM*#fI&C)yjCwZlwXK6e*&<|9+)=y$g~
z+*>rbT(tuGUr}|7ZT~=V&hJK#5>jOOW0z9rm)U;vg%&*Sqbq&x&J~7>44vf)&oNGU
z4bG=hX4<>Ey_l+MK+@7rtLVZjoobPpS0QTqrC=@NyehLDLukET&=?Ui<&`ftrL{aZ
z$R*x#obC&p`*YWN|IyeavEM}mH?5z~)&7BOg|n^<HRa(%B}s@jw|0_}w;<V4foVDK
z^<_uN){wVFGD!m2u$&(FuJtW#iL{{GAsI60njaz2EpWE$EHS$M%1A(V;E&+zTKlxv
zg9|cUcQP3f;HN123Io^=$b%mMI@DoU;>491G^F+}DmcM~hQbX7GnzAFunpElhqqyI
z)U8Br2JGnZ^qME%IiTl**@7P;TO>x&ib#C8@Z>>&B+>sn0txEH)g|3`lrE4-<Wh6y
zJC%8n``;xI08Nzb!f4B$Gsnov6NwWsL@xKbBM&~F`&cVY>XfL^q7PL>f%BVzlf?BC
GRf+>&>*#?1

literal 0
HcmV?d00001

diff --git a/assets/fonts/roboto-slimfix.css b/assets/fonts/roboto-slimfix.css
new file mode 100644
index 00000000..d2dd8a11
--- /dev/null
+++ b/assets/fonts/roboto-slimfix.css
@@ -0,0 +1,111 @@
+@font-face {
+  font-family: 'Roboto';
+  font-weight: 400;
+  font-style: normal;
+  src: url('/assets/vendor/fonts/Roboto-300/Roboto-300.eot');
+  src: url('/assets/vendor/fonts/Roboto-300/Roboto-300.eot?#iefix') format('embedded-opentype'),
+       local('Roboto Light'),
+       local('Roboto-300'),
+       url('/assets/vendor/fonts/Roboto-300/Roboto-300.woff2') format('woff2'),
+       url('/assets/vendor/fonts/Roboto-300/Roboto-300.woff') format('woff'),
+       url('/assets/vendor/fonts/Roboto-300/Roboto-300.ttf') format('truetype'),
+       url('/assets/vendor/fonts/Roboto-300/Roboto-300.svg#Roboto') format('svg');
+}
+
+@font-face {
+  font-family: 'Roboto';
+  font-weight: 500;
+  font-style: normal;
+  src: url('/assets/vendor/fonts/Roboto-regular/Roboto-regular.eot');
+  src: url('/assets/vendor/fonts/Roboto-regular/Roboto-regular.eot?#iefix') format('embedded-opentype'),
+       local('Roboto'),
+       local('Roboto-regular'),
+       url('/assets/vendor/fonts/Roboto-regular/Roboto-regular.woff2') format('woff2'),
+       url('/assets/vendor/fonts/Roboto-regular/Roboto-regular.woff') format('woff'),
+       url('/assets/vendor/fonts/Roboto-regular/Roboto-regular.ttf') format('truetype'),
+       url('/assets/vendor/fonts/Roboto-regular/Roboto-regular.svg#Roboto') format('svg');
+}
+
+@font-face {
+  font-family: 'Roboto';
+  font-weight: 700;
+  font-style: normal;
+  src: url('/assets/vendor/fonts/Roboto-500/Roboto-500.eot');
+  src: url('/assets/vendor/fonts/Roboto-500/Roboto-500.eot?#iefix') format('embedded-opentype'),
+       local('Roboto Medium'),
+       local('Roboto-500'),
+       url('/assets/vendor/fonts/Roboto-500/Roboto-500.woff2') format('woff2'),
+       url('/assets/vendor/fonts/Roboto-500/Roboto-500.woff') format('woff'),
+       url('/assets/vendor/fonts/Roboto-500/Roboto-500.ttf') format('truetype'),
+       url('/assets/vendor/fonts/Roboto-500/Roboto-500.svg#Roboto') format('svg');
+}
+
+@font-face {
+  font-family: 'Roboto';
+  font-weight: 900;
+  font-style: normal;
+  src: url('/assets/vendor/fonts/Roboto-700/Roboto-700.eot');
+  src: url('/assets/vendor/fonts/Roboto-700/Roboto-700.eot?#iefix') format('embedded-opentype'),
+       local('Roboto Bold'),
+       local('Roboto-700'),
+       url('/assets/vendor/fonts/Roboto-700/Roboto-700.woff2') format('woff2'),
+       url('/assets/vendor/fonts/Roboto-700/Roboto-700.woff') format('woff'),
+       url('/assets/vendor/fonts/Roboto-700/Roboto-700.ttf') format('truetype'),
+       url('/assets/vendor/fonts/Roboto-700/Roboto-700.svg#Roboto') format('svg');
+}
+
+@font-face {
+  font-family: 'Roboto';
+  font-weight: 400;
+  font-style: italic;
+  src: url('/assets/vendor/fonts/Roboto-300italic/Roboto-300italic.eot');
+  src: url('/assets/vendor/fonts/Roboto-300italic/Roboto-300italic.eot?#iefix') format('embedded-opentype'),
+       local('Roboto Light Italic'),
+       local('Roboto-300italic'),
+       url('/assets/vendor/fonts/Roboto-300italic/Roboto-300italic.woff2') format('woff2'),
+       url('/assets/vendor/fonts/Roboto-300italic/Roboto-300italic.woff') format('woff'),
+       url('/assets/vendor/fonts/Roboto-300italic/Roboto-300italic.ttf') format('truetype'),
+       url('/assets/vendor/fonts/Roboto-300italic/Roboto-300italic.svg#Roboto') format('svg');
+}
+
+@font-face {
+  font-family: 'Roboto';
+  font-weight: 500;
+  font-style: italic;
+  src: url('/assets/vendor/fonts/Roboto-italic/Roboto-italic.eot');
+  src: url('/assets/vendor/fonts/Roboto-italic/Roboto-italic.eot?#iefix') format('embedded-opentype'),
+       local('Roboto Italic'),
+       local('Roboto-italic'),
+       url('/assets/vendor/fonts/Roboto-italic/Roboto-italic.woff2') format('woff2'),
+       url('/assets/vendor/fonts/Roboto-italic/Roboto-italic.woff') format('woff'),
+       url('/assets/vendor/fonts/Roboto-italic/Roboto-italic.ttf') format('truetype'),
+       url('/assets/vendor/fonts/Roboto-italic/Roboto-italic.svg#Roboto') format('svg');
+}
+
+@font-face {
+  font-family: 'Roboto';
+  font-weight: 700;
+  font-style: italic;
+  src: url('/assets/vendor/fonts/Roboto-500italic/Roboto-500italic.eot');
+  src: url('/assets/vendor/fonts/Roboto-500italic/Roboto-500italic.eot?#iefix') format('embedded-opentype'),
+       local('Roboto Medium Italic'),
+       local('Roboto-500italic'),
+       url('/assets/vendor/fonts/Roboto-500italic/Roboto-500italic.woff2') format('woff2'),
+       url('/assets/vendor/fonts/Roboto-500italic/Roboto-500italic.woff') format('woff'),
+       url('/assets/vendor/fonts/Roboto-500italic/Roboto-500italic.ttf') format('truetype'),
+       url('/assets/vendor/fonts/Roboto-500italic/Roboto-500italic.svg#Roboto') format('svg');
+}
+
+@font-face {
+  font-family: 'Roboto';
+  font-weight: 900;
+  font-style: italic;
+  src: url('/assets/vendor/fonts/Roboto-700italic/Roboto-700italic.eot');
+  src: url('/assets/vendor/fonts/Roboto-700italic/Roboto-700italic.eot?#iefix') format('embedded-opentype'),
+       local('Roboto Bold Italic'),
+       local('Roboto-700italic'),
+       url('/assets/vendor/fonts/Roboto-700italic/Roboto-700italic.woff2') format('woff2'),
+       url('/assets/vendor/fonts/Roboto-700italic/Roboto-700italic.woff') format('woff'),
+       url('/assets/vendor/fonts/Roboto-700italic/Roboto-700italic.ttf') format('truetype'),
+       url('/assets/vendor/fonts/Roboto-700italic/Roboto-700italic.svg#Roboto') format('svg');
+}
diff --git a/assets/fonts/roboto.css b/assets/fonts/roboto.css
new file mode 100644
index 00000000..cae1c904
--- /dev/null
+++ b/assets/fonts/roboto.css
@@ -0,0 +1,111 @@
+@font-face {
+  font-family: 'Roboto';
+  font-weight: 300;
+  font-style: normal;
+  src: url('/assets/vendor/fonts/Roboto-300/Roboto-300.eot');
+  src: url('/assets/vendor/fonts/Roboto-300/Roboto-300.eot?#iefix') format('embedded-opentype'),
+       local('Roboto Light'),
+       local('Roboto-300'),
+       url('/assets/vendor/fonts/Roboto-300/Roboto-300.woff2') format('woff2'),
+       url('/assets/vendor/fonts/Roboto-300/Roboto-300.woff') format('woff'),
+       url('/assets/vendor/fonts/Roboto-300/Roboto-300.ttf') format('truetype'),
+       url('/assets/vendor/fonts/Roboto-300/Roboto-300.svg#Roboto') format('svg');
+}
+
+@font-face {
+  font-family: 'Roboto';
+  font-weight: 400;
+  font-style: normal;
+  src: url('/assets/vendor/fonts/Roboto-regular/Roboto-regular.eot');
+  src: url('/assets/vendor/fonts/Roboto-regular/Roboto-regular.eot?#iefix') format('embedded-opentype'),
+       local('Roboto'),
+       local('Roboto-regular'),
+       url('/assets/vendor/fonts/Roboto-regular/Roboto-regular.woff2') format('woff2'),
+       url('/assets/vendor/fonts/Roboto-regular/Roboto-regular.woff') format('woff'),
+       url('/assets/vendor/fonts/Roboto-regular/Roboto-regular.ttf') format('truetype'),
+       url('/assets/vendor/fonts/Roboto-regular/Roboto-regular.svg#Roboto') format('svg');
+}
+
+@font-face {
+  font-family: 'Roboto';
+  font-weight: 500;
+  font-style: normal;
+  src: url('/assets/vendor/fonts/Roboto-500/Roboto-500.eot');
+  src: url('/assets/vendor/fonts/Roboto-500/Roboto-500.eot?#iefix') format('embedded-opentype'),
+       local('Roboto Medium'),
+       local('Roboto-500'),
+       url('/assets/vendor/fonts/Roboto-500/Roboto-500.woff2') format('woff2'),
+       url('/assets/vendor/fonts/Roboto-500/Roboto-500.woff') format('woff'),
+       url('/assets/vendor/fonts/Roboto-500/Roboto-500.ttf') format('truetype'),
+       url('/assets/vendor/fonts/Roboto-500/Roboto-500.svg#Roboto') format('svg');
+}
+
+@font-face {
+  font-family: 'Roboto';
+  font-weight: 700;
+  font-style: normal;
+  src: url('/assets/vendor/fonts/Roboto-700/Roboto-700.eot');
+  src: url('/assets/vendor/fonts/Roboto-700/Roboto-700.eot?#iefix') format('embedded-opentype'),
+       local('Roboto Bold'),
+       local('Roboto-700'),
+       url('/assets/vendor/fonts/Roboto-700/Roboto-700.woff2') format('woff2'),
+       url('/assets/vendor/fonts/Roboto-700/Roboto-700.woff') format('woff'),
+       url('/assets/vendor/fonts/Roboto-700/Roboto-700.ttf') format('truetype'),
+       url('/assets/vendor/fonts/Roboto-700/Roboto-700.svg#Roboto') format('svg');
+}
+
+@font-face {
+  font-family: 'Roboto';
+  font-weight: 300;
+  font-style: italic;
+  src: url('/assets/vendor/fonts/Roboto-300italic/Roboto-300italic.eot');
+  src: url('/assets/vendor/fonts/Roboto-300italic/Roboto-300italic.eot?#iefix') format('embedded-opentype'),
+       local('Roboto Light Italic'),
+       local('Roboto-300italic'),
+       url('/assets/vendor/fonts/Roboto-300italic/Roboto-300italic.woff2') format('woff2'),
+       url('/assets/vendor/fonts/Roboto-300italic/Roboto-300italic.woff') format('woff'),
+       url('/assets/vendor/fonts/Roboto-300italic/Roboto-300italic.ttf') format('truetype'),
+       url('/assets/vendor/fonts/Roboto-300italic/Roboto-300italic.svg#Roboto') format('svg');
+}
+
+@font-face {
+  font-family: 'Roboto';
+  font-weight: 400;
+  font-style: italic;
+  src: url('/assets/vendor/fonts/Roboto-italic/Roboto-italic.eot');
+  src: url('/assets/vendor/fonts/Roboto-italic/Roboto-italic.eot?#iefix') format('embedded-opentype'),
+       local('Roboto Italic'),
+       local('Roboto-italic'),
+       url('/assets/vendor/fonts/Roboto-italic/Roboto-italic.woff2') format('woff2'),
+       url('/assets/vendor/fonts/Roboto-italic/Roboto-italic.woff') format('woff'),
+       url('/assets/vendor/fonts/Roboto-italic/Roboto-italic.ttf') format('truetype'),
+       url('/assets/vendor/fonts/Roboto-italic/Roboto-italic.svg#Roboto') format('svg');
+}
+
+@font-face {
+  font-family: 'Roboto';
+  font-weight: 500;
+  font-style: italic;
+  src: url('/assets/vendor/fonts/Roboto-500italic/Roboto-500italic.eot');
+  src: url('/assets/vendor/fonts/Roboto-500italic/Roboto-500italic.eot?#iefix') format('embedded-opentype'),
+       local('Roboto Medium Italic'),
+       local('Roboto-500italic'),
+       url('/assets/vendor/fonts/Roboto-500italic/Roboto-500italic.woff2') format('woff2'),
+       url('/assets/vendor/fonts/Roboto-500italic/Roboto-500italic.woff') format('woff'),
+       url('/assets/vendor/fonts/Roboto-500italic/Roboto-500italic.ttf') format('truetype'),
+       url('/assets/vendor/fonts/Roboto-500italic/Roboto-500italic.svg#Roboto') format('svg');
+}
+
+@font-face {
+  font-family: 'Roboto';
+  font-weight: 700;
+  font-style: italic;
+  src: url('/assets/vendor/fonts/Roboto-700italic/Roboto-700italic.eot');
+  src: url('/assets/vendor/fonts/Roboto-700italic/Roboto-700italic.eot?#iefix') format('embedded-opentype'),
+       local('Roboto Bold Italic'),
+       local('Roboto-700italic'),
+       url('/assets/vendor/fonts/Roboto-700italic/Roboto-700italic.woff2') format('woff2'),
+       url('/assets/vendor/fonts/Roboto-700italic/Roboto-700italic.woff') format('woff'),
+       url('/assets/vendor/fonts/Roboto-700italic/Roboto-700italic.ttf') format('truetype'),
+       url('/assets/vendor/fonts/Roboto-700italic/Roboto-700italic.svg#Roboto') format('svg');
+}
diff --git a/assets/icons/README.md b/assets/icons/README.md
new file mode 100644
index 00000000..bf72d16b
--- /dev/null
+++ b/assets/icons/README.md
@@ -0,0 +1,3 @@
+# .ICOs
+
+converted using https://www.icoconverter.com/
diff --git a/assets/icons/pm_dark_128.png b/assets/icons/pm_dark_128.png
new file mode 100644
index 0000000000000000000000000000000000000000..99193f24b4398cea26a112b5fb0f90d1bed1b3b5
GIT binary patch
literal 10900
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
Sr}+6a-B8y|=b@HU%>MurN5ZuL

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_dark_256.png b/assets/icons/pm_dark_256.png
new file mode 100644
index 0000000000000000000000000000000000000000..fe9d6acba61b72c38f7c117952969a229f36e76f
GIT binary patch
literal 16639
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
X<|pD6JaYf*k6Ril+R7glZJz%h$qNJp

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_dark_512.ico b/assets/icons/pm_dark_512.ico
new file mode 100644
index 0000000000000000000000000000000000000000..fdb10a672de2270395087d9264c2fc137303b9d2
GIT binary patch
literal 110291
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

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_dark_512.png b/assets/icons/pm_dark_512.png
new file mode 100644
index 0000000000000000000000000000000000000000..05f504cb07ad76409bec94d303ebbb08d2e884d0
GIT binary patch
literal 31400
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%0Dk1
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
Y<qVyzxfT|o_3wl|QzKC6H}FXKKUeUSZU6uP

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_dark_blue_128.png b/assets/icons/pm_dark_blue_128.png
new file mode 100644
index 0000000000000000000000000000000000000000..e248b771597f53a87176a233d2f346f9bad3d339
GIT binary patch
literal 10678
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

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_dark_blue_256.png b/assets/icons/pm_dark_blue_256.png
new file mode 100644
index 0000000000000000000000000000000000000000..f15379466db710c397264e1073c45685740a4452
GIT binary patch
literal 17006
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
CMiuJ-

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_dark_blue_512.ico b/assets/icons/pm_dark_blue_512.ico
new file mode 100644
index 0000000000000000000000000000000000000000..d684c2379226e4dacbd8dd1696151e569cbd0d74
GIT binary patch
literal 99678
zcmeI53B09a{lL$i%UtW+k!>*Cu`k(+h}=Q;Efp1EP(p>0lI`9hDk&vJrD!4ak4j2S
zxb`ifMUuGooogSAIsfnXJ?}H#`_6mLdCzw5ow@V-_|Ee_`|o*v&-Om&oU2f1E6iUQ
zKfZuFsc`Uog~FbNLSfRRlK(=&uOe*y^<)34g~CBg77CLmm;7sNRVa+xtWfCfjr|L>
z6*fM;P*{U9$V!Q&aGXMcau#2>MC70SpALd{f?vVY@LO24_=|nkeEqz=FNEjeWw;u)
z2BK%lGCZ9LFF+9<fvt+a`NTxhT?fS!|HJ=&(kK(ay3BVU90Qxcm^aSb`}kD8WI5N8
zW-Ocm=GDJ8tOZl<I%Vgv<h`sy{^_LK9-fE)!Fr&KgLQ8^X~+4=dufIIFO%+ku<qkv
zTUZ@d2K!O{4=4Z3GG$ywng`)I*a0pCJ9R%;?axQQzd-&a$a_gf8MhI(A?e<Pd%?Od
zg<aso(AGYttw0)C5{`t+VH$k3c+nJfToB%Xbbg0m8$?3-P|jG!LdPx}Ol&7&V>k~U
zfB~?*7r+5v{qKNsvH=kffo(qz?7v?4B>WmS0_!LzJw%x2XRsAGRxQgu_!@iz7Jw{K
zZ__>lj=%Zf>tK1efOc2|(qey@_f{~ib(mLK0<_&suw5s@dtrr`O>s|xhrzrT0ke3J
zScbaW7Sp^0{V_fpW}Ld3HcRFwup7>S|H7*=J{xA7X=X`3t?I+q8;68Wv$1Uiw)F$E
zBmyh9_mS2-Sf`)W!j75*lfm^X5*D5+>r5%#?Ek9Ux^N`?9{RyH+zzWj7>By6!BlV_
zJPR+v{qRfJ85RJu<Pq(-8Q4eKXa?BdV&8uZ3b%h{C+l@h*ca}Gw;;J5h35gne+bJ%
zq_g?U$V9@w1&+s1XVN{F@Ui=DzLMp%!{^{72z6C*|4h0SfFd%*HTDK@+$QVv**>@*
zHf_V+mH|7#b5N<ybli_gzaZtLWorUlchdDb#?J@)T${IFf5LXwJq}#E(&bn4zd)W3
zQBG2v$Nzz3-R=d>%lClefze%92twN@Q%>G~PwV8~7Gzl-u7zaX&*DD<qWW;{n;*br
z2=#0Cbh&x`Pgo8z23%v(b?+O;;Y9Kg{=E&l^--^!+Ccq|CB=SMmr(!fJUiFbD=CZP
zIRRETFs}dP2I{vS>o^la-Ma2Ii$IoWf7hc>|0f!#-}TqF+y|k4_xvrux#2hudkK$G
z*iN`R=y~PGA5({Q;fXqRIE!LF1#dv8{}P_9a~Jp%91e@Z0^oQskK<s>B}a5y|9o&x
z9rZs*9_@Ysgt}+){0U$eiOz0+$GsTb*S3N0!v{fK3S;LR6Kt>+W&N`T9bPBx=YbWh
zU>%`;``$Ci@?hKVgiixISK%vQUkqBaC?n`FnP=DjYIE;Z(wqVd0mThk-yIJVU{kmm
zZh`l~I`BPkU7k%WCuVKjpMm>cS`XX&SJ($SAe8eO525{c@H`G2Uw?&bVJ(;p-+@Vx
zDV7&w+3yC=w`af);6&IBmV&}9Q+EtyEXBjC5bC$TJ7IeW^{>ryH=F@0LNi3WZw`Ni
zry$htS>JWoad{)$3R}UN;2NPV8WHPV30%V-gJ<Dy5bA${XX{pnKY;z=I;c&|b9DTS
zQ<pf7{sqo6>vZg&8$SmfK8s&HzX5l_Z@~Gm88`<TvB9C_5B2E&9QFnG*buHwoZs$s
zH-Y_QyIqf$fiX~zEJP;Hj-j5{c|HIp!QBwTU*g&EKNd~}ZQxkgAEI?1w;tJ!OfN#H
z=N_IN3(D6ZgzHX&#lZNBKppIh&qD{)D(@h}6_Bjsv_v7!vHnE-TRfiv?gQ(>h2U5?
z23(tK5&P^UaIX*bKg6@;CPf=tZ%Fep&yIcbJLbL+yEwVUyhng#g>tRqI7o|q^g9UY
zbYB5&<GG^^Y7z6;hsnAv^KvjQOI&9>UnO<0->!yT!8uS(OtTAI1<5|Q%-dlts3aQ_
znbyI)_Jw601>LYROo;K>Fl}@tq}v?oem8M>WOWj`?z{=+P2$?6E{}k7NFE03G%lIe
zXZt|A+PAgHcoN&52OwQ$UVlG%zX;Cddc-kjUz`ZezgMAJ-R|dq2iNK~pw@9qmf6HI
zmV-UuOt>EU;h7kp4f`JK2@@e#y~W-mI%aZfFoWBJ>21A*0dn=XbC1A?>OBy!Y}-qe
z#&c9+doL?sUt6J*RGkCk3Z2F2&|m17MIZjY-j3o_XzS~o+1}SRqrJa#pksiu#q>g<
ziviKiK<O#=wiWH5^<fIM6(;d7vP#|e6s7#x|2hV?fG@+P;GSdup;pwFJK+uz&q^`g
z)9ndAfjhzTzVF))!L{&J*c_s}4ctNHG~k(!yq+131?~GBB-d!iqVua4Tx%n-{+NYv
zy%V_sJol#0q`^OvxToO)*c8S<D6SrN44K{qXT#%AY0mtHc+Z@XSZ~ZE++V<S2zusm
zwT<r<3qmNi7Iy-PPlCswlHSJIwoM=s>x)?x_iD(aZ&n)H{B;QLD4~i<uJgSc94F~9
zQm!4}A+5HGg!<IqvF?3zmR_}l`M&c-$TOB4=Lf)}P)^rmxbMsN!mRy_deprQynA#!
z*P?5=v`<maWT2|DGL{(ksTU!sWBS?iu6xKgVK-O>+949_fc4=KD5p<7;g?X}!l9m&
zYrh`}?&oQJgWtaHgO9_~Fx$RD`RXpdSJ$Isr9975rtbq;vLAsjK+rYq-cOwGJg)sg
z9Pdj&M+k^@e+RC2)|GUrH_ml1Et?VW5Tte1?>XvE;MN$#^?hSF9)1YRK_s#M8{lT$
zJJhRlGT%Q!U9r0q?p2VbyKB$S!F4n#i{m*TEbG_s4u~Yye;3?0AX#s-o}HUXITnw7
zoTdLS2v^rEIgr3R-~t#I62$uNjoYksC*5xQG|1XK^h1{Je<6HXC@0GhaWR|)v(|)I
zf6q7NJ~v70Q>))KL~-qK{mat*LBcnJN@9N7zkD)LtpAp{mCiV|>YPmPSwLA8TvO8e
zdj>la@`~$zdhK5c{k@Y-*4wP-X|ZCT#ZBw3|7LJbD+_^ZO*xrJ#D1V1B8mHdEbgT(
z(0>MHy1%N|A0Vy2bK_u8)cYtn8U~FK{EnRs;biy;><N*?`n!L5H{0wr=s%RX8Wp*g
zKMHC6?<K4Y6z^oN2G^KNU}sQoWdm^ToC9A6_m5c;x4}K^YG~HDaXmZEvXM`M^Ej>l
zj|mHB$j|Yt?thKlPva`CJ12p<p8%eH28ngVY>Vr=NHf~dM>!KL7x@9Cb$1V#0?K%B
zUH=>04p+d+pzH<eeky3oOtBvDy!%=3`#6oX;os!n2%>(W!fPO{|MP@}HFKRfjk;@t
zZ-8rz`>^BXN3bhYl(@e6asB+D-t)vA<n?_x=x&|=gS7tl5jN3CWJkCS96Q=zKTsU!
zKLp#e98{IK-gexb;3jYl$zuyYM?Mc$gQV`(`7EUMS69c4G6mGzuv=g&P+VtRZ`>co
zLM{pQ<1PiC0zYH-edJ9@w&gYa_ruR%J1BPt@iG;s^}n95g=2+2jT`3fjXZB0haZ5e
z{?7lf7R6E39rTI%5qDwm^ReCGP&fh(gl(V;{2Vjg=T=~yYr;#A*8c{=76IiDNb3Kd
zD70i3^*;#0Iu%E?+_An7fOGOGNb9e@;T*gV&td%B%JX)h><+H6UxEc;sAMTB>H)|7
z0Q?8i`u7ty36yO>y~F&qzm<2x*>F0n1g(}OsbF8Y31)ygyY@_rpObBHOu4=&tHYHL
z*3UC}cD`z#lfd<VZ*Wa*m8?a<>Yd(a`w06sBy|tZhZ3$h4;<%?Dcf)rtP9F6@FO?_
zJV&%jTqA;BN%wn%+jrA5;x8g>eo)LG=78?8;2d&|b^M<K+Nl+yU48dU>h1IEFa^A-
zegM+(4-@A4q^t~o1a;R2eega|R)AKH|J5kJAJY0gMA$pQv3zkxyy=et#kKY@NZQ~+
z{I;vr;<-JoyZ%dIfw*$#b(qu1w09F8`qs1N`QSVVYmw{cY-diwnk8Kn^bbht<nvo_
zAOu;Chpcp_Jr&yHgqz|11(J5qc9S8b;jt+)hEh(3wC?)tSI2EqzKka;?X!gM6en~X
zxo=$yp$&KO?3&u_J#0J5d>XQJI)U)CbP@1($VzYc+HnT^*}Z!jIF>vsZ3)d3*A2_g
z(&b--uUMwCPY~|9l$Gyl!dH&-X@^a~b?roO4QQ6An`1Of2lub=PM%etd(|(?<h8s$
zSO<c57FjxYn&7TQ8SeF2x*PT@SQILW`+;M+Tp9l)Za0_@nkAOCGn5;@>SDdF_jzO+
z5<LRt+TgkGJFqG^mg*Jrt^(hJ=b&7Dj}f;$)FOM3_(>>N=1k)5gRj8)5cU!tt4aqc
z)`O|=U$Crl^*lw~$DmfRZ$1nUL%FgIw{GjW96SrT?m3Q^g~elhc1<zvi*Om(H<k3Z
z>__3F(1?w<B7eEHEUR6f1=Y=dbv(<x@C3XDS$VR;oP&<zMsz28B#!f+LoM}Z>69nT
z_Fn+2Lo;O|3fl+VcRhdP(WRC&mU$;kfrX(};#fWcJj0dS>uS;a4a%`kj)di4sANeh
za(<r+|Av>L+I+NKrg;VKfuDlwocrK#iF?lqunY9S#c(q?e_gxWM|{2o+&_C^SLg!s
zHYCL&_r~1}=IPw+cjESQC&B7m>}%`yL|iPi^|=DfEVTFP&d^1s7rJ8iCcTA$_KwKy
z?}**buSWj9u9Dl^eR|~Y?RmW9?sik;7QWii8$C?Lb)`A6Gpes`Ojn=vw-vhi4ixTu
z-2>`}JHwXa7X7xPF1nXocGbw=hg;|>7Acu>BDc_sYeiE@uiIOU+}_DO#hKLGJE^NU
z1Gi6?di%zA7pLR)FVI~ap#J``J;i?9fi{XmkLiV;nd*Tu)9t?*mWdmc-Gkdp-FS+9
zyjbX>Tc<7w(Y#>gvIf~ELodwwo)!Uh{+^6dYL+qNm;hUYdz)*gYlGv?JwqOcqrkM8
z67CprJHYQ-c+Y(y{0$xgzdzIueiy(yRqtN?ovnA`nPs*x(2=$@><(vv>n;{5yRJL$
zJPXVw>K^0wqIQH|!lO{_ZruB3`{Nww20!PUt^6hjFruUPuoH3J-}9{hw~=lom`&6-
z#^37L?s`9)d7ivy!O9SoIa_6o1!!;2bS^@UYi3?9JX7xovq`L{pM`t`?t@|z@H>!x
zPS*yr)mdl266E_5^h4fuhjeF<XSO{?-N3dV0)Ah!8Ep?`ICu7dM#q6R-vX`zm*>!?
zyzc$vSrZ0H&<l587=WO6Gu_81cL%7q4;Dn}&w%T8-u9-`oieE5c!EB-?}dk<nQcy&
z<?r6sfLi<D9jNNN^=puBQy#x-;=f=$7$mVS<8l88X?<JaKaYB%&m9LTQr_b}?*3it
z`^od<ah~+R4zMB&+Uw)CYl{P++27?T*LQwy?4F7`RmHadALOyIX=cLz;2W?hEDU8u
z9bhrI4$A4<itvl6Z-KIkl_D0y`32-{yL;eCunM?NRuy!x{oBJU(291JE7NnM_9-Wv
z%A@b^<QenMZO6!lFlc<^SA54`1_s4ZzipROp`4zr3irE0C#YN*`4r)=LN(hzO&Z_P
z)Az5obp>#e{RpPQpglis`$D)^4nzCx*FU3EmTW@cLr|^l_mReT=0SGFuWSL{=iLt8
zl^q9zByRt5xc?od_CGjCp^|4j&gD?8?f)i?Z7e6N6LAH2hjRyf76wV&{<UzQ9H#a=
zzSH9Q=1r*7{`-mVPG?N{UH=Y)(Efu{@nP=!J#gPsS~brrl{+(~(@Oa7hDvRJmiP~*
z@|E*WBEmV~_&*2+32n9ye8+ocnA-0hV^UnBDz)A7{xOg>-;?DepFf7@^U#$H^f_+-
ziny)%9&shx8|T^`MBCpBmD>M%;$0tV5$^^v`zvn0=U(q_s_EK__`fC^as<zn+WsW*
zn<vuO`Zzxs2K7VS{xP`c4O9ESA2*^C_gbjbe&2nP`n$g65!<~X901-K%#yhM&V&7-
zRlj8@H*UOB3hUTplzI`$wf|A#lJ9N46C4ODK_zjnc>XyPyboL#21(opE8#ZluBTjk
z)8RK!=TfmUC*qcCyW!`6^Ek-<Jh-p@7WM+iPg<5F;Bfe1jAiT&gCuUhV_+!Hz@B}*
zM^+cltye+0_IpN1-qqP>7lZAW+u#S_c_+v?9z5@O?zR1A$NtRm68C|35<_(kyoI`!
ziQDhEc6^s>zirf(L3ZKcR&ec<+u=%hCn%1SJt5fr`#gUbd<V*uxc!cSgQ3>n52wd<
zHNSUjey7>`)W?6OL%H^=e-PhaPK7%lwBP6BU<@esgKMSjcU;&PW1*tN`uHw%HaI@3
zwWFSRKO2||(Ra6Fg}#PcuI-)=_e&_gEYF_j923Fz*Ymt7D6aK~fa6{~_c*_D33_Rh
zCE+4yb|2XGGhtCk>T@Zca_t`=?mdab@8$U>2)4H$ycY{+qDefT4%+^^upZ<V^@{N~
z1b%+wZ?fyLb2^WAD_?_gkk-exlxx55IV&VG?8S4iz4;vby%5d<+wyGNwfz^M+Witq
zW*2pYMZh)M&-l{qsl|T}`S*hkn7y*>?+Azfu#LgC<~<T@bJG4{e%J?}0QWiDzbn)&
z>I!YJ9{3rSclUYcglDM-z&&+Uh{jbJWqbz+?M=Jxi{AMww(lgk6GHpl`*sAS1C9dQ
z?tZrsG%T_1u2=pR<w&>;+$Vi!ehr)>{*Kh&KK&d14-SP@z_WEV9h~Fob_f3-i3@AD
z`&xSKzlE^Lpt!%e57_?i!J5!Cu^lmv<K<vO*c!HnEn$7|w{!DDC3^>*Y|oZZsr^?F
zuU!@Qx35ET{M-JmK(YPDLTG<D4;VMn#5NrY-qSw`!QN^28scnMkX{~=<KKA@=DB;H
z`<?A~-*>MViLxw8eH&hd=i$GQZg=q8*2N*nVLT-5@AE++5_ca6>)%Hb;UnSEy=XUZ
z|MpyC8y|uj<LA)kr28;&D?^YE@!)wktbexOIpJJVHV19*7&rksVYp>s6xaqXf|nrK
zKHG9ZDl8fQGI5h3$c8*z2cZu<3tS2lKv^0*PkIJ83%X%AWpyfd4Ntc_wDA(+j)yQF
zLU_{s4Dmsn3%>%}9marb;P#-nNA3mM-#(ZM&bQ%`Pf~HRE$QcziFZ!CQX$>>#D(!~
z``qIk_o4khe+$A{Zz9iM1>5ghV1JlzsKx#2Cy;J)@V`c!?`Erl`#=a!yRMI25M&D;
zTr)!ZoeRDLbwiLXd2syOSCe2kWH~Cm8`A9w{s)O$3$&Z}I3YakzDeB2A;_XUIKI<k
zKwCRMl(FEsV0k^mB--{3NVg~WT^GXM{<#Y2OmF`z2tjt@;bsV9Ah_=T^M^#k=z6|!
zoeFKua*s~vw*k*jRY?B=aqmy0Uxeo~AUOt{2hNMVA*>fX4vRQPpM$J+8}=-03_+X&
zzkzb;4YxnTc;PYnZOWf;lY4=E;Qr`*aSjZJ*cR99N^SWA@yWKRr|Wd3`Qje&5fdil
zV>~+#Y<HLgK6}RcA}j?%Egz)9a{Ik~;(E4!hEhusW?L%to3>stk=J>4B-r+JADH%Z
zaIOrMtUyJ#LZvpSXE?8=^*V?E`=?TV_tb?G85iaGShx++eQ*e2Z7>w#`g}H2()}&s
zKU+Z=_pfWJl<_+8uARv>P8++2IPSH(TmVbMP>5$8_nzrcsr|0c)#l`Gq<OJQIqnCa
z1nUjrdgndA`>JQ+ona`%@ihgWhe~btU1krcCbr}IP^m2Ao`Zv6J_w>N>%bHkih1uC
z+#jBXYWjLUbG^zVlSt%zu2!bw#JQhttNqYwasP6U8GvefdQMpdYLRV7{5VuA+x6h*
zuqq6dtVBiUf^}EZ?<vyk2(^kfbbMFZOOti~i?sWJ`$4P3eP?g@J0$Ba_w1SFGf?k%
zoS(eMLA7-?)Ni`WVHap-KRCa3g5SYw5bCSsIyR<)>sce>dGbWaTdz9V?^nX1um<E^
zcSt%*%(FTi4Aa2%yHb0Takl+y;2O~ku@8=cymKMw;(6mya7>&4yTb<HIc*8(jPcp9
z^}+r3c(@E60m}&G<#Fw&9%xqEDJl}@!h!G@<k2H5jqexkn-9Q0;IA=0-w)41rFW35
zGLvCXkpENA=$NO7OmQ8V3^&0{NY*{v&$ptF@96ceb!5#g6G?eGJP*U&ZqK6M1?SID
zit}Mx_!H#aADY=$u5o{X9idg@ouaFXYnXfT)$l4bvyEA0xer|f`@(n_DPlkD3Z4ZY
zhFaI{thR<Q%W^Nc06qXCsokhENSqg|!T#`5xC>nK--OVfYOZO`<2ld%bl>qTVA*q$
zw4>}Y@IG)~`W9RQH-LNIy)plc!!E@=9X#`F0n5UC&@w3&XB4{o_~Qe`eh&>j{!s%q
zw(jE0g8!@9PNLfebO#FUxE&<x=;!XE*jMQ2W3M53$t7=Z!A;R1e;C_wddZ#WykLRc
zyi0eWFr(zQmE8XJnUTN0y%@QD9mQ_b^>r5S(CuBc*x9Q)VP@=Z-r46KxBi6K9pBaO
zUCfm6-6eNYk9roSO!Ch+bn4FV^P4GK(j=NVc}tsEjNE~a8IkK>dLSMdC`{R3x6gbC
zZ}Ph2oHD5=awqWz94vAD3HWsvAfEpl&x8(K{*OEp+Dq;t_US-d-#GppLvf(JZ>)XW
z-`?M@+t<<G)=PMA$3Wp4T>j5I1?rvY|8HkAi|gV)wd$rH$>#rmhw^&Ki*2aYXN0gm
zUFz)DB`uAnxshs`(I%KYN~mh3KNx{)Zxo~dpHHtz+Wc>lPe|KP{+)<Yl|%Qh^T|7~
z4Pg&B7JdTL;5G<n(zJU!afgF*x~UR>U&rq%Ee`L3z2HRnDf|I$fWN}+a2@;(eh6QN
z55QUweXkL>sk+Stg=z2Q;Qioz(fOcl9|O-TOoUwf(q*Ju9-1QB3AFk0;NK<iyQw$B
z6X18C^L*FO@A>)N&WGSiI2pEuCBW|vHbvJtun<2BSO?s5Ju}?{-buI`)<YlpCP71@
zJz^HboebLiKhVtIy*nQKJyj3*+q(InA-(62%+7Pqori#P^>Jv%8T@X_@y@1hvHxSV
z`;Kra_&bDR3vvB;6#VY+yP+NGZo>%9==sujVE6C`p&2$0Ys52@w;R+g_BpuDYl92m
zMQEknv&#0n<9`3Y3!<@DcY{Vw#-&lk_rj~dJI`RVX1N@*qkGuoXPgA(lhDt&op2O9
z0$H{hsxa4sJK)1G7V<S@<fWQ`N}mDGaE;s*R~skpA@6{i#lDSM1NYa^%>BL5@$v%t
z_`8rLVNO~L7Q+zEci++8glhI{B>rK_e-G3wp-*wQf;*v6d$l6J?+w3&Rbix$fw352
z2bc!0LnC(0lh^aZF;KI_ed&AG2jM|zh3%SI=8fp+?}kR|81OuQ7I3B4a=VAIaWi!-
z12swLL)<;#acHKUT3OcL(AD3PjifQ)`}@A&yH~KwP`G}!RP(_o^d0Wb;5%0<?bV91
z{d)jw!blhcez)lyXym@8-m&s0>h*mxw}d{!eGl9Vt+3Bflz9cZF9W&T-sFV7XKe?b
z>+7{&Bl(>BdqPcOf5Ak!28O~;t*qnwv|$0LsSlcv*zYPG0Z&3BHf$vCHPr1pMsBg6
zz<230pp|wRs<QnZ{Q)qP`@m9k_?h7RYs7wy<n_#dDCCyVN4Ot?;keUl)tGP(d#CLi
z0$G_lE`?^^+14@+toKE@9wtF<v43D$@a)toTMSpZKc-FP{$5J%KB|&%UE;5UTI|(m
zT0iUcJEp$leGj}(+7x`>YlB=u-$d&p?$MCvbK2puW4-nI+0=HSow+)twnQ6|-0xE~
zYR^3RwfR%<2lzZ}4C5iUy-7Pr;(l2f_a3OXk4JhwKcig8wl-PbLwSBDFpupTN#i%6
zyemE)-UXg98y5Q`=1aIE-G+_m=b2`k(B6hSu2jIgaawJAKMQoOe+-s{rb^r&OXK=o
ztVa5GPRM&MZEV)}N7lv=&c{aPbfvtnQugm*7gz+EF0t*M|9*z*-yNG1Y}km7ey_~W
zFdOa5E(-8-`bzezH_p%LZ-kG+qR=w2AHeU?I4>IM*EuDxXWK)dkv{b^^oyWg`&P>L
zDCHgtOGC@Wet_j+Za(*=$EJTzv7^q;HQzVDIa<k%wZ^?kdG7JPyVdjk9Q9fS)`Hyc
z0kQpez<mwU{WQ1w{ac&%RXy@aGBx{i9N*u2VDTCinxFKxV=wqF`~?n!ToT*f`G4Ff
zvb|&aW%xj@P8ytObG#2ht#i9l`hQcNy0k-H@hsR4C&Qn>dxtyVZ?Gri68a$Q{TGcg
z`#T0s%+*P6C-Qe|eNf4kwZ>gdc^g1pagFzTLq7n|huU1*`}v~W0+S(^#P(kd_tsHp
z|6k|oq*5Z+S@(SJ-D<UQR(kK~FNPJM7V)#ZpMm!c!REnr9C-JfdpyPVpM={#3hnP&
znOAlt;q#DX%UZ)cH~s|by~o*uythKIdvLYC`@i2W%O$b>H^6;n6x#ohT%A<<ot<lK
zt#-~zukC*b&f|K;chB>{wLjQiSNmT9U64y+`)`5kd1!7u>z8ZSOF25p_bAT^%~<y>
z<ENng8Wq<g_xiN`eScgoZ{e~1x5b@43hnRvb~V|U1dl@2T&^|jQp#!8oz6JQave#o
z0q$qs6)yw1B)0$dxFhMe9OdR~v%{T_m1F@Te*v}HIV=4Ql(TZB%Ib*QjyyL(SOZ-D
zF9+XKa!G7|KMxy?^Z)fKowO72FF=+(YYF=wWo%NVu6m*uCexV^)_^;C_AX!r$R)A;
zH^ZHqzU!5DofxRlNsAJ98PsCuth6su#>Xqv(`eLW3h->|S-`W!UXc4c0kQqp!F>wy
z_S@W&?g9F$oOmDC=pC>7%eP=`xk{Q4uB{J&ond^f<;C{*d*0rM&n<S%+Ya~6EOA}^
zEo9B-TEecUjNE7OEJbpLjmepAwq&vW{Tn;ijY9i-w#$-j2yArUe~vPC$SQm!g~j&w
zx1HyXGW+{m;V)*`Vm`vog<9r$R@(1ShGmUtiS6%aK!=Yq`}<wstuu_XE@6*AmQC}9
z`FURMJJ<{z8V#DC0&4yI|9$kwXnF_uJMGQdn~$OI^4d8oo%g$+Yt(>s=3j(-Tflzc
z`%5mNADsV7fPafG@7ZZiPv`%KIDKyNUbfMD{@W-c_x)Qg165DtKC?a?1!seM&x(*s
z=m+gDr@@?V*F5@r*ZC3KoD$D{e$P5<UgrsO?)xrQPPEhJFtJ>MI>H^ZzVn{}KY|~`
zxDMnN`vSIt(Xa>ni+1|Xo9>^}2*_jSa%sGWt919e9`V!QBG?6T-_wvbOT17168tbG
z*xqrlKcv?;g0jWF0N(?rL7q7@C#U&(+}>noEP=;+^m4Y%6YkleoOlQH6>yCBIgP*7
z^KQs>yB%s3^PK|8IUnrrc$f;g?}I{r;O+-=^JhW+4Vw*ZZ%QWP_pUaNowL$BOx|}w
zIoXJaYrxNF9B1NK_zN5cmDUZS2g$qeeFL&=?-<bj-v{4ia*KTe{{6HYU{0Rjm2~%S
zLHJvTbiW)+K$czehW(8E?(bP*_=%vsgYARsco6r5UBSD@O0o`-m2B^r_%_(UB_X%i
zCo%ir&W)c3K1{p(u2Z^C{G8X%&GXtio$ht=emGrd!oMcZ(;zwbgZ+d1H{x%B<G}BD
zW{IEcodnuAto2FPd4Dvl4fX6P!Tz2D{GDv2c{HcR`J0~;z`IVmXOQ@=bU&o+n%93f
zc`Kdi4<%mv23wbN9Ulin8>D4X0*-(z+iQ2<`=)^J19gji6SE1f^JPx6b2)vlr7aU|
zTZU{;*lUp2-syDbkhk1fTYFpp)$DKluORCj;CR>#l5;&gYx}dn^~ZIrVX=>5j=-H8
zeh>Nt?btfBE2D$_93XAey#5*F{dh*1A?STPc&Aiu&WCX4{sAFV%3THjH$htmy9d{K
zzbE*9(KLzsY7yM?pxm6A6T&^md>*paef!IO@~4p3-syCYk#{X9Ctn~U>)aRYuIt?Q
z{4ojAqFp})S?j)G2SKCv2oy29&}Xg#{x0-Nm=kQB*6}U${w`GddmoF@a=)9GwrgJh
zHRN?~&XREi`d(1Y{>C2%S$oJk3HNR<J@>VJ4=fEW5&A9c18ei_|9d0dza!c2dG7-7
z|2<Txe^w{*0my6bbUJ@?Sx&Uw)!^EmobT!98;Q@luXSzu1Z2(q?-9NUv{dZ782|rG
zx5G%bdC*PU`+LT6=e=Z~ZH;FD(ss@3cl|9VyAzSNb=n`!eM@8%vOHm@LDt;=G~wmm
z6EljcKZt$|W5ECKj_2sm&m+-&6a9VyOF^V}m6q>M{2P$h-pO<?lW(gE<$E`uXYKDL
zUDn#aE#Ya~d+u}1Sr>*(LSN#p2p5C>Jksp%XIEc=PRQFgCy;O^B<-5_`BCz@e`Ja8
zV&1`4v%l-XhcgQBI~<2WdhOSLBrFI+D)wp2c--URX&5PE;9hju8~nSqwe*YgE3duN
z>Fy+N*1B!|hW{E|-_vV;@Ov(}7S@Nfc&__8r02hW*M(sd`xm@J_jhC0zzi6!aqtRt
zpAVi<^Q`yje)|mpX}jk2|AoBe-o1QhH@?!@&$01am;h;UeRur`@A<mg{&ZLohE+me
z<NA5gk#G-q?i#9b;AfQA!5$F3-{IENCw*kfYwvWr3(4ylJxlzI?s}+XfA@xSVPQy1
z*52>h?|b4R>BPh3x6i@5m6hOF_y@G|Y~bJW?t=p$dbh)Er1{Rlv|aQ1os;EcOCtO{
zC#>~ZuKUMnFdwAlV+5Q7$@#C}yP&MIBEiEa+5j8}%fWtd2|NnT*c-fqc7Oj7>;#@a
z>RIcvI_N(H=CyY^-8ZuejKg-py$!PL9>TPL541s2w6E`#Y5P0>v(Adiyu<n&?1I|?
zYl36pZ16h;4}*Vapxl^n|8VW_yV?JPX>cm+4l6)AG`oHNHZyJ4y#B9LP-YL}Dy{vF
z0oVU8WR&50a5!l1<ows~XH|2IXfJSG7ze9BH~8JlL*ZyR0eqJ@3JwBoy$NXVM)vhQ
zeKe6o4?tdfr_)WXP{~J$%VYl|GRhcB*ykZ_f6ss3SIv{gd*Hnk@q1|GbN>@7sPPfv
z^4R}#8D;qHZ+Mpdx5-F9FQ~R2un+Hnr{F$F&+EMYuaUQ$e2|E+&zEyu|G%73fbSIE
z?`G})o-5`_eLdj1It3m9ZTuMgGk(r%^JKb8pZ&N`=Q;nKOuF=W-t*uTNZVikJ}^&e
z?|~)A@>O^Vf(`q5zA51k;d$Nj$eTX96BLR2i)ELa`{DfO=Xf1aj=}$Y0B?Hz*YCN&
zaXe4*^?>%-2>u8&AZgpX@n4Y&OU74w_U^8nE!HOP8mM#z@b1Aoq{SdDn-Xv~B+vhz
z{~W_h!aS+o1NN))<srzj<&A`2P$n)beLBqi;~+~W5_mai<8o_&W8=@TGNffi0=^B}
zJUIru6W$Q!N%<adJ>3DO!5fgaTkw1SKdnN1NLSANFL||dmMlu(&%rZZIr|%aGi(WI
zS%iS&AZris4B)ypPX_mZ?@jN8pTYo?vs(y1hcv!_&&ZKB<Vm{ElFxhoENLguwYr-9
zjXxx-0K)cywEbNVEO!FTlTr`(`N`IB9y|?68<l(ZGk-t(_dV^EoO#k^xwd==%E>2*
zsI>k&|F!>Fupp#mJp#T5$@Sl7$H2}o+Ql=yee4<T1xVYclK*wmPl1i#NvM>zQk-ja
zIoX1Un?O64!!v;U)M}6x_mE>CYYjM=@MY5(Mw$Om+FS41{XBWycb9{IKqVVjiu)CL
z=Z7q@?8~6q8sHfCcvb;~Z42r7uir7TAC#+`sJU9aGx-TrvQ4G9`^dWrxbAumtdzD=
z+`q`X3}lJ6`6jr=mz)2F8?QYVfwZ{BO$FoA<KRrfHiywD@1W7%uT`>5rMN!whIcn@
zR4HwxxR=Pg6_k^Y65;%=WPjstfcHU`yr01IU4Uc3bHJ&v7K}F8m<B%wm26Wf&b|xp
zQ2X-yRs&@nN8WPc8uMqUHU?Y+w59K^X>ncf9wWU5*apXicg>?s4x_=9>{~7FGl>p+
zH_y*DP~J51`VNvM?g84h+8*HexE3~pELokv(?FYtx$j+&_rzIahTyqYZ11H|&Bo>8
zUnH+*^B{}!;QCxHeYJ4kIUPgg#QAv(SVtusBj1HZAT6#{+kiHA47m62434kSChm9P
zGrVfH$%?<5{K+$$ee0acN}D(A81k1B&nkKD0v#KUlMk0EXe{A-!FOOgm=8vye3nMf
zguJ#%r@Mf>>Av$$bw&ea-bh~8k#e#(5tZhCi1S_Xx3F57f)*v*@t@YeO!B!d*!H{M
zrfr(n@3=WMqgUKt%Y9Cir|ehBzgtGRA;{lzTm;%T*t(qSKJZN#2lHfb4|va8>s?>c
zeovBrgTX~czDCa!*6~ZQoO0s3pzo~Z?4Ara-KSwR?(Z}^Q(W_Y1W9|=`uu0|FPvF=
z>2L2e@*emM<yN|nS&aB|!1<lDb=LFkq`4kE3xxMn9!IroNb4ViT5X<8e^iAYT!Xj=
z8!Z3F<gYYmClh}iXx}WmC&Sz;u7Vw4w2uMrd;LB{(w4P8KSBPiwV&WfTwi_$wU(Pq
z|1|lN@0L-)iGLg$UxqyA0LOyq{sKFJeK1<Z_v=R?+1Ir`UrPQ3s&wG)#J|>HJ)ZLx
zs!-2z#GMa$_JJ@4t|q<bhp{l)#5TLG)@tu$`Zvh$J6<(ef&@1~GH<QVFOz?dDiv);
z{FRVrA8-tq?ndw)*mJ~ak{xO6^H8fDlIiav|FStd?Q^7S<bJ_=Z-$8#>T^GLJl+De
zi~+}jcYy1{XgCurNjp6QC2d*H^9huZS5_k7Jy1_QA&=wdYtRnm#J%Wf$ZLOXFYX&x
z!2VEapCNjV7RUFo@D_xAt;g*r|5{LsOeJwWbtUsWOBp*?sdPN?Ux&Qs!7v8yB+q$Z
z{<&4Qq+yRkvQO)I{uX7_dUjr&Joh!BZtb-)RFb8L^xY=!7zk&9Z7UTzhsU{hUJLcu
zJDKNU%2>b7zUXN}{p#`y7*|Dy3B;ccdB%Y2ziURdcNvn*k>Z|qHYDv>@AGMtQ|sIh
zowgzm|7e09zI%B7@ZG<Xc-A=uTr<j@2@IbG>%rV8+UiJ{4)xkR<a7OA6B-fk;NOH$
zX1(qUlyLxfrl};IMEZ{BJ80HgVA$bM@0cd*h?b9_-7`>cKZkst8NbwomipPf^DUIy
zi2DTP?4CoX4$|xie*)Kf*8|b^zk*8dl|;|6vK^W~1da4@$a@3jxTiKl)XTGcD7z8&
zLCV=7hf=N+?}Br{HDBA`0)8GeH_BuhbuTp1w;}I~l#^$kkt~<^xxi@<%5T)YpR&Bu
z$|K%Kx(8hi-usM$xlOjDLH9tT{TlLnc61GGrYuikH$$kSQP*|OxtwPo_YP@8sPztm
zEF)T6<NRF9b6TVQ8S>vnS*t)R#5voHvq{kPDa!j4`1!_Y6W7#z;ZX?v(WvVgyOsN+
z^U(LW8BNsrCCc)hZ!s7xvM3Eb9tNOMn}_@}DeF|I_Kr=GhD1C4AB1|F;rf30YiRUc
zl_EyGxHkU+yc20g--R;%KzZJy4uz~iC7#Da-OY0UMVY?;Hv8;Ck;5*|%iX~D*=F@u
zD93(V4~9~<qB8H6gAUDdeRnwvT6Kn@=pmO$)c7rU9-7rpp&aj2c81}Qk5lP$5Ois#
z>zF<W=HzpM@2dO3o#6i5%>J<~&rY77eUBIp@jUo>cm<l>Hp_b*ynFlrEDUpsEQq4M
zD_st+K`Z*k&j*f!R-gB%qN2E0_kjAeqMercGF%3ZgH9N!;<?`UdC#)$W3B2B&yJq;
z9cLp!)Wdf;=WDClY`Ly8SHr=uBDnqxw|IZG0vrf`2FGeE`@nalZ-ZlPB*{W3b27AQ
zy-W6~_YeOC?>TpcWnn1Cf;L|oT;snB_keau>ez~B=l$v6xnd-W>wxzft)2tPzID8L
zR{SyS59@<x#%7KO?L8jWg?-=$@OO9>lDf3=*><|dE&?N2#-iM3;aO;9e`J;Iy6_a-
z20w!@!=A7ytOm|m?dV#io}Qh=XUDE*3)A@S`5y2t^-FLr+yYO6b!64u%CHxxQ#}@d
zIYFFz_WJ|S%6`dHw(GL}_b|9l+zeNOXY=30_-vSQ{{+(xz)-B|)!OhVdh7>|(>YBx
zM`8Q4S{vuZXZO(^^xgYmxZdxnx?%C0{&Q&cyTRNvhFo|2jAeD08^m`N?};9Rxyeqg
zXp85UW59FD+$5f%w*dFq;W$IJ!dA^J^DX-2de{a$Kh3SOBn>+r=B)*9uZ6x>d<B+)
z(IBn`n}B=VP`*PqbG|mCEbq*J2d;~A^PH!7nc`<UAB7uWB)n@i!=`!4aR0j%_Jfgn
zmxpRYChiG`!0j+Mj|1)Qz2OlsTGo1+np^A>$H7hD+L&i9%?W9|xA#s`yHA99Qn?3~
zAliN5H!vLc$jus4&!fM0i~GP*Fi&dhfdxsv37i7%4RgX-@ip|k3%&vG13zn+Cyn)h
z_n*$69pT&XS9lScHBTEY$M0czS9>Px1`}XTzOzOB5i9nq`-AUHUxZ)7J>Ynl360va
zT7K)$-uHt0)0bgOaD4h+J5PqT2mI`IIdH8#2u_FJ!=3O548ZH~7F4rsh&Qcy{M^vb
z-(1iC0B3;b({5NEtb3k}ydLm#a@XK>U~AY1j)arpEbzMl7lQXs;<I6AgJ+E|z`o#J
ztl#<Yy~MM~T(_ndBk3!26&d<HC0~)Z)b8SReuWYH`;FqCw%AWc6pOw5TgpK4wxX*d
zxfCW`n`Q8Iipbx`-Im3L0;30KCBcX(JBxk#qY6wJ`>CdA#i-ZIzoiQMaJ!tSNH_73
z8&z+3tVmRS<d2?uVm}H+iu6SPMhZoWB>er9*I^qJ6zs$4N%(uC(0)P@6y{$_?bjFj
z0j>HXZ`=<k8T$)X-&TBZkiVnY{<fcrJ7=`V&846FY2-k{PeDB?e{p&uzL(;Yezi@O
zXX6rn`mM7#^X>fjyOMtTjn=#!U-Ea((vRl!6pL3U{j|0;I_v_P6Zug)k^#G{`1-8&
z4n$+%?f&SG{8MN3XMdsN;bO5Z>F>wH!Qb9j=<MsBQJ7^P{aw=s`FlGCqHeeTj^097
zZ+kyoR8ptp@1sjf{!ZdaM3<EOUA-*zoxOBP?58{Ul2CVP)al_E(rFj;MhSZSdE^Q<
zxi9iFI%0pn{<f0eE{FzLJO1Meo9mAh>L~f07Lh^@bK;|EV*c)gzZbu1%!uRrqj9N!
zlMeD*0OL~s(UBhwqscMLA14~*M~gvz3Jv9%+*SpBB0oAL{q|DQZ=>+rzDW8b{}!|S
zz4+;$;Ey^v?l03v{w=UbPn5gVCvkrpLK92&>7Es@zoU1Szb&$7U+kY=(BIqM*HcO#
z{QV^_HfVGFw7n4f8JzkxXC#roqd%xqWUw+m`yCFEM4t8mW>87`jKp7B2JJnDV%zjW
z$sUfGPW&^XA#V=+kpV)5g#ts_-`n;?<<T8oG`T0`@7Ayiaowf~3X@lVC&N7whFlK=
zqGRA~zXPO$<sy>)0tNLJ+GoW2^*L8vPh!81j)0!iqvRA#MlyAmvQs??@pqN{RFB{F
ztmH2}5gJ!VNu(rKtWIxK5~Y@!>qB>G43MleL3(frrr4;WsNH0XT%4$&J|4PC$)k$;
zOA);|QNC#6;XxwBP$&r5;z3sm>DF(Bu|!^aB$in3zTl7BHLHTS-Lop_D&@Cfk@S@O
tp}@GfQp-pXX={?WfUY=sSc`gszf{1i?D5(X*B&LZx>>1tpu{-({{iP*Art@r

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_dark_blue_512.png b/assets/icons/pm_dark_blue_512.png
new file mode 100644
index 0000000000000000000000000000000000000000..92a860cc1afe3508a2e89628f338671be5c5932d
GIT binary patch
literal 26121
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
Xbn27p_X{(ucdRW<ZB1&7iShpjBsF~}

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_dark_green_128.png b/assets/icons/pm_dark_green_128.png
new file mode 100644
index 0000000000000000000000000000000000000000..179064cd2a9f56e24c47f12808afb612d67c1821
GIT binary patch
literal 11587
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

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_dark_green_256.png b/assets/icons/pm_dark_green_256.png
new file mode 100644
index 0000000000000000000000000000000000000000..3c2196974f39ce3f6559bc9c0504c0f47d3b0c3e
GIT binary patch
literal 18162
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
LNkvXXu0mjf5($c^

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_dark_green_512.ico b/assets/icons/pm_dark_green_512.ico
new file mode 100644
index 0000000000000000000000000000000000000000..6463edb3366ba9aa12ed9615b3da954f9de65b29
GIT binary patch
literal 112077
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

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_dark_green_512.png b/assets/icons/pm_dark_green_512.png
new file mode 100644
index 0000000000000000000000000000000000000000..08e96d938d232fc22620a94715fdd06174c67a3f
GIT binary patch
literal 28931
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

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_dark_red_128.png b/assets/icons/pm_dark_red_128.png
new file mode 100644
index 0000000000000000000000000000000000000000..7f7449a86eaaeef5a70d06644ffd78ada1e942b4
GIT binary patch
literal 11443
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
PKU-+3>B7oYtU~?=3~NHd

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_dark_red_256.png b/assets/icons/pm_dark_red_256.png
new file mode 100644
index 0000000000000000000000000000000000000000..f77a8f4c22ba05d8f21d317378861055fa94a112
GIT binary patch
literal 17932
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
Eg3B?+z5oCK

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_dark_red_512.ico b/assets/icons/pm_dark_red_512.ico
new file mode 100644
index 0000000000000000000000000000000000000000..e12fbbcc9cb4a609a5c247822c9a48c05e8b6e92
GIT binary patch
literal 112150
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

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_dark_red_512.png b/assets/icons/pm_dark_red_512.png
new file mode 100644
index 0000000000000000000000000000000000000000..77e05fc27e213a870022b1ae04e00ff51c7954ec
GIT binary patch
literal 29114
zcmcG#2UJtrwm-a6=r!~X29P4XcTfU?2qGdzq$GqYq4ypXF@S)8g3=WfrJ0}t3P?Z@
z5dlTPhyoFi-leyE@tkwdz3&_My?4j|`~Hl<VDGhN`OUfJnrp7L7b&(jC)t>Vm;nG_
zv$R0i0RWix2nHDGX@AxuKkotn^Qe!hsV%}MBoK>^0sxDY+j$YTIkS9kN|vpprJg}=
ziA8glTfh(}WWZNKId9+maO4dqA%gEhpyH!PsEb62`;<B6w~m}F_0J_Y&0w9u&YwGz
z-yK}FT3PyjS3kycG%DfO`>2v%#SyQJ`xpY-5o#Be9)l(=dDkAHjN?zZah0q>6=qCD
zAENLbJ8ENZ->Lut!>ugf$OINB@SVWl?fzoh>z=e_4?hH<hO@VPrNbfN2#h~R9=!nE
zf&lM5<=vTa!Q8-^;+uD%w$Z?f8vPCn;BuKJ*<=tP<#Zu-Aod}+ZoZUBLEsw<Xtgc8
z2avM>kq6ldawHchs#)ip6o{+{nE(7~od+yj0IFF!1=Vn`A(X7$BCj_II~DQ=X7^d8
zIX3A46utY;o?x@5)E}Srsc(A}1uD@@xFR`@6mThovmxZ+b@_|=da7>tr&1(NFTSJ>
zcB0Ohu@7GQKF;>%*Y7E4)52n2Df?a7BvsSGTyX)zj<wmd?;K}?6UL74bzh(7o9vL^
zc&~A9Ai>7-^gbuQXQ#Eu_<rHchaVyd50sSgcB97DLJQhX+7@49Tn-}+Jeh8L@!nNE
z@@~}Z_12l3UG|tM8QJBdmMn}SeJSUsdU)dBIo5r*@Q8QxC)o8X-*6~C{}z+{i#O|?
z_Io~SyoehD4n<R53)ZgS#J{UB5pi(8TrjX-(c{_kR85UH*7dG}cDnMdR8jNQBGDqz
z#H0?XLyFAmk`^P7#2$hyi02J_0<tx%PO-y1j5Ya&MLs3dJu(Jmq;%4)wI5Gs1~dqz
z>|&v4s5<hsSYO~(ekfxH6d^&Ma)((}EsH_d(@l)8OyB`Bed7^HYk?%T&~;p6T-Ih>
zL1|omIEbTY=8e_*xZy6-6%?n)6{{JpH%WBplRDgD9g*;xjFR{92>7+P66FYxY9{j3
zEiMlP9kJ-qk@zDSoH8lDIyA@GSMiZH&C*6WJlWQ37N!H)BG%D2U%AT)n%W#ue=9gC
zQipf4^p~o78|My*%5Ju(&ncR;s>=kY%9~wxJ3*|7wB473-I6+`XJ&KJMDE_LbCt4T
zw>(b?|D=DAvzEG+a;hTuacrgGV4Bd0^arVr)gQ4uI`)Y7v*Bm@IiESUImye)8^Y<P
z>ZM;l8u*-W1S?+E%5gY-tYYz@=)<CW&p*BNS)L7j$v%?0WW#Y!X5i^;$n3G1OEVkm
ze7l;_{4JSns2Q~dfzca`$@qIH9(66%O;sC}TJ@KL;&&@gV;-uj<L`FdQp;26xf^r0
z>+YAk{dW%Jh2;6<i{)YRT(`f<SJ{VGYE(I$opqS?@~Nvvj#djeX!)x8N>*irC5M%4
z*qlE<XdhNRCpD-rXjUnFp5syRxw!J(l$y?ZkG-ckU+ETZFI*01*<;@mz5bdw$*5x~
zLgyu2ksOlx>*lYs=~YvuN9}VSDcV=r``R|uZaO-fjhq;{5LdY?vJt#tI(Ol-tIs2E
z<mGK&yau1Q{biAlGaqI?O<vaXG54PGsr~T1D$3>Q$+UYOk9i+Sf0Q2>z87|?D$VLg
ze$c@Sw<WtJn<YVi?aaQX<4jRso9#y9M?GAg)aPyrEb1&?9KJo=^-MoZRxelYM3Ga`
zc|C?O|JhhEv`%{jVi^BZa?adId=*`OXwmleS(dcq{K@*v{py}CY@d5SI+uNWv}cl8
z=~bm|8Srq_p+!CV$$HeT%dXo2*TL1@2sR7IrK_@6U(oBbDhaL&3JKB+zhl)FELMy4
zD91>tywh^@3jIFwLiI~zb5QQ8-URm><?Z2E*LbA_NvcNcmkyFtM>)y8soNtb{@k%o
z$WPJ_Hy(1lM|z5R&U((jckGSsP49i(JAL;{{@8O{;tJvIGcxL<=W5%)JGIf^yB=j8
znS&O`?hT4mIaciriTH}o3l5zh()OFt64TPvx`eGA&aSVmzgvI1{=$NVzIKyBlVbQ6
z^N;4~qSB)0H7j2i`z`yrdb|2k-yZKe@*bUHTK0PW<5XFW`4hnrt=)pMDopK!O;?PK
zqYZaqu8yXDOIUpvpZ*2CvCtol&=(4!KEYAyZ~RXW->Jd)Hw8PtcFucI|1v%-BqFD2
z@P%Q7cEp*Wv4zneZNKpA$R9!e3VzjN<ZGDBjDyM9smCh@GdmS|Ef+GrxI8Hia+nx+
zvncZAr{A37+UU}VZn3eE$A15We%$F;gwc7UOgc|+3aWu}_epv{{j$;6m-vkM;MUji
z;`@dN(|Zk2TksXgDX<d5Wx6-?4p1XjHMVz*m27it;cUgi-?>h(FtJ_a9yp@GlX^|F
zeUxd5d+Lmi=sWgw_8P`G5l`Wx9KP%_uVs>+u(cY0bh{twhJnJ9V7`)K2uHI%{JtMo
zoZV#kJIga=h4-h-o|}b~RhTWO$BR$!Kb4<ysSd*)$NCmVI|Vygf4{zs+pgR0OZv$4
zi(BdFoV2I3mb7a2cy_qVhBbR(b9`__oo{f^T8*5;IZta{<MRQRmp)@YeXdA(D0=GN
zgN}*?>m7J1=lPUfyK9dN&c$>dj<b#DaV5GJO-AKMI9?on8oIn*w_eP;eB-%bzj~Zn
zkGiYJj@NnjmTva$(cFV0GVlsLF9~g<2BXZodD#(&O6lIL;$nY|xS@4lHT{dk>X78=
z8yo7;Kku!L>>v(r?H{E(bL5<pJV9yu9_8$h?e=%=nd%dsV)+krt@P#xu;0G+co`RP
zYj}NensZwHJ`{EI7hivj##qGRCSAvs&vZ2`y?lI%3obm(-u-Sv<At5A%0W(c^^;E?
ztXdVMv8M6yh8=M3oB9zQiOr3eyI<=3jO`NM@2;)|=lv|mO*ocy%Skp&K~edj?nLu=
z`xzT!zkMH+$L_nHs_zbd&epDq&T+o!{rQF-`5qzfUJfNc@k4gGUZ`7ovhiuCL|OdY
zD?f;@X<Kq%I$F3u>u!K!%dC}|r&-JcSC0eFtGzwi31s-!;J7N3?}*lGzX#upsD&H9
z78l#T30Epqy^Ht|!Lt<kQr+L{n^LB;X46J^-qN9?V$ITb?&s5?=`q&5E>~NsE_V-K
z8J^zD-f|uhC$v89d*vU~ViPwD5|Pze8PB`r>MzP_NRECxVLS4Kuhrk^y`j^9iN<^X
z8Nc_~1?(y8%W(JhtRc@QQ?FZf_Z{LsPkR4UUBpynJk8)271vRnM!2R`{~YYTk>gzR
z$#J>plup>M_3}@7{Yk~T5n3|~kG00?xu=`^MGcpu4&TycvZV8mC}}wbw}fs-d>P|#
z4R87$*m-d3(;)Fe!ISi+@cozl8#&rw|H2lz<|tyE+urj_#0LKesff_g-0w>-a$=@?
zN7|bXw)jRWMwFvUS4;QrwY{!1#vVRe4xKmHl%;%p(DgBMIV`2g#i%=B?LpIw+_cY*
z`h=IJVV~j25(dN8UAMKgrM$YlgD0uf2Rl!CpVYWgcPl9URxL~|BLR~E^rN+r6??V2
zPgE10Z<=iy#+GcoqMCM}9LbC^ii*9wCqmu1NPVw-Ls__WIM(lwZ+G#~WR!$EEyWK4
zWP!Kqp%gz&k|nh90%&NmZAS<&VLjvquByMKPPGY&02KPqj5s9l1B_w;tU#qo0G!U`
z22h@s7JMMH_Q|=Bp~YSp<hVm3HAUjkkk~~5ftdgif$f*VrQhisM>+a707?)2oj4rz
z*(NA%-;mzxa5;K^kNu{S5@u!VV9fQKz}sYM6CJJKWeT*o7y<w++`oT8Kz^YBt^B>{
zV~-3)TA$X#1o$bT-2>b_lp_5CY19B<U>q5U#`t=KO1OD=`S=^cmz!GQ5<c#R@C%yO
zD%OFf9^O6{(ZL?)qHXLk(Y_d6cet^Ugh8YpO@N<AC|V-Y59=SI7ikFpL#`g}`FFE2
zT;dOsP+vp%@!tw1kk+;mrUAho5}Ha{iWpT59SLn+B~>jA6?H8I2{jc}U1b#=WmR=W
z6;(YIEj>+biNAi}G;P7|o_cl&^S^Y_-VEX1p`n3#%E}QD5lRv2N&&%M%Bs4$G#P5j
zYHEr!3dN8p|4?+KqJN0wKO`VLLNLKTfuTMD{t~|>qTK?*LJi?Gq<@;=7x=eW|B%1j
zM01#OBsx%8RY~QyNq-OqdIy9Cgm?%1H{^eJ{}(2A%-_NT!-BDYAa=(ndtg2MJp4mL
zXtb(-E1<d7+WK$ue~ZP>?{DgmP_uBF8GkwC-%^LzM+JH)+j)cpgau<f%))6JCI4Yf
zNT{91KmGY1u+zx@U=GwX4fa5X1_av&1YrL$%C`UTjf5J_WfHR1XpE2lZ*R%{*7p~S
z2Lc`HVF*`KQBzS=RZ&#au~${qQ&rJZ)jall^i}>OwWfuUJ318o?}#<j_0<0>ae%vz
zXVm{n`uEuAnFe43f~^DGX*ks368~(sq-_*~13Z1Ow2r?vjBp8ejGkveupgS{W*<Ma
zmxpqozt<lit*!Me{X;_0{umESgdv<}p^}e}yPghO1C4gm(N#oiV00BVJhW96-7xML
zMK>LcF4_aFh1Sx={DU76fC>8@0>AnHoI>sa7@CZKLQ=!1>u9TDv=p`7wbc|obTqUT
z(QcYriW<5eTB;hlZaO+ze@i<P>_eNyXzagA{f)|<CQ;X2P0K@5O;u6LLk**-LE}}_
z)mBF<YJ0e0FuLk0x}MtVzvs$7HUC4(ahiQ0w2=<^Yc8HZd;Rr<^)dQ~cvVj=cQtJ{
z9Ys})t~L#vr;ehVs=J$_uC6;;+a05=iP6$AQ2ssfXiR_3>3`u?_fSz$N2_=$dbrUX
zrJ<{fQABI%YA9-}xM_K+sOWgA>-;PCA9DVLq5MDNrNN_(l7-K2{84}DJ?9bhHv)-2
z=8qm4^E)pX!ZE*N+QS|GSF_K*8QuTLkALw;cze)<{tuD<r}mHl&(H{Tu*Y#PS|t1j
zb4mHXgCBwp|DVCDs%UDed!SVmHPD`_iW(X^?ut69S{{nJnp&#59_lot9@_sf{@;OD
zSJTr_|Hm}_KLh`lYcSque=iT(LZb}-KQ~9$1LLNqLz`*tx*nc1bKKPxbu`s6in<=E
zsw(bUZW`*k8vm0y|0R+9UpEI6;2-W0{4e1Zhz>^6mP?P|5JR|UaDbl#IxrCHgF*j}
zMdfgR_rF%5zav~CG(h5?8R)-to4ZG_&%eaMziRm#g2exi`u^9b`_B^MpZ@=MQTKms
znEuEkf2ITF|97VN^BwW0FU^0C&L3-~-oMQW|6v@`7Ee7|e*a%GzNd$~mYTYTo1!MI
zKBA>-4Gl#dZ8u%ole#7bt*WV`=Bf2Ns((uh`2U*me@D?DZupn_=pRkAqU-nL-_;)N
z<?njY!=E;HgK5>EFN3x+062+SB97Zf7A}rNG>V=d>{?x}ndJp1O5IEnlVEC*Y|%ar
z<KaDSZ_C5$%ChU|(#gzM&4?s?IA89_d2^Jh<vQOfiI&mtYlp<XBicW5&w2I_tN+?F
z=r=HF+<O1c=c(uN^Dq80b8{yU2t?|GHhlp0*zuSOr@-e$0i>SeOVJt<#Xn(`ITV!s
zz<9ov4S9AqVUe^pkf038y?t1{ukJ@07|if^V2V&X!GyCg5F)Z{Mxy*stc0TkhuIQe
z;5F{vgA!p@RyonDL`11>;0;mowRp=}Wb<&VGB5>t0(qLKeTo_@8p(9WHJTL`^bl$y
zW%!zy7P*5IM{?W&ZX7$<%O@8_?<g5@lzil^7STll%{Xa@GDsP$e(|otd(dcTid{Ks
zZRIDNtH2WlComCI2}e};kPYkoVK|UWn^`5x9lB=vX1m?#rzGwN6N1=V#}Qojp(f?w
zro^-zB<dVWUWKk{hNCO_rzuDGv@`#)3jSh<7@e4ss50cqeHbJwUlzpq`1?ze77aT$
zii-fsg<9-Rp(P<dCyr2zD3%IAoLNRRn%S>93+=C@36cautqaEBk-;vkk;9oljzIlD
zV=cQCxWjb`xb!Ii@!nzq-U<o7Zp=o0t1e;rzK6t$O``ZyY!r@g%4tXgcJ>p*Bl{zX
zhPd9ukB@Yem-UFZ>H9(2AZ>6a<{0dm!C7WACLE6$L@S{+X0}8hoZ~E+jeP&+A<GiP
zU-4ki?F$}ZR|+**!y2MkD4Zx|tW83rFM_Mdqxv-CVY0QLLFR@EXE(1jkga_QWxA^m
zStiMEnO%O)xvi|F7N{O5td%a29d!zjny1HDt!^@mrqpzaFA8N%4#Ke-6d`OVCFt{2
z6SdP!IQPLm(kS`E;Sy3jE=!{qIAr?{?6deKO9_@iP3rFR`aX`4T~Vrr^{db@y=TUr
zZ_^}oA{*N2YGEn%CQP^ve^ZJH1wa{pPC7XrArq(==sY`ScE22I;`WT5z!GRs?{uan
zTsmzE(|bKWQyQwglPp;$FAZ?zjNq=~%53?Ky7ROXkKw9_S&2Vi{lL>kApt{(I^Y0b
zx)&AK-C%>2dEJ9EMm>kXm2Ls}ydt7UOc%;8$}H7WHBc^4S4;lGl5hr3Iu~I1DG=Lo
zXi0vkKle_?Er!zom(J(}ZJrZK=SimZzII>mr$SMwAqsHS7`9_V&8&?*x_sTbG$;f1
zlrmBqX}6DvckgzpZu_82bm)*5y44{Ey2-iOxwJXPrlH#f&koZDPoo#F^Y0|XqiFG$
ztp*f~QK1Bx%Vf#yXEBLmV1744dc+*9Yfh7u)+OukRT+*pWGPJJWi?tBNpru$1w0-!
zp~R8oNJBJbJRhHuy-CW1@#9&QvY?xn*%&gQMk$(0FqrETz!-AK_<o(utPa71v%d@k
ziUg_=(rMt=!hgaNOF&PHFj=g&V2J~twyAAn7A#FXetp@Da-EDP&G!*4I&J|LuIyl&
zuF73AsY_zu_>3A6<dkq~hXoUE-QA1Af`pWqPa_fKMq8k<&Tz@k@sKq>X<%R^nKVtD
zJ3LN<XHi$n@akF^AJ18^1W<joX2O_PV3DRK=_$C1ZQE$&QHa9$X+OuG2(0L8(?{o4
zi&0I`r^GViQJ1Z<U0k~z*w(2DG!3Z$VPZ{TS-03gqlq;ucOeG!p)bv)9)IF7Sv^f+
z-nSvW+)2SZ(ZzB%e$wZ(%rpm5F`QccRDG24vx}Md>SwAeE-0QAmEkY~=PiKewGBCt
z+C_{qhGh*tM_J)Gpre4;D%;5uG<mPm+w``Jm|4R!%n)^DER8(d%q!&~3S4+|U~S%F
zp_VGE@RT3+*d9XAt#>TtZWQKan#!Q{d5Nr?uYP-msTeQygT6X)+ke?aO82G7WY0&k
zKWgtj-z#`_p(QDXQ1GTHk$o&sib)9c_Bs=pt9atWHCIIYuJVxDe)zIUxe=}XRav4j
z5L23DgJ{1bF3jfLzDw_|AyIY<aQ~7|`bxU{D4`W!Ud1~vQzxkciR{%Dd3=ovhaKkF
z<__e1InNI>&LPGj`0jz*-k$~ER5Zmsff&;dh0zRxR(HK^Bju8uNd{lM%iT@^br_-g
z^yxiYVOLm6KMzF(b#x^uK-P{)8u%IrUx`7fFPk6`yDH4SC$xAPdA+yTPVU~{nP{v@
z=iMoyh~n`UxBc6PZyHaE;@3}00;|JJ+v@eI*YOrZr#l?8T9a#dZoZWT;Xj>B97Bmq
zz_O}^z|GtRLfguOc5RVa8zvK{WQZ4N44~KRg2S_Ki6$-*A6yC0>H3`@$BA@WlL@yX
zB;at+X?k{s;^S4&`=w9`_LCs~GWi5pcLR)k%S0wHEkxm31(bAwd&P{xPg0?UBVynK
z>jE2=^*gJ=DqBV4Gu99N78DuMUeN?6Y&BSB1x-OOo1|Ju0!CVNN^Qelsd%2j$m*EV
zIk1Q<$YSgj=_hGwG!c(SpmZEW8acmNnb_TjN;r#ylt}e!yfE0OE1HJFbl>rgj1?y|
zf!Q6s6_3)7`kdX*`vx;=2aNN;JvjD-kg;S<4<A`kNYlX{fW6-Ea3DduHXNT6Dz_4Z
zs*jL}s(?x~XOVPCL483M;m;u<L_ddV5DVeQfHqO9Dj@eTHogG^3jgQ|R_IdNcODUY
z>ie9!6pvPRUB5&`pg8Ma^xy|n>(=`}k{n3_Sb+%SZ2!sI@t(HM3BGc5`nZX+&L*~}
zfOetl&(}x3=yRsH=o1(t*(2-M`=^mni6vL1K_OPg{AG#cYYCyVNJzm_KI7?jp|;cV
z2T^HON!ils#PfD@{G50$T;M~1AABi>0e<!(YcsT&xtY;`-N12ox`#Zn8{9C{e!1--
z|4_#eE+C@@fA_{>tS-Bi2;$uoAP%lwXP3&n1tbxL!&hC$^f`kDuQ@L)cZHkAh%{A2
zvETX0?{Lc;QwEub6rgH|4fI+aLR}U?ieRIZ^oOUe+ybPQ8LI~pZiR?szse)B>|@9x
zQ=(+&LwGgknM!qNl`5H?47!sc&6s1W>IN$U#WKX@a+N_PE_R{);;u(Cz#q##x%7%R
zk~0#@t9VTdBrHk>f1_=TP}RPO?1#&c60bq9!{aP2++-}+cd=?(qjj`HFL#8+>H2fk
zqBO<FIqRBkRqXY^CPO%#7U^Y=Wqc7sEc4<KTW#m+?A0jBX$^(DC!av5Z}M}#Lkw`q
z5}10JgFZo+;5yqXouJgV$%&j1waAqNJvyVlVyytW8H-G0n;4_tXA>Szc&!P4JZOQv
z-G(MFg%r3QFiVNozR6|k+hCWfx&?f$g>4^kD3brG4Qb?SWcqeLlo+7HMd~9hk>8T^
zKj59kzC%UQ(?6$_-{;-tJ=XMi_U-7$l=Jf?SDgjSCCpSg=Rd7_Q2epClehNHo?Pte
zMT#?JQRsozH&p8<W%U!9*avU)KVD{2jX`M|WR6o0KcD>;#2|loi$o7@?V|S9mc7J?
zIlPSk6Z+<qD=oUcDH2%q{JhnKvAIV}jVzar%4atwA|s5KwO?es%dAKYKwG;bDv6*#
zAqUpE1EZm{J3+>CBzY#^;}M4!b@{;BK$n~IBw|jL_0sVbFD#XQd8;AgFtaH!EGAmj
zta31QYX50qb4u^x^3bmyS-Xbx#3!IL<J9;sAGd-SPJzp9tVznN3F`AR2a#O!Fr&wL
zUu>m(d@(VDV;LLiD~GHzGdqoR-=ZDMFI$r`R}#4AY42=0Oy}3qp1j5#TcH~KCSVfy
zG+!k%kfy$x@M{jaflQ1m%{(DGA|;lNR8BF5u&huEXOJ6>^a9^$WOey#{^#_@b!*#}
z>Je`BqV)j>Zu`dSdJbZF_oYna1J&}sr2X`U)OI;G)UR*cPeFLf2O0^%@UuGN&l7Tu
znmL^JF}jCLA_H4J(p)VyMCp!Qmy`(|VQJ97RnrdyXVxxfQWN2g6+DW_y>bDidssq*
zix-i_IN<?bVc*sU_j)f*PQb7U0c;yq#fzEGA8Z~r^B(9tZsk9fie_G6Jq&nzUn~G6
z_#%4U>MU!=Ch^OZX?zzKW#!OCw!49dT=rhp#=tT?$hq%?*Z1U8CO-vISV#){#+haY
zQ$Q1~$x?}}GdDM?l_@RqJJ4K4&9f-y)B-61!>d#*-{Ku6?8oI}QZEJ=_xY&Wt{*dG
z5;Fm|gI6cuogu)`tD(IR$7d5ppA`wVuTrT6wH7D!S3;g$Xs}2~2A4oQC#WwJ2ZHES
zO0Rr5skQ{g%Hg+!Yh}BNNJhLZYH+)Hra;xhk}<gGwEg-!3(pqFolL554P(~{N*W2D
z>LLi6?N%k7+fFD>3yytQmuFVziJ|E3kD<(T4(YI$zV^W32LiN`C>8oiCl_6iZkfT#
z;NMB@y}gA|(n@%&6c6v#2S<uf`=drPzu<b0#aK#(E0UL-MguCF#kGM?v<5`EIfig3
zSczed`Ob2qc11G_AIBbtJR#PDqncgvOD&&8Qlj>asZmBspnUnb<5EV~OQW9N?203a
z-F_ti&wgY{Hrg5;gG3p<a+pm!67-cdQjn@`>yjCA_7^KGz#92;7rx)hy%wp!kWsxo
zcvF^@&cB`7o6|MHOW96!WrA70t|j9Ox3)~hGB2Dxi+Z>(K-IPu%M?C4hRs5zAE)cT
zmr+0*bmw|8v6}F7a&ZP4pTvBCsH3=}#16-Vqx9n)I(;SB>)SW;w&KesXCt|NOBCQ=
ziRvm4>T+hY=&sU@&x{nY{V|CsJuztglPNRKEbkk1O0TIgQfIobsDjHbP|L3V)r64A
z*=-h;+R6(i2)9qnvE0<<90Sn^@axJbm{j%FeNSUc(PISV8@ZJ(AXv&*2AuA8LhIzu
z?VzwTtx0vND|&|kcmoj@9EZc!dYXm#0$`9#-8wCnp+#{XG(5<D)<*6N84XA_5a|c)
z{Xz2P^og;%mZDE_>6J0N(w44WRO_49Cv2)i?&BxN7%3dv3Coi|8il-TmuB;%7MK*?
zP}y#7OfaK*<x65<-SwW7)BCLnYk{#3-%Y#BX>ip9S&ugY0`?>4l;OH-a@dn+mY44<
zh=(NlRmF`z2sdt{n)R=JWQt{Bb56ngDK>LbmmesIH-I3&yQ8n8tp=N2SE|MQNIru`
zv#^U0?{)SQQeK<pO%+2iu}|l`oGaDXBe|&jdR1M)l#a@h4INg95tGw(W<IkMw8bZd
zx@GT>=|NheaofEJSxv}#8vS0nY2INAqQoFZR}7A4)Mzx9%06@Hz6)qWWUJH}a#e?C
zhD4?78&_q}Dc!C3J|acgBOQ=T$=Bx(2Z(tXCwP>WU?T^0xu#m|?p@}$@0>s9lWLG(
zj34(^A+!3^`-1Gt1S7RqU|7=}59HbfEkKw}2Xu*99^Rb~bz;R%i(1etzVUDLUu7>h
zwjKr9&%}@tM~}OI@Fm6I3YsC0+m9lzR!k5ohu63sEa?%VZ$^<Ia&L~>@%$nj)oub$
z#F=&%I-r<WPL_`7<{Eh%0g=UZgwMxcn3twlV53g)JwplS#<Gz`jv*IjCZ>fG*%E~b
zhO7vwi!6!0gmKbFA*MTjl^j9t9Zg)9-h`s0R)kSkLPRe95^`9HxE>+Fn}1_uqm?7(
zjMDUC#6i_OV2(*K%{A9S)VUwg;vxtOF+CcpC!HsIhMi44sNK!+X0LR7;`VF0A%?;3
zo+R!U;r^?^>D|4jtU4lLKe(7?!?5zJv~pX`Q%5UKbTLe83WifmbS+ytHF(D~ocVAF
zc*Ppa^KCFFiY@cwwHD(yZV_?^=|Xr5zbVKUx0GGvG_uZJ5?e9I&;psYtY#ts*j{Sx
zXrlYu*oATGnPn4sg5ruZilbT`t@#^n$CQj~+mLdag#ZhoCTYu57=NBtMbA2hK0ifd
zw{B)Qe{caK7%mgnLbEi|IFQ|8v6Zn2_oZxquM1Pg4Cm@oM+U8)p4O>z=US0omWbw>
zU?k;}N)pe~R3d~|f+#1JO?Fl3t5%FbF=NlAx5=WUVRCjsHIGrM`=Bs+?mq1}rH|;|
zse!$`NjI(I0Hg6wCvLP{eS1?K_p9aVOqV^S0;%2QLH4w<^o3-!oAV*0s+$rq1ip!Z
zRzB>5PpD;+muY@b)Fn#Sqm?IiV|1^6h$4*HL46%lvw8FeXJqQJp*lmtrK6AOV6)#&
zQ+yWGN5_Rv9X;J%{B*ByBGL-WM0!GKGMgP+Ciul+T0UrkD!?W5^jQlx69R@4*$8f=
zyK;qR%4fu0UyibWdj9S#sRUnsE$TEANfqHJ3%gf^<H+tad(KyuNQI21_4ZeMWq(R1
z?ANIG^H(a*U=jIHbeOpzL6WfiNS3)CV@V5;p2KIao+WI7Pjdgr&dy$Ak8eVo9{Ob3
zhJxqa`uibrC6~${`O_bD>+~OJ=uMm_JoKw|lLH%w2@7StY5`&y?<|U1DA&JEJ*aO}
zIuuKfdP$I?=zMN<l2Q~Ub-R~wq%@$B+!_(8H-Ku$zL=uSY`<Ogh4^a4_^qzggEw6D
z<R@IB$TK+4XJ>F0jt(fRk<G5$gHy{|ov(UIR$1Z6FkFAxJ?dd7iY|=0!d}k5O!q3K
zHz3M&zbDsiuzT3*gp{E&*Osh@f)MV>c=LE~3>2kTzYu^65h3cce6xp}i+4ImYM>(k
zw%U)?pXpfJ%)y7(n89WPYicV7^>TOD{lO~=8P89RGLbR~J8rWh=gHq44G-2#z3Gft
zVxeh@_1h$+-5jEFnM@%DCYOEk6!rUSbv!Fs<kEn1kEeIouhT#{DBi>%;)ZIpNYDLg
z-7exwzG}#iJz`%xaT5*{Obr87FP*1E(k!yRvtwDYKSV7$%rPT80l#!!TmXMy-4}@o
zvFPUmEq7$&?yz=D)sC_$963~s)F;M)hY1_+;Mp1M)r=7d3+l3l-++n{a7!w%MYkEG
z7vT`g-q@p$A7pKF<PbO0QaVJb)}vdvf4lOfCq$fnDw2VV*iAm_^Z1tl$oozHA(j%j
zRK2ZPAL4R488vdi-exXSSI+%S5+&eRp^#mFk<5POdJK(6F)_^|iiac#ij-L~W}og&
zZ6dq~%e#Nmh4oGDjwoVN>Ci)zluW+$?(~=~f_XZ=db+26G!b!G#epO5avJ3sHx5Kj
zHs-c73UGK&pCMh#^4SEdG0qA9O1f|EOx_C+(PHMDH)4iIg{c$xRYvu1T3EL`#I<A%
zF@359>4=bz{0#Bz7DPNdFIE3}If3}aFC|3563L9E6Zs)>-2$cv*c=&+JKbE9K4?{b
zv=>^+>np%*y45CdAXc!KX-3<yV&8efzRGS_A%yF5#`S1>PM!~O<gL{81u4|QGn?Eg
z9uk@~D_5*+CDu80fXR0?7EP1mh&UVxa~lC&A{?=VS$=6j8ur;Qo4_@Iy^K>27GoSE
zCVEK~=kzWNJ%f};U8y<Jq|3Ao#Ov=~s~4&AArI?wW`XBAnA^Pcx?ok9#Pk83vyM!p
zBP1KSqGP`C!2UOVynhCrQHJzU)rjq?llt|0lU;;Kd&GbyOOxCUpXcWkhT633nU&Jz
za7U}B6XXT0-+WIT@$0h7dL{0FCtDP@9OQgXY?1LopHqQn*UAuzPz_t`QYQ)key+%$
z=Y=GJCO3Y*i-TO)v@zt=K?D6OR#rHbpL!HKvN-X`^e#S6X(4%nwn2wK<CCjqw2%aC
z+cQtUy}t}>MKYYN6B`<j;Mo~fsQ@*tDAUD*3K_psgt9D%y<N;1&z-lv#Q_4`YtVZY
zKzN5%h9Kv*!Nm}k@GbGzAE*}9>}ZyS_B&rj1Ph2;Kdi|yYs=)Z3y4@lNOekdN3}m2
zMHf6On|xSj%wI5(dpj3BLh#>Whgt!xEFu>1%E>>Q4lm$Xa8_r3WLaR%p9b%tF3y5b
z{9wf{c3nCZ!7ACj^9MK`T6CXZVaOUoQ`elStpvn6$IQ4gSD7x^9%ocim7fuJk^!a$
z+UBhPe99poRJbUL=uRZ_-SV3Zsi8_#U)hWyc@fd(u#_*fBhu01h#Aa1F`dsmBq7oW
zd5YdmFVU2!{i30l2ye{lID7qOxj7b6)|B{^P;P~&LxbxLqMd1;tAh&DHOkF0uxo+?
zrBqZuV7vy!QzpiZ>9?74%YQD8kEIT3?z11O``qa&b;+f}L8|-I)x?Pt27!1OF8IN7
zdA$qKbn{8u%^@P`qz2@Rwll@7?ZwkiQzSofWeu}JYoVL8O)8v)7>)DFiT%Jy8`67e
z)VWug)J}1V09FWohM#I)Jv8Zptvc(xZ&v3gxDsa1Ngh$b@_#~HvjDE}D!6|(B=xsk
z1?oGa_opBCxN_H5jXfZbEn1ERBBYKqfTyDvV0SSDgoLW43{U{XNbTRbIF!=c5aU%>
zmZ%I!;&}UrQXasN;lgz!rsNv!%-5pbO;9(zlb+1z@0M)?WV}i3>2QKNO^cXv4`oD!
ztUVn~09KB!m{q?x;}W6BBUd*~d?n|WPdJO~(Az$G5vs%L8~8NpO6FY;7NW!3QT<*~
za4dI|#ng`zy3k1GZ;ck`58*pnjE!u^aNNSyqwJBgDGXM@P*gzZ>hjX`w(CCaxY%F&
zW@cJKR2;SIW2b95W3C%r;;_P7R+3PoG`t&1>41tKn=fXFpA#`<SrJ5u))_C4;YN1G
z@X{K}FU=+4J}>DTNA>Y|5t|d|7A>WL0!Y)*b!60vBt?2!VDxJGJNLMp5_5(57Vx$>
zcF7fyTE<rJ=Dii$xt60@9}WQ;$8|S94>~c1zK9Go1pBLi*S)DfK~jrhTLvqj@-_nr
z=W5Z%^|V~YzlD)Ky}~TvAOYs)V~JheY0E#Fq-yAN*pO-1{sK+6ggh2pKu&9YC)}=R
z*-bb$#cxXM#V7-ffh<HmN@KX%v^v&1S47f(yZIp@%CzJcku9#yAoU2mJCgC+v?<no
z{ZX{IR0>pLbu&qD@LJ8q4UvZ~9P=Gyv+$}zVWM?hU*~1Hy4@|#tjPm`LC|f{t8o{G
zsz;$HYgDVAxTNwD_;6h0b+>!dT&uw}Ri7e4JJypjI^(8a#f(i&-~3HVF+n*MWoGdk
zleXHMWC+GzYi{|GDi4%9k`I18^Gd`^O^cvvBRFB+bnLa$pgBt*pYVY3NIg$q{-wk!
z(SBoS(_Vmd0e>Gowtv1A&7Z)wmu3-AZ2lbZU^sj73@(}r$K>7WN!Zy8Sy6l$V@#m?
z+Oj9k_#IcXu`#M+i5TBvv1b7YFhX2StJ4`Ufq!_Lff7%7k}+MvDq<BreZT<O0#Vb3
zcG4_7iV<<3cNsMs{PUK;=%udZsqX%j7GFb{fT<R32_mVJ@@%z~;e$JJUqv@g54a%5
z@+t@O0ql*TLx@3Q0N+bd2mIYmjy3?r9!Nj8NTZB_Hon)#Ggh0XSFK*Q1~yODB!K!L
zQ~E_sOxv;!+j-CLzc`BhJXzp<!5H?~T4u$!Ze(47DV_XE`8@yRmu%qKEgOeWWsKEO
zv&a?R1os;6+VA6A7f8lM7+4mzNwBe#CVT;Mqh>SjvL!GC34iiqYi-JnqFE8b!7zHg
zCH|ssj=n%6*LFJXbT*sCc#B;EJn<Oq_$n8Qx`480Yt55MBmPKGW&mHxZh1jHPBJ7#
zyxlZ6gL7pjpsI+ewR6@xG{Mh)m5j6*{RmykB99~tg?IVVxiIuW`Dn+#@Esy_yM;D*
zWNu;6TI6#k5)#!VpCA)3Owca4@MGjGiQavl{pG%qzHsDcbxv6KgEYd+YWO97a#_CX
zBP|e_Tfq6}@?@_m@{1maFPh1O;cNb$I6lsVx<os)o*bwmzr|*0p8GjvGI$h-`MjbZ
z_3P4p@)!r?sBUp9-%pza;|+EMB6u;jPE$>&z1Cip&9=8QmJKys`MNvrD~Z=;T8vKQ
zc)ikLFFBUF^|84XpQH)d&Wzyft8agZKW1kQCdk$QIGyFp{61JOVrR+tn4mx8*q1%y
zJ8Lf(9>yBMRvW<E++Tff<d*YQK7u?t3X+ZfRpLQ%E$lO7))9%pczG-(s0@`)WXhF9
zcu}5`{cpqV6utn;kqkc;Zk|dY<U=W?Lg4P4>qM6P>v1?a_lkK}_4>(Wg@K~FJM<z9
zSo*>%>38rJLCx$=%c4n7eMpU`;t2y#lp!i7|8@8Eo|U@^0dJy}-F=o?c^iR9z0MGS
z##m0_L)ROM7Yzl!HJ(DGPDG4?bcC<*LN=>tj2tLL&BsZS8-=SPWI4sTqfTwhSYW=l
zXzG_H-#5M}o?{JW{;%sT4+ScnY31i$;<uKofuAkfnMgLD37>2;oLCH&14livMqUzM
zWwAc(l?Mst(fXlmpp35i4yU+V<!tkXkz85|N8vjStgVBNL^8d=&=|-0Y~TjCzDB=r
zVXj^1bfgnbn<4y&{x@g#j-~ximAe6NruO$LGie8ToHp&@XLz#qo5UhN=`)`E^r)1+
zG8>A5*RP&F+mbXkJn))$WJBTm0S8bFA5qNacw=6%Yjx8BB@ByW+^FM}yK+5|q4{c{
zh5-3xt9T{tAA0Ebf|V;T5u_yie9^zC7a#2hbY$NOA$nT+klC#O`I>a^u2gPgyx|jg
zwyX2@pkJq3$zgmcP30C8++Am^U$kX{vaSo+N|2dVY`w^!Ltg-%c{IK?Ox)Vv!^J^5
zq~WWL$!-x6BcQ6Dx$_B3ChDDHYDIMWUw$-SO>80XD{sCrW<!4LeNkOa;_#7J0V(KK
z{*3*ZG$&B$edh@Lt~$$hMFeNY(1ViMy+baX9C^gytTW_&gwC>kHC~dXGvO+6diK?=
zz6jZ&nTq1aS?mfh9p-PY#}R84+}qb_ob(X=%?-$bG|-eQR*u&rE_|F|-$zwfge*i*
ze`X}KN)|m%oh8MSixOJ;t!1>N1EDKoyMprES*KsZB712*j;oEGQwGg6q^fke0RCY*
z%ih>w>GU7#(QKrtgHJQt+RQpaO|~+(v7v4)V0LguCzlYcJF~(fLA~w{)<)cVfA<t%
zZo9yKc?(e1FN_Gl#y91UYjN}<JrDMH`UV+AQZ^cF^i=2CA98PYIxs#vy1xw{uV85$
zrs+OMa5yxaI|dTC?gw(R|Dsp;RFKTp#Mo)HZw!1BRZW-9{^nK&zn6>1&A~;WTEO&l
zdYSn0<>>L&d(0lP^=D3H(v%-P_x+IClbE1e7y+R{-+WG0B+pm~eUr=tXy3ZE81M3g
zp{oSL-@K$}XNy#VS@wsJ@&0Ew92q`b0NYM(wl<8b@3%tg6Rj77sn1Y!***(RaVqtN
z(&_p5U@n4UebLGzo<2D^`uW*~L7=4;I&%y(6S8B{7sV>5iTd?{ICh{74#B0_>3lhg
zl$6h`x%n-H`kXWC-S-n(%vGl3LKiLiIYp2_QjMANeGk$I`}7DW8Na=J$bez8n;C%>
z5Tv6a77fDVCX^tG0m?FUnl~$O>GeZ!syDPgY1c2>3aIbME#v+8l*D@d*HVg~pK!>k
ztGWvRb`10MFt0GkLfto@^Py&68Celwwl>9vy;=&t+_||PRWQnhd(0C7DZOr)AlwZi
zH;1UN$^ctj@p&~rNQX(v`}4JeNXC77Uw<k1&iL~xUskQ<S&kShAbS7DmBzLog*n8H
z{2q}$=X4v&08igj?Rr+tnisU1aB6~s%y<(&+0W*V33<+W^wVqWxHC*9l3M)Eh@x#N
z;2d#|dgn`JJvbB9ba+jJ{!(Vi(1!%bX2hOw;DuAuJX!085Q8bvq#Vn2!jm&+m}sBA
zIzD_v%mocx9Ik&^wDLIgiMhJNK7aHrH)E94th8wj`Px|7Y7V~KOV_BW=?%(I{xmSu
znaq+p!#Ci%tI1sT;YL)-sbfR@N7iTF>QwWe$mgeCB$dc5eJHiaN)l_kah`j~+n?7^
z8sL`oKW3k)-BnK(>b;Xj6(WweekhZSL0LHrAeq17(qHZi&ihKhceZ3ZoqwqNZ5YqU
zfn+a(DDc?al!YW|Csi4sD9LrVK`VT#WXS$4P(AX?RIca@V&Bj_h$U{U{)H>e98WnY
zSJ^b7M)H#e5BW}`@}VMf_4JIQ<`yZJ`aqS3_EESdt=Z}hZEFcFUT1IbepnsedjU)s
zP)FtzXw+o#I=wNV8UqD;t~@IuzNi9;2SKX=&|ENonN0%RZ1Ur*CcQ6sqKVoz$3#*|
zZ30t_u7~*JTV#p#RKGX*@DZVHgHMUX@*KwJVC|ek?@WBhy+=K93~nRm$LgZNgd?3J
z^c(Cn7VGc6)Jue&x|`2oiX{K?9O&%}>fYTY7D0y4_gn1k$JMpiR&ocqan?lT?)w){
zZ|g1%J_lcdZLK88XgTrKsRRgVDe&sS<QsTj3Ekn}c7k&~xt0{*C03Q*MD3zsdqd{;
z_-J6hYt?oX{d!b26R0N1|1|aKa5(;q^A%?uT})8`ORN|y<&u7V^$Yya{GoW248Z*<
zO;TRnB0(%ZWZ^zf6(5DET1V|x7;%c{-pS)aR@067jTfBo7J6c<?4)kT(1NMuVnD+!
zqTKA(=87>n|2?Q9=C}~!cN=ma{-<AsY37w@Zh{GC_i$-%E0rL94<q#xGCDUefgG#>
zbJW-4um{et(Nsmyjq{QY{Hl@^-F)1l<@8bl)5@7~>w1KgGYhWYZR6xgRC=FVafbCf
zM{=DnY7mNI9ZIk9c9A?_!wq%rj&{A=e?k|TMQ~ozYAe3_LHs2jB|i1rffXXU0sM_=
zT?HGz&q|5<f~T#0%94Pu?RyyR0^tGLM<{dgJ&!N=1EWFu2EgcX3@ary=^O>oy0%(^
zo94`ly+c=+GAJ#|>||=B%@k9`Nr(Xx_=5N!TvJP1&%0KW*-Px&otl%t-d^C0Cf}8(
z9fN3?zdd0N>&|1R$Wu^QpZzmT-<UN00v0#F8G;0+IW1U=Lv*I;J7TuRaGl|2NFmjk
z=~t2psmjZn5&Ek~9pPLJ6}WRm=V0TLyJek6PRmlQwxFn34r3(L=R$G=APfrte@N<0
zY!O%yImc)W9!MGtkE~vyLA}ec4>ZLX!6LtF=I`F9_`F;(BMB6hx2k{UtR6d2&0A4J
zHVe5}+7-~AOT9L_*+AELEwaQ5)?KVc0as`CG`*c-dlR`3vt0u%O?1lup5+{Jky4P-
zp4C<Z`Gli__r`_OYP6W5w#HcBA6*cmhub+7k$xgoe`UE>JzvScl@GejjXV0Xmxbr8
z!9W01^{(9}@4cf7x_1RvL<(T9HUe03JDOoDB5=4f$(4{kk^vRlV5@*D-ZJ0sVIoPS
zeuYpjwuir*@7^VgUcMm-^pY#_cR~F`%UOea8el8pbE>Kl?beU+PXx+}5;?vk{o#~P
zM{6O#6UIb&T5f!De`wz-DWCAh;@(o>Nw))z6GqeNNa~gQo4b54<08^BA$`L}rmyIv
zu-wQ>9yd<4Bjzl#+@ds2k-TqJ9r3V;9Kt34DvY@0I0L1eZRZzE#jihP(_y)^8YZ@?
zXy(GA0lvAJ-=|4zq6i%O)H6>t<uj|j%4?E*sA9mmy=sP#U!@PEtyO_#0kTyBkg5zo
zW4m+Q)8XCpC2j$;LM8y|bOsu`zrnN@5%4Da<xSc#KcX_sm>^Rhs<PPP6}?suE%nyJ
zy^t#jky5#_oqUzVMKU8<C5pB3UIGi&f$UfuNR1K{T?FECnC_6vc2&76Zgj)~8OB`d
zJ(V2~rrj)o@?gNWON9*@A0{%}N4@SHF8!3daZ{5O4&QKOj)mMw);#u01?(*^1Ng3Q
z<mhVh-zizs?c$v76juO6W(6MX^i+wTa4r;1yjDK;^(>;C?+maE7}@NW<(eiQNgp{Z
z^X9vGm?QQQ;$oOj_(8Shp9y1Z8YqXw7@At6@p!2k?rq&6$L&g<etoEblMO&$5jl=j
zP!RR;ky_x4Y!PCLSrzH3j5#A!1M+=!?+5MTNq!#AG!bK2p}#1BvXykuIo|<Afo2^h
z8c^pHRcirnXfBE^^n`c&W#GhRpqMF^9hP-dsofk>%NkpJ<Q5mMjYl1HCvR;hpZKmv
zVA;0k_4K{VaC5Hs4O5vQg(ooB<1S&+4^lTd{UYO4S!)oFCWtYt;akDc>NT}Da=2iS
z^CKt<>fpsSw>+A}8`j6Nz72=_>`4!q%)A0J4Fv?q7INH-fmg^6TEHlkO{XqBuu4f_
z5BxgUCXJ!D;M%)fGlYQw{Q~Pg&OM+sUoIVZ28M9OQmQTVK?2szBYeV%oew0FevnMs
zGk|80!XFA;av>#<O_{Gt&mls@v;^NP9QnLHGJs@?HprW_RBSqOFH>q^tOaBRxQRH!
zV3zHzxLK)&3KQQbUXzbn;5qog&iK6~XZj17O6{8nM%u0rGSuwtQrg82OX<X-T(K2x
z(E*Y4ytK&Ro{uScc)UX&{DJ8`(>j?AxyC)W)C>}aTg4zwB05a<1NDZ~ON-~pl=~S#
zC|B)tTtG64zlxmvSeVfC%a;Gc(P}`=9sD8L96*#KmFUCEHx<7#<oW_`qWSC(($=|g
zZNG(^HG)acxPV1K7H;;7ks!LVB^19^1H;{)l{%2d5M_XS@-sb5CT|ZJ7RyUMq~JSH
zMngI?)JIF^zP6I9F1Jq1{icJYY`tLD1>5>-@t%qjMo9y3J9}pm6)aA=d|&<}^4UFV
zol?7B%(nu*ace-2sQ_S=z%E`LqNd?V;<z}1$HxQtCt%t8&$NH0Y>ab+2eEI&mS=6#
zZZN`B8&D&VlEvw1np2>qIq$ApW)Bpu?Nknm%>-RyYTZ3zzW|3{T<6J!ejn-T*Pw;T
z3TFt>ga3!peV^to+C4{n^_(V3nKJBhm~cVTq3~$7htHX5Jl?$xPGO|1(Y_*^q|=D-
zlNW?n#3=29)RU6(rP&L<YwRWnDK}BlD(T6~gRg4oKzT*4KF&ykv(|!WU?3hWZL&a@
z3x|*DCFUePwW5yLepc>V8(!DwG&&<X*FpdvQ?mz4z{jgtwiSk$B5c)XwL4PGhF`xq
za_PrVRbpWONg*a2^Tnd~cl3Jop|HoJ7asOS25xzde=AaAV=He}coKW$##zbwOK8R-
z@_Ls<`@z9&08ic;Mxwwfuhy4+*Ml`6udQ0Oubj`D53dW3_&`Ti`=%YE>q6%Oc2PKp
zsU8ce%NIOXG2-+YS_*5Dc;KVEYV?IIY5t4rXq4*bUnAGz?y@21YV24ciM@%BNqnSa
zk~zse`|dCnYJU5$Wxt<Ie!Jx-a_dC}t|IYzq98dVY!_?(=x$@$rxU9dKrUwhm^1iw
zG5f;nF^fi@o1P0BpYv`^_Hv?Ps;j<z9w5SkYGVZftb^Xmc~bTj!3Pss6s7h>V>mA@
zhZU87A}aE+$%2s1Z=n*C3@t1LeS+-o*&@ZVG^$w^?DWFv9%dcDzZ^w<8VCxV?H^8L
zAimmY$j!K@^pO|&f-#V8_CjZj{PNk7hn>|5$!T)1nfBt$9|s4hbUlK<{XMStO4!!K
zEYh#Uz9U?xj)mVdE)B)b3fo-HPxL$0RdFg|laqG2w(*)<hD}AK0r-PCkqbxP&fBta
zl=jus92HvHwFKqk^5-?--y9Vk9OFnuxUmLG1xgUKRX%GMdSfr@8C@UI*cYD1B+#jR
zQ?30zR}Ao2Lc+W5JnZaf;vs;lpzI!?A18qmZ<OtxXyPK=Oerz2X_5HT$>8gG86_Yp
zNU1G5QCoE4-EDL1cB?lNP@d3s=S;IC;G9&%b@wD$C`YM19fkjVnKMu%oPUpb#TVro
zy86U{o4^sMv}xeN(p<7W-xyp0yY!OyU7wSImV`p^w8V9y(I<-zc`g2t4~`v+JbwU4
z(Vt5UA>6NLA-*`c(*Wtu=3Cg=H_T-%yvlp(6q^uHbJ(gG5_B^hOh_W|w?&7d%y9Rn
zKJuf^N!&9B>EWJRw$_@KV;NUq6r1Xo2i)bxy+{p7!t@RZd-2D~4-qEkY4_aE!MJgn
zc1B~&*t?E5m`r4Hfg7yr+rNmkp=Bg_x7WCH&h{cHmq;vR8{cnx$>)&Y(EU^v^1SMh
zb|F?a7_6f9^Vf4s$Pd*%Dy<H&Erb80aniCVQkgQ57OG9B!*PcxmT9oG!%br|`hAB>
ziCpbRM6DAPNn3JsW?gQ4BkJLhCjokHe|vYj-2J5erU<m+S+f(v^o?A;Au;eyN24NX
z2;s{#nj(+7G!{5+U!3DSCv+_n{XkN&i0n8da1tPm3-hn6x*l1`eOpA@?YN7w-1KAG
zr)w0};c4lwyARS4sDf=Db10RQ{s~3h^W`y0&N(bx_3bDCLQ$qO_g;}*B(UHQ*R0Xi
z!Yd+n1_fY#%r(!Gr7Q^!nkYlMr7oBL!L4Jm<-uUvjyKF@775a%`HnrhfkZz^q027@
zddSYvk6IICh71s&fb66&+%Mwhvy<nlTkO`VX=}9j8zI)3S>cQ)YX!SuUu0u%zz;Tw
zA&gBTwPG|^eRkZ{eIV(6lEkL~!fSSCZ?ge?Krz%tVo!M0qF*TS9Ko5{I4z7@v2ZOf
z2)3u7okc4-N(g>I^Jo3(HH<z?G@uJMk_y2WL8njjfF5XFcZ*0KLmcd+xk;@+D6r}_
z+k2sB0JlXu{sBF?l4WZJCj4{uQbDrR2TTOoD&)lI+2@#RH!2}FFIQhbzv-It@Mh{|
z)9TKZ+ep=*BQ(xoLr9R?k)OYM-{gZj?*O;1e=wB>0A=(sn-lCGY4?yIMz1DMa<BL-
zEG^qkBc<4Xo-OU?n%)Y%|MCmKqYAonYi-8?2;f{636oUG3S8}N&n~@L28fdFN>236
zT6R7}#q|9@J)L(vmGA$@?=y^J#UZje_KuKEWhSE(r;vlnI<ogVr?N*<AxbGxIXFj=
z%v(q*$%td07RfsHvA?&^@A3HkeRJK{y07a!Uhn65oSC$J^};EN57D_RN~(AP1+w*+
zJUoNhRbDiEubK>H@CF@>&tIK$nQP)-)?IA()z{{X<m#$4r-jmta2C*8uj}I$@AmL|
zjXRFlABRVGALEw0Yqf8?6s0_z7R2{Nw9xqRk-tj~<X5BLIEl;%XP)U0<@gVXeW3Za
z9>eM?GcXCej@jk;Mf(KBS+$LwHKi!}6Pn%as^`@IfzeX8VxJkCGmtMhsqi(gy!%=0
z1)Fp8BFR_!E2-Pl*l8W~1zVt=Ts-sCM|Sts<aA2ITCkk<;^BYrU5xe!U$A9GqamFi
z)+0H5^vEdRRB+!U?ELao9l9J19$Y;ixS{qVZ~Q5}-;(-jqevOE6I>Vl#@#HmILUI9
zXn`6EB5y~9pXdk7Y83+IY85gp&lw@dPH_FpsFwrGL|}x~n3HckS7;PjKorYq^06XJ
zyrU>NTVOgIZ@8EXy>u!1cx}*abE5Pu74pVVLlfeqMKAQll#ze=K-YOanR@d2<4uG0
zc=k<^P<Q{#2+6X;jeXB#X`|F6wM!FnlAIkAUXzl~3=#DS>iji=-}JERxPl^<T%N_m
zm#JhF7)uj;zrXvrUodfI?m}Q2+4j1diGy)Y7Bl_<?S4r^Q!J)F0oG!rew^u&fS-6_
z=|!--y-+LMLrO}r{O_XFjxS+32Q)+!o%(rH%x^9vJ3``|C5!uFi+#*XWUnDC644-k
zxO?Q*qs4_TYb=_(p1aafi99X+duQ_(_Wgqo@?h<)S$~PWQctss4v&6idlaTM9V*lB
zJWE+{YhIC`Vg*WC_{f~jDDK&#SLL)@v<zvwjyN;TVqx_#59{!CRIJ!ikVN3IncF{8
zSFeby#~Xap&pr)pd_AI5BRojE`^UpW?qL8$7WSF!_)=28)R5qRTO?Ys#DI-_mbPM9
zZ)9pdeOYEG36{_~@%XHB9AhmiPkzTnX7|;OV0+X4Nqw@qd-7Me_l~Bwir8k_(GO0g
z9RHE??;+bmyT)>#5^4c?WBMf|GrGElq$%Jx&-b2@+^wbfgtnJk2xuF$1b`uLJTou#
zQH9-^YQrOv!Rb5nW?%;?6M}xrJQugcv}h9jdaGkv9rw;c;%id&o+cQKXEm7e_Y-C{
z<_t8R;X{Pq{~9E5NxbN)m&YuW%ltV?-PYDCPna>{R9<40hKofcZJ-y=nUM8YyTB>P
z@#7ec(9b-~<4?W!VNc<qb<V~qTKdF^lmS{gb^Ev?6sKUPbo-`x`z41MrK+@KXra72
zOU=XCVvAzP(~_B+W7>F&x;IYomT}Ffhft);Qq;C>qO<p}4|R<)@GPZ`nGuSN&8pjw
zb>o^dqmEZyZWBU0zXRMWL^P$>mAPGct_JgpWRc7v93yXp@ZAGQnyB(<yM7NSzB%Pl
zdYHPRVMveKyE%U^-~8<FV7y!v;+#(2!1P`4ZR1UDt8Z_~8#N6@&3JJe!!#WZsX3R3
zfCXeOIs*NTpi<24!#|_RtmsTUj4W*uE;+w|q**{iL(-)%)YAGgB#mkA#(7h*L_&mn
zjQ~ZJ1u3jOnM9AP3}`op^}R^_+aAttz<;FZ{bq??GJF~x;h}u4oSEhXx)+^T4efov
zWKb9`afh0?I{j-J_ZjAS-McTzb!USswrHAiOTNMoJwi4-G;vc^Q+*g+mmQhzX_oWt
zR#VTZg?D{rMQFkh#c0h;lj(7VXMp71jW^-=kFoY(NGNQ`bDr2Q#N&eqH(LWJM-I6l
zGU!~U(oAiXjfT&vHw@#t!aWjw%m!HJegsY=6NlU5I{TAkEJvA*ddk5BD>cb~@BhKL
zPBnBz2@`+i6{qmNEqVL4ft2i!iBT<1eiySWQfs(ik{sgn3>6u{HoYlVt9i8IC4o!%
z2SZ{efK#Ous)@*IE5>BiB2_Ve3PC8gD#-U*<|wv>0a*^y8YDqm{h%JRx9%N;;>CN@
z@cs7_k9`cq=c%*t@R^o956*KMl*Ct-5-i!vIYZ58g02rU`c4;PEOCsm#+0H9`wOaO
zCG#466}Iv!0~c~VcO{HWsh3zTe(wdRn{INag8R6~$>&#d0p+$F0!D}x59MLX$b+DI
z6*DlZ<YD~2r@t1K(6;cU-v#rI!x}I)-AQ~9MOFwD3zBQb`1pWEhYCxBs+*g!i<VLZ
z%Xy0}fuE}Q1^xAOTRCkudJ*5(HSXH8_9H!A!6do%r4oJkS<O>~&lFh~j7O6D<Mh^I
zy8$P7pxxiQ7I*=iYx2s(O`E3nMj?RYy9e|s<ZtWOYHD@gBC!jjs7yLpb%mN&hi_Bv
z%V4TsDS&n-AD2|A)p`*(ixDXUCOGlr6{Af5G~R7r!eLN{_DJF3tPQP-`VBkM*8Z6o
zfm6}<oFFTtPnaPq?9DLYn85QNc~|cPjT{C%%fIieys*3s8*|z6nhSaQnNqXjlW}j1
zIM18CZdS*>9kY;D!IfgD{y8lOD|{Z(y}hGO%cMXPzRA}h4%Q-Le{R#&@E`TpeF))@
zE^rS@QNUcx>ziQp&Rlb>58)ZXItfLZ@D>(xs8S*a_KY~m<1JL(!lDu^3Pyupxuzc>
z#>{s*2)O%OEC}J!z{+8)`x$|mo~}GUcqycxgJehvMX~(U&-$!)IEIC{$D}J;)cQur
zH8W-dDHY80BWW$U_%jF+FbFp?(G&QiPu!>FiKw(~nZ~01j>vo;Mly^SB}_H`3R9=$
z&hEzf7~kM*;Qvl!;7@Bj3%%n0H43$EU}HTK>xApbxoj5ond1J=fv&*U{fe13^dkRU
z2|t3;WB2rUB9s!Er^=h0%|wKU=q!4W_@CTmSitlsYp=wm9&K*QP(_wwcM4={JfCrQ
zx^v!qlhu?U-ZA}JI!B<v{qeK*^XI&4Wdpr)<ht`!=PHl+R{<>U0z<0FD^AaN%O6BC
zjSk4a*#t2-y<CYX17la}WDElDy>J2F<x%{wah-ZP9xp-{s8)X}gMK|uU?(P88DM2r
zY9l;5E}PW|8;#y=&RUF((5fdCW8dctaxbcY#`O6Cr^~W+FuDR>QJTHVX(T?W=X`<X
zL<VSNm-<2)mTwib!2|^vhx=#7oZJQSvHHDQxQH+tPzF3iKKbqqWb2CWXU61u3hX^2
z+5x<-&r(0PQm4*hax&V8r*a~noK{s{kzWr6%}GBpJIxq8B!T#hQ)M>P#0cg<A-Y+g
z;NIeOrdspC*Yac%Z@QOI?UiZ!9bVo5gjMmQmzJ>ITgXcG`<Dl<%k4$|&E`T5M(6|x
zYqNbbH+TlvU|rwCY04zVqIqZJ6s!d{0Vez^3T`2sz?P5NA)Mct|DFxS50|7!`=Qr2
zUs*pNpPF+2{#AV<wY2zfe&Tp$*?bf(0_RVXDk_6vnRc{5CxS5fM?e5OdGNafWy8BH
zKqu6_r+)+-#Bz4c{tgVtG)e<H;Q~L5HKcN!Mm>)kr~AecPV*8rsUOtDIsz$25;>2T
z#qlh(tIBWxaLO3Iq$dV%M!67V64f7MUicA^nVH*u)Z;txyA|nnO|DpG=J|mgVy2Ba
z3aU)ARY<~|)2yI|&3w8f{-hv&W%j2NhrrEVtlcdy(XYFDwUXUO`fN;u$Uo+WsZ%PG
z@FJ_Fo$t|t!kqc14XgmF-yj=4Lk5npYPpO_xr`=slS^eNXPi@if7hg)oBQz8_j|0#
zzUyaH@D+&}e8TA6<HQ!vDkq^#V!hMG{$U+d!>n7u`**WpytSC()H+oYQEVK@z1$+b
zP~P71;J&4pCd{pTEw6m@Ml479X|?KzyI<Ge8oq;<v#^fuRth#Sj8iK7jc?X1ZpAFy
zDWkllE2RNto{u3B-71ux)RdB6uGAM^-(PJ8KfGzj<8tN$V4?RYhO1WQ`U~@8Hq`MM
z5lF~wL2j5K)$@-Uk{{IN5SXad9gSPeL57o<s3F$ara?E-2OEYHHfCEQ{&RQbd!b`8
zkB}Vg3umf8$C#bm*g1F<C%vq%rBg$C7g!pQmG<`=ShZ+x`vGcy-#Z8CAX*e~Ei2#8
zbgX-=)Ah9FCeLWp02SCflQ*daYsbhwNd}v8bPMI6wGo3C4cm<f*1y8-Em6?Owd~vE
zO`!kx16{utNqb!)Zv5IXi%_UV7Z;^plp6fvrLB~_z3-gh-CNJ&tk%FcdF@0xQBJf+
zypIpB#>%r4#J#Rd!m5OX<qbk=i4Yy~%l>!MxVDj+GYCyw=0zcL^o>JzAOG0f8{^u6
z=cl`c6eKSNO!0m4`McoO?tq{_@Qp9dMbh}^tlxZ00_60H_I*hTc3J|}{P@a!80|bQ
zfjEu6t$h79FpUf26LVD&57qG!8f^9TG;JT+ru2B4L4pw|&0Kk)L^*;}DGTZ8G>6sy
z-Pclf+Gv5r9&+wau>SV<r#A1X<*yUUD9dt>CPbv>^N{EBd~Z0bEjcdz*T&|uGjWZe
zRv!eii1Z|AIob~n2`oy?y$=x#G#LD((>)*Usl_ttupK>jEc*i+(d(nR)N^0X=V@vp
zJg9|V)ah!snu%Q(>)0lmVeFBX%Iivm5Q>eL<Kr0r*0i04j;U)c@W%XWfr4ZaVY7GK
z4M&rkZ+6d)?{AZ}hcW2nv;Q?93)r~}<UJilwtO(bCHfC}2*i+wLRcNg_x<O-l0LTW
z-ml{+L`T93(X1Cfu4A8cuC1#t0;a$HZ7Y8#|9h~%<FIdhj`cAZQ21LF&qve3L6v{1
zAK3WRq%9i0GOhCk^5=4B-i>V`bo{PrfgdZi9p%Yi5KT^L?AF9}?!~_-LeeG&>JVqY
zp6PtMJsd(6+2<hD@B96xd)&RjM9uj)>Cx|OmBnmeZq%?JRe6i&PIFvci};IacBmu`
z5r`LsG*@ro+cYQKP)4`AT997CL`Iu7H9sqi8(+1uv}anoaUrr0iobEfF1!EvcsHf}
zs${J+dB{j@EdvOJ4}D+Sj;dx4B>&nR?d>qOQbQPbqQ?>kjD@m07ZNOr(_1XRKxRY#
z<?jv5TbF3h57b~r$%7}SyV&prvoX~5CYyml^GHd$?~S02pE}UQl(@yk+s@hm*E|a=
zSn(_(KSXayU*~u9-c(W^7PSmByJ2_t_2xd*p-iUr<*ZYtTQvelYv1laFco++DN8>R
z^^Nu6*H1E0IpVHVS?nZCwUdpR#eR5tdWH}brCShL>%@NtDoS3QnNN_t1B|6d!|(aC
zG>+=CqOPF=WwccSr5s~=-SmGLEWG_T-3UQNpAYr;p;4d*Ua%lv&E8$uyo=;SzEdTR
z>(1A^`0leu#60$9@t8d4{^CDqRnFrDq8~6@`bynvc{T`MEj-t{W!;tNMR0=~!xui3
zvN2Z&NAAdw@{ihONi=cZGcAeFTs`+VcYtM+XCSz?!4AgTcr$yzAjw}flz&|pn<N82
zChE!dhx=e+e3RE!ldbrdl{;!b9zKG41KSVII@Px(TYKu4C$<R;!P*gB^3}seB=GIe
za{pvwetH?=OR6ij#btHxZ3N(@O};2Vm9QsL(x=IWf(uJr((W<t&S%msYdL^*m)%2m
z&j9=$ZqXh|FgK`Z#w9G0C7Zn4gy6nYFyF8xF75gy1f|WPIE7t(uCPhD9RWqgU%!ou
zziSH=frA$5KFGa8!tp#^q=S_~Xs<vk<6A3O+dJ%hQh9pw0-^Iu^*rG&WWm1d*KdRx
zt)K7PH9jc~97jYjM~*3Pi{s)TbLStq;h^ESG!z(2izVq7<cARgAP49iOV~bdSMvol
zA$nbB@v}GS*vM~_+mFp2VR`TSH6eIje#m&)Zw`dmvzXi=`LUS8(j~@NqPgg0Cbu75
zfK;!P-<HzWwH5*icMQCl!{zraJ|0>NkiROpoa+PnKvQzwCwVWy)KtS`db#D+8K8(s
zm5sr;7^X*l7Qv0VK>Y+UG_1a?LeIno^~E#cr0d+ZnR9_qHMOGV_<zrwQE^bp&i0L@
ztz9_GXa@515>7J_6sHb%-L?W*Ssw$T?odhbXdI0C0Wt{Vy-z9K*%=n;dpXy{#IRtS
z?kbQ3?Fhw?WPH^<4Vr<Rx&bs4_dK+;&iD1cmOjF5nd@Z9AqX?E>~+jCz<==qD0(39
zw(VTMm={Un%vj^XpbPc|x*m6BUxt(6I!ez&uG+8%a*=Z*B;eSHFa3mc;@xkv8odXd
z9W%9j+c2c%&G+QE17R_WMH0ZH=1?S9tWX`mIHIj+Z_0bH?CmzU0%KsSQ{E)AK!;D$
z-D!6TD~&hh>s}LgiO;Fi&zSrkZz=|c%|wo=)bl|fgFoNkpfl9L(2?Dy{Um?1wBfe)
zzxpYk7~FBZg*Evq$sa`H5t(<%HwKRp{fR^_^-`aw&{)x5+9B!wAFP1E%y0pyMsS}X
z^4TlV<M9`-**RZ~z`3eez>*Oy%<)`}>@nlZ-v9SM(zivM_n61#0w+jR7^69Yo9PXr
zc6zrjKK{DdjF%o^o>1j3>=wu5_n@$BrsC<KVG3XCh#1O5pYDqHz7W0M+b22Wjm+wt
z+K#E;UhH1(Q|HlPwni>%CLa3$O%m#wO_gEue(E~w-<}P!{uxw207+$Kc`u&K;`)42
z={8$rT<OUp^P+?l<m;rNyzguzT1DH;&c&l53{hW8-Vq6!4vF~*B*y*RzmVq_$s&Pi
zt&;(8F-VuG$US8$hmy81P1G`L9)Y*n581!}seiz+w@@PW_wbR$AD<Qh_D7y6<C5U<
z#+x5so&Z_M`uoxgdoX^vRUP$jd<4t*cUcgQkPvq1ZgU*JPOE;3h#pe->cu-W&nX`y
z?$&>kYQKmC@MfSNq&lxeF%-yE5fZu@Xr0>CMXT}MQ~rs!D4$}UN!`H+i=2Yf*)DBd
zPCWr`g8UQ2-|doMDX0Mn&$Y)6W<o9rYG`*A0o9y=$hmiYTXS0(@Cl3jA6x6d?HQT*
zrjw@9hEg6@z!c5_*4N@sft(19C*c-|S)M76M`b*Tk`u5LOC5?d00_A2S6J<HwXJh_
zuX9P?`~X`tHI!E@-pI3z=S)?A0SvvPllmzc3~qYDL515{aO-#ZB{$QOOWhP1Ai^^<
zphUwB%w;`&^@Asr$#dUog^4?xN-NAmPjTJEq75$0sjo=eRW6KFRvVlADX#ra#)DTE
zir9qAu3Sj>+^LS{Whj21|Kxb30(+bAtO=1iCJPd8wY;cdj^EMz^Rm1+g(Uj{36Lb{
zdW#YoS0w04xCCe(!Zim+jaJ7JiqHgUVd+#$m#NMIK$)dEg$-V=j%G-a^Fl<_M>za;
zUP~v2bZk9%)d7djYw3siEu?FJR}9M?bw3~h2!~Ym8sf;LJ6}cpi_(CVfqoNH#~SG=
zBtR3vUnQKsE=oIxlY?GI;Uu$MT6bd41XF(xJ*Dyz-hp{%wSsFtzy%PaF)TkxJbs({
z4_7BnMG3+3e;sVWm1}b-05m3qKviQ;P#`2jZ$bpUF(k{)eA&(W^OBVwcF>>v;ft04
zn9F4JN7R%#v%~TH98}kmEQ?<-o;T!Oesgo8@L-{iJ~#pcA`v>GYs@b?^uRxS0jabF
zkc*m@qseKr87t|-W+L69aTlT(p&l-Znwn=a?`71qs@&kG?NS3{M+)~itf9YZ`te`C
z%yZEIx%-CZVf(_fRCFtEBf_e6f?C@p_L;hT4`}@N-ycN}q6vAFmw^ADONGImVE@Bk
ztUgD>Hx}0>#O6aMxUWSYd_4w*HPALxq~$>y1A8oxzxIA0zuW%a91A{mvVQ-p?KG!*
z>3{qF3+Xb@3^({KYMP|wv3vL{6SHn-P6-cn+?a7Vqw+`SM7zzSC7R0sho$uGDMZNY
z0^kdiQEIqS`A{m>6)cz_N?)<V=`|NpfBPT-O*V-fi(`_br@-SLr-sixmLirDY?=^O
zU=w(oFhr1~hFYBZq@H258C%@F3ME?6$9bzC0YEHE-N8pmh1Kzw7xh#NP<Ew^kdPsr
zX%kd3{3t-8_L%2ogIQ?s(hC<q#>2^c44v>!xwQwZJ4_6yhRiBbkbzo{*ksB*!qKsX
zC{f3d9oeQWKYJdm&rh+Nb8-N18}S%A^yQLZ)9y;hf`^_~@0B3TOEOfse=&f)_WaQ+
zn4{V>&$4-*gOv}uebNXG5R5${qR&AkgNfjCupX+o_;Z+cl7=Nc7?_6~D+%RZD?LF7
z9|N&)j`XQzv-u$D;y9&6li(}N;Ty4UBP3A5tawflwz)K|#hLf(oR%I;t&a(>c_San
zL&@KHL0ol&2qq_GT0X95MFS4hRxX*oxp^_C6h7o`78X^_QOC)^1d7m);cf9iuE>DC
z;?d#>Kx&0>aNXr^f8Nh2LjrSZ>$-~)!PhivQT>M~?^YV4#2C7Cb<*4RHSi?<4~X;K
z&d9J<uGblx+`pY-X>MS@m)8j8U|L}D|3po{YT~w8TsY4xamwT$r^q~i%#_uNE*ho8
z$t8JcA@0XtmOa1p`eI<&e{UT91iev+u#kkC9f?@sl1{!1gJQ{0RT$qJxHF&+k8!t_
z`CM@~uRo&UhZG?X{vr1u3!Mo}WmlD$m!ynPu0KzgXh8wgNB@jJP6pzY;}hq*j*jYQ
z-+O~A<e1N_5uP}5BufT9k6prTz~A=($IFC0bRhdZ<_L96pNr?^=O(J-jET`;^u{%9
zI$xk>eF)0k87EFU)VA`KQc}z-yj#a<t-OdVYAt0p_hh>D=W603@b2#ykqf_TI&Ghi
z3M8jo>AQ+`Kb{Sp^mEpcD6-n7*gU<OOWSQC<!Y`{Y@3yh@KJW9tOlVv=1AD+!&eCB
zoO)J9nG?ZEKWd)RMts)z3o^uZvadH8rUjnGx7IcpPUvPeZXeQ~+l98_#2``|)Ml#x
zq?_9gt+2m{?n@tT1@aQMJoL#CXy7jMVW2H^UyK=${w&y0YSwe44u;1^{c<q8u3x0}
zO_fh$3^*S7gf--QkvV*lrP6ezBWhLcz?!`lu)V`C0|Uxg7!rfO&EAg)6rvdzZE@92
z`l0`S4&4cLC<b3#)nx7!4yLc|rI*(sl26W30G|CiPgm|As?D%sS}s5cW7|oBOn_=B
zN16R&B*09=_g@A}p2s*E0v%m18Q3Xnz{mo)?QyriqNc<*@G_jh?L+#Vn6<9%Pt14V
zn|^i)SV&#K+aTczA(u}-)rQAsa>^_&h@=lpRe7`7NL%X>Th>;M(+U6rXL2m-eCU+B
z8p-Ob8bxa*hsVLofT0*z4(<MPlu@#3X@J9T=uE$WH)eP>ArziC(w>2$U>>0+uI-MZ
z%L4S(pP#Fq*t6*61qc?z4foO3(_4e>1uWyhLqgc~dv&fEH3s~5>cVi3hr|?MM<Z|o
z;$c-Q$Cz})>zHPBjlV&t9UC7ZlX95p&j^He-?)?vpyY~rc*}oYF}}7liByT?3eGZ%
z-e5VHMYn{x*#t!x_PaQt-~N6G$2!yAjfw#(iw$S{RPewB2kC3<GoE|m_kh*kUf8n*
z3_qszPDhR%CY^!fA_|3izgjy$nTenj%PQ5@TKUEMXhKn(0HZd7yE^SArQz#7U;%H7
zZQ~(bJ7xMa^hAQO{k?gDUoY#!%z06XrFV!1z%?W3>G;9%0K*kP6I7kXLY&#%%{B+3
zhfoi>c0TEI&-7+tomv}+#|Ue&Z3-l}16wIz<@4!yi0HHH#}uDd!JQr1&9rwblXYiE
zH~0O4hhtA;!rhBd#=t=X9NZAU_gXI#SgqpJIjj<sHZD*51%3xx2%f~=N}j`Q7*e34
z=})?YVjbhAIq*uIwU8^a1xl<@yeMah<&*-L6&3OwfI-+bk7rjQMLK7`rCQUzQyCB8
zlS)VQ(8e(K#8VAHhDM-D?L9gYm*Ho+xym+j*;$%7q2ztKu{ZJw|0~qT+9Ar+ks-u!
z*h*YmS8X3FfK{4K?u|%;>K}3J_=G}8#Qh}tPXWOViY9AaWY=LD72oEkiQwdLDPH!v
zbb0MQ492MPd0M)$ymM9Z7V`J!Q{W`j!O^n;#I#Uh7(iuq&V9Lf_)ch;`}T`5hi)~k
z#MI~9^@IdZ2Y3U-TUv7#rgBEA4Tc3q&-6^1G?=dcgN}*t{T?Sm1;HlnDUSk4i6Y$h
zO5VZl!!+?&@4eGv-5+uf@3BV$`NZ&y*w4OF0N_B}?)5q$t>Q}M{G8#Na290}Y|9k?
zQ}h;6izQOT8d=#{$~FavW~smXCkX@mK7@vTDu!rFGGL7FrkM=T6>U5ybb;w=2N@^~
z*;Wfwqw~?FnMQ2u^N_e>q|%cP85k&i=nTL8efjfgAZNoCe^;o+T%{<FSVoj1d(`O@
zyvSnccLUaNAW$sOBMoZ1cN0wZ+r26SxX*FzaLs;{?)aXxCR!&x`e;^?W=4wGQ^qf-
z_HS7NA3UTmr~1>)OYHe!!mz5rEkJPq_3IibXD5Eqr2T@@Q8699S<6WEK!l?`!wz@o
z?Z@{qhZ#^s8Af;A_1}Mc<D~Fy&fd9c(G=4eE)weOwKa7(aFpBcjE2G^Z&S8kx}@!E
zuGaUo;M{}O*s!U`jfgw)^C@vDE53rh_hiuTy)2&?r=kh;DcB;S`2;a9-Kxsyr>F@o
zp>sqv-BP0xxmVDR@L@Y3PklX^c(%IF0OzVvf9}a+1w!=_C<W5Vy(zyZ;J6Tc=)3De
zFw3EL;8`qF9V=)_JF+MNk3lhR9Q2mXgsx}YL<5KRf%R54&=fG55;b9qPn~a;$JD%I
z+7^*9M-gs!5)ef8Ca8z_+lP@;7X=_yD5S2r!*MAqE*?EE`V<NF7|>3Ef-iLJY5fzh
z5~$`t3G#!ld~+g0S%dS)BgqjkW5nPxm+9CWgfPw(e(c$M47eafF}IA770<L(-DN4%
zwvD~blL@r{(17%Q5xNSc*YFlyjk8E2!u(TtOkCkje+_{vH`Qf;rF@tOVP00gW7Qph
z!DONd89Q*06=BHNc44_8G*~sD!&J`p7~<8H1W0$hJ9?Sfg$8-h?O!{M<XT@aOI+4>
ze+Ii?SADv)>BidE9@CmwPAy=Z6SjbvoX<A%U6QZW^A7rW*BdEu`K@Om>x}A4>|m>7
zGGD6)NqrCldFhyH)@>JL6EtlEY7^JPlp1cw-t$4RVxy<)Sj9Rgex+6h@OQmXom<If
z<g^sY!#*atA!44{`kJZpl;2ZJv;NOZMiUo3q0}4nG>e6BldSgX%$GyfuFbbpIF-|m
z5oV!;Yfz}@`a8Q!2;O!vh4YX&%wSG94XKSfaM1X|aD^B{2&|TJGnu@R@XFQwK5(T!
zjCv2O>K*ebiW58n-Arjyp3huT=fh=lU~2A*+XH#=O0bWWLzJJOC&3GX`yG|V#Yv`>
z>|A|uA9fCz9&{!eYGhId>$b+;>un+y$8%&s)bx`Wd?H!9D<^gqm`MNiCJ#-Bjf9m8
z88b(Y=<-_)7GTl#nob_BJog7qi-oz1x>c=moJ5&4yTIoXYqB}2qi)sda4NAW7pzcP
z8Z0Mbg>-uKQ)Cwb=^%D8X_*HiYx+aDJ6JaudCo=L<>lQWG2tz~2oGnO#lu^s7==xZ
z+KI_WXu?i3M;%<)cSOh=0`dLRWU52u&xmv?p0fmiz4WGp2)kcbFt9jwMtubL)dKj(
zw?mX>*fy{qlx6mB<5XJVn*>3|9cZ_QF?iOEvdqu6oJpH9!!sC%ae7C;XbHXij>W(G
z7B@k>_goWhA8vRQpsIA=O_QdLg8Pvy6g?TBqnB%p(<MzSZy0XFex)}HtV$^n4gCap
zNi9Te5>Kure{5<>(r$wT+}?m4B28u{en8wkxS%;((RH&;2v{CuQ#I+c=m6eyR+AFA
zD_BN&-H4dU^aavpWpT!&LYgOpR1C9as$J%KKdcKTpM5Qn>cA3+UN_3jMH4(`J^nbh
zO#)L}Nm7S>nd4K<>8b#ing2~0)pSA|*@*wF16%^vL3CrP?VNaH9ou$?4SzcftyJ$v
zc?w>H;y}2?wsC?Vgm<}x24)s~@Ypb8n&LFJBw><yaD@v4KLqGMskqfKbc(u7hfV7!
zLXg$yV5LBvz@v^z5<x=D4`)S9r7y$7TWde@TaB(!x78e+FDk*ZCqg~iurY{Ecmzb<
zY=TfQP>Hgoa(m8Tz*C!B(xR?l1Z89V<TUnGsf^~imnX28K*hl`mOs@6sOU)DdETCU
zJ(YO}$A9*;4bXC0N4kaI-Jw(fBDpAK0+!EnJuVD2z~tZ?+euR68SwaIqn`0yQKft5
zT?x17kS15KnQ=3h$7*eaoW3tk@FJ{H_-lUpX^@Z9LCdG71%EXlg6G32|0|T}+T;x6
z)5S(TRRCTNanr`B_Egoc6h2pB1t&=h1154kB#gUf0bQmKv{)GOfe#`ita`JH2mI9O
z&d_1>2U_LBMX<wICAtNU93jC|&ymkO1`!Ug^d*ot?5?ZsK_u0j*L-#8(P+j|8U`;z
zEb(KbBNinvYv|k;@kN%}4mp2Sy#D0=dvNKe6Uqi=DbI=hu)_m^S0SKbVqc<+duyTY
zRc|(2SfQt@S_C9Pcp4@U2zR9CSqs6k?d!?!{yGrGDNW>%?GtHd5P@RkN~jw#$nuN2
zqVqBm<(D{OxndH2Z|Pf00Xd~-soZlGWEssi$arYlhsVI?i*2)i@DLUTJH!3;2O!d3
z#9=y$7PV;7_k;(cn!3=?c%ylMmJFs>^86XS4n8;t&a6=Hb^V~mA30}W=ZT^f^ZovL
z=pRBN{_^`RFSlEquPahjdVSY86qCc5#gJl$mS}f2U@r!FsRLc-NU7Nq>6^z7F*N8W
zXzG*pePs$jYF8zeIbMehK`^2;#G#)^vof(Q1){6DYRkYS?-I@1dKAnzH5i0<{0Ut+
z?cV-#H^L0USsHTvG&ku;$0Z}<E|%^fxV<(LgFpA)zio}}dh(x7UfC<~meYSZRValS
z-8~D4IhHq!q`N*)9=E!E>lmK|Ony|1q376u84eYtYtd|{b)FUr0jc9IG%ngX8XHcQ
z%zTuiyVudr69)`dsPpKS!~TB$jLqwqB?N&<f0-58>&ZiN2x@K9%f)=bV@*Vv@^Cl=
zyCq&|P<l`?wnSYZhADkx1^?9owur2@9L3bn!L%N5*xTacWeDv`5{A5$xy<=*HG(6E
zW@CTsa;Rt1q4PB46TEVuB3=DWuRX^U(9*u8*Z5DwdKChyPMm2i;GB2S`>>tFTQN*s
zaTuzPkO2Y&;f;rMP}D))TueO+LrdG{HB~qF3*=o#X`^O0;{ivLI@NVEl_?)(RKDvh
zLLT<FHxwT;_lv;OT>N_^mUalcn8Xr$s!J9k2lHiuj#$4je_{pYWaZNa-Wc25fdd0-
zOOsVcNQXZrtLDb@_<1bPtQmyi?U#iJh=9T?6v#{!r590MM_JQ0W#U9@4agNEZs+0l
z6fJ@jaRcI!KK<?+id$0@KqM4{nK3!g0n(lU4n{BD@b_#K?D%IM$rS!}<ZQPZ#5?R7
z0eL_ocIlt}koV6wtPTAw{0t>}fuE-CbBMX@^$SYE*-+YXEF^_q`{hxg^^+vIXs72b
zPmoWpS76!a5T`qHn}5_rvkGU{bJZmZnU|F4L9uMbeuB#82*0po{tbUAeI6y%FX?XZ
zGJAJ4gar+n^+2^&Qdb8wpA2g~Jvu_Md3C)_b^R^y+C@rH0+Qv|2;a!$%V>+{!4qvn
z@5S(NNEbe1@`9B)E#Ev1+z`H@)ieULW-j&UD8Kkh@-OK4@Qb`?#Jw!Dq7$iT;7*Aa
zF7ehc2)yZu7jhTHJ3L$F*$!^6a&KDPE<u7F68Naufj;Bot!$U%evIA^)TN8iIchft
zq^L~$Jm)LKWuOks2r_3Vi28Y0y+=A`Va|Z1f*yj)yBhRo&G9BElk-Ak(-6bCT}^)H
zxNrTiTuTn+-ECG!(TYncoc(HWNCvtd3<0c>jX>kc!)sDMtBT95tMVWMYwwP+FPhES
UI(V$&;5TQi%xq07PvUO;59%x08~^|S

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_dark_yellow_128.png b/assets/icons/pm_dark_yellow_128.png
new file mode 100644
index 0000000000000000000000000000000000000000..d16ff38e8ec6a5f9a1f7d06882ce1039354677cd
GIT binary patch
literal 11569
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

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_dark_yellow_256.png b/assets/icons/pm_dark_yellow_256.png
new file mode 100644
index 0000000000000000000000000000000000000000..9c98b26f726f0e78341b4a4daae6df7efd878f58
GIT binary patch
literal 18137
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

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_dark_yellow_512.ico b/assets/icons/pm_dark_yellow_512.ico
new file mode 100644
index 0000000000000000000000000000000000000000..a047a14c8d03fcdf316d74d419033ecc7c2df698
GIT binary patch
literal 112046
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
N002ovPDHLkV1f%XypI3?

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_dark_yellow_512.png b/assets/icons/pm_dark_yellow_512.png
new file mode 100644
index 0000000000000000000000000000000000000000..dc5697a2e5b883341c610748f44e119d2adcbd2f
GIT binary patch
literal 28968
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

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_light_128.png b/assets/icons/pm_light_128.png
new file mode 100644
index 0000000000000000000000000000000000000000..063948f1789284627332181127d006f59e99d9b3
GIT binary patch
literal 11328
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

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_light_256.png b/assets/icons/pm_light_256.png
new file mode 100644
index 0000000000000000000000000000000000000000..681b0c0a198b2e49140095af8cd0ff705a5d6d63
GIT binary patch
literal 17563
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

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_light_512.ico b/assets/icons/pm_light_512.ico
new file mode 100644
index 0000000000000000000000000000000000000000..b82c736b2b9a8ac0af9398ff96563e486fe69819
GIT binary patch
literal 111080
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

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_light_512.png b/assets/icons/pm_light_512.png
new file mode 100644
index 0000000000000000000000000000000000000000..357066732a521c730f0778c187972979c750cc4a
GIT binary patch
literal 31361
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
aN+~RSfIeOLsqpXBd6s6jrj^E?iT?v^;&uiA

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_light_blue_128.png b/assets/icons/pm_light_blue_128.png
new file mode 100644
index 0000000000000000000000000000000000000000..c088b3cd6d4eb57dbd02694bc83d802e878a14ac
GIT binary patch
literal 10888
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
SSAPDHZg|>E_p!E9*#80;tfV9W

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_light_blue_256.png b/assets/icons/pm_light_blue_256.png
new file mode 100644
index 0000000000000000000000000000000000000000..616c93361b375d82ca13bec18104b82a4bde7469
GIT binary patch
literal 15813
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

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_light_blue_512.ico b/assets/icons/pm_light_blue_512.ico
new file mode 100644
index 0000000000000000000000000000000000000000..72ba27478072a423f38de0f5d54fc6df305e22b3
GIT binary patch
literal 113172
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
KMNUMnLSTYQmvA`%

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_light_blue_512.png b/assets/icons/pm_light_blue_512.png
new file mode 100644
index 0000000000000000000000000000000000000000..d7eaa1fc991f3f13f657621e0e5abe4d4f6c0108
GIT binary patch
literal 25466
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

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_light_green_128.png b/assets/icons/pm_light_green_128.png
new file mode 100644
index 0000000000000000000000000000000000000000..c499b717c4b41a2c11b30b6fd73975518f492684
GIT binary patch
literal 11555
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
N>dM+ml?s+2{{tfpdOrXF

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_light_green_256.png b/assets/icons/pm_light_green_256.png
new file mode 100644
index 0000000000000000000000000000000000000000..e78254bd3147808075dc987d5dd34785c209a844
GIT binary patch
literal 18828
zcmcG#1yo$kvOl^9cX#*T?(Q0#1Pwm8yGw!wClG>ra0w73*aQvkf#4oUkii}PlOx|f
z@2zw1J?qJ=HEVkBU0qdO^{eXY-aWBe8cLXGWM}{YV5%s~>i_@<)&v14NU$Fhk8&FT
zKwGt!lhcy7_jGfz@CN|p*z^ovt#|uG1Np~lj0{Z(X;cCDCCa$+vd`dNd*P%fPtp$H
z)cX?YyK$74n;U+jDO&%9_RR<fz4<f!r2=lh$E(@?sNsh<YS5$QOtC<lRsYblQUCn2
zJl`&<ab&k1d0s=#3edI+;c2<KREVr4Uj7LJ`<@)-NAsAz8{V~V-?#yi#cp&szfg1p
zV7Z=n$hz&?wvbU}gcx3)H%w2ZOBkER2-y5=z@!hP!2_c<tk!5@9{7M}Uh)S7tpEVZ
zi*$nym^#2XOV0t2cZ2db@OqwMLqxILq`(p`(5;nI2rQ%k6s4)`ED%!!^A2HM2G9Zr
zpt!T6o&g-_1J&sLq`YCh@arkJxwZqLH)X633Pl)<*q4ZaIg<6xh=)Ss)5gsG)3*^0
zl1dBIuv`}GShxasoEFcI(X579qCA!{jSLVRTcU_QtWUygQuZ;7MPXVyKbB)H<Z|)|
z8T4+MBY5O;-cyrE^quZ&4;$@!gs#yN4MqPZ+U{e$809aV4%M)Eevd<J)2~jkd7ra4
zxj_+H%E=X@vnr)db|7RTr2He$^wIah1~uK5Fq4ONcvYeIO7q<<R^aY4=3^!mbQFs5
z*cZDa1R=vl4a>^l5F?j*oe8e^mw7L~Sw)=@rVI;>5~;^fSjy8OSgiMw)<VOmm$^|t
zh0!^`hXd}*Mr=kJd3gzg%re=961dXdQYxP0Qsz>INAxi~u0K0D5<~$ausjX2LkQjK
zKw1*ju{vQNgQS<73>p^@%cVexvHggrJu(Ss0DpY}7L}I;0-r%I)wtUmVg!^v1bG^y
z*bittyeY^cHkMRG#U!N$2^ZxM!2<}@!JrKPCbPySJLe|rqC0l(-hkTqro=7kYjYfm
z*J^us0}+T8O2YV5eSUPwDD*`!@^q2kXiDTkJV^$sX?S3H#80{9v>~*KIL~6w`UEzy
zPGbBtIv6G25u~c0D$7l$Qm6+ccUd!&%4yK@eIwnbXoxXUabc+X7HkdgpW30^{4RG}
ztsx2SEvrJbrR=9NKdpNf+%yJNQ3VY{X_mq?-AZQfG#gd&9i-BCr*BVVRm(gof+{8E
z;>ctZO5axSm7|xll@rcN%p(1=|AqOB-hu0aJVB1H;K!7>y{r)&#~Z<SFQ2oO9e$+z
zm|OUH=8OIDzSkG5mA6M4*oDug8}~i;+4hY0F3yQ=1p<gWlfIho@g9(@#-l{V6q*z8
z3G!U>XmHo^eIcdJtbA_uk&iDXvoDP|gL@=1Fmo_-K6B#311lLT5o;bRE-PO857sI@
zpGy8J6Yc$%`?mHC)ds88BrgRWc^v7h61}6m^Di`ByqMGTuKvX^$3CY}N&W)6JWn^c
z<TkdZzZrbj`0fYdLHdD%5BeR}9c6Uyr)?Br6$(UK#<D2Sw`a*`+6h&=1x$MH$~p9^
z^c=O?YcGvnDXhq@=m%HcQe1dk$o<lvHM1|bGjO<ejNvD;({rGh+MC>)*>(`MSG3!;
zubo`3@;7Z%iYo+H5SBAeu}&`*daG8&scmGrKeSmM=^SYsk-7*ajW=$h`v2(ASq)hQ
zo7OeIza%*nJ~UiRUmR=_^JW%(FDjdBlKVmw+1q75h{{5^$5(zaW{3Wlq6zhhMaiS`
z*KbWJjP$>inv?FUN9HkS$EIEtFO}a(Cso>338}b#Tz%Qe7f^TZe`|Vc`GEKE=GGTe
z8Q%B}^P4s#F$_-9b5b%=B=TVlA<{hFAaIEl1NX3?k*(MAUK`K6Ux)kq6VWaF0j}%C
zAhQt8Q2HnS?)g3lLthERx_t=zE<~4Y#$bl=<HbkpQ3D$)n|+(#qef!^V+muuV?Q(J
zv(`RqeS+41Yg#a$vN`!WJ<Pl6kqIsaC(S9d70yvq8CBhVr*NeHP5S-CcOmCJK`KEJ
zL1U-d#nk57=FH~wX8i+YF`;($b`GC;#VN%EN=C{T0+qda&c}{sc4m%G-(&`9M=fII
zihF-g?H0dNtRr0!yv;7IvZ~$E7!1@f(!kGoFDxL|>D}y2B&ILA=C#p^(8lg%@8Qok
z;PQO&LyeV7yT_~ER~c>1UqZY+ec!duwMqC2`D(ha9jtDAJ&QRv*l>4YcdlMrh_p&d
zeAwRKt$>Q}-IQf?>L<>d*5$ds+?pOZq?q4v{>5>+dbA>vCnX8KpV$%$ejX$*`9d-Y
z(FQKoyk$MJF2S|=SaNMXBr(LJyElaTUgF{BT?>L1+-rDMI8I~-!~vw22$C4Qn8PTQ
zn7=T6F!RWl@nq3aF%9vjY557>Mhf(-q8{PzY6?>hV<lkKpafIckTYRBVm<497Ey=U
zEj49X<Yj4vKo^1QNKYkiq%a<H?~E6$vt2T*qFJ0%w5#x0!Lztb;W#0LdW*P`b=S1o
z+eyaBF(<&p!$f^K`a0~o;d(q`3iS-1lj#?u4Wl3<PwHl>&$A14telPz58nny5BJj=
zmY2FV>LOAvTpf;Pt!8G+Vn0%<7MAvv9jM>Xy~TMEd#e*!k*yop|G0^{nSmE>oxAOy
z<!fZP*ywe9-f*6WaUB1dbb>FKcZAOjd}I5<x^oC?X!ZRA?K8SEQCk`z$rj0^%#2iD
z`AWvIl)O9_{^0NDj=W-qpQ=5he#T$$1?&`_uH48!rrk3kYSQYOu-0>47p`k>T=xw3
zB=K$8P-T^hsEPibc3S!|Vk?!6&u=?#^2_98`MW>U8PP-_|C;aPC1T&}S;QLjF(M+4
z15<(yy9vwhn>qd6T<#`1&D(XQCu-So7;!{|-VZqUa?YQOK6SKOWzIJ^OX-A;-kzL#
zWb9<W4`oY9Ghy~-=iqv1knPy)(bSM~zPC3A-wuydEx&YrrEbRYD%de$B1;0C1@;{N
z@;$1~*<jF2zu~CvV&;237qxDeGrXhR*QoIX3-WBiOjo1MeKiFeg}_oX@Po~pu@Rxr
z1-c&|!BystD}uewrAv}eITvS#hhLY-E7_}teJ6bhj{Lsxx!5joCcP49zwpU8dNksw
zIa<d5{L?ETP<_nwO=p$E(BkXGpLeNOuU4q*yDP@KTmm~ag7-lb%)-#kj5ISBN(_mG
zfNxt`D|JNOE|Q}XCezaVqb_^SqfQ4-s!m^gtb0<v+tls$c8lD<44&P#+u=F1s!D83
zB&MVm=J_da7FWG9Hx&QwRn3giajvSc_t|;LOvXe+o`|pD-a&=nS~LF7jtNSMWB<o*
zh)L)P#4DVFCLWz$*S_;>*k(TM%WnM-sxxz+^t0;{+I{Z7OkBJZf^*5~Wa;q#6l{6-
z+4xh7i!Xz(*XsM_qqcW}KgU*j+8?fnR?1em{0mMB?hC*6R!TWNmLGfl7QbX(pDG=k
zN;>wAZ8w!13Oy}t-(&e{f5W$BD<Cm0p_Gp-(S2)q8h4b@knvFW_NnxyZmh1x?CG{_
zeL}4hwR6RF+ZAcG*01cY_O^~E^z)^{r9@EvRo9c;kkU$0prn70!yU!bjp5TMS3DPa
z_hOLqBhl^Qqx32y>^TE52w(=joqMf23qVv5TJ=HSx4+(y0n!+c_`n;!Z%?~lNhyGJ
zq*;_O17HKr934;t6>tJ{h|=*uNnD)A!?V+wS2@U?dgLIZ8wjM`FU$fy=#YeD&y|AY
z`U`o%GNREc_V@*`K7#ZiIP9tE5)^zdfn@u59B_Y!mCVU$1-*J$Gg~707WLGQ2rGC|
z-INVI0RSEU&ldz_<&XdXN{79kftP{$b5Sc-XHE-iS4%LbpR*f`8UVzl{M;<89Kl{R
zmS9_Z7YVxK_HH^Fdus_geF1fDbvHS%oxO5^2Us^iL(eL}(MrUcPD+wS+)ot7z!~gi
zLF4D_<l-snCqef&zM`=9pW9q?G=C%Ua+IKx`6H0VKwXPQ&ea1<Bfu%hVa3BQOd}-1
z$s@?m%_qoC!^_Ph!o@Aj#ly$J%_GV!C@LUC^N$Z5Oqz$aji`>i;y+};t|aK}yu92*
zxww3NeK~#kI9)w#xp+iGU_5xaczHQs6da!ZE?yRX94?;p|KuPK_O$Y_ck{A$b)osg
z(ZbTz+e?BDrs>~@;OzDnTNlrNm<eVuE<X!5E*?(qKSTN(p|#atbZ*`rPJa__ZN&w4
z0y~3UygXsFJb%%`tfa2~7x}+s>+Jj&wWpVY4@{$fjP2i2d+PbSfw^?Rp03^=R$v7m
zm_+)2D(2~>1O6}5{0H4(<bQQ`vvc)w^|W*SZ;bHQ<G)PdCMxFvw(xTG&~tTl`lpw*
z{>g=g7iKaVW_1fIdzU|aS^g;bk1k+&3ooz)9WOU8HwO<l2d}Um509t-uPDC|+aK?9
z|D9AF1|w?=FN=RmEF{Xy`+p&JwYInM|6fV1twe2HJ)A9IMz(jhumy9ux!C?qn!38E
zii@Y0g^LwfMP7mqrYfhsy|t*Y06)JFzn}<*ppbwN2fr1+C5MGIHxGx6g_V%7jj$z;
zm4(ee`^&ppdH(^xpZ<T31#4F;7>~a!Cn_Kyz{@9O$;-iG0k+@};^r6Tu;3Qq<q+f%
zwiFQ*v9jd0;QuE#O%HomI9fRUE7w0-S;IJj1%$Z;1%)g)ECoflIrwe(tT{w@tSveC
zt-1O5EV=pkEiEnSX#PvCoU4<ohq|jZ%;tRmdS3;$DE4r*v3G(!_{ZY-Ppte6v!crO
zo-p6~|0DWz!S4TPIoZ?v4W^<NR(~Q%g3js>3c%KM|F~`cZ_N0gDg1Y~zII?3)Bgb*
ze<$;Fwej+`@Bqu$!c6`jppWanQ{U6V=YLk7*NR&}0Bix~5aAWz;o!I6wcrr3vEt<r
zw&Js}ggxQ5wE1iB|5o{b#p?ev<^N$?D?1ApTQDp&bJ6{`!?AL8@d11Mi$B~fJS<=t
z8SLRHL1*LP>P%zd=H_H?W%0*(Ts|(=|44Lyp@qiFmFB-<<G+<-4fe4A7sLIll)qG<
z`TtPf|LUgyEL8sojQ#)RCayno&EMmP>;E2Ff4`RhyDb&}c;|09T=d@s(SM3VSW*{-
zWuE^f7uoQEEkwW;{2X9jej5%e0e&kE3lU3Ldb1D`umB4STk=`{4b^|Rx&FV+MSoEA
zH#7Xp6#UOyuzCGY^RI#ecJWt90(OCc-2+x|&}%QY0)RlgioA@TU(R8!Z;lE0B0678
zjIaF%Lv}<&1b~!Gr>-ik6_8OxcP}mdwlKEbi%_q6K^r$gTYg_b{;ii590*SaC4$TW
zC7eJuV1<|O>T1xJ=?8mzw*Q*{afh$X@!3ta%tGMt&{4<FysM6%L7F&Gw5X`4!S9+}
z;qh{&u}M%cfUIyLbFGsq)Nce&P6#^Hj}Je?;3lz};3)g0GJv?Zp|!w!!tVF_TU_sO
zBx2#qC3Ngkl7R2<f(U}lAvM?-h)BfUWo_4U)DN|~U`cv;4GTo0gVO$Pln>aWNH#>>
ztMI!7Pb&?Z-lzhy$xa~4F`x+|gxn0*j35ZFNQcZlnQ!k{PvO^neL)0uIQi{uj#R&p
zZ;#rUA{=&|EE5+@ZeF%IZv$aIN2*g;Oosn}^qe!K6QM)*-W4@Zg(6H!2QmQRgdEv@
zb&c$~3a}xCl0n(IQT^}~FexPyepNAG6@0;f^Fg|VzeH$edu;C-^&lX84)+Kz9(js^
z`hvzCnBs$5Ko=(H+!wlX)Hv`*RzSQ0B>~5`0%ct)6w>?{h?mHcNkmUbrZp9>B&Acn
zQbOeRN@%~*#=^TP;nyR(@k8y+>AQDlDI3F2AT^L)=8R-5*u(N1_3+{_E}&RqX<FY8
zv6b>#4BB98?2y$5T1Zih?RYo28WLmXdCSf=`F&k<Jw&hbgSqr3Flq-%M9`2!?TomF
zQb2{)iOln0ouc|cX@g%NsE`b80aMu^fAUtMR-{~JhI83XAi!2)-D_PhwZycBhq#sM
z8lRP4br06TYr<`vjd}Jd#?}~*)r#sZ%41B?n+OdCEOT|FLWNMGA@c6k59lW06kqT1
zoMSO#;c*O`2A_zaJQK|f@*^1QEf6ymFHAgSfC31jp4)wPPML?y3354ej?uhrfL|bJ
zB@xE8gF30bmO27LFrJ?{MHAl^!P_Bpp_xRa2BV^?g^h%*0csLUIxlXs;1?*bMO0ez
zCndNFh<hKpFe`|H`#~50C&IWAnLjG3M2b=w;#wK@9^N@3ay>HIq0fo4vaI?Ek{iga
z#Z|7T#3X&eh#@XD2s@Si5y4YXi84B)kSh60i79;;NBBtin;`O3En@M6x4n6%&M}U^
zc;K$-pd>?^nr?&7w3bfhgUL6u0^S0*g&0pFU6?B6jxNAB649+-AL7L(AgJ`p?CwsG
zp-__>(K}Xh>qp|-if9f<SxSIY!!>?oKNh5W%BS&Tg*P(PdtC!>ZYAOuABi(EXJOR5
zc8v>&chBjGeJyHM7?B@^e?PK3K0BPR{44LKkryDBe7S_%g&9lArk#H$%U|RB@+4o1
z`LPWpSURJ)EeP?u7r-+6YzjL!5SufkCN5-`K1Fs~v^?5Un($HMb02~^2KP!Gsm(0R
zeh87T+HVB==tWArg(!!ty2F`Hy5eSC-vfuZ5@K(d@URt@YB|C=-iC${#Fq0boF5pi
z3#<z>Xc^(prou0PSh`#`ek3|H;sn>{v4p6@0xMi8`->Hh2ij7x=UHxwmBD<OHkBVW
zBl6&#U<rjoKj;AK9^PQBh4uwaQWRK2-ePA)xu5BHh8Z1h8%GiTu3&A$=R5($0u{=b
zR*)$0c^$x#ReA3nM2<&0GPU#o^6EH8Tb!B4CuL}9mU2U>XS<L<>%^>3S=(DmUX5vo
z7shCfy>%M+R@ib!3F(CBr6vDnb3&ttPi<>2+_vgWQKD;{_iHXz+B^WTlvW$NUF9gw
zh>Xr#;NDeqPD-LR%i(7v!Zn{b#W|uWTRy6;MR_TiP(o~{)&~P{kC_V``hRPM`oEe@
zQGx(^Km09ECIW_tBg(z5UAr*%RVgSTw9Fg&*gr?(rj{OA*WD+YXUU4E+HOD14ywq4
zgb^`WVlmx4fx7}kzJ)qcLO$#{Hj`Mq0MtvT2%>QoNK~G4MH+=DUB_GtE#u}kAQ|4X
z1@m)7*v+1EDB_T~=zMiFo`YFobD-4A0uv?n2&Jt}Kr$*3B6#T(%`r0d_~@b6^bUuT
z959o6mlYk*-2Wbtc|u^Qh1T5-pif>L_UXd>w5`D)e=0TMb1u*<U%ad#Er9fS03&TL
zXs!&mi&C1;NE-Q;zbBQ&u4t4p?{M$;0rEXch15J5SJ9N0XE5pd45(x><VLLvquv^q
zjPu4gbtBcCHo*gaP3BeH=e`HX(?-SVOj+_*--^!uC!ByS6WNCAEqN@GI3~%JgC9h?
zSTfUFrcgo<MS|!Z95r@}IhE15)s(-BY=;QdH7WOS3oTL(@_p?h_QeL^BkMYCWPg+i
z<fu{SQW^I;!I`}6`E68yncgjBFc$rC34|e&^|18vtnmGIm|2m$nI0TD>XauHRL-He
z(21#D=tVVc#YcGM!e6ahl@}1S4~dE~gGC1Pg_b^Y{f3{RoBjyiUtcn^7>qHj|Ck-v
ze8LvZQXvX`;6`P1bv<=fCOtsEFEPTddWld^zIZj*`T5F&pSla?9MqJPhfV#Q^kliT
z_Lz==5;Cj;qRWSx^2!73KWPBX3>d&Y*4g|~-fC}@hFvj0w63$+dA+7Im^!q1EOrln
z*hv4%gpe06m}y2^lEDF%?WYyu*k&e?H>lR481!<>k{Nz9!VncH7wbpoo@N}D1Zd)!
zF|HA78Sj$gE(hZ1d<{;PKV>_LmoC#qz7{M&eqT`hl|_45d>Cb2zt8tXQ`Ys7ndnJU
z`C<oqk2nLzRn-_GCb2Yy&rvR0&+|50X$MG@(a~_<#x0S*%iFrEjZSnOD01JaDSuyJ
z>V^3`Q=vTQng|AxzE$}q!Wc_*Zn%qq!B1F$;={m%Z_wJCFjpFxci`$HVmlclkiJ-m
zsVqM~?Z&up;)7{K;!N3>4toMDa|*YQzq3Wx-5De#CN?CD!#uV6@QVVD#;udN_deMf
z*vj79D;l>J2a!)>`hxNYH||m9jl+UtY`=%{F8*vYxnC-1>5nbfFZjKQyeDn^hL1v0
zh}P&O@C^RyMzDljGJ4CwC<9lT9?A?=(HHXS`^_vLI=CV6gni94d|9VXO!MMiG}4b+
zgt2-^l$ocs%vS6RFD9m`H?MII7{Lwg#Q2_X%F_GuHD9^jH6H)4gCXfWK^VIm5iYSe
zgD@Dh_(f#JQ*6Ds++hy2mM$#Ct`(e<`0$=)XKs*U#g)Y9`mWKYsLlk5=BIlZeIQ<C
zuV8r+qelKA7*aM#u>aPL5ES&r?;%Wjkg1mF$)-HlD|FkyNiSS9*=5CCNsv)5Izv0}
znFgL4yq279f2$j?M3ZnSd_un-pmeoJ#qn4(wb@dN8R`10otw3=G9G#S%2}Q`QJ$;h
zt=k6BrPi@~{QzHa-D>W;uF3rFcoVap;*d?q*R3w%*D0~M-Q|TWJXC^pl<mbYKvJcH
zf8JD40EII`>`G>O4Ss4W8QsGU9V(!7rB=?lrZ^>SvOrFWX{1{Le=RudHW<#x++n)D
zZh8mmR?K{Sxm-bv%pC4XqmnPpG5vNI{|hI5U4*OdSCR`=3W#a>D;`c01o6Xl$v`@u
zNp@DKJI5<iQJ))84{p@Y{Y&M8y?4($>BNeI!U)ra!(4IlJrBE!I|E7&;t`%_?R7Ow
z5VB3N_i@Qz$4Bh7k}JfxZv?Ry152V|E825r6ciAzSq7f=o;xSRd(t8K7jpRA@a%{h
zbgRSss4Fw^qH4ad89l}7)1FOJ0x(WX6(=Q6=#$R*c#)!Hmhp@I5pd=)noL`YShPY^
z-5n^ETz6vs$gm_FMp?mqwwKISVKQDN1w}X4T?XF;(#dz1fRxj=<N6x+84AVoWNwOt
zp)Blr2~HG{O!*QG%Wq426iqr^afy5*6~F7!Kz2`0y0f$f?ku*ieK{3wiMvqiaWHwj
z0dm}Y&!@QZpxRsez2n9v56=L`$exF?a2|+vITKCcr9C1i4b|2bmVE3%1C0C`UQ%J6
zFI>w@za$CmM{~p}%KZptqv4{%VNysHt_0gxYRv*wnKkRM8Ffx>5k!)(+aJLhpEwn0
z@7M^Jtzd8IcvJUMLuiM&*cE9*=_E|os-x*TFeR3Fs29R{<I<ngg~>s?uVozC)7c-9
znvSUznn<6BygGbEVaW)6wD2w8Lx2UdPB$w$J~H>f0>M=WyvfTA2@UBV)67>79Cl1S
z_6)IIU43({6^b=!_$-aw<tE7W9F<8|V_fCW=UpAWe8}hac7UM>i7?&<Pr3jNS#f)%
zn!T<c;k>1z!`^_Bu1s$@y{Yt_k1?;Zsy)q=^*a3dZa3vVqGE7EGLGhv5}K?eDzmP5
z69w|*b8&{$P!+K2(U$fndA)RF4u~_PUw%m`8OIe3G69vsJK|3JaFFgn0ij~{x*Xzz
zNU^ns5U36)q@O#=WF4+4O`D+xXAeTnHbf{Gj{-|6klo~Wn)OD(dN1wViSRDsE#0x?
z6SRr(lPr@Fo+2QwP-?{L&+2~8SmxYdzmyn%+}7gPzptdN3SLD&(pDz;fnG2wrW-sj
zSEoXzx^(I_RgP{@`u=^Yg_!l}Vo3OaSfA*ElYc$LY!%y^)-;Bkut;)n)D0BZLs%ke
zUpvalZvC<~nSdpa<N227e(nO@XUX4)Zyrb;lt6RU6x&l#MCYgE^D{!#HF!|8d)CJ;
z`1pa4aLQOb-dgft)x@)^@+z)E3{%dIkq$Q&-yNoRO#SGQq@&mw(~~SXn5g=5U}9Mn
zv08kL_4;$W#POiil&?70?~UJqnBelEcD=#Ov<n=aB4ObWg70{;@}rvd$JgY*a?E1T
zE2by7^Tr!ew}jri?~M4Tb#D4Dylg#!OvE2k=xC^k!omh<ItMn7W5p3)MjcjXkc|>m
zq~zrN$gk1uVsjbU^}4@AWmohD&9vVo!34mEg(_L<__M?N$TmJW2~&Z0UgZzA(5RHV
zZYl=1)_&7nPwxp7&kBrWiQMln_#lH)f?~%zUuB>GY%|x>IaygdpcsGr{xjyB^I!@m
zP$Io>PvO^$Rqk_auBufJK=O*Sz(I7WUkXrRXd53EqNRLomdyU>a$|hwH{c_#teZ?r
zQ;<(TwTELzqo6jK)W3m7HKGX)I$}(mI2e-IKm5TdFg)Z*XD<26L}H>C6M6a#{2t5W
zFwLu=d=vezpQGW7*9A}XZw((Pt|6PZoiS@ry`LTA<ImKxLaf;WwyxxdaQSDH)h0)4
z+MeA^4@;f?zHImJTK52&bY1$6aZjkuxl?POA=isQPs*!V-pnVj7hxtSJI{N!9Rqst
z=jHvMi?vC7MDe(5jCuL>F8tN4?ND!PJP^8_lfYX$o{&%p$xs3bl*sdKz-Q3)@QHH4
z_UKAJJ&qGUG=Vvm_xt8z5?omkhg^&(!j-p;AsmeoH?!R?b=#AN$8X_*&v%@IW^dq9
zYp+yV#$+URfFO;U{ep&`{9>)~Z|TFDVa@Ve+{f}1uM@TJ8h3rR8T5*w1?cejFK3ja
z^wIb-Q$wS{O&&ou*n%jVG?x7j5ZUug=+`{2M$RvBKo-v|q35V)KNoqkqHQhb+T++B
z`xR&JZ?Z|*wJ-tVP%3B5E|j3}k>RM0I*UZh(>$>}Y*zS~9dA}HrwEtm5vv9E#z9W8
z<Kw~Z*p~u#(M5a#`T`3qX&pCwyM|A4$@GUB4joz@$5VRT-&qQMk&x7@3lbbXl01xl
z6LuK-t+l8;on9Y!YjHYYe(?m_*IoCNkkQheNMhvGOu8SQ-n0#m?ApO9#byF6Yc~YZ
z1}}*>^%MAT_GEiX?|+`ov=$s1!LV>)KTUtlLH;z!qUVbRvHh{BH+yf@`z$=cef}gv
z*7djwv(8aoLD}#-l>mWOey^=TF0pb<Sh$STZlsz>)dg$Fn#)~c#Rt;sTw3ldPOhw4
zESfiKTiwy0q}ru$4%=TbK4rySesH*@jBnQ3d6badw!>nS<Rh+Dc_HpDNv1jlDJaM!
z_e}EqH7s@ZKA$6eqVKp_xxt0-Rj4ujiCEQmbFc@=qH8<aldc_T&B<@&7E;FJYiYk8
zY~HZp{mIfJgiLe0Y?`1?C>a&Sj&3Ba$BWahJrVUr72#vehcK!Ba?HJku6EI|q~gvd
z>{TUCWTyp05ib3HDRqeMhkQkfM6{^qsmYlA$K7~$)3(RY$2GTJH~%&qRV8zv$>rg;
zvvg^VXf&?d#XiK=JDaKlxxPFL&sCmc>^c4gG*{+vP;dGll-(aCK5}yQJWZEf`Sjj7
zN8aFC+p9v?K1~Gs{mi^K4k|tjSlpu_k1L#VRMIv2%-H&63zyTmJMOBda{K4Y^%mB8
zedPLAgqZuoTkq#Fr4JKpdn(z<_D&+c3V=i}`Nm}Uaj|zu9P?N@`h^x<3O+{>h1$Zw
zAt61qezKx7vwuLJK}%1}W=DTF@!qkyNSCg@5ndTS`^5?cZc*}5l(TkKX%$o|j;KV1
z<@7y7@PkMpJ2!f3|9Y0eCvKB*g&LtL#Xxn=$8ij-TOJ{k9)IU~Udbzu*`(}vDbzOg
zDK&h984w1XV8s^^OG#0<CJSVSiJc+|p-7^x3ap-xJ%rNbme3*iCrSg$>uQ7KVhH%~
zs-D3_MeucPw*x-hnDq^fNl%;eJh$Lt2V`kac@p_|u{BNoNB9L2gO<hb1pfGU4^N4$
zfp<bh`<+bVc5+R1y#9AWg;N%~7`3sO{%H5DhxyC7+0VO4Z12@sb`X(}$L>E{iCZnv
zi+wW2lBcpcm!{9vfD;u98!H&@%&E$J{p#k3+q$J{GoOF)UG_o)xx*!k5S+a<t3o=z
zxc^SYJ^6BW;QRLlKU!E)aBwE^&bMxt5i}eqM@H>Z-$>e`)Z*P99sohAL=vw4D@xk4
zn?;x1pfe0-{I}B2`>4pYRqS3gsMq?7J`t@s-vz$vylJ<3(JB2%`8fFq97hO}ad&#a
zLzV8G5MN&0dL;lsT9A;ZZbl<5&dVqJ*|VptuL8z}Cu%z`GGtmD*M9UPmOYzph->!k
zndx3>jJt-|)v#%6V>vFT<5bgRF@*Ry>g?6ZtpvZc4}VsN1eNcLYDcT|5F-k@u>SHF
z(@{wxP4sV~f<EMI9mg1M>CrFV%`a1g!_juzcSpk#KAEHVmaD9?vgf3-n25`s-|Ihc
z-sqT#JwBV7Tzb%!7<pl*E<bd;ch)rwvYuq;p&lL3u;Pl;;4nFSk{eZZ&(=oJak<Wy
z9m*fXIDCuvG}b*H-1gJ*)h;<BW(f%%|5-?DjO*tWhzi@&x1}RTq{q0~VoA_F+KWNO
zuK{~!?ZY5`czU{kg+)K?_D`>V7oD2v-#vjpL_U$z5B>D$ePS22_+W2sh+%+NyRGE>
zRKlY?FP-A*wU<US24sCO`Y<$9vvuvM#4vp0S`e$7FMamRBrvN`nc6%Zo+O_4m!#jw
z>6esmF2q<g2}B=NWNp+&7k%Lm;&MAarTT=-g%JNKIXWrv`jd8P)R6sakNhIu84sQu
zn=qs=AH%I7`XF)+t^|#Q*pb%{gD?j3QTF&pek;;szhcmsX2#Zb@qQV`Td^YwgVI&t
zi{ko?sLR1NzAOHR*Na@2?&?`cS>H}oEtuAv+VjkspW?32##1A5GqG~wN_Nys_rK5=
zwC-?;gjrlyfj(IIuPC-U0;+}eRVGO0?;kXam2Fcp4MPmcnmv?`LNO|5&O-Fl2x47-
z`MvgBtlcT>IIOrd@+b1np^EKvv56IE2ISZ}GC623V-s;(Q>Lb8S<-Fak0|SjzH&jp
zDR>AS!@)bPx(wyvGEx1KL~-+CIJrQou?Nv)AppPI?nyswCDNBBeT{mibJtn~BYX}E
zl7S>meu-sH;&S-}5>@#Cb{j*|@&N^fJ?1gtM)@-Bnr($I6J(`Mc00+^sAat`pce8K
z|N5gwU%_2R%Tfdi?-gX{+0dkjus#B+?yDtbk`4uBU`jJ(w``n?>y@%$Dr2wuvl!~J
zV`O-$EIC`hL3%Bjd)1;e1(EHVy;Z6`@cSU^B_OF;WYZMKQ)OXD4+j;fHW%@6PBA2S
z-R=RzaWCa#3;FrLzx6NyyV3u=T-FW3;iO%OMhh{)FQR4iM>F|x!u_m<f_&#a4fZ|3
zzIK<^uE3kGp$PSGVwByWR%ei@>dnIw=3caZts2Y?S?g^*OUnx<!ecVUuDZWor?TJ7
zx-tE1Htl_AW6_p$fg=<1eL=dmgi=K*{Z!6wgx-u*K>C1ak_)hx2HB=6NY#0qVbku?
z_jlmnd3fIyvt#LBW*R*?@FX+YM4`8qA1XdB^5g}1&Fl~tIP`e#1v}Sl0JjR@F(bQv
z7bg#VQ6tY%keyE8N<`)vi}`yq=s@F5i$CuZ)5E)#ZqJv`P_o+^wxr_iDF<N@_D$g@
zN=Q=4ZeV4jVK3-<@!+#XOH4Mm?)rWL&{&+NIP43QTEwey98|Kx>eJd^ei6yCsn>DI
zdY{Iw6MCGw=0nh*wIpsmE_<?L(`%!JA_#{a37|AKC|%zsED4_SuQ$65G2mu?WxxHl
zp^4n(<T9?leR5wlwA8K2pK1Z9cW8eYOImyy`f1Fyla;76Btq`k_O>Ow_ZsSViezvI
z1UX+jm3HW~dK)qMSYzZ-7MO&etyQWKMUJ#dTuH&|l^2f6nm7s8-%@S-7Y14rqlHT^
zG&?9o>nIK2a>8y=RZCtzU_TCrIitG$28!;NqjA@|EnP+=`VV?~N`4IDgFu;^_FsQT
z{>W)Kow%=lz_N*sGm&IUx<w7qxqnKi4>+d&Eu<&ZYO2RH-gn+so13mn6v@^qan=1L
z<GPZNY$%z2f`js%Ul$bX*~hC*zI|-<i`s}|!Y6TpmtugKEA!H}6;+F1_CgAupHIwP
zP$ZwMEKK~+L60mFQWw_iN)0kb$n@To&fC{=UY76V+A4g+YvKq%a<3mpnMb#j4qHxT
zHz+lR4n_jLn(HTBQ*q<I429B*#TlSCNA8vef3BKAf2SFWe4CthcQB32>9gGvw4xG7
zY_Hf!XAGB3kJ*u;EN{bI8AKV=v(8@SDd5aZ+fjb~8DM!iCOgzrQ7+(%imNnMYSqhb
z@3Q})FD{bwo;{EvyCetIR|2S#>Z|p-P`9_f(9T44wxj*x24taXOCI*uu{%EDMC={U
zTiO~mb!dI~io7u$z<f)J=9Cn{=Oa&lq-bHb)}W33BpH1xYAUDteWJkVz9kk~Vyirv
zzaNP${K=c$)*5TOZ!~ZG=#`Ol*8qV)VWjnKucHDMM4>o9IU{o)EZ&}eI#Q;4t!w-%
z{kI3c9lGav-582F+d9oGQ9JTnN|RbKv*pSrpG<ylhL+N5uU%~)T?RIX0z52aS3|gH
zX$P%+Jn6=bzPzbZOt;xacuomHJ16o<F<~p{H*sN@ei;<fRyU^e)3Vx+^@&MycdewY
zndpg08E1>T3A&}#lq{n?m{@-Ag9N2<d&b)5e(B*%qtIQD^63y8dc2H&|8ZYF3YqD+
z7F+ig=dMzZO$5+=Ur1dYxA1uzK&n0@kK5KJF*s^GQ<h+UDgG`ruDPDRYY@L`2rgeC
zl3h1!M9bTlf+*BC9!>-KNP#Swc*|{9@oiX$%=?PS%$)fEN?5^lk(n;p*X8x=&Z<Sz
zQR(8YmI7ivYE<--R9q~nXJ%o~fdeJOJv0RE0p5%^89W7-6E$pb43|jzu`SK?TG$OW
z_4Etcbx9RDHVRoLQP)IlP3ZOj)}8%UDfXu!W~Yqv-lGgM%S)o81UL_QrUpAtmZxoo
zq@1|AHgxLEjb*hC{SVao6?NedLpz_<bY-&k@1!U>@rkQ0w%(7BEFDuCfYY&iei8M0
z6^`FBzauj``|P6LZtxaqzC-OM7^C#g^-HsBHIhHtbJh+G!I<0yC8W-ieA!$l<7<Iu
zcsdYVNHJt=uc?SGjriMX`(<ET*A|ZvX11dm7DT_@A*>VrLqfJ}g3hP$0i^j+8I490
zWP+mV&%Ute_y5HG#;IdAL^7e_r#{}heBC~NV6f<LY@$LdO-MmnH+kpk@X8amiW$Wm
z(f`3F66Sx+hD>GeztYZ(;p>fO&TH$&;vv0LTZEN{Qppbf9j4?_$K8#S-T0JZH?@{D
z4!t9T509HvuD4=q(|#MaTacoE)+pR^LAD#UqhgXKiRk%Bch~)^5=UM38z-L)z@z-S
zcsas4CW2@<0Z{b^>RemkXz|hOQZX&HGlTdS@$(hq0~ss(cJ0*M@O5&UZKNl^k;Agi
zQh>9eM!_~fwBbr_{u{8NZ+{h(<+<m~@8G<)5IfI3&j-DIZ;ZpaReIlUeINDoCd?fo
zHQ5%@<B%w~^t#vC6$kDiPGkMP`L|#3<lS;^D!f7XLqwkH4;(S|9_(a%*mmV9GX>ud
zq~~%PjmvYhiFCj_>tbE1@y<T+?$YjdnvG$;U{Wo3r+B2$dx{aAt5kfyDySrEx*Hjz
z#1Fh*oqkpbe}%6+QaW2=p$eKaZ_hHp1;ogMo;(N;)9&u4-M37md_-s&thHO0%a-R=
z%4J;w&5&ksK*N~J38u*dX^E)huL=H?iP?d|Ob7R@e)GFBSR@gKNL_q&Vok;Hgf1WS
z2F0TdpMlAtEaIaUcJzb6H$Q_gZ#ocK-xm=D%l@E<zeV?H=#<(202MmC@*zj{@&THy
zzOXSyE($vP5pu8+^Ee~J@Z0=cA?s-;%E5n@xIRAx{8^12Dx`;%Z9Yf@3EnH8eXDa*
zPZu8h>T$_owJ|sh-l?}oXzF{v0#!lSu(vv%H=7oL`Ly;7(t%t&D?EJ>BIB(FY<rWE
zo8koyl~v%IIgRxrfgEXDWGK_41IP#Bf;*v<5?9qK7=5`16WvoS#+}qG@jY{u%$ymj
zx$X&jbwr;P{<|DfIE>1Fx^x-%G9AnJaZ+P&4Hy}#KmHJi<vT20`n+?<{{dqb+XWA?
zsmMfHf~gM)z6B0Bpt+c82rg7681ZEqUHB(TY=WmJ2cnrXf|PPtj&=4w^t6*{`v$+Q
z{c-iYSFFp=xsByARcDgtI(vi!@j+W=qzfkAiY!b@S7ygty1tU2<E&_CgA13$+>GH2
zP4uf9DdItrp>q#gKi4~|3!im*2r+CK#0MHar#@IpmXs#?Oss$3cy#-n-M7h&U;!<c
zLqR)?Ej-3YFW1h)l)C77jS2yPC-5VVH5W}@I2wy#_9RqWlEwn_7BpXcpDFN)5;Cjm
z@{)GRYK?>+)i*(=6nc-+d)Eo~e4sj!Mt(49(7YRw6*kZPM&ckS(*Du~3|TPhWmxQ$
z^nVF0sDk&yRiU~wM=%!yZG<X+`7tMG&d6%KG6nq-T8Jj|PB%gvZNDqN86hQ^af}vI
zY?5p-(dr;YE-b&T%U<?}6P8KBj%{}p{D;W5jzR8WJKkr>@{Mc>RkA0hgQTWcR8ZH^
z7WzZxz(;SoS?qXorUxd7S?vDu8_B-#YN{KsygqWWoRU%30`{H4J@;-Pbk!g{HGGN8
z)R$URoyQx_+3qA?P99TE1TEsI8DLr0^mB4iHF)DnbD~H8MNBmCi-&Rb545?hC2myM
zj!@|^gePkLb5U_U)@Txw@ziV4Bou}|MFbB16!#s3E)~R`3e<6XV8HSN_TCZvEx{ub
zBDh{^(IBenyNT*bt@K8^N(PM`xpz`2M@_ldsd(Ja%i)lHXVMh11537gdMG?H6Jslw
z0P6S-9kxYNw^>I8tn)2&_a7^$Jl9VZLTu`O5Zyi9xhmLFAs2x*Z=Q|IGxlmcO8TRD
z=^ZW2*o_C}XEGUCQJ_=2I1=*x3B26&CD+Pou<T{~=98f<9d^Kjiw@eMua${?kxdp!
z;UTS5*ml&cR8sXVbvG>P&<>r=1J10!%Z9#C^!_ccfMCF4vE=SJkrnSA#_Ibe!{GO>
zYAVBlz%WPr*IH!<5MHNA>?=K8>80euu;T(lzwaW61R!#R-+B#*B>lf`PEk+5`0GnM
zK~|br>!|m!5pWbLH^pDR@Pcx!7vw>Vu}~Rhmjg>LNmthUsZ1g5A2$1|f=xv=eX)?p
zZ?py?ttMd1d}90=nKD%B&F8}(#3tXt`@s_;-dLg^kgG0+FV(ZflY|l7&Xpsr=eMfF
zNMbH)H4Qb}vqTq#k7>Pzvg!FsuG+1uy$CXu1@nVoXO@L7&Mig@hdxS*RJ?XPR`9Uc
zVNcd+U85e-%YTbN`l^aS>a}$~pWgR21089ym`Kk`X`FM})Yth&TW1iL&R{v${HRbd
zf&QE~pQy1vW2nD790Pe_UD*~wFERMT1zD*qy&1GrY^3D1Beliz%OG+$#IU_t#O3so
zsWKva>BRQILrYhzb(Z^m_^_T6)uOQW$rKySwlJO6P(r9elXH0#-E^oyE`GhrUTN|h
zzS@N#;VZm}pJhw&h+^2jN>!+HJACDJrN#lCfZ9~_+_PtNxa#EZi>z8}^DlK;pAb^@
zZxQFH-<}FrE*eGoH}EFRX76U2=+SHsEaR7qmBBfy2ajaTiLtCZc0LTQwhq>C48#|~
z(aKvtH8Q_h4Z9rUn@U+Eg`B068Gt5=D{J<@(WYn5VNZ&~6$h;PqMiA*a3@vY#NA^o
ze}BQCmrt)fzaDLn4ey8HH`pd(lM@>}XDCJ{_X6$nQ&i7`SiRJD&mj!GCLWLi(@x(m
zrNN%y^WpA+dpA;+Muv56R!<1(Nr99^&U*FXOg)Kr%gy$d-b<2mgn*g6aH1tRVnq>a
z5murvXq0CcFGZKbWS<O~u=i*NLr=LTDM+53Btb%g0%bddqg<?yhW#m*H&%(P#>*P$
z%h{6clyfq}5~<ZHWmgzc_>`aAB8L*>%uQR<(hLu^RGRn;B^TmdN`4Nz1Nhnroti$f
zTP4494I#(L=VvAam|m+yX#=U`Ck8I8$HYY0-vK8Toij7nAUn+Tvsi<0uhrl)j#~}n
zMfnn_2e~K<v&d_TD69hMZ+tf`-*mYtF>Vc0d-4OeXujlBrr)Wy5(+e3TZ@hMi#TM0
zA-Q(-yDNJ?*P?82->c_|YZ90Wa6GEe)^tbQS|Zf@{tVTwh4&-H?1qj-o_E@$`77UC
zC@CW?e#6!LrU`bjK*h8f3?-jZJAs|OX^dJ=9Qp_)Yw<Dogj=clJ1z(ik4+RDvGE8o
z;<*>HbUlc8j<-2M<yHBc+a16z;FMX*QRpMPz37Q|qq^G3D>gG<=KsL(^eZE&5FZ2?
z1+mK&=LhlO>`%7qJk_Yl%GMtH#g|&JVcJMlvO{BIMpdDj@VNuf%*!ZKO>s1Ptg;ZB
zUkW|&H$U4xZ>b<54ZP@}{@R7kS14$Zz6N_4$2U2pM{$kFz1)K9zB6$7%#OG29)6$t
zrLG-A;jNSAr>;IlN=pjS#M7|>0}Z(fTUl9H{h1-uW5~a#9>+@=k*XEwr1FUhG5~rm
z(|PH>&Odvcqs4%*$~sC*ZFD7?SxNnDmg>zUf|Fx#`N)ZocnKc}icFzwGZ+RSr~9(N
zjgL~vM>UNh6!7<BE6T1kA})x9#X=sAoGM}x!q;vEdqBnE##-=+HFUhdQi)^_EDziF
z`{B9q;c75z#1N9pfH%{+KZ@cR?YOa%8E97_l$!-2>z(-GyYUh}M_aA2Ko^zWGMmsk
zApC&m5QkaFiwq^vSxZ2dD)X7BlZv&TBrXVuQxA)qOrAO}bWtugTJ4-RZq#=8uul<&
zsX`WZi$)LY0~mQJmR8_SzdpZ@h8=fGMk-PNVDouYpM09%1X&oAZb2^6V$)D!&pifL
zEvI8Xr%wWxE*AD|3L4*9kC|m?riRuWNPBpBBrhqNOb_%%8qzeWz%gxvu6>P#2hw*q
zJ>97FDbz{vwJl|lIv?Nzh;P`(P~x*_U-&7?ij!ctP(VhMJ=ipY@`r8E^y1*da`!v?
zTed0Un~lON?xU4OfjcZiw=F>W85|$w$_Sy=K3xb7UzXO#ZfSqKHN_ttgiTX2tFx#K
zjF4dDGAwf}sIJnLN5AyC;->Lp0JDw=tNwa#d6Vl)3)+!h!5LvlrH^nSllw0~y5aki
zx1SWTQ&?68?9h#pe%2IGe@WJ~oqGuTXGz$KnP3zze88|bB8w5*g;JUv>b&X6ZeWSN
zjZhuuK(~Gdc`5Bkx<+0k9+pyWme{es8GZe5gjZBdxhx7KH$SXVtj!=6r_`=~>B5w`
zKznAss%_7wJe%f0p(7hS2|A(#AlN5T8r5Q#@}Doe&?6J!1pDuujT6v1OC6uyM~GU8
z$Zr9=beK=V4P2}yrvgU~%vtJow;wUf$Dc<yXsT#H2W4XhKw&+H+4Nt0OAp=*<lgKB
zh!Lra3p&rBm)FbHKPP&*L5g}}jw}BYkk*!7c7Rt6LKEP9p?e2gt@1RH*5ef{%glCY
z28oK}7wy2ud<S(P=a6qau<dLq&zS#Y6=y>XBBfMYv|fZ~|8>4Jlt~0PRwT+ei29g`
zIwcBBhTPTRN)_WtzNHJFP`u9}7~ZUtcJ-LCDJ6g<qi}+DK_`v&OeTnqdGin=s=!D)
zPA5EY%>>mU%(EJCOKTJs>#^Mqi<@%l4b*zECOyn`gvtXu>;~7YmQd8oUgXM{_e>b|
z$e+A&3m__l`uY>*fz|M*MLKfq8V@Jnh-sAE_<j{Ru}F5e*hwUbUc^^|7*TCZP_IA!
zk*0#>M+oaE&DcY%zi*iCCYaUNZr?ZIk2|LpgxgAxVB#pNEfa+;_C}oSt?1-7?Snmo
z6(`#1+aE2@W@(NKgEZ$TfW5;2UBZ0Zkw-{xx#2Sh8$h2<$&JZPO!Vz<*#9C`$7zxr
zP~tV<u#`h{Fm>hB!C&))ZgwNGwi(}&QO$V)v{3K!%Q!J|(331>;#@hzIF_HNJHY|5
zD>CX6r@V10NE!0A+=muih6?5Fr!R{50`}OauG|NtsrPth75fdzuCbsvI=^d(JSW%F
zJ;S#qh0jBQnG^%N9|p~r90+-h?fiv`ewF9gb3Q<U{6gle#_#=ANa*D2>dOg7K`4z5
zl4Rxe1o&M;97t9)SQ_tFqJozPRFVRK)XXNjP}@BPlcJ3%1vXf){Ay%=dhNzYx!W%d
zBz-VT)uO-0eh~!sNC7B6KX*u)XxWf97xyrIkXUMXNj0GfR<r=wd!}sLD*pogN>|z^
z2)^?I5Yq_mTa?J1NFqL7Jx549cT%ep&&yX8tk=0QdQ0(2HaG?O==VKWkSL&Ke}Fo>
zJ2i8uY`>>rPTc)5=!5@;j_J1v8Y?Nf4VR2dhQ8OfQ!Ep#L1MsU*CqO_%Qt`FMZP3@
z#p2J;h(G?>DPDZk7pEeOXPCwIol=PA#liyCz4<4%9zF+KJ-1hUM*dC<Y&M%7;Rt?;
zN^11(MPe_W^Z7n+c^<A(j=i{N^H$#kW`!9${!6+EAH5z?h|uJ>rjf~VUak_AlbM07
z1!02>LHd&of!5eXky`b=+!Ki7t0!;{%pQ8@1`cM~E+m!Y9}rC9&QYo)y*%}}<Lj)k
zO9c1{X^i?qWAkSNUsLMOB=99=!vlov6iOZK$RnkQ`%hAD-^O;yrz5*jE!0yEmPqyY
zxV0r9v*L7raz)*JuJDDJnl2Fwus$G;ou8aiRR-M^@~mmXcY}ONRdwSvhmZO{R^T=p
zhc9WjSjrxHAWASx^v{99@U#Zu)Pl%2KP18Zgx3U;=)b1b#Ja`Rhty+b2qhGTBc0md
z4@heW$HF;e7~093w)Fh~h0%o<mnZDf>P{=?oa-~Q`Vn};A3aAXVkmxXk(2WyTChC`
zGB<m~<7{Tj&RtjbMB<AKR1%2i6otv;PGcNI4j1Rk$F{id=~?4bU>=GKG;%3f`&gv-
zOPYhAV#I<Bdg;F5-RGB>G9=$eSthU`Yq8p&)YA<j5?%9Tf|n<X%nsnPv&S%qJ$!!8
zjiM1J3!JfWD3A-b_`AF&9#@bRU*Rphi59>GrG0>-h<AYA;l0uBfjZj3o$*z-fw==R
zU2!lrMlv7lu@mrLt7&1&%Q{2pbh3Y?8+iaU+VK+wqh4l=33#!A#T;+kse3{&mm0i#
zqnfhv(U#-4r(qR|FN@WHT#X2zr5uC-4V>`li{$x8Z2cN3QS(@3TpW#==Eat^pK?cA
zEN^z3!xSitjBH%yuurhK`ByCcloLGtr5Pb2Nj{o5_WksEQA8yVa%=grYwZhUt<9vp
zhypI(8cZbxT}2qfkSvM!A=WG(GVaXYrh)M`2O|l}9@FG%V94g#=qjIWuJaHj`V3#J
z(<?08De-51QqwQ8;JVPMFyu19HnH`Pkq`zZ`LidceJ3hgkR)9_H;88fCn>C*SrPJ;
z%5YFm)&<h?d5TOa0K3{1e`X3nyoqZ3@vlYZus`OLl-XVi<<c5hvb((*i$vA1N7VRg
znI|V95{4&KOy3Y4M6Lt&QBW!w2x4gziZ1iDF<fx)yfO45<4;+SJk$Q&#&fX;NWa0B
zir&TjE@$lCW)cIA-ay@#u%okTBs7TdqO@HU7b>*mgnzUSbnk@CdI-~+;hHnPNUwtM
z1T;zcSU+>xT4NW`k1i<#oo^lZZc`f*;9KYrSsj1<fcZ8C33k+QjoG}7WF!;u8TfM7
zGc(t~=@}I-E@~bLH4B3Q50x<Cs9f_n?7%k=z!yx7dFeOW$f4cH0VQ0D(}ZnezpubF
zplbdh9KJMpQt%nYLe}uPyy_yM+RqC@WGzcPH=JLol`jxCJz8-VCU<*a$7w>=ym-mW
zqGoJN8Bs)|A6aAZW8Rjzm8VS2Qvl5JofHe0-t%)?$lkAJF)aII%yG)BuSx|D>MQUN
zybE(x8z|kz5Ym?OwthtgPr(KdC0T;3o4@p0H(bJrOR~fQne$u7d#tmlLcDp<pl)cY
zOIIr~VW3Ej`~C=4L0>Nf1Q}w^e#K>-d~H{Jh^g`IV8~)W*MOk5o{+r*v-49beb4YU
zo5QWq_U!=dtUaajCtrO%J)V^^9;_dTai^2xIqz38Y7XDME~vkdX0S{(R|H*yeqGol
zZGvLq4c;-9*IN>=2a<Tb=>KpG6gzWKkz#E4s#`7afBruKUIU^09?QdaTPH9TMOoL{
z+R+D@gK8^&9OXk22hcqq06$^1Bbe^hn#$;pWWB9w13*c^%bUiqacW%~6`>MKka)@2
zXzpM_&pd+WNPK9PpKB5a&^vQj?Fi0CZ?alsXH*Df&4^$SV={ZwZhtaR;t%L3wy#uY
zn$U*c_@AaqpS8pRl*b2XYp^SNi#_4h8avL#vRSCaVd>GFpZyFg!?sGD!2f`K=sVS!
z<?t+U2-@>o4|6mnaR6p4Mf=!&&|B;VEaka95CDHha|WzAA+smvW)EX!*j}j<XhqeT
z`_Z?BM(3kE%^oQ9uPTWHup^I@h)x7PfhzB6p(S<$bfnZ&$xY-04kd?G<4{+gLe6vy
z^>qxpHVWuvvK#PoJZW1d4xn<Tq48e3qfGY|z}sFe>Ye?7UsrmQ6Eb^pP{Ve%jYC~2
zErwmuti<V+-!j(Rj~dj*0I&Nrq?RTF)e`HVU-02boW!awKVr^8iayrN3Kw!g>vg<Y
zm_z@d(M2>+Vi;1mIfeR}1eHSze=IQ(tC`UJ!^8npf#GQG-=S!q7njjm?Wnq}+qv=O
zGB;ez*{#>`W?>Ek+&Te(fxywo5$x{v)>Y#J;11Lu@r-9%)*x{J)n^c}6H+nW3)l{g
z{_@3qlzFbGN^fqsm~)Cwz;Pr{q5<udk4KL5BkmvJlsszL{Rf(2HQTQ_-IF)~zodYT
zQ4(=?bXLC=)prQ*poXZ55^z;;0wsnZ2l{!my&4tWql{=nj`Ts`F5o396zhnZ!~w*M
zG<vgbjiQ8|&~{-I6;$z+$?M1oRFu4&8!qPD)@yj9@IL*6Y?Mx*#9%Zv`T*oecSNnw
z)u01-1D*anj*jr&20M9WA0!SS{`5yqVKWpRY+3y0_0b1?ki%!qL=|W+S8|h5PGCkj
zkBpr@X(bFp4s<k19&UjKsji2*B5e*Va;S`X23qj1qn}Y}Onc21GEHdyp}CHHLRDFg
zLi1OFd(a1XJ@i2zRs7lzIf>zDTVd<bThKncA_p)$7{oTI4S6#+hfGj)2QUw5JCyVt
zhNGX?aP%`;4;YGmel4hFy0Q3Y9u+4oN4b&t#rwSn%tC$mGmGC-HzW~2LP8(r{{bW7
VT`9a+Ip6>Q002ovPDHLkV1hiwG8+H@

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_light_green_512.ico b/assets/icons/pm_light_green_512.ico
new file mode 100644
index 0000000000000000000000000000000000000000..6ccef48cd575a430f5acf19216d0ddb323032d17
GIT binary patch
literal 113175
zcmeF41zeQL8^@OrEW|)WMZxaC!~*PYPtQ0(vAbJY?C!vB&pP9b(^Fyf>{HD1Y}RhU
z1O?&$`@Oug|7F>Q1s3z3&wYJn=AC%vnR#dCeRtVYD9jXAiuCCf(9Vi(mI_4|g+k%%
z939_?^gyJQEGftHDHKC8D-<3c(eZ-S6pEac6bhwMj;AzJ)EbQnAgpgw8HJ+H1T#fJ
z#8DMeqSK)i3e=k^O*B$m>z}BoC<U+v^}!bK4D19pquy00<nzvLBM1g>K>(-@SVoW)
z;rZYdpxg)52D~leh<ty6C>?GgUITep-T|;J%1tl=xB_$J8Ld-JyPhM+V+G~{3gbmV
zVc<1C^cO3X-4#dqFyyNPg263N0??jxp!mYj4k=J}dmQE8BHwyI83k&A0w52dA7Ou$
zz9=7QppIS0a|gTxb-_l^7I=dEE5rIKP|gl)(^JRaNGpYW;ov%8+uK1y&;po!ii%))
zk{JvHd%yuOY1rE`v@sR<2z1N0WO*RX5abv2SYa+$UyV3wfotW!Di8!h0Q<WEbOdZa
zBhZ>*(LtsG7jPG_@2rEO1f9Wepe$e;G0HP8;{#1u1F8YeRn|oxOa{|HN}wsvung^H
z-sgbx&k{@llv9A?P!LG@S%Dm;KUnrOps)>=<#jv2v5N%k*H};y<dmrZJr3LhluaNr
z5Os?>Xgm8tc>~lk3{!ZGwz55`tmvQ|PXX-?mVq1Ky$r)la|g^LiYe4)3WW+WrJRyd
z)<{;EA<;|?!el}e3JVqTvW$g7p|(~?>x{Dk>l5JmBMBBBL+ea*hS>koCfT;)&;!A4
z!2YujXF+}-<{@={;0t&kya2DkZSX5-08)b34e6w?PQY=j1n47<Q3Mb|-?s*eg`r+-
zmuo_Ma0Pq<+Ut=Bhai0k$N?mqb()pNj&%Y@FcWY->XVg7v^p2Qm-SeH{@@J|ZN;Vk
zM82FLM)Rmow9hs67~s6s75d;dz}$_L`ha@sgO?z#Hg&HpNB&g80MsYiu8uI*9bMrZ
zUk~VWj=9B>(5`Gh9pKufTYr4<S18k*?V~OM@8fGgTeuhSzAO(oAGjB$2BPmCsK;2p
z>)NzatNm=K^9azE7l`x&QhU(!&0^pIMEe|f-Fl6UKW06^9B_@%7Pj3U@S5;XD}?_B
z?o30wWNH%H=Uigl^gC@4@&N(f>r&fVKFWl&F@SriXn#Ty+Gjg#V?NLp?loxvo0f!O
z8IHfSR?7YFl!W%V{<1GOfe`NbZXgxlJQsTj+h<yRP!}kC-&Lg#ii5|Av|$nI=?Xpq
zA=?mOn+?H!&==T%lz{VrWjGJaH-rsi`<7r?BHF)$G932}Ku9D4oqz@4+3h0O47jh=
z1PehkKwA_MQQ=|^6h>W_6JWy!<Q)LGce4#4^gYiYIRN{99`pq1!FWJla16w>5baZY
z0IvP<-FxqmXCg=qIHua`JLiJ~r~poaQ=kec1{MIW%hEj57=Qrlktqtj25{fgwS#>=
z1AYP4K+Nk<)G6c~0_gzf*BNjG6b2q(4sZtAO>4rePlk1u0X*N%1&hI0&=}YQg<q(*
z)CbgM58eYI^tUaj14R2p5q1Zh54nJ*&BO#)9&p?%gFnDiAcSXquEU&{$H8e(4HN=g
zBRCe4?FnsLF2{Cr1Fm5Y!3z)wguFt4ZPSLmfd1e*$T4A=VRAU3%?p2X9{mG&pHVpX
zS2Ca_y%DCJ)4&C=1Mq&}If(Z_g2w=5MEgAu)|R!1v<KW{g>X!Ge{-)p0q7t0J1xix
zxLzly|I80k1D+j)d_bTha0XXIA~er+oc~r}D&QD!E_49Wx}T87QAYH=Ho~ugkgEuA
zF7Wzfktpi}&=~-)ZvwP|z8C<kfzc)~FUSb?0d1L%h_H?Km|E-NCxj;g?gPcaM!>l+
z0&s0Ms(t1I^w~JTy<W&&1X!<VpPFOLc7?n}fODVaIp+q+I-za%LpjzZgl&uhQroOd
z4%0`!18sSS2*-x!4&D=*GKP#0dE_$mp?2GdM(vTWX{tb6*uZs$=PPZY-vU4*z<WTi
z4I*96(-7JpX!{&d>3OLzbgVi=8gwb3YXg#^=nK|47`THxz(Iy#cfc_^1a$k1B&qE(
z(6QPUju6+N3jnS=;XqfocF~smfcFr&2iPXB=?Z<oaiwn!wynp8^vKWt1cAhg8U=>{
z-plc}Eo`8c^K;J87h?hMzxN<M;eLJ*aIG!~q<O1dcS6D_Pg__=cJLFJ4~_!%?YRuY
zOj`h20!Ls}yHU!1){%H?5P`P`VR*3+f_DgNyhBjs!TSVna1ZYf-oRpn@ge~)8k7o!
zwaQFki(IxL=@hn6VL+|0)}TUMrL>On1!gMSNDGxygoWBR#2T+DZ1Kv%DMF!ekHoPl
zN@*6w_n{?$7tp+?$eZx@6ezA&;0H05oC9uPIM@!j=g@y4fc~owq`aaco|R<yo~|WW
z0nP)S_xZei7aReTKxH7k+kh5TBwEY1SVHs6FcNTlUjpql8c}JDQ9^6>Mz$}L2Ac0g
zjsc!~b<d<C9*Jwuzy?qOn1e*w4m;>Wb5I)ifkz-N;X1=Jr_>(Xm2rk%2f~1`(-_UM
z;j=|5V00hYz6{q??w1cie8RrD0;w$9lgS4i0F1F$Umo^(3Xq;r;_HOmKJRyTz<HuO
zN06jf<{*`0rR{spb-s_*XIDbf_`EX&#5tGPHsCz(2p#}qgwM;@fwZ5|c(g;z0N*`w
zJ}1OhLwTQ~9uJ^*2+%%lw*uU!UW2&g11@q8nE@Juyuboz`@SUFx^E)eMW42zK76_q
zQ`jz`-+9L4er`zUYZYh*vVd6o3jHI)=W5ZesdO;vtgCH3Y@qGL6TAY3<TftwnTKn?
zD8u<~2dtS!k!{Zi&3D$OvRk_zKViR?9hDHi3-k%kQTstjAnfM)UJi@~O90OU+V;D^
zc75+1wCzZ2_>zwO_GsH5=o79zYXR3$VLLU?@aw@P@EgbowC!&Q`#&a=|6j8qwkN~=
zls?uc>ySuWMVCbxYHx53Yyjziw*75kyQ$V4-EsP)WxwvTBFxapL4>ja$!1Ll5RlWd
zLT?6(KpLh|U^n6U#?a>`y7nYA&NYNKaP8pwr%&!6u`GyXJ8hKHS)TpRp`A~*zbbTG
zXPkuEteu}{0osrca81z_KI3p5)oVNL7b553y05$T=Z5`!C#&7Aslo^3c6&qXlaol~
zJx%*l1Fki~WJ$}{c%9D{o`B;ZU6cK91-(5P?2ka5++S(eUZ5*nZ@K~6M!N@tVL&rS
z5au<`ol;-|SOHoBri=Mc&3Ch=UW2Zo&irVHYxx79E7y_W1ZWH2$piqdG21``K)ZR(
z1@PWk2BrY+ACmnX1hhf8hXnvr%^R*~qX66K40s>w%5o$~XGrM&fVQ8Jbx&xP<+?Kt
z(DpHaXCIC2TK2OKwE&+*Owk7w>Tv*UYcbFj?g3ta*V6;8>w(}b*az|eUTXtr`&7WO
zWSTVhwf|u|fal%bfZxYSN+143`Lcj@vc1DVSAvls*34oEGY@U&7)%3PW4I4<zAOce
zfL_~0KjilKSvo&INbGsy9Ln-}ShAgUqupCTS8gJ~5%79F@HgPx;TU)VrgNSz0qjq9
zAWSu=<#zd*e0^{Na1AkLEciL{Dv%#&Y?tkSfwpypwsPLkPA@>anRW_P15D>S!}W&y
zgB37nxAq0mKD0gP3Jw51kAws5zJwxv8>|7ff!=ozX!kA9m7_>V188SYAnx7c2$z%7
zJ3`Zb-v82Cq-|$>Vb~-25jqXv=VMJl56};IgPOnz@N-OEpVKb3$#;iufUX=vLR!Fl
z-GR3K<>hoQXxiTeNb6L5Hk;zQ+&0^50(eh81-e3erE@U!FF?$n(+JlF>{nC3HFhXS
z1x#U{!8%yKj6Jju;Jgn3*MP35k>CtirY4}>;{K(-nO+9?fmt9oFxYldF0fvi%+T$@
z2@nA&Tzd{kp_u=0PH}x<*#h7Y5bNiBgn7Sme8k?>7GbWbNikJ#S=I>(1KO>-&#I6%
z8|afBNMu>w2b|}eQ|yC3C=Ph7Ay^9L0-ht7rq_<dB#Qc=xkl)d1xTdt!t`9+gtQcZ
zHnF_82dGB^-a}ktIsYdDj#F~j&vE6mpRRmBf*0Vs{2-t!_mIH#i8kc{e*oIfF;Iaj
zfY)*YY5p^AN|Ec&53L5eau*3j0O#^%-HUR31T<~rTH6O`kHJR7*)Lu<rP)$lqF!j8
z+x5wIB&GyxzdaE5G=dtrf{^en&zkE2?*p+Gas7;S<}^iTP%rIr0+)cUd_saZkbDQ7
z9q7x4Wa(^a0nNOXz(Jrr4jelVAmuTk?YzGx0DVHga^4F2sfX*!h_n}=K42csBko&A
zfat>ogt?}gWDi3<!lv2?KLh$?3=*Y$^p_lVg1!j!3Db)L=B1yxcOL+pOFS!81)BO2
zI|iZ-Xs#QqTc7-c#9Tnr48t;=pt&yTlK>><0nE#Ba0Oh~#saPZn)(tGV0jtZ#yP4_
zxPOUf@)*q^o#nY#{R#|;3Kxn2(H74lSwuWWg$am=^3dF8xz`(#Ex2F<V%5$x8SV$1
z(}v_SE;I&~AXYsIO<)~zT@9cO&0k!KV!K@LB|G)CBd$T$1owd<;kj=P$Okx=^i>yU
z8q3IK^Fq%AFM%O>hzoUqLEA-RA`kRW;0Z7!k+^UZj0Yuw*h@rJu{82X?L%9G62KSS
z0IbW9JjI39AYR)=gK}Q_wFS5b;u5yaHueCXg}Cl<9%loYWEkd}!fQjoE<oSJWj8KM
z@1=f*PVg9`jPO-8gbl4_xD-ox7Nl+TE9W!04jzM0V65;S<UCHW?K<PYesG?z1qo>%
z*%Kw~{{~P17(Hi%&AM9D0i7EB0=Vz;{9$Tgo#%lUNCT2=yLMkhebAiC{Q%E!hW0vK
zGFm<&Cw(#yWCtd-Te}Yoi~6B61K!^&!N1@wi0^(x7Aem==&N8g;5x^BFj?)6qaWPI
za)O4y2W$o>0q<X~UED_)J_WdcDnTRQ1XwmncBA+hg**HjrWmHMg;py<6!<%*C>8z^
z$^u$prsDULBKZX+=m_bHN(x1o!b!<Kg(*%*T??^5A&A;q*0z(RxXLM7E8S;Fai!0r
zXx;dPq!p8_l~TYLn%{#OYb&*9X6~e7`(_Gvd<P2J(mjOsK}RT@Bpsy~6|G@A)A2S%
z)+%TP+=H4?kE9h!Xg1`FeAM(Jm4{DMB-&LvJ4Ho6tEkbgD!qGD7_>U2dsGP8S6lf+
zsi8x#8Y*E&n8GKLcEFf0`VZf|!nd#JFNhDc5^W<ArNURcsQD!=YJN$JT87`#@&HPp
z`JNUM68iUKD4t-U2Y@+n0M!BaHm;pq8#wQ{XOKr=FkoK2?TB}b(AI$8x8Qs3jUW)*
z1^oVy8t}USe5cBHulze(z7yA5XL2Oce!x8~3up=!0j|3tz|gwR`;KP;mW^Q+ZI|Kq
zqUwQP!2=NAyK%m6razVecfim2V$^NQh-|wBbWt!CaDO*u{r?;Ja)Y?~&cD@RzZ3h}
zOfbqW0(n4;chyPtfowO&n`gRNfb-f|d5MhmfT6zgvyfKcCeZ%uAhBV72a=!D@%vUu
z>bkHQ+71i_YLHNwivrRfqiqar1MGWu!0&4&w!iwy@!t6fBzhjeW{wxf+zt4H2#`>@
zjRHLLYj<6;Nw%#$bO_Mbhoq)GM7?$8c4D+2UxfC8RG=5&x}8{=h=MWZy|4$mBDe>V
z+RwPk^Y7jY0;A@EuoXHZ;InloNQ`hz{0H#)G={rnThc@S0phaVRM%Fa9qDt&7>4LX
zXr~PKaqi!S_Ay-2E5S(Rec}V^f?OcRUN85ZW8n=<{ap@2{^IAx+*5UW{QoHI)b9IM
z#Eq3mWV{8YfeIiEh%w*)--_mYAQ@oGU%-&P$&tPp?TMc$&^Ad5%Qk0#UI&a7?t$Y#
zUchxSR=v6j90O1XyaUP6PeXO`+*m=^9>!@mum&@LF>{{xHs?qwpqbwYi@NxXpH=%B
z+d=z+sh_#;^a;N!G=_F)i<Zq@5q=NilV`}lXLRZPE41h{{g4y11xtZ1h_UC({Z9>j
z2pAft<V^q5K;K<q>s=6^@I57;ne~mi8`Akc?=0ZEvQa?tjc8Nue|G2_U#S0gge}yv
zed(e1fcWHJWMCg-^hv~_3xItf5b!-?ZxAD|-2cMRPrgw9-;4eW+n{;A2?ue>ZCrE*
zG5VuZ7uUZ&K=i+xZhpD{{2n-;Q<8I@8>%}}$L8Fy@d}7bUf^OgpttWj^*JLS?*Y#L
zF1lsp{_`2{`4{T{N7^gwg60|(m+-tl0%-1c(O+GSJfhy#2oC^GB2DC#`=1LsxxPni
zXxv5mGuk5C#j)r6{J3N{E^>VkU5HaNAK<$Iz5bH>&vP%|-3XgLr#>UwNIUz1xa0{g
zRtA#4;_SHAMUfvm1&HAXx&QqB>8dZ(|An%Bw$MjFT*7A`$$n`1Al~zxoR9r31v&!0
zGthWP?my2!9YAvZErX%?#CJ+!9rJ))uYn<XfD6)d8#MdQ=OJ&9TaIh`#DGYH=Dou6
z&wRl5fyF_Lys{5+L!0VdkD>nRrk_BY_Ou6#1#!tTT;zQ$`qlwq?rS?i8^HM^t_htP
zX??*G8P?GhNY{lE<o<IGe9kj4&%S(*Oj~$v^#_K8XJE~{I)v%7&4B$Ue2=*p@Vq1X
zo(^H2cX;k)|NZ2+-uWW?fbS$e*E#SM+R7^TpYxjY+mNu2981x+h6tYqTsz5Ga0nCu
z%)@!o5{PkMh;R$QXCSE#G4?{s{pTF$1`_)B!@Bc2zBu2l@jK0IkM{8X3<HLQ_KUvr
z`DH3N2SooF9tF$+^U)7nE7^a}3;Mzei0<muvORnj@&lZo@%1Ay*ZJ9iFOa^wO+#SU
zWMD`lalsRa{%1p&=Q+*^G4@9ht^k;aYkhaXc~5xm;r*qz&$@}Qi(`@*YyzhC0sB55
z*Z@t_ux&dqBq6v^9*F)|MEC>{V^2Tuy_j?+f_4V80LOkFC;_Chng-(t&@LJN4FNyD
z;ooE@W}J1)@ZHK}kPgJK0QRvjhJ?>KIf3YZ8-&H!vmEEX5=dtO=vsh%=hzPdDM5_(
zjET@jkQQ)_=4X7m{YgmtD$08TYY?k>*cSv03HvC<mOdB=*k|qW_e7l6=z~sx`yBh<
z2uOa5)u<5(v=x|v5`dp!@!h?#_XN*UL4bQ|J|N92ea*r~zP~Xf{<y$*{-S^55Izq?
z|GD?oldoGt4+iWz_q(z{Uy}(+lWpgE#lJ-v2zCMPlYC|l1-wW2cclE=r+>j#&;#TJ
zJX`B+kG9G19ycU^;DWSvLvvr#UHeZV%>%G5?r+=&*#8Bf5YXFpViMU88P4PEpcJSM
z>VT@CB;eo9NuPT|8*GMl0rsaVh^znmaGm4I{M_HB0PXqD{#OH{|059={g=)I295Ya
z7i3%6ryhXs>7M{Yau^pluIwLC0`2+F`#{|1-21rSvH#rnxmSFlUdC>gw#a0Io(<lE
zU~mH%681F{5M}!ytUdk=chS233&LXkYbDZSTl4u+gbmQ#iy8y&-;scF7aW&D`v19y
z<UBz1zd6D@?~3)0{pUTwdx?1}1CBlCz!+c)K3`|GT4K90X`pL@P2dgC7WQR>c7jg$
zE#e+P)Kv=Mzku)o&jQ<l17Mykfagh`0TuywAeGfJ?Xv{sb_+mr4cF~Ak|f!Ne@6o`
zAEHxZ{@V*t(SP0xTLAkl<^b2gI)Hh22518~{`7$_;QjVleIVL{?hN9R3Ao66;$0k>
z*5jI(-|QdvIL>>~e}-oQ>8uCs2qppcpKAgA!E&Ev+}Q}*0^F}w07DXr3w$=q2e=Oy
z60VO<K-BAoFxL#xf8Gmx266`?PgR6D|LH4dk^Z?HAh(wt`U)^4cW|LF;JEQUjv)!h
zg?2#n%?4r4Z{0b-vF823d{%(xf*f-Eb9G(VNX@bR2n-3=1+lmHH<U?Er+-obQGb1e
zPXaLqgy#OALMxw?|Fd=e|8t+`8?IAv$uL|L{c%C~X&jkf;aUx?{Am%M3$*6|?*rZ!
zZGp62e9nHeEwn4(J^B(Dk{7s84v74`2X+|BET_|-V!p6kNw6Pi?*;S$_eb6@yazt3
z3)miDU$|z+C3|sEyDu!qbvmy5g?mIRAbdvM8t^_~zr{VkFwa;+fIX1%C$}R+JJ8L5
zq5U40q|bIcKx^!h!<nJkm$-yuoeKyb@ID&|*mqqYFz+nDdnLKMFYL*QwoZe%gmy~j
zHDMIuqI?&Gx!%Vm+*8v4QN{-0k>GEj>x1q{GXtWjWYMf2aDDazamgoK><uK_wT+R}
zxPKi6amfc<<k~6DM68Qr%sqtjp5sn7fGj|}8Iy-uKj2x1drugMOSnEu_oS{NNSAy9
z-59(EaS8W>&VcQTa$N8Do}c?F&%_OYbWOJ{Q^n=_IlsI>Fo;X|Eb|jEXp?-6{a6U%
zlb6WQ1y};%1KLsy(4J(y@8vc*2RndgAU@&wjO$gL?&o#j40u1sC!8m|_oco<Yx_Y8
z$JtmSFUsw3|Kc7K0^$>%Q}Tj%Z4!B)Yl250KH++>7UTo*)}P2OOT|R}(7C}%z_#O)
zr^rwb7;T%Jmvfo(JFdMHmo@SaLY{#8fzfRl;}20EH1{2zFE0XPglCpsfPFEhDNP>c
z2PwcP5Z}6rERrza9?%dZ*$=2g@*_0wulnG35DJVD&JAC{^-R;RgalX)@H{yd7~3wg
zO79a6LH7U!fwb;G$J;#f$goTS&<z{_T)&MK_I)zo8WC@sab;k6Kp%_%#@-9aDhbaU
z4*=)H7|;~B0G`wAfUOL}Oye^J_utWA7q|~tM?!>t@&QTiyYLI@q7Qg4c!P%^vBKvI
z?wdj25;!Bn@NMt{#Ptk<%W=wMT<r=HJ?BNAbv5dw54etafD<4Rd`)s1#_$<E!E2pv
zUk$}kH+?`H!7LCAzO?WxIuG#vk?b>Mzp2vYc6dM30{eln`vbC?Ot{7!1oeQ)=X-p<
zLYrbPa1G<0901;f<QDEjhe3Og9(<NDH{=h|J~aK%2=FX;4<vNmMiGO;y0{l?08PLb
z@3*c$V3U{+yf5;D4q!F70J!Fd17n4GS%&94`jh((&jPIbi;lN$zxBn1jnEb#E2sjv
zFU<toz%jr*@4C!oIc+=iEWk658^{JML9+E3f5NJ8S8>Zw^XCP8_@f4q{3(G*>3>&i
zi_2!xPYi@8ETE<TYmAydJ)lxptN2p{N?D_<63##|{zL(Ox4?Q<w06X=8t``wDmzh!
zC?cY@S+rJLL`reBMU<pf)=}=vr?QPYN3FDpvQ<($M9R7{e#ikoX;9KZ*6E$put(vQ
z9zW<n?d(H4p`-Bg4Yt(yX#^*QS5<TgUG%8RE=EZ@#5zLKSigB45~A?xK&@gqh$32}
zB<jVMuTVIrcc;(LKH}6o8sh)P<6sSq|09nBha5UBeHvn>O2?rKu~1pjw`vQu1+~gr
zZKg!J6912#!_fFY^C-}6B>#Uql~|n<{-agy@FR-x|G$I!lqid_L8}Zykfx$Wn`&z0
zMW@kS$utflyCA(8XGWS9{euzE^ac*+xT*y3DE@P12x9hGekUTjt<Uo>I?RC}mcSmA
z0zZL~U<Eh;_|8L|Np<yET<Z(yMUxuM@9F@4S1A)H4cdUQU^Unaj)61aEa2aX{tlLa
z;h+g945aThLYvgKZ?!UxkqpN>JE#HpzGyw**ggb2uS5c4WEV2!08+h4^$W)daLjW6
z{w@K(n|cyF2K)}RG2iv$_x$+X&b#0cm;m@Y4|agx9Zag3-&A=qHqiVmpcv>1Hh`;u
z?}8F5Dim}ENg8{OhfFGH55O_M22A;P@0<_(dnzBmzpc}J*ZZ3q%mf%Kj|=bf{D7Z1
z@m_rdOmPOkf_nJQCedS$G0-0OdWdfa{5yn%e2+PydAWW(0Q~N78DIet;MK1?s~8Vx
zK6mjMn0xpgV2UwEHIh8Xzl}js$DZpv$6y0^4H7z*NzKpij`REfPC%NAU-#%5woZ%%
zbQa(Z`~ly2npz@I;b<Uz#%b6h{a1vap>4rna33Uf9FtO>>%lqD0$2h4hJU507zgPd
zgmwVE0MBqqc~^|$aSHd4j3B`tp>JghLjML#xxXi64zTPiz`qO048Hocfc}@s0L}ZI
z&uHNwIprQIFAoyD?hBtnR|DrkQpYPf%JaElC&&lB+BqQm-wL`e;PW}(c_+8<{4fF}
zcI^4w)ePJL$uV}Otn)Z*<lhZ_RdYc29-8O*MIZ!xE;)&Y_|7&#>%Q<IbW89Em~xzw
zv#vnc%D*N1D&_$F4*2}u9`M=ga|%COY6}u{?+f2SHvoL*O3v|0j=K4K0ENI8n*+k<
z(EM)GGLV$_H7K4a*^g3uo;3R27e0e753Ymc7@yBk=RVk;6&T%jQ)Q&T0iUyK1D@-@
zgz(;P2@-SfJHl^=zu~bL^J^jckn(fR0omXDu2Mhn1bitujE4D)Vf3`7p8%hw=K|rw
zZ&~y2=sSXB-v{Vt8GGpYfcM{*5}x^c0Hg1H;Unng;7h#IORjmwJ*)`(ms}$J44nsT
z2c~>yi|ULPw)+|!1<t_eF4I3C8{pX~xyIs4)w>*h())WUMmxwrM*3K$IP_oOa|%D}
z<#$Z^jJE*reNqL$=RJIx!npB=Z>04RdKfU~bJ{O8j)`rTpH0;k{WLI?2~MVeWy(VH
z`xKu;IOb2mUN8WZ1N{D+(c`V#QQ0qfps#|&`uJ-v$ImEJv#+KQ_*;y9d4&0$z~mNw
zCztPvM}yLUXH3b4r1XdWkQoa7wU1#^?BkiHrs!`{d?x%3T?Qog*z>bM-s`PFW{~7D
z*Y3OQk1WvqE>=?f`z@4Ri9ROj`y;~t&_x07$K;atsCYMM2+{(RjyvaoJoeQ543)n-
z_AQKIQf%b+%J><k_AOv^Sd0O*6X56c$szol{y6v<*Z`A{yXY|e0Qfx`-WN&n>$g&t
zXWQ;TxFA7V9t(bkz6m6UJV2!*K^Bl~<1RW)KY$$Idp`H+&Q1QFBK{AB2@`odtf8j?
z-lL`ze*Vurp3iPZe?JF#r8xpkyYhm<!06`ydHm}_hXP$ceXsEw=xg4Dj6QrS{M;E~
zQ-6-b=XW2F3B-HPi#*UN0LQ!ym<JAmJ|NyY*mrsCsYm@lW6wGL7Bn$-{DnWED}%eh
zl=3esYXU4loF?(Q49|k@U;@|=_}<|h2m~!bob`x{@PXL-H~nDa&p9ww_#r+`e**s9
znhKaw0#KO?i1&V#^Kgyl_l6b&o)0<Z9D9DgNKOF{5MP(1>+<+#fIj^Lj{k4QIElUl
zTxYrG^SzrXgzxA#gPb7Vv8SDKK7N+B2Jn4@7;~XH5BTm`noq{`O&)(|X!Q>`{(<rN
z2)-14Z-j6#Fop2kxB?{TJr42<TYf_LG!Wx1G{>L&KfhlVU)QAT^7y+zKmP&8|9*T<
zq8~waz_r#C!m(chcpt~te5~s%1NiK@3UKWgV^7WT-v^vPtg`wN<necd=6UFQJ?k6l
z*BgC45oz=x;B(YiV2X90b*u&)KhaErG|S0wJ>p)kJN|rr<a{-%UU~d$L5KZ-;~#Fw
zN%WsgIp_z#6tW$aNbhtEwQEc|>Y#1u0M`-iHGpS-zAMfOjH!xee^Lj0O@GT_=zcYI
zdZZyI(SLwHg0K#lLXM%5JV2UPhT1hIUDN^1?-iZ^Vh!N>zX$L+#h9wZ`1A9yAMyVG
zpwCJ4olJe`S0Jf!3l+G6B#*tYSFS4!^n4)Jfb$6RU4ZmVA@ath<@>)9^!M~#FJspU
z{G>{3f&Vy8Hh_OCmsEL;3fcjajXf<E^+9_8o=tfc;Mt-LkiHWTyJxXe<nb>C{S+AM
zx9=rikgiAIJK<Ztk4x%1UY_@60xQ;QYGIv#W8EDz0Q~-sWWTX($>Y!OdGmev_cE@=
z_Tz-EpJe}WUEK+iD*XPX(Pwd8TjGnOZZTJ-&x#mNsL12b-`L^r?-=X1?<L<lZGUO`
zvnIkx-S=Ojj=G{w?RLJVusr_!+s>6g*!c5rg@<U5g*;Z4&?`YwWezG}UD{22bzyn@
z`5e&q2OEEW7r46ifN-opad00bMfiE1(eGfjZAeNOZHoPXpH(FE^ZzRF$B*<3a1s5@
zF8r<KyAcQ{MfiTVKS<CyOxTeaE!u)k3*3Mw;PZ=7)xi(E|Lp*Oi|>2c+vDp8|3Ad$
z!a?*E;CtDmzUTiNbr}8rO|+j_E!)j~rX&~)`~df!T)?Pm;Ro>^X!;K_{(RTjiv1Qs
zUjd%`_&w{y3h#YBi^aP4<ur~{W#FhUkFdoUEy_c4&hnXmE?5fqy#T^>AeJ45>XzpK
zf7|6p*aQASKl#inxkLB~dOApo@I72M5W~%k%anjV05*Y!KzdID9V35y5$2cS`{bcu
ziHsO~&Vvp>dM=EwK3<o{pU;5@KzwWGw|;$!++WEx@Du%M2lyU6DKY|uW8HId8s7np
z2b?4PoQ8j^$9F?qx8wcZml#9j6=TnG6M^<UFUFtq!52vHgGAZ5wD1SCC-|N}3*v9s
zlwyB{z)$q42jIKf#L7JsECNKel4e|{Ec9W(&uBQ$2<O5<&<9BC26T+_+7Vup;op5t
z1Nz3EbAaQ&5b#+>yNWo&^a<earyT>|`aN#Qe*PAO<~Kv>ADNNRNfCZ0i~D;FA2Tke
z^E(6_Z!z{lb3PF635@{XJxVrdS0vJ)i-EYto^xV0XbUm}?P}r-!!KeV_yytb@$<lY
z=oi21r11m&1Nb>FKQ~XTd_ch#z|goA!nFfH``#DhFLWTTp8}%*zvHQEBkShpdgB1c
zSgiHhn)m%MP!t%wr)U~NK%N6U2k`G?4c$ZEVmklkXAI!GPED8LC;FAoO1D8`<q8T)
zXL?P=2p~<+17VJ@7;8hC^P?Lu1DdKB1~#A{&^PuRcRu%d0X`2%?P@AWK!CoHafRmn
z@-2?FKAVrAFAnURw#dG!104zyE6Y$Y)>#{A90!ia1`yx)^ZFJbodbl8h_epPhsHqr
zUKe4G{UX5ihwGRqnrKZQ$@GK%9{wKmG5S$m^h?_@^cNTc5-SlX*bc<H=j601(0r$4
z=$;qpy!SiGWh4_t7&<SQ0XWuT+=b?S-xBcoLc4283d_Dq3%v^HyPv+5G@fGyfEeq(
za1MONeR4HOtUN@)!a!6hX~ty+LF+sBiE*dqz0dQ9Gtkt-FyOd$1^U)~rgZ_*djw5E
z69wQit^@qL&_m!`8E<VnKf&&Kz~JwFz;_t{znhm>IgEnbn`3yLagYx1xgfsr=k-xQ
zvxguo=1&oX`EF15-sjl+fGj}D8^Zt-MBq2E4-`e1|L+ZL-+t|3p7%BY{=bI|dIP>I
z0D?ebg@1Dy%l~p3$1VVHZP&ivb;HMTJ;wW5#91fTrcOZLy}tnIt{_(120NRG3-p}~
z|Nl*A!Ph?Sw2x!Yzh{hf-qUpf{8t@>fW!*d-xy;c;?PZj?pW)_#ktRp<%Gy}<ba+I
z^xgYCksjkYQIs{ch9AWo;Qx1r=jg9_4ur$L6~G=ycE{xp_^<=`2ofW2QK%Y-(FEf%
zd^c~*+OI@DeQSR$r0b47&wX5Tih~&QE`|{%jtE~u=K`An{rt7f1AcZj9@qk-JOCe#
z0g)gv@&JXnf5d2ualmIWzJrZ#{J9>q0GhFs!~70MAE3MTGd>Wc0x{Z6?g)J<lOB3B
zcm}?fIdC1ev<3X#TBBV7AM*Z6tei)|80$70MjB!IZ-DE&?wT*+JQo}RC4t6fh5^rY
zQ-JRM&p6iw&3w@m{7eD*7w{cA|8DFshyY(|9=t=_>jBTG@vir}E`lF-fW*o{6pZ!k
zg*1*0pV@gmuCpKK#!lb>G^Q~OxW04!5YPG49Q#=y7trMY5&_|BXntNa5L^X3cYUsT
zz|ScE0zU!i`3^e4u7Dp^AhEI$1!KKuM;gbEpV1u!ag9IshLs=<kZh-x(YN<=?dNl1
zTITs0ggys+w~`x-1eZW^o(=e0-YU=$NY8fAiFO72$a^rc!h2F0FKq+lw5rhjJV&hc
z`ZV{C>A(_5RZz>chF%7=?|;VmE=Y4$)Nc1nhB*d+^B_C$1lzy^V2Ztg@1VKAF9r1h
z&mRe1>-G5uzPtt!D>G2g(D*mRwZDPBaTjSEe;;55w8x+0%jZhn@#p;?<E*H!PhT=k
zj0-e>XS)#KT<`<@P60np;_nO?niJeVxOVWn*|)#}FcmZfIRVccChZ>lc?%>~#-pI2
z@&5_e;#&JT2e|$Z(yl`eb3Nz_INsX#KjZwYDps2&b&3fq<9GqC3+X^!;12lR%N}4D
z7z6k$F&K0K9BWs=@lN!<9#<EH|DYW~5J;@}qF}7CkkfvKHfH?$Y1bi#t)K@0-SOx7
zkMFDE>fV3X;_v`{CsPr6H@FQFD`Qd6(D=8)HDkuVzjhsRn9u%9*Ejw(ndd)AxCdn4
za=hrntKccP2@)%lQP9x%H^Vit&l}QQ|A%YWA&2=)!S}oR_J5u$VzrrYZ~Ry#WS?<e
z^#b<+<srB%g%bBqT%Y}LpEl<FHv#!H=Xr!Vwmc8gPTlcm{1@=w_!~KWg|DFPz$EYn
z2vH+&LPQdwSD}pN>@G|~8pntG3+py??~C&vKgY8MQgLdTCeXU;KjS<Xa2|{1{?i6L
zKpz2)Pg(E>hydDh1(AK)2?-4I-CeA)KpNXE3J!y~&H#M(z;{R)fbRHLK$;)WKL7Ll
z$2puC80htX$@Gm3{mT30F3=~(k+?zM1tZf~J{^eRbjE=r*aJAmhSmVijXyyips9ml
zkPFNP9CPhCz<0u>fF}Qcf&Y7eegRxh>w*K|BQPX9|4%n`(TMaL$is2|zX1p_4s5_$
zz%!nq@n`x;P!(wEU>KwYqkz6WfM)=%Ynn1YdVszFd~T`;R)Y`_pDaTLK7U8Vm(jrW
z7f9!O{uu6O9PkX!wK~4>=k@M@Wu$sU7`hG69e=I|tk(g=X!l2pu>Ugr{G>Wq1)c$8
zBodj%06wR^Gp2x^JX~9vgBY%7T&6R0T<bsYe~$kmkP7IIe+i^50NU$6!<+*RfM(9b
zFyIG>$bILTo<8Oo?iEOgd_ZO|P!>E%NI{*vT%%)+gPi6DeFAWt4Z$-2_o@6qGja?A
z?ja+9zBPc)joE;v%#RXapJjSLCwA=)Mp^E=*})}{SlNPt+;?KQpK-vtcY*lU0M3DS
zKr@d-7`hhFz5f~KobUv(+Kyq!cNjsR=_kH3SpgC&H&HMz;JV9mU}EJT6wC@@c$#s*
zv6%t5#v8i-na=AR&$K{O55s_KoG;*Y-FYw{X_bLy-e?Mc#{s#&8KL=pEwQ3PLFw5I
znq!n$d4q!0Kn#yFF7q=q@9((ApVyCpDnK)qA`D#v=)Mc!T;MriDkuyz<zg7}9Y*B7
zmV<r?5-aqb^b7^v9(+n{MJP84#PYwK#x>?o5Z@f&8o;sSv#Vy*7zSJy_#Q)d4PYNQ
zFZixGR{NStzN3KXCv+c>6zPS+lFy*afEP)q>;TI086<|M83)`0IIi*S0h}L4Kqa6V
zOA&@H0Hy<uxw!ZFE{N}mW6YTtMto-x^p(D0f476g%4-zl*<6f&CWN^@Csz2($vG6m
z+l<Tb{yYWPMqF@?%mZnGrY?p7*Q%O;W6n9iy}tqA{L<w8-UI9_;C?4Q!$UB^as?%%
zGaIz<E$^wM$Osgc##?&~<TRdDjCmKxxxsnTLN2GNN{(AWw*hlNZD0vBdA|1m`zq5L
zIuaySHlU#7J7`fS->F6<wnCIU4!DlQ7zV~=+Cs;5?~7}ER@@2l%jGon$#ENK&i@~3
z?CAup{&T-gtZ?4+08)Kg^>TkT^f{3+ZM{dP#@h9Yfs@nt_Z*u5$5)KCA<cbY21o})
zH9x$jF96^3CiGn&ifH5sLM}k#PliEK&lIR4>Q}iQP2CJ2O~7YCKC>DcckOiM>j{3S
z{XK@`v?A~WeaJO$DM*U^iNa}srgny9x<M!9Iq*5kOYdVemCFIS{tVE|0Pk<@vDO#n
z^T1KSvw-xRs$1ue6o(HuMy0?*kQ5n=!qRwa`%g|Q2z@6hm80x(5bK^rnwVoA2>%5*
zzWT;pJB@pVKd1|S*g1f{(|3H|%kM)ZMINJYjJ03P0i?4Ht}kmqQsfy5Yo0Ad{nSV&
zoEyV|G3Nlz1?D>l>I3>fyUHIT%svA?Uq1jzk?km)62$Tw(`1@Lhk~RC&v~hVp?0$4
z+InEjJ|N~m0P^$vU<G2;`@JTxuX3Nct|mo3qA;KFq;b~gFZr4s^a+p@d5gk7fmm&c
zH0Vm;5HMyR;2dB+K4bDdFwYUO>ekn%Z#hl$5xO1-21$_%D4Y!#bP2D?^oLH$`vnx2
zzSrf*`gDb9fcrV;<0+7kIl#HVcYwvgcYP*6|LCX8fM=kj${17-?>!^u$qjuqi4Ai8
zOa>M}cM6Dk#=U45Fn0Vo_JsS!KF|T^-DhGo_>Co?U*aAaiSQ?o6j7saVGyqum`BDJ
zI;rvk6*K@+ow|+7>FJ@T0AtUCVh)@~nN@)0b*uiS<Lr-2Rp>_`sWKB47=3m|UbbHV
z+yqG#j#nNKYfP9XV-L+|8)N5yI1AJgb;PRt8%~h>#J%$fNUGdJ1to#e9${V?A81p^
zI#iMl#Ik{DG7iwQfH8A`>p#~Fz0WeS8u^A2&?owXdzv3Gg-k~!M&J9wRVYI{a)C=A
zslsOuo<Cx}7h-!z7x1hz5pc~gbS7Z>0Z;-+<%G@Ox|aLHu^I@%KvIS4cOj5q*RYHX
z-@%82q{=H)&=Ht{SoSbY#ul2-czg!cw-zw1FG%p5j@9T_lz{$-{<lK-IY_GT%s3Pz
z`W}(X^0Ry1Z>EsPsH7<{Xp?-+8oDLe54hHIJs=$WEkN&c<ySPE2{Hx!5o2E);k&>T
zatxJlPfd_5+L>8ahIa8RZwk4CO6r36<^b1;(qI|jn$NL61^9W8!Lr)+e+yyJ7ibS~
z9hgF1qmnr9Gh=;&dgyC@E-)RKN^YYfzSA-|j^Y|L-$!x}3IKfXlMWbb{#Tuk{g9~&
zeHEBWcy{C(YLfo59*_f^1f~+MbG(=1+{ba9ZSx&cDImSWVA{7X>;vE$$IrERPBWEU
zKt*|h$y~&`WO&b-;%tIyBzcN|yMiC_Gaas}?LksM(?b;+;Tbzw_D9q!?n6GuMQB<~
zdf*MJ;4@zaAk8zAP28`rBDs$?(4#>JFqK52qNzadGqx#Qfx0<99H*_ol)~rB-+=V2
z3T+B=zp6UeCmF8I>j2-0m{RtlGQLMmwtlm2nS#(fkDFTlL4|z&HQCuE*_@GpiqRkX
zjrV0^z~@<03;k9CNaK?L(-NFjv;kcW@ZGYhh0iXFfOLj|POyz%O99$0;|x6$1OrnG
z->EbJ$v*bNuc9sJcHkvQ4&j{c0=~I(0c;lI&SzCma2{}fHns5V#Pc(sBgF807R~km
zpUVb-cOW_B11jaa$0i^R_-u1LF-{crL8k(IR@wtXL2?K`9~cFa?YtMC570KpgL}0P
zpgqYYZ&C3sz<FQ`zN&d3?1ARFp3n0<%W@w}F5%gcXMN7I_=YK2ud{vG4nD*2eoao{
zIuii8fn0#=PqOweuFBaq;QOnbz#IGtI9HQX_^dP=aIVE=-e<c;J3wkM0VLOYhpIKg
z_YXG!-*Yws*}!L+3us4-c@~7Z#?J#+0mmh|h4=j|z;nfC8((7@qCJ4?5#MVh_dS3n
zG{X7Dv*L2l0h9zhGfMLT+8Fco=3!YG-s9;(aqtUR3@(EA;ByK4$u%}D&};9PPNZGH
z3iJjqz~>gO3s1q{U=0`!T7n87Kj1yfapYP>J9%~@40G=CY{5Ky_AC$hE_Ena2~L40
zfNgwkd4&dPM@sOehdIvnX&>OdN52PwFD+b`>A!n`>%>WL2=HvaLxy3d@!Dm;ydmIo
ztm$YbPI-W<o`CZ-PTzkm7ip(VWoY{JKS`Vi&Y@Th@Y$d5lRB4RvzP-sr>_Oc{cM0H
zz8m4X!_Qa>0LhO@9gi<nUbdglDtu4$5d0@`dw}Pc5rF5EZ+h&-oRj;(GqfAvKKmuk
zP-yn6mQS$mD5wc|eiH8cE;RcilNow6_-`$M6J+6Y#dwevd>8k;p-C(Ek86P|;2!rm
zpP|v*S0#LB{yX5h_}$&}@yr3vbAG1tGdKpmhG#99@mYlX-)Z0pq<4AHhTQetrnAp7
z+!MNkv*3H42OM|4H|z(#`?cQKi3?wdc|f0V9-IJN8^0Ifdwaf<<hVP6?|P3ncHDLI
z3BN$w0qzSsz?XQBjAl(D!Kj7r7JmWu;J<O#9dtc$;V0-+z!gjc+#9}yvtlUhya1+w
zDuACg{5S4;#@U!8*>`;Z$@`}sm<`T=*Whareh-W9YUhK-zyW-7?`(}3k1v@AKIMHx
zzjA-zGt&_88@LKMA0k0=3)|p$UkBWuhJ&hr^OMiDU(!WCOxyIc3_rWg4!G8K0kgnv
za30(TA>ae}1dJ8tWf^{M$j{%np6>;70nexIAO~RE|E=v`$*dD&0nN|Jxds;l)xj@d
zAeaCa0e&}NBjEcd!Z6eP0M8nOKzqP<vHZ?QR=~5!cekdaPY{*DiR+dR!;lDt!aXWX
zq2M<=DQaHAKkPjP;~f>H#J@gL6xq$9A`wL?N(kdfR48nvxJse0V0EHGDS%8&hA^is
zOn^uYFsB^nt;L36o)Z5?H>iSkl2=)GTxYtw)I8H=L!{=VxD@h{<1k1v#7Fv9GDtE+
zE3QU$*6afX2CATZwBkxBRgF{#4935xRn3_21FTX>QP~eLQjROwycvFCS37QvSAUu~
z8n%tFkh=>%tI@d-tvE9J=)|MKw5}^ry>^_|YS+ikX~p3;+o;I@mq*-5I}X30H~+sL
z9k<okhwk|BE160~v>=Y&M$ZnWpgU4r6@3|Tj`0Uge?z1>@PB`(rMNG<O)*m|tncx*
zQ%g}PuEr3HxP?k#t8$M}XvT+er?41trFDqpcGh66R5&Ru)NoOBebI3hToN6(#dTzY
zOQPdWN`<?^RtcBLakxWaOP55)-4zNq#C=4EeH4l@ik$4SO3Hw2a$L>0S#+E(kS3S~
z;-eIm8J7&Qj*j!TkPPB9$93s8VR?70xDs)i5g}h!OY@R(S8J4K1(=tN50l~;BI)MP
z#N|ve;;<q{9F>atn4P^6_DFHqpdF`|wBzg);_RO!YANofi7OF@e?(kzvg|MBm*Q?1
z5g(~^v`=JzGX-6Y9v^qjb;hlgnz)%Xo+>#WreIuYq4J5&FXHOxD8|5y^T&+4J_VDL
zaSo>>QrucC%!$He#r#xrI!Gc#EJAPxMT?3T5szL5={-zEvoJ;UcyP|xA|4@4d6qz2
z8UWFtLV>9a2gwb>9Zu-7k51g3153d*cjgfWqb%dLnC_Bb%K2bIScm*S&Iw|T<w6p*
z0u?D077?<2D&DJHPvkg*oB=+wr0l2~1yRU7x;UCgM#P<><7ggnu4mEl=nzun=1>!I
zqLgfoQmP5HMt7G1_vkr*Y|%G}4>Xcdt<;dzZxoX>lvI%l0jKEfQbX$K3rZ-doOI(M
z0+9@ZK|)YWo^;VE?u@fRS)?dDB8zOdO2p-UX&R9Gt!cn1x;#53iBEJ~R47*$-7{p6
ztYsFt0w+1USc`l_Jh}o+ad~Z#TbDAiIZbW^P@{Z#N|Q#lZBl1TjSMz*>(polCn9L3
zNNEMtZotMa3PqWIb!${@G3@$_<-?b?tGVYyz^&5rMmJ9Bn?7STk1I-#t4EdQsi!Ja
z?+e~n;#`5L=gO{e%iMqDk%1#$=PX$Gu6e<Y&eN2qXDW+k%apQ18nfRU&u#te)2l6k
zm&=sC6nfi#^t0P9KaO$xw76)MTZ4mtt2j7t)2{g`?Q(iIcrYu6s^Fut_71kwcliV>
zYTa;O<XbL$<Y*7~^A>}yt-Ph`vg%Ug^C6LktV^zMb}Dqe_0znS50CZAGCX@pt71=|
zsD`K-c#ZU0_^Co>zm7r8TSweGf49Wy37&hM+76G*oa$m<Ppii@(*(S}Zn@R^iuo4b
zpH$7?zneaKuzB0(!5J-UM5bz7u&e8V4-Q_r+gu&!`$1*ymD6I{=ryB*x>?x|ZuvG(
z?^S88PPRPU!z;xO$6+TUKh(|Zx;NwQi8nK>nAmmM^3moy^0c`>(jt6KO?PX*=|f&^
z%`&{%#|vXUZ7WZ-JUsgS9=l<VR~2tl_^KE63oU)Tcvz`6Ap_4>b5~ro9hS4CMX~o?
zMwYW$Y~54YS#?OY{QaZUdDDL!=W%jjzdy1!STL?n{x%_#%&pfhACte?y|#1u+^;k&
z{XUC*S@&iCkmXP3ungH6?mJ+kYW;St@AC5<-A_j@o7F3{U+~KM1uj~>RP<5wG0R!C
z(MjjD**x~GE!1?+rE_NKEN1R;AG%@i&=2bd<?%e+TUA!ou#Q8o3C?LR=DvBXV*g$r
zUz|_pQ~COfM|o_Vo48j|)l;8S1uFxbOXqUU@GS4mLzb=wKK<;~SlzkXo#1Jg!#(a@
z9XraZm02rAsPm;<-BP4VIkc!%;E|PP2h$JB9Fp71dg{O${}y#nckh&~UFvp|I%YUh
zw_4gG%cm*_whSnJ{Y7K5bk%APH;d|3^~96_t1;tdW*s@sd1J$U)$@2|8B=LTr8aMW
zU9;<Bx*+c~Y3n*o^*ER|tU}1pRh3eXy_0Hamz2vU1lWd*SoidtxAXA)v-_q+2J?L>
zQ#cMzQ8lF9ksST|*+<@1W%q5hc7oH(=KY6f+~*jUA){s0JpED*9b2{b@B?Ojt=gw~
zUTvTI*`t|MC4AG&?w)>><?b-cp$9)!GTUx(dt$E$^@YBT(oQWCk*Z&=(`|Y^NqcPJ
z!2w<GG&XN!bvun?oqjL(q#mvMq_S1kKi|J&{o@&S-^_gDn0snh$1vxRW-VOvoF6gB
zth{-U)wUFScP~lbZSj`DLq2^_9hmc*``@Aa%=dfQT(k_V*>qwtZ~NUxf4Y9mJ*R7`
zu#%?(Y-^7&%VJSkIbL;aqhH-iOH(u)JveY%K$ehTRnL?=Kl;wOHukP{VAT^78|G+p
zb9bwU&p-aE=(=jviVcTudps>#`?_j^s$#cBy;nWicJkW0q1Dqw*^Kx5<WXwxs+(g=
ztlj$8hD_!S2bY~WDQcLydBG09ZrbLeo?z{}T@kSARHM{O?$%rOi%%u>Csp|Kl@`9c
zuPP!+gxIK?c1zcLRY)s!(Z~s^N6JNciaDpRv((M5d`MRH_A-b2cUWD!Zx$cx(-+*+
zEVz=+GTYfwYWEBM?_9~9#`nm~o5dri6r3KKwnh6&=}%65r}D7~s<HlTn(i6x`W&5k
z+C6)PkGIEW>uzb@`qGTkbBdWoraG3%d_uO~3l2qfwmadJ`=hy=%Soqx8$Puzn5&83
zoa@It&1YKrr!M-s%7$eZruBH(w`R^~gEw~X`ruKm%Xj{Gy}~WL)W($cvKRJl-@TBV
z+2Ws@KR<Ws{W<UFMLIP~_pqvZo~m!5Ci`Dkn|`s-=@0dGzbO$?CI76qt4m$&*<{YN
z1**R`c0YdaWX@lv*^kMxc~ekN&(S3#(mm+*bLYHv*Dq9an$hgnUsvzFzpLqqyTji<
znz^yr>tW%QemgzyWY*DUDGF6x7@pyJ-3r-;6{+~J=bp6w#nr8MpLDA6Pp^e*QbgJH
zSo%-RiM5;k^xL`PtB<*7sp<K0+JF)dZ}>Pp3%BZWrsBHQW3oR!b0Gc6caNXf$ew1D
zVpFT;qh=Md7=hJf;@qZvY9A}oGWS3J)~~yFtyng5fi;Eek6hF3%(y1&*T3jybE!k=
zjEb%n&t8XZEqs4Sr$CpWtndFh^D1J2+pwXlJ?7m|`mDaSuH^epWgGo=tZtn=KU)^9
zWxo1ac)lTKQR8-B>H6kl+JO}cSL&bNY^5S{#={nQM$WeJDcxht@Y0)G{X2hozb$7b
zR#4?qxv0|2{&0T!g{4&rE)8j}dRp1-(#;ts8_hpe@aF4JW&SPRVfLGsLoVNcJ!1Zl
zKT|B}d%<>OCadv>3+@h^RU_BUNo$nbx)eTrecFgjqs)I^@JH8WTQ0axi`v!gRr&fu
zZ{_TCDavg9qR1Kcn_QcxsqN6fqips@9!I<yFM0GKbalO>UCkRmc(V9Wm%KC2MrCcW
zbywCQk!MfN39Y~T-gf89Yn|*L?HgJyB;)0&FPd~pXTRL-^0NE)RF{S?w%G45q4}Xl
znN+n4`kxIj8~od+RKEwWT%D@aiQkW0NWH=N*E`vLv#fO(pZijpWwRRXzH+~V+b}2J
z(O12job_+q^m)cx*=PUa<NGP=<%o*?EDsO6UvyNO)KSHMcYa)}ZjJiN8UBwZ{@ZtG
z;EW*aQNDLKk67xPUFozYhmXbh2`lYqIy+c9njOsKYX4!{)RQgkioVTUxs}7~_h$pM
zzRIrL-uz5zw<@X}s?a8B!`h@w6VS9pg|xG3Zc>+6=NGxA;mK>GbDqD~GjQ04mXE6D
zoMnG5u>Cgwne{!|e|j@#d6Wa{&m0)B*mtvAK$hjsb}zz0vfAArl3~T^SzRM%1pd`_
zy#0Cq#h!ylZ>@bS*SYHbKQ#QMyxTd~tZNRe?$fyMx?vMK<TSgTqMc1c|0xdMg}47Q
z!^Nl6u{HlX4BX}Nu!Z*-*V?mFRQ7&!xtsTy`qN!nW%vGbRO5wy5oaCVj2f9^@$CZ*
zj?Fl<?}^ICZ2P&7;m_2q)lsuUhomU8e_e6sz$4dky5<;WTdz*x)UEP7dU$%nvbHV%
zoZ)hO)CGr2FWTO(wJykE;1-vMHP+@h9@;zYWmVv=A>L=^9QSj#@3!q-R&W2V(-&VJ
z^yZA){JAa<UmW)v>>oU+M!9U>{ynF+_Nu(Gi|>6uv*rV9d!Jb}-KFQK#v3O0ayh=N
zdtTM3pyQXFj%PUT*V#X~UyX%Xy>EA(o;9e9?V1!W7XH4Mrn`iGT+t#!>(0|FoGSD8
z2JaG`wz)hU5j3=%`RH1Kr?NP7FY4ddb5)}=Dy!WqT^=@To_3zPkM|k>4Uem-+N)f>
z&kP^Z|H0z3$NikLc|Xh?dEDBngVlId1Mf4fW}G>2aNrb|E+aZTTAg)Ac;gZ(8&B`)
zAJ%oRW!=Cldl#?jBeuIdbP1Zb&FYsSjqJ}kd0FLsnd`XUdjH@~HaW{3KX}Ztgin31
zN1d0tJhb#aGupp^r_G8o#~u4l-7x36S>LYH_umZ7vGwqwT8Hx-zTGz$>>Iq%<zWf`
z0v&83du?rfJ!P|5%gb5R%+aX!&dA{py4VftU$)T0r%TPwy{XZ>%&A+sUC({AFJnDs
z((6jEPj=W?{Gs2?bNOojp0o4x;g|n->^O0Z_nET!JD1p!HDvgi^2bMAci44wy!X*|
z_s;w~yjG(>+6T=W=x`;QccZ!k{mZ?c7+B_b#O=@=*;y*{alc!a{#@L}D`Ufwr!$4^
zx!@8A@7x;@b-s;bY1eL#YajQ^88mN@L!YvzSJ!>_v3Y5;Gah52ZuqV(J$h<}Nt06#
z7?X1Fl}(ja1f}h?_Qiw&2hJ&mR9(OFxMF+Folkt1H7mTJ@Edh1wYO^4g*Sg^pVnmc
z&8FQ``?j!DmR?n};2xL0w>;DKOHsJe`}FJfhMh3mUTwiIGxz*^t8383Ndqo>rn4;I
z9k}z&okD8&CS%5U{^E31najLywL^BzE)~8s$h?uc+w>u-gZ(oXF88tI<v+r5EEtpS
zx{F(nsCG|wKWkRYrs2@g(H7==cE0IYws52HfvbW-{WkmgK75s~`)IFQ=Bhb0wp+Hp
z^I-4vGcz7<C^qh67WY59PEvSUHmY{E*u)#fJ~plQbkn-6f2PQGx^N5s@By!fR_vGe
zqGhuSg)d!1AK%x#UHIee36~?Sb1gXLZna?5$I3g>7Yk|Ac(v1}-qw{?W;$6Y&~bR$
z?!*55n6r827mp{84k+WcwYZs=RbWJrmE+^^z!p30UPKJ7`ubS##)#%kU+lMCYrdgr
z?;7Ja|LZ^VZp)p$3oYCKyJITfN~33OntJPeyRDVVIosH%73=2S-{gF+@a0i=tTy(2
z)%KzDqx0FD9N4^XZwL3Mlf&n3K4){^u4~}U8I6W6{D79XTeY`*clOt#)2=j~5|rZ1
zo6+SR%b9sv6(85aKI%=A1HUhFZrp3`f!?#Xt6NNMWwyU_|A&Dyx}~f9Vq}AKm*&`)
zT))D$ZeGQ*WBv0Eh<q@?O&z|mYHiQd(|mje`3Fp1eJG;;iM@(j+xM<YVP{ckQreIr
z>g*dg)o$;a?b)!#6<0oOdZWOaTkef}FWIIDG%NS(j<77bHU(sPvLaQ0W82hKQu=oE
zdeqD|B!^wW`HQT}r>kI@$tlfodqv>7D)!mu&(8F+=BFzw>U}f|+>>MCN4vlRw~htP
zdU_?mzRE$5synKAS%l>4l=1$A>b~=GU7I+!g@s@0gX1FJz8;y)HO)Tjxz|1go~>kA
zA>!dhzivC+E(iAL|4*pZ)WfMe*}FX->AbM1s_mS$70d0!L~K3la3i(j`81=lynDE1
z=qsnm_ECXlirZaYbt|f@-S%k>>)$)`+tMcPf1mX~(P_9_sy)iQ*;ICyHw+&eyk&2@
z3B7jJu(4mBeQ)`G`72)NHpp?9(`$?Im3_zFaZOReviSQdIqO?jTr=}l%6z{o`sIHz
z?c}+aQRzcg=G`5>yyucx=59j@9LPI+$ox8G+}8%DSvNkj`O?{cedz0d!W%6$vb@_v
zk*SHr@hSe>?H`-_&)EFu<xCGNW%{YzwOP;YeX{o`H6qRV#TSNJU3}!EYIR}P+p`7j
zdS@&0sq$RK#@92Q9)#B`)~e&IPEVVBDzIwX@3m*2y<6hizqcMAz1vf@dBgJ*|K4{!
z_k4i5D;ldX+3(4b{$-RG9*6Z<61=5Gu>}EETkF35`~Ab+d1~KGm378`n@uy^YdzWE
zWB%unyCsUhzt+3zlE;VqPgqQ^*|W^+C+!@~cGy-74{cat>e~aE?{0~l*=dx^=?;%q
z?exu&Z+F-tb5D<SfB)1d-x7~k!_&Ji8nrC-K}Gkcb9O72n5$0tx-TBzbw;6qrF;By
z%k#wDAd5Y-Ry6RQ=GJ0>^|q>~>i(;^)!|Ng+rV8B`9iFN?p1ZE_-pQ!9u3#@Pz*d-
zd*>{hIv3sApXl14dR@B%=YKvBF#YmhX)e?~Heh3bU2Eq*wpJhbCRLC{)iKH{YY+CX
zVb)}Q@!&h*o15%77wo+AX^_>jiI>;adKuAMwM+Gf(n;}b?CGF`uIJvBC|FK4)a!(!
zx^t5oX(z8SYf$59RJU_k-dToJ$>_MWLis!W@+wZ3d6{dE*{n75?|Wu)99_(JUdgus
zkB6Nv(0Sd?b5ma*Z&S2JDr^4_DN^O|S(u|q<dGKH{s{kL^^pvomfQ09uFTzJSWb^F
zD}y&5Ni#*A*0H6+wQTUL6Fz4?R#&CSn=*9p%!o!c@BA@iM9JPN_X~FeY{ni6>fzeq
zi2I5B8-{nPT=8zs3t4}zZ{atgnD>J@r)@rseD3Kudz5vq(i@r<`Q0WgOTEkum(6kL
zmaV08u~jGDxXxTxYvYI6=Bn1N)|oCWz3Q=WZJjOaGLPA?>P=+#GPU0It!^7p<f_-~
z9bs*=Ji6vNHMiU7-%DpS|7(d^p6-el-9kf`zY8tWsnxL~`_=ax3O-p-u5%0J+h><s
zk9IvjsB-EEyMW%uE1u7mb8ow-I_6&GT8<cYKZ82s+~CN8O>;!msu8}RX}crCABPnv
z8mS0bR@pbaitQt>T8|sNbHr#whWB~%uF~8ak-aw#Y<#`*ArJrYIXgZ2rRI_G>pU*)
zGOwBPV=tF-Y4RPg>28(wSF_z~5BjVe{A@+l13qi2Ic;1P`pPC-+f<pI4_Q98ndaVP
z#=zYDDrB_ucj#Ztwt%9`>Qz}+-b{HjL+GNd^PhPfh$?z<k$>-#x80o{r$y#*K5F;c
zYLAH(Y#j0`95Z)tk7&91+SFw}OEX4Bwl6qpe}*AZg<Fg(Y3mZ?8*yn|Bg-oz9RDgh
z@kzr9^R1dx+xgmUOXSVkWB0aibpG7mO^Q4yGc;=IEuRc7l_MA29(&x+<+$H~jZyzr
zbbWJgNUsNl8&9t`M)}Axg-t$1{(J6kLqqchbyzuRvwhi)p#f%LHW`+W3GBFXLcQ`%
zsV#GzAF;LelwNKY<Lq5(?BB84QnfA2CbIR6UK@U1G5FU$hg}K|s&MvJ!1QLbOIVgW
z9&u~a<AMX`d>U@Ky6n$?tIynd7V<3Z&8(T<W$k3uE0ZG7J*P5gi02=3)Q`{oo@vIW
z)>kK0j<od{^pDemZWYb)b$Oe6*VCVdOn*@|<!(D$@3U<hH>kGsyz}O=%5?XOJ`O2!
zvb}oN(VLx@PZ(r*dP1W&Hv?=IjPaj4Y_m_+VuM1<taqx}dHMJ<3uZc7wwc&R-6LY5
zP1_njb?UoE;WxICV$`d=g%>W)ySY!Piov}a_ph99P{#f)g+rQV>RPo#jShaj)4s3$
zcJ1D$1r#Mx)UwWX{-*1|5BBqmznpex<K_%aiYe^X<v#|e>-A*oM%QUwJ?|f=GcdG-
zg-@-)Det9R-&!@L&h>PA{<L|0(*KPAakwnw)*};VjO;k_vRTg?e-=96Q?=39Q!A|g
zoz!bx-WjE?H~H)At96e)l~}#&hUePrW6JIf?O&#z$CAHJ&aCs7$B}=gsP;KqE?JRt
z-JM!X8ryhP{wbUP7PH;C_WZNxQ&iEAR&~}z2CLGin_02Y+WfQUybj-zZF=$COPotR
z_789vmapWdjOEjJE57W*K<m?XZ;!d1tYDMYUXdweWJKuD7A^9W`sw}qUKcBUEV8=r
z_Eyf18n)<?`_b)!YkKCksxm3hjuT~kH#|(0as0ktPp){}Et^A8MVDMo$`XC@w4Svm
zot;<dC2ucBm0Nc2<m3ZBS<5!OHKo(o$Hnc;vUcmUH+R=n+n4xOTJy7$*AB(c%78af
zjdrW&7FD;dV^QbQ``{Xf>$L58X#eKF`pr#wy42Hbg9>dfk^X7wGKB&M9?I0+&&^MH
z>+uYiaYvdBJ+{-PRF}*dhTcg1(=TH#p7~g0ZOg_!(_B`h+a2CG*9zytYp*;EsP^Ps
zhgW}C)t}P+<%W|5cXz2*a+TTc8$P|>l-U?QC;jC5S+A}f^iS03?nnP@(|6GL^XBU&
z9L-QI-?|R%rmQ)7<Zj;_SML3>__6u(E}j__-mgYR`q-YD8HJ@MYIni4?Z&%4ip;Sw
z@?*cQk$L*3xsuDy-lzVBaj7SM+?>VLDSL*WGbl1O{Z!ehSFZhUdKT!h@{bd%r{`?2
z%zH_Nf=3DmI-FK{7kpl!`?0kiX8l*Zv&g%BXwwomyz`hBG50Dk-#vKT;Hxd`rFtH9
zYfebL`k#Vp9T?E+sLTAOuP@(s@ZNYi^FI6T*?q5cst`H#bgvsBD3dPF{B(Uv7O8XP
z#UD9d9PEB9veo8KN4r0FnGu%1PS(0nO==z7(|TNhcaTfLK3#6yT|6P+;mW`3Zb;qG
zqd=DKFCsgyn{s(jt(M)L`}eS&-=y4Co3J$2HuuM!Rb4xIb5x-n*{}U}ct{JURhMVx
zk8BsQToExXW#Q2Dy=GNYUV0lDl*7B|+Vd}is=i${^YqIAyCW}yHn&)Dz~y1_b^XU=
zpD->U^@4j#7alIz#bWL0Zn=ZiPudS!eSGDd{zHPUZ9G{uoB68oWBcXK65-)C@0X6F
zd>&j4ZaFvAL63P&3oj_Rpx$Uzy~`2r-)-!1IdsmveRJyO+NIptxsz?LM^AG0+M8u%
zr}E3{AM^{KQ!vk@GpF11-8wa5X|+M`0;Wgg=n!g~_DE{;dh0LdSC3FvFIfGp<L;{E
zs-^E`JH5zS2ZiU0fbz3%nz=5zerv|sX4U*BZ(K0>dXthh9j!aLpSqXByx7>xmbVIK
zeAm2A`eif9%_@`Pa0{;<S#xyg++kqaWApM(n{xZ%u?ADd>@HpVx9b%%RA_p4V^q&6
zT{~K~aVU~<MAP}te{DK4d|=bZ!?I1c=(1o=v1diB)ph3%|EqxW>IDlw1xy&W;bepP
zu9@G37kL_WsnGQD=c~Dn89P!r%WQkinmwNWlee}-Y4|F<qWP$a!#=#vydgu0ur7J)
z)p_T$^-A^};Xc;uCe-*8>9(#z-u+iRR{icWc<t0`eN)_?QL5X#T8D>tHB@#F+hYFK
z?$q7Yzvj-IznED_nG0>pFKBwd(`D~Vr>{k&PWjZwxkBcyxvuXRW4>&n<Al0p{w}vw
z;ip{bpmggv@kqr=AuaAJ>(^IQu0E)FC%fu{ex4HYA=mTrvs2G>9%dO<G^Ez$VR-|)
zT(@daWbLj&p5|VoAB^o-s_X-o?fL(-=;!$Ab!7d5f0nEfnWEV-mo(d~ZYvw5$-Q8E
z?Iq7Imul0XdyZd^t)3LtdvD<ejryPYR7X)`#>1sG4nF<MszRmF>&I9vaj2dB=M<yx
z`2LgQ)KcyRerlj_GG8^TQw2rl-|`jnzMg*j;5U}{71QgLI2`WOt>nyd{jyFicyRLd
zd@qjAf3+yZ)#|0p&ab%ZSHGL@kRvBIOupx{F|5IwI#)A}C|I}Qau4THGt2F;!+X&b
zwaTSB-Xgcz==1f*uUT5XNh;4q)Ao(+=6GSxta=eX&6*cTKY2!G^Jf=Q9Ui&!UAc)~
z4Hgd?`Q+H@S)I&R%@~xzqg~Z9Gl%7GUjDF|!%2rCmLrs&ioR6~J^rW7vyG+3JolNc
zsB_n$$ecbmt2w>;{Y|Y*=c3Lp52<M3`)9uffj5*xS3SM7ZP$UbzbZ=R&7$Z&^IH1t
zb*s0Vv1!rq4TG)B|GJyf_kqe<`M&^u8-e8W8Hh+N`xXF6DcAY?)#Hd$(I>7auRq1H
z1_H5hoP$pR9|!&$X}xXjq*qZl_PFZ!-Tpd%zj_=|g`gq+VlJmR)<7UJrBVrF%sSw6
zNDFv@Zvl|R0U2k<jyjGwQH62MmUe;w@XF%OC7@?83i*#JuQmn*bVa!Lqi5V>U)y{*
zH;zBc_odX06#^T8F9ApS6aZ}`7XVSicB76XPBvsW@w9+Z39mB{6T8qWu`QEPwd-9_
z^41Qh^3@dkf0NJ=_$UVAI(m?5+=-6S)}wRur+~*7cP?3pD)c;qj&{4Cc!I$Z0#~%-
z&qJN`I4|k(;c&Fa9LE;o34jhX(blCn<^bCkd>dNO^H6)Xg{WNoe3a@w9xd{EwXi;v
z)wu~(vHB<KXL--!&Ls~bA+Z&TArP!jpuZh|XVh^QUWNXY$J{}@$ihyd`yh<H#)&8&
zAW$cE(RZMtmWxnZwnI^g_9<wwH-a|w948`e;vn>VH=#KEyHHEHzb@`v@=v58n7j*v
zb|lq&(1Gnw7L(o-$8799m;eg*9WGqgs!bpP&}YYAOA|22yqH|;^8>@<*zhxf!+~Rg
zBhjuu&g0NZ3<!nYP(|NoQ9ZwFfNK_aF8K#J)(qN_r0OU8<G?nO34nf7Of=1gAX8$z
ze<OOJQG=1%@z-{((Ab4P8rT~+!M^swU;auh+K`ZXDR2xj3vK`|2mZ9UbIEFQrWLfK
zOgJ9`paV(HB&;Jn=Vb{M_-G?qK+p!Hfkf>|P(mtW)X#5e?4k!P^231F0mmVg-&f2^
z654<r?f6edHT^CIezUl9$s<629t1%}1Lz}rPj$t4lSDOMXUCk@gxHSg9ey_3?~mF{
z#n|_b#a}nr+~X|#alm2}x_UIKS5b7vB0t4}z&nAT0v9jtT=FoUHG(n&0w8ND>QZDJ
zA+Z+u0@5(3jU7kStjI3nm1Z``8||z2Lhf-?{i9H*>d%lp-3*K0r30BWpGRiFzXLlg
z?p)#uz)UHlE~UPz)oxER&0{UviPI7Q(~0f}=to_Iq6$re)Y*A3sIEZEV<&zI*c13F
z@N-o5dW!F{HJCPFAK)t}Tkkc%1Rp}69eFK%34j^s*d}f)!Wv|YPfuYC2HEp-fQLtV
zqjM7Q1kwbemIiM_$5ekNlm>TqyUEB#{t&PStrs!bftrEthctq3Ebd(LH!?H}%EYUP
zn>H2OI4+xz;7Usa7>insMctvFLP99&_xGcSG+#X!bAxlFcL4B1;2TH-Xtl-fG65C!
zyaZ+JP0mUiD5G%4HJ&bf2a>6KTS?YaaHRXN8_|#UHlj{KQ75gj*SROOt{Gq_^?2ZI
z4A}X;DpKW<T~TG<?*aQ{;TtHU-QQQu`bi|~@z;xLqNjBfXwc1%dMw!s{EPT?*!RP4
z;EETVi983{`u~MYqQG+*i~Jxz0bT`kG*SqZ(QfKX0E|OTHY4wf&Pl){$evC^b?irH
zwmZl8{)dtF6vqshhcu0r(E^;wdkAm=s!^9D0Ibzm2>bx}C@`r}LZFNm(JD_DIU3o<
zNq8JN0@LyXOhQp+Q5WZG)b1-zErH5;aHHbYbA^+gcM@9sFQ&C^{kTj=oqx`uLC1w<
zv@<<|zbLicN!Fb7DI~bknow=P{xQbVjk3Ywm;wDr$m|Zytpzw|`|m(D?H<0zR8YpC
zW*^_h&YLuaKxOw@MZCh8X|gNHRKiWbGSU+O{b-Wb?EB}K0ZUQSk2qSucogZ@w9YR(
zLB|3gM!VN6-(xB`6)oz2&?c3d5U5PtN2$Nxcv9w(+!6R7>D4pnM-z2_h`c*LgS3FS
z-?Mkj?<ov+Vom_g1U`)o_YS1OVx&zS4Cx4giU4>VO=cfV!K#M|9D)BNJwE`*HjiYZ
zR|+biJn)S%#$fE{A5D|R1=tBW4i%pKIKkQ12o6E!Kq^9@A^<iZKY$O$qOiy$Jc@)@
znvFvDC&Fof!y~{0F~`tvzvF12qZzaSI}yhKAF;2dHF0vl0l>MWU=CC!?G|c;!8Vxv
zNS5Qhp7<*GNc5wmokJnAM$&^S!E_Q|6FD3`%tD(2b^^8o??I}6%f&i);9%g}!1Exv
z5U2=%UerI#*Ga(MBy$w?qv|VNq<b206cHj69aH3AND#%*0xHLXClD_TIafHLy{7@6
zB6*F6Kzv?^5{jaxray;rRp$_2IRUePeIbz_;2-D|BTX}4PvSZ0x`7*s7Z_Ceu30GJ
zD~-gaOmTLdV^EptQ28i(P6W;(VX%<9XqGW@E8#{m9;q}*cJWofy$OGJC@M#F#}T1u
zX_WxIEx|Y{0_S94LQ%8;XR_@Dd>O071Tv=#ycu{u&>mL^xB_4m5(2(Bm}EyrJ-{ub
zYX<b$@$3V&wE!yw`cVD1Bu+_Vzwbm~Tv3Do(pt_!m2Lw57>yjSCqg`bfICq)p>uU#
z?2C<)kBYPV-ivbd(=r1Lsz!4H@xpdj0oRf&N1=qyd0#=!g@99!|9vPxCE%YKz!GdY
zdsN&7(}xyPnq7C|FdcctlQ_ekMCx~%^rHp2Fv^%5VRSo+4TviM40;|fLOy{>#+ckW
z2A$pIB}nZ|vsHVbJ{AI>AcjAn41*@`efaBO(}rrjCpix618ySOQQUACU>fjh;+<)4
z1%6L*Q=p8zyRXNFCFe~DAbbDQL<pM>WX>tbCs2wa1ga<KGL+%wi-S;ZKxC?f*Mp>6
zI=T-y0+pwZqXj$x{FY<_sq!TU0&hoAlI1)IfvWTVLw%1YFeGD8iM9Qryt#U@tV8w7
zeX#>NgHN*Stplzj{aA)6$QKYPxWy3yccbnwNn4rsqyBbpM-hYLe3}H#Zt@~KrXtno
zZ#8y9PQmfDw1Db|*n@0oUw(jg)b=S>Fp0D1{t7%symsHi(S`z~Za|e=BWFuGrvldj
zx7IO+e&mdN74Q}$5PWI_)6v8VCC>BDD~WI_uuT9si|8)=#RGtj!}d-1yN?3b*ZKWr
z`+5i!to$?z_3ew(yu`kDGphD_KgoB@ek6<z0NxF}9GH=%HsDO4Q&CZmK>nEke2^NM
zwnI(I<tVz&7c)^1PASd=ce3-YLDhQVF1Qj}XzNf5r!!EM)^(*)sh*~uYmf%9jO3b$
zvDY>YnIrE*Clu`&Y6J6tchMr%jGBZ+sJ`H^TEI|?WIfvPd~!Uh(U*j!NNta^Vk_$Y
zUr;>zw}2I;QpwcQ&9}-a_%oDnRgdjlDS|qejOyq+6X!M9Bhf%%XlKB59Fn0Xqd^N{
zqsM{ogN_7askwH+^#E6(`UbTYTSeVp4tyOg{+ogBwAy$(pR*FUi28*9DA4F1Waq0{
z0KAcOd@F%$*&7M(A&&(IO+;t1-h*slUyMPHucU3D9|Zoy@H?cd?*9x`Ui}5IzD{+2
z=r0>w$@s@eOGzpON=QpvR`uDb<4l-Sh#6rP$PHx_Q?ko&|2Y(^kVoAoM<N?07LFEh
z8AE3YR@D8QfKQ?t^>wTJ5yu5`RQ?F1F_%adGQ5)P9JM<k=U+JXD=vGW5cB8w0)~62
zy~vxs+2f#Rpoy2XV$MH+tE#TGqV9hU_zX%SN=@Cbh4Vd6A#>n*B&_0A6Iw=ti?})y
z<#>`;YzpLqc4P)TCvx*S6VI8Xx8b)+5a`G&_K~1-4u6@whEYh}|0xYt_oIx>e&+_@
z*TApr*rEu55)#S}JJ;Drrl3L}!Si2yo{xgK25A8!O}fXCH{B<5(FANus0FM*EvK(X
zNfH%xKl6oOjs5;E<f}Lz`2}j31SO>UXVu8%U=o;Nfm|{M1qThvYZ*xZ^a59-G-02-
zngk9gXMtaiZ2en-9^VUph%xpfbLD(=zdIS(+rE+pn`TbB?+Jvm-p#}du?=b~3@HGr
z%mAM?0zk<@uOopLV0ZeiQmNFLhh2Y!F@geyE<=Lgeg-lFUHXs{F^k%bvk6gu&BiQL
zzHOTsP|NOIg?1&Ml#l}>X?SoUutK00Wi|c~MIk<BufJ@6Zn6K?Fk$A{hlesk07;;b
zl#l?}rqvBA0PF-aD7W2L_uvZiQAATy)X*OeM;q9P{1)E<euE00l#n_0bOu9dN4tNh
z?caRtk1Zt*(LB%hqT@2(oJPEQ{e{H}0)rO&mB4wxr6_hFi^|P2vDKLZO~(vW<ATMV
zOCkw?jmS3j)jYJqjwl;0X>?%Wa0J0>q={XD!hjpizJw~j%}NOsxETvIGyuoWybiw^
zf)!qY0#lk^3vj6jf>No}-N=YV$NoPUnB@Dq0}W$;Y)yx#5onL1-N!eRP`RTd-Gl?t
z7>{jN7HC?w#~ugP6aday^`%G<_~tO+t>mOmUK276Wsn7$mx<Wa?l>{%_W^(OJ#yrs
zekW>^+)}1MMl7Jo+Li}~WM5!R90AaUD&?&4J#yrr`Y7710x96w|9cP`e6|960FxsL
z0LSTcGm2f$11|^OM9k7*ftu__DE!e1%m#Ldo8!F+rLp>~7F1z0atO9WY(PegXPCkf
zfu>_TupqJkaI}EyQ7h~`FdrrQ6t+xtrMj;%W<O)hD~&PRd943G78L*qG(Tg3c}c3g
ztOG8@f0kf{<4~2{B8Lf&L*~q<QL&QO0y`RGvOeh;Pl1JLAQm0KPO$`lqXk?;ezbsg
zBmho;VwnQYSPw?08YOf*a|WtR{2pL$W6YS0w1SyL?0^(#3T7v*^R^bHt#0sr1(xlA
z&k?bcZ_b#23ZPCz@fLkZ5bOq=4tx_;E6$=3=XB&-3A6^=#})upTEI2FufSm;a25sW
zSnCL>7oeu7)j9rsNFZ#7k~gMjFsvzrcHgbU)OsqtZUBCO-!@{^oB(_b+eotjOkto*
z({KasM}<STW-y+~1Od=WBohFR7H|U!5zY(kC}Z$+lGhPzIL^2hqr{B<8o$y{Hd%n<
z2{8bz#Q4M-fE5B;kruGR_mwzIKm|ZghFtptrrR-&X87H|LZvrgqY3tZYcVQ~W)F9v
zZZ}y>(5TD;{uAx6xe@}-SYC|k?boXBS3&}yH-q5?^}n^KPXIXe_x}&L)A!X>@jTSt
z`vAz75I~N~lZdw9Dg)1=Gf)1irUn{GTUwLqVc@?}N$WguAUa0d6Z{JS=lhRE$rw?q
z`<9V^qtRqhZ8(r0y6YAIjzjQL;J3c7Xb2V~O<-5>F9cAi?JJ1qY%7tC0La487|0Lx
z3jl`=D0<CzJF%g7DG~y^fFB`Xzq4e=vVeHIZB_zc3$-1Rf##tr6#?LA0k@-5fvo!0
zM;;>Db-#(Nb?-?Nn2XYw<KFi&**NGnkiTaaXdLTO(*T^(VgCzU>-)-v8X|Ba@NE=k
zo0$->-%|!&2FxSAt=&d8HTu^R1VAgXwh^A?)xg=<4mLTXgcjj<u$_i7)C6|LRy0mP
z8`+dYUq=uCt;CvC1%P7;+=Lcc9w$?!J<|747G6Vzfc@-tWP;2lS-eC$3UF#PPmxW?
zaUdT&k-7%p#0LBjHM7VohXMbCj^r9$R%|W`{7DjKYmoh)MVH>SNDBxwKL&WLk-;TT
zqiDQkzOQry79ywRn}AUb6avoxKSFKR`jH@r6Liy#5{DXXvTOmKXyg|Ja>G{O(S`_s
zs#AfllAr29LopAX4x9l@N_&CXd$AsM`#l3V2Zc{}qlFz+5KN=-(SVzQM;iPcfqbwT
zSl+M+<#ZSR3EKVge7-yl_za2_n3s0-9jEK>YTy^Br1@E><=T3r5!BKOvMAQk13c8=
z?+E0BwZOv--BIkM-;A_?8+>1J4aNd*LwOA^paFgXM-Z$9{(vg|d=w>9{R<`hwDa7Z
z-k@?_4HE!2jz6pN$E9S`fjHoo<uvFRa3~%@J8a%}mojh^DtdZ4FuoBscSR7CN~JBx
z9QZF(;`}V&cgPMm3>F5{$>t>BL8O%gnw$H9^$iyQjz8cp$SGKa$+aso2fhaE+Q@>O
zRuJ?7tI*>A9Pk0)OTd*#cy^<jfmt*~eVlxTa|hC+2RWoo7V+hjN+pa|&`(h)?wRC2
z_k05IF5vlSF<xbi>1tGKZs&8mjWH`wk(Dcf87P}^PqL{AupYP@9g_x{lXbw~A)5pf
zV4D!wiahSS0Iwte`R8R+uKRrC8~Bc0oHR-hRDE_g@Psku3Dl4!i~H3F+<|t9ybI|-
zGL~VhcxB}SaCsK^Ecxjx5QQ1QM}VIJr;u^cQEMjjmrA9+MhYIs5qLX_T?jNMw_*dn
zG8F*M<Xw)c_ul9GPQ;)M^&$KrN_$@Dp>t1GtN`xuJ%~U<*o^#f{Wp$3D|-!~DoE%|
zV5RRn5|hd3gy5Ix2yeE>UVe>YBl$nJ4J2bFa9iasK1={t2wa8w;XUp9uEf0rlv4af
z6yf(~U}`f60>=!vp5i^1Ky7XUo~-=EivWN@^#d+O$AfukGZu#q;Ber(DB|&z*l^;a
z3j*K)<O~cn51UZ{+O{lRZvp_e34tDzntL|+D=He5aVXdS0u)4aGBCN|f?y*$hRovV
zF^~-p0)K@8P0y<UfI$sLzGYuU&PShw7XO7vBX}LKoiV1->Bgzzm;rwzUrk>E^>HN%
zINOGI0RV$?2F?b~rPx9MBnV!PP7Hnpd=OY*jA<{DAV8tpfABqsKq@?et=jDf_<RTe
z*d_!vB7eYlfG*!-N`Y~}3sFe%Z%|UyQO20un+JB1^a4L8I0Ku3KcMj6LF7gNz@Xgu
zF97FJd`+N22MXo=FiHo$7{&YVV~iP_b762N`Dz0nh|gLS#MbTZ{*YlPa8zu_@H*i0
zXb1Wb*;K^M<nmBd;c>vxDDmbNWNY7SjCll^LJbWyj>#6_B2-K@i?U>a^tleWd8q%$
z%`B_N?uZjn6`eE4CKc8f-AEYRiOy+nMe*9}fQE+u)?#tz5>Q3r{{v3-e4hgGSqHox
zTc0!c8bAfB32a1;!Of`U_Y~jbY7nDPg48bP6yaG^AmmQqc4N%_z@s>gJ2Dmuoyehi
z3^3LA%?iZg57?;A>ctN^)&MG4O<**t*0Th){%$3@P-4!*=p6U&sA|tjBosD5V+DfM
z0>+?#r?>jPA%V!O23`aF2?{CzU{G!SlYuXz-g>P{AKH=EA?f}xU_+xd0xJX#Mo!F~
zecyyYB+f<VbI(wVA98jIFdTMr_o6fPccMh1R;3Na8SD(41{{>(ci)LxzlAp9`R4)P
zdyKI7p&$YP22~mU6UxT>Jz*kFL0VB;qmL2oB&sxg`K#{>4~)nbRA=&mT5l|j0DwVu
z?!Bm7*AKAAW-ZKdsD@!yJdOgIp7nj<fnoVAiZx-R-5&}j0ANsQ?Z<$Rqe{B19H}-R
z^&M<@Fp)Evu0mzflJq$YG?u04<SbHlZQ%q!1t)a)n@AgI)e1Ik=zM;MEWXSNfgaRm
z{d(UQ9~i_YwD|9W+Pgm#SOCDFbmGfUQI1PdP))0`KQaZf3@LsbMQesuV)?+J4qTB`
z{|bc`0Pq~Yz`M~gVXGCi9E}>BPS4`YoXK?)Dw&?=-jA)q_1K`fsEZ$(KmfoXzrfRI
zLcSAKv&n6SO#?U#6(z|;3$T;Sptfe;BNPtt$v;t>x!CnJn?e9outK04nFMb@rv$CC
zJB<O}j*^Ws!3u#b=v3emT1(*Og(rdkKuKkhRsRZ2B>-TMHn0>$L45#~A8&=pc{p$q
zWakU86Ygo?lZ3S4tXYp*$^8c6FMeo30Z_pTflgGO>oq8XZKLmTHJH)pM8rp^?juOx
z-dyho1tQT2d<D(#{v?YZnpgn9AZ_3Q;NO7vAm2bUM-U!}PDC<mTH;K;zoYVJp_*`G
z*$kY6qW!v(E`BITGEf>gi(x)GEqF7{n_2h}YGL-bEYpT<!Vsu~(s@W21=6Jx#lD;k
zY^rDRLkkIj3RVz|LiX|pftR9!7tO{GP&K87bu=CdM+h8<f`tzEeIuHPN_~uP0iE?O
zerQ1f0E4uF$;fH;UNm8wsT=M(l)Ha9WLrSQ5d!-HUq^*RT5_(X$g`*u)%SrdX)Jzd
z@rU9Ff}K#=q_+XP(>%VBKcn6Rk7Zp}%n<@}QE=9&<hTM=&Upl#^It-Z^xn9%v;e4J
z1wk1t{x_jTGmqlmpMJFXJ_q#rs4Zv(!3@+0_C2W1V<0+rqH=iG04B}F55=G0sp3=~
z+8cNya-_|r*!O8QG6jAQeyR;yAutwcS)W1oG%zyVD6RLi*u4I<7e5qxVmAyc2s)4;
zcmrzsxeLWL4Q{sA@vyH7!&V5CfFqDbawN)R3_O?B=oIBU*t!diSo{zKz=$}4V0WYq
zoB}+L;yDWqD(Lx9V2fuV0I(y9%QzjF=KJR4h<;QO{tKvAL~o-OeuW?aB47nU8&X|g
zh6KTZ6suRkMszHA0r+h^Vg<oybOd`Qa0tOc_za5bI~SW`-RQ*+K>)<U3W7>^pBEz2
z;6<nyM-j|}Wyr~S3*<rwfKFiEffAWovD)xfROj-WsD6K4k$rIq0w4j-@!?otFQgS5
z2P`E2TEVqwv8~KQ`!OpB+JOUr_W>u;8qG)gQ0Vk`fnNe^Ae&v^#s3T_IL;B`c1V>y
z9yz$?BQ-Z~7*x;i3^M2^5EbX7;7C-@;b@w(7hxaDRJ{oJDN^@SKi-Q<KAwJ);5ZHE
zpb*$&P@#^UQNDg&=t7RBbAaxg2?3B6btF29JsO!@`50t!y3ujoC1}TAP90f%X;Ji>
znoArLVKfp3i-4n0XPx;d7{>R#UkiK$Ii5^jga8Z@1Y?o2^)zH+&7)W+Fb3u9-;Ngj
z?@%p8Z##Z9`FZM1iX#j<fbD^OkXCRo@*m8^pLXyV%7eH9a@CT28&()}pc9y5Q3><|
zQT@Zb#u02m8JX9jVjXuNL6EtPUyJ-b@g~Rd8B9Q?!9Hk0?}y?IW&q>J?%6CwLf|^c
zrx1WaTERpVi}7NlRV_sRmr)*vXV5Y03e+{}T6EH~iVV*3>mi>{yM=IK3?=}xQJ0^6
zP$u0j$b^`J)Zs=QHQtBf^#20+6#^BUsKN>M{v3?Vto_jan~b!oMqNlBsx`R^xF6Nw
zzZKobXGu9>r;+6QNw*-5$uI`(b~_+VVLqDNyC73yJ2cTp+gH7TG<PFSz<Z29T%4oC
ziAad<fjUSpu=i`WbFVt=s~ri{>I*ff!f}uD+Kj?;S0d-#a#V?T89Kh(4Ea;<qfnfu
z+~PQz!Z@_^%|sQAW+5RlmHM7%87=<H@RT{27LK_v3Ke^qfK01dDD-%WeT_lFU=+G{
w-6$|;BXW|iMG<;WqE=g*kbUpnd!H8n55xOPhe2ETyZ`_I07*qoM6N<$f?-WKU;qFB

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_light_green_512.png b/assets/icons/pm_light_green_512.png
new file mode 100644
index 0000000000000000000000000000000000000000..7377fb6dfc99d20027c89740ca9b35799129e183
GIT binary patch
literal 28929
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%0D=LHXqm{%$q9-s900jb_
zj6TimMR>NcxE+O?1&Aoc;HfrdUZW0B<5VB&@KMhozb?MywfHZ22Q5(LJk*|mt+q>M
z=rX*^-F!g>{~%uv@JhoJSeKipV8ZZ#uIM|q35d^KRdbc+FY*YtNfB$kHLIzBa9l8v
z!V|qQCeLny{EJTfu;5RX6pubF!-)7wn0sYax6g9jJPcrA^gzq_oTMqs*Qg{659-|L
zm}v)O<Dg<_KFx3$ozxZQDI3hsXJFuV1u!M`j8Wkatr=GsZ!+{H(wDxaMsy&e^-+%r
zbht#|{2*$yn%UJO&I7AD8^9^+`jF@KDq^PbifI2RJ#*tl_;e!rwCMmrXM>Ko1csLr
zTSs^vT$r@I@et59-##IR;QO!6b-uXs?&Z^D_?{jrwG>S@U;oys05YMzdd>&k7Z+~J
z2K~4Cqr-zthWR5klKnqhZ(8H(@Uz7TgYkn>@7{muj_PAMSQW~J^?k98kPJ}sJ62-A
zU^jk?5C*>{geb!~4a!~)@fD=WWejDs6yW2LZ#iknc&@mgE=kx2U`DT0!RCrL>R%(K
zKlUQ5CSluH;PO(=OunwwT!^_fvUXxY@{K^ShWP_lDE_`2#cEh>=8|v1;I*3m05xw6
zD0@$)`V>WY|7LmI7|GpHU3?s>cwRRoTz8J^YcYLjghK_{vd58@i|u^2@*T4}0a>=*
z!e-i-8J_2|3z&+5juWjcyhfawHRpttiiDI{Nw$mj_)PfB*?5`xkP9NpNvDJO*_bAw
zu$9mk=IA`4u1m?>JM%yaN)*Z{;ULAY=ar@}I^%l1@r8QjRQv25zxNhl>uTS)Uvr;t
zmLTnQ!_q?oBJ6kiiDp}z-YUVYQ}q2z-(tsHP`B;LJiyf+_9WVgF*m^nPMp*g-3{`L
z3=gk77<{+|S(<txmSQvL{GrL)@6M*bGu<LaKM7>Sc#Wbo7<j4aV;Q=dWq7s`Zcmnz
zQq;ZS4!TP4K%Rx@0H$iRw4y8lo)!7{#UghYfmRgq>xF+TT8N(kq)vsU3#`hBz*EW@
zzrbXywc;2FnQq*y(ehC44(1Ar;8xlCizFKh0kt?#Dxf}^=>|ZW`u)`<;7?9~qV2QL
zoeP;pFX0Vml1?Owol7R1A<yD90H5uyCw=INbBx=+bp1;Ri51SpwKJnvz!T!ucw?OH
zAm3yOk-L!j`45YA^=z3GDSvpi<vUy?UYoQPc-2GsxisSwmLnl={sk>J#IIv;udaii
zFRE3p*_}sQVftB>PFLpd^)0$QXnlf(h%e>%U=ldw7SX4_cl|TsP^)X;uTmN-B*%sD
zh*iOPMk%sdyyX5-K>EJ0e;As|ii25E=jl$<dD`)DaU1896sjIbTs>97p<R3ygom)-
zZH~pdJi^pAuvdjji?yQz+YFS8yZ1hPr@_3VE@m13zf9iJ5R%96lTvY)4(Dg(5l^A4
z4P!c$)rJc>rz|-DWSPqIykxu_{?7az7BZ0JXXw*(0^Ez6P|w7dAbyGf+1{nPgE{cL
zd=c$^xPzj%(BS1xq<OqUSiSGnDqZRH+n?D(8T~FTg2dFmM2v1#qgFT2>8-h?ZZh@h
zi<<m>8TQR=&s$*t@N4^WUQv0Txe4|p_adjLS={rM&}ZSi_gE++QySegm`Atf0~ezk
z?8mfttZxW6ivREc%wtmkjF>u9Z?JE((Yy$%Se2u-EZeL(W5{CR*eUro&L#WQle5!O
zg&Oqg_u(n&?CCC*QTbPTi-u6&!*DFIg$>imw|-2NDGkaW$PY&?j__;PA@gDRT6`zf
j2`2$<S5B^ub~l2#xW@bBU0B-jPq!H8n&?z&IXw6uDK1{$

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_light_red_128.png b/assets/icons/pm_light_red_128.png
new file mode 100644
index 0000000000000000000000000000000000000000..e2767f75d1f41e1e5cdc75a547f974779211007f
GIT binary patch
literal 11625
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

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_light_red_256.png b/assets/icons/pm_light_red_256.png
new file mode 100644
index 0000000000000000000000000000000000000000..286e65fc8cb27010d27e3a44232c6671d3e69802
GIT binary patch
literal 18969
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

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_light_red_512.ico b/assets/icons/pm_light_red_512.ico
new file mode 100644
index 0000000000000000000000000000000000000000..8e0bc68aa2a15746f05e77e7cd17aa63e99516e4
GIT binary patch
literal 113172
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
FV1oCs;{*Tz

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_light_red_512.png b/assets/icons/pm_light_red_512.png
new file mode 100644
index 0000000000000000000000000000000000000000..9eb318961c87bcedf0004899ab55a21aedb58934
GIT binary patch
literal 28952
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%0DFIj#R-Um
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
TKFc`xk1i+7t<5S;-EaOstrv@^

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_light_yellow_128.png b/assets/icons/pm_light_yellow_128.png
new file mode 100644
index 0000000000000000000000000000000000000000..e0f89794e26c149fd27930f096b47c8dec577d12
GIT binary patch
literal 11555
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
Ly09u0n~47b#HxYE

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_light_yellow_256.png b/assets/icons/pm_light_yellow_256.png
new file mode 100644
index 0000000000000000000000000000000000000000..eda4336fca8f97931b27185a55f09751d98901a0
GIT binary patch
literal 18756
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

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_light_yellow_512.ico b/assets/icons/pm_light_yellow_512.ico
new file mode 100644
index 0000000000000000000000000000000000000000..5a70125e31c69bbe7f625fca7d79eadec41d0e8a
GIT binary patch
literal 113171
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
Ef_A2BCIA2c

literal 0
HcmV?d00001

diff --git a/assets/icons/pm_light_yellow_512.png b/assets/icons/pm_light_yellow_512.png
new file mode 100644
index 0000000000000000000000000000000000000000..be87851a6a9c1592390cf86503a01f827a0dafc0
GIT binary patch
literal 29002
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

literal 0
HcmV?d00001

diff --git a/assets/img/Mobile.svg b/assets/img/Mobile.svg
new file mode 100644
index 00000000..a7b773b9
--- /dev/null
+++ b/assets/img/Mobile.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><svg version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><!--Generated by IJSVG (https://github.com/iconjar/IJSVG)--><g fill="none"><path d="M0,0h24v24h-24Z"></path><path stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M3,12v6"></path><path stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M21,6v6"></path><path stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M10.88,17.5h2.24"></path><path stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9,4h6c1.105,0 2,0.895 2,2v12c0,1.105 -0.895,2 -2,2h-6c-1.105,0 -2,-0.895 -2,-2v-12c0,-1.105 0.895,-2 2,-2Z"></path></g></svg>
\ No newline at end of file
diff --git a/assets/img/flags/AD.png b/assets/img/flags/AD.png
new file mode 100644
index 0000000000000000000000000000000000000000..d965a794ee2d1a1d3ef87f873c7caee5de64a2df
GIT binary patch
literal 263
zcmV+i0r>ujP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002aNkl<ZILl-B
z|NlP&C76LK1~5ph_>YYL++@ItF9=wnVA>k+?-o$%4g~+ZO@;v<FA4v@cS!gDy~76o
zKU@$d&44f0xc{G?8uI`0gs}gYJ1zd7Uf}Wn%N1_o4S0G&@&Ad*N&lZt3Htx2L+1af
z*}ngu99JdYfOi)}fi7_Q|Fli`|I<a1|IaRR{r~o?2=NAdxFGWX(Bjzt`)4Kp-@h>N
z|A8ej|KFb@!GOQO82AIk4-aepe|S(69DpD(lG6b!8fl-920k-Uf&tozk~a{vl)3-_
N002ovPDHLkV1h23e7^ty

literal 0
HcmV?d00001

diff --git a/assets/img/flags/AE.png b/assets/img/flags/AE.png
new file mode 100644
index 0000000000000000000000000000000000000000..f429cc47a7ac7eeb00c2ab7f0ea91a138a7b179d
GIT binary patch
literal 107
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`MxHK?Ar`&KKmPx>XI7n|bhd!`
z9OtUP?#FmGOLQDMe3L=wK!RxlqlOQUoF7|26Z<^|hC{P6p5A_!b^@rI!PC{xWt~$(
F695c2A-w<q

literal 0
HcmV?d00001

diff --git a/assets/img/flags/AF.png b/assets/img/flags/AF.png
new file mode 100644
index 0000000000000000000000000000000000000000..482779b5cc33e0983d2776849006039e8c934dbb
GIT binary patch
literal 259
zcmV+e0sQ`nP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002WNkl<ZIE`cY
z|NlP&C72@3a07tgKQi8r12fD-#RLu5hlEKo0Hom{2gm=Dnp*!)YH0jF%r5{IBievN
z!o2^_xS0LF<mdDMa-jeJv+h>^4+-%SZ@~Egr~j8CeE#1o$^3skH~Ig?aIgOt0-cFB
z;BsQ{|7+>d|F4%O|G$(F@c&v??Efn%p~M?-L{{Se-L8uNx66wD-!3iqf48R!EJjiw
zp3qSKe?2Af|Mlef|0lFmNee_+6z+v$lB1Do35jR}20k-Uf&sHPDk%EL^fmwh002ov
JPDHLkV1l2GdH?_b

literal 0
HcmV?d00001

diff --git a/assets/img/flags/AG.png b/assets/img/flags/AG.png
new file mode 100644
index 0000000000000000000000000000000000000000..6470e12b4ea6a3c2f8cec251814db59ef40fafa2
GIT binary patch
literal 302
zcmV+}0nz@6P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002>Nkl<ZIE`cY
z|NlP&C72@3a047!d4MbilCV8c58Qwq{7V117@1HMsK_z@*HL8wV-Ooz4x|>O2X4SQ
zLAC#tTw-tq5+Y3hOA@&LpIR;i#vnFG3?>g!3(|vPz!@MmVB!4F$<Fvc(u?E&)s4dc
z|6CLU<4fy>z+xadkQ$I$3<E%T4W9y7QECY1|IepH;Rb-%ATf{}NX<E127qvyQ~7^}
zqGMPwNDf&oRs&87YyDS9UWcI>BnFZrXaES`@{IhC4nSh)>TntW!msBpgKGw{v8lmp
zz(slE|G%ES0AmoFWCK9>UTiiP<C3RdUKmgV0BQ+df5yX_L;wH)07*qoM6N<$f|zf2
Ap#T5?

literal 0
HcmV?d00001

diff --git a/assets/img/flags/AI.png b/assets/img/flags/AI.png
new file mode 100644
index 0000000000000000000000000000000000000000..6c8ce55032b66408ac8373e65cf842b7403c2a28
GIT binary patch
literal 332
zcmV-S0ki&zP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003KNkl<ZIE`cY
z|NlP&C72@32m_8B`5#ri_y3U#&;S1q4+qnZX`BCp#2Jid;>2(RK$<~{kqrRxL52`z
z0EqSX@8ADm05kv@fE30R&-x#gH|_tTg=_yu=1%<|S2PRF0FWjamXrIB%m*p_`3q?H
zjottM9Gvt2|Ep_YK8gV_|Dt$d#ftyE{d>U*AK!oQ|Lg8)|9@ON`2X{|rvHy_-9&T2
z^y&Zo3U{CwP~Ej39*A$BKK=jiz>NRDw|4yhe`)joH}`L&8h|gLKzPRb6aP<MfAIhK
z@#Ftb-+KIi`i7IF8Ni@l_Mf5V%zuXJ(-0cOC&>U1HZ1$k7`^B}gFzW)G!kV1zH~sb
e0fQhjQGfxn3Zp6uB6JS`0000<MNUMnLSTZ&H=o-8

literal 0
HcmV?d00001

diff --git a/assets/img/flags/AL.png b/assets/img/flags/AL.png
new file mode 100644
index 0000000000000000000000000000000000000000..69ba464d8aa7d9dc071feb6c8ba49008d5a894e5
GIT binary patch
literal 291
zcmV+;0o?wHP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002$Nkl<ZILl-B
z|NlP&C76LK2AmUA`%ezWX~1Pc_5Wvq^aUWk2*hWhVni8mP(b<rbRL=iMVz8wTnwc_
zVh06O2pez|s3?U)_`d=(+kaJN_WvqC3}UBn2!Z7Y8gN`d^?xp>$bS|FMxZPM7=ze3
zK(XV*7;s8Z^?yFl$p$Q(V2vOQV&?-5I0ZDEpaG|W1~hR?{IB8?|8K?0{oj(63(N+I
zf#e7pa0aMoA+Oy3b^HqdZGi?@1Mzww8zgpy*l4^0jI!%O8viHqNdKPz#31$+Vxtim
pUjk~ngheCK1`wSR2R<`Vf&tP$Q3E`%r(ysA002ovPDHLkV1nnaaj5_R

literal 0
HcmV?d00001

diff --git a/assets/img/flags/AM.png b/assets/img/flags/AM.png
new file mode 100644
index 0000000000000000000000000000000000000000..5b222d90c7b7884c98e7012dd1f8a2908d70062e
GIT binary patch
literal 105
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`2A(dCAr`&KKmPx>XI7n|be4nJ
zLBz5`Lh`_Y4X^AiD+DAz)T>QUV&_+9X0tO6Y+!tHvfO^c1rv}#44$rjF6*2UngB>K
B9T@-s

literal 0
HcmV?d00001

diff --git a/assets/img/flags/AN.png b/assets/img/flags/AN.png
new file mode 100644
index 0000000000000000000000000000000000000000..2c9e769ba8e26ab7979f262720e236b88b4b9e6e
GIT binary patch
literal 145
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`5uPrNAr_~TfBgS%&#XG5F^Vmr
z!TQlA4GDG$9X11lkpIWqgoUpC^Y@GUE<fESjCq3T&D-Z0lVjQvO&OMPE@O04mTtSw
sP}001^N2x$gp0B%kHn8NE@o^DFSQ<ji`~$s1GIy|)78&qol`;+00t#5A^-pY

literal 0
HcmV?d00001

diff --git a/assets/img/flags/AO.png b/assets/img/flags/AO.png
new file mode 100644
index 0000000000000000000000000000000000000000..129a2d9e7a49e00433d79e28e2559f0891ec18d2
GIT binary patch
literal 241
zcmV<N01p3&P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002ENkl<ZILl-B
z|NlP&C76LK2AmUA`%ez0j{!HGl>T3oRVB}WYi7#-KWvcr|9Ou%m`#!aAPpdm&+29V
zKS-Ac8$^-;xBV3Vzv!0!e=k}A%m*2ESxW`G0YLB{9oJ-Y|6etU|Gxk)BN)FpAp)k6
z)!;QCHh|-QZY<~j)sy)C*JN=44dcU5gVO+zO*eN5f$^!eg8yf?^8WXAW+&bN7}nQd
rfjc`6=ps8)R?-Y0gsGPo2Gjrm;oLYvJwA}200000NkvXXu0mjfJm6xO

literal 0
HcmV?d00001

diff --git a/assets/img/flags/AQ.png b/assets/img/flags/AQ.png
new file mode 100644
index 0000000000000000000000000000000000000000..565eba0f20a796c113d25d83340cc5fe9ce44189
GIT binary patch
literal 382
zcmV-^0fGLBP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003+Nkl<ZILl-B
z|NlP&C76LK23Xae`;U%ID$o2kt~m4Guna<5)?lhZF~9<-z!FJw*4$hF4_tl!f6a+k
z|5In){BKr$_P=5Ing7<<3;>z#)_U>3Y2{h4Z6L!Qz4`GU8JxNM>3`9pJ7B{x3@`=?
zW&>?pbnwN0$EFMa3l`q~|M%a&|LEYtgD(*8U~_>v(2095zx)5@^RNFufB*fD4Lo@D
z{l62?0+3paFwieM{l8@K-T(N&U!bFA?0yPXi(vpLfNECW`~T<fKfH!)JoDzi0X73*
zh8(`}0j~k2OYVZzVKo5cH}|%S|2sB5{NK0b@&CE|pZ|aI_6JH#m{&uh9IF8^LqLAi
zEdk=v)Blg%{P6$BufP9qJ^%JUV&YYBEMQGY*syiox&OXhm;VR%UHxxYe;%Apu%^U;
c&rFnH08MoSM~M+7W&i*H07*qoM6N<$f}+~Mng9R*

literal 0
HcmV?d00001

diff --git a/assets/img/flags/AR.png b/assets/img/flags/AR.png
new file mode 100644
index 0000000000000000000000000000000000000000..aa5049b30d8dc0ab80b35bfdd7e1f1d9c07b1dab
GIT binary patch
literal 209
zcmV;?051QDP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0001(Nkl<ZILl-B
z|NlP&C76LK29&P4{hu5>hz$6T1^oN>_y4ai?|}F%n2iHqH{jpjKmR{HJpKRa!HNH$
z?(hHq@&1Yb|Ni_Y-hf}9UjsEy`u}vPJrLXef3mOV|Id#vi8tWqr&mCmd;dRQW(UMJ
z|DWvX`2XYMGt#{9@&3vGPxkiwf4sZ>|A)Ir@q1x-q=Ny@Oq5^%`yVsB?7&ky00000
LNkvXXu0mjfFxhJ5

literal 0
HcmV?d00001

diff --git a/assets/img/flags/AS.png b/assets/img/flags/AS.png
new file mode 100644
index 0000000000000000000000000000000000000000..f959e3ac2742a8d0b78f10725c61f082bea00568
GIT binary patch
literal 448
zcmV;x0YCnUP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004pNkl<ZILl-B
z|NlP&C76LK1~4$B{U;WSFvb55XLtKQlUMIQ(FSlcCjIwh^Zwt%WBh-wfa3pyvbz7T
zWtQMKfQ2FDzZGlX|3+@}|2qYg|L+%5`+p%U>Hn*(JO6)s_3HnZH!rappwANezmUuJ
z{|0_Fux)2O!~Q>>webJXSFiuy+`an$f()PkwHA{9@1H-4FhHI;`hOCK)Blxx8emPw
zO<n%qYoGA{+uaBM|9txf#-Coj_&?c8<$t9F!~e;#w*Q~MdV??kqzM_rG{N!r@Bbg)
zKKB3F!-xN;I?Mmx*pl`C<EPIE15}tJ|EF*`!d-CE+VlVYu1N?NeE;(Q{?Ug256{p1
zzju1*|EIT3{Qvj+H})_vWC{6S!e#S+6Td1X47?-$Kbg1m|F_o<|KB;<{r}w7-2b26
z+yWa+FcxfB1O7L2o55q@Vr1(7m+QCw|NY@3VFQpcFJt0=A2zT5eLO~xbf94H|5{Gj
qf3j0zG>7Z|dAvIRsh1Z9)Bpg0pn9g{p}Rf+0000<MNUMnLSTZXDf6NL

literal 0
HcmV?d00001

diff --git a/assets/img/flags/AT.png b/assets/img/flags/AT.png
new file mode 100644
index 0000000000000000000000000000000000000000..aa8d102b6d8c7afa4cf15d612123fa260a82b744
GIT binary patch
literal 98
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`nw~C>Ar_~TfBgS%&#XG5QHyQQ
v)h&Pg`Q-fA{;13Ih%vh@E;L9{^D<z#nS3j?X^m1hP!ofvtDnm{r-UW|vj7|-

literal 0
HcmV?d00001

diff --git a/assets/img/flags/AU.png b/assets/img/flags/AU.png
new file mode 100644
index 0000000000000000000000000000000000000000..f2fc59c8350fd28b2424a73b9797f720d4ede68c
GIT binary patch
literal 228
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`t36#DLo7}w|M>sko>_H9qZONs
z<tO`9Rqy{Ri_iQ2UtW%Hne1h=|LmQ{66cR}K4fb!X%<nIW_Z-h<9O}E&)52I*cu}0
z|Nr~T&*s29fiX~zA-gHja_9dOH91oA_x)<hVmPy3BQ9d&qx$^+aU#4sVhw74)$czf
ztHBmh{`R<3$J@{6lcgHY&v$8MH2Xg>mBHil{(7LT`@b-)W}9=d<8*&YW#bwH36`0i
bOgs#$d;8T>TDR~5oz39s>gTe~DWM4fK6_lw

literal 0
HcmV?d00001

diff --git a/assets/img/flags/AW.png b/assets/img/flags/AW.png
new file mode 100644
index 0000000000000000000000000000000000000000..6ef2467ba5e11cf4547d8521eb34b6ae1d7ec8c3
GIT binary patch
literal 182
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`wVp1HAr_~TfBgS%&#XG5QH#yR
z<lR5{dt08@#~eTSKaqF$|K=Y@5_T{qI-ITSo&A5k{_GF-%PP<RF9_o8cyIHgzB=*w
z|MS<b{ZBX7{V9L1tU<$BKriFYXZy98zyBZITKuow^u6+3)+4`Wma+ZWqxNmSjLn=F
ihmDNP^Ji)tWN7_$?CrM~kF0?XVeoYIb6Mw<&;$T1+)^t5

literal 0
HcmV?d00001

diff --git a/assets/img/flags/AX.png b/assets/img/flags/AX.png
new file mode 100644
index 0000000000000000000000000000000000000000..21a5e1c0cfa0b93f823d0094355d8c1e8c517d1c
GIT binary patch
literal 121
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`4xTQKAr_~TfBgS%&#XG5QH#xh
zMgMPq&;R+!Kk7XXu=p%Ky>NxJ8(V|OqU0Hj6^3URCL|RZe2p=X>TOmu4s2q4HMQ0C
SXQ2nka0X9TKbLh*2~7Y=E+?Y^

literal 0
HcmV?d00001

diff --git a/assets/img/flags/AZ.png b/assets/img/flags/AZ.png
new file mode 100644
index 0000000000000000000000000000000000000000..b6ea7c714c50a86484667c59ec01aa4857005638
GIT binary patch
literal 267
zcmV+m0rdWfP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002eNkl<ZILl-B
z|NlP&C76LK1~AMx{GS{=hzxkZVDkSZi#Y@{82x{v;Pd};-HiY5{R;oTWVZy0=^^By
z7^DZqfLB1lS4^h=U-4M||F!qj|BsPX|6g&L{eP<&`v09}B1E3q975wV;3b3M|F=33
z|9_vk4rJ>CvG)IOGuHn9^XSF@*L=1>3rz4E0CK@=9_#<V_MQI!F|6YMD^An@Z?(hz
zzqd&S%A3J8V>JK~28RFNDEa;W(m3n?2VfYyA|?zN)}{U@2M;0x20k-Uf&s=IjIBna
RB{2X1002ovPDHLkV1nFPek%X~

literal 0
HcmV?d00001

diff --git a/assets/img/flags/BA.png b/assets/img/flags/BA.png
new file mode 100644
index 0000000000000000000000000000000000000000..570594bb173c6ade3153b570588080b774553134
GIT binary patch
literal 355
zcmV-p0i6DcP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003hNkl<ZILl-B
z|NlP&C76LK2E-R__&;sw<^PV}DgWObWc&aB5>WUI4h)pz)$RaexB*%&)BeX4tp6WZ
zvj2Zfa?$@+2Uu|%g3SOn)z<%l`d$C$t~&qUGIZVl;F!Gs?~brzHw2pjFaZYn#{YeD
zPW&(JJpJF&H4(cZ_zd9EX#X!~IpKdm+KT_}GcW)549djx4n6}wm_@nyzq;ep|3xi3
z|GOt{{U4uR^8Yn*z!EY5ggMpQ{<EsK{9m^5@_)C4Ent_tI|}s<F$Tae8_<xl_TB$G
zW?lJj1q_q7hk=INAi)53wN|iq{8Co@FX=c1iJfCi#2df|4wIJuvcQ1to_X}YY2cdw
zDH++s8vw&RTJ1pBwEZt_+x_1&aSf&c1D}~F!2nbTgVo@xNzDKN002ovPDHLkV1lub
BtqK4D

literal 0
HcmV?d00001

diff --git a/assets/img/flags/BB.png b/assets/img/flags/BB.png
new file mode 100644
index 0000000000000000000000000000000000000000..3e86dbbba97f27c1435c6d6a64859432cae7265c
GIT binary patch
literal 159
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`X`U{QAr_~TfBgS%&#XG5QH#xB
z#nu1r$Nu-PPCP2{DkJZ}@4H(6->(l=Ip4sNzwbZm!=?nDq{*oc^^F=5lT#1;TWR!P
zwr9ryi6d$^87BNs)MMCqlFKE4VUlb|v$Cu}?tug8YF-8mwZ=t@LtU5V18rpRboFyt
I=akR{0E?YGDgXcg

literal 0
HcmV?d00001

diff --git a/assets/img/flags/BD.png b/assets/img/flags/BD.png
new file mode 100644
index 0000000000000000000000000000000000000000..fc7affbfa97168d30ebd7bfe795d733063a0bf64
GIT binary patch
literal 211
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vpiiKLo9lefBgS%&#XE_>1+YB
z#HK(0CO2m$H#ki?|9@)Py8rfB*8l34KmJkQx%YMb%9Qv=JP-W7|E)iI;^%*HU3Zb1
zV^@CKN3#jCrTnZ+$Y^_bBEkO<TglFyk4+ZbIz4v-qbB1#3tkT8W2|!=>gSms<Y_+q
zOz%i5BS*87jL4_+U*`O?zgGUs{`SSU`#rQKZZs(1%zR)htSZ5f*%?%?!~Vb;=t>4p
LS3j3^P6<r_88KNs

literal 0
HcmV?d00001

diff --git a/assets/img/flags/BE.png b/assets/img/flags/BE.png
new file mode 100644
index 0000000000000000000000000000000000000000..182e9add54701c7a5af2c489292c3ae90fcb7b2f
GIT binary patch
literal 102
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`x}GkMAr_~TfBgS%&#XG5QHzb?
zV13D-=j)WY{w+%EYjo$8Fin^sY4BlYrw|VVvsnIuB(+&@fEpP*UHx3vIVCg!09d&m
AjQ{`u

literal 0
HcmV?d00001

diff --git a/assets/img/flags/BF.png b/assets/img/flags/BF.png
new file mode 100644
index 0000000000000000000000000000000000000000..2a861b5fb1d7eb9804c7cb5dfb3f5f751eee4338
GIT binary patch
literal 166
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`xt=bLAr_~TfBgS%&#XG5QHyQQ
z^=p6q`Q(_`YQ9`xN#4Z!<JuaIV=B@gEM33;e?R%r|Nk)}%*g`MDs7h;+A8P$zqs*w
zl=cor1v4|#3SN!-X+QQ?PuG)ZzM&$mu>FXn_UsJij)PZ>6CM}~t4c83ZL76T+?w_P
PXfcDQtDnm{r-UW|g`z$o

literal 0
HcmV?d00001

diff --git a/assets/img/flags/BG.png b/assets/img/flags/BG.png
new file mode 100644
index 0000000000000000000000000000000000000000..903ed4f0c7c7b89aa2d9015994b51a94e3de6849
GIT binary patch
literal 103
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`dY&$hAr_~TfBgS%&#XG5F^X*h
zcUvzb&*e}5CO5NBWW0W*1;}Wh%-F1CJh7KCIsJNaT#4^ApiTx)S3j3^P6<r_wxuCA

literal 0
HcmV?d00001

diff --git a/assets/img/flags/BH.png b/assets/img/flags/BH.png
new file mode 100644
index 0000000000000000000000000000000000000000..e2514bb98238a298f326a3bf77eba51ce84d03f0
GIT binary patch
literal 129
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`9-c0aAr_~TfBgS%&#XG5F^X+L
zL;34%|MoA*`uKm&0;#y3%M1cP>K=dle|)O$6Uh(XPhbCkU1yJ5tihq!4|SjQCIvq_
ekgm4Lkm2H~2O_WfS@?lwGI+ZBxvX<aXaWG2Ml{+0

literal 0
HcmV?d00001

diff --git a/assets/img/flags/BI.png b/assets/img/flags/BI.png
new file mode 100644
index 0000000000000000000000000000000000000000..82dc6c5b8253c4f760f231d1c94c140713df4442
GIT binary patch
literal 454
zcmV;%0XhDOP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004vNkl<ZILpnG
z-z!657{~W7C>O3=u6DtVJFetrDWxW%P~2=SVK>|;CEQreVlGz7wUibaCPQo}cEf66
zthU+gx1F7x?VR&<&O19g7=;VZ+qceneth2NeS2O70L5>l_$vUoEQQ-1EiS5*U+Sh~
z5XD3auT}!s!_Kk;;W-ODHFXG#P9V9qfyAl}54tf@9Gab%^7bOfZ-Cm(MofDb!0{Z)
z-LM=B|LGwD9v3+9V3TR7*yyuDtdRjkb-9PYa0QZ-V<<QcIvk7-gW-$BC&v2D3@GP+
z05mw-!1KJc6IIM1C#Y-%0id$CR0gPz`pGe3u^=d_bWyypo`vs3JWSwC`<lvt`W-dW
zsVKJETXAkNl9p*Y3%6+oyWJXO1d!6+Tp6G_(Sl*~c=UUbiiOGUVn@lR5Tf@!<b_zL
zOaD1w^2$WcC>oo};Jp>&$x=)JPF<Vjfc4<Elo(lD#$~k%{(%uhmsZICU9X<_B4(?U
wXA3zXpG2A_Mc+-L2xEmgkxk;icuYUm3m_Q_AFvvuaR2}S07*qoM6N<$g02_L9smFU

literal 0
HcmV?d00001

diff --git a/assets/img/flags/BJ.png b/assets/img/flags/BJ.png
new file mode 100644
index 0000000000000000000000000000000000000000..e9f24b0b9dc3f169c040971a5e4dc7c9e25ae379
GIT binary patch
literal 106
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`hMq2tAr_~TfBgS%&#XG5QH#xB
z3;Vz0ZU19L4tKlrE@)@eXDR*oD3EyqkHn8NE}U!(J3G3XpJW8N0yQ&uy85}Sb4q9e
E0P}w#2><{9

literal 0
HcmV?d00001

diff --git a/assets/img/flags/BL.png b/assets/img/flags/BL.png
new file mode 100644
index 0000000000000000000000000000000000000000..533cce919aeb52b42424efd8c67b73d94e95383c
GIT binary patch
literal 539
zcmV+$0_6RPP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005vNkl<ZILpP;
z&ufwa9LI70g#Ly8fUY&V6m%#S-GZpgj#EOJmGq>d4@8%3+SU(;ZTb)_+nDnQ3|g}p
zX`#(DO=*>zZlP<_v3{t}Q<}UxbP%a^SV3R-oWAfne1E6_)!#(*uYkQ)H;~C>sn@@u
z)T>m>X^OAsSbOu3kJUV_W`p(jA1D@!zXF9q0k>PiYPm#ZGr?*uh;QsLK1UBeM-Ow-
zDH@+wdA#UC6h(Y~Ke8-$0KealTCL%_eUMznP5$k3yc7L|e0t`mH3TO`HcBxT7j9xQ
zThQrr<n#Fs5DtgYYPHyGb|%K%IHsQ<IAaKo5N9k=&JTHT+?{9Kc?VInA_xMdQmF$p
zn@wCU7bcSl`^YG_#T!UhrWiGPxN!Owh7%VVzB<C-@DN6$kw_%cJ%e_;jU-73f{{r4
zK5^3k@k7V(o;*k3z(KtG_LG{iF*WN%uQ!lLB)S1bQAj3}WM4&Tx3-CAEA*=GalHQl
zNBSl?YY6hGUZ=XXO!{SvTrT(fHOjR#JJl!vW4<pO?eoy9dBoE4&;C|<7O3rh2LOs(
zVJ&B)m^CxwxAN@iHCB?B*)9iYeQ*8wkN`H<Go%6oY`k0GYvToSEyc=`L^@<fQRH2L
d|Nl&T&JRSdEE|))z_$PZ002ovPDHLkV1j=3_>2Gm

literal 0
HcmV?d00001

diff --git a/assets/img/flags/BM.png b/assets/img/flags/BM.png
new file mode 100644
index 0000000000000000000000000000000000000000..5b66e1f697622e7383ba3637b5a768f0ae556722
GIT binary patch
literal 321
zcmV-H0lxl;P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00039Nkl<ZILl-B
z|NlP&C76La1{^u^KdO4~|05Tk|NkEz4yGN`Hvb2Sp8+bth2aK(G=mf)8vx>i3?a$@
z5bN*XzyHAiXaF)G&H#`m7?zX!kIV-tJh^u5{})%U{a<Nq^Z(A?z5lQ7+=*%c%)cmJ
zSh3=NZ~tDf!kZT_{l9bI!2kJDg8$F2SoZ(n&D&@$m_Gf#U*QfE1FF0B!vpd7#!dex
z)JOb}s4f1V**fw6vDK?l4Z!D55Z>9__kV6>=>MWbkN-Ux3IBH#<dJ4TQJ(Yv+VaT%
zbLaN|Zzv1-pP6n-ngItH8UE)QaR0Y%R{5W&!|{JV69Z`m5R68O4HyKOi2@7&bMce6
TVRTh+00000NkvXXu0mjfs56)F

literal 0
HcmV?d00001

diff --git a/assets/img/flags/BN.png b/assets/img/flags/BN.png
new file mode 100644
index 0000000000000000000000000000000000000000..64cfbb9f596e63865e55b96b11ca3fda9d269f41
GIT binary patch
literal 518
zcmV+h0{Q)kP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005aNkl<ZILpP8
zJ!_Kz5P+Y1Kib4MMcO9Ppwbc=i4GD?KoAuX#4!QEQ3OG7_cyq?xK$ke4{qX8ocoa`
z(Au<3N>kHXNgA8JU+0jJP*fZ;c+0^J&)q%TiK;S67>pPeK({)fhy`N*&J^G;Lq=vB
zVgQ&<5wWj;jDdC_Z1uAG$UkP3z5_+Os9z)W*3i=>L`xi$E3`KEn0t6iaN>bjfZfkR
zWVRvJ5EVh}G^U+~a|Hqynu~Af9&AA24(50X(F#GQj0R26lc9rRu|O`DC!f!8^+J-V
z)Ev9-KHx7dgCA0UdraolYudFfCQ}orzlpl5!xcnipy`nn<L<Q#oy$pL(+O^6Z;+Tt
z5UtiRC#Olhe0D~Gs46d>I=WQySg-nw9T_|!MtI3(ryk(gQRXua&b~qW!F?{?yUopP
zmics=cs$+%@I9&CPi6lwWP3$f{-`*s<6JkQ_<qReMu&xiA8g<bTF2uFn$2%LKzDma
z4FS^<%m^IU;p=+~4h`J4AjyC)Q*A!2bXlwTZ0!WN9;oUNaOONMzyz-aB4D2f+ZOPl
z-3qDghLqQR9zQ?&Ghkq-e?%G%Yo-B~EntEq_C)^sGmQ-R1-cB&o5bi<#Q*>R07*qo
IM6N<$f@QqtE&u=k

literal 0
HcmV?d00001

diff --git a/assets/img/flags/BO.png b/assets/img/flags/BO.png
new file mode 100644
index 0000000000000000000000000000000000000000..3f0c41f7dc839190a522637e217fcf68a29ac631
GIT binary patch
literal 236
zcmV<I02BX-P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00029Nkl<ZILl-B
z|NlP&C76LK2HcQi{Z9@aL<W3+B=R2}|9m3y|J_}Y|4%Lo{{L_n!beww(|{k3MgD)f
zE%txe6s7-hna2Mw@00%j<B2Ho2K;_4`v2~9p8rkl?*CIal>J|yBK7~v6`}t>o)T%m
zuUDe~UoPSPKe0&ne|n4e|AU!)|9{*98t{ZzF97kE2crL9oDuy0@}$83w>N;|kMV>7
mLzV4+a_}HBVBj+oB^UsIQISPOuC$;40000<MNUMnLSTXuUvCHi

literal 0
HcmV?d00001

diff --git a/assets/img/flags/BR.png b/assets/img/flags/BR.png
new file mode 100644
index 0000000000000000000000000000000000000000..f97b96a2c8a7b10bb6b1719e50354402ad08d028
GIT binary patch
literal 432
zcmV;h0Z;ykP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004ZNkl<ZILl-B
z|NlP&C76LK1~5#r|4$CaZNLP_{|ply{->-~{+|lOAU0TxumM1Yea`>Y=9vCpv03E*
z^@XB9EcSoZ7LorNKrxUUSPfPKCOG|P1lp9dQsw{MZCwBJJ^lVG@D~1;;mG@+?d<da
z-gd74d8?HFGl5;>glYgt&~%RR|6SV!{{KJC@PE^^!2kXcbN{EM%={l2G2y?8bo2lA
zIP?Gi&olhr15{%+#|Uf?+yI?frvG0ZWcmO9Bm)>Hd4&B}60Z1fq*V6b&9>=(WWucf
z&1HH2{~d+Mzd6YKUw4)Xste44rtaOr54NR0!{)yXU)_Ig$)f-2A_f1YxNH9}ZT0>C
z{~W{reLyu9U>9Hs17@ILKG2`{fnkv6;s0Mrp!mP4Na_D#zmWfTHgWzh0LBPN4MrHi
zV__mB7C<4s3K$F57Kr`7I$!MnY9L!{jtL|dCOQzG4${^r|Ib*X1c^H0(gB$%ao{r(
aB^Uq?rDjeovnxvg0000<MNUMnLSTY%h1C22

literal 0
HcmV?d00001

diff --git a/assets/img/flags/BS.png b/assets/img/flags/BS.png
new file mode 100644
index 0000000000000000000000000000000000000000..10a987f18b042765c71ce6715276b3a15b39dcd2
GIT binary patch
literal 171
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`MV>B>Ar_~TfBgS%&#XG5QH#x>
zqUB$DMCBj*!>=Z*B(^X*bR9hK$^P)4yCM<{hlGs&ORBA3dVoRT*~8!GFIdcFVs4l*
zbLPkYEpA)?@0YW9c+`To;bCq!?+N1uBk_hq3#tw|9BG;+$ojJ3(iDpiGdqQN7;f;i
V?mK9_GZSb#gQu&X%Q~loCIFxaM1%kU

literal 0
HcmV?d00001

diff --git a/assets/img/flags/BT.png b/assets/img/flags/BT.png
new file mode 100644
index 0000000000000000000000000000000000000000..fe52b87270e89ca53a2b0cf01846d8b97b786ba5
GIT binary patch
literal 449
zcmV;y0Y3hTP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004qNkl<ZI1#16
z!Hdjc9LMqZ_nGH6Glm1EaG7G)!9lVVMXnAGTmA_DfHP{#iHqV7*c{|el-h$mC>%tV
zl{QUF?K0RfJHP$?p6B`4J^Zv`_A;-RNn#X^5qZ|F+&dzM5~hHx1{mf+!N?y)_T8K_
z$CiX-<i3OO;38qA$?Bbw;%Q=oXDES0(LM(UE)e+vU!IdsKPJ6@hP5&_c!p6#VSw9n
zhGZ?u`31_ayP>;;HH?bme-u#GCha;7-(KNll#3szkL|~gjia)p;`v8HR;N688JdS6
ze#eS6Y_Ut2c>tf6uzG`v=Pwq1k=iGTaWC=46|CJMoj3(=UXqqSVXJ-c85PGLLL@@_
z82QdgVn5M1dYX9uE^+!6+b><Cadr|F1)F&)wSaa^kmu)#w`XB|nYFnWSc=r%y=E|V
z5n{j^O*Zqavj&8Zp23qInxBH7Jz5i2DYA?pux%|;cLB_S&j3*|N%XEC*5F}8{eaaS
rm;+aX6xm8=_N|#DM&THdV?@6J^n$4Ta>_z600000NkvXXu0mjf+}_Nf

literal 0
HcmV?d00001

diff --git a/assets/img/flags/BW.png b/assets/img/flags/BW.png
new file mode 100644
index 0000000000000000000000000000000000000000..8da822f159b909f9ec1f4d56bfdea63226781cea
GIT binary patch
literal 108
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`#-1*YAr_~TfBgS%&#XG5QHyQL
zx?O+g%h+`A{P4GHkYHf>fAV1S35Kr22^CA48PEAlNnjB5J;MIEs_QUNJA<dIpUXO@
GgeCxPdLxVg

literal 0
HcmV?d00001

diff --git a/assets/img/flags/BY.png b/assets/img/flags/BY.png
new file mode 100644
index 0000000000000000000000000000000000000000..772539f890823653455374e6eb6a66f683f45529
GIT binary patch
literal 151
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ah@)YAr_~TfBgS%&#XG5QH$-*
zzM{APmp|$GFMp@@fJsL^n}#dLVcs95Z;t#oH#$|o^JsDk!wI((X0~Ij`CEAoCNeB)
z@8p(9GZHvbk=&@lyy6klmnj~T7@6nK)HulS<xJ^52lhh>K${pmUHx3vIVCg!00js)
A7XSbN

literal 0
HcmV?d00001

diff --git a/assets/img/flags/BZ.png b/assets/img/flags/BZ.png
new file mode 100644
index 0000000000000000000000000000000000000000..9ae671554023ede8c490bcd758ffff43147df228
GIT binary patch
literal 337
zcmV-X0j~auP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003PNkl<ZIE}@V
zyGp|V6o&H#(g$$R!FTB7rsyP8i<=;>4tW8gHQo?Zszz|KP)OU<SW%&AFhkl{6^)Tn
zXor@fbWp+7@iRIU2QgxV4*zm4ALl9nLJ$Q??gE_95P#AC0fgZdx(ZA5N48m0PdL3T
zpt~lCyurYf{OS7|`z@evbOXgQuv~=&b(Z=45sa%OTE!wXw&f3q#M0c?bQ;MyQW+6x
zeVm<{37mR?$#~iyAnxXPe692L)S-EON!woKrPcIo4MbV>2TaGa)H)Zq4`rldnI&zR
zYTKsu>=KRrqJob;Go>PCRU>B~kS(P+yHPl_P0zRK4-mqO-o*Ei^XC{&8S}0};z(yO
j`ok7_e@MN5rXYF;-WrKfJeI?H00000NkvXXu0mjf+QyW=

literal 0
HcmV?d00001

diff --git a/assets/img/flags/CA.png b/assets/img/flags/CA.png
new file mode 100644
index 0000000000000000000000000000000000000000..3153c20f501891c85346dfbabc6bd01206b8fba1
GIT binary patch
literal 177
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6`n4RAr_~TfBgS%&#XG5QH!nS
zqQQUu!z~Q6qN1ce{QLX=|JSbqJV}#t9O~^|q*@$v7V$>x|M$P1nVF+alHoD)Qx0i^
zdOIg&E4EXDW(-f_Q*KX;Wt^g{$K%kZU@d#3jZG!<;*NTImdSJZ&dqO6n5Dj?@x0HJ
a1cundpC0O!r<DTTz~JfX=d#Wzp$Py?>pyP*

literal 0
HcmV?d00001

diff --git a/assets/img/flags/CC.png b/assets/img/flags/CC.png
new file mode 100644
index 0000000000000000000000000000000000000000..7e5d0df21c9abad0d15f31ad2f16650df9a0d52a
GIT binary patch
literal 259
zcmV+e0sQ`nP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002WNkl<ZIE`cY
z|NlP&C72@3a03_`82*!kQ49!Q!0`X}C5Hbi_CeSr8*u70!+(u_hW}j64F5MA#I0$@
zPKN(HEm#bAb)Dh=*)t6Pn_3zE-@M51Uw0zI|10Mi{x96a@ZW6~!T`Qj2+i4y#S6Fg
zGW_4#3}Ih9$MC;l143iOLWciLjSx0l6T|<-d(jNQ@ZWug|2ESQ{7|5w?9C9i{v<43
zK*#7VK*pjSL>Pc83}CJxXaFv}0B9gLwpgGzAyH(&z-J~(FaV17GA7$d<4XVl002ov
JPDHLkV1j-kaKiuq

literal 0
HcmV?d00001

diff --git a/assets/img/flags/CD.png b/assets/img/flags/CD.png
new file mode 100644
index 0000000000000000000000000000000000000000..afebbaa7466fc24aee7bfafbd31503026a0d790b
GIT binary patch
literal 432
zcmV;h0Z;ykP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004ZNkl<ZILl-B
z|NlP&C76LK1~AnB|F6?`4U9o-T-a~+w*Oa7S^ociP2&ICrBeUl26)cg{eSNvzyG@q
z2L1=J(KYJzUjfU3G=A7B`Tv%e-2Za|ivLkuaPEX17$a*GZ-4oJ`j#TF#xEx%|KCrN
z{eMnK5v=)wi~_;{&Zh7GHG6M@F;DXsFs@qF`~USN<^SI<O8kFXD+AU5(g-pDWDv+e
z6c@m7!osEhADq(z+xlv{^#3b5P>n!*+h6Yg$6b<OIgpo746vPY?ElGQ&S1%RYoz|)
zaFmB@yk;s74m6P5#go?Hzy#@m8?bU$B3Sa%e#!rL!sOr@FDWbhf8Hq#mV0(V<A2)X
z1^<~F{=i)eH{k18iT{rZWdENRhiC-RAU;U^;}zNeo$KrW^S6A&h#j~AAe&&e-iwt3
zy98t_$Ysji_i&~QxB(!IAV0s~2=ON<EI?s`FHxZw019o8##?8M|3}SVO;96-0Rx|z
aD8T@AqqKmybPUu00000<MNUMnLSTZc)zHNN

literal 0
HcmV?d00001

diff --git a/assets/img/flags/CF.png b/assets/img/flags/CF.png
new file mode 100644
index 0000000000000000000000000000000000000000..60fadb290a454d87c91dfaee27eb539ea550db9e
GIT binary patch
literal 162
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`nVv3=Ar_~TfBgS%&#XG5QH#w$
z!sIXe!x?8D{5LS;h!-+oOinRO=}9_pM6dh5xOrD|<|ZD2?b^Td<>zrM^E7*4&&OcQ
zz%QZ0mf>^#M?ddjo&&1>w#@(LGY3T&+~Kx(!akXidEQKogADG<2STU#eq0H(l)=;0
K&t;ucLK6Un=QUXX

literal 0
HcmV?d00001

diff --git a/assets/img/flags/CG.png b/assets/img/flags/CG.png
new file mode 100644
index 0000000000000000000000000000000000000000..7a7dc51d4303d4512d0f9be9170a419d031850cc
GIT binary patch
literal 152
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`@t!V@Ar_~TfBgS%&#XG5QH#yM
zr}Upc&$^p0zy1Git8Y+uIpx=U73K@3_X8)Y-($#`)oI2sJ#7)sf#ow7Ft(UHHf@kN
zYr(4!W*o-saj_?nVdbnq9tC&fE=K10Gc^t}WaqSR(5vl~2U^A8>FVdQ&MBb@0GAmw
ATmS$7

literal 0
HcmV?d00001

diff --git a/assets/img/flags/CH.png b/assets/img/flags/CH.png
new file mode 100644
index 0000000000000000000000000000000000000000..dcdb068efa0f8f183f68195945455120e60f3956
GIT binary patch
literal 100
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`+MX_sAr_~TfBgS%&#XG5v5Ku>
x#*zn$Neny}?lZ(R)Uol@Nbp>2F$vfy$WWRwwf#<-a2ik>gQu&X%Q~loCIAC<9aaDU

literal 0
HcmV?d00001

diff --git a/assets/img/flags/CI.png b/assets/img/flags/CI.png
new file mode 100644
index 0000000000000000000000000000000000000000..25a99ef24f7365c96e8db61c0deec2e9e3b96d4a
GIT binary patch
literal 100
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`+MX_sAr_~TfBgS%&#XG5QH!l+
yefp37zKe{9_ptETWF1(+*nFm;@x0HJ1O~g1E4v#Pl&}D`F?hQAxvX<aXaWFI%pdsx

literal 0
HcmV?d00001

diff --git a/assets/img/flags/CK.png b/assets/img/flags/CK.png
new file mode 100644
index 0000000000000000000000000000000000000000..c8eba16903d0b7edea387df17cfc795b008b7e82
GIT binary patch
literal 331
zcmV-R0kr;!P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003JNkl<ZIE`cY
z|NlP&C72@32m_8B`5#ri_y3U#&;S1q4+qnZX`BCp#2Hj-abmauAk84f$OeG;AVY{U
z0L1$H_wRo&02+V{z>4Lo{`2a${Fk@y1=AotssSKPFf1qcADItQtmQH3e?Zo<|8`-s
z{s#hS5FaECHvr~e6fdk;@xQl!?|%V<mj3~nOaHT})%|CXsrb*TTKC^SV<}i1;ezSY
z|N9m0Krx`YYd_dfkh87BXa8rAuK3TOS_?MBI&AiT1)w<G0DJ)j@-xT<EI^w<hJfgR
z%w_-i^jnBCfI*@9zmDf*px>AOcYub0E|3orC(Zz<A$&kTgPaYbL41^0AZP%gbU?8I
dgCH|efB}YFb+YCz%%}hW002ovPDHLkV1hmOlq&!L

literal 0
HcmV?d00001

diff --git a/assets/img/flags/CL.png b/assets/img/flags/CL.png
new file mode 100644
index 0000000000000000000000000000000000000000..1a7c983ff62e0688e66c13c94e8af21e33a690b6
GIT binary patch
literal 150
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`v7RoDAr`&KKmPx>XI7n|bhdz5
zLTCEl<87S`E7)Ef%VAF5#PdPV?!*5Nt>ORq=Tvj1O@7+6`nz3&VWi%Jl8B%2+F9BX
zpDorZoo7v9e-xU#^Z%0vfy@(l7O?Q|VPu%M?85tnb+`8eEn@I=^>bP0l+XkKw%$1w

literal 0
HcmV?d00001

diff --git a/assets/img/flags/CM.png b/assets/img/flags/CM.png
new file mode 100644
index 0000000000000000000000000000000000000000..2b4cea9a6750b99faed8bab62297ecdb510267e9
GIT binary patch
literal 163
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`S)MMAAr_~TfBgS%&#XG5QH#wW
z<mg}bW6xQxZg^xbel*~NfWd=V8;v9;=N`DsWNDywvtc)5*Z=yt0`1y=Dt%;h+$M47
z-O@ZL+H^yu`eEU+KmXHJixPN}Cg&VT4HeySKk<#@96mNX<G?1y=cav+I8G~D0c~aQ
MboFyt=akR{0I`!itN;K2

literal 0
HcmV?d00001

diff --git a/assets/img/flags/CN.png b/assets/img/flags/CN.png
new file mode 100644
index 0000000000000000000000000000000000000000..edd5f1de864017f0edc1cab1b6f30f4670666d00
GIT binary patch
literal 310
zcmV-60m=S}P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002}Nkl<ZILl-B
z|NlP&C76LK2HevW_)iYTYQSAJAguwx_x1Syzli7le_sd4S0`iuP{SQ*!T-;~c>dov
z;QxO|0ce0e(11kl{|}7#frdd1#$~_*6aN3N3%LIOJiz?_(+u|iPXl@W-&F+~DkJ#+
zMFRK#7fIaz?<(Oj;I4|`|JOxa|Nnns`2Xt=)Bgvi{QvK%K@@_$phLh5ca;SHKab$~
z|E84d|C<U<h?9Z-z9SD5kKzI2yUK(D5opUD1wlwaY6EQs;>S*W{~y@{u`M4)Kw=u8
zfkXopKQQF~|E8Q1>;+JG5EYH+_^uj>>44&dM3w;qpP4AZ0FAYHg6YcW1^@s607*qo
IM6N<$g3i~HiU0rr

literal 0
HcmV?d00001

diff --git a/assets/img/flags/CO.png b/assets/img/flags/CO.png
new file mode 100644
index 0000000000000000000000000000000000000000..ad276d074746127ecee334de5841326ec49c62ed
GIT binary patch
literal 108
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`#-1*YAr`&KKmPx>XI7n|be4np
z9D`=jhZT$*%o07n|4nXYpU9YQ@%2BL(X3z`*ueOE;w1G<qYo#6+8I1u{an^LB{Ts5
D5=tSs

literal 0
HcmV?d00001

diff --git a/assets/img/flags/CR.png b/assets/img/flags/CR.png
new file mode 100644
index 0000000000000000000000000000000000000000..a102ffa47828edfdc260e85b3e2e8e218c199570
GIT binary patch
literal 110
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`rk*a2Ar_~TfBgS%&#XG5QH#wW
z<NAMf_Tcjk|DP~xNf!78ytTKi5Rf$Z&}g9{bcrEd&C7s6@y5Zm8p)-dKm!;&UHx3v
IIVCg!08>{XDgXcg

literal 0
HcmV?d00001

diff --git a/assets/img/flags/CT.png b/assets/img/flags/CT.png
new file mode 100644
index 0000000000000000000000000000000000000000..c9fafe74ba399ee72954d4ba8485b6857b38044f
GIT binary patch
literal 1356
zcmbVMUuYaf9KMu`#+s<ridbSCHdqvTw>!Jpy}Kos_ICHy9Q0ziUTq3($!2%%ZprP=
zvb*P90@7<iXi%&*_z<HO6h*WZm4ZHKO*GYq(3e6f6jQ_qB~{T7kmg05z23Ebh<R|?
zKQqJc`@Y|Nzu(T(@X)heTX$>?g+g7KK_y4N4+T%hJ>>o5+CN$-6yD~iNBoiOUQx$Z
zR5S1xiq<SA)W5stX!<zv!5Au<c9H@BP{1^j)B!%rWE~lm%)v<)?VB9R>yzVp!k~5!
zfc~0Dz!vf~P_xRmC)ScwgHt5qV40>sBg7w1QmH@;jAVy_j9moyC>PNg2!S9(VIMCD
za2H@1$kGhCg$V2uc|l}jB#*{L5jEE+h&e@VYLQuzD*3)6(sZ?2jaIoRc8fGjBoYA!
z%SK2<#G9~vtroGp-WG#`Jl!=N-^4Zu7_~86@skwE^wt(ECubH*zIU74_L@c!%jlZs
z&@jr-ZX+hxUkjDZZjP|5+tHq%LwAzjkl)KsIEc<64_90rk?`KTq&61{0-Jjfvzj}O
zNEP#L1vS>QS@AiNyJ>4>1?v?H*?vYzQUnn-Ohe>2xi8M77@kY8iV9&0#$Y<e%c>d^
zBq=VnI5xsc@jh9NB_NC`9E52$!7)r4Dx4H!5-KCeEo{d2e9hKTOV=d2O)Rr1R+L?&
z`Pj{4TyFK#a0&a^D`5x7`*?7`v<+PKf>Ph{V85poQ69OL*X*HG*>8@@W>7z|tl354
zLBv1>ty1=>0o6qa6tD{%<a(HR1#E1S@>|H&O){%^sGkm+r)(0Y#^@F){U5SqnK-W?
z*L(pPs*5eq=mF8(z>BmZ^NPR<952O!8pK&eN->-iS7NFZ=T)kSHU3Zi=vKaW{RRU-
zzjvXBoDqLzlvF;xcwrh2g;Sm3#U32KbYrmN#Nf@Y(|dmIeQou@vGZH*J6f+#cN{!9
zTTebQ|88<+OZUmEmzR2`7vOStqV3bAcNP!7qU&#pGcT@w7JmKIO8)WLi?i)>*AG8@
zWbb$3{l6WWiJTbqcck?-=8?`n+LG%ZEj-Vjy7>L<?~%8D-2UpH@4s=s@cCm0*X3uX
zu6)e3r@tIM`zUv&U2)dgqO)2$SLmFd4}X3A+P6Pgdv@NK0LSF;^4czE@^t4BrGEAo
zkSf5-^zpy98#_OIfST)mx&G_hb59@o>C6`)wQcDf)~Zw6UYfbNc;V7hSHC&>!F%oJ
Y+g83hwtVH9hlvBBOnON9L>fK*FP*^7E&u=k

literal 0
HcmV?d00001

diff --git a/assets/img/flags/CU.png b/assets/img/flags/CU.png
new file mode 100644
index 0000000000000000000000000000000000000000..99f7118e80d761483adc35a2bfd222352989eb65
GIT binary patch
literal 215
zcmV;|04V>7P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0001<Nkl<ZIE`cY
z|NlP&C72@3a05DIeE$n-wEt(&>L&@q4LC2N{ePdB@qZ`feDV!|;roe&|9`)E_n%0B
zX#facR=4^8Vap!U4S1MUfnrd%v=82}K{4QQX%pB;5RGieS_$j_Q3}a~4Y+3E{r_%Q
z`u}UDo^Z{*(%!_o06h%euis8yAl{45BQF*}>A+nnm%Ma9$gczqpac)R0RYTEq&yXp
R390}9002ovPDHLkV1oDzTX_Hg

literal 0
HcmV?d00001

diff --git a/assets/img/flags/CV.png b/assets/img/flags/CV.png
new file mode 100644
index 0000000000000000000000000000000000000000..7736ea1f395791daccb4f346cc6c881b83e5b05b
GIT binary patch
literal 138
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`fu1goAr`&KKmPx>XI7n|bhdz5
zLPzbtIy-+6^Qu?1|8KjAPe?y-Xk}W&O$**1{XFlE|2@ud<A?%7(g91yt^c1SyxQ6D
m$Y4R0&V)I98V8y485pvo+E}BFBFuq?GkCiCxvX<aXaWGf6EK?q

literal 0
HcmV?d00001

diff --git a/assets/img/flags/CW.png b/assets/img/flags/CW.png
new file mode 100644
index 0000000000000000000000000000000000000000..3f65fa783bb6ef171cebc4d893baff11c3544ab8
GIT binary patch
literal 191
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ZJsWUAr_~TfBgS%&#XG5QH#wW
zBjk@d`(lX$xe?#*n-@Q<=ld)5iKn1r_SgS+kLUmY%B=P$yy&gcU52>FzyAAiZvLNt
zr~2*xZO!Hf*e0bg@XX)!<;VZ4*82aAv%)6jF?dYw%l}{R`+nblom-(#b~dbu`0;tp
qLwm~^RcryOih(Hy4y3Dj88Cd1i{5CpE8!#1MGT&<elF{r5}E-2ds2G<

literal 0
HcmV?d00001

diff --git a/assets/img/flags/CX.png b/assets/img/flags/CX.png
new file mode 100644
index 0000000000000000000000000000000000000000..0f383db4be5a896b726ac20d1d3fba39773f0c3f
GIT binary patch
literal 390
zcmV;10eSw3P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003^Nkl<ZIE`cY
z|NlP&C72@3a09r#n*U3;yZ)Eyav}-C4Pa1Q`=8Bx`hUqfe}bA^r#k%4o^Ow700=W_
zE%`5+ABR)3(FDi;e$yTP@7iqhUlyAIV63#}KYvv5e}~DA|1a;d{{R1|<^S_Ltp7U#
z`5;XbR@nakc+l#<J&=#x04P4V(&PWdo!0*!@3Z>vGR5Kls`WN-mt5a%{eRvXTTBCH
zF1z=iQ3=96w$1v#-6Y5VGM!HUeWyA6|9r^mf8;EO|C#gb|C>*A#2yALD(k?sS-`&k
z=a%||oe#2kA<#CEcW}l+Rri(uOv(_=%s@j@D$f4bw4Mbv<mG;=|9cnv{WnP|0J_E*
zy8%k}J0P(DG$bhFI7WEDFuU!<|5A<K*wX<B!~BmAGwUw+FIEzP-GEuk@593ZA7)fp
k^<OYC2Vua#XC_K804I}b!V3ND8~^|S07*qoM6N<$f}H8X{{R30

literal 0
HcmV?d00001

diff --git a/assets/img/flags/CY.png b/assets/img/flags/CY.png
new file mode 100644
index 0000000000000000000000000000000000000000..a1b08de3d550154e753874c00f284f9c707d39f2
GIT binary patch
literal 364
zcmV-y0h9iTP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003qNkl<ZILpP8
z%Sr-a7>56gXwfCK4BB@I?YfJ0K@en6)S_r%v=J(Tphe&=5(ztrDFv1UMKqA+6s9wy
zd0=LogHJ;w9mG@;dg0xCd_3>>zwiq{{KcYQfUecB4czK8xHi2391}Zpf^oivlfQ0G
z+XE~qj1gO=p4vt~o};oehJHFvLs!18wE`?DgppX~H86}iB~YgYg$Y4%Wd!FX`7`G`
zz`R_ixHyP1DbQv-`vi&yDfx%cBR=eh$nOA0y`!=*isq$ivtH`b0M*@bY&p@cnbs$m
zH3c(shI_vc<?LsNu1npvX><Z4<t%}ClxRAQ^|3AGb8N+r2qxp5FVL+z;hQTKLO~90
zQ(UAa{E<C2V~5B^wKJfpr;_&WT)D)fR-k4Y-F48T`u7+95AX){|7t^ZXpMIO0000<
KMNUMnLSTZDV4i#c

literal 0
HcmV?d00001

diff --git a/assets/img/flags/CZ.png b/assets/img/flags/CZ.png
new file mode 100644
index 0000000000000000000000000000000000000000..95ffbf6205ef9458508853e094ce1f392c347e69
GIT binary patch
literal 221
zcmV<303!d1P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0001_Nkl<ZILl-B
z|NlP&C76LK2BfyH`TynH&;MiqhyjAGb^i@w`~RQ1`iOi3Kv=}R;eY4i{r~^`{Y#z!
zFzi`4=l_G}@5na*gyjR;{;%G9k$eM$U26X~Yr6cuE+T~!<1|3Zx$^&fB{RI5aT=iF
zQ2KwpoE|~VSPd|-$@zakN{uMZ7zTKnC;dMsCQr0x6a!KXLjGSBl_p6uiU9+knJB>k
X1&GIB!?+o$00000NkvXXu0mjf0y|*?

literal 0
HcmV?d00001

diff --git a/assets/img/flags/DE.png b/assets/img/flags/DE.png
new file mode 100644
index 0000000000000000000000000000000000000000..f2f6175a1fdc47e946ec70019dc983e8c49e8ad2
GIT binary patch
literal 102
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`x}GkMAr_~TfBgS%&#XG5QHzb?
zV13bt0wV^WiOuX28Pgj?EGsM|4Ia$w6yjmfbc&ehRVEP&)X3oJ>gTe~DWM4f0vj9N

literal 0
HcmV?d00001

diff --git a/assets/img/flags/DJ.png b/assets/img/flags/DJ.png
new file mode 100644
index 0000000000000000000000000000000000000000..a08f8e112957b5d1f249d02c6487398e93fd900e
GIT binary patch
literal 228
zcmV<A02}{_P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00021Nkl<ZILl-B
z|NlP&C76LK1{}Ee^?%Oh=l`=dk%p07@c-(|AO8!ty&&HJ5P1CY*Z+#0FUdCm1m1r8
z^S|Z5Yw`^MfgivB{hxB;9T^7n^}(5c|NZ~J^72RWTmS-Jet-R+ak}Ea&{}Pr7^eZJ
z-d^}`xWf&vW~>JM`S<sK*R^T?Mc3&P)Qn-kgD+41dmV@+N+X5=>mG0audvCSB+ck9
e7~srA2?hWcdFx63V|-`;0000<MNUMnLSTYooor?R

literal 0
HcmV?d00001

diff --git a/assets/img/flags/DK.png b/assets/img/flags/DK.png
new file mode 100644
index 0000000000000000000000000000000000000000..349cb415cf7b894b20dbf5919459bdf57f190134
GIT binary patch
literal 106
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`hMq2tAr_~TfBgS%&#XG5QH!nS
zqQU?Eo<xRNneJVQ$p`8`F;3-?=w*H7@|YoA&C7s+P3+OxRiA6zfSMURUHx3vIVCg!
E0P!;+2mk;8

literal 0
HcmV?d00001

diff --git a/assets/img/flags/DM.png b/assets/img/flags/DM.png
new file mode 100644
index 0000000000000000000000000000000000000000..117e74d383e18b782b76468679b30b5bf93125c9
GIT binary patch
literal 333
zcmV-T0kZyyP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003LNkl<ZILl-B
z|NlP&C76LK1~6pX|3}AvE{Xvq7{C|=u&JS)0nAzU|8Etm{$C@n{(p^v&i~u(eg9c9
zi8O#U$L{|m6Vv|-l=c7b)^qs3U)AaVd?k(l(~V63vjOF>8US)G41by{^M8qw!T&qr
z+W-4K6aQDa=KjAguJeDPvf=+vvt<7xt3|i~>Q@kM;*tKpNyXs*Z3*@NOPxCZYXrIf
zzb>s076Zv4t3{4RIQY8f@c#u$TK{iK>i*wmWb<D+-s=BJS$&|ZwElnDdEh@9zzhSn
zT&MrjjEw)!1KPM>NBRF8JJtWQm9+oQG&Baw5fuxd5WiNS`hUH=&i{>aK<_kn6CVo$
flaK~JGf{#8^8{edKSdC300000NkvXXu0mjfNU5T3

literal 0
HcmV?d00001

diff --git a/assets/img/flags/DO.png b/assets/img/flags/DO.png
new file mode 100644
index 0000000000000000000000000000000000000000..892e2e2a6225f4a01512d935a77600939e816c74
GIT binary patch
literal 142
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`p`I>|Ar`&KKmPx>XI7n|bhdz5
zqGa;F#mOZFegVA9{OZgGA<hTS?*9INee8b8=_ZNHS!sU%?YD23Si}76?CekVL4}fu
p%mqLALsh>ONSUz(G_l`fU|42;|6;aiTtCnP22WQ%mvv4FO#l<fFr5GZ

literal 0
HcmV?d00001

diff --git a/assets/img/flags/DZ.png b/assets/img/flags/DZ.png
new file mode 100644
index 0000000000000000000000000000000000000000..5e97662f079dc4325e47d6474e52803d9303235f
GIT binary patch
literal 309
zcmV-50m}Y~P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002|Nkl<ZILl-B
z|NlP&C76LK1~63F{>Oz00PF_vl-T^wcQpJzTU+P<ZU4Cc&szHb|NZinI0IDDE&uP3
z(fEH(Q0;$%rT+hqdk_Er`|aER&qq)Fe>GzvVFQ+{YQZ(LmD|8o{(SKG|G!_q@f)C&
zX$jU0!j`e-V6pcbcl>|RKlA^Cj8d?Ue?NZWHo!L83~m5NnGIO%_v^R+&x>e+@yn_6
z{{R2`moyiA*tYlo^PXw{@5Sd5b^!=a(bvHp2ETt34n*Ms>;J1%v@l}f%jxs~U(a7b
zTsmN_u=yY5WBk9>Ob;A*ujelN|L@Nq;u8|dDRJO46D1e`)IQm=yx>ZX00000NkvXX
Hu0mjfA|IdV

literal 0
HcmV?d00001

diff --git a/assets/img/flags/EC.png b/assets/img/flags/EC.png
new file mode 100644
index 0000000000000000000000000000000000000000..57410880428222be223b9da784697dcd80376b1e
GIT binary patch
literal 264
zcmV+j0r&oiP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002bNkl<ZILl-B
z|NlP&C76La2HXWw<Y1Z^@Z&ne|6TJ0|F7&-|39Nn;s3T-0{{QqBEf)fS6TnxKEn3D
zuS4_y?o~4X?;mCT|M@a2@dms(%l^N()AfJLhK>K@m#z4p-sSlJ{dsoW1~B_A`j3o-
zLwf(uEcg5$KfUdL*v!iR(@K5*i-mOlM^}f_0B-*&|F`yA|IbKH|DTbR`hP>O<$o^!
zsl*$=?6>g0QCj`~`W%P<<ykKO4O8pDVmJ+WE2HwC96X2&7zCM#0t^6^Po!;$61x!q
O0000<MNUMnLSTX<goZ)@

literal 0
HcmV?d00001

diff --git a/assets/img/flags/EE.png b/assets/img/flags/EE.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f11899216e6d59a5e857963bf9a3c26c82047d7
GIT binary patch
literal 102
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`x}GkMAr_~TfBgS%&#XG5QH#w$
zWbS`|KDjV92F;=m3Pum?e<oN+8XTC}Da6B2skQyFfT{x@P$Pq<tDnm{r-UW|{L35|

literal 0
HcmV?d00001

diff --git a/assets/img/flags/EG.png b/assets/img/flags/EG.png
new file mode 100644
index 0000000000000000000000000000000000000000..0e873bebc1e3518637e3735ca2712a3034684175
GIT binary patch
literal 199
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`eV#6kAr`&KKmPx>XI7n|bhd!`
z9OtUP>g@bV%>N!U)c>#f|Nr&v?3hbGcz^u(^W(qxb@4y-zYBi<e}4U06R+|~h6&GB
z-){P6Z*~3e|4(A~|JT>mDxPhazI|G=sr_D)r~jLS&;GBkt#_WqxPRaNfB*lTZ2X`9
xF8|;EuWzUR|Nrmr!CVG`KVZu=4l?I6Fxc<k{XO3Fo;A>A44$rjF6*2UngEfIUhx0`

literal 0
HcmV?d00001

diff --git a/assets/img/flags/EH.png b/assets/img/flags/EH.png
new file mode 100644
index 0000000000000000000000000000000000000000..a5b3b1cc270ade890b972d0ccc7ad84bbc7fffa0
GIT binary patch
literal 248
zcmV<U00;kxP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002LNkl<ZILl-B
z|NlP&C76LK2BZQh1~M?*fHOcUl~M!9F$BW^5PsI!_#Yj-Te0H*ld7u!KW^Uq|L@Nq
zWGPGo&<z1;KF7)V|Hr+1|G%6(`Tyhg?Su^g;iuKrU=<HDGyh*vSO5S0>ec_36&3$q
zl#l=$gx7$lb#-tn-f!Ia|12}}{~xz+gAILBQGx6YOaqWL!@$Q~yZ%2eEBpWB?p<^#
yR0GoOfuY+#JVr5qRLv*`kfRyJfPv3Ulwbg6g>YwJ_%E;k0000<MNUMnLSTYb)ow-r

literal 0
HcmV?d00001

diff --git a/assets/img/flags/ER.png b/assets/img/flags/ER.png
new file mode 100644
index 0000000000000000000000000000000000000000..50781ce537d3be2753e87206f5280bd880b54c2e
GIT binary patch
literal 421
zcmV;W0b2fvP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004ONkl<ZIE}@V
zy)Oe{0LHJ1fq@hWgRO(4_to}#uV_#rVpT+=k*N5ZS_!G7kq{zLgFk@5P7HQtV<(*$
z3>|u>=~a6z)1!Bdo=b&F2g7fCetDkvg91P`LPO!IKx!tq8xRoM<j`~FfbF_IOaiHi
zAWaS8p_3rC;Dr5x{)2!bkUK==CY;C$ZYZNJq*@5heQx;T?C*k1zXxiVMLxiz5aLi+
zF0;fzZWAF{32wD{k=l7xK|aVKH|c~j;=<dB19F#$(moAk$feKHCzeTei--k{c~wC%
z${@=Kx}dbnKx!p=ll&}i5`6O9?#1F(#1Ir#Sg7me33EJ32Q)Hv0q>^{D8uFkiN0xs
z*KRO={D`smlOd38<;r_BUj01O2#ex219gK%+ENK$k|+W@_j>3n#w}PX*O(=4Xy@_L
z>p{xu#nH?erVf)e!CHY<(OP*2i5@?~t47VAFbTAp^WW60OYr}nsS!Q^CWVoXAtxhE
P00000NkvXXu0mjfU7NY7

literal 0
HcmV?d00001

diff --git a/assets/img/flags/ES.png b/assets/img/flags/ES.png
new file mode 100644
index 0000000000000000000000000000000000000000..b89db6856c804333418c29409f06661018cdd0e4
GIT binary patch
literal 221
zcmV<303!d1P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0001_Nkl<ZILl-B
z|NlP&C76LK1{~v-`%exYL<amn0;E9rD8v81N0|P9-p%~~?;!{uE{6@H7ywlK3y7~x
zWBb1}PU8Rdd3^tW9U)){iUG$N{(smm{C`cX#Q%v=asQ9c&HMj)120&dXaintlKsEA
zRONrar~3cB<(B`SZ<Hp%0H9Mp?&tphWDEcQM@xkNKUvHB|HA<u;=C{%(!qddCQ2{>
XGpLVs;<&I$00000NkvXXu0mjf$B$$G

literal 0
HcmV?d00001

diff --git a/assets/img/flags/ET.png b/assets/img/flags/ET.png
new file mode 100644
index 0000000000000000000000000000000000000000..aa14723529eae8af7a3ae84590d9ecb280becd48
GIT binary patch
literal 420
zcmV;V0bBlwP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004NNkl<ZILpP;
z&nv@m9LMp`Wd{^-(ArfAJ4g<a{JOYc2S!n(<RFw5iWClhm9P@>D+l?GF&ksQd`FW5
z8s$fdlyLAbI6Zy$EhT(QD2LbW`F`Bq0uaBM_!B@h<@1wi0~Rx4XbdrTh?tfUy`6~G
zl5YY%9YimM(XHH*;*c>q6~OjP^kNXvQS&wMa+gSC^C1(7wo9U<TjkhKt=~$uZvwsj
z2%U68oOG@>Z~Z4A&+Q~<(?z*=hL&JImc2fj<UtyDhcSC*NOyYFMiYpWE{Kt?F?kkf
zR)91|fQ*f8y7oKCayikjo~Vr`knM3`SP5fP4(kG=bSsDLdp%V8rZCtKNp=L)MiX$$
zrRbM$$=vi&;hm&l%Z6!Zo+|$Y39F~XN>^(033$j&;cesfjTn}W5o?dc+Rll$pCQ(t
zNS&2&mzD6o{St`mptz9cwgHl+LZn;0j5M@xT9n1dP80a<{_Yq46?g?vA)R(Wkb(~Y
O0000<MNUMnLSTZZgubZ&

literal 0
HcmV?d00001

diff --git a/assets/img/flags/EU.png b/assets/img/flags/EU.png
new file mode 100644
index 0000000000000000000000000000000000000000..2bfaf108d0bf260c75ff9f240d0361c7c52df64a
GIT binary patch
literal 316
zcmV-C0mJ@@P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00034Nkl<ZILl-B
z|NlP&C76LK1~3@U{EvYRXa8p~n)RPSe=dXuVKg;34PZ8%{$JR(@4uKs&;N|V=>Ht%
zQ~wLtOu#S%y8%F(IW4CAFRKjx&to;|znpXDe+}=(|LH)37<A_oFu-8We{J9T|7is=
z5XB%Hfnp#-Ie><iR|o!QG?{_N0H6i|+kP-ccP<l9qoh+8*n2n)U<6{2Eg&yo1e)Hw
z|0#KK|MmTAApwie1^ie74CDfF$L{|u_*?)F15kkJEPxmSicTPAH;04)6W%a@#e(JJ
z|K(Ld;8>6W`dibdfyh`uN(Ul#ePAbN7DfH%0;K~i0ZYA<IPjT?5)1&NY)pn`at}2C
O0000<MNUMnLSTZ(0D*A;

literal 0
HcmV?d00001

diff --git a/assets/img/flags/FI.png b/assets/img/flags/FI.png
new file mode 100644
index 0000000000000000000000000000000000000000..b5a380c54fc3a0ecf7619c236337711f22ca6fac
GIT binary patch
literal 103
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`dY&$hAr_~TfBgS%&#XG5F^X*g
z1KVUT12rZdY32kekE2(N6HLTbBp*1CuC~dLVeeiYlTF>66M;GzJYD@<);T3K0RRdX
B9OVE2

literal 0
HcmV?d00001

diff --git a/assets/img/flags/FJ.png b/assets/img/flags/FJ.png
new file mode 100644
index 0000000000000000000000000000000000000000..1cb520c5967502e38261aafbf608ace089f334ae
GIT binary patch
literal 387
zcmV-}0et?6P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003>Nkl<ZILpn`
zJ4-@g7{GBqNZ3+KU!j(Q8Zt94Wf%!jMi>RrrV$MiVT5f$SQs=&T4+b51}WiC5Dg6_
z*-Z!K6cl~}`R6&H9fwk|p%)(B3-9yey=nkWE1~%tKoqgLQ;4?`SglIkJ1ZcM8x#2-
zqXx*y@?<q2_hqChKyH=GWt36@)Wvk1C19K(rXM0YVIbk?Ct$E+3TIV-oKy|17Ioho
z$#OZa<K5BDo28A9sZMT2`mlsE-#~T0bz2C9*z%>Y2+wRs_Sg^l$n{JUIM^U49x-`V
zP_4l4XL#wf4sd(V71SJiL|j<o#Wv4F#{l<ZPSVa*Ml0hr;J1Ssj6NZ3?(*r~A=9O&
z<XI%S?m-`YZ4wajxUP$oB#A<|m0a3@>*54mTxt$bka(VD;f|nvg}K8kbjf1<H8uho
hzJr#5fAE=Fh%dw7@Cp^@N=pC$002ovPDHLkV1mQ)q%Hse

literal 0
HcmV?d00001

diff --git a/assets/img/flags/FK.png b/assets/img/flags/FK.png
new file mode 100644
index 0000000000000000000000000000000000000000..a7cadb774e026dbe9bdf9c4c2787ea8d04a6a787
GIT binary patch
literal 344
zcmV-e0jK_nP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003WNkl<ZILl-B
z|NlP&C76La1{^u^KdO4~|05Tk|NkEz4yGN`Hvb2SGZ@driQxu-G=mf)8vx>i3?a$@
z5bN*XzyHAiXaF(*DKv^%^}lYz_5U6dPW`v;KK)-mc>|gOAWbkVC-)zj4^n7bu;c&o
zL)ZR4fA;eKvLko?Ta@lWH2~&c6fdk;@xQl!FIb^=!iN9uT}%IGOqldPw0GKn!;Fn+
zE|@<3zhB`F6a%We_QM0wzhu|{$txH9UokcEf6ub1|KnQ@qZ)uOpg>sKan}Et%U1kf
zHlyYLteO4)HGCG3W<W&ZwEr`v&-uS={`CK=7A*Lm6kSJ}0eN|o{<qdo{l9$9;{Vk-
qb^r6@i%BzpU^<}KfI*O%D8K-z-I-8gLc50m0000<MNUMnLSTX|XQNaA

literal 0
HcmV?d00001

diff --git a/assets/img/flags/FM.png b/assets/img/flags/FM.png
new file mode 100644
index 0000000000000000000000000000000000000000..5a9b85cc2c16d6d252f20b735127c8bfa8767a11
GIT binary patch
literal 198
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`y`C<PAr_~TfBgS%&#XG5QHyO#
z-mc&CWqd9)++*%PI75f|+1#3c|Nq^7|Ns5IpL}VPpEilluWK^&)Qc$j#X2MJ#>WTs
z=l>l~xU=K4Vwa2`vqP8s-v1x}Uws~*V7AG^gGZ%Z$FG)o!d%WGGmpaS``rIam)R+t
x;|}3;k(gKdN76#dQR2w5Tqmg?XIwbh7*@^~+QDRO!V7d5gQu&X%Q~loCIA};PqP33

literal 0
HcmV?d00001

diff --git a/assets/img/flags/FO.png b/assets/img/flags/FO.png
new file mode 100644
index 0000000000000000000000000000000000000000..4a49e30cb9e243c85d6f69790b9fdcae7c3ce451
GIT binary patch
literal 122
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`j-D=#Ar_~TfBgS%&#XG5F^cT~
zqw~d$|KD#dJt%QRje)J3QK9vO#7%}8i97}$=9M$5*aF_PCJOXkF-Uk|EPPXfA$|tS
Uq8{r=XP{vWp00i_>zopr09C;ztN;K2

literal 0
HcmV?d00001

diff --git a/assets/img/flags/FR.png b/assets/img/flags/FR.png
new file mode 100644
index 0000000000000000000000000000000000000000..0706dcc0569404b481255d721df7348c5e0f5bc0
GIT binary patch
literal 100
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`+MX_sAr_~TfBgS%&#XG5QH#x>
xMek>S-^GK~?!i1ZSqD}yHlJx|Jnu6lfuYLt0%J<%y&j-822WQ%mvv4FO#nZiAFTiY

literal 0
HcmV?d00001

diff --git a/assets/img/flags/GA.png b/assets/img/flags/GA.png
new file mode 100644
index 0000000000000000000000000000000000000000..38899c4a415cc600d2815904493aa18ed998307e
GIT binary patch
literal 108
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`#-1*YAr_~TfBgS%&#XG5QH#ys
zjQ0<JJ~=<OKRY$P&6lz1;Mt&M`w7UH!z1zIj0-0lL*x2Io=!Y}OM%)MJYD@<);T3K
F0RR(!AnyPG

literal 0
HcmV?d00001

diff --git a/assets/img/flags/GB.png b/assets/img/flags/GB.png
new file mode 100644
index 0000000000000000000000000000000000000000..43ebed3b090db12c71017d4e4c5277e6fd3b1a09
GIT binary patch
literal 353
zcmV-n0iOPeP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003fNkl<ZIE}@V
zu}Z^G7=^P6(maWin^YVfd;lLnT^hkha1kVN5jr_kXX}(jCwGTZ35dFtfV56E5D-!|
zN54d_Y1$4of<N5t-tXLd&bgK(tIDc$*Z@MuQJN%bp5JM4^;FjKiJ~~st!=CGwdFmE
zWUrlRVWp*mR##7lu7>Tl48S|SR&RSpuR)-25Nl)aY67snd#Q(;dxedLM*V&!W&kKI
zZC<Fef23#6lhRb9w~sNvi|=dTx_aylRp0WnTN(gr)20ZRF*%@H%Qw!u4B$715iQ0z
zF<hICJY(8?Kl{f-jKLs`!muI$LopVEF&e|iOe7MbAtIt8vLXOAq9tOYCUT-T07^kQ
zC<$euG-UvalngOSNBIn(e0Ub14Eeji@UMVR#NOMST|luz00000NkvXXu0mjfr$v-F

literal 0
HcmV?d00001

diff --git a/assets/img/flags/GD.png b/assets/img/flags/GD.png
new file mode 100644
index 0000000000000000000000000000000000000000..2d33bbbdf0a3a9db9d90f3ca352b15e00a8d6296
GIT binary patch
literal 313
zcmV-90mlA`P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00031Nkl<ZILl-B
z|NlP&C76LK2AmUA`wzpPS4qOz&#Pp?7@HgjqZklB+xh?JbCUo6Tol8LL25v1F$`d+
ziu<qC5%mA+5k;JuL2@89AhlQx0AZfG=>Ky!82<mZL*oC_BDw!h3*`R)I4BMl1IfYE
zVKw0CNf|KBUKaEJv<ol{s%6239P-wHYs727`Y>HEt&kP^|CY1T|6ixX|NlHD{{M!J
z(tp;9Si%OtFjHmh|DzTf|KIdW|9?A0`u{cu9pYR7!ko2`F!;Vt0_^{1<#J$GfW$y@
zcnwf*5B`7YuoBK#0Lg*WU^M^~w;#?DP6r@0SknPTDRJO46D1e`6DW~8yab3v00000
LNkvXXu0mjfKkSPS

literal 0
HcmV?d00001

diff --git a/assets/img/flags/GE.png b/assets/img/flags/GE.png
new file mode 100644
index 0000000000000000000000000000000000000000..7aff2749cee4a3d0b195a504cd39ca483ca2c1e7
GIT binary patch
literal 122
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`j-D=#Ar_~TfBgS%&#XG5F^bKB
zfw_tEd9twcW5Wd+Zeb1G{Q`@Zac^MEVM{RVV?3I<B;l2$!$xtp#f1eaYMTrhcoKyr
U_8RUq02;>N>FVdQ&MBb@0Ky0)82|tP

literal 0
HcmV?d00001

diff --git a/assets/img/flags/GG.png b/assets/img/flags/GG.png
new file mode 100644
index 0000000000000000000000000000000000000000..c0c3a78fd0ce98aaf78b6930d9b6997df06329ae
GIT binary patch
literal 124
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`&YmugAr_~TfBgS%&#XG5F^Vmr
zLA+^~h6MY9jg0p1yBZDO@;a33@hD3-@FtrwEaMbc%V3Dqllb8vBf^>az*zXE1VimY
W*=PILEL8>?$KdJe=d#Wzp$P!gFC)zW

literal 0
HcmV?d00001

diff --git a/assets/img/flags/GH.png b/assets/img/flags/GH.png
new file mode 100644
index 0000000000000000000000000000000000000000..e9b79a6dde792af7fbee53bd8137b057f46dab94
GIT binary patch
literal 162
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`nVv3=Ar_~TfBgS%&#XG5QHyPk
zaL8|eJ~<b*KRY$P$xH9s;KtEYcv9G8fnB$BkEdBeD*yj_IX$-pI?NKEKN~b1^(Z=c
zkhQ6R*&%1r-V1>zKJV9>D&6Clvxm(f<@SGdc77#hHap|MCdSJ7jmw(ft(y<Dl)=;0
K&t;ucLK6V<`8W^&

literal 0
HcmV?d00001

diff --git a/assets/img/flags/GI.png b/assets/img/flags/GI.png
new file mode 100644
index 0000000000000000000000000000000000000000..e14ebe5974950563aed43d04e65556f40fd71ef4
GIT binary patch
literal 245
zcmV<R01E$!P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002INkl<ZILl-B
z|NlP&C76L)29OJ|8}N0{{{OGbYyV%caRFlx8ze@w0k76?`hP)D>;Fatbub38L1IK3
zaHq8D|3oeQ|8w<Bz!<~^i4kqU)9|?eH)T}+KQgrg;~PLWNQ`I$4(gix-_F4Ke>MXL
z7=zd#F`^CFXKweuk%9exrv&@|ZYg#!8zhF)fLjba|FPjG?!5n>xMG(BVS)xccIN&6
v*q)a%10EVv;DWbZKm+uNFknz*CbBUAw3Fq+U!B$O00000NkvXXu0mjf5-Msd

literal 0
HcmV?d00001

diff --git a/assets/img/flags/GL.png b/assets/img/flags/GL.png
new file mode 100644
index 0000000000000000000000000000000000000000..6b995ff172146db584cfe4514e9d3e1a743477ed
GIT binary patch
literal 196
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`-JULvAr_~TfBpY&&#XG5v(bsc
z_<{XQiOa0<eDhN)CS5;P5PMs^$1!JugrfKXQ~TBP4tyy4XVn(pKd;%agIDNqDn}Qi
zeAxSxA9X-cr3n%qeG3@pf0sM{G9;!bfm!d<tcH!BzD4r<ntwjwsDkATD~V<ExL1g=
ti5zD-`m*885+0sZw<3eDF%Fyz47VQ~|G55#Wem_+44$rjF6*2UngDs^OdbFL

literal 0
HcmV?d00001

diff --git a/assets/img/flags/GM.png b/assets/img/flags/GM.png
new file mode 100644
index 0000000000000000000000000000000000000000..72c170aa4ca8c876d8834eddb1cc632666678e11
GIT binary patch
literal 115
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`R-P`7Ar_~TfBgS%&#XG5QHyPk
zaL8|eJ~<b*KkD)hJP#(m{0Zg-$gqVymHL13VDpKF#`8W?5*Q@8J3s%s05k&#JYD@<
J);T3K0RRdbBw7Ff

literal 0
HcmV?d00001

diff --git a/assets/img/flags/GN.png b/assets/img/flags/GN.png
new file mode 100644
index 0000000000000000000000000000000000000000..99830391e20fc6ca0e708406fbab0ffb66823234
GIT binary patch
literal 103
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`dY&$hAr_~TfBgS%&#XG5QHyPk
zaLDiezW*^I&Ifsdg$zEdU|h_`W5mp6XB^nX_{F31+Q02CsX(0!p00i_>zopr09}P1
A!T<mO

literal 0
HcmV?d00001

diff --git a/assets/img/flags/GQ.png b/assets/img/flags/GQ.png
new file mode 100644
index 0000000000000000000000000000000000000000..9b020456c65e1c6f28f123281e8c5b94ab9954bb
GIT binary patch
literal 308
zcmV-40n7f0P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002{Nkl<ZILl-B
z|NlP&C76LK2B>s}{<oXOKr)6Kz*v0dzup8>@(o}pKKGxc^w59PDYE1n0KzKmSO0(b
z{^vgoeE<6V|A!Z6{(pLT?*FGZSN{L|`|Cd%Ks5k_ou=RZ|L5;Nu<W1T-~Mm8zUP0^
z*6RPaUflQ(G=Z=IAZ*-!11$R&Xwbz+SN`ugyZ!&WZ=e7F`}dDH7ySGKQTX!ZtN+jL
z-~E60+=>5BpFaQp{rh+P27tog?N>w?eERh1|Gj(n{@=NC=l`>3&wwt%;|1Ql!~YNH
znf!mOC_yxa8^Bz2=KnHtPm(mF7|`sJO0s4Y0|q`bQGx+<pvWyLJsq$B0000<MNUMn
GLSTY$J)$`P

literal 0
HcmV?d00001

diff --git a/assets/img/flags/GR.png b/assets/img/flags/GR.png
new file mode 100644
index 0000000000000000000000000000000000000000..dc34d1913e4db7a18e0a111b90574ed990fa92e0
GIT binary patch
literal 141
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`A)YRdAr`&KKmPx>XI7n|bhdz5
zLPF|avjNAI>+k>bKNdd3!kdv{(IBo|-5A4Q$dIDVaX5zIut;@dhIoKXhe$i)Mzc%j
oSX&;=POw_gCeCJI9N5ITHu~7*kKMa%f#x%Ky85}Sb4q9e03UxXdH?_b

literal 0
HcmV?d00001

diff --git a/assets/img/flags/GS.png b/assets/img/flags/GS.png
new file mode 100644
index 0000000000000000000000000000000000000000..55392f92f223c800af338a7e930e3bd4977e270a
GIT binary patch
literal 455
zcmV;&0XY7NP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004wNkl<ZILpP;
z>nnp%9Ki8sh?JBj5zQqvmu=58dt63t%O#AG*?P<i*SR(=Nf{xR&?L(BAE3PS#v6IF
zKfr(CuUKDu#_YkH73I{gbAG4u`}8}fjsOV13E^*maF~(c6XBOv@OWZ#yYB&YU$9*x
zSkEYv-DH|q-t&+61k_^nuoh5r6^S3tuNcN$*^W*;{t2k7NF+jRL;>wclMbjG+$GBt
zps7kGSMp=*+(H-aDgmfP@h}+B=0eQ{B@Ks2b*GHF<}g}r$gW;TCtoFi_<g@z;qH#(
zlP5B4N0?fck(+~f6@?1h2F2w)G$=kz2bY%&1RlQt!K3FGs;}R~=^CR=apPLm<6ZUR
zod_c2$O%CEvfsnrzeI1Zlf_Voy?Y7A><-0M-DK#+<bV#Rn~}a27W_WuZ?72&oTH4b
zQDhlT4$vFjbT?TMB|D{F2a{Xd%*?D%Xq`?DNHy;h8ZE%l)r!HUV6r<2jpvb78AuKg
xYR(yGtffGjisk9zHlAolDdHi2_!s^Ycmw%{febR7jY9wc002ovPDHLkV1iM~&@li2

literal 0
HcmV?d00001

diff --git a/assets/img/flags/GT.png b/assets/img/flags/GT.png
new file mode 100644
index 0000000000000000000000000000000000000000..0b4b8b4fd6fc5225b96a8bfda113feb860fb8e5f
GIT binary patch
literal 198
zcmV;%06G7OP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0001uNkl<ZILl-B
z|NlP&C76LK2DBZ2{2v+P0$9`yW&{5H`}hCLkFWpVfBgXDkYT{Vdx!qNe0}NvhSSsj
zZ@amjGz0$r`}=?G)eZl@zq|kc!mZi=r=Fe!6#GY-3)UQ5^ncx+DgPJmZ~nh%*A&vd
z@csLj|Bv3@`v3Uto&VpyejJL?NRj~qpP4AZ09+qMdMC<v0RR9107*qoM6N<$f=ilV
A>Hq)$

literal 0
HcmV?d00001

diff --git a/assets/img/flags/GU.png b/assets/img/flags/GU.png
new file mode 100644
index 0000000000000000000000000000000000000000..31e9cc578921be803e03c114345b1ab095799175
GIT binary patch
literal 228
zcmV<A02}{_P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00021Nkl<ZILl-B
z|NlP&C76LK23)o9_)iW-F@Pc91WA~n0qlN<{<lQ*{BI8L2D3>vAjNa?|KgLY|CgLx
z^FP^ZGU)~^>Dv6i>f+Y_byxTOU);HobOW|7IsE^?<;VZ`U%LN))53kE8_-z3;{WtB
zcmIbhTk*fDpqq39qMh3Q7p<KAf5PgT|4A;*<ix_^|C1wg{?CZX{?7(vlWYLV>42h?
eIPjT?5)1%t_>9~}OsTm50000<MNUMnLSTYzFL7l6

literal 0
HcmV?d00001

diff --git a/assets/img/flags/GW.png b/assets/img/flags/GW.png
new file mode 100644
index 0000000000000000000000000000000000000000..98c66331b63f791c553c1da4eeb99b4b45e11093
GIT binary patch
literal 149
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`F`h1tAr_~TfBgS%&#XG5QHyPk
zaLDg|-v2u_+Qj+YnZrJwY&MK!^LaAyU;cqZKkrL)IOc4MS#abG+c5*X!#4hVB#t&b
yW?J?C`UlO1kAjS%mv|4fwNGGVo<CFLAVcTe_C<Ur*2w|wVeoYIb6Mw<&;$TuLN}=Z

literal 0
HcmV?d00001

diff --git a/assets/img/flags/GY.png b/assets/img/flags/GY.png
new file mode 100644
index 0000000000000000000000000000000000000000..8cc6d9cf168e55e2a00c98bcb1a9f2cd6b4c7655
GIT binary patch
literal 393
zcmV;40e1e0P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003{Nkl<ZILl-B
z|NlP&C76LK26%?}{VzH+<G=KZnEwp(Jc-6|1N2xp{wpfV|37x@*#EuHF8ohEGT}e}
zk`UqzI3uX`KaE59KQlAq|AwmA|9^ge|Nryv@Bix_9R2UNr}01A0$=<FoC6vF!t;1#
z|4TEm{<k*b{D0?I%Kv{~j)D~ZfBWOp|Cu+o{kPv%hTi}XJ|v*>-;<5^KR*xS|HbWm
z|NmUm|Nr-S+yDRHZ-Nbb^7YOCmJ7@OYpqMiZU7830Hr|q&qXmf#sV-6I0AHmHyhu7
z9xlfJ3tFKrc-Hv;-?z(f7j#`({oi0iHl_g!c;&!hV4=?e41=Wq|2`iEYx?l>%l|ny
zcl>wSUV%FnGB_czP*)xakA;m7kN*$c+e|nX3|Kh9>EQ6;!~YLFzw|%t=%oKbOT&my
n2cAK`|4R;1kP-(zGf{#8p!$>D!H(NL00000NkvXXu0mjf9XP_y

literal 0
HcmV?d00001

diff --git a/assets/img/flags/HK.png b/assets/img/flags/HK.png
new file mode 100644
index 0000000000000000000000000000000000000000..89c38aa1a59b5ef95c22404360c5473efbe78c9e
GIT binary patch
literal 418
zcmV;T0bTxyP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004LNkl<ZILpP8
zKS%;m9LJAHrIJeeH$-(>S&8HnEe#F1v^7MHVMEXmQd<!bv^W$sG=xJ15r|+AQCm$;
zjSWHFJIj#N!&C1}DLlVDkCw=PVbJh}H@x?Gzwh^b9|M4?M$Df8_@QR}ki`IEssl0V
z)ODdfB>}{wLuh6K!s;SOzrJz+>7}=_S_JJjC<zg1|1}=l7;s%RAZC4eKxo#Er%@Kd
z`Vw;KH>56o5H_3;cQ)}nW(MhNC=MX32ANwwve7W)a}Ol%G2#c?P^2Uj3VXl5LtwZa
z{6J$7fKiL^!Zeh)h!66hPV+iH1=)83ac>L3aSH<0R`7#O#Vi<9|1Xmx>LJN<h{Vx8
za+x$DD-Lj-O!*8r3WzQ{kc|mYWC_VrH?l$msjD+J$kKrPXjBRJE=~Ui5$7DWRS)^X
zi<oN-Tz73{J;;}b^k`H&Jbk)=tpmKZ<#$E;rhMvO!4(Aj|7WU3pLOk_ttJs-xc~qF
M07*qoM6N<$f@a99{Qv*}

literal 0
HcmV?d00001

diff --git a/assets/img/flags/HN.png b/assets/img/flags/HN.png
new file mode 100644
index 0000000000000000000000000000000000000000..e794c437eade289f76608965796be32d5c8989d7
GIT binary patch
literal 154
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`iJmTwAr_~TfBgS%&#XG5QH#w$
zWd47DJ~<b*KkiJQ{rCR0fBt0l{}&AH7Rwmf-_@`s3sn66dj5a@{(ngwk4+gQx4f_Y
zSbyu{_5U9k{>1(G^H^VE@>^D=BkjRf5)aO}aI!JfnEdKF^>)WCpk)l6u6{1-oD!M<
DO@Kbn

literal 0
HcmV?d00001

diff --git a/assets/img/flags/HR.png b/assets/img/flags/HR.png
new file mode 100644
index 0000000000000000000000000000000000000000..6f845d5dd390abde214332c8c544f680f0f45d2b
GIT binary patch
literal 391
zcmV;20eJq2P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003_Nkl<ZIE}^6
zy-R{&6vkoyf`}&9(k05RhC-pKAqqA6u%xIVB*-D?3qlei&FHNNF@y?i2wE!4rAcTI
zmvU*4u*OKskC&tb(O>pLA!aBTbl_f|`#cvM86c}AHGTdD9^`Vq5>_Y)wY78B(#?rs
zh$Ewc9n~Pg4mDw=lH%R6z_ES+m9USwu7}~7QM6m*%q?~?VOir;r>_j$H8!!ky2sU+
znd^}WZj6%zr_Ee0tni>vlm{r9d^$}`-3j-1WVQv~HyjX&@Tk#{D|99E6Ud1o?|}eO
zlZlkmNy_CSIyEJ|eRdUrd^StU?IvNfkrV_e3A<f_ssl0^o^)E$UN3R0l^2VJw9m&=
zUvJ^O*D8Q~p10=&v3?!m!6Bl@LsYNjEuNIRvVg34lj793ItZQnxu0JqGP}g>g`Wo1
lI;DHR0@dd4fLikZzz2$M)CfJO*8l(j002ovPDHLkV1kZ=uRs6*

literal 0
HcmV?d00001

diff --git a/assets/img/flags/HT.png b/assets/img/flags/HT.png
new file mode 100644
index 0000000000000000000000000000000000000000..da4dc3b117dd76e8adac30aa68e25b3c7f0564a5
GIT binary patch
literal 206
zcmV;<05SiGP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0001$Nkl<ZILl-B
z|NlP&C76LK1~4eh|4$Ac#0J2?^LMZR-+%E0&L_!$zrTO{pR{?w|5-bh|Nr~vC+P;v
zTX_6`UqR>p&YbT5%T}JoZ@?u1lmE#0^Y<_R`<7Jw&x(}(pB*mwf7;5X|6hN6`;V>;
zrvVS&Kl{J@?3(|pE^Pth6=&D}fAs!2@dgl!2ay2-pP4AZ08Sf$zUX^p?*IS*07*qo
IM6N<$f?pY8p8x;=

literal 0
HcmV?d00001

diff --git a/assets/img/flags/HU.png b/assets/img/flags/HU.png
new file mode 100644
index 0000000000000000000000000000000000000000..98de28af8ecc6818d5654013bdbc7ea15d3b4803
GIT binary patch
literal 104
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%``kpS1Ar_~TfBgS%&#XG5QHyPk
zaL8|eJ~=<OKkD*4V$2e^nEy|1ZlBD^Jb$LfK?c>x4Z6N_?=u0lGI+ZBxvX<aXaWE~
CXdQ3>

literal 0
HcmV?d00001

diff --git a/assets/img/flags/IC.png b/assets/img/flags/IC.png
new file mode 100644
index 0000000000000000000000000000000000000000..500d9dbe2b0a944e4a05be8ca8b530b1eb74e309
GIT binary patch
literal 183
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`b)GJcAr_~TfBgS%&#XG5F^X*g
z!?&KP5g-2>^Q@>SkPg`U=EMK5($oINZ?Aj#|J2fU5A%eVP4E8iT`T(k_ie3z>tk-Y
z&tiP~+3b(~u6=LoPv4SG;7OW(?ykcg#@pL;f8F0$^7nt6>Ggl+YxaHHFMHzNw$h6M
j-K@K$4L;25%;8}W<^S^eq;-%7&?O9>u6{1-oD!M<JS|ik

literal 0
HcmV?d00001

diff --git a/assets/img/flags/ID.png b/assets/img/flags/ID.png
new file mode 100644
index 0000000000000000000000000000000000000000..a14683d77b419d182b3647f9665d19e14406b164
GIT binary patch
literal 98
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`nw~C>Ar`&KKmPx>XI7n|bhd!`
w9OtUP>g@ee4!+F)CiA=TE{KYg2w-M-dHSR3tVKt=ftnaRUHx3vIVCg!0K3#3D*ylh

literal 0
HcmV?d00001

diff --git a/assets/img/flags/IE.png b/assets/img/flags/IE.png
new file mode 100644
index 0000000000000000000000000000000000000000..105c26b8843cdb91675d89fa150e5da98b18ec26
GIT binary patch
literal 99
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`TAnVBAr_~TfBgS%&#XG5QH#ys
x%%?y7eTELI%xZF`30E2prXDzuuI6RHFmuBBm=>;Wmw~z%JYD@<);T3K0RRfP9<2ZX

literal 0
HcmV?d00001

diff --git a/assets/img/flags/IL.png b/assets/img/flags/IL.png
new file mode 100644
index 0000000000000000000000000000000000000000..9ad54c5d2194655569a33ebb4cf09e6e8b1b0b88
GIT binary patch
literal 180
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`)t)YnAr_~TfBgS%&#XG5F^X*h
zw*s3%#G4=fe9PuB?zpr4|C`(YtIzLIe8XCD@qYckzxgwYpV!A6Ry9~RzgAkuZ40Bq
zgv-Tm{~!GP{-6B5AOGsZzMEc(W!PjYmr-5wc<KMr%_j;NIo{ZQ{`P;~<@~lH6QQ|6
f?5=4_(##Cap(0mJ^5*UbI)lN})z4*}Q$iB}c~ncM

literal 0
HcmV?d00001

diff --git a/assets/img/flags/IM.png b/assets/img/flags/IM.png
new file mode 100644
index 0000000000000000000000000000000000000000..f0ff4665997259038298af48a7ab7a674ab06ea3
GIT binary patch
literal 367
zcmV-#0g(QQP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003tNkl<ZILl-B
z|NlP&C76LK2D}i|{Z9_YYQReYD9x|^{}rzmhB#gWo(t*ye=4l^{}r3c|0j~h|L>|=
z{C@#7<hiiU|7QZ4|6c&*@w<Re`~OK-zyDV=%Kl%NGw1(>4U7N3khA^&NJQoTp`6tJ
z=gr;zzu?!wZNMuYt^c?5t^S`63jBXh#PI)v1H1n}NYDL$SIy!7)u#Uc&$-kHhrtV=
z-(NDx|9>8s_5aSzJ^vqEJO2N|?v4MiC1?GA#i~L?AOgMdK+5R<`NQk~-$~5>|IEne
z|DE{k|M!*5z;c9L01WMCd|LmnC1(D=+|>8~o~Y{om#oSV%|b*(Bg~LD%*y}IN2UEg
z86NciCAT{9=>Q&}KpU^Cn*V<!ZiF=r5HtW19y&nHI)qc=z-J~(FaXr2iR+_NlTQEu
N002ovPDHLkV1hrM!(ada

literal 0
HcmV?d00001

diff --git a/assets/img/flags/IN.png b/assets/img/flags/IN.png
new file mode 100644
index 0000000000000000000000000000000000000000..f1c32fac97b4d59b576b004ba7cbc33a1bea500e
GIT binary patch
literal 194
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ot`d^Ar`$?`}T4<1TeVemaTsz
zxM$8m?g&k@Zb5BLX*R_+?Zrt8?$p$!T``Sae(qc8FP28`1*d-~`8P_xs&Ww6(y@r|
zw9|XF^NdbvGt$a3BQ0z8r*f-!@*me+pkZdB+xB|ef|BG)gF^<J4u7e7P|16{dGac$
szSq2mCM3+e{=H#I*AFH4#`?|7=i?5_?$BDZ9Ox(pPgg&ebxsLQ0PP=2;{X5v

literal 0
HcmV?d00001

diff --git a/assets/img/flags/IQ.png b/assets/img/flags/IQ.png
new file mode 100644
index 0000000000000000000000000000000000000000..8d5a32366b1abe807b03ef4369982ba1dffe18f0
GIT binary patch
literal 269
zcmV+o0rLKdP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002gNkl<ZIE~HE
zPYc0t7zgmZ1#iNu@&=q&QX?lX!NI{rDUIeJ2X0GBvn?w-pa?Ms3r(|s_VtTW7zaDp
z^YpzuJ<q2e3IG)*p^hJb9E;<ZL<qo39UT+8b$XheTnh)=d|eF&+UpS}$1R5X0?x&|
z&D8xGj8uoBFFym8=c2VzP*6L_NE~RP3eUe_V;+zeYe?`#urnbTFg+Wo0Smfc0YjE^
zaszp#35^`{+8D`h30av#dD??Z&^N#!KZ?6K4Cnmxj!*ha-2qbgB@qI`<p01G!ep|T
Tv0U8b00000NkvXXu0mjfqH<}u

literal 0
HcmV?d00001

diff --git a/assets/img/flags/IR.png b/assets/img/flags/IR.png
new file mode 100644
index 0000000000000000000000000000000000000000..354a3ac5aad684f87429af19a92188d4bbff4080
GIT binary patch
literal 356
zcmV-q0h|7bP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003iNkl<ZI1#16
zF)jsR7=_{YeE&b(L^KkGj)Y2Q2NIQ9)Cx<m5j(IEl!OIH(4tWYuFQ;?Ic6eJ$ZeSC
zk!{8ZM#}WoPqxiJ+#j4P(`(%k2m{81MCXoBV4H8kn2_jf0x`(+4mbBPCMi+1HA#Ua
zlnYWM%4$khVju}2s<vhz+kAG7jS*nJDKgE|11>A_+A6Za#()sEnM;Lao1XclIy<L%
ze8hE4URhzXvjauu7X>r8X_#JK(0okkQZT)~qJ4X1mS6_u%;Mf2_00_*r>89J?vj?4
zm_@d6SsIBS5=x2s_LlDboypb~Zd<TH0-J&6=Ox=bA04@ea>iu|IU_)m38X~#@&ZMH
z=%oZUu4|T$k0smOMHrjE+OQQ2Z2n8O86y}e80ibtIh9L);fihm0000<MNUMnLSTZj
C1(wDD

literal 0
HcmV?d00001

diff --git a/assets/img/flags/IS.png b/assets/img/flags/IS.png
new file mode 100644
index 0000000000000000000000000000000000000000..87253cdbad47a63318b2130c979a6d8888265b99
GIT binary patch
literal 124
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`&YmugAr_~TfBgS%&#XG5QH#w$
z;``tBM1dV^maraEXwYfzW1q<Q|02UCMiz!63^Uk*48QU$xWRo`L2BhhJ~j*Ez$Qkv
X=}RnM85HjU8pq)2>gTe~DWM4fZ+j-6

literal 0
HcmV?d00001

diff --git a/assets/img/flags/IT.png b/assets/img/flags/IT.png
new file mode 100644
index 0000000000000000000000000000000000000000..ce11f1f8260ffaecba9badf044c914c532680d56
GIT binary patch
literal 100
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`+MX_sAr_~TfBgS%&#XG5QH#yM
wr|5To-^GK8xy3v-SqD}yHlJx|Jnu6lf#GZBZY>q2=^$+kp00i_>zopr07VcVeE<Le

literal 0
HcmV?d00001

diff --git a/assets/img/flags/JE.png b/assets/img/flags/JE.png
new file mode 100644
index 0000000000000000000000000000000000000000..904b610107c140091768edf30175eb3fa104e417
GIT binary patch
literal 403
zcmV;E0c`$>P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00046Nkl<ZIE`cY
z|NlP&C72@3a04Fey8Zt+eaU}h@bTTW|4;8*|9^N(4$MXdpXRRo|47~OKiq&n&tCq2
z<`(n+RciVFf8T#V44Ag~|I3(sFb1(f03`Q1qw4=t$MFBZA3sAF0G9mu>;IdA#{W;P
zgZ}@z`w*-FW&jBMe(>b~Q@haruXF3+mY^5_1D_YK1v~HC&Vyi^LHOJLV_>mQ3s(O}
z1DFPYz|Zqn|AWHief!k^A9`l}e{A6K|Hs+O=*n;#00MuWJpcbl)$ad8C7b`h?>xY!
z1h)adZru6*#Mt})yV{=r@0urqUGVeLb>a;8vTi%rzh5@)f{T6Kwjb=8&nq_JG2qYN
z|8J|i!8U_jfZ-}&%sjCO`2VK3860CM2K;&X`u}sE#Q!g&a{vGR@)ehV!E&#XO2KIc
xly?3jr$kU_6AM00UHJczmNSYM1~@ZOf&pq0O^WPutcd^s002ovPDHLkV1lg()GGi0

literal 0
HcmV?d00001

diff --git a/assets/img/flags/JM.png b/assets/img/flags/JM.png
new file mode 100644
index 0000000000000000000000000000000000000000..378f70d08914e08e613d73bba69e2b276ba8a9c1
GIT binary patch
literal 392
zcmV;30eAk1P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003`Nkl<ZILl-B
z|NlP&C76LK2K>Cm@c;carvJH%Wd9p<Y2n403+4X5zQX(;qz7)ms;LZM0T7<CS>(S_
zH+IdFH;Ka4ZJ32*01*5yN@4i_?FK~h@Dc9+b`#X$8g2SD{_i`)1J_)g!vNBRY5)j3
zSTOv5dIF;8;YHT}5wn#32hULcfA>5aSnT;}hW~DM5Vcqh0AX1vhW|&_Kn(eEgYo}Y
zAO^8dZDjbbAcIhc(*O|W;bQoIb_*h0uI^&^&(Djh2B!hyq747{Er)3Qc9Ri|L2Qt#
zK(51UfVDBh|3}9lnx9-^`5!w+@qhGeMR0h4#6WU(W;hJUiD&r#`6@*7@nc;7ohPZm
zW5IEv`v0Rxxgo9s##DYHngI)Y5&oUOO&DuB0Ex}rDhyY*WCD@_Ac0TU8UL3ql_8iC
m3l__QQ!PqL9Qe#c2?hXqqh=9-!FU1y0000<MNUMnLSTY?l(dTg

literal 0
HcmV?d00001

diff --git a/assets/img/flags/JO.png b/assets/img/flags/JO.png
new file mode 100644
index 0000000000000000000000000000000000000000..270e5248e40d2ccb119f59621be6f5a1a5ffa94c
GIT binary patch
literal 236
zcmV<I02BX-P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00029Nkl<ZILl-B
z|NlP&C76LK1~hO>{AXum1o9Y2!f*r5399{H!>90Hftihb13>tQfXaVAHa_wVfMH_2
zgkr!28H4}VEWE%ph!0}_xP9+G0e~>zih<MrKOaB+ziR9XcgZDHi~p~tFC@-@^Wxh7
zFRNR@HD5J#|Ns5QZQ@;k5(bv~|G7$S{xekB;>8#S92Zsp?-yi3P$O0Y)+uWJSIV>`
mS~H3P#5x(L0Rx|zD8T@Oqgwym1gAy-0000<MNUMnLSTX+^JG&1

literal 0
HcmV?d00001

diff --git a/assets/img/flags/JP.png b/assets/img/flags/JP.png
new file mode 100644
index 0000000000000000000000000000000000000000..78c159ac8a8d0ee1c9d8a544ab9dd4f2a97ec17b
GIT binary patch
literal 155
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`NuDl_Ar_~TfBgS%&#XG5F^X*h
zcSg#A`}6nzyT5YYm;W2K7)vzYP%vD?yCc}};eR={SP>o}<y#HTi^?R}8jie3XE4*h
zqxV)-S0G=s^uN8zLylt#W}b}}A6_=dFtgbiPwZv97!#|?P%z;+&^887S3j3^P6<r_
DhTS&N

literal 0
HcmV?d00001

diff --git a/assets/img/flags/KE.png b/assets/img/flags/KE.png
new file mode 100644
index 0000000000000000000000000000000000000000..ecbeb5db8f5ca312ba63d53bb3ab5358ba03773f
GIT binary patch
literal 324
zcmV-K0lWT*P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003CNkl<ZILl-B
z|NlP&C76LK1^~f-WGo;c@E=`_mzNhq45tB(PEP+hI5_?Xi;MqHlb8R`#>)EN-P4nJ
z1Gu=j{^wa){l5|#`u}Ep{Qpu@Q~WOYj|FUYaQJ^CCg%U`w6y;l^!5M${rwx8GKc}Y
zffO=c3&dVPe8I@*|5Z!N|A9dEGBh>2kzIf;F&l{Wf%q!W-*>{p|62js6G<@u<N{A1
zz6f<e03jEkd+guezyCMe0>dCW`v0xe)c+f__5T0)@e_9#Fr)!P6$vwEu>226QU8A}
zH0=NFxWxZ)F)IIAGFkqktHWskM;6C_#x%zNF(ESlbAwgDY>sSB;te1cQ!g(Jr~v?7
Wk4-szV51rU0000<MNUMnLSTZ)29sU@

literal 0
HcmV?d00001

diff --git a/assets/img/flags/KG.png b/assets/img/flags/KG.png
new file mode 100644
index 0000000000000000000000000000000000000000..12b0dadd36ace83b58a870df14d0ea1cd83216d9
GIT binary patch
literal 380
zcmV-?0fYXDP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003)Nkl<ZILl-B
z|NlP&C76LK2D}i|{Z9_YZh!y~^XdJ6DXabejiLJg*G6jpU&?8L#lUg|4dB=P|HfM7
z|JP2@|35eJ{QtRy=l|Cpk^gV(R3HWj;4$DiuipRH`s)9`&lUXtYY*4|@5}lB|5(BQ
z|K~35|KAr0fL#MpgWUiDi0vQZW&i&^#`*v2B;o(>0u=tg^Hcc$wO{!E@1vamKc>kb
zyouESVcq|q%O$`zekzju|D|2@{}-TFK<uAedH#Q{6aW80L<ejUP8WPk1iIij$NzUe
zivNECz3~fZ^IH!kpsP3_E)c-w0uTm;fdMcK<_rA)bqMH<UJ-Br{@M==k0t#7Uz@0b
z)!>c=sOfKQfw9mn0`|(!9o)b$5c&VsL78wYpriv}+`lnZ`~TV)m<|+3NeASl#DULD
alwbhywvkEBYC}-~0000<MNUMnLSTYw*1`_}

literal 0
HcmV?d00001

diff --git a/assets/img/flags/KH.png b/assets/img/flags/KH.png
new file mode 100644
index 0000000000000000000000000000000000000000..6fb7f578aea9503fac9e9247123ca7f00c4e6bda
GIT binary patch
literal 232
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`>pfi@Lo80;oovn3>>$wgo#~b4
zk<%Pu)2bK_GOt|wDAJ_SHEDYLt{b|yB@e#p-`yh6q;SN+sjI)z;B%-k3&TyOpB)Vo
zINpD7Zu%=T@8;cwyZBaR_Wvr)3v}RRX1^T5-TVHrk@DwTo2C?m7L>()&~OrO6R6~y
zxGceuVV;V`t#7*)e6)!<EhL;Q(Z$q!=6BrD$&c4?yG%=5qvey^y>XprkXp4(-*ndc
g0`~j$%XIHBGzUh$(m(L-642=kp00i_>zopr0E;kQGynhq

literal 0
HcmV?d00001

diff --git a/assets/img/flags/KI.png b/assets/img/flags/KI.png
new file mode 100644
index 0000000000000000000000000000000000000000..e2762a670a12fa986435ee95d60262117de56590
GIT binary patch
literal 517
zcmV+g0{Z=lP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005ZNkl<ZIE}@V
z&r4KM7=|w>E>xzGOh`qYDRtvQC<2v1BEf~?UtsMF2U4k4Eeb7aFh^%lL>v$m{Dpy9
zf;qY|332Xt?{ufYO(+Elg0qM=?w-y$1BVa>7X~d}&iUT+yzl)s*8q&m=u%-_U>8)O
z<*vf2xPe{c!7jOpQ{%;{tHAPlv9J8a31u!QswB}?%HjAmz6Xm)_{y=brr$0ukaAUH
z<yQ0MmIq60vX__k&U2YJ5a)hpF~>`V94{BL?=Mzf#tq_G*V)S{#me_!8s#{5-JHg<
zIZL`Yb6lj%Y@B;;;zpTbBr7wzAQcF6^1#nwZ6il5?fhB|K<X*{Xn>#f>i&B(z)@>E
z2ZA}d--*oVf{u|b`etLyy*C+LG<g`_rh8<EsWp>np&oJX5MEHc&8?Wc6s*kXg0W?b
z(7QO#BA@7=k1@7lF)F<06Q7kvmn`M=&+jT`NU$=a3!V&b;vZV4I~2t~xXxoScZH)o
z3Z>N*-cX)q#3?hn;6-GM@ec`RqhFc)n51`Nn*s5)nT>Bs!G&GrO|B&s6Io3lGrGXI
z-HTE8irnTPhVKn(zSBoe(_1BZSDx>6nh~s=|J}dvUkm;K^~k7gUMVy>00000NkvXX
Hu0mjfCVB98

literal 0
HcmV?d00001

diff --git a/assets/img/flags/KM.png b/assets/img/flags/KM.png
new file mode 100644
index 0000000000000000000000000000000000000000..43d8a75ae7eae80f255461a47a1019fceea30f4b
GIT binary patch
literal 272
zcmV+r0q_2aP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002jNkl<ZILl-B
z|NlP&C76LK2J|n}`v3Q+-2eZ_NW?G$Z2OG=m(0`s|Lw3m`38V+(oFsTZx1SvXF%h&
z>i=ubFaIC2Ao%~Wdx!rM2_Ob^>}mq@rX1}1-@2pzzrzHx{|isdA>M%9*SCXtxvNtD
zPdd>1ALgb0y`7}FV9BZZU>Cp)==Ie3e@;*hCq@Z_mhH9wH(px%KYn4@f4_Re|J&3w
z@M^{|0D?{b+cZ`Gw<<jZ#778XR0F!*{##csB1$8M0XD5E|E<b)lcX8NfPv3Ulwbf}
WaM}izr)m=b0000<MNUMnLSTX$0E4Rl

literal 0
HcmV?d00001

diff --git a/assets/img/flags/KN.png b/assets/img/flags/KN.png
new file mode 100644
index 0000000000000000000000000000000000000000..5decf8da731e608c42d16aa8ce60b30c22f7a482
GIT binary patch
literal 403
zcmV;E0c`$>P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00046Nkl<ZIE`cY
z|NlP&C72@3a03|TdH%<TtG4U?f3!#7znuvSP%#4>6EuKlf!qJ}2bKOGS;YHaT8!yG
z8yg$(2B<G{_<!S+<p1flT>sfv8UEMR)%|a8Z-;A^lVrkeK)^cl|1VAm|4#~J2P+2I
zJYm9w|C1+A{?EzD`QOou<^QvN0+<Fc&-eJ>u}k~^y&e4jjkK6ioD0G{JUstP5;*>U
z-7ozAma`(N0iugs{_j2_|9{5}p8rDpjF_6a82_*7=lTC>h3Nmw8Y=(K392CsFkNZ;
z|K4ed|4liZ|CyN>Fak?mf%*T{jeP%KwMhOyFQx|8jAFp6V}k#E9azDN(E}^MiS_@x
z1A_k_#K^%lVi=$z$Al4BJlvfBTk|>pf8Qni|Av(khGrB4(ETeb#S0FL5A((TUs6=T
xsu`yNpwI`!!t+Y$|L29VYs4^M;4>2?7y#3fMtg3Z>Sh1{002ovPDHLkV1gko$cO*{

literal 0
HcmV?d00001

diff --git a/assets/img/flags/KP.png b/assets/img/flags/KP.png
new file mode 100644
index 0000000000000000000000000000000000000000..b303f8e7e5687a28854e9e5151ac3510772eeae8
GIT binary patch
literal 197
zcmV;$06PDPP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0001tNkl<ZILl-B
z|NlP&C76LK1~B_B`cDp~o&o>K2M`0^%BucH#vcR1{(o(5|Nk*G`ailHGRA7a2PcpJ
zzt3O%|2Zk+|L;qe|9=XLA<cj<m39BWRMkV+K>FLnsU*6<!R`O|MN9vGpS$4ykEJWY
z-XX~Vm?2-vYyN-q3M4KJD2|0ek&p&BGf{#8Aq2DewX(+D00000NkvXXu0mjfG>=w!

literal 0
HcmV?d00001

diff --git a/assets/img/flags/KR.png b/assets/img/flags/KR.png
new file mode 100644
index 0000000000000000000000000000000000000000..d21bef98a8ecd038aa65566dacff85b01fdf411a
GIT binary patch
literal 413
zcmV;O0b>4%P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004GNkl<ZILpP8
zu}cDR6vq!N914QwXvnt03Y!{j)EgAFt&kuPatY!pg8qQQp&Z&8BJD1MRy7-hq@c+}
zrSSAO3N4j)q#&OL2?~wCf*w40!+T%&e)v8KkbcwBUkUVDUj@?XG^(m%7)HmYX_{!7
zMk<x+E+B-!=kqb|bdt;G+eZ%-%#sd3p;W@{b`uJPs8*|;0@-X9S(e$0M4-{+ae0gE
z;54@bcJ#${cx!STJHh30k;!DbTM$C<VjAd&8rRYYch(6m2WGgCY&=DdcsA-(DwXdU
zeAG@j%DH6{b$AY&eU+i{5b>p*pCJk%FpWC9r#JMCu3(*7Lvm~)jfIIGU18K;Kl|@w
z;PrZm9_;hhY~kNlvCMAJ?@;h7Cm4+uXPSz~<LS;o*L8xyAhIlTpUVMI)N2&Vwf0;r
z5C|-wC<^6rxx0mAGD$2J`!)yhc$`Ec@iW9;lKB76)N{WBh?O}6HGr6Q00000NkvXX
Hu0mjf;e5D|

literal 0
HcmV?d00001

diff --git a/assets/img/flags/KW.png b/assets/img/flags/KW.png
new file mode 100644
index 0000000000000000000000000000000000000000..6f7010b860e6f7f0b1df6c7545f16d21573d0416
GIT binary patch
literal 185
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`4W2HJAr`&KKmPx>XI7n|bhdz5
z;tlVAV;|k0=M6T`QRy*Y@G#Wy{Ga~f+`<D40?!`*J0BqD+{mbK=Fp${ipS<MF)x_m
zVIaYqkecu({-o-+|8o{dIrbzr7zm&KU%6+KOXe{HhxXRT|M}`v7nv@W5IAt||NkWm
kv^-}8@+@HC-^0l8yt!(x;H^JOK({b>y85}Sb4q9e0FoI<E&u=k

literal 0
HcmV?d00001

diff --git a/assets/img/flags/KY.png b/assets/img/flags/KY.png
new file mode 100644
index 0000000000000000000000000000000000000000..c4bfbd99452cf887ac03bc61e2eb7a9a30e42c60
GIT binary patch
literal 338
zcmV-Y0j>UtP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003QNkl<ZIE`cY
z|NlP&C72@32m_8B`5#ri_y3U#&;S1q4+qnZX`BCp#2Jid;>2(RK$<~{kqrRxL52`z
z0EqSX@8ADm05kv@z!cj@bpGG7!tlSYXFnDLK$>7!PVPT4AEb~8h@Il<|J#JS{nz&B
zz%&5nUlcE_Sn<ENe=k^}hU3)#C&HBfpH5TyzsF1aKc6MK3#L#1?^n13#enLr{qR84
z_FMFSPfO<ieeEUxcehsj7qFj?Y5=}~Vlkch-z{j$|J<2#|EJGd^1o{8jQ=`r(}*`9
zz`yhVwH2ZN`xh?zAJj1E|B|JX{$H9GO1uH=rZfIaInDa-o7nxozPIPUQ}pEjl8&>9
kH-M;gK(PUXATv>b0d4V((1i)%WdHyG07*qoM6N<$g6X)a9RL6T

literal 0
HcmV?d00001

diff --git a/assets/img/flags/KZ.png b/assets/img/flags/KZ.png
new file mode 100644
index 0000000000000000000000000000000000000000..1a0ca4fda91cb0b52b3e8ac051b995fb28dd3fe2
GIT binary patch
literal 405
zcmV;G0c!q<P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00048Nkl<ZILl-B
z|NlP&C76LK2Jme-@Ly;1%KuF3PyA<Ce~M@fH^6wylK=De2LI>Sa0E@!ng0yy&O`9}
z)3^;#-?a9B<F3sAY#WZDXy)E<=)dviC1BUFu0M`p2;2a}%}f9H?N0d5wc#*S^6Y<h
zpoZKXmH)3DQvZMAfboC7Z4>@80>zOHfg7L(bV1#&od0a=kAW311F`hR9shUicliJR
zI0G1iEZ_xtkqMg%^fxd2KXXs`fA$SWf&RVt-)Gyz|0z4_|JUrw{r};J(Elfg<^IQQ
zZvpeQH?P9u0#F#NJNI90)4KnW+uQ$}Zdvp{VSDrc@a>)d4S<&9?x^@LykReKVIaD3
zH_#i~{yT1+_1|jC{Qve_X8#ufYd(uD7S;e`Aqy=Q&H}^Y)PJqbtN&YXnfG6A(-vrS
zl9UcW_#9N@Io#=hf5ZO&dYe~}pArW?Gf{#8t7o)zj0xsh00000NkvXXu0mjf8$Qw5

literal 0
HcmV?d00001

diff --git a/assets/img/flags/LA.png b/assets/img/flags/LA.png
new file mode 100644
index 0000000000000000000000000000000000000000..f78e67f6a3d5e97483d99f91202403ae9a5b191d
GIT binary patch
literal 175
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Wu7jMAr_~TfBgS%&#XG5QHyPk
zaL8|eJ~<aQgN&3v?#KTuYyJOPE%#si#ohnx`vd>g=VX15DtLD4@PC61-+%C4;z_uC
z_UHfS=i_%U&fot};V$cK{@6z84JDs7FYz+$RN9vF@BfNPJO9tzy7_~&0nep_2h!EN
a3>bdZq$zE0IC~xF0tQc4KbLh*2~7Y1`AiJ}

literal 0
HcmV?d00001

diff --git a/assets/img/flags/LB.png b/assets/img/flags/LB.png
new file mode 100644
index 0000000000000000000000000000000000000000..a9643c34efec418dd4dbe5f9b98e4fbf07d13ebc
GIT binary patch
literal 213
zcmV;`04o29P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0001-Nkl<ZILl-B
z|NlP&C76LK2E3I~`A-fWL<aoF0Vdtt`oHn=ivPd={=uaLw*jZ$-u|z$Df7SNx`h7+
zUtS^2fS-SV|1UZ>|3BZ#@c%q3LjMOH?)?Ab&oAN)xcBA7|Fl!n|4Xio|F6C|^MAqF
zdH?TzenGqeKY%WH@%{b()~jp&_ubg^|Ifd_|G)hHj@y9Ykq!npGf{#8bM5HAVU`BF
P00000NkvXXu0mjf=CNzr

literal 0
HcmV?d00001

diff --git a/assets/img/flags/LC.png b/assets/img/flags/LC.png
new file mode 100644
index 0000000000000000000000000000000000000000..ab5916ba4c2be1c9677d8b36677139df0332f548
GIT binary patch
literal 197
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`J)SO(Ar_~TfBgS%&#XG5QHxDw
z{_p?uWqd9){CX|mvyD-Do}<A{Hk*HJ2U8>&imH;6l_eg3VvA#T@VkEXDr<7gy#v_{
zCte!b$t3igmbTz!u&m6A|M#E&xa<FVJ5{c<<j-t=%x3m~|NXyaw(@_yURR@G2d|Lw
vt%md8KR=k2D52t3WFj<Ih~3UOu!*sBi^w`VvGqHF?qcwC^>bP0l+XkKIyy;4

literal 0
HcmV?d00001

diff --git a/assets/img/flags/LI.png b/assets/img/flags/LI.png
new file mode 100644
index 0000000000000000000000000000000000000000..cf7bbe4950610dd605c44437d0a09ac5be17fb49
GIT binary patch
literal 216
zcmV;}04M*6P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0001=Nkl<ZILl-B
z|NlP&C76LK1~6#X|A%9(Mj&p0(8%IgFs1=o_5ay)%l|7{C;w;Gt_1T*GQiq9@_%2o
z=KtbUH6X41U)wqPKZANR@dgCNg#N$0R`LJ-`6~a<uTuJN;}`#*LA8Z=0|ZRU|J%8{
z|F>|k`)}j!{h!mY8WJ8vhk<4T#75O-2#rTGiUH>Y)&7%%M-4zSVBj+oB^Uq!V^0lT
S*_6xx0000<MNUMnLSTYMvS1DX

literal 0
HcmV?d00001

diff --git a/assets/img/flags/LICENSE.txt b/assets/img/flags/LICENSE.txt
new file mode 100644
index 00000000..0836cb40
--- /dev/null
+++ b/assets/img/flags/LICENSE.txt
@@ -0,0 +1,7 @@
+Copyright (c) 2017 Go Squared Ltd. http://www.gosquared.com/
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/assets/img/flags/LK.png b/assets/img/flags/LK.png
new file mode 100644
index 0000000000000000000000000000000000000000..a60c8edcd0c8baea304e7f004ba47246b941a716
GIT binary patch
literal 325
zcmV-L0lNN)P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003DNkl<ZILl-B
z|NlP&C76La25bjX<X~h27{VO?|Br@99M2W`->aaB6NBXO8URw%r>yaRvcA&)P8qHL
zeX8pJC+jNzpKhY`zeiC6EKksY+2)G>R|Jdw-<HSoe}5C}|Luib|5qgO{a+9y{J&2{
zgRlWhU1k3-@R0n!xs?6??skU%OG8EepQ`2kf3BJ9|5QB{!UoLq7XQC4gZKZ9e)j+O
z7cu<*wiPIM0EqW8{GVp1OxS?Q4if)Q^fUc`wV3(;=QWJ~Z}xEhe=?8d|Fv$8|NX!)
zA!xt^9hLt*8p{7S#tZ-77$f?>S5x`_iF&U82g`W>PtsH)Yycrl{d7QCN*wsiL;(f>
X(=m<ySB#+=00000NkvXXu0mjfJFlWf

literal 0
HcmV?d00001

diff --git a/assets/img/flags/LR.png b/assets/img/flags/LR.png
new file mode 100644
index 0000000000000000000000000000000000000000..dd3a57f763b70e0afdd586320c18bffa7f393ffb
GIT binary patch
literal 142
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`p`I>|Ar`&KKmPx>XI7n|bhdz5
z!o=v`;>Uku*jNnP7z0&{AF>H>3b3V^=`nX7;8DEE`fA?S|8JA4|7-8MGT}K>*P(`p
p*9E&8ByPLKI^1Aoo-<S9AVYfLRg0Ru3m^*^JYD@<);T3K0RZp=F{l6l

literal 0
HcmV?d00001

diff --git a/assets/img/flags/LS.png b/assets/img/flags/LS.png
new file mode 100644
index 0000000000000000000000000000000000000000..ad2aa4a2c1b1d58af5ccc2d731c575781a9b7a83
GIT binary patch
literal 200
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`{hlt4Ar`04Uf#&tY#`!#@qShJ
zngcwVvDIu`(@!v0FqSX$J<KI{*vG+<U;4(ivrLLy0-822w=J(`Ix+K!dc&Q0GB2GN
z^0(=5A2tw3esXwQW9F=abAnC_uI-Zd(7b5EdrZPh^LIn#yo*uFN*YUF?CP8I`TGHj
zzKZvmx5ct`YwvGf_u5RM-`ahbz=!|Fb6>Ku$RAp9BKo5-&}j^wu6{1-oD!M<59v-*

literal 0
HcmV?d00001

diff --git a/assets/img/flags/LT.png b/assets/img/flags/LT.png
new file mode 100644
index 0000000000000000000000000000000000000000..f40f2e288250c4e1669dbd099921946a5e3ea770
GIT binary patch
literal 108
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`#-1*YAr`&KKmPx>XI7n|bhd!`
z-#d|i{(N$NYz8Si|ERO`D>3t}di@W`P-kYdGY)KGoXpyu&wjaZ0Z==Gr>mdKI;Vst
E0M1h$hyVZp

literal 0
HcmV?d00001

diff --git a/assets/img/flags/LU.png b/assets/img/flags/LU.png
new file mode 100644
index 0000000000000000000000000000000000000000..92e72f9d187f45bb85252702aad10a87a42f57da
GIT binary patch
literal 105
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`2A(dCAr`&KKmPx>XI7n|bhdzb
zU&f68>g@dL%>O3yvvo7_aLfGxb2Sb!=QA*zKmYV^^KuO(pk4+~S3j3^P6<r_RTv$9

literal 0
HcmV?d00001

diff --git a/assets/img/flags/LV.png b/assets/img/flags/LV.png
new file mode 100644
index 0000000000000000000000000000000000000000..3966acfc3acb926777f4d88516819fd98c4e64e0
GIT binary patch
literal 99
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`TAnVBAr_~TfBgS%&#XG5QHxE-
wY{L(KJ~>l{lMVl$Fl$K~NO3nS8V5EpZWUjc`CD<{YoIO$Pgg&ebxsLQ0KOj_j{pDw

literal 0
HcmV?d00001

diff --git a/assets/img/flags/LY.png b/assets/img/flags/LY.png
new file mode 100644
index 0000000000000000000000000000000000000000..4db084539896c890d51af875dc3cea57db2ede69
GIT binary patch
literal 212
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vproLLo808y==&JSV81i;dGwD
zg3LXR%X$3t;ue&1SX3~df4D9?-29;T&6~QnuRn<Jny};o$N#q<AAfXUYM9gchoxeo
zbYF>LLiLXv8TW|nXeW-E**95>&T%L<6!%RL+VefY>nro?T}?q<sgVI*j%!7GHr6Q|
zyJ0qC8Rt1m4^6}K#r6g~%sqw|qPF{%<rmc36)fRq{Quu4y^7g8#a1urWSkYynGBw;
KelF{r5}E+qtx=o+

literal 0
HcmV?d00001

diff --git a/assets/img/flags/MA.png b/assets/img/flags/MA.png
new file mode 100644
index 0000000000000000000000000000000000000000..69424d592a333bb2a784088715d7d64b7411600c
GIT binary patch
literal 302
zcmV+}0nz@6P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002>Nkl<ZILpP8
z!AiqG5Qg&v`Vi4>c4l)?XbKG;L|f1oD7_VYgVHA`K1mLtJ$X?SJ!qEXR1f+>zq2t)
zPf1J;9zGamc0QP4)&t=6p;z;-;7x_-Lao3G4~lUw*uMy}s`>pm#A?V`MqI|Ws?`eI
zgJ)&%GB7B7gR^r&EEGrIIakZ-1i7$PgwcdSQvzLR(4_`T97%2?wY+JBVh|!_10#)#
zNaIFe5v9hIwZ<L13ZH(6`IvBUt#K&KV#0^ta*1wPPcm<C#aN#*Zci9W;zya^wiVn3
zjD!d~*}fyuT;^H{ekA+zy4be8gHD(D|DUN3UoZ1#a-(qpmjD0&07*qoM6N<$f<r`p
ANdN!<

literal 0
HcmV?d00001

diff --git a/assets/img/flags/MC.png b/assets/img/flags/MC.png
new file mode 100644
index 0000000000000000000000000000000000000000..a14683d77b419d182b3647f9665d19e14406b164
GIT binary patch
literal 98
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`nw~C>Ar`&KKmPx>XI7n|bhd!`
w9OtUP>g@ee4!+F)CiA=TE{KYg2w-M-dHSR3tVKt=ftnaRUHx3vIVCg!0K3#3D*ylh

literal 0
HcmV?d00001

diff --git a/assets/img/flags/MD.png b/assets/img/flags/MD.png
new file mode 100644
index 0000000000000000000000000000000000000000..21fd6eca4641bec3992b88a7580dabd2899985f4
GIT binary patch
literal 190
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`t)4E9Ar`&KKmPx>XI7n|bhdz5
zLc;97`?34^MhQpzMOgzrD40KZDtYYx^6eY`?%&k@_5bP3Jxinwws$`NKZoPs|I5y-
z|MlNKRJz-6E$HI^sg`X2KL_jl(|;=l6iJ<I@&EbLRe$t#FZ|e_FUVfmxFehI_W$PY
p$bbKLn5rzEsKU%<XB^nX_~BSv(wolLxj+Xoc)I$ztaD0e0stwoR3ZQX

literal 0
HcmV?d00001

diff --git a/assets/img/flags/ME.png b/assets/img/flags/ME.png
new file mode 100644
index 0000000000000000000000000000000000000000..0ca932d91bfe25b35535bebced358c3543737ab2
GIT binary patch
literal 323
zcmV-J0lfZ+P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003BNkl<ZILpP8
zF-ikL6o&UAy0I{`S+g!~birK(!9wu>79r6_)IvOf7J>m0(KLeTEc5`T$O%klBw<Y&
z@AEmcorPp{1&a?JZ{TCzKW`ksDT4DSf{&Mk-|$5s=gL3gdqGJf1kx=tXa+f^&U+;b
zfeJiE$02IVCp)V0t}%7q(`VBKNrmxK%;+Gbcbd{YS<mb7bBszW7J^le$>TDw4{Nl}
z>s*{Qke!4{r-oV-78&@0VWWz?j=8$o;l91e+uaKN-H?H66Qa4rw$E@+&)!}_-bSeX
zfbL;R-?PX-&T7Gip0(zYT}EWB2<Zvbg0Or>!;BHlBhAbPEtT$+Jt(w^|Noha@Cj5(
Vn558+ZYlr(002ovPDHLkV1giWkQ)F1

literal 0
HcmV?d00001

diff --git a/assets/img/flags/MF.png b/assets/img/flags/MF.png
new file mode 100644
index 0000000000000000000000000000000000000000..16692f7112bfe502c5cc6f9bfefc2e7a0ad318f5
GIT binary patch
literal 161
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`8J;eVAr`&KKmPx>XI7n|boK<>
z1a1X3lQVWcoBUSDbujWgd;8zhkY$P36857EIc<Ncp70&JVUldxFu{9*>0=Xyn-gyT
z<NTlh`)Kmjp6d)V6zBKPVM@-K#VN%Q%D`6fq`jAM%7aF828JoYSG?zjU3~_$lfl!~
K&t;ucLK6Ud&pN;W

literal 0
HcmV?d00001

diff --git a/assets/img/flags/MG.png b/assets/img/flags/MG.png
new file mode 100644
index 0000000000000000000000000000000000000000..09f2469a2096712bd3ab29833d8965068527eddb
GIT binary patch
literal 101
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`I-V|$Ar_~TfBgS%&#XG5F^VmL
zwLYi!!=pgv7l{ncb4BB9vKUq|GS8oR;uwQP*@xH}ZxlI!`WQT2{an^LB{Ts5EI%Gx

literal 0
HcmV?d00001

diff --git a/assets/img/flags/MH.png b/assets/img/flags/MH.png
new file mode 100644
index 0000000000000000000000000000000000000000..3ffcf0133b924ae4aa30bf28c700684a8ac0528e
GIT binary patch
literal 382
zcmV-^0fGLBP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003+Nkl<ZILl-B
z|NlP&C76LK1~6Dm{!a?#vhMlc6=(h*s{y*v%kXN}axVYBJ4fvQ-BJcj1JuKo{NHu*
z(SOCDg;+Jm1%>{<QNj$?j9~ys(}WclK!X1p=A8U5=f421QNX72|I8#^xW>mlTK~V^
z*pBG}9>*E~yB41X(=ag;w}Su2@&&*e@7MDG|8TJP|Np;#{zCy~7{F|1ww(AsH_Yq*
ztrDjHcgvaozh0O5|L@ng|Iq;USP-{s{=Y0u1#Ii{IUfIizPJk4@#NK)|6NPY{x^tS
zj@<x9uZ;hv3wV(I`TxV`pa17<y87QKXFZBVC<d@vPWWFN<pB5R&mX`3Z#;DGe_;96
z|7^C?u*M490C~r{|C_QE!2aBK?E3$-j(z`y+-4I@P;diwbw&QK=-vEZ+IJpFDUy15
cVL%N40AVzW35xFmQ~&?~07*qoM6N<$f*P~MeE<Le

literal 0
HcmV?d00001

diff --git a/assets/img/flags/MK.png b/assets/img/flags/MK.png
new file mode 100644
index 0000000000000000000000000000000000000000..a67650957b85d3658f770fcc78b5b375ca4c07f2
GIT binary patch
literal 378
zcmV-=0fqjFP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003&Nkl<ZIE~Fy
z&nrY>6g^?G5LrptDCN&l_R7k}hK-bzy|S7Az(QoDY}ok=B=gHG{ThSJ;ti9K<DR*F
z?_-{YdK-(|yPb3Hx!*hQdmxECm1{T}H0)vZb_!O<z;lDIW*t+h7bZ@cfTsqpClP!(
z1WN_5G75fPd#M-pd=PcrnP5=r2XE)WkE)YTo4&ER4BoGJFHD>?(rP9(kU&)#0UtNO
zWZMJ-;Kd|Zo3MTm>>N8MP0*(X$qx9i242p9^(l96F2&>C%(;m;X{6OmCd6<=xp$5t
z*4_up!{5T|4Y9pvuIrw5ecBBAz`Mns6BL}2Mq15eGAIvOXsckW=q4KIzLMpU>^dh+
zCIh{*w!EMD#@3b#ly+mmdtu_F$$W*s-UD&J-h%+jy*BO}m3F|@hnpBq`6I-C@H6G8
YFC{&mp50DC9smFU07*qoM6N<$f)60A-T(jq

literal 0
HcmV?d00001

diff --git a/assets/img/flags/ML.png b/assets/img/flags/ML.png
new file mode 100644
index 0000000000000000000000000000000000000000..bd2384186389116aa2285cc87138c313b711c54f
GIT binary patch
literal 103
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`dY&$hAr_~TfBgS%&#XG5QH!l3
zr|(yP-~Sj9=Y!8#t{Qw;!MK=>$B3ED&N#4%kwbKHW2j<?8c-*Lr>mdKI;Vst0Ca^N
Aw*UYD

literal 0
HcmV?d00001

diff --git a/assets/img/flags/MM.png b/assets/img/flags/MM.png
new file mode 100644
index 0000000000000000000000000000000000000000..1bf0d5bb4d7b863f58c24a33f3fc9ffe1f9a3958
GIT binary patch
literal 195
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`U7jwEAr_~TfBgS%&#XG5QH$-5
z_1O>eWqjC~*JU^x>}2~>e~aNrZws%%&6Gd#lI5}Q{?vcEdh-AL`dYSR0cn-Cb$rVi
zm(BM1r@wFW4|^V+eVaLS+_o?(+$rAq`~U9w?+-{EIkt=~?|?S%>HjZ&6dzymKR>7D
vz>nhJNB-Zq^1!q~!lr{q;>Q^mPBw;_QoB`Smj1l}bQOcAtDnm{r-UW|7|>Gh

literal 0
HcmV?d00001

diff --git a/assets/img/flags/MN.png b/assets/img/flags/MN.png
new file mode 100644
index 0000000000000000000000000000000000000000..67a53355d873f6f0d6426511d7be2509772f5a3c
GIT binary patch
literal 225
zcmV<703QE|P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0001}Nkl<ZILl-B
z|NlP&C76LK2HX*s`Hzm>*PTbf*woO#04Yig5SID>EK1`4Jr(KycSK1w0I1=%pv?bI
zD~10*vXlCMo0kk1Jn@nI|E5{=|ML{_|M%3SNi*QCq|E=1ON9Tw?GgR|X|3@8$L^9O
zx<CSGz%t?gAAw%@vPbCuBWFp{UGTb2?ElLg@&9kyME^gumLek-KmiGii8~?#k&p&H
bGf{#8^YfGhrr$8y00000NkvXXu0mjfUlD26

literal 0
HcmV?d00001

diff --git a/assets/img/flags/MO.png b/assets/img/flags/MO.png
new file mode 100644
index 0000000000000000000000000000000000000000..2dc29c861ac83335a711b98f39f3a9c611fd1597
GIT binary patch
literal 413
zcmV;O0b>4%P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004GNkl<ZILl-B
z|NlP&C76LK1~62_{l~!NXzX%KH8>66s*e88RT=x=Z?fzEfGMtEHdjqFkp`3|{#R=a
z{;$*K_g|tR`oAO)Yq$CTS8odj%i%YmEaAU#m;Zm!I{*KIP5J*<T|V=F&E>QIg@J65
zTL1qhU4CFSxD6<e|Ib+!_Fu3j=D*&=+W)`*{{8>=-@pF`lj^`?oK>M<HMk8ZiTv+6
zr~Cib>lgnoK6mv0yKi6qfB60t%-(k6;(zzKJzzDs4JZo#AF^aJ(B?lN$^YMe{Q}~j
zU^d7#Vauj~)!;UuH2S|vSIPgDy&M0px^(h?*|rt`OMw`~Zr!)>ziM|0SPh;qi2cuB
zpZ4E>VgLVv%}f5LteN{i8HfuuFa7VoXu^L1pd3gI{%9<V{?A^W_}^)E`~RvPtN&N+
zT>am9cE^7XpcqJwsDuQzr8olU+$abJv5{=XFks*_6D1e`F(`hF#{F$700000NkvXX
Hu0mjfv47Mw

literal 0
HcmV?d00001

diff --git a/assets/img/flags/MP.png b/assets/img/flags/MP.png
new file mode 100644
index 0000000000000000000000000000000000000000..b50575402d5d70745024b3dafe65c4faa2759aa1
GIT binary patch
literal 548
zcmV+<0^9wGP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005&Nkl<ZILpP8
zyHAsG6o!8WOn`(@O^kz!n}dlaIv8}&!Ao6S99S%yNw0jAYQ;k71?e5NrBoosUg%In
zEz--^_N!@WVylx0;-FDuFwy_vaX^is?SzRZd8c#o<Xqk(0I?g1e*zE&nLpAO=^mCj
zZdu~$tr)8DB&R1*^q9&BZHd2YTLIc4C#098rX@b5)Kt<lI0Co%kWiCfFmlqFL1>B{
z0Ga}4eO2n7JLKXvF8NovF*(bSHN-`KmgSg>M(Qp{ZFPjU&<f}>DkPFo+;%m+<{Dx!
z&7)Wn?_3NqxI*`64Ufl+Km39{`qB=7US_|!N`1z{75f}VtQAI<n!Nk?h34jGq~vQ3
zk13q9Mo?l-4vtq5x*dRhh8(%YEUJ4I`n5THg$;hk#PhfGY4Tj~XIYCZaL80@1@sJO
zvG^^xp1eX_U*mG5!S}7N{P?!TK%kBo%3(?>OnHO!8%k}Ks4a5M9p`<s#IdOws_AFU
z27H8r0R|kaobs%**(@VHRuGzYSJ2D!N(%nOQ{JrS7`q?GIqAS|b1)K4v(b<VrStSk
zC4|1v!3R2-E<=%<^D8Vqa1(Sn2)G<P40+K<Gwd~P&)(Tczd8}RG6#&yoHs`~GdfS7
mE`!jNw{z{B`2U}2H~I;SXt7HG+<F)Q0000<MNUMnLSTaAs{IrI

literal 0
HcmV?d00001

diff --git a/assets/img/flags/MQ.png b/assets/img/flags/MQ.png
new file mode 100644
index 0000000000000000000000000000000000000000..4e9f76b67cbc27356161a4ee78191be6237d43fb
GIT binary patch
literal 202
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6FprVLo7}w|M>sko>_H9qZXTn
z)z`n<duM&Fe|2f{|Ngo4U+!CE{HmWI!Si6Ey9C3bO5N!H`nL)m?%z~w-^OV1B#?JQ
z-;BTY-!EGKpPs+7<tl^DCl2P4+GT(0KRtT<|M`0R|M~MPISw<(0EL5Ang6jbdw22w
z-sA88*_VHn1R3yfql2DAFKgDZLk#I^UIq+FR?nyA#U$kb9mnA5>gTe~DWM4fV5(Q;

literal 0
HcmV?d00001

diff --git a/assets/img/flags/MR.png b/assets/img/flags/MR.png
new file mode 100644
index 0000000000000000000000000000000000000000..6bda861307ecc8981bcd7d28a76226ecfff5df9b
GIT binary patch
literal 250
zcmV<W00sYvP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002NNkl<ZILl-B
z|NlP&C76LK1~4QU|0f6IG=Me52tzR&7BQ>_aHSc-*}BDAU<~8)rW+78K&?<4OsfOw
zd)wK;SRE>+U8F_WfHg}5;q2rNc`%0Y_pah4Y`}+o%>O;=R5AP;)vEaa^L{462CQ2u
z@c-u_#{ccpB>tO~Yy7vY(D>gwL;U}r!;D}#f(B?6Y5#w_m*xNeBMc}QBnFZrDjKD8
z^!~2~hQ;&UtY8dcgT#nV2NWkHk_{O6%tQ$W0IQ%q;um>kwg3PC07*qoM6N<$f=xtg
Ak^lez

literal 0
HcmV?d00001

diff --git a/assets/img/flags/MS.png b/assets/img/flags/MS.png
new file mode 100644
index 0000000000000000000000000000000000000000..a860c6fe44ddcb6ebc1b93d270e55aceae930c13
GIT binary patch
literal 346
zcmV-g0j2(lP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003YNkl<ZIE`cY
z|NlP&C72@32m_8B`5#ri_y3U#&;S1q4+qnZX`BCp#2Jid;>2(RK$<~{kqrRxL52`z
z0EqSX@8ADm05kv@fD{_e+WB9uYsr7Lf|mbEJ<I>=&)$V*07w%I%gOym=7SUpE!g{?
zrFZFnrwG6Q5=|Zd1r{AdH2~&c6fdk;@xQl!FIb_(++F|KmL30ZTb1@-W%2C)B6Ihl
zxnTPA|9*u#Pz<Q<+7AyzzJ-VX3oY9A-?7O4Kf|QD|3ZsTpc;TLpg=gQIOl&!l<|L~
zXz~9#IokgV^K*$efZ1fm|F+VO|Ets){`-cq{g3ct{oh&CNtz4z?dScku9)_JdQ#B;
ss@l2#`RwMAW&pu-K(PUXATv>b0sWqffA`i$ga7~l07*qoM6N<$f|$vxb^rhX

literal 0
HcmV?d00001

diff --git a/assets/img/flags/MT.png b/assets/img/flags/MT.png
new file mode 100644
index 0000000000000000000000000000000000000000..93d502bde51ed3a1a0e6892f8e4b70b338b16ca1
GIT binary patch
literal 114
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`mYyz-Ar_~TfBgS%&#XG5F^cU0
z%X8N)g-JZjeKNP)_c1D*T|G_rfI&;0-U2U)9w~zZY&<n-O47^>cV7P8SorSl8K5By
Mp00i_>zopr01Lb%`2YX_

literal 0
HcmV?d00001

diff --git a/assets/img/flags/MU.png b/assets/img/flags/MU.png
new file mode 100644
index 0000000000000000000000000000000000000000..6bf5235972bad2a32e00f740bd531b24c8ffb757
GIT binary patch
literal 116
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`)}AhoAr_~TfBgS%&#XG5QH$-)
z#0kIs`Q%*K46?TVS7+x}V*a=1*?)h&W%C%5CO7?`+{`|ak$L`1je`td?Mo(Z=MT&R
P8pGh}>gTe~DWM4fZdE0U

literal 0
HcmV?d00001

diff --git a/assets/img/flags/MV.png b/assets/img/flags/MV.png
new file mode 100644
index 0000000000000000000000000000000000000000..b87bb2ec063d3cb49fde7c1e95abd3a406a63b0f
GIT binary patch
literal 201
zcmV;)05<=LP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0001xNkl<ZILl-B
z|NlP&C76LK23!&_`A-g}z5xt%Rv1`oaukLbQ3kj!%>V!D%lrRz`)2>=ZFTw2+F(b#
z0i4Z_|KEQ5_<z@(Q&?R^&;XFLL7?~Oa`FrSx#0QdH~-H+zxAKF!G^pru%DOx|H;Q!
z|JPkR@ZWq^%76Y=SJDiCVWD;p;$1Ls32ERn6D1e`{L*aRJXdPu00000NkvXXu0mjf
D`}JDd

literal 0
HcmV?d00001

diff --git a/assets/img/flags/MW.png b/assets/img/flags/MW.png
new file mode 100644
index 0000000000000000000000000000000000000000..d75a8d30b762f742377211e79acd9f003c8278d0
GIT binary patch
literal 193
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`9iA?ZAr_~TfBgS%&#XG5QHzb?
zV13D&6KB5NpVuqh<Cv3^wL$6t&k@BpfBqX=wEkyj&J^%t-{hEd=7_|DqsPA6_d5Tm
zH(dVWKQq&*1fHbkBMwCsya|a3f8KM3q?|kSwO*^AN5I>8BTod63VTp<;sHy?t^c1q
qa7=0VXmc6Jc$jkFK)RZj0Ym%`YbB9_&#!=PV(@hJb6Mw<&;$V8yG~sI

literal 0
HcmV?d00001

diff --git a/assets/img/flags/MX.png b/assets/img/flags/MX.png
new file mode 100644
index 0000000000000000000000000000000000000000..8fa79193a92c30d6e36b934617c06d4f43d7c794
GIT binary patch
literal 207
zcmV;=05JcFP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0001%Nkl<ZILl-B
z|NlP&C76LK1~6o}|3}8Sz&SxR6g<cc`1|ko|7-ge{hyi}@c;g`3#1wF=g;r|pFceO
zziV2?|2#W||Enf7{r~;v7x4!C`2O+#@$>ut&ssVCe|=5*|9!jH{Qvs(EeT%u_wWDH
zS9kue+qe4v+MSF3KYVrrDE621K>YRnGZ+uiXe7yifzM2oU;xrI%SCALqL%;w002ov
JPDHLkV1iL5X|DhP

literal 0
HcmV?d00001

diff --git a/assets/img/flags/MY.png b/assets/img/flags/MY.png
new file mode 100644
index 0000000000000000000000000000000000000000..a8e39961ddcf090c556e671d0ba6850be28fa61f
GIT binary patch
literal 236
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`n>}3|Lo7}w|M>sko>_H9qZXUN
zjCFtgdG;-S(ccuvldw7F=l-R-KmJc<cKTngclrPP=!raH&SnhU4iXpc2?BMww*7w?
z=~}>R`Sj#}TcPZZ;)AP|YyO|l4{Xsc>s`;h``J&$#{YgBd0S!`j2^rylN4cgnB^#O
zMC}FB3~?jx%MaS7Tsg9^f^j{!1LL*ZZ@IU9e8M*MziF?aL}SNw)*}gX^c>7*M)b@P
kI>~ya_#i{NnwJ5CpVU^_rW)gJpz|3#UHx3vIVCg!0CrzsC;$Ke

literal 0
HcmV?d00001

diff --git a/assets/img/flags/MZ.png b/assets/img/flags/MZ.png
new file mode 100644
index 0000000000000000000000000000000000000000..0fdc38c772c5d61bb2d826d1b19aade0ed26385c
GIT binary patch
literal 315
zcmV-B0mS}^P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00033Nkl<ZILl-B
z|NlP&C76LK1~i*`{AbTg`_E9AK@x@=a7n=A|9S=6{|ZS7<Qo9OCq&Ku`}>5DZop-r
z<{Lt0|8L3|{lCO-`u{;}>HojqfBYu`Knyq`Z1}%YPW1nlT=xGf1=apv5e9mRSNp#L
z69-TQ15S)EKvV61Ns8Y8;-<3ycP88Zzba+`_R>Lqga2LJN`wtq$D;LrWv%)DTN_jV
zZ}l_yf05JV|0X`2|H{mq#JS)y(8;%yb^c%G)%$-#S?~YD#ESoazkDS=3}CTvS={LV
zn@J-7|2$+M3Zocs!$9Z%*ZrJCYeq5PQM|(cU)PyP(u`ujz-J~(FaVpfk#r1@)B*qi
N002ovPDHLkV1oCXn9%?L

literal 0
HcmV?d00001

diff --git a/assets/img/flags/NA.png b/assets/img/flags/NA.png
new file mode 100644
index 0000000000000000000000000000000000000000..52e2a792c117ef8c4a8fd813844fcdf771d8b4d0
GIT binary patch
literal 452
zcmV;#0XzPQP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004tNkl<ZILpP8
zO(?@*9LN8ql-j|CcCjc;uHrDJ6)h7E926&M%|(%-W!}?@)J`ZHH4++XsFkcHwUuUS
z%*I+~G4`U(5Kdp7r#Aily&NcqPd%5<=lT7fdKduAZ(#l;z?2MukS^*+^869LYyy@8
zKN34uxbiCC%q#{gFgzlGbu|awDk(=6wd!ygP9QX<r6S?HvGYB^6ZgWhoC`P@Z0Uu_
zC{?9og?bZD(Kr>7G6`MWhu9NzC}l7$<U`R_N5u^BD0D^#o?Kpdit4FIMkgznFCEC5
zYrvOpAgI&8?hYbmFyWYAM&+~eX1w^XFz#4E+SJ>cla<^6LE1i#X!H(2<wR=aK-&Nk
zi5TilgH%ky38<#bc)pInCzDh0C|iW+tO1@_00oOJESVMHNz^dzdhlR7#EGzq%I?By
zJnlQO?%M-zrj{eK0^YzaBGXIsMk4!a6nMS~Luu1~Dsln=d0%SZph|<=$2g=LJ>SZ#
u01?S+$Je%D51&GyZ~9SY1^)jt{f1ZD>yvT<*6v6E0000<MNUMnLSTaIhRLn~

literal 0
HcmV?d00001

diff --git a/assets/img/flags/NC.png b/assets/img/flags/NC.png
new file mode 100644
index 0000000000000000000000000000000000000000..e3288acf0d285cbc2ef2ed7aac0d90deba40f49c
GIT binary patch
literal 325
zcmV-L0lNN)P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003DNkl<ZILl-B
z|NlP&C76LK1~6DI`%ezWFo4Z!#{bX^&;Qe>EB;SQ;Qe1!A^krz-3u&E&;XF4&R(tm
zUtb9S-@J<Nzm6u$|Hs#b!2HQG^spL&VgSfykYW&?F@fj5f;`jz6$^ObVjy{(27J*l
z|G#~TFkEp;JjZ`wA;$k1$sBMokUU5oGDb0A$5H{f;+^aH|MT)P{@=HmA1(%x$7=wx
z3p$&)|BHz-{qJq%Ce8&6vpoNY_NyTL8^HFTot@!-dJ@75AbF5FWQ<|}+a%}zlh;Ur
z6?Zpr{nyuJ{y(J`;sTI3NFJ{NFhlIKr2mVEF@eKCOoI8pTe%!o%~%Z}6;m%S45$GB
XAk=ihw{RO(00000NkvXXu0mjfVOx>X

literal 0
HcmV?d00001

diff --git a/assets/img/flags/NE.png b/assets/img/flags/NE.png
new file mode 100644
index 0000000000000000000000000000000000000000..841e77fb59f97010c6601cdbf89463b6da01c0fa
GIT binary patch
literal 153
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`37#&FAr`&KKmPx>XI7n|bhdz5
zj%DLtb#{Jr=6}hI_x0cY|8L>=>;Ghvr~miM#T;A4vY#>kx!A$nUpq3HUb6k!QTpot
zW0jl#{WqEX|6f-rzn^iB^p^jVo7*QdPI=I1&cM(<f8&MzmgRv!yBIuO{an^LB{Ts5
D{lh)N

literal 0
HcmV?d00001

diff --git a/assets/img/flags/NF.png b/assets/img/flags/NF.png
new file mode 100644
index 0000000000000000000000000000000000000000..7c1af026a8e072ece38a918b3e3df20cd6f5adee
GIT binary patch
literal 295
zcmV+?0oeYDP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002)Nkl<ZILl-B
z|NlP&C76LK1~63F{zt}Ne|`Ut4nSh)>TntW0|)P&{D1Vp891LL13v!v{6BDU#{Y~B
zb>tba<;H>kx)c2WJIzk`fA8&M(hT_X_s{>VjjjL9r$zo3ZF2mdyte88-+zCJH{k2f
zZ~y%l=l@sl_5Ux~;_}~iX7c|xU*8dL!1GTp{)aCs{4d?^`Cqdy@W0ix=>KP)Tq53p
z_5*YNi!?d?=WB5I&sJmoU$MjefB%vB#2c{m!q)$#+xq_pFD?I{wyypEj+=-7pM83n
t^mMTO*0KNFZXP8)8c9xx1D}~F!2s}aoHbJ(^Rxf}002ovPDHLkV1hf$oRk0n

literal 0
HcmV?d00001

diff --git a/assets/img/flags/NG.png b/assets/img/flags/NG.png
new file mode 100644
index 0000000000000000000000000000000000000000..25fe78f02337ba82fd21ad188e5685116565535c
GIT binary patch
literal 98
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`nw~C>Ar`&KKmPx>XI7n|bhdz5
v;uiD&#mOZN&SzIJE@tCVW7asxoX^0ZFScsFsqv-PKurvuu6{1-oD!M<sI?o-

literal 0
HcmV?d00001

diff --git a/assets/img/flags/NI.png b/assets/img/flags/NI.png
new file mode 100644
index 0000000000000000000000000000000000000000..0f66accb6f1b27fd2a4e30878b071a8233c299a2
GIT binary patch
literal 210
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Gd*1#Lo80;z3k0($U&gx;m)<`
zf*%#)915QL9c<+mo$BZr;3;s%xlQG9$&>F)fo#eeVpqOJi`?Z3$X#W}wBlS#`7dV%
z-a@mZQob|S7lt01Y{Fc$TgkQKp6<optU)bT&i!CsXEj+>yXvsr-HQ!6`~tIoF>jsX
z(r$SBa?ja9KN;Vh*RRPl6r}ddU@%ln(qC`>qu=_+C*!RznT-{`_3&LwvI9Dj!PC{x
JWt~$(697fuQ1So(

literal 0
HcmV?d00001

diff --git a/assets/img/flags/NL.png b/assets/img/flags/NL.png
new file mode 100644
index 0000000000000000000000000000000000000000..036658e75a8073b92174a8cc45b33e2e197ef18d
GIT binary patch
literal 104
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%``kpS1Ar_~TfBgS%&#XG5QHyQO
z<cmN2`Q-fA{;13Ih%t-Y-SvNRbNggQ=J_)<4l*py-niAx&DIg9mBG{1&t;ucLK6Uz
C!XJzP

literal 0
HcmV?d00001

diff --git a/assets/img/flags/NO.png b/assets/img/flags/NO.png
new file mode 100644
index 0000000000000000000000000000000000000000..38a13c4c2f703b293603a33f3dd9975333e54f42
GIT binary patch
literal 124
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`&YmugAr_~TfBgS%&#XG5QH!nS
zqQQUu!wLr$OyfDG(4f=a$3Btq|3!vPj4TXC7-p~q8GhwiaD)4>g4D{1d~6oRflZ8?
XlQ$aPRWa8E8pq)2>gTe~DWM4fdle>V

literal 0
HcmV?d00001

diff --git a/assets/img/flags/NP.png b/assets/img/flags/NP.png
new file mode 100644
index 0000000000000000000000000000000000000000..eed654be442c77cb62b7f6a0eb24a482d3952789
GIT binary patch
literal 241
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`J3L(+Lo9lefBgS%&#WpjHQBII
zR=}ItkXf<kbi;p#Ka3s5C(RNTIbEq&yev1tvAr?kZ(j#5vyoZ`L%_xV(Hl+wr?Z+h
z^8DmHQtEKVZ42Z3D)B$<jh821`}_U69;0N5XoqfR8RH27fjYU^fB&cK`27DQ*Tnw|
z9~w(`RB}i$9NL*BY2f?f2d4nLkO{-d309Ms1)r1%982SHWOk5BWSFg(BH56`aWd|J
om|DvuBf}khs~JU}yA>HQgt$3#@9j~)3iJbmr>mdKI;Vst0N)x|6#xJL

literal 0
HcmV?d00001

diff --git a/assets/img/flags/NR.png b/assets/img/flags/NR.png
new file mode 100644
index 0000000000000000000000000000000000000000..4b2d0806d6f76b1e8fbf64fa325fa86848b398b1
GIT binary patch
literal 172
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`#hxyXAr`&KKmPx>XI7n|bhdz5
zV$19QlbhXn9gH6QH{AI@B{4^DLfM<Y>!l5NeI~zQRb1Wozxdj`zx9v*WgGB5nw-)w
z$NT>O$<yaGs2niq@ZZF(^{f1U{NB%6Gt_RfDx68X@Fo7rve)+gncAEi9T?>*m>KdE
Wg0`=mSv(JDJ%gvKpUXO@geCw>)<uH=

literal 0
HcmV?d00001

diff --git a/assets/img/flags/NU.png b/assets/img/flags/NU.png
new file mode 100644
index 0000000000000000000000000000000000000000..d791c4af6421063b19830bd8795455f5974b1b20
GIT binary patch
literal 252
zcmV<Y00aMtP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002PNkl<ZIE`cY
z|NlP&C72@32m_8B`5#ri_y5rgkN^Kq4E%rO!t?)*X`BCp#Q#5Fz>Q%BfHZ>?pTE5O
z|Nre$U;{vWupz`4@c-Y}|9^kp`+wm0mH!q_8UObkzw!V7-}nE)fG7j9y#N2d$oYR~
zY{>teYZU+QN(lP@|F{6yJ46`(cIt`M|4&^y|Nk%03&$=#`2T<HjQ_p;dx><x^y&Zo
z3U>hg{`CL<_#ki?RCnzsJ`nLL8a04O0|q`bQGfy8obw0f`T9Zt0000<MNUMnLSTYU
CEq><!

literal 0
HcmV?d00001

diff --git a/assets/img/flags/NZ.png b/assets/img/flags/NZ.png
new file mode 100644
index 0000000000000000000000000000000000000000..913b18af1005d4ccd61acc61e753bb5771535171
GIT binary patch
literal 200
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`{hlt4Ar_~TfBgS%&#XG5(TYvR
z@{|3ls`vku#pnJ1FE7WpO!l(bfA&seiStJ~AF?%=G>a%pGdybMalH27?}5ZOYz-0h
z|Ns5vXLDelz!<2<klmDMx%2;tnjES7@9*?yF`U`25f`!XQGNdZI1%0*u?Drj>h~X#
y)nE%Lf2(dM@KIALhV4PmvBvL*6i)bvBrqg!HdiO@JN5wRGzL#sKbLh*2~7YT=1zzJ

literal 0
HcmV?d00001

diff --git a/assets/img/flags/OM.png b/assets/img/flags/OM.png
new file mode 100644
index 0000000000000000000000000000000000000000..b2a16c0300cc5e93e2e30854a06d068d2fedcae1
GIT binary patch
literal 198
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`y`C<PAr_~TfBgS%&#XG5QH$-4
z*wkP3?rtCd+m^ol|9y(-zx!g-fBLI5NECQ`{Q0k3{rvy?>R<o%>*@Tf4|kmE!pw5?
z-+m9z|Nl$xS}Dx^_J3U$TPDzqiGTiIIQH<rt?u9d{AbsmG;r|wWv?OQ5VuoThmntY
xg9Kww7K7xBZEOZ61_DP8pKNG6?=vNVp+#-+Vv$ALp8_4m;OXk;vd$@?2>_qsQ=0$)

literal 0
HcmV?d00001

diff --git a/assets/img/flags/PA.png b/assets/img/flags/PA.png
new file mode 100644
index 0000000000000000000000000000000000000000..fc0a34a37d4ce4aee782286e5b84d8efb5b2c717
GIT binary patch
literal 174
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`rJgR1Ar`&KKmPx>XI7n|boK<>
z1D5G5J_Si@*m8D$>8oLWCR6!yzT)2-|M!~PO-Mg*c)R_-_}Xu8|F8Dnf8sk+WFkY6
znVt{BgtP<gTX&x@fAF_!Z9;neow5lw%ysu_zx;naQ~Q6tZJpmfaScA^Icxz<?DrTL
Z&dmPzVvk(URiFbHJYD@<);T3K0RR#QNGbpT

literal 0
HcmV?d00001

diff --git a/assets/img/flags/PE.png b/assets/img/flags/PE.png
new file mode 100644
index 0000000000000000000000000000000000000000..ce31457ebb20bddb68f6c4f53a06723378b802c3
GIT binary patch
literal 98
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`nw~C>Ar`&KKmPx>XI7n|bhdyw
vkJIz7`|%eH?Xv=z-FPK@*aDi^?=dh$`tD1XUa`&(sENVT)z4*}Q$iB}nxh+B

literal 0
HcmV?d00001

diff --git a/assets/img/flags/PF.png b/assets/img/flags/PF.png
new file mode 100644
index 0000000000000000000000000000000000000000..c932709619301fe143eccbaa57d944ad957667d7
GIT binary patch
literal 217
zcmV;~04D#5P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0001>Nkl<ZILl-B
z|NlP&C76LK2AmUA`%exYL<aoF2A=Huf4eX1|MjWaU^Whb!+`sn|F871{eLdg^Z(^M
zzyB+}ZT|niyN(0{PS*aPYi04jUQhdfy|y}#ZTbKIp&a53=wEU9e^5aG{|Lvz|KU!>
z|3d=${@2YqL%ae1{{8<yd&BkrRw*0)8^x{tKXuL3|9}7f!)?IuNCyL)nJB>kL{-j6
T(Gb`p00000NkvXXu0mjf*%NAE

literal 0
HcmV?d00001

diff --git a/assets/img/flags/PG.png b/assets/img/flags/PG.png
new file mode 100644
index 0000000000000000000000000000000000000000..68b758df2ed134fb7b782b569a82f76114161f16
GIT binary patch
literal 444
zcmV;t0Ym<YP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004lNkl<ZILpP8
zPfG$p7>Cu>kX_eZ1##Vl)Lq+M{~S6kW*q_{@F3X1TadTT_67O~9qR)G9lF}7E_F>)
zO4C(@=mP{11zq|z4k*RiAqpCJhL@L_XXbr}aRG4s2G^emP6ZWq*hD*|<9Z%p9jyR?
z|C*l(B##&S0hvl}Lxw|e<ux!^RWU58G<FEcm`td6I9zaX42g&?5(z;aeM`gRfr6Jt
z41<D(CTq+WNXZ0>W)_E>j1iG^$ij!6INmO!c()_KID*$R2_0n#t>7F%sZ>H~vqIx-
zpMWMgWt`P9SX1$Q62sGxjQgzwx|tO1$4tQUJQPL2RFui(AjTx*ynY<BaoAiM9a2tz
zMWcPN*HzlonZU9v)a!M)-EJzV)oRG+^ECF8+%6lzjbNb1o9HcT=$a{K3DeE8EQ4j)
z*=?p2d>k6VBu1e$+QK)lFeyXVbubL$5KIu=4EES4?!pGT1c#tpE~8ql&fWZ(jRhX(
mqUIF*ghj@OzxxaSD)<0>rYyD<Y*KIl0000<MNUMnLSTZ_O2Hoh

literal 0
HcmV?d00001

diff --git a/assets/img/flags/PH.png b/assets/img/flags/PH.png
new file mode 100644
index 0000000000000000000000000000000000000000..dc75142c566ea2c08cb4a1f2bebb6242566bc26a
GIT binary patch
literal 342
zcmV-c0jd6pP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003UNkl<ZILl-B
z|NlP&C76LK1~kpP`d`dz!+!>g6(nJV3%>9B|M~5{|4FT9{&U)|Cc}W=Z~y=Q_W>mE
z|I*!W|LrpN{b#aVNrC~$;P)*c@$>(xy^sGZ2X7(4fWP1W|9dm%|KG<Y|Np({`v3pO
z5wLLMoGbqYUDp#f;NRDC|Nq`k`2XiT|NlQ%)c^l`Jqu{)C!oxq|L<Pz{2$kPl8^ys
z|Nngu4>W)e%>ba>i;e%E<(2<GC#Z&kF}?75HqZ;jKn<P1U^oUAe$g}i|0QK}49%DZ
zzyt9%*x4U8@BV+)#0{%POap$u1G*F9-0wFZ{lD!S_y3%*242l52K@WF|Nq~&d;UMn
oum68RN{^sMY+e}P%tQ$W0QsuM5HG#p{r~^~07*qoM6N<$f>Zplw*UYD

literal 0
HcmV?d00001

diff --git a/assets/img/flags/PK.png b/assets/img/flags/PK.png
new file mode 100644
index 0000000000000000000000000000000000000000..014af06529360eff84aab14c68af58f1e1ccaca0
GIT binary patch
literal 306
zcmV-20nPr2P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002_Nkl<ZILl-B
z|NlP&C76L)2EYMB8pD5vL<R^=0260G5+w!zHS0I&|L4u){m+mJH4G$|PK*KZ4F7|t
z2mdc$SN@+Vk?B8U6661vxiMf2a}{m_fSOrSS^l5Ack;h&w=I~@l*IHuds+7X+!eWC
z!|)pr$MByopYQ*NZy)}<Pjvs!5DWEEGHRIMbpdk<^Z#qluKnMCb3eq!Sco{t0G3P^
z;=;gpiZ58~;O&F|!={J*_nzqeKV?zMe~|)_{|qU_#6kkYfA<OQ|My(q^Z)YG%m3#e
zoB!XS!GMTBL{10sP<|@H3#28aG^plO{0V8`GZWbu08W8?ScutHH~;_u07*qoM6N<$
Ef|QYty#N3J

literal 0
HcmV?d00001

diff --git a/assets/img/flags/PL.png b/assets/img/flags/PL.png
new file mode 100644
index 0000000000000000000000000000000000000000..4d0fc51f7551bc0e3e27133b2b3d2d4f242eb8b5
GIT binary patch
literal 102
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`x}GkMAr_~TfBgS%&#XG5QHyO)
w&Bs6XmK9eRvZM-JFMb0vRhZfAj02k(Lz0>DHa=Op2dI(3)78&qol`;+0AeH`2LJ#7

literal 0
HcmV?d00001

diff --git a/assets/img/flags/PN.png b/assets/img/flags/PN.png
new file mode 100644
index 0000000000000000000000000000000000000000..c046e9bcc7060fa6591c7b78b5c52d04191ed78f
GIT binary patch
literal 423
zcmV;Y0a*TtP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004QNkl<ZILpn`
zO-lkn00!U{Ax+3U6osM}1tE0RH6%q_jkYf`J-97MN>-R1Ou{I?>Y%Yu5gmf0PMtys
zx^(FxUHk$4i++W?HG;JgrC^5!Ugm?DhnZo90zmZ>>TiHX1JPm~jn_9o5L$I0`2;df
zId6W<CqNdH$x?vy3DTY{qsvg!3CL;jJ3v~^W)rRQ0Z5B^CJLoJ1BEpYVLb)~eGIiT
zjbYcS1R#srF&H52YuROJSQaK9k8H^gBg^A3?}jNL0ov#7I6|$4i_1EcP64LbAQD?%
zRB{RU1ve(R2rOJ&vV&?BD|^o!K=JIQg=!|V$d&^Lou6Q{QU<dxVvOY=x8}Zp-)>qz
z9fUT_!&rL6=|dVLJNH<K&A}5|>J1oT4iHR*5fOQacQ!Do4d}T=4A=_20W!xGbe?U@
zXUxdl>R<``FlgTe#a#CWkf@jf#@%c1#-}jqN<!s0>U;;?fUYm`AAF`h@(z*bfR@4C
RDy#qi002ovPDHLkV1j85tkM7g

literal 0
HcmV?d00001

diff --git a/assets/img/flags/PR.png b/assets/img/flags/PR.png
new file mode 100644
index 0000000000000000000000000000000000000000..7d54f19aa93af2bbbe31fbb32af1ce38d4354748
GIT binary patch
literal 216
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`^F3W0Lo9lefBgS%&#XE_>1+Y>
zoh{k_-isRksrL)$RpBvjIGA*_-tqFz|JA8~Pnt8dIj`#bSO4|j@p>i3WsC|suQvYs
zzl*uw)0`p2dXuBxt*sS@*^V|`Iw^j@t?jyuv!Tn$j8FfCmR1~Md*PP<|9xP=hy8Q@
ztL;d0pIh}Pwn2_fyUboiUx4{^{{(UF1tk|0#a-g86rO}Pu>~}--(z6-6THzX(@<p@
P(5Vcbu6{1-oD!M<J$6?h

literal 0
HcmV?d00001

diff --git a/assets/img/flags/PS.png b/assets/img/flags/PS.png
new file mode 100644
index 0000000000000000000000000000000000000000..d4d85dcf4e35a8494fb73fa32fed5fe63fa5eed2
GIT binary patch
literal 157
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`DV{ElAr_~TfBgS%&#XG5QHyO!
zAqR6Lk4o|m#^)?o|4mNj=wf^#(Ui!rvMs@sp=Ex#-%o#)19=P__SrAh?>D5s6+T(+
z*tYs%eVbPFB7-)@B^k#I8bZ!$uuWJjd9<PNyw8*bhM!8Yx4CBcCj;$c@O1TaS?83{
F1OVzDHp&11

literal 0
HcmV?d00001

diff --git a/assets/img/flags/PT.png b/assets/img/flags/PT.png
new file mode 100644
index 0000000000000000000000000000000000000000..18e276e5343591869a03487d6900ad44c3301fea
GIT binary patch
literal 303
zcmV+~0nq-5P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002?Nkl<ZILl-B
z|NlP&C76LK1~6pW|Hp>k%IM+6v@w7w-S)qJvC03WHogB>qSXFhw9x$jhFAj_GwuHO
z&(Qt9CCc*u=1}|p_Z)2hpGr0Pe=Sy%I0H0FP5$3nrttqmX8QjtXRrOgb?U<Z2Z7%I
zucxRJXFzh7=Kt14jsK@g(*DmrbnpM7Jy-spOYr)CHD8rT7nB(P&!{r^e=92J|Ec3w
z{-4=#;QyTjyZ?8mDHCS^6EF<wXKVbQQm6m_f|Jkx2X@Z?&retXf3r%7_*h`gwEb^e
zrT@REQ|JHfB-Q^H9aaColF_AOIv~q{fzM2oU;uZ;cB@MLjV1s9002ovPDHLkV1l=|
BpKkyF

literal 0
HcmV?d00001

diff --git a/assets/img/flags/PW.png b/assets/img/flags/PW.png
new file mode 100644
index 0000000000000000000000000000000000000000..f9bcdc6edab3a19efeefb65de17448894665c007
GIT binary patch
literal 209
zcmV;?051QDP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0001(Nkl<ZILl-B
z|NlP&C76LK26(N#_MaR~I|K5zul~R4c<TQZ$I}02ZQDSa0bTpL{{Owp{Qv(w1~C48
zm-T=3t~taR;Ir=X{|~o>;F@9h#SIza3<%$F978h<6YYhk*X1xY-@c+vyaAQF=Kue8
zhYPOx%WYn8ppp~|(VGtapL($F|AYh0|06dZ8Gv*^vH=61nJB>kvXJ3)YEq6C00000
LNkvXXu0mjfuA5(L

literal 0
HcmV?d00001

diff --git a/assets/img/flags/PY.png b/assets/img/flags/PY.png
new file mode 100644
index 0000000000000000000000000000000000000000..c289b6cf72d001867d7b204aec97e1248433c181
GIT binary patch
literal 197
zcmV;$06PDPP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0001tNkl<ZILl-B
z|NlP&C76LK2AmUA`%exYL<aoF0)GAd_y7HsOaI?qyZ~n70N4!xDZjgI&Hv2}CI1ih
zHvhl3ZSDWRq!{oUXyfUwn*SMHrT;7DwfsNV*YN-MpT8u!VC}~Lo65`nuPrYGv;UFe
z0!SGA{r~3dB`_u!1`HM}{*!|TkpTmrnJB>kWUkwm1#B@t00000NkvXXu0mjf8R}Q9

literal 0
HcmV?d00001

diff --git a/assets/img/flags/QA.png b/assets/img/flags/QA.png
new file mode 100644
index 0000000000000000000000000000000000000000..95c7485d574e4519866d3988985defbb09e76aa3
GIT binary patch
literal 190
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`t)4E9Ar_~TfBgS%&#XG5F^a9>
z;PvnF2Y;M;m;7J-SK7bx!drjED`a*HCrdD}{r~rWfAOC~|4%krPLVWFwU}PR{BGV3
zjxtBRoosjPs^0xqnIL}Tgvo<z4>$i;|Ct^vz;^uH|M?;loGT>)#CoS3VY>N}VUE!K
q+CTN8Q-uC*@-RwxU@Ux7f?>b=&U?!$#VvsjV(@hJb6Mw<&;$UkZ%_&V

literal 0
HcmV?d00001

diff --git a/assets/img/flags/RE.png b/assets/img/flags/RE.png
new file mode 100644
index 0000000000000000000000000000000000000000..2ff851c8460ed073cac981cf2ba0bfe74ee78f3f
GIT binary patch
literal 443
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMflK`I(S0Mf84{O!z*(%Zhjnn=c
zB>!(*IQ!@ok3DCDV_Hucrv5idgNj$pUSgN`(I^$9rhfiBpkl-H{~@7Qm+BUNW99zO
zz_3jv`Wq_`kdZTC`{G@Ng;O_JWc>iCPx+rSal2#T>&n^7YUVC-Eq)F(A*S`Te)50)
z<bU2357K-0dX+!)sk~b`Yia)E%_-dnBbqJ*)m{s0x)@w>t#a0~yh)o=x(-G(pZBT0
zo0N2Dhi*ht(m}n{|K^F`YV8-@70?D+3UnvXJ;7mDH><^eXW_C=`qJPq@4kS>|Ns9b
zADG+*`ctMP$S;^dSP2B`9^40miC_TY0mUtz&-w>cm*wf=7$Ong+P9GJP=W+=_2b*;
zd4$-zzSnEL;W;QEW^sh$rh)Z!@7X3dnHpFYbw>5hv<N<&sQS+JzV4CPi~e>enl9Y*
zpDS*aX8!rlcW%7g8hMv9!7HPxP^YRw#d8@Cm-~b7(QBigxNJVj9?I@8Lx?4063|u#
MPgg&ebxsLQ0H#F7MgRZ+

literal 0
HcmV?d00001

diff --git a/assets/img/flags/RO.png b/assets/img/flags/RO.png
new file mode 100644
index 0000000000000000000000000000000000000000..3d9c2a3ec39cf38179f44546d3d73470bdd8ad0d
GIT binary patch
literal 103
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`dY&$hAr_~TfBgS%&#XG5QH#wW
z<NAO1<Mr>X7Cq3HdL~hEr6G`+Z6+i0{FxdD8Itp+sM-GLs{ra`@O1TaS?83{1OTPA
BAYuRj

literal 0
HcmV?d00001

diff --git a/assets/img/flags/RS.png b/assets/img/flags/RS.png
new file mode 100644
index 0000000000000000000000000000000000000000..d95bcdfc23a91f6d7f601dc07b4a9e4f8de3da03
GIT binary patch
literal 331
zcmV-R0kr;!P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003JNkl<ZILl-B
z|NlP&C76LK2HcTX`;UyTs%Zbe;$-muqM^b6TMFv`(dA(ns{z+kwEo|n6!!mNv(f(t
z-S+>l#d(lszzsFM{}&Qe|6i?>`G2)h_Wvad1HuNV*tPwK;Ul3L|4(Ja{y&yd^#4S9
z^8Z8Wx&M*nkug>S?k`^X|8ZH_{|6g3{=ZjJ^8dl=^`sea@A%pOFHfER|FpUN|C8Q{
z{~tbmMWPE<ZTbIv?WX^4`X>H=-aFy{{ln)-GvGvW#Q%HQzW<-~O!@z?DF6SZvOvNH
z{6_*Gk8b^cJ3#RNhgTo|Kbz6?|6a1ne>?!w01)`ReaHW2_09iZclZAP{rn~A29N-#
dlotln007YC%v~N~bXWiY002ovPDHLkV1fjNu@3+M

literal 0
HcmV?d00001

diff --git a/assets/img/flags/RU.png b/assets/img/flags/RU.png
new file mode 100644
index 0000000000000000000000000000000000000000..a4318e7d5e357cb21f4c95c5e8d4678c9d753e10
GIT binary patch
literal 98
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`nw~C>Ar_~TfBgS%&#XG5F^X*h
wcUv!`!Xz1+4xS(W`#29DZ#Xz%=80nrX|<O<r?KqK1!`jOboFyt=akR{0OgDxmjD0&

literal 0
HcmV?d00001

diff --git a/assets/img/flags/RW.png b/assets/img/flags/RW.png
new file mode 100644
index 0000000000000000000000000000000000000000..00f5e1e012607486b8d95bccfb0c037315717110
GIT binary patch
literal 182
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`wVp1HAr_~TfBgS%&#XG5QH#w$
zXU}(e`Lx)Q&-ULJX(#X`9X`@&)KK~G?f<OPWq-fNm_FWrdsSqDnMaQb^P4ceU-hN^
z3KGpXR3sS=)vZ=P%=;nEc4~>fhW=gV?@fm;{av!VAwl8at|LF@%lOzbiwNcXpWMto
gk&$`+OpSvKKVHtNkWV}Q9q14SPgg&ebxsLQ0Dy!^0{{R3

literal 0
HcmV?d00001

diff --git a/assets/img/flags/SA.png b/assets/img/flags/SA.png
new file mode 100644
index 0000000000000000000000000000000000000000..ba3f2de9174d7ec639c450f76578f859dfb5c77c
GIT binary patch
literal 426
zcmV;b0agBqP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004TNkl<ZIE}@U
zOD{uF6otQiPu*LMS19p{ga{Ies9D26%!HpHF*oxY`~f2qQ)3e|k2xU`%+LWEjYs2E
zZS?k@ZJ^$*35hj2XJ_Zj%351gmETDI1Rx8s5)_5ksmS{bdEc1XmCpbhfLd@IKyVy`
zs-m_4;uN6@PN)RH226C05^o-0Be_LmWj#%m^|Vzrk+?hKGIzsJw2%GtA<Kz15c3@{
z8=GdlW0=+CCKY0+^QsAlJf4C)N4KZMn+G^ZA2YwVgno4(w!mc97*joyoIIS9@v{s@
zdr4)lNoFp|Tc4Ill#Kt#+|D9_+Rp$7VWc%iOQexh_KHX-%ysUD^wT{J;aWV$<*|^%
zGcMZ~`&gtzh(R7c28Mu`VtDrDEm9`LVohP=;Tac2Q3Wk_DF_)q`}QweV|z_2L(x7I
z#j3@sqH5`H=;rYDgq6fP7`L1QUaZ>S<Gp}_7?%nYA|LoaIQUU-XZaoQ8~s1v8N+Aj
U;p^D^ZvX%Q07*qoM6N<$g4g%DnE(I)

literal 0
HcmV?d00001

diff --git a/assets/img/flags/SB.png b/assets/img/flags/SB.png
new file mode 100644
index 0000000000000000000000000000000000000000..1b6384a06b0d35d86989034e00f67db103015484
GIT binary patch
literal 306
zcmV-20nPr2P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002_Nkl<ZIE`cY
z|NlP&C72@3a03_ucl{?8yO;L-e|19f|DTIu|4|IseEQXYWEvZ;osbFE2*P{T$^XZ2
z0WQt_ksJPRTI~kc+&fkEzhbm8aW2rwnEU_6eqFG}w<jh3$Jc0sHDefn4M)~B{QrDL
z2CVt=Zt4HFS^99zcnx3++4jG0W-Q#vYnCbg*Nitp(TvjoiP+Wu4{o*vYy5sr{C{<i
zI)+A^23Y4${{Q5tDp>Q=qmuuFN_BB+#xNkSv-tnFb5dZ<$F|7+H%l|Xs~N?B#Y+O<
z{+%^P`M*jGevKFgfHZzNEB-&HS(7M@7zPY{W}*ZG07n^kytBa?#{d8T07*qoM6N<$
Ef~hHwV*mgE

literal 0
HcmV?d00001

diff --git a/assets/img/flags/SC.png b/assets/img/flags/SC.png
new file mode 100644
index 0000000000000000000000000000000000000000..2a49518339129e7df1bb6819edaa9cbb07c172ef
GIT binary patch
literal 314
zcmV-A0mc4_P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00032Nkl<ZILl-B
z|NlP&C76LK1~AyS|3}6ai8cTK+z5l?x077{U(?XQz&H(9vpfy1`SV)u|JQXii8nwc
zwBi5HYvEwcKMn`}ziFm}RWnWlrp(L&YyN#H<o{iF1Du+%8X)S^{QvXi2(ST<lgx2y
zd=MS||Ldt!m<H5#=YuuBY_un&5e5(jaJsbqe||dZ|Az(c#Aw7cAho9W|JR*<|8E#*
z;neu^&#(X6Z=U#Hx_#Pz#qKbK0nCnV|9_qe`hVMA4@2X<chCM$IJ)}3_rkLOob@jM
z8LDjI7;eDtE1~}%gqgrKBHMzj0Ug5)cvfHy)`-m(q6`@L%tQ$W0A1vyIXu_Ug#Z8m
M07*qoM6N<$f+wq(y8r+H

literal 0
HcmV?d00001

diff --git a/assets/img/flags/SD.png b/assets/img/flags/SD.png
new file mode 100644
index 0000000000000000000000000000000000000000..5fc853b1043ee46790252721cd1b27a159eff22c
GIT binary patch
literal 156
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`$(}BbAr_~TfBgS%&#XG5QHw3b
z^2PuCDhW<TZPEt<mi(MA;~c=Fa9n_g*~64&HKW3v9mTKel^DyI9d=aRX8FXs;<n*T
zCh>?)CRT}#Lo?VWERej+AY{5&%AqYygqh9GIIxM)U{$hc^u)}?K<gMhUHx3vIVCg!
E01C=5*#H0l

literal 0
HcmV?d00001

diff --git a/assets/img/flags/SE.png b/assets/img/flags/SE.png
new file mode 100644
index 0000000000000000000000000000000000000000..ad7854b7a47f30f3c78274ec70e315f629f332d6
GIT binary patch
literal 109
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`CY~;iAr_~TfBgS%&#XG5QH#xh
z#rI!-&;Pk;49O*hB{p+-8Zs3`gU>fyj9Adb$UJ|h#z6+A##-Kq3cIX<`WZZ3{an^L
HB{Ts5HS{3y

literal 0
HcmV?d00001

diff --git a/assets/img/flags/SG.png b/assets/img/flags/SG.png
new file mode 100644
index 0000000000000000000000000000000000000000..8b1c5f03f1d5513c12e472f5227a1e73da5a70ea
GIT binary patch
literal 253
zcmV<Z00RGsP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002QNkl<ZIF0So
zO$z~G5WsOCMR^Yg*%on-*HV(V60W#9b9MD?T)0c}RXqFbhJ(HQv4vdNP%ftCGSmEO
zrp5s{KFN=UZ-59S5FQl~Ok%WpXlfqeR<P<%@(%c7h){~-Y|ef(K`%7WD_w*uY7f{t
zBkYDF%;g%Hts-+ZWU_?O?jyXaU0{s4+93Q1WU-0NoS}5Z9$>8yzO1m|Fqxv4JIH(;
zEndXxy#%gDJm10S4A7J;TbJ^5_yOSk_yb@2g`WZ^c@-1p#*}TS00000NkvXXu0mjf
D*?nxR

literal 0
HcmV?d00001

diff --git a/assets/img/flags/SH.png b/assets/img/flags/SH.png
new file mode 100644
index 0000000000000000000000000000000000000000..4b2961be86350128faffbcac6aa168f10cc80e16
GIT binary patch
literal 333
zcmV-T0kZyyP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003LNkl<ZILl-B
z|NlP&C76La1{^u^KdO4~|05Tk|NkEz4yGN`Hvb2SGZ@driQxu-G=mf)8vx>i3?a$@
z5bN*XzyHAiXaF*RDP}U6@t@sdDv-uz07w%I%gOym=7SVYT-N^o_<7I&J9aw#KY79R
z|D<JYs0P6Ni{gb9EB^QP?*%J-{aNS#*B@N}SFKd}fBO#S|F<7x&|ENm`hUN|9ViA=
zckPD<;`ABK{}*oG{D1!bL;sf^JNAFZ!CR;X;0q`aZcTUlUsh!Hzis8&|0Nv@|2IwC
zOS}Qhz`zU6o%25^*66=NR@Hy`u%Q2bxl2iN0V6QveTujIH|<{j-?Mr<m`{=c1k(Y<
f1`LACL;(f>Ox=`$5<MUU00000NkvXXu0mjftZ|si

literal 0
HcmV?d00001

diff --git a/assets/img/flags/SI.png b/assets/img/flags/SI.png
new file mode 100644
index 0000000000000000000000000000000000000000..08cc3f4e90b62eb28686add0bd82d39cc1c5fdca
GIT binary patch
literal 177
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6`n4RAr_~TfBgS%&#XG5F^X*h
zcSgd2na$$=w5RI*T_3UM$N!17&ppi_9GLU<zpnMS|J&bNeyD%mv-ODN0fF65?0K}^
z{eIU!zx)0Fcl&>T*7Kz(pI(@}hOMEX=<lolmAcs<vW{glY?R155G^_N|C0v~Qw}UR
b;ggcgz#D(#Vv(8%$UzLAu6{1-oD!M<gi}s0

literal 0
HcmV?d00001

diff --git a/assets/img/flags/SK.png b/assets/img/flags/SK.png
new file mode 100644
index 0000000000000000000000000000000000000000..d622ef05f22578cfda8d40b76a3b9d3bfefe6f77
GIT binary patch
literal 225
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`D?D8sLo7}w|M>sko>_H9V-(v2
z?iD!)mS4y)_;<~mvnR2piLKzb?yvWOTR;DgmYn)Op6m3#|8`|eJ&rjOBs}<*u*oKy
zKFF>;{a=3dwI;(3Uwh^)LD&A)=O_NJ?_T!#f7Ej(1GbHhNeY%tYz+m4e}DatspAeb
z@Zg!9Cc=F0<cfdn55Gqp``^taFbia$kDP3>1cPx(dXTBa<I6pl8G;N#KOZ_E33T=6
WbG#1QpK1c#%;4$j=d#Wzp$P!q7g}xr

literal 0
HcmV?d00001

diff --git a/assets/img/flags/SL.png b/assets/img/flags/SL.png
new file mode 100644
index 0000000000000000000000000000000000000000..e8a3530f665406e9965485b1eab1507ab9c787ac
GIT binary patch
literal 104
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%``kpS1Ar_~TfBgS%&#XG5QH$+F
z?$%%ad~$wlf7Io9#F!<z`u?i3^Q$wn*%=2mF}@Kx_Li+T?m18^gQu&X%Q~loCICR)
B9ZvuN

literal 0
HcmV?d00001

diff --git a/assets/img/flags/SM.png b/assets/img/flags/SM.png
new file mode 100644
index 0000000000000000000000000000000000000000..f0d657249df937cf23db517ec2db12286000f008
GIT binary patch
literal 291
zcmV+;0o?wHP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002$Nkl<ZILl-B
z|NlP&C76L)29OJAY`~j0&;P%E^^`mVzJ2}t|HRJR|GU;^{QnAMlVre0poWK!uKZs=
z$K?OADF*)^J-Pn>%A;Gv8Sw4rum7!^7yh3(C-A>R`=bBO9Si<XSrY!gchiFZkKew<
zZU95m;s0=4v-v+$Zo>b}N&f%ks@wnT*LM6bo*w$2Bd_{DL)Gg4$ZD|~z*w{Czd%9K
z|DejO{}%0L{~c-#|9dtB{O2x7|Ig5PfCvNXcKv6oTKC_7+MfSu9TWdoPn-4MuoLL2
p8ldfshX@-$3Z|X`gCaALjR9qH3`16z8y)}v002ovPDHLkV1gRMlXd_A

literal 0
HcmV?d00001

diff --git a/assets/img/flags/SN.png b/assets/img/flags/SN.png
new file mode 100644
index 0000000000000000000000000000000000000000..a4fc08fde0781776ab15590fa3af7b903f82ac9f
GIT binary patch
literal 160
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`>7Fi*Ar_~TfBgS%&#XG5QH#xB
z%dP+J$LjA}Cm!uzIyLZvfWd=9vhD_Iw;S5-_9ggiVqAUB;@|U^P9J{mR!maa`QU-6
zyM_D_wVT{?f6M$2e_OziEHFETS<cq6#jeM;<MP1+>1tjE3}F`Ymd=!8(FIz`;OXk;
Jvd$@?2>_>zJfr{s

literal 0
HcmV?d00001

diff --git a/assets/img/flags/SO.png b/assets/img/flags/SO.png
new file mode 100644
index 0000000000000000000000000000000000000000..3f0f4163e4d794b034d65c1ea3141b74faee3f9f
GIT binary patch
literal 192
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`?Vc`<Ar_~TfBgS%&#XG5QH#x@
z?A~90zGZtEIg91~`_KD6qlWpJTov~*6-fcRzYqU^Y4tzw<KXQ12|SORpKwSCSo}Qr
zfAaTz|J>OX3@6B3jJr|(*Eq(w!?#ExrvBUG|C{;uACx$vc9LO2yyLd2ulL!L1*Gr(
sui*XgV(<6)5{9o-mo%RDnUcV8ZOMak+;{VD0-eO*>FVdQ&MBb@01dWLGynhq

literal 0
HcmV?d00001

diff --git a/assets/img/flags/SR.png b/assets/img/flags/SR.png
new file mode 100644
index 0000000000000000000000000000000000000000..6a8eea245d459299bbaa2c14103becd23ca2e771
GIT binary patch
literal 166
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`xt=bLAr_~TfBgS%&#XG5QH#w$
zB=es-d+_;&|4*1Z7^k!N{7XK(y=TioiRm_u%yCaV8x2pg*?bBA_y4=b<^TVmOC0!d
zJ~3^Bgs0w)?A46s3`f*%a-YAP`ftC^B$i|W>Gg~v#}6&=@L--ZQ{y0mjpAhAXB?3}
QK#LhXUHx3vIVCg!0EF&7NdN!<

literal 0
HcmV?d00001

diff --git a/assets/img/flags/SS.png b/assets/img/flags/SS.png
new file mode 100644
index 0000000000000000000000000000000000000000..c71cafaa177eff14c34e394c8779b0179685a01a
GIT binary patch
literal 289
zcmV++0p9+JP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002!Nkl<ZILl-B
z|NlP&C76LK25=cx{Ac122J#q4!f*rl-Pix;b6)nJUEb$E10xe@2K>3p2{r(Rc`SSW
zGxI5vXMkbsbTBRKwc&sH^h^K0eEa>M06;Zh`Er;4?USSb$5vE;`D%{y{?AtO_<u`C
z3M+;iAn38~e_e0V|8F;W|Npwf^<OP){(od|5i|g%aOpC)|CL>-|0Bz)!F*N6`Tu7r
zdlGMecI0d@E#wIagU_Uf0SNPkO#9DS<Mp4t(|{mGNeBF1EB|xlr2l8{Fd|AbiUGXQ
n9sfBR?TFThVZgv=CQ2{>6%JU%{Y?KS00000NkvXXu0mjf`!9zJ

literal 0
HcmV?d00001

diff --git a/assets/img/flags/ST.png b/assets/img/flags/ST.png
new file mode 100644
index 0000000000000000000000000000000000000000..480886cac5a213891dd0c1fa37d8c4c12e975a1d
GIT binary patch
literal 243
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`yF6VSLo7}w|M>sko>_H9qZXUW
zvlsuxqgMMGwMiE^o_Mm~yIb!kTa1vw&-$24KlZ;Xk^RKW@KE~JuK)jK(*6MnW|?}s
zLk)-iR|<9Z=P_{HFAn+t|2>a#Okk7zD#l((79NI&%Q=hw|DTiiW4`b?h7iVu_4AT`
z#EURLyuMVh=%8i?x0tE%pZNhy3myOH3QPVwzcTs9{&F=w<^zcZ6IhR)tT3$7dEviQ
rLF~>fO%L{yH$|2mX*};UC4u1ydkx>oC7VA1eZk=A>gTe~DWM4f*coJg

literal 0
HcmV?d00001

diff --git a/assets/img/flags/SV.png b/assets/img/flags/SV.png
new file mode 100644
index 0000000000000000000000000000000000000000..b5f69fae826585990d347ca13eaa23a99be600bf
GIT binary patch
literal 209
zcmV;?051QDP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0001(Nkl<ZILl-B
z|NlP&C76LK2JpMD|4$AcL<aoF3cmgS_w&L3|9@Tr*+2i|0JseJ@&ERn)BmrXKllIo
z#q<B~-8%ym`%b(8|Ng%JUpKk$|HjoN|Cg?4|KBjRA1L^i1Q-1K`G3jguKxwS<^Qv~
zD*mt7HW8OMaEHO~pHKepJ-PS){!{z@|M~R{e;5ppbTGh~i4qI|g1F+2$%N2`00000
LNkvXXu0mjfZi;G9

literal 0
HcmV?d00001

diff --git a/assets/img/flags/SX.png b/assets/img/flags/SX.png
new file mode 100644
index 0000000000000000000000000000000000000000..25f4f5599d5618b887f917192e5216cf0fb4241c
GIT binary patch
literal 483
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl482JKxLR^8|=PBv8g~V@*NZk>a
z1)`r<ue~ZPy(6V?M^qXj0wn+c{|_YZiOc-||NDTX)&VIH`u+Wyw0f1a1_=H6^MygH
zgHfyf?3L&76`NVKI~X+EfLsXjPhQTc*u<dT3K#kN;lsP03HQ`=AhrO_|M%nL=S{00
z**kxJ`uObf_Vden-|pV~A}Q^zr2JhmX`t12&YtL>Gk@B=b+=BQ{{QLStM;BF3I;%D
zT;DTm-NLo&7O%asea6dIcdL8%%j?wxo%HU(rl*HHo*wSpzjeA#`eLw?+JTPz|NqaA
zAJ3L=-lyR;jX?wC$T#o5RZlo1VAj7-Ma}>eKqWzb!3-iQDk>uNj~+aD@Th(w5d8Z$
z0gNY3ti6Bt?%n&fLW&9sib9MxXWj+siScxC43Us*J$O*G$w9#7;J-`SlMg?0V0tpY
zL2*X2x{bw|<m<|zmt_5Z9qwJixTkDV+xDvs%)HYY*;YJI)zF_}cH7a=E74kG_o>74
qA1vX%CcH0W(PWc`a0lTR*ZA$q*+iH=E&mI&hr!d;&t;ucLK6TdirOat

literal 0
HcmV?d00001

diff --git a/assets/img/flags/SY.png b/assets/img/flags/SY.png
new file mode 100644
index 0000000000000000000000000000000000000000..dd5927a6659e0587b21124e207a57a688128a0f6
GIT binary patch
literal 161
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`8J;eVAr_~TfBgS%&#XE_>1+Y>
zInGso)!F%#nEy@Y-ypr=(Y=%Zk8~uOCVbjz`(N^z>Yw=qrQ$I;7w0ZcFck2;&>$^8
z?|=OF2Rt*{8r$RV{ki}9jnoXaQ`{=;i~@ha#%LU5&Szjaq_KO-Lzmh=Ksy;cUHx3v
IIVCg!0GFISXaE2J

literal 0
HcmV?d00001

diff --git a/assets/img/flags/SZ.png b/assets/img/flags/SZ.png
new file mode 100644
index 0000000000000000000000000000000000000000..b0615c36332d1dd98b1084bde212699e5483d0c5
GIT binary patch
literal 366
zcmV-!0g?WRP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003sNkl<ZILpnG
zKTASk6o)Tqdf)rLnGgxt&>um9HY;f=Yly5STk2kEaf_fKXq2caa0wb)a?v5udrj$%
z4z(oi4N-%BfcgSYQ<RM=)bOki=bYc~Xn@uWT3-Z9doJD3KLO7gUGXKbmBLmE+fX<{
zac>At#W07lMc%ISJf>3I4tTKr2IWB?wv^aPbqZ>_kGp9dXHI7)B#9?7tZeM_(0t;x
z-KKGIPB|99-A>|$$FPO?7B~UHSz?(&a)P5N4HXV!S{4iQaV*QCP%P5=c&Bla;bv=w
z?Akh|kslLO44vcIO|C{GRQ)<;Fvw&y%6KG#Td(udYSGB$sOW<HP>6%rE~VcqRE3|4
zG;ox{m6EL2%c|GQrD@Vkrzv?nlnsd^B{kveyg|<?{DUI>`7`yxCw-rfgS*%y0RR91
M07*qoM6N<$g3hF)0ssI2

literal 0
HcmV?d00001

diff --git a/assets/img/flags/TC.png b/assets/img/flags/TC.png
new file mode 100644
index 0000000000000000000000000000000000000000..b17607b910733cedf84df9ec2bf73cb67142dd99
GIT binary patch
literal 312
zcmV-80muG{P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00030Nkl<ZILl-B
z|NlP&C76La1{^u^KdO4~|05Tk|NkEz4yGN`Hvb2SGZ@driQxu-G=mf)8vx>i3?a$@
z5bN*XzyHAiXaF)G&H#`m7?zX!kIV-te6cU||IbzC|G(`K{(rfT@BiJc0jLJR{EOm+
z6)XPt_U{ENe6lOx|L<uL|9`F#`G35e@&Ant-e@kEKK;L6;SLl7s=M~X199g9$NxX~
zu>N0_DE9yP5~lw<<~pJpfX|;G>>m>G|I#V0|17gr{+~U=^FJUof;0n|4SN1JOtSy)
zyG#0i%_IjfpCkhyhIIY+i!c4p0;DlwffxhuMkB=r41&x=0R{k&?v0>OXq#040000<
KMNUMnLSTY%S&rWT

literal 0
HcmV?d00001

diff --git a/assets/img/flags/TD.png b/assets/img/flags/TD.png
new file mode 100644
index 0000000000000000000000000000000000000000..787eebb6b495642a16ef1a0ee1f2e79e887ca047
GIT binary patch
literal 103
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`dY&$hAr_~TfBgS%&#XG5QH$-v
zi7$WLkJsyUEqqYilqFGdr6G`+Z6+i0{FxdD8TQ<+5&IC(SO?U};OXk;vd$@?2>|0!
BA^iXV

literal 0
HcmV?d00001

diff --git a/assets/img/flags/TF.png b/assets/img/flags/TF.png
new file mode 100644
index 0000000000000000000000000000000000000000..8292904513b625ce2459aab319c92aa58a4a5aa8
GIT binary patch
literal 224
zcmV<603ZK}P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0001|Nkl<ZILl-B
z|NlP&C76LK1~3{`{Rd$fI4`0N#vlNb!-j{G0srv;l3aid3)(mR&uZKF|Hy?0V4T*x
z{y)EMBk=~b%{%blBzh{?kW*J4|F=$@@xOb~A>s{SHmUx9@a+Bncb~ld|KQpC|NGC}
z1B;R51*fz*|L1Nv^MCs4lVG-hT@&#Jz`UUm*ayZfbM})Kh%g*nvh=@a&H|j#IKY{S
a5)1&STz#S9;g&uC0000<MNUMnLSTY18fJU|

literal 0
HcmV?d00001

diff --git a/assets/img/flags/TG.png b/assets/img/flags/TG.png
new file mode 100644
index 0000000000000000000000000000000000000000..be814c69455170f8f522bc82a50b9b3ac9eab429
GIT binary patch
literal 174
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`rJgR1Ar_~TfBgS%&#XG5QHw1`
z$lzx`uW`!HhesvY?riE}NZ!P=Lq6=o|I;5o|KBfT$(`1G<lp?{1N|3cKRiBWYtZ)5
z)9680%h&(2pDj$NalO^I$3VeafYWN~1aS?s1!dcg)fXAuVQ{Kbm0%N*Hux~JQ;3J5
YI;!<m(^2CqKnE~*y85}Sb4q9e0DQGXQUCw|

literal 0
HcmV?d00001

diff --git a/assets/img/flags/TH.png b/assets/img/flags/TH.png
new file mode 100644
index 0000000000000000000000000000000000000000..5ff77db9a9d5878ac7defbb620bc36525fa621ee
GIT binary patch
literal 110
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`rk*a2Ar_~TfBgS%&#XG5QH$-4
z@Pr@!e9PuB{y)hcV$|Tc^qak9g@B~Nheitxp-T+uYF-8mj^~c1s<0i802;vH>FVdQ
I&MBb@0AAK1Bme*a

literal 0
HcmV?d00001

diff --git a/assets/img/flags/TJ.png b/assets/img/flags/TJ.png
new file mode 100644
index 0000000000000000000000000000000000000000..b0b546be22ad96260469e6d0477ea9b1acc5c0e3
GIT binary patch
literal 203
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`lRRA<Lo808oovW;$U(sM`4+P(
zZR_Zb+XSWeHZJ0hVm-Qn>z$hQXPs@PQbGr7D$dGR7%(e0d~vK(y3uu^m65Yz`ilit
z>5CRC@-|g8?Q%HHS~c4__Q|@b2ZUN|8GhYZ@V)fiVZHPFxS7QGCfHQXO`NVd%S%V@
z;JmkC1`dC_o~W&mUR>8%yQ{IMMUThh!~gVGhq<Lb9p7?p)3#oq>li#;{an^LB{Ts5
D^72qh

literal 0
HcmV?d00001

diff --git a/assets/img/flags/TK.png b/assets/img/flags/TK.png
new file mode 100644
index 0000000000000000000000000000000000000000..b70e8235cc28cabff0c78ef065e1359e88058460
GIT binary patch
literal 260
zcmV+f0sH=mP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002XNkl<ZILl-B
z|NlP&C76LK1~919{s-aZn=k$6)o=L^;}gPg1DMq6P$bH`c3~(MH7fpJQ|a)ZRlOS1
zfR$S>qbN2Gn2y4?@JjmsXg}}&`f5AuF2Lu^$i%?^-_J7t|9g?)e@U?mX$F**ID<99
z@T^`#{03}4c<aBERTm^2N}W(NgYd(BeE*qLYY4lbuF4)mGYo^ggx7$+R`dVwj<dt@
z&vQ&D2D~`T_21Svp7=l{DjgsTw$xkWbUqCGMTJq>1p}X%D8T?|pI=+*KeYY;0000<
KMNUMnLSTYtjCa%k

literal 0
HcmV?d00001

diff --git a/assets/img/flags/TL.png b/assets/img/flags/TL.png
new file mode 100644
index 0000000000000000000000000000000000000000..b7e77dce5ffdcf13cb592abf945a298a3072107b
GIT binary patch
literal 277
zcmV+w0qXvVP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002oNkl<ZILl-B
z|NlP&C76LK27H~V^8c~3!v8xe@+4un0YLEI!-D(&r!M9H56l(FGXR7QRN4RkJE->m
zeVy|EdwOIT0K#(OEdMVpk^ld9x7z<Vxk~@<YLH++PEO8$b#?XsJe*AbxA#l`|9@QV
z|L-lT|6j%{5jG$yDhed<-__L>Y#19W<Nw1mWWk1j@QWzL|IdOHaT~zQ%=|wjB;>z}
ziVCI+5|xM#0|{Z4|7YgQ{r|fc7zX*kFwi0)40M%&v2Yj~3kKw*gB~)|!MC{-ro@5I
bOq5^%##?GOT}O0D00000NkvXXu0mjfk4=D0

literal 0
HcmV?d00001

diff --git a/assets/img/flags/TM.png b/assets/img/flags/TM.png
new file mode 100644
index 0000000000000000000000000000000000000000..e6f69d734a596250dac16bdf290b9236d4c9f12d
GIT binary patch
literal 392
zcmV;30eAk1P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003`Nkl<ZILpP8
z-!21T5XFD<?bmj9L#aP07mX$o2`}IsTzL@jHsZ=dcn0^}h(sg^rL@f!LA$%%Z(LN+
zD4O)bN#<_m%$zebqN<Do!<euDvbCwDIA-^Gg04$QyLGn9W#WQGRnaU1k$!xE?(B>G
z9K{g4ULnB}#h`-fEAx|c_?}13v((xxx@q!_<U@iJA!;WSo2T5}Uy{oenDBk-QH%BJ
z3JX&+;M^}BD8zY78ah&INqapmns=-(uVRehHfn$|!#x1-JjFx_S8;$B##k$KRXMyq
z=iuyks0V`*obZH@g_cJIb^Wnk;!eNwkm3OXBTCUXbkdY5-@NC`kA>eP;DnRFa$hpc
zrg=;Tcq85cKt_*^VwvfJQg7ARlhWvi1fWg`E05$C*T~<1b~4D>5eWpGSQ^I-lA{Nr
m5Ok^9-|Ziee}AU23Elu|-h10`h?kuJ0000<MNUMnLSTYhj<Wm!

literal 0
HcmV?d00001

diff --git a/assets/img/flags/TN.png b/assets/img/flags/TN.png
new file mode 100644
index 0000000000000000000000000000000000000000..2548fd925cb971f62604f74c6df000a29f314a6f
GIT binary patch
literal 271
zcmV+q0r38bP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002iNkl<ZILl-B
z|NlP&C76LK20UjF{!b3ZVSoq_^Z$Rw!14bDp8^;^W8ege@j>MX81RgN=l@Gdwg2BY
zZ2kZ1#F_s;4;=abZSg9w7)XwQ0fPUZ^GN*vefj$TkJ+XF-`IQp|F&q^|36QjfyJJ4
zOF-1%GT<2l`~MH=#s9x8SpNT|u=4+Z-@gC<zIMz1-xsff6#xGan*~;b#{ky<UnbA~
z{~<d4|A)Bj|G!S3|No4I_y5P7a<Bnk+WLWNSZL@1io<{ku|S1%Kvqf|_{>BJ1^^D>
Vm|E^0g<t>x002ovPDHLkV1nLdh&BKK

literal 0
HcmV?d00001

diff --git a/assets/img/flags/TO.png b/assets/img/flags/TO.png
new file mode 100644
index 0000000000000000000000000000000000000000..f96d99646cfcba13dc5a6d7f9522997808242881
GIT binary patch
literal 114
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`mYyz-Ar_~TfBgS%&#XG5F^Wxq
zg}u@1qM;x21d$6j8FIQ3*e)J#Xyj+!v{-QZea?rDDF+su@JUH#;C#DjZu>j7IY2`g
NJYD@<);T3K0RZT|B$faG

literal 0
HcmV?d00001

diff --git a/assets/img/flags/TR.png b/assets/img/flags/TR.png
new file mode 100644
index 0000000000000000000000000000000000000000..3af317d9f7c16cf61393e13fff1eb11a871fe335
GIT binary patch
literal 311
zcmV-70m%M|P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002~Nkl<ZIE`cY
z|NlP&C72@3a04E5iT@`DV>RHZwEF*dnT7v9&zk@LU0UA%rxL2f8}Qmc^8er0Z$J|N
ze_g-%|5N|e|DPsI`~S+(o3H`TR1E(A`}_s0`OD%J{~z;8!4*DJ()<5h-3Ubt!+;M}
zjbP1xKYslGL`(_8wpT#ceVMxm>^-aoe4a83;`ED`F*H8|+WuqzA+Y?roDv)^sHlgy
z;NAQGPXuHzUEmi14ilU%0EPaa7caqve402NMe`GJ<^NCRweW`l*cKPR|9_r70~_+=
zz~TQNYFohgg_#2h=>Qn-Z{yOy8s9`GV+~Ne29T8!2R<`Vf&uv4pE3u^Py7G?002ov
JPDHLkV1hgwl6C+9

literal 0
HcmV?d00001

diff --git a/assets/img/flags/TT.png b/assets/img/flags/TT.png
new file mode 100644
index 0000000000000000000000000000000000000000..890321abedd9316d582ed3e780d28cf169a619a0
GIT binary patch
literal 358
zcmV-s0h#`ZP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003kNkl<ZILpP8
zKTE?<6vZ=T%Hj~r&?SRraOq+w9d$4tplc=<zd%+$Kt@-$Opb0@I(5sS)_)La2?d4F
zlnxRLeU*CjT*R%sfCVp{;XcUk-FMH40l@f+jI99XSJz;LVfcMwAW0JGCub3EclI~x
z7cgwKp(Zb=>l&`>!m=zBMS=DE0#EHDJ%CMq+{33@A<HtDrU~Eop_Ibn<{o#u2YLYY
zdLGN@aU9E2q9~GndU4qdK)v+`@=*{30!h<U`f=~H8Q{_D;$t>PS(dPE8;;|ksw%9e
zGd%2d^Z<&tv3NVD;4~~w*9buI-7M~b5blM=Jv9Pw^K^ht&=ERAhv*a?(*mgH!xPCu
zp68Mc&+{ZJ%TWPlM+=~sMi$e_r!cLopY(3&U-(zR7u^e|hZu+nKL7v#07*qoM6N<$
Eg4w>EG5`Po

literal 0
HcmV?d00001

diff --git a/assets/img/flags/TV.png b/assets/img/flags/TV.png
new file mode 100644
index 0000000000000000000000000000000000000000..2ec3160533d3d03d529fa5f7a8f5707bfca8624b
GIT binary patch
literal 398
zcmV;90df9`P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00041Nkl<ZIE~Gd
z%SyvQ6o&gGeHUNAZNUc+T!{7}qJ=ipU9~2N(ynyj!X#~qlZ&a6;3lZ33l|E4jdyY7
zBZS|~VA6@2B4p#hA<QuUcg}z2BnKduB{GRe0MElz)rEKU4ipOPJ27p5o-e3(sSyLH
zm|o@qbWb5k(GV5IM~e(l*Dk?ZKoA6AD+KT>63;8os8E3F!*ptpbdv*6Q55++_&pUb
zs<+tC3APV*LUA2)@+$+yfXHvcf-IvYx(u+?y@Bmku|^KD(mz2_c|uva=PGEoF<BfW
z0M+Jk+{AL2t)x6M8?*8o3`c-StPvo+)5EZ20nL3EGkYJ{G&J;%R<TZO2-^900L@lX
z9<XKh(9q79m|Bo@BkaKot11;h{dG(^%<RB&YY=sdl`Uu&O#EXGz5{6HUAqH`7-;lQ
svE04>dPe{EK^ix0f11R9@H1tIPxNg7WlL71H~;_u07*qoM6N<$g5%4ouK)l5

literal 0
HcmV?d00001

diff --git a/assets/img/flags/TW.png b/assets/img/flags/TW.png
new file mode 100644
index 0000000000000000000000000000000000000000..26425e4bbbcfbed118bb78caab959285985f2707
GIT binary patch
literal 205
zcmV;;05boHP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0001#Nkl<ZILl-B
z|NlP&C76LK1~4#8{SU&-%+vn!^Uns;APf`#2ULa)V;G>WzV!dhnOFZ$o_y)QoZLdv
z3=k5U^MB5qYybcJ`S<_l&%ggCOt=Vk4M{F&Z$Asx{O#NC|JBteNOJ+m&k_>z|F^W9
z`CnIe^1rC)JkrAeggH59q68pO2H;Xa2#*?oWWc~@CQ2{>Iay^LJq85Y00000NkvXX
Hu0mjfu<lry

literal 0
HcmV?d00001

diff --git a/assets/img/flags/TZ.png b/assets/img/flags/TZ.png
new file mode 100644
index 0000000000000000000000000000000000000000..c1671cf7332a06397fec1bdec882a010d837e876
GIT binary patch
literal 415
zcmV;Q0bu@#P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004INkl<ZILl-B
z|NlP&C76LK2FPu-`i~DQZ?pWr_?XK7KNrRRZ=ELaUx=Rxs1u}>2m>s3nEgL{S`Mta
zK8qWy5rn;L*$5jDzQ^$YtMiio-yRhOYk+A683ZyAuK_KGH2?nuD!Q;n=)Z~_Ggu?Y
z=^!tFG*8)=f!zR&Z5IExo=^lUTHMa}pOc*ttXW^3<^Sz%!v8;?m;E2JWy*hs#dk3c
zu-$3;|JGTV|KHAt{?Ci%f;&0JhvWa}Q=<RxozeYov}P+<Gll_4`}F^Rx*+lY$zGBF
z)`qNLjclxp|EE;*f?c!YsLy|)W#{3VQ4E-PSRJhB-~z$_5+aZ&k``n7e`Jv$SiEU>
z*?;CGw^1~s7ywe#SH=Uj5v1A9gca<P59j6o`)*u-p%KG?NG}e!e+y%|{{K8L_W#mJ
z^ZzO<58~8}VgN`ZD72S#@qwMZ>|oS?o~2jtYDO_&;4>2?7y#rKeP9Jf6aWAK002ov
JPDHLkV1izW#_9k7

literal 0
HcmV?d00001

diff --git a/assets/img/flags/UA.png b/assets/img/flags/UA.png
new file mode 100644
index 0000000000000000000000000000000000000000..74c2012216fb8298169f83d76118365819405c5f
GIT binary patch
literal 102
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`x}GkMAr_~TfBgS%&#XG5QH#yM
zV9sBEJ~`8dS!{pyXn&h8W0S=&iII8!OpSvKPaaN@U(2H_2Gq#l>FVdQ&MBb@05`oI
A`2YX_

literal 0
HcmV?d00001

diff --git a/assets/img/flags/UG.png b/assets/img/flags/UG.png
new file mode 100644
index 0000000000000000000000000000000000000000..c8c244364b0cb7eccd8999da0d8d264d04057cca
GIT binary patch
literal 188
zcmV;t07L(YP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0001kNkl<ZILl-B
z|NlP&C76LK1^~f-axnD_`2QS8k%M6d+_U8PkB;yADE;3zz4`z3?aTk)^H=?kO$}ZH
ze&4(Pf5NmG|F2xU^#9M}d-x5&=D#afum9h$b;tkS*r5N{Hm@N)5T&K1|F2)S;s55f
qYyZp1$P7Rr5`zbk0Rx|zD8T><s$v>i`C$YA0000<MNUMnLSTZTLRa4a

literal 0
HcmV?d00001

diff --git a/assets/img/flags/US.png b/assets/img/flags/US.png
new file mode 100644
index 0000000000000000000000000000000000000000..31aa3f1877f785f782961bae09e2f1712104dca7
GIT binary patch
literal 120
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`_MR?|Ar_~TfBgS%&#XG5QHyO&
zTrK;FS)b(PYuQ$a$R6fZSR(22m|?Nrf?3@ECi5$>B^b|@u-Oq~aA0Pq5D&wLt0(RH
TZr;-Z8pYu0>gTe~DWM4f!MP?3

literal 0
HcmV?d00001

diff --git a/assets/img/flags/UY.png b/assets/img/flags/UY.png
new file mode 100644
index 0000000000000000000000000000000000000000..9397cece5fcdc795061f08a59ee858c46189b624
GIT binary patch
literal 216
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`^F3W0Lo808oovf>$U(qu`W*GB
zYW<IPQo3tgRXXf@IaZ3WZWiP6S`>c6RC@l=rlf^C3>V1P-2L#((11zce#jKo9q#D`
zPaoSb%skmSy>?Mz^II#I?6+(le3J@ypR)NNv9;#h%X@xTcIp3Su~=%Y)_8u+OT)Jz
z9(|Y2I%u}W@OB)sn(fM;Tx8C?;rM0om?Xyc+bkqSPVASM!uaE_vFJPA35)fXek=Ny
Q1#~Kdr>mdKI;Vst01k;%-~a#s

literal 0
HcmV?d00001

diff --git a/assets/img/flags/UZ.png b/assets/img/flags/UZ.png
new file mode 100644
index 0000000000000000000000000000000000000000..1df6c8822e05802bc9eef10322e6b05e2e7a0a93
GIT binary patch
literal 163
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`S)MMAAr_~TfBgS%&#XG5QH#ys
z%$;BIEzj>%{HcH3JpF%SjX<7N_3!#ejok^BDTM;Z3?5wgT&}_8Fe_n}qlqK4!?uGt
zO*ead9-BOvv*1>JkwKBdByP5DMv?Z$J7KH;KY8Goa^OI^nwJ5Cob0v2{!L-3KwB9+
MUHx3vIVCg!0F$vlUjP6A

literal 0
HcmV?d00001

diff --git a/assets/img/flags/VA.png b/assets/img/flags/VA.png
new file mode 100644
index 0000000000000000000000000000000000000000..25a852e90b741c0a9dfa22fd0b2ec53f1b924eda
GIT binary patch
literal 202
zcmV;*05$)KP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0001yNkl<ZILl-B
z|NlP&C76MF20Q>#*f4G|)C~Cb^%W4mCeMJ6Zyx-=b)fqH?E@A6zr49dngM_R{`-IN
z(v|;L4$k=h=s@28PZx{-|Nr}oG#7k-ckTc4!~Oqn9@_l>)4M06d*R!Yeg7Y?Y5sp@
z)vEt5pFSqtfPa5}|NngN?*C7B?}FJwG#wB&V4!j%01bXIX>C$NZ~y=R07*qoM6N<$
Ef>>E!CIA2c

literal 0
HcmV?d00001

diff --git a/assets/img/flags/VC.png b/assets/img/flags/VC.png
new file mode 100644
index 0000000000000000000000000000000000000000..e63a9c1d90c9fac4f784046d840e7e9b20d5db1d
GIT binary patch
literal 217
zcmV;~04D#5P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0001>Nkl<ZILl-B
z|NlP&C76LK1~3#I`wzo^E{fsB4D%A;7_R|8FNjlSz{m5FaQ0^;Hc<xLIHmBvYP$_w
zQ^!sVuo%$>c&+vN&o)2q|HIRA{~w=`{m;1|7A!`x0r#K=fY>A%0Q178LpuLg9?%1`
zN%8_L;8d1|{g+-G@&ChlDKet*qBz(95Jrwtq749HkQYFhtaLz9N*wsiL<t4}7;LOR
T>)M%-00000NkvXXu0mjflmJ(!

literal 0
HcmV?d00001

diff --git a/assets/img/flags/VE.png b/assets/img/flags/VE.png
new file mode 100644
index 0000000000000000000000000000000000000000..875f7733f660bc32f490efce29191ef027c42214
GIT binary patch
literal 302
zcmV+}0nz@6P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002>Nkl<ZIE`cY
z|NlP&C72@3a09+y6#xJIlIZ{2d({8mJEH#o$0d>fU@-z1#eh@0#Qsl-H~T-O-R%F}
z<D&n6UnbFjGh0OeM`S1ckI0Yze}0GP|9@A-NHgHe8HxV~=1TlOJYV|%=hG5EZ;;>u
z2IJNL;n-l+e<qVP|K)wQ{qI<C1B?}Xw}Hh#a>!~i4KP~upVNHJf0xXI|NEBQ`mgA{
z^}hlTgV-Q3kQ_)2ZUcZeq_v*?pW1TvKZEv){|x#oAy{h#SPUeG><TO{SpC0i;f?=n
z7Hd&#0<l42AUTj43<J)KX#Xb%4<Z8wJ~L5*0V^$+!F9&c9RL6T07*qoM6N<$f|Xj0
AV*mgE

literal 0
HcmV?d00001

diff --git a/assets/img/flags/VG.png b/assets/img/flags/VG.png
new file mode 100644
index 0000000000000000000000000000000000000000..0bd002e4bb035d5083254d8a15d7c2dcf60480b7
GIT binary patch
literal 337
zcmV-X0j~auP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003PNkl<ZILl-B
z|NlP&C76La1{^u^KdO4~|05Tk|NkEz4yGN`Hvb2SGZ@driQxu-G=mf)8vx>i3?a$@
z5bN*XzyHAiXaF(*DKv{M{BM+F{@*Us_rF!T$$#72od0a*vylt{X@X%nx&O#~kOB57
z3IC0=1pZH5J@0>9neKn5vY7vzR&x*r!2FBig%vCQ_xA4v8(^7}_1`U5@&Bg1oBszF
zYyCIRjzV+6^y&Zo3U{CwP~Ej39*FjNdH=0)CI6qhdG&uxo%w%_xRC!$CP-m`FQ7m;
zqd4ZjUcTP{X*<^bPwEK%pHLR`pVw?M@diw8@%mrh==a~X(B^+xv-kfQ?cV=Q{X2*^
jfM7HZya9tCGf{v6$>@l%TpGxD00000NkvXXu0mjfF885)

literal 0
HcmV?d00001

diff --git a/assets/img/flags/VI.png b/assets/img/flags/VI.png
new file mode 100644
index 0000000000000000000000000000000000000000..69d667a5a2973553635ee0613ad93e58f5a6947a
GIT binary patch
literal 500
zcmV<Q0So?#P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005INkl<ZILpn`
zJ!lhg7{~FydlwOOP!x1%1#xrIMI4<Zn~Q=}2o-$eXsLsWU=@oRVjT)y97?d@D@t2J
zj4#Pq8|sCoNiB(~O-S!@p(dnUbC>()>mYcD7HsR#2cGHS`7F=x5rEi8i~j|zw|)Yy
zQ^T&Oky8FPwXG6Xb?T2T>Dt)!v<Em=0psItjEMtObG=x`6To7*7^IPG0~~NoEaNdt
zbC=N7y_6G&JfJCCRLdVI#dc7M3LH(4hzE#{b@S@cHo|Y7lZv0GnG}@60$pv#s?B*o
ze|CZ3x9>z|#z};a(fGUtMLEu{4nNxucCmB6pTT>Fu_gs?V}2HE6@v4o2b@cPr6*@{
z`{`ADffH00`pJaOkW?NpbNwM&Pk`d6kI>{TIz~0(W{uu#(F2By1~1Gy+L!n2QMU4I
z>NVxWDYAF^C|nDX8&GIuE^;Mha#q#QR~p>S6+ECNB`qnj9h>gq3)~oNN1we+>ZOl&
zH;<BuoF?|Elc8weuS+<t%c?ohD|uqGD)Z_Q@?(Ph#7XvzPjf#r{r4QKmXfBuM164t
q={iJ8Ci&%+wE_Q}#7*%`>+T=nhC#Y55|@eq0000<MNUMnLSTYRO6BhW

literal 0
HcmV?d00001

diff --git a/assets/img/flags/VN.png b/assets/img/flags/VN.png
new file mode 100644
index 0000000000000000000000000000000000000000..69d87f90987e9518ea280d22a4c37d1244170a2e
GIT binary patch
literal 193
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`9iA?ZAr_~TfBgS%&#XG5QHyPk
zaL8|ezGZtEuk%d(A8#C{cE3TrvM9l46618!kbm*!;cSofrBx3~9AiHzX!2mvqF4XF
zZ(jQU|4xmzCdVWN%SC%XER#><=<qF)sEJbi`TsT_rvckWPa}pW;S<)1F9|s)am4Mr
reH^o%$BKXIZar0;nGcMGRV5g1Rh2zVyK?Lf&`k`Uu6{1-oD!M<Lj_4|

literal 0
HcmV?d00001

diff --git a/assets/img/flags/VU.png b/assets/img/flags/VU.png
new file mode 100644
index 0000000000000000000000000000000000000000..5401c2a6de5d0f7a48273b59b98efaa814fe0952
GIT binary patch
literal 302
zcmV+}0nz@6P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002>Nkl<ZILl-B
z|NlP&C76LK1~{_v{NKT^^#7co8c7&#z`9<B|GIKa|4X<;|DPepfXq;a|Ic?b{O>Jd
z_;1F~@qam=JZT01!GC@phX2zl8UDZ8%kV!7XkZ+d;Qu26D#RPml*#Zv(U0N3mJ-AN
z?Nb>3UtI$+6eNcW!wrCG2GKCdI3J+YIRY5j1uz3tWEuX00`>MrhX101M7jXP;o)NV
z-;xapgQ6IQ|7<QY{~7um{xeK<#);tuBnL43f3gD-h(ek?{~5~7@M^>`02F9i8qEJ0
zf>i%AOm-qlGl~HWdLsWBnyrb}h+)9MXC_K80QrGO6CeuZy#N3J07*qoM6N<$f*`Df
AjsO4v

literal 0
HcmV?d00001

diff --git a/assets/img/flags/WF.png b/assets/img/flags/WF.png
new file mode 100644
index 0000000000000000000000000000000000000000..922b74e26de3a4eac456e0d7b4d617ad62b23d97
GIT binary patch
literal 182
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`wVp1HAr_~TfBgS%&#XE_>1+YB
zMDMD9%?3Pk#4oZXr<j@9wD9a$llJ-l=Z%*W>^j&!2J-yqXKxUxv*Wt>CF`3|N20sm
zLaB!HGYzKinYH!F|H{C*|JSGKwMqMIVKhi@HffG!C=v8zJ7Cgy_<_bW1BDcZgAo!H
f%xreXflZ7qfy*mQeq7QAI)uT~)z4*}Q$iB}ND)G^

literal 0
HcmV?d00001

diff --git a/assets/img/flags/WS.png b/assets/img/flags/WS.png
new file mode 100644
index 0000000000000000000000000000000000000000..d1f62df103e1d72aaa885db5fe5ceac77f2fb34f
GIT binary patch
literal 236
zcmV<I02BX-P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00029Nkl<ZIE`cY
z|NlP&C72@3a03{$>;E%o0kLZJf4#tI|Mh~V{bx|F`p=+Q_a7v8PEZXiMlpcRpy@vs
z5Kmiv`hQmArvHl0eg8#mI*B(xA86~kJ=gy;C{+AsP^$XBaMOkV>fV!xH-Jf};XjLB
z<9`Ol%Ky^Nz5j)+JHcKe+5j*HYOsr&_uoEY{(lCwn*T6yk_=e3?b3hm%%%SsRH}(L
m0G9$nc+>zS0|q`bQGx;N|6wv`=fMB~0000<MNUMnLSTY?>S-SU

literal 0
HcmV?d00001

diff --git a/assets/img/flags/YE.png b/assets/img/flags/YE.png
new file mode 100644
index 0000000000000000000000000000000000000000..bad5e1f427e2478ef83ee6a87cf76b815c42d39b
GIT binary patch
literal 103
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`dY&$hAr`&KKmPx>XI7n|bhd!`
z9OtUP>g@dL%>O3yvvo5%e3&m|GlypZ3;!NQ2KluOZ~3i1zXs}L@O1TaS?83{1OPaG
B9rgeK

literal 0
HcmV?d00001

diff --git a/assets/img/flags/YT.png b/assets/img/flags/YT.png
new file mode 100644
index 0000000000000000000000000000000000000000..676e06ca7972846cf433a1d18fa87e645c848a65
GIT binary patch
literal 482
zcmV<80UiE{P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00050Nkl<ZILpP8
z!D<>|6otRPGn&!Ssn&KV3W`V(gcc+qUD|=V=)R8<@(A4*`U>Jhh~TcxxTqwHiW*HS
z0Rw>$<JcMV&)-E;+AzDi=-FKE=HqbAy+SF)E_%d{((mWL+7SBR+vTSZ_-9j;lq6s7
z<4?b#=WNh4kP;>Du$*@!>#zS1?lVvT+vNq@<puhar-bWU^qfubeMang0RVY>1Ay_O
z7Im;#Ea-N-gkea%zR$tIM+_r{W!YR`FF8DX&ulhD2*F!3Lq4B>7-GBKCKih^7z|jg
zZa6-Ej8b_#&%kwcve_)d;gEPdPN&m}wxDSmsZ@$ut%hl)c$NObv(1p)<|}pUGlB0@
zsZ>a((*!{fX#v}|ab1^UvB>G^7$<qcY&BxNRlG3*&d+A(x{m9*l*{EPz;PTBi3HVZ
z75C_f^_@W1eh>zV%P>an>WW6A!Duw1*=$Bz==b}SN+ss=IZ{fJ#vZ=6K>-Of$!hIk
zSr&ytfyrd@8zLUm*z5K1JP#=)<MEgv2#`{e$^1%P2!Uyuv|25M5K+J`mni<*Gwlrc
Y2{|{fQ+jfG5&!@I07*qoM6N<$g4Ph^EdT%j

literal 0
HcmV?d00001

diff --git a/assets/img/flags/ZA.png b/assets/img/flags/ZA.png
new file mode 100644
index 0000000000000000000000000000000000000000..701e010610106d8ed2700da2a510820bd9c83cb0
GIT binary patch
literal 348
zcmV-i0i*tjP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003aNkl<ZILl-B
z|NlP&C76LK1~Ak_{^xE?_`mV`ng2g7p85aO-{$`#TMdF3Za_ev^M8;bAY8qB<^P{=
zUjBcX9ZkFex917|@0e}!pSd;yY>3Oemj7=)zW@JzVjFP=2=Oxh-_gSVfA=!A|Duh-
zU_+$aQ~#fNdhb6001X2m#mvO;zbTIE|GjlG|4lo*;9kOqQ4E0Lnn<qy?>9;O*J<-5
z-GHiauK$nLN&UC(^d!v%Je-XG*Vpm=Ke$5WzXUW4B-&E`AA59*xG=aeTkwD19Haki
zwc%jRcC#D*Kl$+Pe_i{b|2#51I5FIS$O(>cXBBN<{Qvd4umAlbSL4-;VgN`ZM?>8I
u6_<|vKX>WHe@*jQ1T~`=Fz}g)5)1$+q>DKWh4NDX0000<MNUMnLSTZbnXH`v

literal 0
HcmV?d00001

diff --git a/assets/img/flags/ZM.png b/assets/img/flags/ZM.png
new file mode 100644
index 0000000000000000000000000000000000000000..e3d80780d26ff34d80254c427f3f0f8d4db6f774
GIT binary patch
literal 189
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EuJopAr_~TfBgS%&#XG5QH#x^
z%<#|gc2O&df83?ah7)ve9R3h5abns_hD_B<4SR&z{{Lm=`M*5O;E%p`>JNL{{)hD*
zrkrdZOu1iHr2nvA-|_JOAD*`Vai%=~ms)umGIUKnE%8q~O!<e4bU}D1Lyu&`DaRkV
nye$1v1}k_Zew=aPWMep@X|5M?^T;xwdl)=j{an^LB{Ts5OAAJS

literal 0
HcmV?d00001

diff --git a/assets/img/flags/ZW.png b/assets/img/flags/ZW.png
new file mode 100644
index 0000000000000000000000000000000000000000..79864d469567a06133ca536e13453a408958bfba
GIT binary patch
literal 300
zcmV+{0n`48P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002<Nkl<ZILl-B
z|NlP&C76LK26Qc}`>);1`QLC72T2&&1^<tpJ^A0SO`3cIK;Z3*5C8YCw*UX_I8f*k
z5g6Hk-+#{j|1ib*|L2w4{_mbY>;Fl4!T<LZ1n^=M170^~{Qta`^Z(l#o&TSEJO5u^
zx90zH9p(Sm<%u-l&E(Ag@3wINf3uDK|EuYiU@zTy{^CC;Cnr!916GV;z>gQZ|36#D
z_5U%@6+fO${D1x8)&I-1m56u2?^jR%|NC(9|F8F#|8H+C|9^tiFaUuMpZ@&czs`fa
ySU7R+%zyt@GSflN@`nG~O<WYE!~xDslwbfH2cJ99#JuJJ0000<MNUMnLSTZe7@jf!

literal 0
HcmV?d00001

diff --git a/assets/img/flags/_abkhazia.png b/assets/img/flags/_abkhazia.png
new file mode 100644
index 0000000000000000000000000000000000000000..0abf686d5d037ea769570c3ff248435d3b5bb9a2
GIT binary patch
literal 276
zcmV+v0qg#WP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002nNkl<ZILl-B
z|NlP&C76LK2Aols`F}?ih*cE--!;<zf8W*V|2-pv|990?{@;<2{(nba?mt5Z0|tg0
z@K8qf|656={~xTK{(rD_{r}$B>i-8D=l>t<-TuFoQT_i`Odh`h?^JdFzc&JEa`6T$
z{<&rQ{|{z%|36sR0}XQd|5jM$KMnvf;EuG^{|^rC|KBNT|9_{d2bTFhcj5oH5=sz5
zMP%{20OUuIA~2Rv{QqOw%KsljqW-_(lK|Qd6cbm#Z@_=@0mJ}orW1pyXTb3A!T@I`
aN-zK@N0K5gM7~V`0000<MNUMnLSTZF!hk*i

literal 0
HcmV?d00001

diff --git a/assets/img/flags/_basque-country.png b/assets/img/flags/_basque-country.png
new file mode 100644
index 0000000000000000000000000000000000000000..bf2494d2c8a98e88cec5e79f13b0d3e632002350
GIT binary patch
literal 240
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`+dW+zLo7}w|M>sko>_H9qZXTi
zPwBt>sMN3jckH|L-&*Ta0T1(uBn4B2tqQgU%)j=Q{www?_@jR>^MC!+xmJG64n;6I
zhe^@8A^)|v-1?h7^Uat2iV^&W8{8I1yjD@)AT=Rsh0P%b0lVdEf81YrgXztl13AV!
z7!}MscvRSfnx8m@FgyG(6A*Wk{+B-M5sx{;k#qfqET<Q?3fhRBU=1l^3_aAaC}M$y
iY``2Lc01$1CdR3|R;~2hwD2;}3k;sFelF{r5}E+JuUygq

literal 0
HcmV?d00001

diff --git a/assets/img/flags/_british-antarctic-territory.png b/assets/img/flags/_british-antarctic-territory.png
new file mode 100644
index 0000000000000000000000000000000000000000..b29a7dc234a88ba47a17a1da4db72f1034109975
GIT binary patch
literal 361
zcmV-v0ha!WP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003nNkl<ZIE`cY
z|NlP&C72@32m_8B`5#ri_y3U#&;S1q4+qnZX`BCp#0db10U*sF#mEML_+UebF#yE+
z`}Z$I2xtHa0BQh86Aa7A{YT*g!JGGA{(pFK;QzC`NB+Nf^XdPezyDATfcY223oBOq
z@9hVA?a$}`2hQF4KXYo)|CG|^|0hpf|NrXUS2Pz)pZ?#ka0iM3)m{6+hW>ak_5Y>K
z8UL5`r~F^AF!TScIkWyBy|f-P3~+**Y5#wpG5de0Jpcc*295v6FW&j@R#8TR0q3p$
z|GpUW|MKdk|6eW$_<!}y$Nz@u>BJlG`*zv?9b0_=Ke>DA|F@H?{vUev`hVBr#l#zM
z;?TtZ+c)a}-`4N^|M045{~zw1@qhoDha`9bKcH4#7)S#E^fONxpV$0Z00000NkvXX
Hu0mjf7j?a?

literal 0
HcmV?d00001

diff --git a/assets/img/flags/_commonwealth.png b/assets/img/flags/_commonwealth.png
new file mode 100644
index 0000000000000000000000000000000000000000..8f08c8a01414f54a1e14bc435c33877876e8b1ba
GIT binary patch
literal 443
zcmV;s0Yv_ZP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004kNkl<ZIE}@V
zOG^S_7=;H?*KP{j1x0O=yfjV;g=u%Cg|}*<l4fN=Whv3kno<d;G$>Q^t`#A*?Dw5M
zN0KC!z(tG0FwDHqd%iPgC;(I^>S(wQpp>_0kUR!T7DE@!L8yv=Qbfu99l18X*Bn3w
z#p6L3+)kVX=fGZ1!+Bsu-@;K1T!pm+kl}6(i__37K3;|p=ClZLI+XKrWKt^7*4-LF
z(E=bCxq-`PLFHKryLTBzj|0X{2Q1rm#N%ot5~F0nCBLXCKr+c9@i+$mg#l;8MKP;H
zA)`bp$&e$tz?i)dskr(vegOvNk5S4iv2kcZE=}XDIE>eV44;)jXlx!(y_xnINVF`H
z#HR1ufB<n&$|`sl=@bL~nhUgPA0oPqgK7qDKgpmhg>7%8mI0A@%Z~d8H4kr_LG?io
z$srJ)!8-{u7}4=6=M>03(O{N#+JA-b5{V~*SX^J_gS?7N!9`s4>;KY&pG_nZki>;d
lq_&Z7VzhY^|Nm#|L|@lpUw;-Uz$O3y002ovPDHLkV1iHCy=DLa

literal 0
HcmV?d00001

diff --git a/assets/img/flags/_england.png b/assets/img/flags/_england.png
new file mode 100644
index 0000000000000000000000000000000000000000..7acb112f0a8d30a47164ce7cf83998fc8e9473e7
GIT binary patch
literal 102
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`x}GkMAr_~TfBgS%&#XG5F^VmL
zT_Kb0&ZWbr7-l#H8GhxF=w)3cVenyQXATd8oS)T)=neW#K#dHZu6{1-oD!M<GdUf?

literal 0
HcmV?d00001

diff --git a/assets/img/flags/_gosquared.png b/assets/img/flags/_gosquared.png
new file mode 100644
index 0000000000000000000000000000000000000000..74f2eb525eb6f68bca05281a480c6276fe81abd2
GIT binary patch
literal 239
zcmV<L01*F)P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002CNkl<ZILl+O
zophFg63jp?1OAhVX=Fh4*1P|2zy9|B$%h|cx?#sX;ti+)YQFgN^Z&rPm%x1gIhXz)
zy8Hfr-S&IL8F2T_xBmf9%}!I#{m)x>>wn?;TmK^#ULno^kh5Xzi3cBpU6Zu@`v1s9
zS4ek3_L`gj9j2W7pSk+R{|9fslNJU+^Dcokmu$TKf5y=#|I0SrAw3qJef;_VDbPzW
pOuuwMjsfK7h5!HmQ-mot006+Adp@~ff^7f*002ovPDHLkV1o3ybPxal

literal 0
HcmV?d00001

diff --git a/assets/img/flags/_kosovo.png b/assets/img/flags/_kosovo.png
new file mode 100644
index 0000000000000000000000000000000000000000..dfbb5f01f64320db18e1b3b226ce75b5b7143d9b
GIT binary patch
literal 434
zcmV;j0ZsmiP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0004bNkl<ZILpP8
zO-n*S6o&m58L9bE)GlZdv`Ea<d%f8QM3zKpVWeebpF~oGn7Bw#S{SsD((YAmkP;QO
z2+CEvs8zL!e#qP0sfAhIjX{f-Va_@8oHH*o3IK{)r1%p+6L*YqX_*X_+ImD+jg{<e
z8R+fVZ*@Na1|q50=qaFkst8~B7M%Yap3n_UlSQ-*<tgY_fR4?g-6>)td5_u19Y$8J
z!OdNwW9$r!?*jAD5}eCd2$4K(X0HH9f!02OcGoglD9r*at^_vM*U)TFquwm#c^KUV
z`77wiomI9R8mxK5!;5$?FyIqjv^X*}CV5g7Kn-LCO!#Bu&@>)}0jd|V7pYhPU8DPC
zQeGaQvgP3>fVWc?Pq}_P@Pky+J{eh{d0BwrYl`UBD((I(I`DeJp_F#Q<Vr!q<m3UL
zhVoEaM5K3pIE>FAxU>y+d=HI`ApZ`^r6xvt13Ty(K0sZMNT;f-kp)Q7lS%Ytrd0*}
c|7WU2A3=wOIzKC?Bme*a07*qoM6N<$f@+7pivR!s

literal 0
HcmV?d00001

diff --git a/assets/img/flags/_mars.png b/assets/img/flags/_mars.png
new file mode 100644
index 0000000000000000000000000000000000000000..4f5980b7f498758e6b1645e544ea7e4eb57bd60d
GIT binary patch
literal 103
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`dY&$hAr_~TfBgS%&#XG5QHyPk
zVBp{WzMW#?ixW<Mcq~zIr6G`+Z6+i0{FxdD8Ny7;wrBo%=L^)y;OXk;vd$@?2>_n(
BAiMwo

literal 0
HcmV?d00001

diff --git a/assets/img/flags/_nagorno-karabakh.png b/assets/img/flags/_nagorno-karabakh.png
new file mode 100644
index 0000000000000000000000000000000000000000..f5a8d2718e2a4e302ec36fba5240f4ff6ef207b7
GIT binary patch
literal 141
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`A)YRdAr_~TfBgS%&#XG5(Tc4>
zBgs%}!E(kIw-l0Gq#AsUH!<??tp4}-5Jzpq(+|=O{>Fi90&koC8#jvB_3#87?KEMS
ouBal}a8}`!q``-oolHCop8adD)|!cK2Aa>{>FVdQ&MBb@0Bs&F2mk;8

literal 0
HcmV?d00001

diff --git a/assets/img/flags/_nato.png b/assets/img/flags/_nato.png
new file mode 100644
index 0000000000000000000000000000000000000000..fdb05410e34f14af3d7e8e5c9a1b4c0eade57f63
GIT binary patch
literal 143
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`VV*9IAr_~TfBgS%&#XG5QH#xB
z#g%{R?7}7sw$<xP@Xuj<*U5eIJJX40yZi4wEM@ItJi%~;J@a1m8$F5U8#k^9lrV16
rKEcK8^w5B1(Zm;1EI!Qa6yjkBX$Wg}+RqXVw1L6X)z4*}Q$iB}o7yrP

literal 0
HcmV?d00001

diff --git a/assets/img/flags/_northern-cyprus.png b/assets/img/flags/_northern-cyprus.png
new file mode 100644
index 0000000000000000000000000000000000000000..f9bf8bd32e8f4901ac8a355073d73f873c3c755f
GIT binary patch
literal 220
zcmV<203-j2P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0001^Nkl<ZILl-B
z|NlP&C76L)29OIN20Z2x|4$Ca>w>?p-+(buE<h3b^XLD!4O_rAyf3Q!|6~7QplN@J
zH{kp317OX+pT9&=`Dx<x|G%zWBW%FOrq2KGs~Z3Re)tG3_I2f2u%SN=9V2YOw;j77
zF1UIVMdi1RTmS#Q|B$#a__}5j*pRmgng4$rIZj#_z`(z6-@$m`(g8^+aZqF?vM~S)
Wbx8LUYIo=W0000<MNUMnLSTYnA!6PD

literal 0
HcmV?d00001

diff --git a/assets/img/flags/_olympics.png b/assets/img/flags/_olympics.png
new file mode 100644
index 0000000000000000000000000000000000000000..60452238615b5eff48ef1ae173e74e6a75e08770
GIT binary patch
literal 329
zcmV-P0k-~$P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003HNkl<ZILpn`
zO-lkn9LI5AZglPtz5pRCiJmFNZH=Ob!&*>yDM|t{v7#uXgMkm3wY9XZyUsp*%Q;A}
zb<sl({NO(W^BLwT0z`(%P?LWGgSJru4qBh6*RQ0m3~qIkVzERzokmd<iiHB=zJf^Z
zU}ds&_j6%Dz0u`}=X)&W^JI6Y`pd+Yr^ziOaD^lLos1R+*2?b)PavM>nLRmYeRUH1
zWfQG^$V4p4=}ertM^z%-<aQV+eF&6Nh2u*V!*OUf>!eo37+0dy>NQ-$;4Bg6X;H<$
zDF1$luJ7W%Z4h`SfoNmtduWXut&Wc6+H5tB`rG*P76SWDA`<$pAIz#mdg;}p`wss9
bGYy<CrbluB{Zwfx00000NkvXXu0mjfZ_bi~

literal 0
HcmV?d00001

diff --git a/assets/img/flags/_red-cross.png b/assets/img/flags/_red-cross.png
new file mode 100644
index 0000000000000000000000000000000000000000..28636e964ac1eeaa2380a75e37de572a5666ca89
GIT binary patch
literal 109
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`CY~;iAr_~TfBgS%&#XE_>Ff!%
z3EUYu2P7AKkz{LQG+<aJD0}&QLnA-4&;bRbga^jLHzgP@IA<NuGHTrf)X(7Q>gTe~
HDWM4f9YP?4

literal 0
HcmV?d00001

diff --git a/assets/img/flags/_scotland.png b/assets/img/flags/_scotland.png
new file mode 100644
index 0000000000000000000000000000000000000000..db580403dc74a5ded3d7f3fe35388fc1324745ce
GIT binary patch
literal 351
zcmV-l0igbgP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003dNkl<ZILl-B
z|NlP&C76L)27tlsm*4*DHk|y=kh&Ku)~Y)JR)Yjk4FG{}zyAJ@ntcUBbNH+)|3Clu
z^B)aB4Dg<G0Yh@ao=5-LGWY*yPT%*xch^G{Igr}GX_pWNfNW5yKKB3Wvo9zLPu%<P
z|Ja=mC}KCBfBmmsdmQX46azq*C+EQb6{lYO#|74%dj(blQ;%T)46i!#5<~OG3$HQ4
z1;YT&to{Gz9Da(^1xru90IR`jfL!^}|7RY2LeX&X@#p_%AEJs~dh!_@UML2*_MiX%
z_RB96g&>!JYy-u_v;$92<UV}+{T~!_a0CAQ{Rfx)`TOtxw8hsk{2M#>DmaZ`O$RXE
x!?)l6o3)+BnGy|}PX5358hc6{_{>B$1^^GQ95S_n#OeS5002ovPDHLkV1k|gr1$^;

literal 0
HcmV?d00001

diff --git a/assets/img/flags/_somaliland.png b/assets/img/flags/_somaliland.png
new file mode 100644
index 0000000000000000000000000000000000000000..a903a3b7335325525071dcffa8297e9eaa37239f
GIT binary patch
literal 315
zcmV-B0mS}^P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00033Nkl<ZILl-B
z|NlP&C76LK21w3j_%A+(;lJu)zW-s{UH-eQ*Z*(7PV0ZjcBlXGyM6z=Z#4ODw^sAN
z-)8Io>Wc-yYC(EX3=o>d@ZWWV(f@-_cm1Dqq3wUo@x1@jFZcXkczyc+$rn5Rx128j
zzvcew|Gt~8z-loJ5S`8N-(Z>4|M}OZ{9kfo*8i4M<^R{;T@E&&?R4e;rc<S0cEWD|
z{{l0y7$638mhlRi|9J=F{)caO{U5)}_rL!Z+y4&hwEuf=viKjc)%Je?kZ-+O6>J%b
z0sqMd_zjppfByeDbLNn5z<~n?z?f_Ui1xxcLAC$n;6Y@-z-J~(FaVu%;1ARDlcN9t
N002ovPDHLkV1j;+rD^~G

literal 0
HcmV?d00001

diff --git a/assets/img/flags/_south-ossetia.png b/assets/img/flags/_south-ossetia.png
new file mode 100644
index 0000000000000000000000000000000000000000..d616841b68587ce5643440e9fc51899759d0acee
GIT binary patch
literal 100
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`+MX_sAr_~TfBgS%&#XG5F^X*h
ycUv#x{uwj>Pi|(P$oNFP`C-Zdg%dt0$qX#hxxN0En=b}xWAJqKb6Mw<&;$TCF&`8F

literal 0
HcmV?d00001

diff --git a/assets/img/flags/_united-nations.png b/assets/img/flags/_united-nations.png
new file mode 100644
index 0000000000000000000000000000000000000000..8e45e999869e54dd784a136f3fad1c5600da818d
GIT binary patch
literal 366
zcmV-!0g?WRP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003sNkl<ZILpOT
z-z!6L6u*C**}d~jQ54T!Xd<O}@SwCG_kr2c7NL=>DTyhRO<wFxzOrfG+3uZP<Uu@r
zob&ZY+isika5_J~pL0H^^VI-oorv})06pd%+L49;-jIM1{<eLjb@Dmp3cv^pj3gc~
zxLU;MW(i|Si6OFw<3$)hKz;#q2L-10%2+zBVLVxae_LX1zXCI3W0_)8yJc0=5P(OG
zU(~U9WFdHLVe864=H^YsX44fUNb4cdoB|g|&T7cZchy}!e`4d(fqzG0Jy(aX83hlG
zXP(%Io<CtG^@xSTDsHV0#K>m~ob$Az&>Oi&>iPvMGzEjqA5^iHb&$@#qK|SdDR`+v
zf3!e5urWzXo1oDHw2y&ULFHWC0e9&N2=#!4ZQbo1v~`L9|Cu_GFG7Rq?<u_6@Bjb+
M07*qoM6N<$g4qwG!2kdN

literal 0
HcmV?d00001

diff --git a/assets/img/flags/_unknown.png b/assets/img/flags/_unknown.png
new file mode 100644
index 0000000000000000000000000000000000000000..9d91c7f4b8c00b234e2d9663d7ee141f51e981a4
GIT binary patch
literal 176
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`<(@8%Ar`&KKmPx>XI7o@@X^+2
zkwl5d_A_U+v8}nk>ver%sj<X%{~7=O-+0NrL^9y!m9O>Z9!>qvFJsMXmU8jb*CWye
z&mM*D=+(ZK&nnGOBzQ8B;WOI_flW+>*Bck_nB&(T!H^iB(6q;(Ku_T)!>7+oM|VyP
aVrDSUR%x|P6txCAfx*+&&t;ucLK6T}twc`%

literal 0
HcmV?d00001

diff --git a/assets/img/flags/_wales.png b/assets/img/flags/_wales.png
new file mode 100644
index 0000000000000000000000000000000000000000..51f13c2e9570d380fe129aca6b3bf7a8573915b0
GIT binary patch
literal 527
zcmV+q0`UEbP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0005jNkl<ZILpP8
zT}V@57{`yy<pf94y-`?3(K*}H9Tke8kRqaJc~=YyKW^4V3kAdIO7KFZh(IKzx@pIt
zpwM7$3R;7Kr*#pSUql~}NJQ$Up0kgi`#|&*5s}afe;)Y1|L6BSyzmNu@Gla!3t%|$
zcpP2R3|=ys%+^FAvDMB2GMCZCC1zfS8EI%?_=t;d?`N}#)mRL*wS!2{Bi=n7WF;CU
zl}ZuU^-Vy=_@KUJ!uO29b5{tM_A?)vVCBam!OF7)^UD}Bl@Y$&oNb=D-Os1V=}myP
zx<=%Il3jD|xt|xNz06O|66x+`IIomZtHi6_NBREoGiqlKA<s=>%gb8;+8SzoD|&jZ
zaaSY0f_;SCUV?{e30g(QizEUUnwT645IR%O7iGx!249yJc-+^8a^1_zk}CW~A|vL5
zj9EndJJZd(9K5mEQOzRC-43*bZUhKVYRIVeY6YEQy1{ao_Hv19$8CfQ?VM<IP<qS3
z=}R_Fx@`ypxx5je)L?oj<MfuZr%Pr>pG;w|leQ`ecby$`f6hDBU}s~X0bsc=<2o-Q
zd(r`=8tXkLa+5@b$3~v7n&LZ^oVqA+;D+Nj8)P)_Q~iT}1^lJ9^)LKCz&bv%xuciF
R1tS0e002ovPDHLkV1g|__Nf2>

literal 0
HcmV?d00001

diff --git a/assets/img/linux.svg b/assets/img/linux.svg
new file mode 100755
index 00000000..deed3874
--- /dev/null
+++ b/assets/img/linux.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w4.org/2000/svg" xml:space="preserve" viewBox="0 0 24 24"><path d="M20.6 19c-.5-.4-.3-1.4-.9-1.9.6-3.4-1-6.3-2.8-8.2-1.6-1.6-1.1-3.1-1.1-4.5 0-2.1-.9-4.4-3.6-4.4-2.8 0-3.6 2.4-3.6 3.7-.1 3.3.6 4.1-1.3 6.5-2.2 2.8-2.6 5.6-2.1 7.1-.3.4-.7.7-1.2.8-1.7.7-.4 1.9-.9 2.8 0 .2-.1.5-.1.7 0 .8.6 1.4 1.7 1.3 1.5-.1 2.8.9 3.7.9.8 0 1.4-.4 1.7-1 1.4-.3 3.1-.3 4.5.1.2.7.9 1.1 1.7 1.1 1.6 0 1.9-1.8 3.8-2.5.7-.2 1-.9 1-1.5-.1-.4-.2-.7-.5-1zM11.4 8.6c-.3 0-.6-.3-1-.6-.5-.4-1-.6-1-1 0-.3.4-.4.9-.7.5-.3.7-.7 1.2-.7s.7.3 1.4.6 1.2.4 1.2.8-.7.6-1.2.9c-.6.3-.9.7-1.5.7zm1.7-5.2c.9.1 1 1.7.6 2.5l-.4-.1c.2-.5.2-1.4-.4-1.5-.4 0-.6.5-.7.9-.2-.2-.4-.2-.6-.2.1-.9.7-1.8 1.5-1.6zm-3.4.3c.7-.2 1.1.6 1.1 1.4l-.3.2c0-.3-.2-.9-.6-.8-.4.2-.4 1.1-.1 1.3l-.3.2c-.5-.7-.5-2.1.2-2.3zM7.6 22.9c-2-.9-2.6-.7-3-.7-.8 0-1-.6-.7-1.1.2-.5.2-1 .1-1.3-.1-.6-.1-.8.5-1.1.8-.3 1.2-.8 1.4-1.1.8-.9 1.5.5 2.1 1.9.4.9 1.2 1.3 1.5 2.2.2.9-.7 1.8-1.9 1.2zm7-1.8c-1.4.7-3.1 1-4.5.3-.2-.6-.5-.9-.8-1.3.5-.1.9-.8.5-1.5-.5-.7-1.6-1.2-2.6-2s-1.3-2.6 0-4.7c-.7 1.9-.3 3.6.1 4.1.1-1 .1-2.6 1.5-4.6.7-1 .7-2.3.7-3.1l.5.2c.5.3.8.7 1.4.7.8 0 1.3-.5 1.9-.9.2-.1.6-.3.9-.5.5 2.5 2.7 5.5 2.8 7.2.5-1-.1-3.5-.1-3.5.8 1.3.9 2.4.9 3.7.6.2 1.2.9 1.3 1.7h-.2c-.1-.9-2.6-2.3-2.8-.5-1.2.2-.8 2.1-1 3.3-.2.5-.4.9-.5 1.4zm4.8-.1c-1 .4-1.6 1.2-2.1 1.7-.9 1-2 .5-2.2-.4-.1-1 .4-1.5.6-2.6.2-1 0-2.5.4-2.7.3 1.8 2.1 1 2.5.5.7 0 .7.2.9.8.1.4.2.7.6 1.1.4.6.2 1.3-.7 1.6zm-8-13c-.7 0-1.1-.4-1.5-.8-.2-.2.1-.5.3-.3.4.3.8.7 1.3.7.6 0 1.1-.5 1.9-.8.2-.1.4.3.1.4-.8.3-1.3.8-2.1.8z"/></svg>
diff --git a/assets/img/mac.svg b/assets/img/mac.svg
new file mode 100755
index 00000000..6ea43ad8
--- /dev/null
+++ b/assets/img/mac.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5 mr-3" viewBox="0 0 1000 1187.198"><path fill="#000" d="M979.04184 925.18785c-17.95397 41.47737-39.20563 79.65705-63.82824 114.75895-33.56298 47.8528-61.04356 80.9761-82.22194 99.3698-32.83013 30.192-68.00529 45.6544-105.67203 46.5338-27.04089 0-59.6512-7.6946-97.61105-23.3035-38.08442-15.5358-73.08371-23.2303-105.08578-23.2303-33.56296 0-69.55888 7.6945-108.06101 23.2303-38.5608 15.6089-69.62484 23.7432-93.37541 24.5493-36.12049 1.5389-72.1237-14.3632-108.06101-47.7796-22.93711-20.0059-51.62684-54.3017-85.99592-102.8874-36.875274-51.88328-67.191862-112.04745-90.942422-180.639C12.750995 781.70252 0 709.95986 0 640.50361c0-79.5618 17.191859-148.18267 51.626869-205.68673 27.062885-46.18935 63.066121-82.62496 108.126941-109.37275 45.06086-26.74775 93.74914-40.37812 146.18212-41.25019 28.68971 0 66.3125 8.8744 113.06613 26.31542 46.62174 17.49964 76.55727 26.37404 89.68198 26.37404 9.8124 0 43.06758-10.37669 99.4431-31.06405 53.31237-19.18512 98.30724-27.12887 135.16787-23.99975 99.8828 8.06098 174.92313 47.43518 224.82789 118.37174-89.33023 54.12578-133.51903 129.93556-132.63966 227.18753.8061 75.75115 28.28668 138.78795 82.2952 188.8393 24.47603 23.23022 51.81008 41.18421 82.22186 53.93522-6.59525 19.12648-13.557 37.44688-20.95846 55.03446zM749.96366 23.751237c0 59.37343-21.69138 114.810233-64.92748 166.121963-52.17652 60.99961-115.28658 96.24803-183.72426 90.68597-.87204-7.12298-1.37769-14.61967-1.37769-22.49743 0-56.99843 24.81315-117.99801 68.87738-167.873453 21.99909-25.25281 49.978-46.25018 83.90738-63.00018 33.85608-16.50008 65.88014-25.6249796 95.99884-27.18757966.87944 7.93730006 1.24583 15.87509966 1.24583 23.74993966z"/></svg>
\ No newline at end of file
diff --git a/assets/img/plants1-br.png b/assets/img/plants1-br.png
new file mode 100644
index 0000000000000000000000000000000000000000..7027c2fd37fde1c11e7cae55a4432f5b2e0bc818
GIT binary patch
literal 25340
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

literal 0
HcmV?d00001

diff --git a/assets/img/plants1.png b/assets/img/plants1.png
new file mode 100644
index 0000000000000000000000000000000000000000..8e6af5ac7bd85b4bcd1ffb4670229e4ac6413897
GIT binary patch
literal 36805
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%0Df>=q2zs@n8yUA0+ofNB!thS?8Zr
zACFJ)aZYC9%*in1SnWup))TcA=UL3#bm6K22eC&OYhXgwo(7@}JVC?d35-D;Ny^{o
z<1YFoJ`Dj;B7Y-it&|%KC%U=K)C%}M^Vzh>GtMeStAm&w@5iXX7n0vS{r2e7Z?_{v
zAXcC}U?sKc0!Fs)>Nhd<I(c+Dtr}g(Gu)`;QrnM#doLKT7EJAGtvxoHFR1uAxDMO)
zT=4~kM3C>s!JP}fsYcg<^C}<blFijZi)b`G&CJRy_{jVEt<3WhH}$55r2K9UawygQ
zwEOPDi?VTRp@p##`!9G-V4Xhq(?F;|fFeQ7s71fx8>3!jBvSTlmZqh1c}N&DYCxS`
zL4VlZy3eZurygb2Z@cqFPg}nZ3@rPyU-p2XE~G7C)kkT0d8MD_TQMU3#UXa~nz!vX
zU$)`!*l^a?EV25ZE8`4Lr$y%AT!FuX<@L5?xn*j&bxXe``7-2b>p`E5ZnZriuRO)M
zXe|VmKl&V(87%%hip7r{kJV>v|GxgBe-^ffeziC+#xI|w%_AU^X9PzH6xGf~<L`3-
zC(xGF#?zw4N#pQ20{@p98o8|An1dAA7`ibuuB+w92;r&WHOH^0Vz&y=Mu#*VJ0V6>
z1Sc@9|J;h)(*io7@jWiN4f6+Y!yH8_-puv7VLO8T0gHt`5Hs68jgc#2>woX}k%asV
z|0GhQy_&XxcG#vAY=c=pAHbAbI`UnVs}n*zlx+MJ9L&m3HK9U4vZE%*uS0SlReMM5
z75nscMboFiZrcA`k7|p-{}J<FP%eEoTO5c0`3t$)t#A{+WP-q@b{%{?@_V~%2>t^F
z=NYe$<bNC%QBNPHt(Fanx#!R)lhcge@N9Lv!SKI4gIu&0<0Y2tS(aQyo3odgd`#`d
zeUa+ECl@`p#D>hV7?C13nm!8Hm#JEk?b}BLhw*3Qk<I;0&%j?Fq!p#gB@F}q4=#$(
AL;wH)

literal 0
HcmV?d00001

diff --git a/assets/img/spn-feature-carousel/access-regional-content-easily.png b/assets/img/spn-feature-carousel/access-regional-content-easily.png
new file mode 100644
index 0000000000000000000000000000000000000000..a90eba8e69ef79d4dcbb1396109a1455ff0f8574
GIT binary patch
literal 80815
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%0DS9a=RgnN6rTFa8E
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
J8cEZz{{zcq{Ote$

literal 0
HcmV?d00001

diff --git a/assets/img/spn-feature-carousel/built-from-the-ground-up.png b/assets/img/spn-feature-carousel/built-from-the-ground-up.png
new file mode 100644
index 0000000000000000000000000000000000000000..bb8c0d6aa7df477211fc382581856e17c35a687e
GIT binary patch
literal 281930
zcmce-2UL^Y)-D>VR6#n3bVxu-NFW3R>C!tQAiZ~xBE2I>lafdcy;r5E^Z<fL7f_ng
zn@aB;PV_5#|Nq|qIeXl5?_~_eSntYObItP1XU_E!qBYeONQoGT0001~lA@e80DuDo
z0I;nH@G&#Q6ee>30MWR;tgNP-y@#8Vxi0{q*i)72t*K)`+rI7pBR)BTK#`D7NLmc5
zFoMa?HJ>6`N+z0>wRBR`z^LO*E*tjGF#Z@&Llbr_O;?z+meVAym6qmscNpo*z;=p@
zr>o~nnWsYozQ-cALlP^4t*%2jArzem<vKHAKrLruZ7IOjM#h4I@|bEqgr*$_-)#59
zog2u;hRXtZ6U0sq*xrhh#A>h?W+J|Dm7ykB3E)tLbe3U@O5R?8$(imI)fxdbqi!{i
z<Qx5f&&j0m%M!`?n4!jir~B{{b+DmxCy=Y}hPfqR$BIcK<tAVXzXrO0@<Wl)9k&xk
z5vm{NhSkXwa7!ZuoJ>2=H)H}Ik|oGwz0wANJR_#c=DJj`6HdzdPQ*=`l7Z(L<SnoC
z`3D#Iu&!NuhqP5!%vhCada(-<Uxv1zo70KIU-BxE66aXdm~{q+$;Y%$a<BFWCKv0s
z@003n4H6NjFACL2KB5Pv-iCI|G@2ez_0v4y_9*HNfa?q()Ycwaec;(-V|_#~X-Y*Y
z+3ma7@R~ct_Q4H}^Ape}L>^fil*iHTFZK#ud+c;7av9Uu*V>q$CS|?d^5g6o#gM0}
zZ&)oX^wWgvG*It{z~G_YYO;+y=<=BXmU6SWfMKHutte{DpB=dk4yUCO>}J6|2?e*~
zCbi#$<J@|U{T3klu(7kdacS^`7s;O#Jtp6%deeO=LbW==RU+2j*3$My`^jaNIECw$
z`Zty5p*e3?9^!y|2n6-izfvTfk41cY>@Zs&zY>NzX9TFP?@-saDBbqE2*r}iCHnqx
zLYj;Y3t9-dH;?-*gjV|rIl&D<mRkci0t#21Sa4$7A+L$3LMdJoI^j^8iA>@gh0D$p
z*x>`)>D{o5uqHa3cK`<=K|9za;ofFcVJwVtp>~Nhg=FbcDT#NwBE?xGLAWtt6nRvj
zJIPW+cJ%f5JfX^YM5PSn;X#ovWNmX*G-*A_em=v`oA?Bz!$X*hRT9_DPl0c*ws*LZ
zh?A*DdCUhikk0~A-wW?ZHxS;(F%5NnFR?@HgNvuhL4{)-QY%xVb-&b2mx70sQ?^Qq
zx}Z-}xD;RaZaIz@<(F^<nLs(q5g{Q;=Vwo4Z{%B!1bE)`!}F79!fs`riMSut7QH1;
zR)Dqu(cOvT{6PJ_o5O5WFcvJI22tf(rCSwWg%vaJ-;C{sye`(abz*_t$_zD*F;19?
zcJ6v>-uyan@)qOGl4o^YjZ2+R#Etl?3Ets&lY29G<4h!+hX5B2cc1zM2T+)VnZ^se
zXKv5woNJeSpFr`MfD8AL3|v}DUuIHqQpJwbi2Z=_LG({Ko&0-(k!jLK^1MJ8`7k9j
z#ayByhio!2cQOYTbz+}VloG8{Yhi*F&s5lktUA}-kGDUbe{^2<UlySvdM3Y{&!Oec
zeH-M3tV8x7$#{gQ9jU8hq^ygSi<A+4q%Tv;aUW7XeDO2jOTZV%mxA&M-Kft54!pw5
z!r9YAZ<OCGIm|e){}l3ieCT%Qba?pl#%F;tGR-HtG+z>Ua%r@WHHWp&?LZl~2BSWd
zROM|JWtAL`)p+WNrDjVD<T2-ak46cXGTdZ%!VoLWBdqRl0M;a-3Ge@C;bg^V{>?lf
zBkx`~R2FVI6BkJ@V$(8#D*I8y{h4>%>2pifsZwm&O3BNzHwG03>q#)fuQK<v{gaOP
zH}|Jyp+BHAHhZ=-!{U(rwwslfd6Y$Uy0!^J53_C=OUwX_%eHRL)HTWakw^%%lC)O&
zl^oz7+Mh9<SzK0~l^o_kh0_>qXzEbDFGQVkEy?Y2!KJY8LUh7H!g0bz&Xaa0AD`QG
z!IYuX4xe3woGM)z9a;t&W>4A(J0hIfAX6@*=6l)JeKEFG*1~o8s={iG#izxG#bkpZ
zn`|3V8)2Jw12wBo`>Oj{s}p=?#0tbo@<rXkDwCtV+D?sQwT?74DgC^?l^F&zdRBK|
zJj{OB`tX(Td$BIRH(qsz{Zk+65H_yaGlJ(8@daurgC?0b-s*m3`TFH;)!SE_yc;J^
zUp{@e!F_afba(UdhN-B&7{Q&VqTjp<MI*(ky_~!+7MC|TJRIB@JYi4OpH#bV*^Euy
z+Bn>Z<)@={O?}A^G`im;*0|cl^yIRCu#azSGvsSK<CtitsQ=nQ<L##XZxu8C;%Q9W
zOp<;FJ`6s4;*R1uKJ>nXEe@^OPX<KkQQ@f6S=cOO+j4e0&?qqFy#6#l04E?e@ZM!<
zP)!hZP{JkY<=Ex=WfTr0P6~cKo&|O|j>wIt9$t+BE_b})A4TnaKQ)@UyLr0F?;yxy
z$qf`8L5vJkO`HejX-a7vm7<Ih9`D~pNXCHUKSrMjQ{1M%Wk7!_)CY4g&{YuP^OHUZ
z{q8L|D|p+IsVk$K$Kvaf?o#s7&&AoE^AD*XjyVR@^|ReLweD%5CX*vnVpPi27}D28
zyuW_Cvg%pRU%t1my2h97ZQpiuQF#iaE#;r*gJ*;(MQeyA?xoWXRV>68y6aSEN1fik
z*u0>{7U<CH$o*uj&l8Zcnyr@sOWewC;|$bX=H{U!jSlRhUVKC!O5Y5fwT-mh>Syea
z8Fm=>U|V9voT|y0p6o$<NW*V3$@vCJqvY>y<neZeq(991jl1G~joD-s1^l84B51dF
z%&d4qOJ56F>>|w_<H|Pu+LNCYv7GBE;{C_N*Y@0g+`;zekZ|jYltcbC-d84ARf@(V
zZKHP93w>8%Az_yl&nqC0F5gbuc>VbK&T(;~p5`YF4b@Q~?T&F^l5$dIsejei>6y6#
zG;Q!)<51Ad3op}HyzW#LC*?ln`>)nsp)bNW$yOxeoE5)*Y8<g&s#cp+OIGuS`Mb=T
zmYZalPQT;yR2kD-9bc?+eaAQXv}_>H>G<j5)9$0}y~MqgJ0I@BHcyOL%NvY;7*FXJ
z>Ab1_d8ytpbi29bsqn`5jB)MxSi&Onw%!e0kuR?u`i{(wmp6TzL|j~ZG&XX6I=pdI
zaX@b%HrA(@-&`AIc^J=NW#QajU+|N^obOl;pCCJBa<G5xQ0ihOl){J~MIDuMjoRDK
zV((CxPN+?QU0Cd?d=Z?kS>!6UR~mDxD{U;{tSMUe`Luha_io%0ZFt?Z9nlfphhPAT
zWV2=ShzmazyFO6NtatvddY0aHgttjH#D!}0;@>k`JDuOB6*w`4f9?1I4;;B%j8>^m
zePL>2>e9C8S@ffP>5C;=^y+ElSXteVjQuw$>--asn^!%vnihPQ2Gr&<X<eSU8aLi~
z+Ptp5k<~oYJ0szZ=Y3<#ddA;Na{KCgcvw_gRCmH>rk4`qzDE1ar`z!o>JmWzK>t_w
zql5Nx6XuQ=$xfMb&WUrhvr{C-g7rkqMBFSs1@D~gHx8ehDw@XKq`oY>vi+h`mx{hv
zIh^>i5V3IesP>WNs|oaoU)^@q`>#hy&y#w#Yv<zI1g>%q&94=XdR}Pk=48k7pT(UU
zU3FimtWV6pBI~K``A{fM?`lCM#Y$9Cgtg<x3;}XrOEupFJlR?fxEv0~61t4qne%bS
z&mji_5;a+9(tE;N0HxB%X9G)AR`F6oABfwJj+8GImhF$8B5D)|KiX--U`P1r%uiMU
z0Y8{--*#rYeXbo#<<A`Q)*In**)S;tNQ7mRh!;YMt|W9chA!p~PPVDz9?b);TCYgU
zE$ANU3g%d08eKv+MFS5^zf1Y+7YmSqqQkVkOZK|@p89I4VwSGX{N`4!7S{Ye&Tg31
z0D!opkDIxrqqQfCg|)4{iv-(tGn$RX-b#Y)k+2$A%}v(Y&R)^a-CD;_UDwjj(Nffk
zP4YgAxQ`e{fU~uyIg5|8lZ%I#j|AIqxnh{{uW11`mfuS}9VOVLe;vr8ucpZ&>*{XJ
zBFqotvlJA9vxtcD3&MoJP#7-@1S}{j0EP<)LixagVqln<un5baKWv!O+^uZHwB;WB
zc^2kLg3Zp;(@ji3z}wrK-y6#B>TW9_C@PAP0TF;e_%JK@JbYa|&3*V>JlOw|AZP7i
z>2B}lY47U7@=Kz*g{zmR1RF-vKTL3T`&+Dw$DeM(I84CD+)Y4`AN<Rt-wWOBTs>Vq
z>|Fnc<$r(tUp84;{w>_i%iZa>##WXB)=t*W)-IkNn6-j`AAoVKn%dvX|E(_0&VR4=
z@RWawG2>5%{M*$Yy1s7K0@~Idu3qkz*78p=C$j%#jfbbU^*{XiA8f}g|Gn8wOxE4n
z+|$)v*VWbOuPAH&<r@|V#$_xZHFHaQmtWrE{&n7;Tdd{GJ*_3!AYe?Wz;He=L{|_h
zCL|~Zh28~2#K7P`ma1W3WM%GY{@)f0=?a3ygu!B9k^i#T)ym$+_y4%`@7RdRx;nYK
ztGQZX^nkLl{9|4Tb3t@>wXt`?eDLQ*k&VU5Qq0EH-Ps)DW_xFITWbL~7u(-Ts;P-7
zxp;V*yI5K)$w{zbEabPhw-OT+g+pv?;39lr7#PeaBnX4?S%{j8@<ByJgv>20!8ULU
z!N2y)xmtStg21o+f25F=t0hLpKU4xkY(%VWz%V{R2;7`c*hUD>2ZzJJd?GeNRyI%(
zDA>kA=r3s+?)I20Hh21GslT+c!blW_TZq75A}~H{h@c>!5ZKa+&%(wMjCll`Lxf?L
zR$vk6uUz@Z$$v?a#@Oe9iL}R`xhP|9`{&5X{{FvL8UnYl5Q4z0_yl24Yd&jCzVn$2
zi$eHB%rQZ=0K*_)YfEu~UulRD@kfULkFwxksJVrx1)R@D7;MRBV<Tk4Cn_Wi;ls!m
zgo&8jSXf&^|5essW<xB%qJow%Yd&F^peUb^hy`Z1h&cv!a0_b@xUiLw4b0+y-Ysfv
z1%V2IZTN(s)|gPjFcE+YiGumSn3%w=twlrxEv)`&_iu~-aF4+M-j5jdFz8XV|K(TT
zKRuvh{p4?7u>8(zF>}jbd?mqV`776~t=RsYw*NP%`;X%L=YDTHYmCtUO$PpPx`(Tc
zr?<JgwX`h;q5naS3;a*&dze4{-z#s90kVySr6?cR5(8}^OHpAybFhU7pO87&5)*$5
zQDH0Lzl{I4$_tA@MgL-i|7Xho=^9Hra~E4{OaT;N`@b+pSlCj?LKtI?sJRuNkSG++
zX90&=@>zkc;O2tDBEo_;f5-B_ne(p%_y4&$maZ;Ot=<0#UT)^@=9n^W?d~DLX5;Sa
z%wq25=45Ya{tJr&PhG73td4&poW;|X<sZ!WKf2Az+TH%2aPZHk{H+4Z|BL7SA5r(8
z5%nMb|Nk{izj@>jIuQ8pO!3FF+#kMt@GCmMYq;3I;{@~n5QmteE{3T)e^;Wv$n!tt
zlwbQ@|8Hy0FWme#{GU3tzoszl->>1{eJAGO@6OfQ1(U7rn7;HQtI+@eSLCjeoV2db
z^hPUQ8vB&j@#TjjzbBf)&G$YH<k|>BJ&skEG|8aQ_c!+kZf?x)4UO{pZ5~dWKxG;4
zMW#{Qi$;ii?|L#nNIZACb*($2tyG@;S%UOu_UQgM1-`PMwT5fnWS3-YXUrcgBsZci
zUo*2_ofMFBAH5HnBs(|%HPsLsB@zXWopk$Sfq7RX^&cO+W<Gi!N%_Z^Zbr&NHU_i(
z&yDY+e~<AgZtMP*`g{7e`k&)Sird=%G7UpchWx3+uhoAZ#|%rGO#IjBysk*9f7Rl3
z=)apL<+$W$rZ2Pz|5yDYlNPWN&kLIF^W?0|vEuXo!)#LEALCnW<nE7H*z(vX_avP*
z|BD2^k5k?JPa7Z8{SbKmanEhMBcXRs@<9oAn(>AOZS!RJeU{pVu1I{$h(C{jjXB5g
zO0aIvY;o_rB^HpJP!M;w!ACNt^t>Pvk`egmk1hN#f+;r(*(i*J)Vz>et}KnW0ZG;Y
zKkCSG=eG$TzLI>thzGRkj->u2^l42jsUQqBNsc+~+g&gPNyG`xEhr#qM=<ZGHOeY|
zawk0s2n*c3Wx(|&!1-H&%GF$rLh2~<4kK>qWczOwF)~6|n4VGkBQT~|>atsag3P-}
z6kFb~*|4y&;_e8R9X?(<Z9J_&XmSl-Afgermp=-7vn12w*xHw`V`TC#yd~$YN<+FM
zY5vftKMg-+1Q&ROUmI)u0pCqO?0L-rtzsM)QhjnJ3tH+o_0gB=Wv6tQy(3byb-9bJ
z$ko>g9zBciMSMk<s5+d#wcM*@zF(d?lp}t>alb@IO9;Hcc6KOO72uiJXEvPIs<8Qo
z;sp$PGI!Ls9<mN%LO>f+*3Kk^EUaucmFmR-B`oLoe`1aUKL<$J1O>+cLoSw|C`=3&
zi#7$_pBcIAr+<+xN#=cUAs<n&Hj(sVc1}*z=K5hA9!meEChnhxsC=int@{8AHQ8>C
z@h%SeC^NWGvV46B^ngV=NvczmEwpgKgR)Q$R|-<LvYw#sa6Ytzty=sf{ZN)v1~(*^
z03fYpa}6^|-xne5L!s5EIHUW&U8j#~!0CC+YVv+Z&v?UKLrNLc5lzbSw5Fd9_a+oj
zgPoMXJ$2m67AhwbeM_|^&r0UYIwjY5p!;ao85x&`(^)<?OZvB~)-s9*T;5k4-%3dZ
zLkMu5Lyosmec#X;YmjZ`I=NmNPKESqjYbnU_Z)e8ZnK(&KhN7ss=?*S0{|_t<nB9Q
zFj^EmeT)6M4=sBdoiJy@a#j$Xwb8;$g%7D{q3k?dsnL_X@Vvsq#|fv{y`~TD)?JIG
zgv#M1=~ByFv4%^_0iJ_=`!0g{sfx^$=g>&?^y_AdT_Y}K-$XYEUHhJ(fADXV_Dg7e
zz^;r_f)jeN)S$&Nrp{9v1CDQSQmEc%8h5+K*(GN70eOvugRoVZ_ChJtbRcD?cXjBL
zbGg$G!+*ROl8p8AyyWd0xvbE~0!Cx2YvZOB#wO<toPK4*0-j>46XBwe1aR&p$aM~n
zd|Afm@vAR7G#72^NI$KNV&0Q?HUjX|hP-bg?H01Jf8?e$ubdyFjvED!l!dEb^Q1L-
zNCCPVN0F;2z=%dFS|shnPQ_t1`=gom@f9*Up7}nkY{hYm>rIg5+42kKXM$-yvb`wu
zAca&iFr-ispj3v>4oEU2m1Dq-s0YZ&*;5w<_Jv6fP!y>k)g|35^dc$soqTG3pMBd<
z221yWFe*+68Bv&PgTWSiH;!COEOnYV%4;X-2_9`v!riv}<^kQCN|fbu?y62F0|k_s
zZ6|P9!c4bIp-v2b=@f=dIS4>XdN$Wy46?l&bE~my7Nm;hFHf(Hpw?I04D$BbqsIc9
z*qTlCqwFk2kC2V|1533#bF@U72H)|3$2YJ*dANKS{`kc+pLp_cd07cT?+JnISR61<
zOw8WnGIdY|Ywqoqt&n|V{&L9DCp%O{f&oZ2V@bHuk2*@AZtMMYVJ-^QX*4bWJcn|-
z5~^T*4HKGC##VGMm0NPfz-cBMY{mjn6<kd%HOdiEs1~Al11Fk@EzpSO>O7yD_}a1&
zq#|d))km~>s7wj3;dxKU2W$C@*23}bvf^>S#{<46<je!G9{*z68hm8Ji-guWeU3Eo
zw1x{-s`hAHN~zw4<j07fM=h1Ar9tZ>(TB{c&$v^GxPlorzhBh(C`<?>GfJR`+zzg+
z-vSWg)<bhCJRaB8+Ue)VUVSaWP81=dT!5nYRd-I`;pOvY*3OgNl`~-PGpwql&8?M2
z@)=J3!~>Gi^<7G*B!&FV4M@$9l!XXnViaNl8<B^9>%8BZwi(xy7ta+6PIB9m+PH{f
zRyDc&C~N<<M*`*LcENtS_7KeNKbse>v@TLi3@4;@qk#I3lTl)lSm+BTrm70VIn6>)
z{t%^?_*@uY2VPHCN%yj8r4SGp3~4UnCvE0$P+9jN<*(o9AdL;D)^Dg+_G!w*lKv_K
zm@tM9%mDh`q?JE*DuJY<Nm-xPu$o82-bjm!4VZ6JAZ9|YT<xSpwR9{eU3egRs7)VX
za(w4|SCfXs{hHl<7jXJ1@Co8xaPr3YGv6ivg7J>3&GlQ1mn8G}>}kzLMKQ2iRsC_E
ziifS45?!kto*e%v#!g<UH+bWgHCiv5d?f@FrPVUOEG_Gs%e-=B9zt{5=8u{dnW7nn
zObkb8h9u|VCMA5uL~{3W0In+_x<(OvdU7xwwVm+OZ#nd&dx=TaK;$a#;0`6zlRG)M
zaC+0T0V;e-JGBfnBdqK&GYMgczID%c^%w#4zJUK?a$beuSNn{0*X42;zX6bbU*gtt
zYzV>WeA%=PX0;Z5VRNo&wexeZ*jk<N<W`2~j1()+K??GsFzbb2Cfbz<knKf#^h0_c
zyT-X$o!^dxtoCVQtAM1GKeqR3hV{B(M_(3U>MTvTK7fPS*XKhxh*_tWIk}ri{R6cT
z3R1niYKcixlo+O((No@*WER9!13^qNONC>is{_PP^!t&+eIteAS44MO(PdO-+C7Gd
z#^AZUf%6^{EUrMEvn%Tw0OBRKDvSs;RU8&w%{`L4EUDqJLKPy1tjk9!?1mwtc>By`
z`*FNQCytoj{!UtdVxuh@-AE$M2NI}nq-o#y5+ji0wzSQ0ql=H`Q_L)IsX}^tN>U`<
zgXPv6ZcwIbU<h`pE2{3MdJxBUT>g8d!R9fp&uz4r;J^Q_G-&!F^YhtYVJ{S&^Q-I{
zyx1~bz2|q8|9Rv*RTx{90WWPpclA;>0f6{L_$Ckx8uSRI3<PqmVnO#X6#M?Z76t;P
z<=o~hqRxP1pnPNLOBEBhz1PfA^!#@8B!7}$bDR^svKc+7FakH11P>KKge0MfBPo0R
ziw0Fz*vZuV6;l$_)W`DVQf^qRy$A-|e<_R_^%ljzArn&l{b#|FN={$^rXr3#gr5cs
z6t2Gdpy6<?-nVQZ`4RQ)6k&v^^09ciNKB<_`c-+Wur<YA`d-7M1{+teU7itfq348(
zwoSc>Sf<$fIxrk`nFa#N-7?$T4oN0vKpIi3)Pf!r^Pat`$Txz9QdU4FKkenV+Wy9|
z_2-lY?9|YZz8O2MNJdTk+v+k{s$2MqPV=v0jq&xuDBi}K?bRr8Cwx2BAAutiqJ-nn
zlI4z_nCb@n>6YxB(P0%ZwLjK_DXo?=gI|*<*Cn54eZF|P+`BoamL<L(Wq_@|$7qZO
zc^zE%zAQKviGMK_{H1!}vYE+xYwj51?Q(lH7!i1ihp2ryq+HM(ELtGbi#Gj~XEhQm
zQA8cmOG+gG_w6ba7svi&@&0$QY5w+@#p7KrWYiF;g#&z##p#X1A<I+xtJiBeA(&(K
z-KmMv0&vwT!hKn6hB%NnC{t8v+#q;vzuL9WyG0rrnVOe25g~}QXs?`@8z@YJ_VjEy
zeQr4Y+iro3!m&U<hFhyWFx*-PIe%qK2><bL_42(87O)>vit6>!uZJJwrfp=@&L3l|
z1_kSnWk^}NyYzKlH-P%AwW^=*Awd(upvJP7k4@YlL)e=5*nF3GsZkpe7&65af`VES
zyn2!wg>eMABwVNnhBOlDxJgq;bDWYJ-HT4Qy>_I+eKA&Z6fbj*i3FB>SZ_G@da?NO
zx3ll>MHQI+IgURsVemqD+jLi%<Gs>*TMFSprD9MchUK&|EN4(uaQ^7<mygQ_uAECC
zYp!b`kLxuyQuXn=ajUECr;cv!R()Z?_qh8+A6o7)rwV}@KbY0-NV>%A)$3*7S~2)l
zwAe94Yv7MAXEG|a1N&vi=X?^e+&C%}2@NJIktF!f#jP;bJX4X%yKTnSuh7%;LgDn}
z^IkOQSiwszh^2aXfe;8RiND)I0c$&$`bhZDwM(t?+-kINRp1`*O%T-4{hWCXM;%iq
z>ZdVG@&LnlUm072r}*ZrvN2sB&E5Sg^LR|>BSHwCx{m?(5fNAvl)Ib;D*2U{zTxAz
zX6~{$l*q>nX>J%Q*`=}m1`g{t!-@N|6FTWPlTrzm;-pigC&-Q9MUkY8TY>61FR_w4
zA`_!FEmHj(enUly9@yW5+#n305T85t*)2S0w-sZ0o?a!MR=+nA1$`=cgt-CrF!xG|
z1RCug?(7x~%W0JQNtnxQ`bSgVzK;+qJFS>POt%?>F~q2Xi~0=ryJB=3-AcQB)Y`W(
zcZ31>2RBUjDnbmO;-0rcgQD=#P~<C>Aqe7pBbpU%9Mm_6ovOYgTb~C8Ez)<F!g<5-
z_;5mhLj}`QeoX0zOt}i_)5N4Fp5_B=^(`7zd`jgld^vn$w>r#i#P9UuC8DQ)Z{*1c
zr6z!jLVYXYXU3jc=V%X;^4Ft=5QO~_Q8o$lBX_7nz-eqv2qM~R8>mrv%@U|RmTE)-
zgrZGhjY|r`FRD$22&I02+k4$HiCIPKRx6L`wVRQr*8#uUV5VCu%Sb%*aRdS{xZ%F_
z0(x$=4~h@>9l}-TVgPiPli=6K)gAwlo^de{M!*=eCOttRiAXMq=x>nYVsw_-5GXd@
zT7gtc;%V+F9BX8RVAM{c)Y|f|H-q$DF7U-fATU1H2n0Ew*GGB0h>%DQzVD9lI~^8?
zkkUai2~x9AM~`V6)1a8TDUbMi-H^OcxIdghukIHNRRHwK2*5E2TFwO^3S8i)m-1TG
z1mH%VK2lQEY?>7VSzo4ZTugsqCe?ouG*s4l<M*Y@+DT?`CQO+{vGF$aRWlwkF%;2(
zkGPUidMyQ^BZmxOE@BF?rX7#NqHlr{A~c#@m8+MQboyUns8AKdFGrRkh#QDUlGPnb
z7)JU2q<doV!=n}yJnv^b660!Hb*GC@MV-CJJY3!v4KD6$8isdf&>K`C*l>fwfvZiP
zNKDy88%H5d(f7FKm+M24Js40@j_!lF>e*v4^eELm9?D;k;K#wD`|~b}fka43Xjoq<
z4l*eckq4kOiJP6;N6z@?G}OEGmZK}}QKx9AhYB~VFwjg%)vIh+J@wpG{N7B?kDPnP
z_m2(6*FDqQfOE&y0`sk9CYN>P6BWaRWe!T8V^1%$mqx3-{05V*+7{mQqV$jEHl}rB
zeHYPHYoJel_+urx6QfQ!@WF`z|Ez<jS#A3pHF`|@3w!AzIhQ5ZoA(s-UQtRMh4y>S
zRBfd$ZB1m{K1)l?sE`B}uSB1Iq#S-mHC&{Rq)`3{DmaN#)+*<|Uzf62#{lAQmPf*3
zyu37>wwz)HGc{`PRJe=XIJ=Qfx!*_msEpfU^LcJ+TCLoQsT7k>5?<rZKZ3}AHZItS
z%%qw<sRRjV`iwafxdy%L%rGr@opLX~McTZ|HD)gb<m$L`2h!QQ-1|Zr)W`A#ij=2c
z^+RHrNM@|+Qbj>NIu`oG8`FpT+i|S<z*nW{<vqle+ib(fU9HnT+{q16KyO{TY6Y?P
zIU=~!viI9@$l{n;3UP5jti(XsJmE%1@KoLLr^deNl<Q4aDKRx%apJsL<;f%Jwr^p@
z=L`hp{LBr4Z-4MT$G=N=dwXKedo}Gvck}gwJXnW}*;^XkH;yP#tk6!9n6OYB4c2eg
z-1En_LoI9lw{ffRF526d$ruNZ5SZ`LZ2E8C3Z7>m@6-;Q7`J57RvVwj_8c4^p7ZXy
zZS`$p&B32X;~5nYz-fxaRyKokYh!V?>LT5-fDe(04^^I!00*gZpom5HW;%6?y>n2p
zS#${EA(c*xNqete49{03t(EhK@G@At(&a-Dlu&DFNAF#1WfPr_E-LleHh;JvWs1y$
z5ba250xf*kjhl5%GS2)jwRm}Xj_C$K;XYLqGW)qCf?cFDhH6CR@gqb^ml8(w$ZJ<L
zMdGN$G{Bl;!3x|F0c@>oala^klZjsEdwxpbSH_Q)$>RJBH(u>bBYU1^$AVf7+yPFW
zQbBWxJhitD?qo*2-mV{aYFOXD<DXBMhDS=N?jf}wDjNQP?KSNEb<>dol)}!{$8ogs
zDDKJ7HwF-;o01pa=O6=n0r4~Qrmc>U*SGX9O}9mRX1$j6w+PwOO5GOuqlW^pIDHoz
z6Dh`Gh2Y$`%&-TQo|Q}VR*uXUK3jC3<{mHVRC2n)#^Q<<hEGY2a5A8D8FNd^3z}9r
zYLAjb5ROzMZv6nDfL2<ysITl;HVGCguADN^dcJeO4Uj5JZ&ek(#02Ui$1a9Ec%yCk
zPPGYG&(#Os$QgM%$CcB%-FD8z^gxQx7fw$DmNsa8+V6dt6?Vg;bDI^6{|V$noUa#V
z^}1y4>g)%fo#B_Yiu5O^o8IkhX?CbM>{4K2npC8z^Rq^--k(CVIRIDtw^RWB!3f8S
zw*&PqOo^#KiHIUv*1#Qo;-7vv!d3-sY;(Ol3_@Pes-^+zCHazy(o>mrpoBIqRnh&V
zAoamYmG<b*D2~F^80@O(a?$AF@`96%2d3~|L<Zs|mGfs5Kz*`uy)eok^_F^Ph6#<?
zUQ9=2KZ!bif29gx60?&vUC@C-Y<di&Y25YoGuJ2xem&oNQr<oZf@1HfHuebgy_?o?
z)y=}W`X~8u9JwT7D3T)4R7tR)m)~6LaWoJo{rDt<{B$A%S4hL%FjL)t$i3`JExrYB
zEc8TAzw;$C0unsUNX9z(W7BaFPX-4Z4577A`|$E-PXLH+Fedt_&&iceZ8Bh<=L_xY
zmNlLcT+hmSXFWqQ=w^~6`C(`VOMoNqy2n`*bhxokaHd~xn)1?rO(?^wF;HE1P$@6f
zfHpuK7iC4iP^fb(n&d{IliwL#GTf^albAtyB-*%QK8`o2)DS_L=J|#sYPh$R;}fW$
z^12U1MRCL8DnAaAcfudhp9rg9RR5&yMEVG1pRe$}8DA194M4I^WXIv6NW{_xer^QS
z7v?Wq8;ZtcVuc?op<fcFmVq~fj<p1-XD`x>(~o;s9{Dfc{eJ3UMOOH*mvBD9WfpiB
zD(V=oVV3xs;wU_{TZ#cGwfdlVeG#f5Z8tLzkcb*zcY!4Y4bD_by-&AvxLOtX6#5Ro
z$M%(2IIcuV@XlV=UBdbYQ6~YgO~@H0#4pR;7A?oWY~+cC4l6k=Xvc6HT7N>(%@>{t
zy^l_iZK)Q$<u<z4^w^Pt3I%%GE^dQ|@c$_EF>i9;U%>7gerrPBe5zIE&W!x&=H;;@
zn6(RFt-oNU-;QfO_H;|s?R}0xjA`B!Hq{yBt-e>+N@yW`8ku4!0cG817FE<Tcgq+N
z%SBp+XrRVgcs3byP}|`;Z-{}>_&%3aiXrswTsn(tdP`PwIAl%53lE$L5&W`$?;XF#
zrg3@ydy)ZvGQ*+xvFYQFqct->zFwQD?oyCyCYPRPF4NC<ZF(dpR(C34E38v+R-_06
zcc-dIfKNgYEu!Va(W~U!mg9Iil<i7Yp3ff*HnA}X!R_@HI8>t$A_46j2Z8F5y}mGx
zXIPxLcwW|N!i0U3;eaTL{IGgR%z_~yxu!*BW(Bu*%{5Zcy8&!Jx-8Gd8WoO(3{CTn
zSBCGd*;0J!k^A78jdtsH4aZ6f4SB$_Ummh4iZj9Nl+_^@SxaSdDff&BezPPvhjM@H
z$@(r3pP<|6N0bEw2A!kPNql0M&SyZp)#Qt;3x08|#~L=+-qknJMO4XKP?&yN1P?qm
zc%5rgu5_?=y$C$Z1nRCeb#MqLuzS@QJjy6BNPV?hIKD}~JvuKZvTlfZv(qe;gXw?<
zmF~<hHvuRu>#I{ABKT)mO&ru`nbHhWcY8Vo6|vEl^;x4lta~^TRIL8nc$7(6wMSP0
z1TvyXw~w8JZfC0zY$Wllo1Shf&ao&^I2H(JB%6c*MbcGRA!&%n?Z8#C>*Kk7t&u-Q
z4bG7Tw~<E&p$e+lj5yCkC2r~!AQBla%KU=^9I-_+&m;W2&Q|3GJ)DkhwXN-mRu4$t
zGb-v(E52WdRM-c9>Nx%0P<dyqDj*p}(`bUC;j$TG?6-Ro8pf8^DJMC2dhvE)phjq=
zHmpGE#opC^WrKJpfj=OoE+n>GRI9*?(@HN!dxg5nF@;H4|5#Ko%}YLYlg7<Gk*(sh
zX6J@Sen+&!_#uiFxl?hqP&kOK&KT;h0ty%KjE_Xzqq%wK@?Ps5k79{DF2;nF#7bBt
zDTC1*<;c*3ieka`?f8N@udAX**gaAq?(bHOFUPY<s8I)x94X>NQ@PV};dMlT?%oGL
ztbEhF=`K_sTH`r$Fkwj}d&@9k5WoXmSC~jBy<GfVV^Im6i~I>Jtbz7?zToa)lhJ*R
z-L&FYXeb9&A!SR5mK@9&gZ9Lt0XUbVT?P?qZ%2zy6SP-}nCMg~`SI0X*cboUJ-G=#
zU$<P|6I|bWG5#{qq%z%;5U%vfEb0Vau!?JAOrZ`Rj%G!^P8jax4qufM>vD9nuo*9U
z-+NCwlH%qOm1fQOYh16hU@|#9hKFHAkPj0wgu7xrix)R`(N>c}Wqp&+;P;k=fDS^v
zV9B%)_lar5LKq@6!vhbOQj6)W5W@ZJ*4EiVrbT)|mjc3q$>y!3(uJxpq$%V_<~xoK
z(-RZd99$i99g{Ih^RKG6mo{}QxXsQ5h1WH3%cPP%sN&h!s<-Fj=qV9b1;}Hcm7j$3
zmRxV_rA#wHp%Nu`%{=*-tJ0zoZF5EfHuqIc@(KghPU8Z1`aHtWV=c0Tv>pp2yNp#8
zqX6KbOAclFTGw5qo6!4SX)NGq<vJ<^ahCzrAPn>anMYEdWVS3ImaHc8y+j}A)474z
zc>_S<o{RKW5|^+JV%E?B!4&t{xD`!w-zPD*dq^!Iv^ViXm?p`QxYW}&6)AeB&ECZK
zy)$-dXQY@*)y2xz4mm+qD7&5kp@Z}ac8&Xor-lUiHmlM!8R1<lvKxl-*+g8on<V#9
zxKO|jPEd!9**j(a?*dDHVe&rTbN32Pdgm7FY=Y`JiVtzWhZ{8Cw=vR-24;y~v0LIP
zZrIz@uFcr6?DJK~<+pKp(VS1FI}$8qRXiityR%qi@Cds-0s&5O$UtE33n!IaSRl16
zJ7c%!A`uiX_)XS|L<P@KMl}N-6#URGkEbWB>Yd*;A4q-I-I{eWD|D)l;uOqq_s(<J
zo))mFk9_{{!3cK~M0wSmC4+LsMJ-^96<x}zuMh>{K|5*(9pQkE=Qwi@9{IaZxIxkk
zDerpl*L^f9He>5!e?Z9?oK$xqikm6saf3bWRFwL7M6=K^XF8Mc>D8GtC*uw3yn%t5
z8JSX;nmWCl6;JTxJE40-upOz80HGjh;Sl>r?Q&T(L7We6_{~K`jo(+++h2DjJL^wc
zY<*B%Y=w373f&bGsyc*yUQx<r9G!uV9;qZYTO1-ct-RL-wEFDxj3T=`1JNLEKW@!b
z)el61?{!IHZhXEom3O}Z4JYh+$zMf$j6NmEd;$Mp=H6w#9t(MpANb6SO`?Y&B-6QC
zh+t$g(jiNRY?kGoe@C>W6g}^LwH6`ps-A1sjBNoIasK=zVZ3SP<!6>xYF?)k_u=7(
zIRxYuU)ZNp?&fYwp&@?fI0CjTi3DuHiiuoK9ae0|u7<0b%Oj?Mu&azxJR+%if!hI}
zl7=hy2H`j8Ncls!dQ3fGXn!DqbAm>vk|bAz3$)gVGKVr;wq?Mhlgrq|R~@o0kqpNE
z)tQS6134q@j2|k97kK#s&7InulUT1dS?0UWdTd5HZho<&X?x;^$KMk|;dWTTeAznd
zMAGq1@-^&%;d`hd;+!<a{srXB+(l}d|CtlCU;#YL@BmT2FpYTeY4>IFUL9U8Ns8}8
zh*~q|MPK9>l!|&a`hqmnJpwnYeHd3U3@g%17^k>c--f=AZ!ZCtvbR5nIZCnvmM9sf
z!G!p1wkialLrD$oT(Q-sKkFw=)9I#{JMt{)7fX$OG@CeI@DYzdiLpJZi^>Xfs~KFs
z;JmI^7WyfmpgAw`Jv~BD%R6#-g3XJ%*5FZqAt7gB#eE<ligk93)x_qxEu7nE!+f0D
zxJ@A(VYxxhY*1nSJk?hn0E`!CfOf5CAntM9YMv$RWSxEVDI5NTBA!{YW35$6lCEJb
zN#O$?YvtpWy96Xy9S1mg6KZK-t>Bx*%ne%$QOviFRmXe67hkD;V<$GTyjc1W&n&%Q
z&CBJd6RG9HOq_Aon(j>OBiHkAiUHQi=YHXLDrFl*&<f#q92%MD@C4xW%GU@idyNM;
zs1rO&tq*t<<6*riOrTzK&Cc2}HfW%OS=tW`cd7lcllcOEJj&ia95#~E`vVa>QqyF?
zt7iB2HwOrLxNX2AdAu6CI>sqMz~V-8)Rjls0Wk~qK%@0&KVa1(g*B~pZ|;Pch+GvN
zrq1>AU2t{~kSCXJK`xSl-@1x$ps7$cpd|$1lVE2|3`*HYDGv71@F8Cxh>8}8bxq(G
zh>i?2wbXXqa2&^5IIHPlDtR~S7aO#nIj1Qri!&2^jdQS@FsETVgjzU`iB<WY7sd3p
zlAVVqQd?X5`-lQ_vt#@-@6b=d>*Hew{iavR6qE=dI!)e=Wz1(q0ztd62eiSvw8)H~
zBm^YiU448wM6>M0$?UcV((4W`x338~fh9YR+eb_RJFE^44*5CP7qs<e9oT;Jp*Q5`
zD7aZ!lNe=vGk(zBO^QS2#r|9+@Z$TRnIX>2Dn4#5zWI)b_WtLEvODjs%V`Jnk%IX8
zVyL+F8@b=0ZV)?6T6S%6+|f_-h-&pBE*R<kL6wf|8{RFODpp#dIQzk}ojJz}$I@$~
zO`R`1DfH~O3cNoxp);5@vf^PBK*U*SmHq-K$QiXr**!@)24dxg!sn<Zqwi26>JGnK
z%qC^Es1@=efH4#~sO~^WN(9o$c>aaPP_B=l29rk`lJ!G|^6swsm=q3SzN=Bx%f_5B
zwx%@i@87HhHSz=Ro<wW(QUxlKZX8>p$ZGBvXOJ;D!n!#MZvb#odoOA7O0)O{_);oN
zi+yUdeFRfM(s)W>vF>{_zUmZjIO4$TF_wxW`Cc`{(YDzLA56`TAAf_)C(_fl>R^cB
zomSN<8eLmXD;bXVeD3;52srpoB2e9M#t=b|zo`^Fzr5R1GWxFVkgs#e(e#`FeVvpL
z5Mko8fEV<tyxfprnJm^3I1+dqXcTayMe~t$GI+!Ccx0;17LVjYlz7c2ei#c%{uxUY
zbaH!|Fo5d~lzeZO;doxc2&cW>AHXp+e!d-?agH^ac$}-g&8+`zY<gOGuf}o0rTQxY
zTZ6`I!o(sl1m^NhHF#enSoYboX9o(w2e-uh4nTp26{gg4;kXxx-!FSko(RlVR8<vh
z2W}^nz4L~lKO8a#ov<eC7BFAZnMO5s2Yyf8^-?5$a!JS?IJ`PfXGbM!4X_c*tG=a!
zzsq4vzr;Wid@kRpAk2>whL8$@kZ&q|?C5o~R}*iSL++LX=qHgMkGqVhKUzeDOg(Hv
zRu2U~Q$L=~kBg(Ad5fJ+f+u9TyM*iFkZpZ(TgIm&qYgRK8v4vtWegIF8^$z2#409Q
z64!S$Tl_hhi?yZ1zY`nRg7s4gjfl44Lt4%?y=0WmnCd!KzRQA__JcgGh*jJbW=q3V
z{qW@tZTFOSu|Zx4oddqA;;7_Wm4@MvvJC^rQlEa(CxI~9cB76y9bK;@58c{JdK$ka
z;ZV~fcJ5ZGe%-A-PpjjnFz<{g)zxFX0rPC_J;(aDtsl6~QcNThl#km6LSE9f56e3b
z`^{=9*tpPF&D7>V+*O3>z;<uKc1m`?a5P;+7QjfgoUk{Q>>H7&Y-TIA5u@<!=vD9J
zl<lX_HSXpYsxFIge-Q>Y4M#^AJWAd2pm^CFvZykyske`%?C2L}!E>Z()u`ox4R2h|
zTr2EV_1L3%M$AI!>R-a_mfx^o^;3wZdc|@uLzvf1a(@7N(NtR-gSYkiHQ2EE>76Y2
zlVmY5F$25pjg9=A%MIIrnfTixW%>EZH}8n4dL15On=$1+Bc>fm=2S5V*D^GGpzwk*
zufE<hGVa3%F8omEuWtn>rJj?KCFF+RAk#KAWqv2@vC8Xrd3f(&?)q|$>du}1cDIA?
zf`;#0B-GOPN?rW$K1pRgsy52IKEA$UzWj>5yd8MCZn`#H)R>X4nkOGiGt!GF>Dss0
zot4AlkU!XT4URg${&3qh=DHv~e=xn?cGzTVZQ*^C{q7<siRCBq&AH%^Rm=-V1A{5?
zq1rw7>{r((3D@&5@2zi26?(5$hb=6Z=tgaZvj>+VxIR?%(&H%M-zgB5E`mg)qn*(=
z?+qtq4F;B;-I$sp){Io~hj6$-Cb^8gD}?D^y;lnM@UW9HmD48TB$od1r6?zl^G#+M
z$2+B#p@K=IYK*G#m|Agu*IY=NTx7bZ+Sp>@^De6KdOEzv0W|!x35v>J>cOEJ1+2O~
z-JHastny!Ip0CAFZtHZ!AgCyBb-$u~GZxgQa6!5Wm_wv(*)!pFNJw9j$hfxv5|Awp
z4nAA9NWGcC*Y6F}yF4GhrkS9vMk{(vT&0x@1f-V_2V`r<W^@JGe|wOR&r`n2W=yNR
zYj~87rO=G;oU#>Q(ymU~{oq6GQ(2;FBL$-vA|r0YU<BmzmBofQ8TU8amLb!C#0-<`
z$K{PD!sS7GcXiJ{dvmwCRDTcV>HffxSXY^4<nhkKm~fgf$ie*1ioiV?;Z$^QXWM6*
z8XLuLkD8X~@v|pE2YfnFSOG&zw<b8~gs^@Fh&_ytJ7K((VUC4K$gf1rQgr6(gp<Ad
z#7vvX(O#6|PRsOZeN<Z3)N$lyyF9`1&j2f}sq9prDvN?egK*C6=os(O&Xr8No+|_u
z@nFj53wYJ#1KzrcSc=TFUatq;vBIiDqr!56(ezZ*>xFh|vIScuj4>}X)`r=ZP*jNd
zahhlHoLYg7WPGOY!r3fzPCWuOV(;fOwa{j!<qfOVH%P(=orzeKdZ}MQyN@|iEt2KX
z+Ix0OLzK%D<Pz-a2R#O>FV`@y5sjf<b=4nHjmWY3cs*v{96jbs-YW4U`Et`;Y<c8n
z!N-{QR3=YQHoB-{`iHc_IfxPi4@m2kXvWA1g_@&Jl8sPn{y9o~c88&8;5^a&QBc%%
z_Uyp}v@me)VpZga>Gh%M59X@{=I;~eD^lXCiC3n!d9C&JsA2~Ij^fE$@YS8mx$E;_
zJYA=fndak9+riiVXV+Kg>x7`Qu^b}(AIrlg{+q(E=(AY#iSXq)`uZMDSS1-lV%6h!
zf^ruV!I!k?W82^(+r>b;n@hbX4L-YUtvj8uycf1sR-Z8cokblKywdlO_qz%d635QV
zi@Ms{zEU^Zx5iQyX}HQ?q=?K`LU4_2etma3dwnr{y=<Eni<N!#Bj+l~^!n%>y6Ef-
zf2;X3-R0Q?x)_a7)T{w3aRF=R`{w2f`j{Cmr6GAKglQ};(Y`LTzH4{<ewI~SOzo}Q
zJ!wN<^rNXfc9@;ciZY@}pJ|H6;H7IZ*C^FUe_*<%V|qmaSxVm9H_q@TO}C#=Z12r=
zP?Jk12eG%jBTS-7W)Xk5`flW``0}75!xf6EPd(B~Zjgi)AQ@u(8mk*V^FA@YN8QXo
zui3YkQ6~QC*|hSSj_s6%@{`qykVVWlw6vbMun$%n^?DWAQej>}7(DPG*eH{aN6s{6
zLmsEr+5kEoPxD0ZP>i<D(hv46zQ82qpAp*0x<SYWl^vAo@EQ1F(6HB;BlXW~<pRlP
zS#_6?=&cWA9}T9YpN#C1aR2xsk)OrUmtL3kGy5u<e9~51+a}KkovCfKvbb%5k2QXu
zAQWB|KqIR1_@P=v>6pQ^%#`sucZC-{=Nhu^Q<k>AM&rJ>*86>QVdtAQ?q<t7#{$yO
zVdcBd1*mFLq?U++a5TkI`y{kWAJR>i7yZ%cv3l<!J$6t>45hBuS)DkSIu+qQGbtD3
zaY~F}^~xEg@bl$Eik-x%`n2+)AnA6cTkqnZqO7ZsQ2&aM`W$GSb!<>B`b5<@96v~)
z?n$25a0A)&Z9#AQm&QnK&7P$}JHwBbeA5?H4;h0VL+|c?)-4h_(0V$I|HL%v#&@$U
z@N8wZ7xK&7u;l%6x-NiwBk{4$l1i}j>0J$NnpL&+%*x}*soS3???*|qcJ$o<J;!cv
zqt?@Me8enVf28fFE*MN}AuqY7;!xJ=&-!ru4YWSD(1u1+-ud=Q>iDiiH+4K!Y9Y3%
zvj?s7oOjreX<)R?Aur8kW>uJ3OgUe<^G4xOH6D_E8t0qYW_h>&)alFoR;NhB&j&SV
zkGr7e*C|bFukuQ=uW|WI>Y_55QV<oYA&O0D1-zu{iEA9q@q<kkxTr4bgOSLkoWiZc
zVNItp{o(0A<cMGLU{hy5nT~ruXJ6Jak!Z6?;Z9Qpm0mC+|FKDaSM@tk+rG2%_Bn6&
z)0Vq{6=B%Aa>l+W&(w}=`PV}g<;`<8&f)VgS`-LtVfo(N=}qFrOqjDp2g7tMFsJ2X
zaI;Zky=9O3)opNcj;Yk#<<{|c)2kIz{juGRy5U;47wbFM^ts_@EZ=Z=c0d9GC9eWj
zDh_&rFM5z!n-nYu{%0LzK~mh@Wt9e6<_k19`17le&}Y=bBJVVHb%k1YKinpvVh-5B
zGJWT}PXjxJoV^1`tq!F3=e#mShn813p19iaekvIshXs*-ijIlNPc;on&*S0ZO6iGF
zu(V_k+^}RWxaYm~>H5s{IyN~u*}x-AK}$<;0*^rU`kt8BL7P+sE;B8FW}Y1ijqL%@
zg+<~e*k=2toCmlP8!LY&4!zk;(-h^5D(FUX>r(I@vFC<c(uFC(BTb?BQ&V#OdmmXa
zcQR5GF60Np>v3F4)V!A%qf^>fIIGm5E^i5OT~2{O^*L+SR;$vz=@)h2DQ!r?tl=)F
zdoiuHz6HcM+dK2=+nij5rTiaq$HIQWgYWE08jeoob8=;~XbtKpINPmEzA*SXuB3Jy
z3XH|$dDHpK_gk!hZ+5_%ElIx^pHs4aZ<Boplw^-6Gp>9B`g+aaNYr=SDswn|fqWKd
zN5b-&#<@jRn6~Y~ibjjln@4SYxaZFTGIEdxUE9)Qnn62i<?sWV_v+f}^k0mxDV1-9
zJ+bMhC~w}ogC(P)57qWM^U!^LM$+BQ@qJaBd}j<#>hs*$El%51=qKc+|I3(nvsUpq
zEaj`CB8>?zd**->s45b%A8+c)Jcm_2`<zcyJ_OCWXF(WNi9ab8R;J(eMZHv*U1+1K
z)O{oKY(2ZMDKnVo!~Vl^-@OWKp8Fcs79?qz7exwP`fWpjz2si9leUVK9;xqkLcYJB
zDBJsN`|VS)y>0DuioKh5X{eUiuvYI2+tS@`^n4@#)Kz^*J%40wTuQeE6S{l<;r{YO
zss4b#D*b-em$$m@;{sg)vkNsZH-og=A9GT>G=Nsm_?YYNg~U1z!A7p4unB@oLkozw
z(wO7wF52%1lI7%HbZda0+X(UJYS#?KzYAu+@1GSTVp>3gRYWM08>MObP!ch8|4_Wh
zx`O3aWdZtK8TC&GyG%6=6SUfSf=R9{P+)8WuL1<&fBEyV-}lkMRQtIa;)CTksdl@4
ze3gfQkK+4#{`Ke4bxwMb{{0Sy2H`l)L%SX#-^*-GN=UzwMf=0non5AV)6|U`<o(HV
zO2$&Ni`<`RSQ#;3Is=t@|7V!K?M_|l=#Tzkou-h5(P@Kv-(l{itHlz#9?Dd^l~s1#
zad?6SY6Tg>5jTY$<38^JL16y$P}fviZ%MWZzxGuwpH#ec>Ika!fyyH{a(6~skz*d=
zt9Q=$-?&~A9g6Sb@ED)cXXtsvYx~dU56PnQYrW?3lfCBhn(hR10ahr53QoQHOwPQ@
zr;nfxlk6-{;>oX41MB88DBHW{E@$Rqz2Zx}=K@oMj+^HMt>%-mveaI+l{-*g?L<j}
zK~i_Ic0eGIRVe@kFx<I5{aiK{aJ{?KgDKHJa=t4_p4}q;8Nv+EP*bbA0awkrAO7kb
zQ@00;HGKjWDYt)IF}b##7FR2suA{FUGX&Y=n1W8s$xJEQd;0~@ofGYz6_u5!^W!Dv
z>$LUB2CZk+jUH=HS{pF``5U9w@#4<Cp&Vfm%$H(L8}NbGgACbwdqnujI5%#7!jO<K
zK6(8!zqnkE1>9oGPv6_UZ)|5t28X_Kbah>O8!6DSWSsp}44HT917m@ZYmer^*Czt)
zA2o@O`oMO$$eIc*dSPi;z`PZ_9>|IVlr<l<CgRFhJ?ND-r-<$&GBithnQE-&of4>M
zKyOXOFNF&p(T1d&7@W~7tKBt&i%PB;Oiw@6Z&xC@v)!gVab{A`v$Ry&R+?#Idc|5)
zMEk_o<CNA;eg+0x5A)U6vq`TO-F>r7D`VrAO+Ja%@Kw2~72pJM#7};fiy!)Canhfc
zT=w-aO_)T4Z9q0RuEDo(#NlKqyzlYT2uu(DQReAvSgWr0p+5-+`KXQ&wNpy?*tH=R
z2O#XHhpAN+adnT<)5|f*V$@drqF3$hZxQXJ@oJkob2h=$Au2zrX-oeX00}|%zIfA9
z6cZN7f_>$Q_bFCD3u_M2R9^zs#4JZZ!#60srdL2s9BWxH-f96Ig=^0V@QM)v|8lAq
zK$4VILWQf(QqiU>td*!b^;y<nRG<42C5zAU7VM*@SAR=YVtmzSzsR7*V*)tD#FMLc
zD^(o*q^h~lgmwuh)do0`j`A=$0{~?-_Ho~(W};faT;8GsJfG0SU`_x+u>hB*h17KW
zF9p;sR_6@9EeUCC)&-b}PxSQ(ii=64%%(+DEkGw;YXkQduDw9j=f5J>I*HB4q$UV`
zPRb|{^ZgximbLNyZ1N@Q0wB!lUCaW0tQM>wm^?k+fdBwC@DDlv)Qi-&Y=dfoB|cBj
zDWNz~?}_s_Y1!HxG(94LsvA4#=8Nx8hO3l)U7o)E394=Cq^aR?w0YNITDy54n}mf&
zCsX&l<+S(6d43Huu4wVx+Sw-n=VbvMC49}=E&FKS(I?sTD=s;k_6X3~wCkv7Q|zPq
zPKrv%WV0?f#h<+N5|z|+QCOUqGtLmNh7tyx#OJi?W?d1PUDUYXIBh%oS&GbG?oPs3
zx{D$NoXp<)WvX5C9!)JhL22E$srT?tD6Z`VO74D>+V}sQ;yd4>sdX<>&9)y?=Hf5Y
zw8qzHswf$Yze;7BeoT)y-l6HuZw&}eVA2Im1vDU1<ADcG|8L)Zng5<YzmKD4L3@ys
z<6>bPp8-ywF~I-lwzhV@7A98k0fCPPK8Fbx{548SO8IjL?zkS1@P|MAJALIVU*Y!g
z_|&J~XJ>Xem?M%H9)KJ?&Ye52JG5gAxCSOufBUz8OWqHdTEVXb=396yUAmOpgvJDr
zgz+Cgeu6)%si|RycnK#MAL{<aFMdIP_OqYS|M@@vha;Hb{`vFg>u`d;{N^{mrl0)e
zCv3ikI<{}$!Jk7r^NU~nl7Y$?rg>-uU}cDfxFHbQ9K&@w9jrNBs3m$-Mu|pYklPz;
zNg9U)a+T25SPtTtAv*^El!0hZ2F>qeu;AowOuDS{ngpda!30}5Tl>p{Aq)INN?eWf
z#){7~q`+*8;iT9ICrNZ}_A|7t^$0x{A4|u&o}xYNr)YXYB9-Pg(aTFeO}SZBR9nzV
zZ>{(uWoMPM&k8g%W<Do+AB3=+Rxyie1x%!swCItj*moj6mC6slP5H}?vM`@k)-JC5
zE+q<K8z6(ze}GH*p|`2(^oLY&<XyfWnv9~2S5zTdY7=1AB?S8VTYpN;ul-Nfs;B~S
z21iQ5>3&Y{76u|c(v$!Wzy-825>85XJum8hiiP_0hIy<3s5<#+)-ojLR;d~aA&A2?
ztmg8!SYrYKoXx$&=k?eBgw4b-wnQO_Lwf?#GWgZNi5+H66$js76S3+uU*PBbC5KtF
z1IU0QyXwp?`<P0uc{>?Sq~?V8fdG)K*5v|lz98Bu(&0dj@|DZL0PPWLJVc+_ALsdB
zFyH|;%8z`4#|=}nSOJEat;=|<&`QN?{vH@Z@usV6dZ%hmJogpegL#?}PGG(T-~lvM
zo%}32@~0LysDPxc5x_F7s#DzyT3t~BB0A?TrBfH5VK^}l6>ObwR1dNs<|n71lCC}b
z1{IXnGeofOl9&TP%f%ZnvzZrQ0;XOUZ@xn1wQUS17p~r>+@dO)9+^nX)@-M3dylhu
z845Hn(88b|_A?Rhtys5%ZoKd|?LKst_8dA#r=EP8b{;sz@B)a*E3Tzi-~AG;*>aG=
zW1Q?1AD5Cxso7<8`pRu8Z<tL{$%UNfgdO6u1e|0wQY_56SaZ@z5g8rS*msQKB&uMA
zp64X8bSK5v9HG7^zE0V_&(VyEQxsMI6!jeXF{O6DCg9`^YS{5ZifnzArZv1o6`OuQ
zIZMAL;N*3h)^vw5mwb)NH~(1t{pNt8bxAmZ(>DIc$`gM)^7Hc<O7K9KUYJ{5x^$WS
zK|cD?``G6~nu1NAKAqv^AO7JVHI2bcs;jHhwJz!D8KS*u^yh#6=j`LMbm=no55Z&a
z-n|qS7U2UY(BuGa($doC)1Uq{YclHU>UB*7G#PMOmrm^n?+X|K#NcuA<VkK9!1cZF
zeUJS`U|t5(E10G2-o2Zz!<Yaque|aK!->n4$I-kHT39|RDk?nSWb4+g9N7$^j{oi7
z{=oADV1r2*z(m57jBXY>!s$@@yePx(SL0AZUx*xag7RPnZBT}Ae-7PRO&U{LEhU8Z
zx-wL75-4)lP?>fO8=MS=NtY#<7~#Y>d7&#{ehI)xiK~g;SPnR;VW@~oa#C~g9C~%x
zXBjR4Au#LO(sGy{7jSa4>k93ed75Sj!J#a#ML^643^wpZd1uvEsL)l<niJF$lak?^
zq)<APv%f_H)!qD|fRqkCEmsBR3^pf%Sro%bbR0uWoq!Vv$axF*Q}y{T@!!z0BxMz=
zej$lYc0`BSQCxHapYF$Nj_=T%G~D_TWw)=QvIDQP79>6{l_PhRAAXlgV6Fu%2prbo
zsLgQF!)9fP>G^ERRkr_C0U}pa=XC);?Dx^QfGUrFiu=j}HN#0U3-_!!frdb|kt9F^
zf_IjH0@MZIfe#G)SfI@*San+TZ6%wcK}d%Hk7vM1<;f4&IUK@$f+6x2V9GUjhk%n$
z@SLd-plME8mvS8pVF_+Q9~vH*iNTDD$ACy?0Joce%J%?*cuv#v*nA9iWx_;^L8n01
z!o($L4)FpI<FRgfm}Aw~0w#9wiGhh2f0nET3=r>QEE#q4*!&I}A;1*i1g2t`BRK2h
ze(9?cE&AWk)=OuvJjW0bpAtCVh#9QMam24uy8ir|R8rX_pdgt;6H9Fj;G}uhJenF7
zM;SRKbX7nM{7bU($_1RfB!HrZW(YW0zIF#~7jP1jpu)+Vg{xU}0+TWLq5wXYuHHsZ
zoVd*XD$vZ}Ia$-L!L)0^ip})ojaTT%nd_A9Dy7)uY#mNcUA|4FwOtgEkf%lKs;0Qi
zIsqpQtT~C(%(|koyQrXb8|}RC1xl;kN@2MxDZFqag%@w5*s3QOPV(lyKvT<3Fr4%r
z`Y9!MzQ&r9Mh#A;H{3SB2^`?>P}Y*Kv*u)K;~kpO(tkLC{|AI=_<+Dn3FcLQ^;dtb
zN9%g<!3Q}?7a~&O0e_Q2hYm5Ew6(R-KmOxC>ZVbMQ1$h%e}jPn^})GbY7o#K1of7d
z7Cp)rOvGM%@g)}O5w#1C&wloEI-I=!{`>qMG%R^}1#DIZ=X+=)U_yoVzVL-F@HJ&+
zDm)m?#n3n8FhNu;*-x0Tty;C3J}$rprfJCMg2&>;i|M78UgE!VbMv{LhK5Fd4HL0x
z)26d#1OS8wd~tA%^jm@UCLtk-{ZQV0_Y>NjwD6ci|0H}Y`9dgT3>cJwYk7uTBd3H8
z%sK36X#>}Uj*2`d69-XyGMJ`aBMK*hOuB;Bnus#VJjAcdD^#k>G-4MbZ$bO<?y9d+
zeoigJiK<O$qW4yPoq8*m)6BAk^o8|5q)p8S>9M#NI@x`l_Rl&e;3Sb9<6#n3l+(cX
zUGICHE((FDEVqSPOXjmveT*R&hPUPhf_uf$_gKJombOu5^CC(Yf@^F{62A|JaE6o0
z4i@GiNFy2*v<|t84zOugmJos=2=i&ZxF62wIXxTMJP1zq(6%J!R#3w;KVg$4fJ(ji
zJEvzen=wH%(C~t|r*|_$5d0-%m|O_$uHG#y%s0OH=j<QCJ{paEtbIVJ-=fV|Rlg79
zWPxxlK&krtmj!T~QU!g{KKfR+_hqU)@oDyZDHiv@^b6orwEiNSdu7jD#Tp=t5t@qR
zoC+!sa0cHIp08v>NZ_=5hBADP=wi@*Bnv3gp-+sn?)ned&jnhW1a_j&X23za03v8+
z64MJbjnnI_g@VI>dR3R0gY67i=y#TYCTKvQ5t4lXz!hz|&f`oIFo7Tf={4QlcMb`h
zRYI=WTdDTyAM@M;#xPcBW3t*;Fsv1>J|jTs8>%)2P?u3ewU@uenlX$$kt2<1P?1+g
zXD&TUrBy8q0e<uBq?#wljMuaz@EtjD>>?FaG_d(rRl_XSXl&bif_*`9i>etw;9HU;
z*3wl_MVD{BO8F%!oUGiin|AJ3wIBc|m~dSZpaGBp)S!PQRZVpDnLE@uXDQ_hsDUGY
zU2_lnnc(m9*KV_u{JL#V(2fIVIa(LsBq_a^j-G#x`d03u^t?Js$*G~Z^h%0Jt0Gs$
zY}$I{c`9$;K#`d<Ia*h=YaXrGe}|Utdz&(w4p4sA87l0(NMXghscqBy)V=4cl-PQW
zDpq}(I`;p7A{(Ef)ZVwLY1fZ*IH}z7L&{n9b=I6rZ+?TE3%*3PJAXxS-5*fotoMS3
z6P)HF_XbS2pdnEcDXLl0;d22;a0vM_3p|n)A}J%F1K@!B0UUTAc|st(<65WF$>w1)
zcS&}34r?!D=wI9m*g*X-pF%wV4L}6mLl|FNi}&$2Ota88v<34qXfV*0ye2O%pYL-x
zrWhi4P2zEtm6g$>qFz7@G(#mNC9K(y{YQTRMHm+}DHt2t1GJ$%w2QhiMwzWXA|jIC
zgQi7hiO<c=<8cDAA|j&b8{hZ_``KU)?oMkm7|98hd&9(Kw1L-vv#$>(fGI<BA|FzL
z7?jZoy@TreH3-QvNBI8;WaoZpPX@!ZYsBGXAW^#d9ihuWeUr@mOM*#q$Z(R9L4`SW
z>_g(ps$w{i8kIGTyXkcS9tS%v(1khA(enCjG&Me+cC;O%_09X)KczUQo-WOOk@B-^
zIJ7V{C~&NQaq)X}qwfvsEL*~k^2Yom9-18?l){IiZ0}1{eeTQba{(b8VRDPN-Q>tu
z(5R%Av{1#dPck&b#V4y8i<6&b=kcnOAF$5|hvXFnkO6@npTPkf0(g>u2xuSxEC3P!
z2Yf~#;6nh<>E6JmRPgmEhiR1%=<$B;{M}S@<=a%U?G~Gi<t;hP{eiCsw|(YwtTjQT
zuXy$?Q60Zopg;d5bv)v4XgN~ys;GS5t3uHKD)$-A;qXa8orqKg04m;kg9Z6=(H8og
zJ9h__?zye`lw|2Z2N)<v0D<#g5&ioPRi6GVYn0RoTk17=ix0B!4^0vviZv_9jncV}
z{cbQvtU*B_f$S10-SwR4^B1|#=m+2czBd3dIH|)YMD=S?&9?FuKSA}+{*0<Ge1*qU
zd-<CJhE`FMSWnC$d}L~`{V|)RaWDe`b=k94^K0}M4)JW}rupgMnb+Zh*as&*5W@CC
ziWA_3y#j5-mR(0_$*QgFE8?Bi-fyx@gT@Y85}0gl*?p9KOb(yEN-Z7p7&J0mB^;_4
z=3|FXKgA|pXg8;zf}S{jiCl%16cLj`^OmfmRU7vR2uatYd2JT;oxJcgJHbO+h0mG<
zgd9G7jgFqZMhC_HO*7~4p5J%$0?q1OLSZqf<P`hw!11T3p?#jX2j9C~YUo%*N6tM*
z`%d1Z+V&+BomxiG&I-z{o<~nye4A>zwg@;umiXBeCEz5fY&Ff@`Vy@?`~fXH^f{_n
zc!M3{<LXXP%jVBg_r7ma`_6AtYS+s&z4kh#biYYeo4%vMN#n~@wDvocvFJ;zIYIKp
zh_-jAVD0y*YWvTrV9ob~h7(yJs6%)+3ek8Erc)5crGPEp1E|PrjqgvKsKO3DH`a&0
zagDJ}zzFWaXYPC@4!wSvun>RaJ$GG?c)T|D)f)o5-<Ne6`)_<7pdtGu!A<5+kzs(<
zgp3pUJ!A4nj04&pK#bJHY}vAv&CUizh;xiY$XaC-ny&<#-(;|b)uBjMX(#6k$-X+2
zf%U;L)--y<yAB38nP?HYYp_kbMirdgtw|Rqcal$ra;M90CT_E9Wv&uqUC@LirRMTy
zM(u~UgS-CPsU~#9eaUciM!pNp55g)zWTFNrETC%l7=0u>gw2#}&wL>`Z5QAn{TcL3
z@0>FuTTO0<x@0~PLzE{537FY9-BH6-tw+AvzSg#kH0Ay~+npU9?WO1IJ`+aAY&Ele
z4x2*h<6?M9*W17t)TDgb?j(iMY|CK2<&ks5V4lUAg|s}aokDKMV_kSobGeV^eJfP6
zlRI5{IAPU6J<okjs>`Pjp6j7%anKK*3k^DxwEl2H%FH75GpYT-dO%~Ng;(~-ca!Mu
zn+%!E`zkSmN~@Y#v%wDRqQ6pep+2YUuj33FCbLAJ_#E}YL`=SxW?%As4lSIR>7jKo
zI@WuHM;3qMzU1^gF0ws@EJjv)yoWVre;J<dJT=dW6WS8gmn-&hAtzx(hIr&UiBBsL
zKv_wNnF5kCs`NZ3v6+n&m)*_|@qm-qygrJ`TSSq0%P6*FgX(iqvV%hjM<CBh<#CFt
zyFlT!mnf{}ikj!7@mUIMe1XE6UZ!xLB#dtgKzWO%i-JUq;cf5s8%{?4hbL5WMJRXW
zKLJ=lqDVwA+qiL~4lZ^+gnLC`4rG?4*z-72LbF2|poYp$G#M)4!Y$xruuZ!L;uIgU
zaAIcC<*hX_!pUU68WL|1ahiW_?YN$85|-Fy>BnOH+z2sNxmPT+&a=R3X1Zg%F56Go
zWdA-133^@-?+oB3J~|%td)1d>6^SfR7J1_wSSQL1DtCt_EF0(42oQ;e_B<WP181*y
zuU)peHZCPw&rWZI$3&ks$~Lr}?eUq>SIS@FP?YR~3KsTLGV-amxtr>^bn)N(x}}G5
z3M<uc!~Mv8VinQOd(Zhq2n(VO&+nGYZF0#Wp>wtD@Od1m3vd$8r9_lcO30`brN)pU
zzM0~+4DqqKb0{`{KE)O;p_syzYP7DB%@kd>i{T`y>KJE;k3@#}y2}(%e?!2@Ert_h
zhzFd6nZOCM#B+A|mbd%m5I;ChmP&~I7%Ri4h489J!pKKH@==e7V#6=ID0d;~DPstl
zlzRXQLn!CVU}y#$iVflS(!O&j{e=^wX;&caNyx&<K*9*$t-pz1M|cl7ar!1(^am?e
zf|ZYu=*;mO4arOs;^P4C;SZ4GQFm~;D*7i}dW4zvuE*(retdiv^!{5XwlteFE7%BX
zTuwJMd1OB~Y5-DQ=Am;_O*ClE!2TI#QQfS}qpaY;2svh<e!Ycye<7~D_p!VVA%6iL
zFr{i}@1@4J*<6sj1il<FrE(QjyEPq7m!+e;zx6QlUGW&7mo_HRWPj)x>^;Vxt7*&J
zaKf4=29yE~PKs1GNiTIr>(b$*h2jL9#JM`z=OiY-k75cI3piOtF`DKiO2SDc;N&z#
z)SRP;S^+0@*C@Q<rht>@7*4`jbMmSvuc=_t@}>qSZ+jGLI2nP2V*LpdI~*Zp9m*IK
zIBbD#=p#-IMl`39+TV5_mtje==@_cqD1(`2Xe9Hh+_mOp@&L6bgXMSPH=OWbz{x<J
z;RnT}OTvj;$a49d`dSKAsV15fpVM^{?TFJq<e2#ZBp4j?t%UCWz)7MX&4iWqA&_uw
zR*&f%`3R<-8k0mnC++^)Hq}m9<nZvxj_$O8950Bn)<U@g!e^kl_NS%t1`?|f*JkU*
z^Q-R{t<97iHLpl~x*ncans&kD%d|cVhzJC{X8Y3vOj85zG53DY_0XO$oHzj|`5K%Q
ziBimPl8{lxaFUQ&t%VZSG$&e~6KU2JQ?P_$inLI|C0pEZQgwtPt4<0yIj_P=y#Y=d
zUl4F|+e>qDM+20%f`pU7vfEci&@5vt3D8PtoQe<YX>}-NidTj})7DSTlOxoG?|%C3
zI7S07D?=<`D`WT|AaurNfRjmgY1%a;PVvJ9C;jy|3EHGf6o=WVu2IPMKEd_5*6Ghw
z%fI%;T%+Qv#YlAK1g(8B3Vr&Cd2*KS8=%*rMRGEW$P|~7Wzt7KW@Kgpw=>5_6JaVm
zdw^kZg1eRPk2g4&wVPl9LGfCS4eK>AYPNEG?)QdRQ}ZNkZoS)4eK6d8)~`#>_A#&W
z1}y76VFI>J|NGDkZv1I^JnD1i1cYs~xyAU5^Wm*EGmDm|`khD(iYV;+l&@<}64GJP
zRjg`G^iaZDhWM-|&8$n+oB&Q@3zlkTT`HVJm+fXaiL5-LX->{lqz9ZlOJNPqYd$Bh
zy5R&`la^pKC(0l?YTg4*oepILPa#89xKR2pxDJIdFX!G7?EW31bqc6~Q$_%^MjK2j
z!*>ue>a>c3v2Vvhv^5_%ne4~3>yaTa?HaXk5{$peL~l3=##Y~7f;t~CurhUVdgfAr
z<GU0-EltRzfbX;xE<FS|Zy_;76#x-RHaow9k~Al26gV!YW)*t$7uO-tUMj-gn)%&W
zm@;|5oJ?{k+KogmloU_Rl>fwkfqfA??svLOK*8Ev&T6hXkA~*>j{F<pF)18b3K_{&
zM{KV;0+?rc3)_GV_<A5>Ra$nj2XtT!*b!W-BRL~qTvtU|x#he@J}~CAZYyZhH&ZR4
zwJBq;S`%;6G=KXa@1=-2cV-p(@qKccjLXHjTH=y&)DX{3)$b(HS*V+JB}lU__BpAh
zsMK-_ODd=E)EbI#Hd0LXEQ-qmoXl4>Cjw4lip|WrPMMf>Jxh@-028BG*Bygt*IORi
zli~9@xz{7{*m)Lg+xg*k7*;}PjLIm}`izF0I?CWe#u)ma1lie-X;-jOyG9M145l-D
zP$pdrC#hy;Jtl&fGjO6hb0OJNn2b%%ps1uYYAovI4Dx^!OEVs?aIXPFzIwF}!Ft)6
zZFKIb=Q+%41`^hZ_YfVawxyd+Ubw~1(a;>g9|1WiE?&P)2aaFVvVv!u3YF%jN$x)4
zJ_wyNyBASfPO+!9!25LG8Q2UepxK$z#N;jrb2gqMF&8@zo}r%kD<~{FnaXQhY5tOR
z)VFK{_4ch~P>_IP>EGit2RXI=OmY=f(cx21(dmoN(Cme)dH$gpK^_pik8r$r4}B>t
ztEYp<F4Fbq-=fYrOW4#(7tk&DoXaN|fu+e`s>`n_Vlci{{Rz%swO1nqxFV0qelb>=
z$k9K1t3D?QDJ}*)WQkAIoZ;PYQl!C2sqS+U<1DB0=0()KbRTsue}Y=(?;&UD0*cD+
zq1gNdnpxK>%^@CUT|2$tMAMuAPU>$`Wb+H0=OnTFU7Fr_TL8)HUT|X6oV+s#a599a
zmV+hyJ3<gnMoi!wXe6SM5nLvX6?kzd15BJaip*^sp%@C+?nlV`<_y7J@q&{{gXDKI
zXio9N4JQN5Z(?cErNc?EPQG5Bv7LT=8b!r9S=fp<30v!tWjiH{>WaEKpUL5_%T$ry
zMs20@8B$^eAVAX)m5@deF{vC%)p#%RQ$T=?ig)s<z7&{oDvuL>yob+aKXH9(MgfCK
zaYd6V<QnQiUy=CEIHox9-mKombnNUkH6(0uwnv8WNYM_o3dXw3gi-XPptO#jedUu>
zT-hx8n&ANt=)3GQ=iSh>D-h)2{~)hJn^9U`4mG@Nx_XbeS2t6W*Tt&ygE`de6n#Tq
zBVtu8h|!D<*P^bls3eB5xr^6wcJnQJj?s-5-lmP)4{?r-OE+I-U;w<S{Ym3~hR3RX
zmr#IyV{W+rDQ=Uk$7jUR+(m0>@8NSQlxV<*IlwsbOKLesNW2~~%*AuR|LBvP69n}c
z=a|PM_D7@`uR0!UzYR0T`d}lPnL&rD4Rdmz)IFN6w*g<3NM6%ao+I~n!R0YOvfo&b
z9sz&H&)wk6@N$0{LldJdTo<i}q;}D?@I<O@>ZU!1&x<v{_b!e7P7>3L+?tbgsX3{j
zh~#40dgvydz4>Wcy5$1xKK(lFKJyNxS1zY0*Bpv)EugTRMKr^;f+7kx8sOw8MO2=k
z=@qAFdgTS0QFBFyleT?-MoGQzF`P_qc$ua*xt-#Xh;dru9h%nkX1_AT8<Q~xEm(?c
zy>p_BMB*{zBSDe*P|%<L^a(joCiFYZZxBDchW><9G%l0zkJl1N2HqR}0~xs%at?T|
zMO%)33M~HSaME4wPxJ@<ayXO$t+TOypS>4gobEXtyziy4AYvSH4td_M_-SLZzD7f{
z_Y^%x(Zqp%=REe2J9PI04?L*nAbRNGM|j-*sT22l=U^JV%<78ITB83CJn&GEZ4Tif
zgCS2<$ORS%3@5>wb`8|;B;?>^pw969GU*aU3Fzc*V%8#U<sry-&s$E**X`f}vnU9$
z-ch=wITMmJ)))2AuJ%*(=87+J!o@{38z@0QKyGn0EnL2dy5=sU4cnif=2`RjBpvM}
ziF+YD*EDs~q7|F@^Rns|1{IvjuiUVUHtsk?^)1~j0LKUz=$O4k2*l^<=8Nypmfgo_
z(aO!N&43WuGk-a4-gShv1#CK`g|USI+0rqej-0;Arbd7h^dEvW%)*wf-A)@sJKQ%d
z@{^hQ4uto-;u^a8%o|iB0Ej^<Rr<eVQb}bKXAwuA=PzB)+8YSn^{qW({LA@z2&Wj^
z!sQ#e-w=e+w+%a<;JMDuFW0X_R&r=N>RWqh?Uwyqw==7V^L8}0&*u4Bv3@6yAx_gA
zmDRKg0C|GJ0on^_G^U2fae~2(qK#?c2@F-IFFs2v*6n1i3Lp>H*NJ&XotRV16Z+6C
z)(vyIVCe=n5kni$RIOaUi_TqnfzDoep4M&MPc35ZFwd9+jDO9hy*yWOTJ9H_BLtb)
zvF1h)#CQ>13vHubWM7Y!K$_Y=hxMSH_6=rwSz^wyUeG9Q*mi(s^(^L`BY=y-@&;PA
zW;;XO!WA2}y_TitHG!4{pJ8n<-mvH->K6O(=$UH_Aka`@jbQqQF=ytM(b6^BXw#0v
z)ZC%&H_Yq2#p`%~-hA<0+PL#5EndA{%hyxD+7mTeSFr(3N@&ymtF(C2DViEzPSKey
zbnN<v)V%O8g=Kb8W$zK{-ta7SZG4FeyU$TXv6|;3y!;R)HeaHuRiC8V^`EEQ1@Ca4
z6TnI9UI8cF@6y!z7b$zmSI9a4Lz*F=WP0-*N}l(5Dp>Q!l)Lgf6y5o$e!&TZGh{&z
zR_F-}3#X2b4lSGf<bVR|pr5*H+2oO-y|lDU{5^r+M}LADhwM{pYb$4lM<)59H~~er
zdt{3bwbNXT9|BT+eFLSZXBY%h-}|Oad6dV|-}S*hnK2`b?}q@{($Y$aiAnr-u=QYH
zKK}UBeziS*{6v~IZ3gepsZ*z$?>{YxW=cvbH8;2D`zP=|R&?PK`%kVdUSpiorcDn@
zxW|3L&S~(1yy7u$=u3EbB!z`X1l)t@3;K__P`?io2jO5r@tH&PtF5h#;^Gnp1Sq(t
zp`npdQ&V{#p=4xa(wa4E#QP20MtgfZMMXvP`UF!a##&ojOS5Km@H`F5|0{#wZUpGZ
zAAg*|33-rKtXM%aXU+<u&7ld4&figOP5S#C8%Zs*Jlr3EY1d#n#gA$@86OBvOhf5f
zMHupOZr*p~0^NG)U25&@V?lHO(TiIC3hR6*x!Kj6CH}*8->1v-ZnJq8AOqm>>bqYM
zLf=6)hdO)tInIg=%>m4RE?j$wg<J@%3s-ES>ZT4BjE`TqNxKf7VS)Xrr(a_MA1BZi
zwQaO`<rcak-optz>VhT(eJ>Y+`MRwK=t)s0zo(s6L!ic3kl|Y<)5AD3b4yu^fH9)3
zvzMROGlQGK3F?7H;Oes)oFr!G^8z?v;Z_LPJ$)<ai4&JOGdP5QK+naSuTV;60c$m2
zk_JIEl26%J(5WY%7UN$>TLo+#IQAruAM;aD*G@0L{W;nr1o|!ki%V8-V?UCP*^B9n
zn8$gG*NZj|(Gw>xvw#b*xp4I*p6j)n_t7hFe<%dy6*`=3-g$&i?E#EWJ#&Zpgg`zc
zGLgaJ_FJFjYkK=uF*pIN7A)IH7p~vt=i}#Y($+o4c%1mGdDdLoFZz1u)D@c9vxrIs
zRAPPrN?r4o(bebPpw_NF&WbK`pJ2{0mbr`8>Y60XHGuQ<rDp|*t!JVA@X0IW%v2%3
zEKiF!SO?OYcsrnbX#K=^pbdNd6JKKOQk&Q(04|IPYt<p(1K`>-e<f#e-?8rm_X}&k
zdh=d7_tXnKU+V-swhG9^eBxSUe+S3_QUERh;<W4{vF_Id>>Z|g0tU~BF}I8F1R$uU
zu}kcogLLu6%M3h?GyAk~!bsRDqjdpJ$~@p?>6Wt;ky=Bp>P2+w=`T_3?EMs-JD=uk
zewtcWT&2ck*J;&>FHu3yC7MyZo01yE{2%-_HEsSpl`MOYD%X6TVq0IJh^FVLWzSD3
zzUv)wE&DRnZ2J+#c7B4UH@-$`3%*D-JAOe~OTWR{;VZWMG-x=%4}5HF9PQb&M;ET}
z!-dmCshN;4ATy`O$H&vDQ>PdNjHiFlLf{&iZ9ON)#lnOX6pZys;R5YJpj68Qy&VW5
zs9V;D*YcFKv9U=AC{CI^dk!sHw1__Tv5)inWo2blRaMOy*&lhteIMGu-?D8f3>-Xo
zkaBbLI3J0;&e)#p3tsbQTK`ZtUgH|I-tqeN@)Q<-x3|xvw6t{YoA)^6YooAkeBW4~
zY+q)pm)Y&reoXS1Q#l5CA}ll48{5JAn4_&*w+cY17k@vfj}`UFIYPg4a&oAtsacF^
zoJU`bb7~YcRUvc=&6_u$_V3?M`}XZ)0TTNwFE3xL)qOr|BKs`oQ))B-!M(k+dE6L-
zaX-p2qhAt+Vq#*2z&DeH(-S97iv1j>Yf$99a&GWkQBfiKw_n>YqA%mdYh!b-J^BHN
z%gxQ@ztK)?Y&@-Ay_&Xc*~;}tM@Q54?c3?lp~F;JS;ciZGypR0VLW3_lai7dp0MZT
z=i{`tu})I+6BZUmJw3hrJ(K$k#W)_RF)*%eVPO$H_0&^5HuNzvGD@F6)Gy~5ukk+i
zKz@D!?b@}Q*GPUJjCFf|H;jALdw%72SMEn#gLd%#p+ko#Gc%j#T-`T{hZfZAyFY1?
zL+|U39oxkmSMogK-o1PG(ZYobDLXrx=NxN*{npXZNz<p#@c0fHzf%&>d9NHl&U1$K
zFkUPFhsggI#(9%#g=^$%{r`c!k0$cp@}ADlP61}|w07+}TDfu+|L-yT-h2PA)V~|r
z-*R5D_s!<a`2Dw9bNpXwYHsHL`Lk!wW=QgG&vOkt`!iCeZ;+h_5l-$Ojc_ug{w6w{
zn1=kda-ddEk#Ul{`-w9wY)y-ZXMyVc)fcI%VV0g9+s6kaC6l_!mr`@d96Hi<h1yH|
zXld;hN=V9PIJx}vtCS%?U|M)Qt=h1gPtPHIBRUZTL1;~2h7_%tH+9Zk#%)3fL?0mJ
z@7RAzGyh7XypkF^dEse3!H?9;quAbG2>X@wv*^^tXLLAWs1WtGcFw0GXRdOVdejTE
zH3;43MEgZ$^^}!Y#u|si0vckpQ+;oN7@8YZb8<(6lT42UiV$>>sT`-|(B53U{<7};
z4dK4Mdm*=b^z3y8H9*Y;F-~ZfkR%XVqifH-NeykiG$SgJwII*G_C5nqgfzEGa|tj}
zwH|;GXew^L@HVf{+=Xids9d3N0Yn(XlL9Q}i1z>|>jkg?I3YBj7Xmd*zTo44IRl&k
zCIA*}ZWOO(Xum9g3Q+gxv}iV!yYb@N+)oJRST6|O(CCCmr>L4WO$!2H8(JIO3pi1O
z7<j@7+Q4go4!{K3tL%bGDk^Uf^ZPo_m2L`WrYUjy55*j;b_M+{5bJ;a`8OF-9-ST|
z=4>@Xh0G2QZB=ejl>nCo0+e6p?*!%w+Pl)K7S@)?z5+Nq=V1T7#2~(8)mAq7!rJvN
zSS8lvW!^iy-*!B~=3n?cED8{dJ$hZVnMu)!S)O@LVBVEpsyoC-CYRENJ(ubHv!A8S
zhn}M+F1<%9c0Wytg?$Vs(fNxhwPrJ=*6yUfz3<V?4R`4AylvF5=56ZS{S}%4v#zT1
z6ju8bJH$sezevrye@wO8en53QeoT>VZ?aj}jOII3yW{7qF^QV>9>w*1K=ph6qF-==
zle}Zcj`5GVgp=;>9@@Qo57pJx^EGX4?JNj1iyyS;=os<$ULnxrvyk@KV^jGW{P3<@
zw~jV$+{7oa5KOOKyGF^$Dg47WWr`}a?%1(I2q;-X@akcJDK0MI6HokDLqLLH5fKqd
z8#Zhd^{?S)2z0n^>C&ZKC+e6pXO0j?o)7}q78Wi5EdT-t0T2MTZQITu1)+8G=FPNz
z{RWylcdjl-ppNa^chIIyoA??4&*sfr_#_smiRkO5O`ExWj2QwYvcBVbXaS%ZKsy^Y
zY@qP)2<qzU=J7*N#h4c_Ud+NC+QdAe?x?6Jes9~hZCnpdZ6V-b{xByycI;%q1?|tD
zKcDNvI53|OD)78&)oK>RFc-K7{oJ){7tbGrXsjJh!|{1`b`GyYUtb@ej$<8g%8WTX
zd-g096&3L{xF7w;->7fu)M+gA0Zi~(jurP|PN8+!x^){ZS+a!tDg`(QF7cv|mo8o6
zzLu1f^15IiF)tW%TwEN_r<_}?ZC~F478EgNr!$S`y1KfWPnfap*i&c^r~8;IT#vd?
zF!yM8(W1rl(n~LKdk}(g59Si%E-x?V{S0`Kf>vp1DGToy+nP0Nd29&@3H*J)ykj3=
ztu9=+z~7I@#5mCo_6f%Q#1n@Ywz|8!Y1y*nLMYB);Dw+EI4>(J=Q_~_KpNx4-ptC%
z;<a(PT)cO%HvvG<1kRc@i}ya}0c-Z^tFJO}qi*btxpU|7+T(kP{fo8sG<zB+=B<Xo
zQ-a=%8R6Vt>~*X!#*2ByH5d!(sI9Hz^~HAzKm;(v+~I!$<{Q_o7k$ONV4W~8*fY2m
z^NIfpyLa!VmX;QVHSBMU5o^0*#Y*1$SXcC6`*wBj1M&a_xF4D|_x&;4*4njec@N^d
ziu$qsXV0GDdAd&k6yWmZmtW@p7w8A}KIVJgym@r{_H71Rb)TvG0As?OVjn<bh&964
zv1b505ZKl4-%0_5kMbTvp8)8XORNjl8S@4J!gpiSrj0x{+>7r4+QB;Gzz1VTf3T0H
zO`FE^(bd&OH*VYz^(^DD;{O)DOZaYJp0GCZe=x=csK;6ZP?s)UMmu-z<nMf5ULNlq
z{BNkKsS)dw#{EEh_#cS=;u-zNKE!tbdjN3fa^>>>v0JxpiSI=P|6j!CfE3IPuE+l`
zd^b@i<_Lg@XY4ubRaM(OA`bD&2>G3iX*ii|P)R9%ou{4V+0zj%NQINLe5x*m;S=X?
z@(Hhg3T_cnHaszz7Sya4U(8~5h{yG{&0T!D3_%<MDa?m((jTXR12h2jZ9OWiq`KI*
z0vZ$u@DRw6vtr)jHFQV_y9t{10>T{tB&V>71z|Y`__Lrrd<LO6PBY&^KiazbSX&`A
zCuk2aa^==*tg+a2;56+ybe2IW&fv(b`%|PE&ARTGm~~~b(0%&SGh7eax_ILi)&Rg?
z0fPMIT}Q=z4PriCWJt=%ucYe&M)n;(Pdg8sqFo11v$hDp0gVeZC(tZGTOz>`LNQL)
z0U@{tW#5tWEIhB?w1>9sJD~!Gn2UoaF6nRrzyp||P5^)m>l@AB)<>tFd`2G++JXRn
zS<Fpk-Ao2XwcS?)Ftst9U@c*Gw_)28JnwoKT}1E_W5f7cJNk6ci`OEo?Kymo_W<rk
zds%tq^pt>+14o}!=itC;o(E{i*w;uir;9cKqjy+o<DNE#$o3bB&X~Xv^8rXjM7J3N
zx&UhcIP?#iCpi3LO%EKqDB$r8hB~Yfv`^_d#U76D*t5_Cz5Mp)=}ECpn0M8GD~-V%
zW8E&+XxD)=ylzWYZ)F(4=WSgJ#lFA6k-FkjWhi0Q?<6iYpQ2L=+?tc5V%oU>DcXAI
z78NxJA+bt)KXW=MD!ZGKOPA52owsS#;rD3njytse^w+5!aFV}`I<|k7>eqderj?)M
z4DsRY5Pypznx3bQgTJ8Wy+5PI-G4^09q+K#B%<wYs^9%f)|M2n{{a<m_){torN3};
z<j4^gL?8e|pgeHkfDoc`SlGgk(ZPdHh}YS)fByj%mQJ2LDat7p6y(VtPG9kZjUVXw
z^ZSI5*vJARerRzD2ccL6oEF+GessG9oInU$ym$!<#<Hyg2M)5Za_ZD+{vlnsa1qys
zA5;jG5LzIB!Yl%UKvPo_|F}a)1PDNQzz->Yj3KBjU%r9`Y`_qH?Bz)!ez+m5Lg0dM
z13>{}LtPjL1Ob?#K*(9LWGT0gdSL<r*nrk%`SRubjJ6<TE?BUT|3;r7JizR1&z`+p
z5AN^n?PZ~^s;Y|nj_WYzSPN(xAZS1cfiR2yp*;wVc#YFyKnH~4y1F|3a|k2_1%(WZ
zm=g#a5R@RGL+HAA@gfU`5PEQmeq1{#MtfKj%sVt(c!t0Pfd}`Yzjz;Ggpi1}!unt=
z7y|@p%oU!c28~Ui#53j-C-=?Gt?bW$>j9t;{ICw#BY4KWm`ezK5XLTCIL|^7+Ab+6
zVPOd7cSnvK<vw9wLZHGvgn<0ylNVVKgfIr-6z?Y{Ch`~oHJJOB);2y-uc@i!_aWRt
zFje7X3k#~)lYmJS>>;c@_5g%Xz#yPPjuCA^SjT)r%YgN66>UJk!}lm$2*LN=_i=Gg
z7q1cOId|?H_vi58!z^rKd{{%g#`g_#g*n6gU_9#gFI%kj6Ab-W8wltCP4pG-qkimP
z><PDT&o~w?p*g|4N^?5QGv*h<Cf4-u;UoMEpj{&N8w6PZn))5x%Y8)Or50zI*aLtp
zw2kjM?g!9dF9H&9c!52Q@k4`&@nW7ap9>Z&plUJq*qhh~SWo#~f(8X3jIrRmcl78{
z{?6dL4{%0(m><lOY!~|i_eDlV^Lhey0X@)Kp^pUx1-$n$Z}|U%?>-JWR501i|4XFS
z7jukj@xKq>2lN5|FYx~e*W&w$`Ne+0e4#&$jm`Xh!@dA4;(dJA=ggVQ-#vU+(GTn`
zd|&W?3D*PI%FD}m4$v-Oq)p5_pbPVjx-drUDXa_j0G`or{2yDtem##J{lZ$R--UAC
z697_Z3$gYX5B@KsuXrD?u?Cm}e0Kmym@E9B#CHXI58n-}J3tKof3aurKOP5ASQGT)
z?Adc-{hRpztz(1&BN*VsVd8gU!%07!;Z04tM494o^6&JYr^5&s5>6nvL#Tx&0H#8f
z^)o#*1wNU*WfZ5BOg8gEJMfJFEI=TGUH{`@v9xCMUKYS{!VFM=?*n`)U;>7EAf&;B
z2|xqk6q=LuTMyDsA+W+%0{tr%f*}9|z6lH`S_CdQCRa7gWUY#H8kc|pGo)hzco<AL
zQC}LLYC~X$rU3wf`z18Vu*8572<ocOL<VbZu0DH*--pHkbphg_#eun3bz=uTHa&*T
z&>-9+q%Qga=X3NK(Z!%`06;*<1$<zRFiyOOc~H%r(ikMpU44O1?&DLkxB$9f4g}c3
zJ*uO8D$gfO;GPgbG9yww$%pm{Z~~3hmOV#l)AmDZ&;gjENyqwl6;4iExaD@N7oQ<K
z^W|Hw^1MNt0IkB!7vE-+Fw8mbTeWdFo3X`c=52D$QP1I1SJ~ta?Xfu^z&9Ct>ooh(
zKr@8<0A2tCnA1%a{lqw+Nib?QN~@dMG)@me?4kX01(m<VDk>QIim@SB03ZcgB0wg?
zu=pGxi1~SJMl5SdFbDWf0A%nt?!o?vHfT<uH3M8@-#mHkHowMNVcgKjV7)Le;W5ct
z0Ek>2PL7?wCFT&ClT1C&NxUc-1-0ZVX?FXZ2sqhv;3_TIbed))RZ>irfJRprg=ch7
zW8X2_bn<<QDiG~vFQd6T-=SHX-=wMe+o^HgJJhlBOEg`;$&9KeRn3XPAs*4X@>hJF
zs<-}_!kX`}=A>rF&na!em+0|^*V!R{TGJc-h7<hwL%8~*Kl&&OpEy|+|0?-M7C)l+
z(Z&B>2=Wlru3x{-8VsC{OLaefSRq{D#}dLU1Z~_4ApiwJ0)F7|<BuOooGju87C+WF
z(Zy*yP8lJ%06y>|jJk0udFIR+{*gr=Ar#<87{U$&9P}SQ@DM0)@{2lfIxPhad<J1M
zJw2U;=?N25(;2jj_W>Ia3?Q)MbQ3?u5c(i+plt|Qr~|?Q1Yn#hLTJYQ5NH5Pr~`8Y
zp#VY}+Es;#Qoa}S1YsP)8crtxN9aEUCCm*3AhZji3HRV$2v%qt!W@JoT=(FE5A!@i
zC<in_Xu*0wSOfS0ATZ}xTdV^FdbBUiF>nG8Ap|G>00O`g1WByN&Yin>-q1$~fe@G=
z%wSHiCYT?z17R2U0LE}Cjq6l19o07jr@xq2oUo&9^a(;SPKc!@2J3*=5Fk}pt7cO{
z>^saU>cy!yK7)X*o+{7alWmL{KzQGM_cM&34(t;^2B0D`GLi)>MR}C(!(IgRtXj2-
z_j5*u8%{6=fE(IHTUbl173xRdvDR2i2<@sVk@}s%JYjwTA*dh1;$x3J#^0l9LePbP
zi9Lb!#Xg5%ioJ_DhA@luh1LvvdCHW>bWI>Y2bv)4easIuiO^I*dxQOj@k2lb=wN?h
zZKOs_!U@(K-xa_c)(Ydn7_f$bbIcdof<TXJpm73R;X4lVD1hU+bLaUzIIsh1old6?
z;Mkv6t~|vsgFOnEfItq2#eszce9RNpvADRH=L7oz?I$HA@%I+rIlK>$hL!?rfIR?#
z8uw!_;Tivr0L++c%v+fd$gvjiEdr!rzX9~ISFvWQws1ddx*(vV&2{V6Gk~E!0H^wW
zn80(4@6FVyQ~CP`trz~csAJp6Lb<Aen#BDFfS?Y1&oQSMJN7Bw!+HRgu+MP7fHi=&
z1@i|0!x{se04>-Pn0L$r02=015cr|p!QKS;q0b-r$Vd5q1J)i;0Ehp5d-wBq2;Wo8
z9qz~e#32S=<2!)=g-<^DB=-aBihU1I!W^Qlii%3!>-er<-{XG?_WU3H(MNcXVVoF0
z))4=r@qZBe7JUb78O=xinsZ5r86=p2>}+A$6|7VIn1z!-k-EkO3n$h&H*!qF+!_-b
zLV&*Y;yWzZ!o=&aCa8Jl_Q(ks9SH(9%#EIZ{e9Xl>YTS^Eo&-ZVg&&W!X`|g8r$dS
zLOCEH-Bm(ot~|#+5YXU2Qvo3v^+A{`scL4S&!uTjWQgComM%6ALb%%Yo`viOAy3C~
z@_#|xvqA{)aQwzeKFp$EdIMh!*!jbWduHz<%`_=f2%r`8^zBcu4*`UI>2vbjtM3cI
z*hll=C$oGb`zHW2V4?$I9Vh4b`{~>7vhdA53ZkDleTN?iv=LmN5aeN628e(*0rdgi
zAov1QFn3p;QO$@XIN&~92a_#4&k^^n-Ex4(2VlA+glU+3K~wYQr@qQ2N`S(h2T$?3
zGO%e8r&v=Z=6$A^E0~uVH2~-v>Hs7{xIS|FDc%b*Xaa=sb)sEpozyzj`mi=_T?^PJ
z2x9?w$*{}lJN!y8=a_E@_Sgq(?j+WxPkg41XTN};8txASf9!*&UwT(F$;-CT1_qa(
z#9MoUHUOM2y#8t0^TautvtTttC4xerZ}3yvw)Z%%G5m;Lc<s}y?ZKGgs|1rY_~~HZ
zHO-vMJ|~#-lTSX)=3WhLvjzCP#q)waa^{k{uVK2lYU3Ubl)z?O2^myg+fG-XdrQp0
zS}||4#rLCt;UpqHi&k$wLT9hPL2+p%6qjBu;G~4MA9<Qq?|hOXoOKkJGmGMKyD2KG
zi%L6o)3&pprTT>zsBzgf+J5=_)Vbv?npU`rQku`x{6pWR`VF6@f<<pr>B`SiZ0n2c
zb29Vb&nc+~p@d(dx*b2I!qwlVX$`MY#-guK-L79!*3z$2#^SG2;o9%_8&0lWyUIUk
z_)%0()%WoUG6Y2kED*%-gM}X|oM_@C8mFcB96yK<7NA|g4<iH;oZ3Q&IdS3y|ENQ-
z#t%I-FgPW}4=sN5VJ-tf4E?~5H#848*~7I`ScgdggkcCM__2n-2>`*h5dI(t;|Ci3
z!wDe-C<p;KX@<Z9;T=K?e(YgVBJKL6HVA?hg#Xp6*RsHYu>vIULkyu{*RGum5&$m<
zV-Pga761x;?&|8{de8<=B%v{aaI<aORu-7hx3si07QoP7^dEBt!5RV@PNwl=k1+ul
zARII_)U(h4;jz0*H5-yP-~g64-+Yrz;!v;#s2lyl+Cj^J)7I0c&#<6}cBEeh)(Ydp
zNjl8B0FV$~puK{C0^ta71#=k)U8=dyS{76>9}qw>J_yBFW1RLwfJZwJdLbNRKS4+X
z;Gs`|6Ra`j2m(8VAUtC(A#9?r(C9q>{PS$C0xbdRhmelHG55F@CUH{e#xn$LXoX;s
zhrNV$u}`oD*jEq;u@@oS;*=Ny9kenSBjyq({t(bH2CSoM+O?Ts2y+35#J$)H_+0w@
zVE<s=u|EN2B|<>OoML|f^6)v{N4?ljfF`T~ghK2&)Q`P^d4y1nQ+uhsf-nt%5<)&S
z0)TP|!sr{`@9F7g;Tr3JdBN#61Z)VN=pV*~wE)aOGXvqdyStZ#czj>*j8k&#7pyx3
zWYmlGz+7ZzX7ZkZS(Ivysrnq?JBc{~*y38O8=wsTGXU(TPoL&%&YwTe?c)E03_5{5
z0I-4P40{!a1o$4HKOg<*$5>Nz{`>_N)Ukf}-+=q^-G^odS_i3l!?*wsm|s8%U<UgH
z&<7~OcMbD{d9D`%JN}13$i^CC|6!f5f26h-Lif?5$9P?_&tYzbwlGIK#dB$Cx#oBA
z2!EFW1b_g1AF+?|oxoh+Z@{Li&Ft1qP_ZZQe+L?1d<L)tEa86^AO?E@ZQ_3d`iXso
z|E0-dO|d8N{{d}bO>sZkL3>zx^cQ;>|BLaz4(o^40A%(5!U66J=2P|!>wtB_{}8Mh
zz!BHue>~<K?P2`*-lLz`Q`qMiJNk(|fa|d5FyD6-JYjI*#Gl_uFcG^#0#5pqfH9ab
z!hs@nO)`ZOACs2ga+#=ba*87mt=YU!2-}A^x|9@L&3so9jrk}%!o#LfZBr);xU+=-
z3UeJe7|Uo!fD=S6f<J?P`p#xN8B|zaPn(4B2Z0*VtW=XDwSN%am#*H*C)hAelJ7xS
zgvkubjsvII$zDIT7x&k-^swpBav?}U0|5aX0zI6^A%H>?0CO#wc|Jqb4=3>2=59TL
z7BnR5w;rI~2hVUD01o6)LBF9LK_6i1G)oAxFcCvL7#Dmr029c!A|Xs>vxgvz_7N2e
zQPSWL&sv(|TGobe&K5&BXM}EU>lVVo9`zmw$MCU%z>N9EoGn?kg*8Lf;x$Z-5G}21
z&N83e8_<T8)wJ;S#x`VVV8EdaOu!l>84_3A2MFotU93kq!~0lg>>s%f(7@#t)#z)E
zWQ>bNTe}44Gzln$$sO)TU6=!Q%3rWjj9G;`fE0X%0DaQ0Bf%uBaG?Ed6*e1f0Ft1M
zTD)?z=<{(Ng9?-aMoViszyJad%<Nt$_Um@ucYs&yU##i&eX2GLzAMoBKzjy1BI&aN
zGexW`ObJ~@)wEhbFwE}&C#6-*46ev?0$>KL>^yi@e70YU)|F4uNiLc-cNMMKdPIej
zv@(iLEu+qbJE&#$7K%!*r#P3IAwDj5Hv61Z&pAeYJ6@%h6*sA7(KRZaca_3R_j0tZ
zl(wg+Zrx|7Vbhl=fAM=1(fAC*NztmWQ0%NXX<GeDl+g1@Dq8bhifDhErZ?RoXWtj8
zXx$H}aNVC!=8~@m4JQy-A;jTF48j6_oFFJlUk02iLwLpyK2EIhK7<DRSmMMM0u_Wq
z{Mh4^5JE40a3N5kUI?`^0uTxW4YUEF074H01qclgs-mJ|SfE4Q5IEp-fHrWt3P^y-
z5q`LF8VvIi2;%4uevl!s;BTCo;s+Of!Vf6S5+D=;Bv1!V5G9=8gjtRi_dys3I6<Jo
zNik0QA%IIW1_%QH2#gOWt*8T91N0gFMY|X)ggR)EAc#O<M&Ix`+Q2-b9rPc98h-3$
zcvJ|f5FBs{I&tDe76@=Hgj>LxoI_j(fdO@54$%(gG&WXU2MC8)2M7=74^Byqj?EB^
zAXGx|#ynyEFb0eTC&zHahH!@QVJuin03!N~(`T$dAP4Y)^~K39OnFe3ban@fVZT6A
zg6lCB%rzXHbzGBg7l%hTjAnEXq#L9g1O|dgcQcU^1*y>;IusbAyFo%gy1PS4=~TMQ
zcfa>f{@b3<c<ytbbH3L#Z}A-6E{nxpvyQz&x~ea$b19dog7k{{?&M~3=0X;2ox~f*
zhU)SK3!a@`gV9-wttG~dB0w9!KW)Nrtn91)O5g(H5zW`mvX+GTB$v2TEWo-ZiG6Eb
z_99jJD)t)i4p`OG)8jJ$tq|*vJ;s^`*eT!B(9LU)SKbAd?cAY(_6QF8O|9vFYTXb*
zBai9sFxSb?2}I}v9O<c<Us66%pR_353_K0kpjU<ICDke|hxrTrHm0WM%=rg#Y5{Is
zpCLw0yTkD}m1Xy+cj(dOuV|~feD#>_Qa^w0-c$|N^B{q#W&Ko-z8xd`jTOMOwJ&`%
z(B#QCPq!BReyep&wmwQW`V^%_>uV30On40Q>9rh?gWI9o+f<zdV;n{W5{qyJ6wm67
z!0Z2sh<$t~H7Ya@U}=1r8qXUkWGlb%LtvL^642S>KW&8h_@$k{iSZuya{cM->;*RD
zL0-YCrs^j_34vYD2Z&h0E0P3&=nZP78&Ca+mc03EYs>!0Dz?@xsl>l5#cHH2OstRb
z(?4ks2GPPMrffUQwQF`3jD_`&qiplkP{3cDgC5y5JNn_Ze**1?zHUeUd4wjvcnKua
zMO8?D++{=yZLQk}2zqQt5VRV-_E@z7Kt=+(gA;Yktck;C>}0Ri%6ya*>InB?@aH#3
zb3et2?Oa4hQ?6R2{0ulZD@%l3T=m*#DnE>)T#oG*f?hl|#&FER+LD|+`{+xt%3q9(
zWEXD$i^z)+>5yGt<#FI>lxW!J&CTm3t7%cN>WAUfKs9*)zVI==lLmEX2$wTV=n9q3
zNXt_~e$1Zf`L47xC>W+O>QwOSt29mwYWc=cLLzQ1+<Dvrp8U22;zit=->gX#^JX9o
z&2sE{_WH|Wp?~;J`3uOKxmMvL*?vDcTYcGp_ch`NcZJ`E(l8~$e?^=m)eNiEoc#*>
zX4PagHj}?|@F|$?e1K*k=DDGK4)xDqOaw_1Qgm=Rl%8vFz|PoUZpg|_m%*v*Em`#Q
z!gN;Xk9u>tetL=N@TB`byCK6KOE7bBf-_i7S*JVg^`IPhO0${b6Z0LCC5ZhKi(DOo
z)nJ%w*hJ@aaSX9j5NC@D7Pw}?`zStjAi4>}^?gspi8<&^{KC(Xqg?7)@N?HJaz5pU
zixwyDihc12i4G+Zgk>SBn4~#Fb|MdnGv2KqKZTRMW)qR^E&c?2GF*2>?}%d3#HA6|
z|4PfJIVQpUcgj<?s!K$h>?AAx<SeI%(nFnGpN(qhqr*EoZsT<k5T&NtLx@5M+zXdX
zcsTJ*53hcLP#&;9oXG@vw?0c98oG?RLz+}#USf2`q<}dC1OOo)PNlRZn3>la>QAE<
z366x+5c>H~@z>EZ9QprHZ#6)^yd<bkvmw5~0V!|yZ;M-C>DAcM>(f%+iP{~E5I^{N
z{Qb+MaK;ZRVupe=)d}RP*f@ea7BIiBf5K?pTv{!w<AeI3_c`|sA7=TRtpw$#cLyb@
zZgK~M&dgm&o9!*gn70`xui;IWKJ%{|C?ws!(h@DI+x^0~dneTVz4aV9_;I_f-zT}d
zc}Z8d#OP4}qT%yB;CSdb-ZS`PlDb;d=i`xMxVf}Rbwy8;M897E6Zl?bzPnwWLcF<O
z5U0EC*Wba%B)N527+F2Z&;0&o;SBQ4tWTtO_V!It4No-7)7K#^EvXk4C#}JG12=_@
zFM{62n}hE$5;8qyQJ-vip;~0e<R#&uGyNtTqm*Im`R?Flh&YKLVfri7O7iwUz2@q8
zyVHkYLCAIROtnaw{LtRpZzTOKtH1H0CO-5^I(a4e9>0{L`op#;Z|C3t==P`j;rCyL
zF}H9r@Y4gNUj|87CeliZ;-g2N3}U~9!836nb$GAqzj950L0PKKuaBXIW17^`X8u{m
zKeRJbFYhzwS!^oF|D@m0q_JlciX-3yf#ZPlz54g<iBqD?>f`45cDq&Hw%w9pdPlO@
zbrq+t?P^4A&hD18sk)ZaWrT2<5*17)_{6*+<O3J4QZ+I8C!VxsWP=Y&5Lc9*=qk>i
zXLr9GoQE1BNBYt#^b;+{9P;ik6z_L16vmnJf~34<V9V}j>IUkM=KKeY{dLmHt+bT{
zQjp}sf^f2FL&+FaxINW`r?cQ?3Kbd{6$o+XM}=zmj9&;v@NgITVyLFREi5^+c#a$-
zJS80jS_SKb!FRb@_f=n7l6m|;9|GDi`#n3n%;<0;+)HBc+MXc8{sDL670{6wLx?3A
zoF(Zp;8N!kgw<DUft*K=-b#|X3o$tPp~;HVWtCO1xz#Ffr@y`>B%U8~#cnN6KMYvV
z$J-CUNyBl511cxSSI0gQnnFP3r_yS=*q*l*T`@8bK9Rgb2Q?AdhLNI1!1j*G9IRi#
z!;}C1(a%a5Vc-6!LKzDPzZe9dV2JAKR1kBj(3FQ!hXV?dx-YY%N~;oGclFN)s<E*W
zPr3JRQ@)rva&O&@Xpu_NS1_#!Yc}n&&`XC=w2tLvfYyi7$tSt#98CmC^z+|3+}0mU
zxpOLPzq^f~oM{j`uNAysLBFY38zOtBef7EU^%#ERJH4^f`1Wo0YMKMciwOrSN@tU`
zrisFm$n4BT)v}oEnFV%I1c$Tp=-u{&_Ne5sBXkFjJLeU=+tQH)AWNM6vP=3RO-n8P
z0GMqFIRzP}03?T8fz}(5@SiJ-6!72bwGmo0ki58sau0pSaQF<iWb;uZyq}t@V&4HD
z8l*~rfvg8We&M4-Qka7!!zk+`ar9S;|6<(drWD8YBeA+D{A~G_lb61%-CN837K}*t
z1K<6_I4&>5Z6(fES2&tj(x|j>PLfU8{dIl+M#hgMMvj=`Nan~OvOr$(pZtkLBw7zt
zaMM7^x-CWV?*eW&>JgJc<iw*rguBoo6mDL{G!d%`>#q{PbM&s%LG+0I*mP`Gp}A}O
zU%TFIf8U7xj+U>C5*g6PfbZ$XeRkcJx2xz0X#GV?<?byJTw_aQ?AV1fD`nk5C`BR{
zT9!@zA?a2urhSKF1qV}J-jpUu?97W(B7-eBd5bUYKEtT)(SbgR+Z^FMR6v3U(7PiV
z>L%S9oi`Vm5JsHeR@92XcDTi0YJ=!6WUlkgf195+W5NT%b_$}!z;7i(t}s3Hbv;dV
zP_ifkm?m`(iaTzL&yK7(kARmMP?!*)Fu|o#Q)?*I#5x}>(ixR#$-&H(0#(3Qat=T`
zO0{I&f4TDgiPaLW6!6-sS%f$_Ft5i~FEpFg|AFJbisQI+NFC8aBA?qXD3A*!(n_Z9
z;XoKKN!J3_I%V+Kl%Bdlpl)P(jROURq2eM>*msc{>|XaLJo2tpt7+L_PEkf1cqYF=
z9fuWMOkyp~CF-u&rAGMP%kOf461ivqME77e$Wt(774a577b^GOCMf1N@a7XCdJ&rb
ze#CZF=0431FH0_G^RJ|P-uiwjo>^JBm8pUVTv<d!;=4(z)&i3Kd7wzIR$W#2C~YKM
z(itKu8ROl&-rG}AZXcJrqat!x_JcLH+JssZ++t!hvg!&^3-b%<(=1R1g)sR!U<ThD
zU*TASGK<$(cy1Dc464@A+F5QG2@gM5f!2>B+Oi2f&Yb00-!FOy10_#^Uu7`gq(+_m
zb^D%l(jq92-%s5$Timm@m$|m>A)s4Y=&|o+xtTfpDNv+Ux4B`)Gk_{Ph4SYL_nf)!
z)%f2H9^aibgb7IZ*Jgu(UtP1!UpUqJ$h-DHQKiMA!*vD=9-4n}1*HbY(&6OJ=?6yd
zx=Mw$a`hmQn^^WD#P3}O&GGDxq~J8K^r~7)W7EIV!B5IhquUh?zVk&k?NM0MyX>jt
zLI)n*i|bfv8e^Jj5!hfcLhuPn5%pgE&^8;cgopBOK*2qlueOCE;TmY*busEW_IQM{
z%zq*pS3ip|xHQTU2n7a0lvFg{6P~&RP3|ytA$p0_|9zR_7+k4z8Bb1&<zgeGc;O+Z
zD0goFN<Y@*QZ5*fA^sw+3F7?wbz}Emv{FwVCH<@?@zM1k%P4pVr#0d8_?quK?8(`o
z6gkG;pN)#5IxfKvrs?&AcL2#>-8qCD1o9L-GfdnmJvcdeRmzk<^;ekD>gt9giCvLW
zNyDy7d=X9ta6W-9vP*}pullNwypZQKDK3dKnRv3*1&PD1%R1EpT+p1ztL9gh(gxMi
zHR3}eUbJMAuf^V-1(;-PncNrL;7*h2tF9Vv#@-Q+lWhJqvoBhoI{tu7tpPZEwK`iF
z=?@wDc7b(P?sj(g^Z2Yo?duYvGf3uXM?8&Qo{?6FX)M8r%U-#FUsrNyrXC!DT~}p0
z4xAuHz2n}F;n8nc)T!*h76ab~QW(^v*~Y#ul>>8_aV?Eh@RS{)7yA4zO4})x!pjeb
zpA;>lLo6>v4_%2~dkd2lU*WGd_(dy&I1m7bEnO$|$I>=54f=fT8BdAJct5u|vb;^B
z$e%72pyfmHQRtGcBwos4ZzQ>aB%ZKx<4fncv6csC$U~;m$Ycd@G{f=I&y`UBRY*ev
zl%*NJe6FUP3Y}99!xx~C4DB|PM$0L2&(OM5x>?ZOA)=+b5)xe5EFDW;N_<0XWBzJU
z`>(9l%}0o!v-a8U#W0B-j5fS|jIXpX^h_<O;tUt{-s)eNZ%gxvgUZrZ29Cxezf}<m
z{Sx=I`a&yiLWgmXF69p*sPsg99W2q*d*l|DReHcCdvJJ4{PXa__1I#VCDFlFRSM_m
zc6fSMzl~GNJx<IFJDYg3UGE;jx8_CFlcfId;$FB?Ogd63>H3W2G*YXLzdko4)t|5K
z9TSD!V+&L4`y`y7h#P&-;b)eNu?MsGowxmRzERe%?=wq}#n_O&9J|gjoMH-7$n{PA
zPu%U{8^}J2jMr+O`;_#RsDy6DqDrkvB?Wvn7YbRC1DEZvx4ij|4OW**5flZNS_r&+
zwMj$-$;ubJlJbjj6fMmSmqk5cmBSXE;*nZs9Jyrp^<*L=g?{K~wq7ymL}23Atvx3>
z+~x2;j1jmF7ngp(t1?uyPc+)Y>$fosj<zlN$<YGsk)jpSogfF+HzR%1WPyk6TipO9
zMFDT2=p|YtI0QiFgFON+m3$^2H}8_xx15DPUNqBqBRb9TJ@m~NyMqsvYJr$jA8;=Z
zVgeh9EpG@xEof>Q1-Nv<D`s;)H5>Ta2q`By?Y9kYKCn|i0$N$p8N<{O_oj*3oJa0R
zscbDr%Vw%vp5+yHwb?J6cj;^g2r(xRH2fREv*sWLMgUP@kC@3VC1apogPa2)h`yJZ
zV_^F9H;o0+qjLXMUM#2Uo9tqO)#&j^KltK`r)(#>chap=b~1>;jpHEMxL+aSNwZEg
z;49x!=Y1)ec6|`@tN@u*o?O!D&D7u;BgH63tY^TUL1PK{M~>13k1mdNh3q`GUH5O-
ze=D?-qi9EAYCLirHF)#~T`ecFD~aOrw(_~|zVZff8aP&b_TL6t*S)iF+(`EPU$u^N
zmux(iw4;*3bT5r4Q@7%ki1c1%!|PjJUyM_D>rHBy^i`&$S*Ux0#3-`oG+g>tQ(lTE
zeU95b@Pin8+rEnySQu?7OVkV4gr`h;eaWM%a+L#rH})o5y!*ygt$#5p!R5MRmPLG8
zA>{|g9g7iG6D10BU=^KxVvgmrUghCbBX%Hk)r!=>CAKfx(u<@Xj`HVwQ$p`5iO0Dx
zlokTV!6t`P{Mo6@gYJ9erTg59xO_Wfg4I|V|I!%CB+#zs^qZY;3y=7CnX;G!Z{EYH
zayv9(Wp)tv8MPQ%qCx79Ky%UuZHTlv?;CT*d09%n`v~Oqn*>&P4hobnK%VMK3(6u6
z-vB2kr<?VDNW`(A`zS}dQC=T7nsV=WN69H@VAEe-RN6=;7oY4`k(Id|<yN)N&92nK
zy3j+tktX%R#mk}<n&!)O)_ik~SNd+=)q7gpP=f<gr*rz**yqx_)wafPQ-tfOWgJW)
zzEDvCTa@`o?uX21#@0}v+sGS6wyJC~C#j4&MT1Q;bkQAyaXL|@G^5#s2Bg@Bh%^b$
zi9g$f+JI(TAr!S>i7)GL`lE%vp6QHQ=K1T>m44SC<v|rI@D7Gg=WJ!06L-d!Ta_VU
z=MoS1I+)3*qTed-)VSAM>U&-jSPp*3IZfo$hfZu}^m{DCk3^}w-{@Yagq?c3IY#j=
zxqJ7lLLJ_s3Pa*z23srK=*)W5-`RF>y}^OSf=`WEeHARO)c)nhof7jzYjZz57&01i
zWh=;;u^;=N)Ppk|$96q!9&@=B{~avv#Js;#k+#i#&r1elJ<=Q^*VAX6w`Q1Y5Xc+e
zk#pTMRRyV5Qe?l>aj4`eErN;|et26Lo9LFJ$K1(YtviSOf4X(CvTNw&i%h@FvwO?p
z3aRR5h7G!`!i(EugQbTFJ=+N|cVHJachw=BVm@F%9g402YMK~Y#Xo)_pLa^w*qGOG
zNz_<(hkJwhv+q59dxoDU7h8!9fzLU&!@J7O=!||Mtt_~DlpyJ*EDCHQ1sTorxlP!z
z7i>PglB#|8)G*1f05rg=;w3Q<=tRR5W)k5oJ|2=<it;csU+w19D4cW4`xQZ};BdMx
zr-0GS(<FD3hr3Si_+k>ZCdE%N(S)re4k?w6=!~6lyYeSpK>zx=!JnC3*&3^Wrf$wG
zvp_iqJ6a(}SMvi@?NxS~43%vzgI>e)MaCgc^48JF<Uq#aL!fa&k@5{)U^yu|fA~W8
z87EcbsT`op5(U$FC9(wfuy!1ex)%BeAioT6Pqx85OiBC71G529M&F}7<Cv>#jhs|a
z@QrN5v<~&-qs&%ZQ_DufX~OQ7oX7ECUdKE(lz4C85Lmn%pcP+g2vBrT27k{_0{1;D
z@DLB{(H6o1klBC4q3KFe@8(ng5;pXjw#ux35?Asqa4q_Fpv|}cSC?fe#UY_W+(Nxa
znib_&k;*`QWZ6H8d9uGgxFunn*iwcy#gmM}?bL>%XAic=HcUR_W<&QhdXcCp`3bEz
z!a}dl`xV!b%es#dxe%wF0LPD?pmv@30YiP=+M(u@EHhQvxJEroKk2^baf`dCvU_oR
zbyoO;G)K!4*Ymmvva?>xp^Qz^N-bAN!33Ttc>T)&ciX+6*ZVe&^#)xR1nO!EU3dB~
zEQ0b12y<Mt>T;jU72hIT#ZdQ?X?f>dAfwo<a^^F;t#?MXEFA3l%8L%pyQZL`hL=Yu
z>7`&Z<c;J$2@(^|w@UYV!{&^2tR;ZCzr%$ZQ!RhK*EtU>gaN#*Z?-Pb%2yS&Pl@>!
zw*!!o7wb5$q5<c}-GIelVo*?|%$>{bkzlH@{|-Bex$;=Dc!|ngxPFjE_xcul8}5IV
zcS#6gT<m&e7wYwy<gbsuDri(f{OLsE{N;2(#4F@FfmXsNlMDh%LAFl5XuvcP+yx=L
zGF^O8uCmVd_<>k|>nChJ+|MLsrtH5_V<B2|fi5CzG(OCFbYl@pvTr`9aiB;JCM^cQ
z+<QPt?zY<X4_Tnw)Iv*9Vd`?!PC-klR?>KcrxINXcwX}^e(mY%7ss37@b|;6PG@cO
zpT;oXdoo#*Jt^!7U?c(9F3^INXRu0o=@rVSgg#&`SWHcJF@H5OA2E%ajaNd=k4VqM
zYn9jxtH<a>`A)I3Sti=jIF5MiX5<?(Zwc8;H||5OmiwN2{1$ZIPLLUZxtLqcO%|#{
zdw%sXV&}ZOu6(&neJMuZ?3yN(D(3I9NTXZq%hdiVFweal^Nk_Cq~}W;2WheQ{Dr>Y
zZajj$xd4d1S4L@-6Zzb`w?(Zj4iwqTm0+9rb!Urmt|I$3U9R=$GI)x}HRTKBEpNn}
zW#P%483l^|<8TqEK+0GBZ9?-5Ny1foje*F`@F5aaZp}1fW@iYB;%#-74+F((glGGY
zRcJR4U_u<?tBcz>#gXxjV=>upe!VuCG_0%g3ft)oE?{$4{P88T6Z&q3&E>$*eC|bp
zr78K$o<47d(}||k8V2|e03Z4FoV&GzpxTBCv&*0xJKXCAx)v_~TrR;jq9&TlNRlJ!
zBx&Yg<@0kY)<rxiRZ5vDBiwnxv2GDjn$xAyRu>4x*lbjT6gm~NJ?+@%$&S{I=PUpL
zkNY)D4Tb2tf`9S;GA3o>h5j)xQXgWLLFK*3WRhIk?%IQ-mxFSIUxS46NC?@`)7I!n
zGn4z}sA1%ZB^=?8rb3B(zCKkpU$JwU0MVz4P(TRd#L3H{Q64)Y{LxD0lYElNyPAJV
zMYm`x=#xK-l}06$<a%cD4w)PHO6Yd<jDM&UADe68IwYj;+z=b1W3r3<;U_(x8V2I%
zh5Aump`rk8iX)+7!=rq=j~KXJ^fkZZVERsupJ-o>?+X(d!+aF~<pzdP5!*eR4+XE8
zUJyMQ2<M>fRJN2x-LJCGGbKm0MK^SPw5d8+Omd~durhs3dd+Z-mY|sdnEHGmJ_R9#
zepzy=2EtIY6?oZB^Q&K6IcyEdWcKK4FKwrvar2jd5+1>v9Q~!!S4qeHtk^69<+L?%
zK!gjG?TBuV2Y<26a4$iSqk-`lstuM}uer73=C_gmSo+?#tBWAo#K6bK&X5$~KNkHz
zOuv(f$e$aZSFQAfmUxkLE;z@(E{az&ZvODkXvstPoriGWY{dxcEiwwbXMfzg+vBrs
zX5XqbJ1?d>a=7k&4=(fcLV;5)|IPgf4_cI4C#H6&M>k;?9ceYQh7<leaVUQ$pa=p~
zT89xU3M4l0=n&F0fs0FC;D+=39F1C6GmnG2hYLln;j6!0!N@7K>slEK{q}u+;Mpz~
zEH^h$j-WHfa)~XCcn+6kj?L5<Hu_hP1S45f(FC;(@ZgZb4*=|-(}E-?>{^HZz^umY
zgw+bpM(Of6hr=5S>x;fbIKY?=FlcH75{;Q~4@#`=oD`z5F_q#XN}N634#)y9aJMI|
za~Pa4cX)qwdM8|>b^+0Fw~PsJe>>v<SadoHZkd+i&SOO#2|ohdsONF~S-*rh;St<U
zmb@FYszf&xUvn0^)<n$a{%ay}gr=#deYVk^K>R>HCZ9;aD7=gBGkmvK6y?#X(@2O3
zI}x7?329)Yf2eQJ6b*LB?uml<_xb1E)M&L@&8&?1lb_&J(kB%MQT0&m=&vq|xmu$c
zHUB(@-Y%vac0UP@Woq@VL<bdY#n$o_b(fh?9P&<!^!A|o{`K(B=T0aApW!amv$u;H
zQ|OSDsTS0|Wor8eN>~$Kq=mXm=I`~FQ<wy2b|1Xedoi(`@?5=BW793x*)MaNIv^y^
zshw?Y3zF<H{hN23?KVt~HaOr5>ExUEh|vu@4P5%s<4`*;WD|~v{Wsz6dlS&paVIQ)
zk~^$sJYOhyDmjuYOBk`fm83)np<qLuEH77<w=|yjf}sfVB;HjjT8gW6jgeh)hcx{@
zkaqrt<i;zyFcovJ#)i&pSB(`ed`NDt4h$Q;bMslnR74<d0x*bWQkkm{PdwZRcMOJ(
z9N#Qp3N0nve3pq|0b(ea=Veb0&x&4uqXKkuhI`}g11}O-pt6veKAN=@VrSSSz74|?
zEpCr6y}O$hN%oPJx<~fti6xAyi}>;DQZ$W@G^T=empSgYJ$Y7(b+P`)Q#)SZ@VVBZ
zOub=?OX{y<-Yf2qbeeEzrzX}yW*53>r_MYMjUt^OOBl$q7DnRCytW(WUn_T#?mS1o
zhsIrrI3~LLl_OQsGl~z5x}W-vFO;Q^=Iu;=9w8P=)kD+rlWuA4f~13R6z3pP4IL1A
zh&mF91TRBRNaX2farp4+>Gya#u}qnrg=&8JMsi}h*~t}tofw`a<$U)ut_i0m<PrBT
zUcK(5z1Y~F&5vu)?x5GUzY64E1s=Yc3$grTcV$BQcg;T{XgzS0s6TadGX%RlY9LH@
zk@<kH{Lo%fbDXOv(j<<nt|n^(sfzrM+A$>6@JiO3at_r5gVq7yVkyZB%C-D+6+DgB
zpgsy0O&Xhd!xs1kH0d++N+d=4nq!V7=!oIPL6eRMCbHnFT?a4I9Z%9PCU5z7!K`0)
z;mJIT$k;=|g_o}k+U6vQb+Z)OqfN;b-=`hfkyXwWqGjcqg&|9i^##T1CAeohjvH@{
zxLhF>UYYUi$cL9GH$58$3_j56op$4xe|5<g^W7s__rz`*E0+MBZ?wXmp&v?`8>4$A
z>-DNh`|xt|s76XZi%N%k1Sk50kc9$#{_!0j<Seb&ifuVLSPT5Nt*YK!LdMy~xl*`h
z#OVSrh;Rs@+@@|XGGDfJClpfWE3Zl<AJ<~vt!B5OR*`$!FssK7U7*wb7w9!f!&++-
z;Pvp!Cgvq|xV_7~W9#^`Q%r-XGgFXQe{bAIP({r13BQWMt|ohZwN2#5iyj_hSU3-3
zoe8!tk?mCC3XhkSANWGlRpk|I#OHS^!mZRqTQr>Uy_LWMf2tU>tE6p1_M7RiDShp_
zgq!rfELPe64cUvP3fMkD@k0`uelkBNHW&c}Styy{Ado4W6Cha`zRqrmc<(UxGOs*>
z%-oG4bxy5T%7UU?s`oye%(1Qt%vH1_sk)GrTe3tzVHg}C1}6Oj{3jD3(bfyv=*h5}
z`7GE@YMupWe%jYXi24Egaw#{Vbx`y<A-}XZw%!Awl$S0WB2)~^Ur58#YXMWr^xu|q
z!~1PI(`Kn6tJ1mbchNeB*u;?+<dD_~LtQ~ZZf+??j}6kP5%z$Zpl)PV@y@-*X#zSY
zmhq-bP-s$JbAx>3ci5Y&=Jc9ly2qg{#zksnvf-S7cls;n-#QLQ>mtosQ$O1+wL3(9
ztcF(7A7ePa`~K&{`_78}qV#Q@e$o<>qh?&0q^G)uT};%GBXgQRLZQ({?$^x=bcB}O
z=KELFA|;CB8aPp>2f?rVU*DOUpXc~GMWY6rnAqeJNOt=ck=_Bvc?0wJB7NKS2Ig;5
zmsu?1P^7EYkUTAMsE3!{7|<#(mbGlcK;^FkYBD-?QZKC>a6UpY{}2oKyr6T2#DtNP
zp964v4T@x5h&YbsfNX3w7WqR)2tPiY4ydM=$&$S7`WP>h!i6Dd*sSF(Kft_GU!(g&
zUE#hcJnc#m<d-l6^OELfAykYd0^2b_0?xz>S^_XR+|{j79YW$XqF-Fe*!UfX5}37`
z<Kz?XTYEO|nt!`|4&%u2I5;rs)-=#bVp?B3vvl{p7}w7_kj3FAVan}gzW?i%wL|0|
z!%55gyEmF2e*4bkZa1x}gJnNYH&f2e^EN@0x`eNzi)nP8ea;@D{aN{2y7g<8?Ju(*
zL+UOT^#e_00vpZIt|H<ZgbsWrTeoYkdU3&c`+a}hQ761*7Xpq6>Bg0GDZF`u2Cm{q
z<MQTew9a+nvPqn8Fqi;Nc<6g)u^wU~XRT&L!DNtEQ8zV?I^NTFMKM?GH+tPDWcPAy
zZ7l^kxm_yri+Atp@x4Wgpc7#xMKc%sGebg%h(kr49ElqTeGP*5Y=N!}Dl~u5z`_i~
zZsuJ0XCY_sc>9hoQ;zcvJwwSoF%fG{+$sBV;O!zmh;~E}+?+d$_=umW_@kEd3!n76
zrnJl@90H8jOZWzRXHK?MfY$+#zBb5u*qD@EBWKZOgYk?4f>?xEc+A{=shA%6^F;jL
z*^<9nnlJ`V-JV;_I1<oBZvHjd)+bw+b$Yh5(~ioR)iRE8=dTv~82x2I1{(96^EhV%
z_<4?`&HR@Mk33hMSj>Wy1L9M>^hx9_o}>%VI?okiYmtc#afJFozM?W{D4~weXI5yA
zRP$E3luHXAK(#yO`_5KnPzDMc(B0kble^3xqV?((1xBwPRaD>^(}o-tTVP8iA(3x<
z%Z#4`O@n4E5dj;$Z%-uLW*T`T!Yw>DTD2=RBq1O29k_;(`O80wSDZ3BlQRfZ`gH!y
z81G0C#qhmf_+TLN{gsiPqnToc*zFVqi=6iPq!{C+tE0;fg5#gJ9jNgq32)1QBbr1h
zKeSR82-_<y6r9p9QON5E5PxEpF+RC)-`Ex2{~jj>j;W9ua>|BdUP*D2V&Tz@NaE#-
zqTHsEE<(<zFFMsyu+u9sp=p2Vg2sv1QE`lR4;Tl4QEJn~*8z{HJ0?gLmA{A~L2?b#
zP#UXka-ZU={XO`ux$2=jgS*=WI#OUHb~w3v&Mfl7|9-L?^*yhoPN`-Cuw=e7g=K{c
zaTEumL(6Kjc=>{rvzlSM4p|f$<<{7&j@<>^9%(N454aO$cHhO`5zd0UU)*mRNpBWs
zS!3GltGFY3d{?=pb#*9QOshu*=!ahMtk*}%@VI4~K*;Bs<#prCx4(%-h!BkYS^W@f
zTJQuYEhI_$^1d&9vo1C8+BT7?>C5=PNrZ+ZN;+RiDT31SY6hq^5Q9BwkqX{q<z1S*
zp9QHZ^#lLw6bc@eJy-n%gPVq#7=@u=R|U67ji{TT8zdnR!W^%zruIt&Ym=b?0VmZ&
z?5QgdK2vTK##VGK0Q8~yfzAxISL&G0DCqusS~6oXFOx68l4Yowr|bN-ylbkH+4iM~
z6!MJ)R6sd4J*@uw?{Im(XkE`8%vn=kwX5On<SPDjXdn8UwLj)P>(C5d<xzy<7m22H
zrCfsqs))&^OC*t{f|6_FZfU!SF<)XZje^GVw5xr}@g;5??_>1vfuonCnToOUR*A22
z6)6*(SDu+tBW$CMc+e*d$^FY8{gRbk@NCvP6a5z8NATp@-OEbM9WU5NBci0u)`90$
zfqAUECA@Hkb>j9y^ag_n*Gn{*{8CDH0a-%&17FgV`W`vxYym2p&<t=)sFI2qN#|HA
z7$E{<nMV4)kN&MR<$z)jUP(y}d9X5Uph77y)Qr~{<t@c?zY2x3Od}PHb+xq%{``4^
zG8*K4`}R%9EH*BVTS6igB{-&0s9<)mUsD08071_N930Z>G2Vkr&qW-7-EutnxEI*m
zy$yC0=!0BwGEO~1f~Zmh@-+75+9#V_*1K_522*%lKXd=nKNeKxzAL<E!!_5h&^pms
z4Tww#)cboa0wM&i57Oa}2I$`~+Q+E}Vy}xNo+Iq{*Tb4E`DP^YcoaQUzxp1FpO`i#
ztZ;k0-+}6T)xQ^(=>`qZE`5FUQ1>3*=uPsS;DVK>_s$G)-@({J`<qi2Hrj8t-b`rk
ze+&feO!dk<aL;<$F(jX3yey=Vsc*^K$TUs-%;8Go80Ogb!g)8yCO#&e5p-PmI|3Pp
zX}9OdXHw)zd?Ml1%N$H3Ts#2EGZ|_uqm`E0jTJIVL`wU#*9F|gU4L4YQ;#QTwzdB~
z?ezks1sGM_G#c5cL<2=T_JMu|56))4Ac1@;&v@4y2mx@Zn*ZEoZwue>k$gGUvQbCJ
zEm!=X>e8@|Kb&kw2COA2X>tr_v3%aEK8u2mqL}-Js1ab9a=_uF3q)8%q_n6gl9rbC
zC|%#kNd5NqRtD?{BO^p=XNV^hX{Rg2=Iw2x)YWtVB-eEn-d8qEROu0))y(u>(Eu-`
zt$^^GK!R}id0E<S3SNPYC)agFQEw!iG?LuA*tw^)X(n@_t7o@&e;@dFf|`{hKlw$O
z*{up=di^H~0o0U${Gd*1ok7^1jWmlf^6PT>+QeDxp`;M=)0H^)`Q+Q^du9*TI;jKY
z{$mxs1)Llu%E3BGPnLQLJX6fV^tO>^H+G2>r5_XlbJxp597}5N-{Lj`!-YsV3@dGU
zMWpbU&y1N3q(pfJWfJWZBQ`8o1iU|NQ7)YQ{3Oe$$39k)Y(uX}nL7oL9IQpdJnwrf
zA?TK_Cm`dJyfaYbxCZ$+(h4K)VHpNGjnP4@=dxtrgWR{Dl$9S68b3X_&;Qw$v7G%&
zXSzrpFSt+=2d8)4j3GbIU_0syu;Xvy6Cz%eVBh2|hZcK{Dne?BsT(Tmnkih)ixH0w
z=W-aM0Bu2cPg8WQW;uSe)<G%~w`ghe+9e6|q(A3B{WUsKn@`k!Dog&Ux9lj=RwR&X
zEv#eD`70U-*_F=DDIDLF?*m#7&)jGmYXO$>)J2{ndmXgKVs?Pp#m{>ODDWk@O>?Dt
zwZ`yzG`|R$F8H8<zsm$bXdtbD5ERgzgG(}`pPh#%F5>d;?jzODghCV=AQx+*p`k%8
zo1{LcDmE5B`}x#s2ZwFgVP#p_M!RXl{^JLfM39n-ide%NU9d}xCJHH^5+6@UOi53V
z)E2@TI^6_M_Qt?vvT(?9U00e;MQyrOrV_)l!Li*Fc@V3A5nb=~8pW9NrF|8G8-!lq
zqT7_HLJazG^+?=Ku;?I>B6#@`9Wm){?NJk&Ig|C4=)#ybxJiOzr8Ah5?^w77TunAS
zV~JS&ivZNPL!JR;S$##S7UxEFCuXLr5Y;bZAIAxf;}2YE7FfqG5(CIes!?4;2_2=c
zAMFn!cbJV7(3$a;h&q*zyDwjv{2p>N(~k?4Ta%qFzH$Ryi&$ci+ml7Pyz((13I58v
zgH>c>5m+us9`NC}YnkgF*<~e=S)Ub9kS0=Y*P0gg8twTv_q`9bz#M<7ifx0S(rra~
zf9gu30f8e7Nq~J$DQt~|k79@5u^-u=;Y@-WtEfnqlz&(^#s1>^R{c^a1ekOu#0jJ8
zRy%CAZ@r41l><2DOu-f@p}qBQb~Qw!TWWU3>h5Ts18DZ7Cqnix=Bd(mx9P3roMQZX
zAFM0&if7+)xWo{li6iax!$fAo<N!)F5Hd^2kyhV?_yc2%QD|w}Z%MaSfa)Jr`{vXd
zJJ9eFZ$RCQ)mAfL>i9twBqB!bjUsjqJ6pKi(&h~6b(a~)&~NyRX?~rm7+C{mFYIo5
zlera13Ed$*$kf=7HzVF;Tq!jh)Q|#hYD^yyLB+)y8w>{N_wiRpt6G(nm4w8=evXPY
z_tvNmH0=Hb08wlIy)R!b+VS`A-)AzVKa~9Vk+BXadR<spDC+)8W~tT==Sym;cSuZn
z1@*#O+vm?@Pjtt*ax38D->rTk{{fATg%XurwI&-$wNH3M(9frsP`}v%6h@4S-+a(c
zIncMwag4T#hlVJY5{W_{&4gkRsATF;kdh8v%3b~3yclHL+*^-gvT0K2`n}n&v*v#S
z!hiZ|J-xWdy;GCM7;wT8#LvYAJTy=(ErqmCG$wox6prk7&yzo)J>XOy7HpJXX}5n*
zrnbx?r_jso&N3p6m+#R3?zlyag*ucSQeNl+N7TH<A~+J<MGFv(fo^g8n@!lxr}erz
z8mft~9|sM;xqyLi?}be1p3zeZ#+QT!MglJk*J&0MaNjy-4=kX61ZYg^Dcl?(f9TH^
zUR9Rm!V%#)3HL0?3*RTE#$uRpm4P^1uVz2gxKM?=#iLDBn2?5whue-?IlgTMcBTsF
zX#T|$C8=DEGp?D}$;6}(8#C=R1({>uh8BT2S;EkA8XX!P-+zVR4J|(97uVjJbABJv
zOJ3jC4eiKXRB}Au3x7wc%^UtcAhOx|Mr&kK&Q9jG&?kUzhnAU!GIe-zW~Ek7Bw}QK
z7k1BbH01H+rK=jtF-E8HD<nLGH1JdUa_!p^_%5fa&iiP;J>Vhyi&0k~prY#?!Gc|7
zO_8w`yFhOiY+eWPdHpW2nI}LDtcWQsDA6XI#O?(8`g8v*!@ZBU+c<C3bK{j5*p+({
z)jXHflyHTV5lywsqR{2dlgQC+_IN^YMER_<1!@_CiwMFBMfJv7mGS&JZ7#-%|3Ny=
zk!f9c0on!0N0nV^Vo)lJj-bqs{{AkjEk2_DS8u3#N$4dzCv<dl>b-X%OYMQu1W!D#
zD{@wUe3+T9G;1EOs^WhNKoMhRr=}D~QUw-Ru&O(5$K20$7pg4s|1+qHyDjxj{O7Cb
zb3@ZdiDy(zzuDt0+z<0qPj-dj>>tdP2dtuUT1{03#gHi!@(M*kakzkIKZMIYoG3@q
zY#IYz>&l#B5*+UFJoPtu$XjCgvL|B_fCbmlwYRsn1PRe%cP6qY9!=Xmie<!OP3QRD
zBLQ6IRpwRDy9?0l^fYT{c{r7Tr8bJUN6l>1>rKbVs90O;X-kAqmBvDHeQSKpaEvlV
zHZhvlIgC&p9GWrbILIWCpC>h|(*ZzqnEfR~KVkVg3D&;9f20*__Q)nB>cy)RhYy-Q
zLro68%78=8LT)6l@mU0xc~WW&2aS$fHi*zU6%-L?HQb+oUZ+x!nvq^8?&|a#eAD;~
zq&}ZSxDk5$s|hZRgBV{%s4#QEe8bqf_)7t64Ddbh1<PJfZA;U)h=>J8G!kGW%UW?k
zxf?pC2R;d!(N(3I0-*xl-%&(cydu|YX&?1fU<DNOM1d<R*>ZKI=P$;f#{tng$S%wZ
zs|pq6nl-eMj>CUJr(#9rdt)<;ccUN=PytBA6L7k~2yy3uck68EL`t0joQNE&S5u>#
zws3BYKT;xb#&#@YWA@Hg?l$JG9|3Q@WD@>zozqC3fSB<Qqk@d^jmt@)-AjyU&(0VX
z%m!L1TdM$se~3nLM0o{Mdv@`b<U&m7`nk~n(CCk7U|eR{Y3DkFV3aKEmXE7^*C))e
zDDX-jTMe)2rvZ%RLhKg+9P@Nme>1Z2)`8XKWs-xl?aTvzGvZ3cF>+$g3&{-1kDrf_
z0drtWmg<kS0Kig}6sZ{5<b0;oyHY|?@WE$dDT30yP)!<CeH*r;5=BlD4F7<Q1z`?Q
z7GZf57}d@J5P~7doCfH^x33t?fS;ZBlSQZpK{{znFXa`Ujf$Uaz`?rHi*-&Qdgl7;
zi;KM?TR`?i@Y6Xe?d5lO^r1tGn%_J}Am}uXkmx^$aM*Zt&?V2)pK`0mXKk1BW*0|4
zj)g}bP?FKSnPS};qxLh(x98LyH&~BD*$;Sa=i|~BSIh1*+asxqr>k_00D(REyNIU|
zAti70rs$-kV+ka{Bd5!x*^8sFsOTFfzIXg}&MoYHp}YsWjs}WAiGf?s;7c@y$Bc_$
zxiGVcV?_HZg%0q)@lkX9>T9X)=XYxkJ_?J(><pFb@9jNn%~ya%`0K3qKAQ;Jd@J&e
zC!ZSFug#ALxl8225XB%^C%^N5-jPgpb`I?s@^FYINp77OokEVatO1!i@qXQl%)2^|
zpOC%V!jsTO0<eKEGNkW*R^UtmvT>Z*t-ZD?g=*2C;pR6<NXe#R1p@Hv83kiPC(!7B
zO|`pD8}wawK5!M6#OnUB5f5MRWkOIo8?JFB`a6zUbY*Xf;O@Y%0<gPib3*)FC~_he
zqA{^(LVjauBi2Yl#nE{7Fz#kn*0D)jjT|R;G-lXv_tGRrNdWlF9FLqQjLNaj)!x6J
z%`tIEE$apW=SmsvLais3sFc^xIt}ZJ{+@pLoaEE9q;QzqZCUg-sIbaA0iS9q3oRbd
zDvSvnrSQ(!e`YsEvIe|II|-?6fSQtA5L|aksB!Y~D!vmElJG?AU=+6NTq>^LqQ7%q
z`}AzyrU*vbX;yEX-TL|CmB6Qajpx55Mv+b+l}_BQ9fV@sR(=R;3>K-^vII-Ph4j!S
zYY$#I@o9v)48z7JhW25$6b~en^S|Xn@^NqUZ1^1NMZAilin+#5wPei)LQtNFt6^_e
zF|fOfwbwQADX^WTHzWO>V%h+nbUl@1o4of9;osjK**1VsnKkqsOBgZk`VFBe(F0K(
zr$T>U9JNUpAOR26@S4E|qdw>moqKE7b>KRIm31YCWe@U?ll(mh>cE`b@pN}+F5iiJ
zf*wLg`<dF(H>CYxTVMu7^m3jnGrU-WR!^Z+xhBcij3oVd9)3@^yDlg>He-<$;7fRT
zcu)_Xs0^7(5hQbXdrF<jK?D_(!-Jtgr<bKO7(edW%zJF@?40^$WSI4S<fZg+62?^|
zcx7qX<&DmjF5xZ*)w4c|xU_5!z(Q3fX}e^d`H0QA=-T@bcrqo0+j-5W5AT?8N8`gq
z9xc*rh~f-dgh#yvdmkCmC+pVjo7ULHJT6#7BsJ&7z#-k2Ef)nJfr6f83FO``Y8Z;-
z#D{{_Ljt9C@}!ZZ$R_1D)+(b0uJoV=RE;UgqD}{V$Kw3`inl0lm{a`av#K{caKAJl
z8hs0Og$+52vxcL<ug*|`(Qi5Fuw!gY%M}bgG;0Mq5vP4MLvpq|k`uIdov(0r)IFNs
zJ5rwQ%N=0(0yLO0m6y>Ko0S2WORybuIiR5_mziY5ruUVNOZwPkn5SYG+L%I_V_syC
z-4j6g53axgR#VD+NeK4zx7bUMPDf~H?F%9-0G4+bf=)*(EJ(@vgF5v&(Pw6caTB`S
zxiAGZ7$zoP^xR#H=bF2-?(?0BwMLQiVN8|Eg3vSU`5e^rt*2eM%*BFw%(5v_o@YS`
zRL*Jcx+RvjJ{CTa>>Q_a-s^9?oG4XhMG%T@EjKAJ8iHTs?H4E*1!G<fR)z6sPfi|7
z^1Z9~siHmCK7Z7FC{d2rG~TnWw_r?PN7WBa1)#B(95HT(Z1PBQ9dEK-$`>@K)o5fz
zUfO4(EJq7NOF6L5^ezg0E{XxMJRJodZxhPXAjof+ja?uB3iTvLhe=o`i6Xrzsk43#
zUq~tGQzWPD(Mt21Bdq9<*BI4klmHrMBM$-Xo&po<wJq=LdwMI9-{i9q3&6eLlQ5>q
zyURlpgR@fIz*u62=e<C$n-iP)p#Ma5gsL!5Yb5qg+x0Iy7W&6tXug5$QaC5NU6+_M
z!C!Pe_Id@6q=baO)JTAg;0OH-G$wK$Ng=IHXKb)BcovNY?TvyR%HBSFo{mJ0R_AuT
z(4DY0PM7|`*uxBP97i_4!N-R4-=uV25Z8Q8OY02`!82A><+!i5cX06U9@3D)G*jjA
zzK~eV5gxYgPaG9xMZdOif-yNjH}%vC-}gtt*M$$y?9Pue^A*t*8mCa#cllDwycv-#
zURLMrFY^cJxetV#G6_mt*vL+M&8$vk7~iv0DOGfJrO+HA$&g6QnomZiPQapb8f<IV
z2y%bijT=G$nhmYvOF^R0oN`yr*$1$z@3K??NmbZM+*4;4L#UW_Zt{KF5F$iaoM(9Z
zE>{z6ud^$2z-qO-NEZMKAlAV->S@iHAo_b=n(M}R%~0e%{)hF-O;LW5lhqh)V?)%6
zVJk-Q{>ug}=yI5sE98RbWrO-T%?*GBKmdASBzEme<}o=q)i`<;rEa{x_2vlUF7~#R
z3YwaWCCN2)2O3G-$9gb{-MJvnW{s!Z2{7hyHklN+?6F~R^c2j-NaJuu4IY62!UuC}
z@nXbnvoFLt59j>5EgBD5_!RX80WGV_*|TY{nVS6^<HMH5#XoUmDIKqBnl+J%oOTzf
zInyp!8vIGl7I={|V7&h~Th+<b(tP^%5pc&<7P+seMgMGa&<n|y6$5Xwq1^ClluvTP
z*BP?n2NA8S`thQBPw-Mo5!XgU@{^LRT$mu?-<XRDm;fH;$JR(#5;_wJ3^xaT;l+Tr
zv(*XhwIbJ7pUofuzFb&3=^9$KXLcEfvtu^ZjpdsAN*vUaVM#f##LU%`IY6uU11$Mk
z(nBEJXTOQ0sq0ZVKp1(})`N$Wv5Q&cNhk5Pps7hR>vwcCZWc-Xg4Gz_FzSNe7nt;o
zdp<u&uD>&M(0Vc&Adbqj-pHj44sv0Wnd4ZIw?-YV%Tz;Os)Te5qYBg8=dDS1g_{p+
z$mAp{7Q<RJ>yq%*_0bKvqS0?DT@2;Qcto8oabn-r?P>CTu<$<}kXQ0dNZ{qWH2RP`
zy>WTJxmq-e!zwRvr>?;=3trDw{b{7q^civ>d>u`TEw$_xRDf67FZ0aREM3mV!6A!y
zT=#Rzc6u;}=9RQr6!Uo3`l~>Vf_>9g&Och~#ykHs1j8}KcQ8G79X(%GTzzl-oyk6(
zxvcygfkRf5;O4svJ54(VfMzZ)XLrWg2BK{;6PnfRn_P~<%rTVx`(-4iT~?Q;Wae+u
zS>%ZybhlP$7Syw|3wUJ(h;nd>g6Nlwm(4=xf0ARU6cNzWj_a}u&YY~u1x|J2c&Aj!
z@Vzi<&tkFMk@}=bLr&<2YRG&;5Kgu1(B%14zKbHeg2CaaU&0J~e6=fRqtIj_!;<*)
zwZ{fetBDKbgqBm!5pt?uBcaxG7L?Gj4aF0h4jB1kc`Vr1549H+*t{2>PHk0t;;V*F
zoISUb{k19BF0c$pTXVmOCB%dPh$d4|e|$hE=b=ceLo-EJ{UaPV&#|C|a4PK-)(rl7
zJc0tx`X$^y4Pmc&{$?9FA=qQH-`K=e9k6ytaqwaK`veT5FMU?B=O_+X_8>d(*ch!H
z)Y>@nk-5g@KvsiS&RZ8cyxTq;;f}}v6`wEqBgLh44nFMoZn+4FjGa>Uu5Mm4y%w*@
z4(Z^%e68e>_kAKvmFh~RI_PdhXj7Mb%`<62=F%=6BL75QS`~C_ag&C9<!vq}M+dPw
z=RSVmD{8iB9a|g~WskgTgNxoJL^{DpgMX7I$?l7C+KkSuv$M46MUl_dmz$@!$||>p
zqqyy<Xb^lOlmVR4L%&e%Ft(&^Yab}ErsDeFip7y{*U<7~7<`C$Mg|P*T!)6hgG&8s
z@OkJ<29aE0UkDty2>Q9YdiUSmg_9n+NBXAOMnpvHtF|xvBRplx6bs;DRUrCieLzzY
z9-s^~oy#Q*`}@zBJp4<@aodx#7q$Zv4~yec(N7QCo}pD#q3?}(McSX4g&<GsO;h#y
zMisvL1pd{X{~hmBhhVv*$=^y=Hk0dtV11dSdt_GNiwkr*5k7eO`+?a-DcIyu{*<tE
z=?850#I5h{RIp8wdYJ<cQ{3CvOVkD)sLUB%c5k+#WF8LL)8n?#>5BK$SflpgNwI~d
z50(?_&IKXIpN#M+=lN|^o?)sbIa<hofCDK4hYO-|@ef$fQ4*XqmBTXB8oMywrp|A@
zZbmtj5W$E0aTrL#LjOd?pBl%a>PpdX`-ztIrl2#0z}gX;^DzP*LN%a)D84BEYonD`
z93OOEL^^{R|DFppq!JxlSxQ^~=pIGJDC-A7SEV{5OXNVZAIgFGNfKg`JdVKLjiow4
zWzB#iU6D22oTKl_NAIxYBCcl~nP)Pst3)!@3B1LFIo~}2dS_oQqaTbats@%T96wS6
zD+202@Eas(D_A$s1m_ICEy|YW%b8Cnx3~YXhTP)YopdSU8@W7@e(9ZAvbav3Nv6Gm
z`fr;?t;U5{m`0MXR`C2c9&1sSfkNi*pZ6MN7DOYw%XSLJWl~O7Icx}tAqC9DEDXt?
zQ&M`Ta{66E?4%x)1s&ZDs$OD%6&JtYa6d>ziqw~|Jo~JSm*axVu}6dMEfD2)WtWkY
z(A#eGW-NvXJdYp`4y_|W`euGKy9=YKiqjm|W2n-pN`OF$qYGZe>I_}@BmR;*jDiZ7
zoyooo)e%7rkScML-$F27v)!aQpi5XL-5U1X-%b7T%^*&9q>xDJrs9S9;z*ykBT_ac
z*kqNk@0B7()OmIVY;vtU#FXOELPtftiw=(~A3a;pyOTlnwiVI%)Ns_W&FvSWFdPuX
zTlDGJzQ|XZwI7p2lG`zxe2%5PANb<u8c;x_mzq~BVSalZXvK4mTsady{OAKikXzaC
z0Fg9UUU<*!ns35BPgP5SbP@-LX-F$5%%p{<0a8ffTf0^D0nhJC9MYx>CAb{)8V0sl
zV8KIt&b&|3>S2ylUlBUnx0PGNWm_Ey-E6Re-Z_;_hq%(8b9)$EA&{<0hGYvxm*@Z`
z6vcc0EnTRyuQtAFZ;^fh7ileb*-XQXE}1-^vh-QAFO*L3JE)56S(&qaFyn;(H^TKm
zZ|!wXA(#~=Ycz|!yYD;UYicQr0`ea|XYxiJ$j$`jBF^W$MYiz+zgtWs3;ge8Y&ych
zMJ4yFbK4T#NW;f(RZS{rI;S4()C%;e`?-{Hu@QCczDyI`uT90RxOyI5&rcMfTpd0n
z1zVUGaYD!64fSHoKh*OV@6cp_osfc%q2A!AA>w~a9;<^MWF)A|yGd%+ZZ8IeSl@o`
zrLN?Z5}vwf6RKO4=F{McAQ$*MWbFd^BRoIW68Sv1*CS1eJO7n|aPpwtFij|~gU6wF
z{6=_IE|uw`YXF;!8p^c?fbhb{K;hQ;$^o{q3o#xFAwn5qYzwH}bB+cxF5#h4tE6i)
zt(_?-3V0+JoUrq{^0oX2Y^N%C@&UfHxPzk{xuki;tyuKa?2=UWdj=Wh<*Te5hI`#9
z6i}7xe>|OaP+Q*@?GxPHi<UxgcbC!@E$;5F#oZl>Tae-|#XY#YyA^4%28!Fu_xIks
z|1*=Bd+y!moW0jtpSrg7T>gPU5fGbT4%!4+d3C9V+bExP{Qg2YEK{38JTQf(Kl3k+
zi8swX8EqC~7_U=&T6trGKi|2Cb4<&H=qGtihr_tvUOO8Vq8!B!o*zF0pLv>RexwjP
z{+8w6a@#|zp5n}$1uB4lhc~q!;%E?mQ&y0R2#oX<e?iJj<<nBV?*A0vXt3OW8WLq!
zvF5$l-IMDo7h7TG{?3Asu${KyVazv#SGU=O-=NJS=ZH<WXrQ#Dbj;>l-r|*F(n3H5
zIF!j~$bBxyKEGR>O0kdMmCWH9;kCk|(s6?U<wT6t_^-#JrM{-LR9$sdZn=z@4`ZcS
zOuCuwyUpWOOLtvjr(=Tdguro}z(0oEMWj&&ciLG8Du{n+;0B7G-(aeb0TfW*NAIhs
z<)Q49kb-8?j%At9l+-3awhqBKuQ%wu_WF)XLV~BbjM~BezXg}TS8^11^k7Od41z3l
z#2J<KC$Dre<bM=!Zr`MkK*)nuTpw7I$v%ygH5SxnADQ3tp7y;2CB^a^mclR%bNz=o
z*00Goskugd=RYVGX--q_Bo}^K4_Ufgsw_7Rl2Lz*7)^6y9w8&j`qD^TT__qkt!iGK
zQkP;9$Qj_x+Dqi1^APnhs%6D~9mXN@%RxMWA7SSbkkF$YIIDEa`Z4qFB3^Nl;IhQV
zExU9k@vPAg+aK5@Tb^R#my|z<pDc2$Yd}>ss=K}!_3}MU=hJ2NGuKp=uC$7*O^>eV
z@}LFsB7zhxmzy_wjhJZSdOGhy!~{AcA8;?Ckx`UA|8~nz(xOJA=^)EOUEOH<GUw=m
zGtBA}RxbLAVId5J<CPb0#<7Hj_~ZO4yiPxn1!|j+BC?$A6^1t*B&$Vd6`ja!9;HRG
z-?@neMT8|ESc}d?_f^YBrZ6MrryM`-xy|>AfJQ@2q(7fPPz$}|MZgF-_$D97A!#(u
z##mhMQ>0OWl73N>*5uOPB@I3)yD`wdH~vc20)ZdLv87AHL0}q+NZ~xkx#UR{vamR~
z#I0fG&6&g(e9UVbm?@_34P~454t8YqOVO1(;ws-o=o(#;0QuC;m96;2ZX4Y2c8FZI
z;7DklW)pH-SrPe!<Mf(tDf#RVTCBU>lP~eObDC4jKmAekJ^A~)s>xx-Wt_G4=<Ww}
z?dLHJCDSg0@@Qp!Gb{=w!GXKl*U+;$d^BL`x)gTJV>(^OY!}oQYZs-~c3O9dT6Pfr
zk{CHO7gzoPEmrBs18w||&C@nMoD|>O_Q0{tTJ|~1eUXu#2UQ7dl}lhj_mWSEVq-5>
zDXc(%yp~fDJ{-|<tPq_&4gTYQ6q2!1cJy+uNG$TsFI69Vi}rID*VjJV@n0VF6x4+m
zZc!jBH85&){rk;{GN0s9;dj}0kYQbU;-;XAl-qq3l9@PVpPinX{&`~Mtbn#G|G&Ux
zH5G68UhMB{J(mdQ0s9zJMjd&#l<g1)cnAy`H27pSM5bR@V`^Vp$V8#f@oIMLINQOB
z{I5Hdla=7IPP;c{r2TkSkg3kbf}6h)MfZw#_XBrPs-ey!aH>{cR%OhFNj=6ty!YmP
z0Uf>Imb$P>SV~LDRMY;TzOByuM?3a^(GN4ryTw5s;=N#ArVU4yAN@l7VC^ik3W=<*
z$9X=%wq(LyhL7*SeZ<Q8>9QnyPVWa$s&w{6Q#gj@^Hbu;U}BG0GP%_ySr<yu{U3sB
zyFUb>7<7JX$p0Y%VV1A~962vzEa*>$@zg$cHA;$XpLP+U!n+CcNNJUbXP(6~pOG)Q
z9ZWA_6c!{1kIIW&3})J)1hxP%0^s`yGm5mnhd|u^bwb!o6HzH-%zy8S!%StbcvA?q
zNXFzX^q(oyjNK2djDU#rB?q&6h!w}m*i3B+x?5hEn_FJV&o0aHsoMF*)SO%vX|Ekv
z$Q}AM3}mn<8YsxyGGj6|7;zqX@+;*ly7up4ShT}J61Ns9R>6|jVJ^1K+WNV=`W&R+
z{1{xq1LL@a|B8hJ#4u-D|IV(FD({&VLzs^o+&G4r?_uj-W;fGA7j!Hj-S-K|99@{3
zTxscZlRKlfGmojRyY(KjPiOl(a|V#Cr9ZH8F6<NR&v_+h+vb!>_0Q=yjH7pZ<<`-H
z=s(I>ZvI`!=ZI`aO<8w>18yfGmfr|hLRoQ7Weh_LKv@wCb-o}%EC31!e!D_@!&DsY
zsCn`}^XmR~qnU>fK!)sXs?A*Ax1trmn>(y~Yj@qf&k3c#-Hn{#sI6_EXftZFdTRjP
z+)PihmV{66%?Sb}RHHuc0Jt+8yQIS50sxF7gKhiW_+Nao206jza7tnW&hPK0#~&%a
z1x&krtGuJnz37%Xwi1``+(0a_Ah>?z<jx7n(loR{)tIa<)rab@sSNbcF))&PtBaTA
zaiO7=x3ngh3}wn}vt&xewP+F#W!4|ZtydSgPGs6@=^N5}wCjElluq|5Qy4Bk5|lOG
zNl_L3&sYl8L26_Rory*R#ftKPe45xY-8J-JZATE8qG#=USi_E`!Rxqr4T%x<-x2fV
zUOs!|?FL$7tWrLcC?3uP-=%LX>WaZgIPnfq1B+Pa&zMkhp;VlWSlA|1B$`?u_}N<e
zM8Aw3M)2rpj;cgZL=PLcyEZB+ao78{K;9+JE0&OV()I;eXnNsa*heZ3Xq0tYHQH5%
zQ@7k<^Lcf{_tH-sG(x_I-bC4DGJ`Hgb>eSCglW9WmWHGTc>R8kDujxO3dVipWa%6<
ztJ21X9hSm&1TZ|^nkV3njJtf|;d?f|HII^kUxd$5o$<NUUDx3=X~Evr)CvP{m2%Km
zIEO9&I8DdZq4k8QOm*EZTXZ{R=YBTDGG$M5a3!W-zy;Dkq9YppF#qR8YzcsJ!B-Z7
zSTS-D@2rgo&0m8LIXsQNxJG72BLL97#=A}D5J9~jN95k&9V<3b=HdDfUdh=jeg9i5
zLM^@qk5bP*Iomwm3|OvvUl5{~ywZeOW7AbOU*091seZ=Lvy>aWbD#FRbxYWFW4?mw
zRS+;(VFFdxT#_QL?HN5iVqYh@mDcsa?e6-uuxQW_SJ>RWpf8e<zUWvQ&ik&7rFQG%
z*5L#LZw+MeSlU*-05f_{q1_b!r|5c2^n_`om%wDzEB*43&V5%wQ{J+Z=$FqkhDF~p
zM@iv`5zqu3$l|B7%#vw`9F`9~qGmj;VyrkAEd^vp8J2d7<sh=Tlr_xTybCKd+aFNP
z)YH&FxB<I^3&(?6cCMbzrs$WU%&GA~v%gT%1T~}-X0_}y$?^RuN_jmoiUiXR4E23s
zyVxuyoqgVyX_gOFBDgct?EHlEQ;^~NfG$`ru=D$`z0d~?;D<<Ic2o)P<o9@LthuWt
z`O?ui*))q%*VI#We=!OG;6)yfpWpM4Xr3PU*MJnxAv5~n8fTY4d^P}5SfDjF4EiLo
zK#R93@<$d3nh*RalyVCBUib)>fd6T7Ow(iZ*j*r@9oa(7+8HGt>V&qQ{K`3-V2=w4
z5h|I9T|{cWgSD_wNhxQ!oW^|CLAwa+#De@JM#q~aO>ZYMm5wLI${`gwhE_3u%<F_s
zj$w8eOeFw!8`V0Fz-STsiJRUET;97yH^WIMSgLdlt}|RdF#x4W1F^*2zBc^Epw&WL
z8ka{{?~c5Txz*52jYlA}D4<AM1SV;)XyB{*I_a*hj#r1i4#e=b``UG9kc=~m?QU4S
z-mk=W-2aqoA#ZJV4b<Ie(@GU>>ah`*mb3K<t`%&Ei#eP`W%5kuiOlW6dIBU>K4zIJ
zu`j@wolt?|OEr!$iI-1c`J3rpS|Dt3(;&E=#WS)$B4=RP0QknsB@f`i!^vMFAjimi
zI&wK}nB*#h6ox_ED}ELFe0s%sI`6OK_oAq<XTDm5&G;kGhZqm8kAyGZWivi2nu|j*
zw!5^btyd1E?zggydn(R?b$HA2609BT9CfFZXO+y}|JiPDq?%bd!towXLH<iY*-@_?
zdgV%E%f}<(tfcS1fS^*W0j1V>@m-Yc6dlpn)gAbCgiMLO4(^P6GtkY*fN6PCN0wvP
zU!p@I4Yl+j%uLojr_4af6GP@OJ3^)D`H;hRq)NMX&|l3N_dYi75!GrcA9XrrvCAAG
zs9{fkN%+AM?^F$|`cZjMoD(9hpZ>)Ax<_8oRkd>B6kwl0YU5E4f~0Te8dr3jGZHR?
z(BdL_DfcM}lhq^LK5qPn0V0aiYGjwo#!?1gWLmeQF_RL#=WVPF1*zxbPtq8hPWLbI
zh;k+UK-uMS|HLvgx6mryH#brsnANQuj(-n>AcMO<k=CmE{8<w|<K}v3aJJ1B{5pBF
z(Q$;}rn9n1w|f}z*%{7SiHKzHV|6qZXqr5~+~m^_QSKrI?9w1kwz`c^RzCTq_**L<
z+m*_E9OtK74pP%=AGQ!U3@}m&=2>jBT0dbMBL`AgAHqa+VpCih3I)#nM|-Kw)&@Qv
zUc4jGx>w&C*@|XR2T-L@tzhO~3%p@%Y}inYK<$iBZgqghFaj??H*vY-SkQzc$y;gr
zmZ|R^%wYEXO$XH^SmuYXu$Bx1EZ^gC*{Snw4jkvib9onB9m@4A%lFi5lsYR`UBCB%
zhkXAf{LjsDG3={omG1IZr)gv`(pl8$$>eJlk)*1AVKX@Ojo0MAC=3DXA`xV|O4f&c
zXXFKmtxaNvybs&T>mjuNgz#n6`!B(hSeOi`!J7~~&41<<^7W8LABM8gsTFw<%Ao^d
z0EifHlK0em&2KcbiEw9L@tw6J>yX22?g;>f%EU9lI9))Lw!3Bd%d6`a(GhKFxW4YD
z%J2<Yd?_J?=>o>p`g2siQz--YsjYvD+@2(HLYC|%tQbuy*F<$C-H|h#1Q6M74M-4K
zFmrq*ndO|?*WTeHX#=+my8tFZ4C!~RRD~<zP&%T2CB5*E@zDMeBx4{XIExT)6uz=u
zhPi?LlXPWU`q+z=Mw#Dp(rkC5>l!7u2bSa~ThP45G|cBTCWPhIr8f!BBmXxRh|w=g
zY24&G;0T1F3QL3Vtu%4%;&(-`QGAaM@2s<eD8mdt2|p$18@~}jNZ_zVZYEFZv+-wM
zLPe94RHSCu{66!Z&V#pq_`|P8(9y>x4+hc_%lX-QK<v*XgXMw>aJg*tU46tZu>ma9
zvrJWf1^QC2QWmE@^tvjF9ajRVv^=n`N668KJlObDmSoA=AX~c2j_C7g%=J7tliq~q
z(`jYzMHWrZg9S_|9kqN|BnXYbw;;%|XL#Y(aE%LNm#W{>PwN!W(1^G!URQeL|Clrt
z;p>>jDN;r=TRQM+xQYceQ+L}(#b;A{^0|bYl64KF*jLjKSetjvT&{nZ64M2t4Mg8#
zSPCf)xwSza){KtaA27~k!f_mlVFbT!e`dzc0@XXaa)&?r-@7@~<QDt8VbSY$DE$rD
zf>^GRut^<B0R<3c_ZL;qyNawzNSx}<{J`BfzVAJm`eKU<ib+%Gs5*LvlX*ORL2->Q
zFfwDP!pB_=bcerA;ZaLeQd^QkF=2I6=^XOK)VW|p8^9Q~iKrM(uu20qQ}F6Fn^xV5
zru@t8+h>b~5ya5})m4@8Ly`!pL*bDmU*>0w?L*Z?Z-T!Mu1HlFjOx)`p85s-78L*#
z!_g$6H!Fu%nZdzj746ji=a9GlNeMT{Px1*)P57Un$|mvx+hS-72W4DyO;zGXIicBz
zzS-vNGr(uJ*Yv1}=8nM_o-E~I$xcwEY?D?Dx2KEOAsA20C&xL<<_pW8xhX<kZXxTl
z^tvsYqwZC1mY*_?6pe8=rIB!yCSfogEmfq~)bU_0%{ELIw<Q5xo2M~^$mU79skV)O
zKOPj4?y3~z6dLTcjat4bt=Jh0@>e3KHL)z%Jdn!bQV990?NQ${apD3;^+&Wi&avE;
zA#`<m^{Vl|c?ZS5XgG}>_4g1$1RE!ThM#5pc|xD*OBy0Ru+T*NEA-<fyEn2at%JlO
ziyE_NyEtj`H~x(b1;MF-vd;C9iCKMp)xmv(^fEU)vu-&bI<B+o$5c#9Ybj#pYZr2h
z*I34W+mxm=a1Ywi(aXRDxC3M3<V;*$wRzvT#B!(lX4$9#4w8+yxCgZp4wS!cWl@Rq
zO)#Q$Kd@T|?@C~QiAi-Be~`{?s5m30IVO48<>N`=Dw>InlZu!TIg*`_d4FBL>u+ss
z{)<^Z*28r0c}(np>|is@?m(s4@S=VA@!j!~uy@JlR939=@0CXo=)Cy}?h*!lbgA?C
zKQpmIo;ha$Rvt>jf?z?%Ji(0SFDMwh_~h>;=D#Mo_{MM1a)i@76i&JoT19<jUnJjO
zQtpQZ9xl;{ZGS)hz~+fH^vC&UKb%rE#XjsAnKA73g{6Fd<y4D!7%?P;2Mvy+NDXa8
z$Y@4Lru^8XT`%l3=uBGdNk9VXp-R?luA)afz+~m&c(;F9IfWp?Q$IqdI$(l^Y6bIW
zFcGrdv?*cD#5lne$=(=`PbSc@`Z3Aa)z<0ogM$YgRXHUyK2;#;N)6ZIF@eS$?7nO>
z(vw0?%3>%KBy1o?dhs&V8u<WTAmgYhY-~S;=Bv*#K?_JnAMXPMrfA1?WOA<O{In0D
zs8VXyY2Djf*zVm+VacS`@ju5KOp%ygiw?)`+_szxA9CxL5wM`yI$9z>2g@?bvs2>G
zU?d5BOVQ7#$yiVqZ#PU!1Kqq7Jb^*GA7NDq71=4eMMs0*X?lLs)ro+%Wl50nYV3Ff
zaW|%ir4JOU;-C%8o{VwKMPHbCFbW*(dL!<AITm+j=Gp`Jz!+uHUD3wb)^tt%G-5`u
z9+!PDT(d@tT_C`eZubtfu2TOBi+UV>-Z_4^za;b~Q<xv62s7UVwR3FtR}Zxf`p)Kk
zDf91jJN@<$A9Tb?k1vjjebP8<k4U?j6OM|7q(6By$fRGFwM@s!dk?1F2Ann!=Prve
zeBx%`@&6U*lywPzU^sDeBb<cWxmqnhg_Hl?aNIfhJC;BN(RbCFzUWH9=mQL>8w0Fi
zt(~~6aY0dY3Jyw<&z62>WsmfNy#T_VX*2<gs4|ubC80-Fh4<ow?hHlGO{+u<pW_oF
zVZO%eihpl!VbY`@6bGHN!!gV9WAJpJMmV2!Kf`Y7Yt<9^f2}ENsvzQ-URlO8RU*%5
zUBT4fael)CgTuU2$eA@&#zMjwE>rwwe4hVJkpk3N{4hgsFKP-V33ze?l#X%(c*vEs
zB;sQ|)ma10IN?zyX4{F*eKVaAlTK!-{$&!$H-2(+t2e$ay))#D2M_@Y)#Iai98z&R
zjpsEW&dJt6_yU6<b820!w8$d_ZzYi;ch*~uQ&R!P9roQ{<%u)0ZNy;6@!&a*Q(hFb
zc6abcoWvl7g;!Xpi8z!Tb%E6)3Nc3|dv+E!hoa^Wlf)pWZI2vLRvk3KUq|L%jlc_u
z#2vWIw}uI(Ako~)_eMs2LWT?A4{l9tf%NihiN)c9h=ga<7wlx2krF3|!Z=B(<4V_-
z{nTQi?DF4KJB*$Jm}i4`Nip9rZgs{QFwl&d?1iTge6^HIC4(ndo^SGVpVb-}F?8|8
zOXbAqEe+vX1Pj_(B>T&#UYl6OLRyb|{?2_wFnLc>U5a(tVD$Cd&!eIPt{eQh7a#EJ
zh8#w}!i*CE8&&xYRm}v9QcP<cenjmQl+uRa$KNahvR~GyuvPpC6NW;$QtKy}XJly#
z-N!JX!myas?YRyNF;F}^iUf4p&6MZV#}4AmWixLs4Gm!3x%M&YojLPqJbg|xuI21p
z#`P0Tp?EpVknXfB@V^eI6TkV_m@j!}az$M|1c3c-OXxN~*0o^fnNyvB!t&bFCGa-T
zHE?-@6U7&TYaR%<w6^0f^xY%U^-_T{%-s!RH!$Pw#`D3Se=8>e_-|yc_bsunX(#{Y
za^%h7os!gS^@QH+Ewfk2uM<lHXJtOimKKpAqC0?+aR|Ze;4nx|1xr|hy>ji#P5742
zm1x!??u=WN=3HL_I#1)bV6q`biEngYfr~Pna0=Pi<2E)nqMsLHzTRB2f5(|E9(`Qg
z*_`Ry%0KyKAA#j`9^R^>3_fXOZVXyZ=U27tK#S3oea7o1ud3l8a18p3tbUZuW=BP7
z7oSFm<6JnFy8G;0?H9D$1(VsIwp<)rn{sJ~Y*zhUgGtH4aw8I>HsxQJb#E23XLT;j
ztN>p7`hta`ta90NMk6b!lPDT&tfpFd@0671V;LP@ZROY;a1R(33*9TQpimT0wMA5-
zTeDk)*T++s(Ve(v@fr+!0))0rwNZcE2n_v$-`m!~T<-`xAPi6|CKl9F!B6QC8FX*r
z^>1#3;r;u5Hjjo_gEP|%6IPh?wRP`<`BVq^^=q+vpDarJ8lF-U%*IBB>ZDe0ujpo)
zF8p5kr|?H>sgU6Z4Lb&=H41<92bLrC+QO9#|Adw%${)jphCnjX07NqsXoD1vOcI=b
z8xG#xa??VmL9F&kqS>DK=eNyXJ_xata~;d3Va$3u0S8oUJC+-zz2Vst>%7vosIdC|
z^1fHorFvcTUWa-?rAyj8|50^;sf&Mc8|95pWUV5Hi|$G=-IB#0eMd9_O6Q{65oz?`
zTR~Nw7G&zS%c<MHv3vGVlA<8aGe&PwDH_^;&H=KlpAi-$B`h;nE?jyuhH!fqeVS&P
z|IUnp8Xb0AI<EfN`9xV1X(H|w@n4EnE}M<U?l16{JyL?Vj@fhvOwufN@VbU+i<%!0
z`Q|(xlbch!j~VDbSY(G1|C#$Ew@9(KbZI2@Q<p?l)s>O4D(=d$N6yATeo!CsRvfm!
z003#gsaCF5GmDj_QS6(+NO63vT1&7gDqhgf<U;fn)o)`&F-&WcoJ*06E;Gaozehb8
zUEW$59M7!~Q#XtMcD$?9$p}i}fXFT|8#=$2M(Zs}YYkQEkHW96ujhz~k1xs0%#>uD
zo0|*O%rF=p7FzY~-`0XHtPYH64qMa3-NAYAU_Z9RjUeN7^zxzipHt>~ZgBCTP9~$y
zQ(JK{p>k4HFc<fPNC8L(#d4G=pyQ4x_jmiyN=XT^_rr(#Jjc)I!R(--AYhR6vF(xm
zMwRaGB^`eZ00(q@f~7#+s`k*PV?@N;#&&+*m62IAe<PSW|MW0F^e(nBhS2~*#zPl`
zQ)XQ?t?_9mr!zY}W7+MAlx%YEn!zP^{ZdL!<`s8t<PTW&QQ;0R0>3HvRc^H5%0J0J
zLC*E3Ab3On%hE?#8Ux}-)@0Igch&G)g=wNorgC*4kBkHSgYqvC8Y_(VF?*CKe`gC}
zS$zy@XLQT@Q9i1JV8W;dqYfzA&7@IZ{ur3X8eV7B08s<nD-&V)soN_zNv-gSui|BV
zPkHK#q4(o{qnOekfPE8tuueagLU;0l8)I30^6CDlULo7BVM(kU^cBYi7|fOd)Ejbr
zR6wyj9t8sxk1Gam4J@)x%Vy<xq?|sx%YB*r`;1kXkMaW6lat*SP8lUjw<r9V{8NzG
zPt}B%E~fb_LNSW9>^K|kN(u3(pdE0CF6PxzOU2ZLJ5<&$&uiM@M_V;fjOSEgTcIF9
z27ja}I+3dV7+MUgo_vFQCu4`7uneI?NoGe;s_U~bLGQC-%!OYB-mQP)ev4oH`#+8<
zUZFuL5yy;O=k93vH}oJ=3_HA%8%#8(z{q~904cv)tnlVuc@yrP(~KhoaV*u7`u|D*
zap$T<8yeP#y#VT*wSlI`Q%}}*qfWj24PIM!ZltILtxR~zhX{PF*&ZT}xyn(e5_vbH
zV(ewVNFwz*t6(xIw*U{!+&}F!+i!gSu1hPwKkZQHDmNO=kY5~p!w%NpY;7pa>RIdr
z_b`mdo?owhu#Lb$0)px$&x&khNuTe8b7L9!xsCqO)Q7e;Tqa3<7ui^4Eihs9ueBoG
zvdxvwC!RsJvzk|@iK=CHD#RW-{p!y80~<m68@eR^`CZiUR}Z#QBi2oZZ6molR7p2S
z6->L20P?Sk)B9pY+wTgM0CHJ4o18>VP(<i+ZCft@m0qz(rkw_@)P-A~_~){0HqV|L
z#K7lMLuWCu+rIR~V3e-#=xf03`1QB_XT|l7V}U@Vsga7<8Ruk~dw=TC=k=*41}^%v
z@MqX9e4)XO|KwM=-XgCjsmyQ**B5d@x3oO}8#TYnS2JS43NzRQQF4D5D*x^1>UvXC
z{@8DN<fr3AKrJ%hr(#q5%y$fY6aS>Ih-2K{dk7p2ep6U5F6W!orTD->+dPY8o16xd
zY*3|n5L3lRJXF|~io<4CR3Zcc=yM4ZIQpvo+m0#zqEgt!ns!-x@%zGt-_pvX%(KkO
z!z1wG;(Dt0f%Ez--@n&)n}ZbB`!XJoE5Q^vm=Zn7!S9F=bT{ZdBS<yhQ$&0=0|@&5
zuJLUZQOM(nLWu2F*nJs~OhsAA|G+Bdz^GW5>LpvrphG%R$?(Uv%Yq=L7>&f5A$TV1
z-M9UIR!73dE4O)VzGo~TxOzh=T20GfchL5x(x4&f&rUmgIxKDJO(1PgQX&grg=vr~
z;*#{IuJ<b@|ApGknT0x8Z9|`|xp6vx)gV>CH={7N1+8FSir1H2W$Ef=KkwwnRgZ<b
z@4gyZ>txa2@@94aTWo@@Yet#dK<PB!Kt-7%EM=1!lS+XrY;_(rK+>|AItLUht@|aP
zA#gr2mH&#KkmZ>+?d%~@{pXXo>fBKvJ7hEiuKYPB#^afr(BWmL+<HS?Z7<?Y=J`3F
zd-p@5dHQ6s4wpO<*c>uO-4{JvB1fl$C0rfm?x<8dGo@L7^+%|pRPvACF8~67vGpiW
ziTRULnX*oa=yZP!ljEI`$PFH{Kzfcsq&-lYi)l^iZDDhXr_6#NG<iqSK*}jGPs%Au
z%A*SK;qq&y^t+D7-&$(KobOalP@=y5;hgV>qi{ncI@)q+{Ox>czP>G*_v$ySibUE=
zWQ+i@H!n<EM<@rJtTF`6=PMeSHU;h31h|X7qyb3P-gQ=d0YqFe!~sm3D!UV3Z_YFp
zjaK^3WX1E=(Vgd+hVQA4Y7aH*nSjp#TR=!eR(OLPK38FN2-{5i*L?Oj{7~#k19?{r
zgWM<FExmi@j>cU(!)>E~?{r0M@n;$*$1qJ@PlRfFo)|$hD<AYojdwds6FBvs4?2q4
zj5;mE9X10px5v>J=6N?rlmR$FHUR4STdEodJmY->EFKmvy*%X;rw!kbTXMk}g^{=i
zX73$i1-?rmIT&-b$ig(=Dc?8pQ$p^0L#LlP<N$2lRwV-;eup!_dy=Q5g%!-<;`hVH
zp)ME11t{xyo5v(MLvcapf@}~1yz`ow`l)$dz2Bo1r+ih~EAvH5CEB~i7ymRu=^Dha
zwbVXN8ZCf!RL%c=tb{-jB`OS>v*gg37<!&i=w=M@jZ0JjDJ6@4w~y85c#_BMbQ!((
zury|L6r;_wDlC^AfdYCA`g3v(11lA_OD4cCofUp(Xfe5O5q+{Ymt>XQ51#5hyCQ_k
zb%o=(Mrv!rGZpnuIB8T5zD(KviBbk-41tq`Ou}q1xZn%}&#PEC_Nx_B<{dInP7Gh-
zSAMzkjX2q^`Eg+BY&Gol%zF#HB7P<$tbXxKBmir7_hkhZXVLw?cXIca&I<UWg`<Qm
zvxbIV28+r@d!1LPv>P6U{;okei`2?dz~nB15dJC2z{I!?N}%(&j1st&1VCB@oUJdh
z3ku+O;Dk@hN0)#jLPUItiqX|w5lnxb2)X(9rq>ak-WvbIC{?3fr)WG({_77i@%1{0
zJ&O~Sv>O5gP+5|BxvrFDpRZQ8L1M?X$4O`_Um)Yv<yH>J^QT=AJqTW56oFHV1b@99
zQn^VX9$9-kLts{Ubc6PNF`=c_{N2mYKMRav*N;hlE@v1W)VIRb)t}DE5jooc2BPu!
z6?NVn{))63@r#Dy61g`A6-5DHFN)6wH~0*cr%mzLUDvuS35`#)I=VfMkpOB!{aIR*
z9_2Xv-Cxhm*d%@caP?YO#<G*}mjU!~>&;*7-+mvBH2EA*{>kUrn4E~-D7;A_c0yO?
z3{^V@zONj7$nEq<e59W=Cqkm$d%nTeRtxb@AT~C+nv`j>88JcnGBUGM{O2QjBiSTa
zU(V?iuAD^NU5rA^J?$>?5*R{{3US>V_SbDU;isCJpOOevWeIw}`XhMEZ54>YYOsnV
zZq)UFTLVKQOA;<)YE^FRu{bA-xGyb(|MKFQ!Rli4pJ~G~RhPi@u>Ma^D~v##!Odl(
z-p?BQA_L)Rn->~))Bcs&Jzu)&%6_H!F5WL0sczNG3^n91k~<LBIjH+82c@J%B0#8Y
zf>IidRAeXMm?#>9D`%eb<b3#4Buxdwt&EDtr2{2p%o0?F_Iis<gHoo|2*}*x<@&%1
zZ*gcx0rGU6Z_$X*0pA^B>R;^TUL%3Uvx_?%b|K5P{Zntuhl+3ThwM+t*a9jWDt{od
z0Rduf2QXIl4{erD1CiKeAt51?;*0;Qla^yFq|R6V#!CO>xhTNumDfC7(=sj#H4~>;
zC3pj!2v7@^4%o|oHMenJ(R)J?G~PExeDWOt@;*9dI^7acK?tFc6eff@QwoC&SLS9M
zQ~_`~u%bwXpuD=p9SoHES(>!s*3zhhSjKik9yb~vtkYCklz7w{SLlgYFY!dUK1hb}
z<-z_64vD=H!Ff&8RpjNony{J`xLVGcmEv-fD`FUwVsgm)FK=~(4k)rsV8*uR(He%T
zq?_d(9Do$`Yku`Nk^o~Jw7Gf6uP<QDHs4O+-+Tor|L<`y_V4*KY%d@+c%v~QhN-f|
zBou(<n+PtWt7_r0uGcM6uIJ|#@XoIsB8fcA;G_jo2Wv7{FT96Pw+OpEu+`x2>~Y&;
z1JF6<ggN4YfY21L#?=*3GHyp9cp`GDU4-h<#~Ngt`8XLKi)FlZSpPlLm;<yFt!YS1
zef(=k*h9I5HHw`VGWH`ytNm~Wj)uh7cLugicE`g2ulbq|n^XBZD^!zXkYYiWsIP)v
zOUhMkf$7!jrr?=n_!bVTyTFElpP4#%&>qVzKDoTE{>!;>4I~Np*`K!DOSwoSxFZDD
znw<e4x}g~W=MDdM853}@e@JCH|HIrm9YozmCKtd&rFMQ4nkwKPYpZ!#l>8G3Eu&Q#
z6EYS9569!dB~T%H*W3q=GaT9dAcD7RUI74QAP79*6UOsFWap~y7#0IU(2yL-CdYnZ
zS2({qRhX{?a%^_^h!;FR1j6DR-W0syzyxq$1z5oYf+z23582;FA}y5wQvG`z4y*OS
z(|MxuR@2}g8daJqva+b5>3z@FeUDDvH$?2%<B(k{Z9~IH0VwJ1lR+>&7<(GKj$}gl
z-YW6o{*XOztZw?DPaqQW-7q!&j#=MKrrxQQUEYr0wW6=@WxH4mrzu9Ft<nE#YZ)on
z904k=<W`6-$bwECrBxEQF?Mw1$v|eX`!Q+yVsfe;0?Q<&BOagdX`TN&@0y{v@`I5`
zpkfhe??>imy~W;~#%!cN!fm5(u2)i)9NP>vKhELW{5VY5h;J_w@)fBRz!MGzCXM&t
zMr+n{LDy-oaYI}!%L47mu|KyBO$E&v7XlF3R));CbFc=FCi$CU!wh^8{oEUu6DIme
zY-V@4nE@&S^hb>DJ9UQ(vVvY%1TThcxB%9z7HQ4F%S$_KtnZhpeVIH2PF-o+$P`f^
z{3dvfaH74|8mhMkP_ngMx7J)igFfgYeb6p|{<h6zIAWr=Xi_ei(XEeR+rFP|iE+d;
z<F792Jh`g*THfdh7rXugQK#F6oiJ4$>IuL$R<WEm8p4pTkk$@(-ek=d^UPv6DWW%1
zk@v;QEvfO{w$!xTT=X{Gp=vY^NCA9663}6SjH&d@)QjF?J1@`&Aq6S?te6<G+!clg
z>o>@}c-7ePA>7d-tm@X=)7pKpSBz=1v=$8I<xHH~GzyV<WbK;zCpbZxssY(vBY!G?
zwP}LQ(GFgb3)ngP#z>1wFdTFbn-vL&o)XcNm;XWQ$_r~U#u1gPI-l8w_|6KQB@yYc
z@`?xNuGMvkiYlWU%lEc3)YrB_Elxi=<nPK|C%-XWl6=0o>nRxzeo$9UEzaH|F1Os#
zV5<F7a*};O(0PlD#y@2-B|9Y?XxHS<TU{7q&|7$=Xr!!iCka$~&5JqSJir-F#tf7#
z@qGmi$a!6X)Ll=+)n2QO8uhg1j^47+R$kwY=R7mReocF*_?RBkg5u1@%^)zg6oOAs
z!>m<X4D(5=IXJL3f}ZX!%Pc0+T}%W?jPc?>*~}HnH2K`v+S=Ry3L$<P*+(GJgxV1f
zEgx&wwYFw-bab5j=N_#Kg_@E(I5>1&UR}9%u709Pxcs}VyRyz6<Ai>;YlW_DY;bCI
zd|zE?*ut8Cn;6?mk%Y3evZ7{X1q!tEw<6plqW(*{l1&>oBcydIY$qBwwGJ9K)pjbC
z2<3J3i$tuolh0r)iGRmG53^f&D`Zkt$DRt94P#`B`oetMP0<-Jf8oMvgBfX<Y0g**
zXkj#o*5-7%rpe=6*Vf6YHJEsn`)oj1TnSK-qjsvh{{qXm8rs=rdRMINmIFIsTaIyn
zNS(Ppx+-<C=~Z$_qJz~lCuOrKoYf2UOeFn2qk%`Ii0R&6KVLDhQgx@XO+5s?+MoB9
zd`*8%nx6K{5PCQ47L55a_M?JW$IX-zB*a(#g&_8`4`^X$T7Nojz^Rn2uv8oWMU~)s
z!*_VDEaixsAu8GpKK7?dP{?-%HkGhTF~4*r!?r2bFD<MNJfd&#lVejrppwud3Ali+
zigsJBmuMs;bfs@w_8&iY2DG7vAn34eNV{^VD>c)8v^EL<<kG69I1xc0d(9kWpOZLa
zM9E4M@d@ZvS&J7Q#Q>pcL3V?qc}sgG{pM0V2KM^+S1E#NW**G)gx{Ihz)UPrkonaQ
z*<;)X+wO?RitF0SUW;ZJD+rLjH(FuWWVR!VRLd}~<*+HO<rpZpahF@r2nUwH5$`Gh
zm(J+*_20q-sB>fTo+SDOf7y9AiY?*(W}4o-%DQC&CFxO*s2nr^(%PW9^5m9tQKb}1
zHd7VRe;@z|XRWBailoM6_V!F*vPRd~aTi5%M<{s(QQGY^w9clE;U4%C;y7v0l|FQj
zvvc6y{||9^6)-GUW&JvT^Ud(g?rnn@@g#HHEQe+q`KkY5mrys|w9x=PeMo-AzRWlO
zHG#?QUA*sSKvA|vPQ~w)K-rrNN42fAPW8Y8N{t!ANd-B-4Pa&O3(b;I=jX8ntqPH~
zPkYI>mDW_!HyM}8-P*m-t*_;lLzZZfb~-plo`?Q13WgGN;Y;e>t{}R)K)I4=74^AR
ziLN)oAtnEh&7Zf6Rv(-gH$@WryX`6-_l=a7_M8|WZ>bo4&e+S#FHs1;Q5D9tz7cAW
zzj>+${53*1zN#xXzVaV`cY}2pACQ5T@rKT{_LN`lb^JEWYT%vHL$v!#k7<*B`zuc$
zYGw){_6WFO7eU(f`QF9W(Xl0VG9dv=$n%0cEj=B{lBpgRhj7|9dwzL&{9nY8s1Hv(
zDR;!(!tAVsTB*XG6cys>U^IS3b8}kqSh2w%n||AOkBiN*r}Fah-9T%YSnoI9`D#Px
z2#@2Y09#YT+r@=rHirouJTk!mfL#DdY-C0t!)Bor76jf^zf~-oQvUO2G7uKV2Dro?
z3eeFZO+=MI*=T8MnuSrI+qHKZt+0u20bd2EsuM4r$q7yv{&6Pc<x#TryBOY6jx+(#
zmaD3&4sM*u!RQIWciPwh_=7&)irU(vbEs&`kV^yQaMa7LpHjZq)X0#S%YR!YX1?&z
z1MKS-aRdzcKixt%_p|LcTH^7d5%S++2$@M%jdx(4&O?9G9Y7g?l?3?+X{Eoz=x>Y*
z+@`UA5J`2Y;LxU-5|r{d*ne*|Gf>|wNXtIQMD_od0EG1pa~=8)zN&iK<B#L%U$jZA
ziL`NyG|Ij@c<OFvucNG@+_g>?UPMImRJx#9WvQ<;k+rm<ypMB_F3I6VS54|J;=s-!
z{a^sc5?6CtP-z?5U~KuBphmG-(K1I3Og89?vXUeNhi*>LIx8oz;cZ@kF#>4;2=I2z
zSXNfcsoGT!wIEVvS(|MbTPs6+Qa`I540wm)X06W3+?a}MUZCl=cMKjI2O7VNb2p*D
zP!Z84K;YkRTcxiai*HzEXv;NmG@!{2s5r)TqApJ24te2iPAt7mIv^p?W>s$6W;O6n
zwZE{${L<AEdP!A}7JuHo$Z0Fm$bj-u!Nxc4bZ&K7eya$?xoT`#RGoe|$LZQdqsm^_
z3@_QI8*~ow)n{%C);U617NA~rI=?uE4g`?IVcjCm!sCi>4y{gW>$lPa;W+p<8;4l5
zJ!j<AMy$7yCNWzinX~=H6b<+|8ji5|CIs@;zgLi?WR}I`0V~OQgPDBeOZ3STc^Ou%
zj!B?f0!*Pw=s`%ew$5j8cJwX4#(r;*z)U4QlM@9kBr3DYnmfE|qoT`-DQzj9NZeCR
z=ah%((%{Qp>2HDy0%K;*T)7d)!b<$!lE0bf>Rk2tF+LtDk`o?GCqfe8FURH1SHkK7
zzv&MXd!)Q+>y)i09me0eX|dcf@EkIuDZZs&4F@XG4hP854hIea5c^`iQv%JjQNLa_
z;!WQmg1lr*V&1=F6*Fe}6i+sk|04<mO$qQ`xv7X`2;Y~Wm)mN(xOFEWM{h{k`oM}{
z#MlP#>91gnb`X}x&1YzraUUEKNUz1-qyR1*0Z|YQ3UjhAba`L56$~%D=`>o-HJFXG
zVPb}J#+VQsFmwQul|LM4ud)Xq<v7D^#k!4_n5;TK!}<tfoB`Mbud75dqU##~Y7VyQ
zNW_D_02jwqs_jsN{#PIl;P2muAJUQcR^-S}$lCR~o6c+kU&*mI%wEnnTCdxU1L_lD
zF(y!`b3!IFnEi-w$HZ@y|A_23_F<#hjyMrjMtr&N`9S}#U;;8u@Pqfu&5CyqKnPZh
z0VcJa>;TXz*3)2*%l0bL$Z&_TA%`cR0Pq2ps$vCzAI4n4y>zMh%e_1#;G!hp`5box
zy#@=qc}=s>v;MDpV4}peYtHZs{BbcsXPS?_OfQ35on28H&%G>OSenFwP3tEScj$Tf
zkNztrkGPO3g7kXkuKM&0^~_=s)NNEsh;qG5ooISkmJ?p%Oyekq$j2X1aj~2Sma7he
z+buj+=xNRD%%csX7{*Pv4(92DZ7)@W<nk3}<j?*kQ2&Ml;qAzKj2*(9y^Q5{ZOK>x
z&4z>Qa*2o%?!HZ?HD;@rPI{IFS7-PGAZJ(ZAf=-Jv`_L?=2nZvZ=M*rDjjn+v*VcY
z_)CKgiJA9e%v?G|!fi=w)oqv`sxb&I1;DpG5li(AbyAd{9o9RB5`sP+zt}pMHQ(uM
zXg@()*i7SOEH0dtk;qN`Sxnp*o2LnnL-QNrDa>smI81vGzA*A~D~(r@4f5I&Y%HQv
zzYk(W=4c^vG+45f^3z~XQ%@{SUKL<U_*z=n24H*1DL?AZSCd`wVJbJ03}?+zMTJrz
zGxlCPpt<M&m@S_mAoDi}!UHNjZgb=9KZzCK`ct7AU%4>(HN2tIl5S%dV-WS1uYe1-
zkPzu(ObM>F*$lfzW#}Ms-vfmJ9INcB#P#p3X{1cz-}_x3O+Ei2N92<L#^?j62!<J~
zp^H?;zvB6~clSv)3Y9-M#B=Uak-_TqUWG`EHwV16v=nZ)=cS<~BIH|8w1C%NYIs`v
zNV5WtVQ&}>H@MyH*wrMV@ZABhF%$~q0gHGiCnn~z;vm!`IU_&-5rA;<mVx#?u*zSv
zUJ~@-U{1ZKkHLvIH7(o(cO>{nfKy5V=b&Tc<IovS_BNu-s-7M(N@1}P@;yQsaoufa
zM}f}(8V<HhDh}SvclG3L0RY8&a<^#c>+`XA*~9hm#<@=>KA0PF5ROjl)kQ)jHsapb
z1{`%(Y;X#q03&M?17IOBweM~d+xwdbz{VKbQ~+Yw76kdTOL!f7&Yj@=-)#*div;#t
z+5PaRMJp}3tLBz%BO3i{)v2QMzVpcZVVbre$OFYpy>{h0>hF>)=9p^SH2+%ll|mEr
zu8mzAac=sw%30ZV0mH+y5;)6cL3y<eT36g2j9I~r$@we8;_I4x_MExoGx_oNjP~Ug
zD+?1%?dvZDPpNCPRm*c+?n(bzMDC7#22j?>$F71?N1{H6)&vW!bg0Yu=@jQllVTdH
z&g>Rr0E=OeWd*sa4MzP1n-7B{pHu|4tv(EbKq@Y-G1`{OZN79G)m;ih=XMqKIxG%)
z<pus_01$F{!70Px9k}>e<#^CFTB;iW;y(|&?`oh@HGCUM<^NkjOS6pty1lxg#T_it
zMqrS1i3=f?IfXsi^AKJX0ib|{O6)$lj3Anth#+#ggi0J7;nOD<zx_c}wvz_Rmd_?m
z4W!x-gk2jkG+p_&c+eArPalGDK0`=DU=SAIz5IyjZw`Q%@@`QO(kMX91c=%sX9Ctn
zp2W;MDY_r=4wVHAm=XS3CE9^k4zlR;Sw)^k-T6U{{2gu<BEZ2%a4SGLoOlgaE|o)+
zi9v9ci5y4u1QCGf0_}m;d%n+cm-VdE@8WQ^QT-C#0ABzk5MH>TKEFK?4x~xqObiY=
z01XNMG&d~5@-Di4<k8reg&yS^#&+j~gP@8H+;d<HSWVJgVEe5sE)HT~YSWM-ufVh5
z9+5+^%vypNhr_gjBx4W9t(E>eRy4U=K*p49PF2lgi$w)JPd)>bn8+uiYZ;pIs*7ZX
z(}ru9&InmeZPqita48-nFHe^MC8s^;HFDA`Np5tnE0ZB55Z3J4t$NAmNp0#vrumx!
zWuaGVA(X4>3_OPNS{)vD(Qnie*_u>s9Cygb+ja+?J5eHDO+5S97~OZ}Xy0Y)EX+Bu
zyr=yaOVYn|_ho;?bXFyD*k7)#hY`4W0rU<8wHG*bNN#ww6s&+4Si})3hLQkHPXHSs
z{gH~wf*g~r!PoGb98Bl=hOa>>v~XZ>;VcZ=ok=nYYXmSlyBY<hBw8cj?Xx;_VeS5!
zKn8%?djvu0#-!-l7z7iSUDsH|<&v8fEVl^ZyqWOzBmfKm9YYwDA}{+OS_n=5gywIf
zg$V{VkPmRFGI}8T4J{o&eg=o;+BL!nKylV5cx9+$RT2A!Cm<#^($gmt6b%tFW_H$x
z*%$Z|uxro~q7lsy7+^_-t5DJ5@SBER{rX%t1K5GmE*^elKmZzZ2_=njw?`*J0*pSA
zb`YLnAIAs|_f)qJSds7pu%}5^;IFOQ%lGbAkypuCw6UoHJ32mO_L1#Pt7u&#4}de{
z!1TXc^P{`uP|AamXVWvUAyWh7N$ypGIK+{`7a&e#!>%xZD~P{3^oA2#fQ{sRP)lDX
z%m1C-?0$e(%EJ**5i{^0c#NR#p`DUzn*=><!GXs2S^jKmt*iY8w2UwzbM%@Tj<<X~
zbTA2s3&NX4U@&yg_cfRV8%r&_mN+aWbErukX<DRGvtMnEs5BVZD5N8#R@m2cQ%hAO
zL4gA$xKz|+8b)@aQJOn;Oh>Ya#Wfi3V?}`ioI$d*p(+0@^b+en;kmv8T=BQ)5<NhQ
z3PHk+ifk8b?V{-gvc`6c%UzNHpb10)osr4tt>vNJU&TPBvlccEkf(z)msC)S$UCr~
zB^Su3V>RWQbMg~}CT<#zAP!XmkXLJ#L%oh)=bMh`Q@u$*u<M0AYb+>jvXg$0a`<ZA
zK&_-4cDH;Fh8-BdW&^$xjN|LmolbTv+Fkj2>7CmStYwUTmNj;{u}eRV&sToyS_GpI
zJZdAG`Vw3itAJ1Sp6aJ3e!{m*4?N`JE9*MyD#e<0wGPweSe=sR{>Yj39&D&F6FgpD
z%QF#--O~qrgH-Oqq8R~B0^)XY07>I^KsDEc;D6<My#sdcKnYHPd@U=ItvLE<L3g&9
zXhNr7w<J(ZnC&HF6ljCVZqoR9=g&Z^&)tLDvG&}ZkuKfqZ%sk%^f2H2G(62ODf*Wz
z;|8Y(+M~tB{u27|x|9C9`U(zVr;LFzn_}YI85PV)4eYAuM^UBs84YN&Y^lp_L1ncT
zik@FrJ7VT-S3Iqs%p4+q=~Fwidz^55!^mu9tyI7x${tS6A|oU>n!sU_FyXZOQfY6+
zN0{>7E_4y-PPZCOU(9NHv6Co-Ef7qyZGFmg*utjfWEzs<JoSai!kH^V&eRN1g4C(W
zeQBz=Fv44Xvu)5=Nf+a&xZVsDngWLp{-w8DyaMZw`tR7Ess^X9^X`6R5p2gsP*Pu`
z%nGc=Zq<g2|HPwY5@byLvk9)zB|3qwEBKyAal;B23+WN;Espq3ZTM%CuHm^kD<!IH
z#*p4QAxBA$>(s;|m=%Dq8O_u&tZH%T<(BouBAQ5P^hiGn%FWPooJpfej40L;?Xa#m
z#_U<{@g#}Fu>I?ii}UtprH_#(*NfWKhtTA!kLaCD8XmVQIu1o0{wO|#fX?_%h8Xp4
z1V_u6%3TBDs27T~BP!l%831hF7Pqv2HXT&lh1_H~Bei*4iTlD>q$A~Vc6FiZcY6qA
za0rliwB<g{bs-2Ei?0b42Fyk64YzF6=7%4TyHY!fkRECYO9wBVz^lQI^8Pg6iOJ!o
zdjszGMG&DBamhMj--0BVSL(kj5eEN^moF2Sd$f*8=Hp;AtBIzGI&NV@VqiQ9)9WD5
z#<x^L5MY#5f~^J;ND<b#w}-X)Zz&><ik~u(!TQ{NV+QzOlF6|mn^PYcQT^M$ahCrz
zdH)+$?EWI16if=n)u6HB1f`oLH(@gFTPO+HAAMwJ^6;aoE&by?QStj!T=k{7Qym2O
z{8EF>$i)%gi%$Hx{HON^jc9j_3|g~5!gvEDiS|dz<4>!#ipBylOfo6~-`{uRmw!;V
z<)FeMLU{V9+FE67MPIsp-}Aw=i})!fE^Dx2i$rfg_)^VuB`Fm@B@G1&U3(!Ob@zk!
zt&j%0zKjWZXYshRCEiGNUT;Wtz?~M@ch32VHl}7r(jq~G5Q*DVe{Y@%`AKDBq|YnM
z0rv?#r&djXC@}K6;VhBW?zj-G@{B}L!!4cU+Ck_$=|T10jW?FUF)O+R^wk?<>4M`E
zCw*~OoqjJfru~_?M^fpeu05z&Pe}*AjQtm2P&Fl9-ppj&_L&!?xsA3tGq`#+)EvxA
z0)oUonO*GjemgtEL;`gskp5vnCvCn6oG5(!S0d~u2H0Qrzp%xZcPo=;*no7|7s@fy
zI{04$Qn=7FR~-yya{>0S83|*JEq-0;HbRX795^*dFdAD~))X&oQL)6-@ig12#XV~h
z6@A~cEfZhb%{5%A$VoX5QR(qwE~<eF&G@PzRImXuMl9xF&{q@ozi;Dz3#y=}6(OjC
z7T*0exLXj^Ll!PqR8!TTgj4tD&XYo(Ad@$CS$V6(Q;>CI?N8XgFqfl{j1^mH%yh%i
zZD})e%!`gZgZFE$x(Qp%Ld>!X0b#i70J4#)-!Tm|09T_a{-@pmMEj!^Tk%O)Rs|eY
z7Qwz72N~fPY~l^A+pmZHM8CJ1?OM5`7^>`w##IjD;kdRHl6n{mm8-cEHh9yS)_qA8
zK5X|$@X9YkS7{Hd{%!&|G}sMUC8m8pVMPjP7Lk}uZCW6W;)eTJ9Fw@5$zVj0JV*KO
z`7u4wtC{y>RN|P$DdbJn0ho-z-}xwW+rLzEkBJdaB2HuHXS61I)T_Hxo)H}o6wtk&
zX6LfNN()8pZ-;iRK)pDva9#2&G~7jy86NG1+G))j+8YytBi$*I`mv1Ra8&oLhX#CC
zx%0dJvfV^^Gci@U6CSM^rI^`w>{CGCbxRxYt>*4+t_9Q(Sj|59yvSLKV-%zmH|%%e
zQtR#;t9F$lXhUA9)qnc_`v~+Y?D3)1Fs_&kk{o+x(1ob#(yBS(@#=LbyfZPg;X{Nf
zVjUHy^vTNB41rOclfjVP;^Kgo3PBwf$QYV5&dg-=Kuy(#xe`EWwPvCZ{I7}!guS<%
zc6Sz(f>D(6zaBBmS7Nv1loTLH`it9pVx%f<d_9~U<2Lt-f5^WzyDU-6nh}-Ahm6&0
z`FCHU;2JIam?}HH^9x_pU_JhiNC1l^Onvamq><!})^<rpm8Zj2L|>b_N;AV5P)UxJ
zB21eq{QvNDmO)X!Zx`PsrMpuFm+n|P6p&g{K}tfpLApVZMk$G<yF;X5X#|#*Mj96B
z5NUY6zyFKp4KvITvvuEBoX<G{{<mPet6e=^uRQ_u<j8qQm)a}x6Axe^wpHhjhX1?x
z>gf5vHQFxnol0EJeMI7|hNk(dYxJ?$aDULf1e42@=>Dr{4*W*B_8M{p$KH<dQb~5)
z{vJ0KdU0Ta)|ogsrqladgWcx}U%362zsV>3e5BMDxcBvr_=v#;VHPYJCdDqLvE{|c
zZI2|h`L!ROqaqv>`@sx$-p7LFR45`-9j^y0)`aYm`YBp|(UG#F9(5IZN!EdD>HgW{
zh96wQAo;mtt+QnUbnoB}68BVM)ZEDf6}e$sTvI=Ntu)r0Mte=$N&Nh(GNYe@D$y~K
z=?Bv(dYBXTYnM>sTDDOJi(Oy|&bBarcthA_xt~qeVAsot1)`J)?z;f^v&kx=PBYNf
zOa=5<ufcFVt*!qqyWJ&5ZXyb=N$eBJt=!%%pml0ix9|P;@{TbiZp^i?rS%Q%$U86$
z&~pq|exa0|cd!sp-(u<u;3}Pb87<78mL!lV%r6Wf?$Z;)JOx3d2wkQ$%qaUZk;=VB
zI_?|feaC7z8*LhCYg_fbD)S%+miq>9p1*bxaF}=Tj6{<i`u{^c`xjb(L4+7hxuY>{
zg$_#RJuei;+<yNDX{wd|E7qk<=7Q6a)tH{!7gWfh=hkItW$QL|9OZ@OL++(V%N{%*
zI@VasLdYsWue3OD*IQLZ%Y29F!MMW&v#$;+j;6TF-*qSiN8y&+9FQwKqVTOiJmuEh
z`NbMR>M2t9=C_fPxU7xcb#*3TAoe;2>@rgJO>;GnCIOnJTteu5|7EB8>8KyR%QKLY
zJRDs*0j=*zuJ%`lqCHGbnhz)5(FJJ14iu<6;M1E&f--J%k_b!P{X~QRy7rj%^qty4
zlkbgxc35<=lM`O=6}J^Sif9c}Gi<ztLXE!7YL*ns#`5h5W!F$=6OClb2EDlA`TX$y
zVky_`tGFD0)vqCCik$H0)Fg)nF?x=9QlH0LdPuk<Fx0RN3VpGQ)1O8TbWn0s7rvqM
z!ZUSEJ&P$Il+}58Pi8&6$bCz|@U^%I&(UDBWDH<HW!8Ur#cu!nvtQ}%!^x{Ah^i@k
z38|g{{10qU-O~{hzZV9m)Dg$7HP6Hz;2>RfG<}~r-joGB&X2ru0(x7fudIUCu-H5e
zsRSW}oMt-2#|@;4hI&xxuC-6;Nv-eD;7HN5q@CoQ!rTBVLmZSu)hA;oV=tq%J}cNj
zk%UKCx3bgX?VQO--tuzJG;h!~C19#r`xGFJUj5_$HTFmA;Jhk$6>)(vcs)DOQQgb9
zGw&?Ldbw*DMn7$saA_1lP_#PP#AyCLVdI7<4`I>ExaC_k@VJwSKn5q}*|Bnc&q<-s
zh)8jPyqOgepVdJ*=+`XIzA=`GH2TaUGg<>KaJe=vC&m<z5w0%NDC&smX|ubL4+F3L
z{pYPx(E}`vbPc~<=o*nDJ-#`|ga(G3W?i*NuBcrc2X!A>xN5;6Frz}>TH(!N9c4MO
zCcQi$TINNH;w^Oo_)y2=5UmhdymcCb_Qn6T<qrbgNx`l)jAxhHSdc*s=)y?XliLBY
za0OSB7dr(<i+<#XnQCt~s70Xc(NFm5!xF7)w8BBy1WhtlA`usYXyhWxB>h*VuDaY^
z<g#irg$wxJ!<awI5Z*Dv`%7i@Z8;%|XTK;^vRf1hE)nJ@eTx*qO+F+2UhFQw!w4Zm
zJ2}WrY}YQgIWm*gS()lx`UNoO7MOlIQucL|=GLJ}miA54)nV2S);xIrXmDLTVvoHI
zhP_O_X{Q<igU)9S=J&8gzb!O`7v+X2X9PNQ7$1lJl4hRd$v#m|>+t4J-T`SZoZOG8
zijn&wJ_FBMFaI2SziaiS3&+^i7OPvQ*v#Z}l>Xg($?CXpE|Q{edrZ<&)yUDMYiCcN
zf-Ta@RZ)=PPdie?x#zN1?*>zIG3SF+0s10F;E=#IQ`2`e1`d*j9t=okS#5w`>&~l<
zSxZ}(BD6bd6z=cHE0<0N2|L?ORq8+tc09td=TV!|gM+S>-PzV-Uj8dDFMRPYTz5WH
z4?SlXNqX>0J(p^=8aM?Sm{MC<{!RNAp)S*UW>^!?yBA^Kuj-dt+cU_*4ZkIcmAz|^
zSOA&SAP-H$MauWe&dZJtJd#HF`X<cUs`jx2$%`5pDluUzMSJY-=|iS2+DotFyrhfm
zw9?SFf>XNm-y!2IkjBFY;ZHHV=DSm8&K|hU0`4U)%j`DP%6I84g2|e7DUw|csSIiX
z1rNOW)elb5D90XM9uQSyNCbL*;FE`5);GEW`JYIY#<lL&l%;bb44LXU-zf*uBvd^d
zm5~40E6A8J)LDB~`Ce;P@xmNFkq=6nss8<9tSTxWs9Ya9#>?uf=4|9P-wK0aFq3=%
z@-?ot8j-G{8wQ}rV<k8a?7KD3Yljl?@q)B$Vq#)*#?E7Bt8Cp<`DJT`m|<<E4f<Ja
z|G@iNDr$I^c=`^@u4#akk;?UYDV}WpML8hi+zb5r?jrgcn>xMi0|Q`y6muzR6idQ2
zR2^1gs~^a&p3@eJ*atQfJiqVKd~ZwmBPUs>H#@OL+}CfgmlGr0HN{ier`9@r1Or<{
z{~(;}16U3}UXerj4cfHV3Wt)2k0;@2j>fDWHv1VUFvL*%Y3y$$N0-D^Kjl$4zJERv
zI*GU8{$sX>s6+BZnyFWx@jCG~`8X(YRA)@*W2fY-QGd&}^xg87B<I|NZTqo%K()fr
z^X6~ZbsF290zuCO*S2s%$=>N_4I9jw!WMPJAd{wl)=mdtdYSR%x$e@VRy!a5h?gTg
z$6apR#JS(heLpJjoTT*}DF=2xSbep_RYgB{qjVpS1}opl(WOaIYN<hZSBmFT1CV^R
z_q_V(Hj-n;1uFBDm-w}QZ+-GpRH8Zi{Xn1F8Uw>)v|V{7qIA_W2hA@sSnbQ!!)i+9
zL7)R56#=OD>)AR^r{C*1^un+p9@f>`_gNaH+T@)eB7E~MzQ_Qx%-5It<pZ5ZLEHn<
zDTb9GT2L3qlA;!{gq@8E{!zBjoJo@k+=uM0cljX5M)SAh+AGG^biiU|p@pk+|A}zm
zgC9CP(*EsJ5FtqWcfX--)IO=RIWZQuavVqtA7-GWz1cC238k@x?;o)GXM+^tj)UYT
z%iMkF8l;4yHs$mZi3i<U9pqHeR96JQ9WPS$4oH0fr4^J^PZy@gq_fxkU@Lx$kwNxk
zv*U&sB^3%x?qdt~y%46CH8Akm#D=iN3N9AJy|2UdYKwwaOCR=~vbs3t*nfAi<e;;k
zx(;qJIz;a0P=Ckx&am*;*}D?X(+|kzKqg}Z6>zTklAX_tiPbH&E~)|Lj$)XYa*Ib^
zl|3!R+_<S6;8Hg+JJTux)Q}lT$%a&ENlR$(c2q6tgFao?6*F?^@_Xb%XGqdAL?~kU
z_&VS$c6Dh{Uh)zr-kCU<8RA83x+Mp;IO=`u+?I?&fLqQiw(;**m++xJ@{Y!~I0ut|
zDaozBZd=0qlcoxA^bGahv6#M>rlta8l`EWPK>ZhgH?rcIlV1)MpwckQ+B|aJB`&7W
z>D=E?{LpQ)6O5U)$j`-2Gjn;~7;Z?B_C*}5z4kHuSz9F_itDwWaAxsj5blb<s<zvc
zjAnw`J{f*q=0NHsCh<tv6eagvTR0%3`-oWy!~C8O=sQtQDZkF)etAP1f5y*Tu94l@
zv&Jm$DG-h~tWYPDuqSgh1<ethE47>AvUqRaJ`unI)~sG3Su(aP#$3|nH5|79MV3+A
zVpb$devFo*kR`GI*w@)rof}?3KUeiVfuVQLl!bW*i`&(-#3kF*tGpjt=iCg0^lTGE
z1cncC?NE!SEzTI?Lj=Bm8LU6v^~n&h$JuV<3ahZWZwza281?iVujlgO)^y#QYST^O
z!`OQZHqkeqC(WT`j*)w1DPOK$FQ|h-oF!yI@}GNJ|H%a6q^@^n<2<~<7DduXg%!C7
z*!ghlcTQqy{)svtxQ{#UaM^rLE9}WZz{}=^9$%XCMXC&cohxMvt1K<0K~qOCc(Rcs
zzB!$2Ogtoo4;^S?pLHo$&Z$K*tu^uh#pu&m2iE2G;q}?=*OA9q?ryV`eQj>A8<L(Y
z{%r#Py*ko|;mO5|84E0k#-8%U^w}>duSoP{C9RKJ()ppMwwS#w2|n#D8nsaW3HKp}
zzGLGf;^r4EL_>*EXt~Krw_gx?EiX?lUx=c^I(gsr41bXrPcnZ=>}&_)*wzS{j^>(H
znRnYyWK^AUc0TU4z29^20?*gYQwQd#<nju?q-{}JorVqMyO8J25Jb2v*Awsv&!H&m
z4G2F9#i#QH$BAy{BORgyxWjz>lqT{hT&P9DHzEr3kykv44Ph(<3?VcTkpZs0em^+J
z`%H*3$T_<ve+5t*WO%DAA3;0o5VRIKR!6vPSqkd4*5i3%BAo7hHw$0E7NZ1BO=64t
zxx#X}&l(t0J%oZW4O$7a+J|ESku(o={^d;Ozo|P*I{jZxtA-o&Ak(MjOcJh*lcC$T
z&WRL%L3D3_7DzC$9+{g&kJwY>_Ea&LF@HxnihEr!s%LflGWF-U@A{l+{Iw<KI^1Bd
zK3s+2Kp7V<)V$c*1)m4Da#_03#ELOua`OJ>i3G4*G5+ONWMlR0sFRDiJ&Z@J^3!qY
zOKRhTp-nVM%W7{)U&}b7`?;(}m^&f}-(bv3*9f&0ICu`vY*D1~bojZ#3&>Y7egkQj
z#_t%z-gplPi9uG-M&}iGW>daUX4k*{CSW<H(Bt%78>Px3<Y?!LQ<_MXP=5VYjEnu;
zB40UyEJ?@0^qyYN3OUbh8Ew&4^G05xQ(zlKXm6C@B!9?bS&0tXGlFO@{d^k1TD|r%
zPEP*UPwMUt^ALk?GtRozF}UXA_Lkv=A?QQWU`0NWhC+{o>@6$@tskkc`d^9HxPI~D
z?B8Koej1zlk0rxx@5}(_TfNS=r;)r>hgPFFZ65t<oa?RR?ulp+dv#7TRpKC_?b(_A
zkNa+rzNHMHTYfA`*kQROd9uNz&2@d_#r`aaS|^x(=oYTTR}F{oXkX-n!Ap?D%+?cg
zdv&z0Bqtih63iGGkEFftqwcGvH*QD0mc@v~u*EVqw{{b*eaCw5AKJ4w`5S-wbRi&N
zw{2H8G$o%c!h!Lca-#>P>-gD+)K_Xv)k1^$rJp>?ghJ^!S!Qd)h5}Bk>Ix~w6Z3hi
zKr@(|3R{$QmeMqo0-8mnH{X;EJrlG4<-cN<Fn9yajiousF5&4m8h|ehCW?Ir;(6+S
z|5&WP`u>;SfZMQsKj)vZZors|5*Gp8E}l8^RPMmJj$42s%CqxX_CD<-s4ep5LH%BO
z=+)^3=}zGcQY<9SC0Yyz_(b=6=s4{35%<*yEw&oy-~e7eFqq~8TS>}EmC$IE#M6fn
z(Aq1+-3Aqcc!W;F$!Bx@@-)Je$yt2XFX=GR0~6;#`SA{g@MhVhwLAYX3LYD;A?}rw
zia{M4-DP*7B6D(f&Xev53j+gnq_L+EIL?v*BXr$67(o(lXnefmQ^(zOw(iWpbH=u0
z>(2D$>nPBHBoWte{bEUH1x}k>-um`XZ_oYmIRlD)TqpuCTpG`JQ`T;*QApx(e3{;q
z#rax7Ll<q4rN6wgWANRHYF4>W1g6{Xgp4dV+}dsTZ^>vsx-oE4ef}zG|9dIGRDSYu
z?#EZ~l#TqNL6IBM4XmMHrJVj^L<z@6N}Q}L&Q+JNbXpF^fhrW*n}ru*oE97E#jVd`
z25ZxP$2h$&-s!`Dz=;u&-BB~M+oXL<$RP@)Cz}isPo>9gS&@#$IWm0EZkZR}V=|82
z#;-$_y!F1YlH;D{qp@A#KbC%ddnYss9*{^A`#C<2%2yM{PGdsuPg8GDe(a`ao>s!t
z{i+++;=8y5vS37Z@cCcy9j=D2_kNb~a1XWzerqE9as8ny;4I*w4N7i^0N!CZO&;v$
z6q2hnPR4|s>!pRloEg>6>ncB4I?9*J*HAhcXk9052{7Gm3N=0#h%`4zGR#90tuNVG
z+5Dy~8>&{oETt&4&I^yn_+EWsNh|3P4@`Bu#&;K&lks1(lwr_Kg-Y)^m#^7<7g#E6
z;L4Dn%SR&#dzWmgIBA#4)78{NmE`&4`S%x~7oLWCD(>cZ8}@!>g`N#%V!%v;)R5R&
zABPGsi?NnM4jI=iTkP}^z&<z{zsLSgN_l*$VcQoe*)|_wKzXNwSxPJ7pr4ER7<<~F
z`6lf-{()^KI=O}1IMYZZ$@Ap!7VyN1_udX@#B>LwaCx%+Jh`75_eaU$UENwcmLQR$
zSv3!>)|RxRd$2n#l3qW&1sA@x9p}yQ$V2!~T2rd_XR}8@&P!@^7UL2_oHk)d=XzWU
z(BX!&>d#5qdOBs=93)fTmDjd?yq)=5vLWuWj!I*3T#71g()i<GfvxkCFyfv3t=89<
zU!1c<;pJbz8){~Hf`rOtF)8KY$~e&cKQ}lsJ3T*mP}Q%t-H$MFv{U;8XQQFkZOqG4
zvk7UpA;F!{(GJz|`MNk)sA7Ln-N#(^NvxKE9Wqb5ELCM6IIgN4!+vp-XI&8=dXgg6
zi`Sp6IoD}NRJ;q@szyG*RMd6~n_X>v$D*`}g9O!yfi+9O5txl=0PZi-t$g$a4ML=i
zZ`Cyv7Miq9<C1SiP`kEr(-}r~*9l--1;f!kLRIF#!Tu?Ytc=*WH=o+cn88!Nec!ew
z{|SN829HbrTykNfdnj2-<~LIBSLgy5owQUkF?u*%VPnsX91#&C<vRI+1W6=?>fFD(
zhia!Ck9G^PJC)1uiFjP>-+4=0Pa2F}mx?(0S^AQdtn_-eYlEKX`O!uP%wvB`k2g1G
zKgV$6`0-Q=XJ1E4m4aJJSJ?flIK2=@OJIC3jLJUj%V?`-xk-D3W8%oZ!L^{nXCM3h
zqmt@LGJ?s#U$_aMr0TB?zK$7nzo~RIq7qIx+PZY(Jor%C*lQ!ci^W%VY*(<d(7~uA
zS!4LEKU+xaorj<yj-b1?g$-<N_Kp7Z%e?YQU0sRP9zdm@qoB}eNF@Y$0sZ3wSaai?
z`q<)}GF|gQx-m~_cKRkV{dv=q;LG^XAz<qI-<SWE$uv7#>CXGnyYs<+&6(B;pN&>=
zZbz{A`HsEqA(d+{_rN+fMk;qfE=>kr7_sv*_7)S=7*iX}HmA6`Y%hO{#$3NoeycMR
z8?GC4j$SU|6-N4bT(i(i5}ksIn9ni7SYt<h#6X|=TgGhjKhzk%*nm@<*JE7_{8Gzi
zC)TvmROcT<Ti5ESVQY3dF~>W`@8`<xs1I8S_!EVHV$#%~=nbUEyNyt`R5nI!7+$(t
zss3KD*KP9;bLCA#Y3@Na<~la6;!)4cF?=IbE1*z8*R%S%$H+nD(H2B0SbDgxL%+>N
z7}Y&5GC3<uG56eci=LIg@lB>!Dd`gE(|Vw!+aB$OM#jtVBK9^EreBH9c^YBHcR=8y
zzL&Q#)hvabmXx1pVBlj;IJzX9f~%@lu`$eop5an-`|v%rcC%xeEwnohGE$V=oT><8
zQm7b5TDp9&SNC42Wu6eQMI(!m;(tl4-oz7}lwS^05sE9G>_{qmCKeyPu^IQt8w&yq
z$IPa2Ic!W+G2!kTv+ym6E}YMN@h!cM#`v&-;;^K3bTpu)wd6`j7n55@Gc}buR5JVU
zw~i=i7md?K>#ynBmU@}QsA(EmWteN{^-gBHDZN}eiG%fMIwn{4P9qN-ue#fGr`wN!
zN#S<F3kT*xQ0WK0oDYj-a*ww^XLg7F>W;c}?!Ux=>m#UAU+jKE+-+Ord_Im48v-sY
zYbjJ8??|^f48HbiJ8|3p84{`N(eYMq&2cgmrtl(-5KT?fsCSt1X%K881dV>PG+HzU
z?Z>PsX<y^ERjH}aEOMz%HEE=}G2Sk*%2STr{rkq+YcQc5pdOA`V$z=J5-R`QoJlKl
zmB`U{6Wi0W{8N#gY*Sv#*zO0pLQ-+HZ2OC)gOZ0z-Y#F*$)~yuk#?74U<MTypVhIh
z0##ZvR-Mxq_c{!)BMUA-c1L%o<!U=5T;!t}>1#ZmUgxJ|{yB6P_3=Yyjd|e5YWmNa
zshG4YzuC0b`~gxD9+{;>Sz7kVT7Nq4z8bCV7vS{6l2xuWe6f=<&af1@A4)u=UBe$t
zu|{LR5su<F|1hrGm{2@$DN`~WQZ{fo5BbMxa%y}(dQ1K%6P{sxE}aHUw5-dM_01AZ
zmCF+wF0xpE3Hq>9A)q-oRIwE94$YralB0a$W&|hnKbm5VE{dlwwRN?c5*7?$btZH*
z>tA97R##FiB@ePcYy5Ha@&LU>=FNPu_@70r+isNYY>$6J^m&}HHp>cIu+>y8Y2)wK
zjOHp%qiI<9BmjQUyeygHE!^CvoE`&w!G*-WMw9B4u|+jj`y{_dr1eyBmgZZaQ#3h~
zfH09mV2MxstM#Owe2~04K$>~-lz?iDMd(NetSP-cTfL43-->&TK7$0leBQTT`!I+N
zI~f<IC;U(M?~}Q)VZL{8P?(WHySKYr`$%FKUh-yZZRYy>kN69Q6^q-~ETpA;H`PLr
zSttsb{_?xkXg)wKd|RVO?Miy>Q``=~Q<9TUZsw~iDpbX&<f7A#N#XiEOZ*lCCz8o2
zDW~3*r-u9bG3OHY)f}9h*AK3NJ4QjJVPvsnbFMdk{|I><8I=PXX0gU2@NtJz7UJBi
zht#U6p+Qq1{Uc6Fj;Bkg4;wdkkye4?g1IAV73+BXB^G>ZOPU<o-LlrnC=)2Tx;d{Q
zL|X)?LC;oUsN?4I<M7MQYgm_Z?#a^fu^L+r7_#~l`ZeZfRz}i4pja%w81xMVWIabu
zUgBfH#An`7W;C*a2pa^l+PyRJ4grfb+=<D)yg*YbSk$=2`&QLVFNW=NS>m<-=H{2(
zg6&69=S?<uzkDiZYz~h~$f%r7FWEjc9r<J$E~>!88!Zm7pbIL>lGjwX1XQ{ww^!K(
z<UD{=D!*6M%aXE(VTN+V9ghNJoFqq28`vS1ljZb_9Ow0=S0I~{@xFYL?|_j%rl6Vf
zeIXg_f5@MvjI>bjiKS~~+Hgh1T)t)7sJyO#^4}i~BJ!HXJA3m&LC;2Jok|L<oldOx
zn;3GZsaA{rxa;vz8#Z~!7<XRq|89LGV1Ndu&&J%FuNYOSPQKzuQiv^D|D90gJEqOy
zBbcLtJA8dNx$y?9>2l8q@Hbnh8x+Av+`L#ONrkA6LFi=X(Ujwg5)=_@_tv@SW{F8_
zW0~Oj6SBcRxYMHLfs#X5%gZIb=302Z&W?6g+TcLV<IfsNQM5wS>WUq1vYg+=1H3`w
ztE_}M#nC&ASR&V~TCmvnErF2nr|%`eu;Kpw0ZzO$ez5zbXwCSqZ+*5?!>0|m_Y@8P
z?)(?8SF|%aU7t~q&uXgckX1>EYWO$CHvTq{KSck1cfBP{W-}rYgE{|BErw_;ms^xd
zFn5S*^+JuIe}6-e>o*$yIyLm+z){EM_%o-?cA41nMn7`{3s1agl!%eZ>lnh({HkM~
zqKE!X%%3V58D!Hc&5Oi+s5gz1%gRZACWc#*sTkBzfbiCPgnT$by|{khU2+aw^*(8K
zvYQ**W;L~-!E@9#`rlEJW?KqzP)`c6jQ^H;H1}hu_~k>k_`kcad!i57i=K~B<`qF2
zy*JVYXFiC$9pfMcZi&a}46g^_l+pV`3v`J0jcCw=|IP8^JwnIOkdBH8aewG+JCw-!
zcmMrk#v}VCldB{nDkzz9UiLKl@N}FuXV9GAgi9|M$f~{RWqOb$d!c4J!B6cH8UTcL
z)lZYI^ip15%)KXi0&~O0gt@?LI&Y!_&ofsifZWmDl@33DCpI-el&l2g*VY(nX?2@o
z<g6QA9{nCU4@0wDY4`bS9rVvyk_Q>}Ce7fOza|hflL}6)FkpYjsNs0Jg0sfR3hjP)
zTVpah_i%r?S_0S_B%m1Q=r#xI_;{g2aNcO|yVzT_^G`nAo@@uF0nfgg2FF}?hu&jw
z>u0$K-%g7=b9pC>Gh#!#17E=4uODw89}v?3w6wclgV;ImY7rF@nx7*^8S3c`qM};5
zCD#l#v%3QleBRfYW2$EeMWHZnyF|j+wL8`@P;q{soJ}t<f^5tq8w1+ij^6i(csza_
z3F17FFnsf-AHg*1QC(HFEmj-+rvL*2J<b7|!GEjRTw`M1M#!iOujBvzz05;a(Dn8=
z+wp9vzcLSlkG03HNH8FIqYI*Q>2Q6xqR)}qy_4w10d&a6mtL+X$RXy#PwoOv#u`-6
zsJ(8vR;V~@WK&v_ETLiwJFsmC&K|bqTq#9^;C8$IB8F<DiRS<qKFtN8TEPb$QN-J5
zc|@lNi*egIO%pdOZ5yVnPXcAlqRR7EU)#>RY{hwk@y`rjMD<)Ex7*q^YKfQvE>OQj
z%_s$NtZP=tx-2_?OQ#g4kaXpGUQm`x1k9LHz3MjM1Ys{`_w;Y%JS?Hu8y#g*Vmu1S
ztX#nFdHxwLEGYfA2rozRY(lp55mpQ0Jo9AvUlMSbwVtgg4X71H7+#jigPIcE3NCPS
zaWWEnTz*JF((HHHK|PDUH)Zv$A>9lAIv_TqI{^Tt?IiBM$MGH8#<83)oxCAv-JN`h
z1Z<_-N{4C*rHOWyk)1ph#GiN;uQSOXkrDVfhfh3=!K_S=V4htVUj=vlGH&4<yO)Y?
zxYQ1BR@~;6@}$$d018j9&44=NWgAyA*=K=(2RgIqOVEeC(|{DPKWBgA1+Xyl!~l54
zq0p4*V@?TQpZEfc7c{H<Pohpc{11>4LO!#kRyhX~N~ZxYHR!%mc^Fse{+{@WRCag9
zX1H>o@PN@O#}zE@ULDU(|0N*nXWFpCBC*GSmX+HVvfD!@9yIh$A9jw?R7T=Q^FtIY
z{&b-#O8xd;FaA3+FOQwk+WaYEM>9RNAD1N);ko*rN4AE#3G{mX3?uISqK2U}H$c!9
zP44}0S;gm%m@&V_q7`-*I=nGueKUZ`R_0JE3_${d3T<jfDnv<v&Er|iN6%?(@djU<
zI0lKBw~@CM&Zhhnv*Sg0e*dQX{w$R?dq@e#{#LM*YGX%O$WVNg_^%zHnRQRvn+sIn
zUh0!-{cFD`enq9re@th$bpDMz;{=mJ<1s?TDsbe`hyoAOW#Lv7+@*Yk9+p(0S2Oir
zzU5+*Gt*;%LS3iJy8O*aFHwtruNT|OH*UiL1<q{dhtq_hLV#MDlsInht$81K&3X?6
zWm@pLoo*=b96a139xv}$0&CYW9*z9`{Ct+anfONG$&q)A<^R><hg?}d0zrbVli~9F
z#}7xxHiPjDf0-V7gK{tS=gyaNO=SY_pbS#J$udi=9-LV+LD?ZlfQJgWJ#3PcdGCLU
z`JFE(@P-}zJ3uI&x8MEI2-<Kzu_to_z{`BLGb?18Tuu8K?t7}>*C<IT6_?ODGvt4y
z)*&Ug!K?fGdw*U~;YMKBeVxy_l|k!A_AIDtsMGJ({!6UJ-kZm5#2uA*z>QE)#NilR
z>}8wh;f7<aboHuf7tXBGIs(8=vWdto($Irn?VGrSCe1N|q3Plt9PgFLbDNv^1DA=Q
zO2K-dc*Mg#qIg{95ndy4lm!5wg0EX#*3nk6sgHpQ#AY-@xSjC`?63-mo#!0*)-dL1
z=de%&E`O(U9+HDrYk7@IAUH6-Q~)DA5d)I*lE$x(A0LkYY$nL;tODjTL8rVAm;wJ5
ztd064mKd2R;cGXWE3fJj5ICmJT}DupECI}oi53p}wC0TVK)EJ(7ymddb5Hgid6gL{
z*4<I>x~X`h@%TsP^mqiA$N1c5iaIZ<ZS@9|!8zv*;9hUvQiiRh3tG1_>No$_j!&cj
zZ8z~0{EDB9N3MMo-WRqVtH0LgpuiFHB6+Q^N{3|W)jrD@Ot~c~74Y>gjP_)bR<&<B
zC^5^^#^MaOoH0rpha(c>a}fPp-L-doqX3s2pB3;Ku@tb&#ck9X6)2YfNe&sl&!p+m
zo{s0&pr~L+$EHi3cX$i?&slkSt*<PqOD7NlWv^VDt={TiGSU|fyrGLe49K*bbt+g?
z_bWXuaMribTHw#1L2qD9`83Sdxz9#*w|=J`4a-pX&^wNnp+v)Xm{(8+ztyZYJTx?w
z(|0zfSg^V>t8dAKnfQO(Gf+H}4CbD%-=|h5!My$@Hj+l5BI3ypm6I^crsmw)?K)LO
zzR=(BVc5kuDb45%CIzHI|C9b4NQU79&P;yqHQ!~irS^N2W+UK<fc}Ti%*E}R@D1;~
zku|(SV>6v3GD?eAG1NIVKK}lctCu4EjRzF&I(EpJAD5-_aHfB6c&c@JtBA_-E5=Qo
zDk-6L8a8TOufcaI8Ruc=@`kHJc*ok0eG8JJV<NAbT|yMtd1CnOG3F|5_aPHEs(5U=
znlCXGgz;ZnIc2N$uTvjBeqa@R+WT2g>rMSv!hjY7P^O5Laxrf06ie`EYYZM+hE1;e
z9Hn+;QTpIKA~)e(V*h8Wsr8yUO~-<6ZJ?6UUR~yIxE^?Bn53;wUx4XnJ&}(t$j+<#
zvTo<?qNftl*6TBr2@hVFMz#h2WbbFQ^J(a#X+N5QXb?DSp*^FK%UF3bbs_m%n(D2{
zL2(D&<@6Oz8{5?PIK_s8T!7jlY~tC1$6`T!KJU%?D@46{uj4&n{j2>xAz9`W&+hj<
zRk93@coJ`!+vIUy$D=j*`$x#0<lm-*a51^l;D1R$_cf2gkIxm%LP`*9#hRw;%Ft+D
zat09Y6}^IZGzq!Q6?TW;r4!HM!v^m|XbdU&Ih)m~?scYfXP)ck00Aw0ZHQTx@ZlPr
z7|iz{@R*Y<Z3omvfoDUIzeJBGM3O56bRsSxAwA?40HV|Lqz0hO*5%1jGC(%A^eTX6
zxj&6g<+<}e+fu%1di=L~w!9`4{TD!`v8Rrq-8i`TwWRY@(H7(_$DOx4K}UEnq)2La
zFd6;r_~YGp%T-;yoMz+(4nM9L`2i>kI8eyQH~tqdJg`4kGkvx_axLBUulb=sDPhMC
z?-;BLwh6OKg9As!^(Ep_%DDAo6kwn*B1?o>gAbR)-NC@*I|Ba39W3_*V|T!RP0}@J
zQ~bXG`PIA8)e{{z@?y|e)L7Q$vD0ej=s7xZOu)Jq_GKJqJr*7eGz_G058U?Lq5lmV
z>PBhc!q-fC15TVDMiFLTZoUOwe=}m)yhIxuoaa+Sf*&H*Owg82_*&^8&~B+HZ1l&g
zgvXziJi%zPw9-MONSt6$wcrEe#wEk0_=A)FF+U;=Z~1w%#wp*%<DJZ-#sfq5y*+;!
z5jxDJ+S@c35pxyLd;b}MSV6=*AeE2S77~>Xrc!`*?9CI4R~Fs-E=6vFkW<|oZ`~SJ
ze$tKoA9<cDkaK~ZJ~Rji-7=ciPkD?^w|ggA9^Ch_RQ+rQO+ea_s*=WgR1bs0P(zDq
zi!3H|!DAQ5T4@XctLxm_kii>jW$*rOw;8pErGudFn$5|aEx^17OE4uOItO`e;Fb8p
z*16f1pm}zMiNzSl6r?J=0evG#sX24Nsw?dJA}lo$N{D+<zo^*Q5qHSnrCbJjWof>$
zSF@4_Y})ldFl9kwdh#b4#|V%^2jLYyYK@yoSM4Ujq`)aLYr@FXHDm>b6_36ft}@zh
zV%+kGhqsO$8rITf|F97bBWt&oYe&E1pKzxSlY3^=8qL{KRG|&Zx@pVdd#<}8t`eLy
zUIu6ox9{A_vzv^9KY0-ZGyl`^I$|iN1mSe`dT?Vl$HLNv*7}H>GLb_o7UX2i<2E7t
zWaqBmXvhwT27?DacSqsKa^acrskJ+KA<A@=Z6o5dTI7<fd8{-`Mt-t$Ra@qUcvjzq
z+BuyYcsewKVHjT)AYICHTVL^wy0Q-*Ke7tP+m)mnzQEHI{AzF`{tlu2ylb%7K8B44
zH<uOdi$imJ@W9xyMdS7ws-hn?icBUa$8iyG#&>M({Ami~=z{m@m&ydK;-3b@l2$q5
z!}fgfU3wgiXVd{GPa;LvOPgi#CD{Nhf1uG-NPSsw=^J;EFkb4Ufot4(l6z^TCA)fh
zU6x3dl>BGU?Ba-!faJN(gtIoOr?CajfT~bcrSc&|#X1mhrpeJ-{}7ynD4ci&HW0as
z%4mGV18W9qycv0TorMjIm%F#&0Q=*%^#q-u{h=c0qNW*&{X`BNEsqC8L5x#sU~1KF
zD*yiPs7ZMXB<wuSJzfNz%BV^TE1X955Nf1qA@iv3mk{@cfdprL%N1gBba>h3kE@TD
zkE4Tu7c+WHF*_KK^IDRdIg+@sIrj(F_*j}YdDP#jpON>o@qv<0gvh(V8ofmH(5~}P
zb8t8`o6TZ{kBCjB4)*^2`&`J*N+S>XbLfuD<GGCc*Vz2tA;uQqN`Beokyk6P6-Oxy
zn!dliJa4HoZc7az8KZE(0ntcfe~&ot^VG)<r!&!tT^|xLfbl`nB=+yHmS)4z=uI*D
zPY`$C9usL;YK;>rs_-u19;@cd6WPHyJ)8iCDhLt=@do=e9Ol_zevxyH)*}Z__~j<(
zf8=^LC!cNei!jIi9^pYTi?MFldgn*VZ4ETI>GBwY0)&%>cNYjM-SlFVDKLHi!;T{7
zvbRBSXtDJ~6ts5mcpdb>Bwc*z94Z4H@?&#3(+j%L^LKhYMBIy7;ku4_e+j`Rp0Hg%
zei0~oqKVdpe@Q~k8+)O}2bo<}s9m^PidofISncm_^yo-6gJpZ{ykdxkQ1wF?#2|6Q
zTtvJRPck#eREdvsRB~z+{#JYBKgfHN@1Cbt7JSz`((<TJiTT@1%{#C%BN0;FaZB?f
z@>yeTL-apJDGgw5QY@);azwfIp}Rhg$0byx8UVbTg>f|&Texx8K3ppXj)%Hw{Ter{
z&o(Rtf%M($eJi@*$%Fc;QzzYe5yI71jJ{DBMf(`LrCT{8>X)TIe*zu|*H2T>;E~55
zn7Jt|_c=TNeA<mfj^^2&MDg14M7ykYz3ZTv0pgH39OJdio>LbH>@WNzHy0C9Lg0dC
zD(ZOTmTAnvQ{#H*jJ%?`3s8~Jg$ziocn+Z@O`fb+BmHHUCa)@F_;Y(&1}>ROwz`uP
z4ZnfV@nJi(K)s~SK{1zaxBL;%_MD3xq*Y)*eKO56Jq5`C4r$R3AGUTB-q?KOB~$#Q
z;YEKL7g>WdzbWZ$^hcukwLVZ?b1KB9zcove*Oqzd^cDmXu)ASfyq&}?x3wYfYL8!P
zuyV+Fm3L>icsBMdqs<)`@!4~0w`LZYQ_6mCRL`@e!*@a3DQuMsPO6AWd$Vv^2et{k
zwn|nUXHbU(BC^dln4n#+O-eHq#~Ib>YPdhlV#(jhlfk*>Wx~!dp;1jgCjUurVnF{0
zrIC$^*#f7&Sa4m^cNlKD;#BQxUPpt5FE8S9UQQPO`RMW+E4qOz_w|xC?PP6eglJ{a
z{gTFXvd^H6{=PII9DE+x)TQh;Dhj+1t9ge(<UroE9oZTNQhBKpQGAApC=&HU5Z53I
zjtYVv_0!1iHhYs!0Y3#NGFf}FhlP9s>~P`iyA5_W1GkB=1bLbf00D2t#8tp;z_#%L
zfXq<F{Y@qT0~(M)Xk-0Pj8nFsnz7;wp-NR^06d;;>RlO1%#5e-BwC(4nT_l87hSl3
zfd^>0)|q@C>V-s))~c1T>F6G3+tEr!+Z7TO#r6$7z=XVg-!iSR?~1d*J&F;$3;4*S
z3-_Sd8o{p(3=L_%tkZ59o&KfOsPAS5m7)db1rOddmrNu^@Naf@TSF7Nn{$1Bh(h%$
zPJE3*y$_f!Ijcnt{<)00N-ooZ=&w4uE}M%@)m-jfAJISMc3@XN+pz*1E|4N<zs!x1
zn6fhSg}Db`y$D@+4URNZk2aJ;$VMhWRR+x^lW#Fah`Dg|_4u&ax=tm~C(t~HZUTIh
zGst2T&d`3DuCbs((#hZwLM+%sj9d0mtIjs|F89C>%EsTKb7wd2P(JAg3X7imliUR*
z0XfMr22|cn+tsc-wL74`TQG$s4l_%=>B`k3eov`v_gx0=WGv2UmLAxP2P-_ZW|R|;
zwgHv=7r^*u<ajcqiMQ^gMSODL(0IZyR~_%rs03qI7Muf#wyx#I({m_(zmuZrK1ki_
zwr>$8MgmyL34?X}{H*i|v(1z^+m%iU)kg;3KVssYq`x6n9UWHx_4hER^kJF6uKAt>
zD9i;7+Fv~-Fn)D^ae3W#^L?)LXx?WwjnCcfQqW3|8Xjpb-MC*%!pIhVtzrWWy#I#f
z2LgNbxn-4GNg*c%=MF=c(Z~oK3-q5)&x<T#K_=kHw5Cui9({#OPkOU8H^61dDq_vW
z>PIMpv`<R^IZ3RNk$bJ;(m#fhisQiHxopGEJ~Xh*U#5$anp!Ahk5_}O9P#Q2;DiL=
z0aku{&c8+JM@+T2#!4OlJ=J$p*6+_!1!)=}0IW_EEF5@&EkaoOuG1tq6IX>EDpyzK
zN3iqipk%#xKBw8!EOLj_&L@7~IpF8M!k}7%@gzq^Yw3CxQQuv>pur&0?}>O))HD@f
z&aW5iUKU#tW?6AR@p0b3)nDY$H%P3ijV~eo-ZzT?wusfL-$nTL!|@=e%~bhm@_Wsf
z=bjpy9*YB>lZs#!I}B*Z6Glg4ojG;lC9aY;);m+c0Qb*{UPW1P=U0TG+XqTVihYL1
z-@XQc<|6wV6T?4t*VHI`(cvtBH2UH}rQ9o&%m!Az<O7DvJ+V+eWaB7h<c^ND{b;^P
zE8c3xFq+u{?}<CNy}U7QaGnM))}2y2E_o-~DZV5|B;cyaNdne($E@FWSX%zkab#YL
z{WuazOZwL_0ryuH=6sMnynTq+Yr10<c6#Il`U<ZEb>f83xtkJ43eZ~#0+Z7On#Ti8
za{V#Es|DX5xK#cL{T#JbIo$iB*dF^mS08fP{=0|Y;cQA)iPctyyQ;Mhaz=yqtt;(+
zl!>9hsOUO#Y52J?wV_Fh;WrQDpd)Lnt2tf8l}C2Wwz#FS-oA8QHQj)@F|WPc645*s
zsJXl0vUI0wh*pY+)2yIt^heBlJhnCKeScS{vD?*phQ^)YR+Cf(;n^R7C7~un>4x9%
zbAe^y@?f!;>qAwSzw9HpHrjO^M>^U~a`ZFLfWUzFFDK(xF>m<Wp4sEj3yF<82^)UH
z*^bCM{UD7h1Vh4NmFlIJ77>h5aU%QnX9!@5D%su0^RB#+E9&=5KCAowR4{f$m1?=A
z7E68!KLj^*0MCRAP-JUumU)?qQ!P`5g%w$BdDBWci5sF*rTZ|(Id(XFja`$E-01$4
zoSuJ@Iwo!C9A?gl+GsfFckOyXv%qe{x|jR<QMa6Y5LCJro21e^Kp8G359Y)!*7|Tj
z&Ox>BW@fbXn!-k^e(|e;qP7^k$c28FBhe8MS3xNa%8cI8Zd`QLspij{>`wKVI*ghh
zP|OhgyM7s@%^CmRa8A*~{INZr+9JK|ur8FYJMm*edY|~yeIxLe!KhE2kjS=qAO~h}
zOyq@+Ln?EpA6Ehuk40L{*#IH7JBhU-&UqL9m!S+$+G*emWZ`gK61#v8;hTT))>ycq
zK74{{nF6i>6FruOlop2kV=DYBKMUV255KV!i;WuhG3G~D@+dVy1$~q>j0*tFYRQ*j
zgmjTEE$ZTFmow9xdR)gLxwB)jzPlh3(_*r|j-ZG7QC>v0r<KfvI99IK63ZC7iN?^_
z+eX6bV>`=zQ-?Xp)-drGe}TOvEAi^Ln0qC%i(i6{<R0n=B!hb!mvPVQG)`}WA>EEu
z=Bpn5>R>gFKA#jt^-*PtF6D}J_h&n~jZ3gd-sp>%TW|4;*z6IUQ-zE3(nfb04?>5+
zcvr)+N_)C+1FvS%4ac1ie+h=^0+OO%bOM&X>_N*)x{?=y!*rK46dJeDfPc#n4TM!N
zNWI8C@MWIzs^;WhXF;6PgdvrybX+s~P@Geu#LLr@w>@RqH)>BdH}T9~bsv3D;HKLK
zzSI0E=JSh7$tgn2XOV0pjHS>}mU(7&Cf626buNWjbCR^LLiVczoeXyj?(WHSpq5L1
zK*c<+?AGx{qi6p7<WAUl^oYg3BsV_Ne}Tj0#``I0IGbZ{1q>zQH)ZY76oVZ->|>Dx
zD5H!jl_GP8*=c`Hz6sB#=pc4MG)&I60fCq=k{+xnF&k`f{^GZFV{Blw_Gka(bu!Jt
zW9II6`pu3N0%njN!`t5WH8>p2k5gjcmS*4XgeFJh2e`QFZ!Enj6>o!42o7$HMN8tk
zy5Wa858)7MuEcAK{GbD}Tta+hA7nPC|Jb?R@0ZYHmmmDcR-SQ1IJip|u-2(V*X%5`
zQnXKED0Rv!+uu|+-$VVV3_3vamB(OB;<3o_EahW-U1Wogbn&&6v_;HDZCy_OR2qTE
zH8m^0$qC~Un&h*&PnW&2^(O69=g&+=$}`f$_$xmdI__XN8iOF~`Z*vr3wB+J_%m~z
z(o(0?bocs5#b3MyBn0;C2uneVhGUm-KH9fEdPw2{L$uuGJQ9mo;(_%5Cif?sCv`a)
z;Mn&QwROM}j^@iYe9P)T0}e@wwXHTBGvp{spEc<Q1HPQoi>D7-VKH!g_cL7q2&}Ph
zKYyG1=8dDVICm5$iY1YSg3nF5Dqf;X`AaO>g4k<!y}QZ;VTE#}lUSTB?W-3tJk|ql
zz2)yZL;fQeEd6TOrtGJ{S+;pbx&{T3UT@NhDlo@8SN_~E{^)Pmx&t)Z%P&t4vBh-j
zDxX!izva+t*2cs`F*F5M2T*sEf|2kwHOnc@ok>Zb-#Z`Pj@VvC5q2rD&LQo$9gF&u
z_F_L=m19|GvGjeL{WrhHLeG?&*oPtUw6obv8q!B4TvOPS>Y+Q|nvT2VmHsqV$x+V#
zp;Q$K=Y#%fQ}wY}r5XtUa+h&VtyJ!sc^6c?`<iQf05iK@#+d)0?Q8{?M1WTW)JIa*
zFcT&gzM;`48wlQ~v7V|in}6z?c0EIqhCel~HA!2`NuuDtN}590gFg>fjnvG$f5zkx
z5WkCFvDsVBiupBz)M2@OF|S0Xt(l9VXT?cPU#B7!8%NHjkQf3|$gNW`Kz(rk639*P
z;<*uN-4A;4lNY0!U;m^(lSUo66BupAz9>Aev9teZVvV>p_R{#~3qoABPj$bUI$r@n
z+Vw%Ki!8FrNt3g0ECnE3(NrMT7hTGSHXQr_u=!h;qdL<zG)Y1CS3_vD!K{wi5+%p(
zJm6W-l}Vh?Sj{ggyoS-Wg-4d=Z;4JW1^rJKg72OPhKw^qad5Q(rQT_ahZG$Wc(VYO
zExPZKzFAG$j>fJ<o`uL3=P|L<W)B6jPSA4#xHqmJtEmg6|Kum3A>;Cz$*N6mmI7Qa
z0l(O&hLXn>i<W2~9O$XNv3pI<nA@M=;JFj#`?7$ku>w~+HI-5O3iLE>S#p8_wK7A3
zX>ihc_7{dhG0}R*4y5TG?Qr<19bf86mV42kPaBJcVaUQVJOPuDXBYUeTv7Ho5$$=E
z$QqSxc=Bwa5b!~f2~Q#`gNlWBD{J*iayS|EtQFQ;a)%}L{L2CwCqdMQUzTHH%KVT^
zYWNn8X(GxJW^^#5N7M($k1OJv@D0O+aP<tzm<`Fi#e;XvKmxeJLk9o4pbVh9J~Uj=
zZur6)i;@-V-A-<Gx8^%6!&q?Pbx2a46!sqrI(&Bl^FAOe{jO`M_byQS#_|4JcW}~r
zZyW+A5UG5#`ssM**m%OScCC+ePlmRs8Xycrgdov9?{0qS(e~_eHIwR=+ZpnAM-5l0
z-h7bG(8b-b?9crE^VOqt=-EU~j@37M;l7EV)zoSgDgC4^3C_E?_)l9%Qc;1!*%JZ^
z0(yd$pkll)Lvm@1?N<`n>x=TA(YO_H3~}b{mg?Y#*6XjA36kk|FlrAk8oA#MCZ*F~
z{WuUC4;eJFik&H<a~*Z>x$IO$i2Mo3DY6R0cXPZ`qy6RZx^+ioUmk^~$iCADf_Oww
zXNN@T=Z{*ADQA|6{>e*RG{J(fo(9&%YJ?=+v;cEpNLSRtEapz(?+*awPcwNf61OXD
z5uCKLZ;Ql1C&Pos-bxar*>o$%Lp1k)&|8snSyz2FkiRBEBm~E>785jnYWAMKpMLo@
z)B`bnPC#(f);$`cmE8MIMU*J5WYBF?KEat0TM!#7>>u9Y^!wlyhzC=Us5`Mab2-QB
zr}2$Oy%9afH=9?Prc%oj{9xE%cZsFXuOKR>C~9exTrWM)g|w0NDc#{&JAaL*<SyA^
z`Khz{X+Q;v$+N7GJshY%8@Op?<&@q>L-M`pY4?&b=(%8iSyL7z1H9XZ!fa%QJ!7SH
zlk4w#AqzT<i$PByap&i`DV3%Pgc=!j8K(($fzDUynQyg92A(g;uYbCQgi&!tuB$}M
z;R1%r<IwIhh+76Wv!PY*Y?$rRx6MC6LS+trRInZX<d_+KT~xF{nzvIUEKPE!HLe%+
zIfK#g!HbIV1%MKz&M=kA=#RnP#|+j-&-TJhsi@*EoW)j^3R=Km5sSb5vzXj}bY_&R
zIWVi#GRJ!3Ra0ndznXV8cA-1rAOK+ioND%<YK}271sS%-labkYj61J_lL8B>IL8-e
zDW1T$qy@A#Cf>W{L{o-CBnC{EWVkgnnNW%8VI={Cp)32VgZ6Z$PHquSEB{>|Pj_Ci
za-{yq)<@!mB`rn>$<@>o4EDk?D2hhX$kKC{+Ki2@Ik}f5;yhQ3?F3lLHV9>U(L8Sk
zq8tu~V<W{pJ=Hn*>62s0U3)EYa-M^Ta8~l}Xiu}&8$UUIJ&WV(@Iaw-<_f=J8Iq~n
zU0`dwwu)gbvEz;DP`K)eOGtY~H*qToIP@M_#2?QGR94Qqyl{tl4xz+{mTCag?j!#z
zZWNpueFwRH3H>rfx<my$p16Qla$@T6&fpy`gI;hdOw|PA)w3<v^)vNq3lzm$&DBro
zLe77DO$HZ>3ni@%mb#}FZj<=%e>$dr_vZfnct->zB{&kU!1;rUq=*h+R%6yA5>Z9c
zoaT@wJLwnW31V}miYJ2eU(Kb*$(u)b<F&OxdHtNC=N%6EN_18jrWtD|13)I)(P}Z3
zdSTOSI-z+x)8Kp>2^w2jU!9BeRp;z1oIEAQ6|c75cZ5WxF}|qXye_Al5DfFBhLg|5
z7l)QlCcl?T#kC+SW#*4dv=Es{oes(!K8h1+cft(Mn9U5mx);j7XBHm4{qn-$k#6{V
zdeRc1%UK>6h9%8F?|#M-JoE)!rbT1T-yLxoe(-XYj>vCS67TZ2;OQFk<)0Q*=lJ=C
z=qx->;uyI4SklSfX>=rsMfw^xh))5iq&V@nUOim+RTR9#A*SXQu#%Hi)mv?sUi7yh
zS!xp>40njiE-QeRgpQBUqk~?nTaa15VSb;_vG6m8b<xlUc`*6$YF}8$;}BynTOhHV
zj`q;Ax=NJl{DHV@P6|j@AY(|I`a`I>B|k1`wT!>VDD_qFt>*5A`zNV?aXHFWSr&0D
zzGM2fg~jocNcvck)tOA?ledg`XU5`w5KWEM53GC*10m16&yNZkJjR#s-#!yor$^d+
z=n!(F#0|!hRmd-kNkIRXTjBNWP|7!ZMcOY3U=&YJD=j|8(`s1s-CS@>iM;NIwkm0C
zn5q@dC1ml%RQdO&@UQTmSyg`Wsuf{)K6vUQ{tnlE3<M*N^toGBH=%NOx$ofh1{Pd`
zDEB*jyJH$tP^dfthE&bGqNyYlcn|RN@-tDC4}^J1Kda<wE!|PnSWi+L%PoFES44M~
z#1fjZl=(dm626<|d$8YHW$jAsSuH?6D;~5}`30k@MHU9;s#T1z8=jdnF8U5cou{*o
zSp$;JcohuODB-w#9KqD7nYPu5Wy>Yot!B(*n@m~Oncuobzk8jGxh=loowSG8Nl<Ca
z`E&FuIp_XR3Q{<&Yb!OI(u$5<(YUT!a^PI=`C4MTxDr&j_lIfX<f|SAv}GF&;&ac0
z=aTQXuZ^?e{<}uwjH&6k&W-6T=jJ&Ghe&dugq#?E&)+TQ>jszC6ROFCJ>M<q=a;By
z5KHz~Z0Uq;>U4OLb+3xPxoyUdK;cg@<)#RA6@zYZu}_oZi!+%VH5|n$A`RY&#-s%y
z;TE<rAc#pVpVN^3qNgAKVPKHhn_si8lb;WwidP61AC9yQ`~s!JGH^x)wF1ou;@~3D
zZ{cY#2ZP$;XN}V|{*z}!d_6R$dub8+%LU_{TS`1ej-Z}XmxiYma}Ct}<@HAyK%T-N
z7LaAdZ8VC+h<-Q+@>Bnhrn3x-s_okFkV;B-DdHgA42>WnHAr`N$Iv;XG)l+NQc9PA
zbV_$4AT`q6_3h_9j_)u3hS_uPb+2`;^Xvv!O!j(;e``{hRV^t=K>2;~%V<3A0c>+t
zQ2?l33~b564vz16puz30XASCIUSu_UeFhYmUsJ5s{d!LX4@9MYy~x_i{Qw7Ym-<ds
zU{CQ|O;G9vu3<-sHpXq#g~$#-WcYVF67PL?qcE3QCL3%ytTzhU98Uh_;UfkgJ#`n^
zsiR<>+^%l#{n5as#vQPWDhwW_2Vr)Yb=BRNE?r$4;%N0u@_hm_gi@cC4L1$|MEzto
zBhosP0=y0Cz=Q=KaYi(0H(OHUk)Jg=4xuzVZ-^h=m82on$epJ84nE_(v7De14tOLx
zAiWa;Z~JWrYhdmXb>5T_tp3@oMq}1y8>*1D^7@m!=NakWssLC#l6T$J_rJO4tU>fH
zX$q!H^{pzFH>!hr7po2!a$XP}oSYqYBYTCftOphiNLWgX4%=+%9@e~@0p(TQ-9HW8
zpAWCyFUJakKT;<%^^M=Q&RMT6j9CL4I5xc%dg?2pso#BP$7gE;KSW>peHg-jOwpu$
zV*O6(i8x)l;(}1FxWr&K+%vhCUDM+2HLXt~7?9?nATT4_w)xr_pD_=`yZeF%WOAlA
z(T!rPcLaH|&?>j|31s_k^_at<v}58O2^Vow`s$w5IpV)XlOW>CFMqW57^0wH$cZp?
zKpV{w!|dT>tA6pi1$q8q14sQQqZJ+u_&8@rWGA9WKa4>;dG-;y=;HZSV|Er6O$Hh+
z1LA^b?$rU+gx~sa32SF?mJa=#C~G-DY#vK-^G1ar2y@Yiu4dLW_Lzl7|Li?O?&)-)
zi2i(j7`BX`gFiKShb+{nfRx(9MP#}osmV<agu?ol7DIeK@~4!^B4d;}$)giKXHnKO
zXe8=g%Y0G7LM(6oze>4=1({kq!(PbvY`x=NfX`L86D38f{~_%PoiIKZ5Adw<*GHSu
zn?aoKc}9TM^=NN6nB+mvgMOod1Nm5e_%Fx?P#-yX>S?K9j2JeCzazagK{uXN<(ut+
zjk8KpUH<Z4#Zoyw+IDY&ZJR^644>cN^o-dF92BDUbEuXyCS1~pE9hO(A+Kl)-aKcx
z5&}YL)-&N^b#4~|nAF<jlKb=N)a&|sUe&sjw{J#Gt0KlgamSQtxFC+@Cjp3%*9XMV
zTX7>ULy%pXpc6yU{$g>!Gdy^s5`tH9XIe)A{bOq%?pXDd;I${1%Fg6d=p_$g?8ffu
z?S!bRJ@{~9mrU4Y$KRHgKlZfCU0r_$db7pOXSZM|?DZG+-9AmKx7tO0Mj*8dueQWv
zlWNgj1s<Q?-&Ah*xUxDvuR%X~oRWnLWr#S^J+Y(ubyNA)X<7psF}CMB=D>u&gkmyA
zJjF$YAixjkk0-S+E5&NVdJ=7QhWvx?2K^f(7o}_co8lkmrHS<YQ~QVgBlgnn&=(qu
z(d+>tA+Z^BlHJU`m!B7$(7=(EwlrB<m0T4cTM5&1#E71?DRbM(-_Ca~$3Zl<N2~N-
zJ1z!Tz184?MDpTH@_Yc1p-9deAe3txpq6<eaGVYb$>9p$p%Qm{u+tHVR&8$Eq_qK#
zR?(P7<Ez7s2uo`+-R9dg(o(zKzaFm@oCtsH<wgsNZ|47Gp!w_Fem*L@EFP*^nMm#k
z>x}L40=95*xj@hk1RHU#$@_PdA!#tJRiqZ0XoQP;b0vQrk+FD(ImkXQnR)QweZ6Qy
zEv}<()A(xR1{b^DudM#hQr<Vsw8NV4ks!O&-nPy{oC6gy2v%ms3v0=3b{$U8w2io@
z!qHbFqP%*&%QNry?+F7A7oSa=HdGJjPgRMBB&yBn7@<|wc$^txYFMn(Kml7Du@#%?
zc<@b&*BK+#f?$}=w*^#?Vp;>75)5~!A_2)l<_=KD;Xy)f>)8J#lvh84Bp|DXC=IyI
zlfU5@lCJR(x^rGogmF5De*4%R8+U)KSt^9bcJiQ_efwK@dZL`^@Wz`l3uBGB$?i2)
z-6ggPn4nRCm@MaWxK~)k@*^VS7bXSbz3GA5>8bxN1#coYOU8UTtNMx}^_5WpQzmrk
zIEv0=k0nYuKe)#&>Z+pn!s#jFl~|^=wkxI5!ZB8?(Gy_B_@%hL>0oPgiFe`jkopFA
zMH)j})?OPp@uU&-eSUnFd={Fmi*IqcU2XfuHOF}(`HmJP@2FdCeHo0~mg7;b5dPA?
zZVr6)_M!DRJn@JvR3&49AQ@Qvq*~VOQYGt7G&2q5nw49sRret(Om<c${bDU1^g(Yf
zzq)Sc_SGOK7yAC}HSj!B%*lwLLr|tv^ey3de)vItSJPinbJ^C&IHHA6SZnqkwuTWT
zlEy~q$0Lf|h;JDsns6K)%W#oDttnKCK067_*(%FCnV)RAP{wKX8y``Adc-obS#`iK
zgk_bgI<X9;WeCv__Ck{FG==~s?*Lc#(^@upm^dHf@}h<17(}lSL;?7oOzQ}+Bty7K
zGS;tBDyrQs2YrWUK?J#yhHtR_{9b^9X94`7u?XVTBf<RV6W*PkCOyngyzUf`+51B3
zG@(x4f5O_h9NQ>J3_Pr;hlhR+R~09FD^&67r>atv>a@geaOG)rc-Y{-jwNzRQ4@PG
z26Kk6?^`s!eKbk5T*sTmtmQU-mp&;v!H)i~YIBX(fp_~Nb#617nB*YMG&}1Y5Y$=p
zpBfj^m<RWy84H?1v4+luTS30x!2T(0m2_X(ZpI;an*CS&<YqdcF3IX|rqSm`7`f*w
zA(ohQ87nwDtmo27-7XjXZFeaD6RiFRdQ#gfDJ5a~QJnDIV~}{wynAJ+&UMM#=SNvI
zw%y&^cCz5>QdERJSLc8wmEliBkv++pxdApJhG6ZR=K;O-bhAWy1~CAI>~W1h?e~|$
zAa47JwQd0H6}}J-<vy0^k;FJJ*xecP$BvrMJ67kpB0OUB{DRE9`%*gDbgn&B0;4ls
z6^eh(>~(ck(s560`Vtm!Dct&qBmFw-Y<Exj@`~Ro;=V%E1#|^@g!*a4Ock^W0<XZx
zdUvM!Jm(duK~pG;EtSI+V<ixx8B(zU;c<b3*kDR|Rq_N!^*0wB&hxhP|MLCmD{}k3
z9*`*U&6|ZX9hdABSYJIG(gD4Y3=aM&2a2D4<lycT&S-W-tz`zOr5yVo$+BACCj=D4
z{t%}8C|zT`@BtXc5f|W<@#Nv|^PbAs+O#v5UC{^+8KbeQ6Ii0<0_;e#a-8LqdUX(f
z6-C-mQNx7W?Wyk@2sZ^D9LI5wXsJy5X9$q2(y!tqgS`8T|BStgBxR38e2E470w5q&
zH&Xi$@6*dbI<T-EBl=OGpT;Y-+oOZRdV^`mLFj83@L_LGMMT>deimbc@$Y@%7^c*4
zOlxuHSfHEbgknrbB6IyGK2TcClHFw7q$v&M{l2JIMjsS05~pchtIGyQcVl9nFCNo-
zC%AGKtXG-K-swj}Y+RtZTv<z2W@&&MSMPBaknzilRw<(?O|QR-eKsWg*&Qk@sG$tc
z^e*$NZQGZe0Sm^@<;^iB(SeDJ!j*FuXFzb)^tDq?!HS;#*=lWcM&pY&(HqM?Pt=x{
z2*r$;cW4Zq-tjpCIh}eT|4CH3mqV~JTCK}LB1(WXMZo8(V3lfEPA3>poBcaDJDMo#
z%`APjqO^5F$5LWl@VH~Q({tfe3hT1{et=MRAQt$fGo_CLot@|dXzu@hk1WsfyH6GK
zxjb0Cb)NJ_yg9nnv(-K(1xhS??DeDZsuhvxx>Ki8&!s2%n+=KLzYi?ioA3C*P10*Q
zu*0c`X<j5@UEt<sfUNQ;uX5=H$hV}<c}u*{`-~(JHLWG-`NY|t-Hz<gkDVElcCL=W
zs}vb;gv_Jb>D?7Aufu=4`O*{*`nCG+{J%oTBRNLo_{1XrWXhV<yYF;ewA?xKf*(5u
zXqnS;g_eqeAr-52=ZeieC0nRgPP&4g6K5V;PPuvPK#WqNwi%Dlto5RY9oElahsGLs
zr&6ORhDRSe-H`oIiYJ+hLJqU00=r<*`Ri-dDHELDEtOg6X%_a(tdyV32`DVb=8q-J
zA64cHVzJlIa#6ZGNG7b6y43ut*g<@0V3OUTxuZ>wA3smKhI1tm_~XF`c}5+q+Ss6M
z_Fr+QR=6GG*{`GgNm>Zz3mmW(U%;^&KXi(doBDxppO57&Xjl26)r!oMg+XY3K@D3*
zaxpL<qZq@_dbUzAB++;~eKL5=GI!szMjyFUSj)f~Z1c9T*U&MVX7IxfKouN+ZqtfJ
z3>-lP2`reee;x&P-@PMTm9P=O8LFo3pow~zTGt=f#r%Xe9^6m?5PK#7V^o<+=d~xj
zaDTZjaWT8GiimErro;S*4?RLqa{5r(N}C{X>k_<dTko|+w)D}sh~nA%J&=3jwy1|T
zO0>&5g;iy%6PgO?hBh0p&^x+OG;F3-1-#Z(vKlSN>x}ISZi^!~R*Sleog$9#BkTf`
zsYLF2n`Tv9EW~0n8)D)N{Bkbo+GSda$<<80g+zUCwi(R-Q+Ia`uG{D-u5&&k#TFbc
z%J^z$ee*b0Qe(v%TVf=)G1sE(&w4Z!F>64w3wfWsQCXv>HP9gfbY=$-AVkda=~1cg
zSvz?L`n#AMYzEUU1Ug|);4^lS7x!aqo)M25qlHICKL!(xZNtB>-S}p-pAGJv*B*23
zG_hk1ey4oL8N-r~B$M5#H`<h^NLrTtv@cQ7uGAz=!Vs`}VFZY3&i^#$@8r7~IA@g$
zl_u4h$xKlaqK&&XqMuZ}hsjXTOOEHlp!sCoW_9K=>lY-EGt|ge*eBLCL9Zfxcp=q6
z?Z^vOqTvi}Hk_ZnLcqlj+ljFO=|`gMo33D|Y7&Z;&rG)<F*CY59?tQ~EF^KkY`M8N
zcyBOmLDzB~ZNo;K4`Lly6Sw1-tbjpH_40G6agX{()2@rwxkXAD=jrLpHM#cItZvMV
zpXKs@z?!}kp&Rp~w=`=Yi4c>jl_exgL+8z3#C*-XIdnW2<BEf16U1QnA^xC5Oqa=S
zIAud4-Qk77PzI&=3)o7`NpVFcEKt)<qmY7g&tcqg8=^dqw?X6L@EyarI?m>xTj&Fr
zO9GIEVrGC?3~@}fj=>dbeEiw2XSWp1tlR?J*{<9T-@Sf7D$%VF&d<$A-o+@P=0^DP
z&c4&QXkD+*bO$r>GnO(eN?Qz^s82wWqY{C&M4^x<>TNZ-GgTH_LjbM+;klVgzoQ7y
zcHec<0kk)F!C3?nro*%>G*5)F3n$9z;u~{(_WS*oqXW`hV4*QdZ4>C>IQ3O6qVhPa
zzERYUlB(&&#P-E?r!I8%$9dunp-+I+TMMoD+*H=j6Y;5<6AFycZ^3sn#pB|_ABVIL
z)s98PLZ9M9QDy-qOEw84lEofMD)&cIPpij%?^LPV!@K~Z)>GKTk`0#<_1Ch6zB-i2
zuE<h!D(2}XjwR^*rq^?Lt)H>t;J8O?rNc+-wWhzPC(GiFd3vAnO(?uE>*6oz{1WWY
zSqc`}%c^$ZX)+*=C^sLilGN*P^5-DD{uTF@_{q25YRrAvzvUy3g9r$P3$SZctUM+)
z_bYl}2>W21)c7}^db}!4k+Rb#V}_0>*tU!|Vau-DG{3TgR>z+Cl{F>R%jm*l?>cHG
zJVZ7I>J2q3qQo%ie6zd*BQ{QaE@--}*<x{_T^gvLWO`L+<p1t^0Hj9MMh_AsBB`fe
z)n)l(1ZPF2T<-;}w8Vs)l)s#>LvGKK#d=i^gZ8c@_wIRe{4d3@R&r*i=|Xj>77+Lb
zjsDZgH_mx^NHXlS>9Y{!HwJN}ibV1~N4D#>_<PR4!>hV~^n<-~o;HLC5p>FGhUVnY
z{M8@*Q_yB#pJP548?ak2Nhi^c73^!%S@3U8#S8SNi+Mlf5pUAJkLH@r>HwNWz8q#u
z_YauhmE+!$MfrIPoPFm#Ri-=<9AHiC>u0Va@_iR##BXh)b{CfRR1h<HG_joR)yom9
z6A&&=8A*DDUg^V|Bv=xDc!F+&j2#JsoSLUC_4J{Y+{5FuuS@w#vZ?bQsU5V-mnShM
zynR>^$i?dz{(}{_U}vW|Wxn|vIcdoPmb2%cL)j?y2^C`&b8-QJI(sweM<{N)`=MU&
z#F|}8lutdXc*c_-3i%BX1oRcO1OGo;WGT&LNzp+~8!pKIfQBHcFDve97*T)j-1Rc1
zpLyCHAth$@HZ=5l0uzSn%#(jahj;Yr2pVB^`8p!m`B0h!BR)6qp>&kT>!Virvl_pV
z2mDTH$0EsFIuVs1$^kkZMTu<s!u{XQgQ#4D3LZ1gw<j&~gS#v~xchR48&AGp67Q0#
ze4FB*oF>(LIIVztsA5EFy;~_ZpVjjMqZHXFyee1dZc@4a&Zr*H*qE8O5AVs$B2u!A
zwtvgJj>5{KIZ(;0X;JeV+vC@@I!VcQ7u!yGzC8O8*625W(I!k)5%N;#8bW*t9-;;(
zPTa)f^V$c>hcIR45kmETm7vIJvBc-!tW-n7KydC?3ZFf7vB3WCzMRxzD1zj7?VY>+
zH;9zy<ptv^c4Vk~ezI{83`tCwr(lV^0uIhJVl)IB(VBS}2)x%={-XmEEX&-Ee7zMf
z3QUVagj_<oUcC%>-ySFA-SaYL)#~dVF$$2^9Qt~PTg@je1AjutxDXO=&e1X|My9Aw
z;I#HGPxcODrDPDE=Y!rz=<CW<w!WG59f=?Dn?&BwlJ5$QsZwtx;$Qs-hs1!AXf}Q~
zWd(>jYmO?BZ_ohz2u^hgwLWm_PlT!lCNxx*JS93={ZgUwCAhHCTb2o&%yOom;Kn@k
zD61(^lui6XMatZ1{{E;T#V~D1cPc>_Q>yS_f}2xVt6q{#agkpOjyFK#y)=UubsgQS
zv~V|v5hefXE7cYty{=WHp4^^7t5Y*8g)K{5Q|5kq#}*3!b!9+_0+`GoATs8xr*&YB
z-4BAk;fB0@r>E8J2TUzrbqu(&*d_-h0?JSCS#<E6qO)s%GC@u%CbZ2DpzvmTqh{?e
z($f(0l?XH!Yy3DTp?fm9Vg>cH<_Z4m*TZ|+f~VM%Kq@$&NMHV=FehqG7P)*uTN^CY
zq%33|plW(~6cF&g23cY*F1&VJfvKn80P9S?A%7BAolj=QMy5PpYZVKseqdJfYQ_iq
zg)D2McBjT*(+k!nYE-L;(y44!Ul7{t=WbHOw<uQILYbdsX<LYBdASK1xuVFDKWAVo
zL-n~nY=$0HRh1tB`Si(X!j(l4VQWNqUn=khaFU!?5GJaGFnZn$RFqMnW3u~F54NlM
z#y>-_fJTAe-a!Xk%LDd*o0=q#RJNa=h1wx39N5t8c%1F#QH#-UA)L!ESgy+J?(|SA
zPDC~_K0;GQmgp?G!4?8`s{Q}vKGXQY0Nb)&)kaAqdDbJccN_s1GI2Jwg|;{tgbBcE
z7%`yD${A}wx<U}Z9R2c;^2=roRj~x$Ul5o=c^FLp1;xcU98YD^o_Ha-z<2yUr9UFF
z^$09x(cu8XobAgiao+&_w-4s>lw0Plm(ME}5;2=rnL>Dzj?#-a3`gOK;8zi;$Z+dU
zY$=MprI9Wc+O*%<F~!TxyXWO{beOL=282%L{9Z#$XgBt9L_Zge>U;o(3k$tj7XH!b
z$5W|ClfyTx2UVgAHya}RIC);be?-jGFFES0XtFpBk(c>qnIw~ONvXsbi+zigP9@qL
z`1RcYEB_?CK?Ok_Y>x}?s0$XPs&g1{M(=L%jdr}cd6O(mzDL*T&DcYb(%E1vn!&RF
zcRBo1=VN5}MP*CjfWa|iJ>At;JO&oL4HR@SXwEN0YWkVh#6Op*0~h0fFBDGmFJy0g
zJT9T%fD5}b9hR$taX}f*>s~JtLR=gx1qF2`I6F-vml4z~$XJ)Qn-n*lA7K1haurTh
zHByoml;bo5%nTRo^*<Sj0BW@m_%>8uylcVwj~Wf=`YzMgHqp1@d6t@eDn-%~eNAsV
zK1Kw78y@(C!{e9n6eJOqQrz!QfXGD286&y&3tfy$H7X#t)R@FElgD*7-Bq&xBj-TZ
zI-RC0p-o<(^|}3>P^IXHa1OOxiQaaj_-7ISb?yd*uwFfS_-pMn5M83ZnQW-AmO533
zv>JR&Ca5It0MvgFT!P-GC8VRPHGS0Ddo^<MP^UQNyagOB7w2qGBd^J^jAtt2>!pw=
z)w;^OMwvLwOYhV5U$`I$t$vx+rUM18(){pd$E7wtUHf|_+Jc=_Z<B`l`cvU5M?Fu8
zr9I(yAc<IH@e?7Y_N*vLMn4KKsz=A@<8!SkFO&?9wzHQZ>@iL|y9bz4-8+Xf4Vfej
z^}3m5#gE36*fh6s|E<|U^sZXi`}Di^AUJN8Z+h;X2St}SsqcDkLNq#p_X&rUYN|6G
z1FzZL<I}Axj_MTSP67xHBSZ;`moy@ql;`Gqf=|ws(v+4iX^>?^W^EhxJH8t$sczeY
z2BQ)08nC-K7w~ms&`K}ZY5i%~C@W&p7n6k>1V3D2cf9R8XnDb9h+yptGBc*B62wfi
z;CefXLdm^!nax$>%R($V=WRNiw{E?An|2lCt{mdNv1eRkkX7);xd@j+bU3n>or^X!
zGbR#Nz1%#nIzJ8kI-7y%HTyRD+H0Z6@=&!5Vj-C7xc~GxkkM({A4gC)7<fNi;f?&q
zeLYFy0*`e`94V?ueCvB+?(G;0*4UTMmLB~fgz9`B98e|xfwP{(835^IK#Yvy@Qab;
z8Y&(J5v~EZi(e?87`=0kr~ft4)xZ0AXogPP1YAkavDcYmLf`xTb=;e*rF3*&C+oRu
zW{@LVFO+f`Q}ZJU{ExCgAkBJ1qkP0|_$`%FzdCZ%&^ulllTaICd9TQUTYZ?6u3&xB
zoJ9lw3_h3#qn;2ne+F+d3#<Zz#gvMLzFzLMAgn2}ae$*|{dJxb`v6ttpGSQ5`@IIb
zToL+*3=cX<)jOaU&Fs45i)npP)QT9#|MJ;%+0_k|HRPMi{EkO#_HPU}ae5IOf!IvZ
z)NMAyp?;K->g*LGA0%T&y)kM0vyF1X4%}XD3Y12}6Q2_@jxH5+^5nVWdP$Ua({7G{
zTPFkZedIyy(Rl2Ycrodo=cK-iXq70$N&ifSRbWb<TYzK+Lcag(WyD!Zg%u`xXSjA5
z-xUx}{*cv5tiOi7%I|qO@jcepE3hgWKNALW)?%!fLCDzkxOhbRb0Ql=K=5=^`~PNB
z=+`r*dNHxIZ9O;Hzi!3H<~T8qX;id3;h@!-`t#!eKx#ZV{0t3LD~1b4m$d9_Nv@!w
zf_F`z@%CJMOtmoWT{okB{7XeI>>bvRT@^(`rY{1AB34TtOGO2>Um)Rk_*bK8F1%ik
z&MOpX6(RhXbw?-+N*Qet{R}X27}j;c0EuLzF#3sxk^ro$+`xJ-c;#DBraWNnrjY%+
z`QBr%raY7qFmJYZ))8SsggP|4!v9M@tPFXKMykO~|0#(pZ6QQG07Hu#NyV5s*}Fqe
z-(gwt;-)d?rPJp+{6=D91(u947kMv(QZ{9O*fNU<zp{8~zoVoGKdk|=OHiswN$8RQ
znYxR-3*XelJ6vv|v45*QpDEOUti%AphsuJ)4`m!^;CE%d4kL2v>uw~;IJxZG@6#>v
z2|nkv`ovpCyc%bjXa6gL?Le|&O!4K7xWge2M>dM}r)wjUFmY_1s@F$=Et9<0PT*+6
z+?gcaD<hu7{WW~!t<YruSM#`Fzm3ao{r!CY?@ea7<YOQ8WC`PrCVayD8Mgcm*WJ%Y
zTPxAIGEBflvZhKctNyZM(PoE*LqEm0gFU_8Q5IJkwciOTW!HzcueKdEGItG?22Rp6
zyPcWgQ`WihLB>#BR(xONY@kvPzmvA(G$5ADt7!U+0ve^?e-4lP`o-~eHRC(~xy~uK
z$J=M3+b3#B7>Hr};JPWZ?(SGex7I=;q`o0Lz*4*-61EJ?8~(ICv4=>3+DBJTaG#?<
zn?DqHMD{MidxI^wC|-~pr;+bb9n1$tjd`w2x+7ZRW+7FWAc_C<sW^g%usyPd+Jx;f
zqjt_d=g^=@dlY*v4or2_d!_W&P^9B*@C*q{<h(JZF-pwhc@wMR_Ui#Sszgq+TWS#T
zHY!fvi;n+H7>h0)##U?sSpDgIFz&3TdpdUArm%)1iGjK2t0M#;azLNpv@G&NV4rZ+
zplWFz<TGo(&_9P7lSmS}<N$NW*Agx$9I7E|=#aCi$AW%mcb-g~L^PI#zKqC8MFp2v
z5v}Z6LYtMgzs;F2Enj8hASg7uawNhVDwf~9c_|SBXF%EzdLqTc%hF$BrqTI+`gc`I
zs}xwd*>X?y;N|!B!Ap}Vgc!{1f=0r4w<*hN_b)kEP)JGKD|5Zpa2zQv)3KofFe-SE
zStwv-c>;Q+Z#pL_gQw#8JU=-i>nqq;3nxKTr3}KY#7P&m#E5?la`oslJibBeRKr2E
z>&S7b+<AbyLe5L=6efRw8^wz{u9(&a4>-|$N&YZ*=r`Jr0(y6cuZuX1Vo76yz_#dq
zKG-k#$KVW^+*s&$ppnGVr8(BonB=4$srLUq;nVkv=W_$L%r+!#A$5e;lnyEsN6C6Q
z$HGoqVKzV@L!V+pEPK*v-s8&(jiI6es^Uv;IwTq>D21ca67_D0qp!t&M8J}0H$!%^
z$?j;0DvkPxG8gm#C2u{cg!(`gWPi8X_S>vsF(J1eMZ}~&z+uHbM&L+P-r*0L+i?%6
zrRDf(=w6shFl|I%CI;kY+7gP$z`n=T1T^(>XlmPwin4`i(ll11`Srsewb|`Of$oMJ
zFWE%UMk<A(?h+iYnPD4b3<D<rbxNQ#Ll?X##g34(XKA3^P7kuGUJ83>B7xc7<+W>L
zMbNb_#_y(!PQmHPg?`xa#9Uy$Z_Y#9(dSpsa=QeKyPRJb8!U?$m*@Uyay~%YrQu&`
zq(^tA<_%~r=N{mU<4N?q?wR2uY@d6G3p=*7(@F={mnIQadgPn{wo$40&n#)&Ra050
z0>C0!n4QUR-DCO3v)H^mEH@|*sRU~Bmf?Xp6jx}r3g((`;@Z7IWUxO?tZTNEWYQU*
z4KCf2HVQP`$Us_RhlPj%c(t0t32_jRuoI2$ohEM;9~(ui;sFWo4+n&35r`N|7RHD%
zIB}+s3+6;J#&3OR>~;5b2OZ~vVR>zEoM)4}P_5Lf(*_P{`<3@dnRgH!k{WBV^#j^C
z9cI)C&3co56FoIJDtQO0@_lDSZbuKXPmJeO9All?lbm$?t2XJS8Ne^m<h;^+=b&3-
z8$GW~nzQkBYOZk}10tD+N0#S1{90@23xD6wvBC~4_zT_daXG(wjj=W|+U>>2A1Pi?
zpjFX80({3Hv#k_t<G?bxN9GrA|Eh<ER<O;^u0vA)+PBZZ(8}eJcbmO<1L<_4=3iH$
zvDTb+s7qjt2GaI<5%K%w@`~qXOI|O587LZLjItJnN`L05j_@^r36=vZVr(*evxwQ*
ztrq%EjRl1RSg)$-=BYrji9mp&nf;FPwRT22&~BZ|Bi2fL2pR~kEyvkLP5ZHaN<}@c
z?L%uF2ufpX{XAnBeum(<j1=nhxF|1xWIe8(3=OB42)$kbQ~yef>=v7t6-&`!k2pfn
z#0&qY=E5;&GZ!>fCu@)9fes5ffh(a>U`h(PpWr{OXyaRgs*SBdP;5lLS1CU%i#3!R
z5N?t5`~>2yxX@-iRufDx8p-A6f9DDGUCWaEyd@N9^-dKEQT`nix_M<hDtDO3Ndluw
zz4EVkqx@Gy{vaShvrSos$MbLv1!_szb2MJyP`{~u9W1!>85Lp9B;|pV>cB_?o5#vb
z2XoeuPsXQcP3<))yEu+8n#jT0tzz^KJud~>fPPwTautVxm=d28_BtyfgE)CF<wyAs
zX{xR?OX<BT*u^&D`tuSc#$_jQs!ahib|-pnV?)kzv_BVQ;kmPG#JkXBnCs!~U73Wp
znKt1sp1i6)uZaM3u3%F#<)f2nzq3O#{j^}Ag}OcFTCA;^i|xb{N<UoC7Z~bmm#-|K
zV0Ri(7f#|knP`H=29V;XZ~1@ryDsjAnc?j3L?}Thm$8~)l4=m<JbiS@M)@>D)Q+7e
zE(k8biTK5|)(6RRM<GVf8Y;}B=Z19ZuZeb<0@#i0(~!4PdW6{C0Hny93m;;&Z@1l&
z>?Q@LB$=V0-gdfcOKf=vzyy~A^!kU&D|n)&%CMPHxMX`D=F7Af5rh3uL@&~!o;V*5
z4+a;2z!mHIb&Al8qd-wynm=eqLEx(rr)6BUO$eM>68F-9>-CWLYQw)j=<L=Q-TuL_
zuvRWfnu=)toW?-s{Tl^AuC%Ut1RspBR(X8L7`M^U3_QH<-77F09C6l7fs#>03*wN(
zuBdlcMq8^`YR)+-K*fS3yorbx?mc#Y!^JH{0mue7QNRWyak2SCn~0u%U>{oro;VP`
z-DA6FYq&Eiv@>soy*`2<PTk(D&^|2e0GxHn_=;^g!PhU*rNX67#5PeR52eWh(|wOs
zR?v(k3>{f>k($$=JZ7GUutzrWLhX%-VCLEOF%!x^WN~@UHt+KBd{c1wT<ND)ivR#6
zWt3(YhcjWacDIjYD8QSwfF^<ZO>l7WKI19opI)*F!X{tN)RpwyY7P<1NB#IILEL+T
z{~t%ZoT!&CJ3yKsw#(&VHe@-@qDdvM{Mjw8wbJqHr;epm9W4}ikU%w1vE*rFUXBA5
zV-s`OwXnH3Y2ejkrTqxj`%7a!HapXZQ^5nsu<<it+F=8=eu`NS<0lXeZ9yN7v6|J-
zf^yPabmcSdM>*80+_f-FvxSTUeG0S)Ni#z7yAVs01AydDV~lG}2n^r&dC@_X<W9>-
zP3DNx)rVs}j-r>xh8)`%ciB9?Zw*>*US7nc5BCahJDxY%__bM^1!M4zqM3cBdnR>G
znV;4kaHT-z^E3JgrG{br8IIcOq_my~?S^;o!I1;EAi>oJm82KGCi<0<nJ;Gu1XQ$T
z=Xp${J}YoMPgc2XI{zx#otxhHbIfH8%Py^8mb)mBqu6u+;jRsPXbf9CeOssy5C=4x
z;^EDAZ+L&BSl85XF&Uepb7`|z>;S8YHyPlJW=b|=(ee1Td+s<3(+Y+`qbhr}tTw-X
zbC>UFv?vVS^W&55mxE#%qITRltR2*F{66@FOUw)LCp4owqO+AMnpWrdn4E?VrU<Q~
zNj<WzuRfT}DTh6#P(aI&vi)s{tS7Z<+dKjEM(xkA+!+gty$<VukdR58d#r1N`=1kQ
zD2-;9&Dy4lHkL&AWgg-)p)^wbPuTiZ6KHH;^SkIm^(OwK=V5W>lyXth8LA)$*v#~&
zTd!)q*JG0<x|jq(5fUl$?_ysoXH7@~zxexdo{JLz`+H~n#b$31PW%>@aO|y{x$@oO
z`TA1R^Hhs(->Rvg|Fw8FOaJclC+J{3bGfYnVP}6l5_d~^2kIMo8L%!wvc;T|*Hra>
z(VAB(dTLgz-{x;ktlQ<TZ^IrDwn?3)i4j`j_VHu2WL2xf(NdXFP+vh44EN_Vmy@?}
z0^O=yody46HunqY=0>i8-PqsS7UMvIL^QrNEHRqas>keZWFy3~vmSy!k7oV;*sZnA
zf<z+d^JoYfd9P3bDNZwqXx1}g6?IGVT2Lq`O_A^pwF(r`!4LmOZ;w0wqUudbY<XVZ
z$Ep$<_;WZO2oJ;S?l%g|-YQ*4k{j=;REAX$wnw^+FKN;Yk^|8}#C4ImSMU*TH#Sh1
zHaWZfFK_(OlgAG6cP~P`rH3fqBY_hvcUsZ&XIe23a^&HH^OA{oKQiooe(bHW>qC$@
z-!00E3&aK81kG>_W3y!u!m)MljakK9_to{Tf=)~x4%Yon=wQL#7?OO5w(sfnU4Gr(
zxO2~Q9gv-BemTQ>Ei3ri=xaf&G`c4--)<Yd<2BXdK~Uo@L^!6cfd){pU_hx<0b^oH
zauw5mtn(9iB9=Xqy$v*`p&~gW^ct3QG$_<GBn18-)dEI_Uc5=!-rPHi5b`ED04vwv
zv0ibLi^bO*uwGF*h7Hoby6T>yD7qnFS6sP!EBHB}5xDf%kxdTO(@C0EGvOO2Y>nsN
z8@uB@u-z*R-YnQD=Q0OOvlrF~dE>S_2{o+}8{d0fr32;ic)0@EDH0Rq?HmI&0+KM3
zwKt&u6KD*|_c5_3N6dYeF6y}-^><cCNZ&miK4s=bI|eBZmQOpY_^p?UjbbTcU@O(F
z&zEi@Ivh6*jek`w)P$JQDvwO~V7S!wrfDOMcVuHWFVko<tT&U@PX(5vEEWgXA)1y^
z$*rBuSk|wG{bE%em*ndUbaV;r{CX`hBbj3Qk%&Z8!4i2jPqXbt?Jid*0>-0C$ol9%
z=AYXProWVQyjk`MEE|54X5iws^^2d5v=Hp+vmd89WrO28mp^k$Xj~$69CV?@jZ$=a
ze920xHvdf7-gL3HaB|g}R2k#5Etz7PSr*B+F^YtTP?zsh_1_=YyVMy{>aY{)kvMIQ
zZ>FlJ%bkA6q&mD|1Os%`IzG<6`R|mkp-AW7EJAnxOu6?|%MIRytP}NQ3V}7BGrB_M
zl|~}*pb5l1Jjv1&2MA((6a76@Fa{9+vqK^_oA|)=!mdzp`q1soyK@rptGBoPS(zr-
zbW0Gr&m8|;;*Ufc@he-P5~OSEveX+N6jFEklD7!Eth{wwuFrM}&l67y&lA&=lQJ(B
zr(DLw_&+=czC(s=KqIG2a5V1bh2xiO;8fO$0?oI*Do;{KVSFi`kp#Ap{gcwCO+@$3
zPuI3V3eIUqnpj_{WA<zfJ_;(AyNfr-Cq_E)o~`4(aBGhLD^eGphc~cS_sx|AhN0|(
z7#~dPfSRbTH5v*thSc?(l)TD(^J?nyn-QbaXv}`buehC-ifjR?qt<P)KqNwrb}1j5
zi#B<$Xc8$mXPR~__&MTDQvarCY8>})nq*JBA{DiyP@hBe72~P-%`~F0EVMj^xPee0
zo!IKXf8ZqgNp*Em@-d$XvWKXL+#7HnI2!!7!{>?T+?7GBJURd$F5lbxTuVe}%kUa0
z$MdX7nR|SIP1zIWu8Ior%uLVK&?niD1hgRwdxa~YFLm9hM{#5*)pu3zeNH1qnfP+h
z|3rf^?PO+d=VHz^W-D@j$ub}?oKEk*Tca2(-)$_a8E4kn;#D$Cb>|VPc}yitS|Fp)
zkNA!K&W^g&_v<%fB~~{Llz5_NJT%W7<gNb(KNif}6S|VkRrqK0fvoXZ_;qkOzo?;t
ztUC9xIu%JLU5)cae_Gp04C+&0r5%$!+1#C@zL1-ZVd0d;z;#Q92&-Wxzmdk&O!|O>
z?XPz0&m=)kZXNNvv!?g7g9KFWKia^);QrOF!8})BYc?6ETAV|<nlVla`5E8R?2!&x
zj|#ne&Is<A8{_GaD<~9lX>g~__4`lM>R?dd1PoKGV+Ig0{Ar1zKg#V8wdJhLuv6N4
zHc_Ih3aghYVxG@Qxthip3iwIhZ4!uiqR<)ME$p4&ue12rm~-!aENfs#CTuTmxt;M)
zrXW)^rf{MQ&Q0}Rwx(QRwq8c-W4;AR2<cQ-YjEQrjr<=7e};%VTrH{5LGM1ojCq2u
z^BkDUyrhoUb6Z}<ROIup{6x2OM*Up5>to{rW*08l$sjgZE66$1)=_`aW2~fSU*xZM
zprabzuQE=qHC?nAq;4PA59%OK0+s{enctb|hS$jvZ`lX4kS5?%u-_5wQN1SVjz!Iv
z5$jj;Vg#U;kKG>_cki?Y7iG4tD)$ZR^?N5_3JLP#8JMrx0ft-l+6+lIU`!Bzy@Jb?
zN)x<*tEw*TjUyBR5bU;^%El{c*m^Y)2Y?iZgr0==m*cE$GCl*wzhB*nO3GQU2Cf3E
z=EL%MWr48~_m5+L7LJ_ddsMa-)q928zkQHa^BM+2f`qMl(#txZ6IE78rC0IU^wdT4
zSYJ+;7j<v{4pR9zdN5hUau)7$n+#Tr74M&#obT$j8}FHZ8=_XgZd`-0ZxE@kIUO=S
zTl=SB*4}cz@7p3;an^saVRzl^LYp<DjK&t?>@x(+Q(i`B)xFrs=A%w$%0g_s<iuve
z$Oj|eYn=Py2x#f07FX3q%Z(6wlQVw3%)<O4lb}iq{nSCQX{AM-)e|(lg!v{5ZA||+
z=u4TiCXaFu*+uKuTTzWqOO(PH8#YTV_seUjHO|cfGVT6_yj+KOgMkvZ-Ou^Qp*d50
za8(P7EQ&HY8+RN#C<w5Xn6R4Y!A!%rphXGIIz`*&U(;cx)=*&4lpAPZyR(&-50wI!
zF$-uJ!v}U)f(W`!)H1I2*X;mN#;~U=j<sVI9@8e}eNQ}$O@%C(^Nlc#BwEVD*$l6s
zkHZBb)q(g6xY$3#H1LX3d+x}WaCUkhxmvkeg992%q5>LQ!UL*`QUY3ppktLkEC|jD
zA}x}bW_@MspX9IEeJpyY&u!zlD`@H>TFp5)Z`n9oQ*^aJbpNcYa<o>ig<5&`$<O6i
zsL$p9W}eFraQ3?Ns9vU6QCf1ujdeN6%_g!HZs!{~Y1{s(f$w1&6i-`aPQJ@l))p8w
zIlVZhqJ>sY$E?|1*ESP8lyT=6I&$WgWxu)|_(ya*0SA?B$nVG|4)$Dd2$HqrsE^{L
zHRS3D0loIn&d6GbCTSgX`!zdoM%&)WEybl1dq!)1S*PRBY_9&jXy=AegzE;0*V5Nf
zkRj!_=`Ar}laI1*Phm`Vl)`=-&cPWp9p<yq`;p(7#wcOQ^4l-j2HTFEkx0qYSIw}v
zL@y_Qilnr{;FIM?GPe>_NjGG<Wy<TN_ldigKTGnrlri7XzKba>Bc3Y%(VQ+#q3|On
z)GI`2hno+~tp+2a9}D(M-Tvl{L0Vto$qSA{5O<gFW#|z|T(-T8@C;52I-jioFV0^0
zvnRk@bMjJhioas{V(Sis6MamK-72n}h{yQk^$tW*^~Pr54e%ki2ZSRB;8ERMKRiOQ
zG>3cbDMJLd3X4#E41v~icbk_Bsn}2M(T=TWd#2~hyHq|VGW@N~hDHebLUQsb3mekb
z#vc6?VZ(BZfKWqyf-MI_Z4GG&9d`H_6-xN5X^yE5Jug}H6Me){V3kUXV^zxH^xZ|=
zSatT9)q=1#qJKVDXI1#|HqFNXDX=GImPqT{dL7^pdq?rzKdMRPu-m77LiEV}`;ALW
z|AnrB-Kd4Wem8{}r}$Ik_5DpU|M`6li;toHFC_B)zZ)CU^ZQ|WpMdbDVMTV%3lh6v
zH(-HMq?$<6GJO6P^{Ih_{dY$IOCrZeq*i7w3u-wck&o=<cQUbGq4O#_o!~k1B=x?M
zR!4YW!|>+ScMrPc+3w2Yl!N{oakd6o)w`q>eEHYZJrqQ$F9UZN_H*2a6R?M^gAAv0
zvOd}^Bw{TT8Z(p*UyWnmTOf&(Bc=-?pILR}i%ZJ(MPZ;=44VCrwBRWeLiyNvl&Aok
zWHZzQuC|P!)zkmQ$>xQ?XLvvVvp}tVGqaK>SoII)2OlC5e+j_W8;AsCPUtQ-cK}a<
zvYbnrNGQ&%>_gonA>`xMrsd)VUEZ7b&7#3Kq4=A{s9d68?18df!kt?p06YZ(+emqn
zXA;%CQ_$T@E#_xi8kX~>T*HV_a)Vf))bWvXC7!L9nEuylYaJ&qLf$FFijo@2d*8UU
zZ?s<1NVJb@NpWI#gg6-ObF4p@yOT^Ruw&qc8`}OZE^Gecf_P8IsUrvL9Fsfawc`$K
zm{WiRc=%cFb8gNHY#J)pNFb~CujH<7IfdeOgc~lrMaRTb+4_ZbF59HDU5er?+WY?8
z2{z!#Az!*z%r?Jl+vdzGd~x;S)P?1<ibt3>%V+B7#s)+tW5>>rM)v_zrUWn9{3jq!
zLVyn51^<=9fY^9qt-FhzHzZd9cnKU2wlhfBLg{G=5K4cj)4O=zlA9lu+7)GM*b!9~
zW@mv%nnazmQU97~!y!C1WoohQkDJM?m=7zBz^tG&_-v@)vMsu*GK%WXYX8})NIcqu
ze2M6*fQt1E%BB8#;mEGj#<ZN*{`G;F7w!!cRSCNIICYYy0Xi|*gX`<pE`~oFQPU~q
z9$TjMi%XX0m35}MIMy6`#=N%1_)YEqAZ~Z`)NgTGE&J^l%ROn&?0(@4r~P*0g3i^J
zWV<9T82!+uD18T47D=0%82+<up@U8RE@p+`gEY((P}Ax=7_dbsQv_cVJzp<x;CS7G
zhN#OgA3B%?Zj@PAfJJ9coA>1kCfMlXVl$lu&{pFuBK3M7<}sRx{b9%-lOmztq52l?
z;4<5yhw=17=q)??VpI*S!t9UIULvpd^Y4Bx6;_;;H<d_RHJ{{o97{BI`AQQ6LBi88
zO=j85fK!gP;m6iMC6Z7HU4lY#^ygLj&Gwk@3wXaS;QlHLH?u9~tjt}h_b=~lq@W^$
zlg}g+UZ)$`#fG_a@%Py^z*aRsMBj-2n5E^hiI+Y}XGInY)X(qvUZ&EX?HhU03|y{U
zl;zaEzH8{$+T-T`5;IkAQ0}8R>M}5D)ZmyhH^ZJ1;G}(I#6h0|RMaX2N2^bVqZ!U`
zdVZm=Mm<zPd*vg3W|jEqMu`f6Q+$&LBL~xs<L?t%iIu0mbN~7`UuWm$zXIkfH^bUW
z*7#)A?IkR7X3)(4q_8M<LZVSaYe!3);rg{r=SJ|npZ_VGW2{Npx5tzDdTIA|=lYzQ
zq}<W;xY}ZkYvf4B3Qmn8?hzva&3uMG5j23@$-2pz+CS7#CqK&L<#n9udqi{dzVxpi
zT@rl*C-d}>!A?`8S%A{p=SV%>-uvB}U-30p+YkYXbaKd%*$}4npL0XuYCoFRpAOhc
zw13{YM`8-syVA@sQNLBEDv0Hkow}uLO(OqLVxG`2OecNS(=6EAcKd7b8e+qynlY4Y
zSaL9wAal>2|L01M=Zoft-a5G;1@+P48ymymI#=%nyajKTGx>a$ST(5yvXsZ%4x*m9
z1tGA-%t%Y<k4!-2g%5OPsk^MX0XcH59=RQK7RdfPJ>SqlQRD!sv7fXK2AHsfRKSCC
zLm&j4Kcy+Ju6$27AGr12B1NUD`2HRLItsSnHu(0Qa17&#TB3Mv^%kQw;|a5shVlca
zK<K~TIH`@d_w!s!`)!b>7(>MCl+vy9^%!g)muAyWPqiN5MEQ$7lk_*Unas1926CLE
z(G&*?%N6QMoE0T`<XW0j%9`p^XX~Vnx?|B-5;{84oDn%jB$X{34LbG>{3DSR8=1N$
z`@|A@2hix@*^;gKpW3-s+8PRD$}ED~IL~m_Sza52S^hRa*h)t4A^BANKOUizDX)Ik
zLgX+lv}5BATy9bQVjJuI)vkTZT}z7mV#z>|Sl1?0C#>_`?E5IV=t)$;wPF$$KU8Uv
zf~4{~3aPUrOGKOEn+nx#j>Cc-yXs&faK%{vT1)+L-5f0D!r@WUORa!gj709t7NWg|
zI$%1PVK99l#VC+{AD6;r4+}hT`Zu%{D3`cMKHfMhG(820G_9vS?@U;o%xDvvR*{I~
z7<q(yU^}DaPJE#l0HNg;G6{ue^r~vBNSkF8M?c(?&P><wpt-tS-l68w{JmmCpKoei
zQ@H)J8~AM}Ysk7o6k0rg)xLNdIKJEVXZjD<*Ea1-a=u!a5bs+aB{c20-9;ZNR#49o
z{#ZT}v8<||8gK8$2VX7iva{Y5oAbSHUYi;aTcWJ{CoMZ1cRs<1pU<pR)y#<TI7<s_
zfAsTe4~$e6iQ(M-%La)QEb7_ZY<@l8YTHpanv;}yBPmC23--@mX6+JY+)d$Mc%1g=
zt1;F8gNZE0!0K8op`Z|qkhfi6a^i@BTJch3Zn+5zc4oi-gLPsd0Gmw0HZgYw3RL-Z
zRK#l_XGWEg=mQi&1Hco?1OC&G>&!D~4*gIZlE^nAmyzr&xxHDf3zCRKzlrhRFCaET
ziZh%YzpgYpG_y%WJv(0H41g~DkvT^&F9$Zh`5>|Q^&8Uj^*>o^Q{Yc4Im9wzZN5-=
zIMOoO!V*IajQxZxiqt|8&d#jRDasgfJ8Dioyr`-iFwIfJ4LXhoCrv2#VO8-oBpL4F
zEV0XTn(VNwulNPTkM)Q43NxLfE@r+-s;NR;g<<q(o3{MCyb}#3dM2-vi{BCU09ztn
zbTMa;9E=NHhBH)fj80LI#-_+T!%gZ9U^74_kj~XYYVudGn$7PfYQ(dH^>iCW;A!7;
zQ+GUT%y!PoPz`N1A_qDnJ!y}cb?CMgacWGnVezGs7R>&N+5Z2%6Y)&WafHve1?L?M
z#9OaMA9OUkR?JG-0#9lSg;aLb&1GnH^H|<@dU*a7tTWjc_hHo^TtjovQ;>DaGpfAR
z%b2T8De_>;>sI67cJ65CmLIbIGvA6U9v<m1o*j1ZK~T9MKIJ~>`wu;eFNk!k51S0_
zW2`^SoolStZEh_ZdmvC9p;%jl)N0vvs=CG>MW+;!sS}$y>$%Xx<=sNpcvS0>GWp55
zXO`phqXJZf0-+}+#4UaR5H&o#^?WFwszBohA2f@7Wc_SsdK%<RRIoAh?BDN66qfHF
zpO5o|Kr1M6b<9L;{$A7Fe&#*1wlo57CHLLqq2&*(k+q6<rVhH3U^H>^65;*JE*jDN
zT1&5rr>1U7LHP9_oKJ^GI5s(FLArURM=?rPPfNpJcQleI0vUR(ivl&Zd|nU&=p9AT
zPd-T94<>E*^df#QHy>tTom>F{Fh1(Pm1x0<iaAeTFc^ha%~IYXPqsR=DXDeJG0r!D
zyoedsi*Xh{((!2Klt%Iu0+;rE5?8Iv=$Q}dS#2%)iI0yKNMVgW<jPo0R*ukRj>dtF
z#dmi${_LY4f6Uxyjhf@~uGT!jGM$xXeCNH5+5BI0N&2UiuWA8yGASg18%0%e3xmJ<
z%TN#-Ymt><&AN|q(xtb)gD3-<>jL(dzrx}8CB2&+6C#KEX-|(9OW#KgFt^S72jPh?
zX}U^CczpG$fF=#Lm0s$1qg53*Z;X?7*sG1h^7H-Wz@F8L!7=H`j;`DdsmddMhw)U$
zOBAX{-4?oUSsTjZmnTlVpE^DAYMwj%TkW^UUTkmtGl&JX)h&_S->X}w&|v7my7YEf
z>91>cN}X?;9B)q2;)dLq@6e|^P;y9)0dCv<EVn*PuubHFu^)PF$@kI%r^~V2#|n>v
ztfA>RP_AEt71hYjk?FXpwGpoKDG<5EyNDeI>R}q)W#zBC!nX&1)7=~|ycWgU<1aZV
z6hx4*d6p=qQLIEEu7Xq5WP_&qW|?eeCT`&<j%euV8t#*Vh{<0SqrHl~=hr`*nF{eO
zc#z!b#OX=NQ9dC&dy1?kIBC<F!*W0czCJAUx1nNj0uvG$FDOL;B>u<9ddM3pF6!LV
zGZIxm;8Z~KsrPpK+fy6k%SYJfl}&|b5bt4N_+&wxDbmxIEYh>>_&g{9v3!Ki=Q=7g
zYX_`%=$$h*K4XunInL;9*0Ai%(cBD6a*$n!>Jl9)9{C-Ruy0F>Ef?+L^xNc%sVa-`
z6-lE`^{3kaa|cxvl!)(ZTBMgcECl(!lSfp6*pgm2n`}9#qO27*O9|y0Xe@3*T(>D@
zpB5oCH06dm8Du~02iy}zQ#ad&W~<qvgud2C+w^}GAb)w__xC}WHzV;SE)=zqXaVa4
z?+v6BR~zv`RkKUpifP~kF&ycnLa7u4Ect=JwHOc-ZAp{QbLj>{JGF&@>+XRn`oB9m
zCk;T5GID^;x~!b$(0NPH?l~J@?4<Qr4g#06IX-EFlHL99n2r2$I2)RTugn}*YdYj!
zcF0YU+`8@Ls5m%K({EhY?bTUL+87#HMB@aBbPQDDkLI3;9h_UL;GvQI$bEFX;>%cC
z9q}P*5F^_Y#Qp^A3*n=vuCRSCeBlW#G#k22mkDyTxR_Qs*DcAo!r(&d^#2}l`Jw`s
zE$J$hibW@;L{zPxbLJ0Tf~aP1LJUb0Y2^~!<kQO}!oZYbMOV(D(N3)?A~_b<a7AOH
z@>+*bg&(SGfcbeI>sNW`FQE9DAc4jdB=o#ysg|Z-cV5ReS^hhL&>kMZ1Nb-Tuyqia
zsCA$lpi1x#4<^=;Yw}>k6H5l9mg_11YYXn6UBBF)`!{2>IjQhqayzlB>tmvh^$Vj~
zTexWK<coN0Dpr$4Ijc(!_>tS{CHZL?{iGc}pU&$+@a75`Li;xHWWSNh*t`_`D9!Nb
zOW|9$T0iVS2N6~Me6vWq4kfrixjo+aBudGCV<5FgLxmVe(W2Hz?6jKo4DXmGB;)@9
zd_jZ0OE<<?I%|`qZ5<2wYG9--UvbZQd(I&PPKKOYS5jVlM%B3zE<t>y+D_J6)Fn(o
zyiDgJ73ND4;&p8=)_GXq<ijPuW8u2xv=uhpvQAFFNgpi!4eLuT&;Eecj@`@KFiX-j
zjlNm=*K}m+6<R!MBk!}as*&z2{DyAN|B~Cl{>A$Lg*Nmb5MU-sdF7RKXTjIZqyXGt
zeH;(_0ida^Y3Fvavor6o;2r=*-IkPORs))m&-YBDo%8yrx1*IExbQvNv=)x<rV-&<
zdmFTZ-PkyhzT7{ZjxHOZzdtjN1@pND)ik58gMI_{WX%Mz&+&A9<0NWnY%<-vlG-AA
zu<7!F6Y3S$UBx(PH6&5F&|K^87L`~nOEfgT88R+I0lhV_)+8VzcL!4kIU4O;mLR^&
z2~L<fX-Q*FEGuCKC&`I+LcGnKG_OpBFm`xzPErZ+PR)s7CHyhv4SeFsIQi-!1o7Xe
zH16D|eEgZ#JguGtZdNb7O0T~xKuO*k^kPpDJ-4QYo}X38&O$F&kMI{SYxM^qSCQrh
z8UFiGF$OY*AUmch05vXJPIshig~&NuB2ZS2Ev8|MWLl4y2ApV~-s_l$po~RUO!Bne
z%TUDR%uZU-?!%ZUh3hdNP~c(9T-ppDFd_wjF}cY=Rsfw$mL#V}#dKw9fSRgxEL#QW
zV;Q%uAq`Ia+IhUiq|&WRVbxk@hcI^7f_Og$#2N#)f?0xizc4&guy28oDIJTbIWgLm
zSz_4<&+J-3Yy0*vc&U%~@HsJiA=X9C$%g*@G;icu1~~|2Y)tgh$}u}>Qu{*cZ<$5i
z4HI}@C1RP>wtzb7$Meq^1FVVTwH-90b2&SK;q$R#o8G3W0({hJK^DaCHMMoLY*G(x
zoim1d+FBT};JX=poz&dWX#8xqg2gGGXrR^8MzOYJTu&Q~>1<_|1Z`nmEiLTuwN@-}
z>nitLC#@z#CX|;H*?z1`uvGeFAU%s}e_j?y)*3Y^-HZ}&B-8U#0_MS}@^VzbDE+~K
z$EholYU{E>7)!aWtIYvU47V<XFan%}lMuvDW6epCgE=X*nUh^6I61;OCw2&<M-Xo@
zCwa`A$eg;q4hT+iA5u8|hzjbQ-0!{}E9XJjqQ@mje_W~K55tTMg4wZ{pw}#0-q#H4
z+m{`dyiRLgr>*Ww8hhR}8(w3du-0XkBsZ5{8~zKnj(urj8U18g6$iup7;aW*;X<xL
z%wjo0>cUi3<SCq++=X{2{RzIKP)^%lOkRMh^ax7UB5gdOv?ufKVl$)!N$&R{b=#Ii
zyq)b+*al@SRAW~H99hAuVTPnFX$qj`*VZQknAwh&GnG(3OU6jWB#W(oQ88Mf0Igmj
zso8<Q6PWWlgw)qrWj7rQ2KMn;2AmAFwytRU(_E=*P?{h<r8)7o&B(>aaYGRAY3owz
zN1`ckqWeBQ2O>2NFc`&=+B8OnGf2uJERYA=0r29~J-|^5qV_zqP0LD-hcg#iy|~@0
zvc`70GTOgtT%Zp7#J(--;6gKRMW@M0g+V4*SAy28qVkmWFsy=EFXGJ4h?wh(b@4rN
zP_S6vV|!>(hKFl8d0rRVsMGe8sjP7&Emea_v3CMkm4Mv0^~$oCjwXEt^+8hPRbvlw
zE`tY0Nu@zT>O9>!Cq~+QeX6yK!3mg?W<ztr?1>?W=eDkxWhFe0b52qrj1J9-?bhYC
z66O#_+e-MB$4dBP0ZJUq$-oy6Ac!ACdkpMWUokTltOZ4<^~#Hx5Aic&JzoD6Lx9Z7
zYv1Kl|J-MvJ$fy`@;Jw3wNd@l03rDKr$xV{pH>a0pQ3f6K14rl&ZnQY7t&AL3hCwU
zB6_)}m|h+wmXXEA`_Uz0v0lAPv9Vy?z7ondU8mSZYi@*|TUSdz-j<-}mRHkru+fDZ
zRein#l&GKnXUFwVjb$uDwxn27xiTr)4u$wTO9zr-=}*l47zP*U@@XH_7T|F;^O2>=
zG0Bnv8Xr)W9am>%WGh<lR8R1g^B7mB+^d|oob#AAZ=ReFRZ$)!2PRvg{ZWFlxSXj-
z)8WL_Iubuy<h0}XgmfyIEzddpG$V)~nwk@@`;Zr0c)>~B(blDF3A0}<=A^1Fc!B5v
zCt5Lf0J~RJJCV%R)tfM{6LRa);MMIwnkVSG<aLQINV-2qJD!ql&;}VM(^{T%^R0B$
zl7t*e*#TWpVKk|9%JKsU-uYFzca=pH04=Iw5#8-vLBl4sY>XybsLbWk<p3pBXzglX
z=7e)js+v7+UEQt_M!0ox2qSAw=B5(jTb-Jd1GZb2A&9@?2w}YI7R0B8Fh1J0E-o^&
zUZdAUk@@PIKc`po-=tSd-=d#Y4x^tX#6Ofq@sGN-fL`b<q~}Fp`JyN|e_EGEuZUvw
z)$(EVYT+;G)zBOCD)J+Ko=dO2YV`lRgW+CD4~cUI%Dot1@!j7msr6n8aNGwz_QNc%
zq+SPe>@0&pc%8%g9H8*k9OJr)>-cJp@oMQW(zbuu1edQkK;&zKY@-tU<Ku+iq8CRN
z(en$U^!%1M{a{r!{a|Gc{b03NR@E5q1$g-3!YX=hSvCE5saVA8^GmAeClIPHtumG+
z)@zi0V!rZcSZ|S77K>#;gnlxuf_?&)1WDq}1x5g$=~88c?>UR6kkSG*JEmbR;y&$E
zK5kMfk+rftCa!ORQ8FGewT*99&^9a0KGNBZkQx9fT&J@9tc9g*Q6ag*R~l;(^3}Iw
z`<VuKTfG!ak?gulUC9(+C{2W}U?u#rPO>B>3RyBeNnGC6r_vK;X&E&&3#bHsF+G!(
z(VPsmwl3$>>8Pd%cNS0{w=QohOIq>k%sHv5lNRx%inbyfocQ(iM}vutgQlDhR!b4o
zdN-}ujU>~+pZ~sOB5G&bPr?^aD1np47(pdacLAY@J})O|(4q1=DO|tw*(HNxID)Z(
z?&}~o4e$rj(y&S8wU;HtH<%!$(PT~xD`BIpt5Yl^O+kF004QS(E8(OpgmJy;*0sw8
zPTYd{n;y-{NA8@Hfk&7SZ{|Q`)rIIKQDpu|6o*_`ZivwjHpl75;{EgD{qt*T>BlRK
z!t%#+&EgSHuSHS%!z~F>kk--<#5%m~aulKnii^@qvnuGtMP_&$g5mIfQPf^uvc8*9
z?)bh+eC~eF>mhs&L3azxpRIi?w$?L06F<K+r;=WpTWM^=>sZ@V+3WLy(7M^ide-;W
zK3{T-m&btMJbP@Z@wtv|ozFt|xxTb0wf~nE8T)xrj0s_U?sKhjY?nG81nlAZ;Qb3&
zP{^ZbHw$}Qw;wJS*G~NW!-YnX&-+^_wwop9Vp18sgshDALV77F3QYkzUnzK#UK{ZX
zdi~8@di@tar`H9j<R#Zy%)mx0KR4Q_P+Yu(%noFO;J(1|M;237Q$F8Ab}?ew-)6zC
z7fWO~WkrlvcFn?TW$I^sFUDm2Jk0z#wGOWzHTMOZUWYAiwkljsrtQ!aW9d)RL(-NY
zZ#$G<*j=_R>`tOt2pV9ha^cF-q`haUv<W)aM#f<HX-8t3wlo<#6W6l@Sur0yMqKT1
zmgRAg8eDLqzTGY>o-Rla1ez3qhVtM-jR}GeSoPCJ$*zme5lm*xkk(qKx<Ad&GT>wg
zf|F967+%3b#GRTGS5RZRrLf(i<pd{+<ZtgdEWL@Y7}aVKe8kPZ*2!9MqSkCEH5{^{
zKPs7vsJ?*rwo@r>pgo1Ou4PFIloW-&jH!~^4o8ED#Qnzaw_g`PjV3){d2k~AwDfw7
z7R3cDl#Eu=-I^8E16H;EE9qcR>fH(P9KHx((qe-Xqpho3EF)7^!pxkQZe8_r9c^8*
zgm{ZNk+pT*Hw5uc=HyX<lh+K!<OQ_Lh+-Cja4(H4p_h=B-H=Z&As@k8L?RbL6p1fK
z&4N>W_mU_UUrGpY)0j^$wiX%za=m8SHgYA#m(hz8N{v@*nP7Zo{9J0Ri=QWyr9PYB
zT-R7I))&W_`?B`o{NDP!U#!z#n*RBC<NXWPXE@G)dmpK#G&Nqa-V646IKE?>@zyaM
z=QF<4F}_mwd0Xq@{WxRY7si*l=I4d+rK#~@y@67DdC6>X;#Q{7B}Pc!sA75%j8?ap
z`|e@}B3So@iKX;o1oX|Uq~`=!d`^I!AFimO9|2ejK>7Uk1pQ=Jl7751Nk0<rpA%s7
zxlJ*8ZextW$8+mr%zFH2Yl5B^%Z~&o`LO_qd<-xbxF>2xq_?Mdi&}};R++6K3$TkR
zT!1uMge;AHY?h)GDN7+hRz2;{im9J2`#C=O0hlbGl<@TJLdtd}UCO(^Rv;wJ_DCO7
z$X9nF%{7V3TjrENET*;}9*l#RwEaqDFraGLQ-Ok*8UzN)ZV6y$Ak%v2K#ENJlCEEp
zght8$Oe}y<UeV%}0VhLP5I>kcecMV{(YllN<lEcU6_q5=%lhx3n<%ZJP*Einm)H8R
z3K9k-s&7T|Yr6{k)Z9J?36m5}szV1A?MAYcaar-NOCJv+ELY{zSinq{`JoOr)CVT|
z=||Fz5%st6O$TmzMn&bCrM9Y0O2LoIwpazEqVhmT9kA3r5U^MiS4zB<4sR#KJ2WTE
zoEU<5qphpo1x{FV(&WfFY29pVP9TUc=sDpEVYI<X-@Q}_qf-z+@I_im`~!g#022Ws
zkcypMYlPBe*&%T9HU(+1frZyMgWhV@;dR!MRpowt;HAoZLT?4xRXalMyvM6@|7;(-
zCVijIK)x*RI6Y&}a*RVYM!(Os^C0=o8`_uU4C<>jgZDi9ec2fv=n4QduHy@JA^M2`
zr3fi}p{0O+(khm=LVBUSh+eGEx9^QC>s)31>9M>(mZqwFj4TC{kfqW*$Wpug3R9oJ
zIGvl3vh5{sI=PP%lPsqq=5Dc4WuIjG=sBd!l9c@j>2)=pOp7dy@LH$CkQV(h4J#1W
zC!OmuXjB1+PR)<g>_Fv!l@<5V+r-o$H#@EljLg>95BpgxYc)eLe{sCZy-jO59M`+L
zsm%j2g7_h8C7kvIJR;Wy*lk_RoHVMRbbCeUm6jmBUQ(=j3)s|tippxJZ^A5Ev3@7D
zb@wwsQ9f;tO7bpb#a>jNvy$FgmGlK{=}-Ip3u&cxBa#fp@c4iy9S9hVxLfVMmGrgv
z4Qw|Yl?M;1TI|wA^O{VOXhPX~<`=LSG}lF|4I1QiNz>Ix=gT3CXSXh7oivy>!iJTw
ztvO-0t{%Is%hH^b*ddJbskmtg6*aGL<eco3<eXe~B*Z(JlaCzC$!F5M6Dc^+xMJmI
zzeX=7^60tMwMLPuXeZGAbM>>>^h-{TX<7$jn((if{Ie{d!bnwU$py(Ft=*<HC0diR
zEo<eF3U=di+fQjB9Sivji)BJqmA$G3GMxa^N+^%{g}&+g{j(IUH@YI!KWI+<L|(^S
zsI?#=Wx=RQ?pEm!bgof4p>$T<|Ga!f);d-urcZ5`1D{a(b%=%hvrIHP5UqAW<EEwp
zIjT8Qf`I@zA?aa*A=lpuoq>SzJR~e)wvP4DWwOZhE>d6~(zFfwXSPV~jx`Si{2bCU
z3GqYFt;?@?PJ8lix^=nQx_tWR8JskBq;gJFS_IEid4Q4jo&nmn_c)!p_%0vQvi)_p
z@i>C@yi7n;ujP=rRQWLj!7O++tc&KHr6P8fUPF;rqHL*(3_i=mujme{(a|y|0b1l#
zcD*u|LkDPN<^n<4ASK)5!w3awGgLWyx!ElXG@HQ0cI!$B;=`7mFfvXAI4O;#a!%mZ
z#e(?yS<IX;IBD{Lla766LcHnLHOgx1y6pfbAGn#5abHMVy9ULaKs^1%&*?{NYgyRN
z#iuIoKql^t>DyUc?KheyojO;Vtavc*{=p<SXZbu$R3<Phda|>;xdqz7Ipk&*V(IND
zI%gzhmVhF6!T;K5in{>9Ty1b(ToXp91WF;TooiMA%UTr(&Gr$2%i37{0s@sf03RWB
zc0k5O=hT!PQ-|aQ&MJw?)9JHx7Pv8=%#pbN{pOot64Mp<0R;Ri_q4QqYM2R0yP3*h
zK*wI`Kv$N|ohz39HzixA6$%n$8P}U3=zwzC0|(9TsNAK@?HreB>l%`6T}fY!fTfKn
zHCd2YeY*`#f;ds73*t3TqCHRE3&T~s?U~E(QDfU^DyfM1f&!I(L0udN6u?L242#SG
z%oX$()rsvjT9Bx}o77<JZB=RS-nJ-hNTZ}(Nex=m0f|y(L1!f3ZQ)C^50+d%g;7FK
z79^0<mqz#>%vd3*y^q~Yp6S+QEm2DppK9wWt!}g1x{QSQk*1aKfCHQuZe7J_>uO%%
z$T@K&#CMx*UC24<^)M%9TUVafN_gOl2X^a%i_;5ZO6bSaDvVYxg_UKt=ILLS&ig*@
zv0jb&w|Hc0{&@%b$LnP@Vwz$(Kp`hfdDaD!W%-2JW%~r5`RNK&MPRnV6-f3p)wf+H
z9w0?Lrg<_RlYml50(N#R<ZkH+*f+0DbJw+7=`;vIaxG$NL2|ZV3zbjedaBq9xd2+W
z#w9GvF9=V;(&<2(PCKAt0JF3qgR<Y@kdisl9WOiXZ~vSXP_rUyACzUixXcce`ihV?
z10^d++hZ)0_BTegjkNVHrf+*wKBSNw)35c<PqUQvFvi0~+c_s0=45DE3H!AUIg3}T
zMJrO%=$jaBe^%)RCuITKk~sH6fRVc99y)pPwg4x+c57E!4}U<m!ByBway)c4yDCw;
zR4bulpF9p(f!(xZ$>-6ee<Ha?+o25tjH>lSeqoxbVqMp^rF6bZ+eUJI6u?W}!j=qd
zJ?(d%vX()WmdKA?(Pg5PMN`0}Eb0hhWS1_8;?dUC>K4S?nv-#MTUUuGh&Py%m1%<b
z0%lH5atNcet;^D!qzU35%t{y*vab}rNzZMHoByOn=$%;nM5R7$TTZ7OWf7$ltHv~p
zMchAmI!oo0<kwRjQ#^T;6x)7cS#Qzfv}e^lwe;<6_hUMIp0s+IgY1}FRIL+gYm1Y(
zS{IUb{WR@+D*c2Gqy|sz*0<>CY;1k+`?w-sBIa+~njKHiR8d+L$K;MtDiL?KPy3sy
zy-S&W5f7HEu4@?z#E`|+bLnQPLcU|tfmeS3DG!fSvSx!cCD3KtWX1iNJe_5-5=aNI
z30CTnWOEcC_%Xwr3}tW<O)Byg(u=gXqpd5g#VRe2!U#T;<(w#=7&~)SD&ka=Y^AeT
z?@{;YiIi7Vsn;b$f(PgYeR8j}FAmbeq{}`D+6I+g+-mY=qKQGZU-@c7{Mx>v0c?RI
z@^t$2aV6yiepK)Fr3&QK9jh#od|)6VXO}b<#nC|+FgRP)qN$t{g9&m16w^xBWKWEo
zlU4_F0?kP;mBbBj5{`QW@m{yCj$LlIE>~OEEj#BVl@R}l!bVu-)|D$w9fxi3Pi9om
zPbQVK>sD5PLPX!IogP-FdRnY(r&0x+>DU@+V4CD9ze1Oyd)gf&@mkrE<WqQMNqXs(
z&QviSlcVkd_j8Vth5~xqcO*}hb)s=yOPtQ?)z{i~us!m=z4{?}Q6JM}oWxXC!;)(o
z)2EYX`xMyOKA9lCI*OQD=j11>mR@^_OIo%@a}^{wQP<X_vf$Na!l)eDlmI%e|NErU
zJ!NYHF8y8CWQGiWEr&YBQ`a7t9Sh*7rP0Y{D}YBDqZ&|W<s4rIoD5;NuE2$=nR6m-
z>xxLk=g|~6acWM=w5i_iF%*QWXyt}obmjJ^G=1K3DlDxI*2WZ(>kpK6w2@>WprL9B
z(}fO7Q^2DMrERdfl}O&=q|1VlwTk&M9y)za&=5_f0YFrLPO_G*(nvCRo0Y`mL7prx
z&ygvW3I8RGlT?2cO)3Gb&AdrW8cHSEG3iWC(#@dQ?1`Z{VdkW|)sYb2?b4i-#K$u@
z;kGU?CjckSE2+rLIdQsm**PbpBv!)x7C8A-kq|#f=H#cZ(+krp>`V%64nxo<)tVL;
zovuMuAZP1@<~~osb@sDa3SEX4q{Q`4M6(sG5GwtSt}k8NG7$?FG^Y%mi^*F{R6XX|
zL6W^=0aypk6J*~O!I;_=%kO$*1psuu#t0J4kgh0{fxj#no1|bUvs7+fK@+(B1pje=
zu&V?9+TcAE2#@)*66%&G+24hbS}zjQ7uzy6RHgS)GPtVj7fnl?icQPbF_CeN16)k)
zb{6FCVOD@llB~EMkn8>qssA<^*DmAMHALOI(sD{PZ85AlX=qPlPPFY|rj@Wu5FbtG
zkL4+%_aD1R8+RP0)~<dksi^fAO-B`$wvoXV<bD>pQg9IU4|UYBBCcEuKM}g`_|>BM
zL1o8i3VwMeil#lv2~u3edb&{E{yYHFrnF3s4klnz{=1-L&Z26Kjo*CA#u)^hl-eor
z*3xLUb$P6WYkMdxz)3jX=gK(&IB_#4YdzrPn9ZEzD|1dfR>BNO9xUf1=hfHwpF>tM
zq%DlS!DZ5a)-lb~K~1Yq+EdF|u&1WlzVf)<UR107&<Wb5tydvs+mWudMcY#0(~_0t
z<Iv=5SsT<1C>{(n`JI#2qBrL6L^K$Eg}m)0B-IC`38E$9Z$E}6+Xt{_#r0OUTH&>X
zq0)g7wUe7a5LdMoX2s>9dRoDG%)bROjcE*`A&aS7D|O+A*%AS~)_^0XZzW4(Xaige
z<-?PJx+rZ+q>m|y)PyAM7$LROVLX^2f%osB^r497e#?N9A>7vGSAbbXQrPR(6;*3A
zT)~ZvomB2&PW*~E)|`|Znv>I)?@)cqC}vSq1+bqE#jlW7feL@Xq5&^ag#%U8;~EuB
z1`vX40u7^yK#o`btwd^r1HbmD!31HZYkt%^7OByKwtY;!y(~;o29&+6Wm=FGNh<Sx
zRQr&+hiO{N47S7oCWc#=m2-l{(42%3#ApfPt2+cZF>_A1wM&5dqzO(qA>ITh%`0ti
zQrMxe61D~L?>Q3UKQ@_@&!qv3g9>33-~_aKb|R!LHnQV>;&^pNfy!%N_k`aU;KcPs
zyvo@s%g4uGmBW!007U5W3j&FB1N7&so=WPTzUuNT{Mv5xZb%_1lc3W?$ZTe{*1<8K
z_7c@o?wC&&i41thBtm|TfY~oa+b>{pFo02}Z*bq6a)6u__t&Om#r*};X@Q!~;{G8(
zx7tu3ly;1)G~szDU56&g7E!f5W&0G{y0$KDri`X_OKO9xv^WpRTcZ5Hj-OjrObwWQ
z^;`kkDAU?meRMLJwyq(V5U&ggjLJp4c4i5{No7KvG2vhnjBPsYoD*I9lDF_JD5+vF
zbo%mL7Q~lWf_Rz6BARsd>8pxlzo*-&V$xG=M&*E}RAUz##J<;k9TJ|`^z(EbJDRR(
z38EX3f{mzLzu^av0y~C9<w@&)&TGy&*1BxTGEOu?d2g<YE|k)banmtNS`z{lK#96R
zC%}mTQ0g6SUE;H<25ktV)2*w7-MS2LlFB&|;G|XM)@2FeZ+LP}Jeren5<&d<Zw3WU
z@Z>5x8S;559a0oGA^Fo`pC|fi<|CvPYpYm<^q{hk9z4W@6;kqZ2n7<e>Kt#fW5HUN
zvLz|sezvNr0!;g4Kjv>+>)V#+qm@v#gZZ;KA+^P-hE>Rpsq-TI+UdMcl!LZK1u`25
zD(=_1D(S)y6`(-d&K6R)a|TMZ52>%O<Y~H=fr|$O<*@*E#6E6Uz6^(-MYWH!ovalu
z%O@CAX``%Sk7M$n%&Y*8W<mdk>FmsX%{p`-CzEqBM46MQPl~prxQsU#%n7t4(x>H~
z!q*8-(n9wlNqK*M)W|t$?HWs)cORp3*WRZ{ZKIuYqRO@?mF!Pej4Gc{`{jr@!A~@y
zX#ol@GIx(tkr1zSy-Fq2Yum+iMRS05H(9G#5Y}uk87+fhPX^0W4Az7|HD@x*X!p4V
zWWFMjw0R}ya%7x1+`1r&H<**=G%Mj!0ZhWNUQb(>5yA*7VXq+G0w)DZ=H!lxIkDZk
z#yzB4m#3{uS7hkgv$VPmpAbde(`9K-x5|wv=KpkEX(Q?_&SJsD@!7Hh&*v$<Uxr1N
z4_hD$YLfzwSb8|4w{=KbM8tvtAK8=SEKR;gwkpgp9<05{H_ss!QiGpZKp^0!8&N#X
z_S0>sT4S`DrI^qB2S~2h>UC6eGT1y8T`Oozt~2qwzkONFSTNv}r3)jC=^tb$wG?r+
z1D)2zET$0COPung#u#yx+gm8OW<>|weA;JK*(}+LTp}q$Be@nCa55B`6OFDRjV*{;
zniG#(S0F&snda8z*G`3m`2LBrX~l+J)IM^Y&6@ayKc*FSQBUC?uyrel5Imi2Q8O4p
zSRAR|AgbA3V|(m=@}86j{zcSTAX4GI#}UhS4t>}czm_u_bm=rOx{RG@QaSH~(Ics{
zbNn6H6uPRYT->j|x9jYjlQOfNtCWFBia99-Yl4*c8p}$!i!~=DwWCcd;fYjIXMvM>
zRNS~EC5Ug`Y+4B)pn~qB%$($pIwuyVmGE7)l`yw;ed%cH`fAW^U0I2c)ZIn?BsSz*
zs0IcPz6HO!HAmHQl^rxIB&PlcDs@xx8H;bLm(G?rmToJo6ZR_EhPax2lCEc;d&pNu
zqHWVs7#Cy(urST?5#st4seZXQ()+;gse3$l4oFrkz_pGmTE+at#X1)#U9e>=fJubT
zl`7_A&8%Sp{0tMa18CBM7;|L#IrYT@xC#!k?JirDGvd>hs<aM{1q(~e4!~k%$JA|-
zs;nBhc}Yn6w<2(Orc6VqFqg>ASP4HJZe7X{K&R%!!JK&8jbyDgw&p|yP9#i#^*Pv+
z{F0~uD%JW#bY1YE#DX`yH7g-ao-d6g17%@2b4$t|vdt^Vx~e32Sxa7-BxqAMMz3|R
zig60uzBS12R2Ism3c~;wfR6eAwn4O#1u-yC1((XhK$E^k13H$>xE6IOLA>40<qlzl
zTbJF|1<gs#NW)6lZtI#Lz{xZdoXmF%;#-k(vdbZecQ7Yu-~?@5e$2@O2;vhV{Zo2{
zJ*VG4)GWU+yO^T4U)whyQm1h1@+wpr6MpI8K~kK9=tKg5xhze9W0s~ZD%(d}<L4eE
zvo_W}1@>bgvSgVIv0#p3er{UIbz{MFAbvSLb|_>#<ZD%%9n%-szD`a7G*j6=R@6GH
z?(CQ*$3x|!7Sk9HXxf|n+9kERwOB|hSXVj*N*K8;A0VJKl!$5AxmW<#I3EjMsl%Yg
zr7kNT>;XYmK#OjzrYlG=tsmQ~(O^mcHhRt}15SphAl^Ue+hZl{WKN=rg3<9B7TY8m
zyKK#gOlYlZKPrtR{lf$$0%kwvBXE|7Dg|B&Jmlk$wQ9)=bARD?Al;1jSkVVdH`k6O
zs?H1Xw~G$e3Z`?h8kDvsn$$XG$z0Ifz#^G$yr5u~RA5Nih876;rLs<-J3)I_D(A$q
z5=Lv6VI^G3>F_-q!WgbKt%MnzAR&GhyLB1NiL9;bD1#F)C!7#J`UZu@+)jZLWn0&m
z{%u`3?u-+gIjJz(y0Ux<pRAa|=RU4~x~MD`f}~IDG!%Z>0x@~NcaXmQAmUJED}%J4
z3u%++eOaWK-i0VTz>|Kd06wM%o>_{5JgrSErne&20URBBpvwvIwW9T5w3OG(hfQ%h
z8|f@_vlL0`vg?s0af*`}OlWlrig3)VxXxxaqzqS8Wv8fGklb?^^4AmD+lSKJ%7Q#F
z(B`7VHJT`$lbV7#$npz>3}Qd7(2@kz-sm0{W$SWJG^PkT03F2TP?_5k3ugF`aqAkQ
zZC$z|N}4}X=?-C3<yp9d#^M;zi=-F1No8ucOa!hfre#I2ivf@o&{0X-lux@;5Em<X
zE{fXXHfU~${>gko>%iq^5)#suEM?A2Bp_=P#Hu%%(2iBdDg@QC$VKKp?Qj}#eOW}V
z|Iy{L_=Z*n$k9p9im7w7cA4O$s=-_=%}JA)4sV4pcCjEH-~`M`*c8OOLl{>&z=@-+
zYorBE(lsZxm9X8`^|=919#C^)fs^cHNbmF%Q|JNwg4TS*wX!GdX+?rYVD0C8m8Ef$
z3A8T-@X8MG#MtktXppDM%BSKQThbs}0oDAdG&IT_3Yq>PCU;Jff+W9?IgJ1}D>gWd
zhAJB-NY;lQtcE1>?_;~|<2sfdQ|Tl0zf0L#Rxp%)FKR$pmT%UJ{)xNZfFPs=n>rg|
z*?Fm1n~)wfNExG$a$d7zL4rN~*)iXoo<TbMspdkKEu&_IL)yHfY)#9bD&W-5X)yy%
zhA4BQEWQ=?xE6C#;jj{xwbD4n)0RNEq#{N|rPcfz*alWvfXjvTDt1Gs&F~wG3XI5v
z^>V?zf3kUC*2WKrcwN8J3iE(@E&%|FKVTSKD_HtDsM#;S+!gor(J(Tq<aQOnj6Nig
z(ttKui&%=Ksgq=#q|)I_tD8(ge5(K@ZQ|8(>oS>>SigfgvB1e9ZtE&)b%!uo3Gr!y
z_%Q;U^xYGn<U<B0sSw7`f-@&x*2L4+mF*+2%?g-xkmaNC$d0L>?5dyMhkQc;(+i=H
zuWja_ih93n3RMPyDl5XZ?~rf0x_sV4%7klG?t_k1(6zW^2MlS<itDv0GMixKedGru
zRTin5oRY!lMwD!U^l5rXnun7W5CCU+z_`{ZBCZcc45I(?*S&=7cB|}op6`7mWoBYJ
z2fUEFWhv&DFQP7(<pp?XP+_uJ8e3sq9+R$US2^wJ9j-!heOD0c@tFQ0M-Ub^OJ}hx
z-ESyR%d7KuJ0pl6l5Jf{SMlc84&|~E)`aePi}-Mb;n>wVYCJ__O)l3hUAvP?U@ij*
zF1N0TPs(>B>D&JwsG!t@>iOk;_*&xn%&G1?d|RxdN#8seX$#(<z*RyDAY>wRol}?6
zgg|rNQpPHh49>npgU^$0PShF_i?vGzw<(U8cEZu5$(&fC_$GrjscN+o;?dT{Ze6yO
za6g6P6Kp}e&73r^vY8W0bK(LgHgj^zC5X?HGACa?oLg5Sq-m`R`3i!wwCw{SsUwt1
z)U54ij`{T9E9^~G?m@mTPH}yDvR3z@(saap!VZ<LJ0W$rnomodwpi5xh#(2&L3Btl
zeITXuX}02Nezq47#MA{;cEGG0m0&(g*Eg?X{UmN^*@_&ItayM>M_GGNEH4n4^(&;a
zrIyR;Fh1E+{cN4l!yq0C$nLZ3Sb&_KSV+mtD1lup0CTAcGt3HL;jDAN(*`*PaWxB|
z_tO17`f0dynl>$)D+}0E>EB`*x2~bBIZ>ujOPCN7oK&JsOOfjCEg-RgG3gzcPAAUa
zq65b-QAM@eidfgLuX3VNfszNYk=5DjO6_7JL0!G{nha_1We_2J+Ru(`7S*{&{fqlF
z#wVi40?~w8dM$^Q0ge&3>A-`4sUU%pvQ|G`OP0);t4ue>sNP&bY8c^Sm-OyqsrBp3
zxvF=76BD37b5fNO#4|Xl>7i02#K-ysFzFWnWxT7ci*rtxIa%jnPE5@SC&XW3LA;?k
zx#Q5Be8gENZsx?D5<jS%6GvN@>`9$p&P9-vW2vQYOy6dubtsDY3!8l{R#ic0emV@5
z&^Q*L)hd9ka<=Yiw$2XO+v^|8^UaLW+52W`u4`7n6mV_WoUFAkrf%c$v(3%YSgK|z
zKy+Z+YE`1Q#{J7%oMy#?XPfxtd}M1fUHsd36otHx4X+F^1U10$(|2TPTCe=tnPj1V
zS(^Jd+b^V43P3`>`78bp0Yb_mU#SsN{NBkP3`kj`n4WFYGH5=UJZbBy&w~Ql-{p)T
zeu!ELr$41lD)TbJmLOh$6JHBl&v(UTHI!)RqVv~3U~AxFk2SE$wpGWb$b|K(kUMqG
zghQ7QAl%O{u{<bCqOxvQJAtWL5?Py*pOvvntK&{?SC|ke+T~n2p{QPK;c7EeFi}B6
z3w869Htwi?eh0%21z}P2*3s%#vND$tKWU5No#4dQoY-w$R?bORN^=tHvqKn5?3@$0
zbuCP_b+vAmgfN~rm=mvC7i&&F7J%f_K`<w|8gP>1wi1qoqyWHAe68#E&({6Z()Ox{
zlx+n;n4IjG8ps4~AqwKer2=DV$=yCqU)id#MOA)CTwf?Dw~r|@PZSo*$|QQpJZHs&
zIh^U-v$6tO5KHqNWEv337=3|lOl@7AmQ4}Q)3zsNd9)rnR!s-+w4s0sBMY6dU49Kh
z`eHs7+=L)YBe+g4kk#ygR(lZ-VwoK<6UHY+-ku+y7Dt^CNVW!$Wb3kn;=%9VY|Z+C
zbX2im?R42OpNyM;?qV6u$xzgsXfjS@z<{lU6@qxbwj5|p(9-qxxtlbyZwiBzvWS0M
zldq^aKytYADYdsyRf+U{t%{>bwS{e3Fr?zVqUkv=L2@s27QCt!sX+RgNYdXNA({y0
zr1lVjk4n9e=eqf8c4VMI9#*MigjDAzXF}8tbTVCy3|z}VT*^+^5XBpMlLodCE;B<I
z!`#}{PNfjU*LG7$?I_zyIGhAHF%sg7>*pG7U6vpoIVT<Nwk{UL_e$Ej#@;ts69+hX
z2+fJptxK1w;T!T58(i*(vKK!{TDGS3OSPWr37)T>LDjONNGSJB1dqEz%Y5xRbx(F<
zYT<Vv&5$f_A?BaKkgW-D^ebvqPk*z0fKYZknARz+jVb`6C(E_b>5Y`FbvkX4DkCJO
z2Pav&d&0*#N$U6&_ty|*$Na%^khZ5m=hpZ*a4GXyq@Rb>85}XaQ(TZhLv4U&P%C3i
zpsbRO)`gR5TDqk7zaorL<&u{b^Ldb<a|@KTxmoLHz{wD8>yj4Z(S*|33Cu}E62ho!
zd&18aI5~CkT?Qw4MHRk<zb|-+CIY!hr9|Qy@DWv8z3QH}dx1t;?uG`$q`8tsC5iEa
z%tX<(b*Vxxy)932*C-!*;{e)=K+aSVy~alsoT#?o)qo2bTjj{BNei8fCIahr<ZMVV
zoliRZQ<q{+BK3AcyrnsTDBb`kErw&4+16!&ldzo-KgAZr7dN>R;tQREcxFz_5XN42
zTNe`I^IU>>ua)p%Ll|=maFPfqtv9u9Ix$U(am>FR!`IK>FGx`nj+PzwD=I>cr?w#_
z5RpEKkE@^T2P)pYdXbo1u&mOWWGliGgBDs@8s{p%es*1fBDJTDX|h`4KCNOJknGnR
z?;EP9(!0cb63i8ja#|6zZae{;n1TqGv;5k`97TIpELbjyE{M=iuaO<36;ig3n5HF6
zHrFv9eMDTJF`~}@3CV%6B<L|)+A<hYvZeYwn~?M&M7EC;nx(x78f>dJt_TInaLS6S
zTUE7ew`aaHZCyjrN;s%XlcQ*k)wjC@@j+~It?v=0xNhqK+IRE<b&r|kcJ7KMq}d$q
zr}W7|X*7IA&MGD*ni!NjR3MNQ)wRFL-J!Hk@HOFsLB`}P-d)-iMVnP=M4v|!!~)r?
z&j^(Nk_IBvGj;q}8R;BF<?K(;+?VwAlD_V6e#QmL7PF|ct*g!fPU>y;#LJwpTbHRh
zDRF2{kaJ=)CoVy}+pR0#4q-&j$*uIZuC#>s6fk)hL43APigdP*Gn1|#Im@RlBU{r#
z;@9?*?PLEdx4aF>Q{a7i_Ok<u$#u!va-B`c7hI{HpbjPlJ1YQ)(S<-}YjP8GxexMm
z?2xu6U&%1|wO^$@p$$pJ*6B}&LrS*7*Nra7(`rS_j<4uD9zYl!(;G-+`GLH+$1+@{
zn^CeGp<s@0KA9V;d>E+(vd`Zhon^FN#!!~-Z<(gWO_zt1t!OjL3Z&1G+w;2gS{m(-
zU&wB@&jSjjLtjj8S)HxAULNK-!<-B`<|JkF>n)^}Zbi_X)O!-*(~7X9G%o|Mg{9TB
zWYreBbn_#cyLc^?Kz9<Lttma3JE;$~^Vr0yT7z_=^Yp?|60oRaixiBBpAJK(?@+Qh
zlD4J6hW)95M^Yc=C^10LSwYL%#8lcH6^PUt9!OjDlI}ppNV-PJH^WAwOVYN>1+<Ko
zwF5etlhjhrDe;^TUzK7`3_*OWtvM;JHLZm0g!u8MTh}bsoTLQtZY$velQ}U2@$$B=
z5nkqm!HI@B$;s7#lN=Vrzmy31y17VOJOVy#R}~h1?NolL)j`FsuFy9P=*aSGVNkVu
z#Qch~kQ`ve6a}WtJ<3@G>Ykj(G+~&7XqQom#r>Y{`+=wISinL^)BElx_|*!JHOb&X
z`uMYa3RfjCjrlMM3Rc38S<H_4fWw$x(~=$6<kQ5`e|NJ~R?0DnwQnrX*Py|#bx-fs
zrUA&Y070%Uwl5UONiHkquiwzQ==lYaX8F1K4K_<97Sd{|oLVivhfi5Cxh6%aQPZ>o
zW^zu3xRtP9xSz9NV$I3_pS}MKlH<y<1YuM+ivpkmGN4muMx+W)5hAtLiBu4Ygw|SX
zNq__)NC*NXBuRiINP?i&#VQu7SaPbXt82QtduF=3YPx%RN35D3yJl<Otl6%8pV|H1
zx$Yj}?(v>SB!EmL!1(bjB3!=r+#}*1Klj{YI>Z-A*b6NRc$};O$_c}a@yvzSse9H!
z%E&2lf2!;jz{k;K$og*!0{x0KrUc9Cx}_VrY9?GNSS8|xq8e)=B7Bt~JkcOJo;OUQ
z-YM?YyW%<2hliw9QJE>qm@?Or%vy-tOiSaMS;no57FHX7TJ$CiOxWY3+(_vHYf@z}
zC)E+=#8=W75yX4pa}w+$Z+KQDt&5qHYF%?;f|E!o;TDI_iGw-O)4JX_z{$ssYF)Qz
z!e|x5Tive{F#B@Lc^(_*k5^tbDnlu#9;fmeag+~stKJn)%<CEix|Iix!yw4C5HiuQ
zd%A^Oc&-9`a;N$D0i!CIALk;*R#jh91>x@g8gZ^g&^=8=HHV3N<YXu{KJg3#69Rg1
ziZiH6PrC(zZu8~F#>5-TI5&1A5ziwRmc{Kl##=Wo5J%IdDqZW6_NBU)#|`D$2I5pJ
z3nWlvBj9%5Ww=*WOCSv_I<5?Nuah`_MR6G!m+FYt-@9a5*C;O~oQSC11Sf@7&50IU
zK34Xm9@V*^IXU^_HEQjeZ4<;x17t0v)Q8BtBiz!m^8De%MfVC}a(<i?AyojJkeFSI
zuNjf)MBLbf7_EqAsZJJ0t78Y9VQFPASKW(?j>LI=+{+AGfT$K*4mlCf6qAytU`SL|
z*wkrUiG61hGP#VCLKZb)EVl^aO(VuCds<g%gHcM@WKL#~FQkJLvsxExPK>m!oLU2%
zG`jhmT(fCTqRh$1inOlJhnCi5Xij2s=>uw`#BqwUtz(03UK1H=%}7A~L|n;I1QK*e
zju&7jVDhKZO1KHR<M|=Dma9#$z<}y0s4b{U^r>vXVqED`{mHdLSX@>u!&MxuN{dOT
zFM-6WfyvSUW5yjwOxL1vVwX9S$J4>MiM_`<Duv0}sti}3nMBINx-mWKGQSz|zwd#>
zUF72yU<k@9;kjwR#s=f38p?`6jEz%SO;xo`1sKLEK|+Qc+$#(~$GPaaWW_PYN*>xs
z3kq0#W8CJ!?YlNEUd1>^pOZc(qqJI=vIMXsSktR@>6#OHDwh0-Jodvj9X)gD%Jq+^
zwrPg0H__z5pj;ae-^E>(_T+p*?#58WR8mqriFeb-$OBztel&&uNL*L;@Q_N{D)kI;
zv^px$x-{j?l`T>g0tgKWtf|U8yH{qD1DUuwE0y1f=6)UGX|CkpDV$iUm(v;EY)I?U
zj8eiDaKb((>=55(tJcL1@!>(P))g^fM71u5&q-E`Q*-i)!JJ%oloI|(0Zu+25;&P)
zq;;WMmutRy0#B`#-WPGI&%}EIH`Y~<>~6>y6U@0iS#?P{Q>UI~DAOF={2^2<i`;`E
zL#hiH8z<GpnT9nsUO$71RG)y{K+~;KS9}3`hI>FK@hwq#o5bFy8EO%AQ0?(DPT@x*
z2X^ZFDk1lISAlbeIv|z-D@AIUvJikGu#PPeogoJZE*>%V)U=EQ4FEHgMv=1nF`iq!
z+f)3pifUPI=~9VQR8xJ=#<>_mO24PF3TuHl*Uc^cETCq<WF94v($@j`J@01L7_T(8
z(~vRgb26Hl6V0C5<Sz6MM;ziKrGzC_tz^M9v?e{X7SVI(uG0E#2VM0FF#)X>TYX7c
zQOmE^%($i4B$}3F(_v`gxbEe$r}b{ZaGvWEbajf740OcPfFzVs<qxY}>JuoVEN3JV
z2+Fmvs}?HHukf|e!cvn?sez+wnw`6^iyY*J<GR?Z^gV8=Z21;3ylKK10Vl<k5$42d
z!ssh)<Z4}DPP}EEMzyZl5{LNp5#~e(Cr2pDFk#GSH>!0h!HG(9^4So<$%II?uCZ~n
z2+ESV5<@k)*fYcRkKawq9oN0sr8H=~;LNRRPdwN0u?bej8W)HC85@l6ALA4ZkBwV`
zIU{jHwLrRSupR%Ye}+<w9M7jlxorX|Q?aZ_MqKkfHxCL~etn{8NQo4B7#DCCUXOD=
zK@Yf9x5{wWP6gCY(i8DmQR*uKa!@yR2x4?MfUNu-2&i=nV}tH#o$&yn>U^@f92ZYK
zA9PPmycL&r)%SRuQk#<D3cyut%-EqCUIyK@Y2y+o7o7wrqtS#ho{xt!hu$<{w4`+<
z66|4lVF`k%a?0`*N8I6MB5POg6*nV8?G`i{3NRBdEh~|LU!~<qGzBOo{mCT-E|H2?
zc?mEUiTKPUvY*`y(#dGZ)8VA%iJE+_UA<KNaf}!fsyLPaOQXet5?LwZL{bOcy=+Vt
zN*BZ<ol6(OS4Pvi3_*O<gt5ucoR|*ry3a{&cy6RxS5DPR!{=m+!y*2-4o;MUcwKW6
zYr^>1EtC@Wa9Wqu=R}?gks&Q3J609+1l()(j|(WA-UI6NfOx`u=~MWCT%0Sb*fiFq
zyzV$fApqClA`t(Hdc5?lcvW=Vyd+|-pG##TIeU=dYUpO4?~Is=L~b4wiTGT|3jxGW
zXK@plj|;{Jp-$#TTJl(?0|>;qzXI+oQzFKnV-;q0W2Jfh8Lrjj#=3ygu@-Uo*kEG%
z8Mz5(98H4~#AL|9e7qFNfSkdJ#{iotedAmJ&^U#!k;*J}TtHRISw3ESnp#G}>2K09
z$qD{8slbb>pod%G138GvaMh3{nUhgoO4vQPw5Q=jO&F_`rH0)A4)#w}NbCd(`7U~Z
zgaT`cPQ{f)(c+gRb`v|ttKj5hKwOt4=;e}7H7hrrPXei2@x~s@bcAF4W@J_2lp_8F
zj1S}MkP<7I9i4CYbghJ$rZ`5As=18S7nMhJCpP9p)0va}k{SU@bccAolrS9P^-{v#
zpixQ~J|`CD#1zEaO9_KHc`lmP)qar$@pgxJ1DtRv;g4?<oaoF6s->9Kx|HT}0d-w_
z8ITzl=P9`TbA~eQ$PJ)Ky#-tXA2$#(F2Sl?_PNQ3ZzAVX;YQ^tBlluSSC$}FYF-jC
zjSI$SiN+?N7f1xO#jCP3&XE!%)Az{IjK;<h>N^GCO5h}`C>D@=_^ACIG7_su<x&h_
zY#cXlH+|ArMQU0+a3EivA^$!F+<h+OEJ}t{v*uO}&ed1Lt;BJ_y{zy!i8o1%*j~jJ
z2h>^+SH{P|ERT!l7v-i!;_H$TU*DlBtPqTEMCp2s67ft@v44`^(qy%+QJU5j8(`Xl
zD{HWBbBHgBeIhP>0<I+{qK;NXvWw5-rN9jRNw>QeLCL<@f=G#`LX(?Ax|#1eD?r85
ziX;j|+^SRMxiD0T`IaPBCO4j@$64lg=$eht&`LG?!_p!KGBeLaN<_y4REZQdNX$Ic
z{7x9miA8gwr*>I1Cjcj<4Ho94%~DF(Fkv)H30JMQnJ_YQ()hGp5Z_@H#J^>6h=(Bl
z1ADcu-cN>@*5!$U6N~0Vl};7!sjbRTZ>-xB-$3Gi4AQ{TO{}U)19NH0lErSNG6V8C
zam#Zb>!zOxx|AOd#uwwqt6&u`eJ-9p#~Eb0-ZLsz$Hha%)u=I`&T$_XZwxMC{jq^~
z#Rf8@B5b$7SOtC(zJ3bR%dx7b_i^qm*VH+SerKFpp$9jyc|d(1Ds?T1l%GxX`x}tI
zx~7H2DPE!ajTq}z87~mOaE4oI*w_S8UX}MoP{G)^{Z_{?kQwd_Z9wkN<95%Cb$O_g
z^f?*DX<h1|QL<bBlAt54D_(FcOVLqP_ljF4)={2VmFpibNVI8VG<6Brn4nTqgNnRF
zy+7gvx3W^oDucm%N#!k7N!s|;rNZ{ASP6>RWj-`ArXj{RMNuNyU9S;V`=v+(^iqd*
zO#y5)H;)??SWCQwa>B(7r1M@LF<^|aCk#xgxRh`{i{TCC1l77qqG?^;vJRU=JeZSc
zDdF`oX<fP?{tRWd8`ZixU$HPJZ%3+iMbo-&uaq#-y2j;CrH2El^hnusZV#iC;x#q;
zzSOeLSoTP%e4X_;k3{xQwe1_-HZ`)1bDx<0lv>u8MbH0;W1ojD>utv<bDX!-{n*a)
zKVlnC^mEL3ovqZepJShxIpldwjXj_9Shl%Jjp^efj&a%6nb*#_opYIFeD>><8acmo
zOpZBu#JHbibM}bz{HeyVQ>Dj#L~_49tQvn=s`R?W-jC|*>b(D*{dl-kcC6Ic?@pQg
zUb4-FVqE&Rsj=72ybmPznrw{jbC??GyYrk6OTKF{{V9{&(~fKZaH;IKA~p6tE46&r
zCBF-{ead3*p+_Xga`q$k_apW<N%<X=jaP9GS${X9zcZ<hYn&SUJ5s9neRJH`4=cv}
zNKC&{BfrV&->+2pZ(2-$V}EmE?gPc|r@24=f0E#2v^vCVA!RUaYel+4d_tNNm%!gG
z;FX?VVHW8WN4q(bCu)Wlx5Tg_xRwGbX*y3hVdwdHOpj~Imo`MvdjfNiNLrX1E2H!(
z(Okf&>O5LV2~J$Acllj_lP0eim!DuMYAIW#x%k>BbTN@@r^RYdOmM<L1u0!xbp)J5
z9paJJ)oQ8M)uWp*aw*~YmTFy5aAGSZ+;WOC+Riyj37ctM?--?oKX8DPPi&%icW@Fl
zWqeG4lP+I2tqW<iD&VJ8L8FQHEBU>3xn?wf^i`}|5j3~8ZlgtyWh}>b%Y*iFNZ*UL
zw7kS|Zhy=%SBrH^W6mA>ezkGl6+zWFG+G(Z-{V-zLz?t_=4W%;6=uH!mUXgo1hkm(
zMfb6vYk63VJLDXP7V~~Z$a1cL<T?c$b1pr<(Kn;tOM|id$IJodJfvC1DQU*BqjRn)
zu3_}t%VVy$COzg##Wjh2^~dj{(U!aRQU8p4ZFywen)IHHTpQ7rh4lMQJ`Ura6OHfl
zkYk=>t|yMCIj(o?^@-f)q1gM<*-sp6Wk|8yar~75%Xd29IJV<HS!umi0o8TUXjw&x
zWFDR45!*?xW9)C0Ip_BNX!dJu-sk4EQCvUsb!p^&)0FqPdF~a;d)Geh73HPT@3-?B
z1?<OFjyYhzUMqr<{Q{Qj7%=Z4`}L6>A9IfRSz)=}vDZ;=%R{pJT=Ls${+@@5rRVL=
z_maoOC^!jDMjD*>-AcjA)050n!Zzl_t@@Ok8KA0)(h$5tl%{nSmw2V7MH1|~inIN3
z&K1Y~Jci-W!b;6U%)Ds{K5^GV(!g4#qe$3?LklOyX1Tc0yJ;&DF?MtVa50t4WZInw
zunZ*x+SEl0h6Zq@IxZKME<digKI|wZ?DRRQ)zi948rdN}FVIdt)|}{qc(Ym;(z+t0
zgpt-&w~MkG_8SiIC!)-WwUltzb(=%HO%UJviKAMV1f1A@{G;z5e{wuEg)6A4poqf0
ze7$+|qwj~@3Y6<YMw713v+vhg*GSd=VhVZlT+bJCJa2;A4ds|4)Izy=)ZN%jRYjU(
z+y%FH+(fqXs<tao9Iqgu>zz>l#8_uEG*XRL8uxnN%6&I{*ZcOzj{Cf(Sd2T@=lZ=1
z-HEYy@6LTKyU%AdG*NX?aolkYW!$$vM+L+BI}jAt7~`(dO2mCW-1A&8>~pE!u0V31
zH|XE*+}Q7TQD!!!Oh_^(qt55V`E=K<6s@T_fzJslZpj#d!~!j~Mj-NDVHBtm-^Uf$
zD=K@bgZaeW$nDyISiMfXfK_Hn7+J0*SngO0-E#WSP=Ja|!=hrYhE&Z=k&+h!YBV{(
zPy%gLiQoi4VZJ{sudJoTo0E{T!kDWFUa6Ie^*YhZ2v;(56614H)~u&>1=^xMCt;Kl
z9yGv7v|3kAggG&*b)B&LoH$GvqneW;6kTOlRBaTzOUKgE-O}AH4bok*w1848(y(-w
zAkv-ENaxZ@Hz+B{f`GI%`0e-q{@7>ld(S&(X3m)~66JvNZ`g)p;8~LG#}XZB=jOAF
zYaP>#aajT#uIJoL)1}{pkI#y7PmJ$H1?}RNqZ^ZDw4b(Zv-v&e2uB}(@h1k@Bhc-5
z<{pGS&!5??mHhOVmax6PE#)v6ZV5S(rQIPpKm4=o_VYf-J((K$zb&0yjH-S=nf7Qs
z%ea3y%lzvrFUp8KppD3FHB~=;yi|}5C!wy?Ewkz{S<<KE<uuETP+DDr>+)pllv<wY
z=59DR2DxQ}DRuRo?blv1tec^C_(WUWnNA3_q|7}NB9<QI(#nG|2Msvu3xFek-QDe=
z0!DsLZJh6Jv0dWRe^jHv9cqZ27xsoYV)ho0PIA54>UP-!!fD$Zd<<ky`G3d)nG*V$
z2t>PeHBft^x$dP&^vyN8yue)Noop}9<hQi#WJVg^idZHF?Ms3eADQ0oWk+jhXgD7%
zI12|qMC_kGo2HfOy%&hKdwE7(r_4ZD%CW5z_;AB`T;Sz%Cw&>f(pu0y;^5#Q9OVD`
z(cf<MYrAxt2Z4W-UsBYMiWP_UX#<1#n;*#&*VEAD6Y@uYOq$ITn**JJolEe}Ne=t@
z<4C*R$wk+#)irqYDkFH~DJUO}ojH4nRYW&EZfeolYVH|p^p<ov(;}gMux*gsHuYbQ
zNkWp!^io?XVs*{93WF4rDI87ZQ@5lG0apJOUCS@(S#GMs+N^Uv0lM@b;?~QygB_~&
zJ=WqZV#_~#Kepl#7S7OuUgTkqmP&GF$$e^;UbO5at!xNOd%)t4)jFKxdQVvvF%I?^
z2=kSx9Uq_graxBos>)Rx9PMiW9Vm;yn^Z3^HUGpB<Kv`FEM_xQU~g_NSyt*BwVRAT
z8nPYBzVkpCaHBKciT4DT$&W1op0EEnoAeyL7iz5=mAyetPFjUxj_gv-Lh$WGb5>iY
z{M5CydhlR@*A}+Rt0Z6Ou8|9$ap&Csc4cl;ddi2LNk83?c%DELrtcnGH}`ySx&7Sk
zv)M)6?yoKU3c64{r}>|H{fNc?)&8sdc5=ZYPWf0CQRa8*Qjg2e{?znYoOkQ^_Mxe8
zQuqj&DZa2~meKx1-_+<*#3=rCG_1iF5qD+^GNMXdsF_YwpZUd>DM*_jB*UpvQu6s-
z*{P)GfjRM6t{#=4Mz<ERO@JZf`9`i(^=L;~W7TIrbxPL0u5ZOPwpRJSHWJhi=eQR;
zh2s?i)fX6L&1<W9m|~W-C@_)Vtx<JibKTp<Fkd8-l$qA{COfT?;VF$#ko^pGSc<aY
z=kM1F3PpdMi*762-XaQGp&ca6nd3F10?SfuJyHOh<Z*X*poY$L!=?L+iFSTBK=FHf
z-tt!ow~H@t?rq-khT6N;eX185al<HBvt||-8BO$Syb5~0L+38B#FKcBk2$bEUaFqv
zx3+Xx+c_=3*Cu&v(X}x+=vGW%X7=6C@K;4{?po%P*$Grgyrn*e|CcBGNOQu1Pavm*
zqvNop`(gEMit=L@!n1Fh<jIOUm<%H*Q}nGQDH)lbii%_Dzp4ARJ2+SBec*FD&9F40
z#oYD)Wm8n{oat{ol8KsmeXOj|U4?8-^AtG+JGnmT8DsPzjmF;crOL|u(me?j-!=_X
z&mPI<hJdlua{ju@uIa8O)=KAZeWdiysN;!^H<+6axiQ0V$ZwUrMR6LK?VeeUeyWVt
zvP>rJLPS)1ljb1XWJCn*c069RFV?oEg*Wo764GZ^;UWvbSigEWX)b*47i*q`jl#nr
z64yjAY`i?QB^l9qi;<uxX!G)t;E4=H^5HjZN(`0aK|Lo_>Z$uw)d|DZci5}D_~(N`
zh4!AD!iBn>h6c__v?CqnA-higKuClyeHzYt@~5w7(H54L1CJa$Jn_;3L%#f?(6xQB
zSE(Z(C1rR}3<+l-*3jMt@L|o)NI-Y?&WJ#CE)E;sFKN$_KeCwns@mH474?Pg`+OtO
zg;pm%QJKl#9w>K4O$Ep<e!HlssGu!CLTUzA@<#hbee0702CSU4&e8cn{NqzovD}Iw
zllL_B?F4fP_iHp_BQbyP{vtmTM0;b9f9IoYf$XDO(kh9~H;)iz`BBr_YuI1e(Z3_U
zx3YUDZL)3`_pZTm6Ni7^7pV4b`bZ?szMLJnUhBq3{1v@V^vt<{^h`VKi1uwFJU!fZ
z7Sjav{snJp;H>da5XnEU6ANDcdpVDt<mt43-Ekv5>{XzOeDcIRU19KnrT^P&JMD)9
z!HTBB<bHLBlBRTzZonw}qP`<NZjq)+KNjtixvlv#N>klX=HK&BWs$m~n7(zT70ySc
zhl+oV`3!E(2A?k_SQ}<uU^`o$TOk)HYNdEnlY4gKwtoT1^SruyWol;6K=-Bmay=Dm
zfBiu}{Yi2zU~t=WyI!}{+ej7d4B0F8$F|kX^V{S)TuA(Mu|i5eS+eZ+v|B8kF?%jn
zq8{hH=(*x%Y11c!;vGT?)M4Zg90~>yj1M<<g9eTd9XlK}VUp6$qx3!H&c&qha_~2e
zR+R41kA&ct*}}03_*aAU_MV=Nrq)A}cm;gP=NGuX))zV#Q_i|kWD6zr6a;sX0$DZc
z{1nf|FNR!W?&BKmq!Nf8MdfmK`U`qw-5#r?Gf?+$AE`p{BVVL??noPygF%^i1|HEc
zQV=+dP^brYnJx$%Ik2|*!V~XrBbn03pTBp$ftmEk1h^y$u46_Tg5`}|Oz6g?r%vMH
z=L8S)6hEy=_TR4&D=48ry`o})0RCE+?{K?-Y)y`+7X9_FZ)vpGe%K)+?*Tb+wv4RJ
zcqtz%8AbdV&EXbhYvl0^N;*uC5HJ%?5Gv@qaCpcY_7)AnobUt!Ny!eD$w!4wpfs4H
z{3p;i<N*Z)s&~b|q}&=nKs>_T#E_3{D|lOWwA#<QWSRn(s<)4Ve#F*=|MYRBwY?X(
zij2IwMqQ@gB%*7}tln>z!A{~xHEbwyKAzbO3k&;tLPfQa(>FMK-yJjj??z^{C*Du+
z1WE!yNwA|mjzre<$Ssyvh4xnEbGa<GmHUnj6}I$-I``3><~mB#TbErPJVMpq#>dzO
zsD?0Be-44vXxe<1(~F9HJBMZsEAyX5Q9I5%JYN0t4N9_GqfB<Vh+dC8$o?TU{5J6Y
zy210JleA|Zu1$U|nS9w3u||Xh0@4-U{d=Xe+k~5LL_^bLTSL!TEgKh*M3n8oYotok
zQa5Eni+mDlD?TK}>Af!Fv7K5D+9JSKz<x?^=&r1c`NVt*r*9@T-HK&I;eUwTA;1fn
z1H`br=I7>^Kpan(4FpqW=H_D|fnS4EbzyMFufJtEe2fX><<abhxa3jc>gwv)TErlX
z3>)5wE!?0f!XOnPR0-};Q3|n<<Y_Dfzv_w#rXQ>H`%5Bdq(s-3{(~9nd=zr>Pb$JM
z_X+M20Py3e!J_S~J8kZ-vz7sowj}DEMO1jg*Y>kGM~p|)DE5Xi&twlp058Qp%+AtX
z<}`l<B$i<_LDL)y1MiHGI3#?38Hs%32^IuHnzwZQ*LK@Ov4K5}e2AsPN$Mz1g2z``
zqCt|@7J>gJJWC3|4GAZ}NO{QU#jq*VZ|w$5=t}GJ*)$2h+&$fx$XmX20<{eIeJ$ls
z`J-m_UVE!|o?bfr+<Wv!tM%En*j=*2O~Rq;QymDh^F_k#;Yy-!6R1U8Q{UTB)`=mQ
zvNb;LyZ^}Rn-<_rptlpG7ya2g;!gT1?^@#SP15Q^a1LbQCDDa{54I~^+LnE3f2>@i
zV1uZKeyJl+`Vr1zyITp74VE-sqY0T@&rw82BPP+5y7ti_HxMBFjN|NSMjAP@S!<hq
zxk9YMV6#cYQv-e=;cesQ%1n{R$^6`85*Rha`f=t&AAQOU(oY{}G1ULweFd&=I+^{t
zQKifavRk=8%E9`^`0z8MwR&ReoI|O1)?#Ovm5TW?HwODF<VARg_5WlUJlDSUa7)R!
zR?|uQmqUaq2{a6j8#02`G_gerM+up5OzOQwE{Yq%l5QX{cPxKumX_;F35|Z*GcJ_#
zL&$kOPSfkS5KY+7_w|XN{|fR&CH0wo{?rX>nqcpFNH;_C@U8#XSfP?1Q*weOJXx`Q
zBP2F@wO^8aF>g3QA7&}!F=*PK3z5C_bZz^zoxZIn?WaZQr7d~qw1~~nt~3+I-cKQi
z06i)<#Chf*srO(0<TG~3GE-aVtC>3a@o~a*TqufbQjS~Xl-E`oe}6Xf?mP*FQe@b0
z0}H`@1*p2+wpo7ekTnX-R|2wu1pICZl%s<^360DUWskVqL5WkkQGSKB^##U4K8kqC
zl$<wJ*bApJ%LPe?b^{_pqi>s-kvA9q>cPZ^;K{!yZBy{f3#rQmt!dizrI*8sAum&E
zLi)Vlqb_6bj7m-r9ET)OUUy>G#euH~`&={Spld6mG;JTvMgqaEV=gFfa4-4pyuY>>
z8C>4S-$<5h-UZbuA43yJcSKL1+=D9<o;y;hd3ibiQ~r#yM4&cGqyq%4I-6-Cwwb#+
zelyZyCKHRAxP*Lm8?!w&6Q6VVO#AxOmlYDdMN_A7t7pQ2+d<9j!pruFv#70{%$-2p
zq6ozx*t@K*$hWETLCdhl;$;y)4iwt*+M_esUV9gyR{zr~?qxeaNuWaJZOnC^Yk&(#
z9JS3?80oS}tP7(xu>&Y`xf8r&+A{eaTb26NRYo0_a!qNsCta*so9onEmiH9vmPB%O
zR#Ht8<eVQERSn#wi9ETVwuol7bf!KJ!drbsLgOee8SnskOc;ia^;z8Xd_~1s=bEK8
zi}j<ME8$GY19na)$TgA)`f!tQP0=Oc);(GvF%ns^yF$L2U8V2nCJEq<xHn-MGhVF|
z<LvnFn1g(WjTz=IX0(D*WsjYu-GuMk*_D-$Wgzh|VH)dZQet*gCgR@T^cea`#Yosf
z77Pz4Wy)TruJ@n!RzdV6KU1+(gsv?$em}V|#NQ_F+~62A%U&j-6uXN!Y4cv2LIN0s
z4^4d<n^x@po0`p&ukD@%)H_pT*BySFkX6QzK7*(VC4P8JRgS0ek1rd0<w^K<BSCHl
zT1S1ZB+Q%cR?re__b+NOfosfWWKyh5fuj^2J++Us^%wTvg7T?ugYDL)PTC}nOA+?X
z72dalXVqXc5q9NR>{t>9Sz;OEi8Lrry6FsMMSA1W?@re$laC6UgcN|-^_ee+k${7*
zh=gJhXBSOcQdw1Ufi61lrzW^yhRP)IkdLlUt#3JpG=#Wa%podQQT?0#Ce(9<_2ZQi
zG=n%Pg9t<Xn;7~TSQpuPVw9MhXb$ZSQSXa>_Wm7q6N4B+V|R15vaCH6L5c|$DB7|a
z2in_6^z1*z&Bgkrw%z{i)b7ojb#jGDvyr(sh&?4u%Z<sorlkY(rnAqZGK`^~n;a0Y
z`(2~F{u1xCr7<P!L@E76=P>)V5zqA7D`pe_r62T8lxCM!^aZ{mBRi7E*c_>@2i+Sa
zY^4e3_iH53f@-Sdas66#{{oBSk44F=LN&kNP6ez#;E(m~aeO#@yXcbG7r7}i{ruKS
z=;Y#TF3#ce{aW{@w8c)9M(h%Ed)g0SBq7cp@p8Y;84+Wnt;2PT^I5P3<dCv?J3fL~
z*M6Qse0U?9YC$}RYYk=5w<fhl(1Z#9R3IvDOaf~Zz;QmUk6fSsZK*#&eBP6qXrh@g
z9Q&!b^79efa_(1zrhcque2MC8F|=BcE0H!C|7Fb)@^Ys4j!DMZ{=Qc_QMp8#*<TjH
z%$Bf=TjFdbqBj|9R?Ahr8_|>QQ8CEaJNgrfY=iO7Jpb)SUH<YErUq>|Lj|T|DrVO7
zHB{o9GV5>G)!92QuFLl_=B-qM>5g|#%$P`jMoAh^e+~Y3(w6b{ns-<zq0dacAWd&1
zS1Cx@vPYWx<ZW3*{0j{{n8lrbcT*LoT%yu<LhA9N$Th9MHK48x)7bAZl-9X8CdcKG
zE(Tv8#BBro<PUTI6@9!-blrN6y|qrWVE2g?;1-D%>dHBl1u1G(IVD&x)!!_3Y=^mq
ztk51+B|P7`0e0_c>DZ&5%i?HrmW25Z?y#6^v_}RZBUIig1j<!-Bhjpc5!c&nl6gj1
z6zw0#Fe#GUwP$}G#V5YKg{3{4KHc+7t`ud^2J+8o@ikPG8TKe?<(-t057jY7)CoQR
zB}h5^f&~!gCSXB}>ky?Vm`yHLf`f1+d9<Y6F^rqRx?NjPQa8H8Y&wgp9Bz2`lm$i1
z;WPSVKLxoS^w7-nFK(<slK{z{*!`A0uWw#UvLMOJKgJ?dKN&yvC1NuDf$EK1gkF2e
zC9MRE_yyC1*Z0-%We1>3I7p_8(-l-d|0V9D`{PsK4qek<f>FZdLI32tI9s_x9*WWW
z;q`0wksE#1Tod3~H8wLm_L$I`U0xkEJS_&nQs}Ckvg8n!_8i)jkK9V%Ns-&|zbX;0
zSCGbw4Cw5x6=GjM(Q~=J=fyuOQ6vo6duourwmyBZ3dRYjzF%{O3(SpbQflwWPX|4F
z9dPWPlCpi96v{MBn-h;jnl_WM6Th_0YR9*s#Ts3)heAwKJABm{(u?@#jqw`Qmfy+H
zQbOa{T#mEt2tF$}nCV(-^9W(Q9yuyoSP{@<sxi*w*BA*q%lIgEdWIujt3qopnf#L!
z^u{5GU8Hq74x=ff*H~<-ur4dUstTHv+C=ga4jr*t{h$`>xGUm?Ta35#64%h+Frh=(
zZiyIYxmmCwu7chRMeJyPMmBBCb@dHg>p;1fa8GJ9wwE+6pq$0fsY|Ry9&eMt(LtiN
z=Er-QweU!?LMuc4Z}&>a1dV(lOP5}~!~N!*WPAKMc%@y&t2os?HZ|Z6@xdC)xu*T<
zei8q>jf&Y4)DFkE-r9K}Ngl=+f~!Ne1f=;$n?xl~qR~~GNtRuxP@+S9Bb4vC`$qEf
zmOaJz<yhK6wSM)1DiUTehQ9RmOqz<$dF(;n{$ZZuJ~7Tin*4<ns59CsMEJoudB^?!
z`sT?#0g2C8v?$iYI8}LNOb)%ohsHS-JB*sgc%GLWMDZTv_e}KSp~mAJ<aC9NDQ~&T
z_Gh3U`g(27h^B?#TjJhB>iDpi^_>2_I3S$7ZKf%J;*Mupd1BnL&Hofiind#Bz107=
z_4(_(SHX_u+%2))w@I$D1}r$&uqm@bw`qQwHRs5(%HxHxUVG<9jlsVM`ta0uo$^QG
ziMvy>7Y`KRFhA}un;KA6u1d~@X@@*9sF~{K3(x{WkY5Snp07B<WRnXBt>jaZYi<f$
z#dYG3edB7Jtnj1Xy7T7&M_G7t(d5+6J{T>CwSRD&vY2E*x#)cT7yq;S?;Tg78kcf2
z+$Da~ehH8y#wWL50$Dq*hjgWp)vak{HAR-Q|CWw#g+p%1=(u2r2U3e$8szUhrx<hn
z@%B0u$~)<qvlE-dY;P&#X@zsdozP*~SLcus^v+|O2kdzv0Ey4$N8D9EZ>!Aip2?$F
z>^w)|w>c_alNZ~?2;h+7kN0A7wyJ*K<xlHi<X%4UBQLd?x0)dzX*TfqFzcN+hbFH6
z$3MqwFHmKp!&*NZJ-75KnEOXX>ifMclIhAv=DrY9^ywbbp$#z(&-~etkU*z70vYBK
zC+ex&muD;>Bz??|<bIiI#|zqh*YlUk!bya9R9WdvObj@kfUvCvaBqz~kPt2GFhcxb
z6XdkX<np>e*`ZhtB3AQTT8;YP$Xcmovd916QzW)RA-0FE%c?5D#@R30!?7{y+bTad
z1r8A(Jl%kkKz!pzrWJfck>5Hy4pE8bm$89<Z>7*Vhg(@mi6CKqxUmc!0awJc8D8*&
zx3xPW!%IsNN)0r`@@$6d1HjZ89Y}P^2LIAqQWNG`STEa`e}Kk@vpi|^+?|FbXru#2
zlaqN5w1PS>)Zi<#DC{jH?l~V+NH30`Ssgk|ePfQvm2>MmTx5>i@=IT!XvDLolScYN
zKB+hCWB=dOvLv%T^wpjGEUu|gzu`5H&7scha>`~?7>T76tk7lFJ=dg94rO6QBF7&y
zV;&6hxJd9rVHR$Gm$q*~lI(XC)&f>(s51h{g`t7spT?L~tmzUaP)(Wmc@U3LyMWH{
z$Rk+?=8!+YWhpm-H)1=Lm~1ffV%t3akok&(yLNUQ2WoD@^U=s#x3Vr;gHsYohgm`O
zO*eERjZh5@WeUd3jSXzpy)f9nf8_dV(wFt{2eYbj$9e3n>@$m6E)?xoPLt}6CtBxI
zw-HTFK`(#zlp}sIYn<Gt3pxd<QwsGJ9);5DNBQz$viq11$$Zc$m0>1)zQ$?ytAijs
z)B-#GgvsJ#15trf`b66v@1|-Sc7(nPC*&HOWBskCEaZHx->;iw^9u{~JkLgZP2<ZC
zw6hHT0nc%S<Xj}-%cU5Gwt%E?5d{YJFkk6J6<tSko;kKV0jP(_WNzDs@M#I$W$5V}
z*|(~P<O&Y$ovi0WRP_L=sjS_SZE)PH#ln+tPvq)*0Ywzia@9)$kmS-Np?vXYWYJdq
z+uhq+Yi;$)czzEn)Z1wjh03xucDf2PUjbi|Xp0Fr&i|7B!ynP;p3ug>5792Zu%fBi
zDeQ1XFyW_zI&n0{{F2~c8yZNeV_b(~90djL1h)RH*M)Z!)_wC8_y=OtKT)eN_K5*9
zdJ~{*$G~!h={m!F7k}1#&0AQW^xZ$(BGpnHA2QDX`*sxRdYj!Ezq8bKC8RqflGSBj
zk{RuXQd(D<bzu^_)g9OGtZR9{(J@}7X<6{(SMBY=VWSJ6co&)}L&<7MmK)<oYlV~)
zFg{Y?%JbKWT)7fmY%sytmVQcJg1Jc;Dzy@PD1|5iEDE21>A>DkRKpaj_XvZEOrJ{-
zG}#Y>f}5khEmWf#!Er~66BppXM*k)Lq^$+qIimwBKp$_5lf^%Hd^S4bDIj;_Hu0)G
zY98cSe{ewt(M^^(q&4M8;*eiFB1KtQ{IG1T-cpOYAkq-^!>P9TDbk{<*qL{iOibTR
zooms%z9?TAv$EG+NMz!NmQjxsM};l+twpQ;V3>iS%=NQH-fsD_AgAXgXTPz;ZAer!
z%}vagy~pxzWpBxYwEB(uN^7zTJj_j8rd88L4skgx{!))w-|&!f-%&b`KWTA`Q#Q(x
zPCv&*A^Ee)e<kH0Ec^R!0t2Ldb*E4B<BA(s-ejZ}MeCUQphu$0O3&klJ&knRt;a7q
ze?qUEYgZ)Xc_u!)ZSvMDLrodtAjt0K;KTd`P69ILTMvFn5DI<AL@W26$mUL^H~B)3
zxi?C3n~k7z6eff-ew`3P^(P8sYC!!02fZUgLEsQ!)fc&d)J|Dw8L&YzC^|rDsPf^h
zv*;D3?hD8(_<aqckW3+fbtOMcu%j&oFXE#o0OmKaw_zX@Kdf@)8t$O-UF(EcfC%x*
zu^;8-1TbK!O>r1>Vsr6uZHP41%&aN~Olv(gU5x+P3T9{^GWMcL&}p9!P8nto!<YVE
zz&cX<#lnA#Bq^DJdi4O-FY}RL)g}P#?t5_v!qa6~1Qm7ApJ1ZC9Ru+2O?Jf?!Cno;
zei28OF%EDhMaxc_wNI(}HHDk-8+fCv0V^QxtC)`dE3;l(7cz!Ag*Bnb;g1vLH^U+W
zL3oe|*92LRDR5+CK?6-{mz$xd!Mre>U$E1`OHUufP#bJPXXy8oM1u@l0!Oy^g+Be>
zLjs^7eta0kgx>r7k=37;9Voe5bOi#g9EVzfW7l3yVYad7AKU>$U2{!8)|PYwQ)Rro
zcr-OL&F@r7XMYxC8xqa;-q<MwYQM(6<s{dCf6L^O8IaEDB%?|Bk(#60jeK{7X8X^C
zdS{V@g1L$DKTN}>Bd7G)e*zWWjCou>ThWHy56kHrNJ+zGJXj_y%y)Vp9H$aAHug1i
z_-s?T=#ScZ8%KV?JMELj^rEhrlk}6*l@n7r8FddYzEBde6Kn@_lQJVHanjify^mxn
zx&-nt_HU_zLn@tdl%-4z-sR#F!%J8iXP4{X(lZvCeoL`@So|NN72_ozPq<S#rzb<a
zybjvMtx5w{4*<hNd5Jcw#q?FR@b%(rU`-whi!!Xq9J7e)ctOvJ2J8qkx&D3LC<mm_
zy)#j{tMGa|%B8<#-nG{hg#i*<!9u%I3wgm$Ko}8xkrrIaAA7BKv3*O#fXYzT+cI4#
z&eqpEQwO;}7;)RM#!O|>b>B~br7q?B*(M<<V4UeGu?%oZSoF6Dn^&uyd!B_zC^W$F
z5@O6x)*y5-B&~=#x7Zhx#hPG3aB5fG|1(n@zqRodd755-%kUaR+aqL48t@jUTOotl
z<dVSg9sv)KI4{vM=4wX7L6&#F_b*pb>*Xef^<;y;&ps|poUZ{zKp?;Zsq>hMx(cSP
zoXF(5s}r)=512l306+Ka13g2Tv6TX())WDj$BU(yTg%B&BnIHV`;x&)<^R>fP+@WM
zOJ!{cWy_?cf)M%JlJb0q^d0xY2YF0yzBSFVzZV=`HJ`l3F)#H8b~T^RbmU}{<&}Nz
zs1QeXfEz9YzA6Ao1;eZ5+#3v8*0*OmNRt9c`<(nK{ha(Ez5F_Gpvr1^Ja0l>I<#_6
z7VjmpJVZ=G3($xZ)e|X;nhNU%ET{7v1XUUqem87#arkH?dsg>v=XHjBFmLWMzCG18
zT<Frg>tGS@z+LS8Wt4X0;9Rn$WIIsF@!8d^h3&z<dvZk97x%K_3c&KyUK-LX79DH4
z6u1HGU_f$zB$lBkcg-^DUv!$SEUI(_C2F@-YkdR=FX9K5WuqG#Zu6=H<cgBj8N|Zr
zvZ~zB9_5XSWjmOAU{nstsR`oVea3LvpIwY_n3+@Pfo608{m&I6(s^YbYvRLQO4I*d
zq`k{C+o!c8lHeU#Vpy`%Cd>^tsv;>w>#wa##U88wR1_&N8q0o<^`W07G*oa8)!EAb
zz%t9c%~pNh4)HoazsaGzg*4`I#;Jk%yWemwVkjG5V0qFCDlv>Lzldgyb!tR9Jd;dT
z;zd#S#f$>L+XDL&y{Z4=!j(zd-<Zma4itt*MG80AqoP)pPkpc93)9AAE1A%zgrUJf
z=rostV-6}Dzf$xG!q4O_2_UB22x3WUe(9M{{1hNucHmuWedeg7MGYziPVDWzm@scU
zerEF3h95?uIUkJEbeyVD2e0q$VRvDMbxOz;-T5aOCyuDWbvK^jx@fXjv&tOj@U_bm
zFK1<@R!4s@2Kz>wa_-Vcv)%*|b_bbh{rRR(9DO@xV{hcmKb56>jIx%bH{fgQcWo4h
z-O3UEQBD8xn2)dRFI!y9D#w1Zl}wpyKl!AQzvSH(4*Q98(~grCNS74;%MUn>y{5J0
zJeFMLpV);MNMC<T^Uyh88|?h|+;06CgdvH<!)k=|%SD#)RQTD&ZcZFFMjhrA9+aT`
zk0Ju7I|JL5OG6dUd0b`aP@umyrY$;SQAfw_@U<fqJobe2qYDp#`A|58PSNB=j?Ond
zW!!$IFjKTvs|R6!M$9<16Ocvd&c5vpI*l5$uQIG!I~3P!Xl|EAm|3J!{)-9fpa4<(
z*oaF#O*v{x2b1qo`<)?bGBOkSOCS|)zxR?nCN9=FS3-K_!!|!A{NmGF$M>*L!)G!e
zdBs?37)mbcj;Qhvgb0dnV}^2T*~#r6S)qL?M3)j80xU>@W+ZSC-Uuj#_Q(ST%<x>l
zAh;z!W5eyJ%um@B;fdO8lYn&qisCnZgUOSM?e8J;scwA|y31GVh=Kaz!V>i>)1)pY
zz2>d2qfztRxqmjt9jb2PVPpXLqrf;;4qQEBDpCT)H6mS#gfKLSi)fkXka5eMq!9H2
z1cU{k@1fu1vX6ud3j=N61CvD?PHC6vt_@NFHqe<B_F{8d+w+&}P-DIM1a$7WdS~j=
zP|~id($46nM?AxgCYU6`t<16{-NVf{={0U;gF+y|kJhxdVBFi)D}%@F@$}{32tnrT
zG$9P}4jK?U<+^+9`|xH~x$*};Yi!85f)co%=bqJJ@-_|`e6=BlQuDAqRpwo`riD6e
zqb<<>38nv@u~4U#2<#S}mesxr@4r~@T0UWg=WJ7owhAJT#889)_gO2J=J<C>q;xGA
zsAh>r9)G!ZpJnN96yo)Uu0Vz_;RAfBnYqlMgNQ;=ErETLP=xt$6z5I*S|gSk(Ys<s
z$gp1u3Pv)%bk=cJ7x%%J{wG?I32B(azN0`OZa7&fLulDg4J%e7n$s79Hl)t028k#%
zDF?*}@4#+tf!5a|<qVi*Mi7PsPFoF_NvTOdm^}5~+bn^v3f#@u5MSLYFf@9n(4J5K
zLtMB>>Uql_+hG1ZS#;`MaCtvY7Bos&u#`8e274}>Uv7zb&X2g_`fHC}=>elME*KwX
zm0yHDK!Jk?k6B=YabM&EBw>wB{5?Lw5k&?W@?_)vA3zI*n=ACApUD|;#|6ZI%62l~
zl}O_H8v7SX^433u4B%x77`Sl3-WrZfo6A}TQ?b8}1m-+872s|z+UGPAMIC)+5YQuv
z>BwI+@ne#4&sQ|{2A7ySLyyS;R2K;namLN_xT5mpi(IYIby(LXtmIHE?7}&1nQ)Zm
zDKdsKCn9gWnu-Akb%nQ)4|iE-eoML)XDi+$8Qh-NAsV5lKF;Ry>Xc@2T25KyVk)KY
zf|9uw7ypcGG8R4e8Gi7K;rI}xvhlvM4`p&?#mbwyDspq}vUUhG|Fne-ov&?M6~A)+
zrP<8of|p5@r-O(seO1&8WYh_TXm%(x;373q@ytY~N$2;htk@aud>_x;LKjLAzw$K>
z<2q|bv(LVxB2pBg#F#HBLitd*q=Q7O&CJ?V3C-D(e!tT&$wr~dCy-_K6$@9epij`S
z_3v2r%873`Ls_aa;72_`*;#Sq%$~Qh{QcH8a72JGFb9mYvHHEztE|I*;tbCNwqv@d
z?L_d)F$6p`bOor`V1zs9+bKHzqg->gS;rg#^xgbfTv<h{tGmqX`_V)pRyDuPL=|7e
zW)+*2FPkeVRK4X8Y~$FwP#gZ8@o1GOOj~y}<>GzUQZsXsx_zE$*iBKQTXK?m+Z=NP
zlASoTpCVb>$^O}8OXa1~OA?5*XDe_#uUpWfc<j{dp5~J!U)EJ{?m70<*LP1Rc4Kun
z!_49L4@Uu_ygjySP31dCHJ`Wni|j7Bl^*@5O*g_UNPCRJE{T+A#M&0>+$>GVr%vCv
zpmVqkmj4|@Zw98QJw7dfYPP4JzC~xgZfE@Ifho?B&mynpU$7QTn7>Vl4*U21*mZi{
zi6-h!%BR{fl4En%u;(ZJ|12odTsca?`Z?kcGKfW(VvB{QZSK?J^@~@NT=vx?&q|DD
z*R+@%82YP%Qc&1=ejSL@odjOVM*ivdlV;;U+}NyIeufv#vCJ3I3sk>Xfb;&vZtRI#
zA7!_q&&W}cl$KjN#;j0bpDjnJIm3|{LS+$Hm57sG>7(wCI3d|<Ra<`%>%`CEc!o|A
z!RW1{BUO`XSi>cT96czP8bY-<Ip94zBD5alJp*fN=vGx{1x6`$i_Or2*gMEbMsg4E
zz}iiR?<v_5q8NIIw+W{wzERgmsGnen`+b^2lNUfgbMB!>W?eb)ZYe!F-3^iK{7zLJ
znY%e7X_vX28NA#ICzwssNlJbb|Cd1e^f7Zcwz<)6bap3Mt{-ny$DTeH_5P=b^5sP=
zd;Txk!k<0gooMFQoYvY$-xL%CdWALDo3dFvt=J`BG)CX+EJ<TdecBHMhcKkP)9-`o
zT*{PGK3qKFe30?E{;4qL6Ujj((}#&f*yP9=*R2h@++pLxIK1s6o%ul`o+v?>aKVhL
zTd4EO)zG>~%wmnsgq<d%g+j7ryWC}=#5BM5yH)Gm(z?r+jfp}uIZ0)arED-Y^v^E)
z3H&^tpY=#n!ct(wq?PH$`}zrH*foZLf)Tdnz>Qjck$vwr3iTxVOXo(I#v-}du*hK#
z9Yo8ZBr#TqD?!1@Hpe|=1*ARHX^Wcq%;W(7Y}g~FzNq_y%bEG~77GEqv^lby%wrpO
zl6cEL1)2Opg266w$T14Ae@{g6q-@YRN)elv1!tmV-l)0VeDY(MI0z+oMfJlMDft;0
zDtLH!!f$`P!$5%|z%ya!xUa|3t5O+y%gR13)mf>AUm#+44Sa7)l4VCgt&|?g)Ys4X
zMguNLAw|8tp<Z5I9700#t+k|T3~HlJ&`tF;wu@k-bE{igMkf5n>S|S2S9JF)`m*wJ
zJyliAU4%dLy^*1zzNaVlN%D?XzO-_Jb9OBsqEW#3(5w6Ik;=hokH1o2Zv@S7=_$*O
zU(PP?@6FQRsh~4i9-h254x%7sxf=MSw9`@VPTyd{xSC7!@#*}z%|t)_W0f+q-oXmg
zDVe-}v+b}WZChP1Pu)ZCP7_-yG;)>1pIuxJqm7skkM*z+i^Aca1%=6WjKb9hIXw3x
zP@k$)GXc10N%?^1fl4@Ki&6)Do+an(lBN7^y2_GRhlEt#;}w?~x*+8Rae$?&M_r_q
zv}Nud)@Zqj8BqSr@-?=gmHEoz>?<=Wv$WEtj>bqb{+c`9TQHvbk<WO3{%bk+j!2to
z{*^S1aG5GZGj9RF-upok7dofm$0m+_#V>y5Wxo8v5h))GZ<V@HJ1n1+A4P@pZv7IO
z1tUuD%ki~M3I8<`7qZ}J6LLE_I?lGZF7FeB+=OG@^$0@|+?~E>Og&dWTrZElsQ#Y*
z_W;7+-VDAMlJq%N_CKs`+rQn@5ez2=M^S)*QhR%Q{kLyvQK@K1K;i&eM&JE$SF^)7
zng74XYjiA^Uvl<uaJOtQ?srC$E5gEFyuyHgc|FS{8E};gh`jQwi>6Gck@nT?exFuO
zI=@tF;k@{HvH9()C`hzi*V<a{&ss+~4sJY?JOl#4ueI*WmveG*G6)U^(RcNQu)W>r
zHp>-??8mwSnf_?^WG=u2gXIS<e<K6;r1N9J_%m{ElI=<g(9zMs+0rEJ%1J`r2g0%i
zy}kS>{Bdy)()56HG(Ih2TAUo=bg)nrNH-ybAb{Zp4Lb?HiT~r4=+Kb|UxP;HZ~H&b
z`a#N0sNFF*vG}Kyr7XeFJabQ0Q>$}ur(?5Oqz!uxN%u#5_U<q~XhJJ6Mpc5P4a{kj
zm2~sGo<|0;uNJUKaRztrGkfV42mA9b65QBLGDd$;VF@rtZXyy~e_?41r<x$E$|7Zj
zG@;;Xxq&O`pyFiwq#YGytj52!>V#6mC&jr9^uCIUX;%b@8ILB0dg>_Rst*0T#owxY
z*>^FX_1X7#?Cfo0aFX#vJU=^F4LQdGusfQYyi!+Gf`&EMb<0cLh6%l!RDaFpH~zP|
zZf(o~C3oN1N}@$lJk~{9n_}x%?qGz#ST0ON{iLPT8<fj0AB(AN`|layk@mAtk+7e9
zeGeZrG{?n_aDeUV`rcyi!=>5lzJCmuUrh-dZI9RdP~LQ_LJ<>0<H7Qqffpo=Z&EgV
zcO-*uenz82yeZqu56Hi^>I)7B1gCLzp-D;fata}L^98SO&v(I+vPk#qnSaK2JOCAz
z)Dv($moF1g+1;Ic^=FkG{?(v3B#jblGEeGLzW)J-i;K&){Nw&?3C;e=W?zAe%fbHF
zRA!W#n&Qu&53mj!g6`i-zCRK-GFd)tygpu6&CAPccAPYq47w8zk0#|Zj@zLtZf$*U
z-ugzu``x>98o=`HYOB?yQ#~L7t*Um#=u`bS@Y4&lmhS*-4!EY1-HRn*e?6L%2aXEt
zl|KGAuOp|`(-X8XKhNB{I{Enf=*X6TWo_+6j_6yWdt=Jc?^@yE7q6FU%q}N{racNe
zJ3EJZd){rqK|dO7P_Lc$ot<LQdVB`X)}hI$7!@P|W3(79*G<b~R>ZoS-)?*U#F^0f
z00rBWw*ragkc>--j(QF3QM9w{9BeyX9BKQ|hCl7)x}BwhC|*%xuPayR#Ppz+qUcpZ
z_!XXAyh<o2#A@SSZhV?HP>j{aFxNeAujQ!c-|3^L%H+8|k@3&e>nPV`Zqg@>yQt6S
zH8*HlD;@)*zSct<%pZv!KWKDqXAH1v>ZPG*^BiSgmEYA3p}PCw*y))hCXn^K@(U)Z
zWI*PJ=4LuuwV)It7m0SywW^taO78#0jZ~wDU!Wpq1J&REA;X5+N)A~k;B0rj^C%W#
zKN$`q$zce7?QDg$or<^|Cb!mASLZ+_Li^)1)eVQEz=2g8nUyrTr?X^36O&Q-Ul-HJ
zv>odZMIeb3g`1{?{FV54%}|v=g~YyfhZiaR&cp2m&DLhSXSf*(ECQFDH*PDCB%I(9
zRHN1kQ2+Tu+w6O0i$6z{DfiG&C&0nUNz721f$G;Fg>?*y00e<@fGov7s<5}YIsG1w
z0rsqgRWn2I2FL`p18}o;4@Mzoh&4b3&xT0BNRHy|kcB3)pE5IkFuK4|6zx#VZB41`
z{U5|M#O?0xuHE{(ghb%OaQvs4Z)xn5g`uE<6`&H}ZEEtOcpl35z0;ezAms0X2sj3K
z4den3DRWVe{rsTQiF_IM4{`6^ac)j_E8yQ2a`Y@(c!#0?1o5sp`L!tX=k}2o&cGIn
zUQgsSTa3v*ndMyO#5IzgXgA~>TUP<2w4|J?x3A8-e9T<uSZYn2B~oKjQ~hR=KHn0b
z`bU9t&JD@+f8kRZQqza3OL>*joBb7Ul3y|*EX+o@U0HexlDjPyZI`)zqdD?U`+6&2
zG&e&fHT*ZLEl%?{3gJF<n<?0bsB2ulI^j&g?A2>t4_XSC_z3C=71l_jY|%RrT&x*9
z9@mZ|;W0_(KebIoLi+yVjRTl*&C-;<(2l1$VO6bK^`?rxNag|GJcX*ctTbXpuse+8
zHB#9RbfEo(I}uary&HvzWU|DVVm^hEtVamU8`mCYGsd*N*7lbZhR1f>F6;JVuf)6e
zJ!Tlh5}JnJ%Jbs`HiGP?1oA*361(9`dTvXAR9-=rN~@}}u1@6OFhn?k>=yfDefK#|
z1<WR=+N6H&;TAVDh?0iJJ_^MBl`rI$Ybja&rq}V0BnCeO3(y7V;4GQNKKq)E6Pf)W
zDFAcs3!o2odzq6l7Agy1Wj=$|MAP|4B!6*T<^^Tm`N`1`9O0lm$ppMNaCPPSA~c@C
zV+RZKR%;pPWo1Q1<1H<TI?658tNz1K`X?$FAN~kvdjtYiv{J1GZf<q`z7r5Ov^{LJ
zunC5u`U}LQQz0sYk)B?E4Q^5obWi)33x<CeCh_*on{7k!37)CzT)=N-dEsWw47D{t
zpt4iP>)OC=w02#Q*_HF4L$!bNHA#BF2iPUq@gP#x|E)jp0itKz@%2(7^&@dc8Ic5P
za|~BIz~(FHF7xRV-ZM=+g4BJ1nyJlGx-&Cr6<cB2j2%Y6Y40>lFy~(c2RxcYJj~Eq
z50<xLgO8;rI04GTh&?U*Dq{In@0b*S@2>Ik0z!*<nw|gtnJ2N>OUCbLvug7;C0`!|
z>8hvo>&Q=jTI;ji0ckIUb`u}PxktS)=4I_RyuP<c@0;(Azf2ypA-{3C;uE0c=bpZD
zKB7c*CuVmoMu|a4`zK!Hgo;}W+0ogK#Cb1C#P|+PI6^S?-aU4HS4cJcJ?5`fa;=>;
z$u(;KyMgAKw%c_}&lYFKbMmJm@mZm#`iYm8);ps4u8$%aWt|=LQg5nPK4O*=I7G%L
zHuHjX&*Ki?EOr)3%=W9-1MEU(P~zI9mhAr6Dv8-@Z`z_71PR&XH)Z5BSDl34s9vpR
zbFb2T=fW0Rl@;;`B}uPi&WH!z@E<-0z<@TgxRcDjsIh3vZy|%A;nPYEQIVi60Nhxg
z8|n4a@`LXv@fRBLv*Y|O5VIf3G_yX!TLH>)fM(CC0m3N6w@(u0^V<AfYDe7}{Lbu)
zBQ#`&pn+IiY;NF`GE{~F)4(v<4u!B#PL0~4`L)2IEZiKZgfXHVg0|4E&^e4}zGMzu
zb$0rjH`=1Rs>7QK)qrLm01DBC+ruIiBrWainBBv7_vuZkFEOD}epXHP*nESYt3Q5F
zyelk977-Dd5Z>M0H83-Sy(l8Q#@oW+u%%#^CvN8RTL1PIO^TzfDFlVX7THi*c=DCK
z!*lJ_`!L&X2Tk8r-;z4)5Ze5ycSWlfmX<1L^Df|kXBKzpwKfZbf_afTS}zvLSu-7o
zF(1ZEh!-cnV(|<jz)#bkBekdNy_2BEknGJbqlC^W++J<6(4uOJPRa0M3)f)yZV5SD
z@KO$&LU6#7TA{`oZLei=Ju2Q;NXo-*6_F$XhSz{`G6vNM_b|j2zMG&8sfmPDi!Ehg
z1XHjl5FeV~`~EKnIGU#<q4Fh-b!xj1@4bFgpvB50FFIctr`R&_T*P~#cw4?Xmm46N
zB9M>x3-}-;=M~G<Cs^-b!ChtbHZ=eXe@TQHi+s6XaCfwx&Gg#t8}pdMaM%V025n8~
za^@k1s7&s#9seZW?DW_j?`P-ZpWdCT0V!sj6S&i%rua@i1t2E)Lg8ZT<>_BkdBJ)S
zfFXgHddQ39C<_Xi!b5O;$c}Plyu<K$-=HT>cO@qCcB@Pf`sDIH9<%*J8OBI84m;}C
zy2T00&n+BCE`qSWf+nhDH{$!r(96TmNRa=<{1Z~4IYVwFj|kEpt3@VVrF)>|W@e`u
zi2g5spF6VDa`o&z#wZ4&<qnY!jsCNfzl9i9y*R~f{S}Hy_lrSp7|Xn2qei~WT`Ip#
zaZnZ__jEK(2l13{Rs3!v%q{kvpj(!ks<prM=1nbC)bz>*_m}t#+nDFIhm!}UH*a`E
z9!>|7Pa7xY$Ja3H0e(clk$VOUoh!E(S8^5vd@pymzmwW5xOeL*-EAv(6uyicD+^W*
znP?gopK4d7-|e+oFWI(Crdpizc=g70s@`mlVszm;DB`-qr^l3-=+Qr_J*a8@>S0q~
zBi-p)(r@G8e{Ge_op#rSd$JhsePq{pv9*s~%uNhqxKJs}5krC7v^oZai(tbzNK3fm
zr1hXqUo};ixGv%uGm-oNW%nzzOQF5mByl8fJJgD*DT+hLZ-DmD<6l^>)@Rd)1(MwA
z#$yN%%60-P-Ni$iEzw4N1(N~4azNem70+E0WLOkK$io)doq68rzzjnCmEju<@>qBH
z(S9&C7zV%mTbT>r9JB2eh|B;}VL_KYDj&UNXR5i993p0i(L*)-P#VRd)Uc?aoJ1<@
z!JOzT0q^=yAuO-|yK{FQqJCwJ0So4IRoo)&4vFL^2Q<BTdX5gJemfHF$f_TZ-a9Xx
zK1^BnMkb>ou)ye<+`grNcyY3C@`pCZMLr8pG_3+x0N3|3Kmp13#1r7#N2NJ*;<Fqq
zBtG6h`ombqaitJPRwt4m@zd5_vfobD2{$F?>@xnoFtNw{^1%3($WC2K+!d`byC;25
zrB7RkdFphZU?j|yKjhYUW5m9jKPd~>Sg8F%63CqUqHJ*AuV%2sGU`!HRc`Bi`GmCW
z_R5)SQ+z~v(oE<6w^SK>2ug9rh-qR&%|GF5H&HuelQ@|#<DupT5{~Dx7}mO0F2X)2
zY<>M?(Sxf~qFOC4R^F7nC#&;UuhegyKn2F(BiZu%6(_I9C;feWl_vS&ua?P3(TN&4
z;<jsLSFoS$Y}L!;-C<}EYl7<mZ^dE=|EQIkUM=V;4FkPKNimK9dIF}J)PT4xQk}k3
zoL%n>o0fd*`S}3CH&dh#jL|`fiF7VBI6#P%lqze)7xqIGM3`b8!9Zb-aS<!siYhOE
zD%<dy7B&Bky8tR3+WHDTq_D)@MtI#7f{u9!&_U2N#;J#z9PToe0c)zyduJ$UFlBhV
z)0DL`>(5TCRp4|^tUXL2=^NXY={nPm=zKYl5@s}+o@Sz9^@R*NGmZ2dJ9u(B{FG+3
zwVX*;`pd%hh1ecOxOHg2{WrPsAlV<mT}B4t_mBfDL8f7O0|vnfcyCNIOzdVN-cBB3
zV#MyrPw4fn;9r3G1uP~+EdMm>7zKUGj5i{>_P?aunnOcE)v(1$VWgX9Q%BjB8{(YO
zi7t=&9&7p8MZ_Nv#pFBb`Pkqjar%)s&n_dJFBzD|<dj$)_Z@0uEaL{fmvL5&#UVnq
z)l4Yb@ASI$G%~r~n`u#4yhE_8kZK(^!O~Xr2QZ+vT89S>#)tk~$nlW+rN615m$F)L
zM%i87#g%LDNx{#Q@I$G6KM&P{V}F(IyTk|SK_X#)mHl3|j>KE-xP8^PS-Z3N&)r@7
zPCoP(BYjlIc$2Y~3psp5R;qKzvt-yIS-6^i<1!0xOGlm9PxG?MT<1f1DkDln3A?8h
z`gH14nyi2u22U?=<GN&Bf>A24XM$nbbx+EH+GtILUCgH={<-8FvRIBFVdOirtaOzv
z-a{*ymw=|$rNStB1L#m$(fYoS*Zi!w0nqm`<(1o86Df%r(6Q!z&f)V%z-d<bPf_A$
z`clk*hG*sYXrrq1{%C~)-wEpbX>7DT==doiZYdueQKV?7K@xKf6E1dcuXreM??U0U
z39+QPKm_BTI@8PV5}U0O<d2b#c1Zw+I6k6j{PnQyMl<aAJ$_1Lu$a#zGI?8`P#zr;
zk9?_8Kp4J%4n-gY+%5~z0qnIVwc5+`>I;mV=GLmd=+oLx6&YnQ!m0EpaKIVp5P?r1
zn=<h$DvSg+aSkE~(X!djvrd>RtDqRq$1l&`gLNA-QzbRcs+&0kNv2+NCEw&K&2?(L
zM3gQO4v7hfpP?5c^N1N^mNl`d!)~$@@h8>Ok-0D5j@nsfbJv97-=gt7&dqGM>=!U3
z@@MZ2S0+FGd_S-F;SU}7t4ztgWW}0`#u`sK#k%OdPkpKA`tbwHJXzYrH<=xzi_{>N
zXVDcW0i<oK0gPTq350z+&lc5g5m5e?E4nBm|0f8!*)wrkh6xf`2Nd)ZGW^AU6TWCT
zqm_~XP%tp}iF2b|JJ6spC*nFQ-KAX;htrx3!qD%5*AXt}&xMw!0n{pGEI9JbB26gt
zI`^1lwR-{(`ff~9xTJJY0W*q~^rGq(-VBg|9x4vQNeX}KVd)ri9!Kc`#AG^a?vuj^
zS|<fe35C95#D@zou8cfnN)qJ@!JZMlBjElHDV0Y5B}<+C3JthtsQrwztnRC-+gnV?
zWa0xDq^J<|&~{OX#=C|J-1CbBS94wj;i!NC$Z5iS;3XD}saXcVXlI*203HzQePzJX
zY>jt>03IiMpbR7&*vecmD}!b*0b*pk6Lb4(8v`Q-4Hwk|4W70;Pw^Zjw;^hn{@2rs
zi+Kk?Cu^ts2r4Z{!=dYAW4zt5G@8+YuR461tq9exan(N8pf+_!wuJf`?W)beOUOl@
z$YJGe9BnYk$U9u|*qi^`^4z(<-`+|L5uDK53Pv7ngi!gDC!D)+ooot)F~FgFpqrS3
zz+<*}q?au#G(bY@UFqIz8ge!SX*ge|(ABTyGNrVr)kJvzlqL&%jTYfMb}WMO8Z8Qo
zW-msbz6LZ`O}K!Puy3B8H6h%v(=kRdYik*^MdGZxi18dC{Op$950Y3xLF)tXA;w7W
zCt{%(se76?cu}LWT!KJ8MuT8&%&-(Ho#k28bi!B7E?taU_#S5FXrrc>q9xjBKYVef
zJLBg#K?xZb9W(SWd>Bb7gMw>#VPL+v+&ijQiqWCl0ANe|i0f;SfGdvyMJ-3O1Gf4l
zw6-v6G4($Zw(oRjE347pFUSnNAxuh??`d&LxgUj3SGr-?^ki+2*-h=Y=L4>g3Xe%n
z7pcsSey%HJIZzWI2>%ee4)Al}ik;FR@pRqn)(0){6EFg=;Wlmj2%>G4Te=hllKht*
z_MPp@jjL2>FbfIc7|R`1PzI)AOn&r3BfU+=sg6*Ee6v}woyz85)P|Bnag~No!ig~b
zdk50IU}-<k2SenA$?3gIt}24u_j6mh;E+L*bdyUlp{~ov`o=-Kc(GGdNdsG|U%h;o
zQMTvMoBIDz^tW5T<}CpBw%g0=q<ANp622H6+5T?Lr0?I}yHC}!V+;1;zWhmxs;?;b
z9;xp@T6nAD1J>BPnD%!bf;C%s#degO#*DNK2r%dG<_})$MqP52qWx6w_>ZHr42!bs
zqVNpeA<_-P(A|xIk^|D6(kMuG3P?-WkkSp((h@HXLrP0`cYcrGPx!%H7jt5tz1O;z
z-U8vGREhEOL?5$R8Be)DXTrKOjyZl8y-h#CBbpOF*ytx(Za0||GBcQ@rb;=G9cjy(
zzc>`jj*c*^-kE4d#vnMCl(3e|eKs7)?oQX#s>{YRMo|~0{pMOmk)%;>f}+g9Dh6jP
z%7w-f{Q%6>2D6$O&c!|udARJ@*puu+L2#qMbph2Nxg$yojLmQ~%B<F4vwYK2S{Io*
z<I=I}W8p#(B6j8VCS-3n<O%k5VJmZGWL1-+UTDU}OarrW!@KSJZb$qPOhFZ=;`C!7
zcWc5nM;2;?Ws~5yMoQEt;liJ?xc}>U`gXcpZ6D@@6A0;e7Y0R|D-79DzRBU{XOUNt
z+2UN%Xl5kI)cXjMDqEh||4#*1rYhLY;0#U0jIA{E4UMchn%%wvAMuSBrhU)xsX!p`
zY$PP?6+EaM*~i0`ex&hY1@Ku$c$}rPmbZXH-!~i`TGbbvXiO+{_c)uD_=_@ab?~Av
zdX~abl}Dc3E$FB9SJK>grqz8?%eBkTEwDK4n7QSQoL_z>Z<NqiMT0%{m`y{AL(?NI
zD`&T?>X{IQi%cST)uQe-cT1(ch|U_7AJ(o57N)Dx_9SO>7nJegQvpMCK_xAfbL;fx
zS4w8oxEAgFLUF>l_V0(-vRP;|zpd_XCD?1y^SaTrgi(JJ#=UzdS7CSo(`QO({Fp5%
z=={usZt*ICj1o|I+P$$Ya2Jl-(6+_EN~pjUX^t-XD>r5ltwnreur2j-EU1sSuV+P0
z%#tFTIsWW*%AX;s%!`f7a4<PCmzGTpkGi!FDpO+Ne=WskgXNxmhp8aEp{89GT{P-5
zVQ$$o`2+K1h01Jr-$+E2aD-5A_&p$4q92J!pVhJ_?p@@E06-uVUWnsDmjW382Tvj4
z@)rP7mkg?QH(OA%_q~sQ7jNF+eIp&yOj?BN>XumwYc#8i{cw#H_mFU+Qg8X|BR+Bc
z=1<LsrB0w30tBsCsjfOt#izZs`6bilqY<3!IkxiUT1R+dVEZoILVZe;uun62Sko`2
z^y`+#oNaSt*@n=_j%anVVohaeGPs&oD#ebOFZ9j?w!xzD@Op0GN=SeHiflkMdr_RY
z9r6~R7y8FgeyXxQZ}|s27)f7uu&0^Wrv`H!tnS*bAm;!8IH$kH1A3e+B55&SC@_6l
z0M72u#FqSrO<WLfeVwApf6uz}Y&l>c^E>d&n4lM;gbw)=_3>Bn;_aq*ChR7D&k@+w
zN#haQRKB7iEbaQK6tEHm2d`X0MJ5|9<Tw_oSHv_zN-g)x((ikqYZ-5gb6ZeH%htiy
zSJyqrWyOz--{S8xbyw|ab%^igThu{#oxV5(%s<IZe*X2xc8LC3ghFzLba0O0lJ~Vc
zY)JM)zx<F`sHO`<@E!kDXN7lSq%J|fI`FZ3F2Qz29e|+=1Yu%u5b6caum^^W#3&-C
z^CE26t^|adbv`jKDDm~A7!~fXI7p^aW*RJHF|$+QW~?FIGj7Gc@#%9w2L#$S^$E@-
z3WaS%2&Y|oVszrH8Y(NAiY10|p(cjqRm%up7ks?|jKOx$cec!CcT>(<c-hv75NQLq
zYF~6EGnBd7Qj3%>Z5Q;%SEercU^`t>KBaV8;@Li;Q^qyNc)W)MQz!B!zDlgM!EGsh
zIuQzud~M{4b0bjV!VeirQ>BOXx|k6IhV7*<q{TH!=+4MQ0%5G&RueJE^{KefXgTLt
z$ui;E0(UuhD+?*?w%MGR58~ZW)mA3}un4)3&#vpM3^UO;IEFsg7rABCY94scOu*W<
zCSbaX=r{h(2ew8V8aD6(1wOy~%a1O$rKP2VUh<76(@zqg7Wgtm-1a@1RI=Y{@DxvN
zgpjEWWsK!?PF-+gVc*QFffRx7I!(rRJ~^f)a!W<WY3l1F(Jpg#|G}vL$YD={d;^E|
zX}B9Hvi}e>i<?TSVu?e!%-W%^9XlesMA9t3D`p!`zJ2vOuMTr#f2BS9vP*ioNY%Ht
z?qBAE@(M)d#_1<@gxZAjz0-DUn-9O3IiVGP`Ej4Z#$C;1&8DQP5mYZ0AVe#`5`W36
z_s3LE*o>k1JbZ)89^?B~3Ja48GFw~*mtAcJ!7{^2#dM))FRzr@bwMIOq@$)?U*|Q<
z0kFyf8_leT#0**mFzrq-oX)fRXpO5x6<))lsU?Gol+#&)<3CEJAVCIG93~(9hLV^c
z*Vg^*5+SNk-$itSy|Z;!GMB1YDoktm<{81sue;{OPy5r%BNGhWgG?WxnqDV$kY=c~
z?+AgbmK+@~`v`SG%8;HWl|u}|YYo05Ts0Xl&QV8Wh_Me~5gFlUQr#W=`E$!|bC~(n
zXmuyXS{}8MiOKZr`@6s1l;66L>RQw5Ta-#mJiedHG`MF4TLlvT{`z5y-5i+=E;ZMq
zxD_Eq={Gz~_{1x_DbaRA^nU6WC`CE<s~@<e2KRd4PBzE)PiVdg!@ajJk%gROZH&Y-
z-4jLsxy=?ce<oP%RheB;WUG7Bskm%|%Ch0UuD9fW$`mmVXbb_1t*9j}7DXcBYCntg
zLuV?YhtxC^Yedj%h(EK%jh-1{4j5aYYLp;-e?=sZ&3JSO{0B8LOw~VeLHGf-hsuW>
zg1|&H7oJ?5gEC!n%>(`S!fq3=!-9&i5MX_}b3usNXIeqf6`*qz_z$;?=5k(&o%^O+
z;nn7w9f3ceiD5KpFIA1D2+?B3=_(duvy&T?5*g=TcSOahe@{Ba(YCV!A}$MNGr^;9
zEA(C91)*-<v+JSyrLK;#n(Zl2yXhpqB6$5j;aXqqC!Tw!qb66cK^6Upw(Pm`2FwWC
zw{$!2)(j1ymWw!Qr!A>Wo`-CmDW4=sz@$ub24D8D&&TyDLcsXZ52E+XmzNisPiJ!l
z*ld&C(O#beQ}5m3-rM^-%<9E13OT(7JJHgr-xO0n<*xm-X7aohJ|9o}?T14pq{zT3
z7>|3X@&y^$oiabap99P?<eA>+nl=CI#e%nno-+xFt|r;QGp$fFtX?~FDHt`DM^09G
zjkkfG?fD@mB$2q}<KKM}?f<;QN8v-^s%^5oJM7ktNQ+&LmIv9^wxdPjBf)RfM~5o%
z8*F!`F5#?#wtvrKyxllEjSJaTH3}{j)F;f<+aAC0abXlG_Gy=ra2$B_s9+LuCXeg=
z*OhhVta*f>Tbs@``@tA+pXmWw3MK{$ytS_?Br4mzKsZB1oc4j8tM-9N@dM0to^su7
z6u1hnY7t>eFC&BUD7j6(Rkl-1DvxJHDwk^dLr70rzWwJP*D@V$hHkKI1!rl_f6W%f
z<jBSedfAR#@L%3myv?}3?LFBP!+IYDlKK+&Z`S~&r2w<W-#CdgcZ_xVAT0!DaZ?$L
z1`IF~i^Bu->TWk(m=o?2qGJ;|KD^jxr&wVtF6~YdZZGmEY?{V&QSt5m=k8j;`S#9h
zF=ze2z$?vGck<*B6MS(2c=8(M2SX|qL754TF%AE}{8nlpC=fN&;?JVjnmwdyvgvnG
zu?Iyi6!`&e?9nmzXhQvARy91}5B8^?cS&P04u~6?bsz+7awS(RjBI@_mwe*Z>Ud!w
zL@M(-Ocs=+uMF`2dd1v%E20%}O>lmLogn!8y&S^y^y6bS)8nJpx#iY{u6@9jW2wWi
z@p;pw+RS^&{6LT`NUZR{9Sx7qz}jd+*2GVK>g_5<J_8K=R>T{1ueU|#j}nSyASvwI
zkzJ<M1SWB{hHW#4`n9fp%!v9uF%<`=p?9LU6=yyccieGu3&lt<ku$dfR$ozp?fFKZ
z3Vu==eLw3aUgxG8+k_$vy<X>FC<<+(azvpL#DtyCPYO&KMEBP1j3i|6atuCOLa}lZ
zTT5sp%C}n5>N%{L|GJisD_{vJOziajccH=q@u)*r<FTbvAqZ$Dh#a=@wP1}o*(a_(
z;_Kk+x|`9>L1G?s=L||bu>*-8DS)91=QbmG7~ZZQxK*;an9<pexug_=6F(f_Q8$XK
z#HJ=zr@o4{gTffBw1gjoLkp+1`NKIlTBYZ7e5L)a=!95U{%$q=<q+XNVexC<tKLN=
ze-5r<^G{8w|6Iol(WWL4z&tE?Qq3uf5yd&1dgRZ%iO6kv`?<`zNEr-kd*UX%8euq@
zX2WkL-Ze$!*sc_RE%CsUY~qy|x$vOt^9or2i~{Nl8NNJ<x^yk;>Y&GBWRbj$>?!8_
zaN5O<A~-*{Djd}_-Y)x>*o08Zv=hgB0u?_k1f6-gCNVf1s&>0HT!60jL3i$5@`*q6
zSpZ+wig=eTVpk^*6ihhxS$&KAL}M_2rmf;_+Z>YGY2-6;!?k)}i%yBd94*GNPnd7|
z9Tt?OIzVa*0rq;vLv3yCOBvn<%W_-hqxr*7`3cv=S>Xc{uFH4pK*$%B;l|@1r<kdI
zo*bBKjq0j*2pbHIf80)yDp$P&dD{KSF@wECzFcc%FmDfhRQ*^OK57cXW((nW-R>cu
z7O@Bf$MQMpBnveXnN9RWB&TZ^ln;_%iZZ#+HI}52JvB!ZQ}*xI!v^Xx*RLXtwi*HT
zlu$$xzCaiH1B`?*+CBU>84C(fvtsM38dERptI&j6s_=TrGYG<&BtC@So^5EnLxL^c
zFbg6$6=1BLeQb`Tnty&BBYejb({d^h<F$qObhXKP*)>+Y7g6S|m?g%Hu9k444pb2C
zPUpR{-o93}eva1PIy&ohM?!Tagwa_N);2{8gcUS9@mas6CY2{6h0Fh8<|xINDo9*0
zxZ<zeTcYm@?;p4z*7+bb@s^XL8EU=L3FXg&Vx;gdV4YXk3Zq$(FWm1gs|F~R3m)e=
zsbFULo{_QZwa-vd7~~{GSr8^^s`c5Qe7HS#!;o-^d<)@JJ6mGd9OnGnWoW;bH`F9S
z*BReoi7Wtuh`6Xzkebk{7szs%_&<}~Wm<7{fqa5>K#_3EgWhuv6miSU8?H4F{fD!K
zUu{&mUxO4rk=xSMRC_-VWR)_*2lgzS;PQmkZR}FN{ZT|GC^g%jB~Eq-r3zf1a4-%f
zS-K{akLgKB1I9tT;)Mp+>bs>IuV3Y&m)e4;<nnX0PF@1vT64JE>+WvKo!^XF<Z9Qs
zQfi^CtrNSHkLt@mr(eXZgIe$YmR?j(!H~<DhD{xmy8?w*J5ESGEk3YWJ}4%E8@-Hb
z{PLQKc1+q8MiF|2yA|kW+BB2v4Tn(&&Sq+3nel(iHK`Bb$0%cYddxMHq`wDJ517MH
zciBs=q<uAA{^cXQS0)MZLji)x2YZ-YdKjY(EL2GT(5?Wke}w~Q8>q4q{ALhus#VNG
zyb=?ur~U&OY*l@=rv3JZU%ewojPMOgOp9+~KP(`szwMGS#_O#0+1nVDq$GIv)Ep$o
z=Qs3GQ3WCCBLFO$#D=0o?mpNn?)j7}+MZvQDmWz|L00qBdm`85iINn$6_iC%4e_u8
zgB1;{+3o_hJq{bW>E#bZM0OC0-Brein}h>Jb9{HUQ$J`7u!(qVeVXkou-cvswj|%%
zEghzq7ro&Rc^jBGBq(9Z2o}LC;HMo`AnrV<2rCsH<gI656e?{lDR$fP`r#)q)!HL}
zu+GOM9$M~jBw%GzA6o92GvUIiemi8)`rQcWj&N>e%LUOeumOaq-sX$=litcZ*_fFv
zH-rFOk}HXx1rL(#n<3X^>q3`3`TJ9+<l~?S3*H6?aW3Wt*j~ebOT-qTMl;|UJGo-z
zZP0RfdN;G(anX>6L}6XbuU>!qQr8))+3HhWqROHnLCJ!3ui?^~vWV0@ix~|#*Q)qW
zV%{iol?@sFS#NMQ4rM@m-Fal8F%Kgm_`Al`{2<#%1hFw=Wkm)c3;BvAU~$5K^A=q_
z0G~bSJB?9tRpFAcM%39+a@XNj10VzJN&28ow?G%>p?zSE*l!miTndEVYM&#Ekic@2
zxVj?dQf3<x%H7gO6jFZE8s7-Fd<1$4)==|uHwJyh+vAW#7>r_Qe7rb6KmWrV1_lO`
zpr9av<||Uw3`i)I<4GPj@#>`XAP_79>rk|aHOc25H_GE4H<>gU?<lG!rrDZY5l-4a
z!y@nMp?;P}`DtZY{C7cOuo<A2$v2gPAj68g-CKQ^?W58eFkyCd=)XgP?wbda&zUc6
z#Z2qRe9L01KGI!F;$$?ZbJ~!^5d?OGNOfcyVF9Q3>@1gTp7STgFXG1dYXX=~&f7f)
zn)=4$-Dih)tb2DZI@sc}-^uxy<!RwllUSqZY4Pcp|E0zk7emv@BIusxw^CK4+meOR
z(VfmkY!Q_{4c7(?p2xu8$&P^-Y?y~a^2ychN|u?|YJaW~m-z5cGigd5;cixnBNl%N
z56Y2jzVRSPTR}09gupi7jSnnR?@sr2(iJ9Kchsb7!mc1&oSl7aYBSad-zpY*N{!{0
z5y+8F!MR}fLghdL=s~M{BE~Q|QZqCBifd$c7nG+9N;w_8&}10XV*x1}n~_%k7RzqG
zWE_S48e#N(Km7V>we5oINZeN)l)5f2l30NTLL9#K7dd~F6Y<}+Jm(ccXNtkFkg6-1
z^=&R>Xa&c5ZpVE_@F9=-(dUgK*P(+krD|Kqq0+zfmElmKu=1ZD2Wa`7H|y(U0%Gq6
zSlWm}V>j$SfCJ$|hX|RqGol`-VU#%&CY3Y;q*I^4K5c8b2VhW-*_jb1=gyq0KGSPO
z&qdM62|<-9CU$mq4k?99o^<s{J~Ef}gzOIF?aj^d`prb@NynGr7v;|9)RzeVr|}oX
z&gbG6S>)=a0&eT7h$AE^;U|n3PVD`+cSs0*XBz`kfIfHVXb_U)+Afivp04@f1O8M%
z+YL#eP0v?!3K}eAWdK&WaS14)zo?lRg@b<7)O<$>l6o76v$(mnb><e+BtB*zOOBnR
zbwiqxS!kXJ+PIc7cm+dqO5lm0LKY%rDmeK>xb_B;T%?=<Ln2aeI;T`TfG>^U&aCy`
zBQ0{A$6Uop$yM2|<Nh5=xUtb&6tGhA?bq<4gc;`lK>XnJ>Y-lW5zUEw@qTwkQ1Wkm
zF0-xiLgS9!!p$Y~vda%9DgE5AoO8g#E_B-vOb{3?#>+oQK|K$`*VQrf&WgO>sjXSU
zny1CG9vuwU+6;yMu5e(uX4Y%Wc4J_3z9HfjVm5BpM@2=rm6`*iAnXVrUvH(ZOms((
zZbqHGo~h>%3X+n<-SWfC1DEC_fayR`5DP}GBz_lC@OAz+sc-a<&MIwy4|P*lY%!9&
zu&VwzNUO~|<Xnm6vdm&#Y@!JX%PBaChl|Hhon%7*Om@j*PTFtG)@3{sqe=qWijoLn
z_u6j3tarT<Kna;eKsN@PW=otU=r$#T^TbrRyyMKs(bmU1?>QO(@36wskU^cIkypmT
zuq<=R+&a07A}L-fA9s0t3H;^Fw$JuDS#>DG#kMJwPgIDTA7WTrUQe4ayTuD{ZL1JY
z-<yE#&a}cLAbO(!(pX_&OE)KxO2Z`|0g^L-3L%;*&*OrixlexHDisS>t6@NU#7|;`
z2Y1t;wrOc;VUeAZeqtJEp0PqmYTh%X!}Iri<{@+05~obd6@TH$dh9cq2zWSo$=Ysv
z0*|)bF*lv<R7YJ^lb4#Dz-5%?rs|R4ztq*$ZJzG0F7FSjT^5@hsY3`yn59sjH@~QW
zD6&1*(aWl;idG-D1xG*t`XWfjVfD|S!9@;(#^`}>78a6i=HjuKry*7ds7McKQ9rH6
z;eAoWrFC@)sehM1Y&N1E#|2F*-cfNOezjOZ;di7vf+}-V-n+CJk^vHa&v!dZ#1*^`
zsHb23YAL|VwzkYht*#NqK1ckYo2iunWE|^HYEO0!j-reVvfq9pp{beOcw=U<xPIL&
z6A96Z3BnP!rt*x?qW9X#@ZY@Wdk?>Q_y$vf?gp@=jkwJ;H}~x$&nt1H+eCI&soo%P
zVF^?gwLd|2GgV$vsyH6f8r`Xj_MK3@qK0f*LF{;aITXHnfr)fF;m)A%_bF7Z?i;)!
z-uoE9krT;b>=&osx{bD`J~V>CBJXz_V#4#IXC@aIo2t#AN}8qwgF}QF@qJUjNl7+u
z&}jLc^M^v)<Sh?8cs2sv(AM&fN}8{6LUAYx^NTpzMTn(Bg>coI--hQ{rvzWot&7QT
zv2@;|Am30Io|Z<9c&DMnRS4?U@aW%RN=pQeonvdBZKJ*xan2YrX&xDo>p)vCr%5`=
z7;XJN5wD^7aL_rcL_zHnBzM~ZdwY%nRPd|a`QDm$2)SSv1a3(w&D~v6=+Rq!otYg;
ze7{y%+TG8+x=J64NOnx>Glufy{#;<$Ya={l$AGwP6o}XsrNU#||GTg+%FYv#P6w%R
z8hd5#P-sn^XBEM482euL{^%j@QmBB+A9WpP2qfpm7h+wO4T%rz8h#w+_xS5aH`8ng
zPWqvqiVmflX|1;dtdGk(Z>lRo&k@45-%P(ZjzXu0w>p<=8&Ir!9IO?5NS?I>nD7@>
zK-R*I0u~o(ta{HaFEcZ9p2_oh>h#jm;r*pCiZXm^O1OqE{kv@U;6HD}a;qDbn$vTo
zLDTt8T^)~T8WXm9C{gp4wlPuCHLa+q!ILXB&H_S(pW_@a-}XATc-AloGLGqVenkC3
zA0zCP&`;4KWf5xxpG#kq3UOXTQW+d6(mX>w5(q%+mAu;|X#KK*GMdgCj)IEX@;9!%
zxHufq6NCanBItVBgh=KU6*2Db?wU&dSzJ`IpRLIIC!cLQ0S@rehK6Kc3F=R)9a#$t
z3!X5c=L7~N60x*7%3;Z;OAYTkOK>YRyTIh-e$IC!o!1(^J(_v<l)`R6A_T@V74CXn
z<>lie%5L12HlCH7+&5qdNMf@@Jz`gUPQ)c7#+vMASR_=HlrSre+cO?eXeO7JRbEbU
zU%Cdm+>NVKQ~yeU=8-|&6b=jZ5p!Ugr+uBy^)F`1i;bV63h)rV|6Q`#RWdT7ym53!
zIGkyRgUD1StW>goFYOn3Xe0uHS0}oK8{n2$JS+@v47bUb%mORD(gn&DKU`>mYKCP|
zB+*kSI@DK=))H?AtIqcsG-{^{UG#~aScny`uRX}MK`r5#AKQ*{`g&49waLh9QjcN}
zqTxFBdG52Hp6LuEs+?EGu58CY!4@0kM4y4Ltv6^IFIpuv&9FKIePSxHogCiGuz1y7
zC*XsR_<engywvkbn?>(uj7Aw9v#R+jP%V;hy`F72So_+p5^T6!{&5*+)+v`RO)r6D
zr{_!VU(kUW)i7>ne8w!A1wJWtSy;oBvmFshde1(QM7BV)<|_5U!J_aLhCjnDub7JR
zq)6H;foP;ex>-4RIffjN@pe{wfy~5YTo)Vp;hk3{Nihj;?@4P%VbGtv1bzdBkmG*&
zaNY(whCC4ww`YF4S1vjB-{!l6*$jSWu@-M_zaJK6^%KXk1|Y$-HLJ}V%q$^$g-B8*
zNb6+?II~hKN5;x;W>~K&?0(2Xgc54sow4|rvIOc;u3zxWpgDqGSAndPUd{4D7+nyg
zed$98{`pJRun=J*|Ez<VT!3fjALp4JVD(iHP3^oHg2^JC@vaC^tgDO;4m1JyB)1#_
zB*Ag93#_LN$!B`hxCj(Cv}n9d+|U-#cj?^wC71Cpfe|;nRwKC~sJQSjY;qx*I1mAt
zt!{g6(xO;oua?)yTa>ceZNGZ{`XjOBSXEx6x~LTR``hp3Si8OFrRIjKKF@U=-qxpI
zviiktcqs3;Q!fLaR$m044pm>2C0~jI@?<1mutSK99V0hY+uv&V-X)Pi+A&lgSG{&9
zMFO71`1$x`)9?d(sb6jfD4GK<Mg_5OPFt$0;{Ydug_Z7UWXsEN=cCfXPix$#J=K8x
zpdj!)K$sNL4FHTSdq+*HMgK&}+hbWu0XH52@8_ybc62BJuh<ug-k0Z_&bS&YAx;oD
z5Oj_Fqt5+E-%87BG(*lL;EBK5=lYLzI^|tAu76h`7-R)F6fUDo9)tZae^8$ZfG~8b
zjSD$DZi9nx#-45hUT&sWSI0Mw_xIO3HWm;A%^uS*4>4=LUP(Uu8Q%rA?d5tDCr{vS
zUC>AW=Zl=FOvjGFVeKkIg_oz!7mtMod*Y`{AP%@tDfRrzDQWcZ69Uv}72zB0txOr^
zv6=4+4-ZcoGh$|n{Js%TpP34NV)1j-_}<UI0}nYEws|WjpmO!EXAJY*;e(v95~c^=
zzJ1@oF?U|lPvD@rqd3Z%Tkl){_Vb~&Ig*E7XrF*Zf0~5N2PZgOICIR{-ypDnMRAmc
zD|`O^c(}jS_Wf1yV~T0A+)Air>tdsuLrFoh2FVvy>z&IUDZW!ScmwTW+wp|_ZEwrp
z#_XMv)4s(WqO)2(C&!|<>H5S9UC|a_s9pGtPRwl7L0t0&g<ZP1?*@vweJt23qa<on
zBc|};r<#Cq>=bGCz&D)&b5g0V57ApCirSl|6|$>VV@6|p&LTefsctAjNQub?YAl2i
z!@+)_K~i2~czj~2%~sele&T><QO4(1e0!0+iu@FKgb^ldxnm!z!J)Po9c@r&4=&@i
zXRD0ZL#8g$nfwt?IzhQi+p!DWynHsazUmuIhjTgzVqcJv$Ts!0mU69k8V1BUxovNX
zM*$>sd_>4CuXN3Qxa4CHVw-GEuQ~a*weW;kWGkeg<5)^jo9n|r^&Th2D2%8$6uHIO
z-jV!-rf4LvB&5AO9Ut3~@ojh-HSRY?<4*3C01Lfqi;Jhgt#;3+Eipymh3-QoCL7hG
z9t{s2C%XQt_NnUrz(niLC;q3Ym-9|ItZAjVMNqQvd~T(Xo3pK`TChp<flLLzbMUMS
z9iVQ&(cr6|8`%B}xG0FGo50G!nw7X+Lwwwu45#*&SCxF?`}qp34If57Aq&C{L{$qM
zpMM5CI9OIxzNgY6&YNh6A=MrCkpt0d)DB3qW}T}~#~$%~JT-)-wbv)B;{&KQpi_{i
z_g-NtiErEeez|YOxWq%W9yu5NE++{I2m_SkvFeu!My=WboM<x8RfH}uNoWU>H0FF<
z!1GRk)#;b@UUZa7kkBsceBM;CDz9n3UxZt;Np`@q7u7gm4Y4_#uWeffOaZqffV&g)
zX{kAW2R!^GXBn4_(2(3vhsz<28YEhy)QqAV`#?&A4|+Yvi4J`Qf|P35j<oWS>Ey`Z
zR<Pu~&urskXZZg!_*c>_!*D~YSa*yav}_$C;!`UqbhvRSd1dr+j1^&{b^G&z$1NWr
zs{PfzA%~@fmMO%9c0s%7P&ccap}UADYrsss^kXOmvtpS=>7{f8(wgF&%O7ucfv)iD
zucRzdI0!)N2H6t++!C>PG>}kW#9S4lxs!*rFN3qukJNjLBeiA4RC=HNpDv*wZCl+)
zZL%<T+rNe(p}?pD6^mQ<S9}19cz_gqTL-=VhyEtomK8KJq&9=X{(<6w{5n!2$9X=8
z06~ApA`%3zH%ju`G*U42WBS@2Uv?S&D9Z=whCvt>Lm_4mV|D_)7P|E8`POi0M@M!}
zU<f`}Py{+OTMQ1hkVsRo_<TK;=3%{$ebS<rdb8N%rCJ|nH9396?n}Wc6fq1_CRlqz
zAJR|ZYpgouJt@EFjbm%nndkU&3lXn8_!H%=Klf*j-PXu)GOgGom-$c2mnmR4)#XI9
z_O9%83hjT7)Gr$WTp+M6_*N?5EOL#C26Pb?`1+vRm!|Kasq=|_oPE~fb2rEI>@3f(
zKvOEP=p_RnG2+2nvcLiU&P3p3R|n{|sXd6q38x?oY)B#Dn-+&|ig=9x2>8tbiw7G>
z2gI{W51J0eBqlL6yGv%(Ny7&J4yl($Vh0JxGkg_5@{{%^kwA1XtpHWd6W^fB<N2aw
zhSZv2nfi4tfTn}l-%iBZV-g_;i5>6R-h5E7_T}tOTl*C;<N`Va78FV}x%z6th(hq%
z8$Ys`KV$`8`2SpX!Ogv!ivx=oVn`B!uF79L>SCUFUU@!X(6jx9$xodfv**$^$LXyq
zEV<B#QY+edbebg;KU>|NW|F%XC9@22b8IUzbp8|LDYR}}pY7r!vXJ`^sq&q0vG1wH
ztf5BYpUu0VU%L~0{`8_c)LPu6k6o4>6fk2+GcfC%rHSo5+WZTR_IJNj<)35uPMCOH
z*iul}H<C4}+^$ed2>YfT%+vFZ*$f53P9*Ic*F(F400lskJjzb%K>8cJRdZzU)E0XB
zhDh~S9xBP_QS`>}&j_l2YN^NKK$y02+D@;C0`u$DA0-;K5~`Qs3oJi|7bu1+4rEy?
zF)qG@l?kUaZf`xX3c%A?Pu?M)L6C&*?i_dj-At%P4>Kkc<uBV!m-mj(3C<j=T=N9W
zm|Np>Ck3UR>y!{(St)Eav~46T#1;DgkPgi3ctNjnk%Ll@T#&aBt4-y*9BA4xauI_b
z^JK!){sy`u-s2!W6wOm$VFw%7yu~|2e6yw?s@@F}=}H5;((Dej2L@6{qrqF9J{MsB
zrO-v?3h7uEn@2sUrM|z|N;Tm*;C5UQv*HFhfrP$epnwp<P@+-#!zI$!y$|DrK{X&#
znHkO+K@f{PKB7Fh>+J$*AZ{S~CFex9VTW%zBAtyV7ZKMNkpE5M_vIn0j5WGa;g(PV
zTOMG#548YlSVJu$ajtPyTuzoE+YO+^MTd5TtjVSqSBHLD>(#Gh#ZUe0;OMp#OFUhU
zbsV<e_z4q(|7N3HaaJ*>>(`i`?jTO7D?ZDOvkp;@quECa2Q@631hnZ&i+JPTX+wIn
zs3i(wS<L-111HA)b5-r%?Q>yL!-S@+e6(lv+Hg%)l@I50)e})Re{W0UUa2ODjiS?x
z`jq#Wssg~(+XOox9vui(scM5;O)k)_^?ror|4Z=Du9X2g)OD)}(6QaMH~nAFw7VmA
zVhh}8O{D|rl|mwP&d|E?vo~=X;6(7xAVp=aV9)|{n04SQv|6i8ZSrfN-Fg1-bjF&d
zk|D3EIrGl#4G3ag^<m};cW;98IU)AxzM78xDH8alF|RV|YW@J3zSoOvu-s#WMeGMg
zl6$ayjqQB~2((T(JTXGk#a3%yXEG6+_SVB8Zrlpb4%?wJ7i%OmUF56ZNLLR_hG2*u
z-({azwyi_N&8*MBYln@rZSNhgvz4I<;c<Hu;UcPjZz#p0;pZ#@%?pJ85GLAldQS)K
zj66tSn+5Q+N(5MvH9SQ8?()CLR~grvy>Ds&kIM;EUq`v-AWkJDA~^9K2XZ+^+sAiq
zd1Z_&y@|$hcssrsoNmQ8sD;Y1(N<C#m_^IkBjs&In&8iEL&_{q!S%isk{y^{hK+sb
z0+gm~jZ2lH-{oaPlJNeE{$159Ts2(vGgE5W=xY@ykOM1o>Toinh{>7~Fb5k2L4)7k
zp>c6vF+y_)Dn-^^5_Dc=&Tcgnxd9PnKV^KE0R$|7gi2=znqh9=0>t}w-pqdG28Z9i
z9{&`SC>l=?z$yXp_`$I6(xU?4C{rtoxj8!>17D|c8UNshRDE+#@2BXj=*-ASOkMpE
zKI^c<(=#aL`O%FO?c4YBP`>JTfij9u#*7M1uTWu|g_CJdgnR;N3LE+^wufPLZ(RP(
z4YKTvs)8Eng&K?8YTrjhY5(>fF}0*8f76N)+VFk43wPKB!|hXWXETeykx~>VlXj6)
zUy?*)fvPRw#WZ(a=VGtA#~~%p4K*y6VFvKQk<YEKCB9+T|DK#?SHU?nM?9zH(to}M
zd($y%4e<$tHp-4^hFUzS^9eI)@F;VXTId<a7%&P-9=MqIR}T)eFYXkHVL&5$K1hqf
zTY!cz*Wi_o9MJAkY@Pws>Rga5fSbEy2bff$SwNRPFflqsBWcz*tf;9?*7isTFd<eR
zh^U-2Lu~<*H2Qqv-ZHgpmqMA%RIB9n++X>F)<kSe!#oR6BF_RD{Ok82{?|YT%R+Hc
z@l*);O<e#wFFhw&zK2G5aM+g4O5us4q^w3SMFBM3SqE|A#10XYFR8v4AVN|iL+)%Z
zyE>e`>)&KiefkfGQAD;quP;@oPJAPDcMN<rgb~1WVQ5E|%z-F$9t(d>mVqlpvKv>f
z%#;1o^4pV&ds-uX-^4PREG+H(d(>YjJq?-_=L)S9yKlB-sbcZtA%{X$eK|MHSP@8@
zeM&JdW9i~Y!)8^beZP#&=J+_sf8;703#!C#7c%tE3jLuIq<^Qy&z)@iW}G_qK#T4u
zr+EiciKVpNn&WER=pC<Irg#8ygX?G=p_3XV?h5xKC2OQHrU`x|ZqnpRvFc=7AvqIy
z@&X?vFv@V!(?TUo;s@eGO;uc-f`KqmDGw}{p0xt2kkEg&yLTJhv#=!W4u!lvYW40z
zaxAFx!z%5kzo|(xHxh+oo~ZzgQ}OO1;5B}4F{YGy{jGJ9_zo*rO~MTfp)$yrTLuj6
z8RIseWpK8?FC?WX#$mA)ahI$huO>#F)HHq^DfGC!v95yu#?-F)Cc&Q$O>zJXwBC!d
zVCduC<ytp}x3bcY_pCo{Mz(1RJv9=yz5;jh^S{JyyoGC7Nie}X>+cRlZhGm7B-p`k
zk#h8MKfDXdS<$<b(TCSXU<ePac(xk8#yf~?e#5=AQ#tTkLKmgUD~VGeowzAdk6SrG
zc4{r9XcNd}4W6*QD@@W?Q#7{lduJBNBlnxf_%m}(CPRuUClf)X=B2niGMaqfxoa((
z3g2P)&E7j&koXLH?}1ZxMUSa@D^7rJeop+sCkJM;3`3Kk^YK5(48E0c&nhLl+=StG
zQI@j@AxCQ3BI2F$^*!=6v0?U+M_-m}j2eNcjf&sgPL)%A{DOL-I*oF?ii$pc;z=64
zGu<O@ri^NKBKn^fKs_DiD;&cHBL}_!JAr9{hl`r)YGjPn9e+2xxx%@mEd8_ZrG>~9
z-2U=1B6at6FV%LYf7w?8CL<XK42Q|KN=GrQ!uzh1-H!P9M~AmE&X&(2I|?ib)h&D^
zwFF%wgwc3?60$hQbabJpaVGhZVa6F5M(>365i!?!F%Otir&_&%$W1F-Ny|`_7GOil
zy43OK3lG|OW;icE;Un#mKkigtvb}Gf!|t!22)8af<Sdms@-3}jJTR*7g;hQWL@B2D
zEAiqyCxRGqCN7WTN=*N%+RmQ6#FPoX1Oe1Lp0f1B2Z7uWB6GOx`D@!t`Ed$w&n-r8
z&tb5)=M0f|vm=LB{i_TKFZHE;!<)AYs&%UXs711=6anU`$g?L6mZ#!WC>|K%+0FBk
zyPQ9ytD5KMx9#^t?H()ubfu#s5k51_<>)`;@Ho+LEu?VM2xMH=_2Y-mF3GxWOqR{P
zy|0Duy{Akj<AW~hJ6x!dhscC!I9SVzuZ$jSt;avumBI$QYrLYpRP1}}^y=$Ap&lKI
zE2<<v3Ans(I<G3jfZl!HGZ6TM6{rx1Ql`I~-l$h!-jZ5|IJ5pptFJlr4snLP{zpr=
zd!#no_M6n@S(&z{yvB4_-NPxpl`bj9H``t+e#A!(`+0XWmG${mA(B6JzRg#wU3yt;
zV0kzC5n)GO2{{^SE3zT#hMW~P*b#w3&?$H@U7fxg=rXFt@oduq%?$V7&iiHQ?=dq3
zCyqNd_<mS{$K4#4=@u6J(qaS+%B`X<l25&?W;wSGT3aoMKkbT0F%-JBiQm7*;G0T0
zmZ`6BD;GM(*stoVRlGB{DJNUAZ|Sh7PEMNM51f*7z{OkREHCP2I3RiLI<DWl9f$TD
zCDTxE)5oaaVn#e8;K92KlG@$RQ9Tk5X&djcBv-(k<`R+`wBw?oG+!RN5-t7d*uj1^
zB>bLHsO5gv`Zdv<C_nuwh@Zj1cwtt&Yarv74K}-RODKT9UJ5U2^k1ksqG|tfp|tQ%
z;Gx@;Xh#MNf(u_);m-v;ap=Ek3~woEVq)8tlx?Vds`nq@z1$a-Eck>9ol3YuEh)47
zjv<r9XFtfn!bW`KpBwIs@H8#qD4Fc>si@-A91PVK@r7P%*d0ml&!3{R`)+$AEqevQ
z^~W_nuaY0)QS08zkcmB4Pj@_=*m%#Wz*8QRM6O>Vx(Dk?snzc8S2cdezDUK0zGU-Q
z`KKd6Ja}t>L0;&wZFZ7PrcivUY9}C+VgyELOHFINyy=XZR#P`k;k(>{iB62-+8NTg
zxI~jON|Cna*RB~EmtqP$kQ;kID(bD$_L>MORXPg&2TRP59>=Wmfir8%fdg9hFZ=DO
zp!D&nIDzNb*b%SzS=U1=wO|V)qkDWKgKKVa$s5ai->2#l4W$1}l`-m_q2LFbqw(Ff
ziYZr{Sxh=7V`?x&@rV2zAFtqs<OATs`!ffB-)YdCJ?4Q6Z&(SfZ>i0M_noT({AZKM
ztwm(6J6}^|quuNQWqB`KLZbr%d1CMFvpN%Y-2qUc0#e^gvjb-PO4GOJC-|sqdjS5E
z-LrlMJAz4I>Rj)+YTp;A8_oo0@3|YcQQJ}_22mg?X!S1Ck(VHJt+S#&h^XnCX}cdP
zyW`@!VcFk4ffxsE!aFF+{e5yL6M~uk;{#$s7krhka(|l`sub@S75;D;oBD~M>ECv}
zGyQ=#_0KEVO?gabVMCVB?iK^}#9+4$sqVc}*{ydzCE>%P)qo@qP1gDa+;qy$J784x
zmV%hLQ-+vmWvyd}ndCJWm3~cFY<9=nfw4B_On0iHWmR!V@Vz$F;P?5DVh&7@6O6;q
zFD^sm-qzbng7eqo0&2bK9~2SB#y^cWdRE3Dtd+Y>a*2NUjKN+{!wrck$l<@THZTbo
zX87w&7%?*aLYoV()N#+!9c94lN(GFN;#eRvFg6)vJ;r4doW5lTE~x5wBK@@N@-;|F
zO9n!28iwR)RO3s~{<uA0ey2S&#A*?!zC8V&RgkhkX|6Lj=9lWkqt>s|I@>^g$iP^D
ze0!9;M%b*hT*JlQe|^*+p4iTWo25Ly?Wp&>)7N<dTS1Aa?=bE3FVIyS#rg`rPAyhX
zTsG=3x2@anFFklnw_Z4w*mUC#cJ2;fL305f*Gp1{$4mS_3Td~(<a*93zf*#5LYBiI
zFc-T)6!L15NTt%%C<{qcV?<0E=+1TBnhXI1DG8i0<sLzD3Igv#IINw4r7mb|bS#oo
z)AzL&&QCcq$b|$n5VS4c>bY?q_;9^pVBmMP*wWE7SsAu{i&m9d|G7wY?kOSYzmJX_
z?OZQzIALID&8h)wXTgRG=j3IZm=&lE$R20Fi?fd0*+2XQyzW2fX{!XZd(yL4eJW<Y
zW5CkJ5VmBNr5@2&EdI3(Coq=erR*f4d2?QGR58~}aVO`a>VVqyfw&~EdZ#M?JBZUH
zVlMmqT`Qb7M?k=pcj{axN<dwv209{>mTh-b?6_0;_r^FtZSc@kB0Iw^YzzpG_`_CU
zrWLxdH{T^!dx$N<`$E=4Ol)YaW?l5LPg8)v;$7s-7Q+ep_cN-__aZ6iR^RhO5l}Kf
zl$;#C8iB(XF!OL1icFt)v6gfMHJr$UTTCnIt|Z@%=eagcc)PK|bHw}(!|_RsmI*g2
zqLez7Lm{W&W7xJ}^@bY{O$s}x3qG^B8>-~UlNkD%9h7bew4X6^ot|eh+l=h2sE#C^
z!}KCG!O&PSk9dJ2Az2M|my*)<9H5aK#X1ExH1T`TD6`#P*DPNS&n|8-xaOVUaue|)
znjJ@iRHHi~(A2-APr2USD)ISrvm6hPAr9Ea3H8@wQS;J+<onh|G6qCh?~PU$luGrG
zy@yi4&FVif_SR}sZQ=oBZ4@hWG0g~LG=y_0ccBriI83;~_PJoBM?}B=FWQmNJ(<d|
zW5Egos_l)-iH5sp$Mje3a(_v$#n?&sj{pTNrByTOHa$g8?}zf&`m|mDWlO4=-l>+l
zUz`kf-a-&ykMTfRAnSGEuUzT#0)QPP%~1-?f15x+P_ci}h>ahWifjO_tVf}WQo1az
z$MzIrxzbfV2NwiI3LL`I$dO6)s>|{%SCqQ5Ix~aLOwq3jC5E_`>U9#Tf%0>qmdTB@
zfy+(#Sp$RE0!QJ=BXQwKm$U=Ihx7Zxy^6(jjH#hPJE!0|pmwO7X=P*3TJGK7_CbMI
zYJH)sqnG|Ahj(Ik4q;}EmJ+0}De};M`nFKE?SvQA<z_I>>+07>{J2R4-tVspdF-VG
zb6<CMJo4%T3Ki|VlxD=XiZ`{Tp?F}rU+KS^LwQ+)rgNR>pOzCwHMP}k3mo>kdRbQx
zT@P*c^9B*>M~K$eQ!nPu+lZrDTHZ(v;G*ilfBj6ESmpR5Ta5Ir6mu4yipWX|^X2go
z1`tq}9JyClyhu{%(l2$s<n7`v=<Sj|q}8ZS;4bb4wlA#awyjmjH2Jmpar$LeUqmSM
z?YA7VeN1}aa1+%8p|>>eq8uGbc6Uuq$Jj8;VBxI3p4$!9eL(~>#^M;7IyplF6WMuj
zrua;#8nnjE!Z3G0iO!$)-kZPh7>7UQWV^&h%C2_Rw>2ITNDxQTwb52NIxd@|RFB#B
zWzd5`UC=|}ONv5EVlK}v;Tqqqdn4D!P#uytfp@xf-mKz2`>!nTk!(c0W7FgLz!-KJ
zRufS=pVe$jVtZyrU9X20U%#pr>fbg}b@{oci-8dD#ovui@_j!HYGu+EYPp13vFNpi
zRJqa|4*!W++FF}v?7c-v)O}EDqvZ+>%-<f<BeHt;LS>05g&;m;jwy6Tr1f2LUcQ)f
zxuB>D89{mWdv$$$8$xc9;Ar8G9m)KJR_O)LQ!O&x2MWui(Yz%^U>^O;8xaVphz(4H
zrC1{i-LcQG1;nXmLV<bog%%3rZ}O_z&Pr!t#WQZH<=pBA&(Y4j#`YKasb7)>Yx}Ee
za~dy--TVOx*rLzb`q$3`x=!nC^srZcagykOWJ5lG^iJ5AeE-@bUxm7;V=1OKI;D1X
z_|v_(vr+LcwoL!<SQnp|cE=*+LUg(=W$DbzWjlf#n0$c1uW$Wqle=a$3|r}w+VKjw
zsJy$~3lwBOxuq=JL$4a?Wi8ypF6S!y&)LC#>3?b*eB>QHJB3R+KV$Ac{B3Vpj^z@a
zj{6g{@og@vU$`-SF?})Y^6FRg(dgASYtB?1)xeqsYW|Zz(;`{qwRL%IoY!I2JKi}9
zEYX;&U+e<{u~*`g9jjTY8)mut&EbryvG@2u>@JWR?^@{A$BcNGn$8uLpOHuhxxjA}
zDp?E(;9xLR|GVGMj+u+Un}VvZi#N{v4&blvJ(A)7*U@x8Fp^IL<Ube?6Sa?av&<(6
zrUWQrW(vx>GI{Ac<SdEt!%7|SAcAfqnkWzP@Y+ymJFHo5AzSphS~W^rZM^1?QIJs3
zEK>9k1sM805?ShJ=@*n@=i~^lENwMKL8LXIRq;4GM1B;Z(gM|O5R7la5-cTvW?I))
z6_Wmnf}93zU=aU8>w6dfjG~?Hf!Y4M{h?o^OYKef<k|KGeSS6Dkorao-0{*8nn@%G
zC%bP{0}biA_;}E~zt#X0C^rOQ!Kf3?b}QwVk88t8EGs!#FDUjOing{s_*_XL!Pp%B
zNS#FbbxkXudEYg^M=@UaS=(@vEN+P@ztshCVu>_-uU{aJIz}eZ?L5i_QKlk;nDQM=
z(CtOk#ytK;ssLJMx1m?2AHCmEeOmDPhC?N;v?na*`mK9V0EKTN9|TJR!KUlcx=sZS
z-q&Q|Kyfa(D+wDhVtfoyAu52>+J5oQQ;50?WuBaizg+N$aCmENvoO_BO~#)3CJPhg
z7I}>g)cgvxKd)qtWxyofqzf8$o@Ak4E9mh1&U4<|$e^;xYFp$`ncgV*#8SERj6f;$
zM4QZCZ7MCs3rQ~j7vF)A;X%H(2`ZeSDrkA=EL@>notO^ONQzYN`IL&iy-B{maC2g#
zzq6=Wdn`EZwH61Q_K1boz9XfE6PaIUpJVk1K*_q>z4VsQ2{nB;c)=h(qIkQ?7vI>q
zu-2z68;#?M^GU9hzf=$HBH5x|(ab+QD>Odm#c70nil)L>PT4N{@H0gLTP|JmWX{As
zis!Zg>RZLhGfO%=vK8}~(S1-`1?6M2KeZ6Gc%ggpqij+h=6Ui9k!-E#ke4Ki{bK|B
zy#zf;?TEQr^6t#{E9c~SAU{&g`m%&#zxsH8UexA_fpyC~aaic|fko?ns>D!6sTkvo
z>{WGg=sIr-=BYYu#udLq8?Ii;*}eLPpOgs|UrH$ZqHY`kON@A|mxDd;T=*~#{lV{`
z-TRuYhNUmCbDleQ+Jjo9AB$S%ezuoFv;(#DPi*7)30r-d5<ddT`h3l^$z$v@lLcZJ
z5s+}Cv2uVk?nAt4w!izSX@q1mt@AqtOiZdlaPuc|K$ni8lM_`k@Sg7$*##&m^5W+F
zhlAMC2-wQ88Yis}0_0HdRlle`{Ei7w7+!4TNetF3%%p3!+Afg#$;%fx%`13>j-a;r
zV&b(SgCpVhPOCyJB6r2Qz}@J`K*|KSD!-79YZ*ST5@o+YBIe5iLb+rzg`&viKKu$L
zZ!RMa>^EUwkizVBpMN&db|_A@!UEWqswi{cIL!&4oQ@Uu@m&Hc9r2HBk2fw}T%XCj
zzx0b`Kw=x-QxNC&8NAlic|(u`K8_u4SFYxG`aV@KVyEY6LPNIAd9Q!0e+XimO=dWm
zd`=&~@ZtT0#jKN4`9O%xSM?Eln6vR&)cf=CFrPSQ4hM&CxH~!*@955tv3+SPt;k4L
zX0|Hcs=e41>$?TNUt5l(t_UTdM-Us>Y0S}B3Al9B+?wg><~?}cnlk6kG+!<})cYTR
zGbaBpJ{iHH>beRoKXKNd9qG2bJim%-8Q~1X;Dg|`(Pv@Y#|>8p<njVVi(%`vMDkoc
zMxdIk=r!e!qlawE8nAYyGQ~xMM~CU8I3gYpsrL|4ZF{$HG%f1GJ(}H=Aa^Riyx?>D
z8go@6J#TN_2lJ`NKg~k(7Qx2O=E$;Ej0)pxxj|`FLpapLQ)4M^TwO~8moS{HS)EuB
zUDD^C<<rWA*o+&Nx`LY^AocBex1aVaw5sjJVBvO}e~2Yhp=IlWxyc;8Fgyib5mODn
zw^;pN?ImeBds2LPFSCw&hQS_i>{x2Moch}El6I#01zqPLc)MU{ZB=7G+T%abQ(<h_
zt>bjZN!%v+BfcBeBk@qy1AT_b29O5-gwB6_AC5$^F3!D>Xrsiv@U=Jdh(u;-uAvai
z%qX&evrM9uGN9l-01`)TedtkVLZBXIhI8C2!0b`8$}H0?sD3OZ8GV7>64!Lsu2m0_
zQ_2*JZ<~UA7~`AlwXgCV%`WQPCK<kKKg+QHGiI1$VI;X+m$jwkPT{inA9s;zBc<rJ
zZ>-C3Y}OBvCL#9%$EA~9YsbiNXLa>k{y7`to$_WYn{A$hbHf$lgBUl0=<$9ZiAD>P
z1NRo@I*ZH!`Pv*#hCcZFI|=S##x&r^t2uv)VRr(GjfCv+I^0H;216Z-ScsRHZyYvq
z8lYz~LV%2^w{ma0qD1AwVI@PYbu`8w6m{*~t?#fJ!RANSJFuPN2jhS)Q>Mt4gsIR_
zN0;yIjV_#$W&_?x)8TSziyBR8oc0HC)zn`u;9ZHwJ7XP+i?Uo9i6-kJ+Oy=}B<NKR
zbO#*nZLWE|e+1x<Ryb@c>JKbfPrVXTAeOcXM-z!3(lU*{E1gY;Ww@2u2SQzOCT5F1
zm*M4ZD$f~OX+k3{W9ZaY=HQ%Cs;DZ!tDGpu<j6>h`rCyRTc;FKO$*C}O;I-bX-)A9
zQWhQv*=4Ii^Y(3ovB~BP<tE_U>6b#3;A8x~&a3|Cd+XIu0<KNKivkL9W-AWQ6tZcp
zJV-Gxz12xjT+lOgs_QmmmMwQUYPB$gS9Nk&X~i1stDlYIt(J~0g@*8G)ILyBP%t*@
zvEw#6%DGYZ>mgfMWn3&EX!i56YF{^*6_@@mD_$k%&1r^=PKOW>3`~?oKT{TP4Cp0i
zO7a_H+>a&S>E~wX#ZW%Pp0jrK0k#F(XZV#bPGBP3i4yR!=*zyT<}A0aeW>Nt+5MB4
zDwOO1xBzu=e}0@H%0PTV@4ZIQJr?tXv3^UpHDTY)nZMa1*eNY^X%w<XA2p~mj^4-@
znk78*j<}}w3ff;lnrD)|w?O819VzsC&p8ofp;OWjz+m}6o+dn5W<5Em<1f1$g`@t?
zmO7J*u9B6$KDt%gIJfUXg3)nG0tIp^tl%i77}PRX;xWfr;&|d%`emajNqEBzPUJ7`
zMjjwzyDZ4u@E~6H=hCNa;Z&5x@KU4f&!ZrI_^qvYj@n>kKw=Gz|GfU!vYVx>3&<j+
zP4=Q;fMdfM{kb2B<$$xTDn{<b*Z*;JmSItKT^Js^m2L$Q7`mmTJBRL+kPd;7h5<xr
zkdC2Cx<PtC;-yPErMpA=JAS{p;9}<NbM`)KJ?p+PX^&JJ*-TrLHVOn+ikH@#zb$Yo
z`%bz663y!Xm1?#OT7#1%o8V1o@cLY-ze}MidG{R_mZQK2%t!7fU!Kp-E?2F<YyI0o
zp-*1MKhgGPh%4xT%9C<wtX9YeG;ruJTtBm&p@S-ZvU+>UD_h(gh49d_o5AI=@9xJK
z2C}tQAl>Y^%vb{ZU5cqb=^4JFz=I6JBj<#n%TU<uoK9!j(=~j~%RCB7cG#d<Bmil`
z=D{4`TdCv7W$M`(5qMDH8UH5r*apYeCFV;$K=NWl=zY%;PPR;>86`Mru96M<&)cFh
zq(=)~0(4R27T6?It*lBS-Pp`ObZ59D$g7$DQ*iw~3fC8ROJ5>#>(od5`&=2WledlD
z{`1AiafjBRO`^rLe%_2dXr4;LFX~^<vM?mn8y^a@$JaptOc^O;7Y;HCW99O8J#W#(
z=m}^jYcgZ2EQLa}XJ`#Zovv89?}PYwE~ss{#XwTqz8508C#08Mm&OzK)WBe_Erh3?
zK_m+vOj``C!Ls}m4Ps78Of!44U73Excq%l&VqcK_1ic)N%+}Pn@*Bh&i5BkBt0)>C
zY)CY%>0)B=Q->wIO`P|GPo_gO?Jp=G2TD$@Dtno;OcfV+=_|KIAn-};`-l2UPrJLQ
z8|H=^OVVzX)Kn**v0_geIQ=3f>PglneC6a~9a~0Z_4|F7`^&6Z_t=rDovhRy;9WJ>
z-b9)t;=WuAEc-@p)~W1MzAFBS%F9Wq7bgkoQ7GOWq?(i~%u}_*jQ+Y3U)N|#G&3k$
zn{iL>zEV6yTrz1dvaEL`yRZ5aRwpRXXw$xV6H6hmmZR8n4>5@rpHbn}AoD%&wqi^7
zc<8&*N^>Z!e8r0{Yt5D}pHw-U5-0~8hBG3R?JedAtV7@FeP!zyYAdHq8w`=3rm<lV
zZVD(He!E4<<iI*hrNrz$)um|qiTze)h&5E%4@K`Vy>lBsGvEq?&t{7^(O^M(#g!PI
zI^E*7-w42>5O5G2;8xW=$`0Cg{x{vShMz6AAzbLWnsfOYmT)6;4;#Y#^(rd^4W2X5
z72e-aa9Z8)WwKmzy<nywO5IRr@RicNk|J#;lWb-TZ&z9ow2WDqxhXXQTCCM7_xC5!
zSDs_Rl8~n5;zR<43wP548O;u7fkN)BQR6BsW{%ZJqh(J(atc3yyHPQR=5MunzrT@w
zNL-?K=P~RGXPKKMraMzG)FTOrA;<7W3v*2-{OqpRR1_j48Okf6jTGb+^n(O6jcWg+
zxGlVQdkIxPO=IQ1;A^QsLFW={FjvCWL`hxvM5FB|WPSGXa$!;w3AT;8!U4P7FA?}Z
z(XZ3rb0zS)e$X?cx}Y|H(H%qznGGS8y)kEwoEBAt1!H@Zu>4}ccC|R>lr4py-{=2a
z2?sIS)L>=yA~SJkyZ~x7WfVDoQ6<huW~tT+0J?=vMdXhnOQEgg5%X_eFd~;;shNK~
zhy$QOeJW%ph*+a9yA>LA6q2QI;>3oz4S>K^KnR*KgeU=M3l7Ljqk_-TB_B2wn)^$B
zsi(W|<EIQYrulpu^M8M@rkef(Z;@K%)z)L{a)(NL<m|_N{2kkU%#n+V2Qd|E&UiZ_
z#yU&idR5&vy{7M<e6xLM`~*%4kn&g5h%FR#4=4*6qXs3E*Vig}!7a3=6y>*;WhS2*
zfcE*)gEYW{G;Y3VIRDv|YeZXxyUxBSk&nblSeJW8(u67KmL*OtpgwZ*&8fulte%QL
zxx0(BS!_Tr$yHa|DDuct5S_j!m_#UYo6RT3N)B$WT^I8Dz{?!dt_YeIrI@FZKz!M!
zsFfIWA)`s1NiuFRsNPEK$0e$<p6t^YwCIN6u1SCfHhjkm7K0_O3nMA*59lq>8?tWM
zRwS|mJr@Tga3oU`5GQ1G4Kq^{YFH$PTk#4C5n4kQ0FKB7$skZcF{y6?Dx>lmFbfoL
z_Dd}I+L(pcQ27dEesQnKfDU@cmF%yontb%Cp+8ehX~+JKiG^2m8IS?}-m&6qWF}&q
zB<fP}DeqN|eYd$^q0#0-T&3E4=ODTgX${@>8LE}rsGAFv(x6mTO!J7<ZEkHcs!cp)
z;{Tvsm?+qLrt8{mXOezTWZycbn4c@8@xJVRERq@)l;)QbnXh}GEwvx^g{<vsd{m<{
z(RpOUrkrU(F$vX18NaNPCSG1{wIiM3@Ae`uKFX&1fG2_lyCO@R1~_p0M7qXi36;5(
zznG}kaPqv0Di=1+DnE(1?~Oily;{-m<8NRZFa0m3f6t~CiX9gZ+$ePZQ6M5QHCeuj
zGQsqj-eD{lmVhlJeL!zUZlxA-9(o5vJd$6kS9ZZS6LDagB+#%iXFnGHin0wJUhrpE
zH!YigxZ%l`sNWpY_~P2zn~?WCV53@w#m5ibVc$prV>e|I!phH^^l|<g-`~X_*3ncH
z)zQ?b64+U(UC+~AL2xn~IXk@$t*G&fZqDo&$qv5>Y<#amgpDQvI70^&_?L_niTWnk
z!e$8-L~D2DbA*`dG1pC0NusYN?M-Ifm50e|VpZ<*eD02n&B(GO3k#v7L|y9jBA;?X
zRUhoTGY_eq$p*_PFdYWg%oQ1?F&ujDt9hV`SRI5Dm9~GrARAq)Ge?XW=8Q2gko=~-
zGtN<97@D=XcSgZ@AsULyG=NCPW&5w5=i0KTR;=_)GRIjLODm~2rav(!*Tco=hWeWE
z&wbzEi*TWt;CII4k^#8hG)P`>x#StQnKRAdOChq=%m<!x@5rkg!1YarkWt$!<wq!1
zgbLXaAPO?uf;i66e1S5d?8+&~dk6`V9AD)Q-r{r2J)|sv0wD|o;J0kw%cs3cNfoNG
zgS5C{!_I@Eg%mT--Zb%HZup8(APb(k9-r8vgB52_t&|&E5Aek)7g3P4qmBmi`x`ub
zMB?5U7M-O_#wJlzZToK2HRCRdee?^+6U=<_v*V7=+$k<m^NP>;@P+EQ2H3d@?M(R1
z=}Hc*a9r8bi3-=2Xj)^_X13D5ZYd;S8FYn{S}U((jr*s+#_XuuXQgyBepRAW$jiv^
zTYFyZr1B|!#rRC9!f~~$C_vgfFWPzvN6F5?@}<A%&vaI+TgMWE@F46PkHYF;cI^4d
zJP^+vOU92{71ZMN_8i#7f;Ac1oY7Ws-k3F@YQ6EfZ}3!`PSCM-pL)qW&xdyEPAVU!
z_<qWwi)vU@qq|8^o$Ac-JCAUL2g`wfi~WXki`SK?&(o3)2iOrM$eZE!gh1@5u~*2$
z`jY^wdoNMvuf11jZ`$Oh8_2JRoq%CNW%%N1CrnAtrLYYd-qbywsl9J!!tkzzeC0Qs
zyga<BTpE->ft=%kW6qP{h9>wy($5Pk3I6!?oGdG^d@!0VY%Iq1AOF9HxTjNv!lVid
zX2Ats7J!-)B7teNwii}4XBvSjq-tPJ6oa@8EDs%=1#DDsfMo-WoQG?IRf(PA3n{XD
z?>0pk7TeJwa?z$pj0r*|mpkvJFKrb-gcGlE$_z<6#rEeI&xHy?66ISi?3T7^Redcq
zHI?}-(t+d)#j+Tf<<&RFmy=GwVdKpGbOby)Q_s=F_sYSY2izzD!C}r0mM(*xH}o<z
zG`b^8s9fFJ+MLvReD0zGUeG!FFnSFP4Q{lt$Qiy~@pS5EvxvDk9~M<@SLPY#Q-Au3
zN$Jnw^U?;&?totk0AZiNOjuERTy!8Bkob3=ezYJ33PAUl#gdK3R*W|7bm$xJkfz1)
z-58%e5^fDksFKb8Wc;~G;J$pkSpS4z*a4zZ;((oQ#F7E^<v2T-rmNiBZbw^<wQXL}
z<VWxg9d&OlvsF2ylURsGahv^oVC1FTn-4uSu&DL(X*Q3JrJ4tuQTIC}5{$BL2W(PW
z`)j=LGXG=$Z-&&=rX4a23v)oOBDN{4QCN*5{0PS|N8J%+jF}d7c#|R0P0iCe$MnG|
zk!O_W`g`HA?C5tB8SBODya+uP^{lGj=8&8}rB>VYRn_n|Z;KZfy^W#BKazLTiTJ8I
zWtYgD5{*Pc+)(PE*$Hk)kkJQySi%l-tHoPu9jD^*7Jq<9^{Xy%!b1~8WP+c);uEfn
zg#s^tV!|e`_zOqyLDuLVU>|$E<Edw&t;4&Qi4A{l65V&jHD(q%Rf?d?(J&xt10e%I
z7QrN!YipW!PctZ&kHwJ5n<i1&m!oD7qV8!vyt~(qDex+*R(ZsLEw=re;J`e_ZylV7
zo(+b*8W_D5-+>K?uz%-2;Q#wKhk#-v#b<Y?oi1$WMko?R`ww>ETVR+{?~`Jkh6TZ9
zXN)?_DmYkSQq>#@uT!a*(lJGo&@K@gkN23toh<AXm>;exbW5%jC3uvJn7s($oO;Rs
zklZnM>LA>?%WgQ+!k|f@q>F~__-m<@)W>F9lV4aS`~wUH^;%faKvApr{`g$Zr`?61
z*n7*cG^&{rLRsPjA`qO}%DVN7dNtDSVYzK#XfWGFYbyb#8CuP5NaTQy+01%z3DlLP
z?@3P-1D$PFe_oe&%fts{)Aigxk?@1gHm*8)Ejq0|3j9e?;teb)5Cd9HkC$hMTMzc{
zj1tYnAK$6ZD3EkD?zYojqhJoR{cczJ>mO8fKlBsxoM7`8>KWoY@4rS{y~QKs7fx~7
zXKF#YUZiCv0>*D#tTOm7t80PLQDKim*#*w)gS3XQv}j<$VSHjrZ@1!QXOZPP^qJRY
z4l$1UZfM5QGB#cGo0_Ih$P3eL4xn`PlDfG4TXu2ikifXsSXN=yeB`_ls=38+-aA0P
zg!@cH^kqZeHO{Q_h<0^omzQ#-3W!qNf0m#wt8)>%&&Z)sdnGDAyLul1X}=T}g&x9p
zPo&W0f08QexlG>(og;JVakGld3I(t%wxtYmw#kVB#t4LrUom#K_V0HJU6y1_9_K71
zoQtEl5mi6GpG#$Gw_ORb_#Qj4%m;>^r|W7uyT0B6!P{sN0}ly_B&PCc8ECr(7hge4
z7z0hmD1#<GTA)PU#ChK&x2ETK9-md>BlIoDN9DnlQ>wxFTY<#(Cr-c+E~NIzYt8W}
zRM^-lPZ8Nsxb*h<9g^!hH)3E}`5>6wjjz!Ng^}*Zz-ZC89#PTlUIE+T!i>CjX-f`D
zylgX{gbvQ*R%Sp&6d}HCg%AH1G^^)#dZ735%F2H7%QaJ*(yV5TH4IYv4;ccdWn`Ms
zv7SghdUL*69Id`p`47h6+w*2+WatfJMWjEZl$gQC66F(b#Sk`R9jn<gE#WWSp<h0=
zlYs%s2*8Xmt9-^AaWJIfzLmCH=!*~&Zd$`@`T6%Nh=aF;Wv&uq$B>O2#nu*gdXk3J
zCC>(^?<DuVzVlS(pXg54Jr6@bBSFO3!v+x5T;aRDws(iS$M3Y-EZU5JmzbKr1D300
z&Zh>?H;>bF1YAuc1vJ?BNWA?dSDE$2g(-Jvh}OwEn8{98Ju0dMs_Sj<Lxaape@3Vt
zpQg0|2~E}8C5b@xyGP?4YD3*w2!`Q3Gkv8&)6dT!UK`<^NjaqYC*3HUASBzRLB3y@
zXPawfm-BaKni`)NPzZ*%YMRORHrw=eg^=z*52qbf&R8KbHbN#^ffI8x%A97;VY*Ip
z(t!DMGNR#q>f;alUE(3}?R!@CR#@YSfAaM!F<Gstc3kaIQ=iC%kGSLI0E?09yO~_!
z))n=fS-=qrrT))|eIwubidVS*DIxg)F$_JpCDxI!S1=?qFcS%J-7ZgIbtvi)Z`yXw
zU$OA>TafApMTU?BNhH%$0E=5w@IACF!)|`z=yH8X;O|p^%^Z8ct(?!FN$5nA&~S^#
z73bQgJQ~$kyn9PYRJf-5>Art`<Gvg9EVf?`;z8tr>?8wp%-D)G^9c1=Sa807jeZOp
zf-SABJtaxv;wNMMJ}Y-Ul<LRB2<Jej7weV}Yl+n?1-8lG)ClxOt@(+jAD6eD15{aR
z&3|OI-L@SDGkl}Y1={3f<vWVtqxp#j?l9~Z0m>aC;yF=3L*(5B-r)PEmx)3b=+>9*
z(%!|-R9lX>udIh3gWYZ(MXf7HK!x(Kgb-vn+cQbwD89M%%uA-7)4<ma!{Jz<$;nBk
zw{I<fzq@q!K`V>FD0GQ9e#^H#=!^Wtcou1Je%5YyuZ(Xybk=sbS%4fK)%@`K@iu73
zwid)>rwEJxcMI^jo^R6oSea0WE^WDEfFTljO3&S&k#qc9%0S@4wBcd;AZbE4{X1}}
zW_f!1@3MEc)~=emB&?>o)zk#8nwkWb+B?ZJXd{Y2%FG`OTH?}>zpVYOATg8U18)bE
zc%xnZE+?BibV=vrG_2I^Che+uMf+zch=lr7ZJ4!4S@dG}>Pa?{E?6`5-BUCO^c=AF
zaREprX<aB=cu<rE7((d<uhEbojqk3;Cl@}qaJysOMh@+PL&^-4;~8g~zV4$j+2>2=
ziFX?O%wp+zIDpZ~h^My3Cx<;E0C&S1hQl_&l~&%A$;39o*YZUgblx!_-cHk>F+tdU
zAc^|U!t5KJq?g-#Y~0zAhWwM)S#NRAbEZmwCdvM_Nqwa|O~uiiw8Q(G@w?IX-`W!{
zmidk?c(4`|HQxL<4iKhhy-Je@Ea9T6P1+g&{_GG>Y-fJ6n++o3V_%lX(R0kZs9Le=
zL$lKX(fkao&L;iw5urXc*SpqjMVmuq&}NULI&@mIvUh$!qb}`B0}zbjNW(V(as~Wa
z<O(imh9c^Dt%Jn4&#Xl~iw<GCc^$LNf|#&Fasxr)*3n#p-9a!I^I7CUsAcMn=-oHV
zn^6N5JA+UHfxlg{4ttXhC%kh~1BX$@o$)p6$@#JftkeWQ(qDQJHw*>rgg3vYZ)5{m
zm;}ncAp7>D#+c-`P3mHs5+JNx%ThPw1|1CP!~&&nmyMW;9bc1V-$f{yJ_wO?p5hET
zt*99^_{zRlxb+Q`>WDVObam5&CCoCP%m=EaJtD&|SLsi_KQqAwY!Vl)Nr5Le^VaJJ
zqQV=0LL5leotm^cM2-}0_3>l;Dks9!fC3FUNMm-qYJJ^eaBxrwKL?ZcEn*-9d6Sn5
z3Da8xmXJ_2UQk!1(VIb&pa(kzASna~l?MmCpI29Fvy0aMN`oZ-zTE*ikwaOxg-%~j
zd-TQ9aI!1GtT9;tN<q|`g;cGVBq1EvC4(=GG4f>bMgVPZ;w!ZeTPneHoPq}fq+-A_
z*}4&GC@jhplct%Xtfdv-0vvA@i=c`_wJi~ifL8>B*ZD<ABe~Dob&?nf?7UO0b5QCS
zuN$t3b&{`B;-PUFon$s)j0E8U7!gNjPp5}<9)8DLnE843<M!}O?v#~7v*E5sJ_3aJ
z6n~^xW}Pu8iO^7QRrcAt_r*uGIJYg!cIEomaRP}*{GqHbPQv6w@I%|<Tx;kn4-+`2
zx~8Hy=^85S=KS?Mn?*mr3#R!c88TcO!`@3AMqZH2PIhliA%U}o3fd{8xFCn8Cbb|M
zX=RV(L&|>Ill6V`XppXWOvGmYf)m;6o^n#W=Y30H5{m_yL4jkc2hTzQ>6pL9g^aus
z?Ocq%TK4*HCe*!cs3gAG$l4}j(wBW1S~H0Z5afkeKeOgfPtvL-DS0)sq7+n^LA3`;
zvAj19GA>JXd1Z4(!&?wuItU9yz>AT>3qv&j!(H%_9LT6QdTo9DX#QFJN@Udr;)<N9
zP}DT{qP(Z(y$=SStL6YLCZ0b^zT5CF6->So>DqNAfzy;o!q$LZHA<_CD@!N&jBPRJ
z0D^0&)#3SffnxTpUcM&aJsrjx#Nu^dCs}ix=Env)W7K+=%$zEPR4+8wHp>#t=2dg`
z#EXL~NjBM!Y0Y|pC_qQigMlwot4ExY>76bpkw)t*%`DF4k8+|;`!^mSKqK9OX9lRS
zI!WMd$}7K~6(~@$H4VT0ZQJcny#Fn(W%yhSw5hd-;loczTVk)i3Dx{gqQMsIqQMHD
zmI=1B$%*g>senM;e@@xo9U5tBx*7E=6eOjjXfe?vJRy*!8mZkUFMk{W1eQD+MUE&q
zIEvlPe%g5secBU$CcEQ&K6q9F2b@ve)g|cVt!=I2`P5frX!g>$({<6okW*i&PW`<|
z{4idzM%~=ptgWrxW1gR%AJXW&JUEnj0fXgrc4jAYm?-)C``7zi*{^U=%z?WGT=!Kq
zv8U{Yb&((}bp^1^nm8O~I^`q6s#r1{*V?=<ulHD0g8wb|V4}huIhD{-TZvby2c?PR
ze+QKF)7dbQd2C3yn%wGuH@jk@cBLNYy9^k+x5HKnUtIu&>e;s31B3_9)eS&MT|VUf
zT(k1kdReUcrX4%z={?<U=eTIL=J{nkM>Pw6Vc=WDubP<oa)J*<l5KP&Koj;=qh?=?
zibkT){F~8+^2U%Z{6S)A$5n$BiB6;XpcdA2TSsRC2c@`comW4$A0vQKG(%W42{K%T
zw5x?VOPmpemy8luK$?^26gG<lH}_^ngoEe>dc6=Ya#wj=2~|^Y)cw5$pxR^B{5bAQ
z#@q>zu~s=CmY1NlHOl@I@-Mgnm^pT?c=~W)R?(QXY8_rWWFfxqIJR&Je18@t&3~`n
zwY2{z_6h)m9tmBF@RH)T)Zz#&J4{4Gdz>xYBc~>wiJ)l1fn^?&;DKZh(yxB_i^Dn9
zQgLr*pPth0ZR&kNRO+;!hqw5GYaB@s$(<0uYr7(&qY0B17-WigM$bn%O1C19gAk~n
zH-9TvaWj2jk4g>9u6f~;3>@aU5#8<1_L`9Fz>quiWS)=>-b+FK(G7xoq+!@JbM>x1
z?XkR)epW7qlp$G2!iC;IijIP}H}b>Z!5+8hhjky_wp)s=q~Gym!vo(h@=WmW->L7e
zf7>(*fVs8dC9XE;!jfE=s{G$>p^~Z(;FxKxAT-YLvKWt+%+w(}b%`47W*A_j0ENAG
z{mi~y_lcf|Cs5Z(&xE%AXCiBkhX_rhDy^A)Gp*5;z?{pKSm?IZ9w$@7hUg%W!yWYB
z?p!*n=XeMQ=t2`~YqS`-e?@-7FrvOt{C(Mg79weHXO|1ib!r0Qqrk?>ml)F8rj%`4
zUmu<NiD=Q-uqWG=Slm^KE>02q?0nnjt>3jP6>X{}1MdM|fY0`#*~Hs^PR;otm#OEg
zz$Y5*PmlhT?)#-L)H#+5#24#Ris<m8P++Iv81H)kQL~rQ`M}Wr{B(~?`wvcY?j?dt
zKP>LeMPd8*qF>luH2IGxpwO8aW5hwOJ{u8O9j^*}bnpR2{_OzO*X4vf&BV`78-K}L
zKBRZ7zKs=;`ZwsUoWe2D;eWpyEwEy~mX3P}$Ry{0<@bU)myNPc2qE>^4q6$93$q%K
zj5>Q=__b5K4E9>zm~HgC%7IdFLcv)0f})8Q`MiM&`CBpk#vFb&G~pS|?pyvT@rGyA
z>+pRVDb1IpHme${_NG&m3p4(y0UcK^d&3V7^+lEfXhW2@cH)SEnjq!2C2WWlV>o`}
z+s8fd#mu;GUGn7g3K}l%!Y@4ddP7}FN`P1(Ua<@`9C0nqHcy9;Z9V4WM4qhx&>I;i
z&v7UQbv+eztLA)hS)rCE4oAg0SDA2o62i4jJ!Il(G>24nBqR4W%NGagProKdhT&Fq
zb^dXom#d>jBe)8B-fxRPg(^e0xAKLCc7g6QL>?!yX1K&L*NjttsPIcy_1aH>F^@gK
zM@L|y5+ql=ZL%eW{It%JrCj~i?v@TQ$~kU!F^(-*2(g~S90zS5UEa>_0v%erUopkD
zJ3*H4^dwe^-rNn&2}Objm$}bzroKBk=r70N5(NRL^L57iH*>(GOaGIluyS{oU)WSn
zOlEU8vJV#*i1g7t<<tJ}?PawK?l*{UE0#M!M7Wf>_b~F;=9oUDFd{BNbIqJL^S*!S
zM+~adDXJ#bUjYr_m<Cptr3a+Qzi;~bz0iBz!WQ(L=TyO?ZQXVb+wc0%8jt*S;m?%W
zL}Dx;BM?Bm$>i;G5B+@jz7I6AWYa`0;33qEK6hn(5714;O7GTpi06F21Y3+sjbW-!
zG{pgJ7-o;-ci7q9Nyr##8n*}8@trnUx94R)ytV?c%^s1G4u$2raLm-tI#`iYho|3x
zcLIx22wzkd=J{u9PE5Ekm;K@LChL?81wTW89W3Dl;lliU3v5-7E_K^IzK7x($4}1^
zLK%VbD>hHEp!jSJ!<%o37nhybIp^R(($!|T^s`c0*^`Anz_2?g417L$7R?m#=J|l$
zJD4tr)T<6tl$AyMH-`_1UFBOnPd=XF3z_2YReoTxuPVrkVNovQGfeVzC@avc=_Ja@
z2~t##abM6*PyepC`racRKpGm^$Uw{r*REcMKLtLUrPE3brcTY;MuEy-e{vD?IBsBa
zcY9*5d7xGuIMcMJ&cVPBUVC2ejl{)mbXkQ|R8)9e?d$ww==h&@VQgO9{-~=<2>APp
zX7Zq_6A~I4dI^9?CPp#@_7c>@axME~xKH)#Z3$>Dx<hd;r}fM<TwGjG5q=M6{g;!<
zoM#PyYY_Elp&>Hh`F@pGV!qXr)8*#3mKwK0_oqh3c`44eQ{<z$nvhE4=I(w4^lQ(i
zKa{DkDV3qR+AK^=BE?Rsq&2H<`gHXS<(JM(8`|aa(lsPMU*o+mbyrlvG&1vUHD?rE
zIxNI!3I*oKf%hZ;CixXM3YyYY5`5G70x*DBYai5ld2HS;PyJ^V?3MN=n*<XH&gQVF
zq&6a~`rbFIP}Co6tM>c}8!cTZRqmj|M27buWnuYGrVrJ~B|4U7AtwA~1cFA=&-Z6m
zt-7!-YCMS9VZSw12PqQi8hKA=zVDM-IEcCntTfretp$>FFEdJIu*031SWoAl1ZF^}
zrs}aFXTe2iJ_#!kjE3wW+|-wFvT{{*Sj;j|32SkH-SzrtlcPvrM>u@hGS?u*8UI2{
zmGiMeu+og0W+$|-@Y@ZRk^ytsr>(=UTlJ;>#knZhEg4FN5|u=kZ~mg=OW05EtNQAX
zJ0p{ULP!ogT~A|5^%U}@?sUDKSlJDOj&86K)q_Q5>yJI{!M{tPbg(L?<C*z{2c8*^
z^5wSJZO%o6Ff-R1U}T65{;dyf9l9&?5w9|AX$r96krxE!){-SBg*&v{|Kj-QuUom=
z8#P?+Jw)+E`*-8Sx=w~&^e)w1MIG~<pM@wN&-hPA0Jr+ibJ!wU)w_W_mR$S}J+5cE
z6FcPliL&0a9|v+=e|d)OEfN9ZT5E3xMVkd?wAYBD-FQ#ILYOnP!(JGCPRe4?nxWK4
zUDO>TiR9zJ{L&QM%dX8=ofgrQnU`1i?LQ-qZC<`uH<o1er}%`;qosZ^un;@Oe@)ly
zgU0~*Dq5b|^9*m$<e9;GtX*<`NUS*OSb)iL+jrA{|Ag5g6vTZHAe|N&NCz9hXc-$A
zG}GGtx~jF^vZ~P+oULv@RvaEeG*J}xkNbd3gIbI^_k5fEoCe7hW>CG+K%y#8KvG}A
z7L-JBhdp*J(K0n6XP(E?7E(Lrb7zkfac3JYvgMEH3LIYCI;OWZr?K>Wl9Id^>LO(}
zpsVpKC7-<+#l%0)`#uTX*TG)>`{gP7dFMG7L#<Paf^#)T@9AiDBCYd*3cK@3Ec%ZV
z9?b3fU3$D3J~KNT4kdSIswXHIkRNgb-WUm%X|v}mGhTg^|3I!NT#`N{b5Z|LZYgE~
z1E7tHrWFfVt=$yk-C^CB?apW>K+1Uxqj<^1&6t4valc>ui5u_=XYP<O8v&YXc6Ni>
zF9BC&X50=}i>pt`V_2WjZV-S^76>`!=ll`tdIbLR>vU0Hels<$4;U|BZ$ix%5FXRB
zv+n9%RXkv|#+?c2p-3ST<)k7KElolC+ry<|y2y@BcBa1fp+%zGxg}~UoBShQ(e+j(
ze}JJ~j(_d>68<S8mF=EwmP&IK3q<%J(J#s+%Ko}Ss1PFRx6b0+%ftUJAN&F$VvFza
zyW|HK>5j^BWI$mSc7@z&dvw8G1){2CU6p&>-NIOJLkAyl(NXb`3e8ZvG3Dm{s&d$3
zYVuz=&o!Y2Fn`T?zw8wngSI1&q803Z=lJwi60)3*o*6tLPIP(d_BSoHe|;nU{@^56
zM*~Ua04f{GVZdVCA>N@ofW<hELO-iUAtXy(o^b<fUb^Jvo+|Yi!}s@vps`}l`&m|t
z{SwUD<F!DJ_OPTu$L($DK#SI@JCArv2hB#yk-drBmvKGxP?n~t2w>EwLCTxC?^M5W
zQ5<95+;B5Y0ixX0W#05RMp0B7(aB4s_dvv=Urj7kI^t_0;3#J|hnzp^Y+j+sN}K&5
zUS&ckW*p;JHAMJI-Uyw2-Pvc1N>WBsAgFL-x1Mz(aw4<V37`4#zQ=}7jB~+m(6&7X
zK%^TNM$Oa2-Ry}+%*GnH$MbLa=O><m*B|A}1r(1+4^X)jm)?kpxm)0+o`HkG=l}fD
zy8zNe8Xeq}J{gLhi51L_Y6gWuALg+kuUls1Eju!mEd%)E>yg?YU1{%D9;glY!7Yb7
zA&G8n3EhP?YxHIh$<4tD<&JkN;gNjXg-ssgpYB+aI<Ccd!9-)Gh4N$Va__|-Bc4{D
z&z^JH#s7Zo6M3$Ep^~E}<Q-b%bz$tU#?|Syj>lCK@aXgLUBGo+_Qc*)@m?fn$C`Gt
z`_3r$)Y(P$GyM5-XC$Mab`y|G7k>SUj{ZhIhWgJLsM`F#^ERXN!}b;csVF);bX=*b
zsECdvDL1J5+SL!RFLsmkOh5GDA~5=IQvz?vRxl1#0RFR>Yp?^3dblsTIiU)9vUHip
z(}VX6fvSqc4xez>fR&GxE`jJ5p6<duZabsTj10=oZM($%8Hb9r39t1HRbtCI3c(of
zeEebr`~9M`^l4Yd*z@|&gx87{n=MR56h8xWoa38%4tDPAo>4fTj0*XMb%_CCzoQKx
z8=|GRgjhv|myJbyobCM2gN3Ck(J#>No2LV12JU!u2ePEi2d<!}h2E#@OW|)E@>;R-
z2HqpRBqkptm@VI*Q=?&)`zK^;IrpXhCt9>0*yA--_1eL-?dpZZ;bF$UDIZkzHhl?K
z+uEE(nJm%gQBdhqzirK&YmKph*%$H^;vV;DAlVV|2j5KEyBFFb-39^|DYprX%dVJn
z-b&T|XXG55V4bMdknUD0pbluNKZlLk&sAk`VY|l9`+R-1&ikH2L$06Iu^V%n-t%M?
z+m#NXaMPN&QbxtaBS>IQUvZ+fapms(>-!8E?Cc-KDSLRs?n!;B#hD~^jadxYp}_sm
z9%t6l+mRtFwZS1^4o_3<CCx$3w``Ilh1RFL@~yi0@`GC)J|q=4bO!_9brAt%cc|ek
zUwV47-0EUL7}_zsmSJI|*etgbn1NPudHi!?y8s+ZYi*w&pZ|*6UG0d^bYV5N0{riJ
z&#0m>@9>nF&>WiK|I8kz%_g26@6*~rzNq{t7oZ#vKPv1D;5ZG}g1BHBd;9x&`SP)D
z;}ON%Abw24t}swFtt@UA5+w{%v*!hk*ziH_d+(cNPm1b?W6#cwdhWx(hrgdl2gNUj
zdEu|o$B`Qu0I115-l`UnN(NF+!xzsy!<q?}u;+{3-pg^g)J!-%y^nwgQ*3D}5pO%|
zk2>&6&eJJr<N}d4_55#V5seCMW?!uXd|XwTRWAz}AJya6He0on1Oa8pM@Xro<PTm2
zcl7VN+cG5h!Xf-%!S854!nwrxx!WzhffJY|T6c{wRnlIbGPHgUAx2HcCsby~+$A?G
z)Lpq1o!N_h-cap8Q$PzzXzg8umEmwD@3~vCrBtvrkbYLZkHi>U>U&#ZwT=8m`=*#E
zQR$u$O>1ky7mv1=&zujTXv%E}u>13pegk<X9UBNL;K}p-k1AcU`A-*<yJmwDEa56q
zs}=YOu50|X8yz-e0ZnkvFO;XnwD^+3Mbqa751r9Y^aM-&Ja-g+>2HC=#3*=s7^8R4
zovk1#i6pMml$`M@0?}Asf7z(nN@p(9ji~<7PXFIwe;m~{D^4Hgde>-<RPw<bqiTWt
zN6z|0f`Ej1qUSAvJsW_abeHmcXSQedycn3D5%}oIxAg#BzSxv)ho4I0=uKV@BoHEd
znwOBW=_8^BYORO7#J+cj*7FvefxJK>!AEm|b^as-y!*p>W@QDkyu3W@Q(@d3AA(%X
zYHpOCo=%6vbdB*J5|yTwmUL25QroN4qy~rCb7+4}j`iN&-k)yN@p3)^0e2cku)mQU
zT8IVORO!tPy&wT>E$9l#$5!sO=<DI?6rAKV_ODCJ8`hO)hr(v?(W;rgA?&H$`-?}u
z&l=nZX7Ql6z*ED4sLu=O$Fej%@dR8(Wuv}&^20JVBrdXQGD4vYN>TV_S^pL5u6hu$
zb+{FKB7*2zeM!6CZ$7~}Q1F^M!hDHePBs1`Y07fM^iYqsKmz*68|%;peOFqWp7lac
zp`FEnF9UN}vzI(Ju2swuX+`K5n)ut@l|Ljh4#nbMsTt}^@z18;-TxX6?_Bb#FwZ6;
zf^U-O0k*EmkC20NG#S<ddd`pp1LRa(b?1LB`*JJScqdrGVIK;*dma#nzh-iepSVg#
zf~=4p6(Pg@?2(wH6%Ujsk~O<)bFd^U8>~($f)oEZ&OAw4y>3e6Dz&&h-}99>i>L)F
zEDF0PJw5zp<$Ii5<l9<@F7JE^8h~cL^FAglB(|$$HsL|v0?Gr?#v$NrKb|}?Zq^^7
z*K?L_ODY(3x<}nU<#n%d?$b(q^<SQ~H&c(4Pg);;+c0l8*c-YO>T;Oep*N^-_}MjZ
z)AV)sPoFV5*tsu4w~8nOUo5f2O4D&sShMStVuxBUQ#FwBj!Vd$QZ)^ZN)AvDvU$Oc
z;88;+xi1_<JsHz2>vp&RKCBdcKl(I>cE+(M#@$t>@kDBfoc-~AaYwm6rJoe%8arD;
z2*VB$lpQ!u_jgMuych`@xwpbR)X|R3WuAY-0E;M(&HlKREL<#{JnX269rkc;?aT(D
zGuKMz-*I!)>+54cQ|=4<dG&tcXi2|>e7nc&H8jiyrrB#}!o&av!@}7sa1OC}!Ty^#
z@26UHDeO#)fJ_evOo8qmKf1QrV(W6iY$AGs1LTNug}6aVtKcR~h}_H<0uUOY&>=LJ
zk~5O-M4bNA-E*twBlsacF<yG0z|lrR(uVS*?X=~X_&M(nWh{#cGF)UrIAoI1CqBrv
zc9|6R7ZQ}9sI{BxBuS~4W<4ACg}%g?Wt?!(V>(ZS@<hLP@AC2J4W(I{|5)q5>XAbR
zaHfO{ee&Hu#N8dPuap9eA3tJ1Y+(jUb4THgP=oPxd>1r`uAF2aZE8@PxVkD(&DPLR
zWY81o=DEywF;|p%a3o>(95a+5fjWIZuL$3LL+IO0!=AtRdtz+5M1|}^Cd65=HXnH5
zaLE_K(cRB;3Di$-BuyyY98X|EaZ$uJQBkjG=0zI)%}s&`S48pP!GA(c#TDR}LZWus
zN#XkHY(6IhhMZDnu#kO5qjm0(sM&eZk4%it2)HNwChIFn&y%2WoLthNL}$nW587EX
zGJLak+o~N6PR%vhf+}byq?+c0{LeF8=^!k~JqcjjCVko03TD$57?8lp+Lf(XKww2&
zR5TOHlwXl+CaoI8Jwl#syO+leHY?)RTbVW>hLM00Q*awmO_=~Z%ZABgqOdnzAtams
zP;z@2(=mY^V9-Ur_q*fsvDFKE&FaZabeQ+vdl;G_nA90{Gu|RnjR445Z2!nvB_{t?
ztnPuP&PUBcKOtqT_t|_y$RY_s%yHb{TJVq|5CMdRBF=d_OA}v{=I@Y90pN)Fz;2sF
z%d1Z$74|;IhdTSa6q_s>9}P+8qDT%t*Y0IEFU>?qedd)VVa-vz<~HusNW&s&i-ETh
zLvd0tx2^H~gU9+Wb}BW-4toh)2^X_%DRnzGTNZ*pt5$sYM6}$Gvzxi+idDF6S0jwu
zbjf6moz9o3oLOW$z1mY?!>l>KBy;QylrIgLa*3sV(=$j;lZ+6G&3JGwF6PR}0%*{?
zv!sRuPC?)jygo<2XBH622}y`xAl<ggP<7Aa1s4Mc-H8Bhba)StrIR_!UeIinV|8C2
zj;4t|((O-V1Sv&yetB)&n%PG?f`iyR_Z4<<yA%=q82|>D?&qHYRATD}EghC%yyL(l
z@T{Fo(u{+=bbKjW<~ToDS9?fFY@<{8##Y0z#0<jEkSZBl@3Z$^HK^bifRr5vj)bR^
zxT4kqp4jeTEC&b+p;91Eh&pct>*s92J8~3Uk-%e}{lg40BxFa%-K(kE=|$UB-eMty
z01`%OR6H<N(f&X>%|Ehs$qEG>(S77ckjLOzc4>Z6nTmT^==>)X>6b*}kLl%+13H~y
zcvri(*kSCgnEM~R>&O58V@|}_c&b*$)@7=xXY4f0&m~;hxu3T1(4m=TQ<-b{(WPEm
zrg&e8mx&iCsyFx9Uwf;vu!Tj{$*&akFx|wH5bze`tos|+;0y!A+)v%ZiW#GDRH&;(
z5p-)|vgOj=WF8MAf309E5d_`=`U)h1;RR5Czl`*RRustb;u=BT=|IAN33?J)>S*5f
zl>ZS`(yIl$Q6(ChBE(04jp8Mhc)-{E?AC;$uSbhcobcqX7~d!g>;A_s%c}LloVxO?
z7TfImV{jT@rP#OErg|)Q?}SR;1L>vvy2NUu2(`_D+AZd`fndZqBx#2e102n5XTmbm
zx6R^G1hqRu84s)Tm1J%hO_eT|<$8%C!n%Qko>x>731k>jrly83SsYQ?2XZYrC*!A$
zn5kZqKDpAr!a?_QJ>%C}Jbwp;;i5>S9%lmbf_B=4(Z~Lh>iXcxS{w>E3@I(^dq2m<
zx0p@^21x>SN-;Lw<tU2X^fgqD4Xz!_D%_@h%k-8ztqvn=?h%vA%2NHL9lc_u=E9T#
z&5ZK~^>tx<g9UABe)Wd-cIr=ljbJrh1R~EfLN8S^2~six=p0K-@Ov`sOj?c$c#t9I
z5rEU`#XnY=IYeD)E^Vd|XI%i`1y9sh5|M5LcvRy$or7Ay^$2`36XZ+b2(%K@5+c#N
zvcDpa{Q7BDh-}AIJ69e6*oDpsL~kiXN&kz(S<Q4ld(+JOV2K4ZRt?Bu35-Y(ehj<8
z0_OiKO>TUd|F}wRK`YXMgn2k#%VE%K7QZ*LLxcDV+2`*?_@x-#2@_U`uIA$k#}G@-
z1EuU955q&k|BaU;a-#+Z5BBmv;OHa&Low&&modv2+5TP03rVa9#Ej_JIPaKASlGUG
z6p`33zUrEa?8@c8aIJoz!@bwb>N0iSu=uZAGvl}<eV-+!dI50PHaOc<{_K-}=JCAH
z2$D2c{1Id7bBq4Yb2Oq_xN?Dv9j<-`BVP_lh6%n8@+gz>voel+W&6QeXh%je+(^he
ztxsu$sYF@6-_M56yL6+X`rS1*c{vu19tQZfH%VA92+K13kGm#vHW4`&|K1w?cy2Ki
z?H-jYjY9E2s-bdee_D?DkCU)FA>b6@0h4AEY2mvtGr+T~Ao1+;@kg!5kSw@D><#H;
zb_G)|Ks-uhHfH(uSDxMatInZfRDPSq^3Nh;A1@;&;AucEn3f1^c%xr5NR01(X-W&3
zxK9=oLvKTrj)Hlw1_t0iR4>aNmEEJ9Y0V<d8c9hi5FR4F=Y-bjNfm4_Hha4a(Q!@u
zFDO(}{r~%qJ<r;qk^4st5SEWwfe^GF4!qa=FS&AoQmC)qgQjA+HZ~@!<sX6qO<`Wr
zCGhXN_WM0GyS`zxa_LVI<rV38)F`w&K%a|usQVx?xUxK9_$N<RhfFWeW^+O8fQXPb
zorm5?I4LB|pQ;q6eb|<pz&wHLz~aC~@K5ca=3BKu5ypwZESauwkqVr2z@^t1Hik9X
zV&0wV@F{GzYoNu}FogsTu*|rF|5AKp{&RD*)`PAhrUvvkalShad<Mdc^aK)+ZT_w6
zg~Y{0&wZlTK7J4aQ9k{G)?cj!9-@>n(C9#IU6wia$DvRS0Dl%&q(XebV@KY1pJ|)$
zcCBXvp!DPe27#3Ab;dBy3f)4AE+>uOJM@*2&A)z5?9F};b4JGfZ#^kvuLq}U?vn9i
z1Zir5^6ZM`*SE9CQtEl0%gK+z?iK|QgMM~2a7@64A1f-z`+8GWOb_TYR;<*g{A*yW
zSzYysdOS^g+C4U+c%1jnrUvnph4hX}rq1fjc#aokeiN)HD{l+B|86_YQhXE6Iv#gi
zhMD>{X=-VN(FM)*KY!1>HNI7bXcb*MmEO`G>V7<RyR#sT05~18GbK$L^T(($l>$Ha
z=0d|1KpUTyVE+-4w^qQgk59APDAaQ>-Evs?r4GP_s{jxpzynmx1>O@qG2{dD%vjm3
zp*l?#6nL8w{zu=R<T#V8WLGl9EDEJ8RHZ>vMXlMGNuIELMC0pV3+cnjIkoa;j3zr8
zsD2V&Ilmn^XUjKe{AFX=39eX-+}ilH?R)=;?qEa@36f<yS}5Q2joCkaceY-GNBqWI
zSuJCf1V@WFi5@_{IpeIqQft*gO1k~MVyL7~QEq_JO$R(NWF8qDgS}J<saZ>3Be~Xl
zjC@2A(kCR+UegD?Y8YAeINSFnmdG)~4~xP%$rgJeWH)K(-3~>DRhtX31ZIBF=p6Rr
z*-z4xdL`<<x4)RJ0W^J^&=eNxH}F*zhYA6aS}nP_Xlod-s#O-RUw`=2M#Tyv<{f_3
zhZ5AORbEACxLB4RYDxZ`{H<hYS`Le-;z#_FCDVlWt*lU{+Dk@u;*?zSh?8M;KT~a=
zS4rP(iRnX=whEm}!dXs>LJ#dsl9fyp_9nGjald)}g%i)dM<~Ac9um$M1OI78&SB%@
z1D8?2H-FD7V=b0Kp~j6|fMpl;?7L>Se+{z<i0QLy-rZR&M?XzZT)NHr_|2b3LgSOO
zrG>L^OJq%-RH)a_QTq-)jV|}(zB)->RDf^jR^Ik}*niH1&$bGBhF`L-c%G4VD67S&
z<w}ft?6Zv)=mw%U{GBRMZR5AQbKvD1TDz&}tJSSht!vKoa(b6SQW$Q1=T`U5Vek7<
z#)zf;gp=W`9Xs~XoQ1E{_ScZ&?WmI9aG@m1+RItFvjwZRCjN4l8b=%FMT>bkGx6xy
zc`Jie+xcSVDP#WVRe>Ey{#~E(qSt~KHHFB>i#oBFb|Mh>fQ6{DdcmDvF7tZ4+lW;8
zgU=NfCXva<f}WQx^@hm<jSin3L&O@Cnv{2(GKY+!4?Z5`Z!Jx57s;;}-Ot%mn0@oA
z7|f_-a|de2o`C!{hMBhvd(C4+5rr4*RuLp(W6H^3d|dh66+Ua%{o}IobV!vbTl}5{
zdc|oj*JF(Fh^~Zw;(JFNLQZ5$>x5I@)6D9krD~a?>W;iT*p+W%u;k3n%vQEiScNln
z-9F~FKL^OhCfxIA%rg*q<;%6%FS5PDfo=QW_^N5g6E}clB%SE^FWB$ek-02yYG*a4
z@fZn$=Kd~Bdsy#q>b|=B$HaG1D9&_8;+jUEl>U(P{RS^?B}ohM%~zvmLiSuZ7kP?~
z$<*(SSiQ<QRO?YC6M~U&U@Rs{rVM(kG7^pk_xe=_oIt_xGYn|pXtno<aE`FCun9O~
zXH&YcU(xWHOxglsWxn;~cys?3*g@#ow`Q(UB)r!Z>#;n48pH^#)NpLO*S}N~6U)l#
zDXSStP?Iyu=8L&6*s61H?{K+XQcLfT7J?k!@A7O==W$9??o<qa7y7&hr+39Y_`LCL
zJmoC@ru4CYbsZ|OqkSlz=*t6mNY&lf(ebT<|C$#hRvUV;0pB`@e|JS`HEO0(`L@i{
z<-)uR7tKYA^V*=kn6hl;x&)qR;4urvEk7t;PpXXn@E?<lY$7)mPwEM$YNg;Q$hwim
zl%=o#lEcpSsBoro9+z#nw%0sv(80){3gwNTjz2~SvGzf{Jy%q{;NeU3?bEZAA2k(Y
zABp!2Un#lIe(Z5)(Mu+q`K=OsPH7i@C7rZlMUv4^wA$}=^<xs*`lgLk=?DF(`trdA
z5x2E=a%fCCr(78{Y4O#1B!GT?i5~S;+Rqg68=hl0TMig^(ruYP7&TNTYXK!oJa}8l
zwGhD6UK)U{xWB}>%c94>t3(+h9(yJH72G8j{q-c$=5i%t^x*qCMOX9bQtpPg+~=6D
z_pKJ9*$2&{FV@~a+~@#R;DYTQn$I`&<J2$Cina@wg6b*Qf%GZ67y$AYnNK4!7~lW+
zu{dS5B5y?~67A;?pbiGpnp_({cHfn+7DYV=z0eJjjv@<S0BmU73f!4n%d8oD7pQRw
zZw=`yhO2N6y5>?hx_q^y^Gd@)^%8}?J`es&EKWp>7;_jHU<<^2eaqeWhI%&0WZN|>
zE=D#tCEPPhBs?~3m{rD}hvM6#dXe=2EPRk}f+of&*kHhI0GqUjTv3h{YVZy?+W^9B
zeWG7)#Hxl_!e*7Rr14KG^v#tIBGAAuwhN^D;QEs-j>7{xSlS0l=p%qkSTQFB{>`fO
z#t``A9t|9-c<S(OS0GXi+?cpt*1=xvo24ZGc?J^&>K}Pja&=B2NpZLSGD@-Lz9*o9
zTNtJ7zIyBzo0%NY{N^=cYNy-+!Rf!E3b!XY+*1MZaDBJRj3SL;Mq{&9s8>fOX_guk
zN<J|79n=X|bhp`sKPK7f<n`;;2~7s{P1G_Wr3{NRA~h;P@d{?UdsDfujkmZNqjV)j
z93XRVI+D-lzG%z>Bd9>-9Jm@jhAF^32FTEj{2`<Nr4i*D>IoM^{d3sfifBtdu-pAR
zsLAC&(aj%slIpGUPt1K>=UT=gb&BmTu}=58zp)tp%gC6+neIik1OG9@TC%;6@Z-tZ
z))F|XXpF*tZteBkLWb)(l*c*!8&IR(7&LG=7)EbmJv?W(Kf_`+25V(BlG|kB=&<l(
zT(L4hJaHf%q7@WW2^jk2Ki`Y2CSj(+gwX_*w?<x@z?SysQXl)$vSp8}VWX1~mColo
zwXuv<-n#Afo9EjbI2XnCN|?fUkhX0_>*SZt@5G}q{?{wXU%Z0c6LWjRUZKQVmU+8w
z<n<uY(A_X=n0_@<r)BezJyPv`ApSIQ)jT3aFpuG$FwC&i$WlxyS?pfB^p^Rs+k~wf
z4SnV|Ot1w`v50<jp>(<a8Eg_kMIg@kUg7gz#O^|KxwA=WQgu4M+S(U4h#a%CNkV-i
z$Gd-ak{?)SZkU$IEMX^`IP1MwXD9tjGfAnbm?h$IFbNm0UsT8FPvS^`%jQpXEBEi!
zl%1LB9YnbMJ$9^+<TyT4h3-NNUH8>UBO(u9PQxLwR481QiYV&0G?%fBLa67#?}D*1
zF7dt3TDFnflZuwK0a7%dL|leM<Ea;tyn;P3ilh@iyd5^cl5w2e6rv>j-kMDOStTG=
zr+|Y;e=YPoWu<hjA=$mt!m!s(H{M?|ar!WFnX^(_(-EPwl;8G3V6=4F4jqSs!C5;<
z-oMYt^_8n~)(x`RSSigTXeVCcaL{63PsnJVXAfCvkA^3Baqjd`t(<=C?Vt!bKkbsu
zrj{mpW2cTxj~Df=z=miu=;Ug{;KFUWEI?#vJ{G|4cslmHJZg0ZZg|d}g4jlATBK@+
zQ9_c?gb~&vN!DE>2P!yOmq)SOyM_z=!orELjn_Ocm`K1eH1oO_VB-;zU41SOeHBSS
z($32jO4^l5szyni0X`wz$x<Bc`m%k^Ir)o;-Qw<GH20c2yyuxk`7P=vP5OP)ZJzo#
zu{ww0{sY+$ok$AUh}xWKrB*dtLD-Sc3&@9Ucl;JuZUR+Ch##N)_(9a1#9OpUhP{|1
zJ#xB`ur|8eB%7&BBlXcnb~1-Z<Of|IhtY8EFB;Ymw@3%XPE}B_CMsAp!f4htB&k~L
zjaaeIYpnGVClk^p4ib3OPh`8y*$?_VWpOj1Ycj<`8u|$zmQN%Xe%!R-%l%suo~Uqo
zyEjq(w&s67*z<_+c3@^1>!PcT;&dlm%<B)YaCU33bdItIfm5ny=MSMsMjh4Krk<Zl
z+D4_e9^r(y7k>QPEUP10Gr1>8{&ibtXpW|Yg!kKRA~2LdOX+VuYXz}}Sgo$ElSm-q
zr2M(1EK%UHZviW~nc=?}27Eh+m$S<Lr(jgbKC~P9t@z|4j*%j9z>X;=LX{!qZ*Gu%
zTyAGMIyTk&oFC0N*sPR@*kDhS376@DQ=+j@cIhHynxKJtp&|3lpA?&vx;Z5CTU>1p
z$c}+em|HDt?K9uR(uoc~t@%&aSwNa;F_j*+8V(KRB{WQ^8rDl%Xp8xoUjLN>Y4Cht
zOmqr(jXmd^>z?wVa;|wzNSWH#0bN9?Zwz*-41QDZ|B|?NRZH?iGrtQ_5jzY^YsbNx
z_eThG*~c4B@*s1acf?5s4LX=AawAk&qLFenw;Z01A$3{4vh@|pis300U&^rHo1{9D
z8-JZs>wI6JFkeM%qjo7`pnx5}w2(+X{0~Jzy1oQmLi|EgTbD5*Uf<T0-f;o)CcFx@
z8$X7IZC^mqtXmAAys5D#X$+v?2(SJI3TAvlAjJbG_qn)Ze{|Cl6CsWL;iXshdDt+o
zb<P_PRziH=D`=A`nf<A$0eF;+$43{!V`KcvD2$FCHb$$jy5;!3M;T+3*U`H5)%WT?
zw0*NNi5+is7?P4bP;sXQ{>D6T(ucuGLBPSCNcWUn1}9a*78XlumpO#dAt*0uCEU!l
zZWU=<qRdIX$w@3?Xx9<Bk*Q*N%tDD4o)Id}Q7oUGSE6(BijZR#enwX=%u+!MVReqk
zsf+Cc_oXGkOA$V3$d#aE)?%pn<U6Q5eFZ8nybfi{)`MRc9!bmq+gAay11g)rjzdrO
zasT*~U&%_5zb`Q|5(P3#p@vFEYFgpY$tzIZ*r{EU>Mn-K^_T@y*V0Az8Lxw`KVQCn
zoFf&mr1=VA+?07RYr!f=&CJ(qm_?St$Vddb#zW<~>ols)zXqZ8&k>7JfUE-=58&M6
zwd%qqX<rJ{Lf4GTiM^<R{G4J4w2gw`{1x)H`Z>dOY5fw~KYfp%+3`Y~c0n-%g!$|m
zh(*DDDeOzdD>tBY-f{>q0Oc>KltVh%I{4c<c>EGHcl6Nx&o2x?AXEt(UYQ4VBbs6D
z={e9erj-E@IqwF4huOJhkdYCDxjU!8!adU<Ctv<O;5ylPW!h()pFH**e$L4&CpHF`
z<1ys>jjRp(F1MVm!+x(MibwXOhW*YeAkxwfW0y{Z+(13Gb)j2VPM{TXq;~L0U6576
zfKhlH<QW9<OCYDt8p4>~^b({uAA$5%xveXs^8#dzx(0a@-+<;_UqSgY20%LB)Y`fb
zn51^y1Zm;tkURAw7&bBn=7f!8_6H)(E6DB`C>fSG6cTguU}$MM46Uqzp=BW$nwQVM
zN05@_&677CC~$&LxBJRSVZdZaFbf`CQU(KqnJ}<CItHlk%hd0(qVLOe>y;U|<Bb8F
z@16~2z>k)e!?QIxkQ$%Zr{?8B93D7%KtdRKEjeaA10S65vm(qPjMUcUB9&V`rXhsU
zCgVa6F0gnkC2$h5zcv#)qPlcpvOKa0RSg}Q#V~@Zj**j~yJs2$KeY<e5SBAa>W4!c
zE4DjFO{VmCwERWu;fB_cP*vX!qsGmIirO~0m=|1oer|vj*2|&tmFrL#tb)LZu~7Z$
zdk~zyKrW<N!Ci<tpYbyw&^>{`2^Q0ZWi?RDj#I>r6PPd)ikdoUU4L0M1UkoppX{DP
zG?0-gV&_^w08E1U%QnEq9sA|hEhU?!maQ{!`a(E+^(L_@?d({1&+z=4+k5Cb5oC6Z
zngk`GI=UXri`ljBI2<^35xRP&Qm%_pAg*_93lU3FiG@FcFSfj>wv}D)IE6i`hT`_o
zP{aU}G<h~%mtU9XQp^BIAv(o%i~(ulEGVpLAploAYNCAoc+XU~HTH_1aRj=?fyB<u
zkCxJGe?@h}p=9PFsJihUl&#qc65F<roksx!cSXY)$XT)$DzCl+!I=x$e2*uF#jmg?
zlV>iW5KUy5@b{LdfRink7eakkGi*3NpMjG$0v<T0_}gh7*9O(?jWBE5M3}p4G6NRn
z#H57k>Y#l}2h_3c@{91C!w_kzBaqWDss&1`YoK{-8%U8VY8NXit7Pl8ux&b_zPp85
zyYd5-Y*a(Tm<|{|WfTJ_!y&&!wi3<{wnAw57$|QY3$^2>LCyG?kXtdq;?|X|gfM0+
zg7}>F{UA*`0i`p~LE*&nkkNh)GCO6>NoxC5sN47{lrQ}lhK*2kCnIk{*4SH6H0Kk@
zpYaJ~j(wk6yFBLP-j8$!N)r4<@YL+3(C@iJ(C_d?=y&E#=y&8Y^xJh9o@9VKzPN<e
z^XAJN9yp18qz)bmPfwNLvB|{*I0i(rXvBrHjPKQ<`%b@(VVf{#9nSiAyeB3W!+;6J
zkUD6n2QWNv@{npyM7Fp#jE2EVI1m!EB_`d9-b&c-QW$JWh&S2in!mGXPHgOc_24OA
z$wb+*>mVFHbrp8(ISM;oI70iu<=dWr84jJeLLrFzkDjON&&rix?Up@o`r=!#boEx)
zcjP>*Sici88PI5G9R*k4_=Ex-*KgemM^0a-phb;AG0$_JMBt?2^c4aZc^UZ-er`X6
zUpfVOS$-<6E6-koii0PKZ7AQc6Y?3rC~jzn>Nh@s$O|t+c>5lxJb!~21V6j>inG@t
zIAa0i=LHB5R9$=>q$zWWeaS8;g%{Yqr_EVT%nsQUvvV88iuBFTy#$xv_?W^gm#^DF
z_iXK!7vb318#Ff<V2MCv?dBKRej~7G<t8|K<_4TR{|5W+1(-R1rSg=Y(@KW`js0$_
zuHS@`*-HqN<@<^hZAU2-H;;gt_dbWn!BY_0@;p?YxkA@ops+&~M_+-8GgsN%?1RXG
z6A)zkKqjel(Q2r=^aeyuU7~%`@07iU*m~8k-h$A&?NG^<g|@svEQ>U9B7~nm1XXW-
z1d&6hAiQHQ6f-b~%YqEFL|!@xRd0O^kr!Wv^3_|Qi2V-m+!4s_c<~s_U%DPL*}5{Q
z3qzp15|$ohfOdEzEZR4Xfr};rANV_8$Ubkou^3joJPTgDwH#({od}t}AOV@3Z!Cc|
zr{=(O>~-q;ap21?g~j`)!?x>-U@IFNFU*I{4D>8`VJc)~ltR~xF4%N=5iDc-+H!p{
zOy4qvfujlrT&iI7;&HI)>T)(#fX`n?;KWzd1Pcx=hxOOD!h}srVfnf3FlOCq@Rd!D
zhA^6}gfr@QLe;`kFlx{1(6;?G=-zh=Dwn-ZZCwaX(mJj~-KNhJa3V7&Y2EKY_Qdxg
zvi2Kj+y6@_obwr^x^C-AxG#cubZP19Bj#d`0ggfSE%2i~C!pWyH=y5%8_@6ARp@v0
zviyplPrnBJ_Md@gTSw6PUJ>jK51hm>lH`IGbtL^;a$!IS!HLfRAk4!II0l66*VTg?
zZCiC422P&o^26hc%H;O4BoAPC;N&4?PPn$Mq8yKaxUI`9AUC^Rg_RISzEv%s*$8vM
zi8wei64jhU>I4CiMh%L(A1pej%w7t|UwMs~7cA7vDjJFHz*P8?7vF@^NQ0cxe)t?L
zT(Jq#vkPGjE5?yE$jB*zCI$*lUU-9w`MQ>Fxcu5jP|J$#jO-%Vx%W8CS+rJTDa@b@
z3+dANE2!|M)+Ppg%Gfa~j-99TjT}7(rK}(>VCxmJIjOqxHWUvZ#oo72p)d8YA~ii9
zB72WQIV;5T(sH4E)fNcvJp%dc_|m9J1ZoOHwUFlzg2Z02HEBf8R5=h*IUi(%ko`fh
zfviskE5H$Kt=qbX+Pub3n-9D8pP=M>1Sxo}X+A$JSiTW9Y}*H^nSL!Ck~{F8uww*g
zEQBfs8Y)j;Cg!5Bs)+y!f|IH@KLBa$RCWzHP`2SY2p>4kmX#>r<Q#zsVp)n9&<n~M
z47|otw$I3svvTX3GN+-P2Ox6zEP;-qrV-RGS5(uY0Jch~IB^N2?(wwTUnI9-VOtlr
zdLd9OLIy6cMElKPd)rILF2Tg<i>S3te{Dsj6$I9b@l^_w@V#MlE9`z}88IL@#|SuP
zZ=VF&Ii(Dg%q1ozGb;#<qgvp__g6r$x*8VkokqHp?%7?i?(AHs9^ODLV>s8vWmQnf
zt~om|1a+Owu>JLA5UOurzx!$imMfrb>L^(A%2LQKV&@%f245k9la(-c|4K;9>xBBr
zvtjAE=ODj&D&$nof?RzFV?DZcA#<`Dayk!?AU?hMFa)MtU;yPq$Qg45(mSufFb$l1
z6lG2ny~(idn^3#;Cs4$|iM{3|!I1iUubC4p{4+B%AulhF0pEf?H}Jf&va+;ub;Xzr
zO@KkQjnMD#B^iVqy&|(EFTDc&_MC=(`_9PAj<N4gTqm$HsJWfCyVG-<OxhOya@D@`
zP8P6UA@6~cd)d+zUyu&{mX||Zjn4o!;&|Z0z@Vrg#^(r9xWENp%NaPS&w+kx!;qLY
z43ZO*JdojmlZP9eh=TmgU_y55YLo@>#rENgh7d*+#0M*^mbMb#`ATD3bb@7ry{lR1
zZDLLebb*OZR<78tvt{=oShjXM72~)c9OziJbj@~R5wI9Vps`@t1_nq@(0gPQ7A)UH
zx(jUaI`+z|T1(fFvp48{I$O4u75B^5?jUf&onK;3WN?D42ZE5YRhy~UCNT2qd-OiE
z?<j;B7^=MdCh0bcYFcR<D!8+YA-wfPDBJQp<Y)O=f!zs}m);~mQoeaNgf>4<1v>(+
zG6u9zZ-T9AdTkBOUwJJYJNGKoHFXigf^&c%48a?=yKUTY0IC^qL2!aCUp@w;7Be8U
z>A3@tnG+C$61~G0J7!UB8?~)f9=`w;r!LEFTMV33UVR(<XlQ_~Zd2ycGAztdJA&&5
z=PqMlqDa2K%I^;WMd_TS5I%BF*5oM6N%@Ywq$|l|_n?r0&B}|f(=ib26ta7R`$ph~
z`_@=A27&?%T++N&HOqP))hvJkqC+Px!}zK5m2gkJQG|S*s#6!XZjE0y8djZ{L#<yv
z21w>SHyP&aoJ4HP?zfjg%edi?=_@7XWy{rt&@z5F%-cN`M$8&P?Ow>DgzD>H-MM)X
zV8A5QP!EgtO^1~yX2Y7(b79xbl~6gnneD%dolgaH%p47C&M~l2h|Ea~_=;L!-u~q<
zX4QPi@OMIF<TO}%<~b;Cnh7}-Gi2tZb_wLDZCy=UA+up81jZeN_N`Z;{khknedjwc
z>fpzaH|{E=cOW>q2DO_$hcaSLj5#OR%2m7dr%*KaGnaz+1cf=dx8TI@_d_@whKh;`
zh(scNb`%vAQGw=E%%`O!!_eG3_|dMHq2I|@Wl(aMjRR+3@w=bEjo<$f4t)DFNIG^A
z`W?I=FF$#M7?yZ{ks_3LH+O>v4~Dq7I7moH-~tak-{Rt8NKa4ao_BV3wgGqz8Z<~-
z5BIGv7;vD~r&p+Z;H1xhllVl45BuOp%gTwx7{F`gikQF&?>(m#%x*pXvi_x+@aWb`
zNc5+ZFy8|i9yob8!HFpAB*3@R#a1qJLcECG&=;q2TUVt;pJEq|i24TSki@VSerFcM
z`*{G1bG<0yUbk%zwO}FW$ngj1J1oqRB|+u`+n<K9q94J^_7@HlTY`+j!WEk#oo!Ry
z*g-|T3{FN-D_02v2Dra<Y`+9f3Q7!?%u(hf+SY}Ic3wsvg!deV&<ls45Zj=x-6YLK
zA-gs#m<t&&L=aPqYycL~sFy&dU>gG`TVH?zc1$d)!~0J_*@}%&apD5CEolOCHaGi^
zUV!ma=4k?Uz1!K*bFV>NbGMR6FN2e*44jM_KT`%L42bPN!uA=gqIp@mdK+xmz8BKi
z{N(9G{CcATLr5XEuCa5>%gkqhwUWS=G-4cSOppmGtZrd*PynT~7DL6!i?WV{ZBu#d
z6_92wBH&>#LO|we_7a&n!FDSImpC5^I6>fs><ogF0D%*UKpTM*2J(n)DUOQh18pPa
zd1dF3uUH1-aS&YYIdm3g%v%9j>N%Jl(^NM!22RE<8b!bYSrlYQ7QQ%*0hCFkN7?!2
z5*R+YgZ%+6A<fE;*Ooxj=vJ7^z)9EaF6fxnN#G>hSO;s*%!QIjHG7>0v$ju$U_~`)
zPPV_c4655(A-9l$#QaKVpFSGaGH~K6sDr$cCde*sg82uQ!kE<zoD_9J#i(hp<n#^(
zToIhi)a9Hgg7}85klnHydiGs|hE*3KxBEC0Pq_#q4}8SH2{I>2Ti0d=P8NRzsT~-^
z7-ddmaPkwmt*grgI8oS>Si#AVAwzmqv|<sQpPx^l1i?vfMp;=Il$Mr4C=}}TKHLsG
zPXs8AOhe*OcxKFGxs?ln2OE#>I}N9P`V08;KmH>e{Ng+K=wJU4{`NoqCrCcZ0Lsgk
z<n_+H4o^*)Ln3)M^M`XjapFXH?z!inqoafVpd(1ZA~HTcp6<)3Q>WnS)vE+To_+RN
zS_ikqLg1Nao`I7mPr|BIt6<>3fwa!dnKL0bH<t>8$&)8TAP@jak_f<LWMt4><8kpg
zcno!a-tfT5eE}y!5@ASvE<BFlL`rvNJHk4q#M1ud69bd5pw$a?CnXv1#L99Q!nRNG
zz=;P=9@?A}K~SB@)>NMm?=IvpLQj)bD`B_x#d1P?lQa7v85tVA=ENK<XtD5Bt`iIN
z&e4<M{I&N;z>fNmkz=P5Gk`+y^Ve=cH~ZYsHVRH(dW%Hk8QF!fe)~RHylN|flbWVZ
zYU@I9f^AROBBp{9Ea+FR-^q$w*|`f_rd~LB8d^KY$>Mre9G5Ow36)pgA^|sQDXL$8
zAEYr;sMrqgK1ezUEZ*_Se+i1g!?o0YRCWFa3A}N=(2jjjwtWu+D#cWAmrR`t)$e@)
z6^GBtMYA#|2q-pg-%p?dwKIBff<pI`7v6;WmTm%RxbAue!ltu=eDs7_uzBYpsA=qk
zgC{Q0{2+LlxnLE%bo>&5NvXUx%19NK!sMBYNwcFeGbl<A&RGfpHs5&Oc->Vu-X(?z
z1^d-EKZWuQ&k-9`ar^?YJ_JVCyj3!wQo^>)&n=DuO%$uMeU>d*3lU^l*n4C}Xg+ow
zkaZ>sIH_XuTintmJ94pY5uB7Q-v~wQKA{%Iuh<9^IC<p;6ti<sEreBYf*=#MMp;Vx
zm?6tV$NuHA?J8Ous9lRh?<1OF|0k<p_KryeROUTDmD;w-YinWBsvc_p!havgjEtPy
z4V}|FVd<e61Wr(7AFQl_jh7a}gcUs?g=%2hripOi^L0?!#sE}+U2|C-j9N4vHeO!A
zu7~~mjI@#FWZ}W((6eR%WEL_YJ9;`Sdu1mvC)p8wLVOgQ<h1REaW7qm%0=fGI5`0g
z>t2VRBcI63iPF|px%y+M-TWo^#@&R>G4B#{lF@Suvc|m+bvu3rfdyYc`k43cxF8<?
zm;{4Cc;k&XsA$DvH5OokPxBF6AS=-uuz-N1ySp2fEn5byt*x{#1DGfaK~<o<*8{ib
z9n<IYi2({G9J3<sN2|BXtO>Sr9l8klXRpKm{O|t_YA?P9{a!c${q~-M*M9SRD82j^
zTduGt*xt421xU`!f;9FA+6fRYT(}T^^{ZdOOE0|y-+c28j2SbA&JphmzV`I=z~BDu
z-@>$M)98G0u4-y(2wddk<UmVH3%v8rJFs@`S^_F1B_;5OKm38_5%-V#oHuVCeDJ{s
zuwlan*tBUAeE#|8P+ndRwd~(XS63Ik$AZEu-uv#*x9+J4+`Vb*>#N}8*%5xqDnXDS
z6tVLdl&~{H5+~5A#Oc9JFasW2SPD;f`aQ=k51jlEtc1hdM00M=NtK*)!gs$4Tfl&t
zbAp-^b1Jvr&PuqdSqz?d+872-f}9XWJ9jWuyq(92(uva+kc}>i+t;xI6oCc??oFAs
zgtP_+Ph5s242)2r$^gxh)my1B$9AU5`Zjp+;28*%RYPr47d*fJ6tzg9aC!*?0rQru
zC*}nASJ&JH=dRv_E(SiRttzhsN+!>Ns<%FZ%F|b=C@+~bTd~e9r<{%O_PxZc;Ii<x
zJ>+bKtx+fprziZ_#<XTDl&;z=+w9`?vvsO(eg>sW)@ed<0%L5y2*yz0FFTBtYv2LF
z1p+5zN02$m&JV)km0PHlsdMxcSibH#0&m#rhTw$S#3~wL`wK@HK)FnShuW};WIJVa
z1v`BDnn5IAwtNFroV>)q!4=Y-;I*S}1anWSuDwG-_KGvtApGLtXvPRT4hqzz$+D=Q
z?jPHKF#{4f2Nh?p5(5)CdLBv_uBQE!t=mT09lUmI>q7krng~#<7G|SNnM3Vck>lrO
zAgEXjBO^ug%6_wYaDw*=TlQW$ev#NYl_e4l%rhA^ubTw!%MZ_lmB(hm<TYc#ms>^-
zTuWY>LG4@{F3g9<9tI|I%3$WUi3Da^#}6kUQ(jj`VtbtH#!+ps{=xzVYUabN?NeaY
z@p%lqG(ve}6D&JC7dBj63fo>=4J%JCgK?{7K$gD=rtMe+U5jQxR&f`EM@)m+2R1VR
zJOgqfGjz;JH0LC<ekX)x9EDMPUV{<4--Mc#uR+_+_aV1O)|{k`xDMIl-Xw6+wCh_a
zn)5NFj(7)xi@$)HEkB0FT|bAqZ9j$TO+UWlf_SyixpL(S70C!xl3lhW;kH=h-!7Xm
zdh}@6wQCm@$_S9u?<3_5_>ZiCp&Qy@=w>!H>0b4Nw+!EJY=gWJ)fRw)KnmHO6cKp9
z_NVM@_|cw|(C_#)O=l9heiQ!h|LgyP{x6@0$BtZrLC3GakM^B{M-IKBu`48!-+vmC
z^9meWyRiKVK?4Fa1QH`gj3B1t+i$<6dHCw9ui%9jUVwl9@Bck4U%njn?b`<*ee@B$
z|Ni^X(9i(q&!30SKKl&*=5PK6R<2x0-~<_xU;gr!G?xfa5QreF^4EX;*Kpy&1$gz<
zR|)LQojVu)_{TrOwQJYl$3OnD#-?~cpl=QYqR4#Vzd3xx&nno!_xO<DL2m1Ma$*3U
zoF0II!3?4ER`k8k;>IOpO`KR11>m4#*P~Mc@YFO3QU@nK)WE?5CqH1fE?f44!>p)o
zT}1-s#ICJN4eIk-GDr9TL=R3ZN%3ZjVPzRIC#6aVqf-LBfq5yG0SA7s*VEvBP?Mqt
z4Pt?sUtG@5feBcd8Eep9SfI}dldG1Wj;-XEXrX}RazU-I1k~oFvr6W+7v-0bCZ+Pi
zYpmGr)LOb!5Q1Yn0~kFM=g8Ns)9={cO97jPj%R_g8VKmaIVHZXi1JDBTFa`VY3v9z
zTDr+qtT0pu1-KkRQ&Gs+!e{xNu=N;-B->=R4Q{KkAlxuRUAU%SIS*t`RI>)jXff?K
zg^A+*U%zcHwYh06agyNQL9v`=Qdkn9-%nm)v<(v9W2T83*of|4{5g*P8_DyBDSQ!y
z@p*+2CFcag7;B)IU3X!5J-hY>D2}jyYvDE}gs~m+%ex>yJR0)CV@)B93n(EzyMCp?
zN;soQPKft)9EJ4ZC*+)y5tqoVE2H}cq<6o@#+#5i<{iiwE$dA(#@r$cVPs4)dfsR6
zKX9oziLI>*|CnG)(C>ctJ1S<eNKJ8g>aRYr#lq-zTDou`AX>9#jRl-k1Vixj$!_TP
z^+f3R*#zkKIgW|)>u0+6yw5nkodoeaJ7_=Qkg>H3H8Qr~BqtYsglvfF%*DV-1%Z?Q
z8y-Dy7V<B=4!`^JKfwR-U;jTa{pLr|@4z`3oRDb#5+wTzZNUi^nfS;1i!Z)_v17-=
zf&~j`{+BFS0v9h{go6hUQY#mV`H}s=cC7vT_Y+I9c=2LrZ*Pa6{p@FCLV)Y9TelAS
z_wP^I6a*b#fBiLl_~D1}pZ?Q-f<^|mabL*7j2blxZrr#*0PV{!za*v%0gDQdJRs1w
z2L4VEP$093>=?H7tyr-F-h1yoT8=E>yYIdW<HwKZYL*@daFUP&k1<g2<oF^OP?`}H
z!8^5UMeMaHalAGz0mFiMCy$Tz!&A%3A@y0$PS^t{4>34#D;(E@6SI}D$g(%ef;5r7
zz_!?xjBQ<Jw=O3DWw8==2$$q0bW<(}`&?{n2U81r^IRCWbxt$aZ)-Up^_+|O?2ez;
zdZ+Bia4c3p2dB=5Dh5nK+x9?ye$b)|!l(YFk$Q4oQ}3feBccNoZa|7QKgD6&?ey1*
zsqmVp9l=TKNT`1O78FJr2#{HRpT#!kpyavui}e7+H1EYBYvHeKXZc+y_rh$#fQ%5f
zzJ;q>_%3o1#~eZt%j@lxwd>J+Ul1_9H~xMUKvi5J4+WSIIFV{7h%vvU7V;zp%!5kK
zNogD8m9|4311EW*Q4E}nW8h>Gg)l~~gqO%x!o-|xizdXk9)wIxh;KgynVqjNaDq7}
zR}^saI;4+$OCFja{yjEs$zwDQr?#%%xpm<mk=3hL(-U<pVBNO(VBv%shu*ey>D#QZ
z-Du><krr?gcW?ys`*1w;dv`4Kdv6?j9T$E7-q`48ZRnPNJRTA^w^_gmo-Y>tLU5AG
zz)5Bn{AkBP=y&|O3_4!E2)U=P!T<P|e}RTeuS37*kHerBkHNqD5C0KXe)I+O+jmw5
zCdaO^Wk(@7C(p613kyvI2B;aq_cw3egl*fl5v%df|NPIebm>ykj{N-RKZnA?LSj`G
zEm{OW{pn8$%ptHr7qaWuufzKF>j|8w%n4p2ULUT5pzqB$-y|&x>RWEzx<xHr-+lKT
z%>#lM1V<h?>AM5l{VFRf>A?ZsTLhV^83O*B#ry7t@$9qUWL_ye(N!P^B}O={SFyTq
zg$2TRm4z{bnot(>Z_R_J*F>nz%mW!7IC*FV@rHs)ve%FpG$+NTC-$ONt>S11BTsD4
z0|_#7(j*k?i+~h?lSsXx5Vf426ydT$LJdy9nrLreawGv5G4D$fAHz<2V_`-(IWqd(
z7t&4iOr_L$ViAf$T-FHzin%q(4#4pOH_g{)3CENKz*W*Q7?gn$BEi2jeum5r6<g=c
zeD8So#muTX&8u;rRyK?`aL)2AKqo9@>V)&iW!3~4L&y*XDwO%EBnHJ#>F@|ps-d7n
z1}FI?bx=^+NZ_QPv=#Eo5S)xqz)26}MJ94W7+2~N;&+3uWiMp49g@LG2Z9roIZ?pL
z$TyVnmJCcrzf0_i3`*4T!Cldupibd8zxfTdS0RHEt9>wni`xY#c<lQ6deT2=Ac6r3
zsi_h&Ce}g51a;I3-kZimc}R_w5Gl7F4;ddj%?U1hbkQ2<clvdW5qV_)894sk&*AU?
z@qdTy43O;l{5$wB|MkB@Hv|6~b8`AMcx2U9NEwy}X%0F7EHqI+f(!;S9r%iKfb;q1
zKmVCtQM`}L34)NFJ9koB*T)}!40UyN)bfSE0vQ)%KCrC|#qZdrg=`c)Nyip2Y!}<T
zdpA98Z)<CVU;N@11a5FUYzzD3lTWD4&C{LqU2A2$mw12hT<}$8N$_`y@7=ay_Ejt4
z$5w^l$<|!5^%VgPOSXwk%T`?2s5NnP??T6}h8%cuX_=P2;sFg0oIJc%!o1cgQ$eZE
zInlRuS?z<Zg|J=_&rNy{Si=$35JqvqW<0Lmtt(&O_9SthZcC<O+6Aj(1|*h(Ukck6
z$!>uOuYh%QL^HEb`9WDoUKFxra*Wqy0y)CgsE92<wEQL{t3z7!x^&+mAjvNgv~NXh
zSv`wIbs!>ifwQ#tNv1X~LCc_BE)WmoI)N14I-=`Rt(Xa<;3%omF()cGVIwGm6U;fu
zSHMYrsEZ95oa8cal2@r~>muevwGvjClh!>1PO=D`oL1VpE@<E+W8~{>yhTIJIg!E1
zdj^1VHxlC2d=j4Kz)fL>twgum+9h)9LfuJau=m3ZOz=FhaCf>c3{xD~)K2!mlw)#K
z)|5PQ;4CbB_ak`oFa8p4{Pr(k<c*u~Bg{P^)`X2yuR{OMF_7lc0So6GpMK+0arGYH
zxgl6k4F|9VO)V-B1R{%~u7}rz^REj0@jG0uY7mea!TXDCVF*IieIsD`$xnVl$3+c8
zatzkT9`Nwoy6z}ANlbz#)`sDknrx1a#OkhP0V+z%7k3*Gh~a2Y`ZwjmQ!7J|;sr5!
z;N)Qz#9N9hUcqGmCsECbC>O=j)}?7q_#uzH<LVRQdBvqA>0J$BRB}#u%!3((@Yom&
zTO)-9EJlP|>{^O+!MTg)-TvvlrSMi9(J((l-&Uoyo|)Q)ur*1|<uF=DhaK4(GfTod
z7ds#&-zWK8^L6*g%%<UTE-;V;*3*J^I(Z-FITqi49#h8)8Rczb3#4s+XZ*lZ4s#-@
z%!#qBOJz<97%<5%F}8K(Ys|?=$X7Hcd6m;4w`#VMa}u=@&L-wWY3pj!w{@L^OkG=7
z25L@5z6lwlj5#ON+SMy?;yxkXDdf*-Tea}T!nrT!oZz`32*P6BG3SJg0+QkJWgDR1
znKxwcfdEC(pY+>%hK<v5#)%rv$kuyo&2~suws$*+dZDWRJM()yXZ?EWXB_(LF>kAy
z9;ol}NjriP6vL}e;ys4M11I+@9X^?z&yyP>5LcnomV}*IkGQbA_Ac}KTt)@kx|$g{
zSsiBJB*_CO9yobO!HMMJiMV9cKA1Hp(W0DRK&x(DdgjE9&^lyJh_}&m7&IqJTbEs^
zq&diuS72L<$FRGWFD-Gs+^RF+6#ZJ!Z8)A&TbC{vQxRGRtEwq8Lk~tUxf})ADljQ7
ztAMha8VH0d4PZna2ntl;wjBWAw#fw|Tp_vn+)FB|C^a3=%?ON?b(Exa9yk`|@SwPy
z0GEmFz`T(>2F7yo%h)^#7!>n8l*GR`vzbHmUI-XR(R@iR+UE@IhZV}aRw$#=s5w!<
zNkOpD(AHH@Hk<(zU0YYhM98h28U-f;%}HkKOOVlaL~iTSn3JnI&B+@E%?S$PGYoBA
z@81>X<W3bm_~akkkg)%~uMIpeWDG<>hTLny!apw`9^1N4&O1SIyz0tDU_}KiR|uFq
zy7LeuVgO@O;sYVH_CU!Gj}7W;-~?Hd#GEvEVpE0Dk;?{{@K_TrcyVg~GJ_LhPRc#z
z<PL$8gai+q^ue|+e(@)Ag3?<FN1wc_>_UX!+M<OpRtO4v{*!70bK<1u&_V?3wGc*8
ztC6Ag%u<Njwc|Kj6YH-X)4j3C&My`}c{j5yhU=A#><#Z}KY|Ga8!L~_BFoybOGeAi
zPsmQNVjKhfM$8-m*?DF3ebbmWSaWI)<!WFeITr64NG*<##VuxUXrY80qXNtPOB~G!
z_qQVhkLjDnQ|RD|qqFI=oT@I*1D+$==x(~WfIt$j1&zl@h3o5$U`GKwE#ul45UPg8
z(JfHM08xHXh&#{v07WO)Ixe6U>RTcXzbUKep3k=E_Z4MMu%$}|C+wb~-h@~al{rCh
z(yoA$ks3J3)4<6*N{H8TPE_Wkc@N}v9)*IDXCR~93{I{`!O5t%37ib;ehX?={0>43
ze*vl8@7&e4t~*)qrpCY++>e4h=0Z;aC{HY0E!zs8eof9k!90@_H{{Rk{bS2EJ}|(<
z8y<7gXTZtOBp4jXghy6|U5Vb~^qD7NkqF*r6w%u;COW2un3J_(51e?+$-^&*w=2HQ
zZ9<|DM#Ga{$>>&O(VTE}D(0v4n&!l!=ZJ9IsPt}KhT_@<TZ8++C+yidWssF!suk^&
z*O6PM?E}BZ0=iI_1di)tMup5c$lqZq_&Np*DqHGdSem3Qqiyo!ZE(Np)BfB7`8c>A
z+%_wxl-L04dCNt#I<L5I1SG3Y%%Od#^N+{N@|8hlYa^6aRU2BUu!!GyVLo)t?2@-p
zj**^T0-ZBDVab8%?2m&)c^n1G`Qbd^XZ_r0;e>heIcF=&RZyV^g9fKEwl54B+;nMy
z22Rv=E8GXZRu6Bq6zlrA&LuZ5c`kAL_2=d>P*nrz8A18@?7PBX1#G#p5ZWdVCy+LL
zQajx{1HcKm(}rl*S`dWH+yG?d1+;t^Uw#RFkAaoAEWapf8H~9$v_2a-ik-6>goy!|
zv@IL@P)FQvma?yGy`{7Pq*TcE$0UlcW}rkC!;>H$*^{ys$P2bYW^of6Es!O(Lsm%_
zWCTZRg7~b8IglQn2WgSTkXgG{)0`w%?||x=uR_<FuOPYcWf<0W%Ah$JHsS`PcCs-7
zLCV_%NE%lEYp7WKD@f{i6H>e0p|p4_I7ztewk~ft6m-c+kjnn(4yvky$7d{r$JXwI
z$DTU`kFDPYkIz~RgK8TgmHjbJ6EG2ObPYc=?SnTwa6)Z{@rf|7A{&0RECd5XncNh2
zaZ0@PmHR#{W=*tpkvVD1fhU)h%fQ3~CmuL?=)j2-c627vKLL)mbu}5=x&r*C>H6Z5
zG$$pMHezLKp{N(cbDt=41o4ItMk!+J#HIg?Em+7HOj$RM!tc6fj*zdFeK&5&7;1;Y
zq8E$z#xbq*9*fYn336B-vH_R^j>T`|s1}(2{1kZU^VP88$Sjz(Z6efkHp{I?Y@4px
zT`+goWEi`2G%KKGwg6d-aqRPyHRGVEr<L|s+tozd7|&m4X&b46Nvp@g_8W_diI}-{
zA`GA0K}CE;O9RZ=IT@yJoIok#>VB}0&tun$>EtRnQRia(vM~%WEQCEDtbkeDC&I*4
z@^vHdKt=_V%yFN?C%036M}cCuJaSGKG>>hA2`k3H?Cq1FuB+L=dYFG>2tW`pY`n05
zTFz89Lk%sQ$L4O#f^K4d^b8S#i#cqrr)^|&)7eD8q=C)#qJ7ig;1_EstdQoqqlwNL
z!O3O@fLhr-T77B`v`tdZTjcm=17Pv@lv`K|BgajL6&rTKq7|E=y0MeM$JohpVf2Jq
zFmwJ&Sh!*n<@4aWxWDeP(<y{=#k%KU#ArEm6N4_N&0S8xoa3g<g-NW4oH>6Lfp=V9
z8e#Wt@mg59VHb?(nacK6rs+<MniEwRUnRG75ipT8Cpi)WrM07B;@r(Jed!A@V#<0L
zJ!?CRp8Gsm3FlPKgr+GkuzPk1#;>{#RTB<EX5A*pZF>Ql=Dz_`cm5J)?fnC^t@sLR
z=6?cNU6&a^xdQ23*P(RQ=TNu&R}74N4>{vMU|{4es9W_HP_^v05S;r{s95qF_WdV!
zMRVd6$<Ei08WI%ABQt{eC1?{&ulO0izXyzw2VlIpdg#E(U<OWF^592{%ZyH4Jb+>2
z+7%b^2^kefol01zIawF+m=h12Jft}%HX>k=K%8qOEOK_zu^rUb6|68k0k(C7GUc2&
ziS~_dU3CVlSCJ+}vxa2_D?W9{B7fPTnUvx^@A=74TwV!v-OaG;?PU-MS5eWw^4M&c
zx?vn-WCU5!+YUQkUjh@B_rQ$J6JXTbZYq8&o9m%x@hEuly%qF**Q_oGHPjNrFmYuM
z?0j=69b@yA1u*}Gsl*1%+dYL^nXu&wmoL~e71o@bqY21)0e^UYSg_+Z$b@t=kbr;&
zi+pVL!p|?hzXG}$7?K$YdEOBWtUEW4+PzSVq3UT6AT2#OovsN16oL@af0R{Hald%~
zbXLsvz}9OEVZ@9PGHby=!`5qyVAoqq8JOuI0D}Mt=RpK|aUSu!@toB(dAbh_(A0Og
zz(RKIyWU=^?E}~EnA!o`ZY+ZF%f~R_#^!q7NEw8&xgO6z(H?f4QyH-Anl%E#4Ry3H
z1U@*=Rc(#5UG?w=LlC0SiA;)ESVRO3Gv=*?lNa7#z+@8x4m)Auw1vce?AUV*&Rl*Q
z#!i|8TX!F#fq)`VUIVK(?q+~xGt6DG4vw9B6*?I}!JL!}H{OS}TV8}$uDuHzw(o<3
zCoaRN@iS>YUO0G$zMH*p4ZM8v3XGXJ8?p;Zb^mTEX_y7^`PAAaw{`i7>!D`&R5*6|
zb6B+D2pqid1uWcj2DZI?3+j3{P|nGW^_QV%*?Abb<N_?+_hYD<bR04pcS3mbc^I?t
z8<?{Dw@^9zT_~IO4rGnE1Zf?Ypmym`VdVC|hRQ`hgZdS}0cqyfkTT*;s9o_p7_t4&
z5LxsqXkPzU(75)GMsO0J(5KqEydu;a-ss!E|2_v!1`UOQBMae?d8L%nZky)LbK5ef
z$D7={;v(W;MvIlO*Vg5MlOKXxmoTNBlj|XalSV^Zm&jJu?7XG5bp^!s#d<a;BnV*?
z*~A*!x&k4tmV>viTvlXH-8dfBpPNesFBbAx#A0z=-_=aTHww*h*^-y0!=%+ckd|Ho
zW0#D9=U5>htgI&XgWA6&MF`LKz4iJcs2$M+nOQ;lF2KOVuD6y!`;-nyO_Av7|MTxG
zgVM?xn7v~%^eh|&?X0jz0EDeqTP`nzvZ`7W3t?=9%g87pCIP_=wq;TAt+;pja!MHp
znM(yb0wXQtj{%DHXXg>Xpf)FEpIPiYN6qghP?V7wl&^_xH+sQH*zv{^sBCFq^IJuL
z3tO^~bwOZ(ty9R_;5H;c*R`<m<{JSKf|CslocM!ETbFWA5vZXqW;5HTdfnK@g&+gx
zQ)0(g=UQ!{!@1i2>S8)S+@4&^R7Nac22i*SIe?km*X%M<)N{h$6#@+eAS1`mfMHpF
z1{O->Yhj>e`-?|l`Pv<joSq9cO(Wp=E3Xs#f$RykXq8nokcq^`9s4O=9>Xv9AGtsv
zf6t+_(9k*(7OmU@vlgx<fP>ptH+Dd2xE@wBaI^o&dC1Bu(X50u<^-8YHvGX_8d0~d
zM#v7-L*4Lcu;Zoc5UA>b&HG=2s!j%mH=co!bM`=5a3W+^&V{0uHBi{L5oT`x7<yK}
z18H^JA*E&q)X#ep#%%g2q%<Fa^x>x=z4HR(_Ph>bcl|9CP5BT~I<CX8t~X@OiNc)J
zt^5l}9`P3BO!x#kw*9$JYfil34R3hNNlf5mAOj~;0`TOF01OOfSbzr)Oc=%RJ~3$F
z<fPaM?PYKhf#gKbt?PEd3BG#Zq|a+k!a7%~h|m!$q_%bGtzaDz=GC??I~K!SEQVYp
z#21)S*R{5;KuEBz^@(|Ieh5|^o(0oc(XHxBuwcf5w!T{iCsIgePLMsoLKzEx1SRud
zm;zg_E+iJ9Wqg~WcL)&>!6*ILcBB^UsQthv{8g=ubQ~0DZ$|*bK+4Q*6Jd-3P7nZL
z8`Y*u^P#M^R@0ssER2=w@a2}mj4cyj;l62fPI^5B9&`OG^JH*>#k`_Z!6F?s8pM9&
zN5M%B10u-ytT{c0-sAVU-Hfdh;DuYu>DrgGd0NH56Ske@E8qe5g~u>!QAGJB#GFi4
zz=^J{t3Ux8*oK93s<Iq-zVcj8rSCVKpAXIB+6eIBI>Cx+VtZ;j8s)jNaSGFm+4Blf
zD-*Pe{!L~H2rwcwEpYD2O{lCNPC5{EE|JmLvF9kYbPdZafLa76=U#=fNFx*lD+rJv
zxY)Am5c~c$*g)W<0rtLpj#B2If9Vv|6FAuna~7?Ec}vzY5cCdP{~&C8{$<#;?>M!P
z<@n1q$FA%G)ZB!qrOU5qPW*}>o^&U{1_n+VptfT=Y(H=nq?&QCVb3+F>R12^5S+~3
z1348lVD_dPu<XT;VCLqVu=?fi37n+YZ-Zg=yP;wJJJ7?xNm|=+N{CPEI1hm-w_wz^
zKS6d612I}k{M!Uh>R0~-u_iJ&`4rl>{9D)H1k=9p4+Me}=aJ@ey<ToRte4CB<mkm*
zJ#g392e0R0o5OoJR8WHN(XB2iIR%CcO@#QNNf4hXj|APT`d&X0Ot0}S)=O}+-k_oI
z_zVdi8&?ERmu13J6<Pcd$r3M9#*-C3o8>;iHqre*(UJ#`t_wqa0)KAe9j-k-hV^b|
z``bOA+dX&N^@if-WJqMcu>>1t-vcN2F@#anGQ~?D*M~65;6xm@r!Vxv0=F)^3=<wW
z5wRxf2%6fuxDHvSePBV1T7{LzXH$WnohOUlan!Uo!gFsdp_VihsjoXbk6M><6=6KG
zB3NKgTGK=8;d?BYu@&mM*OrhDCDT_*>tbuz?wiX<pOKmpAds^A?WNR$g}Rk7i$=ll
zDebW2;B?ZHAUjd6f)le%uX2A-q>kWZ(Z1;nNJO2t@Ej0WVEYz|&+$B?`WhLuU|Sb`
zUmVuJ35x5nO)SeNvpvY1VA~V|5Ht&rMf;^x923xC1CP;VXc6PHVNvEp*4Q9Bg200S
zl5&5tvV$}~n=dca7%ZGqb*@pPgG|x(*A~+<0w)Z(;M`ZV*3-FJ^hTVZQ3M<{O<kk|
zDGo+|%RE4v&(@VfwG5oR1H-!~K$@?RgzWjn<;0xqc=0H)9;uo63OIQUq_P@n$2xNQ
zDg?@^3AkX37lMwmibmLb_!aj1mcdCw>nH*sa~7?I$uk!bn}ULP8o2=iQL5ggkO7j;
z(Nm$mWhA?Xh_$VY0h5AK1Shq`oNPaE1p)|8_Fjj|j)kyb(;4WPwi8+=?}Bv)Kc$5D
z)X+khw)qx}U;i!xC)**7fs;lAC!2o?smPqPpCRTXZ|s}Uv-9tuVAA`L(s?7woOHhp
z^{f6hL>BA8$=}BSPU6YRQGS}0VmssvjNT1b+otq#*~2nYyzBAi@cs_<-)Uk}G8AX0
zLzO=hA_elOU?W_Rp}j_w_Z8Y}ruLnFd04l+!muBC9d)^Wf6;B_?<4Fya%Tsjs4)iu
zQU(M{Gg%#!sl67{`z-pbj-s;YYq9cOF?%m5-xr(KE7q^4+Yh}DMwb`WWJCVSFjV5X
z=4a}zU4ISob*R^=zxD`c?&R+>E$f9X+h$tU)6b{=*b&RTXDIi@_+15Oe-WE=H-8sh
zFN1T98K(83+g16qpd=>^;yrNk;0WTa?1tE_ix*^P01YN9VR2ZUF&Dy)Iq`GE%)Eqn
zHvxfItXDKQkhTN`-y`RAvjTVmwQ>bQRiptyfjH_G4u7+bzzG)b*qVgE0EN~I_fCV=
zC+28wR0WEI6n>A43bG_v{Lk1r5w_h}Oga!0r6UvJ%Pxb3d#1tIrDIs(*a<6-&4QAO
zYHC#~uhTInoR%ak#%Dh_36{M)gW8|`il(HRfhs&MS_UKVK?Vm~qEz>>dAlaVT6X+S
zc02+=*v3{6g61B1o6++}Lc_=w8St@l*>ZIe%ztqz83G_UKoLBN?Adi<TNlomnK?24
ze*BtUa0tQ;_0-}vY0X$@V#mbuLJbWbbJ~XSq?N(*M^*^|63)wv&Ett#TKduqSjB*(
zY%n0(6XRSjVsnj*N?A><0=UEhnVGr8Bsjlt{T8)Z<td_b(QgGo2(lYT&)$G3vzEY|
z#cQBv(i{d-BnB`}lej%4BM<6Yx(URTFfh~H(F3P0zQF*;5|}z?8C-nz1K6y9lS3!3
zK)9wA_8&bDjl)M%TNnbAKv@+WIddJ>Y<>ZHCeNjIuL;u@5OabKWw`D68y~>(4Z9h5
z32MxV3Qn-C3*EZ1i|e7jV;bx}@;XSh<6!GcuR~4eLRhl(0(8&X163n8z^21r!tj|d
zL+AW6u<6wAVZ!=bkXE-1(i@+L$h504<Hf&#%31G1VB+f(!ibuard7X$5nKKe%I16x
zm5aZJ;u&9&=A?1$A4mwFJmPK0nfNJ;*zpfGZe3#6E^P6NzPcTD+r_xAAvXIO66<;0
zp>yi>G2>%DN5g$^d*1Oj>%{l|e23hDc^Y!J=bCdJL*jceZ+G&(yFEs4mpR>Y7yEN@
zU!EN_1agNZLYXfWO0rUD1lf?XlC{?o<$X|lP0_y7FPC)7gNFUc>!{21`-^VNzW1@u
zKKZq5=uil<QOZV%@*32ArynJW(N}eOFfqD3s9!HpUZyVB?@zyNP+7Mmo1Lf6cujPU
zhHF)>&Ac9G?&R;R>zU_He=m6RsXum!W!{sO`(peq$k|`?*vXdf&EG}WOE#US@jLUi
zl(Km#%t(eI@$nuw>8ovBLfwdIxf-abx^+3Ff~!6I=wPI}b%{a=%{dl&w=P~PyfB1O
zu@V+(O?a6uSm>gCEw&C}@jIRY1=UFlpX4t+G=l`+6Ib+*(-gK-A*+I}TuWb?P9Oz?
z1y!8{G7D8~If4`17K?6VTTrAuY1LQ)CAf{G2<^KS$EzAvjE`MBnhN!)tVqZ9t~_1a
zllfZk{Ez_|vv8!GZ=x_kW0#DA<uA{qW21`|wq&WUT?hmaaLn31iQL4{T}#~-3wmU5
zRvey5+7fI}!}CUwIf5MA7XrB2jwbC|vCR$J-&7|oUYnj7u;R7|>XzYg*gVLl1hw+~
zADm9-jera19Ipo%C^QYgdxPhNU@uQ6q(_G?1Sd<_a`jyNHop~LUJ0=l8=u=R+w~T6
zfVs|b4u4z75>1`Glv=dbZP`QM18soOX{&3@R02HMs<mv*c5>uGQT+I+^GP6&;AQg6
z#W00!FO}E8{H5y&M9*2g4kEQ}#IlT;IE&bls`_?Vxp5aAXZgD42)rOL$<7Z#L)$30
zc;iE8Y99-^c>M<Eq(;-6<VXz=X&497m+XR~%F!@s(F;)4Gz&(~+6fIk>mj3j3bfBS
z0JFEg4WpM_gyHkgL&MB-kkPOMvYKC{g!uY-@4?88KZAxPUqV*bB}nhQ44K_Gpkl#~
zp=r(Upl-!)AaCNwWF=fS?`II0^&P$Ujr$lXm;Ngk%!&J_Rrcdf?Wd28_=E>=J`#Fy
zE)UE7OSsSbOX$PbozSb__OlG640x7}LGf(JuLJ3Ii1x}K@rLERb&bp8h5ORhW9Kmt
z&xHXkbqv(K=Z%3euID_4Xs-hY@~_)E5AinhB-$?e-9W*9?dDUwPrLgT?{Zz<dTy>!
z{5y!{_wIp{dnSmFh#3YBv!b?j@p4Y=hMaR!DRgk+u`i+!Mv=>y#Y)(6Z4q0IjM@r?
zY=p`JPzw+%bSZx%pN-sdEh~evKXOWyR<JTT-y&cvz<o+9l$N?)Ea!sI_jzSX#)mB2
z#^d06bZiu~=az|cXOw$Xs00`0kgz=}_{Q&iN@fdP6K1ODgyJfLlC9*k=rtGe`N`KL
z2W{fD=*}CjrzqMwg^Z9PFj0!Qu&9nG=U7UvU)tO#^DpO_l<MX>tetPR?s$6kOF!3^
z+#UUWE-EKxW7E!qBw$An5e>u)bHg~bxycV|xh49X6J%Co5K~UeRFOXdAN;K5nW#Vr
z1@8D8&CZu!bNoSVA9y}$OBXUTc|~OuyomZ1bo5%eaW`9+fu(@l*5xlzLKuU!8aT->
z#hjC7$O<$;ZrKRPD(Qfn@*c=48w<YhB+5C-49|k}$b87GS_&D}t0ALq6Xl%vTJ|z<
zatP9z55lmPV~|EUCl@J%5v_#foRe2!Sl647HWEV@--Ti9b=b&vDH%R(^eqNbZpPHs
zb<YZ}_=E=pge2Ujb4`e0y}o#U3Agv#=~KUtga-?l#wYZFb8z!-D8ak8G5=e?-3JhN
z8sOf)d+33ad(zewvDJx)K8xDA%&F(vvSQSn=)j2-<`lBlC+$MFE<qBx*-DtFPw`ud
z)`$@B@UDleVc?{e7X%{0baCN4nU~vSaae@r0``jMMr8*coRZA>fYRBnStybh{RSm_
z2RK8ryU1}%czr4hSRM^b6c|H@=1X)RTm^n|bWnCKc`}1jArA&dNbf^ACshXK1OZCE
zk`P}|+ROk-8|0UDKwdc}#E*i!@L0%;OrnH%1SdJw^C72pDP-5JhV1(F(S-PxJp@iN
zhaZ8=j?<9Yi3#zSl!W*jln|dW@=aL~KZ=2qQ3y)j(~{w1O^8?j&~RIVhQ!}q8<X3%
zo+0rz+r-DPue;brG$j8195?3u$H#d7@iwhO@wd@#6w6%3u$^t|o6WI?#NWI2yx#6B
z)@!q!*LY5wWc)p9b&T)j?=e2ce}A#un|R~A^tw$nUi_P~{T%P2l{Nk@v`ogkZ120B
z-(GyL|3Bn`lRn9u2#P4lzDPxIQe<LIgax=VLJBys6mgP1`P|B!=tcB;w<=!i887EV
z4+8v3y1HF^m!0LXZQ*Q_M(?`t4n)AN)y~oiX9H09z${|Y_Xt?CfLn(&H|ttm)p!=q
zZUBq<H);kO{JC@=v}l+cDPjT#QC3BNOtF3{%nc^xWdND?!L>M6oVsL?QmKFwT|&Ip
z)}<uG6F6yM;G`Y$%eypik{g*|1Sd61Ag6v6fs^b;Oo-pDfRlreHT)=Kwx1$!l1a?T
z6&*NvO9xJFDgdRo;3S>|iHV7cY$V;;k#vXGyPxAhILC+i{O{5ACnb6JSU(rN8_9zA
zePJZu=6T)e?e67V8TX%f5051pLx(1M;G}QooQMVOW^ubdA>M7lrveRL@hf5o#De&U
zq4i9kM-kL(PV8EAB!{Q@F%;fz7z18=nVmKxdQQ&gV7AK@74dfWNyOslox${C{HS?>
z74Y~4tWhk9>^#Pbch9W*;JdRqX`?JHjFNMTygv{T{)R+sm}uUO?q)o;EfP(L$7Fbo
zH8E;VFd@F66x+I*p`fe{@)$UgnUj$Wob)hoG7)ksr%?!_3Qn@?Rzh~e2FPyGGbaZj
zbNDeCoOGz*B+8tmk9@-coV*_sIKe*>QTtnO{IG_1-@U;fvU3-@_$57jBgxGqo%KVL
z-`~cG(KQ;Rb4Zs+HzMIEm2QxR!360T-5@A6!XlK8(J{Iaq(K>tG}5Kd{rNtB0Q|7+
zKIh!;bG=?yV2xGKA4}QPR*AQ74=+QW#!OE?pQ!jI!rPm;n4%utU<LLv=F1}y$0gxB
z$pOQ?1<7rv8_o%{GZ1z`;Wk;)UU-BTcwbHD*>v(!e`Z{oELD<@W^FuYkgNZrMH#v(
zSWSRJ@o8A#1t)}8i@9;z*+?`cW&dtmB@E{g$m443#J;_Cb3wmNDjFZ_6tOjHM|DuO
zJ-vOKL)}?cq2s&v*1R>B;VGkVqwhOk)lg@e4QhCImsa0%97yvcl0j|hR!`apYU_16
zJmh|K`D_-D*d{i8APx9+9bb3$hY#hYi4BuNf9=u2*P=xOdzgM<qDAdao+h~(a&p(q
zZKx2XNlF^nI#acugr|O1gt4`Q`xS|y%W>Ic8dOAUOhTAm!%^**%AW`zp|PPMtx^7y
zGVq@*II|^3f5V%$*)+zbr^`v-@pMh_89ot{Br5f==sNod9~~4$CJNP2%`Q&*>)nU!
zUj;;O-XWwh?#=Fl{vSl2T$`~lk}!?M{o;!t*x6tF>3=J+{X_lH6Ut}71?JCrvDkvy
z*$d6*?Fz!-@ph;3Kjll8ept|J;PRg+gl4513AX)vg|FpzmGFSzyO_+WM~OWUA6Xql
zV?BATk+BiwFBFyDdu%X9grIia<M-g&;#QJ0!-vpPI{;TpmZyYBeRKMVj0yk}v5J-f
z9<OzpXwg?mO*UAN`B_>#$dNzhKSxZzB{sy21gb4g>O2zrL8gbW=&a(Uke7UE4=yAG
z;7|>^z6qEF$UyumlwCQ>fzL-pC#l(A)BGjeEklN3%7UF~xdpk1c)gvpw|z6>yaaoe
zxQr^M88*@Xc)thmMyt&V14ZAQ9?+I@ifZ24jpzvM4yooSCqRp;I`KQX?Ie;aUN_xO
zJzBE$pY!jjA@g`D%h5!5mCi)dI<ES1dCm9zOUYwX8m+For)?`qCi6nB2UKFlgu;oX
zJ5se`e~|Bu4mG!ThSH2o_yxDF4_@@I(EW6}xJ{U@pW?GWEmHcG;5(sWbj#rLy_+<%
zWlMOzI)v>Dsxg^C@6fDGO8j0-ESNIv@vfI@!}RR-{rBJp3|(>haD=b}wUeOToRWs0
z6PJylhNq>t8{**!8BK4t^&-s-GE-xz<qsz{N0sUfQWR#`3i8=K!+?IaT!7)6ZcylM
z7m+KpvhIYx!PhY<@Ky?~g&=?i8dNu%isU3mO+RNC?XMda2!;OHI{wf)M{#;?Z%$8}
zR;o0l8yyN^vVGc2VHm^BFQohH_{mWWG4%NH7O-^ZfRA2sGt<S0E;h21d0LL?)09ug
zuW(5P#yx!wPSuO!dGpbu;GL+KoCMbg#mRy?e<3^!i@Z0{e@x0SC)xAClIuIskV9gC
zkf+@_%ps?3=;5d`8IyPzxsRY)WF;}B&DJe!W&ZD)Af=!gdk=NMA%PWOT2}ik?Ma6Z
z`IW+<Jy3%SF7t>^LUQ(fMIjRG>ofB^-Er$*CncM$tThv;PKMBCxv}HTp(D1VA_XHB
zF0WW4aV|T8>8un3qAQKbuLZs!*cL#v`df6Fu8S<St&W9oVuU1Q7x~J8-ss6d{lW-)
z{unij&UV3jwe6Q57Y>I}&3|NmPf%Kq@H4G;)#!-YjnXW<oa=SwaErby4cXu(D=NEW
znIKEe_{MCl*vL7|nbYac<*=z;pVFcj^RS@#jGS548!sh4g!ZLZU_of1zlZZtVnkfB
z$ESv%2T9XLvhu~96UffDCX)9@EE5#Koh-vwjpMg7OE#x)ks-Qn_wtpNtcX0WTrrS`
zkv>(s683e+q{4RvQvGe3qmvz?I-7|P65I(BC1H>m_h~*4OW*w$E_<9dQ%^7;;5Rbd
z%Bak!hPYbRc7VQe^RSfJnf-zbd7^Ts<+?Z3rA3dRUZ@!9MrOZ;1jFnaibCeQhVBLV
zjcD|#Y_>&*vhebJ;H%13ita;0(PfHknV(D0-)+n43m(V*@-OO&_hN|1@P9~cNcFZ2
zX9@5X75QU6Q^bn?c|=E<Vd<9rO{Ru01()&zwC_&cf?N0H1X1Ivq6S?(@yT+_a@;)J
zWHk=&257xg6A<`&@-Xmn-X$|SVs2qkCWW}$*ZfjB#O<-deeqg8?djE7yKk@bO=U|*
zWWop_3xWNfp(wJSR>yfTU=@&zxT)qTtF26)^<WWuf1x3yq5bD_&|3oY&h2QbMJV5%
z2stVKvc54j7u4{K%OTv@9rS`w>X=zu)%P{@N}(3ppPBTa2dp&gX1llc<L(nc!T{@m
z^ZgT4TXP7hP!Ie?4y!yg*{4nZ%cBZlMn=2y&bMbX>D^mmXLlC7C2MKYTk_8Ca3cU9
zHvsX?%r*r|(N|cm*Xwt$O}UnO?i8J>+DCtl@dM~6ZeAQEuA)6wx%`CS5G>B(rp8p{
zQ_?5l2WlSgGE|(ix7sS)<eyhx_W|BZ*IZfKzMFg)a!je<u{g)>-*Kye*q^7-`!`>m
z4<k96X~8RRl5)!}TZg+=1#oKegY>$R0!DzuX{RHI;>sMoK35l%UgD5%18~#Z6h;CJ
z1p@#{KJ0P^au{)jnk`64JK+ttmzR2cx~;Tg`&E_OPx)FQTgZs-MR!5Z_U}f7E)~k}
z_ag|N%Egk1hJda6Z&yc*L(|mkqqh+mtl!Ly52yx#OkVAyu^~k=V6itIFa-_(DB&02
zFaWLmw9-%wc>;U;9kSG-Pa04%aB$ezIQJHq$uuu49EaL++<h)(2p#ViNyI%?2)frY
zpbQ@DutsK({dQMK)i~+L#e@Et0@7f-aU$c#UGYF(;ZLOV9<lm<5Bbk1(OmVznD===
zy7g1OZzY;&7+s;$yKA$HB1Fd3YE(DL`|nc$k_han+PepJ5moay^|rU6(me?aJwWz%
zD_=y#c;Y#~Voj-%_o^>I@0iYqZO9{=@5m3}vxpaGjD>3@ueOZrq!CPl&TkIn&<UG!
zwqslLHvei!MD71-4?6U@F$rL59QXe)vGpX1<i{k-T^Na_47ltvs10azNhHvIq1h-w
zUakR*P|-@*84e3|1g^M3UV)sl-nDV<M+U~Xcq3BEfqs-p`SPg=zHMPNtS0P@LaU06
z`-&i)mmZO}IidV-^(=!k5<)EgYn$b-Jh^+*<{zcZSo~AOx)B$O3?usw4a{H1&TjQ*
z855zKnvaPg#Vc6CmI6COGdjz@Ip^IExMr@AYQ12M<tnLC^R*|y9^rEGRDLrdX=ia(
zPDFPv4au^)O*5QJkMCM}H!Q^>A4=qRpoA@V$wCm1jVHL3?h<&t@uCT~9x~su$1cW5
z=ni9&UjZg@R19V1UL_X-NRqaa?46WL+uogrlA5~#>=KB%)N%$f2!mg|E)A}(e@GB{
zesq?eWi(L#Srhc2==Ga63Sa>JrMV~UvCQxhu@NRcz9*pTwk|0`!yzW^T>yYmP2t+E
z-2vXP`MdlQur{e*?|tP$ZS0eminuVI7qVOGkT~OtsFB!=cd$_ZdOIE<NB`A)PJTh#
z1Ze$%t-1Xy*+3StTY2oY@XaD&;ab*n$WnH81%>trGQnXxJbpr5Fsv;*OH+Acz&$v!
z$C}WZo~G+DUg*{P2<p4P^rYp?c6*M+3T;@MwoX=|grje<0ZaZ{{an2JaiD~CFe=j@
zNKOHV6D0-#TLZ<IFBRX!bK!Q7wHY_w?yXTOa(!^LsH_X4JKhP7LZa!2&&|}5sOPYS
zYoWNc99?prA9K<BkCN6OMv1G}f-WO6%AHqKHMr@@jaTlXQd;fqg{OE+E1tp^{7mGz
zvgh0Xanp7ZvZtk^-*Y+$R3G<Uqt{T)?Xg&iH`7+0|A-7ZmLy!r+Xq58jJ&u0EcHTd
zY?E)TS~oSGjtx2u_~#J2$SW#NYT884CF04^O}S21@D$dC*l{H1rr74-fuP`CcIlpy
z%k8R8f}Yj^qdmG%Ve*$Q9+rtO-4V&8U8~}>J2rAN(M*j+C<Ca?%2;^MFqvE#4><9p
zWy=$Xr}Tqqqpt`qu}<6zl`aH^+gM9yZk}2r?eATLk*G^QXT=NBFyoT+lLul2W~*R_
zQg#NV)I!<Rgpjr>AA#)h`>p^v-xHzvku93-Vy8dMxzr6pM_9PjgBW$RR#b`$7LdAJ
zAtBWjwh8CXzn4m@kquZS!(ju!x>z@_5FEhB%`$4U^x28tHJmtNXYGag4s&{$8aNgR
z*7L%CrCWB}b76AZVUL2?KGP`y!!sa-5RpHiHF%LVLUe*QV?=_0SjbnP?x%NzBZ*o_
z2J+S17^MYQ<w!~}&!R-O@yCj~=4SkA^5t263`1ZQRab+xwY7`t>+2`T<f}OGxy8lB
zEpRjaQNLo4?pMCvVz?ZnnbmV5@KX#mKD49!Ys`eI?Uf`Xwu@MJ;M{L(tLwX>Nv0iI
z)c+Wx_@Ze&ghA5zyN8(huN?(xm0|~dU#T;>DU2B8KkS$S&}t<|f3;;CsL;u-7GlIZ
z`MMSLjWNA^pAi3X?kT^zDTn-6e7lE-I=r^q_eATa>EUT9mK3g#Aj&{a)a!Skoj5of
zb6zO@4<9?}`ODGujQfmz37r4>CipR*b$@6v%ZKJ*f#@1d;?^(w$_F(8P<h96GQLlS
zZdk~@(8s|2b--c}1A53^mQ8-545(qfxMEG*d{~zyiUlt)!2=nU<|%`t@J=Tss;1g7
zkHFICz3Bz%A5s%TOU{^$Ww-r?ci~`h1(Ry7E0rgjzWLqvHtER&Jta5(RVT|Q@k(@m
z{SQs*xzwTx(`5oqzMI+^fF*4xJA)74qVQkZxkey}vvd*h_#;gG;)9EPd??KpC@gia
z@c_U^x24<M5XGA4phuyL!FH0<evNz#A&ElfMGd~I%X>%Hz&2;##%2XTJ;&LE#9$;i
z&9*c0?H@B&${x3#l|d<d;&ktBlspJQh&cYsWup><f5c+7y)bf=cIZUC^lD^0a=-CR
z_DmP425<14<7m-yB-TgYY6@8prZGGPz~)D|>ifBA&p3i?+uy<R--4@9z6}yKQyLzY
z*V?LWuXrrlm2IJ;h%2C~XTg@(cE5%EH`log<ndA5JJG)pFkEQ0wC>ZVJ1^4XmTb_e
zSVbQ{;&7%v9p$1SRsjI{_KR0Rjkpt4ZEehe428Ms5r;2>q|>V|W76-zC8E665;lKK
zH3{y<=B#_duHO73|GWP0PiI$^l_IE69QF~1#-dR`f||;LF5!xRnc%O=KoF+>nb#pT
z9jSDqQL*miJXeFi@{-=UL`qQcy6wQQZI|c8{sQLoT0Y!IsY@%EQ~t+WihHP}YA}0`
zJ&-*B#3+l}^Ss^`z0XS#{y;%F=(#GsO53ydQ7I~7jlK(;5v2$Ay?_^pjOYZ<a9&CT
zFVV}r)wDX8i}Xi>Z`rNBX>@?jV|}rdmGuUs|E8~xr?%Dv*F7O!n?JMrm<m?7-oIE|
z^SMQq=W$%@Dt@?G>)!fs*wyGGJBsRgjVCw@QN<UNe=@G^@~e@wb0(uHIiiX0SGzdx
zMR6fltmdd!)i`Vmw0B9m{U2%nWCVa7Tsg27e*aW-0}}ABX^&rQx%0`R>{uDZ!WYNV
za*>%v`EE@ueNHz(gI$fQF^X@_E$!@KOn0nHU%n3!oAOXa)}5D(T6Aw=I3pMwe2#xB
zA);Wu0znFz?vshJ<6yP$z@!|KmoC8DR#RHCVSerN@R)(6v96)s-z1N=5Q3o#m-8vn
zmq%xPjf^(TI!kMp)FmPxn~ihm&I>r*5Tk^<Drd8k`~nwLM5iTF3PxxNtGUztzt3{o
zGq>cdy}i}+6DnR2avleQ+t!gE*XeP{aF|K!*{i!lFkai!(T{C$aG}x@kI3>LFvV{t
z;p4Vm79xPi0VOOQ??gOJ-Bt<p%Oh-+!9fft^XirruzkI^CI*QC_Y=2oIRGQWD#-}y
z{CBX{U)oo>V%zF$-Of0?HBq81Kwg=zm$Rn0IOcEmS@Ba+5YF?f*q+sF0=hAPUHSg=
zC)v!*%-KRUl#ew1k5x+Axj&&H`00Wec3Fa-Ly)KNU2S&6Th-=wd!GPmHTI|@`rr9n
zXN>v2eCL0h=*qwCu!yP>-58OO1&~d3yPKC4>+k1=EL&vTL08ACu+yz)S9hlqwv!(<
zL}3_Z9CpG7F{F&Dd!!7a%JvK|%S}}J<b?-(3jvh_KPZhBeR;*=8M}m$ZQ75A6oj9w
z5A+yYhiKfY#q9M^C`BE0{$maOds^6YzBgz4_wE`*1Hgb@3#r7p#|*onCl=G^)eHs`
zxQzxAc(KE?7)999)s_EE(!h}Y>DledzXFDeAfhCB7-wY0G)MgL>sYoMmamuD)Lwuh
z>w^=N``eSKtQ=dq{5^Dh-Hv=W0YoZ?ZTF;G7S`>yE-oQwW=@X_@%w%7>W!!%Lrs%B
zAQ)5#7=ZV2S~=Q0O|980+Q0c6PA#Z-BIiI_{ay0{vzy2E<F9@s>|}=GX`Z3w3RJJJ
zrh<SZ00fDJS`@>3A;+2w&V-pWX~*rNCMu*Pp{ar7u6q3BKimvlc*N+b=L5c0sLUki
zpE<B5nu1tkp;jD4;Wk(k9w%QbHcWULo!g;(5>|3JSkoWb?ZXeP=UHRsqH~!*%6yCc
zCHM1h)t9Q9cbOl>hpb?2?o0cRvij+^u?iMb`WOAeGX=E`nCO1;XKP^PV#HErM{G-l
z{SM^szhqIQSp7=(U$TII%RpMu4eh!}mxBOu1$FC^lK~@(?}@1v)|F#$Oc@(Is<<sC
z!lyvFdV<I42aIy2o*_mgA#HvyAn&S{PwTS0rW9rumoiuI3vhp>_CTsA!I>(F%PD-g
zP4~Ui7}+Z?tkg)4Ktfem=&@P)b^6k+UpHKY^-FW#dZ*95g6x|%NK@*82r~zJWH~2}
zIP%S%B?mBGPQ1xYUoRHePezg#zB9&In)f@+^1`=P$yuI#Vfd-Rm$p;}LJSAypIK@Q
zr~JS)%icWeEqJAgEclrmdX7Ibqx|AiF$yT08XL+p5LlhudVSUUNd~RNYr_2Zw_X@x
zb0o{ChLObWZBC909*r1Q#_+JVNt?e|xmg1-fKQi&R1rWNUr_RWOYxpocWzC?%o7f(
zE0acO&@p9^+;NBhYpEvea9m#(WV<`KJ?aU&x$TTiH8;bwpOIdbwzG7Umql0Ihni8$
zh2^(T^vDy%UiaADucs=-aA~F}!{HJUQ9|Y@u)dqqt!3RSvLpsE9AWDYT|nDfZhEZu
z?@X^c=+bj=Vj`9r0__4i8GoAr1=s|!<Sf92sX2<Y(z5kGGep`5)+|84k{-34lDFL+
zw!ZGHQSOs!oU;ld8%N5h**Fco<*5$2^~(nQ49xQWU}%B7*5&4ZS`~NjYm7qogwXzC
zdPv|&AN}h7Lf!Y-S^WPRsA*_uz+GmYp$hW<?oMH6I|i~MAYN)--J(77CKv~;2-9QF
zC;{V2;Kbkt7*p=Mt~K@JE}?jp{J7Ca-cWmdNF<{)qp@J4uU5epfHO!345GDqIc%2~
zXZxsoPZ5`-%Bu9;&ZZ*l<Xa>;Xsz(V(Q&UmAE#v90|)JzR8_xewg1E;@?n_I<EC1k
zZrz)%Vu`>J`_RP3-nJv3_QN2wh=FNNv*uAkD<xskvx=L{FamQ5Mvwzpbu<ZyX?quo
z`3Q{3B1P}8=AHB5Ti<#z;={=szr9ltHClmPgDk{o*D4@yXeTj``VMrTU#wq$lxE4n
zmY=xS6#gzCtOnr^P6$hj;C8SAXFG1<?R0RS`e5eq7FoBk(b#nRe2A5SO6tA?LicJi
zVn+NnUco`{4zLM_v>{75*a47DK9hS4GUc0J0TO5)b?bfh)4TP~o3C6A)WG2b>iEQH
z((&!__JOjUfsd?9=(MqboC9i-AO~hxhqt1`<h_PThaZ953bBweXrWAqRJur%wTg%&
z%t8KGk;`9_@Yg~}7aT34JgHdg;@|nbPZy=|s_0t)NG5~D_L4k@-a-8M4qSw3<~mj_
z0+eC8<1rq$&cZMShv1a_)(;Ko9-)U=*e{UA%dFVE;|~!zecu{IVSlji^U_&{_)8l|
z{yk&1n?sOWHEU1~%W!N(nPiyNQVH{UOn1e<;?d2`V8ww1OwT^j@!b2`2kxIKj=Cy+
z2YZi=v;eTqJ>VGe2(tCQ^74on{!ww}@b~WsrGM8G&p}43YX}vzZ*5&&eDV&Nv;je_
z6i{6IWzCoZ%CD`KR{If;wOtXPwO#B<=!@9v)APyY&9YMlc8VCmeImN4j|c`8JVc@%
zWhT3{E#`oUIpF%3a_O(gN+{Fc)PHmT$ix2jT^`S5mH{yiO)D$zs(%``91G--W<F_3
ztUEw*5L02^NcDXQP&gpv-lT;0ulB^oA1GH>zd5pEc;rfRchT4xosvS1gGUGj3u2@S
zgZ~g!q>_#Te+2{v8T@~L$-)5eZ<J996n#r-VtW!km&|@PUt?bl--h0OBF=jZ6m9`L
zIyQi}fA%<TgRKnK>gLPRcKp3@Gdqf;P-MrP)fL_+DRLDB9JOB(F0Y9lXNLhT@`Ru7
zZst0RPy6?}Jiw9_maTLhw})~#d|~ItVH%_f1kil~)CNbmhRxLcJfXy^(W0<0!u?{s
zLg+z)zn47@Br>M^hY|PAo9e$Ek<<<zhB1MdxGfG9Kf}}iOh$*mVOIKJ`9ZJKxXff7
zmuh3B^1KbtzSNz;h>X~m52p;20N2!5IThDcp;N21F8m&?Qq-1<AWHnK-Q&|{Rky_8
zXvjyj4&>FkZSnc_`BM5swj4pjZly55N!}BnIyMBFl6|iKp&XB2+tum`qZqi>65b#z
zTAj1+SraZ~j4Lz)e|3vqFJ;$p#5xY1X-4}_U-!U!uF)a3=5JqRnRC~Hnnb4kF%94E
zxPl^A>dti*?$*w~w-DR(+OJ)+H>oI>pypQ_w04>K9_}|;d7IK!M8XrQ{xrXIo^AF=
ziaTOZG~<JnEZE8N1j%PssGD~lkzyGD`w=JsdSs1v&U90x;m~^4DRkcWY@Z;{O`f&p
z0WTMUL(_4Sf3Upqxtu(-%!hop0|wOZe*FE4CYgA%jOP8rrRfoPu}-FD{`aqBtu{iq
zMh34+5D_JY+3n6kxTYe*IYQG@FUo)|sOXnEz%82_N5spd|7`h4bdm`-bQ_Z~$jNY4
zZTl)?06O8a{t=OphXeC@13GcNrJ&37s_Qnt-+%e|`_g-1T0RVQs3593yD!8A6BUsF
z5l%sbTI)rH7D8dHg*l30aztyFuT`TWkkyraB&n;Hw;pIMVS%;poL6!<EPcmhxct^y
zRKdgH)2-#%f6JSR{?ZB@{@Vi-A;;%eC&xUvF4h8=4QiBU4X!l0o9Y=T4c+A@1tK<?
zw_m-^D7=db#}=m<RJU18#e8OnzFrB{aVJFChn!7n_QtUXA<CZ`8BvST5x#bHa|3W+
z#q@Y|_e%;Wn1Q1Sea;qk=Z!<`Pfn=I3q?NN9|6vA@h^JT0SH8Stvj0JjFFMW0qAhU
z1aNZw$y>RL8Fw1Z76aKFKR98g?802?Dcwu{&N!C#AD{md&EDs>SNkuYy+|3Ha0xQs
zJboNeP9K_TCKQ|sKYUW>fCZTlhlxW5yR=w(vzC>BsImXQ6dZq)6oKJ-SdmJa))44v
z0RWk$cADTu;^d^=grgP$fI+q!)IX3^?tq9cbhBJE!`wktDt@{DsAncvMP5Y1!XElH
z*FA@>PWspWtmEwTd_$TGCQ*{WzyraWS%yyO^`QYhGzT^C4Z35DZWj_~og)GQIa=Qj
zpf92?Y8XtOb_Y_2Clsg+7NzQ6Qr~wh!xVPK&8)?7gxl?NP31m&I{C@}pg3(99BBM2
zJi4Tge%ZWgHf^sdp*=k@DNlK@th=37@{6f$_G8-WV*TFZe;u#4KUjOt{{rd%nSsx;
z47is(i^#&>lX1SG-CRjHVKq<v_Dk<wvYK*~E>ptpqyzQ>atAk@P>h#{0~BN{!%~o)
z@xTrW$U>ex16zkP{x=KpuLp*`L!~lhreB+V83E23+@JCTSh1PXpd3kF8aWx0M?R8}
zH;Npr|Ke=WaeAm4|31Wm$A`FRY82=vxf?>+_V?76>A#U0S+<P0v_m6#tLa8Rj|aV_
zpcpsfGX*b<&-wjt&%x}ar?+Bk^o6raz<pJ%cV!V)s2NQfnkeX>w+r|$u);;H)PB6D
z%lnk)_~kgPMoD|c%Y>rP@zqq|{H*Ug>_X;Pl(4+iU&?_s)(8UBi~CLMzdU0~IMnWM
zR9_OCQd`7yQL5nM(1Uyik?bQifMaTBcbBstWSy=6i2B?~)WX9H^$Hcq2*{bkMLO>c
zaUq1H<Aq9kD@s85?etXiZ7^WG(F#J`w!i*Oh27`XagDz<nxm#m^b6t;bS!}?YX37V
zP)}B{*LgS630{wseE>25UQi@F7A0>&IO-5x4(GcwAhR@~+t{!x0&}_%raxU_PFG9%
zXyRJ;U2){Ll?xO|e80kMT)Ucr!wM5@b&JCs;CQ6j%ti1U6$CZDE)_fm{b{fJyO+U3
zQs*Javor#zJj}<bB8ms1Z+Bm55%Se~l(Jjru1GBq2RKE<aF{V<DNAzv`Y4uul}lSu
zp;IN3epPAjSDs$#F$ydH=o3hly5>Cn5zruVnGG&tagt7abK9L#CNZYAw~He!#5;ha
zJlt-s$<(ieeCRGEnPPNmQCJCQ@}A=vBgHwFdp<#P>`Q&^+hgx0V{*OV9zd;5d!{TH
z$<7s7405h7s&)N?qLuWC|AIc^r?D}7NReTl#UH2npZG%@Zb#EQ;%N!k+pI<0pszhF
z0|i!fjmC+ZeZ7CIuDlsSo<ZT9T2u-{{hS1*872k0cIYTQub`#H=sppgOrV;6ta(H*
zPNbrX(jew<NL1aZbT`Leu><B-{lOH!u06O9CJQKVFh?m)3`G}KTHyTyOb$YK*Vg~=
z?!3bO23@rl1``y%G&UNcC*BS-upph-+*18Wq9Q;3$kj6~qKmHFd%YiRq^F<}4l+#!
zB%3(cCU^D%G`|F<H}~gjBGnH{MO2g{PGj~#ha?er2<$s@G;S>wA)&rnt;-Ky{s+e`
zH85q-IAwwcky0X+3*1Y9Z*xCY(~nyE)Q@*0fgq8mUseiD9VJFkOG<W0iGjobD`AX{
z=+o^uJV|lkCgEB!ueK9>7V0Y81s3@?(_b)0<M2J7&^Q}%t{IU%T4~0?uAv0*Sy0W^
zUvWq|Vc2Up4{5gkT_iq4Epcjf=mm$rLoo<9_f#IX7Lg(6#j~%SWjiQnu-H-!#67~Z
zPqih-;sF7KSCu%uyL_Xt+;^}ebT?VA0Z%pTQ%Ap<?rHB;|N6TOMJ!*IzyrkK@6jp~
zv|WS?Q{WKxb54&GM%Zt-rQn=kbVX4tJR~%KtX5x>J6k}Q5HoLhO6+^sj&f7j_(gv=
zPM$PB`ibbym0fo&(%C@nGdNAl_K^7j10OzY(pG3V8)!Zxj;qesA-66UCtf?}NJ78T
zfKREs><-xcNm`UN*%j~3BX3<pW#uv`GvxZy9;lcZ8{)~|+IW=z?pO}z=g?0g+g>H^
zuS<qri_o-a{e!?D68&kk$35|RXtw#_^n2kFI|j5yHth!6!?NSvf@;oNi9!m+vWjTn
zdB;|Ig?FiGh}B^?m&(Y;(0?U^D}K(%SXl=>rjVh#*zLLyaDb-qpl1bUHnn}*4S!Zw
z6Y8_n9Jk-FwAijn-5iaMo4TfdtxW8~B_X;iC$8G;Rz-b!ncsbOXu0c!Kf!pJShNlZ
zjM%?Njd(N3lXtAO0QuGBtY4O+xV)D`6(l(s4U{=D%_|rO9Xwo!hLQ;&0G>%paQC<K
zWnj&rj>7g}g#+JTYZr39!GV#4uVbs%kYRT}=)A9bxz)PN#dMkGwHe{3<d^DU1^A7X
zYt_f`D9iNSZD*&m1wOp)k5=XFH3H5WcrB$o$tByXv>TjxPVfl#4*YMG5WAL6O5sw8
zNW)e*W^=sBksY~}y0_08-Pg&*iuJY|h1D%pFA4T`&>`LCjAp5nv$JvCF!&$_34H;s
zG9lU)07PdM0&M23x-Yvk!Bt|A7H~f=9@6<`_rPlzNY?AzjJao+jp7uU_!({K2->id
zOUWooY~lnTuadq!PYRIIyy|DYx<;nR1=+f~kmHaVr1hT$9Q}@=u~?D1;Mx#aL}56I
zu;zP5Ek7yJ-;OoOVWS579X4p3xkH^0TN@Pw)Q&Is&8MK_Cu~@dQUQCLjo;^_$o)fH
zj6={2MXroW#WM?gR(Vt@4Qr11pS17{b-+C^6XmaF>tcl5JXK}DrCiPMId7NYumXvm
z>8<tfZuKsI?5&fLiWR-FcZfYpirhr%<~;oRgtM_px6y)`>LF=#W_P7|fxmKW_f^6{
zRlIqUIaYM(;1>OnCmDhNY7Xa<UNU=!+tv(DggbNIIt(kJlx)0PohVeIZKb?4dYo?A
z`5!Nr>;>Sv>CNTCsM|yJy;NH=cmcZAR|W!@bqi8thRO<@s;Q(}eTO_OA;}y`vaq+_
z=0qpMaZVVA!FD`|Ya;zc|0kQ)Dl&H#!=MXG>x{Q=YB?c!Ch3Lr1Q@v)v`&DA{-4v2
zSa+F1OKBNuf$uVx_?Rh+O3T%(pL)NMOCwTwxe;0r`PdE%qPE$6IrPGIr?FwJqs5m}
zdZE8-=!#8BIv_BLjWv(S0rUBCln4hmRR(xPuQ1R0`NK9OD3RZ4%amvdWtl^@mj4<%
zFjj;TyjlacfZ5fBm8cp!c$X`cytNUE8qV8Xn|vOXH%IHrN?LYKxdb`H$5%I1qN+qF
zr~T`-a_6+6NV!UiF_A$3$ZsOM-avI}UF0&{H=A$8!V5yPlxL2EvN%&l<7n0Aah<Q*
z4z^5QThaQ=#^V^?CCv6(8&=f&0tu9Jx-lZ6wMSbHs`VA$UUfvstj3BKJeP#f16xX!
zcsK&HQL#h-0bC_NUDABy)}i}7o-1OPH(a04sDr`bs8c+=Y1Fw9{?pLDu0g$bQk6RU
zw+8M3YaUp@sBgUhkrAcNkXt~UTKNiiLi_HWpnjsTDI@iZex;`{L`3!{lGPfZz{kNa
zz6AJ;hJM;Xb=Rz8)%|S8<DZErd8%<F@w`+0se(OFqXVqK&o>^ZGQ0r7q$=NNk#8xJ
z9B8#M0{juWVOUcn#2h81nZ(^~Yd(X=^lD}iY_*Aq#hamk0MRlR?EQTI2Qf8{F78aV
zvyOY~iqq${3yR)yzM&E%xb;W6i%uM3B2B`f{pZK?9o<x)wjzu$H+LL^f_$;m0zozo
zZn)ex+8nK->LWXW#HweEb6O(;_5-9fa1ymAD$Oseovt^1r`K3k)?0pGZ`M~T+3**C
zf$huk(1-ViDyXz(JK*7|;!ix8SW9Rio=;pj__@)WL{!Bx<}PT9&Bq_4`m*~4zQ8Ju
z&#s{lw6uZ*?}QKv<nv!ar;*e`99Edw=uxfr#WKw{RK0uDYhxe%S*5jh;J_TU9^NO&
z@LJ2Rij0v_^q~L=or6=4gEgI`<16LB+&1}{JOM9xb_{n;M8?&=?RPIn!W)mc<*+RW
z2rgtjv<m~0aC(*5Wlx>BntlxoiEtrrOyO%+&zHd6^UhjvZ{C?wm2Z%g<JsWiVg-08
zE&sX?r$tJ;JUhEpHQ$IIBe79GaLASjCUa+Qr(bmArAi}wKZ|}#nfF`HA_Xf(^+I;G
z=i2nBYe1(ncFg{wXKj3}z7Q55G3sJX*2nV#B-Q_DJR<%4hiQ%VlaZ1JVaMA7tW&vJ
zG(Kt~CLvwl%#5NgwhD3BQnuf!P)`;?H?-^UBqD-Ty?%BMeHg&C3L$XnUU+10yR=XF
zea50HJeg4Uz%^#PIM75IMTQ#NMXZwf>Qj~>WbDm8NSk0cla}im%nm)wL_;-=SlkO_
za9-;D4*#Ri(~u;C{j!mLM#@NYfKw&{tAGe=;;L)vJ&#OdiYb;vRr?tJ>n0f|wZt46
zoh4g!YzVDczt*&NQw(;7?1M>Uh7`~@^f^2u4hi^BGngN3M=iJLBK*ma%<q<3WXE$=
z8LTCuMLRxK^B(;K6vke?_=ag3D$j=4H+@S9wA)VD5gAt>!2fynXQLcphHrht&_jo=
z45G!yv1HI!z$;ga{wyFF`EQa?yrn+<&r7)D4B`K%HPUIu%|<QC!}7w;<r!F{8fOdT
ztFcQ9qoPtAlX4drTH?s?4mi9$UY#oJK^0`#kl->&EWS5jSZ_A<LZAGev%Q^HJHF_y
zveCU49DFDo%~&yl0p0%n*|&loK4bw2gOgs*LJ_I&Lns`-kfoXFV`&y!MbJZ#?5{wL
zK|sq@<AVGvHu=YgqDdavWaqR$kM9>d5en3LXkt{=8~QMkPmDzdIS=4@l!%!AMYDO)
zcIuAh$7JLpOt{||iWq*GXtLwZh53%CU+wpmRl9jUmLKS^KYX>r_=}KDQHgPQm_J^n
z8RdfGp0j|b7V<^ZTb(+%DTr8JDU2Iwr9fBd&OpKQg;qS$Zq{ZVE5&3#=cgIhH*&jI
zVgZ8WP8Mo7XkQbv9rZoD^3FG{Vbsegg_OPAg@>b<*)K$Ez7>{(NYExqcp6EQ*#HhQ
zw3$Mtv3F3ZF*pf~4p9x3S@V2HGS5gt3}8O_KG39>-JaPQ{=gz0^SEtN4u~&=hnC9N
zVnugpb>HIyrp>L5g%8K0Z+-l~)?u;c40LJf6hPuGyN2>9Y|oZVe*2&k!)0oirf0tt
z=Pt<z<P_wZgH9r<J<w$Y5La-)b(u_+Mr;=mE?L(0G9ofVq)QZ^uewj*r!{EgiMylC
znocPxSxL!k>i`=U3bc?heTM@)b&rq*Kp;R+I@rDSVwVVHr_Csh_N%(j81GK;7BTup
z&q@$6^b$Y(Sh}9&wxc4D8T->sg7DM9F@#!%NH;ltj5tYRw6OI8X%zeI$?kh1(Xu)s
zL!S}$MiaV$?K<B|j{+=B<D>}N0LSUIXdw#)53=Lg3oY>TuAye&k^5N>eL5~2+4x2m
zkx$x7Q)55#@<op^>6xxmIDTUt9v8NE!~}I(s}yfFWy9$sksEvB!}jFUyibwYBw${g
z9#2!Yg7J|ZU_?zFRy397{jtTDHWRoO1=1&laKxyVRW#u1il7cLr$=P`1UB_O9RU6V
z&a}Sy_B?loxMlzUMKpF1(j!S3iPeV1Kd@~f1w}eLb2HEY+xeUT_sJE9?=b}!$vp%=
zCT*p-&x5aOo+2m&rB!Tzi#!TKIOl8ODSDHHEp<GIr^dur^Q?uFugcu&S>1FnP8x>2
z@~Cr!f8v*N%)^e|rfAZkDat%XQKIhwAI3MLi6EE^$4>5x_31O?)$aYg>WXc4F(E>I
zI$zJII*DIJ7PQN$l*s=`=Eo<3^0Anx1Nzj{-8;Rq29g|_W(@(to^Jy^V;U=IU92jU
zyCz`5RheTS<BiuRqC~6KE3%ZusqU`^US`Z~2DG=h;0UrRAz4b0ThvSK{jQkLh%O>j
zWJUg>)>0_S=|S7r`+Rdb^6@Gr%~7Dy0Z>c`3I(I2+6+m%Uz3mYKc=rXlV94E1qD2Q
zzY?=S+JSUW^FTK^c(vKwjT!G$))~V0K4$t`j%%sti^O?FBL4WvY=iJlw8sH%Zv!Pv
z4WFtvnnVJ3JSDU$Z4260V@p_&m-q3mnu%Cnyprmd7CXEwM<SKluJ1TTjdM5Q+OGWE
zHFo~6XO-nLrZ34OBTdsryR-~_h80-+N1L|fciz;qt}T+7q=z0&U~6*H%{I0cW?Fe>
zWs}C2Jv`oNA(WrV#=WP@Qu%i)P2cFN^sZW;`Q(HMK-%0!<MX;jZ@3@t&eC>8`Dev1
z^TQE<`|~j`oU`dyG=HxxG|G(NOUUT{ED!lwA`0?>9E9#)$nm0@R}NRf@x|xW*YSyo
zpa2myk>g}7e-wYFoVr(-bB!;6ahz<edW!$xNcbkjtUJw8M(hB;A!-#B5aH9Lc*K=G
zRhx|(xG%c0#D}a<Nvovab!a&O!F4EB|33Q{D{7QE9s?%Geo1{Q<@09NP<i~v#^x4p
zc|nGyCkX$$q?WhoLS(Sh<{|c)pme0saQGNE4ulU87B)wdEzv@22p^em;TW`A+N5vA
z<%;RH&dyjH4PA(SoG_owcT4Y$2lh{~>tFdiQ>5ZdE9k>dBK>(nC!OKcf}eCh-Wr=1
zk7xJW!zhCvNCr4GO@^aU_!%6*k@Sr$m)d&IDr2ix@V}JTint5Z^E^QY9TCP%MHQon
zw0Hh!W4fjw9lB;|_ITEf<p#H{v$#3g*E8nVx7*Opus3&N(xH4&@E=7w!-&}%dFRrR
zn3h?2=ZevY3uU_cr#asvMzqC0<hSn*z@!%EyEdDw<U+<jPuiM1rZ$_o=Np;vo!LC#
z`4eiUQ&&``z~(ATQdB0xCYvChd@Gzj=P{R0QIHpy((}7boNQapB49=PcIf%IfudEO
zXS>vh%##Uo1>=Cco%2Tim63sw%n6-^ZP-u0T^ZEmwS(!_+Z3aZ`;e{_w&9qY^yu%%
zLVPlz=I`aB8m%-xQv*{DS_0gK#8$Whgk`nMFC*WOZyhbZzSOy`<koqkd)+QiZyIy^
z3ytOJ7f9SI(D|tGKQYr~eTBdpKbD@*=)M}mwdxzVc~(Y|87}0-nCfI(VFsE*0`LeD
zRaM014OfUlvbKLA94*Zqzjs~43Ynaz3pX`f4OIJ%VpEk>?S_&UON#J@BZ@wjgwlx#
z7@5CU)_Fm30C_%J?yP;$vwZRBIO9>617?HW;hM)RB{zf7LxABb-Qh_jc5X^;{PE<}
z5u<Y{2Ws>CbYk_JHO8lx^o!#{vM@`F$0?GWKgZ7XO$~rfi!2UjQ(4<4eCVHfK8hFU
zZGc(60IG@Nu(Om3a!K||d{q%uneBdEniF~v3#3K5d!7;b@YbTQAI;bk8ePSh$!I@U
z@2%tsm5N5v4-MfjSn2dhJUd>RXO?rUGyz?|_Y=LBS(MP245R-#-pe0%xd(>|{#UO`
zlpK$s9+oknUZdUm9M2WEUGF=TOWkgsRUi{!%~%5rN~G`yR$A?UCd1i+*{Zx?Y&nq}
zO5tKx!u$5eJ&!0D#&f}J6l&D-HiguMEI3+`F<tt1<L6JC?$4<+kLCloYu6#<4)$?A
zR&D3?_uNg=sZmx1LEV-}-0g@<PH%mA?$te;af@XD#%wy>t|V{xB0alO4xEh)#^W>k
zzFsScL`|~5r`*3I<H{4yJuEq_V4sw$?4HKWHTy20Hg{5DFFN!3_ajf9ojNR8e~Ej7
z0;W@uM#5<*hkw0r5Vy}zz&B)h%3MltfmwGo8Ho~Cka)zw_PZRf^d9;{dKF>>qx|@|
zw`S2d&#$jUlGsaABG}zGi8G&5OPdWVQ`JcCkiJ?EkH&yBjv>a$(IZU#J)bF`5i`Vh
zr7Zju?Pw>ey`OaJqZ4|4(o*Xpk4;0<$puDxq{W-c*02bdGf`~MCPjL<2e_Di88^)S
z0fqSN)Vh3HUzA-U9LqN=Q;#8%A4?GJ8Q^WU8uWR3p>-aJKjd#=|2Kij9xDXv(`as~
zRQJ2uccR!C52lc%7<Cl&E6nHeNb2smm)#^<@V7>ti|ld6IT_`C<kG)8K15`cnrAhC
zNsP!4gA$z(9d=0kI8eP&SS6>`C3=IpO3-Uc+|GcdCJeR)GndFD==l?3YpbrbP)H6C
zQ5<@e>fHwg%xiX21S%@Pe5%T$Wcso;<wEkv1)c*rE%_1-D>o7Zb;vkTBf}$FIKV?b
zj$bs``dk27rQ7B*vUL%bqNLfN%Q92WT^x@dabX!%nzSrz6J&SFa9#pwji#)8z*ru&
zL?75W3%FN{zuHb&`L=SMDJAynJP-XM<*g%Pk;+bHdYvXJbE2PJm8~Kb=h|l~e}g85
zX6vEuO4%)Envr{<>`^L5UGF$uF8%8vN43v!*&Z4DYRu>E(MsUe7{SGbE8>GB9(%=j
z%U?ty)sq#;)ufgDzKE*?K52vH7UDP=mna+%@0W_Ss{f|TN$X9%@#RqzD(}C_Oj4~?
z?Jl=Ghxr(>zJiJ0+*^r5+V6X^*!k?JZ)~v7)db7g!r=#ScD@g(<4)Z_b9%0R{bhpg
za9v7$NWFVcb#v7@5ET@ZdUzZPe0m~X@%ikJ*?~Mv4z---r=1{D+g?<qcHVmiw}PmS
z3Z2hvVy(WwT|wF>^S9MP0~W`N4z(tQHzZ~Opx-B3K^Wfk9^n^1rB;6p4L=6Q%P6P+
zlX<Z0Oacx#d=U}%>D)_jXg64NWUeI6MD4@72KM^rna{lh>gRqJU3H!&IQPfD_cbhw
z$iU&*RxbqWd01}xjB6FVhXYO2;QzLN;0)%Mp%`U=4RPSPOCU$?fKC8|F9aR`_&=*o
zwxmns(ZNng1e*Z-M`A4G<S@m%YI}b?HR_j_+|FTx3}9qs1^#(rleFFKYm*ry;MIu6
ztJMcv8@epLcl^bs2R_P@7LvyP^bYorDNsdzPJEVBRoc_Gt$RvQKaGNh^fn`D+z5&t
znzF!xiU_g&Agu0Rh)Zc3R48+1*zi%RQMY*}Q`(Gz<n;qOcJ>o=lx0Vp(NYdec<mjO
zTW&0AVU*qO+l$q)SW5lhK2Ytiq@(fWG5}s1ui)|ppmd>sfHrBqxB*n<gOLCFi3=86
z>X8|x>{cT(HO^2^Ml5YX45)(H==I@4ppE-+TY7Hy6GL(CFJDxBZbYRF$+)zFlyn~_
z?Qxgn%!ySg=`N)Hks(XXQT?YB2qsvpE#c)=8y5W`534F{pLqJnDlCwHdq&o2He|6P
zi$DAJd7hXqjI~T^;C-jwFa!R>UHPVL5rFBVAXy7|xY5=T4D?3j`&+HtaFMJDun>E%
zUk;+OgZ||goPFXlF>v|fHpg4ZstSqQioH82jJXY(?55T+aCe$<C%JG(2<96uX<UrG
zSGCOS5RN~HjLwB*xaAc>!1T_s$f+HY&(&8gIKlnjAFf0Z1O||@(RVdBl>h@)r3k7Q
zgw~EW&?L;~c<hXqgCcwSKpDF$N0NccojkGa^QD%g+zd4X6?rj87HKXuRS&gv^Fu6%
z)%Z|kfsE~V{&9cLJFY3?3rD7IX-USlMW5A^G1}wa7E$?{T4vUjqBd(b+as>y-mhT!
zaYdyL{H$0Ekwphpr~Sx+tX?_UkHFNbS5@EC{=6C4yvInTej8cXqiz~QX)}CJr_hR|
zViyxTiD1%Fi|H=Xe=n~mtt9QV-vS$VE;zpNu6!wQWL&+;v|v$Athw#l-bOk%_kMj(
zHlU-RE8zKIq-<DyL7>un$M1Q!>3j8!^;P70yQx57;@?ok%Fe=FnYEynn6%)|ckqw!
zUPrg2Ipyu>OYr4TN8;rdWy5a$rEAsjw`mvv<$}b$`N3*G4x%Jl)36N+6tKNjR$LD_
zrdlJxc}dw|YLRbjLcV~fGAO`LPZRHn{J@Edu99i&8CUN@S&l?3z^MJ5Ei^4G<l_4@
z5T30cktIexpXR{k^06%F2z!BSweh$D4{xSHKBQ7S+h+#&&gYHSEVPUIKU>a5<4K{e
z^{7f5pS=gbCF1<-yDFYuJ<%55nJ0j2<58n<`@7?ZI{%&GKfdgK?3MW6`0>9-l|)*r
z4}vMn{Bm-39L%7fLFU~c<L;pLZ_zz4`I|&X>bIF>+3`19o5d5jUqg=PH|+dfwH|&Z
z)%}jRVf~!WtdyB>1Cb-il##G>%lAH;6L}N3ImYItG#nS2_32hov(0N+FZmFjeE4_w
z(&bI+p3i*9XbhyE4xK?V9}?_W3abPoZP-82chASFF^om~NrnN0DHZW^fz?{qxo#&M
z2=lg33C>&Qj#74b4&Db*Ie-xQ01!)j536{>?b=vFpRy?(buZv)_i{?RK#*q1%QQot
z*k20JuzEDD=p)r|-ljJn>4YkIYK%gYjVg(O9`yiXvle&r`Q96PtG`L#{6xnUs7yu7
z;m{<a6IVhmqP0k}2hu=l09^DMn6y0j(_`=Zvb)Y<OFat?(3j8Td@&nwbluLLd&6Ke
zqM%VNYsQD}+;!=n+lu|+Ysmy;$c-;Op9IvtD`gVlcALgfI^DQ4Qlj5b{;ZAjZjW%x
zIri7%kZ;GJL69M$cyM7BeriSXci%pl(c~Y@{R^Q-)Dv&itI0yyY7do)PvcBdDF<Xc
zE#9Seb5aNI{|i&2j)rgX^j_Km@1y~4EqL}9k&4^Bb_4u;+C)f@0E;9+|Iz+(i@Mzg
zbJ)YA2aj=qLS53O0wvw>!6GF}l&OZrZ^iw3$|t-Wf~X2Ib<ly`1>6K2Y4h`lH%-5G
zf<f$a6}(a-)07j3owFj=T%}_rStl#UF_9;>kN5niR4NZRo=kdSt0y~KIkLY*HR#;U
z?uy?IST2E#KRfFqh$ELI?4uLZhjxn_=*!T8*HYA)QSf<MCcJ|=O#|&2w~vg*hsJ(I
zW?X?7My-Hd&Phcp*p>ft-5jD`lJN7FA8z=0E1-*Z0z+2hMH$<lwl6#sk-bxb{&w~t
z{PzwF5gNVpLLFTFlup8dGph2Oe6aId!7TKU1S#^fqFiRdSEZ+1j!!vBzm7+QCJr+Y
z4%UyyAJ+N)4PN#oi0V6a|LYmPE>=DufvbMlvUMNhky1tOCvqz!5Q}zKgjxBY0!l#w
zLgX=XA#g2W$0O(lb&vW{Y$rAvj?dGpvsO+7uVJWksUh>E`K{-}s2o3C-+l7G{yX{&
zy7$d6y1K^rO}fu-Ep>pd$#)=?5S&ZMQq)O!9l0j=-^RLq+TUh(Ql`9~=;%BPsvhKN
zSKh|*A4kxLEyppnIbo|y1l*bE`MIWW_PhDzNq*@7$cq+KrR)Pd^pl)NwwNf;$)+U&
zRf&f$VEYXIQ50g@9d$Ja+zI^(&xis90P>_7jyO!F?yTE4!7zCxHqRT9)x2)IrWYoJ
z5RyN(wkQgpd0$Td6Jk5BGneYO$YJ6U3;$qmMpD5s{RD%;FHdI_HKp~|@S;7L>5KR<
z4wAT#I&F5}@3@3ehN1_O#bDM#wkSYg$YjHg587&uUymSSvY}Ea#=U~cK9+m0(-r(1
zVDLihRKWN(w>jeer9fw!G>r2k!L8sPXpD-o#3mS>P^Rn6hEq|}f6(S|_T8JRnmGDx
z9Lf3R&jab;U4BVa@++G!Nh`9nZsN_#=IpK$VoKL233Aw{FxVG!*mnzQ#gi;usjjzI
zi|Q%1&_fSDzwc0TPm9Nb3Sd!es4!-=p^ZpV&hxb}ohTD*791~_E>vW26jO{tt>v=E
zUlvyjkyQy+arq?75h}g$?wbsxCCYzByU8!7Ph0xiqs7^GGr}ZmM93sj;<Y0}_($M1
zu;uFa9#o?pn|Fqh5mr-#)geOu{i?Dwu50LxM&B{~;+np%4>oobTRci?wjzLNpETAC
zG~}26u^Ovs`az*u@<;P`I=Z0?J<NIEp)v?!e|J3EhKVGCu4Q0yw6OgHEhquy;DhkI
z;}))$#l2X%puN86KH#VwM%+{%URaI!<vq{Tx)L6sMCe?Ys}Ir}=ZnaU;s(sDaU4l_
zIJYLA-M%%I6^Zt90{p}3xzy=AK#|>7Uboc;aXSf9aU8bh)(rUC-&O%@qgsg0V+RL%
zMiNs9z6y8LduH_`!`_CgUuAtmL$8c`yXPHid%K<E41Ze2-yQfka${rC_9K~_g&aOs
zYxH<=yXPs`)g+^CS#)g8V}{4t>+94|ZpPEd7MgY<vIuiy6&LCTUl*d2O)dse#xM20
z&!!uE$Bh0rDmDH3?)dnVxb!5X_l@OTc@#k9b0-{q%LO`WfBg7?-ab|F^z<xbT3A?k
z9qNg#y(rpj`Hh#0MNv@D4vQOWMKt`+!`r`kcQ{wYaUrkRHxrX|ulONZ@5B0M)xy`r
z_<rpGWgdLM{RQsvPB|401S%MpW6Id|aB$rni%ggcCY~FSAw$6~t@YMAtiFl4;BYt=
z+cBp*0E11TS+qT0y!kzsmU1VQd0gdnn>6bWdz@T7-;JKs_wR|eM*&uTxne}@r@447
z6-V7xZw#a8HZt41bl)VQx&VlNRLFC-lcIb)=1~+Vg@59bZ_bph4ERuXQ++?Y6%y^q
zO=;X5I8kffaxAesTCExD*?Zj!(QbJj=J^}s4l?)sy?dI19>$*g=>fcWoEIa)`BwA7
z5Dh!R>W#=Sh^QvQUn`5M3K+?~_Qylos0L&Ier869+<1uLR+3+&>drQ=3kRJ{q5zjs
zYXeI7_1^F<a2817ND>#Fj1^UsM)-rU9336O<gvH=gwd*Lg@siS4<X4~yiD{A>?)WO
zT3l}HnYkV|t7Tjux6w1#e0_|Ect7)Pb%}@?qk~#0q^IriMJb~EzcjfAsI@-3<4QT2
z+<X$^B~3p}_B7?XpfnoiDEs8(#K7<A^*#!(s;d6~NIJ`?sM@v-(+v&`-92;(I7oM>
zqjYz73?(I<`hX1008)Y?Dbmf*-Q7|Gf|8Qo=KcP;TrPjGhuQaiUFUfmzwSWZTz=QI
zQ!$@Ao<5B@+53rxKht<*v_Va{<&nnkPjkiW4BQ}!N;(o}mDl&1=&7j(-<R9+EGJNw
z#f~-VCP3onoGtzNEijVy{bha7oS5mxbZ*us#4OcduYh$RW*-vI$cZni;V<nEvI@%h
z+<)t+L8QUoH!pX)2ra#x5+(_^0B<AyBiiiG)Q+lalxsNkkCHiYS7kj;2w#YTU>tZl
zM}g9{{B3cS;vf2r=P7^a%Oc&3(L(}SU90l@4dl`2`Q~`5q$zU{&{xt{-DgV32<EqP
zz}qpadgz6xHG|8149dQcNUsYS>5l=CR|buR;v3;>D+C#qOwRUHlT}pjAZ_-^Hi2yd
z7`m?q-kd>#DUfHJyX;|M;7ecxsQCBr``DzjJ2e=K^P^g%io2Ym5OtBJmX?=(XI#L4
z*hF&BFtClR-Br+uv@m<miE`SL5Gfzp^>^=r4qjaev4Lf{Pr4tj{odiWO9T_hj0}gn
zF9hJ(P}<u!TfIJc@>UvCYI}Pdiv%R4tEWe6tT8VwFHVrjbX!<iSMp^e>sOf(sPqy(
z{z+aa_}Uxly$8CHCYq2V`2D@Qn)KJNU$xfj!p25ML_JZA<Qs2xUzk=rd?WFp^J#1f
zb`Q~CZ2%k>(qUnUp6wHd#5_4g6C!1}$$YV1XN&X?A7PK0s>3iWi27T{6V!iBvAiQ7
z5zY$KzQR##;z0-{B*WN^P~X5iD9?E#7>UU|IWLOils9jNt-jDLY6nOoo)n~3C9vvX
zL(maBN?1bEdO}zbm65pb_wr9*O0R#s{e(6~y3_=;bQz4E2QWV^$uOoqHA-l}cn9N6
z>c7@6vaR~@fmn$?!DeaNe;|i2&C+zBv9ykmMKn||J?kTeS({pitwTY%TAr-CFD+@`
zh3EihrHYqZAXwo0ztMZCvvu|Y4%84Jzkv}{6_+VhlaYuk$}f0uaiwGbc?{1W`+*Qm
zs?%fUN?#1J<jwN_f5kKx9EiKex5yk|{o^VOx$09&W`}yLqfvBRoypAVRZLD!nxTXF
zddtenEdOlwR9W>97}UAY=;-K-U($Z!vc_)KSv}CyWUN6WUw&t2_Zb8v3;Ko#=oF5O
z+gz^PHrcNps$~@({>nZ;f~5TfTJq9J9_|H0p0qy?qL#5;$Ce)+qt1}%?s)x~@Pb`H
zfJEkckL~L2_}yy@tF^XZkNrsw|6gB99&48I2?_WHhpVl0W+DG<n`CKdXheZ7+#c=U
zzkl}_S)HSpaR@PQ1t1Vyakpi>%C>8sBQ_A8L*MOYg5dhtyZfg{xO0754?EA=!%Ff(
zvNAYY@&J6qlQ8;lmDB~z^ey2(PX+qco-l&zJGWTJb?N~KVa#0euOCh4AL=Tu$oJZL
zh+g~dsOFS(ZCYhqV#&ZxQlw!gs5^N(*c*M}1`#?&bH;G==dE%7nsRFC>^{UF=#`np
zA8#RDaz{p8Sd(Zj3`d_F?^^H8>t<ndD<XjMI&(Of7XjL-8;>R1yt}3(ADwcB;}xoj
zmaoAGEy+3EP7{`H3qZn>T(RyB49a}*bm@ZMar(YRtV^n9dJAGOL^Ci~gGZKr_%#kB
zY@n;kzP@!OfYdtI!-+nVOC)E`KY7Qz*)Q5am_*b(XeDgGywot+SWQGJksuMxOEAyb
zJS)ry2M8hoJCQZ8($+G0O4I?_raGLA_KPFzFHea)?A(P0InBlL{`>&QqXYuT8*O_I
z7ZS^qOho-F^!LY(=<og5B1s=&nLDoj4he1msq|0bGe-zFK4>*stEo6<-sbCEsmyps
zirVp-zd~vwx=9kvq$0c3!urp4_Ipi6JC5z2$!ThH9Q6gg<okTop)Q_XUw<2Q0>sdJ
zPB=s$hx8A-4_8bl2hRE%vbQsN>#y|uA8y{A8(+<Q>^{lFfW6^+VC3z+`<C(AE2AA9
z69+{7&;8-3y%UhbS)A^ScpT0Pmwx#Y21J8XLWckw>7$iU_;%yTyU<7JFHl;s?2aaW
ztfLq-d2=7GwKLVZtq`=|ZVPSz)fg-Vv%n*<tCiyr+{%`}1W2eShFQQqhY{0KJq`&y
zUb>)p^uul5!&7f>Z#i9EirXzfPuy~UeSrGZa=99KGNW(aIsHX@Kjblw9}N`Ha{mJY
zf_+!l2bGqqEpOi#8^73%ZqIoldz%!xBYE7SIJ65SNS7YEWp6P}sW8}|(4U25WD2LQ
zh<vvLHn#Ue-6t<!RJ@Y^)e$@I+UNPZz=~1~@^d!zN-hjB-Kn^dnak?$4SVAj0S7fN
z;ZNr54E|UM#g{@!)NTB`>bk*e=NMiMm{)DeR!vKhH+g#V&LOA(IOa;px6II{3xf1B
z5IhUzyt1Ip*d&P~)gEB(S_#0D-*BB~fJ@GND5O|~Xv9KrkWD8zIx~KF<&j7K9hIV!
z)^L7yu2Gk$ufZbi8&`%y^AHwGY57U4|BYG}=m|>J^^&wejR=8!5dJKpiv%Os-ooCV
zkk3ke*+h1%z~JYh?K`(?v|fkNxHSt76ELwQpYsI%rX&ULMs<=s2qmbq-1M`q;!wp@
zA?V<R#^`{f(*eL|3LYJx1CGD-!*P-xR&$i$uRH!E;!}3Gx8K!WEWDDWmf=>d+ww&t
zka09`3zB$G_w2vbvNe4yMWJ;Is<Rs_*0US$aQ~nJx?j6v^H*N1>@Ezj8~m7pzV6fW
zo4YP&lt)jHxOpk}KNvc|B|2aE$$j#0_wJsl!O$4<VMFi%Z!J#>{oUR7yw1uvi2>GV
zY~$uOJ4LI|F?^&2F9Sx@Q~Oa6sL^8sL)hR^PI$UI*8QlS?)^YlWjjRa4^*SRoc}7X
zUu6}?T6kj8W<SP=frnS;A=_WGF0FJD>S_vfwH~l!0c})iY)=<D4ej!!eO~bYdQ?Yr
zYv!#1sd6l<xGva=RpB?i!LSS=bea1r>#S!s^`JdwwC5qW(8HBxs^}+7uwD4cy8QoY
zls6YgCo6ty69K!UIfZM8KIGY|1IEMArj&qTP2}&j+kdAUgQ>i=^fXVg8h|=kk<~Z_
zG*cf3*fsYYDG2YgA#+-A((DI@2R3ml%L&KoWhIXxedL3#9tG<?v4Mo<`G~Zoqb@h2
z!J1`ZHj>LsTr*ISw8%3&PwNC~|I?0v2)5XC=wWF0)J^G5(V*2IUX16!92SfTNxgWT
z$^qfEl;0=|TukH}XaKYp#~W~=zzJF_P5P*j<cQX)pC{h39q#&nmqO{Et;?ghXd?b~
zEz2nd#}-f=Mw(V@D)<Sh(|7GnckO((9T84ljq;4(T8gA%-`}gC^kDN(q&BT*4-rq$
zZbq8+0%IhCH=s&1ax6#)5atxapLJw;|CQOy=b#JJ+tLp$WX{b1n;HW~=LS_Uif*at
zOs@+Mb{2kh`I{PA{bT5r+M|9_tL#agej`7pCxeUFuku+eTuOaFt@?@8(6w<g0#WkX
zSFwGJX8g*dMM_4iHzxeg$KR=8h<wSV{DNsbn9fQZ9@1f0J%1P(^ug5>3&yE!Jg3S*
z79{LLaJ&2N-u}v7JjByN78uf_)~}C+*SDepSx~sLOx+Kl&yz+??sC)=a`#*qf=2?f
zVP5a(Vlw2nQCkf<ePyK#ddcb`=MjFRK#9H7zUse43`j5`7h7xhOYaEVuV*Uvvi``F
z^(mo+h2qKge14VfkT>=D72BKeC?O1HEJi$wtnBQKosn#Bfh*~7E-6(kf&R^P=|}Ti
z?0M&fkd%81BNn9L?&+A+7W#)Jdc2n>xtr21uCB#vMB$V!-xWJzzojqS%CW~D%eG?W
zIt~jvss;($JDe;wY(k?><aFU8m1kjI2O5C=40WdC?+t{wp8Xu;K6Ep#0lpp1s-))=
z2rmWHgh$oseq!02z5GvYuB&695Rt&*<`qgP4sev29bhK$mAamiz%u4<lPPb~;%sp^
zSTZ<)B~o(?iG_3xni)$WV8RQl{Dcz!V44B6wj%gts^aEr<fGGsS1*#e*m@*n6<uV9
zc&}DUiY2M`NQw6vY}KsPW1nH--Oy)Nl}S{^Z><<pE!Af!Hw>Hyb@W;<AeXn!)*n}g
zFXDHKYBg!R@Cp}aZP6i43N0katE@U&tUp*VHPAa5CysAar~@$wrH9w<QqxHyz7yU3
zS&6LX#|T&1YN;9Jl?cW+XE@0BjM7;K;O|TNMaaAMs%Ba;%4hOGJeR1>)KXP!UvIci
znY10T^Ap5->mPn4`1R|0x25BWy8%n$L-1H=#8(OV4};w4Szx5IjYL&PU%~0|{qJKu
zYQSL{PmPC#CM_*J&3X>J>pspiVv+Y(Sa@D9t=*>)gnhRkBkPxo#=^ds&y9h{AFOMi
z>z3(}o`%gO^r2??`Fu&&nW;Nxt1s8yF;NPb;5|0&@MA3kDMh&E$)b<U=j)<6&h2Gy
zXj~I-4u1dUw1_M>>re6a^(9kl^gW^#7V^)<OMA1siT-|x&S3A$I;Q!b%Yu74l&#y!
z^0-FB13CWnvtOCuJnqx3UB0tALTu4;U=_tEBrjEiF*f_NgY7iDCaUVK8?*_md62CZ
z%1Bi=rs0VYWV3?%yP0_k5E1!@2Vz=S!v8=qIX$0h0EZ~KFyQs%1fxqBemvm*^Tn`6
z+$+_QRe0!<tJXX2$cCkNEt3aGhbq*4?x+w-J4@>&%@;Dk`cLU~AOGt~R}l%No~j0m
z-C7a+bI9hwU&-2P&jtJef^R1KPucB>KhW)<1RJgG`ABTho3Y-uq2=!WDjqE<7f`Et
z@jfy3Tu;lOA;epNr}i5HL+l{Zs0qlKb{a_le`=-`8+o)Bdcpnz(R#ot?)wD>uTice
zb6c^mCHpPPi7H71D2_TFe=E>4mWhD|5^<efz8TsB(6ztA!Jep}T8#RHr99hWOF?9y
zlbVu^b1Zo;@>ED32R$+BIUS_FVqb<SjM!!7T0|1Jjo~TI{l4G>SzBpor2G7CqEp!h
z6OG)}!p^G`LtpVQ#4*jd@!lk0@(tYryOSfWtH0zjwYfVugbE+}m+p7Mm3{G#!J`xe
z!=xr(UJq%~Co<z4qt}>~8g_~ck{52>pWp`?8`Ghy^D(}$4<GVaZ&jqkukQ>@e7#%!
zitzG-fE85VpYJw!U4rdRr;i7dKO>;VjR9PjUG+c(?55ZCL~<G8maw}-M`z={%po7d
ziV3k!$bT11B8={d#PVwESnA^s*y=(;4y8Q8hX<B%V<hBRf~-b`{H<W1O{ed+r=eBE
z4S3BjO%kCFQe9Tx!=N!z;1{9RsGdJAr><C`Ky*Hi0B+Tmrw-(6rd&;7J;lYL(_vsN
zG|C;haZW`yQ+oLp(`q9FGSVHrSfxL{EHM`WPXeo-zusD(uOp9z*2PFfaT17u=wtW_
zp^`4u<h}%s<c`W`S!|lKFZl4!gpCgt8@d+i6dL;zH_+vtVFZ`hx?%FVnvP-EeaBMn
zE&_K0EVX0;7&$M%_W-ie$S^QDs?b>9;XM(I=d*Hoq%$y$fAxGMj<(C;(d4Keohv~T
zJXIu7jS0c8pP7wP=B7je(>k8OaAhvazOSb4=Ja2|)RebwUNDh)|0s%ucD}R)gdpMV
ziKiW9kf{OI8qWgc>R&=j&}61Xz^!gOQ;l`Mgl1lB*|BcDXbTe;tA2U-AL+JDuREr9
zsduze{#6$==DKv|6dnb-)nCou<kfD4c)Z&=_bA;h_?0-l?a$aiztjynd8~bB$(fC~
zbiy@PT0Cw+f7KWPPIE)F)SmekyqIC*2UU-<RV}%|P*9a9#K5BDbBFe6#K}u-Hyu2t
zoo0hZE0%`C<guKmR57W-^%le)R(h<g5b;YF4I~Wyms$ie^<g;f*K%qKfZCOz>vGtA
zgW|2ykq;8?(=af&%EtQR8&&=fAMPs;5`kmjXg2qM8Dgr!=T13vMGzZ86nK}btk-iH
z41{Z#IIGweVkmy0hcD)GI3>cJWe;rvozVfT>0*nirn@)6_qpc_t1n0m@IB-*Y~UXX
z=&1(KZPYCV_O^_4oZD#v(X5>zE*e0F08IQTWjbjGm{S9oAHG<3wh??`NdCuYBm()>
z&<M|(gcCJaIrq3V=L+|CItbu!;#l@E1*1xU@S||FP%mUT9i%d?xQ_6)K|hImYfk5H
z)=xffh-X|2b!m-%@7=I17-`Pcb>*I_Kb;>`j<?>f8#(|{jvDXSVcEcCz3;`qGRE+1
zn2_{uWDj0%(TbK2^5jJ6UTEDiZZymH#PPYzAQ2Np$l(wnvdxM7vWE=dun!b^!f7Zu
zSp*Kdl$d)XeI+jjknCfaJf5u4?89Svp4q8nedu!ik)&`DVUUkGT^12O$Dzzqxo4tm
z6k3R6X^+X>@<@qJ_>M1?G_>>5YDs&gE#7vQ9|*t{;+d+yJ*Jn&-Vt0v0|<G{l~v1{
zQ=R-|u0~%Y8#$z2SdxBci4%QJn%~=PlJs{hPX8)FYk#Dtt&L$o8grfN)(?+~+?`6e
zA+m8Gz|(8N3*q37d}7ZzQn3QF(PJk2N4G?hLqpzutXlKj=bujixV^~!_2YLZa1-E*
zWdhcKDUX|baI6H2M?s_z8FV5_=-NnkWPp?g>3|PhS(T1wivi{vee*J~kO?G!oqai&
zkDi{xp-gZJwd9*i=>U|Tj5Op}%+QdRX`MA!ce`h%!X^SIiotd`<qwKHT_Y?X09_Lr
z7r!o$fu2Z`dG?=a#Z&0vViO~ld{DAfu8AJWSnZC=cZ)-p;O+tsWrP{q;bA0)Mwnk}
z9$DR3ZXDs#S{an?GX&O04g7#P&^*6;535^=NY#BJXUwLGEP+rd^4u&v6$SM5!IK*E
z$<C|}`y!kuef%GsX$skx0KeCLdJ9<nIUa|(j<pjBGBm4&2T*_v6J}x$^yu<4%)Ibs
z2$f8rA83>}rP2jfwY`>X0^n`&Hcu#TIp6&3e}kVv+8*H;c5uPT4Sc1@JR{ZK#z8ec
zPY;bCOn=eGM|$Pqn$EXS&${T&G!Z5ERjybI-|`#hNSq6s2^CQKLV|TcOtkq1_z7g2
z6!JlZa-d4T1Fa0O%Rzj!(CQ(OJ4&dlXhzq%UTnxYP`AJ~#mQEE`Cc|T?}_{M-N{=^
z(v}{x#Og8l{AF9MWiUyG|B=q>x(EcF28oKwF;3h(#9FlUQ{PX4D`X)o^4t#;%GDJ-
zan6hxk{61rUX`*4N}EoP+V*MenMV<&CFW^b!Of!KWPFKR84S=LZ;APImzzGT|Gh(r
zH+-`^nNQP*?Y2#L!ICdZ7)^i?4y@l~JL9Y^DXOD|cqAaRt|)$EfVVFBCgSGrc50H@
z_Q}5Uo0SfN@&d2w?lja}1y`p_FFRh=y0<iTyk?RtqGQ}I_w;NLOkFQzo;knpFL#EC
zx2x!}xe#7m9qC_-b1{~JkqGjgaLxSDfnJBugIrrMxuf401Kgx2wtR0DUu_}G^gG__
z;k4cGb4`<GP}Qd$r2znM{sj?Z$Fcm`5FfyaNvFU8p^6R6>nkAGVJ~6q9O&hO13eoE
zKg)Z{kvJUKd$etNG{_TMLIi8_YwJphZ+n6kZ0R3Fw{OUwQ2TG8qkR&A4p>ChCqC4!
zsf=~Z<VBX_@9%U;{hFP*1aE3bvv(y$oA_Hf0(&s^T@17e$ut_J$dzhX_0Pfv%Bp74
zjck)eD@&B<j*{nrg50Hx4~bM0D;6f^{t1d&R!XdyJeuThhkBmNffwH@6#tLZjuN?O
z2@Ve{+-epN%8|=P{iW13BBD=FQ8zeHC(w#Yryrdtgl@>-*>hsEFqe_>SSZ0N!&o<o
z=t3l#*Cj6+x(OyGouBY`Vu9DHUAW{{pX{?CY~vnyrv~g)zwN}+CZxJC^1p-`i}QdI
zbgTY7W2?(gGo8{IQIGm8@llc5S<FL$|9{yP0gYHD4j>^yz7x6FL^<ecdR_*oX$|>r
zfW3hAC_Zpx#Mt?1iObEc@y5Dl)OVh4)t|ZJ<u4&>EhPROFLW_NXiWq<s)zO)TrUlb
zv%dh3w`vT6DnUWIz+lW1RHPNPLDq(h%j5^%G(<#t2RH9%1@>^XSRA2b$>dVqx3~=O
zOu2LN;cV1p?ZZ5)e+oLKsO+Bkc0}KtiiMg}GA``8W(PHEr1y3ke=|pE#0!tDy*$C(
zU*$3aNT?N{|A%bE89B0kobq<Zd&FCC^Hqiakf^heWnHq8?Q0!O)^khuaK|KADJjn;
zcsqa!z^4}K)2k1CS_*z1jX(M8Xddfn#16H_K3WA5JlAuW%24I45m_Hj)OJ_<MwN|5
zOj$v`g_~v7T&pY$5&j7YXEnxu0{CP90)rC=yse;~M-igq;upNl35~0aUS$9J&#eC>
z-VUX}H*t_BxiF6Z2Q5c8l$T8!wz#G@Z)ms|goGqzAR^iQt#qk#-TI>dl+`N_=!*<L
zGPp*N(l`CMx`2O&oiP#Eo+k6yPdEQA^A8UsDf!!J(nw92%3ac4p1yn`Lj-$q(V=b*
zKd7NBCoPjqWe1^f6%?eS^VfO)<619DCJgb{`+D6)%g~%wzCr>SYez@e@kP>KEckzm
zb^iGMjX#66LIXl=i9j5g)8?|$k8wfSvHXollQ(l{T**ybtphLe8?(@6scJQGZwmCc
zoz}b_!n#ieNKrKTm~KhfOH{by8@-3-J$r)n!t%w7bfhQ1K2{@7e5@AB*9%B&6)6L3
zYz1m{xQN-PL_P=@EJ-!_h`A;>!Hk~Jib67<1OJHSp5IjAw)rwg!qbW7k5RhR9GCkj
zqY&@Lw53o+7@~v*`u4K|4e3hYodvcqf5P7EL_2NUC5`O&KegAH6#rytween$3WODf
zDOx&MY30$!0Z!FYA%^R6{O+fgQ@1A-<|o(QDDS%+iHTODI;z%0>b@z``<fEA+0&5c
zR;_(4$9!{6(3riuqcJqKcJ7{&Gg18HYe+}ZHyv?%7XPm-F~85JT(a$pU#i7kE;e18
z;1y;o=uXc@tw)w|tdqxh;aL|mpNv{E0ZrarYM13|rmV$2YHx@eSxZhA$-jYJ63Tj#
zF2{Td&knPpPjenu66+%q7nxICw&Q1NdUr9cy_}o$%=;ZO3y$gy7P?-e9s8~qc$Lz8
zl%B1HPige)w*(MTH^-XJBV|H+uYmc85guDO!a^EwgQkl=4HYqQ;CQ(nsX$#Aesu`Q
zpCrZPgY+aZAq*wJ!XJoe3bWiZU}v0>AlKiV3S1Y+tvn*XTbZ~Az9ea;pl5!&8YLLO
zT)R=27`u|uzNA^Z87yD3<zBP>brG?)f2mkmoS8IfislG^kspa(RB$NDH42+k={RfS
zQoUqo8`Cr!Ip7|0w8^g1ywHAmP^?_9Z+3n>6RhFb-SMmdL{@^soRIU>jL=Wu<r>Wn
z>P%)zlqz$(SK`@mAC<^xen6hc`4YjXYWs54vDdD%&|%-1sos38nGiS`LaDfe6yZ{T
z85X`MrDjGE{w<m4AMO10{^1=6=#svw7cj<!OxXu3v@G2RHkJdb=N3xZ<^uluDtcD2
z@{_+`%HC)`qYwJWaq;B{y}B@2*MKkNFaO|zM~};VD4l-P_YbkF0y-a;cG#m_8Tyo>
zzVklg#^sE8_5?<h1WHk}>>DOCE;FObl#x10$(~hhPJ7x;UItU1CivWxqYHX7VT=!`
za`t8c<RBi53-AdwlgmqmA*$J9pM@ieIX!@03d4JXO>CC;G|_bx#%ZL4(8mhU2JxN0
zuZI*CS&V|K2AR%xO++$Y>X*1fIBQ^@5@xz?F;AZMLg2N)$Kdp$a_vHwgtaeg`kx06
zbf?s`{_DIz49nQFD;B4a{P@@XDft7ft<Hhj%;m4YJS%?JVQXbKU&Mpb?dI)^-PUxQ
z&d>TPblbGsEBRhVELtA6Ai%HSEauv}Uqb}Qe&n~iWl{NzrW`wKzlWFnE)fxXo<7rb
z^QOE-@AKCi?aPt0{r^mh>6-^VUY}h))x04&w*3)8w^Hp~8_1WZ`oYWX$Ks#lT8U3L
z`!Aw-aO9j$=aCd8iXQ~AzaoA*ms=MCy1=31Ngx*St$Zjrmhm-c3~s#n<KPoB<4V&v
z5_QWEnaE$WJso(A$J+?~PfgW|U{tePJt;bIj1*yW9k&@BGWc(h5}xR?Z6q{;_Tx^k
zmItB9<TtradGHoWL!C6Rqi5pRyoiYS&E{z8&m=6txXzTNn{{s{*Rio)ijluLMb<Cb
zISz`76w={Z*5k<jaDR?n;O%AuF!H5TMkT%=RkFYpsUC<fWNn+$I(ykx5e)QhrUR+8
z)Z}JlfC$8ek^T1im|~GVF<C!)&LUe8G8%Q7=YcyWwh@DgV|6bLSw^h&%Hh1(#CZ~i
zF1qPhnz!YEa$ZwS@5@e8HJ>@grLNO$*Oqx=b&N|A4GjuT<Jay*TRA|>KHfBO1MgNb
z1u*<<K?V|kKKO5IIPpI4^e=QpDsy+NDbIgN;=|ODc?;8O0PJ!qsC@SH!_?Yq<o7Ve
zpJPqITkelp14EGD0{Kx>xX2(<XK6PD>#W=&2;c~OVoul?`t-RPtmnE++&9`vpcPAD
zuFO)Atu0TKMN)$DjF?I%ubXpG+l=(`TZdeG=g_foH_e6ylSz-g9fBRRV6hhH@vC<j
zNfeDFghon8O$yAk$x%zu?5EyjE#wb<5RWODh>voNyPth|NTJ_tO<<veY`W!envMH4
z8)XP_V0%vk8F8sqkZ%N7VM7v`C83B^5%^>gJF5O`_!V2yOvvCM@_o?C^z8ZXU<?TU
zs4^_53)3hCvRtTeEzi>dZh`w-^f6!|{I=J;!~JA`b2qf+q1{}J&H$e!Y9yYq4!boD
z5Nak|YbKT70_Y>U)ZaYHi8Z563j4+)Q|Wx=4`Mxw#Du8|d<Ql+DKo2PCZQnGrC&{%
zblGo|6@TN-Da^5mEu*92I@kqmbDVn)3@ju=i3eIoDy*3c$aiSjsTZ?#?D|BQgmIL5
zJ8J(RTj-CK<%ql^FZ+vH<IUWoFd_@ldfWkadj=Q-!Viog;aU~ph-#xz;DqUv4p;%m
z<%7r{DOx7HmaWXI7_il23TS7o|BWyfPP5T#n(A*uOLnnC=YeqgXLFp3m!K8#f?(qR
z-a&hlBpZ*C=70CKHbk>jo9re@dW^*^7yoObyY!58+`AN0sv>dEHkga^s|J)s7K?VV
z7TGMH-z_O_nj+zReSQtAEUgRr?xP!S^nKehujYX3ej5RdJ>;WfU5W18(*_@knB{FR
zuHiVISU+;_gIrEF=0Dr&SUP75q`pV?QXZr)ni`5j)1iD?%$xULS|V_I%LSr#b7$$~
z>v_eym4yW-tD*anR_a<*^>iwcjht!XEun#gw)sFzz0OzAEI0AUH!ZLXJVocNl}a1Y
z1xD?rPdl@`2TW3o*boN}q`t8Fcd}7H>Iww>n`xkNPOuuHNBA%5=d4)P?koizG%hhQ
zCNeUg{e3-CoWSfvCEd_<H6z;}0i^aO0~BU8JOsANEtCwd{M{4sdsof-kExa51>!1n
zEbLS~4!Rk`qxi5&_vAN{ef7av_ul;dJ3lG;Aagqy(hHix`r?1lao1Dv;cxOZODdR<
za4eT0#NSYO!hcgDniY`<3ZY8Vfe))4$MM*44PMC27|5axq5<FTCrA5>+hNf6;&KLU
zw#l#aOT4P|KVWXl<4R~972B_DI9v&hOtP@3cVJ|Pie#9M_s8G5lHdj5;C7uJV8Mnr
zn1yH&0a9a9w0~K*Y<7yQvXVgnbmjdz7I-riq%u=pc1pnprTN#y7YhOU0QMa8*qnME
zRu8fdMMdl*wCAHAEC=^Se5=1bJ0!`Ss*?0TTKer>|3=+j7T+z82@m)9bu<2LjJq?@
z*4AQ{;HDviPyPIepbQ?n5$Lm%UiGR!*uL;;T|I>C3YZ?`v_vB%gNR!jdzX+2KT$Sn
z>M&0G27sr1=IUWJGPF+K(_?7`i}!Xj^_34?CL%dSxN%2s>Yy1NQe)>zmvO}{$I0)1
zh(j}XUKbimMiizbSQ%~-cDx-L*$7*fQ;vIQT5uttnVmv2yaygXC($=?C4z)b5tSnU
zJ1D9oz5D!uMoK(WR0}o8r>>_jOnSAoAT<PMTf#4#Rl?!S@C-jL16DO|rkyIvphQ<w
z27pEfhjFTaHz&$pU_;IiY=L9=uF@=$8QSQA06hrIRS$iX(7b2%XL)bN81t;f^4|#2
z3pR_tN`5kD#!O)$W!>ZMZzZ;M&Wvda-anz`UGOVg*wuC6v$y8IaWiaekqK!xGW1KW
zVF>BnzFHx$Z5C_tag-hO@{uj`?lUQ0QfX)M`N!j9K6vSza%$$dSbx8)$JGZw&@OqQ
zb5+T3;$I>9WkX%PTYPgPV_%az>CS0qzs`MPd`iDEMlfpfO=x7nY0Bi=I76S5{m@Xs
zZb5rqS@*=zNZ-T`-#6n*sV1f)+QGuUiLtnUAvKq;6S*Uc{3RT~hR=ZqBJZ)8j(VN<
zA^6@-z9p1FNXj;m(t*ovY*a9xl7BAkYcd?2d)8lxKIikd-<G8IoE$1krix`o%vSEY
zE)ECy%}%PDi^P)XSTON;8R+<E?!1e(3n5H`6W?m5kKBYS?gPzPBlEJ=TCrZ=G3Y-B
zzp<l`k~;3c$Ry>D0$fe+5pb;nc2v4fge*}1v8%5TuOU;B4{8H^wAN^lG8*W@CrrrA
zPb7E}iJaX=nuvuWh=NDstc~@<-?Z$70sMw;I!ce^=S0a~Q|qL9Ei&5a#CHc?KQ-M0
zbk`1I-nIrzUH`go7)sebUswzno6by|%f9F~cB5Xn*sWOW4JvPOCEDeB-tLmVTgq1{
zHu558<n0XpPKspu=FP?XrdK%@4_#Zfr^kw|BhoV!EOeV+zi&*OTT+t`hNt8|4yA#}
zCJsx@Kx03jlDIQ$8E;e9GjML+u`2KZKjXPG{?CazmOeSfe0WB;wsWpn8FsB2X?3hL
z$XG2;dp_??<Zn&`&04{aq2}=?oiSxdvg#Grls}}k+}MZOGf|f+WO&2M>wTR19D{F8
z#1vtDCz4o_f6*HD?oSk?mEp%!bwpqJUPTFvS5MB*asclHAr`YdcygjVu=<n{?L~vx
z$hQF8{B@x2@9X?nk(qM@M%Qybz(vv)=B8rYY$6Q7_v2t$4fJxS|Kh^_xws?g%!WE8
zSE*8QVOOVe@4Pnx1D34K(#A@cYd{fhU+hf{8f<AUTs~?toVeWJ>#k|=>I@K0<h%cu
zviAF*eOx{N@wSvij`qKtj3+DfWjEZ%Bdv(O4htNq=ceKIoRr;FopFypweTwps!pF@
zO(IZDvdshuWhBZyrt>H~|9OUJFe$R_RveoLh!HFEYgxI5>+-q5EazlX>xVi(lvQ=E
zj=l?=Bt1>!5eXE#O+DD2DAW7+PsL;70Y8g6g_?^O(5MKF*{r^@3-5{ElN>IuvZ{bc
zV;kx(w&w}5ca`P~IBOVpYDtYAf|cnFpZ)mpVkQUVTmam3%5h+^5)%=K8dyK?ah(vP
zX2<4>9S86spTzoe4FZNd$(FF#U8pZjN8GE|m3_!%!#BxExfuJ0KUgG~K9i7iZH8H9
zjGAR52$|sqwCu}}q|G0`Z`sm5=B5ygc~f*1o@!WFe8IqCH3XHk{EE3?uxAKj>iY)^
zBv!3Ya2ywx$@U3KgC{)AbDsZ4?P+;0mQ|lfxCFQ}kqtxLNC{&2j;PD?XQ!atgt0%j
zo2<wKv0y4HPk7Fzb5U@rZPyeV!FuMu;-u#&YuL3JUg5a7-Z$6r7@-|p1(HQ#>y2pi
z_=c6RLaImoQU9NGufWrz+>~ZZ!)2QshXCvWne!!lB$QwUQ_r)OD*^SPPKkQQ0ge1(
zcZ;M}X}SKR1eV8Q4V8Gg_pMT3^##{X8gxKneKKyvYf(IH`(iD|$I4$Ui8K@8G*Vv1
zY`}yK!F#E(#QZuBR0-G`cr7JZWJ*GQ$Uh>4oD_ok3~7+><wgd4ybcQL1V%J6m{5Cq
zpktt#`BW>qn9O)mq84vdW`cl8W|G+ak`7b$=ow|3WhIle2-&FYDnTJQo+Yk4;UMsI
z=YtF(EE-65PHC)944_l@$E&~iNL$A(V~r-{Nt(TBqH`N<jU}|P*SHYQyVSL6&$X$%
zuKdo_(+%yt(Me3OKt+_Spy!VB)=EUx$Z}NAr-Z=YmcrCeF~^|b*!SA=755{JC;jmt
z_Rl3<<B#vJ);fVzg!urcqX{XB>T#*jWqlrKqY=LG9O`k%TKgaMi*?lK+res!E%sPC
zBRB?WeqcJnBiq@XE|#C@W10I$mkQl@c^yH}yCuNq){CLwid`8sEa35`!(g8BAo(=d
zZxFR%L_j#X=lWC?ik1xNKPHCOVHUe}yyuM7KZ-0S;AdIgoK@EA>W%|GtYDxFztUvq
zJPb_Fh=vEuUMK{8<^U!g3~(>)I&d8}<WDdG@{=Ore{I(~=I`9xGVp8^lBcvR|8)oj
zEx3z@eH>dju)kC3EO80yUEQ+B;)Txk>B>1h$DpmmyHEk1;vXU;A8{vm1zV^}YRZ85
zAP*IDgszALcW<C6C}FpnZVX$CZ3bYv9mc;c@j05sCmdbcmgrdsmAMo4mlGZ(xs6)E
zEQG3lR>3h*kki{{^9-`m#35qXZ1g!-_plOx5i8dMpVus)?$)0?YvS;QHkIm0P8iLp
zo`RVrP5WIB%AsL0B?I~45LvNo(5rIE3nSTelrf<?X0?C%?8wLNvx*nh^L<YH$n+@|
zuUjvd&M8TEKohsb;4Z^X<!Zxf#|f(TSrMr}!Jqpvg@J8lV{)i;qm|*zXL;wUYzXEL
zt&Rk4ZY9<*BQXzF!p%O?$8vhsPLW+4$7AvUkln;^v*d;$h@_#KaM;VH$Fpu#>Db6f
z)aIsD68o1&Kg8{A(1M283`28RR`No`;JPG^6eu>RAT&Ag`bT$pi0g@bJLwq>Zg>jQ
z<v|z+rlL!83T{O?;Zsj7Ev*)edt5Zwwcr!^hgp+JUJvxpPdPjShXo@s`cP}(12q4J
za^>n;qlM5?sOqP6_}ZY28#f`mLYh-<a|@Fck_6rnR+JG)Ag98#fH(C8;V9P!JK{*y
zM28`~n1~n-fwQ?I2Va!wwpqqflMD7bhCZLU8QSMjGXj0H2fVb31z5Qmt7nsIL(Y-*
zzu4CQR5DI2muHDBJhFp+KetvUApC9>c~M&(jrp7-o$%0qM6aQ)+)yCiM_3W$IgPQf
zUFXqRq1Mc*92pkJ8XUJKaQhUbX;j5pA&30O=w&)Ubd;tcssBlYwyQrhE(>H1O2PgE
zXe|G8z_Ygb_P+(HA~3WA#+(4uBrfq=<VOh!jLf4F@AaQwNsuj$HZUs!%a>I}UCr1K
zgKvfB)|G_0XWkfSAJwpUczE{2(nv{SSjY(`oWCvgikvKmcQV`9*g!GJUAE)dcRK<T
zeLK^MkU@hTeI<7)T{o|*=e};AWEWO;kBR4oUf%dPpluV@k<<mxK(-NYR&|%CF|ib*
ziSj*VGe4)LQDV3=%Drv)A+?VWEa<qS?6ct3Tm``j%w!NNVJjP^Z%c&K^yQ|5O~Wn0
zCJj{Y<3E9Rsg7h=5I?6Gw@ZUPJ3Hp<%A<TvEv6{#->n5L!>g+7ntX6@CO6`?w?S)3
z2f(9o=Ab8)68`T*41%l^kbRAG<6+j_`5BcC>+IU5W1+4n5f>(1ubP5fVZTPcm0(e5
zHqB0B$Zbw*F8U)h=QO8Y&+5bmpSiZ}<D*$jVO3a(7s@e>$19Ju7Q+K!%PktpNeat^
zfHS;vK5mV7_0Hg7v!>mcFe^vmU%>ci$0Yunqorx>ElsTgvcrnh+p`tVCv)~P!L2*M
zl>rXi84Tef=AH*eUxXmfJru%$z`u8!l_hMFc)ciH0@7*$6M6cSMNsew85kTm!=tOC
zqZB0@o?w6*PKHJD>eZ{Wui+`pVkc5BG&D>ay~=3}<X!qpp7;Jth+6_MjVI|R=J#U{
z81EYV3EeK7rxsh13_H*3iA$r|sW9GRVT80Zr3spo0QB&pf2v6$fGdEufqwUL!9K5e
z?256SPRIg{h*ne$N7E%605__sseQWa54E`B1a968QvO2dukXYgNPa)TF1un(zXPH=
zQ56*ei;4PYvM6Ak$8*L+6?#uBQ8R`3hc8*_$}{WBO+^&WmN6kL=4p8YC;!2{Kyh#K
z1}y#qrfg-S&?Q_8JI7%6?D<O?xY3%lfwvZowrcmudTt9IadNiD3cMG5cr9~vzZRd6
zIlz#o3N|C^>ZOz<^v!61l#HeM6N(3#&RVC}bbWp+5O8i?jYb)U-6y9U(?awtfa+sU
zIWMVShw1NlvAv0V{C1fK6;wqdso&BH+fv|R#~TkHW%15jSXb~(9gm+?h+C;0^XAnJ
zT%0FX1VSq(k5jDVd+-<R418~$HzC2^2U?v2TpF<u`JinbOkn4Oym|vKXz&?W|A`c4
zSp{`D*u7e9cV5RL)aRRhceAwCl_6|h>hJ+OgSm=ZP;ibq$pF`_-e!PozSa@UXH?sd
zX99Ye5*;8LPIQ&>rxWJuTbCp)uPOQ5BPXB<yNz|$CPk!aV{7`$N$=B~lXUlY*bh5{
zxF-Ubkp9yC;X$s+&nEsg#9q<GlJQ%l)O;olppbt<=3S4`Sh%d)GSmRT$Ggl|g)ROB
za^Ds!O+KPY`3gc2@E_j$T8pZ-wj7Ua`SGbKOk!eUp@1_741eps|DwXfF*0O=pSyks
znDqu#7U<~7nuRKzK*TNo`*(0tbF<}88oxJ*tE;OY1Jb|H5A&EX9ERn0^>r0;OS~0W
zKMZN|Id|s`z5lWB8Dq|#^togh?kPB6Nxa<SFv`PZej$}-RNaFqVKx%CcR6<4_3W8v
z{ni`1rNQm3=2Ydw(9AJ2rotNrX!TRpS43HSQZj9LxfzUSz}5{Lg0Uf9`34A6+i?k$
z`Oea1<TBp;eZkyOCmD228-_4>m+4A~(B@4-RLxh+#Fp(Ry$lN#$iTj2b+wmcbGoVi
z{%spaqZci5xlw(A>frZ0vGA$wvl5tu(1oEOso#Ouv8qykDb$d8DJSC10qb}>wV@z`
z+{Xe}Q{X5q2GF3i-po2-K{gos%Q75X4!)XNVL@I=66<yK)>Uvp<wxQUXN%)E+%wSz
zZ~USpI>UVcV(m%&yPJBQX{$e5lt_z@?<8NU0KsP<|J>34k?o7c>~{z$j*y7mv#u#f
z)5bnxWkUb_4u2|;)^y@H(ND2AC7_g#*bwcbDIqvKemRAx;a{P^WO7ge5R~aojJ&)S
z>oi}x#kn8Rr9i%)#BtJg69#FgAhFdQzf{DJzCGRPEURqOAi@hzsb38se9UG;{ZE(y
z1~euKlMK;u+l_!QU*CTW5db>9YvH>+{>zZ7jTn#XGe@ZBCe}BDYK#h#Mg@!Qx%PW8
zKEQYI=tej&Yx2gIxjWO&kn|I1eVC~XQAXRnIc_hxdw3K&%+BfozpxV%04W{lB4H_L
zym*n{*qC{L_b*5$AQ5f))eAGDK_O~ZTLqJ-z$FVfVWPY!|D?<Op3<_D%9VhXj4CeA
zi<|V)ajGzedc7`7I+lPUs+Z~+Q@^(DjQ?XZpvPtIjXK)xFMw2|=LO9Us&W!0CUS*B
z^rKiNfRXC32Gk<`@5pOhRS&Ys7$J>t$o=Ooa89EU4fEUk4sQQ{)4E<qT}O8qA7aMe
z4ygQetsVd15kb``L77%3vQnotpPJjnZ`{GFa8%2tfX2Px>>kPdioiHr+}bk3O5NBm
zyU5L5l^^u}lrPu1zp&c+lYbT??}<224k#~u%kPyuLp+>`{<O|JUz@6ivxdv8nrya1
zy^sW18h$k~J)5eU1zymA*4wcd;;RBN+3+hx;4f!9<Fg;z##yOVjl~DQfdCfU)%3kz
z`wc_T#e)4b<Im6IojzV(UI8nUQJ9A5zkWGks2&|1>4ZA+8+3xC-g=Us-T0E7-MEBH
z$@B>eUuX6zO?hqK`5~A?UPHo=9{ux+w)(>?&;jf9pR<Wg_%76)eOv%AbG?!p`ma0n
z39u&Sf&NQE&#+2g2YA0p!djj9Z7?L1)XB+d9r0R*g}<Lrum#OL=npnJ0!U?d;W7oG
z-CQ1*_&&E$S`9pwHfZ+c-w*Mi3C~WHxsLtKfsqBkoujEU48PlT{&1dKzxuO<DtON%
zn;SX`{CDaHtOx+eDw9^-jfPjlfoJqlx_gbV4sA2I_n5SQ>jodp2?FnOvdFZl;Xo!f
z=XPOxziq;nvVA$~S#M$$1=LXa#Y0~*{D#sRypO%MvnZ^cbxpq6VF@g@o78_?Fyzc`
zd-queH+NO<vEIwFs{|P0185m3Q2GfBrNE9r&&*O{THL2AL;X8VgJW7)9BO|ou}4>9
zQ`(e-Fn3z@B@OfE3(oqq*5&E*SjE-2wog8D@xAbeO(#R7mxh&h+GfIvslhGIVJ3s?
zDsTi5LQm@YFRe9%Du80i*%QrLiZ~hj79jMxzp{BT3~p(56#E_yvwkim;p@55^edm4
z3xc9b`LUmY_&7aF@q-L#jHNrdneNmH3`*=*)%nnL4!m+h+gfor(DEU=LNOQzR`m?I
zCd6L<yztEc+Xz>cJIqy>3b`(dVvcvte!D8~&R_c=JbwIZZ?8do@r))td$x0|@<Z74
z_6U|25WppdC#PnS?B+TZi<iIl$x42WkE|U8j(|k4vvusb_P<J!KR?^a)g%mqrz4rW
z|6DA&10)B}EgZl^g6sQxS^annV0aJr&6MfyOV@>s<Vw?p{6*xAx3H8divM)K-*Mkt
z1dXp70QM9B+kHzITq42=d7T@HiAyqm?;+{3rLeB0uaDdQaCaQn2_z@h==;+?2@pNF
zS~W9aXwJOHK$pIk^tMd})K5uPyl@fb!+U($Cujzu#H4;rVB=S@Uwj5YU0hbmR$Ny(
ziGp~>M9tGH9<@vrMs3hg-U=#LPfQoNY%muMsPNVIji9oile07pH8mLUx-cJ+Af?FM
z2_FP?m5MMWzcszrwwy-VP+<+^54l^34<FgwPM=m;%YT(^E9dO3o~L9_Bt!!Vz9?k2
zINsqPg1#4iIc~JKc)(78G%6~Jb!}!8+%`igd2~jj?30(Vl&&#9X87>?9vM^4iA_lF
z(27ExQ<qI*wx4ku{xEjxRTmA?+?_4{36KTN@Gbe6N8%P|XNrIL<TI~kJ>q`>J{)n|
zERb%Qo3*upt$we9D0q<NjXRIvKR0LvIx%OzcJ|8{k)KXyj+|hR%>*kK`klKJ{mA^%
zYO?q&Xkqna)3<5`#=+gc@v-O`rK~~CRwPk}{Q)kt2DTtn+3-N~UDk%XEWqpD&ly{|
z(Zlrr_g{H?^E>{cs-qS5-mRd=rcnmSrV_*+a=GH?aWKp8wB0$&Z=(Wgu~=FvQb(-c
zU9QCtQVG1#jK3zgQ72(|t~3{s=eh1<)*g~$AcWL+c~Gc|_~Zh-LWJx`>B&a6JU=>i
zLQeZFEEDo@ajsW8-j(oV^y=SXVg((~G6KzjO-v%B&hsi7firqflh*hlDNsxu4-0~n
z(%>IKhX#^=YXe+E8z2YToopQzzKKG(9PgpFMaU<DRy|4T2CC5}8mg$5J=*O%E<b)q
zJ#p~`<Q&%~#_697HtVK5mYWXg;~HA8lNB`uU1mfmzH6cMo-hw~3gP|Y(5`zC>YjQq
zC^5*{YEr7{fnH#;o2<s^+ly@xtE(i)a~S37&^nO)5s9878~u$^a>-g2*CY<>B&bhd
zqS4DG4)fx-Gi%)#keqivsu6)?8S7VZ^TY}sq-27D6D9$S5~$E~7~<am+mIOGzRid%
zqQm;bT3=zX*tBUqDAB1fQ$C9#dh^CVShC#Iz-9|!Nl$sw6{@UkSUSf>R@3BTxf54N
z0^!G|P5!&FrK*yw3^b1aRjuJ&eYRx_GHp+5Jr=Ra3A!lM9G9sDkxece|J`h1Q<I;?
z_`#7tB^Yg=`!+fhn`B0p(0nGJpy*t{)L(FV+n{PwT31Z@m&{3EP~y_&wVj{f6FjM(
zlmh^%`AfqO_LSzTK_91&@r3q0jCNdA6+TkFk?($+ENxVU%8TS^o6I*-4A+$p73g}B
z+Bq)eZhyD^;$pl4bXHJ76~=cu<wIa_yroAP(22t1wHyMwqQkp*X&aeUH=T+3_>Gc3
zedy)js`@^=UBk@UY{k7<Q9c9<J+eR_<~8e?BlSEY=in(-reSoG#~7=d!*8IT=Tw(^
zUF~3gxHumvr|ytCf-anVb4y*KCl^ddt?&G^D}{NHz`)YsXwoHeLC$0IiPa1JSE4L3
z^WWG}K&*IsrG{BXB(6i<ZRTY^#}2y_$D#8w*$k2k|4*g{Ug7NQjE|`$uu1yg1aA>+
zZeUPK@!<Eg?58g-2Do1S{hxjAssIb@+amKsdHwLNtHf(!i1Ws4icTqk2le*qDv1h$
z=nK|J(lK25uCKaf7N}U#)*7D+mv^lj8gMJO1A=A?99Fk3B2$9KZj6ZlRI7j@U)ALT
z;g%`qWM3niZdYBE2hk#fyj?=}tf+v;`~2<U*|6ahEGGMLPMXf7p4H5|I-D1oLZTr6
zOyL@clr4eXd3tp`w2DL^$#>#iMEJNL61e1%>6%@<Qv6XrY$$CdBd9IsbIE;c%PF3R
z#}Q}^EM#i1=lTUc6ezcRKghJ^jQOckM7MN9Ps2R0syXz*wt7lx$&l1o``3ygon*K+
z)qkEBr|u&X6W$Q4mprf5*}qB*2)ZH^sTEBDB6+kB?NZZp<kdM)BXa}Xkt6CingG#5
z7aN%Yhpjf+OF;Yxiazbp-fVtU-ykN>Pe@xi3fqm^Ey*n_3q@Ie5q&3lt>0aL*PE1!
z!qc*O6Fy8(2S0k-L?U7+f2`tcRU!}IIMFfPmw|Y7osTY_Q3Udg1SVi&DU%Tg*9OI`
z#856upHqbuLaB~k*YR6Z9@y3&nYPV$ksll2#EoeZTFbb*EoClU2r@uv$c7(-d9PyY
zd9T>5^Eo1b%3EBwwjb4RSO|ACtI)c@Zuhu2r>7`Ia@H3sG6#6%(QLsK1GLJIbqn{m
z1ZHDZQoiT8&RT~Kbm?F*CtbSGc1nQrk84SxOBx}_5}n=B*uuKSm#(jp8t&!)+mcn~
z17TfJRryxdh8Z^vB!#3B6GGla{q2VVKCnPR7lGuHCNZhhS1=Mk?!U-+H?DnDc2J-$
z|5YI3i2vsriSV;}8T%{@!Sd&l99gRT&YTILYCruH#%z0?#N2Z406|Z2r+y>PKlqHm
z;%#=Yte;2bazSd^FN#iCQ1p(xlshJz?7xxCIirS~L--pjVrK9DWza7jC8O9X3jY<o
zPpr6VJ)YFG&o&Z0NvYodSMG+QiZISf91DsvEn0}dZU;*e+5<;*(|UpLd&s#a8?LWH
zkrU&y+h?Lnt8qiG=2<E|DDg9nCMWsl_OblgZ&3bi0uZaRwYbqJT_S!yC)dRu|2}w4
zJ;mazhTf}abC1NF(9pshk;~k_=sBf5FTIc4;HJo>U6avvcAPA?r+y6>Z@a~SWAD$k
z;;#}P0jv7Cn`!X}_E^>W3Mp*>^$OgsS$Qodk$X!`by*z)n*G0^j^rrbVRf8ziMPjL
z7BI%0kKu3G9l6(E4@6cgVpe&{VdVyX#?kB3?TEy}kJqkocsp37Q<-$3lGpY+U<dUB
zv?O3D?V>G3=uK9jkUp1di|ev!LO$=-v%hnikkIg=iD^7x>$#H^z0&@zuV@~0S$H__
zsWHgu;MX>IXA}k4YZ8s|U;IuO0^ZWKWOeR0ar5LCmUK5ORq+1859JkC`}NIw`40JR
zd3lyY(0RPY^4E*X%&JdB-uE<@o)3K8h-G2o09DWQoR|!nII0v?@e-Q1A4w=*%>flm
zjySkY16toJz4yi{QA-v5xNR3S5KBd8s$Z{d>MIC{kypAF1;P-14dXcvGSqI2iq@#Q
zo3iLGYJS!hFiAay0Lopr0}Uo1u?PU4fF~)@$BrWdiX?))j+Wn7Ka0;p#JqKhd&Y>Y
zt6(8Qo>h9x)q(9HC;u5RRPrgD8hCS)WW9$btdx)aTBX>i7wAz&DzfnFHPy`>ts2eY
zBT<bboSx6qt1uhLYs-3~0zZazwc5*6mLJHg#rpA&Z`b)mnKsMfFQBC_Vn95YUGh8~
z44Yg#TNCO;-9n<`dPo<}DAg{$Y{QIjRDHt;J-jVb0&?O}?#5ozH2Y&cuXt10Nfx}V
z;+LT@3ymd)HHL>7U#aC)&~YOr9HR^7s9X;UW(B?|I39>J`lNn!H3izWj<Bk7UXe5}
zSVI;fU`E5A>dNR6I6E6=G2bWmA`Mmm7~kItTv!X_0f@)t*ur=i7R#5hPBND(lx||1
ziGAhgdA2$8IOruqg_dv=7JE#Di7lxF%t*_?1|}I(H9G*bfln=P_eZk?H8U!6Y1+ym
zuKP&JW3mqpJ2U_(ZrC~=)cC22P!-wTm_3`V_5JT9ER)Iib$j_DN%l!^D4bPNuxRX)
zXB>LyA9-z*k5+Rmdi7|+y3Blou|ybQ;pd*L2DbsLYTIe7&o~1A2Vy~;zHN|ssqBtP
z?g8uXp@8F7#@C%#4IV`2?{wZ)#!u(g6{xgW2^R$Gw1oHqMRSs0E`t*}=R~#=mYI`T
zkXxe%C+p?5uBM#|I8oZV+Epvzi)=*Qx{QMOce!@LR&bKwF(=;e0G~H{4^D&yzE8|>
zSf2d*_-#pH`+StRu+Luq5Oa8-FE)(}$1XR{%$$UyEKponEUtIOo`ho%#=FQ?84z}`
zdv*+;^ocWJT-XzH_wO+$eO(YQD6#_r&54q8f-DNpJ<Cn9dx1kXimk|6idX?az(EWx
ziM21nus(^?(j<ksnJsP@BRdvG#76M)V4T7fo$Q+VOpn^a#sN|$=Pl7(i`u^IK&wbd
z&OKJZJ;UaHeHScJESeo1GveoD{0Os!L|H(Rv87FI=~C^437nKfLl{*-d;zs}wP;qt
z$eiRwdKfTKtb|c>Qln~4R-3GZ_bOJxM>H$p41<;MtHhjSj56n(^iB|uL(MJ0BJ|-K
z59@V#!}|^0y^)@p27{z5c%nKBo~rP{ldO>Bji=Q2tk`_2()67=D&=KQsqb~$%I|&j
z{ga&KcE_~thktDII))M9@5gYw%IJB?bK%pj#j+mve0-d1@bTx7bKb(asI=MMbX@s-
zeTF%=oTGLRoX_nkoBLrnFTpwD`zNXxkPBu)g5bfK2TuBgAYKqirwb?4+PbQmW#*)q
z?<{2(VrPExZYgM`2v-|ncH4@A6PsdD;Ecozb97~UY~wuTh6NB=A3L?zi8MOgwyE28
zJ&U*wiFCvI=s~2@^>W>-1lzjNy7*lP+#OpCc`S$|VwJ>sGPXG@qV_j|-Xxk5Uu6kl
zRC7-9OPdUBU1~zSzO73ICpm_M_+3UT;f~X~wyvv!5XN`hhcL$T{|Lm#Cn!OFNv6U3
zP8mrq*120F>2|hHyi4oGdJgwt-ulc)yo2-oL!QUGH{ypTK`>_+)D@>gEgN-3X;95x
z>)C5f5q_56%gfk0%J=nb)F|uM>DMbt*Vc{hCylnND@>>5>iRXs8S?Rp<kwnd|Mf-k
zerpTUwDYM`j$5lP)2&yd92?K4R#{e~9J@|gr>-!1J^JM}#cA3#)D}grTRqR}qUbf$
z(J|AsWwpw3+;_EZerlED)#}#8YgLa|Ta>1oH~BrC5AH|ZcX9N(>a;nN*Hf>hrbvCC
zrtL?a7kMt!W6SHQ_oYs|9`$~vDc2ys()WdFmh+YGr+VMhwR@&st9qPjy07vz;4vH6
zYbbXZ1p#~Dq>qO%Iu)V_PC`{p+_o;eV$s<}%UJ;L6v8LgPed$1gnqY)=4OqAWY2cE
zb&9gMV@dAk(v}&J!tM%p$(~tolV#!r$atC&yM%aAj*Zcvz+F3=o&G4+b}@biPQ+%u
zB1V=^0KP@m!#u#Kck80}s@?>H7!~G34^A+IQD#nt%gl)hoM2lQX-;aF%2vW8h_||R
zQ9^u&P7tqv6Ljm!PzCX$%`IK;^V_=O6C9J`vBk?cc;6{QX$jL_ZAZMzW%02c+trA7
zx!)MC-}SNGoRj{V;_uSA3~|{1owzoa`xV{4A@TR&TH^2EZ|Gi)_!xd?y}8yQFo=y*
zc0aP%$W%s#>2sFpHIw~6Mt+~5t&?fmM&3_?<vZh$muJv^5^VOv-#$xp?Dz!x<uQCG
znhW_D3A$?#ua~7;FVkk=dKr%AXx>jkOxKlVGnW|-bEYki=N~t^AM5WTZHRkd;(?R<
zkaObp$-O0n(Y8nn+p;2VgBwMxgBb9LEqQI*avWQU^w}vK?S^fenwz{A7a@ZjK;RSx
z$=$CcusIfGuDEFBvI9^?AmEf)5^-fppa*!)zX@^pqZ=?N((jl7245@UY_4G6?iDtH
zlc*S83t=p&)xb#sX-=YTUHRzNg>7BBoRg>^eko+vuTt8&wkd-6JtT<NgA*-;5nH;t
z&2C+4OINIJT?sM$QFt&%LLWa?!hO8Hga>3^@8O6~cu3DJp;zl7SRCXHZ`{Q(*aIhh
z5uCVp)G~t;Gjn2B2=a0pgaUU5*C(Oa-6mb!spZLy^OdmZHszLZ!xnpyy%C#hnYGPH
z)S4EX#wQ{KQBLeftj7}x*X;!UG40<0L~(z!f_6D49gVBsm_t5}^*&S(K+)3SOQM4K
zD05PyYwN<ClU8C*qHSH{<eU@DN_YX})GpIm2`kKr4xCWViIxzrck6mn(VX0rhXzdE
z7c(bX(UI^20w;FYneYIdZ^93wD5v8m+~s?eaR28c{s#!+?#XZKP5`%r2l)SK33p(Q
z67JD`xxM3f;N)H>#7hx_Rja7rQZ*+5bIyrfyOW?#pVzZ5YSFSSYHhM9Vsh+?LA${(
zGIht2+ye~JIl5wcZ1fPKU`I>qlRz`W2Rrt~v=a;D1OnWI6dIOGR_kS<T``Ak5w+Uc
z8XZXPETgSCH8#hz{QEE;M`fJkmM)b&@t6Gn+568RIgT_-6z!cJc9TSc0##52l*rO5
zt12@iv$WP4T5GMf)>?zm06~HTK?#DO7ELz0d%AnNr>E8EnL9SKz3<)?ci&#KwKdx{
zd;8Yjwfj9kUx<u|^oYzX0A#V5Kio1igu91F6!4um-}#Q_b7FIdkEC^VP<}vw6Ga6l
zx**<QPHI<Cj=`Lm)4Fu#<Qjt$ds<hz*&%))+T$cqL3|{wD~>kG;rp`*_G3wvaoRR2
z!SmwT_mJDD2R&}o1FqFqcnx3o8V+TBMh$g7L+NW&0@pbzc7LN{j5X?EtmP<&K1Zql
zHsJ3X-;HMf{is^X(2xDPKttTu@}O&)@`%^-LGM}0BfAetaPn0N;!OsB()24^K&66{
zXw6B?a;|X-=VgI$q8=o%yg#CY^62y|C-x<gQnv9pgWH4QLPro3N6BViEJH!tb^F}X
z#$vm_C*nur2sVArrkycMB*z0jONYP=mCCEZMYDib51PV6iVyglN;@kKC7wf8j}vB5
zsto1?;G}?4x-=8U@+LN6G#ui!Qo?y5ty)*rLL;p!r+%Zvgz;>ol(3;Wxy|4N4)Ipz
z#H=~_AP#U6{pKn)bu^6|H;%@SAD?W=mTbuuX`{z+8#hLLj<J3^eU}|K&UT#BKKuFR
zHg2^0c>FzeER7#4zKgk|MEY0KuufyuvE9}po^9i_>x|XUc!xC|AIE(fm%!Y{$9X@a
z?oAx`0ngW1aZE}|vRc>h0w<***Ehkksz_>DSF_w9-r?<cTqb>`PSv^OZ<b{Nx1%wm
zi+Nu`X$%*1iEl+gEO2F?qoErJ#T4;72h*XLBJG0G#4Bt`nI_GzBbEWBn;~L60&_>R
zMVFMPC@|@huo({b+m-P!_wS4CC*zjd<?5f}0w`sSOJtm|Rz}#I+Erys>oQgAV%<rb
zQA!x#1SX8|ImxY5!AWk-a<y6)z=`g20?kRwajWK}>xD=uVFo8=LHvCadtzozK1|Sr
zaon)<IZ66!BwMmQ>c27h_H^;LhhX#R>TG&^U63AM6QIYJRnX&W6?%NN_`W7c-^cb9
z75x42RepMWd4+oHa&6mMQ(Ng*kHPk3+Hv@ezObMB45**teC~T$xw?(F`|11oajUd*
zL_fT3g`fNX{sx7foL@$%6UWim)G?;2c#p7+9YbSN#?a`D@$|%kGIieCH5hBLHW0av
zwc2%~tu?I$)@QZ4?fd$g;dopduZ2IdKKi-(Z@nMWS{UQ-aq4%T+j76Ue&#u9_ftJz
zyLT&1W8;3T30m&y_igu+=e)8)ozwatJ+Y{q#-t1IkusV~)yvin+tbq0_~lp<oD4$~
z#zGhK!KgrvO&B$w6Z;!w7Y_`3`QU;$t7W+bfUf0PU8*)&zq^RpO(ufz2)N_XTg28>
z$mSi2E8R(&p5^AP;UaRE>uZ$g3R(_Tyj;O(A`b6%0P9rEtu*9Pfh!a@8)sq8oGQ)v
z6sgxtR0TGP|B0LbjP)8Ken9HBh#=l7hOacdPS_#7EaDI!0Vh3_ALtVRWzdq=#ifL6
zR|#OU-r{rOZHbsLMtn|mLHw&4b7CqbEKTeB_BzBTTe2nFLjWyl6KHJK1o}4{MbOz-
zNFzG)>B$b!x(Y-SpWOxO_s;ytXNR_3+x7&un~&3vZ8x3MW&f@oH=<iVF5h~tew@C)
zJF<U7TONH+1kz7TDxz_t)S&p0H?8#YV~fk_dsB<lbrSP?LSHL=P4w&3*RRXAza!sv
zjCP#4AJh6+`suc<slNW5w)@mA>8D$AKlvUOM8-Dv(_LV?$L6_Nw>>^sMBiId!DZjE
zMzXa7K*5W#(W8^#WLWx~$aD)%C3(%Igv}<5PNjR@0zv(Jd(ds!E&(7$-{QEuqJR{%
z<P`@fx2Qrie@wGPSDy>*n)8bN(J5HIkbIl@Trm$m*Y4e-?-TRW_s7$4e01<Gsk&7f
za;*mCR(99C59??ykE>q;wqspl0W){N=D<QEs8?}M9SccK4yDh2sdFW<n4sOKIJ&yK
z6&7%--WHvD7&aW@^|UTEwX4biCwabF%JtQ8wXTASc0+T*rGy1I$qi34Oc>R)t_X7y
zDJ2XO#xs<qgA<b=KAi>eZ!mKb<q)56wXP&M`6^mkat)G<+c(r9KD9iH9@`Y8r+n!&
z(w|8q1DTOer-uE(7{@sE<B#LJOM9v!gC4KXq3^B_ItIiKyN!EhG(FXlN8epmK~I%u
zM9(W2-`r!iV7zOYB|XNI$o<g22eVxJbiEg48T8naavIr|Pvf3-28u}SN-`(IlsQSn
zQCp@tk-kZf<sBhDks2loUW>{rsieG0l6P;KhX{`S;YMoioMHe7eSSE<rF$xMPo77O
z?SrlcfziRI?JakSLKWc#9;ZkIhw3<?D1o$0Ta#B3pvwAAYG@l|AZ5RXs>W{Wo-~)5
zIww<MS=d#~tzTDr?@TIF>QrD*8j8bsFg_m_*}h_N51PBCP-&os=N|#60jh28rK*Nb
z1}TnSBfiAS`dXNW80CuHJZ2ohu}_KV&hBQmC}TR}OPNdH1wg4=`eKARDKsi|0idX9
zU3mheDE0l+&^4C|SaTu(N<cSZ>@!LU=Y{8Jg7_uubD~%4icaf#j<U?9gu8E3_TXJA
zn)Q(YCvS<SgOmFb6Gj_2amndTf|G|2MpDuy&}h-dX}`ydHYQEoK0did$@UFs>0{Gq
zWJ>}4>2fXT4rN7}V*3=$W8ZH&#-rHwhoaB7pXagc^IEql)@}NB9zz7i-`l9r=-i1k
z4w{E?kFc?(VjO*UlR{56=h9OE0gB|hLRpge%hyqMUB-5Oo8r)~eeJcr%wu@OHtW6c
zM$f@v{<8Zey|1D@CBW1O0TlmqYlz0Bjkny3@uLMO88yZLCrRdHxTbYEq}4dRC6<;F
zwguI0Z-w#pzq+BDdZ#R~h`l-B7D0Odw1pI^ZQ~%=t{>2YPV@ob(KBg2vm=o={OWiW
z0=RUEz#mNw<jtvRLF3K8eGT&UeZ}fN^j+7|M}sq$@IHONEa)`{#W*gvutI>74ytMH
zG0w>sU?-=roRpe2(dRO%tm_aUtI6GnPrF`xGFb4}Sio38agf)_J}--K+cZDE4xGc+
z8HfTwJa;i(u&RY7%~~cvN~Jbl&|swcrY)lS)_y)tKPTU|u9mef4q6$75|x#)-v?t3
zI^$Ggs}?7jvwn`=pL0r>d0m5!<8vSS8kw#IYaE$dKnj@6ESPaU#VYe=T?2J(Wb39r
zKMJ3d$73oQQxY~x3LDHxSv6Pd$`>uCI7~`iAJw!?r@V62As&MG9DgU}26`zc&`&wa
zRLZNIV-m!#65wRL#pfie`6y+yoTSnzFH!!$i<I7ejWW8#XV=SAFzsC`pZ_^c?0JJG
z_TG&+#A~Tt6Z<30ojFNOf|Ezk#%O?~Cnt^e`_kxka6ElnIgaiq<LFR%8ujO;F<1d`
zNv>D24Qp^RI*p#3TteTSTS`yiO}ax6>Kf3x2H{SDxmOBMJoX^l3`$G^Ip+E&s{%B#
zIgiptjd`TtB<-0oG_pegxTWPZk^!7o4jycP%0B0q>nH&?9ux430vaI~@L~ozGGHS)
z$39p6x5o)w>i0sd$zzMkXk>SRaW5d0A61b>Pj?m2xRlXJa59{$b;;fuJH4e=1@RH)
zq|ha8MfzO}Hv6Y9p{j;1OOS^EytcWIdZ#XAJ&T)DHv+}Z!8z2}Iho2s4WiX^-{!u$
z#C`yaTrCw!4a@^PccrG4%7XQ#)HF3H^#$rESlz;XVjP^?+C7ar`e#v2K{=lb=E&8z
zLd*lK5XJ!OQpD*v5jMgv)~|c=eCiR+A8ND|7cdLH&10Yl0p`WWngVvP8kjTsM2ixN
zOSLay25-UYR&j2v(O-Uv4nCX3+SCb9)ys2K1LpvhiE+4$v=|fMBq+XPAHb42j~Z=V
z>$D)>&-3N=R3d9#ps_yc9Mpa0G%~Pe07e1PO8n~e^0~}nHS!#a%EAVFgijoYzOWBq
z3gE-FLYz3iLae<~jrrDUb5caVl|274F(>RRDX%u34_qhqVGOLb9c1_`)w!W>eilpY
z<J4KePN|r)v2J3&z7D(w+PdLh6qi@oDt3hp_CyCK#eoJ2*7j0GRVNixGzws%R_iJV
zc2Q~7Br2|&OchP@sHl22<%DLbniKe(Sis3{%4*tAxgBSyp!W(@F1Sa&>914Xz-`Lv
zeOZ8$+f+R3BPyEpF=Y+DL*7a6MZih_y8@8BOWr9TlXvPTlrcE`)4CvpG&k9{ud5B^
zdH^^|GA7Wuit+TDx^eVZqWz|J9Q|6f--`BE_2PHkSi0gLNB+z-K7L{{2u`Me4OeiI
zI-Z_f>Zk8cE;1MakL-=TQ;-_Uk~142=i{Y8up=PyN<q(46`Azd%o6g<Eu*xjMn5uO
zG9GDT8EN#V8-wJj%~n&OLN;bci47WLYvHz@QR^jTOl)f@J>KgAVC4OI99SMV7H34Y
zm%h7Ep)uJLm@yffo<`r>tk8G1D)f{%CQWQhf|FrgO4vQ6#W>amPU10;Gk+r3uW9V&
z;MV@;8$t8njHS$)=-LWvMK0^{gEN-!@tuRSY3kfnR4w{72Y=Wf62Y?mrX8OM9tUPD
zX4Yo%?B!I|*rmPM4=^wqoVk<(^8V?IIM7Ca_>I01T%ym$j!CX!cpbojwVAPCEeG2A
zoAC+(dOG@N(v10QsDJ7r@qIQ2p*l!&(k6f<nl^7W11|koe0Gc9Q|7Fsrp_tiy41Pp
zLAxxyD_;cdjctR}Cjem2l=(De_6lBaRhtv0j)7U+Pxs`xybnxGPGJRw>pEzXSessP
z&VX1Od@mM(JXn;r-WlT9<<!<QO{~>CY7t-#+W}s1pRv|piTM5$2N_u4oW5!59IzjN
zB2T+Ny;B!(O5VWq#p1drtKd>xOKb0RabFg5>l&P^GCJa%P;EQ)i*b-5Hy}VSQqByW
zkAsmYSRb5&dyDJD_2D`J*k&)@!1L=In8U~5S;yS)d&(TF$y9!Z8rvrsX>B-OpBv@@
zkb`j=#C^jW^ziexf<cI`HEI&~YO1(*Z9UV)IrGHl3<fkxZL4}cVhzwAo=f!^*8dhN
z)#_cE5o3NyB~?_mQTyN`n!ac&1?vVVx2%Ek$^^J+m`Z~Sc2j-d8fuxgh1zEBp@NzP
zlw)X4%xPV_1UNZBMg12kH0M>SUi>aq%(_eEv+q%M-z${feVfYXe@12Ve@G>BKPUg<
zpHklRPiSJF3Qh`Ve@Ueae#)(6-k-$>PEu0Y*WjxJCwlOok&!`JSy@K&dcBt4Usub_
z%(Toi5nysRG@kxOfRMka9z#F#d+28sdK<y*m!W6H{;~9a7yxAgr6w7aWE-yFBt?J|
zRAOq+SM?5|I6#9Ue}gUyx;;ieUL(-;C@z2}-V`Z+CJVD4TUx<oY9Cc<7g!Tde-S+f
ztw~u%d~<c1dz{zq)R)Hryr`hUYrO|bbb6OZac6Ek4)@d%IEGB@$-*)kF|~vyK9NG6
z?n3%gR5j}>q$d}b(*&`OqeqWPf|FsD*5y+y)rF!f2HD;?Yj5Mh92DEqy6hemg*Lws
zJ=IBNO%_w7rdQC<)zhaC{6?i=*#Hyv7gto$wE3&m)FKg7a=<NuT|NEACx8TkY+ta}
zNS#4YJV^w}wPG9uq6lIEZZHo7jQ}`!BhGK)#q}ZhMMG*+iwH;&FxE8nIEwJ?bA&bo
zV8+ah@Z3e8*p4^qxfT%SY$Azk?C6`t`V<|w;W{xl1j}G`g4N9&JnL`Toiq=u^<h@1
zg0(r!3Kf>~S|Yf|KD^DJxo{nY>pOVe0Dz#M!F=0AAP#V%rYi*)=%DEVIe-Mlz%_>J
z+ST+nalZll02)FyZ31YmQUOVk-vGMk8$mh%8?HxZnlMI#2;{rOKAklKaKXLEDJbLn
zjCH{|xK5Qhk@%CC?hjZCof&KFm@GivT%Kn`+W@aAt{KMxzykc>y09I9Bs;&10Ug#F
z+ndDs0FC;Xn48K9s@DeQ49^>$q0WKXT56o1L5%)<05pPS!I}chwD3JG)7GHU5X9>x
zg&Ck|rG&wp6!>bWB-l*-Ggp%@+{tNOIld;U>6}kJv$s(}Xpl80UGol5dGj*L3EKqm
z@Hx>mCz(x0nK@DBzQuz0jE?JCDd9U5SoA|Gobe&0_q;)cvpy3b<x2)91v5XV;(0$|
ztqD@PO6LDGPR&W`SI(ROgp`$)Q6LbYU@-X5+QaG({Zv#`P)<%xTmVJalw9_!z~mPK
znEZK5HvN9fT>5L#ez$%a{eI&t{{D+ub@b;|qv@~3aW4kOF>?~HVBTJi(>^ynXnN+E
zXA-_AI0xqrb$_z`ae|W(D+4s5C07KYnb9dpcEF*yFeXYgV2MsE@;as%MF-<v=QJdY
zTj`~Lvss}rUU4lWQ)&FOV`%&{S~GvQZ+lk%K3a0lXk$MZnXwbcvz`LXfMe>KgWkq1
zWy(n_GE#9*`HI!IY;8Sm>+8a-cqFNH^0|2p_T*2Y11e0XKNX<y$@&}`(U?o$T^kVV
zm`0;hlFZ5Q)0~vXUqwhJh>vM{XA;RHs8?B&g;KHiB(Nqmt(NLmvJ$QgCd6?FO7$SS
zP5=$`Td0kL;1FO!7oy`FY{NPDt+D~_G<nu?9v^`sSONs75#2+OQ<?B4efHvw{FYw@
z2Eph`SU#)v2G@YM@d#865xrKS3n^o&mZK`da>OV@%t5OF0D3AM&O=HT0)C_*VGY1K
zsNkg17*ob%0h9p%fC-p7cO|ne04F-@!0BsZZg|rVwg`*|03`zmu|5dKaXtcUfK<!@
zjDx}GXz6(~7p~=CylZea-y1L_>bz^XKm4u}fQW&Brn|uS00aPHdY`x++$YRW?Qagx
z4S*+G%(by&Q2buTpb141ENd#!EES10fDQ<ttW#s2S~P%%HBr~2g4b$L+^4VrCwM+F
zFMwVg2Y`h+;QDbs?lZ3`<|gKfdyi|X6YHR^^=!U3D!2^ra|-qaMG<s>s;933AYm-9
zF%^708f)S+xx|--EoFrBN~<VT-%q{M1z;*uO&9@AS_YO=L(ekuR&-NI%`EDey`PHf
z7e%Ud>4JFnIoYLwlOt3*`FRS=eq8_)t(0)ri<CX^I#n$EoU#V)(!`#(sA%>N1VH(m
z(gipvTl6z3UGOt1n)_qXenP&5KaW4H3(U#*@o}XXAwL*_>QGXja1MY806-`d;-)A{
z+zrS3{eA{E<>loGotx-5ddthpi+Qan<0sJc{51M)-B|jI8Uap1qv&Uog7mMy{R{ec
zfAc%~|B3&M{;&V|ALtLi|26&M)Gqp|@+|#D?Kt{<-8foUn8xSFS~svvRaI3~Sy@Tp
zaF}XqYk4j8xuvJ4Q*m)I)z#I}@#Dw&H||wD_Y-}eJb99@-3fr4I(3T21t?0UW_^1!
zCnIK;i6An^lCmV%ICz~I5;vAbanP06(}kQg5~1jGJ=)v)?@uYF$G3#&i5+2jLIlB2
zY*F|(JUAZ5w(XGy-;O7?iBAzgKY{(&u79Elpu^|Dzhjd)W_ySpTj8hgx8-rlTg((R
z#a;aG#FluRm?*_5&B|Hd;|V1SZoF}5i@c6HAoKB9qsLqG=&@CP`qREbX16e(?`#ax
zn9@udJt}F!I1JOel(@>an#<}UWvQ5bPOO4*s~}$DI4-^;h(q9JE{Tip2vU1EcvW1}
z%+xpR6?{D2Fe8Y>Z-5Imoyf1I%ydrS;FG~diTYL^0VvXrvJ1)#)_~t+i+y;54Q2pA
zdcGF?BPhgNk@kZ?d6EbimFgC;-EZ~Iuo*?_b3{sy-oLpR0QzJg<qKJKGBRHdLx-U;
z5v<+N7z>E%&0woZfGeaa*-J4;gxLY3iW!1l01r-W6W5LVGg$=UNI}E;fI&j=jko@-
zJ=6I*upND%U;$Vz1nB?+D$`JDfHuqx0Xc$efE<hiAf@X^ur_%64{!)zgLEx509W^w
zies^M)90<>G&r1#^d~%bW#T&;m=Ay&U7(M3X%W{C_6vYgUst>Hyv}s=O<lkm5%kS$
z8bFy?LjYO;KwK;KA(alF(7#}<F(&q@Y{^_I*RCIZ>DQ?jENJbX&i8{gQDS}oF}U}b
zFBm;syHA^|{=Dmj6v~73Tp<qZpvwN)T;eT0C#o2}zI_^XOj=C2rM1kQ6!_bzbNYHx
zn&(h<c{c@G7I9ivZg`eftxFfgZ?HJTXEq-t|BRQ&H}y7Uv|na$lHU0O6-<4H%IAH?
zrG()S@0<T6<xcyUGAF$+z{pQoYmznjL&}=;q1g7(L)V-jkVOEzV#Nynp6Hu&1dsq0
z2y%x48o+4u_V&{9<;!W-tXa{ZA`qm?a?#3$(8PJ6Kr~3fm<Zluu_k9K#?xO3aPmt5
zI({ht%AePar5`J!=)<}U`hWlL|Bilja6Nrq`UL&7Y7FoHg$7Qp1yxWuJ_ch_SXf9e
zyzm13-QWEk{oxOPpm*MRhk+XIL27C$WoKv8v17+*=FFM&)1Us7K@0M@@u@Q{I<tcB
z*oVGxF0StvzxV~Uw6xIEPd}{+`!$0!9Ebb%%U}MI+S}Xt_+;SzEdeKE1UMNi;kVod
zIEf>;jja`NVotK6)4Pno+#6eXZ{IEg;wKt&=}7?~o@f!Dt@zZM*!HBUJ<+W1$7e1*
zA-?nPR&9Ta`W>H7>gQu!0+}(z=<x{MU9Te)BSlVeU|P%|MwTuXtLj&bc{+llP?nr!
z6Kgf1#;c|XVw*369uwdswKkVVKbr(6!_pyM=64}A@$=~>jM3G)WI?sP$`aCW`ll|m
z298K`DpS*(l$us)B`o{=5WFGqov~mI2ZIRs5J)4CMc}UQ@0m1@*$Gt};iuY`UIrMt
za2u=v1jh(U0a_4HmuP}@^c6{anoZvPG6pv)>l1V}97F(%2Ec^3`sTTVQEBO##wCGe
zIukh?rSO}21i_q=CHm&;Y3ij}i#IT1f)p`;s7ej^MX^rWnuD=GV2%0Jw+*r;rb1&I
z08Z*#2Y3tsKLqOeqA!#}Mqpknwu42Pvt%RdWDukS(CMs-0XD^TA^mA^)>00v0VDuK
za4#?yfGTXqT4Rj>esDctC2(H=bZ||$Ke!M04b}kw0{0Tt&7fytk$$M2=YloC7&s2#
zfCGMMDQtx`Ex4E150Eu;!8#Rii}_3!U;qUWz}A380Vv}XKyloRh3j}MtQUZWI@d5w
zp0k{vZ2<OwR+u1H+-HCfurL6409&&bZD5uQ{UI$3sd4uCAr(*+{8#cZQ|GN>u$Et<
zxx{l?SIAmQm>uG4seN!EHTBHZ9OA|GguAG3&K4@Io=o1dPO9!%Ma@%pP_{BNQcBn)
zh}XeMR?9KgocN}`B!I~^%Is3XNy*IjsdUcAT&XLw{~nbs{0Vs{f54Tx$`<~N@@9Tc
z8G|2^cgiOWR2;!c%FwEH0gxco>G!|?JzcwYjRVzq85A4`JqK8mp#T#-<!Z~8Ei`Z5
zJPxES#{?Df*MzB{U)+m9(FPJ|IKHoj%4$Ls3Pz8eo15!+od6ZtV%^>ekEdS?u)*L&
z11P_$N~JFvvgp4EaPr&38|Y_cPw;l^|AqMcOY!+p<#;McpFrc{(4GJ|?A^PUZr{Gm
z?A5ky+vv+Lzohf$&ogLz>#etF?%cWb!3Q5uO-&8G_S$Ro$tR!C;NT#$E+2mQA^!%u
zvSi5;`r?Z(=*Ep3R8&+%pMU;2RaaNj;>C;U$3OltojrS&@7L9<SNWX3|NFnE#>U1Z
zIQa%JJflX9VsMGE@QL60-!HxcbjCA}iQ^{FGeIwnsPekJ-S@^F%#Mts#I8q)v)r&n
zKjC$*G6hhj2g8c?oww<~ZB4OlS0u+NwtY^FK`fTYNvy8K04WaZ;7JfHMinZE1ymGo
zeD}*u+;5sQ*sbp^Dx)U_08WCFVQRt{pNU?i46R)dFEiG&r)@C+5y4oc2q4Xx4Fu8%
z-1v=uaWKk}UG9$&;<O(Gw*6WV4P5|>lQBop5A+uRJOf5mFh2);U{kOif_Gi_g1`@N
zy%Drxd!N={Zh@-vsBar!Mx|5)=LjefJR0R}ZQ2}+t-hIG$hry^my3Dw+jNbQ!5mcW
zieFlZ%)D*@9Y}uy<Ah)xmCO(*V{Xk1mNdb+7^kkKKLU6pf_U@?FfmCJ{kMy2GmFuy
z8@m_)ff2x(>S=BOE8ScqV6ix7rWk86gF;=S0mdp)CRYcXVJ=jFd0{OW_*JOj1o{rF
z3xHm0&kSvRzsgR{TxO(zRg3$UU!u>ugY`lEn!W}16yOo8&!kz)#Wt}HlNYGP6ilGc
zuHivnN^P53_&|(->%n*c8Mv<)Uw=kA2Glu&A!_ZJ#%qmrz&upZeZWW|#Pt|+tLrp$
zHs}w)7hn`@4X!n(&`;G(-P9@8#LRMW>LFjxGVQ+3*Gg&!werCcL3}}(n$`u7Qr|vR
zJQqs^NLt65llDnVsYGd~vZ_AnoW6kym0rrJ=%Tv*wN%x!mU2R~xs-6ETGs}PLp;Dq
z$>0qN&wrZ&bM8@Y|H}+cN@u@M1=HVSy@_|yeJY*zC1nU;GO_PI<xKmOd<%Z2is9$~
zjB=;{;E`18!kcsi!vFlw|I7eIrhRY&HbZ4i^i;65Yu9p{G-;9r=!DCI^vt17`p(Bw
z={p}ziL{Tj-ycnhe14>DH}CsoDvjCP%Ka!NfP(pgwQx$2LfK$|i=P6F)JDL`FKWip
zF9kUHyur)h<aYok5X2kcWh|$5{kb@=EOP>ljRTx`JRaJ$YZu+Rb&FC2zywfRv}h6i
z?svbVY15|BXP<pW3l}bAR%PSHjr6mh{ft(vT19<*eGF7~?AXDq)5?`AY1y)6eC)4&
z^(&e)XAT3G$&)A3Z+`O|TD^KT{p2S<;rsi;AO4V<o15v^zy37?!UqK>e=O-&!|^)s
zcZhi%K75$(DS!x=G^FfdpU>x`6DLkkYiny<>3ML7PbtnMPdGXl^*E$&c_aa>th}x#
zo|GdcfzrB;?1a~mO>nC&=2}8m0yxagk<CyXzK2}OCcA(ex74<{0E7}JtE0pL6kWvl
z(I8g+j#RJ5`U~m%%l$Ma2~LK$=ESM`mOaRgFegE&!JG`7;B7gAzG!FoFu$F~8|i$v
zid9h_EMY@1ts5SiQ^|Dqauy_O;%0qZbz7x%JT0{bZ@-~0P=71@*4vzNQ>d{b=2SKN
zdSOnb6*U})BCrQAu@nj@vsOuyitDv)7$4`O9{@Z6BsGOfWdOhy=*E>6U{V^A8Y1e2
z0ZO7o^AYWjaecOXsSEARrIC4kqD%@kQ%p_#Zx*QQ{bGDw8xtw#tct$%duC`Y^tp+B
zxIcwuW;0BcsVdbNC5z8VsobbhuMEe}aEb0CqcVG7+ptZ)RvmN!$N<>s0(Fc3i5Rnp
z`>Qre97oo=lE=~KZ+?EAj4Ap4XhjS3bhn5QUiUbOq;(Zn)Kf{Ifr|VMR2*og;$WNV
z5bqbC0Rg}R-RuybAD%*aY{Cd|GG7HJwW}$o-ULpX4lp>$Y&}ihj*FDteS<Q)UtmFe
zX3r~>(fb;u_rA#nj2T85;rlFthZr8rN&3JCG*Pri0ZtH{0wnzFzy2$oK7INt11EZ#
z)zqm|X~v8hbnxIoe$%f56o88FztB(L`O$Rx&Zko&?Xzjt-=9vCG_n21GbrU~Cxt2!
z1ScYZ%N5|{lS+V-u_`m7u_Fvl8U;A{KmK1Tb7BT3wJMnTqG}u!XT%3io_gvj+P!->
zgA=U#<;$1p%9Shhw}1P$G<)`J`skyNXu*O73^brk*|TR4z5o9E3`Vf6tE-E_B~sN8
zu!0r&>%abM1~@ow{`~p$FaPo{+&_TH_3PK^&Ye5-z3+XGK?;J}By%#1%|A78a`fm?
z1|<L|_<KRRAGVj2lq3#LN>p$XSDKGY$zOYr>WL%BjW;#SBhz9yrW$#pgJ+itRME$H
z-GP#<^sZ!mtY9p5$zijv$w(!h(!btlaH2S*TMgB_CRU|3$73{bBECP-n8TW$Bsdv{
z;KWG?@04Ps3gXRaU2@TNbYNR)a#*(>XZ3N2He8Gf+I=?DKtqTw@okYfvvXf1A;&Va
z&i)`F(|#8Ldr4&6Le20`4zQv@isPL03T9d`kM*BAcLi%cWQKt1+Bz^>C9-=QGSZ%$
z=4iOmmng2Lon})@-S0zIZrQxuK8|^gk$dS}s+z^*r9o#Gc{`J2>z{QpeKT1n!WtnH
zzyLTz8dtf}U^RgBMf_xB&rP9ytxF_x^F^N%>C3Dg3R}eRtUD>w0ZJ8D>&izft5?&y
zDw+jAQB4?iaFVA?rrgkU%4Kk}AgYwGUabq@B&+QVWwu|SOv51_)w*sQ-~^hJh(mnD
zfHC3_|3Q2vj0uzyMu485pU=7n1h>yV`)tB#T@NBu2M_@;*}Qo(zZo{~3;ToQomoeo
zJ?-S#E!wU&^^=?VyF=UCPI;4Sxt~PSy3)nET@Q?>-_@z<T6S>qfBlDlPrp5~k$ze}
zf*BQNRcckwliSL8@=lB|t!w1Sk#y+LA$tAw*SXv=fCW;z{^_6oiPN-x^rIiq(xpo|
zMGJrgDO+#6@dlkabB0sEKK}S)W>wa#S;MJY05`ao_>FVh+S>T|=bwL`?=RB9upI&I
zzx}uWHVIC?Aq{C;x*kl|80mk5=6x~2$@mF0sx*^ERA#xb4_=2<9=Sl?<K)K?2a6HY
z3nUbST^LGvVwp%hMsOZas*~e6GU2}qbK!AJ0rSRKQ*Zn!c8WXGCGAgf2Ar1uE4}pn
z9brmI8=C|t!_pz%>>}=9py*`6XfGq|RAN^am|22RNy%HOUrK4nxlF7~GgB%vlynJN
zC9dys&lY()mJ<^q10XW3iA-E?IZpcyu!nS_A_*&DFClCJbw0)MjlI)$De$p@#6q|A
z&<Zce?}fD*o4J63^&UAFYmj>KNbZNU8lCBUq)<V;Zg-5wvyK!qow3sABfZZ)#j!|)
z)3X`%>`F~dBVu?nb5h8_q>2j5YXvZ=)$}GRIDrWxz)60vhw>PlOk!}t%t_^Z%B@*$
z6~wbc{2>*bw4P#ck_B+m1#t3WG&t#hn^}|ef%_UjQ9((3;ACim_=180nm&Cx2R!jq
zgR-Z>pvqRFRl3X#B5=Lg_k}BlD2CTs$OcT}5yb1&x>gpA=kmb1o&*5pFRDh<4;!=S
z|NMu)q2KOX#eOGd<^;!YEgc`X*9q3VzP_G%dU}`v0hj==09yj41Zi0Sa7cLr5Cl+J
zw{9JSE8Hvm28cnB3f&3P<B-|~1`6k*G8tH+O`A3`6N5muv$K;nY}mj$AKd##T~0Vz
zb?f2z2+4jYQe_X|B&F1v))kB8@WcwFL(XM`J#LJE&8NfTB<MCXBr(hZ9nBDx=#;Go
z0a9iV=TQ>W*M#CYR&mg;DDM6$9>slaJZ|geVw&kuVx@Rl+n=mc=&Ae(NpLdk1o1w_
zHJG*sl9p1!TIy4Q=}oyzWN&9etU++dB7C>Jb&n%3b`+EQ<T?%~bI4dFk)uG7PY#;Q
zL3T``yTg8`c^BH)C3D3y>3aJ@j^&}HV9zlyR-(N^oB)*187R2{$Ea<-kSnVf3xHa#
z&-85B=T~65m&}To3@i=sTpF~lwaarA3*=e6e;ho8qzsJ3<3vyGiujxqmZ{*RpuApn
zh%bjjd<*4k%t>CLm-0dYC)1cYF{*XduCk_e8Q|o!#+*P9f0HtqIYC<2>l!$DD~dUZ
zuqJAI6lq-uauZ=pWTk}lbSZPm-r?5t`MI$s=G3l&^fY=mJdS=}9}&buSAwcsf7Xym
zKd(#U-#Re)UENqt1@pz3(xnIP0430y;5$B%>II=ZfD7&m00q){FlUJ7u^;ygzj2)I
zfr5VQ=js*Mz|i0~121h1oR=sVO}1~iu0}kUqe^VxL~(Nn_qrSMDX~S;@uW<76bJLd
zMAE{P7*6d<{H%&&f1x<5Va4Nl67v{`N?g+W6`!BXNF|QzcL7_TIDA>KMo(8}Q_8p`
zb298TC$Zk1+kH+fZ;Yc-ROD}m^Gkz{x&Z9UFAYW;IhMM-W%ot<jl>gh$85fkl+BQ(
zV>vNA(m>Yd&e}Moj>#B-*u?{EWBHW$u00mB6pJPDMSH(UMe24S>T?DFQS6D&3~*x=
zbdYbir(@X}AGiL@K*NnGvon-VS{PRVqos8*I5C$IE(3c~!(Jx^Wp$!8sNe*^q@tC<
zNq(Tm1WvTHuFCl)LHzpYv@QWovN|q^rlxg8z{zU{I7#o*nUi--%t->^L^Ec5_Svu2
zAs%n_A<hN+0cK*jHQh@E<$2=;VWUJK*PWBbC4_%lrwQWq^segB5nv*={iaqG!%xmj
z<MWb%aIy_caH2COmF~jpc)&nhsZNS}Who~iyT?HYFH3oHGYw3b6^Ta^6OXZCjFhUO
zm19n<^t1FHDAAuz#*VSp&f1Sj_acDrvlUsCIyz~>IBda*Q;L*5u(G6e={krQsVnw$
zo5()vdATKi1}5d@byQMT6;(>u9`r^rC9=TJ7m68hy1#vQ4!%+THY>N(Xx==ZA;h=5
zt&b|J95hw8asX4dd%~5WP>oCqvgDvl7VKkwS$U<Dsm&RmdcP=f%h!^pUQ4dYpQX?a
z)Xd&D;+|y|m0Cfk8=!FjXHxJL_1gq2klt1nB7dM#JTEa=Dami$F9xNh)gk~f7!O~_
z9fbMfNsSCiv{Xt==0s&otR{?LPMAF@t7dS*%!vU`B57UBoCNzAoalmhFekY+Ce2Cx
z7F$}E04HEhbQ4BS>r%l<2K$`o;N%?*pu88wo;(WX<YA=cAmB%XQ6RJv!>wUn`WzFv
zcBFUp<)$$sf|M-=AvF>4`)@dvYb<?UHIAm{spgAm$sjnH4mOOz32RQmF4~PaD?!Db
zmLv_9z0OREl7R0?$X%D=Ns#4m1{q$*ieB+(Q9Mdw?1L<IEIwUIjC8F~;?=%9vBdCp
zuqd9bXZ%TUGHeC$mJ}CzfNx2Y(wUQHqXJQZ&;9Mal`&B$ySSV#&wZ5^wQVGCvCjx}
z0ZeK_U37Kc>-5I5AJCHaO_WvWla?rUOG$D&M#c!Z0v4O7+zhf1*w!?5(Uh5sY3l5y
zG;Pi@nmlt6RfHQN4&}b+02Zlm<-t1k@34;rxATE%^Xc&EYg~%9&{V#ejR3=qQlYp!
zT~01SFALVvq#29ETo=>e^o2Bi?s5uMw=yuPX%g2nYYAV=z|{F{9GGiLXOg|?2OudC
z0rKRAg;Y^dAE_?o3(3>;d@@ETqFHhlyo>cI3ewHZQ)ua=R`M1KkR@7gO9Q>OYZ`rV
zd^Sz)XyonjFhaP0C?CE1;8{9)<~lXD4~RAQ%Yl_itK+5{vi{vDj_HX`>1ggcpRh#~
z&)O41a}oh3h9Dj$jGWfhE&xgw<p&2?bCRbqCk##uL435&2?X(APFN7%byK1_c}vrr
zyyKYKB?l*|j})8?CDm&<wxM1R00&aF_W8!sz3_PYvuf3B@n-_0+!wzOm5rxB=7gB8
z@X3~J!w#G%@mF#3#2c`hQ@)fqfq=cFv0LRWhkiWql*)}WwJQ-;C>~bHqqwB2DT!Cw
zau?Wp6K1;--R=fJnK?;<lVJ)@e2Vn#xTC0=O&C>&_;}K!EKGv{AZhsp)K)!(s+CSI
z|I7Xk;&W6^25s#>DuBytQRQl7L9zZF0ewbJ3BT>veNNahowpY=1E80SRapZc2jZFH
zob3E^qi=6PnK-9{_oJzvD<LD8wt$@ywf{{!kI<dFpVHnV&(VS7mub(Tb5zyP!Tn=g
z%q=swggsL9d8cI-(5(5ZXyy7{G(mjFSUNxhYf&1gq1LV`1_Oi7@#%RCC^qdlY@EaE
zDS~O3Lz=5Rd2@YH8V~&*v#We{3vJtbl3sZAJ-RLCzW>-oYVH`MbZ-%D*>j9ue)D76
zb?^+Gy>go_Tz{3qb!|2VC7SJ00xk5jjekd7wKK_EROZTB=vCFC^eOxtD3qS>XAm+m
z&rg{J0Rz0`i2E@<*H0adbyQnbBaRJf&k1t$tLUA5Gic#Js{kwk$Michh{e5`JaY+M
zxbYf=YuhbV%-l*l#|0={G$iqEi)IZ?qIg|*qE+fbT9+Y+7vQ9zyiqG9tfqAVoa6<2
zDL*t>)tpq$(bBq>+S0oASkt<gIk{?LP6RmVc~t-uEv?HAPHX_h3Qn9$HFCAC@v2jK
z@=f|fsFs8htfJ+oPoQwt1Zv1m<Ih3?S|ENOn@r_Owr>Cv<e1i#fJcePEp16jK<D5j
zkdN1J&;?L=64boJGfzi<6j^$dnITf5ftP$-Z~O+Bv2-Ac++fjOnm8fjO(l+Fl_WU%
zMwAkE5>H355}ej$b%=KY4(2LeaLld`_tK8R6STf}AJr&b3`!8(hJ&rNu6r-tTmB`z
zw&YXV(tm{d>*q4d;ugGtUFhtaLCe?er1{G?h#<3#&HNCA_fDQeD>v+>X>*oyFo$h$
z-<~>a33U(7qUCG1Q{R-iEQ03a#rN)kSu}J0N?N#L6Zu087O-Oprc2bZ0TwpwI7Dd~
z`3!`RB85O6;0^2p`dcQ(=^B{H$HOUo!Lki>>f$ZB^!ytPP^QmY!Jq=?fyG$8X%7ud
zTcDaliUzPUd*Nz2cJ6t){?a|ZrdbPCG5~7noXqS8KnlQAMW~+UELzKHN;-of3$Qb?
zOL&|;htI32Xkr|=y>H!foB`KFZz12a=L9%ezHWyBfC}s-n>D~0^f%MzYkxzXHPacK
zFgPr(;8d?H(fG5_N8aKxW?E#Gv;a&3!Ae>_rHuyK8fnjh9-7_TEY<;iDb!d~LwgtX
z(B|2l3{G;3BY+0yzqV^SEfC<uTNIQqHTG&~AqJ*%7q1hb@*)Ej*Amh$71rd%8YCJR
zpQIvN92N4cnkQRo7wb<{hj<m7)CpjsSL<rAq;;{+i4IN-=ESNw@oJhAZ|m_0a}uRF
zd6m<;GWzaX)4JkjPEx*B=H%Owev_twl+kG_AQ`QJl4KfJvV9W;@lrEGr|MHmEdL9y
zi;swleqpF!CS)^7R3yG5N&+m3k{BR}r<#>~?%w!Pq@vc}D@`NwB*@^%uh;9&3MsK&
z>CN*Uk<^?FQ*h#wi+AmM33K3;F9RnI+6r?(msc8~YNdmgcW$N6*8HXT+$I879|IHw
zw+q_V)2mB9rrV1@q*YxzsH=7c2e?kDR|qcWEm==jUc5_dHtnPB`%ZFj50Eft(Hgq)
z!do1GpS$`BZQOo{15g+}zW(kHY1`ftG-ol6d6PQ(XHdEb#`hk*z`_3v(Z@dVedmEw
zsxG8NUU>`5$%btQ>GY+SXsQ4rGX-EkdKW-NLt8(+_1>4XL5w?JfRQUNzD12<8_vTq
zhfZDP^X4vI%V}I#Q<wk(H0?WffiB#5U1fFPXCeR%00`y;CS&fBbu>x*&K7{7chVfX
zeDh86`D>Xunj`u<Bl^|T&I%k-^s;h&v}W^O(dTo_7GWCzNCcb|G0?#pE?&8X_gSBl
z$eQG7;N**S8aNRE1VFT}ZZ549_i>rH-)Jkkw$uF9b>u@34Q+~zfdQy!s;!~lUR+2Q
z)(+CT=^gax(b+VsyO}Zy0#qXa$?9qC^pjJf->L1CS*TtgzzNus*9AD4-`~oqUQy+f
zEop)3Cm1cP|Dlst7&tl!<K2oJ#9OILR{q+q8M0TIlWTE8YHF8HPwUcL;>&7GX<c<j
zwXOmIP72IEC&57mClSqwsg!X2R?2SD1@XrXpA%UrVMBA$e@_J`5X28W2slak+S0m`
zE!mQ7n1ho_Z_HA>QGml<NlUSr5=sJ9spvhys$SCa!VbcCsY|<q$lD_+h3w@1K4f!4
zCqcgph=_KQ_d1$0dXyMUmfa*%NlXLeR<_u(J~l=x$(#(=Qo@eRgq%Gw1o0whmgxp$
zIrTcY01%l_P)IlC-xUGtHW85ej6O%_dg;*Ai*#Vhb2Kh5j{{t%fKS(8T)Xu)2lo@R
z3N?*}dhGdYcWBmv)iiEmF4Z>o(9KuhV^#%vkejc(OLbz~xb$33V*(R_V0`!Ca{_D}
z;uNat#xA-n0ELu2(R3CF>ep>KKsWEaCxFo@+I{F8ZQga1gUkAsJ{}VwE-f>kb{#xR
z%h!T|@bOp(__ypnM(Nqb44U-d6pTjSlzDXGxfgi5?hk`huGtIM2mtk*IHuT06T>>3
zyznCHN5FO*J#&rO0HlYxX>P!ltlhGY_8obS85m9n698nx_Jf@6wdcrrUc*zO?|^Rd
z=<udrXHGs@^DFA8p2o}xK;_bo&2(<oEjl^ldC_jrnVB!r-brVvqN2e_=QC?k08SbO
zIQjC#9BON*qh~Y9>CCDDI=!l&!AY)|V_L4CUfw>9!3om0bjGEqEX2B#`F$-ab7HTq
zCRu}!0IInDbzAoHeUbUUxSd}ZPld2}yjfy;^h8(dig=xXHBkle=CrPSq;>gQ*n}|x
zPM|rNB7liWb5gU+<a4s!NbAy>6RQcMNf6)nhApjY2-Ui{QdepcoFrQ^Ju2Cp!HH(V
z=rIN8>ZdpI-MmlRHbOr}vQKSZ>$z?XZ`jTKCfaOck5J6l;*Ib8M7B%j9dG~Uxmo9#
z;Pp!Pd1D_R*POkkxq9OpSCQ|>{Y(nthbcHQ3zpr=?V7<!&{RrTYKrLML4j1Qn+xvI
zvW~5)AYR)(v7m^KPP;-!rd^`U!cqfh$lgpN1**QKmo8j?jVkNf`M173Sk+9=U3-<<
zdZuv@?hDq^^RL`z!Lwh01q9vUnpS>uzGm}&TEFc8g97MAkj@1#0ipY)=U?Z(^uD=T
zR#CuM16^|hKmyhR$04N*prT2P^_-X+#ODALTXr9(HJkP_0KoobYqm3c!@z*koHRjv
zemPB=v5-z`;6z_P^gnOO2G)m|Mce3a>FRB?ZQn`OhMd3p3TsNtmB27BUB9B=3!JxR
z^FDFS=M8WICI;7o^f9EwwRTPB3RY27#Uz@OfWMJmS^OcjR86AnqH?|_r0sRoOc!mM
z04-CQRcRLci+z>SVg@>M0=6U=tfC2d0Xn*@kIt_dWE~1X8nh^{?3hL?rnDKtcW6&g
zu?x(}Jb;tJptP`qxxv74hX9nfUjLAK24@=pF%}CFC5E?Ego{-o*wweCG$i$(v1-2}
z9w!B+lESPxDXX;z;tRA=!jWoS{gkge#8<*0exc?NA2DIneNMbB$I08K`JC7_Ck#&B
z<g~7c&&fLvkk+LF6nI@ch!8y4k}cW(_yqCe1UN|*;3QQ9k)uURRn$*w^G0ps<E6)H
zE$p&S(w|dHbv)K<%!B8wxSx|M`yL*`d`x4d#+<wRZ}YXF-_$tg5b4V_@3_zRT90$O
z7W<lpy|LHD+>iEq4A!_JlTuPsli*~yR_k)|wTP<D<meD@GrW_OOhq7@URcb`$>NSp
zlwMG5oHwx$;N&VDo_dKj3U2xT`W&v^y30XyMs^Vg+`6s<;AC+6A{w8O$DS-N+<A`y
z2fnk&yS9zN$-1ovxPigY!3kK3+NN&SgaCx;=6hwf3R?*35zM2d^Y}iV0|1c<PG046
z08WrD1u&o=104#s>7YjM6C!=+O~9O(OZ*}YYu?iJ3{J9gBj;coon=E*jTVK6Zlt@z
zp}QMtkfA%JyN1pI1f@Y5hAwH4Zcq@VyGy#e^Uixe@C!I|&faUU^(<_2zr>*kf*+J9
zpvu@7?;ZdLyf+PVSRj|GdF(BP#NYrTpdAo<-N=zMS+BSDW5rU7k(Yo|YKUq`5+MTs
zaXFFv;L83)+tt2}@8Zhw1dX9YL>NT|Ta;_-R-w9Ss^n3@36)!=!Hngk4{$?-G|VP}
zYikmzX&?v7zCa1d1Vh7l5F}Ywf^%KFbP0{k63hJzZem1A-C^PYqfK}5$7|eYw%IeN
zm<u$}uW&>zXt%p@H%9x2XR3W@@=zQ9w?|isTg*T3&#dGPh9NAqqE6-Hai!|NwB7bC
zO@?|YXhj@fLu8QNw~s5m;RJ!4up$GPnalqRQl>dwH{J^t&^crB+s2puj=h*k;f_C)
zbDZoJEGn^F7kZ5wM?NNACj0o5?YAs+TBNaT>guF5?hG2-^R12w=9zWIS_*E8BeqnC
z|MlvBVhmnaJ#bi8T?)*40E@Zm?Fr}B!tEVY_w6e<voE=i8gA7$xnDo<E!0R$4tDp@
z%9w<|SCRC8OX7FttF5$OLAD(IO&+vAZ(b!QZ$$xKf9$rI_EMO$=;R*!)0)KJur{tJ
zIa=CeH}m`Z{G-dvoLNuaBR`)_)@gb-(WX!3y{WJ}n|Ss&nC~M-_#(oX6<;`u%a9K^
zX03DbG855mpmI4DO+DFHPW-*efhRS_Tv_c-M11RgPDXGz54uVfKw-11ke7I`W`#(~
z3U1WkN19e4j(+W`2c+r!eb?Ipl8DD6OHB7KuM^Lkfevkh`QOsQywqf^LY{}{>?RFy
z11Dap;+|W#LFl@I;Emi$xFmYp8ge%D-|L-686<lGuy<017jPmuh1F|h%DC%BAOuBd
zky#4ClXC?6Rls`AA{PbmL6Lj9OW@Gx$!_2=XLF@vW<^*DkN|4>nE?PIY?9S>Jqws=
z$r$Cib8-n5r>s8hkLx%5e8h>9L!WJ&x>-J(AmHY#k<zV5!#m9uOOMYB$mLiI4A=VE
z+YG=gP@V^2Z3yYq{6INr^<kn7^xwtMrat_a!jajd$|jDipS0U<IG4htOjv>j>%p~_
zG+E<{n!19YQP)xtXUDpZ0&ps%-)aQNi0j<53Rh!@Bx_YZ9;BX3+d0_c>qJ&IIhcOa
zW_HHbe^)$2DduiqU8HOr%M#=<J*+=_fW8UO>v7A-V+srTYE)Ow7+14y;+XZaYbpy3
zeb&f?xyk*AzTD5IXthl0DwEio*wT+ErO$rmRt8@}urKP34iR$yAO2nMzrAi?zMkPN
z+Gh@w5LJGvX(4DbXpZv`0xjQ;Fzp3j!!mPZ<H0pf#{>@#<Ne%%0eK)x@+XsB5^zYg
zRXp=$uoXCP?w>?|R>wsq-ky8WN-g)=3&;F<qg|9(GAts^ZwIoX+hE!f8Kv#!gYmjp
za2*3MM#9df02sx!;~~j4;{h=>qXEfdW9@RPI^h%(HiT)H!Kgb)WCWGR4iaTo+CPFV
z*Do*{!Eg2s2U-12@Iw@wW(_&mxt$-#eW-}~e0amrM#wS4C0G7PKgas98vMa-w!Eld
zA29?pGV!xx$^$rNJUMzuY<V#@bSS^Fn12CKOTYGQr5osXz1_<>-~i|u#!yHukSa)H
zrBHY**U+0Ph-6PKf?4OzHo@xlm{oE*L84`31qm{A<`QntczU;*(*y9(XvA~R`)fkO
zrcZ)*;gJu8ABX{1o<bSvrUF9xi~TQv#(Xm3X1Kaz2~S->vtwaxCFYR&4Mx>yC*zSm
z!`R5jC_2^ohHQIy=shdh!BFRXIqeFu&Zp6_)<3M8%*H{L6+f~-wG{c$QjA9*^Vtmq
zi^6+qvnQ2Wnn5M$&8j8DEuaFGqxakye{u7X_abF<sx<nz!=14(z0r^1y6uetb+D~+
z@*t)~zu}wh71$lNsDqWRc(Q{Z3svQ<T`n|sW8+KX+Aj)qFl)o{WpK<)ZH4-Y@0S<$
z7$g^pO1&~GylAUcYUfh5dL}iiRct|+qf!6Bm(hJteN~bogJdSR&08B5Mz4E7T1vqP
zw^v4JB}%5+VGAl(@N^A7KiW*s?Gbh45%rDhv`jEalgf%CB#<-x+r~EQCs0a;YqPa{
zFv#8n2@mK4?j4{h{+^=Mk<S|Ho5fFTA*mVuBW74T4^!#ffxVmzjtP|qjzg$gW%>&Z
zC9{!A{ZDd_2HpPSO>COvBD8Vb&W7)%l4DGHmB=lRLc2{CJp`kqRD-tm)_z`+gk4j5
z-k;hgTl}ah_LSR_Dv%QkpQ>n(FkiB#>t`Cdxz(zF5<S7_;>~B`e=WSJrjZ%q__(y1
z_^*@8+kPE^caLyiDlDGVKbHAmbkKB%pTMivhbQg>B)9iN!aS=mZv`~wDMScv*_m~M
zKs*CJ#on}|7|T~GbOR)bw-I1o{)<31Nn8kS@f{qLLc%Lm+B)7Q@PNrPJ%g)VcjwX|
zG-*}xj|Ky$Qc*+4FO@#DGH*FPAd<gfIx^_;gBIp4LknKX=kx|N%lHD}MSKJ(Eab`c
zN!CygnHP9Bt8BtO-Tv)Z;RmA;PaUY)>dEHKnW68mUZF6WQbgNS^oRGq={D%TCJ2g;
zun!E9Wkf*N#hyOOdttXd>C%fb4z(0dRKK-W3NWX&$(HOYHe$G>PC+ZmGM~cLDeY~|
z4ady7WKz8-iC&_wReP$$YB&k>kXQ_&la2m;W(uK*%Kf|eN!$>VioH;8rOV405D6FA
zPe!Dt?I9;vXT?*CAJ8**l-Qs&wYNyT+&ft<>&{S8Ic0|nf%QA-fD50Xe6U7phb9gk
z99N~I3hw{z3BpzxTsF;;wpYU3>3H3asz?4zS;@8ZEkV~4!DaEf*+=#7MAB=YmbAX~
z-2}!tI<)ne4K&44z4uQ*fhrvC-#>n&qy#@}yN~RbY1v(W)o{3qjSfubR|^{yK2`G*
zdWj{uaeE?F&U?qxyoYNXzUQbfxo9Ys`g2@QIcy{d4;mPeg<rn0$O!O41a_-yyE)hx
zZ-=(<3b|oGN=nRf;D3>n`qe+PLMt+q_(eI|$sOMcGGcYue#4i0sZxd$pb8p5qO_6_
z2ER2)_(1+OB1iB5J@cLo+z_fk;HVKJcU95Y8jl^1v!J<d;hj364NNYI1<Y{53*m$_
zWb{?B(Cu+EMCkr8+7N0Hv<@AVFIaAwhYtf2@M>1G7V8|L!zyN=WIABH^0|^sE*`Ll
zfW=R{D`6$uFZUfBS;_BO8R0?d)vN{uOpD#BjQ(#KLzt4$j+tM_-M0=F+l|TE#H8qn
zpX|3+JjmL#134<xLpX7rLvMo$?x9~^;BN4rh@R*NKS`2xk59(`YKwWEvm`#)LY&zm
za@_j2Qc`-R(ztal-1Ff?g<9dvHPjnB-l#Z^-)y;b9Ao|FVe|fBiGOUqnSJti|DKrh
z@xUX0MvWQu@(-d?VUA0M8m}Zte|D}~xze_yJh64iQbIRTU^U#)<ItQ%Xn9YBzod0i
z)5N?1^*jtiK@_UE{^<MYbu=%k=Pk)f=U7%75iFUGw0|%MuS_nQ`#V8R1vUS_N8O-$
z7>Gj3GY2T=6A}8vD~@u}(DiS$QEP*cayvVsmv+9lXQIz;Lii6DHBrSR5J*9SqT+U%
zoXy`}|NesPMwnFNFw7Ujk`7l#g_QfRI46_WoDxC5At&(tNLhd1+@H$+MFRvM8zp39
zs|^N%0muU7PW9cNhb3rkK}P;UoU^CZ!3VrNShn5tN*Lyq;fMWFyET+s6E0JgV0K-h
z{^h>Ev_^*W{M9LSuoO&Rl!mf?*4#~Bo#$7zW-Ar=HrM#^zxrn|FhO?swXYei_+qM>
zn&<9x^6JBLj-={(9@j1LMDmimn&)!-k>;J`WC3NFa{#RJ1=xJ>@_kVJ6P1FbLY|r}
zTtf9-QGDgideKc$!n!>fO7&o)>iW7CO_zMGo?ht1Y9N+a3uwCYS^|a!&Yass154&K
zw`C`sa97*gT2Znet$)fY+L0jq?pSs=on&hi6ZYp~H3^)z&o^5As~KDTVeaVk>k8*f
zuH>fxj$E$Vi2Ik-reOb4JNP(i-gwfK|6C_wzCcSMzuc}0;n02Kd6(9mu_I|dmJiZ1
zC)cH7(Fb*1{~{-rn4}%?buFnI*_d>U_iYfFE&ZSiq<R933~K8h2p=T&&~^Q@h&(wb
zhPEBE&_n?i(p{&|R0>FJ_PwWIWaX(whP*{9ttd+Ej=GP(ftUjPQadEyp9u7thf?{I
zLn-p;f~Z<ILRamk_r~1*Na=~OnO5=f3QC!nf8CT}VPZyLD*q<Ze>4(>4q76GTBZAF
zxR@tiejJIS{o29}lxO~j9kttUTwSSV^YgwBhhh`90FaKnH~Jy>1TB7S*bg8N<NLvv
zBah5O&u-^XdXfvd5ftn>(eF73;2OR*nF5B4N3ZQBPz~bOIV-Glk3~6rbNpsnblfWY
zh}k+a7&r>rd*9B!FOW9eY##Q4xFw|9ST@AFuV$0ZW2Z#UA1M!1CHc}at|TU%@)3uc
zl~P&I<?~r&a$dO6M*JDpKT~uhL%Pt8+xMi9V)=vOzgRKfIcD%bfdlJ@yNQH+KlP(?
zu>W+xT{!#@IG?{_O<q$jrmbdzz+2uFfS$^HgZCoywaaiw^{Ei>1xsoloE%mu6dqvW
zo0q3WCnZPIPG<xyxBD%Q59Wk#b>2@2M=@hU&k$)~0f<NsjkA|LA6u~CfVKCSPf>FD
zeVe|XJUn`LB|_|jSbk!$#m-~!{>k7iJ2ZC5r=yyaO>2(`h#9gcEiKKK<#F7^Fq&$o
z%StvJV#e0Wtp!~P*Jp9*Hgn`pEg7T~eZ=pzf_>foRv1dJE!`09_Ah&gZGxxV2U6w;
znHfjk$CftMpaq>x+~)?Q%!QBpFje0L!(P>+&MU3%eBQ_UuL;EV;QJiobgQS*#_M`}
zz8{Qvub%e8;yOvv^!({(Nwn3OJsr*%2YY@cPZZ;N+Ub5*0+xZJIV)aN%G(qPo)Vxf
z`P~EV-_g)54e0Kf7<Gd4i5Lj1QFtfHe`OfUR~vKSFJ8Y}*x&6#Px!YCZ>yVS>@KVY
z&HVNyl+NEnNm$ia7m^IS$OmR7-y4M6jYd^Abl!^UulAROl;~tD=V<26ND&ftx{QTn
z>w2ARvzSHBE4d?i&5sp#40q?J6Ll+G8O~=ZFN%n+io&M|sjy~C%e6M=s9a=u@q>N`
z@WjQK-c&Z1fAOXgQ*Bv){9HO}V55yO&FVy(DB=G4UNx)x4;NPKoU`ojUl*x2lrvNO
znTu)P;o)6ikiM@{Nca(<Wav(-Y6DHxDXs{j-tvs-Bulpl4BAy|AO2yCYXwWU@ujlq
z3OjB+Fr%xxdto4XQx^0VOcMyXMH|`gF;EQ(f(sUcBjGJf!UGbLYF$Nm1tQ+N!P6^O
zwS4L)8D3nyX~P=O+vx2RWYjZOtE<QqI1&4}e4A739H2H)gJ9cg<pnBO{|S}VY(E!_
zXsi)&ILcG7{)Y|YhS-lp0f2<gDO+cSt7YrOW0}i;kMgXFy>@2V$|{sl%3GaL{Ek{2
z!hG#OAlX2W2tD>i=Bn<ltlAMg*9H4M+N|q6d4<8-yf#omhBf3x0p^fGtAdw8H8eG)
zLV|~@sHoT+hdFyJ&3Nurn?Jn+$(KzgYpEP`fP=16P~VGVht@Ibd&2>Fq|DcCuK!Kx
zG4$Svz~c?}8vTv##!k1)fg~tI;qMC}o@huZxT7F|r25fN{{m8-*b>OilS5hLuoKzt
zR6WeZZovqde1-f8R7MA7?puS?`~STXZ(*Aji;rA37Yp|dg6~xg4=^=8wZ>`*sj1T`
zv2(y$+fa8DdwbWj=)&)zG2qf(z?C99-I5>Ri4$7M7%)6D)$9N8Zwe=UA})mv+k@GR
z(us!a+F>tawf`bAAPbe^jxq?O`j;mZ8Gz04GQ5{6r%dfAANxpg&BtLQ+%I&_n8_Uy
zQNjtqNO@o{|1O}pbuFCF;L>dG@(7*olH+rHWmyWjh9}qBwVy97{Sws{C0r2e5$_#O
zK@%yI!HEY49(|H5{x&8(BpCW$0@>cC71?Q=)w0(d%KH1?$-~Yeu+yMFE46k-_8)kD
z=7lNUDMg;>sSOdVj-;Sy`AcM@LkRilvPt4Wtd8rSe1(2v7K`gjK}833Qpkfm3$7F=
zXJsOs%53Fbxy1#UCN{MAFd$Fe{*2E?yAGLh^Xc!NY5uoM7Pxl0ULL&;pH^3SVOuQO
zta(FD!ki*W6^m};Z%h5f1=kJjV~1_+i$!c+*g-#guSV~>i(y^1(?55z?O+1su~v~J
zwP}5tuows_pp)QhPt-~wPIz*1x@k%K?LkTsFgNB0%mp#T?n+-<t5cQS>Qlgc42J*W
z>uSegt;b%F`bDB}=>TZ|VF!80Vd3uvL)QhDbu)CT!po!}%2|)O>u7)pU!D^B@wh`F
zqM;}Me5j|m@7G(>q2Md~1JUboXz$+^@g}?P^Y2QFTU#@1MziF|1)TC>35v;31Qffw
z)73`zE%_{1sYhyR>V^AXfY4&(RYOkhe+&ZLd>DhEuq-j&(gxKjHj>;tityS$MK*&#
zRH`2N(A)dx7QqJa=f_roS_<O<3!Tl3m_ckCg4$t<E=_Z5WGpJ)m|~%ERc!gr`gun5
zV!xbFRrTkZ;nFiF)TxY4PdL!Gu=`IZIA>{vg(%hj(L~|NcyhVXjJU~L6!dks%<;2*
zBg;uYX0;d9(sx%1j4;+ql&~-|<oa%h%*k^y+;b#Mo>(8<Zt|vQ{c5M51@OUiZSi8b
zioev5;HWWi?kI%SD1&%~>WrJcMPXXaS2&bd^ouz%W^GiG<$%)3T$w!*p{k|2VXl1R
z7B5MYz*n#Kn<bRackkmAO=MsQVR*CF>0dIIw_!S+SO+r8cX@?5DC6h8Lcv?NzdAYm
zvLw+dhReo{YLI`B{egR`SG)Gw-?nyepx&m@@d^E6^c??E=J$MK^v=zn<aG3KG~nP8
z!*!~9UXtLdRS|Z=+d0{<t+r+97_wv|5&4;8I{QNrQj|eFRade0_*GeU!`K|&c0q5y
zwxIVGfuP$hISd8Fo!sY-HyLQLR)9~;?D>kU!?rFJ0iaxD)ULO{k3baqOAILVG)G2y
zms7B*ju4)|(Wj+NQe{n}*=<FsgG!S;zUNfDaY|3H5&%sp+9PEmtmBLVxRO3>ueZj0
zu&vcF^`{!gC^wacQw)R8-!8Gf(odatO%9oMLDo1A37vdDhq;c$Ni}JEx8bxDuq|ww
z$5`2X-u_S64%XY-oM($L{GcLue)W!~!D?35u-hA@n$R)+Mb#n)pqcpE>UHOiOsapz
zpMA&OJ2D+;eGG``Q!<hie;exP6jwEdU6c#Z0})9wo6PyEVH(}jBJk86Mk^W`!KbMV
zfmIL$CA)OpAW=#@;hhM1Ml7MEtIKPM^WU-+vVSqnuU2r;@=Euuflp>;<;rmYo)o8|
zoK3$vhDcW?1W8}r1%FKC<<I~feL7r!W=_R4EsLE4r%bx1X3f8TeFm?WMVWABPqnWJ
zlz6S$-db6#2OTcGps-|J(UZ*wsbPaO3$cE7WA8GsvpX-e6abPRAN`lwy;x6{TM}-M
z7k_P7?TzI;N3Ab(!<v&ETwH9Bt(mqM463c3lrxeE;6S=4`%%qe{>pznK__U!DBDy6
zwABhjzP=^p=2VRG6-ju&r%!O$rV2D0Sz`=X{aqU7!}JF9%!*(*+4`wTI!piRo;W{W
zST&tZGvlFQ7q>z3cLJdSxZ=eGV!)0lIU$)=no?0741e?KFH|=Dvlr;oWM;A^uGPUt
zzvki}>HV<{*|fPGFbL_FzV%MijQ*m6E9V<+^}(8IW(4C%DMYRu!)tOtxOQS-v6kyA
z8j2CtXcQYiYM&UOZ*jP#-1X8pi`z%|MlEx^j~f1sv9iTON`HPuM$k0)3yW+o=KPHc
zXJ_Bo0V?R<HFggCBgTBwBs!e#`E6HyR~|nt0Q+CNw*>X+4M6OEP11`>XVzzGRP<~z
ztc3hP4$f{vBxLg$V+MHZ$B!TfDLnw|!613nZ2Af})m@$kyX1V<yB4Xm%sP~tYG&<n
ztOFD{IO90^$Pp-R*v6;xU(HFuziwvuyvcXIaH2`^haC8KQvqm=%S=In6@+k5KFu2=
zYE7j<059q97uXlYZCnH0%r9yP@sE1ExB_jlBcaZ@u#V3uuN_l%y_7W<QBC3Vb)XF>
zWsCT`HlT7SyY})G-u;D9)kOPdsUy&(yG8LjC^qGnEveha{b2x|9nsMSu~gaRBda#U
zT*M*~9LKZKEe|ToADuWJQs}Xybb(fSxgrE(edA+A+Z$=>xS6z{1$E8c!Xo*9#t!<3
z_)w!e0%Q~bL09tbc@QV@7T~)nuK7F1xB$PCk^rbn>M46^kOJq#PPS{b*J%mik@wWa
z)j0S~angTlm3rzhF5r7}dG?rTP=v_=cdm(JgxZQ;hIF^boz@cgUJPM72W3osym*mM
z1HuX^H>wR`0E__G3C8C#Rch<Fy7?AltAiR2evbOs9j-KKukygKkN(UpRZ+^U0p;zM
zaFkt_aAjWB4?qo&9TDLyXIVw)YUAq+@l2OCWU!lFd%-<%>gaB2L|n4qc9vSxaGH7O
zEF{T>>J^10*IN$>sQKmoiLd_6WQZg%q5bwbRC)L1^VH*7T(a<g7poms6rgEs`ZP2;
zIy%ziSLct01}q%H@f#^EO%sz*8bmfUi592D503LSC0<8!q*%R(PjK2~WMotZXtpCy
zl{U68H80^EG*+K9AD6wYqSg5EcGdCOTgCOVwIpDGTxxmkG=S|9v-bCXYgu}mz1Ak$
zwm2;@^6v=7Xn1)6=Rb<f$=j*$%s_dW3OOa&Ez8MHU)A10R_npdxuJ{<^5HJF;rzk5
zM|)49?EkMuu7-M^%Bf<r!z0lBSs2gM*3D3lmoW8<CHlyTArj)hg9tfK%Qd6MAC4$6
z6D7$q@atRuJJl|!FQvx$jnB_a<`#K^L!^=+PZBX>Nw<g!-T<QF)eY5$pM=>=urs-X
zY+@{+n@(FzA_U9C?}FXNsDeyH7&4O?Gt#LEhpNltm}I2ghZPEhpWsb5+chUPw_Tk>
z7@5+Z^_fVTp8w0)3%I7&Paf@vpE{1HWM-}9g9q{LGHedu<~vQ!*Mr9~>KfEl2jGQp
z;m$KvI44UfzYIV-;vC`5hyQTw24CDtYGM4YM+N}Xk^b~$2OFz_3PfBx^uEC9CKV#O
zc@U2%^(4&=45sSw0GPA+VlLnBsz(8=bzFlL<u)IfvfIA0nEB?Q4|JileqX3d_ImGk
z&^Gc_yXQh;w)2HMHO3K%7oG^l4ZSRB`K}I;EDk~PrYPR%#!t!9=%rz7Jwh#W3?(fm
zfYduJ1#;(kunPU1?u`;!?>XYq>A7noxkIW5eASs;r)44N3(O_K$iKQCNdN9SBnE1;
zaHAPpt$!m34~sI8lYb;4gZx=!ZSljJ=DEz!5Dt9IYIT(e_D-u_1Z@p8>BR64G$2St
z^&}s`_XGOli5=@KUO1N8_gayB4J*dDg$~Nn*PrzPJI;IolVn*yDF%Q_q<+!OGWNyF
z`>$;g8!jOa*b(II1AfwQy@&m0^WO`=$ks$(9Y62(Cp6aR4ske^nUtB9#gi_RK(}?q
z3XUhlU_k)+%J{&KO}rp2|5@Zqf#bs1#~^L-JL{~rxAc@X|9FS=K*g@*w{KITX2qCu
zPyn>E<`GJ=v7KY*#`6*B0@Xa}wwMV$;@2nih!4M-Q`6EkVXpp<5O`z;LBaI7S~InP
zyHo2@tE=5nPgtMN<5SODz~geyi;+vnm0*a>U;?$R4bleUAOLfqNV=~*j*LHAK9)q9
zD&b46-!7@1`M0E`z5`3|UPutm{+8&YN@+SHTz2-ZRsRSN*<>QV56+ppvVF7+D{hIJ
z`X<ieAiOxN!-w!eOgvh~-w+<c@P2sfx8a|KGW9^I@f(u#Hvbh!;jp;($A4PT=@ZYo
z@MselUJ|6{L-0N``O`2oMdT?#7D?m(d=~i#dZ6pOq7TXFpu}zhrDYGQ!I~h*?)Jlj
z55II^R6V8C&iRarr`3}65EGmGO~J&v)q3j-wvJ#0jm&&H$%a)MI;esiNyzV?DmI5Z
zg=RTSNmtsd>HZmi3}E+@gB!vP<<@k@&TZ{~sVkMGNZ_Le5J6D1jSN}f=Vi)j>^8Q^
z#<yAlKt-5TctkR4(5MSQ^?HTQ@%ywfLT34y2jM`aoZ5Re2dd}t!B=BNo`#SV%RLu$
z9TSvsEOQjsmv_0HPLs9y)ZMv3Nk?${JlR(8=A<8$ld|S?UeaJ9DmC-WHLYS#MduZE
zs;8O_L_>4+gHFpC_aDd@ec->yEN@1L=D?2|g6`WNL(s2h0IY%rJ!a3%u&hYN-9IB}
zy;1sRT)@{86s5)5F#O`+2f-5!e&)@E^Q&5ohn14e7JVST(BJVGE+8Biu#8hnBVWGJ
zkWk<KU?bm`sB*s;z@CisHEd0B_RD>LQ2S6X*2dTbb<_!<Mq%987VtG7BEWNZYPeH3
zAVEUmD&09BEfXnFl5V3o^FPDK^uzn;BZGQxU^ul&cyXymDyh9GK*`@w&pzL<dWLb1
z{BAm14|LQ*T?iX=qc4I8Y7TJjo(W-m!lGk3+&{?V2P3nB-^&AttcmA;{1-_zl@r~$
z7qutG*!1BN`Xn9b%ds=hUN);BQSg{)%iLgt??>*Vp*t--bRwh#e)p0!RNDP9XgOF~
zCq}XmjZzS6^l!h*r2kqX7x2t+V|x%D+WDl|ix$S-c|tuz9)kGWoDrZ50Bzd$nI}F6
zONML;e%=wH&bzqfo{4l<R#x6r-a9-zEPQ#o<K>b@P=C0dRy*i<oqtoV?Yu<qdOWOL
zal>4|rwBhoKtOO0O`e(2&JuK`$`SR6=P+*VeL*lbSJl$gY<;(qT$UG{6^fw`&3oPk
zVrJzA-5Q)C<Oxy5VgZI?NqK!uCI!cS0dI@Ux?Z?Tau|)mHmqU+z+~n9zy7fD%vHG!
z0bQB*zXf_O?wIPO<wts#r91Fya|hVJrki{bZuLeX<d8aqYvjCbiY}|rTd@d2gLoME
zv^Y5NR3{9k?M9-zC5*BZoT;(?H}vJq?WkYQnHtXO;GBVxsbK$|Vo#^QwRbpe;e>4x
zXY7Vc^_jo7cStbN08yk+eLxgvJCu7j@MfUJ4rWA$zDJk?kl`YpiQeWF>yY0~ETApU
zEJ}t?*F67|$EK*KZhP}xe%-7*gTWs;5)}+_!gNi{->JiSZyi>*w6#wma*x%7+u9GG
zT8?OM=$BMP#7p{UA!ay}2^m<{kxzUXG5Qfd)ewzIi5h0RPZyutHD*aaVa?qt;Dfq`
z%O~mcqGQ<UfI%Gt@ju=43dC-ZC6oFG?x%3ahW9Lns%ADVD6;-~tqC=NQvHUMEYy~G
z1<4N3og>?A;B}20Gig6uny{GFee<F$F-iXZc#=Tcn1Vf0Tp_q-X%0|TbX#{v&*|)E
zL!WB@U|XYJkOAHqop19e=A&iwa$Yg3zwZ|sI$*7m{`>1eVJwNR_oJx|Eg>40j@Oej
z%Sq<X{P*L<!mzDMdLD|14Q1HbH#qI+EiLaOqoKqo4-|2X;Mec4mZTI0t9Io9L<~h}
z<|r|<)Qrgi$GbTSc6S90DYOvu-oIfx<OAMV(3QYn03fkz=hz5ZE_HDr907bHSB#DZ
zdu~%^=bYbwv?`dVw>+fem8?5qA##rZ6DuPbtB_l$9F``%WYu0>QCW;YPepa}xP3I5
zS>erozl)A@=t!_pobyA)h)Jt42WVCX8wKqx>^aN4c0TWEn4WkT27H7h8`v_lcgFu9
z^G?!(Bwt5{&vft7XSLtKP=sk7Pi8!b7YE|CntieFzPrr<aq;D=E#_fLBP_DoqRn?V
z$XBzM^937(14vI#2T#PIYomH^1@Tt(jG{~cSaCVI%B!l1<zk2?4`(a=$h*%L>cbJd
zDC<bf3+WVfN<wK{>Li(R5Hu&CVV+KdWU!{%#6=uRs1#;`*JDS|ljs_3zT@de9x;(b
z9<&Uwv9bAx!{xE9=nw0qJLtMwD<Wjooq*91$~!u;&(N+}0UCrb9n-|N^uH*hhKUK~
zk$EqGpP#>;=B@Viu$F{?QrtgfX=#axl{IF*skAf_#u!(lq@?5%5>gZw7nhk^XIP#$
zV#mJ2UB4)Au=KAm>%8L)GA4_w8Y;lmS!23rQ*bX&Ea~T{KXO;;(X>DuP!1dkKd$bs
zY-T_viH4V(>Rl&C04xmbjg=eK(6DHj<CiEXQOx*KOf_!W#5?t9SpBQ-qkDYSl#GML
z4E|w&EZVfm*Rj6bJCqj`h!3#-gz_zBBqur^=&$;^D{omWE%+n`*WJz=gM6LGT`JJL
zU_v}6TWK<HZkZNuURhLx+!)7c_tyo#!(&FeKb^x5Ps?{X7H*+5I0xb|!zC+xF9MrI
z$U)q@Oxn<13X5wmBW$ijA)g%qUK+)d4<R?~L7pc&0ga!YXy=M(_GMW}H0!YQ+CMBK
z?Mtg0Eia4?=63tW+|Zb_pUVdghVnL=FCufJP@{}A5Y-U%og7tZ*&UK>b91#Y(m_Hl
zZr<6Q{kwvmB5ZuV>F1|W|7~=0rFZ5wL^dWJUW#a0yY8Jhyi-UbB?bK=L4$~5{^8M}
zDQykO?Q{O)D^PNeyOYjN;lLb{oRtv51{lymKb24(>YLtP@647~ekh#P_S&NawN(UO
zU=a;kifVTMglGHAvBI#^%Ut1qLwOn12B)Z9wJM*Q?urJ`WCM&^RdhemrlL!s>dFhd
zCsov})5=|kH*#t(TDZ|aeh=Q$A{x*$?NS}8zpC;J{VGxC$H^;XZW-2rt!2MQQx<|W
zz#R>cK6bYVXvVz`H~3J}L{WXIn+ve$JG23%B5Zy3k{P1NMaW19n-%dtMXp_LN?+S;
zLjDCW;8b3!SK)e4k`1#x#-X2H#Vy~J|LD#!AVgiH&6sEPk8m_PfZYgW!Tn;MbukVm
zK9bK-=ypDoI~FJzK&exr`dgd@+pl{~KWf4`)(FORR3vwZiYiR_otMCo@i{%JS9+&~
zOShycT1&Df({mG0oiF<<)znk%FD-WFlb<g6Ibb7Y;1DKz@uHDw2|qAcQJmF`_HBc7
z$Z185RMi3txSF3j{=(|z^vtd5)Kl{ST`54zX(<mnGSe8(eT(A(eB`4IJm{nbqy1A-
zc*SpWdRk{{ebz&RB;WG^{oSrsz~k=Gcxz*WMnuGW9|n_9!3E*?h<6kA0320VbtHl#
z;w?Z}L<$YfJV~%5K39A}dYtOi(+>M7-t*E=7=d5g;1d!P3B9D`I_j;}e8fiZbg8PC
z0<VzY+soZS&)eM_sOM?*j07j}ybmQ18jR`5tavi?_pkf0nX9>gX~>J0h~Fgxg6zmq
zde1W>LIU;k1`4K##KSgzyU!U_(DkGOCL6#85Lt)in6O3r=M9E&=-oIyX<6S@;}Xp{
zN;eDs>-aPu@-lxtXXNV6LI%JgNwJ!E8?^^iFj>agqK}YH;oqbq+{f?nQ$gUr+^1}Q
zB*RUMX+2>Uqavl>{G;xhqk^muid74y#+Gi)jvp|f-ipiNNu@c$9aiYy>J=D34jd!=
zwQcFQ`qU8hAdVfYuwq!~JN44veAco(xwZV0?=cgmzBkXd7jrD|;P-ul<-rN+68%k?
z$iP!h%#6nSy%`yBu<t@+X-T8yIb!wM>Nt(H(VK>ViR=JJV|Tmo%E;-t2bL;B1ctO|
z|DieChx5~kYZ6~k?0iTgu#Vc?5PkT=3~Mu|VSVP+8|%>$dx?cRRhYINwhgB-BS4B#
z&#eNd?_fpF(SCAhv<gMqAA73o5orQ)S`=~^So3XmQZ(n#(0_)n0*~++3uN|Zwli@v
zydJrXJ%8uO`+V7ti(Zi%UP`uIO<~>Bkg1uT5i888>zcjHEefo`kGVIN(GfOJeKf&q
zk9`NHA=as`{SNDfqK^40t*UHk*X4F~LpaKd37@9e7!r-nT^oHPS{`^H;$<?x-L2Hn
z-%P13;8>q@Il%aJ;3k#bREE&8SyRb~dWSwp*@+W(ekWT*kKc>n?w4Q?Tq^dM1regu
z_rM2aSm*6yS!GEGQY$KYV%f2fqV<(tolOao{;&vP3LXdXyk@-(d1~#_NN-tj+m}pA
zZFp8f@bLUFQ+9?_l^_7o6L?-esnt=p)~W`GYV~QAG$vK8!j%F}-6uBB)6~E@#@V8T
z-8{}oAQJ<4v~1Y_d9e}BC!ASZ)I5Uc7X@Wz-w041UJ-or%|lPM6E+bSkmXUFAKG(_
zwc!{)FZ-8j7~S!4E4aJVnTi2b5Pe+;dW$vr+!KB}^I1;5H*B=Y0|0rEgzSq?5030#
zvn=^67iqJaE)i7?g2RTg(loq%C9L&03VxPi%{1?$-_*9ryehH4Fcu;oGOOVUC?8nS
z$J&NVKJ&J_*2_HipNej0-;t(r-cNm><JSPB6fQ~@Pek_=_x|Xikqb=Yd<CNkB|W1g
zep4Qght-z4IHC5UdBR|PFK5CTax5BEy@ny-F*IUHDI9!U>~V2%Q1p^AFKK=3#IPV_
zM@_2YLD%bPpJ1`@?yCpBrXX(d%a^NzQs?RF<%w4(<Py|;_**$NL#+;U3=ES#w2V~e
z<z~{<Hcz+9e_yDlLSDz;GEIXYtlPnR*e2b9nF+k%_z)EFL{FohvRwb@KD4=))76fd
z`FVxC@w~E1y;_eqbL%y~Jxc%M`azNuz-NHD)H?h*-0t>&P^6~j<|!EP<@X(I8=feT
zx&DvZa&`d2n&|_>Ur;T~VCCjS*Otdt6Ozx_W1FizA$ez_0QTHp36ifFcUykQZZMpO
zNE!U^EgZ=TZ6qM~DDh~%?E5Kftbd~+Rng|rf*c6)!)3)ovx>kT0u-}Eeaz2n5yM5T
z0hRr!w<VZx1kCQfRSWZ)?&g&#3mg6T3M^SW_ptU24_lodDd%p8KoA*LK&F<8p`MPG
zQyzXpl0`Y}cz*K84qhK)xt#nQ_907OoxzY+5P(|;V6))huvCpEu*!ss{_8~%%5?c~
zqs<~dfazLWANRs=Ntg8wF~?lbH?QB_<cu?B8bWu3D1cZJ<<-|#p~T#9|GlnvjX><^
z>JL{Aiae6*eu3AYKg_#+Bvfph&mVJ*wtX?4KED)l@;j^8V$Eo_8!X){%!6_o)>{>-
z$V1=DgAMo6$hm)6t>X$c?v+bW{SM;Pn65<kP$pH}=h%yUi+aV}5Hmse{1ghl9FD!_
zw$YByE$b~6AL(?<^A|R?jQz8+KuZ;LuqR5w3UB-|v+Z+VUa*<h#<!AcW>1>OtMNO&
zcXy2`aCQuGA62`i&fL?|=*o_CFeM4@iwROl?+k<F8*PV(nP=l}1Uve-`~Y<$%#fa_
zJS>u{i<TtLxul#;$JU)xT`e2wuRQ4e_1*p~=Pln_8Z&vKvzfb!!+Degn2M_Me#kU1
zrBiOEC$;!9mgv<KMx~N7H3S3wvTwCa2bmoVgY#^T-}wDHYP68Exw`u|WaptD_k*<n
z$pLAN974Ym&br1e?lWfFKfaMN6bi$UNJ~8>yxk{2@d#@34Q)Z2ss~f#y{NyXX%g1W
z$?|8VmXg{yA<1R&K9fFcIUm>C(#-=D8t=*`TAiI&5=f!unEO^My=ZHSwT4Z~FkX}N
z^EXBnyPcubMw?MG6+_|-BE&a<-~|L9f`xkO&c;XIU^`y=cDw#cez&;1tny#MIs!8U
z3$YAUvu_4MSYBOSV)k;VH?z2?6!N+k0+Pr}xI<u*&W0C2?nSIxfKfTdp5P*3+GqAW
zKq_hTOOGmnoYWF^b2zuXtE&&vvbWney51<DlNacYi95`Z*qbKp?XM#7EscvS0T|5^
zWsafr&x-WQiN+?*3#&UILa0;As@ydfk=1R0{+nRScW(TTZyx>v#WsoeCOai(uIL&=
zpX*^xT2-D;DUT5;3ly6{r93~e+X)-Sqmq3kY@#!dh0KnHmtn#6Lp>`a#i89l*MdBI
z9_759GG09Pu(~fxE6auHb972iSsRpxpPK3L$P$ji_9oQYB!dkWf`pzkcn_OBE;gSK
zr64lm%BXwU{V(2e$xRUydsf}@8Kha6Tn)6}kJdk{?Hbk!Nxc0K7N)f2XreqYa{W|v
zz;O}L?ZASw!O&BchCW2j)YF+nxp~EEh$MB8|7@OMhmZoJwscN-67}!tjuCHIG4IUO
zltLflQdaBYI^#Op4E3IdeDrasGj3Q^ojPPQO~xJVO<GhXfIhIlvkK>pph<}diFKb_
zVI?I>O~dpW;fDjY5M_3D_8P(>Xqa#DCq{U6H?gU~L{mf}%b^rzKJe~GB5<}rMk0V<
z$LrJ3X(dth?`wmt^X0~BvlkOn^4;KLFyOm~O1N~sAgs{chV?k?{_R5Y6{QRuD%VGT
z{Oij*@?*64JYHLnF=NaH(KCz}2c?U=W{03cN_*~Odd#^c);^nc`X&Wm#F(7}=P*Z5
zJsEtBumuqFk)&BOhyk71g04J&!i5<C!`ZIgf6Kw<rio;pFOOcxx+J0o0{7X|0OO06
zXc%?BOC;O0oSn+Nu*@rtMWav2_;<iJZ5oB-UiHpRuUZwU)22ge2Fx$OIbZiIzTd85
z89QS?|2*s95uUQTWTorpPaf^hZtCBBEN#-*<XuQf3vD*J>RHU6&}y^)FGQb-|K-qF
zBQ{#suTpy&`ltWe!)>YxeUp-ejGimDZ+9Q?lj^%D@`|RsJQa;fxHSrU94k|jvEB&8
zlnk29$EzU)+$LKgcS;}kqZssiGWL`%DY%D}47ZD{g@~G8F(>64TSiwolFGDbA3E_E
z>XSuJDGS44&VQT79@h^|>BA6i|3$th3Mu*kz{|sgYDejgV!<91_>JOFbQZ(@JAt8h
zo;*T-F>W!;d7?b{-M(oxK|CtcH9(^dLp96!p~)sN#MG)k^vBYey8n@%_t){`#<1k;
zH9;7vSH~O=DCF1cV50c$!$c8^SX60_R8@|h12F(S%pnj(=;yL|;8Fqx5<vyqJM6Z9
zfdNe%2EwKW736^QQ&;#6xP)X@y&A5>r-$(n7rw5PI+r0-d3w`Zv<++sVz0C<*iF(C
z@>xndgf%`=aAzU%Dp4d-P5cIh+55g)&rBx7p9>?jTOxNY<VVnxGC?J*F4vEx3oYim
zNgTdOBMn+qqvh8>IhlyAA83B@&RnxFf^O*uD$&!jYknQE8NVAqp}?CQfg#xR#Xb`F
z2>K;dH(qb8MqE2Rw!%i&_>KNCY$1_;dcqPuk?LVwniRuIuL8UjqeKT=<>%Bmj`*7~
z*F)=E$~nM<i5dPoQJSOmi<6#|f+%_+AJj|s_i4>i9r=9QsB9(k4%lPXY#9jWo(Rk}
zxq{q7dV`14ub4vckyApM@5}=4R!<~`L(KxKinrE{2+lFcM*&O{c7=Ryn!5B^0HC!O
zCP;g?IO6h|GKCl*bWrq+laWlCGPq$y3llkJs{X4BL4sN}QCPZtTMX6!Bs-2ktzc2#
zRAIkqo1b<zptXci=t5tV-IgquC^uXp_YBk*u|tvc1D7N;2*f1_pb^hcDEolt@o?ku
z(*|E2%$trI`BglrslQ(2d}5q8ulB6vEZMn5@1KVVr$PCV5hetdZHNvBci@HK9J?#|
zT(<gI{u!G3t)aWHMOS#&KcUyEgO|($7d=`$g^lOLtW}dQ<L=(kGA@psf6;H@Va&%&
zzuL%O&!-qIXj4HP5^akyzOb+HU)xe^iI-eSa=)UZ`!rMtIf7AOx1UH>Wjb9}CTjLR
zBV~WcI6|U~W|{Qk;&fTzv;!3WOr2sxk%>jfn{62i_{x0*^gK)3H(%_J6e8kCM9ACs
z<Rllxr>~o@1p+0dgpuG_)ve;9J}kBc5Aw%OVJ<FW=f!>c1{1f?-Ag=hz6$RUB2ngX
ziptQzM9~*;=7w>P3VM1QCs3V8a}ocQ9E+DpBUGv6KD&y}wfo)*0zX%*VF{9*o@yt7
zA_CFOdBRmmlID=`<&l9m<gtw$2++p7rqJYcti0q{2|}pVwd01B6bkTc02%o1yRe@=
zmh0(78Z}$5n_~uX1;xJ;&(6NKF`;}0PRJJn3Rjnf_!lPHSkHRjN|=25BWOngXpgVs
zrg?yK-@Z?L4Cil*93nHRx6f?M0oN^RwBbeM#>ycd9Uax?#;kR$fj1x7Kl<_S5aM8^
zj|QG?9$Qs1B9|Y5(%*lH)tx^~V(5DRe!pZR%lR)|)Scq?In@nSWEA_NMA~mD<s`1|
zl*QEsw5fDbACA9gZs<OG(Ngw7$$&6VY=;@W_}*evMn!r`6_XY^H!v-M7PIwJxnDVs
zCtWd868YIc`>H?DruBR2haKWRnki(SnD7<!qUM9b^Lzk7u+GSdhbzVwz-GU}T3M7I
zyV0$ey8Jy6Lx?KY4d>}jh23sFbn3SFqb4TTo)y8N_jB(L33UG1sHT{KK%rvEtQu~8
zGnH`G$C<sJ{^m#tQAH0$1sO8pUL|gpFU(|Mywc8ZT&a43nrGjX;1eOj<?~bRS@atW
z6R;M(tmKsmKDdv&FbhAw3jeMwJO~C^kjkXgYig`9!gZT^l24Hd<O5&+XATzZ*`cm+
z-T5LSNSQA+2$v+n$B0vRq&i>xF-Ig-?))7>2166|-`i9!pnE6x9n*zQ%s2nkg)pat
z&E9;NpdD9K!>~>B=<Sj2Qz2jjz^#qZusnu`yEu+n%)<*=f;#rpz<bxygZVwazOqK<
zGQq%ytU_p{j8-{(h__OIVL2fdNUU#BuOxh!Z%fO?Ee*+@P#2sJ!BF;|VU<W_Woq>Y
zjnFpJ3*|iej!wtDjHjtp7*s?S*oFMY@jd^tZMgh0HGrV|5|141@v#&Qf>(~LgPITF
zzK+&<Txo^6P298bxeB8E6Ow<o-DFO@#>ONZGo+DW8`bkoHy5hXWTM)*ea=>K;AC}6
zr*Ec^T?@OxyH?>jGoEyI#gd^IG4obJOI<T$QBG?LPdGVBayU8n)*qMj&r%P3qMFC#
z9v}7Rk(L`gSbRBRU}`k9Q>yrzPE8)!qtX7v3%|B8Zv0A_#fzydAkFlza*vO<`B%%f
zRQ*u<;HV`O7>r0}2($1VoT6@C4zO37b!Qi)IKL)ezn*~9?U5YbQgeAx)-f+zO^)zW
zb(X;&Ci3d>@oGr;YwX6WPO|`dJ}=E2A%KSsV*k}4VEJG}l)Rj2LaL4NCPi<~oC}B)
z3bQ@>M9rzSg~ImBP@3H7b_+;yGe*i}uw3O_NfwulXAhau(P2<_5NHGE9n1{#7GOyJ
z3Olqn9W1>|*^E%947)2)NxuYkD&&9S&fbRoII)b}Eb#h)1lohiQ-skw&KC3B{ltNy
zQA^@B$+9r$!AuWq-NB;hba!+Y!=69(#&WUO1N}~krveV)Or0NBX|lQPX~vD(Z7%vZ
zi}Au9hMZm5G?(o}3|GX%tl-b$Qk%E}j?yKEIMitk_}FZyy-Fz{m~ST8w2*KI23wph
zA<tJtq3bjOpXn|l5z_P~kz4ky;FuDMNcA=2g%D<gerl_6@*frdl|nOqYp2xqyW(d#
zAz^qstk!<nMcI6UpsTB&>QNXWZj|_WxlOSBX2#5CaAG9<L;(;Ufm<H%+Bc5~4b5;Y
z=*em+e;)^4yyiATK`%^2X0gA^A)FB_k876b`JDB>NfQ)`ZpdOpZa4by(707%P3PwF
z-t7Cg(4XjVGy<k3vj5Wj4^0+S%Yy5Y{E4pJMAB}sdYYs@WNONVE*YMRws4svt^?lh
z{By98BZ5sNA$Ok0z;oNa`jX8~Sa@>j<<J8eC{(6MVYK<KGOH+yjHR|}w?5My_vvM}
z$)a0lNk{~M2SzOiGu<jIM2TUsxl8KI#vf?gaGB7}VF7CR^a;J3Og|+CDwp_Ihbptr
z4!vadKl_;yej3&v2yXJAye;DPWr3{?VRML<AOn8I05dZ=<)HA^8vlCiPZb9)MJ7IT
z8t!$WLk|7m9oJ$pYCtqVuiG1R#Nr5*9ca>G9+c##`>J55cfz95#6bzQ638osp2nnz
zx`qE}ch!`KwG%8pp<82h)}U>!7moA=q;Ti+0P*>E85|G4tneVOtA!=kE|!pg@Co>J
zTO3cn*v-7rKLquq_fIB~pvd)AnN-feRr@2Cjys_4TS8c{NqiE3?|<Z~ns@m--J?|K
zz8N#gB&uvEE&H~gO`lq`9&X-a($u~JN^hqM>)g`^Zzd{l>qq^CMXxosog&3w%4LcB
z^+X_4eoZX5@)r@7=*jHh8Ir`3%9eVJr*aI=sX6h%#RrODT;9Ff!mIhy3BP(**jdLZ
z5ydQev?HOuNEEs?ZW^2kb3_ll(sIprxNY%!f0Bd+OFJrmiE;J_(S%%KyZ!JMjTkd7
z3iLJh#ZVIViVAZR8RsB^vmlQEnU$V5Eo=L2VW*Cojx4KW1(aXTkrS-ACw|zgiL$Jz
zn>0@Xy#MFOiQ&epgv3L)5qZ?^I!AX(4PNOyViKLPby%ZE^;CiXwB!$F=ErKBid4bS
zA<9=rvNKoOJ<XDL93KU`#^)sr8a?a`?s0W+2M01+TcvV;H>mSLw%&Uv$rS`(2E_!}
z&7WA0G&>QSm)WbwYT=moa)GC<mfm(*3`0KAp7=Q<jjjnq4AwX}7U#62$AHr&cO7G3
z@RvRsE<H$D*4TSw)#3P&0#!Yt$;e?0W__c<(1*k6tBgsweKO;<@hw2{M^k>9X3nB&
zPPUS!Jz~@et#WvJ-0NB~{`BT`!y)ITcIj>qkOuBtV}1T7Smg25(1F5fIwKe7ZoZ-J
zi}#A5{Bpn05eJ(&jwMK|K{8!`zT6S+z3$~Bmng$2bq%<0?Vxez(ZbN*vsu4q2P$8>
zp7)&?v5*=n8ZwTF{Ju<LSuwlj-%4AGo~DuxrE}xiDYBujIowHSL+G5Tsa%PU#c2t<
z_S%A)3dl9zOVE2_DLdf1*9H0|vQ0%6KCIUkv??!ylQ+xIt2C`qVekTflh>-Ss<2j4
zN_m#pa>vL5y?M`n`T%E*-6@CPzMg+rEm?d?n5SVlFMbK~%d2R9`Rw5H7JGR63JqlK
zRt!tFQYnpQTn;bsO4a8F*637jezf<vn>_!G*}X-$G^|1pu%#?>$#g+==H+eZ19R~I
zDD-5hIWPkK^kfua9K%<c$m3c_EcO{tq`hKLZ;Q=L{s9}?e~&~pEQlIP(m^8A=5$EX
zam47pwutn9vG_rg)>xxY=d8Mq_3LMOL;6%x`k4lAMvOXwD8#aRHqOLzEA?qc)S9Xz
zJg?n1M%QUU?f{+w@SQ^PuCqcgLm)4=<CP_(*72Z3aP5UwG~n0G)5`2JpZzW!vIq}O
zSy-|&frL-abjxLz-1d5V!UsK<dV_pAh?4mg6$^pXuX)}$m^COa`X?4V)KlxGOYM8$
zEuOc@JCjZ&LRLYoV4F~YKp9i(6Vr}0p{D(~w)+^lHib)ZU<N5VjraC7e^!?pmRZMZ
zX_w*%>x}U@rt){RJe^2sy58T<;?wr4U<_^K4^9d=-Ph-A$PCrfOZIDH_MVSdaWi6V
zqx|``2X+i41@WOjd#5Cp7<&=IF0*QEL@rMaD~?<W9pL2SLmG2!Twu)l74#)fFK%{%
zK4Ey5VkqUCulRUopOON;$^D`(_F>HMFP0-3iFC?rdcd#~_6(~LnQUTrScM^Z2Dh-U
zD}NKn*_H^Q7p3ZBb8GIw5s(`-Y_9AhAXT}ZN+f)j;c`%5#Bn}nXGWkXd>#n`A3IXu
zGp9bk!hy_?%6>DlLC~txg76)8euk$>71EHpNm@12s{~0yQx9wV)ERG()2Ie%wV*#y
z$u*3+Imld>Sw{TM`g`5XkFm^4$E$gAGNE~*H@bWqKg8C^rMje#AIw}?7nPQ4Ak*Mo
zTMUghMZbeZ?KvrmFXJP&b#}>T+dbXBtu}t)IeMq=_R5&${g3Lw#<UFDO%Cg~vmV0R
zDE1vQn(;UX50UvM_bHu>ah6-m+Va(GIkT8Ov;i0;Eq^19DBZ>;bl+@jONSj>L2{j7
z`#!BQPTtqbfS)A}G8~1TjPWdHn$<Ca-VPafSO78Q|B-Z-VNJhpAKvH&866VR-He7G
z(l9zC2S|yObPrIF25FphcS=f0NS8Fi1nH6z8R7H&AJ6;k#g1dgeP8!=U7zy|*?A|Y
zX}7c^W<3x@JoH0%5K<gz@*ltIH9)1|{lzwSldZ#%26%_+7LE7eWSo#B0CgJ2Tg9-F
zTp`(8_R31+AL$Dfc7TD<+>)DZu>x;kzDu$y@U<YF!Fn?B6;4WW3W9i3)fT2rf9YG}
zhzo6|swqpOw)qtroP;bN!XQe}nl2sd^!pzd%c$(TK7cvGr2N~7$XRauC&mxVQX&+6
z&=&8lCTWq#-nudgeAG5IoXuy4od-)XXwQ(~sg%~E+Z}hq{}$5D!LA0Hxt$dkiyw`C
z)fa{cx1sXvDV77(K_4(Kh^LBvC(00+1FN9=zfs&c(&`pGPZ0P^Vh)Ssb&C$x^jQ6`
z;w)y0+7Kjm5%|boz{BWV2}~hxse3dfSYTYfYcMhaqncmCbPWCR#Q83rCznI9Zy<Eu
z<vJ&jp)U#>+-?@`1;#9_d9C0I+jY;^RM}zinlP_=<xvs~3E}$?GldPp>i2g8lIe*T
zV?6SbYGU~~ihX_X4LD;`XiHKA#?*?B?~`V}G*ePf0_r;ar43flc-X8YLT~RFw*4Xj
zyQJ|c++(%OzoI6!4Dy0^(e?6LMa*}S8B?TAo~ro5;&WLwcp3cn+kAG~4#sQXa>$qy
z9Wx8){a0&DR4~!W5j;j~RyQT}qviUY!&dwIT`U)?U~7P+JlD+Q^0RPA%zKX&3}17;
zS(9-&ue=ru-J{Fx3C45_K7uYxT57y_48%b4#a>8h)UT-lUo2W=Y~!wdWN?Met$FAL
zjl>(t0-Fq&3S=m(34mPJtc*y@$e;Z?6>J3k2YDs^myp2y?-NS?dp?$YNDDA25QZx0
zJvy(x#Y)bBqmjSg4+m51k=*<l330O->ePO}jl}=@_o>eN;F>FZ$bkzO*2CF1dh^xU
z8Xczo@EBmWnd$Ia)T8ZqDLHlz8rp>i=f6|FuxFB-91rXbdc1iZI-V4~?sEFU4SE{P
z5_7)QuIl>Fdfc*?shH`YHTO(MJ-@h9Vw2E8<1V??QTQya2S+%Mu>Ab@>%cKlZeJsS
z_d~SQB9K%0=}S>+9g`P7`)d(mv76d*-=VsOohfAY<l)O)(s~dlZjw#e!pA=|0DJ97
z8Kl|}3XryZ?(cOLKOy*Yggvl7bzG4L5&{yxkUT1ZO?8)?Tci19_P)_0fIz;63ze(k
z(;H`Y+>4lR30R=QL{g;V1j_hO0Ms9BPW4G1vTc!>W&g<kI0c)^O3<fjMm+(<w;a<P
zn^)KqZxx*k=2k~gSmqz@k>mu&GE*q5%|gkFZnQ|oq~&v4a9K!{=nA(L_4_EP9L_ra
zt^z)RdJ+#9_K^YzX5^^oV3_H8jD_(EYr{PumP7zdVDc%C6XVt|x5*Jf^226wwJ3+4
zvl)*el)1v%D})4?Ht(x#Sd0*<sRl{mo~l1!I0Jg&BbTxttSN$orj0^Yy3^7j;l!9v
z8>CN~rC$st+Y9Lmu|H@9xnzLU$ZnMlqbT?hppg7l2ZEC@2dP@9uo~}Mlx39}E-Q$W
zhS0Sz6VoL59S*MI5o)bEu&!Mm^V?lfzMBwKz0%&36+}~qdx_yK;(A0ec9kg#Y56yq
zQ4>EZ8M}RgVhZ)0J}Cr@W9(eaphVI>4VjZLUw%sLqoHOq<#-ao!WS}B242RvC!JmK
zomqk<(K(kDUQ?`9dEM{h4gplOWdZ&c@E)fpIrqJ*4BpiG-gM%i=}Lww*{*VybS}by
z<=%wDavnSk%$Gj$csE_(iWTn3>l_DXy>SYAPU#w^etj1PE7VcYz(balmC@zCe;G{U
z76M4DPw0ODq<Xb?w+FxKzp;hC;J_Xesjv*e87l9UjS9ydYtX%;SmS9qp&SmI9b1Ur
z<{7(sFjrU&46+&a+7jhT>i3Fx<4eRq%@==FdIJ$c&-S?HgHJ-fFr9w&ffex0XWPF!
zuzcvch4vnFKJ50~=8CksPKfOexfXsZ{!?tNhS*E9wbbov=^gM1>+>T<ui_?n&-#}+
z@Q>*%6>ZiNxLJoF<^2N7ycmZ=g=(9_&L(aO*Ru^vJWiF5de`67(#lHqhHZKg@A^u7
zj`bdFHZ~ASRsDbZOJllcx1$#hw6Y~fXmyirZM^W%#cIb^Eg#qWz&g}oW*Dhn?YHv$
zy23=<|J=NjtM8q49E~;}#(mjmaHrRuytpqBK_7Vmu<SWAd=f)baV&>s;J0klz~<D!
zK&~eU0eGcI-wEwwS<h%He9r;Ia}bkFLuO|ET0i$o5Ermcw|`H}Lw*F(54omiB7irh
z^lR?ySg<12#s&g~Oop!Q+{qf^y@)(NxMFb5q~gJi8()bUe?bep6YM5?G9G`~e4**G
zo%FRv2JFgq^RuC>mqpRK#REr_ewaS&$zKuZ6D84}qaapJRS;O-hdE}`N|`v6KRxvY
zY<^Lv2$Ekzjba<b2muiY(NY?VTc)}$W{xsUC^JQ-^CB{(WXj^aB|P)-R*gNIBEk5k
zpm`9DS(?h7lL$@!a)h*TIte`TyPy>_DNd1xm!J*iFwW73o!WxD+aD7%>FBSShh|j#
zi5x{Ezy>Vbx~YjbKo-H-z)mE9^}8Pm^qFY)J0e~q>qR)L>Qr%c%$%G(g(NAFH2}0X
zHtkgFi`t237Z%83k~<op`Fb|(iDyWi@0!jQJ&SkwQ>T({{QY^gpj%1hT4q{XP1c*J
zw2B&EfZRA$iu@g7*jjgu1649N-I*H~+gZ2bp=k%??Ux)siY7KJ(j`xP520xGoymZh
zCY;T(Kidk$Ks{|>ego9gq4^@5y@EZxT0`;Siix=4Ib_h;`L3r{qSt3olek~OaR+}X
zM!lLg-R;{axraJ>oeZPHzL37zs7Qy_@90nSZalueeBjBiZa)hzx{=%g=WVN9S;|h_
z?RXxG76lp_RKC1&=7H(#n50YRYPRTJe*Si2v|&^6uxJtcxnBLw%6Zj<&t>)@LE<yz
zWk7M_cAQ)2IGX#zYhDTThZ{q-FVWvxsidzMr_Cv3{)kFXxzf0G;v9u~c1E*~ikmI{
zx1k%mZEiLq%w$S_8K(MqC-%>A1yH<4=R(*WTLpsSsQO~_7I$7wQM(OPppoqvkF7V<
zHSQm}obM>q!pX6kX`IIMwvkD`$H$k*IO9Swp?0&zFiy;@`7G-q2vGS@wu@lXEc+j`
z@|$-6^{bnqq!q9mUH50m#cJtP$UE}VpHcQJuve_%u8;k0@YbW}hP_#&Mi~r!^6)+6
z>RDCy1-bE;E2>+`W7K~ba2d^2+zN8L0I&g%;1~6u+tf5rVd#^QB68C(7&rD!ehI4X
zD-V>rhK#u^stOp_1Jb^&2gl2yx`><*et22J#kUXQ|DlMd6BB{Qp$3>07Ty@^2lV2;
z^C03WNA^S%M@N%O-bmd=yoJu>HQUn>_DEWqDSoWu+ZE#}35rOJh{jfu#JY{adapzW
z!8)Hzv%uCf)3I>pbBvI|2sOI;Z^n9aZ2(Qgh^(MojI8;%66B44LQw$j%)Tzt4R1A{
zBrLk+x1)c1NOp^vf;iu|`aZ6Rx72l%K`G{N4Qdt@k-#VJ!%dh*#}jrKto*SU&pxlL
zFyZZR`#!wFy4!eu!HT1RW;ikDw^Z20`HXWZ|7?-&p-3IH8y&XyI$4O*j8xQ{+zm~$
z<y%ovR|+%(%iZkUfu^4=BC@6Kheu5@E4ZNfqRQnwm0isL%uaK<w%l`xx%SKFj77^e
z7;pV?5jLm4p2mF07|En$cG`R9ur{9e9&)hBHS4kn!<&lB6wqbYMk%s?O|0=!V&V1O
z+tsA|?5eg<rCPP{F%(c(v1^6(C1_kH<s1Cy0SxXJg5)@yshM=!H+pFG&$#CK>EC}z
zhfq%E`g}5sS!xY`H$5N<=<GoghUmRw=j5idpEIiLds~Znu-`e_K>H<Ds!=*m3lWjJ
zXw0v3ncAZwpl_y7l!YzeBm7$w_od(N;IaGZzIok&ozOHLSR_}5Bel0l9~+mwDh9t#
z&3lhcfGHteu*C7*EAvq%chtj-ml3`YLesYN@zrCU2?il>E_q4gA(C(&l;G2^qnw8d
zad-}BN<P$SSbic*h^@Q*CdjwPW65q80?M$H7yK5Kz7<WfFv^H=d`JbH!U-J_iQH66
zdbeBjMy!fN=w_QUFu1O4(z+~mi%}cD-|sJPWnEX!gRUMeVQI+tz(O<&ko+HhZvBOr
z^$O>YJ~$2R2i`&WimKtQgZaoRo_)g=MKG_~SbV+Ys;{x_GcqfCCC4mlN_S*rs5%dY
zs|xu~&=aGHLi4gkX{are^Q4DvR6|H5mkgsovitKOa+24K2yh)X<w%tb9k$*pN0W-@
zyt+g<@0aSjVuwzuqPmf@+pd*(m$x)bM<6o1TH>tdi(_o|+Cp(=&#upuPkrh|;p&3C
zgbVM()+)-XGZ?qD?prBdzbd=GFdw^F&{wgd&sg%+16Zv)>7Vtzj0KJVOqJ+uz6QT>
zGJt(E(#)RkT(r=_mt-oQSe!S4-ttgR2SmKVwJu4hvq;}~AaMBe1$HZXrvK-=|2LT(
zc?X@atZ_VLynNBiXJa4lxE*x=Wq*N1lfZh){^&*3+2U0gd_cIFfl^|wYf3^Ur@?62
z&(lVS$~_z3>;K*cy!{uJz4UA+8MVnia%spkD$Wi-PzI4usqS&jk;8?~iCjp0iWPaq
z0l;w@d_BPBZQ~DzF$|3h99ZAx;^HkQ$r`TM{J_L!y_HStU{Q?wS!Z1&LM}}+-|IcZ
zb^;CU4go)HA~b%8X~fyb%_ReJglr)aZ9&fZ%+@1eq3$4=GOxchIO0k?Ck!PsmAn+v
zUa`rI_4vD{KV~%eF^E>M7xc@r>7XDjaFmjqj;0{-Yk@>w!e7NSP2?(&0#}^OvN!E~
zEov`*{`aF~mTghcXk=HIFiIjhw?OCX6Om;+0j8QyPDX<~2E6b_CaqY?1lsNFc#OYD
zLz={%28r7+V}HY<DKH&PXb5A7)LmIcuXl^M#BQw>Z@pS7en<`tW1zH^*^%f3PJ$FR
zLAehldT_H)7cp)JUL3<};BzflH<%64iB=AASCMqcy8h5+m+~fZo=aEMcB1wLOsW+F
z`TYp>k~9h;s7+%rt*3hA4TOVoM5Ob|wI^BRzw8<3E<fPt9Dk{n$QB~006Exg28$J*
zg`RWg7BkC>_qWusl<k|%l{^)5VBZ1Hn;L9sw`$N1v~$}ijm;@*N^0%reLMA!T$1M5
z;Wg*H%(huD<0d^=Pam8LMu~N#vy>>v7hTh2e1NaM&<q)2M<W$JUZgxG#_nyf|GnAE
zWR>D!AC~&ytyVgy@K0a);bxdy#pF>AXxMw1XBjq}4QgWX7Kg%0lrjXj?A&oV-A^xq
z6!dc;`Q$_U(1@&WYkN>l#__rrbc53MS+4o=lg3}ZO9@HTt;xIVBgV37x8Do^j0hfA
zyDrJU#0ZSO9Y+!8#l7q$smzhY<Hz<B|9KXvW?#+M%!h^yykk;UZO63!VH-cjEMkgi
z6oTnW(h4i=JMCS*vAe-cCO{x;Yo!b#13h){ghm92>zzX@kGFw|pgcXckc$M6L@D@q
zkpUhftRy)P%*B6J?u!ph|9eL(7E2@3wgHmls-T|Zp7AUzimmuYd~81of7@zozjp*D
z;Xnxf5;9EMu9@{ntKj`Xv$C?-Wg@%LvUR*Mk$$fyykaDY@eXmfeGq=EoISGiqo>N(
zvoi)iN#WGhtk`Qi`c|%`e*1UW?r`X{#ml3IF0^XRZ2Ql<ki@5Q(FO(|7CN6&LTQDu
zJVl0u)d8l!UqJaX9;uMC)@8vQcNWC`v!ZXB%2Exxwh6JoSuek9Qnsw`{WDFNAXV57
zd#16<Wd+l*#JBL3X~gjHGOx1AwD8Ny3nLm#vO$8BljGc)L7(*@O3mVF{;Q!nlp~WN
zL67zkt9{5is08^%G>TNpISc%TcK#)9k6#~a7wK%qRYR|Vz5c*N?*0URGsliEMs^=<
zkG>c%Gs1)7ljwyxHv#?=0E^)W8AjLgy<cM7YF-7n?d{CD1TYb8)N}v$rv0O#t;F5s
z;Iu*nq|IOe5^c8SGr**@vWoxp<vsr9%u)Vt@!FlYFKPE<X4Hbv&*>DxWE1H{GlxqP
zG$djq<i$I1lwIscDi&Dg=jO<<IqjoCFjXQ+&x=pCI52}_6q{p%1L?+V7pumq5Zc%A
z9Pitbw}(TpbWkOI5rwfl;>Ug2&l_3Ylm56Xb<$VE@w+GYaxk3o>5m{?gH6YYJvGNQ
zhOGi^k~i;43oGPz4s7EnzK^z&zhR~^_EBouJh;_P_icy*`4{#QR$O!#<;Gteq?QY)
zhIZCQJOt6EI3MGSa%=_D_AKey2J&O3-#1A+!U)EUJwG@h(!vOV8aL~Uc~+H_)bou+
zJg8D@-Gl%ljap}7l%B_X?&fo%RN&@7UdRuQ1dV53Uuu2!_#DfP7~S`>=Pm{4t7D>E
zLs?I5lT295U#R|S>)9;#7;kx6&SddQrfuMRObgSA*`*id=diIB@3G^(WwdaelI!k+
z!=FaCr9;ul6({=o0g1X}x-p%-bd9>!iO=r452YWDL~ah!CT6=G-CgxLI`X$fTlqxi
zfJm*&;hL=E%EOh@T=u!Wi}s;&q8zQ9k>>}IiM~<)o>A0uC*5HvcGz6s3^g}<LQ@}z
zv!?m|v%dL$jr85Y1O7%qlF8VFo%b>Yre=~K4D|{R)hrFdN)i&~u)lFS(N1`vPSy&n
zyv!9|%+O5|ycHYn#}CmM6TP!5Nn2UemzK2o*7351kfx=<>W?@VP(yp>W+kwA*9w)3
zKP`tk3zIL*qliWV2-V|B3)ElG_UN(%&f@0#ZUp9*amA^mQUrsze&Q@*<vSRgYi1F^
z`tp8d;Uf&J1?hkpctt_c0vvXM@g==}AN4W`$mZGOa&{GEr{O`t-fz}&7um5n&q(P#
zKm3oPx(WAWrOQq`o4lO$_cNXI|IBsu=^Bil@;mQ%(NbIF26403dq{eqAG|qXIj7aT
zaU)hqT4OMx@2Q_huTU6Guhm^UojHA}^mwp*xRD5zXYnQZ7@6vIwJmY@fc4$`bM|Lj
z_ciUMf^c`C>kb_mRVEL6<~JwVAH#^z;_kxrD$F8(B<8Pe*Bs|%Czs$8axcF`GqU(j
zetvb-s_~KjrZRMC&)zy-r>u3kX7eNbCI6LF?pgWmI`OLiLzp|^i{!PM#NH_%VzhaV
zf~2#z1(O&$5HLxOjS({<OE~&RpJ8y$i9u-TQSlPCV!$#V4BTP0zVX@?W_KU}+}}A#
ziqcN=5{RT4OD2b3>CdIgx9NEPBeopXs&r{ZV9_cn+jz#PjoPM@`UQKtQ&(w4sJ(b!
z9aTu4E&n-zKc!4a;}n8*o3kbTGw?$-{_oO+G{KkLZ{Vb-*S_Nm)e*Pp%jRtP%C?c@
zDmCFQztC*j1dDyt6~b>1lU&}(H=Au#b@WRlL>*0|OeU-)cVF54?&2n0tj^;uDr}-V
z4R!M-P4-B)$wZ8+w+bzMo3~U1Z_}}7F}4WnOS41T`@4S=Wy?A6*;|}`!qFDfmzBif
zC~Fbehm9R#L6u&a#yg*+GwuIxFK`Tr=lOwpF*|MSHl5JZz!jG>26)1+grzn~*8?G|
zG(Z~|he+Fy1lC5hK;(?bbtnB0wpQN8mO3_Q;9r0Q!BCpW^la66)}VD-xI1*<ZHvdC
z#pSQi`^>1cbBOb6TbzejJZUv7k&eK0z6-2{=_mc){I}=VBX`esy_;Ija#HPEfaS(J
z;ZGh&YOzl-XS)x72W1n5MQR_G(e$?T-f!KKo>7F#uF?ECnj86W+U5Zn!Pb7jVIL{P
ze(m}ySJx<CY5sb-Zqh|Q5AKt{dne4A?Q$i`TJY5Ai%rh(?X!u8<<qvnhlw@WovjXY
z%7WBZsq{=~z~L7C%$t?)@yABk(UzZhE$_?8@wT1Eqkh^d39vK8M=?$+#`l;)1JK67
zxkcfHP0%yEkgS>wO;?Gt;!#m*QP;2iwRk-GD~CY*dim((aCZhP^NoxNcT^*5i{SX8
zyVKHb^rAfXegp0Smoiba8jX}{UowFY8Cia(XZ(XkyCC%@l}s@l_eJOQXzpb2%Gc7u
zRvY`M^`Y%1iXvGd%PsRG3p8s&WFkw`k>$%8^)URp#!M={wQt~d>mL)c9_z{5d->%N
zE`(fan8}MrtyZp$V?DMH{15N<JOS}VOW2)~dD}I}ZQbjw<CKjH$VHY=4Q5j=6~EY^
z!LF!kcn3O>_Q|vkIl;`84#tn7ZRQxAO8=STa+1rMm$4H<3O4vn#Bb3Yr6kZS;)ie%
z9C7PPUcq+Q3Ogyv0OUx`EKXd}ryLZeGP5fX*wGx;`9!WW>N({gA!2I@>wJuDEQ-0u
zpn7pA7t)MhY*Jf&{T2t72lUB-yxuS4MPLo;2W0^;b#^_DRq+S5k8HHG=mkOF%rtK@
z4cuJ>DY>;OT7ruITB-*2fX9Ak;-`pYCTrE1HW54NNqJe)$yuanCD&ff8#>U68DM3`
zO6V4i;BK!!J@RM0#N!CC>Zb|CiII=y%>FC8wYJBI_Qj0}Q*gKe<?G&x9yA`XU;ScW
z(g|?X1^{M>sOKDUOrmTNpMga=L3T^{yqTFVN$zfm>~YmX11>sFzn1q`l~%)FTMFX_
z!O?d|^>cY&_na4^f4oN0RJm*`%JVlPsA`ud)_!L)jvPJZz>~Hud5@rq;6vaee@^3(
zHJ|N!w>aE*bzW>){n7o|!tBMsB$z8%uYIYlPYc2NRW7)(1rPeqgawmXZe~a-AlM^d
z$XTiP(eEh{Ub7rsG2(2cEO6%)WmkjSW7D<I^`ezIuj2COFPzS!RkaN1_CzK82ML(y
z1*H$txbx6eIvB+zQo^aSeUY#mR^=3DCxlD0_VH-@XfZ0>ck;WhAw5VDJL&@v?$0*w
zDmT*<rhWw?-m`V%e@7{n$rHb%cw)LKsWjm<m+-CyphG*V3sEIuL)&l1x_o{QI+!=Q
zbJngk*;sxRDLximPHckn2d@gDE-DLf5Wi+d$HiRxc_@+DW2D<{^0=Y3AfIWQ(03!m
zMiO)0OV*_sTPp^4kfmpRs+oW8_iu1rqE=ST4_sbL-xXzspB8x+>6U05PRBIka5Bt(
z@{Bh+G{{LaHzu22=%f=<>IUE~XGOA$NNoeaMY;F9>i<jC*+Xw&X}8s;pa#~=Y>i0E
zGt~iB+9x!MP=joW_tO3NgDGEYi5asKit!=yLl60?l#`rXGk!|0)VK4Se~`;z2D0?c
zgI+JT{x*&xq*tQ(8#I{GRCWJQ&-?G)?N`QW)6tF@eEdLp`?Q$0zvftW=!;<T)}w{O
z61h+etH&At-s;pPm+-J5oBeXq`P*L)X1j3G!^u4^<=)-Fk4q2!7~5vMf))VLUpSfe
zTM4HO;r@B65}iU2Ln17c*;8bU!YSOffAoe48|roG+R!_@RP9Ttg>|09>f~sVyVAej
z5oyS!X<3`Ci9b>mRC=b2Xy2QW`X6_Q#O?|5aF3N{qh<R&-tK1ExL~)23@Oslgk245
zqZETnC`HOAbC>^xTD9ca&STlM6^z=wdw3}&&q^CN*`^F2IlPIZ##nQ3^`Al4;<_9G
z-87E3=fOBm^F7<t2UBbLv$M^TgHWfxlQO%J@K7N0*j?M%IFI-89G|&4bQ3@C?)!?C
zu~h<y1{gLvC}R6z-PxkwOP;ZSL3O<$$!L!0Qoy`~I{-p}aDhk^_0s3}QMT)X4Fr##
z&zLZGL5i+z*|_VcS`WrV%>CUcbB`~N;Hb6*`WsKZWN*4Pw9813A(17=wE4u^fbU6*
z2_hm<hD0<N?1}LH?o^WMz8)6y#dJa&(j(bQI_K_{>__<9jB`;N+t(}#gnLZi#zeK9
z?@&fSL<Az*^*dc<6mBCOLL>LQ`mT)L((iX1)qCYGX5+75;8D@^m6lb;p9wE^wYrKV
zyEz(>U?3-K96(~9_%X&YggOJ4^l>^tjfAGJi=LI&<LkW`DS&Kac7yvcmZx%ibNAlu
zfws4#vcGt?5`=*SR9p{`&jGU4wv&d#IR;UcWBfVD{pC(|Ew`gBW=R80o&}{S=WQoV
zkM<I>rGdFe5lB_vnUUpl_Qm!i_vJZ#>BV*jiC|N&P`~1EU}8!DF5v9wRcl=jE{M~n
znAsW^yquq!Dtt`0n<1p9q1@U`#Dib&D757vr$xzMURiTMk+GOxFc+O>v=NevQM(rq
zuCaiVn|*2w))5hceYRbmGX&%>Hn7c41`{5grHHQ#o;*#=%j`40n7na>?*pB|onM7X
zQ2hayOr#BZY<r{GxSWbb%Zes7(^!i6M12}cC3ao)B$utpM?`wvsotp)Ci%*nFCYcN
zQV<uPu_YW>&%Y5OSYAs+TIzXZ+Ww&d3vPsuI>1F|_a)CVac+u$<cz3BeBUc!2bQY$
zENkQDLk4N^8o)eFEp6XB0fy}JL{_2AXORn-7_u!su(C0<9|>yd^{SRreYbYhJoQYY
zsO0{Tq<q0ZQv+T%sTXr1iX85Akn84iI1o<+^E+115&Uv1+<L8D%+A~9nM<>XeKao`
zNMZ$H#$zs2!5RkP;SD^|zOmcX@~;e@drgwv$ap8X5%6izO{UL9W67p-qz|8HI0BMI
z^A_HNmreSqdq5Fidmw{)L&RY5s`WPkS&J@+!4jfKh;e)**sE;Yz7YSgSHDr{uq7SD
zIawO0wN#yS!<r3jiWCxK1bpha7n!DIR&^Moqn(KOl*5j3O5b*7xYwuc6(VQ_xx}#W
zzN^(8T7A7IzJHwGuOvJC`cy0el3(QlcKt36jeo&aBl+j3ELv^K(%y4UTqvHZetlw^
zcnX{O>tCn(^|GX%1KBoN9fda<6DKp3)qr=w_SM;^;et9#gudlS>E336RQwWM&AU93
z7~hwkMZ%mQ@$n`1a{IkJ>KjL@TFc(}q)(yN*nC?d4Gc~Kn~o{b_P!~YsDO)m!jS3I
zNB@fsYG|zod^IGD>RcPOveJF|KEM%13&)e@STFv8K^7J0eW4b6uk&1tlLt79{fy&v
z8Ij*zO5a+rPQ<E^d0a}(YT*Nr=@9^aKSBve9G-h)cz$pPb9SDxJ@x#6ZY}e5aC9`#
z(7-n~GD_JzWAY=u<l*Npt*NPL2NM{y5?~N=Er-S4^E+`dn``{=B4}kS?~yXCbQ|+F
zG6;V=hHduq!7Zyos6~6efNe@l4iB!aGxWgZfEamh_Uz$4Jw4q6DZpL{_+^kK3FS}d
zm9GMv<a-aERu0}|+R!02HyVO1F?_uB7}7p@+PW5DcrG;}>!%OyzM1j8C(Mq;&zsmA
zft#(<(9-q^FAfm*y|t_Pw1t7P>?;96yF6sW$=uULv&9C$2~O*R$*IfHuL1n-=?=D<
z?u$%2%0Zb@zZ`Iq?Ep<u-S?d|`ukCB8pbdD+LY~N&d->S^QCQcDjNe$UcN7Q>hVSL
zJt&|EZ{1f8YwF+$-1hh_!>h9#*pf%@*R?0_Sqq*MP+&~F8<(5|L`Bes_0MM|`+F%M
z&^x|A3cMIgJ=~W@dTdiFbYvU*+ml_7CQlWyB93A&B`Ynk_VGS=$s)c1e}<Qf_93eB
zwbT)R9_^{Ip`&|OVpxsa^Ow)VqwJ7b0Y4lkEc#JwOJxyC;UF0A;>p$#@lq>3>XPor
zQ%Dz4b~`SSqVOHAq4xFqr;b9TpZLz?wCj5}5aZuZ9Kd7%Yl3t+9T+h-MDJdeS`alf
zJcVO~^qY6u;&QIaeXsUmlnIW)3`i)9QcJ*$#&fX^ic1gM?Bigh+Wr|J=S$*ZmF3>k
zuMIQ`$+GHy^qVtTr;%Uhl6-0(;EOh$_uC%`5``++sQ>HaLrh%w?%N}jex0<*+p4-A
z9y?qu;wm`yVGpZ>Z~RWM3_I6>oxgfbk8;|7XS(UcNVd!c>W6{LKt6(azwsMNq9C${
zS|)CV#ZGk=2FvTAuz@G}kYYPiaaW*caj4Caz;A@|u%C<_LtYu?i41Ld7kva!-v)vj
zM~5@oG}o`Jewdq6yTUdW`|uS<LtUhPs`Voaf=Dse3bDRHar>}9%nT%kTojt^+;IbY
z+umGzBWpsva6QE4@p1MNL1D0oHDxn9c=o;)Bl~-P!9jfetVh_5?$z1jkKXcsfAb%8
zgKk>|xo1MOLFw}$3BA`0frNCo_W_Hffh)jKnF}H_5{$cgd)l8ZY+q4c9^*KjH@SIz
z7b)+HdUAB%->;M_;t=O0Uv*Nzj)_)~*nN&jqXg5<BI$?Hvm+uHJ(q7(dNcfS7*3Vi
zC8a%0EF%Mkj_#>8-%)xI+{-o6#BzbQGs;o}DMZuY(!<yc?GcS!C?}~!`VJ>Y6LkgE
z3%Msa!>NH@;HqJ$1MSsv8FOOYSmErnJcZ}QgfbRqxU^;eX#OyWGg$@!Nyb9TZsWiR
zijnoo!i-xdsOKg-V;5hZ*Do4#^WPjA2~RYdXAuuRf4lq&F+MTM!0TO<AFt^1V>h(L
zWlw)2-=^kJ6WF|~!Yjd*%C2=iv@HWg+ym4uDV+&8%*3NK4GsfZ5WuR8MYC1tvt;<)
z`sGAWfsK)E5Dbz1`IMU~<t>8h?zi8UU}g+hissv}>rKKIG1i2ROBAgmrw|7QN)!Xh
z{DS~Qget*e&(&dfp+z!4`6G`%g@m<#&RD{lz{l{x8dskVIz=<Wg8$Pa(U)9wJl$#~
z0(IwZU@3{BSHkaEU3G+TOTMras0L91g0=YVtySSERWK|iI@*WtlT;&uGoQyD_baw%
zr0YySVG<_SGCP8lhTQo-A0@d(8u;<IO4pESPhDf7)o<vcq&%1OJgbs2a~Cx6Vkkvs
z{80xFXz|tQv!Z_$@Xy#cgg3a%ctj9`$CTAJmp$9rB)kUS6z~jk=x85UNSwd}BU#_^
zKkIsaT<w%eSQ+pU3xzF%fm2@AxCR;sSWG$ezwh{n6I>$73EvXxecd=U*CLSL;nUJ;
zo&|;h>Mi0da+7LbC5p{K5c~AY0X(Jdp|_2WIko0X?(xd9RlW{>*3E$8d1BPcwY9Fk
zAYCYOxw~8T@c8(bVjvf2Xz$VsMe3RAjA_=_;pXOMWN7%cck)hIY4*Oqu&uyX7D3U#
zbqWF{d=20s;?tY&FrU(U=R71Hv!4}yt9uo1^8m^Ceq2l&Uq2UqEBNmnRZWM+JMobr
zuksf$1{CHn$Q;LD4GMb(r1yK2Gk-=m>;hum8z%R^fb{O<$DE;n-5jTOFm!AAe{3T9
zo^5%#yW{5jJK(b=$}uFfy!GAx0Rb|Ks5lw_(;30Ab3*j}<+RJiuhDf}bW48nqt|1H
z_ul@+&iK`rv(RMOr=&Xh@}C^1kfV3kUcW;MJVHh!u5yU}_P$6kK<|su33nyry&g;L
z@y&84l)~z$Q>tGQU%pu$K8K1>ZR~?K>h4lXlBEu%kxBYBpl`%_>X-rZ;sIL=e(eVq
z|B+OBlF!&L?F}xZo2^oKOa#*aVe5#rGyeL5@-6}<cIY`2kv0PG&vBsKzdN!|GgM_f
zjv@mPY4>vl@%V+r&PL*DABE8WHCpX-yscs*p5XKsPy@xa@b43ecx!ebg-oaChE-=0
zCI8{cHjAY~>H6^JN`^}unxio*wLsG9q{^L?Qz|@^1~n;YEJrYgPlC8`H3CdB7qc2%
z_NIXl^hW<))sv*K!+KVO6y1+(iM98&BC0a63O;b#!1c3R%iC@NtaFYq5G?Z*3hO|d
zY#);hCEu|75&+U|VgxA8kSaEYo@w+<&AM2_qB_xARydrU>I|V7+^sc)VArTtML1~+
z7OFo&p74A;rx8(yc|>F@?L%qd&s2>5Ebqu9lm*$#-+N3o!S=-Hi|SZtyYjRNDg@UV
zv7@oPBPaxfi1D^Az5Wf#4LoSwP+gjTf`G6Ki1s2KKu{?bMKZ!$ajV#TanAZUR5%IY
z%rlV0#8O-%X`Iym;0=bqd<x>^h5Zr2mXIWD%(p#3K-nN89Frq%bxhh2aKBC*mbV&Q
zKCk5w@-2bjj}k+&6K>7g|Mt!zu2?ZZo}eO7?#vDR^htDe`aH08n>$W1{$S1;1SvMp
z(yd-JE;Bxw3xTl$<3N)02Rf+!eCL~LKyyZ=bT4or!PtPe<$!wb`@Yw80ZFvnuOU03
zQ3dqz`A~!0W=ah&%*@n*F!n$7;6KMd;bNyPoF^yUjCyPs+P|gzPc5Z`uDE>t{Y5<+
z7$61}HH{y}a-(PHct!=MOe1IQ_jY$XEje36bADB?Oa+l6NSt*Ds!8U5_=hX~`>Am6
zl-qhmm$ArLGW?ikwB(;T_EA^Z8zZx{#+_70dphaG7uR3kQm<B=@@H3?odRK|b(V$y
zV;kLG?r|$9<XZ>)#16XM$#OZ{_|nbTyBT!Ek3$0RD*-f^qDSw8gt4jV{AahdeITt%
z#L)Nl;dhKeiNkp2?DtB;1JhnK<xN}2?Hly(ucR)I_qQP@YDo+~FYoT|4*DW6i9Ahe
z%=&M({zp7{m{)j!Y!+{iB+qx9^^Ak46v>(K+{QEcqv?If$z)e?m@ArJ!`nb4lQnzG
zjpvkh2<EWo;lgq+^4%yuuDys%`MA7BpOq3+qTO&>6zdsec=l8;n7`)T@np})Pg&E%
z7{1>mD$VNp6KTgm8PK=C<GS<|Z2MSdi2^OB;w5V*gC;jB#1&KDjW}k^-8lVq{$H<X
z2ldN^+EZkeTW)Nj&=N9OJeOXB)nKGoPb-PRtUlkNx%2c{NRl9*?@vFTuH3JskzM<d
zcx9<1?<ALi2b@WmMG_oR^!Ef=wKG4~nb}-$cQGj`MI#?}%JDzYC5Z`Gq@W)(-?z}|
z{-ZQ^Sb)UfiBZqhuv*KTZFfhq-yC_gNIS~k$AE1V)4qh_XRYjKmLItGg$XCSR%*^;
zHS9=?ch|B4Ai@@*3h2A<ya)nB66T1Yi^pL+%`tN#zANUB@%z#v+JKtbD&L5eesK&>
zRHD2O1UJd*S778jMHl;$N)}(2>#{Es7~k8jL|nm!iY0|VS5wQxprI`F3R&_1CF#%8
z(4_gvy51|2avzq^!?$?d{d^#Gqs3N2J>N(zyeO%_+euv-crE!+)MddW;t`|Z_5b!W
zFQ<ZKooc|l*osjGePjdnVesHiw9~~p$eEc-t%_#RP7eX5M2ZP3V<O5#jb0s^VY}+4
zeDJdZ>AYXiAByL-r^JSSB6fkdhasXncdc=d?WSg%##<dqYdpI#PVoQnU8KNJ+-<O4
z#CF_Z001u8al#$3|53nlZYpsR^ah<BAYtA051U(@zY1Y(Khr=(wxn#6W@Yx|>lgW#
z8Yet_wPJnvrbj$WIcY(Q$X}*n^c)Gd5l<aqtQ-jdpi!H~but&iUt4WVIjE+IKi(Is
z<85~iy+x(w2yN*Ed3%dK{3H!WDbhs1WWk&m#YiN>GjZ1nV({5wt%a2MC=qOcQi-m)
zHL=IrLnL(XMB`Ogb!!`^TG-{y=;zQ^^u1L%13Uc{=L7@<0gtfKC{D+hhAQ)3jyfP1
zNOp`48{{IdDY$<7;qfy3QSi$D-|zYs_Yqzr%i!m7K+z0;fu*NGjgrm$gQbmQ(D-;f
z{g^O?l=_NrIo}#$_?r*)id-RGPZsR?8wvX)J%qqy#sC#pR>t<`%ZKJBe?{l?<10?L
zxXkaLk1*|Bws~yA6dn$AT~1b8?>k;C@SuO3g{jd?x|d||nu-WLOnQVVEBx&z&BpHv
zIA;~*hI?%UpUKJN@Dc6CUjku-9h*n?g{39>O8BM($5!=B*S-n|i0=F*qSqMld|mDM
zYy3NL*F`;JV`EE@!`5H1ARbidlMIPZk>qNqYBq9);7{}AY~UVFoNe-tiN7`HOJ$X*
zR%Nh%dX+_RZ~Sdx6Gop8a&i4;UZNh_Qa{a7GvS|fSTD!GKweSK-I(G+9AK(l0H@-g
zS^ua%6Du_Kz?aqci9aSsk2)}cOmC>+YgkE1*22$v$3J!G*DNI?YFD?ov#a{lL6a-e
z2rH7z2otFdfYL{HjhLS>_+3vI<Y{;l$wi%pN5Vr!58cGv{)oUvBfXe5W}a23%_R3h
zo-!kG*dnKDS;^E0Nav6ZOx&tL`F{rk)$ay`uWLgYQX*r)#o!r`A{Z>*_tcCu1cQME
z>M>iTW!nQcUhOQu@W5J9R{{LMEw8L8zjI>*U=8E#)32h5HmQW30(NXWA%u6|Dd;t*
z9c5lHT``Y{UFjx&jk8N+MNpO9|Le)N0HteG2bj6AlcLUJtY+w*kNLOSKXse`X2A`>
z&FtECynO_WeTI0k&@@aSBJcT!7iND2^3r;^y;uHW61%39*OrIn7ho#+icJs$&y*K*
ze?{*q;d1?s1x<8|bRc|hB`{X&K;~H4Bn8Uh;j{9DdgV=PB=!UJ>A~wCTS3g-BjUOr
zyC&M(;PIJt8!&MUJWL|LE7+bl2-(+tFij8IA@H&x$?vJEZ7#~771+BYsHbMAE)N2{
zKY)W(snWW#+TgCHY~YQRw}F!oCx{apI1Czg*~CVLY{dw-isw2(u>Xn2kV4*e61E{$
z_BtDWWM9Moe#1J)6FBF1WP1F`1Qi<gkn{8>?DO#y`JOHy8WoA^Y-?L0fMHeq-KY&i
zPbHVl`vZlXTfWQW<DKaIS^h*p`nDAXIrGRw9?<4FT<?#~8lxv|j((eywmV<al3$jW
zLtWY8u3+q+M=`w_injT;`Hz&}>;Z#v@#(zc#0wnpgPg!R6jlVg!8n=GR&KvJNUz5F
zOKx8HV_?wrf@zLE0T#y9l+2lsnUvo#&BEg1oElT;APNfwPQY0vmGO@30i+>=F4pR_
znC-Vf@k{M!1Co%ImJXP>yEzkO9zg$_{&%Zz@Nl!a_gx^NE&N{?4mU_BS?&)_C~*H0
zz1aY)((*VD@T5jDevSV7DBw*Cf%o*ij#LRgAEFKn4h)p~(diqHMx(bnNg?xCTmn;U
zx=@l&O4^=VzLXjt4O3)=2N#p169Rl$;?h)~H_1IU=~D^b9*hh~5Afv`u)Ehgjs!K1
z-F4Qcjc_LlK9LxH#~7^HGV<}wLF`FJtO#dp5E9Tk-<~ev!ybPfVQ{(+_?IhkZ<^GO
zSCZbX*}T)C;Y~zopGLYpxKj<v2+QavojS$@=nU4C8&KwI(-Chg=u}54(o+_a1+WTj
zgddZOGQ&fEyFdqvn~Y-3$*GGxv5wWh4#;<{6dW4VPbv9Z;V$>n2bCaMS_$?J9-qm=
zthvubgQF^3^eFZ7*wN7Tr&m!@hyAisUw!R~tVZk@^6L+sJiD#5Nt5ZUZ0wQS@s@<>
z@r8tE!ZudlYRkV>+WGbtR`#_X>i8SoymBp&>D-3Gf_aHuI;lcyAM^_(WA;oKG?IDr
z=Zitm<7v{l>J*W(<S5;R0+FKHfo`vapZ-zTPnOCz>3@_D9+TB?T3CCW<k=@)J3ZI6
z!Q5A@qHo~=#nlAP&T-8$_0jib=Oyh9DpsuxMAK|oR*qLJ4&fxUawvtQfjHfWU_|*4
z6(INE3_IpX(8<NOkDo&BNB;dt=Uo()CMiBSDwhT>Hum^nW^Nh+{O$M*np1|O5Hv2*
zNlIO8o){H@WN_ev03%%A)HI6{`8P_;>jgy4@AJo}GH$Nro!|XBd7DlWdTiFhdOmi0
zALT?eCgXofv@oac*3qMb&iLi6q%@VyTb3TR_1*;s?M&wD=_i6VA2?$l^Z$MPd=egi
zQJqvV5ewZgZ8ok6&U7`W9>&3YUJ!n=D!$rikNa@Hr{Gk!b-iS>w+SLpKS!gYNTJt9
zbER4}li)7!A{HFHCjW3{=xFA?+2iI6>l+4jTlR*1>eq5`V0YE?WIzy^QI@>>Bpdi4
zhXz57_z1w9&l!Z|TZG_dzhl1(AXq_poBtkfT7qxf(I+0^<F2$Gn)*$0h!iW(iyZ%C
zk~iBrwNc9V6>|W|&M)}rjQPqhpjl8WIIjGAy*;9S@XxZ|NGy(8o*9U}A1-4;cBW5G
z_K)|pH1-n~I*$c}rz=~U`(y6P&iL%je7;feK`diNI?rS19S$N*fwm6ytB_uJ)v$EJ
zZXNHV-NM^nSy;p|0XgFVY*yn0&c7YI%{bos+x~Zq8XOIn<)+jb#v8p7!{f8);`EM%
zzh5O~=$-J`^49S<IidX4K<crxC-?&{EW*b{Ji0X0NRUQOy&pF!CKWK!o)PdFn!8q&
zyD~0GjizuZ6$@mV9U^%NC=e&0o6iEP(lYc#ZK4e0($_AZUCw!RnffuN-<ruX{q~gd
z-=SRG-`9@2l@)mAh6CT-TW~tsbgKStZ0=&GTcuJxE5=C-B*;=*1omE8xne<6vxPqA
zEsAma#r$2u5)zJr01H5-KufmI#R|mA1x|odc-TSk#jgACGCn^QYaKrbdA}M3c6iUP
zUZ^PaiUGj_5;0Y}|0|qsDv>dcY1&e8U_R73;<7TFwa@f;usNsj?~-Xh{GY-jX6V&Q
zeMQ+_dhP}Gq{f}fIS~BA_e@A;c|T&Fm60K=*dBDvBQ7CfpsbA9%QABBscRi{z>dQN
zf`~d!z<=W~n_5~<XcN#aQ*}$(G{C{VawBp-8f-Cp-D1M9_@0On0Hk7~w|(iTp2Bbh
zeS<LBuD!w)FI>%2H}zGt<Ryp;BxNQ8`eySFy+o8bvC#kFWL9F`P?T9XDmB1{V;{vf
zgpYh{IffUrRh>dPls-r{JtD@IUix$>)jFLEf}*GhMw%s=v4<6p{Ry%f$LxyCPFY9H
zO+~8Twbryr5@@$avam~FvVGCrT0uj=u)OmmCLU;DHcrAOfhW1Clx_LFpIYXB!QO(R
zwh4|xHEU4|I?-G|Fd`XRo=F3WV@N(5%9r@JJtL=RJkgu6Cn4%rs5zG~bnDL`ADx7j
z?~S@siW(77(?7^Wn*`bT;V2w50sC+mHc8(M3D?U4c9RBcy~7LH6;0C-`x+NqP8j+b
zCmBUNu}|<HtNz+)#v0~UVr$-@S!`3XU-7LyELx=kjM)^gI1*G_1xkEqQ6*N0G#Frm
zEHGbs3D!oD)w{rehpN;yeF@3=BEZGqfT#lXt}SeX-n_Lg-6+V<Nb|qaw~!|TYhZ#F
z^4+FB(yn(;3sxdx>m*}eXhMOd5GP8nS6O3uNXN!t{Yl}fLum~|sviYF+kWt|_?N3}
zr3-8dC~$>=**+i`#>m8cjmz_rWk!u&*bYmSLcQ|8RiG!qoEP((c4XW7XWma)F%aqd
z(n)zvC{8HrB;npZ`@2SBbLvZB8pz$uZ^kt*lHoy4^oZAT5`i`Rwcby{-n71-^ktuB
z`(n%A;2p>`&Xu!GAVwNRG9+1;SsdIL=KAcSp8Dr!n7NpGVe-Z+Zqk?Mjktcw$1G;G
z&y*!m)Heb3rM=H_sCfm~ylOr#j~_cYSZ|3ThN*@b_K!vde3F&Ns)tl^SyR2&jEI#2
zEw1-!O~`ZpQ8dMn_wn4K5E>iy)jawTL2-1ZN0i!wl$-g~#UD}fOomJ(DXXkvXwsc4
z300(L7svfk%LsK!I0R<?r5Y|w%b35OHXIu`-=9j<PC2a4K9wpQ3+6+D6l?axsJOha
zghf7&muEGSNQ=Om_EcZNs!DxxRv;PTv)Pbzh(Nt)m2Y8s!#k-6e0%3608BQ-^4Ly^
zq?w2{(KG|xu}a-U$dCt;bJ*=Yh%2C4;rp0Xa;L2|95ZE#Qt~&QWbT_db8IfDX>;<$
z^p=W&zgwM<<KTfu4kGQTH?%*IAKW$R^U;0Mn9hNE09#LrJW%G5YjY#&0Q~i$U^sR3
zk9b5{3%*#@b9-3&ph3iO9(|*%f-Ee;4WrbLF()%X9D-l+a_EhQKV=0coPc&-$bi<|
zHqz|C#6)ke)!qLpqp?XX54uPIU?h9A>C&>5@4sF^1MgYrg~CoyY?)8&*LU99V^1`l
z_$hVoFywb9hj_ONaDsc-9LBf2w+u`AE!X>Bb?@D#S1_-g)OPlh-%_ZRu~FeQ|2g<Y
z^7PG1%j1X|-e>Ig=5`H4=U7MXME@D-ou+)|2&Q_Ov3`tF@k_#9zum&M0%)!hqy=UN
z)-adX2B1T|T3DSFzRDFxPZgfGfwjGe?Q7I4E4Xfg!9axk*S)t|_@+~B_*-qRB<C?k
z`4C2=kL3cx*0aa};I#pU;he7ZjpBYKL4JGNCG_&`=uc1AP8M4`a4S^8jc+ION>62+
z8;7YAXUMsBkBjT`c5t3YN^)|>6r~{9OsGyYrjW3xoJM$>hlICC6`QgHES;uO8XsCO
zW1RjWb14HI6i})i%lRwi1Dh~|PxahRYOYR@m10EV7hqhIFqt=)MZOoil%^60>JMUI
zRz(vH!efhwqybR?70Ed%E>gBe(`qxo^P;aP;9$+)<`^|k0<+v4xGM^UO~|vm7Yqy_
z2Wh``;2$S~7CD{B-e}#Y8(KbTB}qDt)b)C)Sz;GT|BSWE&%+jheKYIv^JMRBiBgDm
z^k62=&al}aWym<FV7f<MU_>jMn;TF3_Iwcc;y9FNE**LVbvI{F$u*(EwhsBwBAS1n
zllo9A71ieq8Rpu>!bxx-=70=KNZ7vIeXd^(NNFpP<1SVmIM4{?dlN(RrE_&|+eE3+
z?~GeIrEiJzA$8xc-6<4-TY8YlAlj9FRlE|NHh~0D#w_WnJR8HwFNNQ+|52=Tmeyo9
zKH}z;<Qoov_OY$>ba2FMcDD$4+z+_oe(s0F=)UK>=4II(s5EL!e3H^xw1!Ahv)jmS
zAd^)!PwRRdTp3{(K+rhl=2!@W8ME2h_Wi%-nbEeeM5d|nNB=X4gb)UkADuMvsgFs9
zz^YzHIJG=w9n)*9F~}u&#<*4^mAbnrvoEIIhryA$o*>3AuD<iVcCG-h!+ogh%n>VB
z!E#mEDSLROfDX!TTU%o9Wg~0dM6z-?xLh6Ta=G#D_Plu|V{B>?FNI}n|KCXv$n5HR
zQu4-wFzM1Q!pAx`tWHLYMSS>bw7&r9g4a=Qs1YKw-a<Y5I;w;;UsRcGVS2f~AG>B4
zL#ZjS>Op0fN5|pvou#;Z)A>Tr07rhBCLwfIhlWs0DI~(WHh#WyHAf1-!c{JG@&W$i
z2IY{Xyv2nUQ(pF(NFby0h~1jrfRB8+tV45mrdH}l?C*IovI>$#(dGZ-XZHvrE)RCt
zTQX4noZN=l#}=W{MC{*Zk4S46bo)_ip23+!{>3XeVsJirQc8ZKZ;kKq&mha-4YXrI
z=5IL^Lxeq|X~GNiRF`!pG6Ool{<`dAUVBx`kY96huFPB~5Y^av^7Ws7WLm&D{)j~*
zFHb8kPv|JM%p?aLl1o41!%L5M#-8MUlo;c4okTGKF_O!F;D!n~dpj9_D@$r}$9NCL
z;e~pBUQ%b(T=mp<m?1=A#V2&K8iE4tx+<){dDR|!s9G)<w3SL|g?<JLBpW&;*yq`(
zs6>HNCTjk>3Q;D~lvj}W=;$XI|M;I#9D#1xgVc}`4>xrv`fId%*|!z}6$cjO`@Hx!
zBSQok@%CC{Uy1ze2<sT<azkc2$zQxO<V)?aS3<NK{Q0kLHT}7kos6iz2#1PSjjRbA
z)A0%OjvjdWU1%D(?%O4WSFEXFx6fip9Ir3sKB}aqe+Fn#J@1P>CCeX~0CIArk&xna
z&+VrWs1$HIbr)umpDt?Q_ZEt9Ml)MiFFNpY-*bh)KJbI7*xisI)?#iq%PMrvOD!NT
zixq&xIybO+!Y-k_<wf~|RLSE>a@c=VDZJ+q9J)w4(qwX`v~BzjqkaOZMnh|-sF4)H
zfVh#bgZwIjPnaRN-dkAiPgA5~O+B_aqQn1J@X&aY8~Sfmm3s!<)kZ<GH&t*;Sq?1h
zzubE^zLScT%d2MI_&F&vi~)yA9#Jvo21N)=bttz{hbt1UF6sx_3hTI7Y6}XY5!N<n
zTC40!0_^+5kd5<$rTsMV-V&y|e{w%8J(Ee|yq|D=HqqJLbf9eg#m`gxY+hjY@YL#F
zuDT)}Hqj0%cibpx7PTpn(ULDKWwfY}{;p9kaQl`77ML_Gr*KD=k+CE~^Pw~}5Zg0*
zbynT~W~yM*+EV@O_@k1b+eb}NEOn(^>ZFby7ZFB_MYSwR?V{j2$GQ7Qswx80bFaVJ
z(>L=GLtk3L^+|QU5$dThYdZlD0h^oW7SI_@DH6~Sv61?GZAc;4<Z}vy50=0Mk7*;1
z?U04Wc<KR{uRu5-<o`;#%7CcaCc2dD(y*j-E-fKQNlPpp0@5knDGkyB3M>M$bcwWd
z3P^XSG)PH@G~f08_UHX^@9aEt&Yb7onR%{7QJ&aRyk#3CFH44N!$`{3_|S;s1lIUE
zrx8HGn{uen%)evCMcfm~sA__fetoe*{yPLdVe;R|ifOl@FEi8EKn4FMZo14}GmFNZ
z-{C3~^F<C1?6>6abSL8!hyF{)7cL&p%{UXZ_hYn1={)iA8>5y<tO=Vf6pd2guQSPa
zmGBS2&nh0am~QIxQ<&Q)8a~_VSVnwWzA{>&_LN=jlD))h<0VvIPyXyf!{DBHN&pn9
zwJEMze%%UNl0DH}ik`yn+NME%NrNtljVanV)+B=6*I9h){#v+3)fb^9N90Rlg0l6{
z9V;L%$G<0N)s4PJeoMythEt~%(2#P-^+>4VXxQmohp*PG472{Vir_{z2dt7CWj&Hs
z6M~?oZ+z{nCqy{{mA6PdQDd*r=iY_aUDB={QG_#l*pD}#KMZ7P*l#g?TX$Xf+UWM_
z!Td~O5;-&Nzf3t8D5)eOcq06}{_?UW>zj)}fQJpK$`R2%$IQ2|R^F+aQt!*r?Au&{
zsVQ|MPuy?}I@@n$Irw-Z`Cq=-eM#Lea<_l7dp>~j^q|bt)a~6p6FV2amWdKtfWHr^
zK+HxfH>i6$rE43<@{g@%I9~33YObG2-|I=DNoe8oP4y}crZV#1mv@R74|vn<SV|<i
zOK^m7cjm~B``EgI-j~ja$^vAiS*PA_V7Az>qB<9Ism}fvJ9l7a)U2FAZMlV<zV2uG
zD4-Ou)y_tBg3H$EXu)tj$<_#{%I_ESkSx&Mmj>BlQZSNu&wBN`b-+W#87Ev@@l5+E
zCm(-qe2Up}h3<-?AG^`FvXOsWn_T~P<}#T-hlMFrUP6Q>D^jq=HX=E`E9_DRG|m(Q
zV{?>IR5hU(u)GM?2wFReH8X5gn&`u>FW-sWE}eNWqnHV$S^&O1>Eyv)FYCzWauLAz
zE=4KidOF5~StKHaV(|T&J*EmPtK~7ThJX3)yh>KZJ+9-vgk1U!-gtp<1>dpc)7h?2
z2K|-hkL5!F86RIsfM7<o{5xe<ChG6rwSxZycsN~hEpU!tjP-GH766A_=25@zwKWW+
z`Iuy^Crdp&iEet$c0FKk(=vzWWp%V!jR1Bzh4yGAA<xV4@rEsV5)x>6f*}j{X#BR*
zQ(jNAHnz{phdM#EQ`1=Os4ki^yX#k49JjlD-^Ilrs`ILMuZNRtdt00qs<R^l-OW&j
z4{Zx$LnWmnKDkm5_OMz|y>1=UnJ*pdYM95^h?i;uy7~6b7{;^a-eA>VHy3b<6xayw
zDOip+%h;M@+iO0Jq+8}Oa}azEi-1@tyf8z`G`d7#x_8<d0p;D?fLyUHLmUf0-Q9XY
zFbd?1m4&K<T<l3Gv?gE5_&f7rJub3K15VBo`<h`4uVgq+;LN$`fF{!7%DbR8Z8Yx2
zk+x#O3%Tn(C7hhtxMLCFu$_8yCOa(3vFAIqy?gItILk2T8{bwjA@ahVHZ`wTFuu19
zugAIdvGnV^y$v6x4S6FO*3;eMnqhjXCHbj~Fy_B?d`e9$G$#%(wLVJ~=S85aw!vHb
zf!aNqLRRs^sd7oHjYln;K#qMas+XLxAgtAVz9#*YLzZX!Ls}h*NkF9lF7X>pYkxv#
zgwHp=G%3<^Y7p!hm+!~lb)_uMt`yFgpXMflfH$f0TpYHpw=DW|b(sK|i*G-`ZQUQ~
zoA|Z`o{(dF5yx2FJUo4ts@TuTnX~=&$IvReB(u`_JBtS+{l)6YzpgQ#$t$YgiYytN
zFu&HG;uk^{t#%%Gm-!ybpTGgaJg29n`SPlj>jJ?h8TLi4C}ug~i$Fz1H;4?xI$X;x
zRE(oLdG!lRq#BL^8!PemwG=!sn3MVN#K3lUQ&3zNqEjWgY<w{|JvLtK;VM@A=JPhJ
z&b2VFZz+5@ilcx-ZuRJMJZTAW?b4dDmve?P<C0zhtByRh+aL{UL|~#6zJ9Guz3ymh
zgi?m!Q6{HADsR+qSC1;j15Jv#!qEsKosQ`F?Jn)I!H#{V<r?nR;@`e`NnG=ZT=P3=
zh;d>CTKTd@=vQG_oc=3&qB51|cTW8}^}8$SwfAM~etB&Yi|1*10w=9fqUG}*ZR2iJ
zX9l&Sqz9>Q9a~86n+5U2(`ziwuWR1Q{~qkMlD`?N-#wchogH=j?r1O2lWt1UE9M29
znH^ipGfEG0yZ^nfQ(+cr6<=1kF{Ycet8Wl{k(y2YqC+H$$}?U?cxK;O;9@C%lwY2@
zdfG$fCQw{_(O1GiWq;aEfAq7%cI{Y2L4V!bo0kq`XJrGy@9g0%tD8Z%yaoGaF>60G
zR+(s)6t(Si?YG+>-S`a=1+8-dsz@!Pp`JLWp=h?R)!6GL`s-d3+%*NBtt~qNBuFqp
z2ruaQ6UyI{ejGt^({Pwd-?LTs(1*9n_$-!2qsC3O$3{=ch1Y$MlLUu(YO{ASqbQQs
zF4Lp70i)vYg&V6ttCkfQNRKIHD4hZZ%+ySE*eCN+MZEVZNzwH-2?sJ1!-cQ8Ic>7$
z^tox`vk?@bw3U?soM_{4j(lxi@UFe1X=NyJ1(f5))?XE4X`VOk0%qG7h>{yhjH8`c
z!N6JZYfCG))e<O?@xYm}+BGgXP3-XMVf_3;fzyO~S4dSZ^0KB>Ph22=x|>Qe{@Dq!
zz^?nj<Q!3!K$()t?l->FB!5BksSe0Q)52?LPxc{!1n@Z{_6iA9uI~;(Qiz<Ad0`cL
zaEQFUYQ)>lR0k(6pu?~K^1u=NG>gK@?s7%nPv?~F_93=ZZIbsg(9*(%mb-VpUSi+H
zUpiptKEHw1;#xVn%86}!)_KL*!JGVrT`Xd!Ez>i#C_rVY{HJZ)ubF3dfk4?6{e$)C
z3T($Y@hkZQC7LP`NjD6!AmBV6^SH@Q^?9>ZzFkq^J)V4Zho(JyDp2b))lW74<uKG8
ziPrY%;OY~KDqU3MZ_B{_rl^tk9D3KbKz*$0R+HcnZd3IY<HA^T7KhgsLR;O!N`jx}
z8D~RpQzFB#?)n5$^n7H1cJg}u8L#^MoHt$KOzn=*cy9<;h;Xq3>0f!eZCGqCErpUX
z-F2Nt>OxdjAZ0hZ9R3oS=xKY;^kr&UVOjb$<7r1o8mC?4@zS4YH@huRz&mqpqj{d_
zKz}!GYG97JvKNM@;B=MTR;|(G?v|rg<Fw9e%3L2dh2!vbGH219w?oS;8m5dfB#>@p
zdUxV4y$~9zrNx8Nu+bdDswrnCV%=SHHkZ>zzfmEyl*%#@y;NNC3(Zb|JOq@<u?N!Q
z?2JG#;LW~r{99E!9pHG}p)X1Ni0QR<WF_5$Q@;Le`+WrpGCxoT?S6`>A=+NGc*Vi=
zbK=dx)4!Bw$iVc>k}3I?$Hl+iSAVMW#C?Mi<&n%0L7RYxB59`4_BOACEqWjL&5v&_
z74s#sl_~u_kAfRjVc7cCayO4gPjQYBx5(S7`qSIORb|hq=4T8A6r_TZx~<XA!nx5&
z8t7s$qk_4+OrOEghCV4f>&vxzR;Pua%t;lLhuplI(iWB!Fb_(eaPld59&yV?W%HWD
z)pfz(6UFDcZ*2O)8=w!T_R<+T_{54giHDx3ES5UX{L|Vxl(u?h7q!GVI;Tf{CsL|w
zPaW*DFMC8td(eVcQ~%_GFuG2(MAL2D<QY@gbU3W~!<R^xBC+`k?1l0<)6|@#Qx%HM
zge9>W)8%h|Ay;KSHx6cc^6y0XMpz}c`XA;#__SxFClrXqaauNX<!S1gy|H2{8`Om=
z?uSAw!r!>(^1(`lrE0l>T4ASJoiYygG9@$^Y2=jw@b23ATWNH6nClMS$xnVE_`O|^
z-`JxV?OssZPfiylMN?x)h0I<(=T*wE#06n+^i;*W15H}<PxmT*X$c}Y+t<C_cj9M5
z)f`5eO%dN-ywgi=0_H@RM6!yPPnF+96vj6FE`JmqaQxNXYE(8eO|H0~D3m9!7q6fW
zA<b`SnP}Bd;vzsm)-ytlnzzv>N<cV&dQs^t$x?XFLfqQlzJIk8ONbLW+taXm<-j$~
zp<8lTQ1rp<$8}Sc9J$P6oOs7jL-O8q5SktxF7`s=FY^+2F%Pzhjqa*B{AW-e#+%wz
ze;Zvs$AE6F+}ZK0u5G8CogGRB#l^&Ga_(Y7@$JSQ1Ft!@0v>o}1@<nrCQXKBQ*JCr
z05_X+9lH&mDQQ~Dp(JhbRKa(a*M_Qk7%+i|QN=Lf-Kb09@eT;~`mC%nd7i(j2QcBg
zmOELvpC=XiuAp2N;{^Xg!pfZhaS9Gy@EKK9ypKVRnQ~rBzsw0Op1MMtLsW!jC<Sx{
z6yTx67Kz`zn33@x(d>GMzbq$_ADDRXv7kU)AVyO@e*Fj{_VIDIs+WfHnVAaB=O6uO
zAJ!r{geWxaX5*JI%Lg$!PeP!@4Ms#v-$x<uq4px5jgnS3-HFsj+C0Qnou>n0WF()u
z3BWw~#y$wY$RfJc_vig4OL5;vJ(FR$oHrMuhw|fteRFpa^AjagY9+<vWwvssOIJUH
zkZ(laWQFBWRP%Mw`qzSJSS=^bTI)Q0=Do_Fg0Mkt7fp3z>v5zDHqc>VSIf;WWCoSX
z_ncOmXz~~a`Y!YWROuo{dF+8<(ARWQE=1QK&CYF7(F<{_RH9C9&FUfe*A13_=YQAt
z4=AULXe{q?G9-X`zL1~hTo?8<5`q4Jij%Ro&FdZi`i;s7=+btlxb=}7;2#yM-bB$$
za>f->oI2_%vzz^zZ2#guxzz3x=ch>lSU1aW;9{ai+2E$Tc}v1&W05xsx^QEMyzruu
z0B)T}J~@L^Gmq$@=>mPmFg0rzp7K(OqA)*Nc%o_B*zVP1kl$bGWw|t%3snhO$#CCy
zPJ_=M90p&NyZ%}y67@3gZS8W!f+&K+m=H{#KqzkX2;5Jc`6y<P9ICB1PHcZG+qp2Y
zv6XBv`zQP&Z?`jVHy#>V{Z#*seAP=VQv5;@w`r2OecPvsBK>6l{@8DYf(5Mp%hqlL
z(Z1N%a9kK@EdPAwsj!+XxwEa<c2>xP`W;f#d)!g+%+2R_bjo7c=QmlVwD;|UQPnze
z?k?+)=42k%-f~S;SdOESQQP+>=A3>-MN>B-F@mEkq@mC)L67ialT&&IQubxoco5w~
z6)RHKX*b5o4RusFB=SazU|PVYezAWsc61v!BpKtnQS-4CeEPRuFCdNUmH2$2e%4*0
zFRjj({lWga+wb2UV!i)JA8E+5W;zm$8a1Vkq%--G8?z#h0}jK^&hzJt602R$>OQ98
z?aGOTRW-Vk!k%N6<kfe}u7<4%mK%~4C}YNLb2_zF-LKpT<M&&92_AEVo@#OlQog|t
zl3#z1r<711P}s`#Y#Q3zI%S%@U@m)cyH(To7Q{Wh`TpS-p#THxXt=ugMQg%^U<YB6
z=o7FOwO3Iy1^VQBE(-iX-B%Jg0(-wvmV4%lerkzrcLn{<U(%Hm+s-fi;19L{!!8D8
zgy>mdhrd0|FxTsE>peX&>O4I$>piJY8*k!2EjFFr9-TGbs3nXFpQx$QWV|GxJqh#i
z0W+eb7+(K`RAq-}hsl7d8mYvuXM9huS-wvjXVn#TZMWaK&@V^YEN7_>Sh^X+Vy-nh
z?XF+&`184TZqJlQ?Lu7rYK)pIUbZzj?;Ih#&9D|{rpKtRkx=gXTil=#$i^8%E~)F`
zseabr!3Bw*ou0F`C>i|Mqq7(ZD(k3Wr5JMt9)<&y(k}n`i11&@$NffHN$UltE<ucF
zpF+&xgTmsvzE=-E$4Aw4Zi{5NNMI(H^2Ii<^~sS{FZaGz9eQR#r$-#G^pH{j*RXhS
zRRS`Vz<UpCxr}3-KDL7&w&||gWSvEz=CuFx70(;qZJo|Q<ezgj)uwX%#Tif5b;*_w
zsYslm^)6xJOJveodt*{18ysEL<>uvKFw~4R=+ZE9^z-(y)z;RhimvVBBQkiwBVLrF
zP-SJr6)Wc8DTOaQAm)R8Kp}gP+ROEm-5KA2#<%)Ne=EWC*-0@%<328<#9qbHZB?Q#
zndlFo<Igj%$~pcTdfN@(3`=-={C!kApHJLr_T+sq*>3-fDJAocF4GL<jiJs4W!C&^
zv)3d2%IcLJda_85qbUNje*TbP%W*Rduc=w>6|%$h`qp>n5CL2fi#9c&)5-`k^$iuJ
zY+(p;#G%U*+C0o@#dVo-%=tNjGp;iKmF11cws^yxXqJ0mx9DF^qUpb{oEh`(|Guy$
znijI&r(eowe;X9Y*bQAzXLDv&R#n~e{fXCwndL713qJQ4cD4Q)`|Z)pbQ|LzVHl=#
zQWC1U+xPRZXF>CdCV`Ll^vJ6$_fx$&8S)?rYhTo)q)l16t{6$p)cy0<i`W6!-#-Kh
z?9_q-RQ)CBFyI160w^&U&V=c7RxCJu^IQq;-y@QuwqmfZWuh(bwEz8$BJwW7Cm!M(
zK$>IuK|03;eYV?GRpn}KBKbMe<)t^#;7qwsA&gK`>W#*m5QmWOX!9DvX2PgjPX@3D
zDRct0xnr>CY-nEh)#5Z3vLXhwm6;~D8#S2SwBDqlp7|o`3b9^0nUEwjnU>0J7;9Br
z7}iK`FHPq<&#h$6dl;nTT-a1pZA=AM-BuB59nrE34Q85H(fI754zAj#b1_=iSy&t$
zbg_&W#i<4QqlsViqxg4|VV>+(;BRpJXoY57AEtW#j%+R~32edl{NZ^qTBMGzulsmf
z`NQOqx5WjSy&~h9or}()%+qj42M*ON+VM0Of3;>myn4g`qI6Y6!2iGw-(dF1Y-5LK
zMKTJDzlutO!*0y3V5juDY*d*Muk#VsT}LHK_XvoXC11#vo0}|hRYKdwI6_^MTmuAi
zlhKI&^@r`X9wmY5m%-%AORU$+6L8Np+1kR*I}yk0&riaVSOV_bX23|!K##ep+o}9_
z^R(7OXhHg95lPf@SMy6?*zAT@)>4#O&^4w1P01pmYTyS`>D5h|{cl-^uUH}Lo6keR
zgwg{Q_&GEX(r{>72g)o4x|F(a$9rzUPeOS>|1D2dFE~lB&Yjs_DP>1!&3Crk=jhj~
z+ExzZ>@oUqTy_t=XcBG$#0ZJ(TE0SIEy-Y9w^Mjyi)_d=g58meCONN2IzvLc*tMc~
z{IiK+QQ4e+MM>MYw66Zn_ZeW=%bt<R`@&3E#C;MpENSamMKw-qV2;&hnNsD+-->pY
z2QLy}VT{9)?!mBnbl1>PfA8l!!i{7oTfmq?{4kWQ9G-kJs&FW8JIX8sFx;-E4$q?p
zL{w-Cp;Rs<<}vdtS7gwFir0BClfa@K4&au4WKeY?DJ*L3hER;q-!eJRmch&zmh8}w
zB<VE4W`%NZQVz~!Ck$hQ+#x3ptp(A6*CP*DDksXdg&qNpAQ<)q?yUiV>H@AKtSQb2
zpIg9FLfmpMz;5W*V`q)kHHSUdPiKdAxt00QxK?jALDxgL!)c!VNwM1BHIB9hh{^S^
zR9Mo_nY5!LSs~$gQ@0nwFW+2D2Fy(Vpv%6yk<{K~V#b1*hoY5Jf<v>X;%psLd(GgT
z5k!KiUDX*Mj*6pMg@iv^Baa1MMq{!nYY~g&t4oDraX6TUWP8M4eh`q3=0FS>N-~WO
zJ!8<+`xZko<NG26`dT$b{@`ix7_o}3EqtV6M#rgQa@M$6{l}`L``fb|FPU3K302=r
zJ({lQch`gVobM|fD`Sz3<ZG6qo&Bo*ryC_FBv~dOUEDxf4>vmgznd2ok)<~$tkMt^
zMEhmA2{;>x)3Qt(PeO`}ipFiI`v->#G16F<SCGjXCSMLR-Bj}RFvS)jvvA0Y5TU(2
zS;~Qthe3;ZMy@PlIJS0bJF3*K_K-<FKk>qyIy*lKaf;aFYw{4NfmSrTwQCvxal;K`
zg95Ha*>zdn>Y|YL=$x&QS74Y?PrO!Z;bAYPa;qAC`mG64TIh`<g>S%1!JEss4u4ka
z%r~roFp_A(%DQoQCVoF17?zZNlDtAAD=8f7A`RLC@1+9Bh7rgeLRL2|$u*+_$p9FP
z(Ql^Hpi2=jWw;5Oc1cw&*T8tVa^6EGy}0W{J)*xCaHI*XQL^@+he$^v^s+lKI0+Ek
z-50N(=5$f8qr%FiF@AF~R0|T9P`xbJyQBZu)7m7xKmX^IQ1SRIz*GQ3A?7{gOL7i;
zimJ{+XtYM5g9=Dazd+PA%LTrxh3n4={OOfdf9p)4+uT2463gLg0lv86_gfcW))x%O
zU!g8;=>Rp!fLXlhQwgZ0sO1S7MaN!-%=(qtKipdqtA<HN5;*%3pi6zKabx<22E|ey
zMGw)GY=b6E445=ZI4+y=Br*F}o)C;sO}36UAx6Yz_|}lR!Rb~+C@Nodkz~kgGWKeN
z53d_rnc24`i<?|J^Vr_#7IUp=s;pafgoLLJM;hRi^^#IF)BIs^o%lPH-S`-;K?IWt
z0{s7OAJyS}=|km7^<rf|zBdE%PlvAmT2^N1-ER;C0eHV=#9xhW%LT+H|2E<DOk=95
zy|*{dg@IV4%Lf_;1WzK_Qd0u9!kjt-vGN2e%v?pS0V$D#3U5&`OaEH=&u9VTA3}^k
zuNQ-sg=*SJ0<E$cw>R7I0%}2kMgqHYv4Ig!gbUy6!V5#a;*zG=cEz$bvmlwbla4A8
zbx_Bi^2jCvRbN8Yo8iGs+A7W<s{z34u~wTyA`a&nDsxwu)ssmiSy0JFysQUbTGRoR
zt0C_fjL2V4K?C#vbw&j$p>{t$MISUG79u2~l5Rth27KKgXLrztp6H|A`2^b3?7o`_
zhW4+A?KQ$qG6CDMrisJx*s7$%A)H>pIOx}d>N^VAbg7%+6T(P<>DxLr(<*8N$Owwv
zQizMsFqOba8~ChW4T%AV=d#iC4aSRUYr&;u8=IF4=70RNe>PktbQdlcrO+ceU*NYq
ze@k(9hBbJcZeKa>{j9xbWhGW6umLyyZpY1kZ!+WRJVke7(&XTkWFw8q^??Lk_8)nn
zM&@9|ik|Mhf(K=1|G|Uq<F<xSG$suQ8z7!*3_MZ!s4i3@5rn#m(t5Ze=VBvz+Lx{m
zNqY5O(XFi<RIG+YtjY?}5m+QT|G-<EXtatdG%jpuC-y?Dv1(3nRo2Y0PxozolXhc3
zxZP}}f!1@QZ){8Ig=N2tb4un904NMQh}X1_d9}>XU92)}tjjkmD`gs*8{ZiIXnZu0
z12{-kFJdLNLvF?RLtJY;VY-kvZ)d-b|6bDIaq*}ZefA$Y$;JrTfdOYo{vXCqp-tl=
zXK1_{!jdfvh+ooexw$Sx_+nxHc^|e_2tw(=aAQHzSWAsknR)fj=Ui*PpiHcP896aN
zNv{azkH$R1h6UAZkPOG=5^M*SM~0^#!ZN8xZFwUW2KA;%;42xY=!za_Y*8>0+G26l
ztQvmrqFG$AqMI@A->^L9TRJ{>(o7nb<ON`Psj$uZcIf^YUTVtYew5YD1!S-<jUp_m
zcJAtyvNHOIQB<%Sq_e-^DrVIC>UN#o|7L&bYQVW%%4j=?xl-C+Id|*H`n1T|J+6ij
zAsV$ynIr*vfuNuR6=A29bZ1Qf$Bb<>`L;6A!UQvm>iW`hH%z^O4oJn?dTXJi;6z_R
zLTRD##rFU;NcJb}XW;Q^*_KbtAmrbgASwn7bh1Zi*{2$28)``mlsuO+Xabfzlhfkr
zXUO$G&QLC>az6LUbdnO<eSYzB($V;a3PL=%T9OBbY0d2{a@<P_H`AmG0jqI$%;3ML
z6^2l&Uz;>Brm=~9yeP@|YV^>?vid!;3;RY03wDw#)Ayp;XBnLy2&qlk`uHvi7AA5u
zg$7lnt5C>_7IfUD)5^Eg(@(clGH2m;HwK%7dd^QQN_`M70WpX`TG5Lqjb)HVIdgX)
zA$@=ft5hU739o2CcvZ7m4*Pj`NlZ=V2e`*Fb-_(j>lT2J*H(f{8WuL9%cgoB&UwYR
zCxVlSFj0l<^B;58G(N>E0LDLAT@3@PVK511<p)*+%tl-KlSN`dmci=O0zFx+j_#`i
za~0pk{AIi4mfPb#Sx&A?BC8mP6oB^`HnjtI4J%Pkqq8PXi8Zy0UtkRvCatV?1%h*G
zAzboZLI5z#wI{M#(y>xw1)Pkizg-CJuc`ZE>LwFnWX25($*rl~Bq~0OJe|ha;EwZi
z%qjGcNvJ!WATk=BF1Wb~AOV)a7q_g}4)*{?8Jkf=_LNLw!EP_0>1WG%7FjyxLrqu9
z-If)Y_5J6yA9xmd&T8g)N9ABTt2kPA>siKp0;AxCRe9`rIfk$lY(ir}qE~B78b08Q
zx0q4{=*$&9Goj>|u{<GNvQ_0<d|c5OEXx1ES^))i;&2p0#%h=#jX@$(Iu;U+-!7@%
zM0|r9ubxPfp`5NF9p0|Ug9>Ap_by)$SZA6bu5hy*tS8?6R_?-x^f||U@!49CmLbIa
zPs5MpxeJ%P;_YZst(EEzLrPiu&;S0Iv!J+hr?qSUh<G8-$!Oif$><!%_?2K1k<6qM
z8W$8S(u`FraxUWPgnQyjta=q1`N`P_aJjnM#&^LQm#(NZ^Ngq1@UBqEGc9P2D+5V3
z4?VN-R~|EFW57<4SJxP#GPad+u*n6*>^|J^c`T&@BY=K1-qs68O<lil+zUMsQ#pYb
z0TK=cg4pBehrr)%4AY<^;4+IRb{5;aA{MhUKyJlWQF<uuZu#>OCBJ1%MOjnfE6#mE
zmctdUgigexNNhV_OkCT0UvJLu-hD@~K;!=`C2;ommuH{HSjE|>5->f9@#J3NiMAHi
zg|ErlWFLqB%d&u-4S=0;x34He(D6BNST8vNjx4Oyw&JLMdI0zHi)VMXjb9M>14eyi
zP&ZysHmCEoWPW32_JB)Dk`3TVLnj+i4J#XoH;y(xDn<bAkD${86i<DE`fgCp&tH$`
zMekObQ8_+v4VvsScktcyXg-E*O&4tTZf;j_<392}MIMLa=PdsLQY)Qpm(`L@Zhs#?
zJpT!F*_C1QJPeoh8+iy3wq|Ojxn)CeLnlV)L|JN^x;1ND>JM=KDqqG=IMa)!YGS=w
z6<hlOJk)Sm_?mWkPpgR9{yegxY;JGjoj1we{@+H$?B`1wb~cSA3{k`Yqwf=_6KDqh
z2rm6w%%ZizKMe5Vy%x!%WdW{K!P1Hn_2&Nf?ZtbE2mhT7RwOtCpMK@|pM|@YF@y|q
zUj*275o7<dPxPu5w917+5YX-LQuVbMQZRhW=YC!6LsFmRjUiIOiM^I6JUCQy%VQpr
zZ4;vloZPm(ZO6gwy7!HH5Eh(UGOv|iv1mXg4c{mHm~)}mXg1!O9C3O3Eta~d1zo4F
ziMHeg*Sqh_Q@4>%zPDLFmAMdar90<6aYqI4LlYbY!D}!EC@i0P(KiuWE?25EjHt<0
z@w*v=BJvoQxR4EtQgbI;Ix<;r>|Y|ZY42B0;~eilf0z2>O+M>!6DNa}SBc8jPQQ*Y
z<{#Oof4@)>v00^`D&%Jqs7EQn6WZ2#)`!9|mG0Dq_3dm#jpgKmnS)7DIhhPa)Sw0(
z-$GZ&94>DUD<oO3S3s%{>6m~;xDAE>Sv2{SKgk*qg^`rMAq%|9$&y?P{V(9caXEv@
z!0Vt)oaA{iN)pXGwo=>~Qzms(1r0LQ>jcfF4ypXIUzzgxXNN9(_7$E9(?=Y1l|-D?
zC!{YRWasd}co0AAd_xMT4t}%!*h{}y_;_1U>iPIip6D25_8&BT*WY8y^4ZRO6(L3B
zb1LTtLvw<Oo&k>Nj7au5`M;cR;Gg=;nm@!cI#f?UD4CG{Qb>b<4G4GA1oryTLN8ov
zsBMh(cY%Wa1Nu^g36io4?t`x1rz>HI^^+cYve9Kfe0YZrVjvb@)qf9U@G|o^GJ8;v
zVlL|%R#HtzG=XF^CR>$cIE3RQ`(Mb0(aEfb<<O~jYU#1_TFpp{kqc``DL_a=;b4wx
z+n4F?(ytxdcfOVP;RY(VBuZcgP(8Rq(WAz8g6#o?z$##2V6sO9ijFXUi6r7#!-i?1
z1A=ocl%(7SWlE9&bEt1Bl~+uzlpJd)2UQOeiIu=!H2BT!(i%gHEOuTxD^f*27yFTy
zNF>B09X+_+6IF@;A>J27Mt>3<h7E6U*dQWeN$i5qO0H3|Iq0onk+z|rNfjFoxd18(
zYRHgHq!99sYmLp3YZJljyFe75>ar^PD7N0qgi6qm`QMJpXC_|RUITZORq=_k>`#cv
zB$OqaiSJd8G!~`yTxB9yA4ohKB+vNbrU_y&xMbaA2)XpX5<u^TmnujgbmlE<KpK#m
zh#q{Z1!Yv2!r5Pyt#gfjl4Q9arj~siLR|jOC_q1G%HuHVF&uZIa65d3klu;iy|xTy
z+8D<Fr=pym#ur<lLue<7ga^MEO$a40s3SOoO#MwUKxk5TpeWB1?n%pWM&>_f!bxN?
zY&iRZ-`h>(89*WX5WvOvCmke=fICJV4MRI*v4r|pk14mY*`lSx@oNBrWO-t&H%=7%
zA=B26d>TE%Q7KIUM0hrg2Rt}Y$8aW-9q%MOF~36=j8wp2bx_c7yOW8>-~>^C*YWwJ
zRg8WIv)lk@)g<8rx7Yr2{==#QI)kAk5kCBCxrZ5oM5eS$G!Q7Pp^{j|lA&h#09$6o
z7#pA<CY@_@9-kKo?599r?~xrfX;Huw5_!3zDOfbS6muobWUzF<G6BAUU*w08I}#ly
z4nY+7R?hz;E8@W~uM<FUCNwC$E5q}DO3e8y$dFD!Z#92!7}f;>8>#_b2NASMF>E*d
z9#J4eGGP&mCv;-4`v+r$=4*?rF~5nt>_&~!Ub*@|KYLPhq=4ak>)r3igx1hl{TZ1_
zzk>AX6#U5xCRAWu=wL%#;EutcWF;9$;e13P@5zM-p{!L5%o>#-OF9L^mZ$(z6T3*N
zf3oWu1y7tV5eH$(6!WCY#f|3U53@9|Iw2PDVXM4gy^Hw`=19TSfBHa?Lwu%^FF_-*
z1CzX~tN)$Y<8O;_EE7GHF3C?<!D(ukR46q69*alM%b<v00^lJPL#_w-P>o$H#iMmF
zhIo1BKl@pfvT=$#nbL#^QCXv<F;-EfCZuDDN1B-YZb=L!{@sE=eBhG^{2yf`bi%Yj
ze85t<D3VIAiUiYvQC*IWBHA-jMgZx{)(^r)FL2jf;S<avK%Hg$w<Dhs(LZ+9?2MjM
zKml^<p43}$8m};WAZvgVnOy@o_g=8A%d)GZ^hv7QshDU|(7U_@)H8}uzK&*_A~mcS
zl?43dS;63SnRe5(g-A=sKSUI3O#CPyQU!4kJP)GhU%?maya1krUcf9j0f7aRfKh8e
j(*OP$>nr+B64)a?PR~3+T6{JZ2>2<!Qk5;2HVyqB&Fqkc

literal 0
HcmV?d00001

diff --git a/assets/img/spn-feature-carousel/bye-bye-vpns.png b/assets/img/spn-feature-carousel/bye-bye-vpns.png
new file mode 100644
index 0000000000000000000000000000000000000000..e3bb65a6e5753c927634f8207871342f550955ca
GIT binary patch
literal 103251
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

literal 0
HcmV?d00001

diff --git a/assets/img/spn-feature-carousel/easily-control-your-privacy.png b/assets/img/spn-feature-carousel/easily-control-your-privacy.png
new file mode 100644
index 0000000000000000000000000000000000000000..0d386b5f1490d79fe79b99aa87544fc7ace1b6c1
GIT binary patch
literal 72739
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

literal 0
HcmV?d00001

diff --git a/assets/img/spn-feature-carousel/multiple-identities-for-each-app.png b/assets/img/spn-feature-carousel/multiple-identities-for-each-app.png
new file mode 100644
index 0000000000000000000000000000000000000000..b5082f73f85845502a506c5e1aa061fa007bd80e
GIT binary patch
literal 49252
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
Or>dl-SS@cJ^uGYZHn#cz

literal 0
HcmV?d00001

diff --git a/assets/img/spn-login.png b/assets/img/spn-login.png
new file mode 100644
index 0000000000000000000000000000000000000000..4a5541fba8f1c5da6802307044453cd5337cce11
GIT binary patch
literal 89031
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
Vm3_<Q*&_e|002ovPDHLkV1oZdfNuZ*

literal 0
HcmV?d00001

diff --git a/assets/img/windows.svg b/assets/img/windows.svg
new file mode 100755
index 00000000..e3e76225
--- /dev/null
+++ b/assets/img/windows.svg
@@ -0,0 +1 @@
+<svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 89.33 88.6"><path d="m0 11.4 35.69-4.86V41L0 41.17Zm35.67 35.53v34.45L0 76.48V46.7ZM42 5.91 89.31 0v40.53L42 40.9Zm47.33 41.34v41.34L42 81.92l-.07-34.74Z"/></svg>
\ No newline at end of file
diff --git a/assets/world-50m.json b/assets/world-50m.json
new file mode 100644
index 00000000..4e59231a
--- /dev/null
+++ b/assets/world-50m.json
@@ -0,0 +1 @@
+{"type":"Topology","objects":{"land":{"type":"MultiPolygon","arcs":[[[0]],[[1]],[[2]],[[3]],[[4]],[[5]],[[6]],[[7]],[[8]],[[9]],[[10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]],[[44]],[[45]],[[46]],[[47]],[[48]],[[49]],[[50]],[[51]],[[52]],[[53]],[[54]],[[55]],[[56]],[[57]],[[58]],[[59]],[[60]],[[61]],[[62,63]],[[64,65,66]],[[67]],[[68,69,70,71,72]],[[73,74,75,76,77]],[[78]],[[79]],[[80]],[[81]],[[82]],[[83]],[[84]],[[85]],[[86]],[[87]],[[88]],[[89]],[[90]],[[91]],[[92]],[[93]],[[94]],[[95]],[[96]],[[97]],[[98,99]],[[100]],[[101]],[[102]],[[103]],[[104]],[[105]],[[106]],[[107]],[[108]],[[109]],[[110]],[[111]],[[112]],[[113]],[[114]],[[115,116]],[[117]],[[118]],[[119]],[[120]],[[121]],[[122]],[[123]],[[124]],[[125]],[[126]],[[127]],[[128]],[[129]],[[130]],[[131]],[[132]],[[133],[134]],[[135]],[[136]],[[137]],[[138]],[[139]],[[140]],[[141]],[[142]],[[143]],[[144]],[[145]],[[146]],[[147]],[[148]],[[149]],[[150]],[[151]],[[152]],[[153]],[[154]],[[155]],[[156]],[[157]],[[158]],[[159]],[[160]],[[161]],[[162]],[[163]],[[164]],[[165]],[[166]],[[167]],[[168]],[[169]],[[170]],[[171]],[[172]],[[173]],[[174]],[[175]],[[176]],[[177]],[[178]],[[179]],[[180]],[[181]],[[182]],[[183]],[[184]],[[185]],[[186]],[[187]],[[188]],[[189]],[[190]],[[191]],[[192]],[[193]],[[194]],[[195]],[[196]],[[197]],[[198]],[[199]],[[200]],[[201]],[[202]],[[203]],[[204]],[[205]],[[206,207,208,209,210,211,212]],[[213]],[[214]],[[215]],[[216]],[[217]],[[218]],[[219]],[[220]],[[221]],[[222]],[[223]],[[224]],[[225]],[[226]],[[227]],[[228]],[[229,230,231,232]],[[233],[234]],[[235]],[[236]],[[237]],[[238]],[[239]],[[240]],[[241]],[[242]],[[243]],[[244]],[[245]],[[246]],[[247]],[[248]],[[249]],[[250]],[[251]],[[252]],[[253]],[[254]],[[255]],[[256]],[[257]],[[258]],[[259]],[[260,261,262,263,264,265,266]],[[267]],[[268,269,270,271]],[[272]],[[273]],[[274,275,276,277,278,279,280,281,282,283]],[[284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306]],[[307]],[[308,309]],[[310]],[[311]],[[312]],[[313]],[[314]],[[315]],[[316]],[[317]],[[318]],[[319]],[[320]],[[321]],[[322]],[[323,324]],[[325]],[[326]],[[327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946],[947],[948],[949],[950],[951],[952,953,954,955],[956],[957,958],[959],[960],[961,962,963,964,965,966],[967],[968],[969],[970],[971],[972],[973],[974],[975,976],[977],[978],[979],[980],[981],[982],[983,984,985,986],[987],[988],[989],[990],[991],[992],[993],[994],[995],[996],[997],[998],[999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014],[1015],[1016],[1017],[1018],[1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029],[1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094],[1095],[1096],[1097],[1098],[1099],[1100],[1101],[1102],[1103],[1104],[1105],[1106],[1107],[1108],[1109],[1110],[1111],[1112],[1113],[1114],[1115],[1116],[1117],[1118],[1119],[1120],[1121],[1122],[1123],[1124],[1125],[1126],[1127],[1128],[1129],[1130],[1131],[1132],[1133],[1134],[1135],[1136],[1137],[1138],[1139],[1140],[1141]],[[1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272],[1273,1274,1275,1276,1277],[1278,1279,1280,1281,1282],[1283,1284,1285,1286,1287],[1288],[1289],[1290,1291,1292,1293],[1294,1295,1296,1297,1298,1299],[1300],[1301,1302,1303,1304],[1305],[1306,1307,1308,1309,1310,1311,1312,1313],[1314],[1315,1316,1317],[1318],[1319],[1320],[1321],[1322],[1323],[1324],[1325],[1326],[1327],[1328],[1329],[1330],[1331],[1332],[1333],[1334],[1335],[1336],[1337],[1338],[1339],[1340],[1341],[1342],[1343],[1344],[1345],[1346],[1347],[1348],[1349],[1350],[1351,1352,1353,1354],[1355],[1356],[1357],[1358],[1359],[1360,1361,1362,1363],[1364],[1365],[1366],[1367],[1368],[1369,1370,1371,1372,1373,1374,1375,1376],[1377],[1378],[1379,1380,1381,1382],[1383,1384,1385,1386],[1387],[1388],[1389],[1390],[1391],[1392],[1393],[1394],[1395],[1396,1397,1398,1399],[1400],[1401],[1402],[1403],[1404],[1405],[1406],[1407],[1408],[1409],[1410],[1411],[1412],[1413],[1414],[1415],[1416],[1417],[1418],[1419],[1420],[1421],[1422],[1423],[1424],[1425],[1426],[1427],[1428]],[[1429]],[[1430]],[[1431]],[[1432]],[[1433]],[[1434]],[[1435]],[[1436]],[[1437]],[[1438]],[[1439]],[[1440]],[[1441]],[[1442]],[[1443]],[[1444]],[[1445]],[[1446]],[[1447]],[[1448,1449]],[[1450]],[[1451]],[[1452]],[[1453]],[[1454]],[[1455]],[[1456,1457,1458]],[[1459]],[[1460]],[[1461]],[[1462]],[[1463]],[[1464]],[[1465]],[[1466]],[[1467]],[[1468]],[[1469]],[[1470]],[[1471],[1472]],[[1473,1474,1475,1476,1477,1478]],[[1479]],[[1480,1481,1482,1483,1484,1485,1486,1487,1488,1489]],[[1490,1491,1492,1493,1494,1495,1496,1497]],[[1498]],[[1499]],[[1500,1501]],[[1502]],[[1503,1504,1505]],[[1506]],[[1507,1508]],[[1509,1510,1511,1512]],[[1513,1514,1515,1516]],[[1517,1518,1519,1520]],[[1521,1522,1523]],[[1524,1525,1526]],[[1527,1528,1529,1530,1531,1532,1533]],[[1534]],[[1535]],[[1536,1537,1538,1539,1540]],[[1541]],[[1542]],[[1543]],[[1544,1545]],[[1546]],[[1547,1548,1549,1550,1551,1552]],[[1553]],[[1554]],[[1555,1556,1557,1558,1559,1560,1561,1562]],[[1563,1564,1565]],[[1566,1567,1568]],[[1569]],[[1570,1571,1572]],[[1573,1574,1575]],[[1576]],[[1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587]],[[1588]],[[1589,1590,1591,1592,1593,1594]],[[1595,1596,1597,1598,1599]],[[1600]],[[1601,1602,1603]],[[1604,1605,1606]],[[1607]],[[1608]],[[1609]],[[1610]],[[1611]],[[1612]],[[1613,1614,1615,1616]],[[1617,1618,1619,1620,1621]],[[1622]],[[1623,1624,1625]],[[1626,1627,1628]],[[1629]],[[1630,1631,1632]],[[1633]],[[1634,1635,1636]],[[1637,1638,1639,1640,1641,1642,1643,1644,1645,1646,1647,1648,1649,1650,1651,1652,1653,1654,1655,1656,1657,1658,1659,1660,1661,1662,1663,1664]],[[1665]],[[1666]],[[1667,1668,1669,1670,1671,1672,1673,1674,1675,1676,1677,1678,1679,1680,1681,1682,1683,1684,1685,1686,1687,1688]],[[1689]],[[1690,1691,1692,1693,1694,1695,1696,1697,1698,1699,1700,1701,1702]],[[1703,1704,1705]],[[1706,1707,1708]],[[1709]],[[1710,1711,1712,1713,1714,1715,1716,1717,1718,1719,1720]],[[1721]],[[1722,1723,1724,1725,1726,1727,1728,1729,1730,1731,1732,1733,1734,1735,1736,1737,1738,1739,1740,1741,1742,1743,1744,1745,1746,1747,1748,1749,1750,1751,1752,1753,1754,1755,1756,1757,1758,1759,1760,1761,1762,1763,1764,1765,1766,1767,1768,1769,1770,1771,1772,1773,1774,1775,1776,1777,1778,1779,1780,1781,1782,1783,1784,1785,1786,1787,1788,1789,1790,1791]],[[1792,1793,1794,1795,1796]],[[1797,1798,1799]],[[1800,1801]],[[1802,1803,1804,1805]],[[1806,1807]],[[1808]],[[1809]],[[1810]],[[1811,1812,1813,1814]],[[1815,1816,1817]],[[1818,1819]],[[1820,1821,1822,1823]],[[1824,1825,1826,1827,1828,1829,1830]],[[1831,1832,1833]],[[1834]],[[1835,1836,1837,1838,1839,1840,1841,1842,1843,1844,1845,1846,1847,1848,1849,1850,1851]],[[1852]],[[1853]],[[1854,1855,1856,1857]],[[1858,1859,1860,1861,1862,1863,1864,1865]],[[1866,1867]],[[1868,1869,1870]],[[1871,1872]],[[1873,1874,1875,1876,1877,1878,1879,1880,1881,1882,1883,1884,1885,1886,1887,1888,1889,1890,1891,1892,1893,1894,1895,1896,1897,1898,1899,1900,1901,1902,1903,1904,1905,1906,1907,1908,1909,1910,1911,1912,1913,1914,1915,1916,1917,1918,1919,1920,1921,1922,1923,1924,1925,1926,1927,1928,1929,1930,1931,1932,1933,1934,1935,1936,1937,1938,1939,1940,1941,1942,1943,1944,1945,1946,1947,1948,1949,1950,1951,1952,1953,1954,1955,1956,1957,1958,1959,1960,1961,1962,1963,1964,1965,1966,1967,1968,1969,1970,1971,1972,1973,1974,1975,1976,1977,1978,1979,1980,1981,1982,1983,1984,1985,1986,1987,1988,1989,1990],[1991],[1992]],[[1993]],[[1994,1995]],[[1996]],[[1997,1998,1999,2000]],[[2001]],[[2002]],[[2003]],[[2004]],[[2005,2006,2007,2008,2009,2010,2011]],[[2012,2013]],[[2014]],[[2015,2016]],[[2017]],[[2018]],[[2019]],[[2020]],[[2021]],[[2022]],[[2023]],[[2024]],[[2025]],[[2026]],[[2027,2028,2029,2030,2031,2032,2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049,2050,2051,2052,2053,2054,2055,2056,2057,2058,2059,2060,2061,2062,2063,2064,2065,2066,2067,2068,2069,2070,2071,2072,2073]],[[2074,2075,2076,2077,2078,2079,2080,2081,2082,2083,2084,2085,2086,2087,2088,2089,2090]],[[2091,2092,2093,2094,2095,2096,2097,2098,2099,2100,2101,2102,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112]],[[2113]],[[2114]],[[2115,2116,2117,2118]],[[2119]],[[2120,2121,2122,2123,2124,2125,2126,2127,2128,2129,2130]],[[2131,2132,2133,2134,2135,2136,2137,2138]],[[2139]],[[2140]],[[2141]],[[2142,2143,2144,2145,2146,2147,2148,2149,2150,2151,2152,2153,2154,2155,2156]],[[2157,2158,2159,2160,2161,2162,2163,2164,2165,2166,2167,2168,2169,2170,2171,2172,2173,2174,2175,2176,2177,2178,2179,2180,2181,2182,2183,2184,2185,2186,2187,2188,2189,2190,2191,2192,2193,2194,2195,2196],[2197]],[[2198]],[[2199]],[[2200]],[[2201,2202,2203,2204]],[[2205]],[[2206]],[[2207,2208]],[[2209]],[[2210]],[[2211]],[[2212,2213,2214]],[[2215,2216,2217,2218]],[[2219,2220,2221,2222,2223]],[[2224]],[[2225]],[[2226]],[[2227]]]},"countries":{"type":"GeometryCollection","geometries":[{"type":"Polygon","properties":{"admin":"Afghanistan","name":"Afghanistan","postal":"AF","pop_est":28400000,"iso_a2":"AF","iso_a3":"AFG"},"id":4,"arcs":[[2228,2229,2230,2231,2232,2233,2234]]},{"type":"MultiPolygon","properties":{"admin":"Angola","name":"Angola","postal":"AO","pop_est":12799293,"iso_a2":"AO","iso_a3":"AGO"},"id":24,"arcs":[[[2235,2236,1193,2237]],[[1195,2238,2239]]]},{"type":"Polygon","properties":{"admin":"Albania","name":"Albania","postal":"AL","pop_est":3639453,"iso_a2":"AL","iso_a3":"ALB"},"id":8,"arcs":[[2240,2241,2242,1236,2243,2244,1385,2245,2246]]},{"type":"Polygon","properties":{"admin":"United Arab Emirates","name":"United Arab Emirates","postal":"AE","pop_est":4798491,"iso_a2":"AE","iso_a3":"ARE"},"id":784,"arcs":[[1176,2247,2248,1174,2249]]},{"type":"MultiPolygon","properties":{"admin":"Argentina","name":"Argentina","postal":"AR","pop_est":40913584,"iso_a2":"AR","iso_a3":"ARG"},"id":32,"arcs":[[[31]],[[2250,115]],[[2251,2252,2253,670,2254,2255]]]},{"type":"Polygon","properties":{"admin":"Armenia","name":"Armenia","postal":"ARM","pop_est":2967004,"iso_a2":"AM","iso_a3":"ARM"},"id":51,"arcs":[[2256,2257,2258,2259,2260]]},{"type":"MultiPolygon","properties":{"admin":"Antarctica","name":"Antarctica","postal":"AQ","pop_est":3802,"iso_a2":"AQ","iso_a3":"ATA"},"id":10,"arcs":[[[2]],[[7]],[[8]],[[6]],[[5]],[[9]],[[11]],[[3]],[[10]],[[4]],[[0]],[[1]],[[12]],[[16]],[[17]],[[15]],[[14]],[[13]],[[19]],[[20]],[[18]],[[21]],[[22]],[[34]],[[33]],[[36]],[[37]],[[38]],[[35]],[[39]],[[40]],[[41]],[[42]],[[43]],[[32]],[[44]],[[23]],[[25]],[[24]]]},{"type":"Polygon","properties":{"admin":"French Southern and Antarctic Lands","name":"Fr. S. Antarctic Lands","postal":"TF","pop_est":140,"iso_a2":"TF","iso_a3":"ATF"},"id":260,"arcs":[[119]]},{"type":"MultiPolygon","properties":{"admin":"Australia","name":"Australia","postal":"AU","pop_est":21262641,"iso_a2":"AU","iso_a3":"AUS"},"id":36,"arcs":[[[132]],[[127]],[[128]],[[129]],[[135]],[[136]],[[148]],[[239]],[[242]],[[243]],[[233]]]},{"type":"Polygon","properties":{"admin":"Austria","name":"Austria","postal":"A","pop_est":8210281,"iso_a2":"AT","iso_a3":"AUT"},"id":40,"arcs":[[2261,2262,2263,2264,2265,2266,2267,1363,2268,2269,2270]]},{"type":"MultiPolygon","properties":{"admin":"Azerbaijan","name":"Azerbaijan","postal":"AZ","pop_est":8238672,"iso_a2":"AZ","iso_a3":"AZE"},"id":31,"arcs":[[[2271,2272,-2258]],[[1274,2273,-2261,2274,2275]]]},{"type":"Polygon","properties":{"admin":"Burundi","name":"Burundi","postal":"BI","pop_est":8988091,"iso_a2":"BI","iso_a3":"BDI"},"id":108,"arcs":[[2276,2277,1309,2278,2279,2280]]},{"type":"Polygon","properties":{"admin":"Belgium","name":"Belgium","postal":"B","pop_est":10414336,"iso_a2":"BE","iso_a3":"BEL"},"id":56,"arcs":[[2281,2282,2283,2284,2285,1249,2286,2287]]},{"type":"Polygon","properties":{"admin":"Benin","name":"Benin","postal":"BJ","pop_est":8791832,"iso_a2":"BJ","iso_a3":"BEN"},"id":204,"arcs":[[2288,1201,2289,2290,2291]]},{"type":"Polygon","properties":{"admin":"Burkina Faso","name":"Burkina Faso","postal":"BF","pop_est":15746232,"iso_a2":"BF","iso_a3":"BFA"},"id":854,"arcs":[[2292,-2291,2293,2294,2295,2296]]},{"type":"MultiPolygon","properties":{"admin":"Bangladesh","name":"Bangladesh","postal":"BD","pop_est":156050883,"iso_a2":"BD","iso_a3":"BGD"},"id":50,"arcs":[[[1430]],[[2297,1164,2298]]]},{"type":"Polygon","properties":{"admin":"Bulgaria","name":"Bulgaria","postal":"BG","pop_est":7204687,"iso_a2":"BG","iso_a3":"BGR"},"id":100,"arcs":[[1233,2299,2300,2301,2302,2303]]},{"type":"MultiPolygon","properties":{"admin":"The Bahamas","name":"Bahamas","postal":"BS","pop_est":309156,"iso_a2":"BS","iso_a3":"BHS"},"id":44,"arcs":[[[67]],[[1429]],[[1431]],[[1437]],[[1434]],[[1433]]]},{"type":"Polygon","properties":{"admin":"Bosnia and Herzegovina","name":"Bosnia and Herz.","postal":"BiH","pop_est":4613414,"iso_a2":"BA","iso_a3":"BIH"},"id":70,"arcs":[[2304,2305,2306,1239,2307]]},{"type":"Polygon","properties":{"admin":"Belarus","name":"Belarus","postal":"BY","pop_est":9648533,"iso_a2":"BY","iso_a3":"BLR"},"id":112,"arcs":[[2308,2309,2310,2311,2312]]},{"type":"Polygon","properties":{"admin":"Belize","name":"Belize","postal":"BZ","pop_est":307899,"iso_a2":"BZ","iso_a3":"BLZ"},"id":84,"arcs":[[2313,2314,657]]},{"type":"Polygon","properties":{"admin":"Bolivia","name":"Bolivia","postal":"BO","pop_est":9775246,"iso_a2":"BO","iso_a3":"BOL"},"id":68,"arcs":[[2315,-2256,2316,2317,2318,964,2319,2320,2321]]},{"type":"MultiPolygon","properties":{"admin":"Brazil","name":"Brazil","postal":"BR","pop_est":198739269,"iso_a2":"BR","iso_a3":"BRA"},"id":76,"arcs":[[[193]],[[194]],[[156]],[[247]],[[249]],[[251]],[[2322,2323,668,2324,2325,955,2326,2327,-2253,2328,2329,2330,-2322,2331,2332,2333,2334]]]},{"type":"MultiPolygon","properties":{"admin":"Brunei","name":"Brunei","postal":"BN","pop_est":388190,"iso_a2":"BN","iso_a3":"BRN"},"id":96,"arcs":[[[265,2335]],[[2336,2337,264]]]},{"type":"Polygon","properties":{"admin":"Bhutan","name":"Bhutan","postal":"BT","pop_est":691141,"iso_a2":"BT","iso_a3":"BTN"},"id":64,"arcs":[[2338,2339]]},{"type":"Polygon","properties":{"admin":"Botswana","name":"Botswana","postal":"BW","pop_est":1990876,"iso_a2":"BW","iso_a3":"BWA"},"id":72,"arcs":[[2340,2341,2342]]},{"type":"Polygon","properties":{"admin":"Central African Republic","name":"Central African Rep.","postal":"CF","pop_est":4511488,"iso_a2":"CF","iso_a3":"CAF"},"id":140,"arcs":[[2343,2344,2345,2346,2347,2348]]},{"type":"MultiPolygon","properties":{"admin":"Canada","name":"Canada","postal":"CA","pop_est":33487208,"iso_a2":"CA","iso_a3":"CAN"},"id":124,"arcs":[[[1500,1501]],[[2216,2217,2218,2215]],[[1490,1491,1492,1493,1494,1495,1496,1497]],[[1480,1481,1482,1483,1484,1485,1486,1487,1488,1489]],[[500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,2349,2350,2351,986,2352,2353,2354,2355,2356,2357,2358,2359]],[[1473,1474,1475,1476,1477,1478]],[[2142,2143,2144,2145,2146,2147,2148,2149,2150,2151,2152,2153,2154,2155,2156]],[[2157,2158,2159,2160,2161,2162,2163,2164,2165,2166,2167,2168,2169,2170,2171,2172,2173,2174,2175,2176,2177,2178,2179,2180,2181,2182,2183,2184,2185,2186,2187,2188,2189,2190,2191,2192,2193,2194,2195,2196]],[[2201,2202,2203,2204]],[[1513,1514,1515,1516]],[[1517,1518,1519,1520]],[[1524,1525,1526]],[[1527,1528,1529,1530,1531,1532,1533]],[[1563,1564,1565]],[[1994,1995]],[[1800,1801]],[[1854,1855,1856,1857]],[[1820,1821,1822,1823]],[[1858,1859,1860,1861,2360,1863,1864,1865]],[[1831,1832,1833]],[[1834]],[[1835,1836,1837,1838,1839,1840,1841,1842,1843,1844,1845,1846,1847,1848,1849,1850,1851]],[[1868,1869,1870]],[[1871,1872]],[[1806,1807]],[[1815,1816,1817]],[[1802,1803,1804,1805]],[[1818,1819]],[[1811,1812,1813,1814]],[[2012,2013]],[[2015,2016]],[[2005,2006,2007,2008,2009,2010,2011]],[[2361,2362,2363,1000,1001,1002,1003,1004,1005,1006,1007,2364,2365,1027,1028,1029,1019,1020,2366,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,2377,2378,2379,2380,2381,2382,2383,2384,2385,2386,2387,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499]],[[2027,2028,2029,2030,2031,2032,2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049,2050,2051,2052,2053,2054,2055,2056,2057,2058,2059,2060,2061,2062,2063,2064,2065,2066,2067,2068,2069,2070,2071,2072,2073]],[[2115,2116,2117,2118]],[[2131,2132,2133,2134,2135,2136,2137,2138]],[[1873,1874,1875,1876,1877,1878,1879,1880,1881,1882,1883,1884,1885,1886,1887,1888,1889,1890,1891,1892,1893,1894,1895,1896,1897,1898,1899,1900,1901,1902,1903,1904,1905,1906,1907,1908,1909,1910,1911,1912,1913,1914,1915,1916,1917,1918,1919,1920,1921,1922,1923,1924,1925,1926,1927,1928,1929,1930,1931,1932,1933,1934,1935,1936,1937,1938,1939,1940,1941,1942,1943,1944,1945,1946,1947,1948,1949,1950,1951,1952,1953,1954,1955,1956,1957,1958,1959,1960,1961,1962,1963,1964,1965,1966,1967,1968,1969,1970,1971,1972,1973,1974,1975,1976,1977,1978,1979,1980,1981,1982,1983,1984,1985,1986,1987,1988,1989,1990]],[[2091,2092,2093,2094,2095,2096,2097,2098,2099,2100,2101,2102,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112]],[[2026]],[[2120,2121,2122,2123,2124,2125,2126,2127,2128,2129,2130]],[[2074,2075,2076,2077,2078,2079,2080,2081,2082,2083,2084,2085,2086,2087,2088,2089,2090]],[[1613,1614,1615,1616]],[[1617,1618,1619,1620,1621]],[[1689]],[[1703,1704,1705]],[[1706,1707,1708]],[[1690,1691,1692,1693,1694,1695,1696,1697,1698,1699,1700,1701,1702]],[[1637,1638,1639,1640,1641,1642,1643,1644,1645,1646,1647,1648,1649,1650,1651,1652,1653,1654,1655,1656,1657,1658,1659,1660,1661,1662,1663,1664]],[[1667,1668,1669,1670,1671,1672,1673,1674,1675,1676,1677,1678,1679,1680,1681,1682,1683,1684,1685,1686,1687,1688]],[[1710,1711,1712,1713,1714,1715,1716,1717,1718,1719,1720]],[[1626,1627,1628]],[[1633]],[[1634,1635,1636]],[[1623,1624,1625]],[[1630,1631,1632]],[[267]],[[268,269,270,271]],[[274,275,276,277,278,279,280,281,282,283]],[[308,309]],[[284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306]],[[1722,1723,1724,1725,1726,1727,1728,1729,1730,1731,1732,1733,1734,1735,1736,1737,1738,1739,1740,1741,1742,1743,1744,1745,1746,1747,1748,1749,1750,1751,1752,1753,1754,1755,1756,1757,1758,1759,1760,1761,1762,1763,1764,1765,1766,1767,1768,1769,1770,1771,1772,1773,1774,1775,1776,1777,1778,1779,1780,1781,1782,1783,1784,1785,1786,1787,1788,1789,1790,1791]]]},{"type":"Polygon","properties":{"admin":"Switzerland","name":"Switzerland","postal":"CH","pop_est":7604467,"iso_a2":"CH","iso_a3":"CHE"},"id":756,"arcs":[[1362,-2268,2388,-2266,2389,2390,2391,2392,2393]]},{"type":"MultiPolygon","properties":{"admin":"Chile","name":"Chile","postal":"CL","pop_est":16601707,"iso_a2":"CL","iso_a3":"CHL"},"id":152,"arcs":[[[30]],[[29]],[[28]],[[27]],[[114]],[[113]],[[-2251,116]],[[149]],[[121]],[[117]],[[122]],[[120]],[[118]],[[123]],[[125]],[[124]],[[131]],[[-2255,671,2394,-2317]]]},{"type":"MultiPolygon","properties":{"admin":"China","name":"China","postal":"CN","pop_est":1338612970,"iso_a2":"CN","iso_a3":"CHN"},"id":156,"arcs":[[[101]],[[1441]],[[2395,1352,2396,2397,2398,1152,2399,1155,2400,1157,2401,2402,2403,2404,-2340,2405,2406,2407,2408,2409,2410,2411,2412,2413,2414,2415,2416,2417,2418,2419,-2229,2420,2421,2422,2423,2424,2425]]]},{"type":"Polygon","properties":{"admin":"Ivory Coast","name":"Côte d'Ivoire","postal":"CI","pop_est":20617068,"iso_a2":"CI","iso_a3":"CIV"},"id":384,"arcs":[[-2296,2426,1206,2427,2428,2429]]},{"type":"Polygon","properties":{"admin":"Cameroon","name":"Cameroon","postal":"CM","pop_est":18879301,"iso_a2":"CM","iso_a3":"CMR"},"id":120,"arcs":[[-2348,2430,2431,2432,1199,2433,2434,2435]]},{"type":"Polygon","properties":{"admin":"Democratic Republic of the Congo","name":"Dem. Rep. Congo","postal":"DRC","pop_est":68692542,"iso_a2":"CD","iso_a3":"COD"},"id":180,"arcs":[[2436,2437,2438,1316,2439,2440,1304,2441,2442,2443,2444,1290,2445,2446,-2280,2447,1311,2448,2449,-2238,1194,-2240,2450,-2346]]},{"type":"Polygon","properties":{"admin":"Republic of Congo","name":"Congo","postal":"CG","pop_est":4012809,"iso_a2":"CG","iso_a3":"COG"},"id":178,"arcs":[[-2451,-2239,1196,2451,-2431,-2347]]},{"type":"Polygon","properties":{"admin":"Colombia","name":"Colombia","postal":"CO","pop_est":45644023,"iso_a2":"CO","iso_a3":"COL"},"id":170,"arcs":[[2452,-2333,2453,2454,674,2455,663]]},{"type":"MultiPolygon","properties":{"admin":"Comoros","name":"Comoros","postal":"KM","pop_est":752438,"iso_a2":"KM","iso_a3":"COM"},"id":174,"arcs":[[[238]],[[240]]]},{"type":"MultiPolygon","properties":{"admin":"Cape Verde","name":"Cape Verde","postal":"CV","pop_est":429474,"iso_a2":"CV","iso_a3":"CPV"},"id":132,"arcs":[[[81]],[[83]],[[86]],[[85]]]},{"type":"Polygon","properties":{"admin":"Costa Rica","name":"Costa Rica","postal":"CR","pop_est":4253877,"iso_a2":"CR","iso_a3":"CRI"},"id":188,"arcs":[[661,2456,676,2457]]},{"type":"MultiPolygon","properties":{"admin":"Cuba","name":"Cuba","postal":"CU","pop_est":11451652,"iso_a2":"CU","iso_a3":"CUB"},"id":192,"arcs":[[[325]],[[326]]]},{"type":"Polygon","properties":{"admin":"Northern Cyprus","name":"N. Cyprus","postal":"CN","pop_est":265100,"iso_a2":"-99","iso_a3":"-99"},"id":-99,"arcs":[[2458,1449]]},{"type":"Polygon","properties":{"admin":"Cyprus","name":"Cyprus","postal":"CY","pop_est":531640,"iso_a2":"CY","iso_a3":"CYP"},"id":196,"arcs":[[-2459,1448]]},{"type":"Polygon","properties":{"admin":"Czech Republic","name":"Czech Rep.","postal":"CZ","pop_est":10211904,"iso_a2":"CZ","iso_a3":"CZE"},"id":203,"arcs":[[2459,2460,-2271,2461]]},{"type":"MultiPolygon","properties":{"admin":"Germany","name":"Germany","postal":"D","pop_est":82329758,"iso_a2":"DE","iso_a3":"DEU"},"id":276,"arcs":[[[2206]],[[2462,1256,2463,2464,-2462,-2270,2465,1361,-2394,-2393,-2392,2466,2467,-2284,2468,1252,2469,2470]]]},{"type":"Polygon","properties":{"admin":"Djibouti","name":"Djibouti","postal":"DJ","pop_est":516055,"iso_a2":"DJ","iso_a3":"DJI"},"id":262,"arcs":[[2471,2472,2473,1185]]},{"type":"Polygon","properties":{"admin":"Dominica","name":"Dominica","postal":"DM","pop_est":72660,"iso_a2":"DM","iso_a3":"DMA"},"id":212,"arcs":[[80]]},{"type":"MultiPolygon","properties":{"admin":"Denmark","name":"Denmark","postal":"DK","pop_est":5500510,"iso_a2":"DK","iso_a3":"DNK"},"id":208,"arcs":[[[1534]],[[1542]],[[1546]],[[1543]],[[2474,-2471,2475,1254]]]},{"type":"Polygon","properties":{"admin":"Dominican Republic","name":"Dominican Rep.","postal":"DO","pop_est":9650054,"iso_a2":"DO","iso_a3":"DOM"},"id":214,"arcs":[[2476,98]]},{"type":"Polygon","properties":{"admin":"Algeria","name":"Algeria","postal":"DZ","pop_est":34178188,"iso_a2":"DZ","iso_a3":"DZA"},"id":12,"arcs":[[2477,2478,2479,2480,2481,2482,2483,1220]]},{"type":"MultiPolygon","properties":{"admin":"Ecuador","name":"Ecuador","postal":"EC","pop_est":14573101,"iso_a2":"EC","iso_a3":"ECU"},"id":218,"arcs":[[[173]],[[195]],[[188]],[[2484,673,-2455]]]},{"type":"Polygon","properties":{"admin":"Egypt","name":"Egypt","postal":"EG","pop_est":83082869,"iso_a2":"EG","iso_a3":"EGY"},"id":818,"arcs":[[2485,2486,1182,2487,2488,1223]]},{"type":"MultiPolygon","properties":{"admin":"Eritrea","name":"Eritrea","postal":"ER","pop_est":5647168,"iso_a2":"ER","iso_a3":"ERI"},"id":232,"arcs":[[[1184,-2474,2489,2490]]]},{"type":"MultiPolygon","properties":{"admin":"Spain","name":"Spain","postal":"E","pop_est":40525002,"iso_a2":"ES","iso_a3":"ESP"},"id":724,"arcs":[[[1443]],[[1445]],[[1446]],[[1438]],[[1460]],[[1465]],[[2491,-2493,2493,1245,2494,1247]]]},{"type":"MultiPolygon","properties":{"admin":"Estonia","name":"Estonia","postal":"EST","pop_est":1299371,"iso_a2":"EE","iso_a3":"EST"},"id":233,"arcs":[[[1609]],[[1554]],[[2495,2496,1397,2497,2498,2499,1268]]]},{"type":"Polygon","properties":{"admin":"Ethiopia","name":"Ethiopia","postal":"ET","pop_est":85237338,"iso_a2":"ET","iso_a3":"ETH"},"id":231,"arcs":[[-2473,2500,2501,2502,2503,2504,-2490]]},{"type":"Polygon","properties":{"admin":"Finland","name":"Finland","postal":"FIN","pop_est":5250275,"iso_a2":"FI","iso_a3":"FIN"},"id":246,"arcs":[[2505,1270,2506,2507]]},{"type":"MultiPolygon","properties":{"admin":"Fiji","name":"Fiji","postal":"FJ","pop_est":944720,"iso_a2":"FJ","iso_a3":"FJI"},"id":242,"arcs":[[[142]],[[146]]]},{"type":"MultiPolygon","properties":{"admin":"Falkland Islands","name":"Falkland Is.","postal":"FK","pop_est":3140,"iso_a2":"FK","iso_a3":"FLK"},"id":238,"arcs":[[[151]],[[150]]]},{"type":"MultiPolygon","properties":{"admin":"France","name":"France","postal":"F","pop_est":64057792,"iso_a2":"FR","iso_a3":"FRA"},"id":250,"arcs":[[[139]],[[-2324,2508,667]],[[87]],[[82]],[[84]],[[1459]],[[2509,-2467,-2391,2510,2511,1244,-2494,-2513,-2492,1248,-2286]]]},{"type":"Polygon","properties":{"admin":"Faroe Islands","name":"Faeroe Is.","postal":"FO","pop_est":48856,"iso_a2":"FO","iso_a3":"FRO"},"id":234,"arcs":[[1853]]},{"type":"Polygon","properties":{"admin":"Gabon","name":"Gabon","postal":"GA","pop_est":1514993,"iso_a2":"GA","iso_a3":"GAB"},"id":266,"arcs":[[-2452,1197,2513,-2432]]},{"type":"MultiPolygon","properties":{"admin":"United Kingdom","name":"United Kingdom","postal":"GB","pop_est":62262000,"iso_a2":"GB","iso_a3":"GBR"},"id":826,"arcs":[[[2205]],[[2514,2208]],[[1553]],[[1569]],[[1600]],[[1607]],[[2209]],[[1993]]]},{"type":"Polygon","properties":{"admin":"Georgia","name":"Georgia","postal":"GE","pop_est":4615807,"iso_a2":"GE","iso_a3":"GEO"},"id":268,"arcs":[[-2275,-2260,2515,1229,2516]]},{"type":"Polygon","properties":{"admin":"Ghana","name":"Ghana","postal":"GH","pop_est":23832495,"iso_a2":"GH","iso_a3":"GHA"},"id":288,"arcs":[[2517,1203,2518,1205,-2427,-2295]]},{"type":"Polygon","properties":{"admin":"Guinea","name":"Guinea","postal":"GN","pop_est":10057975,"iso_a2":"GN","iso_a3":"GIN"},"id":324,"arcs":[[2519,-2429,2520,2521,1209,2522,2523]]},{"type":"Polygon","properties":{"admin":"Gambia","name":"Gambia","postal":"GM","pop_est":1782893,"iso_a2":"GM","iso_a3":"GMB"},"id":270,"arcs":[[1212,2524]]},{"type":"Polygon","properties":{"admin":"Guinea Bissau","name":"Guinea-Bissau","postal":"GW","pop_est":1533964,"iso_a2":"GW","iso_a3":"GNB"},"id":624,"arcs":[[1210,2525,-2523]]},{"type":"MultiPolygon","properties":{"admin":"Equatorial Guinea","name":"Eq. Guinea","postal":"GQ","pop_est":650702,"iso_a2":"GQ","iso_a3":"GNQ"},"id":226,"arcs":[[[1198,-2433,-2514]],[[106]]]},{"type":"MultiPolygon","properties":{"admin":"Greece","name":"Greece","postal":"GR","pop_est":10737428,"iso_a2":"GR","iso_a3":"GRC"},"id":300,"arcs":[[[1451]],[[1447]],[[1454]],[[1455]],[[1462]],[[1463]],[[1461]],[[1464]],[[1235,-2243,2526,-2301,2527]]]},{"type":"MultiPolygon","properties":{"admin":"Greenland","name":"Greenland","postal":"GL","pop_est":57600,"iso_a2":"GL","iso_a3":"GRL"},"id":304,"arcs":[[[2017]],[[2018]],[[2003]],[[2025]],[[1622]],[[1709]],[[307]],[[312]],[[2113]]]},{"type":"Polygon","properties":{"admin":"Guatemala","name":"Guatemala","postal":"GT","pop_est":13276517,"iso_a2":"GT","iso_a3":"GTM"},"id":320,"arcs":[[-2314,658,2528,2529,680,2530]]},{"type":"Polygon","properties":{"admin":"Guam","name":"Guam","postal":"GU","pop_est":178430,"iso_a2":"GU","iso_a3":"GUM"},"id":316,"arcs":[[88]]},{"type":"Polygon","properties":{"admin":"Guyana","name":"Guyana","postal":"GY","pop_est":772298,"iso_a2":"GY","iso_a3":"GUY"},"id":328,"arcs":[[2531,-2335,2532,665]]},{"type":"Polygon","properties":{"admin":"Hong Kong S.A.R.","name":"Hong Kong","postal":"HK","pop_est":7061200,"iso_a2":"HK","iso_a3":"HKG"},"id":344,"arcs":[[-2400,2533,1154]]},{"type":"Polygon","properties":{"admin":"Honduras","name":"Honduras","postal":"HN","pop_est":7792854,"iso_a2":"HN","iso_a3":"HND"},"id":340,"arcs":[[2534,678,2535,-2529,659]]},{"type":"MultiPolygon","properties":{"admin":"Croatia","name":"Croatia","postal":"HR","pop_est":4489409,"iso_a2":"HR","iso_a3":"HRV"},"id":191,"arcs":[[[-2307,2536,1238]],[[2537,-2308,1240,2538,2539]]]},{"type":"MultiPolygon","properties":{"admin":"Haiti","name":"Haiti","postal":"HT","pop_est":9035536,"iso_a2":"HT","iso_a3":"HTI"},"id":332,"arcs":[[[-2477,99]]]},{"type":"Polygon","properties":{"admin":"Hungary","name":"Hungary","postal":"HU","pop_est":9905596,"iso_a2":"HU","iso_a3":"HUN"},"id":348,"arcs":[[2540,2541,2542,-2540,2543,-2263,2544]]},{"type":"MultiPolygon","properties":{"admin":"Indonesia","name":"Indonesia","postal":"INDO","pop_est":240271522,"iso_a2":"ID","iso_a3":"IDN"},"id":360,"arcs":[[[245]],[[203]],[[2545,207,2546,2547,2548,210,2549,2550]],[[214]],[[219]],[[218]],[[223]],[[220]],[[216]],[[213]],[[217]],[[225]],[[226]],[[228]],[[153]],[[155]],[[227]],[[164]],[[167]],[[169]],[[157]],[[171]],[[158]],[[162]],[[159]],[[160]],[[175]],[[176]],[[177]],[[178]],[[179]],[[182]],[[181]],[[183]],[[180]],[[185]],[[184]],[[187]],[[190]],[[189]],[[192]],[[191]],[[2551,2552,2553,2554,232]],[[197]],[[196]],[[198]],[[248]],[[253]],[[254]],[[255]],[[256]],[[252]],[[257]],[[186]],[[102]],[[259]],[[103]],[[104]],[[107]],[[2555,261,2556]],[[105]],[[258]]]},{"type":"Polygon","properties":{"admin":"Isle of Man","name":"Isle of Man","postal":"IM","pop_est":76512,"iso_a2":"IM","iso_a3":"IMN"},"id":833,"arcs":[[2200]]},{"type":"MultiPolygon","properties":{"admin":"India","name":"India","postal":"IND","pop_est":1166079220,"iso_a2":"IN","iso_a3":"IND"},"id":356,"arcs":[[[111]],[[52]],[[92]],[[-2412,2557,-2410,2558,-2408,2559,-2406,-2339,-2405,2560,-2299,1165,2561,2562,2563,-2417,2564,-2415,2565,-2413]]]},{"type":"Polygon","properties":{"admin":"Ireland","name":"Ireland","postal":"IRL","pop_est":4203200,"iso_a2":"IE","iso_a3":"IRL"},"id":372,"arcs":[[2207,-2515]]},{"type":"MultiPolygon","properties":{"admin":"Iran","name":"Iran","postal":"IRN","pop_est":66429284,"iso_a2":"IR","iso_a3":"IRN"},"id":364,"arcs":[[[1435]],[[-2257,-2274,1275,2566,-2232,2567,2568,2569,1168,2570,2571,-2272]]]},{"type":"Polygon","properties":{"admin":"Iraq","name":"Iraq","postal":"IRQ","pop_est":31129225,"iso_a2":"IQ","iso_a3":"IRQ"},"id":368,"arcs":[[-2571,1169,2572,2573,2574,2575,2576]]},{"type":"Polygon","properties":{"admin":"Iceland","name":"Iceland","postal":"IS","pop_est":306694,"iso_a2":"IS","iso_a3":"ISL"},"id":352,"arcs":[[1852]]},{"type":"Polygon","properties":{"admin":"Israel","name":"Israel","postal":"IS","pop_est":7233701,"iso_a2":"IL","iso_a3":"ISR"},"id":376,"arcs":[[2577,2578,2579,2580,2581,1181,-2487,2582,1225,2583,2584]]},{"type":"MultiPolygon","properties":{"admin":"Italy","name":"Italy","postal":"I","pop_est":58126212,"iso_a2":"IT","iso_a3":"ITA"},"id":380,"arcs":[[[1452]],[[1466]],[[2585,1242,-2511,-2390,-2265]]]},{"type":"Polygon","properties":{"admin":"Jamaica","name":"Jamaica","postal":"J","pop_est":2825928,"iso_a2":"JM","iso_a3":"JAM"},"id":388,"arcs":[[97]]},{"type":"Polygon","properties":{"admin":"Jordan","name":"Jordan","postal":"J","pop_est":6342948,"iso_a2":"JO","iso_a3":"JOR"},"id":400,"arcs":[[2586,1180,-2582,-2581,-2580,2587,2588,-2578,2589,-2575]]},{"type":"MultiPolygon","properties":{"admin":"Japan","name":"Japan","postal":"J","pop_est":127078679,"iso_a2":"JP","iso_a3":"JPN"},"id":392,"arcs":[[[1432]],[[1444]],[[1467]],[[1470]],[[1450]],[[1453]],[[1471]],[[1499]]]},{"type":"Polygon","properties":{"admin":"Siachen Glacier","name":"Siachen Glacier","postal":"SG","pop_est":6000,"iso_a2":"-99","iso_a3":"-99"},"id":-99,"arcs":[[-2563,2590,-2419]]},{"type":"MultiPolygon","properties":{"admin":"Kazakhstan","name":"Kazakhstan","postal":"KZ","pop_est":15399437,"iso_a2":"KZ","iso_a3":"KAZ"},"id":398,"arcs":[[[2591,2592,2593,1372]],[[-2423,2594,2595,2596,1376,2597,2598,2599,1277,2600]]]},{"type":"Polygon","properties":{"admin":"Kenya","name":"Kenya","postal":"KE","pop_est":39002772,"iso_a2":"KE","iso_a3":"KEN"},"id":404,"arcs":[[2601,1188,2602,2603,1299,2604,2605,2606,-2503]]},{"type":"Polygon","properties":{"admin":"Kyrgyzstan","name":"Kyrgyzstan","postal":"KG","pop_est":5431747,"iso_a2":"KG","iso_a3":"KGZ"},"id":417,"arcs":[[-2422,2607,2608,-2595]]},{"type":"Polygon","properties":{"admin":"Cambodia","name":"Cambodia","postal":"KH","pop_est":14494293,"iso_a2":"KH","iso_a3":"KHM"},"id":116,"arcs":[[1159,2609,2610,2611]]},{"type":"MultiPolygon","properties":{"admin":"South Korea","name":"Korea","postal":"KR","pop_est":48508972,"iso_a2":"KR","iso_a3":"KOR"},"id":410,"arcs":[[[1469]],[[1150,2612]]]},{"type":"Polygon","properties":{"admin":"Kosovo","name":"Kosovo","postal":"KO","pop_est":1804838,"iso_a2":"-99","iso_a3":"-99"},"id":-99,"arcs":[[2613,-2241,2614,2615]]},{"type":"MultiPolygon","properties":{"admin":"Kuwait","name":"Kuwait","postal":"KW","pop_est":2691158,"iso_a2":"KW","iso_a3":"KWT"},"id":414,"arcs":[[[1442]],[[2616,-2573,1170]]]},{"type":"Polygon","properties":{"admin":"Laos","name":"Lao PDR","postal":"LA","pop_est":6834942,"iso_a2":"LA","iso_a3":"LAO"},"id":418,"arcs":[[2617,-2611,2618,2619,-2403]]},{"type":"Polygon","properties":{"admin":"Lebanon","name":"Lebanon","postal":"LB","pop_est":4017095,"iso_a2":"LB","iso_a3":"LBN"},"id":422,"arcs":[[-2584,1226,2620]]},{"type":"Polygon","properties":{"admin":"Liberia","name":"Liberia","postal":"LR","pop_est":3441790,"iso_a2":"LR","iso_a3":"LBR"},"id":430,"arcs":[[-2428,1207,2621,-2521]]},{"type":"Polygon","properties":{"admin":"Libya","name":"Libya","postal":"LY","pop_est":6310434,"iso_a2":"LY","iso_a3":"LBY"},"id":434,"arcs":[[-2489,2622,2623,2624,-2479,2625,1222]]},{"type":"Polygon","properties":{"admin":"Sri Lanka","name":"Sri Lanka","postal":"LK","pop_est":21324791,"iso_a2":"LK","iso_a3":"LKA"},"id":144,"arcs":[[108]]},{"type":"Polygon","properties":{"admin":"Lesotho","name":"Lesotho","postal":"LS","pop_est":2130819,"iso_a2":"LS","iso_a3":"LSO"},"id":426,"arcs":[[2626]]},{"type":"Polygon","properties":{"admin":"Lithuania","name":"Lithuania","postal":"LT","pop_est":3555179,"iso_a2":"LT","iso_a3":"LTU"},"id":440,"arcs":[[-2312,2627,2628,2629,1266,2630]]},{"type":"Polygon","properties":{"admin":"Luxembourg","name":"Luxembourg","postal":"L","pop_est":491775,"iso_a2":"LU","iso_a3":"LUX"},"id":442,"arcs":[[-2468,-2510,-2285]]},{"type":"Polygon","properties":{"admin":"Latvia","name":"Latvia","postal":"LV","pop_est":2231503,"iso_a2":"LV","iso_a3":"LVA"},"id":428,"arcs":[[2631,-2313,-2631,1267,-2500]]},{"type":"Polygon","properties":{"admin":"Morocco","name":"Morocco","postal":"MA","pop_est":34859364,"iso_a2":"MA","iso_a3":"MAR"},"id":504,"arcs":[[-2484,2632,2633,1217,2634,1219]]},{"type":"Polygon","properties":{"admin":"Moldova","name":"Moldova","postal":"MD","pop_est":4320748,"iso_a2":"MD","iso_a3":"MDA"},"id":498,"arcs":[[2635,2636]]},{"type":"Polygon","properties":{"admin":"Madagascar","name":"Madagascar","postal":"MG","pop_est":20653556,"iso_a2":"MG","iso_a3":"MDG"},"id":450,"arcs":[[235]]},{"type":"MultiPolygon","properties":{"admin":"Mexico","name":"Mexico","postal":"MX","pop_est":111211789,"iso_a2":"MX","iso_a3":"MEX"},"id":484,"arcs":[[[1439]],[[1440]],[[2637,2638,2639,2640,2641,2642,2643,2644,2645,2646,2647,2648,2649,2650,2651,2652,2653,2654,656,-2315,-2531,681,2655,2656,2657]]]},{"type":"Polygon","properties":{"admin":"Macedonia","name":"Macedonia","postal":"MK","pop_est":2066718,"iso_a2":"MK","iso_a3":"MKD"},"id":807,"arcs":[[-2302,-2527,-2242,-2614,2658]]},{"type":"Polygon","properties":{"admin":"Mali","name":"Mali","postal":"ML","pop_est":12666987,"iso_a2":"ML","iso_a3":"MLI"},"id":466,"arcs":[[2659,-2297,-2430,-2520,2660,2661,-2481]]},{"type":"MultiPolygon","properties":{"admin":"Myanmar","name":"Myanmar","postal":"MM","pop_est":48137741,"iso_a2":"MM","iso_a3":"MMR"},"id":104,"arcs":[[[-2620,2662,1163,-2298,-2561,-2404]]]},{"type":"Polygon","properties":{"admin":"Montenegro","name":"Montenegro","postal":"ME","pop_est":672180,"iso_a2":"ME","iso_a3":"MNE"},"id":499,"arcs":[[2663,-2615,-2247,2664,1383,2665,-2244,1237,-2537,-2306]]},{"type":"Polygon","properties":{"admin":"Mongolia","name":"Mongolia","postal":"MN","pop_est":3041142,"iso_a2":"MN","iso_a3":"MNG"},"id":496,"arcs":[[-2425,2666]]},{"type":"Polygon","properties":{"admin":"Mozambique","name":"Mozambique","postal":"MZ","pop_est":21669278,"iso_a2":"MZ","iso_a3":"MOZ"},"id":508,"arcs":[[2667,2668,2669,2670,2671,2672,2673,1284,2674,2675,1190]]},{"type":"Polygon","properties":{"admin":"Mauritania","name":"Mauritania","postal":"MR","pop_est":3129486,"iso_a2":"MR","iso_a3":"MRT"},"id":478,"arcs":[[2676,1214,2677,-2482,-2662]]},{"type":"Polygon","properties":{"admin":"Mauritius","name":"Mauritius","postal":"MU","pop_est":1284264,"iso_a2":"MU","iso_a3":"MUS"},"id":480,"arcs":[[141]]},{"type":"Polygon","properties":{"admin":"Malawi","name":"Malawi","postal":"MW","pop_est":14268711,"iso_a2":"MW","iso_a3":"MWI"},"id":454,"arcs":[[1287,2678,-2673,2679,2680]]},{"type":"MultiPolygon","properties":{"admin":"Malaysia","name":"Malaysia","postal":"MY","pop_est":25715819,"iso_a2":"MY","iso_a3":"MYS"},"id":458,"arcs":[[[1161,2681]],[[2682,-2557,262,2683,-2337,-2336,266]]]},{"type":"Polygon","properties":{"admin":"Namibia","name":"Namibia","postal":"NA","pop_est":2108665,"iso_a2":"NA","iso_a3":"NAM"},"id":516,"arcs":[[2684,-2343,2685,1192,-2237]]},{"type":"MultiPolygon","properties":{"admin":"New Caledonia","name":"New Caledonia","postal":"NC","pop_est":227436,"iso_a2":"NC","iso_a3":"NCL"},"id":540,"arcs":[[[140]],[[138]]]},{"type":"Polygon","properties":{"admin":"Niger","name":"Niger","postal":"NE","pop_est":15306252,"iso_a2":"NE","iso_a3":"NER"},"id":562,"arcs":[[2686,2687,-2292,-2293,-2660,-2480,-2625]]},{"type":"Polygon","properties":{"admin":"Nigeria","name":"Nigeria","postal":"NG","pop_est":149229090,"iso_a2":"NG","iso_a3":"NGA"},"id":566,"arcs":[[2688,-2434,1200,-2289,-2688]]},{"type":"Polygon","properties":{"admin":"Nicaragua","name":"Nicaragua","postal":"NI","pop_est":5891199,"iso_a2":"NI","iso_a3":"NIC"},"id":558,"arcs":[[660,-2458,677,-2535]]},{"type":"MultiPolygon","properties":{"admin":"Netherlands","name":"Netherlands","postal":"NL","pop_est":16715999,"iso_a2":"NL","iso_a3":"NLD"},"id":528,"arcs":[[[-2287,1250]],[[2224]],[[1251,-2469,-2283,2689,-2288],[1388]]]},{"type":"MultiPolygon","properties":{"admin":"Norway","name":"Norway","postal":"N","pop_est":4676305,"iso_a2":"NO","iso_a3":"NOR"},"id":578,"arcs":[[[1810]],[[1809]],[[2014]],[[2019]],[[2002]],[[2690,-2508,2691,1143]],[[2021]],[[1629]],[[1721]],[[313]]]},{"type":"Polygon","properties":{"admin":"Nepal","name":"Nepal","postal":"NP","pop_est":28563377,"iso_a2":"NP","iso_a3":"NPL"},"id":524,"arcs":[[-2560,-2407]]},{"type":"MultiPolygon","properties":{"admin":"New Zealand","name":"New Zealand","postal":"NZ","pop_est":4213418,"iso_a2":"NZ","iso_a3":"NZL"},"id":554,"arcs":[[[126]],[[45]],[[130]],[[133]]]},{"type":"MultiPolygon","properties":{"admin":"Oman","name":"Oman","postal":"OM","pop_est":3418085,"iso_a2":"OM","iso_a3":"OMN"},"id":512,"arcs":[[[78]],[[1177,2692,2693,-2248]],[[-2250,1175]]]},{"type":"Polygon","properties":{"admin":"Pakistan","name":"Pakistan","postal":"PK","pop_est":176242949,"iso_a2":"PK","iso_a3":"PAK"},"id":586,"arcs":[[-2591,-2562,1166,2694,-2569,-2230,-2420]]},{"type":"MultiPolygon","properties":{"admin":"Panama","name":"Panama","postal":"PA","pop_est":3360474,"iso_a2":"PA","iso_a3":"PAN"},"id":591,"arcs":[[[56]],[[-2456,675,-2457,662]]]},{"type":"Polygon","properties":{"admin":"Peru","name":"Peru","postal":"PE","pop_est":29546963,"iso_a2":"PE","iso_a3":"PER"},"id":604,"arcs":[[-2332,-2321,2695,966,2696,962,2697,-2318,-2395,672,-2485,-2454]]},{"type":"MultiPolygon","properties":{"admin":"Philippines","name":"Philippines","postal":"PH","pop_est":97976603,"iso_a2":"PH","iso_a3":"PHL"},"id":608,"arcs":[[[110]],[[109]],[[112]],[[59]],[[49]],[[60]],[[61]],[[58]],[[53]],[[54]],[[79]],[[55]],[[89]],[[90]],[[93]],[[94]],[[95]],[[96]]]},{"type":"MultiPolygon","properties":{"admin":"Papua New Guinea","name":"Papua New Guinea","postal":"PG","pop_est":6057263,"iso_a2":"PG","iso_a3":"PNG"},"id":598,"arcs":[[[244]],[[202]],[[200]],[[201]],[[204]],[[166]],[[163]],[[165]],[[170]],[[2698,-2554,2699,2700,230]],[[161]],[[172]],[[174]]]},{"type":"Polygon","properties":{"admin":"Poland","name":"Poland","postal":"PL","pop_est":38482919,"iso_a2":"PL","iso_a3":"POL"},"id":616,"arcs":[[2701,-2628,-2311,2702,2703,-2460,-2465,2704,1258,2705,-2707,1261]]},{"type":"Polygon","properties":{"admin":"Puerto Rico","name":"Puerto Rico","postal":"PR","pop_est":3971020,"iso_a2":"PR","iso_a3":"PRI"},"id":630,"arcs":[[100]]},{"type":"Polygon","properties":{"admin":"North Korea","name":"Dem. Rep. Korea","postal":"KP","pop_est":22665345,"iso_a2":"KP","iso_a3":"PRK"},"id":408,"arcs":[[2707,1149,-2613,1151,-2399]]},{"type":"MultiPolygon","properties":{"admin":"Portugal","name":"Portugal","postal":"P","pop_est":10707924,"iso_a2":"PT","iso_a3":"PRT"},"id":620,"arcs":[[[1468]],[[1246,-2495]]]},{"type":"Polygon","properties":{"admin":"Paraguay","name":"Paraguay","postal":"PY","pop_est":6995655,"iso_a2":"PY","iso_a3":"PRY"},"id":600,"arcs":[[-2331,-2330,-2329,-2252,-2316]]},{"type":"MultiPolygon","properties":{"admin":"Palestine","name":"Palestine","postal":"PAL","pop_est":4119083,"iso_a2":"PS","iso_a3":"PSE"},"id":275,"arcs":[[[-2588,-2579,-2589]]]},{"type":"MultiPolygon","properties":{"admin":"French Polynesia","name":"Fr. Polynesia","postal":"PF","pop_est":287032,"iso_a2":"PF","iso_a3":"PYF"},"id":258,"arcs":[[[143]]]},{"type":"Polygon","properties":{"admin":"Qatar","name":"Qatar","postal":"QA","pop_est":833285,"iso_a2":"QA","iso_a3":"QAT"},"id":634,"arcs":[[2708,1172]]},{"type":"Polygon","properties":{"admin":"Romania","name":"Romania","postal":"RO","pop_est":22215421,"iso_a2":"RO","iso_a3":"ROU"},"id":642,"arcs":[[2709,1232,-2304,2710,-2542,2711,-2636]]},{"type":"MultiPolygon","properties":{"admin":"Russia","name":"Russia","postal":"RUS","pop_est":140041247,"iso_a2":"RU","iso_a3":"RUS"},"id":643,"arcs":[[[1498]],[[1502]],[[1479]],[[2141]],[[2198]],[[1535]],[[2712,-2629,-2702,1262,2713,1264]],[[1541]],[[1608]],[[2714,1867]],[[1808]],[[2004]],[[2001]],[[2020]],[[2022]],[[1996]],[[2715,1998,2716,2000]],[[2024]],[[2023]],[[2114]],[[2139]],[[2119]],[[1610]],[[1611]],[[1612]],[[1666]],[[1665]],[[2140]],[[2717,1148,-2708,-2398,2718,1354,2719,-2426,-2667,-2424,-2601,1273,-2276,-2517,1230,2720,-2309,-2632,-2499,2721,1399,2722,-2496,1269,-2506,-2691,1144,2723,1146]],[[272]],[[310]],[[273]],[[311]],[[316]],[[317]],[[318]],[[314]],[[319]],[[321]],[[320]],[[315]],[[322]]]},{"type":"Polygon","properties":{"admin":"Rwanda","name":"Rwanda","postal":"RW","pop_est":10473282,"iso_a2":"RW","iso_a3":"RWA"},"id":646,"arcs":[[2724,-2281,-2447,2725,1292,2726,-2444,2727]]},{"type":"Polygon","properties":{"admin":"Western Sahara","name":"W. Sahara","postal":"WS","pop_est":-99,"iso_a2":"EH","iso_a3":"ESH"},"id":732,"arcs":[[-2483,-2678,1215,2728,-2633]]},{"type":"MultiPolygon","properties":{"admin":"Saudi Arabia","name":"Saudi Arabia","postal":"SA","pop_est":28686633,"iso_a2":"SA","iso_a3":"SAU"},"id":682,"arcs":[[[-2617,1171,-2709,1173,-2249,-2694,2729,1179,-2587,-2574]]]},{"type":"Polygon","properties":{"admin":"Sudan","name":"Sudan","postal":"SD","pop_est":25946220,"iso_a2":"SD","iso_a3":"SDN"},"id":729,"arcs":[[1183,-2491,-2505,2730,-2344,2731,-2623,-2488]]},{"type":"Polygon","properties":{"admin":"South Sudan","name":"S. Sudan","postal":"SS","pop_est":10625176,"iso_a2":"SS","iso_a3":"SSD"},"id":728,"arcs":[[-2504,-2607,2732,-2437,-2345,-2731]]},{"type":"Polygon","properties":{"admin":"Senegal","name":"Senegal","postal":"SN","pop_est":13711597,"iso_a2":"SN","iso_a3":"SEN"},"id":686,"arcs":[[-2661,-2524,-2526,1211,-2525,1213,-2677]]},{"type":"Polygon","properties":{"admin":"South Georgia and South Sandwich Islands","name":"S. Geo. and S. Sandw. Is.","postal":"GS","pop_est":30,"iso_a2":"GS","iso_a3":"SGS"},"id":239,"arcs":[[26]]},{"type":"MultiPolygon","properties":{"admin":"Solomon Islands","name":"Solomon Is.","postal":"SB","pop_est":595613,"iso_a2":"SB","iso_a3":"SLB"},"id":90,"arcs":[[[241]],[[246]],[[199]],[[215]],[[205]],[[221]],[[224]],[[222]],[[152]]]},{"type":"MultiPolygon","properties":{"admin":"Sierra Leone","name":"Sierra Leone","postal":"SL","pop_est":6440053,"iso_a2":"SL","iso_a3":"SLE"},"id":694,"arcs":[[[57]],[[-2622,1208,-2522]]]},{"type":"Polygon","properties":{"admin":"El Salvador","name":"El Salvador","postal":"SV","pop_est":7185218,"iso_a2":"SV","iso_a3":"SLV"},"id":222,"arcs":[[-2536,679,-2530]]},{"type":"Polygon","properties":{"admin":"Somaliland","name":"Somaliland","postal":"SL","pop_est":3500000,"iso_a2":"-99","iso_a3":"-99"},"id":-99,"arcs":[[2733,-2501,-2472,1186]]},{"type":"Polygon","properties":{"admin":"Somalia","name":"Somalia","postal":"SO","pop_est":9832017,"iso_a2":"SO","iso_a3":"SOM"},"id":706,"arcs":[[-2602,-2502,-2734,1187]]},{"type":"Polygon","properties":{"admin":"Republic of Serbia","name":"Serbia","postal":"RS","pop_est":7379339,"iso_a2":"RS","iso_a3":"SRB"},"id":688,"arcs":[[-2711,-2303,-2659,-2616,-2664,-2305,-2538,-2543]]},{"type":"Polygon","properties":{"admin":"Sao Tome and Principe","name":"São Tomé and Principe","postal":"ST","pop_est":212679,"iso_a2":"ST","iso_a3":"STP"},"id":678,"arcs":[[250]]},{"type":"Polygon","properties":{"admin":"Suriname","name":"Suriname","postal":"SR","pop_est":481267,"iso_a2":"SR","iso_a3":"SUR"},"id":740,"arcs":[[-2509,-2323,-2532,666]]},{"type":"Polygon","properties":{"admin":"Slovakia","name":"Slovakia","postal":"SK","pop_est":5463046,"iso_a2":"SK","iso_a3":"SVK"},"id":703,"arcs":[[2734,-2545,-2262,-2461,-2704]]},{"type":"Polygon","properties":{"admin":"Slovenia","name":"Slovenia","postal":"SLO","pop_est":2005692,"iso_a2":"SI","iso_a3":"SVN"},"id":705,"arcs":[[-2539,1241,-2586,-2264,-2544]]},{"type":"MultiPolygon","properties":{"admin":"Sweden","name":"Sweden","postal":"S","pop_est":9059651,"iso_a2":"SE","iso_a3":"SWE"},"id":752,"arcs":[[[1588]],[[1576]],[[1271,2735,1142,-2692,-2507]]]},{"type":"Polygon","properties":{"admin":"Swaziland","name":"Swaziland","postal":"SW","pop_est":1123913,"iso_a2":"SZ","iso_a3":"SWZ"},"id":748,"arcs":[[-2669,2736]]},{"type":"Polygon","properties":{"admin":"Syria","name":"Syria","postal":"SYR","pop_est":20178485,"iso_a2":"SY","iso_a3":"SYR"},"id":760,"arcs":[[-2576,-2590,-2585,-2621,1227,2737]]},{"type":"Polygon","properties":{"admin":"Chad","name":"Chad","postal":"TD","pop_est":10329208,"iso_a2":"TD","iso_a3":"TCD"},"id":148,"arcs":[[-2732,-2349,-2436,-2435,-2689,-2687,-2624]]},{"type":"Polygon","properties":{"admin":"Togo","name":"Togo","postal":"TG","pop_est":6019877,"iso_a2":"TG","iso_a3":"TGO"},"id":768,"arcs":[[-2290,1202,-2518,-2294]]},{"type":"MultiPolygon","properties":{"admin":"Thailand","name":"Thailand","postal":"TH","pop_est":65905410,"iso_a2":"TH","iso_a3":"THA"},"id":764,"arcs":[[[-2619,-2610,1160,-2682,1162,-2663]]]},{"type":"Polygon","properties":{"admin":"Tajikistan","name":"Tajikistan","postal":"TJ","pop_est":7349145,"iso_a2":"TJ","iso_a3":"TJK"},"id":762,"arcs":[[-2608,-2421,-2235,2738]]},{"type":"Polygon","properties":{"admin":"Turkmenistan","name":"Turkmenistan","postal":"TM","pop_est":4884887,"iso_a2":"TM","iso_a3":"TKM"},"id":795,"arcs":[[-2233,-2567,1276,-2600,2739,2740,1382,2741,2742]]},{"type":"MultiPolygon","properties":{"admin":"East Timor","name":"Timor-Leste","postal":"TL","pop_est":1131612,"iso_a2":"TL","iso_a3":"TLS"},"id":626,"arcs":[[[2743,2744,-2548]],[[2745,-2551,2746,212]]]},{"type":"Polygon","properties":{"admin":"Trinidad and Tobago","name":"Trinidad and Tobago","postal":"TT","pop_est":1310000,"iso_a2":"TT","iso_a3":"TTO"},"id":780,"arcs":[[48]]},{"type":"MultiPolygon","properties":{"admin":"Tunisia","name":"Tunisia","postal":"TN","pop_est":10486339,"iso_a2":"TN","iso_a3":"TUN"},"id":788,"arcs":[[[-2626,-2478,1221]]]},{"type":"MultiPolygon","properties":{"admin":"Turkey","name":"Turkey","postal":"TR","pop_est":76805524,"iso_a2":"TR","iso_a3":"TUR"},"id":792,"arcs":[[[-2516,-2259,-2273,-2572,-2577,-2738,1228]],[[1234,-2528,-2300]]]},{"type":"Polygon","properties":{"admin":"Taiwan","name":"Taiwan","postal":"TW","pop_est":22974347,"iso_a2":"TW","iso_a3":"TWN"},"id":158,"arcs":[[1436]]},{"type":"MultiPolygon","properties":{"admin":"United Republic of Tanzania","name":"Tanzania","postal":"TZ","pop_est":41048532,"iso_a2":"TZ","iso_a3":"TZA"},"id":834,"arcs":[[[154]],[[168]],[[2210]],[[2211]],[[2747,1297,2748,-2603,1189,-2676,2749,1286,-2681,2750,2751,1307,2752,-2277,-2725,2753]]]},{"type":"MultiPolygon","properties":{"admin":"Uganda","name":"Uganda","postal":"UG","pop_est":32369558,"iso_a2":"UG","iso_a3":"UGA"},"id":800,"arcs":[[[2754,1295,2755,-2754,-2728,-2443,2756,1302,2757,-2440,1317,2758,-2438,-2733,-2606]]]},{"type":"Polygon","properties":{"admin":"Ukraine","name":"Ukraine","postal":"UA","pop_est":45700395,"iso_a2":"UA","iso_a3":"UKR"},"id":804,"arcs":[[1231,-2710,-2637,-2712,-2541,-2735,-2703,-2310,-2721]]},{"type":"Polygon","properties":{"admin":"Uruguay","name":"Uruguay","postal":"UY","pop_est":3494382,"iso_a2":"UY","iso_a3":"URY"},"id":858,"arcs":[[2759,953,2760,-2325,669,-2254,-2328]]},{"type":"MultiPolygon","properties":{"admin":"United States of America","name":"United States","postal":"US","pop_est":313973000,"iso_a2":"US","iso_a3":"USA"},"id":840,"arcs":[[[73,74,75,76,77]],[[62,63]],[[64,65,66]],[[68,69,70,71,72]],[[323,324]],[[1456,1457,1458]],[[2212,2213,2214]],[[2220,2221,2222,2223,2219]],[[-2374,-2373,-2372,-2371,-2370,-2369,2761,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1030,1031,1032,1033,1034,1035,1036,1037,1038,-2367,1021,1022,1023,1024,1025,1026,-2366,2762,1009,1010,1011,1012,1013,1014,2763,-2363,-2362,-2360,-2359,-2358,-2357,-2356,-2355,-2354,2764,984,2765,-2351,-2350,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,-2655,-2654,-2653,-2652,-2651,-2650,-2649,-2648,-2647,-2646,-2645,-2644,-2643,-2642,-2641,-2640,-2639,-2638,-2658,-2657,-2656,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,-2377,-2376,-2375]],[[1506]],[[1503,1504,1505]],[[1507,1508]],[[2199]],[[1509,1510,1511,1512]],[[1521,1522,1523]],[[1536,1537,1538,1539,1540]],[[1544,1545]],[[1547,1548,1549,1550,1551,1552]],[[1555,1556,1557,1558,1559,1560,1561,1562]],[[1566,1567,1568]],[[1570,1571,1572]],[[1595,1596,1597,1598,1599]],[[1589,1590,1591,1592,1593,1594]],[[1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587]],[[1604,1605,1606]],[[1601,1602,1603]],[[1573,1574,1575]],[[1797,1798,1799]],[[1792,1793,1794,1795,1796]],[[1824,1825,1826,1827,1828,1829,1830]],[[867,868,869,870,871,872,-2388,-2387,-2386,-2385,-2384,-2383,-2382,-2381,-2380,-2379,-2378,745,746,2766,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866]]]},{"type":"MultiPolygon","properties":{"admin":"Uzbekistan","name":"Uzbekistan","postal":"UZ","pop_est":27606007,"iso_a2":"UZ","iso_a3":"UZB"},"id":860,"arcs":[[[2767,-2593,2768,1374,2769,-2596,-2609,-2739,-2234,-2743,2770,1380,2771,-2740,-2599,2772,1370]]]},{"type":"MultiPolygon","properties":{"admin":"Venezuela","name":"Venezuela","postal":"VE","pop_est":26814843,"iso_a2":"VE","iso_a3":"VEN"},"id":862,"arcs":[[[51]],[[-2533,-2334,-2453,664]]]},{"type":"MultiPolygon","properties":{"admin":"Vietnam","name":"Vietnam","postal":"VN","pop_est":86967524,"iso_a2":"VN","iso_a3":"VNM"},"id":704,"arcs":[[[50]],[[1158,-2612,-2618,-2402]]]},{"type":"MultiPolygon","properties":{"admin":"Vanuatu","name":"Vanuatu","postal":"VU","pop_est":218519,"iso_a2":"VU","iso_a3":"VUT"},"id":548,"arcs":[[[137]],[[144]],[[147]],[[145]],[[236]],[[237]]]},{"type":"MultiPolygon","properties":{"admin":"Samoa","name":"Samoa","postal":"WS","pop_est":219998,"iso_a2":"WS","iso_a3":"WSM"},"id":882,"arcs":[[[46]],[[47]]]},{"type":"MultiPolygon","properties":{"admin":"Yemen","name":"Yemen","postal":"YE","pop_est":23822783,"iso_a2":"YE","iso_a3":"YEM"},"id":887,"arcs":[[[91]],[[1178,-2730,-2693]]]},{"type":"Polygon","properties":{"admin":"South Africa","name":"South Africa","postal":"ZA","pop_est":49052489,"iso_a2":"ZA","iso_a3":"ZAF"},"id":710,"arcs":[[-2670,-2737,-2668,1191,-2686,-2342,2773],[-2627]]},{"type":"Polygon","properties":{"admin":"Zambia","name":"Zambia","postal":"ZM","pop_est":11862740,"iso_a2":"ZM","iso_a3":"ZMB"},"id":894,"arcs":[[2774,-2751,-2680,-2672,2775,2776,1279,2777,-2685,-2236,-2450,2778,1313]]},{"type":"Polygon","properties":{"admin":"Zimbabwe","name":"Zimbabwe","postal":"ZW","pop_est":12619600,"iso_a2":"ZW","iso_a3":"ZWE"},"id":716,"arcs":[[-2776,-2671,-2774,-2341,-2778,1280,2779,1282]]}]},"states":{"type":"GeometryCollection","geometries":[{"type":"Polygon","properties":{"iso_a2":"CA","name":"Alberta","postal":"AB","admin":"Canada"},"arcs":[[2780,2781,2782,2783]]},{"type":"MultiPolygon","properties":{"iso_a2":"CA","name":"British Columbia","postal":"BC","admin":"Canada"},"arcs":[[[2784,2785,2786,2787,2788,2789,2790,2791,2792,2793,2794,2795,2796,2797,2798]],[[2799,2800,2801,2802]],[[2803,2804,2805,2806]],[[2807,2808,2809]],[[2810,2811,2812,2813,2814,2815,2816]],[[2817,2818,2819,2820,2821,2822,2823,2824,2825,2826,2827,-2782,2828,2829,2830,2831,2832,2833,2834,2835,2836,2837,2838,2839,2840,2841,2842,2843,2844,2845,2846,2847,2848,2849,736,2850,2851,2852,2853,2854,2855,2856,2857]]]},{"type":"Polygon","properties":{"iso_a2":"CA","name":"Manitoba","postal":"MB","admin":"Canada"},"arcs":[[2858,2859,2860,2861,2862,2863,2864,2865,2866,2867,2868,2869,2870,2871,2872,2873,2874]]},{"type":"Polygon","properties":{"iso_a2":"CA","name":"New Brunswick","postal":"NB","admin":"Canada"},"arcs":[[2875,2876,2877,2878,2879,2880,2881,2882,2883,2884,2885,2886,2887,2888,2889,2890,2891]]},{"type":"MultiPolygon","properties":{"iso_a2":"CA","name":"Newfoundland and Labrador","postal":"NL","admin":"Canada"},"arcs":[[[2892,2893,2894,2895,2896,2897,2898,2899,2900,2901,2902,2903,2904,2905,2906,2907,2908,2909,2910,2911,2912,2913,2914,2915,2916,2917,2918,2919,2920,2921,2922,2923,2924,2925,2926,2927,2928,2929,2930,2931]],[[2932,2933,2934,2935,2936,2937,2938,2939,2940,2941,2942,2943,2944,2945,2946,2947,2948,2949,2950,2951,2952,2953,2954,2955,2956,2957,2958,2959,2960,2961,2962,2963,2964,2965,2966,2967,2968,2969,2970,2971,2972]]]},{"type":"MultiPolygon","properties":{"iso_a2":"CA","name":"Nova Scotia","postal":"NS","admin":"Canada"},"arcs":[[[-2876,2973,2974,2975,2976,2977,2978,2979,2980,2981,2982,2983,2984,2985,2986,2987,2988,2989,2990,2991]],[[2992,2993,2994,2995,2996,2997,2998,2999]]]},{"type":"MultiPolygon","properties":{"iso_a2":"CA","name":"Northwest Territories","postal":"NT","admin":"Canada"},"arcs":[[[3000,3001,-2783,-2828,3002,3003,3004,3005,3006,3007,3008,3009,3010,3011,3012,3013,3014,3015,3016,3017,3018,3019,3020,3021,3022,3023,3024,3025,3026]],[[3027,3028,3029,3030,3031,3032,3033,3034,3035,3036,3037,3038,3039,3040,3041,3042,3043,3044,3045,3046,3047,3048,3049,3050,3051]],[[3052,3053,3054,3055,3056,3057,3058,3059,3060,3061,3062,3063,3064,3065,3066,3067,3068]],[[3069]],[[3070,3071,3072,3073,3074,3075,3076,3077,3078,3079,3080,3081,3082,3083,3084,3085,3086,3087,3088]],[[3089,3090,3091,3092,3093,3094,3095,3096,3097,3098,3099]],[[3100,3101,3102]],[[3103,3104,3105]],[[3106]]]},{"type":"MultiPolygon","properties":{"iso_a2":"CA","name":"Nunavut","postal":"NU","admin":"Canada"},"arcs":[[[3107,3108,3109,3110]],[[3111,3112,3113]],[[3114,3115]],[[3116,3117]],[[3118,3119,3120,3121]],[[3122,3123,3124,3125]],[[3126,3127,3128,3129,3130,3131]],[[3132,3133,3134]],[[3135]],[[3136,3137,3138,3139,3140,3141,3142,3143,3144,3145,3146,3147,3148,3149,3150,3151,3152]],[[3153,3154,3155]],[[3156,3157]],[[3158,3159]],[[3160,3161,3162]],[[3163,3164,3165,3166]],[[3167,3168]],[[3169,3170,3171,3172]],[[3173,3174]],[[3175,3176]],[[3177,3178,3179,3180,3181,3182,3183]],[[-2863,-3001,3184,3185,3186,3187,3188,3189,3190,3191,3192,3193,3194,3195,3196,3197,3198,3199,3200,3201,3202,3203,3204,3205,3206,3207,3208,3209,3210,3211,3212,3213,3214,3215,3216,3217,3218,3219,3220,3221,3222,936,3223,3224,3225,3226,3227,3228,3229,3230,3231,3232,3233,3234,3235,3236,3237,3238,3239,3240,3241,3242,3243,3244,3245,3246,3247,3248,3249,3250,3251,3252,3253,3254,3255,3256,3257,3258,3259,3260,3261,3262,3263,3264,3265,3266,3267,3268,3269,3270,3271,3272,3273,3274,3275,3276,3277,3278,3279,3280]],[[-3028,3281,3282,3283,3284,3285,3286,3287,3288,3289,3290,3291,3292,3293,3294,3295,3296,3297,3298,3299,3300,3301,3302,3303,3304,3305]],[[3306,3307,3308,3309]],[[3310,3311,3312,3313,3314,3315,3316,3317]],[[3318,3319,3320,3321,3322,3323,3324,3325,3326,3327,3328,3329,3330,3331,3332,3333,3334,3335,3336,3337,3338,3339,3340,3341,3342,3343,3344,3345,3346,3347,3348,3349,3350,3351,3352,3353,3354,3355,3356,3357,3358,3359,3360,3361,3362,3363,3364,3365,3366,3367,3368,3369,3370,3371,3372,3373,3374,3375,3376,3377,3378,3379,3380,3381,3382,3383,3384,3385,3386,3387,3388,3389,3390,3391,3392,3393,3394,3395,3396,3397,3398,3399,3400,3401,3402,3403,3404,3405,3406,3407,3408,3409,3410,3411,3412,3413,3414,3415,3416,3417,3418,3419,3420,3421,3422,3423,3424,3425,3426,3427,3428,3429,3430,3431,3432,3433,3434,3435]],[[2091,3436,3437,3438,3439,3440,3441,3442,3443,3444,3445,3446,3447,3448,3449,3450,3451,3452,3453,3454,3455,3456]],[[3457]],[[3458,3459,3460,3461,3462,3463,3464,3465,3466,3467,3468]],[[3469,3470,3471,3472]],[[3473,3474,3475,3476,3477]],[[3478,3479,3480]],[[3481,3482,3483]],[[3484,3485,3486,3487,3488,3489,3490,3491,3492,3493,3494,3495,3496]],[[-3071,3497,3498,3499,3500,3501,3502,3503,3504,3505,3506,3507,3508]],[[3509,3510,3511,3512,3513,3514,3515,3516,3517,3518,3519,3520,3521,3522,3523,3524,3525,3526,3527,3528,3529,3530]],[[3531,3532,3533]],[[3534]],[[3535,3536,3537]],[[3538,3539,3540,3541]],[[3542,3543,3544,3545,3546,3547,3548,3549,3550,3551]],[[3552,3553]],[[3554,3555,3556,3557,3558,3559,3560,3561,3562,3563,3564,3565,3566,3567,3568,3569,3570,3571,3572,3573,3574,3575,3576]],[[3577,3578,3579,3580,3581,3582,3583,1729,3584,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,3643,3644,3645]]]},{"type":"MultiPolygon","properties":{"iso_a2":"CA","name":"Ontario","postal":"ON","admin":"Canada"},"arcs":[[[3646,3647,3648,3649]],[[3650,3651,3652]],[[3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,3676,3677,3678,3679,3680,3681,3682,3683,3684,3685,3686,3687,3688,3689,3690,3691,3692,3693,3694,3695,3696,3697,3698,3699,3700,3701,3702,-2859,3703,3704,3705,3706,3707,3708,3709,3710,3711,3712,3713,3714,3715]]]},{"type":"Polygon","properties":{"iso_a2":"CA","name":"Prince Edward Island","postal":"PE","admin":"Canada"},"arcs":[[3716,3717,3718,3719,3720,3721,3722,3723,3724,3725]]},{"type":"MultiPolygon","properties":{"iso_a2":"CA","name":"Québec","postal":"QC","admin":"Canada"},"arcs":[[[3726,3727]],[[-2884,3728,3729,3730,3731,3732,3733,3734,3735,3736,3737,3738,3739,3740,3741,3742,3743,3744,3745,3746,3747]],[[1473,3748,3749,3750,3751,3752]],[[-2933,3753,3754,3755,3756,482,3757,3758,3759,3760,3761,3762,3763,3764,3765,3766,3767,3768,3769,3770,3771,3772,3773,-3654,3774,-3653,3775,3776,3777,3778,3779,3780,3781,3782,3783,3784,3785,3786,3787,3788,3789,3790,3791,3792,3793,3794,3795,3796,3797,3798,3799,3800,3801,3802,3803,3804,3805,430,3806,3807,3808,3809,3810,3811,3812,3813,3814]]]},{"type":"Polygon","properties":{"iso_a2":"CA","name":"Saskatchewan","postal":"SK","admin":"Canada"},"arcs":[[3815,3816,-2784,-3002,-2862]]},{"type":"Polygon","properties":{"iso_a2":"CA","name":"Yukon","postal":"YT","admin":"Canada"},"arcs":[[-3003,-2827,3817,3818,3819,3820,3821]]},{"type":"MultiPolygon","properties":{"iso_a2":"US","name":"Alaska","postal":"AK","admin":"United States of America"},"arcs":[[[3822]],[[3823,3824,3825]],[[3826,3827]],[[3828,3829,3830,3831]],[[3832,3833,3834]],[[3835,3836,3837,3838,3839]],[[3840,3841]],[[3842,3843,3844,3845,1551,3846]],[[3847,3848,3849,3850,3851,3852,3853,3854]],[[3855,3856,3857]],[[3858,3859,3860]],[[3861,3862,3863,3864,3865]],[[3866,3867,3868,3869,3870,3871]],[[3872,3873,3874,3875,3876,3877,3878,3879,3880,3881,3882]],[[3883,3884,3885]],[[3886,3887,3888]],[[3889,3890,3891]],[[3892,3893,3894]],[[3895,3896,3897,3898,3899]],[[3900,3901,3902,3903,3904,3905,3906]],[[-3820,-3819,-3818,-2826,-2825,-2824,-2823,-2822,-2821,-2820,-2819,-2818,3907,3908,3909,3910,3911,3912,3913,3914,755,3915,3916,3917,3918,3919,3920,3921,3922,3923,3924,3925,3926,3927,3928,3929,3930,3931,3932,3933,3934,3935,3936,3937,3938,3939,3940,3941,3942,3943,3944,3945,3946,3947,3948,3949,3950,3951,3952,3953,3954,3955,3956,3957,3958,3959,3960,3961,3962,3963,3964,3965,3966,3967,3968,3969,3970,3971,3972,3973,3974,3975,3976,3977,3978,3979,3980,3981,3982,3983,3984,3985,3986,3987,3988,3989,3990,3991,3992,3993,3994,3995,3996,3997,3998,3999,4000,4001,4002,4003,4004,4005,4006,4007,4008,4009,4010,4011,4012,4013,4014,4015,4016,4017,4018,4019,4020,4021,4022,4023,4024,4025,4026,4027,4028,4029,4030,4031]]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Alabama","postal":"AL","admin":"United States of America"},"arcs":[[4032,4033,4034,4035,4036,4037,4038,4039]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Arkansas","postal":"AR","admin":"United States of America"},"arcs":[[4040,4041,4042,4043,4044,4045]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Arizona","postal":"AZ","admin":"United States of America"},"arcs":[[4046,4047,4048,4049,4050,4051,4052,4053]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"California","postal":"CA","admin":"United States of America"},"arcs":[[4054,4055,-4052,4056,4057,4058,4059,4060,4061,4062,4063,4064,4065,4066,4067,4068,4069,4070,4071,4072,4073]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Colorado","postal":"CO","admin":"United States of America"},"arcs":[[4074,4075,4076,4077,4078,4079]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Connecticut","postal":"CT","admin":"United States of America"},"arcs":[[4080,4081,4082,4083,4084]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Delaware","postal":"DE","admin":"United States of America"},"arcs":[[4085,4086,4087,4088,4089]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Florida","postal":"FL","admin":"United States of America"},"arcs":[[4090,4091,4092,4093,4094,4095,4096,4097,4098,4099,4100,4101,4102,4103,4104,4105,4106,4107,4108,4109,4110,622,4111,4112,4113,4114,4115,4116,-4040,4117]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Georgia","postal":"GA","admin":"United States of America"},"arcs":[[4118,4119,4120,-4118,-4039,4121,4122,4123]]},{"type":"MultiPolygon","properties":{"iso_a2":"US","name":"Hawaii","postal":"HI","admin":"United States of America"},"arcs":[[[4124,4125,4126,4127,4128]],[[4129,4130]],[[4131,4132,4133]],[[4134,4135,4136,4137,4138]],[[4139,4140]]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Iowa","postal":"IA","admin":"United States of America"},"arcs":[[4141,4142,4143,4144,4145,4146]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Idaho","postal":"ID","admin":"United States of America"},"arcs":[[4147,4148,4149,4150,4151,-2830,4152]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Illinois","postal":"IL","admin":"United States of America"},"arcs":[[4153,4154,4155,4156,4157,-4142,4158]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Indiana","postal":"IN","admin":"United States of America"},"arcs":[[4159,4160,-4156,4161,4162]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Kansas","postal":"KS","admin":"United States of America"},"arcs":[[4163,-4075,4164,4165]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Kentucky","postal":"KY","admin":"United States of America"},"arcs":[[4166,4167,4168,4169,-4157,-4161,4170]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Louisiana","postal":"LA","admin":"United States of America"},"arcs":[[4171,4172,4173,4174,4175,4176,4177,4178,4179,4180,4181,4182,4183,4184,-4043,4185]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Massachusetts","postal":"MA","admin":"United States of America"},"arcs":[[4186,-4085,4187,4188,4189,4190,4191,4192,4193,4194,4195,4196,4197]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Maryland","postal":"MD","admin":"United States of America"},"arcs":[[-4089,4198,4199,4200,4201,4202,4203,4204,4205,4206,4207,4208,4209,4210,4211]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Maine","postal":"ME","admin":"United States of America"},"arcs":[[-2881,-2880,4212,4213,4214,4215,4216,4217,4218,4219,4220,-3732,-3731,-3730,-3729,-2883,-2882]]},{"type":"MultiPolygon","properties":{"iso_a2":"US","name":"Michigan","postal":"MI","admin":"United States of America"},"arcs":[[[-3672,4221,4222,4223,-4163,4224,4225,4226,4227,4228,4229,4230,4231,4232,4233,4234,4235,4236,4237,4238,4239,4240,4241,4242]],[[4243,4244,4245,4246,4247,4248,4249,4250,4251,4252,4253,4254,4255,4256]],[[4257,4258,4259,4260,4261]]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Minnesota","postal":"MN","admin":"United States of America"},"arcs":[[4262,4263,4264,-4146,4265,4266,-2860,-3703,-3702,-3701,-3700,-3699,-3698]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Missouri","postal":"MO","admin":"United States of America"},"arcs":[[-4158,-4170,4267,-4046,4268,-4166,4269,-4143]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Mississippi","postal":"MS","admin":"United States of America"},"arcs":[[4270,4271,-4186,-4042,4272,-4037]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Montana","postal":"MT","admin":"United States of America"},"arcs":[[4273,4274,-4153,-2829,-2781,-3817,4275]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"North Carolina","postal":"NC","admin":"United States of America"},"arcs":[[4276,-4123,4277,4278,4279,4280,4281,4282,4283,4284,4285,4286,4287,4288,4289,4290]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"North Dakota","postal":"ND","admin":"United States of America"},"arcs":[[4291,-4276,-3816,-2861,-4267]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Nebraska","postal":"NE","admin":"United States of America"},"arcs":[[-4144,-4270,-4165,-4080,4292,4293]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"New Hampshire","postal":"NH","admin":"United States of America"},"arcs":[[4294,-4190,4295,-3734,-3733,-4221]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"New Jersey","postal":"NJ","admin":"United States of America"},"arcs":[[4296,4297,4298,4299,4300,4301]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"New Mexico","postal":"NM","admin":"United States of America"},"arcs":[[4302,4303,4304,4305,-4047,-4077,4306]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Nevada","postal":"NV","admin":"United States of America"},"arcs":[[-4053,-4056,4307,-4150,4308]]},{"type":"MultiPolygon","properties":{"iso_a2":"US","name":"New York","postal":"NY","admin":"United States of America"},"arcs":[[[4309,4310,4311]],[[4312,-4188,-4084,4313,-4298,4314,4315,4316,-3666,4317,4318,4319,4320,4321,4322,-3657,-3656,-3736]]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Ohio","postal":"OH","admin":"United States of America"},"arcs":[[4323,-4171,-4160,-4224,4324,4325,4326,4327,4328]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Oklahoma","postal":"OK","admin":"United States of America"},"arcs":[[-4045,4329,-4307,-4076,-4164,-4269]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Oregon","postal":"OR","admin":"United States of America"},"arcs":[[4330,-4151,-4308,-4055,4331,4332,4333,4334,4335,4336]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Pennsylvania","postal":"PA","admin":"United States of America"},"arcs":[[-4297,4337,-4090,-4212,4338,-4329,4339,-4315]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Rhode Island","postal":"RI","admin":"United States of America"},"arcs":[[4340,4341,-4081,-4187]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"South Carolina","postal":"SC","admin":"United States of America"},"arcs":[[4342,4343,4344,4345,4346,-4124,-4277]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"South Dakota","postal":"SD","admin":"United States of America"},"arcs":[[-4266,-4145,-4294,4347,-4274,-4292]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Tennessee","postal":"TN","admin":"United States of America"},"arcs":[[4348,-4278,-4122,-4038,-4273,-4041,-4268,-4169]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Texas","postal":"TX","admin":"United States of America"},"arcs":[[-4044,-4185,4349,4350,4351,4352,4353,4354,4355,4356,4357,4358,4359,4360,4361,4362,4363,4364,4365,4366,4367,4368,4369,4370,-4303,-4330]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Utah","postal":"UT","admin":"United States of America"},"arcs":[[4371,-4078,-4054,-4309,-4149]]},{"type":"MultiPolygon","properties":{"iso_a2":"US","name":"Virginia","postal":"VA","admin":"United States of America"},"arcs":[[[-4200,4372,4373,4374]],[[-4210,4375,4376,4377,4378,4379,4380,4381,4382,-4279,-4349,-4168,4383]]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Vermont","postal":"VT","admin":"United States of America"},"arcs":[[-4189,-4313,-3735,-4296]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Washington","postal":"WA","admin":"United States of America"},"arcs":[[-4331,4384,4385,4386,4387,4388,4389,4390,4391,4392,4393,4394,4395,4396,-2832,-2831,-4152]]},{"type":"MultiPolygon","properties":{"iso_a2":"US","name":"Wisconsin","postal":"WI","admin":"United States of America"},"arcs":[[[4397,4398,4399]],[[-4244,4400,4401,4402,4403,-4159,-4147,-4265,4404,4405,4406,4407]]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"West Virginia","postal":"WV","admin":"United States of America"},"arcs":[[-4211,-4384,-4167,-4324,-4339]]},{"type":"Polygon","properties":{"iso_a2":"US","name":"Wyoming","postal":"WY","admin":"United States of America"},"arcs":[[-4293,-4079,-4372,-4148,-4275,-4348]]}]},"cities":{"type":"GeometryCollection","geometries":[{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"San Bernardino","adm0name":"United States of America","adm1name":"California","iso_a2":"US"},"coordinates":[174161,706874]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Bridgeport","adm0name":"United States of America","adm1name":"Connecticut","iso_a2":"US"},"coordinates":[296661,748698]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Rochester","adm0name":"United States of America","adm1name":"New York","iso_a2":"US"},"coordinates":[284383,760490]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Manchester","adm0name":"United Kingdom","adm1name":"Manchester","iso_a2":"GB"},"coordinates":[493750,821690]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Gujranwala","adm0name":"Pakistan","adm1name":"Punjab","iso_a2":"PK"},"coordinates":[706063,695262]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Incheon","adm0name":"South Korea","adm1name":"Inch'on-gwangyoksi","iso_a2":"KR"},"coordinates":[851778,726754]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Benin City","adm0name":"Nigeria","adm1name":"Edo","iso_a2":"NG"},"coordinates":[515605,542293]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Xiamen","adm0name":"China","adm1name":"Fujian","iso_a2":"CN"},"coordinates":[827994,649581]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Nanchong","adm0name":"China","adm1name":"Sichuan","iso_a2":"CN"},"coordinates":[794799,687086]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Neijiang","adm0name":"China","adm1name":"Sichuan","iso_a2":"CN"},"coordinates":[791800,679976]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Nanyang","adm0name":"China","adm1name":"Henan","iso_a2":"CN"},"coordinates":[812577,700238]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Jinxi","adm0name":"China","adm1name":"Liaoning","iso_a2":"CN"},"coordinates":[835632,746152]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Yantai","adm0name":"China","adm1name":"Shandong","iso_a2":"CN"},"coordinates":[837216,727075]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Zaozhuang","adm0name":"China","adm1name":"Shandong","iso_a2":"CN"},"coordinates":[826578,711374]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Suzhou","adm0name":"China","adm1name":"Jiangsu","iso_a2":"CN"},"coordinates":[835050,690167]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Xuzhou","adm0name":"China","adm1name":"Jiangsu","iso_a2":"CN"},"coordinates":[825494,707819]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Wuxi","adm0name":"China","adm1name":"Jiangsu","iso_a2":"CN"},"coordinates":[834161,691823]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Jilin","adm0name":"China","adm1name":"Jilin","iso_a2":"CN"},"coordinates":[851522,764516]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Chandigarh","adm0name":"India","adm1name":"Chandigarh","iso_a2":"IN"},"coordinates":[713272,686728]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Jammu","adm0name":"India","adm1name":"Jammu and Kashmir","iso_a2":"IN"},"coordinates":[707901,698528]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Sholapur","adm0name":"India","adm1name":"Maharashtra","iso_a2":"IN"},"coordinates":[710827,609416]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Aurangabad","adm0name":"India","adm1name":"Maharashtra","iso_a2":"IN"},"coordinates":[709217,622600]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Nasik","adm0name":"India","adm1name":"Maharashtra","iso_a2":"IN"},"coordinates":[704938,623220]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Dispur","adm0name":"India","adm1name":"Assam","iso_a2":"IN"},"coordinates":[754907,659606]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Jullundur","adm0name":"India","adm1name":"Punjab","iso_a2":"IN"},"coordinates":[709907,690371]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Allahabad","adm0name":"India","adm1name":"Uttar Pradesh","iso_a2":"IN"},"coordinates":[727327,655536]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Moradabad","adm0name":"India","adm1name":"Uttar Pradesh","iso_a2":"IN"},"coordinates":[718763,675601]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Ghaziabad","adm0name":"India","adm1name":"Uttar Pradesh","iso_a2":"IN"},"coordinates":[715017,674526]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Agra","adm0name":"India","adm1name":"Uttar Pradesh","iso_a2":"IN"},"coordinates":[716703,665699]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Aligarh","adm0name":"India","adm1name":"Uttar Pradesh","iso_a2":"IN"},"coordinates":[716832,669974]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Meerut","adm0name":"India","adm1name":"Uttar Pradesh","iso_a2":"IN"},"coordinates":[715827,676540]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Dhanbad","adm0name":"India","adm1name":"Jharkhand","iso_a2":"IN"},"coordinates":[740049,645733]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Gwalior","adm0name":"India","adm1name":"Madhya Pradesh","iso_a2":"IN"},"coordinates":[717160,660127]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Vadodara","adm0name":"India","adm1name":"Dadra and Nagar Haveli","iso_a2":"IN"},"coordinates":[703271,636904]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Rajkot","adm0name":"India","adm1name":"Dadra and Nagar Haveli","iso_a2":"IN"},"coordinates":[696661,636904]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Durazno","adm0name":"Uruguay","adm1name":"Durazno","iso_a2":"UY"},"coordinates":[343027,306781]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"International Falls","adm0name":"United States of America","adm1name":"Minnesota","iso_a2":"US"},"coordinates":[240525,792652]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"St. Paul","adm0name":"United States of America","adm1name":"Minnesota","iso_a2":"US"},"coordinates":[241431,770986]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Billings","adm0name":"United States of America","adm1name":"Montana","iso_a2":"US"},"coordinates":[198500,775987]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Great Falls","adm0name":"United States of America","adm1name":"Montana","iso_a2":"US"},"coordinates":[190833,786130]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Missoula","adm0name":"United States of America","adm1name":"Montana","iso_a2":"US"},"coordinates":[183352,782409]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Minot","adm0name":"United States of America","adm1name":"North Dakota","iso_a2":"US"},"coordinates":[218622,790468]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Fargo","adm0name":"United States of America","adm1name":"North Dakota","iso_a2":"US"},"coordinates":[231140,782439]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Hilo","adm0name":"United States of America","adm1name":"Hawaii","iso_a2":"US"},"coordinates":[69194,621429]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Olympia","adm0name":"United States of America","adm1name":"Washington","iso_a2":"US"},"coordinates":[158613,783392]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Spokane","adm0name":"United States of America","adm1name":"Washington","iso_a2":"US"},"coordinates":[173833,787136]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Vancouver","adm0name":"United States of America","adm1name":"Washington","iso_a2":"US"},"coordinates":[159333,775052]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Flagstaff","adm0name":"United States of America","adm1name":"Arizona","iso_a2":"US"},"coordinates":[189860,713247]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Tucson","adm0name":"United States of America","adm1name":"Arizona","iso_a2":"US"},"coordinates":[191967,695526]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Santa Barbara","adm0name":"United States of America","adm1name":"California","iso_a2":"US"},"coordinates":[167444,708726]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Fresno","adm0name":"United States of America","adm1name":"California","iso_a2":"US"},"coordinates":[167297,722427]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Eureka","adm0name":"United States of America","adm1name":"California","iso_a2":"US"},"coordinates":[155146,746448]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Colorado Springs","adm0name":"United States of America","adm1name":"Colorado","iso_a2":"US"},"coordinates":[208911,734959]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Reno","adm0name":"United States of America","adm1name":"Nevada","iso_a2":"US"},"coordinates":[167166,738910]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Elko","adm0name":"United States of America","adm1name":"Nevada","iso_a2":"US"},"coordinates":[178438,746627]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Albuquerque","adm0name":"United States of America","adm1name":"New Mexico","iso_a2":"US"},"coordinates":[203773,712695]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Salem","adm0name":"United States of America","adm1name":"Oregon","iso_a2":"US"},"coordinates":[158267,770891]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Casper","adm0name":"United States of America","adm1name":"Wyoming","iso_a2":"US"},"coordinates":[204687,758678]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Topeka","adm0name":"United States of America","adm1name":"Kansas","iso_a2":"US"},"coordinates":[234250,736067]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Kansas City","adm0name":"United States of America","adm1name":"Missouri","iso_a2":"US"},"coordinates":[237205,736416]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Tulsa","adm0name":"United States of America","adm1name":"Oklahoma","iso_a2":"US"},"coordinates":[233527,718708]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Sioux Falls","adm0name":"United States of America","adm1name":"South Dakota","iso_a2":"US"},"coordinates":[231305,762727]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Shreveport","adm0name":"United States of America","adm1name":"Louisiana","iso_a2":"US"},"coordinates":[239528,697262]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Baton Rouge","adm0name":"United States of America","adm1name":"Louisiana","iso_a2":"US"},"coordinates":[246833,685164]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Ft. Worth","adm0name":"United States of America","adm1name":"Texas","iso_a2":"US"},"coordinates":[229610,698684]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Corpus Christi","adm0name":"United States of America","adm1name":"Texas","iso_a2":"US"},"coordinates":[229439,669078]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Austin","adm0name":"United States of America","adm1name":"Texas","iso_a2":"US"},"coordinates":[228487,684044]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Amarillo","adm0name":"United States of America","adm1name":"Texas","iso_a2":"US"},"coordinates":[217139,713436]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"El Paso","adm0name":"United States of America","adm1name":"Texas","iso_a2":"US"},"coordinates":[204133,693008]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Laredo","adm0name":"United States of America","adm1name":"Texas","iso_a2":"US"},"coordinates":[223591,667676]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Merida","adm0name":"Venezuela","adm1name":"Mérida","iso_a2":"VE"},"coordinates":[302417,554483]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Burlington","adm0name":"United States of America","adm1name":"Vermont","iso_a2":"US"},"coordinates":[296631,768212]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Montgomery","adm0name":"United States of America","adm1name":"Alabama","iso_a2":"US"},"coordinates":[260335,696442]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Tallahassee","adm0name":"United States of America","adm1name":"Florida","iso_a2":"US"},"coordinates":[265888,685117]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Orlando","adm0name":"United States of America","adm1name":"Florida","iso_a2":"US"},"coordinates":[273939,673635]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Jacksonville","adm0name":"United States of America","adm1name":"Florida","iso_a2":"US"},"coordinates":[273133,684418]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Savannah","adm0name":"United States of America","adm1name":"Georgia","iso_a2":"US"},"coordinates":[274695,694425]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Columbia","adm0name":"United States of America","adm1name":"South Carolina","iso_a2":"US"},"coordinates":[275277,706385]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Indianapolis","adm0name":"United States of America","adm1name":"Indiana","iso_a2":"US"},"coordinates":[260633,740225]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Wilmington","adm0name":"United States of America","adm1name":"North Carolina","iso_a2":"US"},"coordinates":[283486,707484]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Knoxville","adm0name":"United States of America","adm1name":"Tennessee","iso_a2":"US"},"coordinates":[266888,717820]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Richmond","adm0name":"United States of America","adm1name":"Virginia","iso_a2":"US"},"coordinates":[284855,727192]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Charleston","adm0name":"United States of America","adm1name":"West Virginia","iso_a2":"US"},"coordinates":[273243,731919]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Baltimore","adm0name":"United States of America","adm1name":"Maryland","iso_a2":"US"},"coordinates":[287161,737560]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Syracuse","adm0name":"United States of America","adm1name":"New York","iso_a2":"US"},"coordinates":[288472,759765]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Puerto Ayacucho","adm0name":"Venezuela","adm1name":"Amazonas","iso_a2":"VE"},"coordinates":[312156,538272]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Port-of-Spain","adm0name":"Trinidad and Tobago","adm1name":"Port of Spain","iso_a2":"TT"},"coordinates":[329119,567824]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Augusta","adm0name":"United States of America","adm1name":"Maine","iso_a2":"US"},"coordinates":[306167,767233]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Sault Ste. Marie","adm0name":"United States of America","adm1name":"Michigan","iso_a2":"US"},"coordinates":[265708,780176]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Atakpame","adm0name":"Togo","adm1name":"Plateaux","iso_a2":"TG"},"coordinates":[503110,549328]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Sousse","adm0name":"Tunisia","adm1name":"Sousse","iso_a2":"TN"},"coordinates":[529513,716990]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Taizz","adm0name":"Yemen","adm1name":"Ta`izz","iso_a2":"YE"},"coordinates":[622326,585327]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Sitka","adm0name":"United States of America","adm1name":"Alaska","iso_a2":"US"},"coordinates":[124090,842768]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Lvov","adm0name":"Ukraine","adm1name":"L'viv","iso_a2":"UA"},"coordinates":[566750,799962]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Odessa","adm0name":"Ukraine","adm1name":"Odessa","iso_a2":"UA"},"coordinates":[585299,780156]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Zhytomyr","adm0name":"Ukraine","adm1name":"Zhytomyr","iso_a2":"UA"},"coordinates":[579616,802395]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Dnipropetrovsk","adm0name":"Ukraine","adm1name":"Dnipropetrovs'k","iso_a2":"UA"},"coordinates":[597216,791946]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Donetsk","adm0name":"Ukraine","adm1name":"Donets'k","iso_a2":"UA"},"coordinates":[605077,789102]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Kharkiv","adm0name":"Ukraine","adm1name":"Kharkiv","iso_a2":"UA"},"coordinates":[600689,800951]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Turkmenbasy","adm0name":"Turkmenistan","adm1name":"Balkan","iso_a2":"TM"},"coordinates":[647137,741831]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Bukhara","adm0name":"Uzbekistan","adm1name":"Bukhoro","iso_a2":"UZ"},"coordinates":[678972,740392]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Nukus","adm0name":"Uzbekistan","adm1name":"Karakalpakstan","iso_a2":"UZ"},"coordinates":[665596,756329]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Turkmenabat","adm0name":"Turkmenistan","adm1name":"Chardzhou","iso_a2":"TM"},"coordinates":[676610,736423]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Mary","adm0name":"Turkmenistan","adm1name":"Mary","iso_a2":"TM"},"coordinates":[671759,727476]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Andijon","adm0name":"Uzbekistan","adm1name":"Andijon","iso_a2":"UZ"},"coordinates":[700944,746376]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Haiphong","adm0name":"Vietnam","adm1name":"Qu?ng Ninh","iso_a2":"VN"},"coordinates":[796328,628135]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Da Nang","adm0name":"Vietnam","adm1name":"Ðà N?ng","iso_a2":"VN"},"coordinates":[800693,599864]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Kabwe","adm0name":"Zambia","adm1name":"Central","iso_a2":"ZM"},"coordinates":[579027,419168]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Mufulira","adm0name":"Zambia","adm1name":"Copperbelt","iso_a2":"ZM"},"coordinates":[578499,430365]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Kitwe","adm0name":"Zambia","adm1name":"Copperbelt","iso_a2":"ZM"},"coordinates":[578388,428825]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Livingstone","adm0name":"Zambia","adm1name":"Southern","iso_a2":"ZM"},"coordinates":[571833,398907]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Chitungwiza","adm0name":"Zimbabwe","adm1name":"Harare","iso_a2":"ZW"},"coordinates":[586388,398077]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Douala","adm0name":"Cameroon","adm1name":"Littoral","iso_a2":"CM"},"coordinates":[526967,528784]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Birmingham","adm0name":"United Kingdom","adm1name":"West Midlands","iso_a2":"GB"},"coordinates":[494661,815614]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Belfast","adm0name":"United Kingdom","adm1name":"Belfast","iso_a2":"GB"},"coordinates":[483444,828192]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Izmir","adm0name":"Turkey","adm1name":"Izmir","iso_a2":"TR"},"coordinates":[575416,732442]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Bursa","adm0name":"Turkey","adm1name":"Bursa","iso_a2":"TR"},"coordinates":[580744,742892]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Samsun","adm0name":"Turkey","adm1name":"Samsun","iso_a2":"TR"},"coordinates":[600954,749278]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Konya","adm0name":"Turkey","adm1name":"Konya","iso_a2":"TR"},"coordinates":[590203,729117]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Adana","adm0name":"Turkey","adm1name":"Adana","iso_a2":"TR"},"coordinates":[598105,723904]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Gulu","adm0name":"Uganda","adm1name":"Aswa","iso_a2":"UG"},"coordinates":[589666,521187]},{"type":"Point","properties":{"scalerank":4,"labelrank":0,"name":"Kigali","adm0name":"Rwanda","adm1name":"Kigali City","iso_a2":"RW"},"coordinates":[583496,493155]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Cottica","adm0name":"Suriname","adm1name":"Sipaliwini","iso_a2":"SR"},"coordinates":[349352,527527]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Cordoba","adm0name":"Spain","adm1name":"Andalucía","iso_a2":"ES"},"coordinates":[486749,729135]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Maradi","adm0name":"Niger","adm1name":"Maradi","iso_a2":"NE"},"coordinates":[519712,584648]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Tahoua","adm0name":"Niger","adm1name":"Tahoua","iso_a2":"NE"},"coordinates":[514610,592991]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Constanta","adm0name":"Romania","adm1name":"Constanta","iso_a2":"RO"},"coordinates":[579472,766594]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Luleå","adm0name":"Sweden","adm1name":"Norrbotten","iso_a2":"SE"},"coordinates":[561551,893341]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Sundsvall","adm0name":"Sweden","adm1name":"Västernorrland","iso_a2":"SE"},"coordinates":[548101,874403]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Iasi","adm0name":"Romania","adm1name":"Iasi","iso_a2":"RO"},"coordinates":[576596,784163]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Surat Thani","adm0name":"Thailand","adm1name":"Surat Thani","iso_a2":"TH"},"coordinates":[775944,558926]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Chiang Mai","adm0name":"Thailand","adm1name":"Chiang Mai","iso_a2":"TH"},"coordinates":[774944,616096]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Nakhon Ratchasima","adm0name":"Thailand","adm1name":"Nakhon Ratchasima","iso_a2":"TH"},"coordinates":[783611,593584]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Mbabane","adm0name":"Swaziland","adm1name":"Hhohho","iso_a2":"SZ"},"coordinates":[586481,348805]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Piura","adm0name":"Peru","adm1name":"Piura","iso_a2":"PE"},"coordinates":[276028,473851]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Arequipa","adm0name":"Peru","adm1name":"Arequipa","iso_a2":"PE"},"coordinates":[301300,407449]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Chimbote","adm0name":"Peru","adm1name":"Ancash","iso_a2":"PE"},"coordinates":[281750,450982]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Pucallpa","adm0name":"Peru","adm1name":"Ucayali","iso_a2":"PE"},"coordinates":[292958,455136]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Iquitos","adm0name":"Peru","adm1name":"Loreto","iso_a2":"PE"},"coordinates":[296527,482500]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Huancayo","adm0name":"Peru","adm1name":"Junín","iso_a2":"PE"},"coordinates":[291110,433149]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Ciudad del Este","adm0name":"Paraguay","adm1name":"Alto Paraná","iso_a2":"PY"},"coordinates":[348289,353544]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Ponta Delgada","adm0name":"Portugal","adm1name":"Azores","iso_a2":"PT"},"coordinates":[428704,728355]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Vigo","adm0name":"Spain","adm1name":"Galicia","iso_a2":"ES"},"coordinates":[475750,754847]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Bilbao","adm0name":"Spain","adm1name":"País Vasco","iso_a2":"ES"},"coordinates":[491861,760950]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Kaolack","adm0name":"Senegal","adm1name":"Kaolack","iso_a2":"SM"},"coordinates":[455277,588548]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Kaedi","adm0name":"Senegal","adm1name":"Matam","iso_a2":"SM"},"coordinates":[462500,600397]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Geneina","adm0name":"Sudan","adm1name":"West Darfur","iso_a2":"SD"},"coordinates":[562333,584401]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Medina","adm0name":"Saudi Arabia","adm1name":"Al Madinah","iso_a2":"SA"},"coordinates":[609939,649878]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Tabuk","adm0name":"Saudi Arabia","adm1name":"Tabuk","iso_a2":"SA"},"coordinates":[601541,672875]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Juba","adm0name":"South Sudan","adm1name":"Central Equatoria","iso_a2":"SS"},"coordinates":[587722,533332]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Malakal","adm0name":"South Sudan","adm1name":"Upper Nile","iso_a2":"SS"},"coordinates":[587933,561218]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Omdurman","adm0name":"Sudan","adm1name":"Khartoum","iso_a2":"SD"},"coordinates":[590222,597237]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"El Obeid","adm0name":"Sudan","adm1name":"North Kurdufan","iso_a2":"SD"},"coordinates":[583935,582821]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"The Hague","adm0name":"Netherlands","adm1name":"Zuid-Holland","iso_a2":"NL"},"coordinates":[511860,813263]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Kristiansand","adm0name":"Norway","adm1name":"Vest-Agder","iso_a2":"NO"},"coordinates":[522222,849323]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Ljubljana","adm0name":"Slovenia","adm1name":"Osrednjeslovenska","iso_a2":"SI"},"coordinates":[540318,777570]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Bratislava","adm0name":"Slovakia","adm1name":"Bratislavský","iso_a2":"SK"},"coordinates":[547547,789979]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Hammerfest","adm0name":"Norway","adm1name":"Finnmark","iso_a2":"NO"},"coordinates":[565800,923346]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Doha","adm0name":"Qatar","adm1name":"Ad Dawhah","iso_a2":"QA"},"coordinates":[643147,654526]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Quetta","adm0name":"Pakistan","adm1name":"Baluchistan","iso_a2":"PK"},"coordinates":[686175,683766]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Larkana","adm0name":"Pakistan","adm1name":"Sind","iso_a2":"PK"},"coordinates":[689463,668005]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Springbok","adm0name":"South Africa","adm1name":"Northern Cape","iso_a2":"ZA"},"coordinates":[549675,328958]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Upington","adm0name":"South Africa","adm1name":"Northern Cape","iso_a2":"ZA"},"coordinates":[558972,336107]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Worcester","adm0name":"South Africa","adm1name":"Western Cape","iso_a2":"ZA"},"coordinates":[553999,305418]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"George","adm0name":"South Africa","adm1name":"Western Cape","iso_a2":"ZA"},"coordinates":[562360,303582]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Tete","adm0name":"Mozambique","adm1name":"Tete","iso_a2":"MZ"},"coordinates":[593277,408919]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Pemba","adm0name":"Mozambique","adm1name":"Cabo Delgado","iso_a2":"MZ"},"coordinates":[612589,427799]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Nampula","adm0name":"Mozambique","adm1name":"Nampula","iso_a2":"MZ"},"coordinates":[609147,415044]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Welkom","adm0name":"South Africa","adm1name":"Orange Free State","iso_a2":"ZA"},"coordinates":[574249,339011]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Xai-Xai","adm0name":"Mozambique","adm1name":"Gaza","iso_a2":"MZ"},"coordinates":[593443,356369]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Goroka","adm0name":"Papua New Guinea","adm1name":"Eastern Highlands","iso_a2":"PG"},"coordinates":[903848,468677]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Mt. Hagen","adm0name":"Papua New Guinea","adm1name":"Western Highlands","iso_a2":"PG"},"coordinates":[900601,469980]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Rabaul","adm0name":"Papua New Guinea","adm1name":"East New Britain","iso_a2":"PG"},"coordinates":[922620,479802]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Lae","adm0name":"Papua New Guinea","adm1name":"Morobe","iso_a2":"PG"},"coordinates":[908305,464828]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"David","adm0name":"Panama","adm1name":"Chiriquí","iso_a2":"PA"},"coordinates":[271018,554680]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Oujda","adm0name":"Morocco","adm1name":"Oriental","iso_a2":"MA"},"coordinates":[494694,710237]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Safi","adm0name":"Morocco","adm1name":"Doukkala - Abda","iso_a2":"MA"},"coordinates":[474333,696195]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Podgorica","adm0name":"Montenegro","adm1name":"Podgorica","iso_a2":"ME"},"coordinates":[553517,756305]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Quelimane","adm0name":"Mozambique","adm1name":"Zambezia","iso_a2":"MZ"},"coordinates":[602472,398787]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"East London","adm0name":"South Africa","adm1name":"Eastern Cape","iso_a2":"ZA"},"coordinates":[577416,309388]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Middelburg","adm0name":"South Africa","adm1name":"Eastern Cape","iso_a2":"ZA"},"coordinates":[569472,318097]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Naltchik","adm0name":"Russia","adm1name":"Kabardin-Balkar","iso_a2":"RU"},"coordinates":[621161,762420]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Stavropol","adm0name":"Russia","adm1name":"Stavropol'","iso_a2":"RU"},"coordinates":[616610,771613]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Ugolnye Kopi","adm0name":"Russia","adm1name":"Chukchi Autonomous Okrug","iso_a2":"RU"},"coordinates":[993610,888227]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Kaliningrad","adm0name":"Russia","adm1name":"Kaliningrad","iso_a2":"RU"},"coordinates":[556937,828785]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Pskov","adm0name":"Russia","adm1name":"Pskov","iso_a2":"RU"},"coordinates":[578694,847328]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Bryansk","adm0name":"Russia","adm1name":"Bryansk","iso_a2":"RU"},"coordinates":[595638,820254]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Smolensk","adm0name":"Russia","adm1name":"Smolensk","iso_a2":"RU"},"coordinates":[589020,829274]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Petrozavodsk","adm0name":"Russia","adm1name":"Karelia","iso_a2":"RU"},"coordinates":[595222,871144]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Tver","adm0name":"Russia","adm1name":"Tver'","iso_a2":"RU"},"coordinates":[599693,841581]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Vologda","adm0name":"Russia","adm1name":"Vologda","iso_a2":"RU"},"coordinates":[610888,855504]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Yaroslavl","adm0name":"Russia","adm1name":"Yaroslavl'","iso_a2":"RU"},"coordinates":[610749,846084]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Rostov","adm0name":"Russia","adm1name":"Rostov","iso_a2":"RU"},"coordinates":[610307,784568]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Sochi","adm0name":"Russia","adm1name":"Krasnodar","iso_a2":"RU"},"coordinates":[610360,762964]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Krasnodar","adm0name":"Russia","adm1name":"Krasnodar","iso_a2":"RU"},"coordinates":[608333,771435]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Penza","adm0name":"Russia","adm1name":"Penza","iso_a2":"RU"},"coordinates":[624999,819779]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Ryazan","adm0name":"Russia","adm1name":"Ryazan'","iso_a2":"RU"},"coordinates":[610333,828311]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Voronezh","adm0name":"Russia","adm1name":"Voronezh","iso_a2":"RU"},"coordinates":[609077,811201]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Magnitogorsk","adm0name":"Russia","adm1name":"Chelyabinsk","iso_a2":"RU"},"coordinates":[663833,821217]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Chelyabinsk","adm0name":"Russia","adm1name":"Chelyabinsk","iso_a2":"RU"},"coordinates":[670657,831492]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Vorkuta","adm0name":"Russia","adm1name":"Komi","iso_a2":"RU"},"coordinates":[677805,904617]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Kirov","adm0name":"Russia","adm1name":"Kirov","iso_a2":"RU"},"coordinates":[637971,851831]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Nizhny Tagil","adm0name":"Russia","adm1name":"Sverdlovsk","iso_a2":"RU"},"coordinates":[666597,847862]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Astrakhan","adm0name":"Russia","adm1name":"Astrakhan'","iso_a2":"RU"},"coordinates":[633486,779307]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Orenburg","adm0name":"Russia","adm1name":"Orenburg","iso_a2":"RU"},"coordinates":[653083,811485]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Saratov","adm0name":"Russia","adm1name":"Saratov","iso_a2":"RU"},"coordinates":[627855,810312]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Ulyanovsk","adm0name":"Russia","adm1name":"Ul'yanovsk","iso_a2":"RU"},"coordinates":[634471,826592]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Omsk","adm0name":"Russia","adm1name":"Omsk","iso_a2":"RU"},"coordinates":[703882,830514]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Tyumen","adm0name":"Russia","adm1name":"Tyumen'","iso_a2":"RU"},"coordinates":[682027,843241]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Novokuznetsk","adm0name":"Russia","adm1name":"Kemerovo","iso_a2":"RU"},"coordinates":[741986,823156]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Kemerovo","adm0name":"Russia","adm1name":"Kemerovo","iso_a2":"RU"},"coordinates":[739139,832576]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Groznyy","adm0name":"Russia","adm1name":"Chechnya","iso_a2":"RU"},"coordinates":[626940,761357]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Kandy","adm0name":"Sri Lanka","adm1name":"Kandy","iso_a2":"LK"},"coordinates":[724082,547847]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Sri Jawewardenepura Kotte","adm0name":"Sri Lanka","adm1name":"Colombo","iso_a2":"LK"},"coordinates":[722082,545596]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Daejeon","adm0name":"South Korea","adm1name":"Daejeon","iso_a2":"KR"},"coordinates":[853952,719997]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Gwangju","adm0name":"South Korea","adm1name":"Kwangju-gwangyoksi","iso_a2":"KR"},"coordinates":[852523,713097]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Busan","adm0name":"South Korea","adm1name":"Busan","iso_a2":"KR"},"coordinates":[858355,712648]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Zamboanga","adm0name":"Philippines","adm1name":"Zamboanga del Sur","iso_a2":"PH"},"coordinates":[839105,545725]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Laoag","adm0name":"Philippines","adm1name":"Ilocos Norte","iso_a2":"PH"},"coordinates":[834981,612535]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Baguio City","adm0name":"Philippines","adm1name":"Benguet","iso_a2":"PH"},"coordinates":[834915,602056]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"General Santos","adm0name":"Philippines","adm1name":"South Cotabato","iso_a2":"PH"},"coordinates":[847707,540920]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Ust-Ulimsk","adm0name":"Russia","adm1name":"Irkutsk","iso_a2":"RU"},"coordinates":[785092,848276]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Angarsk","adm0name":"Russia","adm1name":"Irkutsk","iso_a2":"RU"},"coordinates":[788666,816107]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Abakan","adm0name":"Russia","adm1name":"Krasnoyarsk","iso_a2":"RU"},"coordinates":[754013,822882]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Norilsk","adm0name":"Russia","adm1name":"Taymyr","iso_a2":"RU"},"coordinates":[745068,915519]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Khatanga","adm0name":"Russia","adm1name":"Taymyr","iso_a2":"RU"},"coordinates":[784624,931522]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Kyzyl","adm0name":"Russia","adm1name":"Tuva","iso_a2":"RU"},"coordinates":[762175,811051]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Ulan Ude","adm0name":"Russia","adm1name":"Buryat","iso_a2":"RU"},"coordinates":[798958,811752]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Blagoveshchensk","adm0name":"Russia","adm1name":"Amur","iso_a2":"RU"},"coordinates":[854259,802519]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Bukachacha","adm0name":"Russia","adm1name":"Chita","iso_a2":"RU"},"coordinates":[824768,818614]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Dalnegorsk","adm0name":"Russia","adm1name":"Primor'ye","iso_a2":"RU"},"coordinates":[876436,768575]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Ambarchik","adm0name":"Russia","adm1name":"Sakha (Yakutia)","iso_a2":"RU"},"coordinates":[950925,917361]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Batagay","adm0name":"Russia","adm1name":"Sakha (Yakutia)","iso_a2":"RU"},"coordinates":[873985,905542]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Chokurdakh","adm0name":"Russia","adm1name":"Sakha (Yakutia)","iso_a2":"RU"},"coordinates":[910817,923092]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Ust Nera","adm0name":"Russia","adm1name":"Sakha (Yakutia)","iso_a2":"RU"},"coordinates":[897777,887239]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Lensk","adm0name":"Russia","adm1name":"Sakha (Yakutia)","iso_a2":"RU"},"coordinates":[819296,864481]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Aldan","adm0name":"Russia","adm1name":"Sakha (Yakutia)","iso_a2":"RU"},"coordinates":[848303,851908]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Mirnyy","adm0name":"Russia","adm1name":"Sakha (Yakutia)","iso_a2":"RU"},"coordinates":[816558,875232]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Zhigansk","adm0name":"Russia","adm1name":"Sakha (Yakutia)","iso_a2":"RU"},"coordinates":[842697,900291]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Okhotsk","adm0name":"Russia","adm1name":"Khabarovsk","iso_a2":"RU"},"coordinates":[897824,856529]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Khabarovsk","adm0name":"Russia","adm1name":"Khabarovsk","iso_a2":"RU"},"coordinates":[875333,791786]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Okha","adm0name":"Russia","adm1name":"Sakhalin","iso_a2":"RU"},"coordinates":[897076,822113]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Yuzhno Sakhalinsk","adm0name":"Russia","adm1name":"Sakhalin","iso_a2":"RU"},"coordinates":[896500,782959]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Mexicali","adm0name":"Mexico","adm1name":"Baja California","iso_a2":"MX"},"coordinates":[179216,698162]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"La Paz","adm0name":"Mexico","adm1name":"Baja California Sur","iso_a2":"MX"},"coordinates":[193556,647733]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Torreon","adm0name":"Mexico","adm1name":"Coahuila","iso_a2":"MX"},"coordinates":[212716,656217]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Culiacan","adm0name":"Mexico","adm1name":"Sinaloa","iso_a2":"MX"},"coordinates":[201716,651833]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Nogales","adm0name":"Mexico","adm1name":"Sonora","iso_a2":"MX"},"coordinates":[191820,690182]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Hermosillo","adm0name":"Mexico","adm1name":"Sonora","iso_a2":"MX"},"coordinates":[191794,677112]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Guaymas","adm0name":"Mexico","adm1name":"Sonora","iso_a2":"MX"},"coordinates":[191972,670187]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"San Luis Potosi","adm0name":"Mexico","adm1name":"San Luis Potosí","iso_a2":"MX"},"coordinates":[219439,636074]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Matamoros","adm0name":"Mexico","adm1name":"Tamaulipas","iso_a2":"MX"},"coordinates":[229166,658042]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Nuevo Laredo","adm0name":"Mexico","adm1name":"Tamaulipas","iso_a2":"MX"},"coordinates":[223472,667639]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Colima","adm0name":"Mexico","adm1name":"Colima","iso_a2":"MX"},"coordinates":[211889,618644]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Campeche","adm0name":"Mexico","adm1name":"Campeche","iso_a2":"MX"},"coordinates":[248611,622199]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Oaxaca","adm0name":"Mexico","adm1name":"Oaxaca","iso_a2":"MX"},"coordinates":[231472,605923]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Leon","adm0name":"Mexico","adm1name":"Guanajuato","iso_a2":"MX"},"coordinates":[217495,630031]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Maiduguri","adm0name":"Nigeria","adm1name":"Borno","iso_a2":"NG"},"coordinates":[536550,574933]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Port Harcourt","adm0name":"Nigeria","adm1name":"Rivers","iso_a2":"NG"},"coordinates":[519466,533225]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Makurdi","adm0name":"Nigeria","adm1name":"Benue","iso_a2":"NG"},"coordinates":[523694,550513]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Ibadan","adm0name":"Nigeria","adm1name":"Oyo","iso_a2":"NG"},"coordinates":[510910,548451]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Ogbomosho","adm0name":"Nigeria","adm1name":"Oyo","iso_a2":"NG"},"coordinates":[511772,552894]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Warri","adm0name":"Nigeria","adm1name":"Delta","iso_a2":"NG"},"coordinates":[515999,537420]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Kaduna","adm0name":"Nigeria","adm1name":"Kaduna","iso_a2":"NG"},"coordinates":[520661,567054]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Gdansk","adm0name":"Poland","adm1name":"Pomeranian","iso_a2":"PL"},"coordinates":[551777,826770]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Kraków","adm0name":"Poland","adm1name":"Lesser Poland","iso_a2":"PL"},"coordinates":[555438,801306]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Dalandzadgad","adm0name":"Mongolia","adm1name":"Ömnögovi","iso_a2":"MN"},"coordinates":[790111,762926]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Wonsan","adm0name":"North Korea","adm1name":"Kangwon-do","iso_a2":"KP"},"coordinates":[853974,736721]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Sinuiju","adm0name":"North Korea","adm1name":"P'yongan-bukto","iso_a2":"KP"},"coordinates":[845613,742204]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Dund-Us","adm0name":"Mongolia","adm1name":"Hovd","iso_a2":"MN"},"coordinates":[754536,789189]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Choybalsan","adm0name":"Mongolia","adm1name":"Dornod","iso_a2":"MN"},"coordinates":[818071,789486]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Lüderitz","adm0name":"Namibia","adm1name":"Karas","iso_a2":"NA"},"coordinates":[542109,346842]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Walvis Bay","adm0name":"Namibia","adm1name":"Erongo","iso_a2":"NA"},"coordinates":[540292,368707]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Mwanza","adm0name":"Tanzania","adm1name":"Mwanza","iso_a2":"TZ"},"coordinates":[591472,489788]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Morogoro","adm0name":"Tanzania","adm1name":"Morogoro","iso_a2":"TZ"},"coordinates":[604610,464312]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Dodoma","adm0name":"Tanzania","adm1name":"Dodoma","iso_a2":"TZ"},"coordinates":[599305,468084]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Arusha","adm0name":"Tanzania","adm1name":"Arusha","iso_a2":"TZ"},"coordinates":[601861,484811]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Napier","adm0name":"New Zealand","adm1name":"Gisborne","iso_a2":"NZ"},"coordinates":[991429,270760]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Manukau","adm0name":"New Zealand","adm1name":"Auckland","iso_a2":"NZ"},"coordinates":[985790,285513]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Hamilton","adm0name":"New Zealand","adm1name":"Auckland","iso_a2":"NZ"},"coordinates":[986944,280950]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Blenheim","adm0name":"New Zealand","adm1name":"Marlborough","iso_a2":"NZ"},"coordinates":[983220,258728]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Dunedin","adm0name":"New Zealand","adm1name":"Otago","iso_a2":"NZ"},"coordinates":[973555,232904]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Bern","adm0name":"Switzerland","adm1name":"Bern","iso_a2":"CH"},"coordinates":[520741,782673]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Malmö","adm0name":"Sweden","adm1name":"Skåne","iso_a2":"SE"},"coordinates":[536203,834018]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Laayoune","adm0name":"Morocco","adm1name":"Laâyoune - Boujdour - Sakia El Hamra","iso_a2":"MA"},"coordinates":[463333,665566]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Ternate","adm0name":"Indonesia","adm1name":"Maluku Utara","iso_a2":"ID"},"coordinates":[853785,509415]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Ambon","adm0name":"Indonesia","adm1name":"Maluku","iso_a2":"ID"},"coordinates":[856110,482698]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Raba","adm0name":"Indonesia","adm1name":"Nusa Tenggara Barat","iso_a2":"ID"},"coordinates":[829907,454656]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Jayapura","adm0name":"Indonesia","adm1name":"Papua","iso_a2":"ID"},"coordinates":[890832,489710]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Florence","adm0name":"Italy","adm1name":"Toscana","iso_a2":"IT"},"coordinates":[531250,764090]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Catania","adm0name":"Italy","adm1name":"Sicily","iso_a2":"IT"},"coordinates":[541888,726884]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Pristina","adm0name":"Kosovo","adm1name":"Pristina","iso_a2":"-99"},"coordinates":[558793,757494]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Meru","adm0name":"Kenya","adm1name":"Eastern","iso_a2":"KE"},"coordinates":[604555,505072]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Eldoret","adm0name":"Kenya","adm1name":"Rift Valley","iso_a2":"KE"},"coordinates":[597971,507798]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Banda Aceh","adm0name":"Indonesia","adm1name":"Aceh","iso_a2":"ID"},"coordinates":[764777,537597]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"George Town","adm0name":"Malaysia","adm1name":"Pulau Pinang","iso_a2":"MY"},"coordinates":[778692,536790]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Zhangye","adm0name":"China","adm1name":"Gansu","iso_a2":"CN"},"coordinates":[779027,735356]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Wuwei","adm0name":"China","adm1name":"Gansu","iso_a2":"CN"},"coordinates":[785113,729420]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Dunhuang","adm0name":"China","adm1name":"Gansu","iso_a2":"CN"},"coordinates":[762949,742540]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Tianshui","adm0name":"China","adm1name":"Gansu","iso_a2":"CN"},"coordinates":[794216,709715]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Dulan","adm0name":"China","adm1name":"Gansu","iso_a2":"CN"},"coordinates":[772962,718985]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Golmud","adm0name":"China","adm1name":"Gansu","iso_a2":"CN"},"coordinates":[763564,720465]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Yulin","adm0name":"China","adm1name":"Guangxi","iso_a2":"CN"},"coordinates":[805966,638799]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Bose","adm0name":"China","adm1name":"Guangxi","iso_a2":"CN"},"coordinates":[796147,646309]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Wuzhou","adm0name":"China","adm1name":"Guangxi","iso_a2":"CN"},"coordinates":[809222,643823]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Lupanshui","adm0name":"China","adm1name":"Guizhou","iso_a2":"CN"},"coordinates":[791198,662286]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Quanzhou","adm0name":"China","adm1name":"Fujian","iso_a2":"CN"},"coordinates":[829382,652248]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Hefei","adm0name":"China","adm1name":"Anhui","iso_a2":"CN"},"coordinates":[825772,693423]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Suzhou","adm0name":"China","adm1name":"Anhui","iso_a2":"CN"},"coordinates":[824935,704004]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Zhanjiang","adm0name":"China","adm1name":"Guangdong","iso_a2":"CN"},"coordinates":[806605,630327]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Shaoguan","adm0name":"China","adm1name":"Guangdong","iso_a2":"CN"},"coordinates":[815499,651643]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Balikpapan","adm0name":"Indonesia","adm1name":"Kalimantan Timur","iso_a2":"ID"},"coordinates":[824527,497311]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Kuching","adm0name":"Malaysia","adm1name":"Sarawak","iso_a2":"MY"},"coordinates":[806472,513781]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Antsiranana","adm0name":"Madagascar","adm1name":"Antsiranana","iso_a2":"MG"},"coordinates":[636976,431985]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Fianarantsoa","adm0name":"Madagascar","adm1name":"Fianarantsoa","iso_a2":"MG"},"coordinates":[630786,377736]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Mahajanga","adm0name":"Madagascar","adm1name":"Mahajanga","iso_a2":"MG"},"coordinates":[628736,411881]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Toliara","adm0name":"Madagascar","adm1name":"Toliary","iso_a2":"MG"},"coordinates":[621360,366340]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Surakarta","adm0name":"Indonesia","adm1name":"Jawa Tengah","iso_a2":"ID"},"coordinates":[807846,459899]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Bandar Lampung","adm0name":"Indonesia","adm1name":"Lampung","iso_a2":"ID"},"coordinates":[792411,472559]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Tanjungpandan","adm0name":"Indonesia","adm1name":"Bangka-Belitung","iso_a2":"ID"},"coordinates":[799027,488425]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Malang","adm0name":"Indonesia","adm1name":"Jawa Timur","iso_a2":"ID"},"coordinates":[812800,457451]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Kupang","adm0name":"Indonesia","adm1name":"Nusa Tenggara Timur","iso_a2":"ID"},"coordinates":[843285,444414]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Parepare","adm0name":"Indonesia","adm1name":"Sulawesi Selatan","iso_a2":"ID"},"coordinates":[832314,480920]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Cuenca","adm0name":"Ecuador","adm1name":"Azuay","iso_a2":"EC"},"coordinates":[280555,487536]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Santa Cruz","adm0name":"Ecuador","adm1name":"Galápagos","iso_a2":"EC"},"coordinates":[249027,501557]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Puerto Limon","adm0name":"Costa Rica","adm1name":"Limón","iso_a2":"CR"},"coordinates":[269351,563962]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Santiago de Cuba","adm0name":"Cuba","adm1name":"Santiago de Cuba","iso_a2":"CU"},"coordinates":[289385,623354]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Santiago","adm0name":"Dominican Republic","adm1name":"Santiago","iso_a2":"DO"},"coordinates":[303694,620244]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Manizales","adm0name":"Colombia","adm1name":"Caldas","iso_a2":"CO"},"coordinates":[290222,534695]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Pasto","adm0name":"Colombia","adm1name":"Nariño","iso_a2":"CO"},"coordinates":[285330,511907]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Barranquilla","adm0name":"Colombia","adm1name":"Atlántico","iso_a2":"CO"},"coordinates":[292217,569660]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Roseau","adm0name":"Dominica","adm1name":"Saint George","iso_a2":"DM"},"coordinates":[329480,595367]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Mbandaka","adm0name":"Congo (Kinshasa)","adm1name":"Équateur","iso_a2":"CD"},"coordinates":[550722,504955]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Moundou","adm0name":"Chad","adm1name":"Logone Oriental","iso_a2":"TD"},"coordinates":[544694,555371]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Suez","adm0name":"Egypt","adm1name":"As Suways","iso_a2":"EG"},"coordinates":[590416,682480]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Bur Said","adm0name":"Egypt","adm1name":"Bur Sa`id","iso_a2":"EG"},"coordinates":[589694,689915]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"El Faiyum","adm0name":"Egypt","adm1name":"Al Fayyum","iso_a2":"EG"},"coordinates":[585666,678363]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Aswan","adm0name":"Egypt","adm1name":"Aswan","iso_a2":"EG"},"coordinates":[591385,647422]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Asyut","adm0name":"Egypt","adm1name":"Asyut","iso_a2":"EG"},"coordinates":[586610,665803]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Kisangani","adm0name":"Congo (Kinshasa)","adm1name":"Orientale","iso_a2":"CD"},"coordinates":[570055,507798]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Assab","adm0name":"Eritrea","adm1name":"Debubawi Keyih Bahri","iso_a2":"ER"},"coordinates":[618694,581794]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Djibouti","adm0name":"Djibouti","adm1name":"Djibouti","iso_a2":"DJ"},"coordinates":[619855,573411]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Dresden","adm0name":"Germany","adm1name":"Sachsen","iso_a2":"DE"},"coordinates":[538194,807160]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Xigaze","adm0name":"China","adm1name":"Xizang","iso_a2":"CN"},"coordinates":[746897,678007]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Shache","adm0name":"China","adm1name":"Xinjiang Uygur","iso_a2":"CN"},"coordinates":[714583,732371]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Yining","adm0name":"China","adm1name":"Xinjiang Uygur","iso_a2":"CN"},"coordinates":[725971,764800]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Altay","adm0name":"China","adm1name":"Xinjiang Uygur","iso_a2":"CN"},"coordinates":[744768,788301]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Putrajaya","adm0name":"Malaysia","adm1name":"Selangor","iso_a2":"MY"},"coordinates":[782504,521981]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Shizuishan","adm0name":"China","adm1name":"Ningxia Hui","iso_a2":"CN"},"coordinates":[796580,737152]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Yulin","adm0name":"China","adm1name":"Shaanxi","iso_a2":"CN"},"coordinates":[804814,731525]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Ankang","adm0name":"China","adm1name":"Shaanxi","iso_a2":"CN"},"coordinates":[802832,698328]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Houma","adm0name":"China","adm1name":"Shanxi","iso_a2":"CN"},"coordinates":[808916,715746]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Yueyang","adm0name":"China","adm1name":"Hunan","iso_a2":"CN"},"coordinates":[814160,678790]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Hengyang","adm0name":"China","adm1name":"Hunan","iso_a2":"CN"},"coordinates":[812744,663978]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Mianyang","adm0name":"China","adm1name":"Sichuan","iso_a2":"CN"},"coordinates":[791022,691171]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Xichang","adm0name":"China","adm1name":"Sichuan","iso_a2":"CN"},"coordinates":[784166,669891]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Baoshan","adm0name":"China","adm1name":"Yunnan","iso_a2":"CN"},"coordinates":[775415,653540]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Gejiu","adm0name":"China","adm1name":"Yunnan","iso_a2":"CN"},"coordinates":[786527,643230]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Shijianzhuang","adm0name":"China","adm1name":"Hebei","iso_a2":"CN"},"coordinates":[817993,730154]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Handan","adm0name":"China","adm1name":"Hebei","iso_a2":"CN"},"coordinates":[817993,721445]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Anshan","adm0name":"China","adm1name":"Liaoning","iso_a2":"CN"},"coordinates":[841494,748312]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Dalian","adm0name":"China","adm1name":"Liaoning","iso_a2":"CN"},"coordinates":[837855,735325]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Qingdao","adm0name":"China","adm1name":"Shandong","iso_a2":"CN"},"coordinates":[834244,718542]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Linyi","adm0name":"China","adm1name":"Shandong","iso_a2":"CN"},"coordinates":[828688,712559]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Huaiyin","adm0name":"China","adm1name":"Jiangsu","iso_a2":"CN"},"coordinates":[830633,703671]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Wenzhou","adm0name":"China","adm1name":"Zhejiang","iso_a2":"CN"},"coordinates":[835133,670731]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Ningbo","adm0name":"China","adm1name":"Zhejiang","iso_a2":"CN"},"coordinates":[837632,681751]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Fukuoka","adm0name":"Japan","adm1name":"Fukuoka","iso_a2":"JP"},"coordinates":[862243,703760]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Miyazaki","adm0name":"Japan","adm1name":"Miyazaki","iso_a2":"JP"},"coordinates":[865050,693815]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Naha","adm0name":"Japan","adm1name":"Okinawa","iso_a2":"JP"},"coordinates":[854647,659980]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Kochi","adm0name":"Japan","adm1name":"Kochi","iso_a2":"JP"},"coordinates":[870937,703556]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Gorontalo","adm0name":"Indonesia","adm1name":"Gorontalo","iso_a2":"ID"},"coordinates":[841861,507976]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Tongliao","adm0name":"China","adm1name":"Nei Mongol","iso_a2":"CN"},"coordinates":[839633,763153]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Hohhot","adm0name":"China","adm1name":"Nei Mongol","iso_a2":"CN"},"coordinates":[810161,746565]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Chifeng","adm0name":"China","adm1name":"Nei Mongol","iso_a2":"CN"},"coordinates":[830410,755155]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Ulanhot","adm0name":"China","adm1name":"Nei Mongol","iso_a2":"CN"},"coordinates":[839110,777716]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Hailar","adm0name":"China","adm1name":"Nei Mongol","iso_a2":"CN"},"coordinates":[832499,796200]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Jiamusi","adm0name":"China","adm1name":"Heilongjiang","iso_a2":"CN"},"coordinates":[862077,782171]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Beian","adm0name":"China","adm1name":"Heilongjiang","iso_a2":"CN"},"coordinates":[851338,790507]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Daqing","adm0name":"China","adm1name":"Heilongjiang","iso_a2":"CN"},"coordinates":[847216,780690]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Jixi","adm0name":"China","adm1name":"Heilongjiang","iso_a2":"CN"},"coordinates":[863800,773106]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Nagoya","adm0name":"Japan","adm1name":"Aichi","iso_a2":"JP"},"coordinates":[880313,713003]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Nagano","adm0name":"Japan","adm1name":"Nagano","iso_a2":"JP"},"coordinates":[883805,721849]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Kushiro","adm0name":"Japan","adm1name":"Hokkaido","iso_a2":"JP"},"coordinates":[901040,759320]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Hakodate","adm0name":"Japan","adm1name":"Hokkaido","iso_a2":"JP"},"coordinates":[890943,752329]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Kyoto","adm0name":"Japan","adm1name":"Kyoto","iso_a2":"JP"},"coordinates":[877077,712262]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Sendai","adm0name":"Japan","adm1name":"Miyagi","iso_a2":"JP"},"coordinates":[891720,731559]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Sakata","adm0name":"Japan","adm1name":"Yamagata","iso_a2":"JP"},"coordinates":[888471,735297]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Bandundu","adm0name":"Congo (Kinshasa)","adm1name":"Bandundu","iso_a2":"CD"},"coordinates":[548277,485107]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Kananga","adm0name":"Congo (Kinshasa)","adm1name":"Kasaï-Occidental","iso_a2":"CD"},"coordinates":[562216,469833]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Kasongo","adm0name":"Congo (Kinshasa)","adm1name":"Maniema","iso_a2":"CD"},"coordinates":[574055,478353]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Mbuji-Mayi","adm0name":"Congo (Kinshasa)","adm1name":"Kasaï-Oriental","iso_a2":"CD"},"coordinates":[565549,468293]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Kalemie","adm0name":"Congo (Kinshasa)","adm1name":"Katanga","iso_a2":"CD"},"coordinates":[581110,469566]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Butembo","adm0name":"Congo (Kinshasa)","adm1name":"Nord-Kivu","iso_a2":"CD"},"coordinates":[581332,505487]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Goma","adm0name":"Congo (Kinshasa)","adm1name":"Nord-Kivu","iso_a2":"CD"},"coordinates":[581171,494771]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Mzuzu","adm0name":"Malawi","adm1name":"Mzimba","iso_a2":"MW"},"coordinates":[594500,436823]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Blantyre","adm0name":"Malawi","adm1name":"Blantyre","iso_a2":"MW"},"coordinates":[597193,411170]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Quetzaltenango","adm0name":"Guatemala","adm1name":"Quezaltenango","iso_a2":"GT"},"coordinates":[245778,592576]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Banjul","adm0name":"The Gambia","adm1name":"Banjul","iso_a2":"GM"},"coordinates":[453912,584424]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Faridabad","adm0name":"India","adm1name":"Haryana","iso_a2":"IN"},"coordinates":[714762,673180]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Srinagar","adm0name":"India","adm1name":"Jammu and Kashmir","iso_a2":"IN"},"coordinates":[707813,706752]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Vijayawada","adm0name":"India","adm1name":"Andhra Pradesh","iso_a2":"IN"},"coordinates":[723966,602600]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Thiruvananthapuram","adm0name":"India","adm1name":"Kerala","iso_a2":"IN"},"coordinates":[713744,555086]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Kochi","adm0name":"India","adm1name":"Kerala","iso_a2":"IN"},"coordinates":[711727,564062]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Cuttack","adm0name":"India","adm1name":"Orissa","iso_a2":"IN"},"coordinates":[738583,625991]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Hubli","adm0name":"India","adm1name":"Karnataka","iso_a2":"IN"},"coordinates":[708674,595728]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Mangalore","adm0name":"India","adm1name":"Karnataka","iso_a2":"IN"},"coordinates":[707916,581143]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Mysore","adm0name":"India","adm1name":"Karnataka","iso_a2":"IN"},"coordinates":[712938,577658]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Gulbarga","adm0name":"India","adm1name":"Karnataka","iso_a2":"IN"},"coordinates":[713388,607506]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Kolhapur","adm0name":"India","adm1name":"Maharashtra","iso_a2":"IN"},"coordinates":[706166,603655]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Nanded","adm0name":"India","adm1name":"Maharashtra","iso_a2":"IN"},"coordinates":[714721,618289]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Akola","adm0name":"India","adm1name":"Maharashtra","iso_a2":"IN"},"coordinates":[713916,627412]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Guwahati","adm0name":"India","adm1name":"Assam","iso_a2":"IN"},"coordinates":[754911,659712]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Kayes","adm0name":"Congo (Brazzaville)","adm1name":"Bouenza","iso_a2":"CG"},"coordinates":[536888,479953]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Franceville","adm0name":"Gabon","adm1name":"Haut-Ogooué","iso_a2":"GA"},"coordinates":[537731,495041]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Bordeaux","adm0name":"France","adm1name":"Aquitaine","iso_a2":"FR"},"coordinates":[498342,770440]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Marseille","adm0name":"France","adm1name":"Provence-Alpes-Côte-d'Azur","iso_a2":"FR"},"coordinates":[514925,761198]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Le Havre","adm0name":"France","adm1name":"Haute-Normandie","iso_a2":"FR"},"coordinates":[500291,798007]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Gao","adm0name":"Mali","adm1name":"Gao","iso_a2":"ML"},"coordinates":[499860,601088]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Coihaique","adm0name":"Chile","adm1name":"Aisén del General Carlos Ibáñez del Campo","iso_a2":"CL"},"coordinates":[299806,234740]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Arica","adm0name":"Chile","adm1name":"Arica y Parinacota","iso_a2":"CL"},"coordinates":[304750,395115]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Copiapo","adm0name":"Chile","adm1name":"Atacama","iso_a2":"CL"},"coordinates":[304610,342624]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"La Serena","adm0name":"Chile","adm1name":"Coquimbo","iso_a2":"CL"},"coordinates":[302083,327576]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Los Angeles","adm0name":"Chile","adm1name":"Bío-Bío","iso_a2":"CL"},"coordinates":[299000,282787]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Narsarsuaq","adm0name":"Greenland","adm1name":"Kommune Kujalleq","iso_a2":"GL"},"coordinates":[373843,867096]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Sisimiut","adm0name":"Greenland","adm1name":"Qeqqata Kommunia","iso_a2":"GL"},"coordinates":[350925,901360]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Upernavik","adm0name":"Greenland","adm1name":"Qaasuitsup Kommunia","iso_a2":"GL"},"coordinates":[344051,935480]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Qaanaaq","adm0name":"Greenland","adm1name":"Qaasuitsup Kommunia","iso_a2":"GL"},"coordinates":[307410,963764]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Nouadhibou","adm0name":"Mauritania","adm1name":"Dakhlet Nouadhibou","iso_a2":"MR"},"coordinates":[452622,628538]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Kayes","adm0name":"Mali","adm1name":"Kayes","iso_a2":"ML"},"coordinates":[468221,590325]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Ayoun el Atrous","adm0name":"Mauritania","adm1name":"Hodh el Gharbi","iso_a2":"MR"},"coordinates":[473287,603457]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Segou","adm0name":"Mali","adm1name":"Ségou","iso_a2":"ML"},"coordinates":[482611,584342]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Skopje","adm0name":"Macedonia","adm1name":"Centar","iso_a2":"MK"},"coordinates":[559537,753544]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Al Jawf","adm0name":"Libya","adm1name":"Al Kufrah","iso_a2":"LY"},"coordinates":[564694,648089]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Tmassah","adm0name":"Libya","adm1name":"Murzuq","iso_a2":"LY"},"coordinates":[543888,660925]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Misratah","adm0name":"Libya","adm1name":"Misratah","iso_a2":"LY"},"coordinates":[541944,696550]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Zuwarah","adm0name":"Libya","adm1name":"An Nuqat al Khams","iso_a2":"LY"},"coordinates":[533553,699835]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Kirkuk","adm0name":"Iraq","adm1name":"At-Ta'mim","iso_a2":"IQ"},"coordinates":[623311,714871]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Mosul","adm0name":"Iraq","adm1name":"Ninawa","iso_a2":"IQ"},"coordinates":[619841,720053]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"An Najaf","adm0name":"Iraq","adm1name":"An-Najaf","iso_a2":"IQ"},"coordinates":[623153,694302]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Bahir Dar","adm0name":"Ethiopia","adm1name":"Amhara","iso_a2":"ET"},"coordinates":[603842,573441]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Mekele","adm0name":"Ethiopia","adm1name":"Tigray","iso_a2":"ET"},"coordinates":[609638,584697]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Dire Dawa","adm0name":"Ethiopia","adm1name":"Dire Dawa","iso_a2":"ET"},"coordinates":[616277,561532]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Rovaniemi","adm0name":"Finland","adm1name":"Lapland","iso_a2":"FI"},"coordinates":[571433,898693]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Vaasa","adm0name":"Finland","adm1name":"Western Finland","iso_a2":"FI"},"coordinates":[560000,878550]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Tampere","adm0name":"Finland","adm1name":"Pirkanmaa","iso_a2":"FI"},"coordinates":[565972,869071]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Aqtobe","adm0name":"Kazakhstan","adm1name":"Aqtöbe","iso_a2":"KZ"},"coordinates":[658805,802598]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Rudny","adm0name":"Kazakhstan","adm1name":"Qostanay","iso_a2":"KZ"},"coordinates":[675360,818432]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Qyzylorda","adm0name":"Kazakhstan","adm1name":"Qyzylorda","iso_a2":"KZ"},"coordinates":[681846,770133]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Atyrau","adm0name":"Kazakhstan","adm1name":"Atyrau","iso_a2":"KZ"},"coordinates":[644221,783834]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Ekibastuz","adm0name":"Kazakhstan","adm1name":"Pavlodar","iso_a2":"KZ"},"coordinates":[709222,811189]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Pavlodar","adm0name":"Kazakhstan","adm1name":"Pavlodar","iso_a2":"KZ"},"coordinates":[713750,814566]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Semey","adm0name":"Kazakhstan","adm1name":"East Kazakhstan","iso_a2":"KZ"},"coordinates":[722985,803517]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Oskemen","adm0name":"Kazakhstan","adm1name":"East Kazakhstan","iso_a2":"KZ"},"coordinates":[729486,800881]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Yazd","adm0name":"Iran","adm1name":"Yazd","iso_a2":"IR"},"coordinates":[651028,693826]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Ahvaz","adm0name":"Iran","adm1name":"Khuzestan","iso_a2":"IR"},"coordinates":[635327,690046]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Basra","adm0name":"Iraq","adm1name":"Al-Basrah","iso_a2":"IQ"},"coordinates":[632809,685504]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Bandar-e-Abbas","adm0name":"Iran","adm1name":"Hormozgan","iso_a2":"IR"},"coordinates":[656311,665886]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Hamadan","adm0name":"Iran","adm1name":"Hamadan","iso_a2":"IR"},"coordinates":[634763,710864]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Tabriz","adm0name":"Iran","adm1name":"East Azarbaijan","iso_a2":"IR"},"coordinates":[628608,730369]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Ludhiana","adm0name":"India","adm1name":"Punjab","iso_a2":"IN"},"coordinates":[710750,687959]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Kota","adm0name":"India","adm1name":"Rajasthan","iso_a2":"IN"},"coordinates":[710647,653906]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Jodhpur","adm0name":"India","adm1name":"Rajasthan","iso_a2":"IN"},"coordinates":[702818,660493]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Shymkent","adm0name":"Kazakhstan","adm1name":"South Kazakhstan","iso_a2":"KZ"},"coordinates":[693319,755440]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Taraz","adm0name":"Kazakhstan","adm1name":"Zhambyl","iso_a2":"KZ"},"coordinates":[698236,758876]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Lucknow","adm0name":"India","adm1name":"Uttar Pradesh","iso_a2":"IN"},"coordinates":[724758,663830]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Saharanpur","adm0name":"India","adm1name":"Uttar Pradesh","iso_a2":"IN"},"coordinates":[715416,682273]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Ranchi","adm0name":"India","adm1name":"Jharkhand","iso_a2":"IN"},"coordinates":[737021,643183]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Bhagalpur","adm0name":"India","adm1name":"Bihar","iso_a2":"IN"},"coordinates":[741610,654191]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Raipur","adm0name":"India","adm1name":"Chhattisgarh","iso_a2":"IN"},"coordinates":[726757,630534]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Jabalpur","adm0name":"India","adm1name":"Madhya Pradesh","iso_a2":"IN"},"coordinates":[722091,642028]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Indore","adm0name":"India","adm1name":"Madhya Pradesh","iso_a2":"IN"},"coordinates":[710730,639303]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Pondicherry","adm0name":"India","adm1name":"Puducherry","iso_a2":"IN"},"coordinates":[721749,575425]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Salem","adm0name":"India","adm1name":"Tamil Nadu","iso_a2":"IN"},"coordinates":[717160,573867]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Tiruchirappalli","adm0name":"India","adm1name":"Tamil Nadu","iso_a2":"IN"},"coordinates":[718577,568772]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Pointe-Noire","adm0name":"Congo (Brazzaville)","adm1name":"Kouilou","iso_a2":"CG"},"coordinates":[533000,476457]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Kankan","adm0name":"Guinea","adm1name":"Kankan","iso_a2":"GN"},"coordinates":[474138,566272]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Nzerekore","adm0name":"Guinea","adm1name":"Nzerekore","iso_a2":"GN"},"coordinates":[475472,550691]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Bouake","adm0name":"Ivory Coast","adm1name":"Vallée du Bandama","iso_a2":"CI"},"coordinates":[486027,550276]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"St.-Denis","adm0name":"France","adm1name":"La Réunion","iso_a2":"RE"},"coordinates":[654022,381021]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Rio Branco","adm0name":"Brazil","adm1name":"Acre","iso_a2":"BR"},"coordinates":[311666,445671]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"São Luís","adm0name":"Brazil","adm1name":"Maranhão","iso_a2":"BR"},"coordinates":[377034,489822]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Porto Velho","adm0name":"Brazil","adm1name":"Rondônia","iso_a2":"BR"},"coordinates":[322500,452878]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Alvorada","adm0name":"Brazil","adm1name":"Tocantins","iso_a2":"BR"},"coordinates":[363661,430839]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Corumba","adm0name":"Brazil","adm1name":"Mato Grosso do Sul","iso_a2":"BR"},"coordinates":[339861,392057]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Belo Horizonte","adm0name":"Brazil","adm1name":"Minas Gerais","iso_a2":"BR"},"coordinates":[378008,386743]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Montes Claros","adm0name":"Brazil","adm1name":"Minas Gerais","iso_a2":"BR"},"coordinates":[378166,405660]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Uberlandia","adm0name":"Brazil","adm1name":"Minas Gerais","iso_a2":"BR"},"coordinates":[365888,392745]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Colider","adm0name":"Brazil","adm1name":"Mato Grosso","iso_a2":"BR"},"coordinates":[345970,440630]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Alta Floresta","adm0name":"Brazil","adm1name":"Mato Grosso","iso_a2":"BR"},"coordinates":[344694,446065]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Cuiaba","adm0name":"Brazil","adm1name":"Mato Grosso","iso_a2":"BR"},"coordinates":[344203,412487]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Pelotas","adm0name":"Brazil","adm1name":"Rio Grande do Sul","iso_a2":"BR"},"coordinates":[354639,316616]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Caxias do Sul","adm0name":"Brazil","adm1name":"Rio Grande do Sul","iso_a2":"BR"},"coordinates":[357860,331842]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Ponta Grossa","adm0name":"Brazil","adm1name":"Paraná","iso_a2":"BR"},"coordinates":[360666,356072]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Teresina","adm0name":"Brazil","adm1name":"Piauí","iso_a2":"BR"},"coordinates":[381161,474543]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Maceio","adm0name":"Brazil","adm1name":"Alagoas","iso_a2":"BR"},"coordinates":[400745,447735]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Vitoria da Conquista","adm0name":"Brazil","adm1name":"Bahia","iso_a2":"BR"},"coordinates":[386555,416739]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Barreiras","adm0name":"Brazil","adm1name":"Bahia","iso_a2":"BR"},"coordinates":[375000,432794]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Vila Velha","adm0name":"Brazil","adm1name":"Espírito Santo","iso_a2":"BR"},"coordinates":[388005,384050]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Natal","adm0name":"Brazil","adm1name":"Rio Grande do Norte","iso_a2":"BR"},"coordinates":[402105,470485]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Thompson","adm0name":"Canada","adm1name":"Manitoba","iso_a2":"CA"},"coordinates":[228148,835005]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Brandon","adm0name":"Canada","adm1name":"Manitoba","iso_a2":"CA"},"coordinates":[222361,799952]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Fort Smith","adm0name":"Canada","adm1name":"Alberta","iso_a2":"CA"},"coordinates":[189212,860185]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Fort McMurray","adm0name":"Canada","adm1name":"Alberta","iso_a2":"CA"},"coordinates":[190601,840831]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Peace River","adm0name":"Canada","adm1name":"Alberta","iso_a2":"CA"},"coordinates":[174213,837869]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Fort St. John","adm0name":"Canada","adm1name":"British Columbia","iso_a2":"CA"},"coordinates":[164352,837967]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Iqaluit","adm0name":"Canada","adm1name":"Nunavut","iso_a2":"CA"},"coordinates":[309722,882404]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Cambridge Bay","adm0name":"Canada","adm1name":"Nunavut","iso_a2":"CA"},"coordinates":[208240,914197]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Kugluktuk","adm0name":"Canada","adm1name":"Nunavut","iso_a2":"CA"},"coordinates":[180207,906387]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Chesterfield Inlet","adm0name":"Canada","adm1name":"Nunavut","iso_a2":"CA"},"coordinates":[248055,879962]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Arviat","adm0name":"Canada","adm1name":"Nunavut","iso_a2":"CA"},"coordinates":[238726,866752]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Taloyoak","adm0name":"Canada","adm1name":"Nunavut","iso_a2":"CA"},"coordinates":[240185,916664]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Igloolik","adm0name":"Canada","adm1name":"Nunavut","iso_a2":"CA"},"coordinates":[272796,915024]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Dawson City","adm0name":"Canada","adm1name":"Yukon","iso_a2":"CA"},"coordinates":[112731,884277]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Timmins","adm0name":"Canada","adm1name":"Ontario","iso_a2":"CA"},"coordinates":[274074,791855]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"North Bay","adm0name":"Canada","adm1name":"Ontario","iso_a2":"CA"},"coordinates":[279305,779019]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Kuujjuarapik","adm0name":"Canada","adm1name":"Québec","iso_a2":"CA"},"coordinates":[283983,832229]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Kuujjuaq","adm0name":"Canada","adm1name":"Québec","iso_a2":"CA"},"coordinates":[310000,848928]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Sydney","adm0name":"Canada","adm1name":"Nova Scotia","iso_a2":"CA"},"coordinates":[332833,777634]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Labrador City","adm0name":"Canada","adm1name":"Newfoundland and Labrador","iso_a2":"CA"},"coordinates":[314122,818366]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Ebolowa","adm0name":"Cameroon","adm1name":"Sud","iso_a2":"CM"},"coordinates":[530972,521898]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Bambari","adm0name":"Central African Republic","adm1name":"Ouaka","iso_a2":"CF"},"coordinates":[557408,538854]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Venice","adm0name":"Italy","adm1name":"Veneto","iso_a2":"IT"},"coordinates":[534263,773916]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"El Calafate","adm0name":"Argentina","adm1name":"Santa Cruz","iso_a2":"AR"},"coordinates":[299166,206520]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"San Juan","adm0name":"Argentina","adm1name":"San Juan","iso_a2":"AR"},"coordinates":[309667,317800]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Rawson","adm0name":"Argentina","adm1name":"Chubut","iso_a2":"AR"},"coordinates":[319167,248188]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Neuquen","adm0name":"Argentina","adm1name":"Neuquén","iso_a2":"AR"},"coordinates":[310944,273959]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Trinidad","adm0name":"Bolivia","adm1name":"El Beni","iso_a2":"BO"},"coordinates":[319722,416838]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Santa Rosa","adm0name":"Argentina","adm1name":"La Pampa","iso_a2":"AR"},"coordinates":[321389,287763]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"San Carlos de Bariloche","adm0name":"Argentina","adm1name":"Río Negro","iso_a2":"AR"},"coordinates":[301944,260926]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Salta","adm0name":"Argentina","adm1name":"Salta","iso_a2":"AR"},"coordinates":[318286,357889]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Tucumán","adm0name":"Argentina","adm1name":"Tucumán","iso_a2":"AR"},"coordinates":[318837,345858]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Formosa","adm0name":"Argentina","adm1name":"Formosa","iso_a2":"AR"},"coordinates":[338380,349657]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Santa Fe","adm0name":"Argentina","adm1name":"Santa Fe","iso_a2":"AR"},"coordinates":[331416,317363]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Rosario","adm0name":"Argentina","adm1name":"Santa Fe","iso_a2":"AR"},"coordinates":[331477,309511]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Campinas","adm0name":"Brazil","adm1name":"São Paulo","iso_a2":"BR"},"coordinates":[369161,369059]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Sorocaba","adm0name":"Brazil","adm1name":"São Paulo","iso_a2":"BR"},"coordinates":[368139,365552]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Ribeirao Preto","adm0name":"Brazil","adm1name":"São Paulo","iso_a2":"BR"},"coordinates":[367139,379296]},{"type":"Point","properties":{"scalerank":4,"labelrank":1,"name":"Petrolina","adm0name":"Brazil","adm1name":"Pernambuco","iso_a2":"BR"},"coordinates":[387472,449145]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Bamenda","adm0name":"Cameroon","adm1name":"Nord-Ouest","iso_a2":"CM"},"coordinates":[528194,540027]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Garoua","adm0name":"Cameroon","adm1name":"Nord","iso_a2":"CM"},"coordinates":[537194,559815]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Herat","adm0name":"Afghanistan","adm1name":"Hirat","iso_a2":"AF"},"coordinates":[672694,708103]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Mazar-e Sharif","adm0name":"Afghanistan","adm1name":"Balkh","iso_a2":"AF"},"coordinates":[686388,722144]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Battambang","adm0name":"Cambodia","adm1name":"Batdâmbâng","iso_a2":"KH"},"coordinates":[786666,582327]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Siem Reap","adm0name":"Cambodia","adm1name":"Siemréab","iso_a2":"KH"},"coordinates":[788471,583907]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Malanje","adm0name":"Angola","adm1name":"Malanje","iso_a2":"AO"},"coordinates":[545389,448198]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Benguela","adm0name":"Angola","adm1name":"Benguela","iso_a2":"AO"},"coordinates":[537242,430198]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Lubango","adm0name":"Angola","adm1name":"Huíla","iso_a2":"AO"},"coordinates":[537471,416383]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Namibe","adm0name":"Angola","adm1name":"Namibe","iso_a2":"AO"},"coordinates":[533778,414725]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Tarija","adm0name":"Bolivia","adm1name":"Tarija","iso_a2":"BO"},"coordinates":[320138,377243]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Bridgetown","adm0name":"Barbados","adm1name":"Saint Michael","iso_a2":"BB"},"coordinates":[334399,582339]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Annaba","adm0name":"Algeria","adm1name":"Annaba","iso_a2":"DZ"},"coordinates":[521555,723448]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Parakou","adm0name":"Benin","adm1name":"Borgou","iso_a2":"BJ"},"coordinates":[507278,560052]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Porto-Novo","adm0name":"Benin","adm1name":"Ouémé","iso_a2":"BJ"},"coordinates":[507268,543127]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Constantine","adm0name":"Algeria","adm1name":"Constantine","iso_a2":"DZ"},"coordinates":[518332,720130]},{"type":"Point","properties":{"scalerank":4,"labelrank":6,"name":"Brest","adm0name":"Belarus","adm1name":"Brest","iso_a2":"BY"},"coordinates":[565833,813381]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Khulna","adm0name":"Bangladesh","adm1name":"Khulna","iso_a2":"BD"},"coordinates":[748772,640043]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Francistown","adm0name":"Botswana","adm1name":"Central","iso_a2":"BW"},"coordinates":[576388,379296]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Mahalapye","adm0name":"Botswana","adm1name":"Central","iso_a2":"BW"},"coordinates":[574500,367862]},{"type":"Point","properties":{"scalerank":4,"labelrank":7,"name":"Serowe","adm0name":"Botswana","adm1name":"Central","iso_a2":"BW"},"coordinates":[574194,372068]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Katherine","adm0name":"Australia","adm1name":"Northern Territory","iso_a2":"AU"},"coordinates":[867406,419010]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Busselton","adm0name":"Australia","adm1name":"Western Australia","iso_a2":"AU"},"coordinates":[820412,305321]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Mandurah","adm0name":"Australia","adm1name":"Western Australia","iso_a2":"AU"},"coordinates":[821519,312034]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Broome","adm0name":"Australia","adm1name":"Western Australia","iso_a2":"AU"},"coordinates":[839530,398304]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Kalgoorlie","adm0name":"Australia","adm1name":"Western Australia","iso_a2":"AU"},"coordinates":[837388,322627]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Albany","adm0name":"Australia","adm1name":"Western Australia","iso_a2":"AU"},"coordinates":[827476,297261]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Port Hedland","adm0name":"Australia","adm1name":"Western Australia","iso_a2":"AU"},"coordinates":[829460,384389]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Karratha","adm0name":"Australia","adm1name":"Western Australia","iso_a2":"AU"},"coordinates":[824638,381901]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Geraldton","adm0name":"Australia","adm1name":"Western Australia","iso_a2":"AU"},"coordinates":[818332,334291]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Griffith","adm0name":"Australia","adm1name":"New South Wales","iso_a2":"AU"},"coordinates":[905665,301567]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Orange","adm0name":"Australia","adm1name":"New South Wales","iso_a2":"AU"},"coordinates":[914166,307551]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Dubbo","adm0name":"Australia","adm1name":"New South Wales","iso_a2":"AU"},"coordinates":[912769,313595]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Armidale","adm0name":"Australia","adm1name":"New South Wales","iso_a2":"AU"},"coordinates":[921297,323948]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Broken Hill","adm0name":"Australia","adm1name":"New South Wales","iso_a2":"AU"},"coordinates":[892869,315431]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Port Lincoln","adm0name":"Australia","adm1name":"South Australia","iso_a2":"AU"},"coordinates":[877407,298942]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Whyalla","adm0name":"Australia","adm1name":"South Australia","iso_a2":"AU"},"coordinates":[882114,309062]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Portland","adm0name":"Australia","adm1name":"Victoria","iso_a2":"AU"},"coordinates":[893305,277573]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Bendigo","adm0name":"Australia","adm1name":"Victoria","iso_a2":"AU"},"coordinates":[900777,286934]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Wangaratta","adm0name":"Australia","adm1name":"Victoria","iso_a2":"AU"},"coordinates":[906388,289304]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Windorah","adm0name":"Australia","adm1name":"Queensland","iso_a2":"AU"},"coordinates":[896250,354039]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Mount Isa","adm0name":"Australia","adm1name":"Queensland","iso_a2":"AU"},"coordinates":[887471,381939]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Rockhampton","adm0name":"Australia","adm1name":"Queensland","iso_a2":"AU"},"coordinates":[918110,366299]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Cairns","adm0name":"Australia","adm1name":"Queensland","iso_a2":"AU"},"coordinates":[904897,404666]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Gold Coast","adm0name":"Australia","adm1name":"Queensland","iso_a2":"AU"},"coordinates":[926245,338350]},{"type":"Point","properties":{"scalerank":4,"labelrank":3,"name":"Devonport","adm0name":"Australia","adm1name":"Tasmania","iso_a2":"AU"},"coordinates":[906475,260673]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Bobo Dioulasso","adm0name":"Burkina Faso","adm1name":"Houet","iso_a2":"BF"},"coordinates":[488083,570952]},{"type":"Point","properties":{"scalerank":4,"labelrank":2,"name":"Rajshahi","adm0name":"Bangladesh","adm1name":"Rajshahi","iso_a2":"BD"},"coordinates":[746118,649137]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Mandalay","adm0name":"Myanmar","adm1name":"Mandalay","iso_a2":"MM"},"coordinates":[766897,634889]},{"type":"Point","properties":{"scalerank":4,"labelrank":5,"name":"Sittwe","adm0name":"Myanmar","adm1name":"Rakhine","iso_a2":"MM"},"coordinates":[758000,624035]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Bujumbura","adm0name":"Burundi","adm1name":"Bujumbura Mairie","iso_a2":"BI"},"coordinates":[581555,484715]},{"type":"Point","properties":{"scalerank":4,"labelrank":0,"name":"Pago Pago","adm0name":"American Samoa","iso_a2":"AS"},"coordinates":[25815,420136]},{"type":"Point","properties":{"scalerank":4,"labelrank":0,"name":"Kingstown","adm0name":"Saint Vincent and the Grenadines","iso_a2":"VC"},"coordinates":[329966,582614]},{"type":"Point","properties":{"scalerank":4,"labelrank":0,"name":"Castries","adm0name":"Saint Lucia","iso_a2":"LC"},"coordinates":[330555,587671]},{"type":"Point","properties":{"scalerank":4,"labelrank":0,"name":"Basseterre","adm0name":"Saint Kitts and Nevis","iso_a2":"KN"},"coordinates":[325786,607222]},{"type":"Point","properties":{"scalerank":4,"labelrank":0,"name":"Las Palmas","adm0name":"Spain","iso_a2":"ES"},"coordinates":[457138,671194]},{"type":"Point","properties":{"scalerank":4,"labelrank":0,"name":"Berbera","adm0name":"Somaliland","iso_a2":"-99"},"coordinates":[625045,566542]},{"type":"Point","properties":{"scalerank":4,"labelrank":0,"name":"Port Louis","adm0name":"Mauritius","iso_a2":"MU"},"coordinates":[659722,385241]},{"type":"Point","properties":{"scalerank":4,"labelrank":0,"name":"Gaza","adm0name":"Palestine","iso_a2":"PS"},"coordinates":[595680,691515]},{"type":"Point","properties":{"scalerank":4,"labelrank":0,"name":"Saint George's","adm0name":"Grenada","iso_a2":"GD"},"coordinates":[328495,576122]},{"type":"Point","properties":{"scalerank":4,"labelrank":0,"name":"Papeete","adm0name":"French Polynesia","iso_a2":"PF"},"coordinates":[84537,400842]},{"type":"Point","properties":{"scalerank":4,"labelrank":0,"name":"Manama","adm0name":"Bahrain","iso_a2":"BH"},"coordinates":[640508,660152]},{"type":"Point","properties":{"scalerank":4,"labelrank":0,"name":"Freeport","adm0name":"The Bahamas","iso_a2":"BS"},"coordinates":[281389,661912]},{"type":"Point","properties":{"scalerank":4,"labelrank":0,"name":"Saint John's","adm0name":"Antigua and Barbuda","iso_a2":"AG"},"coordinates":[328194,606132]},{"type":"Point","properties":{"scalerank":4,"labelrank":8,"name":"Taichung","adm0name":"Taiwan","adm1name":"Taichung City","iso_a2":"TW"},"coordinates":[835226,647805]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Kozhikode","adm0name":"India","adm1name":"Kerala","iso_a2":"IN"},"coordinates":[710466,571381]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Bhubaneshwar","adm0name":"India","adm1name":"Orissa","iso_a2":"IN"},"coordinates":[738403,624820]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Jamshedpur","adm0name":"India","adm1name":"Jharkhand","iso_a2":"IN"},"coordinates":[739431,639733]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Montevideo","adm0name":"Uruguay","adm1name":"Montevideo","iso_a2":"UY"},"coordinates":[343963,298213]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Helena","adm0name":"United States of America","adm1name":"Montana","iso_a2":"US"},"coordinates":[188791,780754]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Bismarck","adm0name":"United States of America","adm1name":"North Dakota","iso_a2":"US"},"coordinates":[220046,782031]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Boise","adm0name":"United States of America","adm1name":"Idaho","iso_a2":"US"},"coordinates":[177146,763074]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"San Jose","adm0name":"United States of America","adm1name":"California","iso_a2":"US"},"coordinates":[161523,725711]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Sacramento","adm0name":"United States of America","adm1name":"California","iso_a2":"US"},"coordinates":[162578,733265]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Las Vegas","adm0name":"United States of America","adm1name":"Nevada","iso_a2":"US"},"coordinates":[179939,719253]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Santa Fe","adm0name":"United States of America","adm1name":"New Mexico","iso_a2":"US"},"coordinates":[205729,716142]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Portland","adm0name":"United States of America","adm1name":"Oregon","iso_a2":"US"},"coordinates":[159217,774410]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Salt Lake City","adm0name":"United States of America","adm1name":"Utah","iso_a2":"US"},"coordinates":[189078,746298]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Cheyenne","adm0name":"United States of America","adm1name":"Wyoming","iso_a2":"US"},"coordinates":[208834,748449]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Des Moines","adm0name":"United States of America","adm1name":"Iowa","iso_a2":"US"},"coordinates":[239944,751055]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Omaha","adm0name":"United States of America","adm1name":"Nebraska","iso_a2":"US"},"coordinates":[233305,749041]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Oklahoma City","adm0name":"United States of America","adm1name":"Oklahoma","iso_a2":"US"},"coordinates":[229109,714869]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Pierre","adm0name":"United States of America","adm1name":"South Dakota","iso_a2":"US"},"coordinates":[221248,767575]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"San Antonio","adm0name":"United States of America","adm1name":"Texas","iso_a2":"US"},"coordinates":[226363,679425]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"San Cristobal","adm0name":"Venezuela","adm1name":"Táchira","iso_a2":"VE"},"coordinates":[299305,550750]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Valencia","adm0name":"Venezuela","adm1name":"Carabobo","iso_a2":"VE"},"coordinates":[311161,565336]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Jackson","adm0name":"United States of America","adm1name":"Mississippi","iso_a2":"US"},"coordinates":[249486,696070]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Raleigh","adm0name":"United States of America","adm1name":"North Carolina","iso_a2":"US"},"coordinates":[281542,716923]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Cleveland","adm0name":"United States of America","adm1name":"Ohio","iso_a2":"US"},"coordinates":[273064,750415]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Cincinnati","adm0name":"United States of America","adm1name":"Ohio","iso_a2":"US"},"coordinates":[265392,736741]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Nashville","adm0name":"United States of America","adm1name":"Tennessee","iso_a2":"US"},"coordinates":[258939,719016]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Memphis","adm0name":"United States of America","adm1name":"Tennessee","iso_a2":"US"},"coordinates":[249994,712796]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Norfolk","adm0name":"United States of America","adm1name":"Virginia","iso_a2":"US"},"coordinates":[288111,723033]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Milwaukee","adm0name":"United States of America","adm1name":"Wisconsin","iso_a2":"US"},"coordinates":[255773,759792]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Buffalo","adm0name":"United States of America","adm1name":"New York","iso_a2":"US"},"coordinates":[280884,758769]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Pittsburgh","adm0name":"United States of America","adm1name":"Pennsylvania","iso_a2":"US"},"coordinates":[277772,744254]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Ciudad Guayana","adm0name":"Venezuela","adm1name":"Bolívar","iso_a2":"VE"},"coordinates":[326055,554305]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Lome","adm0name":"Togo","adm1name":"Maritime","iso_a2":"TG"},"coordinates":[503390,541057]},{"type":"Point","properties":{"scalerank":3,"labelrank":7,"name":"Tunis","adm0name":"Tunisia","adm1name":"Tunis","iso_a2":"TN"},"coordinates":[528276,722753]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Kodiak","adm0name":"United States of America","adm1name":"Alaska","iso_a2":"US"},"coordinates":[76648,847091]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Cold Bay","adm0name":"United States of America","adm1name":"Alaska","iso_a2":"US"},"coordinates":[48014,831747]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Bethel","adm0name":"United States of America","adm1name":"Alaska","iso_a2":"US"},"coordinates":[50678,864884]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Point Hope","adm0name":"United States of America","adm1name":"Alaska","iso_a2":"US"},"coordinates":[36644,909640]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Barrow","adm0name":"United States of America","adm1name":"Alaska","iso_a2":"US"},"coordinates":[64476,927075]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Nome","adm0name":"United States of America","adm1name":"Alaska","iso_a2":"US"},"coordinates":[40538,886881]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Valdez","adm0name":"United States of America","adm1name":"Alaska","iso_a2":"US"},"coordinates":[93477,866914]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Juneau","adm0name":"United States of America","adm1name":"Alaska","iso_a2":"US"},"coordinates":[126611,850197]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Fairbanks","adm0name":"United States of America","adm1name":"Alaska","iso_a2":"US"},"coordinates":[89693,888841]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Prudhoe Bay","adm0name":"United States of America","adm1name":"Alaska","iso_a2":"US"},"coordinates":[87030,921160]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Sevastapol","adm0name":"Ukraine","adm1name":"Crimea","iso_a2":"UA"},"coordinates":[592958,768948]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Abu Dhabi","adm0name":"United Arab Emirates","adm1name":"Abu Dhabi","iso_a2":"AE"},"coordinates":[651018,649669]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Ashgabat","adm0name":"Turkmenistan","adm1name":"Ahal","iso_a2":"TM"},"coordinates":[662175,729550]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Samarqand","adm0name":"Uzbekistan","adm1name":"Samarkand","iso_a2":"UZ"},"coordinates":[685958,739740]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Lusaka","adm0name":"Zambia","adm1name":"Lusaka","iso_a2":"ZM"},"coordinates":[578559,413393]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Harare","adm0name":"Zimbabwe","adm1name":"Harare","iso_a2":"ZW"},"coordinates":[586230,399168]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Bulawayo","adm0name":"Zimbabwe","adm1name":"Bulawayo","iso_a2":"ZW"},"coordinates":[579388,385221]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Dili","adm0name":"East Timor","adm1name":"Dili","iso_a2":"TL"},"coordinates":[848831,454008]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Port Vila","adm0name":"Vanuatu","adm1name":"Shefa","iso_a2":"VU"},"coordinates":[967545,399657]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Tegucigalpa","adm0name":"Honduras","adm1name":"Francisco Morazán","iso_a2":"HN"},"coordinates":[257724,588276]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Georgetown","adm0name":"Guyana","adm1name":"East Berbice-Corentyne","iso_a2":"GY"},"coordinates":[338424,545015]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Reykjavík","adm0name":"Iceland","adm1name":"Suðurnes","iso_a2":"IS"},"coordinates":[439028,884771]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Port-au-Prince","adm0name":"Haiti","adm1name":"Ouest","iso_a2":"HT"},"coordinates":[299061,614574]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Glasgow","adm0name":"United Kingdom","adm1name":"Glasgow","iso_a2":"GB"},"coordinates":[488187,835753]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Kampala","adm0name":"Uganda","adm1name":"Kampala","iso_a2":"UG"},"coordinates":[590503,506605]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Aden","adm0name":"Yemen","adm1name":"`Adan","iso_a2":"YE"},"coordinates":[625025,580430]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Paramaribo","adm0name":"Suriname","adm1name":"Paramaribo","iso_a2":"SR"},"coordinates":[346758,539286]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Seville","adm0name":"Spain","adm1name":"Andalucía","iso_a2":"ES"},"coordinates":[483389,726322]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Zinder","adm0name":"Niger","adm1name":"Zinder","iso_a2":"NE"},"coordinates":[524953,586474]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Niamey","adm0name":"Niger","adm1name":"Niamey","iso_a2":"NE"},"coordinates":[505874,584808]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Port Sudan","adm0name":"Sudan","adm1name":"Red Sea","iso_a2":"SD"},"coordinates":[603378,620930]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Dushanbe","adm0name":"Tajikistan","adm1name":"Tadzhikistan Territories","iso_a2":"TJ"},"coordinates":[691038,733164]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Cusco","adm0name":"Peru","adm1name":"Cusco","iso_a2":"PE"},"coordinates":[300077,424589]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Tacna","adm0name":"Peru","adm1name":"Tacna","iso_a2":"PE"},"coordinates":[304861,398077]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Trujillo","adm0name":"Peru","adm1name":"La Libertad","iso_a2":"PE"},"coordinates":[280499,456610]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Ica","adm0name":"Peru","adm1name":"Ica","iso_a2":"PE"},"coordinates":[289651,421372]},{"type":"Point","properties":{"scalerank":3,"labelrank":7,"name":"Asuncion","adm0name":"Paraguay","adm1name":"Asunción","iso_a2":"PY"},"coordinates":[339879,354861]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Managua","adm0name":"Nicaragua","adm1name":"Managua","iso_a2":"NI"},"coordinates":[260359,576729]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Freetown","adm0name":"Sierra Leone","adm1name":"Western","iso_a2":"SL"},"coordinates":[463233,554909]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Agadez","adm0name":"Niger","adm1name":"Agadez","iso_a2":"NE"},"coordinates":[522174,605409]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Niyala","adm0name":"Sudan","adm1name":"South Darfur","iso_a2":"SD"},"coordinates":[569138,576166]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Wau","adm0name":"South Sudan","adm1name":"West Bahr-al-Ghazal","iso_a2":"SS"},"coordinates":[577750,550335]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Dongola","adm0name":"Sudan","adm1name":"Northern","iso_a2":"SD"},"coordinates":[584676,618269]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Kassala","adm0name":"Sudan","adm1name":"Kassala","iso_a2":"SD"},"coordinates":[601083,596309]},{"type":"Point","properties":{"scalerank":3,"labelrank":7,"name":"Tromsø","adm0name":"Norway","adm1name":"Troms","iso_a2":"NO"},"coordinates":[552755,917266]},{"type":"Point","properties":{"scalerank":3,"labelrank":7,"name":"Trondheim","adm0name":"Norway","adm1name":"Sør-Trøndelag","iso_a2":"NO"},"coordinates":[528934,880426]},{"type":"Point","properties":{"scalerank":3,"labelrank":7,"name":"Bergen","adm0name":"Norway","adm1name":"Hordaland","iso_a2":"NO"},"coordinates":[514790,862501]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Islamabad","adm0name":"Pakistan","adm1name":"F.C.T.","iso_a2":"PK"},"coordinates":[703235,704383]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Multan","adm0name":"Pakistan","adm1name":"Punjab","iso_a2":"PK"},"coordinates":[698480,683647]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Hyderabad","adm0name":"Pakistan","adm1name":"Sind","iso_a2":"PK"},"coordinates":[689924,655091]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Peshawar","adm0name":"Pakistan","adm1name":"N.W.F.P.","iso_a2":"PK"},"coordinates":[698702,706190]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Kathmandu","adm0name":"Nepal","adm1name":"Bhaktapur","iso_a2":"NP"},"coordinates":[736984,668935]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Nacala","adm0name":"Mozambique","adm1name":"Nampula","iso_a2":"MZ"},"coordinates":[613096,418702]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Bloemfontein","adm0name":"South Africa","adm1name":"Orange Free State","iso_a2":"ZA"},"coordinates":[572860,332197]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Pretoria","adm0name":"South Africa","adm1name":"Gauteng","iso_a2":"ZA"},"coordinates":[578409,352429]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Port Moresby","adm0name":"Papua New Guinea","adm1name":"Central","iso_a2":"PG"},"coordinates":[908867,448644]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Honiara","adm0name":"Solomon Islands","adm1name":"Guadalcanal","iso_a2":"SB"},"coordinates":[944304,448802]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Panama City","adm0name":"Panama","adm1name":"Panama","iso_a2":"PA"},"coordinates":[279069,557859]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Fez","adm0name":"Morocco","adm1name":"Fès - Boulemane","iso_a2":"MA"},"coordinates":[486104,706483]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Rabat","adm0name":"Morocco","adm1name":"Rabat - Salé - Zemmour - Zaer","iso_a2":"MA"},"coordinates":[481009,706298]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Marrakesh","adm0name":"Morocco","adm1name":"Marrakech - Tensift - Al Haouz","iso_a2":"MA"},"coordinates":[477772,692119]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Chisinau","adm0name":"Moldova","adm1name":"Chisinau","iso_a2":"MD"},"coordinates":[580159,783196]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Beira","adm0name":"Mozambique","adm1name":"Sofala","iso_a2":"MZ"},"coordinates":[596860,387294]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Port Elizabeth","adm0name":"South Africa","adm1name":"Eastern Cape","iso_a2":"ZA"},"coordinates":[571105,303474]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Maputo","adm0name":"Mozambique","adm1name":"Maputo","iso_a2":"MZ"},"coordinates":[590520,350958]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Tomsk","adm0name":"Russia","adm1name":"Tomsk","iso_a2":"RU"},"coordinates":[736041,839419]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Anadyr","adm0name":"Russia","adm1name":"Chukchi Autonomous Okrug","iso_a2":"RU"},"coordinates":[992986,888248]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Murmansk","adm0name":"Russia","adm1name":"Murmansk","iso_a2":"RU"},"coordinates":[591944,913327]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Archangel","adm0name":"Russia","adm1name":"Arkhangel'sk","iso_a2":"RU"},"coordinates":[612625,887289]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Nizhny Novgorod","adm0name":"Russia","adm1name":"Nizhegorod","iso_a2":"RU"},"coordinates":[622217,838471]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Volgograd","adm0name":"Russia","adm1name":"Volgograd","iso_a2":"RU"},"coordinates":[623605,793308]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Ufa","adm0name":"Russia","adm1name":"Bashkortostan","iso_a2":"RU"},"coordinates":[655660,829329]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Yekaterinburg","adm0name":"Russia","adm1name":"Sverdlovsk","iso_a2":"RU"},"coordinates":[668327,841534]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Samara","adm0name":"Russia","adm1name":"Samara","iso_a2":"RU"},"coordinates":[639303,819880]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Kazan","adm0name":"Russia","adm1name":"Tatarstan","iso_a2":"RU"},"coordinates":[636456,835017]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Surgut","adm0name":"Russia","adm1name":"Khanty-Mansiy","iso_a2":"RU"},"coordinates":[703958,867649]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Barnaul","adm0name":"Russia","adm1name":"Altay","iso_a2":"RU"},"coordinates":[732624,820816]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Novosibirsk","adm0name":"Russia","adm1name":"Novosibirsk","iso_a2":"RU"},"coordinates":[730438,830751]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Mogadishu","adm0name":"Somalia","adm1name":"Banaadir","iso_a2":"SO"},"coordinates":[626013,516973]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Muscat","adm0name":"Oman","adm1name":"Muscat","iso_a2":"OM"},"coordinates":[662758,644613]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Colombo","adm0name":"Sri Lanka","adm1name":"Colombo","iso_a2":"LK"},"coordinates":[721827,545785]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Cebu","adm0name":"Philippines","adm1name":"Cebu","iso_a2":"PH"},"coordinates":[844161,565868]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Iloilo","adm0name":"Philippines","adm1name":"Iloilo","iso_a2":"PH"},"coordinates":[840402,568139]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Davao","adm0name":"Philippines","adm1name":"Davao Del Sur","iso_a2":"PH"},"coordinates":[848966,546852]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Bratsk","adm0name":"Russia","adm1name":"Irkutsk","iso_a2":"RU"},"coordinates":[782263,837417]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Irkutsk","adm0name":"Russia","adm1name":"Irkutsk","iso_a2":"RU"},"coordinates":[789569,814685]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Krasnoyarsk","adm0name":"Russia","adm1name":"Krasnoyarsk","iso_a2":"RU"},"coordinates":[757955,836581]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Dickson","adm0name":"Russia","adm1name":"Taymyr","iso_a2":"RU"},"coordinates":[723736,940205]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Chita","adm0name":"Russia","adm1name":"Chita","iso_a2":"RU"},"coordinates":[815180,813115]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Vladivostok","adm0name":"Russia","adm1name":"Primor'ye","iso_a2":"RU"},"coordinates":[866416,760239]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Nizhneyansk","adm0name":"Russia","adm1name":"Sakha (Yakutia)","iso_a2":"RU"},"coordinates":[877962,927920]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Yakutsk","adm0name":"Russia","adm1name":"Sakha (Yakutia)","iso_a2":"RU"},"coordinates":[860374,872240]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Tiksi","adm0name":"Russia","adm1name":"Sakha (Yakutia)","iso_a2":"RU"},"coordinates":[857874,929067]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Magadan","adm0name":"Russia","adm1name":"Maga Buryatdan","iso_a2":"RU"},"coordinates":[918916,857666]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Tijuana","adm0name":"Mexico","adm1name":"Baja California","iso_a2":"MX"},"coordinates":[174772,697273]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Chihuahua","adm0name":"Mexico","adm1name":"Chihuahua","iso_a2":"MX"},"coordinates":[205314,674434]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Mazatlan","adm0name":"Mexico","adm1name":"Sinaloa","iso_a2":"MX"},"coordinates":[204388,642289]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Tampico","adm0name":"Mexico","adm1name":"Tamaulipas","iso_a2":"MX"},"coordinates":[228139,636832]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Acapulco","adm0name":"Mexico","adm1name":"Guerrero","iso_a2":"MX"},"coordinates":[222456,604544]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Veracruz","adm0name":"Mexico","adm1name":"Veracruz","iso_a2":"MX"},"coordinates":[232889,618332]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Tuxtla Gutierrez","adm0name":"Mexico","adm1name":"Chiapas","iso_a2":"MX"},"coordinates":[241250,603952]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Cancun","adm0name":"Mexico","adm1name":"Quintana Roo","iso_a2":"MX"},"coordinates":[258805,630138]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Merida","adm0name":"Mexico","adm1name":"Yucatán","iso_a2":"MX"},"coordinates":[251059,628944]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Enugu","adm0name":"Nigeria","adm1name":"Enugu","iso_a2":"NG"},"coordinates":[520833,542930]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Sokoto","adm0name":"Nigeria","adm1name":"Sokoto","iso_a2":"NG"},"coordinates":[514555,582090]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Perm","adm0name":"Russia","adm1name":"Perm'","iso_a2":"RU"},"coordinates":[656244,848347]},{"type":"Point","properties":{"scalerank":3,"labelrank":7,"name":"Erdenet","adm0name":"Mongolia","adm1name":"Orhon","iso_a2":"MN"},"coordinates":[789217,795331]},{"type":"Point","properties":{"scalerank":3,"labelrank":7,"name":"Ulaanbaatar","adm0name":"Mongolia","adm1name":"Ulaanbaatar","iso_a2":"MN"},"coordinates":[796984,788609]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Wellington","adm0name":"New Zealand","adm1name":"Manawatu-Wanganui","iso_a2":"NZ"},"coordinates":[985509,260037]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Mbeya","adm0name":"Tanzania","adm1name":"Mbeya","iso_a2":"TZ"},"coordinates":[592861,452049]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Windhoek","adm0name":"Namibia","adm1name":"Khomas","iso_a2":"NA"},"coordinates":[547454,371002]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Grootfontein","adm0name":"Namibia","adm1name":"Otjozondjupa","iso_a2":"NA"},"coordinates":[550323,388796]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Zanzibar","adm0name":"Tanzania","adm1name":"Zanzibar West","iso_a2":"TZ"},"coordinates":[608889,468223]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Christchurch","adm0name":"New Zealand","adm1name":"Canterbury","iso_a2":"NZ"},"coordinates":[979527,246796]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Valencia","adm0name":"Spain","adm1name":"Comunidad Valenciana","iso_a2":"ES"},"coordinates":[498883,738656]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Palana","adm0name":"Russia","adm1name":"Kamchatka","iso_a2":"RU"},"coordinates":[944305,854757]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Petropavlovsk Kamchatskiy","adm0name":"Russia","adm1name":"Kamchatka","iso_a2":"RU"},"coordinates":[940619,819080]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Abuja","adm0name":"Nigeria","adm1name":"Federal Capital Territory","iso_a2":"NG"},"coordinates":[520920,558542]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Padang","adm0name":"Indonesia","adm1name":"Sumatera Barat","iso_a2":"ID"},"coordinates":[778771,499041]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Bissau","adm0name":"Guinea Bissau","adm1name":"Bissau","iso_a2":"GW"},"coordinates":[456670,575011]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Palermo","adm0name":"Italy","adm1name":"Sicily","iso_a2":"IT"},"coordinates":[537078,730599]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Amman","adm0name":"Jordan","adm1name":"Amman","iso_a2":"JO"},"coordinates":[599808,694015]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Vilnius","adm0name":"Lithuania","adm1name":"Vilniaus","iso_a2":"LT"},"coordinates":[570324,828686]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Riga","adm0name":"Latvia","adm1name":"Riga","iso_a2":"LV"},"coordinates":[566943,842115]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Bishkek","adm0name":"Kyrgyzstan","adm1name":"Bishkek","iso_a2":"KG"},"coordinates":[707175,758728]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Jiayuguan","adm0name":"China","adm1name":"Gansu","iso_a2":"CN"},"coordinates":[773055,740629]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Xining","adm0name":"China","adm1name":"Gansu","iso_a2":"CN"},"coordinates":[782688,721682]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Guilin","adm0name":"China","adm1name":"Guangxi","iso_a2":"CN"},"coordinates":[806327,654499]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Huainan","adm0name":"China","adm1name":"Anhui","iso_a2":"CN"},"coordinates":[824938,698043]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Shantou","adm0name":"China","adm1name":"Guangdong","iso_a2":"CN"},"coordinates":[824077,643183]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Tarakan","adm0name":"Indonesia","adm1name":"Kalimantan Timur","iso_a2":"ID"},"coordinates":[826757,524268]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Mombasa","adm0name":"Kenya","adm1name":"Coast","iso_a2":"KE"},"coordinates":[610243,480793]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Maseru","adm0name":"Lesotho","adm1name":"Maseru","iso_a2":"LS"},"coordinates":[576342,331032]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Antananarivo","adm0name":"Madagascar","adm1name":"Antananarivo","iso_a2":"MG"},"coordinates":[631985,392658]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Semarang","adm0name":"Indonesia","adm1name":"Jawa Tengah","iso_a2":"ID"},"coordinates":[806717,463455]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Palembang","adm0name":"Indonesia","adm1name":"Sumatera Selatan","iso_a2":"ID"},"coordinates":[790966,487074]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Bandjarmasin","adm0name":"Indonesia","adm1name":"Kalimantan Selatan","iso_a2":"ID"},"coordinates":[818277,484989]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Ujungpandang","adm0name":"Indonesia","adm1name":"Sulawesi Selatan","iso_a2":"ID"},"coordinates":[831749,474277]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Lyon","adm0name":"France","adm1name":"Rhône-Alpes","iso_a2":"FR"},"coordinates":[513411,775891]},{"type":"Point","properties":{"scalerank":3,"labelrank":7,"name":"Quito","adm0name":"Ecuador","adm1name":"Pichincha","iso_a2":"EC"},"coordinates":[281939,503455]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"San Jose","adm0name":"Costa Rica","adm1name":"San José","iso_a2":"CR"},"coordinates":[266428,563588]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"San Salvador","adm0name":"El Salvador","adm1name":"San Salvador","iso_a2":"SV"},"coordinates":[252208,585953]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Kingston","adm0name":"Jamaica","adm1name":"Kingston","iso_a2":"JM"},"coordinates":[286756,611221]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Cartagena","adm0name":"Colombia","adm1name":"Bolívar","iso_a2":"CO"},"coordinates":[290232,566341]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Mitu","adm0name":"Colombia","adm1name":"Vaupés","iso_a2":"CO"},"coordinates":[305073,511816]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Bumba","adm0name":"Congo (Kinshasa)","adm1name":"Équateur","iso_a2":"CD"},"coordinates":[562388,517692]},{"type":"Point","properties":{"scalerank":3,"labelrank":7,"name":"Ndjamena","adm0name":"Chad","adm1name":"Hadjer-Lamis","iso_a2":"TD"},"coordinates":[541797,576492]},{"type":"Point","properties":{"scalerank":3,"labelrank":7,"name":"Abeche","adm0name":"Chad","adm1name":"Ouaddaï","iso_a2":"TD"},"coordinates":[557860,586711]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Malabo","adm0name":"Equatorial Guinea","adm1name":"Bioko Norte","iso_a2":"GQ"},"coordinates":[524398,526934]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Luxor","adm0name":"Egypt","adm1name":"Qina","iso_a2":"EG"},"coordinates":[590694,656975]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Asmara","adm0name":"Eritrea","adm1name":"Anseba","iso_a2":"ER"},"coordinates":[608148,595558]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Zagreb","adm0name":"Croatia","adm1name":"Grad Zagreb","iso_a2":"HR"},"coordinates":[544444,776057]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Tallinn","adm0name":"Estonia","adm1name":"Harju","iso_a2":"EE"},"coordinates":[568688,856830]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Lhasa","adm0name":"China","adm1name":"Xizang","iso_a2":"CN"},"coordinates":[753055,680348]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Hami","adm0name":"China","adm1name":"Xinjiang Uygur","iso_a2":"CN"},"coordinates":[759763,758443]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Hotan","adm0name":"China","adm1name":"Xinjiang Uygur","iso_a2":"CN"},"coordinates":[722018,724513]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Kashgar","adm0name":"China","adm1name":"Xinjiang Uygur","iso_a2":"CN"},"coordinates":[711027,738593]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Yinchuan","adm0name":"China","adm1name":"Ningxia Hui","iso_a2":"CN"},"coordinates":[795197,732631]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Pingxiang","adm0name":"China","adm1name":"Jiangxi","iso_a2":"CN"},"coordinates":[816244,668362]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Nagasaki","adm0name":"Japan","adm1name":"Nagasaki","iso_a2":"JP"},"coordinates":[860790,698831]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Qiqihar","adm0name":"China","adm1name":"Heilongjiang","iso_a2":"CN"},"coordinates":[844410,785222]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Kikwit","adm0name":"Congo (Kinshasa)","adm1name":"Bandundu","iso_a2":"CD"},"coordinates":[552361,474917]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Matadi","adm0name":"Congo (Kinshasa)","adm1name":"Bas-Congo","iso_a2":"CD"},"coordinates":[537360,470257]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Kolwezi","adm0name":"Congo (Kinshasa)","adm1name":"Katanga","iso_a2":"CD"},"coordinates":[570756,441226]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Lubumbashi","adm0name":"Congo (Kinshasa)","adm1name":"Katanga","iso_a2":"CD"},"coordinates":[576327,435531]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Lilongwe","adm0name":"Malawi","adm1name":"Lilongwe","iso_a2":"MW"},"coordinates":[593842,421873]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Guatemala","adm0name":"Guatemala","adm1name":"Guatemala","iso_a2":"GT"},"coordinates":[248530,591351]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Cayenne","adm0name":"France","adm1name":"Guinaa","iso_a2":"GF"},"coordinates":[354639,533942]},{"type":"Point","properties":{"scalerank":3,"labelrank":7,"name":"Libreville","adm0name":"Gabon","adm1name":"Estuaire","iso_a2":"GA"},"coordinates":[526271,507000]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Vishakhapatnam","adm0name":"India","adm1name":"Andhra Pradesh","iso_a2":"IN"},"coordinates":[731396,609769]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Suva","adm0name":"Fiji","adm1name":"Central","iso_a2":"FJ"},"coordinates":[995670,397289]},{"type":"Point","properties":{"scalerank":3,"labelrank":7,"name":"Port-Gentil","adm0name":"Gabon","adm1name":"Ogooué-Maritime","iso_a2":"GA"},"coordinates":[524389,500451]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Timbuktu","adm0name":"Mali","adm1name":"Timbuktu","iso_a2":"ML"},"coordinates":[491620,604050]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Punta Arenas","adm0name":"Chile","adm1name":"Magallanes y Antártica Chilena","iso_a2":"CL"},"coordinates":[302944,189744]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Iquique","adm0name":"Chile","adm1name":"Tarapacá","iso_a2":"CL"},"coordinates":[305194,384747]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Antofagasta","adm0name":"Chile","adm1name":"Antofagasta","iso_a2":"CL"},"coordinates":[304444,364604]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Valparaiso","adm0name":"Chile","adm1name":"Valparaíso","iso_a2":"CL"},"coordinates":[301047,308939]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Valdivia","adm0name":"Chile","adm1name":"Los Ríos","iso_a2":"CL"},"coordinates":[296541,268953]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Concepcion","adm0name":"Chile","adm1name":"Bío-Bío","iso_a2":"CL"},"coordinates":[297083,286520]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Puerto Montt","adm0name":"Chile","adm1name":"Los Lagos","iso_a2":"CL"},"coordinates":[297416,259030]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Nuuk","adm0name":"Greenland","adm1name":"Kommuneqarfik Sermersooq","iso_a2":"GL"},"coordinates":[356298,885057]},{"type":"Point","properties":{"scalerank":3,"labelrank":7,"name":"Nouakchott","adm0name":"Mauritania","adm1name":"Nouakchott","iso_a2":"MR"},"coordinates":[455623,611869]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Bamako","adm0name":"Mali","adm1name":"Bamako","iso_a2":"ML"},"coordinates":[477771,579673]},{"type":"Point","properties":{"scalerank":3,"labelrank":7,"name":"Atar","adm0name":"Mauritania","adm1name":"Adrar","iso_a2":"MR"},"coordinates":[463750,626267]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Djenne","adm0name":"Mali","adm1name":"Mopti","iso_a2":"ML"},"coordinates":[487360,587067]},{"type":"Point","properties":{"scalerank":3,"labelrank":7,"name":"Sabha","adm0name":"Libya","adm1name":"Sabha","iso_a2":"LY"},"coordinates":[540092,664874]},{"type":"Point","properties":{"scalerank":3,"labelrank":7,"name":"Banghazi","adm0name":"Libya","adm1name":"Benghazi","iso_a2":"LY"},"coordinates":[555735,695002]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Thessaloniki","adm0name":"Greece","adm1name":"Kentriki Makedonia","iso_a2":"GR"},"coordinates":[563564,745831]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Beirut","adm0name":"Lebanon","adm1name":"Beirut","iso_a2":"LB"},"coordinates":[598632,705401]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Tbilisi","adm0name":"Georgia","adm1name":"Tbilisi","iso_a2":"GE"},"coordinates":[624412,751926]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Gonder","adm0name":"Ethiopia","adm1name":"Amhara","iso_a2":"ET"},"coordinates":[604055,579425]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Astana","adm0name":"Kazakhstan","adm1name":"Aqmola","iso_a2":"KZ"},"coordinates":[698409,807937]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Qaraghandy","adm0name":"Kazakhstan","adm1name":"Qaraghandy","iso_a2":"KZ"},"coordinates":[703096,800258]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Almaty","adm0name":"Kazakhstan","adm1name":"Almaty","iso_a2":"KZ"},"coordinates":[713646,761406]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Isfahan","adm0name":"Iran","adm1name":"Esfahan","iso_a2":"IR"},"coordinates":[643606,698458]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Shiraz","adm0name":"Iran","adm1name":"Fars","iso_a2":"IR"},"coordinates":[646022,680270]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Amritsar","adm0name":"India","adm1name":"Punjab","iso_a2":"IN"},"coordinates":[707966,692178]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Varanasi","adm0name":"India","adm1name":"Uttar Pradesh","iso_a2":"IN"},"coordinates":[730549,654795]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Asansol","adm0name":"India","adm1name":"West Bengal","iso_a2":"IN"},"coordinates":[741614,645039]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Bhilai","adm0name":"India","adm1name":"Chhattisgarh","iso_a2":"IN"},"coordinates":[726197,630426]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Bhopal","adm0name":"India","adm1name":"Madhya Pradesh","iso_a2":"IN"},"coordinates":[715022,642472]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Madurai","adm0name":"India","adm1name":"Tamil Nadu","iso_a2":"IN"},"coordinates":[716994,563499]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Coimbatore","adm0name":"India","adm1name":"Tamil Nadu","iso_a2":"IN"},"coordinates":[713744,569897]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Vientiane","adm0name":"Laos","adm1name":"Vientiane [prefecture]","iso_a2":"LA"},"coordinates":[784999,611160]},{"type":"Point","properties":{"scalerank":3,"labelrank":7,"name":"Brazzaville","adm0name":"Congo (Brazzaville)","adm1name":"Pool","iso_a2":"CG"},"coordinates":[542451,479495]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Conakry","adm0name":"Guinea","adm1name":"Conakry","iso_a2":"GN"},"coordinates":[461993,561198]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Yamoussoukro","adm0name":"Ivory Coast","adm1name":"Lacs","iso_a2":"CI"},"coordinates":[485346,545112]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Cruzeiro do Sul","adm0name":"Brazil","adm1name":"Acre","iso_a2":"BR"},"coordinates":[298138,459513]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Leticia","adm0name":"Colombia","adm1name":"Amazonas","iso_a2":"CO"},"coordinates":[305679,479827]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Manaus","adm0name":"Brazil","adm1name":"Amazonas","iso_a2":"BR"},"coordinates":[333328,486363]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Caxias","adm0name":"Brazil","adm1name":"Maranhão","iso_a2":"BR"},"coordinates":[379583,476084]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Santarem","adm0name":"Brazil","adm1name":"Pará","iso_a2":"BR"},"coordinates":[348055,490302]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Maraba","adm0name":"Brazil","adm1name":"Pará","iso_a2":"BR"},"coordinates":[363566,473022]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Vilhena","adm0name":"Brazil","adm1name":"Rondônia","iso_a2":"BR"},"coordinates":[333009,429378]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Ji-Parana","adm0name":"Brazil","adm1name":"Rondônia","iso_a2":"BR"},"coordinates":[327870,440536]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Campo Grande","adm0name":"Brazil","adm1name":"Mato Grosso do Sul","iso_a2":"BR"},"coordinates":[348282,383573]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Florianopolis","adm0name":"Brazil","adm1name":"Santa Catarina","iso_a2":"BR"},"coordinates":[365216,341333]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Feira de Santana","adm0name":"Brazil","adm1name":"Bahia","iso_a2":"BR"},"coordinates":[391750,432142]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Winnipeg","adm0name":"Canada","adm1name":"Manitoba","iso_a2":"CA"},"coordinates":[230094,800247]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Churchill","adm0name":"Canada","adm1name":"Manitoba","iso_a2":"CA"},"coordinates":[238427,852873]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Regina","adm0name":"Canada","adm1name":"Saskatchewan","iso_a2":"CA"},"coordinates":[209397,803606]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Saskatoon","adm0name":"Canada","adm1name":"Saskatchewan","iso_a2":"CA"},"coordinates":[203694,813796]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Calgary","adm0name":"Canada","adm1name":"Alberta","iso_a2":"CA"},"coordinates":[183106,807367]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Prince Rupert","adm0name":"Canada","adm1name":"British Columbia","iso_a2":"CA"},"coordinates":[137973,826514]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Victoria","adm0name":"Canada","adm1name":"British Columbia","iso_a2":"CA"},"coordinates":[157361,791657]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Arctic Bay","adm0name":"Canada","adm1name":"Nunavut","iso_a2":"CA"},"coordinates":[263425,937400]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Resolute","adm0name":"Canada","adm1name":"Nunavut","iso_a2":"CA"},"coordinates":[236389,947175]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Repulse Bay","adm0name":"Canada","adm1name":"Nunavut","iso_a2":"CA"},"coordinates":[260325,898868]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Yellowknife","adm0name":"Canada","adm1name":"Northwest Territories","iso_a2":"CA"},"coordinates":[182230,874652]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Fort Good Hope","adm0name":"Canada","adm1name":"Northwest Territories","iso_a2":"CA"},"coordinates":[142685,897311]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Whitehorse","adm0name":"Canada","adm1name":"Yukon","iso_a2":"CA"},"coordinates":[124861,864430]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Boa Vista","adm0name":"Brazil","adm1name":"Roraima","iso_a2":"BR"},"coordinates":[331483,521401]},{"type":"Point","properties":{"scalerank":3,"labelrank":1,"name":"Macapá","adm0name":"Brazil","adm1name":"Amapá","iso_a2":"BR"},"coordinates":[358194,504913]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Ottawa","adm0name":"Canada","adm1name":"Ontario","iso_a2":"CA"},"coordinates":[289716,773798]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Fort Severn","adm0name":"Canada","adm1name":"Ontario","iso_a2":"CA"},"coordinates":[256528,836387]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Thunder Bay","adm0name":"Canada","adm1name":"Ontario","iso_a2":"CA"},"coordinates":[252014,791734]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Québec","adm0name":"Canada","adm1name":"Québec","iso_a2":"CA"},"coordinates":[302095,782218]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Halifax","adm0name":"Canada","adm1name":"Nova Scotia","iso_a2":"CA"},"coordinates":[323333,769244]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"St. John’s","adm0name":"Canada","adm1name":"Newfoundland and Labrador","iso_a2":"CA"},"coordinates":[353663,786632]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Nain","adm0name":"Canada","adm1name":"Newfoundland and Labrador","iso_a2":"CA"},"coordinates":[328650,839729]},{"type":"Point","properties":{"scalerank":3,"labelrank":2,"name":"Charlottetown","adm0name":"Canada","adm1name":"Prince Edward Island","iso_a2":"CA"},"coordinates":[324635,778719]},{"type":"Point","properties":{"scalerank":3,"labelrank":7,"name":"Ndele","adm0name":"Central African Republic","adm1name":"Bamingui-Bangoran","iso_a2":"CF"},"coordinates":[557369,554537]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Belgrade","adm0name":"Serbia","adm1name":"Grad Beograd","iso_a2":"RS"},"coordinates":[556849,770254]},{"type":"Point","properties":{"scalerank":3,"labelrank":7,"name":"Obo","adm0name":"Central African Republic","adm1name":"Haut-Mbomou","iso_a2":"CF"},"coordinates":[573611,536709]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Bandar Seri Begawan","adm0name":"Brunei","adm1name":"Brunei and Muara","iso_a2":"BN"},"coordinates":[819259,533648]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Puerto Deseado","adm0name":"Argentina","adm1name":"Santa Cruz","iso_a2":"AR"},"coordinates":[316944,221825]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Rio Gallegos","adm0name":"Argentina","adm1name":"Santa Cruz","iso_a2":"AR"},"coordinates":[307731,198818]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Comodoro Rivadavia","adm0name":"Argentina","adm1name":"Chubut","iso_a2":"AR"},"coordinates":[312500,232962]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Mendoza","adm0name":"Argentina","adm1name":"Mendoza","iso_a2":"AR"},"coordinates":[308837,309913]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Sucre","adm0name":"Bolivia","adm1name":"Chuquisaca","iso_a2":"BO"},"coordinates":[318723,391910]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Riberalta","adm0name":"Bolivia","adm1name":"El Beni","iso_a2":"BO"},"coordinates":[316388,439649]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Bahia Blanca","adm0name":"Argentina","adm1name":"Ciudad de Buenos Aires","iso_a2":"AR"},"coordinates":[327041,275203]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Mar del Plata","adm0name":"Argentina","adm1name":"Ciudad de Buenos Aires","iso_a2":"AR"},"coordinates":[340055,279587]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Córdoba","adm0name":"Argentina","adm1name":"Córdoba","iso_a2":"AR"},"coordinates":[321710,318701]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Posadas","adm0name":"Argentina","adm1name":"Misiones","iso_a2":"AR"},"coordinates":[344763,342637]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Belmopan","adm0name":"Belize","adm1name":"Cayo","iso_a2":"BZ"},"coordinates":[253425,606926]},{"type":"Point","properties":{"scalerank":3,"labelrank":7,"name":"Bangui","adm0name":"Central African Republic","adm1name":"Bangui","iso_a2":"CF"},"coordinates":[551550,530587]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Maroua","adm0name":"Cameroon","adm1name":"Extrême-Nord","iso_a2":"CM"},"coordinates":[539790,567490]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Yaounde","adm0name":"Cameroon","adm1name":"Centre","iso_a2":"CM"},"coordinates":[531985,527636]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Tirana","adm0name":"Albania","adm1name":"Durrës","iso_a2":"AL"},"coordinates":[555051,749560]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Yerevan","adm0name":"Armenia","adm1name":"Erevan","iso_a2":"AM"},"coordinates":[623642,742780]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Baku","adm0name":"Azerbaijan","adm1name":"Baki","iso_a2":"AZ"},"coordinates":[638500,744048]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Kandahar","adm0name":"Afghanistan","adm1name":"Kandahar","iso_a2":"AF"},"coordinates":[682485,691989]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Phnom Penh","adm0name":"Cambodia","adm1name":"Phnom Penh","iso_a2":"KH"},"coordinates":[791428,573156]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Menongue","adm0name":"Angola","adm1name":"Cuando Cubango","iso_a2":"AO"},"coordinates":[549166,417825]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Huambo","adm0name":"Angola","adm1name":"Huambo","iso_a2":"AO"},"coordinates":[543772,429192]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"La Paz","adm0name":"Bolivia","adm1name":"La Paz","iso_a2":"BO"},"coordinates":[310688,406987]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Santa Cruz","adm0name":"Bolivia","adm1name":"Santa Cruz","iso_a2":"BO"},"coordinates":[324366,399546]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Oran","adm0name":"Algeria","adm1name":"Oran","iso_a2":"DZ"},"coordinates":[498272,716291]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Cotonou","adm0name":"Benin","adm1name":"Ouémé","iso_a2":"BJ"},"coordinates":[506994,542646]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Tamanrasset","adm0name":"Algeria","adm1name":"Tamanghasset","iso_a2":"DZ"},"coordinates":[515341,639705]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Ghardaia","adm0name":"Algeria","adm1name":"Ghardaïa","iso_a2":"DZ"},"coordinates":[510194,697202]},{"type":"Point","properties":{"scalerank":3,"labelrank":7,"name":"Sofia","adm0name":"Bulgaria","adm1name":"Grad Sofiya","iso_a2":"BG"},"coordinates":[564762,757604]},{"type":"Point","properties":{"scalerank":3,"labelrank":6,"name":"Minsk","adm0name":"Belarus","adm1name":"Minsk","iso_a2":"BY"},"coordinates":[576568,824056]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Thimphu","adm0name":"Bhutan","adm1name":"Thimphu","iso_a2":"BT"},"coordinates":[748997,667480]},{"type":"Point","properties":{"scalerank":3,"labelrank":7,"name":"Gaborone","adm0name":"Botswana","adm1name":"South-East","iso_a2":"BW"},"coordinates":[571977,358701]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Darwin","adm0name":"Australia","adm1name":"Northern Territory","iso_a2":"AU"},"coordinates":[863471,431104]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Alice Springs","adm0name":"Australia","adm1name":"Northern Territory","iso_a2":"AU"},"coordinates":[871888,364302]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Canberra","adm0name":"Australia","adm1name":"Australian Capital Territory","iso_a2":"AU"},"coordinates":[914247,295685]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Newcastle","adm0name":"Australia","adm1name":"New South Wales","iso_a2":"AU"},"coordinates":[921708,310126]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Adelaide","adm0name":"Australia","adm1name":"South Australia","iso_a2":"AU"},"coordinates":[884994,297758]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Townsville","adm0name":"Australia","adm1name":"Queensland","iso_a2":"AU"},"coordinates":[907694,390672]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Brisbane","adm0name":"Australia","adm1name":"Queensland","iso_a2":"AU"},"coordinates":[925091,342073]},{"type":"Point","properties":{"scalerank":3,"labelrank":3,"name":"Hobart","adm0name":"Australia","adm1name":"Tasmania","iso_a2":"AU"},"coordinates":[909152,250854]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Ouagadougou","adm0name":"Burkina Faso","adm1name":"Kadiogo","iso_a2":"BF"},"coordinates":[495759,578016]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Sarajevo","adm0name":"Bosnia and Herzegovina","adm1name":"Sarajevo","iso_a2":"BA"},"coordinates":[551063,764505]},{"type":"Point","properties":{"scalerank":3,"labelrank":5,"name":"Naypyidaw","adm0name":"Myanmar","adm1name":"Mandalay","iso_a2":"MM"},"coordinates":[766990,621835]},{"type":"Point","properties":{"scalerank":3,"labelrank":0,"name":"San Juan","adm0name":"Puerto Rico","iso_a2":"PR"},"coordinates":[316305,613964]},{"type":"Point","properties":{"scalerank":3,"labelrank":0,"name":"Stanley","adm0name":"Falkland Islands","iso_a2":"FK"},"coordinates":[339306,198423]},{"type":"Point","properties":{"scalerank":3,"labelrank":0,"name":"Hamilton","adm0name":"Bermuda","iso_a2":"BM"},"coordinates":[320044,696043]},{"type":"Point","properties":{"scalerank":3,"labelrank":0,"name":"Nukualofa","adm0name":"Tonga","iso_a2":"TO"},"coordinates":[13276,379483]},{"type":"Point","properties":{"scalerank":3,"labelrank":0,"name":"Hargeysa","adm0name":"Somaliland","iso_a2":"-99"},"coordinates":[622403,561355]},{"type":"Point","properties":{"scalerank":3,"labelrank":0,"name":"Victoria","adm0name":"Seychelles","iso_a2":"SC"},"coordinates":[654027,477366]},{"type":"Point","properties":{"scalerank":3,"labelrank":0,"name":"Sao Tome","adm0name":"Sao Tome and Principe","iso_a2":"ST"},"coordinates":[518703,506692]},{"type":"Point","properties":{"scalerank":3,"labelrank":0,"name":"Apia","adm0name":"Samoa","iso_a2":"WS"},"coordinates":[22948,422713]},{"type":"Point","properties":{"scalerank":3,"labelrank":0,"name":"Valletta","adm0name":"Malta","iso_a2":"MT"},"coordinates":[540318,717403]},{"type":"Point","properties":{"scalerank":3,"labelrank":0,"name":"Male","adm0name":"Maldives","iso_a2":"MV"},"coordinates":[704166,529403]},{"type":"Point","properties":{"scalerank":3,"labelrank":0,"name":"Jerusalem","adm0name":"Israel","adm1name":"Jerusalem","iso_a2":"IL"},"coordinates":[597795,692987]},{"type":"Point","properties":{"scalerank":3,"labelrank":0,"name":"Praia","adm0name":"Cape Verde","iso_a2":"CV"},"coordinates":[434676,593090]},{"type":"Point","properties":{"scalerank":3,"labelrank":0,"name":"Nassau","adm0name":"The Bahamas","iso_a2":"BS"},"coordinates":[285138,653322]},{"type":"Point","properties":{"scalerank":3,"labelrank":0,"name":"Nicosia","adm0name":"Cyprus","iso_a2":"CY"},"coordinates":[592684,713060]},{"type":"Point","properties":{"scalerank":3,"labelrank":8,"name":"Kaohsiung","adm0name":"Taiwan","adm1name":"Kaohsiung City","iso_a2":"TW"},"coordinates":[834073,638807]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Shenzhen","adm0name":"China","adm1name":"Guangdong","iso_a2":"CN"},"coordinates":[816999,638339]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Zibo","adm0name":"China","adm1name":"Shandong","iso_a2":"CN"},"coordinates":[827911,722749]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Minneapolis","adm0name":"United States of America","adm1name":"Minnesota","iso_a2":"US"},"coordinates":[240962,771210]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Honolulu","adm0name":"United States of America","adm1name":"Hawaii","iso_a2":"US"},"coordinates":[61500,630960]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Seattle","adm0name":"United States of America","adm1name":"Washington","iso_a2":"US"},"coordinates":[160161,786555]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Phoenix","adm0name":"United States of America","adm1name":"Arizona","iso_a2":"US"},"coordinates":[188689,703435]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"San Diego","adm0name":"United States of America","adm1name":"California","iso_a2":"US"},"coordinates":[174494,699169]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"St. Louis","adm0name":"United States of America","adm1name":"Missouri","iso_a2":"US"},"coordinates":[249328,733620]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"New Orleans","adm0name":"United States of America","adm1name":"Louisiana","iso_a2":"US"},"coordinates":[249883,682432]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Dallas","adm0name":"United States of America","adm1name":"Texas","iso_a2":"US"},"coordinates":[230995,699169]},{"type":"Point","properties":{"scalerank":2,"labelrank":6,"name":"Maracaibo","adm0name":"Venezuela","adm1name":"Zulia","iso_a2":"VE"},"coordinates":[300939,568298]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Boston","adm0name":"United States of America","adm1name":"Massachusetts","iso_a2":"US"},"coordinates":[302578,755511]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Tampa","adm0name":"United States of America","adm1name":"Florida","iso_a2":"US"},"coordinates":[270943,670299]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Philadelphia","adm0name":"United States of America","adm1name":"Pennsylvania","iso_a2":"US"},"coordinates":[291189,741707]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Detroit","adm0name":"United States of America","adm1name":"Michigan","iso_a2":"US"},"coordinates":[269217,755511]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Anchorage","adm0name":"United States of America","adm1name":"Alaska","iso_a2":"US"},"coordinates":[83611,867412]},{"type":"Point","properties":{"scalerank":2,"labelrank":5,"name":"Hanoi","adm0name":"Vietnam","adm1name":"Thái Nguyên","iso_a2":"VN"},"coordinates":[794022,629340]},{"type":"Point","properties":{"scalerank":2,"labelrank":5,"name":"Ho Chi Minh City","adm0name":"Vietnam","adm1name":"H? Chí Minh city","iso_a2":"VN"},"coordinates":[796369,568595]},{"type":"Point","properties":{"scalerank":2,"labelrank":5,"name":"Ankara","adm0name":"Turkey","adm1name":"Ankara","iso_a2":"TR"},"coordinates":[591284,741276]},{"type":"Point","properties":{"scalerank":2,"labelrank":6,"name":"Budapest","adm0name":"Hungary","adm1name":"Budapest","iso_a2":"HU"},"coordinates":[553003,786140]},{"type":"Point","properties":{"scalerank":2,"labelrank":6,"name":"Sanaa","adm0name":"Yemen","adm1name":"Amanat Al Asimah","iso_a2":"YE"},"coordinates":[622791,595697]},{"type":"Point","properties":{"scalerank":2,"labelrank":3,"name":"Barcelona","adm0name":"Spain","adm1name":"Cataluña","iso_a2":"ES"},"coordinates":[506059,749902]},{"type":"Point","properties":{"scalerank":2,"labelrank":6,"name":"Bucharest","adm0name":"Romania","adm1name":"Bucharest","iso_a2":"RO"},"coordinates":[572494,767972]},{"type":"Point","properties":{"scalerank":2,"labelrank":6,"name":"Aleppo","adm0name":"Syria","adm1name":"Aleppo (Halab)","iso_a2":"SY"},"coordinates":[603244,719372]},{"type":"Point","properties":{"scalerank":2,"labelrank":6,"name":"Damascus","adm0name":"Syria","adm1name":"Damascus","iso_a2":"SY"},"coordinates":[600827,703198]},{"type":"Point","properties":{"scalerank":2,"labelrank":7,"name":"Zürich","adm0name":"Switzerland","adm1name":"Zürich","iso_a2":"CH"},"coordinates":[523744,785429]},{"type":"Point","properties":{"scalerank":2,"labelrank":6,"name":"Lisbon","adm0name":"Portugal","adm1name":"Lisboa","iso_a2":"PT"},"coordinates":[474591,734139]},{"type":"Point","properties":{"scalerank":2,"labelrank":5,"name":"Khartoum","adm0name":"Sudan","adm1name":"Khartoum","iso_a2":"SD"},"coordinates":[590367,597079]},{"type":"Point","properties":{"scalerank":2,"labelrank":5,"name":"Jeddah","adm0name":"Saudi Arabia","adm1name":"Makkah","iso_a2":"SA"},"coordinates":[608936,632204]},{"type":"Point","properties":{"scalerank":2,"labelrank":5,"name":"Makkah","adm0name":"Saudi Arabia","adm1name":"Makkah","iso_a2":"SA"},"coordinates":[610605,631690]},{"type":"Point","properties":{"scalerank":2,"labelrank":7,"name":"Oslo","adm0name":"Norway","adm1name":"Oslo","iso_a2":"NO"},"coordinates":[529855,859702]},{"type":"Point","properties":{"scalerank":2,"labelrank":2,"name":"Lahore","adm0name":"Pakistan","adm1name":"Punjab","iso_a2":"PK"},"coordinates":[706522,691704]},{"type":"Point","properties":{"scalerank":2,"labelrank":2,"name":"Karachi","adm0name":"Pakistan","adm1name":"Sind","iso_a2":"PK"},"coordinates":[686077,652070]},{"type":"Point","properties":{"scalerank":2,"labelrank":3,"name":"Durban","adm0name":"South Africa","adm1name":"KwaZulu-Natal","iso_a2":"ZA"},"coordinates":[586050,327795]},{"type":"Point","properties":{"scalerank":2,"labelrank":2,"name":"St. Petersburg","adm0name":"Russia","adm1name":"City of St. Petersburg","iso_a2":"RU"},"coordinates":[584205,859834]},{"type":"Point","properties":{"scalerank":2,"labelrank":2,"name":"Guadalajara","adm0name":"Mexico","adm1name":"Jalisco","iso_a2":"MX"},"coordinates":[212967,627187]},{"type":"Point","properties":{"scalerank":2,"labelrank":2,"name":"Puebla","adm0name":"Mexico","adm1name":"Puebla","iso_a2":"MX"},"coordinates":[227216,617589]},{"type":"Point","properties":{"scalerank":2,"labelrank":2,"name":"Kano","adm0name":"Nigeria","adm1name":"Kano","iso_a2":"NG"},"coordinates":[523661,575822]},{"type":"Point","properties":{"scalerank":2,"labelrank":5,"name":"Warsaw","adm0name":"Poland","adm1name":"Masovian","iso_a2":"PL"},"coordinates":[558328,814281]},{"type":"Point","properties":{"scalerank":2,"labelrank":6,"name":"Pyongyang","adm0name":"North Korea","adm1name":"P'yongyang","iso_a2":"KP"},"coordinates":[849312,735898]},{"type":"Point","properties":{"scalerank":2,"labelrank":5,"name":"Dar es Salaam","adm0name":"Tanzania","adm1name":"Dar-Es-Salaam","iso_a2":"TZ"},"coordinates":[609072,464442]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Medan","adm0name":"Indonesia","adm1name":"Sumatera Utara","iso_a2":"ID"},"coordinates":[774021,525938]},{"type":"Point","properties":{"scalerank":2,"labelrank":8,"name":"Dublin","adm0name":"Ireland","adm1name":"Dublin","iso_a2":"IE"},"coordinates":[482636,820698]},{"type":"Point","properties":{"scalerank":2,"labelrank":8,"name":"Monrovia","adm0name":"Liberia","adm1name":"Montserrado","iso_a2":"LR"},"coordinates":[470001,542128]},{"type":"Point","properties":{"scalerank":2,"labelrank":3,"name":"Naples","adm0name":"Italy","adm1name":"Campania","iso_a2":"IT"},"coordinates":[539564,746684]},{"type":"Point","properties":{"scalerank":2,"labelrank":3,"name":"Milan","adm0name":"Italy","adm1name":"Lombardia","iso_a2":"IT"},"coordinates":[525564,774114]},{"type":"Point","properties":{"scalerank":2,"labelrank":6,"name":"Kuala Lumpur","adm0name":"Malaysia","adm1name":"Selangor","iso_a2":"MY"},"coordinates":[782494,523489]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Lanzhou","adm0name":"China","adm1name":"Gansu","iso_a2":"CN"},"coordinates":[788304,718341]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Nanning","adm0name":"China","adm1name":"Guangxi","iso_a2":"CN"},"coordinates":[800883,639925]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Guiyang","adm0name":"China","adm1name":"Guizhou","iso_a2":"CN"},"coordinates":[796439,662201]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Chongqing","adm0name":"China","adm1name":"Chongqing","iso_a2":"CN"},"coordinates":[796091,679885]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Fuzhou","adm0name":"China","adm1name":"Fujian","iso_a2":"CN"},"coordinates":[831382,659239]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Guangzhou","adm0name":"China","adm1name":"Guangdong","iso_a2":"CN"},"coordinates":[814786,641850]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Dongguan","adm0name":"China","adm1name":"Guangdong","iso_a2":"CN"},"coordinates":[815951,641281]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Bandung","adm0name":"Indonesia","adm1name":"Jawa Barat","iso_a2":"ID"},"coordinates":[798799,463554]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Surabaya","adm0name":"Indonesia","adm1name":"Jawa Timur","iso_a2":"ID"},"coordinates":[813191,461781]},{"type":"Point","properties":{"scalerank":2,"labelrank":7,"name":"Guayaquil","adm0name":"Ecuador","adm1name":"Guayas","iso_a2":"EC"},"coordinates":[277994,491576]},{"type":"Point","properties":{"scalerank":2,"labelrank":5,"name":"Medellin","adm0name":"Colombia","adm1name":"Antioquia","iso_a2":"CO"},"coordinates":[290064,541905]},{"type":"Point","properties":{"scalerank":2,"labelrank":5,"name":"Cali","adm0name":"Colombia","adm1name":"Valle del Cauca","iso_a2":"CO"},"coordinates":[287494,524872]},{"type":"Point","properties":{"scalerank":2,"labelrank":6,"name":"Havana","adm0name":"Cuba","adm1name":"Ciudad de la Habana","iso_a2":"CU"},"coordinates":[271205,641773]},{"type":"Point","properties":{"scalerank":2,"labelrank":3,"name":"Alexandria","adm0name":"Egypt","adm1name":"Al Iskandariyah","iso_a2":"EG"},"coordinates":[583188,689572]},{"type":"Point","properties":{"scalerank":2,"labelrank":3,"name":"Frankfurt","adm0name":"Germany","adm1name":"Hessen","iso_a2":"DE"},"coordinates":[524097,801532]},{"type":"Point","properties":{"scalerank":2,"labelrank":3,"name":"Hamburg","adm0name":"Germany","adm1name":"Hamburg","iso_a2":"DE"},"coordinates":[527772,821983]},{"type":"Point","properties":{"scalerank":2,"labelrank":3,"name":"Munich","adm0name":"Germany","adm1name":"Bayern","iso_a2":"DE"},"coordinates":[532147,789872]},{"type":"Point","properties":{"scalerank":2,"labelrank":7,"name":"Prague","adm0name":"Czech Republic","adm1name":"Prague","iso_a2":"CZ"},"coordinates":[540177,801445]},{"type":"Point","properties":{"scalerank":2,"labelrank":8,"name":"Kuwait","adm0name":"Kuwait","adm1name":"Al Kuwayt","iso_a2":"KW"},"coordinates":[633267,678728]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Xian","adm0name":"China","adm1name":"Shaanxi","iso_a2":"CN"},"coordinates":[802479,707789]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Taiyuan","adm0name":"China","adm1name":"Shanxi","iso_a2":"CN"},"coordinates":[812619,729117]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Wuhan","adm0name":"China","adm1name":"Hubei","iso_a2":"CN"},"coordinates":[817411,685898]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Changsha","adm0name":"China","adm1name":"Hunan","iso_a2":"CN"},"coordinates":[813800,671798]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Kunming","adm0name":"China","adm1name":"Yunnan","iso_a2":"CN"},"coordinates":[785216,653255]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Zhengzhou","adm0name":"China","adm1name":"Henan","iso_a2":"CN"},"coordinates":[815730,710633]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Shenyeng","adm0name":"China","adm1name":"Liaoning","iso_a2":"CN"},"coordinates":[842910,752400]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Jinan","adm0name":"China","adm1name":"Shandong","iso_a2":"CN"},"coordinates":[824980,722008]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Tianjin","adm0name":"China","adm1name":"Tianjin","iso_a2":"CN"},"coordinates":[825549,736553]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Nanchang","adm0name":"China","adm1name":"Jiangxi","iso_a2":"CN"},"coordinates":[821883,674642]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Nanjing","adm0name":"China","adm1name":"Jiangsu","iso_a2":"CN"},"coordinates":[829938,694608]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Hangzhou","adm0name":"China","adm1name":"Zhejiang","iso_a2":"CN"},"coordinates":[833799,683943]},{"type":"Point","properties":{"scalerank":2,"labelrank":2,"name":"Hiroshima","adm0name":"Japan","adm1name":"Hiroshima","iso_a2":"JP"},"coordinates":[867890,708458]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Changchun","adm0name":"China","adm1name":"Jilin","iso_a2":"CN"},"coordinates":[848161,764605]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Baotou","adm0name":"China","adm1name":"Nei Mongol","iso_a2":"CN"},"coordinates":[805055,745571]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Harbin","adm0name":"China","adm1name":"Heilongjiang","iso_a2":"CN"},"coordinates":[851800,775772]},{"type":"Point","properties":{"scalerank":2,"labelrank":2,"name":"Sapporo","adm0name":"Japan","adm1name":"Hokkaido","iso_a2":"JP"},"coordinates":[892605,759924]},{"type":"Point","properties":{"scalerank":2,"labelrank":8,"name":"Santo Domingo","adm0name":"Dominican Republic","adm1name":"Distrito Nacional","iso_a2":"DO"},"coordinates":[305828,614153]},{"type":"Point","properties":{"scalerank":2,"labelrank":6,"name":"Accra","adm0name":"Ghana","adm1name":"Greater Accra","iso_a2":"GH"},"coordinates":[499392,537610]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Delhi","adm0name":"India","adm1name":"Delhi","iso_a2":"IN"},"coordinates":[714522,674583]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Hyderabad","adm0name":"India","adm1name":"Andhra Pradesh","iso_a2":"IN"},"coordinates":[717993,607814]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Pune","adm0name":"India","adm1name":"Maharashtra","iso_a2":"IN"},"coordinates":[705133,614509]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Nagpur","adm0name":"India","adm1name":"Maharashtra","iso_a2":"IN"},"coordinates":[719688,630149]},{"type":"Point","properties":{"scalerank":2,"labelrank":7,"name":"Tripoli","adm0name":"Libya","adm1name":"Tajura' wa an Nawahi al Arba","iso_a2":"LY"},"coordinates":[536611,699587]},{"type":"Point","properties":{"scalerank":2,"labelrank":8,"name":"Tel Aviv-Yafo","adm0name":"Israel","adm1name":"Tel Aviv","iso_a2":"IL"},"coordinates":[596577,694785]},{"type":"Point","properties":{"scalerank":2,"labelrank":7,"name":"Helsinki","adm0name":"Finland","adm1name":"Southern Finland","iso_a2":"FI"},"coordinates":[569256,861236]},{"type":"Point","properties":{"scalerank":2,"labelrank":5,"name":"Mashhad","adm0name":"Iran","adm1name":"Razavi Khorasan","iso_a2":"IR"},"coordinates":[665466,719608]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Jaipur","adm0name":"India","adm1name":"Rajasthan","iso_a2":"IN"},"coordinates":[710577,664222]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Kanpur","adm0name":"India","adm1name":"Uttar Pradesh","iso_a2":"IN"},"coordinates":[723105,661490]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Patna","adm0name":"India","adm1name":"Bihar","iso_a2":"IN"},"coordinates":[736466,656543]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Chennai","adm0name":"India","adm1name":"Tamil Nadu","iso_a2":"IN"},"coordinates":[722994,582279]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Ahmedabad","adm0name":"India","adm1name":"Dadra and Nagar Haveli","iso_a2":"IN"},"coordinates":[701605,641169]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Surat","adm0name":"India","adm1name":"Dadra and Nagar Haveli","iso_a2":"IN"},"coordinates":[702327,630327]},{"type":"Point","properties":{"scalerank":2,"labelrank":8,"name":"København","adm0name":"Denmark","adm1name":"Hovedstaden","iso_a2":"DK"},"coordinates":[534893,834594]},{"type":"Point","properties":{"scalerank":2,"labelrank":8,"name":"Abidjan","adm0name":"Ivory Coast","adm1name":"Lagunes","iso_a2":"CI"},"coordinates":[488772,536247]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Belem","adm0name":"Brazil","adm1name":"Pará","iso_a2":"BR"},"coordinates":[365327,496138]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Brasilia","adm0name":"Brazil","adm1name":"Distrito Federal","iso_a2":"BR"},"coordinates":[366894,411221]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Porto Alegre","adm0name":"Brazil","adm1name":"Rio Grande do Sul","iso_a2":"BR"},"coordinates":[357772,326699]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Curitiba","adm0name":"Brazil","adm1name":"Paraná","iso_a2":"BR"},"coordinates":[362994,354129]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Fortaleza","adm0name":"Brazil","adm1name":"Ceará","iso_a2":"BR"},"coordinates":[392828,482512]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Salvador","adm0name":"Brazil","adm1name":"Bahia","iso_a2":"BR"},"coordinates":[393106,427888]},{"type":"Point","properties":{"scalerank":2,"labelrank":2,"name":"Edmonton","adm0name":"Canada","adm1name":"Alberta","iso_a2":"CA"},"coordinates":[184717,821983]},{"type":"Point","properties":{"scalerank":2,"labelrank":2,"name":"Montréal","adm0name":"Canada","adm1name":"Québec","iso_a2":"CA"},"coordinates":[295596,774292]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Goiania","adm0name":"Brazil","adm1name":"Goiás","iso_a2":"BR"},"coordinates":[363050,405672]},{"type":"Point","properties":{"scalerank":2,"labelrank":1,"name":"Recife","adm0name":"Brazil","adm1name":"Pernambuco","iso_a2":"BR"},"coordinates":[403006,456885]},{"type":"Point","properties":{"scalerank":2,"labelrank":8,"name":"Brussels","adm0name":"Belgium","adm1name":"Brussels","iso_a2":"BE"},"coordinates":[512031,805888]},{"type":"Point","properties":{"scalerank":2,"labelrank":2,"name":"Dhaka","adm0name":"Bangladesh","adm1name":"Dhaka","iso_a2":"BD"},"coordinates":[751129,645275]},{"type":"Point","properties":{"scalerank":2,"labelrank":6,"name":"Luanda","adm0name":"Angola","adm1name":"Luanda","iso_a2":"AO"},"coordinates":[536756,452367]},{"type":"Point","properties":{"scalerank":2,"labelrank":5,"name":"Algiers","adm0name":"Algeria","adm1name":"Alger","iso_a2":"DZ"},"coordinates":[508468,722530]},{"type":"Point","properties":{"scalerank":2,"labelrank":2,"name":"Chittagong","adm0name":"Bangladesh","adm1name":"Chittagong","iso_a2":"BD"},"coordinates":[754993,637022]},{"type":"Point","properties":{"scalerank":2,"labelrank":3,"name":"Perth","adm0name":"Australia","adm1name":"Western Australia","iso_a2":"AU"},"coordinates":[821772,315413]},{"type":"Point","properties":{"scalerank":2,"labelrank":5,"name":"Rangoon","adm0name":"Myanmar","adm1name":"Yangon","iso_a2":"MM"},"coordinates":[767123,604161]},{"type":"Point","properties":{"scalerank":1,"labelrank":1,"name":"San Francisco","adm0name":"United States of America","adm1name":"California","iso_a2":"US"},"coordinates":[159952,728479]},{"type":"Point","properties":{"scalerank":1,"labelrank":1,"name":"Denver","adm0name":"United States of America","adm1name":"Colorado","iso_a2":"US"},"coordinates":[208372,740162]},{"type":"Point","properties":{"scalerank":1,"labelrank":1,"name":"Houston","adm0name":"United States of America","adm1name":"Texas","iso_a2":"US"},"coordinates":[235161,681396]},{"type":"Point","properties":{"scalerank":1,"labelrank":1,"name":"Miami","adm0name":"United States of America","adm1name":"Florida","iso_a2":"US"},"coordinates":[277150,657506]},{"type":"Point","properties":{"scalerank":1,"labelrank":1,"name":"Atlanta","adm0name":"United States of America","adm1name":"Georgia","iso_a2":"US"},"coordinates":[265550,705153]},{"type":"Point","properties":{"scalerank":1,"labelrank":1,"name":"Chicago","adm0name":"United States of America","adm1name":"Illinois","iso_a2":"US"},"coordinates":[256244,752549]},{"type":"Point","properties":{"scalerank":1,"labelrank":6,"name":"Caracas","adm0name":"Venezuela","adm1name":"Distrito Capital","iso_a2":"VE"},"coordinates":[314114,566941]},{"type":"Point","properties":{"scalerank":1,"labelrank":5,"name":"Kiev","adm0name":"Ukraine","adm1name":"Kiev","iso_a2":"UA"},"coordinates":[584762,803519]},{"type":"Point","properties":{"scalerank":1,"labelrank":8,"name":"Dubai","adm0name":"United Arab Emirates","adm1name":"Dubay","iso_a2":"AE"},"coordinates":[653549,654203]},{"type":"Point","properties":{"scalerank":1,"labelrank":6,"name":"Tashkent","adm0name":"Uzbekistan","adm1name":"Tashkent","iso_a2":"UZ"},"coordinates":[692480,749478]},{"type":"Point","properties":{"scalerank":1,"labelrank":3,"name":"Madrid","adm0name":"Spain","adm1name":"Comunidad de Madrid","iso_a2":"ES"},"coordinates":[489762,744077]},{"type":"Point","properties":{"scalerank":1,"labelrank":7,"name":"Geneva","adm0name":"Switzerland","adm1name":"Genève","iso_a2":"CH"},"coordinates":[517055,778486]},{"type":"Point","properties":{"scalerank":1,"labelrank":7,"name":"Stockholm","adm0name":"Sweden","adm1name":"Stockholm","iso_a2":"SE"},"coordinates":[550264,856349]},{"type":"Point","properties":{"scalerank":1,"labelrank":5,"name":"Bangkok","adm0name":"Thailand","adm1name":"Bangkok Metropolis","iso_a2":"TH"},"coordinates":[779207,586190]},{"type":"Point","properties":{"scalerank":1,"labelrank":5,"name":"Lima","adm0name":"Peru","adm1name":"Lima","iso_a2":"PE"},"coordinates":[285967,433351]},{"type":"Point","properties":{"scalerank":1,"labelrank":8,"name":"Dakar","adm0name":"Senegal","adm1name":"Dakar","iso_a2":"SM"},"coordinates":[451458,591912]},{"type":"Point","properties":{"scalerank":1,"labelrank":3,"name":"Johannesburg","adm0name":"South Africa","adm1name":"Gauteng","iso_a2":"ZA"},"coordinates":[577855,349685]},{"type":"Point","properties":{"scalerank":1,"labelrank":8,"name":"Amsterdam","adm0name":"Netherlands","adm1name":"Noord-Holland","iso_a2":"NL"},"coordinates":[513651,814873]},{"type":"Point","properties":{"scalerank":1,"labelrank":5,"name":"Casablanca","adm0name":"Morocco","adm1name":"Grand Casablanca","iso_a2":"MA"},"coordinates":[478837,703790]},{"type":"Point","properties":{"scalerank":1,"labelrank":3,"name":"Seoul","adm0name":"South Korea","adm1name":"Seoul","iso_a2":"KR"},"coordinates":[852771,727288]},{"type":"Point","properties":{"scalerank":1,"labelrank":5,"name":"Manila","adm0name":"Philippines","adm1name":"Metropolitan Manila","iso_a2":"PH"},"coordinates":[836056,591250]},{"type":"Point","properties":{"scalerank":1,"labelrank":2,"name":"Monterrey","adm0name":"Mexico","adm1name":"Nuevo León","iso_a2":"MX"},"coordinates":[221300,656809]},{"type":"Point","properties":{"scalerank":1,"labelrank":8,"name":"Auckland","adm0name":"New Zealand","adm1name":"Auckland","iso_a2":"NZ"},"coordinates":[985452,286413]},{"type":"Point","properties":{"scalerank":1,"labelrank":3,"name":"Berlin","adm0name":"Germany","adm1name":"Berlin","iso_a2":"DE"},"coordinates":[537221,815891]},{"type":"Point","properties":{"scalerank":1,"labelrank":1,"name":"Urumqi","adm0name":"China","adm1name":"Xinjiang Uygur","iso_a2":"CN"},"coordinates":[743258,764249]},{"type":"Point","properties":{"scalerank":1,"labelrank":1,"name":"Chengdu","adm0name":"China","adm1name":"Sichuan","iso_a2":"CN"},"coordinates":[789078,686432]},{"type":"Point","properties":{"scalerank":1,"labelrank":2,"name":"Osaka","adm0name":"Japan","adm1name":"Osaka","iso_a2":"JP"},"coordinates":[876272,710604]},{"type":"Point","properties":{"scalerank":1,"labelrank":3,"name":"Kinshasa","adm0name":"Congo (Kinshasa)","adm1name":"Kinshasa City","iso_a2":"CD"},"coordinates":[542536,479077]},{"type":"Point","properties":{"scalerank":1,"labelrank":1,"name":"New Delhi","adm0name":"India","adm1name":"Delhi","iso_a2":"IN"},"coordinates":[714444,674156]},{"type":"Point","properties":{"scalerank":1,"labelrank":1,"name":"Bangalore","adm0name":"India","adm1name":"Karnataka","iso_a2":"IN"},"coordinates":[715438,581569]},{"type":"Point","properties":{"scalerank":1,"labelrank":6,"name":"Athens","adm0name":"Greece","adm1name":"Attiki","iso_a2":"GR"},"coordinates":[565920,729759]},{"type":"Point","properties":{"scalerank":1,"labelrank":5,"name":"Baghdad","adm0name":"Iraq","adm1name":"Baghdad","iso_a2":"IQ"},"coordinates":[623310,702242]},{"type":"Point","properties":{"scalerank":1,"labelrank":3,"name":"Addis Ababa","adm0name":"Ethiopia","adm1name":"Addis Ababa","iso_a2":"ET"},"coordinates":[607494,558246]},{"type":"Point","properties":{"scalerank":1,"labelrank":5,"name":"Tehran","adm0name":"Iran","adm1name":"Tehran","iso_a2":"IR"},"coordinates":[642839,716065]},{"type":"Point","properties":{"scalerank":1,"labelrank":2,"name":"Vancouver","adm0name":"Canada","adm1name":"British Columbia","iso_a2":"CA"},"coordinates":[157990,796647]},{"type":"Point","properties":{"scalerank":1,"labelrank":2,"name":"Toronto","adm0name":"Canada","adm1name":"Ontario","iso_a2":"CA"},"coordinates":[279383,763627]},{"type":"Point","properties":{"scalerank":1,"labelrank":3,"name":"Buenos Aires","adm0name":"Argentina","adm1name":"Ciudad de Buenos Aires","iso_a2":"AR"},"coordinates":[337779,299727]},{"type":"Point","properties":{"scalerank":1,"labelrank":5,"name":"Kabul","adm0name":"Afghanistan","adm1name":"Kabul","iso_a2":"AF"},"coordinates":[692169,709221]},{"type":"Point","properties":{"scalerank":1,"labelrank":7,"name":"Vienna","adm0name":"Austria","adm1name":"Wien","iso_a2":"AT"},"coordinates":[545457,790287]},{"type":"Point","properties":{"scalerank":1,"labelrank":3,"name":"Melbourne","adm0name":"Australia","adm1name":"Victoria","iso_a2":"AU"},"coordinates":[902702,280666]},{"type":"Point","properties":{"scalerank":1,"labelrank":8,"name":"Taipei","adm0name":"Taiwan","adm1name":"Taipei City","iso_a2":"TW"},"coordinates":[837688,653040]},{"type":"Point","properties":{"scalerank":0,"labelrank":1,"name":"Los Angeles","adm0name":"United States of America","adm1name":"California","iso_a2":"US"},"coordinates":[171717,706100]},{"type":"Point","properties":{"scalerank":0,"labelrank":1,"name":"Washington, D.C.","adm0name":"United States of America","adm1name":"District of Columbia","iso_a2":"US"},"coordinates":[286079,735187]},{"type":"Point","properties":{"scalerank":0,"labelrank":1,"name":"New York","adm0name":"United States of America","adm1name":"New York","iso_a2":"US"},"coordinates":[294495,746150]},{"type":"Point","properties":{"scalerank":0,"labelrank":5,"name":"London","adm0name":"United Kingdom","adm1name":"Westminster","iso_a2":"GB"},"coordinates":[499670,809838]},{"type":"Point","properties":{"scalerank":0,"labelrank":5,"name":"Istanbul","adm0name":"Turkey","adm1name":"Istanbul","iso_a2":"TR"},"coordinates":[580577,748253]},{"type":"Point","properties":{"scalerank":0,"labelrank":5,"name":"Riyadh","adm0name":"Saudi Arabia","adm1name":"Ar Riyad","iso_a2":"SA"},"coordinates":[629918,650712]},{"type":"Point","properties":{"scalerank":0,"labelrank":3,"name":"Cape Town","adm0name":"South Africa","adm1name":"Western Cape","iso_a2":"ZA"},"coordinates":[551202,303771]},{"type":"Point","properties":{"scalerank":0,"labelrank":2,"name":"Moscow","adm0name":"Russia","adm1name":"Moskva","iso_a2":"RU"},"coordinates":[604482,835030]},{"type":"Point","properties":{"scalerank":0,"labelrank":2,"name":"Mexico City","adm0name":"Mexico","adm1name":"Distrito Federal","iso_a2":"MX"},"coordinates":[224631,619915]},{"type":"Point","properties":{"scalerank":0,"labelrank":2,"name":"Lagos","adm0name":"Nigeria","adm1name":"Lagos","iso_a2":"NG"},"coordinates":[509415,542902]},{"type":"Point","properties":{"scalerank":0,"labelrank":3,"name":"Rome","adm0name":"Italy","adm1name":"Lazio","iso_a2":"IT"},"coordinates":[534670,752939]},{"type":"Point","properties":{"scalerank":0,"labelrank":1,"name":"Beijing","adm0name":"China","adm1name":"Beijing","iso_a2":"CN"},"coordinates":[823294,741286]},{"type":"Point","properties":{"scalerank":0,"labelrank":5,"name":"Nairobi","adm0name":"Kenya","adm1name":"Nairobi","iso_a2":"KE"},"coordinates":[602262,497125]},{"type":"Point","properties":{"scalerank":0,"labelrank":1,"name":"Jakarta","adm0name":"Indonesia","adm1name":"Jakarta Raya","iso_a2":"ID"},"coordinates":[796742,468148]},{"type":"Point","properties":{"scalerank":0,"labelrank":5,"name":"Bogota","adm0name":"Colombia","adm1name":"Bogota","iso_a2":"CO"},"coordinates":[294207,531960]},{"type":"Point","properties":{"scalerank":0,"labelrank":3,"name":"Cairo","adm0name":"Egypt","adm1name":"Al Qahirah","iso_a2":"EG"},"coordinates":[586799,682758]},{"type":"Point","properties":{"scalerank":0,"labelrank":1,"name":"Shanghai","adm0name":"China","adm1name":"Shanghai","iso_a2":"CN"},"coordinates":[837317,689669]},{"type":"Point","properties":{"scalerank":0,"labelrank":2,"name":"Tokyo","adm0name":"Japan","adm1name":"Tokyo","iso_a2":"JP"},"coordinates":[888192,716142]},{"type":"Point","properties":{"scalerank":0,"labelrank":1,"name":"Mumbai","adm0name":"India","adm1name":"Maharashtra","iso_a2":"IN"},"coordinates":[702374,617394]},{"type":"Point","properties":{"scalerank":0,"labelrank":3,"name":"Paris","adm0name":"France","adm1name":"Île-de-France","iso_a2":"FR"},"coordinates":[506476,794237]},{"type":"Point","properties":{"scalerank":0,"labelrank":3,"name":"Santiago","adm0name":"Chile","adm1name":"Región Metropolitana de Santiago","iso_a2":"CL"},"coordinates":[303697,306556]},{"type":"Point","properties":{"scalerank":0,"labelrank":1,"name":"Kolkata","adm0name":"India","adm1name":"West Bengal","iso_a2":"IN"},"coordinates":[745340,637999]},{"type":"Point","properties":{"scalerank":0,"labelrank":1,"name":"Rio de Janeiro","adm0name":"Brazil","adm1name":"Rio de Janeiro","iso_a2":"BR"},"coordinates":[379925,368910]},{"type":"Point","properties":{"scalerank":0,"labelrank":1,"name":"Sao Paulo","adm0name":"Brazil","adm1name":"São Paulo","iso_a2":"BR"},"coordinates":[370480,365156]},{"type":"Point","properties":{"scalerank":0,"labelrank":3,"name":"Sydney","adm0name":"Australia","adm1name":"New South Wales","iso_a2":"AU"},"coordinates":[919952,303771]},{"type":"Point","properties":{"scalerank":0,"labelrank":0,"name":"Singapore","adm0name":"Singapore","iso_a2":"SG"},"coordinates":[788482,512389]},{"type":"Point","properties":{"scalerank":0,"labelrank":0,"name":"Hong Kong","adm0name":"Hong Kong S.A.R.","iso_a2":"HK"},"coordinates":[817174,636873]}]}},"arcs":[[[85470,47819],[-4327,823],[2549,633],[1778,-1456]],[[135926,62848],[-3045,936],[3281,69],[-236,-1005]],[[54258,21344],[-9164,857],[3638,778],[5526,-1635]],[[965673,41772],[-3773,-978],[-481,1285],[4254,-307]],[[964121,46628],[6302,-1202],[-5445,-735],[-1844,-1198],[-1422,1933],[2409,1202]],[[405738,34787],[-7075,156],[2628,1209],[4447,-1365]],[[313161,34004],[-3575,90],[1434,1245],[2141,-1335]],[[334072,28722],[-2358,-3579],[-10237,1183],[-4755,2157],[12074,239],[-141,1922],[5030,1437],[387,-3359]],[[316184,30299],[-4542,3151],[4985,-464],[1416,-1955],[-1859,-732]],[[58185,31902],[-3469,-220],[-10900,3103],[279,1928],[2416,1619],[4480,-1060],[5441,-2972],[1753,-2398]],[[374381,37806],[4168,-45],[2102,-3902],[-1562,-4233],[-15721,-2674],[-1627,-838],[-12193,-508],[-513,1781],[2648,2728],[3047,-191],[5438,3920],[-1094,1165],[1427,4014],[3162,3306],[6265,1552],[3599,-570],[4781,-2400],[-384,-1842],[-3543,-1263]],[[304627,32657],[-4026,1396],[3443,3321],[8515,3087],[2085,-125],[-7008,-4897],[-3009,-2782]],[[146206,62619],[-2132,1749],[2510,-580],[-378,-1169]],[[149084,70536],[2927,-2396],[3427,-1125],[571,-2044],[-2879,102],[-6552,2931],[-99,2426],[2605,106]],[[442757,66979],[329,-3590],[-2221,2981],[1967,2192],[-75,-1583]],[[165121,67753],[789,-1381],[-2196,-2064],[-4990,-31],[652,2234],[-1354,1679],[7099,-437]],[[175726,65330],[-1773,486],[2764,1288],[-991,-1774]],[[167919,65653],[-704,1752],[2341,30],[-1637,-1782]],[[227524,78675],[1407,176],[346,-1810],[1641,1998],[2068,-264],[-1873,-2157],[3305,1133],[94,-2024],[-1323,-990],[-6544,175],[-4965,1629],[-5749,813],[380,889],[5676,880],[698,-1240],[3382,1673],[1457,-881]],[[293460,71648],[-612,-3038],[-3684,1650],[-324,1466],[1780,1570],[2508,-435],[332,-1213]],[[246776,71151],[-1415,3309],[2396,79],[-981,-3388]],[[492964,85456],[1224,-315],[-1920,-2052],[-2094,2867],[2790,-500]],[[295259,86241],[-1384,-1711],[-5476,-1234],[-900,1132],[5678,2100],[2082,-287]],[[331597,134082],[2154,-324],[-1032,-773],[-1122,1097]],[[346762,142020],[-615,875],[1989,-263],[-1374,-612]],[[338949,137923],[941,-643],[-3790,-1122],[890,1194],[1959,571]],[[396935,184408],[2158,-1100],[1466,-3035],[-797,-612],[-1169,2107],[-2754,2105],[1096,535]],[[301693,184601],[1024,-467],[-337,-1554],[-917,846],[-1320,-412],[-728,1500],[594,965],[1684,-878]],[[302801,179654],[1594,-243],[38,-1520],[-1488,614],[-144,1149]],[[306380,179352],[2229,-586],[1717,-1406],[651,-2298],[-3469,2828],[-319,-1650],[-1578,1759],[769,1353]],[[313667,177961],[-2751,-400],[-642,1425],[2933,19],[460,-1044]],[[320696,180552],[2039,-51],[-2284,-1052],[245,1103]],[[341609,129267],[-3451,-2313],[-2179,-2791],[726,-1717],[-1874,1058],[-1395,-508],[-3047,-3257],[-1787,-37],[349,-1175],[-1577,-865],[1081,-1407],[-1525,-1607],[1294,-1653],[2573,1177],[965,-347],[-1286,-2116],[-1121,1137],[-1232,-897],[-2240,348],[-63,-2623],[-1536,2467],[-1375,-83],[-903,-2230],[897,-1298],[-2587,397],[-947,-2416],[-1156,-666],[-545,-4764],[2065,-225],[-1544,-998],[584,-1459],[3231,-1115],[783,1786],[946,-3389],[2793,-3213],[1360,-3174],[-1158,-1450],[2425,-745],[-1267,-2429],[1800,194],[457,-2810],[-2251,-1870],[2070,555],[496,-1517],[-3393,-1171],[4270,-326],[-31,-2093],[1690,-5031],[-2665,-315],[-2575,1070],[1032,-2087],[2106,-663],[-67,-1532],[-2598,-957],[2929,-1237],[-631,-1407],[-3401,220],[853,-2498],[-2168,746],[-3378,-1584],[1927,-885],[-2913,-825],[2545,-940],[-8353,-3329],[-8150,-1998],[-2197,-1800],[-4731,-581],[-9638,1015],[-5338,-287],[2615,-3822],[2394,-1180],[7041,-689],[-1110,-1801],[-4335,-1679],[-8139,1406],[-7943,1116],[-2331,-791],[11134,-3252],[-1212,-1842],[-6731,-459],[-6434,2433],[-3207,-290],[1397,-1855],[4442,-1929],[2136,-2381],[1120,1072],[11082,-29],[1299,-1786],[-1462,-1638],[-8618,-553],[4123,-1006],[4913,426],[3252,-4193],[6131,-680],[5588,1767],[2163,-1407],[15247,-3939],[-3239,-2255],[2769,-2775],[11279,1090],[-5213,-2019],[4265,-3381],[-1082,-1441],[5760,-694],[6007,3662],[9354,3791],[15626,1826],[5841,-325],[229,-3344],[6962,1430],[6210,5761],[7394,2462],[4340,-1077],[5229,2449],[16661,2835],[14135,653],[-165,1725],[-15693,1016],[-1018,2583],[-7440,-388],[-9014,2692],[162,1813],[3037,3740],[2810,2439],[5591,1573],[8693,4678],[7985,2447],[4971,1126],[7877,497],[2629,1133],[6063,360],[-1235,1121],[4029,5380],[4517,-435],[3053,2783],[-3264,-47],[-2139,1786],[2563,3243],[3542,-156],[65,2310],[3025,-308],[4754,2204],[1497,3028],[-3305,1707],[-565,1328],[1912,346],[1926,-1356],[2601,2544],[-182,1210],[2412,-1467],[1623,-2955],[2591,748],[-445,3592],[5382,1348],[968,-853],[-1472,-2780],[9182,30],[2215,-667],[2630,994],[1458,-2647],[3828,3022],[4929,1792],[6954,1448],[6356,954],[766,818],[2351,-695],[1718,1719],[5727,-3230],[1383,-224],[3790,4224],[2103,-1715],[5512,114],[2161,712],[345,-1147],[3932,-847],[855,1483],[2122,-19],[191,-3609],[5015,349],[1762,3465],[1836,-1282],[-367,-993],[2070,-993],[2291,2403],[1200,-261],[1447,-2627],[4839,-755],[6702,2586],[3033,1676],[3821,440],[3451,1334],[1023,2230],[-1172,3259],[1539,2280],[2976,-77],[-1054,-2352],[2173,28],[2114,-3476],[3783,173],[1100,-939],[2860,-80],[1986,-1077],[2349,3438],[441,2716],[3525,2323],[3545,1323],[1141,1354],[5222,1297],[805,800],[3916,899],[446,2070],[2342,-835],[-794,-970],[4253,-1312],[-49,1621],[1636,1741],[-2095,1085],[2172,605],[3627,-1499],[-612,4443],[4311,2516],[4965,954],[3544,-340],[2118,-970],[4098,-3159],[-2888,-76],[682,-2060],[-657,-1724],[2047,1235],[2044,250],[3083,-1276],[1426,-1514],[3420,591],[6127,-1555],[2809,826],[12858,-2259],[3024,869],[1571,-4273],[-1244,-1616],[265,-2930],[-2009,-838],[489,-2924],[-2512,172],[-2528,-2582],[1869,-887],[3000,580],[637,-627],[-1048,-3579],[-2321,-2110],[-1681,-3625],[-2397,-7146],[2091,-539],[1804,1271],[1245,3381],[3153,833],[4783,4447],[1745,5434],[2376,1842],[172,1775],[3111,2091],[4116,-889],[1298,1881],[5351,3002],[2524,4686],[1560,940],[7581,2544],[3576,515],[3280,2894],[3405,-277],[6304,2209],[4773,-206],[3675,1306],[2922,562],[5252,-1077],[2432,1115],[1948,-767],[4332,778],[1719,-638],[1495,828],[1670,-1205],[5640,1853],[1626,2411],[3332,509],[3547,-728],[6766,-2503],[2178,-355],[1706,-1146],[4661,-1449],[3220,2279],[790,2650],[6090,1640],[1697,-769],[1742,-2551],[2704,-1189],[902,-1247],[-1004,-1521],[-3563,-1089],[99,-1358],[7463,2333],[6254,-577],[3917,954],[-3040,-1277],[-410,-1015],[6541,1657],[1931,1371],[5592,1533],[2498,-239],[2139,1638],[2221,-789],[2433,-3279],[2472,-402],[2240,459],[1400,3394],[3363,1643],[2442,-264],[4482,916],[2040,-1159],[307,-1183],[2951,2071],[3338,-1847],[933,588],[3474,-1210],[3060,-179],[1829,-837],[5758,-542],[1985,-1221],[2897,807],[502,-1269],[1973,-300],[-1887,-3867],[686,-625],[2608,1622],[2354,11],[2368,-2017],[738,-2395],[3786,-581],[7255,486],[195,-2248],[3909,205],[1488,-753],[1732,758],[222,2246],[1153,-404],[3668,-3594],[5447,-1684],[1254,758],[5142,-2021],[1183,-2684],[2298,-2028],[1076,-3019],[2395,-842],[-686,2039],[1765,1897],[1872,-1873],[2929,653],[6177,-911],[2618,-864],[1674,-2210],[5528,-2650],[759,1254],[1177,-2665],[-1764,-470],[-490,-3867],[-3692,1281],[3083,-2039],[-788,-1906],[-6637,-574],[1278,-1122],[-1721,-1230],[-3155,-287],[-1426,-1698],[-604,2942],[-1055,-1043],[72,-2782],[1465,-3349],[-4355,178],[-1305,813],[-1837,-2351],[-196,-2037],[-4508,-993],[2758,-413],[2533,-2617],[-146,-5329],[2379,-4958],[2227,-1783],[-1232,-2017],[1807,-543],[2192,1620],[683,-1562],[3875,-1260],[-6732,-503],[-5542,-1744],[-2450,2089],[539,-2873],[-2113,303],[-3595,-5214],[1840,-898],[-5515,-2446],[5469,-9],[-201,-5425],[6531,-3114],[2386,-1902],[-6658,-1793],[9622,802],[10723,-4212],[-1382,-1756],[7520,-437],[3056,-1235],[21397,-3698],[-975899,-1624],[13312,-1639],[11050,-486],[17983,-1689],[-1464,2223],[-18283,1673],[-3840,4281],[-7229,-28],[-4485,2139],[-13607,3256],[6236,312],[9455,-2260],[6113,167],[4921,-1581],[13891,-447],[5600,1164],[-697,1285],[6167,882],[6804,3147],[-4743,3015],[2114,1425],[-8545,2257],[1401,929],[23349,1550],[-6814,3241],[986,1206],[5287,469],[391,1749],[-6429,1364],[-4446,1801],[-8662,1639],[-3498,1952],[6044,2229],[-8259,352],[-3428,2496],[798,3681],[5561,304],[6393,-717],[1248,-1120],[4837,-59],[5559,-2202],[4339,1985],[-1156,2117],[8042,-2268],[-205,4378],[-4416,1840],[-3502,-326],[-2925,758],[3706,1547],[6763,-1896],[-1382,1923],[7801,3176],[3457,432],[4044,-1512],[-969,1186],[4255,1972],[5758,814],[2970,-378],[892,1797],[2406,863],[5241,-957],[3961,511],[6273,-746],[5355,1020],[6971,29],[4067,-346],[11702,700],[2836,1553],[9862,-371],[874,2764],[3562,-593],[-1672,-5291],[6706,1123],[-305,3096],[1738,484],[2426,-1059],[19,-2037],[-3230,-2505],[6086,-305],[7369,-943],[4771,1357],[8870,-72],[1859,-1745],[6893,1374],[-5321,1880],[986,2118],[-3148,174],[-1288,2736],[-2921,829],[990,1585],[3959,-834],[5803,865],[-3124,1236],[-7374,484],[-1943,2973],[2810,349],[-127,-1346],[12213,-273],[5167,-1634],[2544,527],[2751,-550],[5570,797],[3667,-834],[1737,2023],[2651,523],[594,1164],[2591,-981],[-625,-2195],[2829,220],[1008,-959],[3435,959],[2279,-1836],[7771,-2103],[2430,703],[129,2508],[2572,-588],[-294,2783],[2557,-861],[3094,-2761],[4326,565],[-551,-2273],[4877,1217],[3603,-362],[2964,1491],[11411,2029],[3206,1606],[2331,4409],[-1757,3338],[-123,2779],[-1066,3768],[-1431,2382],[-846,3480],[3712,118],[1102,1489],[-1154,1777],[1659,3678],[-991,1278],[1236,2948],[-2172,-119],[-18,2574],[1495,758],[1342,-1529],[-152,2974],[1887,538],[639,3049],[5054,3881],[-667,1785],[772,862],[1948,-628],[-169,1166],[4133,2002],[2133,3147],[3761,1497],[1772,1593],[4118,1929],[1025,-868]],[[291702,91617],[1526,-1313],[-1142,-1361],[-2438,493],[126,1270],[1928,911]],[[574603,87746],[-2366,49],[821,1781],[1545,-1830]],[[305413,94809],[1762,-2334],[3003,-7541],[263,-5724],[-2689,-4219],[-3706,-771],[-5067,-32],[-1997,1551],[1300,788],[4849,-542],[-2847,1455],[2991,1270],[-3995,1571],[-1857,-1661],[-1959,514],[-1008,-1985],[-3770,1728],[168,1561],[2502,-139],[568,1513],[5488,284],[-2358,1232],[3728,-107],[1456,949],[3788,421],[-3386,898],[-32,1334],[2036,1042],[1971,-218],[-1970,1411],[-2202,-217],[-2037,1346],[308,3237],[-875,2499],[4558,1257],[1016,-2371]],[[545062,89959],[-1454,1389],[2573,136],[-1119,-1525]],[[300040,91791],[-2198,317],[141,1374],[2057,-1691]],[[327784,91653],[-1583,3208],[2088,-1160],[-505,-2048]],[[311143,104968],[-2536,-1599],[-503,2021],[2074,3560],[1404,1054],[-383,-2416],[779,-682],[-835,-1938]],[[780503,115614],[-1975,438],[1703,1334],[272,-1772]],[[324498,122769],[956,-605],[-2508,-1556],[-1480,811],[2185,2590],[847,-1240]],[[326873,123038],[-1170,-280],[1161,2714],[751,-739],[-742,-1695]],[[339316,125233],[1657,-257],[-125,-1598],[-1602,-201],[-1462,1576],[1311,1947],[221,-1467]],[[345755,130448],[-2362,-1562],[-19,1204],[2381,358]],[[10618,245580],[-434,-1826],[-1428,1329],[1862,497]],[[23739,421499],[-1273,266],[-371,856],[1226,-132],[418,-990]],[[21295,424942],[302,-2008],[-863,75],[-674,1628],[1235,305]],[[330522,564757],[-2484,-386],[1130,1182],[96,1602],[-474,950],[1994,835],[-322,-1010],[60,-3173]],[[849139,563455],[-543,1210],[478,1904],[65,-3114]],[[789066,566277],[-128,-2142],[-468,2025],[596,117]],[[322640,570662],[-189,-1442],[-1347,557],[1536,885]],[[756952,567249],[-417,1163],[437,867],[-20,-2030]],[[846040,571919],[987,176],[231,-3479],[667,-3091],[-738,614],[108,-1981],[-683,799],[17,3634],[-948,842],[-319,3624],[678,-1138]],[[840266,573530],[1840,-471],[-394,-2483],[-685,-1734],[-1590,-1190],[-581,-975],[-68,2449],[388,4569],[-389,1507],[1479,-1672]],[[847887,578938],[822,-1994],[-83,-3834],[551,-2248],[-1307,-116],[-879,2448],[-91,1286],[-1388,2776],[-251,1928],[2626,-246]],[[273324,548160],[-691,714],[342,994],[349,-1708]],[[465204,548773],[-1181,797],[934,393],[247,-1190]],[[825863,554717],[108,1623],[1486,3123],[639,628],[2525,5965],[731,1306],[-72,1607],[667,2969],[71,-2329],[438,-2379],[-1110,-1777],[-260,-1130],[-1136,-858],[-965,-3911],[-1237,-2245],[-1885,-2592]],[[846093,562701],[-650,-930],[-1178,-37],[-329,1146],[988,1883],[1123,-643],[46,-1419]],[[842029,558417],[-1578,2481],[-421,1250],[167,1586],[1068,743],[-108,2469],[462,2268],[760,636],[863,-1263],[-1126,-5430],[406,-3005],[-493,-1735]],[[842694,560701],[45,3066],[903,3001],[909,4739],[35,-4076],[-275,-1594],[-858,-1756],[-759,-3380]],[[65314,628731],[1381,-1039]],[[66695,627692],[-1247,-825],[-134,1864]],[[63295,630407],[1393,-358]],[[64688,630049],[-410,-585]],[[64278,629464],[-983,943]],[[297147,630270],[-382,-1263],[-1379,-247],[383,1501],[1378,9]],[[61668,631836],[456,-883]],[[62124,630953],[-1320,65]],[[60804,631018],[-453,1580]],[[60351,632598],[863,688]],[[61214,633286],[454,-1450]],[[67829,617353],[-833,346],[-465,4026],[635,1565]],[[67166,623290],[-33,1550]],[[67133,624840],[1759,-1667],[1095,-2784]],[[69987,620389],[-1404,-1566]],[[68583,618823],[-754,-1470]],[[663116,624502],[-224,703],[675,2033],[185,-974],[-636,-1762]],[[833610,576804],[595,-920],[-843,-25],[248,945]],[[329773,595059],[-554,1636],[447,355],[107,-1991]],[[434877,593631],[-948,408],[71,1386],[877,-1794]],[[328918,599549],[-472,327],[31,1737],[544,-500],[-103,-1564]],[[436338,600914],[626,-404],[-355,-1084],[-271,1488]],[[329646,600873],[-541,-14],[141,1651],[400,-1637]],[[430083,605116],[-464,856],[993,22],[-529,-878]],[[433089,603196],[-652,-766],[-151,1094],[803,-328]],[[331038,590589],[-1093,1836],[836,-409],[257,-1427]],[[902059,583271],[-257,1004],[809,839],[-552,-1843]],[[843655,577513],[901,-1899],[14,-1270],[-1429,2631],[-1037,-1605],[218,3897],[1333,-1754]],[[839149,577913],[-474,-140],[616,1904],[-142,-1764]],[[649342,579583],[1178,161],[899,-659],[-1060,-1138],[-1475,-109],[-785,1131],[609,1082],[634,-468]],[[757562,573062],[-524,1998],[447,2022],[451,6775],[570,1110],[32,-1738],[-521,-1836],[288,-2392],[-743,-5939]],[[835289,584576],[1384,-280],[889,-1784],[50,-2921],[-845,-2484],[-874,1735],[-439,2714],[-1007,3242],[842,-222]],[[838651,584936],[555,-457],[-304,-1530],[-488,733],[237,1254]],[[845425,585481],[-874,183],[517,2455],[534,-1224],[-177,-1414]],[[836392,615002],[2067,-1895],[836,1133],[426,-497],[-414,-3828],[328,-2141],[695,-1602],[-1067,-5569],[-1499,-1490],[32,-1561],[-596,-2046],[842,-3478],[-130,-1516],[422,-2178],[1142,-1088],[-33,1291],[808,1032],[1015,-424],[1043,-2982],[247,1862],[1492,-1553],[-855,-911],[748,-2230],[-95,-941],[994,-443],[-230,-2777],[-507,727],[198,1343],[-1771,756],[-411,2356],[-1578,2760],[-353,-124],[575,-3753],[-1673,3171],[-819,884],[-1595,-1762],[-1008,1448],[-567,-475],[-55,2272],[847,1808],[-94,1319],[-846,980],[15,-2358],[-417,-177],[-991,2357],[-529,5845],[-340,1011],[170,1885],[915,-1652],[638,1030],[-234,1823],[287,2526],[-139,4044],[669,5152],[1395,636]],[[285385,614067],[2532,-1810],[386,-1412],[-872,-280],[-912,637],[-978,-1534],[-1564,963],[-848,1859],[-613,159],[215,1363],[954,439],[1700,-384]],[[300613,621536],[615,1050],[1677,110],[2291,-1646],[479,212],[604,-2208],[1151,169],[-829,-1243],[2608,-1262],[960,-1738],[-1061,-2329],[-594,1123],[-2322,211],[-1145,-1136],[-1283,500],[-1064,-373],[-1022,-3715],[-1035,2328]],[[300643,611589],[-810,1122],[-2268,-455],[-1413,589],[-1388,-1240],[-1484,1803],[532,1875],[1767,-831],[2228,-519],[1227,1423],[-1287,2350],[299,2189],[-1925,1289],[774,1452],[1335,-17],[1159,-926],[1224,-157]],[[316307,613993],[1390,-376],[23,-824],[-973,-1588],[-3405,118],[106,2992],[2859,-322]],[[808024,623158],[347,-1993],[-533,-578],[-694,-2287],[-336,-2512],[-2588,-3138],[-2272,1878],[-183,2207],[161,2551],[1619,2505],[107,849],[3787,1378],[585,-860]],[[782522,517031],[-293,-2149],[-423,2086],[716,63]],[[856816,516873],[-656,1455],[1067,1778],[59,-2210],[-470,-1023]],[[767954,518699],[-1820,1751],[-7,1543],[1698,-2375],[129,-919]],[[852267,528613],[-164,3048],[455,-1522],[-291,-1526]],[[524265,526983],[585,-775],[-673,-2393],[-637,243],[725,2925]],[[800877,526576],[-599,88],[-269,2003],[551,936],[531,-1270],[-214,-1757]],[[722171,562852],[753,-97],[1273,-2547],[1838,-5539],[175,-1852],[1217,-4921],[-35,-2293],[-622,-2820],[-715,-1092],[-1822,-1551],[-1270,182],[-477,849],[-655,4006],[-421,7325],[280,-93],[712,6195],[58,2856],[-289,1392]],[[839146,542801],[-790,1099],[694,752],[638,-603],[-542,-1248]],[[836553,540712],[645,-436],[-1280,-627],[635,1063]],[[760805,545187],[-572,2089],[486,138],[86,-2227]],[[850016,559939],[520,-263],[351,-2559],[-495,-1288],[621,-850],[195,-3857],[375,-921],[32,-2545],[-1083,-2341],[-7,-3217],[-1014,6065],[-1176,-3185],[520,-1955],[222,-2886],[-1056,-2052],[-54,2375],[-647,-963],[-2285,2149],[-375,1014],[-257,3491],[615,2386],[-662,1589],[-1321,849],[-283,-2372],[-818,1735],[-704,-1014],[-143,1144],[-816,-294],[-894,-3961],[-589,-213],[466,4990],[570,1291],[1832,1138],[59,1054],[1158,1806],[1152,-1603],[-267,-2218],[1235,1015],[704,2232],[778,-257],[381,2425],[757,-613],[191,938],[803,-73],[-236,3877],[297,533],[1348,-2596]],[[293373,191181],[2597,-1316],[-2276,373],[-321,943]],[[297435,187868],[1994,-1930],[-993,-1578],[-1099,46],[541,1191],[-1503,-469],[-26,1273],[-1476,1087],[1107,804],[1455,-424]],[[309361,192779],[809,-1466],[-416,-2138],[909,-269],[424,-1527],[1984,-2877],[2941,-2866],[2935,-857],[-464,-1184],[-3236,-913],[-1165,634],[-3583,637],[-1203,-214]],[[309296,179739],[-2314,-31],[-659,870],[-2149,-578],[-3916,1864],[3356,866],[-469,2753],[934,1521],[421,-2130],[-694,-110],[1280,-2214],[1186,435],[1358,-1491],[580,893],[-2622,1763],[-446,2062],[2212,1665],[-790,864],[-1260,-497],[-1027,1255],[2672,4235],[920,-1043],[1492,88]],[[291370,215386],[-1109,-2334],[-314,2042],[1423,292]],[[292868,216836],[-988,-204],[-764,3862],[1030,736],[722,-4394]],[[692179,213769],[973,802],[366,-1722],[1815,1223],[654,-847],[-471,-1377],[-1307,505],[-376,-838],[1464,-553],[-645,-741],[-2561,1059],[-1028,-720],[-37,3468],[799,2426],[354,-2685]],[[290249,215820],[-391,1050],[251,3053],[470,303],[647,-3572],[-977,-834]],[[291514,206740],[-1095,-280],[340,1964],[1252,-581],[-497,-1103]],[[293121,213543],[-329,-5088],[-1015,2806],[-294,-1892],[-1344,362],[1288,3087],[-272,1106],[1085,2241],[630,-293],[251,-2329]],[[293575,234020],[-1047,171],[1054,2902],[-7,-3073]],[[295179,241703],[-688,-593],[711,-3699],[-1033,-1222],[-1441,4013],[1446,1532],[547,1508],[458,-1539]],[[297260,239419],[-1010,-314],[-264,1138],[659,1814],[1232,-1269],[-617,-1369]],[[967067,227084],[268,-1231],[-1997,-1118],[728,3310],[1001,-961]],[[911110,269175],[825,-1352],[-531,-1637],[-941,2321],[647,668]],[[899799,267051],[58,3154],[534,-2192],[-592,-962]],[[882212,292985],[1250,-98],[-1663,-1893],[-1925,247],[-323,1684],[1931,926],[730,-866]],[[980875,260159],[1729,1721],[1569,-181],[-648,-2429],[594,-1843],[-2050,-4606],[-900,-2717],[-1351,-2240],[919,-3080],[-2461,-127],[-2048,-1421],[-856,-4987],[-1205,-4186],[211,-1106],[-992,-415],[-2036,-3618],[-1633,-468],[-1990,150],[-536,1439],[-1408,1004],[-2641,-29],[-607,2288],[1326,1658],[-712,-70],[810,2487],[3725,6172],[1222,534],[5375,6307],[1419,3113],[650,3597],[1456,2073],[358,2948],[1392,2542],[967,-1955],[352,-2555]],[[295074,247915],[-1706,677],[494,2092],[480,6418],[1414,-598],[158,-3377],[-884,-707],[980,-2078],[-936,-2427]],[[902895,263078],[668,100],[2874,-2332],[1867,1014],[1292,-55],[1427,1315],[901,-992],[24,-6475],[-244,415],[-804,-3569],[157,-3464],[-542,-373],[-590,2218],[-628,-479],[-1315,-4065],[-904,615],[-1403,-227],[-136,1013],[-1408,2663],[-802,4122],[882,-732],[-1669,4208],[-748,3930],[201,1828],[900,-678]],[[981302,297748],[1597,-542],[1323,-1306],[723,-3193],[-526,70],[1142,-3174],[-222,-3150],[1603,-901],[675,-1233],[-227,4300],[1154,-2856],[449,-3809],[2034,-1712],[1572,-600],[1870,2583],[1464,-813],[-746,-5090],[-810,-1013],[-187,-3065],[-1392,939],[-1260,-1697],[433,-1811],[-744,-2871],[-2387,-6253],[-1869,-2354],[-401,1145],[-1473,758],[1465,3956],[254,1969],[-680,1997],[-2986,2625],[-356,2012],[1644,1226],[554,1052],[327,3314],[591,2495],[-950,4187],[-1103,3587],[591,-649],[-25,2144],[-1320,1314],[77,-934],[-2301,5750],[205,1120],[-1346,3324],[716,-474],[848,-2367]],[[989070,274777],[-712,800],[-39,-1605],[751,805]],[[814396,350367],[-607,1599],[50,1558],[557,-3157]],[[925214,352158],[-109,3303],[566,1604],[301,-833],[-758,-4074]],[[970372,392507],[-965,408],[435,1423],[530,-1831]],[[956117,384770],[648,-214],[2100,-2884],[1308,-2951],[1780,-2193],[1775,-2683],[-468,-1694],[-1659,1700],[-224,785],[-2372,2554],[-874,1396],[-2105,4796],[91,1388]],[[654992,378293],[-1207,389],[-143,2190],[974,-13],[376,-2566]],[[965001,379352],[-1022,1410],[476,1475],[546,-2885]],[[660142,383355],[-745,-111],[7,1630],[752,1414],[377,-1319],[-391,-1614]],[[995222,401798],[865,-1656],[211,-2544],[-1411,-1003],[-868,-28],[-1461,1051],[-159,1268],[983,2383],[1840,529]],[[85218,399912],[-715,-265],[-90,1205],[805,-940]],[[967903,400788],[220,-1515],[-1018,519],[798,996]],[[967490,407932],[-1022,639],[653,871],[369,-1510]],[[999997,408927],[-1056,-2128],[-142,-1301],[1007,1350],[-8,-1333],[-1412,-367],[-603,556],[-1377,-1561],[-581,1115],[2929,3187],[1243,482]],[[967907,405311],[-737,-148],[49,1245],[688,-1097]],[[887521,406531],[-968,-999],[370,1625],[598,-626]],[[292158,198837],[809,-2144],[-889,-1651],[-704,2853],[784,942]],[[336527,200971],[2427,-678],[384,-1926],[-2348,-1344],[85,-965],[-1508,483],[-555,-1720],[-487,2267],[1420,1421],[582,2462]],[[332538,199833],[2828,204],[-1815,-3211],[-2125,-1297],[-764,777],[2009,1690],[-917,2454],[784,-617]],[[937461,461289],[-1069,40],[-1789,3604],[61,629],[1731,-2063],[1066,-2210]],[[816234,462622],[-1038,-670],[-1196,39],[-873,824],[395,1024],[3074,159],[-362,-1376]],[[609712,468136],[213,-1261],[-916,666],[-142,2038],[324,1239],[521,-2682]],[[873713,466550],[-503,-2207],[-824,269],[302,3514],[1025,-1576]],[[359296,503937],[-758,-1160],[-191,1316],[949,-156]],[[840680,473499],[-1007,-298],[240,3272],[925,881],[161,-1868],[-319,-1987]],[[856320,482947],[-826,-571],[106,1008],[720,-437]],[[852391,486423],[1017,-1796],[7,-1434],[-1509,-1129],[-1412,1447],[-421,2423],[2318,489]],[[860429,487739],[1734,-732],[1336,-3442],[-152,-1703],[-2182,2269],[-489,875],[-1044,-747],[-1990,904],[-923,-684],[-798,1532],[-587,-2065],[-118,1682],[890,2109],[3414,447],[909,-445]],[[924903,476538],[-792,1528],[-227,2983],[-1129,2898],[-3795,4698],[-2,829],[3762,-4961],[2325,-4120],[322,-1463],[-464,-2392]],[[823064,481800],[-583,-1101],[-209,2098],[275,2135],[424,524],[93,-3656]],[[933215,465101],[-662,-1042],[-1043,836],[-394,2453],[-1167,1996],[-146,3118],[1012,-1043],[1036,-3108],[989,-1396],[375,-1814]],[[874296,470906],[25,-2747],[-874,-973],[-800,1869],[1286,3441],[363,-1590]],[[929575,472530],[-298,1907],[520,-634],[-222,-1273]],[[911181,470199],[-679,1180],[820,-136],[-141,-1044]],[[869239,469751],[523,3503],[14,-1573],[-537,-1930]],[[610736,475651],[-34,-2071],[-573,-669],[74,2616],[533,124]],[[839007,472500],[-651,1077],[437,1070],[214,-2147]],[[921986,479261],[561,501],[801,-761],[-16,-2314],[-395,-1325],[-679,-290],[360,-2092],[-771,-1232],[-973,73],[-794,-2176],[-2224,-2112],[-2155,-83],[-751,1258],[-710,-295],[-2015,2149],[-157,1304],[1817,357],[683,-523],[1994,742],[229,2446],[170,-2335],[535,-632],[1817,662],[1038,2747],[957,456],[-353,3461],[1031,14]],[[842164,477754],[-552,-3760],[615,-520],[-1083,-2356],[-631,750],[504,1982],[501,4547],[646,-643]],[[917878,488947],[-752,10],[-567,1104],[738,531],[581,-1645]],[[277412,487103],[-256,1303],[874,163],[-618,-1466]],[[908520,493104],[924,-385],[-538,-929],[-1833,-158],[305,1390],[1142,82]],[[778958,485860],[-614,1162],[115,1206],[499,-2368]],[[800575,486958],[-639,-1329],[-331,803],[-677,-729],[143,3810],[1135,-182],[600,-1380],[-231,-993]],[[778344,488478],[-525,-466],[-9,1833],[534,-1367]],[[777341,490836],[-656,507],[221,1150],[435,-1657]],[[850152,490195],[-534,2216],[361,387],[173,-2603]],[[876315,495287],[2021,-375],[1920,-857],[-1845,-557],[-2058,1335],[-38,454]],[[862092,494702],[182,-1665],[-475,-452],[-1418,1072],[1711,1045]],[[850066,494114],[854,-196],[-2497,-684],[245,814],[1398,66]],[[847137,494613],[974,-620],[-2507,-1155],[-103,1882],[1636,-107]],[[855980,494879],[-1643,-402],[-471,495],[707,1851],[1407,-1944]],[[794571,494827],[889,-4713],[1257,-643],[-574,-1908],[153,-1045],[-1856,1463],[-591,3813],[-1814,822],[1257,3056],[901,129],[378,-974]],[[846913,510614],[-1282,-3109],[-1872,-978],[-1356,125],[-508,943],[-3446,-291],[-1156,345],[-1147,-315],[-868,432],[-976,-388],[-616,-1674],[-317,-2150],[234,-2688],[1167,-2307],[416,-1959],[1018,-216],[1349,3264],[1251,-460],[862,1044],[1691,11],[785,1093],[579,-461],[-5,-2107],[-913,781],[-672,-556],[-836,-2261],[-2188,-3051],[-1029,-493],[1389,-2284],[1528,-5150],[-404,-2487],[1734,-2894],[56,-1422],[-2176,-1132],[-113,-1490],[-1347,190],[-283,1057],[365,2893],[-1956,3181],[390,2304],[-178,2943],[-935,15],[-1110,-2282],[507,-3877],[-206,-2242],[160,-3149],[-391,-3133],[419,-2636],[-1329,80],[-651,-686],[-948,1591],[655,5931],[33,2307],[-566,3311],[-1181,-368],[-506,2257],[-80,2320],[857,1671],[638,3278],[-36,3089],[552,2971],[566,1339],[369,-1073],[-340,4582],[929,4627],[738,1722],[541,-982],[1098,2793],[1467,-441],[421,-868],[2347,-295],[1265,-996],[1071,462],[1581,-532],[1186,1090],[1988,4022],[679,-1179],[-958,-3002]],[[842256,497778],[70,-1292],[859,308],[-860,-1420],[-241,1615],[-723,-1675],[49,2398],[846,66]],[[246466,504866],[1312,-4604],[-294,-1117],[-1294,-453],[-241,1287],[937,1426],[-690,1611],[270,1850]],[[775454,494184],[-804,677],[-757,2759],[742,1672],[1106,-4219],[-287,-889]],[[804750,497722],[-785,-359],[134,1516],[651,-1157]],[[876063,500858],[1418,-441],[1338,-2182],[-736,-728],[-754,578],[-1266,2773]],[[863893,496923],[-610,356],[-303,1752],[1113,-50],[-200,-2058]],[[356020,496222],[796,4646],[811,642],[259,-743],[-321,-2103],[-1545,-2442]],[[362142,503359],[1422,389],[1469,-403],[579,-718],[-445,-2655],[-1081,-4037],[-677,412],[-170,-1107],[-758,522],[-829,-1652],[-1952,14],[-765,4607],[383,4370],[1103,926],[1721,-668]],[[249070,500146],[-577,563],[758,1137],[-181,-1700]],[[854352,502828],[105,-1727],[765,-1175],[-1161,15],[-381,2786],[672,101]],[[790205,502734],[322,-781],[-630,-1138],[-295,1157],[603,762]],[[863369,504693],[1288,-863],[-54,-1280],[-700,30],[-1065,1628],[185,-1249],[-1255,516],[161,640],[1440,578]],[[943750,449782],[612,-952],[1066,69],[1290,-2614],[-2681,423],[-644,1535],[357,1539]],[[918134,449344],[722,-423],[293,-1478],[-1271,254],[256,1647]],[[917625,448471],[-654,782],[584,579],[70,-1361]],[[919668,445353],[599,376],[-182,-1410],[-755,605],[-508,2272],[846,-1843]],[[833367,449176],[774,-1617],[591,-155],[913,-2154],[-1093,-1519],[-817,556],[-1511,2527],[-1433,394],[-351,1111],[630,800],[2297,57]],[[923974,451638],[933,-1480],[-685,253],[-248,1227]],[[946525,455461],[690,-1766],[-148,-1107],[595,-965],[453,-3719],[-1245,2564],[-770,4909],[425,84]],[[847805,449005],[-589,-957]],[[847216,448048],[-1585,-3456],[-1583,-1156],[-593,193],[-152,2040],[333,2085],[744,1433]],[[844380,449187],[613,692]],[[844993,449879],[1049,597]],[[846042,450476],[873,1108]],[[846915,451584],[381,648]],[[847296,452232],[420,1251],[1740,923],[2265,193],[963,852],[915,-645],[-1058,-1722],[-1479,-1436],[-2707,-1885],[-550,-758]],[[828450,455439],[2071,-118],[394,-1958],[-1809,-1116],[-277,1078],[-524,-983],[-3135,-1532],[-759,549],[130,2808],[916,979],[1117,-351],[664,-1687],[1191,707],[-1167,1480],[-165,1141],[1006,161],[347,-1158]],[[824001,453685],[-732,-1867],[-1396,611],[561,479],[-44,1822],[947,1382],[924,-1083],[-260,-1344]],[[937191,453094],[-491,880],[464,854],[27,-1734]],[[841063,453697],[-1913,-788],[-1230,-912],[-658,496],[-1054,-714],[-1346,792],[-1782,-330],[25,2443],[1923,1213],[2317,-1999],[1450,726],[823,-1005],[1988,2802],[76,-1050],[-619,-1674]],[[820688,456402],[712,-1494],[-1029,-1234],[-271,-1078],[-1095,2187],[-636,296],[-383,1535],[2702,-212]],[[844234,455707],[-1032,-1744],[-897,215],[1516,2015],[413,-486]],[[845239,455369],[-613,-1316],[-262,1170],[875,146]],[[846042,456487],[1526,-379],[-78,-877],[-1812,-544],[364,1800]],[[938231,455887],[155,-2192],[-726,2027],[-904,-266],[558,1956],[917,-1525]],[[944108,454156],[-2598,2924],[-1351,2939],[769,-353],[1042,-1774],[2038,-2508],[100,-1228]],[[885819,455018],[-923,472],[648,802],[275,-1274]],[[935243,457777],[-352,2068],[689,-882],[-337,-1186]],[[852224,459289],[-914,-1674],[-1010,394],[-861,-596],[492,1903],[661,-257],[1100,799],[532,-569]],[[884820,455700],[-665,-779],[-1690,-39],[-7,886],[895,3677],[800,1203],[1317,285],[610,-1811],[-564,-2151],[-696,-1271]],[[798260,469125],[814,-1233],[1745,-292],[1063,-3113],[4857,-929],[863,2814],[653,217],[506,-1382],[1072,123],[1520,-1452],[1255,-197],[709,-2239],[0,-1469],[1261,-982],[2284,505],[1038,-1556],[-159,-3019],[546,-2159],[-3695,2861],[-1596,-726],[-3247,617],[-2508,922],[-1579,1534],[-2103,1100],[-1501,224],[-804,-770],[-1484,432],[-1757,1495],[-2305,611],[178,1865],[-2877,1613],[843,1923],[226,2018],[574,1198],[2084,-1092],[614,1151],[910,-613]],[[864792,457323],[-664,798],[481,2337],[1065,2120],[-51,-3042],[-831,-2213]],[[890964,489271],[993,-25]],[[891957,489246],[3074,-2798],[1926,-1404],[1677,-655],[1409,-2089],[1283,-246],[1695,-3103],[685,-214],[1201,-2594],[-60,-3432],[1828,-1269],[1753,-1793],[951,-187],[1181,-2160],[121,-2056],[-2018,-351],[-440,-1227],[637,-2662],[1484,-2952],[1118,-1346],[334,-2670],[567,-832],[367,-2116],[1846,-114],[-124,-1990],[758,-1074],[1382,-431],[-589,-858],[313,-1227],[2203,-1447],[-614,-297],[558,-1248],[-909,-811],[-842,459],[-729,1329],[-3808,993],[-1707,683],[-1002,2343],[-1087,1699],[-147,1945],[-743,202],[-1842,5623],[-846,734],[-2097,891],[-304,1009],[-985,381],[-790,-1170],[-909,539],[123,-1601],[-1178,-336],[265,-1183],[-1441,-656],[-1074,231],[1120,-1198],[780,-1939],[-72,-943],[-1998,-2173],[-1160,934],[-3045,-303]],[[892036,450086],[-580,807]],[[891456,450893],[-2749,5829],[-1526,-521],[-1471,261],[645,3305],[-945,1989],[835,302],[-1245,1717],[734,310],[-1183,3050],[-396,2337],[-639,1618],[-15,1249],[-2698,3204],[-1307,626],[-1776,1705],[-2178,475],[-1226,1513],[-132,1425],[-1223,53],[-812,758],[-891,2687],[-1124,-4135],[-778,-193],[-596,2317],[322,905],[-329,1518],[-2167,2999],[721,641],[1373,-645],[1293,2081],[1161,-646],[822,925],[48,1712],[-2665,-1011],[-1819,180],[-789,1492],[-259,2552],[-1768,985],[-827,-187],[726,3374],[1519,898],[901,1479],[1379,565],[2355,-2176],[1394,-108],[757,-3354],[-393,-2432],[139,-2809],[845,-3775],[465,1751],[208,-2351],[392,145],[538,-2513],[1249,-70],[2102,4515],[407,1835],[1259,448],[910,1020],[-131,1094],[1895,2119],[2344,-1824],[3166,-3302],[2314,-577],[347,-956]],[[897718,433893],[-190,-2068],[809,-1993],[514,-4761],[-106,-1763],[577,-3600],[571,-676],[1420,1368],[486,-1543],[1777,-2670],[-45,-3161],[518,-3435],[-89,-2071],[1322,-3935],[622,-3347],[-260,-3778],[836,-1664],[-101,-1703],[512,-1408],[2604,-1773],[1381,-2909],[1902,-1635],[790,-1990],[-559,-587],[1448,-3229],[692,-2687],[394,-4022],[1052,-1736],[282,2288],[1291,-2338],[620,-101],[220,-5225],[1827,-3284],[1116,-1117],[630,-2350],[907,-1214],[551,-2367],[720,-1363],[18,-1520],[680,-1632],[-224,-2013],[91,-5276],[1274,-6198],[80,-3637],[-712,-2583],[-211,-3567],[-672,-3974],[-240,-5163],[-1068,-3619],[-247,-2331],[-1826,-2737],[-1448,-4028],[-32,-2048],[-889,-2194],[-750,-5218],[-341,-216],[-1034,-3669],[-653,-5995],[-76,-4047],[-1762,-1621],[-2878,-169],[-1071,-613],[-1337,-1688],[-1496,-2633],[-1568,-215],[484,-833],[-185,-1808],[-671,1658],[-2115,1957],[-290,1764],[-925,-1559],[445,2426],[-636,1134],[-1376,-1404],[748,-433],[-1565,-1495],[-1563,-2124],[-2575,2187],[-2463,1068],[-836,-546],[-1148,1698],[-1066,288],[-2342,4636],[204,3458],[-859,3350],[-1609,3057],[622,1383],[-1864,-1749],[-937,176],[907,3486],[-59,1545],[-1113,3518],[-1104,-5766],[-2245,-573],[363,1919],[1047,15],[285,4456],[1217,3448],[-221,2242],[390,631],[-560,1605],[-969,-2194],[-569,-2582],[-2241,-2373],[-1500,-3738],[300,-1676],[-975,25],[-1158,2132],[609,-8],[-735,3995],[-824,1661],[-271,1766],[-1361,967],[-558,2467],[372,1186],[-1897,2166],[-942,-5],[-1263,1348],[-1508,-302],[-1371,1842],[-1604,1188],[-1002,-641],[-1814,147],[-3288,-732],[-2440,-2155],[-2078,-1171],[-3896,-195],[-3219,-3470],[-1756,-1461],[-1322,-4189],[-1229,-900],[-1195,578],[-1741,-599],[-249,696],[-1823,282],[-2740,-808],[-1568,-68],[-1121,-2332],[-1542,-661],[-2111,-3003],[-1537,-658],[-2959,651],[-1472,1143],[-724,1593],[-1994,1601],[-40,4387],[521,-759],[927,664],[466,2005],[43,8877],[-1449,5252],[-507,3507],[-98,4636],[-919,3329],[-252,1948],[-1035,2739],[-380,4344],[-885,2960],[-1046,2550],[156,1847],[535,-2681],[753,1339],[-733,1383],[-538,2283],[883,-696],[1048,-3335],[348,617],[-4,2595],[-1510,5181],[-703,3207],[376,4164],[567,1864],[105,2338],[-311,2286],[765,4139],[459,654],[50,-3877],[655,839],[626,2366],[712,1222],[1659,1447],[1541,2733],[1933,2231],[1943,-400],[2202,2049],[1534,671],[981,1581],[1337,-255],[1695,763],[1896,1448],[837,1109],[871,2201],[945,3729],[1465,2606],[-344,406],[-214,3880],[755,2034],[801,1082],[695,2079],[476,-2525],[1169,-3898],[153,3037],[445,832],[-800,2235],[664,1766],[361,-1124],[752,613],[902,-334],[340,1312],[-542,2106],[161,1568],[863,1234],[868,-930],[-622,1668],[650,761],[785,-519],[-491,2400],[1114,1372],[863,-798],[815,3649],[1071,-942],[927,2470],[2137,-2672],[1464,-3298],[-361,-3423],[514,184],[-221,1513],[840,1511],[1613,-571],[438,-1634],[143,1711],[1021,-1590],[6,1711],[588,130],[-417,1503],[-889,1084],[920,2443],[359,2412],[1169,1604],[-255,2042],[1262,3119],[681,-752],[18,1130],[1160,1774],[407,-1239],[2264,538],[439,-646],[608,1540],[123,2288],[-553,933],[-949,-55],[-894,1359],[1253,399],[1166,-1786],[951,312],[445,-1498],[1997,-748],[924,-1041],[1371,137],[1355,-1405],[1957,2345],[-611,-1929],[653,-4],[897,-1668],[26,1789],[751,1031],[1131,-2324],[-1140,-2574],[-212,-2612],[-463,518],[-1019,-986],[173,-2997],[-295,-2031],[-1328,-3585],[348,-1436],[1874,-2387],[239,-987],[1148,-683],[2775,-3245],[1504,-2875],[2125,-1072],[662,-2544],[2188,-2215],[1320,462],[886,1245],[377,2369],[703,2183],[536,3416],[110,2750],[483,3251],[-286,3475],[200,1879],[-339,2105],[481,3189],[-89,1871],[852,832],[-644,2678],[730,2694],[603,5627],[800,1417],[1057,-3552],[99,-3048],[851,-789]],[[858420,409078],[-1074,-97],[-319,-2064],[567,-1663],[189,2004],[637,1820]],[[637606,431064],[1109,-3794],[656,-5734],[171,-4098],[687,-3872],[-760,-3406],[-879,2979],[-674,-648],[174,-3021],[329,-1060],[-177,-3313],[-633,-1291],[-284,-1859],[113,-3269],[-2419,-15161],[-712,-5281],[-1229,-6617],[-973,-8346],[-1057,-5407],[-1247,-2148],[-1583,-477],[-1807,-1972],[-1092,119],[-839,1238],[-1298,640],[-862,1365],[-966,3779],[-115,3649],[211,1258],[-901,3811],[-365,4959],[654,4105],[829,1050],[308,1857],[912,2880],[459,2711],[122,2923],[-583,2094],[-16,1982],[-536,2678],[-169,5314],[1228,4081],[152,2877],[1203,253],[716,1135],[1198,-57],[283,1058],[1754,594],[1529,2868],[418,-1144],[167,1615],[963,2647],[237,-1712],[797,2650],[-106,1037],[617,2426],[123,2158],[599,-730],[1503,2678],[316,1964],[-344,2755],[1169,2318],[920,-2088]],[[965034,409358],[1178,-2096],[-1076,-624],[-694,3969],[592,-1249]],[[963182,416876],[179,-1958],[737,1314],[344,-3259],[-1226,-862],[-641,4627],[607,138]],[[623545,433141],[79,-1630],[-791,1097],[712,533]],[[879762,422936],[499,-2898],[-1552,482],[248,2055],[805,361]],[[620738,434208],[-665,886],[462,2033],[203,-2919]],[[946044,434821],[-1591,1293],[-9,638],[1600,-1931]],[[862386,435524],[408,-814],[-1319,-47],[60,2056],[517,832],[334,-2027]],[[862828,437320],[1124,247],[681,856],[751,-1463],[-222,-895],[-1411,-2006],[-1219,1829],[-398,2387],[694,-955]],[[926487,436727],[-435,-494],[-488,1395],[923,-901]],[[841524,440086],[-287,873],[1460,1700],[130,-1045],[-1303,-1528]],[[949208,443178],[1084,-394],[743,-2189],[-694,-7],[-1626,1529],[-647,2145],[1140,-1084]],[[362655,504051],[-1073,110],[1194,895],[-121,-1005]],[[791051,503675],[-922,-79],[267,1226],[655,-1147]],[[361838,506306],[-280,-1548],[-1390,216],[185,1116],[1485,216]],[[518498,505431],[-531,633],[607,1049],[-76,-1682]],[[359927,505541],[-549,-502],[758,3125],[-209,-2623]],[[770781,513396],[1251,-2909],[-154,-2047],[-534,-192],[-1680,4913],[1117,235]],[[786187,509140],[-1594,847],[265,1426],[1329,-2273]],[[786573,509872],[-1291,1088],[245,662],[1046,-1750]],[[790514,511922],[-28,-2276],[-593,2071],[621,205]],[[784519,510583],[-552,2119],[596,-673],[-44,-1446]],[[784699,513362],[21,-760],[-1169,993],[-101,752],[1249,-985]],[[768033,535698],[974,267],[1957,-406],[1002,-1931],[945,-2757],[164,-1906],[3958,-5390],[2014,-5485],[1195,-1831],[-164,1744],[605,87],[1196,-3342],[856,-425],[1034,-2148],[867,-2841],[1056,-378],[602,-1324],[-1434,-1633],[2019,1648],[562,-85],[855,-2567],[-995,-1414],[7,-2025],[805,-2092],[1777,-899],[430,-4627],[916,-1621],[-491,-1733],[187,-1098],[806,1264],[1545,-797],[1284,-3639],[-397,-1800],[81,-2506],[-277,-1954],[156,-5016],[-197,-3951],[-549,-729],[-748,1481],[-744,-1161],[-1228,1334],[-105,-2276],[-2140,4887],[-2534,3608],[-1060,1887],[-1138,3276],[-1525,2560],[-1278,3432],[-751,2629],[20,1242],[-1025,3763],[-495,2800],[-1245,3038],[-729,2466],[-1219,1477],[-1006,6771],[-645,2414],[-2399,2703],[-305,2893],[-554,762],[-1174,3554],[-1456,1429],[-2639,5599],[-801,3096],[527,2043],[1237,-678],[811,-1304],[997,-385]],[[854812,509742],[412,-95],[768,2870],[1475,1516],[39,-2761],[-1121,-1360],[-106,-849],[974,-1088],[801,-1977],[-2546,1514],[-267,-1027],[251,-3239],[767,-2863],[-576,151],[-985,2750],[48,3140],[-426,1194],[145,2124],[-521,2392],[588,3506],[1124,2105],[-416,-2169],[347,-2969],[-997,-1883],[222,-982]],[[826676,529600],[-104,-224]],[[826572,529376],[-280,-510],[866,-2292],[-1682,-298],[502,-2638],[716,-766],[1268,-4423],[-771,-1724],[809,-1926],[1551,-2268],[961,-1995],[-1250,-999],[-940,360],[-792,1329],[33,-1584],[-494,-602],[-619,-2925],[-165,-3316],[277,-2649],[-895,-918],[-2680,-5089],[413,0],[292,-4300],[-491,-65],[-265,-3584],[-836,-2775],[-3508,-3405],[-466,4698],[-221,-623],[-1011,1202],[-795,-1050],[-516,1543],[-742,-301],[-859,1855],[-174,-1503],[-1030,-1264],[-876,471],[-1286,-1253],[2,2816],[-1264,732],[-1216,-814],[-989,1064],[-754,-556],[-633,6154],[-319,496],[165,2749],[-644,2296],[-1434,1654],[-415,2767],[377,1755],[-869,1922],[-108,2597],[472,4157],[841,2529],[696,622]],[[804524,516729],[987,-1836],[1014,12],[2081,-1888],[471,4377],[-72,1754],[559,-322],[0,1497],[790,1301],[2804,1284],[854,797],[1115,3173],[1328,2978],[360,2071]],[[816815,531927],[345,-11]],[[817160,531916],[1018,792],[1253,1764],[87,-727]],[[819518,533745],[315,0]],[[819833,533745],[652,196],[575,1549],[-452,1297],[513,1127],[536,-398],[949,3515],[990,2323],[708,2699],[454,-1881],[598,1832],[459,-1730],[978,-1204],[-79,-3157],[1074,667],[310,-1131],[1331,-1602],[1746,-1063],[-253,-1849],[-1278,-809],[-1143,147],[-209,-950],[1046,-1933],[-178,-828],[-1360,-665],[-742,518],[-382,-815]],[[190458,968527],[-4765,717],[7618,2063],[2826,-2488],[-5679,-292]],[[232764,969972],[3660,-1102],[-556,-2089],[-5284,-1107]],[[230584,965674],[-3516,3693]],[[227068,969367],[120,2224]],[[227188,971591],[5576,-1619]],[[785790,974253],[-1312,-2479],[3501,1864],[4092,-1962],[463,-1890],[-4426,-1432],[-6987,-393],[-3116,-1285],[-2208,374],[4412,4417],[890,2493],[3018,1337],[1673,-1044]],[[771316,979611],[-62,-2356],[2624,1727],[4069,-1630],[-1727,-5585],[-5233,-46],[-7679,1540],[-1590,1871],[-3189,551],[5324,3564],[7463,364]],[[215066,972034],[2424,1181],[5817,-2936],[-394,-1660]],[[222913,968619],[1625,-2642]],[[224538,965977],[-3944,205]],[[220594,966182],[-1356,1790],[-4603,1051]],[[214635,969023],[-4425,-602],[-1865,1475]],[[208345,969896],[3420,6]],[[211765,969902],[-1076,2786]],[[210689,972688],[-1849,-1082]],[[208840,971606],[-1995,1335],[411,1725]],[[207256,974666],[6871,-549],[939,-2083]],[[244762,985385],[3451,-3194]],[[248213,982191],[8245,-1313]],[[256458,980878],[-687,-1627]],[[255771,979251],[2624,-1204],[-882,-1861]],[[257513,976186],[4576,185]],[[262089,976371],[995,-2388]],[[263084,973983],[-6467,-3153]],[[256617,970830],[-3122,-546]],[[253495,970284],[-137,-2320]],[[253358,967964],[-3461,2456]],[[249897,970420],[1472,-2391]],[[251369,968029],[-6645,199]],[[244724,968228],[-6288,4486]],[[238436,972714],[7831,2173]],[[246267,974887],[-4106,527]],[[242161,975414],[-6338,-948]],[[235823,974466],[-4639,5012]],[[231184,979478],[5909,-516],[-4783,1448]],[[232310,980410],[2276,435]],[[234586,980845],[-1622,1924],[6125,-783]],[[239089,981986],[-4409,1652]],[[234680,983638],[680,964],[7938,1644]],[[243298,986246],[1464,-861]],[[451076,977642],[-3846,679],[4238,522],[-392,-1201]],[[225579,978561],[-137,-1445],[-3477,1075]],[[221965,978191],[1004,1336],[2610,-966]],[[757453,976808],[-4327,1302],[834,855],[6603,-857],[-3110,-1300]],[[658551,980752],[4,-1518],[-3767,60],[3763,1458]],[[375376,991018],[-5243,1567],[980,2038],[4581,-1724],[-318,-1881]],[[558049,980153],[3866,-1188],[5578,1843],[7120,-1187],[938,-1501],[-4326,-2983],[-4704,-1237],[-3006,1289],[-5568,-83],[-3296,1145],[3082,933],[-5720,72],[-1304,998],[3022,1109],[753,2051],[3565,-1261]],[[639661,984167],[3960,-1420],[-7799,-1886],[226,-1224],[-3736,-300],[-2745,1116],[10094,3714]],[[768129,985046],[3624,-1644],[-1824,-3301],[-9173,-1369],[-6524,2065],[4830,2564],[-548,1168],[7598,1730],[2017,-1213]],[[660989,979403],[-2448,2197],[3904,-173],[-1456,-2024]],[[631783,983731],[-3613,-2411],[-3435,975],[7048,1436]],[[672688,983619],[-3102,-2466],[-4852,610],[799,1748],[7155,108]],[[651996,985285],[8265,-1918],[-5505,-918],[-4572,1045],[1812,1791]],[[676038,982821],[-2371,721],[6338,2224],[1765,-1579],[-5732,-1366]],[[662839,984844],[660,-1553],[-4580,1408],[3920,145]],[[660583,987833],[-998,-2432],[-4817,313],[5815,2119]],[[57298,634654],[-1158,649],[1215,1053]],[[57355,636356],[-57,-1702]],[[270661,632517],[-809,-757],[-637,2059],[1022,586],[424,-1888]],[[272673,641945],[1831,-612],[1468,257],[2704,-2133],[1113,-1987],[1637,-242],[2916,-3373],[388,440],[2360,-3479],[2921,-1717],[-130,-1547],[2112,-491],[1026,-1577],[960,-547],[-237,-1259],[-2883,-1105],[-2411,572],[-4324,-795],[449,1343],[1249,1927],[-349,1400],[-2132,424],[-1371,2005],[-405,2736],[-518,612],[-1017,-391],[-2003,1124],[-1636,1901],[-1285,-63],[-2374,873],[-726,1111],[891,468],[-407,1258],[-2318,61],[-1782,-2763],[-1448,-313],[-362,-1345],[-1310,-989],[490,1766],[-97,1805],[879,1701],[2186,1786],[3212,1321],[733,-163]],[[241809,926906],[-91,-2428]],[[241718,924478],[2771,-3358]],[[244489,921120],[20,-1462]],[[244509,919658],[-2531,-2195]],[[241978,917463],[2711,-811],[3769,-159]],[[248458,916493],[-1896,-1297]],[[246562,915196],[2137,-2499]],[[248699,912697],[-293,-2305]],[[248406,910392],[1025,-1287],[1495,4485]],[[250926,913590],[1694,1491],[2820,-2692],[523,-3228],[-1372,126],[420,-3095]],[[255011,906192],[2581,-3447]],[[257592,902745],[2028,1968]],[[259620,904713],[1623,3296]],[[261243,908009],[1207,4132]],[[262450,912141],[1821,1802],[-1457,935]],[[262814,914878],[-79,3659],[3260,-87]],[[265995,918450],[1601,-800]],[[267596,917650],[3587,-343],[-1058,-874]],[[270125,916433],[3962,-2218]],[[274087,914215],[-1748,-1400]],[[272339,912815],[1879,-1341]],[[274218,911474],[-3531,-1249]],[[270687,910225],[1600,-3463]],[[272287,906762],[1962,-2382]],[[274249,904380],[-548,-2311],[-3261,-2857]],[[270440,899212],[-2449,-1296]],[[267991,897916],[-1103,1838],[-2571,2071]],[[264317,901825],[2833,-4376]],[[267150,897449],[-1813,-656]],[[265337,896793],[-2677,2121]],[[262660,898914],[-3309,-35]],[[259351,898879],[1640,-3014],[-3468,-3956],[-1884,-35],[-4943,3478]],[[250696,895352],[-3500,176],[3393,-1357],[2261,-2301]],[[252850,891870],[5407,-890]],[[258257,890980],[-703,-2203]],[[257554,888777],[-2293,-3809]],[[255261,884968],[-1977,-1132]],[[253284,883836],[-3751,-80]],[[249533,883756],[-215,-1996],[-1945,-320],[-2489,650],[3041,-2050]],[[247925,880040],[-345,-2403],[-1605,-840]],[[245975,876797],[-2534,90],[981,-1652]],[[244422,875235],[-1510,36]],[[242912,875271],[66,-2240]],[[242978,873031],[-2928,-1341]],[[240050,871690],[750,-1036]],[[240800,870654],[-2080,-2662]],[[238720,867992],[-21,-1061],[-1607,-4281]],[[237092,862650],[-386,-2742],[-7,-4061]],[[236699,855847],[319,-2357]],[[237018,853490],[1073,-913]],[[238091,852577],[-125,-2480]],[[237966,850097],[767,2741]],[[238733,852838],[2161,-22]],[[240894,852816],[2329,-8777]],[[243223,844039],[-794,-2022]],[[242429,842017],[4484,1823]],[[246913,843840],[1442,-99]],[[248355,843741],[2226,-1441]],[[250581,842300],[2340,-771]],[[252921,841529],[2426,-2274]],[[255347,839255],[1427,-2435]],[[256774,836820],[5235,-2697]],[[262009,834123],[1710,-1869]],[[263719,832254],[3196,172]],[[266915,832426],[3703,-983]],[[270618,831443],[995,-1986],[-552,-2712],[768,-3188]],[[271829,823557],[-331,-5075]],[[271498,818482],[1914,-3518]],[[273412,814964],[61,-774]],[[273473,814190],[2477,-2833]],[[275950,811357],[499,-2672],[1041,-145]],[[277490,808540],[1081,-979]],[[278571,807561],[1044,3024],[828,-973]],[[280443,809612],[381,-1561]],[[280824,808051],[478,1760],[-685,1399]],[[280617,811210],[1350,3072]],[[281967,814282],[-644,2225]],[[281323,816507],[-1082,6455]],[[280241,822962],[469,729]],[[280710,823691],[-2003,5079],[2100,1089],[2829,2104],[1572,1889]],[[285208,833852],[1874,3270]],[[287082,837122],[363,3553]],[[287445,840675],[-148,2809]],[[287297,843484],[-1622,4963]],[[285675,848447],[-3773,3931]],[[281902,852378],[157,1131]],[[282059,853509],[1939,3002]],[[283998,856511],[96,1753]],[[284094,858264],[1096,715]],[[285190,858979],[55,1456]],[[285245,860435],[-1331,3540]],[[283914,863975],[522,1098]],[[284436,865073],[-1607,-36]],[[282829,865037],[1853,4366]],[[284682,869403],[-1203,1219]],[[283479,870622],[-335,3516]],[[283144,874138],[1932,1287]],[[285076,875425],[4321,-1521]],[[289397,873904],[3253,-620]],[[292650,873284],[2822,1440]],[[295472,874724],[3900,-3689]],[[299372,871035],[2231,-3985],[3176,-535],[511,-1116],[1732,774],[-927,-6315]],[[306095,859858],[629,-1599],[-285,-1975]],[[306439,856284],[783,-23]],[[307222,856261],[-366,-2776]],[[306856,853485],[2936,-271]],[[309792,853214],[669,-2514]],[[310461,850700],[1845,-1100]],[[312306,849600],[2672,1987]],[[314978,851587],[2782,3329]],[[317760,854916],[556,4055]],[[318316,858971],[1319,2706]],[[319635,861677],[1421,-477],[-969,-944]],[[320087,860256],[1347,308]],[[321434,860564],[2066,-4332]],[[323500,856232],[94,-1290]],[[323594,854942],[1756,-2623]],[[325350,852319],[-1433,-1304],[2172,261]],[[326089,851276],[-1036,-2388]],[[325053,848888],[1374,360]],[[326427,849248],[1631,-1734]],[[328058,847514],[-192,-1478],[-1352,-888]],[[326514,845148],[1677,-478]],[[328191,844670],[-351,-790]],[[327840,843880],[1788,-1406],[-105,-1954]],[[329523,840520],[-1919,107]],[[327604,840627],[1770,-2004]],[[329374,838623],[-67,-2163],[1715,-223]],[[331022,836237],[1364,-1026]],[[332386,835211],[413,-1800]],[[332799,833411],[-1180,-2492]],[[331619,830919],[2384,1477]],[[334003,832396],[2116,-949]],[[336119,831447],[602,-1843]],[[336721,829604],[2272,222]],[[338993,829826],[1550,-1809]],[[340543,828017],[-2075,-1304]],[[338468,826713],[-1338,-1782]],[[337130,824931],[-3305,-1274]],[[333825,823657],[-1407,-3367]],[[332418,820290],[2798,2237]],[[335216,822527],[1861,1979],[2011,745]],[[339088,825251],[-733,738]],[[338355,825989],[2156,-387]],[[340511,825602],[780,-2198]],[[341291,823404],[-1090,-1138],[544,-774]],[[340745,821492],[1363,1602]],[[342108,823094],[2030,-901]],[[344138,822193],[867,-2225]],[[345005,819968],[-117,-4172]],[[344888,815796],[403,-2191]],[[345291,813605],[-3558,-4029],[-2204,-189],[-2058,-775]],[[337471,808612],[-1820,-3052]],[[335651,805560],[-2541,-3112]],[[333110,802448],[-3360,-312]],[[329750,802136],[-1208,-580]],[[328542,801556],[-541,763]],[[328001,802319],[-2211,408]],[[325790,802727],[-5979,-155]],[[319811,802572],[-1113,263]],[[318698,802835],[-3408,-641]],[[315290,802194],[-1238,-1292],[-1197,-3822]],[[312855,797080],[-1900,-543],[-2425,-2535]],[[308530,794002],[-2069,-3731]],[[306461,790271],[-2296,918],[2015,-1517]],[[306180,789672],[-362,-1575]],[[305818,788097],[-2223,-4102],[-1561,-2038]],[[302034,781957],[-1700,-646]],[[300334,781311],[-3059,-2827]],[[297275,778484],[-1377,-2793]],[[295898,775691],[-1559,-1400]],[[294339,774291],[178,-929]],[[294517,773362],[-2042,-2022]],[[292475,771340],[3197,2496]],[[295672,773836],[1107,3465]],[[296779,777301],[3496,3685],[1777,736]],[[302052,781722],[2060,1637]],[[304112,783359],[4257,7361]],[[308369,790720],[3962,3441]],[[312331,794161],[3840,2117],[1819,314]],[[317990,796592],[1909,-441]],[[319899,796151],[1596,-1599]],[[321495,794552],[-242,-2954]],[[321253,791598],[-2529,-2381],[-1854,993]],[[316870,790210],[-2160,-986]],[[314710,789224],[2375,-660]],[[317085,788564],[508,-1273]],[[317593,787291],[1847,891],[829,-721]],[[320269,787461],[-581,-2111]],[[319688,785350],[-1130,-1585]],[[318558,783765],[1354,-239],[-206,-1024]],[[319706,782502],[1012,-3836],[1737,-442]],[[322455,778224],[-390,-856],[2121,-1596]],[[324186,775772],[1645,-67],[605,-704]],[[326436,775001],[1465,1460]],[[327901,776461],[1287,-1074]],[[329188,775387],[1280,-2341]],[[330468,773046],[-4118,-2655]],[[326350,770391],[-2201,-1192]],[[324149,769199],[-827,242]],[[323322,769441],[-437,-1166]],[[322885,768275],[-662,939],[-2397,-4604]],[[319826,764610],[-2432,-1819]],[[317394,762791],[-1077,1499]],[[316317,764290],[73,3279]],[[316390,767569],[1610,2165]],[[318000,769734],[-380,163]],[[317620,769897],[3683,3252]],[[321303,773149],[-65,-1013]],[[321238,772136],[2739,1343],[-4291,59]],[[319686,773538],[1662,2730]],[[321348,776268],[-4361,-3630]],[[316987,772638],[-2744,-922]],[[314243,771716],[-701,605]],[[313542,772321],[-185,-2926]],[[313357,769395],[-1799,-588]],[[311558,768807],[-605,-1137]],[[310953,767670],[-1094,730]],[[309859,768400],[-227,-1475],[-1192,1038]],[[308440,767963],[-297,-1992]],[[308143,765971],[-2055,-1928]],[[306088,764043],[-436,491],[-2133,-4651]],[[303519,759883],[-7,-2374]],[[303512,757509],[-863,-2003]],[[302649,755506],[855,-606],[622,-2521]],[[304126,752379],[1425,135]],[[305551,752514],[147,-883]],[[305698,751631],[-1968,-846],[-122,1070]],[[303608,751855],[-1299,-1336]],[[302309,750519],[-615,1812],[-149,-2023]],[[301545,750308],[-2282,-960],[-1832,-39]],[[297431,749309],[-1829,-1560],[-1788,-2452],[-41,-899]],[[293773,744398],[789,-757],[-607,-3565],[-1718,-4294]],[[292237,735782],[-2027,2893]],[[290210,738675],[285,1774],[965,1148]],[[291460,741597],[-1426,-2030]],[[290034,739567],[543,-3247]],[[290577,736320],[990,-3492],[-1557,-5167]],[[290010,727661],[-1114,-2176]],[[288896,725485],[939,4088]],[[289835,729573],[-532,105]],[[289303,729678],[-106,2275],[-896,34]],[[288301,731987],[-146,1414]],[[288155,733401],[731,10]],[[288886,733411],[-652,3495]],[[288234,736906],[1008,1891],[-1523,-1693],[-223,-4105]],[[287496,732999],[130,-2125]],[[287626,730874],[-2186,1904]],[[285440,732778],[-200,-582]],[[285240,732196],[2122,-1790]],[[287362,730406],[793,-1190]],[[288155,729216],[2,-3179]],[[288157,726037],[-965,-204]],[[287192,725833],[910,-1599]],[[288102,724234],[-323,-965]],[[287779,723269],[1111,135],[324,-4366]],[[289214,719038],[-2343,-1292]],[[286871,717746],[2650,-342]],[[289521,717404],[-4,-1498]],[[289517,715906],[-1111,-1735]],[[288406,714171],[-996,914]],[[287410,715085],[-1228,-296],[1282,-1114]],[[287464,713675],[-11,-2922]],[[287453,710753],[-1714,-411]],[[285739,710342],[-1714,-2505]],[[284025,707837],[-491,-2046]],[[283534,705791],[-1328,-131],[-1210,-1146]],[[280996,704514],[-1078,-3193]],[[279918,701321],[-2201,-3349]],[[277717,697972],[-947,-706]],[[276770,697266],[-1416,-2791]],[[275354,694475],[-669,-895]],[[274685,693580],[-487,-3641],[-425,-381]],[[273773,689558],[-173,-2774]],[[273600,686784],[707,-5555]],[[274307,681229],[971,-4407]],[[275278,676822],[1044,-3340]],[[276322,673482],[-873,1609],[249,-2232]],[[275698,672859],[1451,-6955]],[[277149,665904],[514,-3782],[-327,-4090]],[[277336,658032],[-578,-3241]],[[276758,654791],[-1026,-1036]],[[275732,653755],[-1039,-109]],[[274693,653646],[-8,1358]],[[274685,655004],[-699,2748],[-974,901]],[[273012,658653],[-419,2677]],[[272593,661330],[-481,693]],[[272112,662023],[-76,2012]],[[272036,664035],[-620,-123]],[[271416,663912],[-960,3873]],[[270456,667785],[653,1842],[-497,729],[-226,-1423]],[[270386,668933],[-507,756]],[[269879,669689],[508,3791]],[[270387,673480],[25,2380]],[[270412,675860],[-1775,3343],[-1122,2809]],[[267515,682012],[-971,1054]],[[266544,683066],[-941,-1164]],[[265603,681902],[-2600,-1346]],[[263003,680556],[-97,1158]],[[262906,681714],[-1117,1726]],[[261789,683440],[-1941,1375]],[[259848,684815],[-3710,-636]],[[256138,684179],[-614,2384]],[[255524,686563],[-345,-1940]],[[255179,684623],[-2138,287]],[[253041,684910],[-1154,-414],[-744,-1062],[-1769,1264],[-522,-1416]],[[248852,683282],[661,-659]],[[249513,682623],[1216,846]],[[250729,683469],[1064,-2083],[-1018,-1191]],[[250775,680195],[576,-1180]],[[251351,679015],[1383,-1287]],[[252734,677728],[-939,-786],[-1454,2298],[-487,-158]],[[249854,679082],[-446,-1934]],[[249408,677148],[-463,1127]],[[248945,678275],[-1031,-974],[-1498,937],[127,998],[-1802,2243]],[[244741,681479],[-1021,-1654]],[[243720,679825],[-1140,239],[-1402,1077],[-1967,184]],[[239211,681325],[250,991]],[[239461,682316],[-849,-1818]],[[238612,680498],[-1885,-726]],[[236727,679772],[101,1198],[-781,-283]],[[236047,680687],[374,-1965]],[[236421,678722],[-1070,-2410]],[[235351,676312],[-1612,-1917]],[[233739,674395],[-2185,406],[609,-1490]],[[232163,673311],[-1703,-2153]],[[230460,671158],[-707,-2508]],[[229753,668650],[-739,-4166],[424,-3382]],[[229438,661102],[711,-2577]],[[230149,658525],[-218,-2228],[-784,-3382],[-447,-3701],[-527,-10459],[611,-6048],[1434,-5857],[1848,-4415],[463,-3117],[1301,-3490],[1776,-319],[1065,-1103],[700,-2013],[992,121],[1769,1394],[1854,226],[486,847],[2045,617],[474,-1453],[748,-83],[718,995],[-448,1572],[1937,2740],[128,2237],[516,1078],[65,3818],[364,2684],[1481,1571],[2614,827],[2076,1195],[2446,-1000],[340,1034],[845,-1184],[-112,-3179],[-990,-2239],[-684,-2400],[98,-1206],[-710,-1549],[730,-318],[-650,-1369],[438,-382],[-978,-6036],[-564,1513],[68,1863],[-733,-2171]],[[254734,614156],[551,-2078],[-485,-3032],[-115,-5789],[-1061,-2281],[-552,-2116]],[[253072,598860],[807,-749],[26,1103],[1016,-1311]],[[254921,597903],[1695,1071],[1975,-874],[1529,124],[1591,1301],[834,-612],[1417,535],[1150,-1113],[828,122],[1392,-3568],[317,877],[1358,-2223]],[[269007,593543],[-402,-1132],[318,-2737],[-624,-2035],[-431,-4006],[-30,-3870],[-489,-979],[205,-2829],[-412,-968],[492,-1297],[-601,-2026],[628,-2268]],[[267661,569396],[538,-2674],[1861,-4718],[596,-550]],[[270656,561454],[536,-878],[352,-2352],[1288,-440],[1182,-1047],[1434,632],[1976,1912],[1528,2298],[2980,-1135],[1171,-1007],[1968,-3424]],[[285071,556013],[1756,-3888],[-495,3387],[1788,2461],[392,1638],[1378,1095],[-113,1655],[650,5220],[1671,2955],[1084,-715],[149,-1326],[949,3409],[2071,-266],[1644,2467],[1241,1049],[387,1774],[1170,1371],[1256,-502],[347,-1712],[-507,-1093]],[[301889,574992],[-1770,-1729],[996,-4999],[-184,-1673],[-1245,-3722],[978,-2843],[206,-1559],[1080,314],[589,1319],[92,2119],[-927,3305],[-439,3051],[208,1099],[3436,2422],[965,423],[189,1349],[-1043,-281],[-261,1548],[785,1729],[482,-1080],[553,-3055],[1108,229],[1124,-514],[1192,-1604],[719,-3959],[745,-123],[2452,821],[2061,128],[1098,-2218],[2008,-1112],[773,166],[1840,2131],[904,594],[-1209,457],[2226,48],[2206,631],[2286,-52],[-1390,-1150],[-1482,-92],[576,-1175],[-96,-1641],[627,711],[540,-2329],[558,1196],[801,-1492],[673,957],[777,-1549],[1436,-1614],[-724,-1573],[-540,-2932],[-1031,-17],[874,-1108],[1397,1077],[1280,217],[896,-471]],[[333284,555367],[2271,-2812],[1593,-3133],[415,-1304],[-379,-4877],[552,2066],[1201,-387],[2201,-4080],[-13,-3251]],[[341125,537589],[625,2633],[2862,-1170],[309,985],[2763,158],[2165,-1069],[-283,-2660]],[[349566,536466],[858,2508],[1091,-1296],[1542,-820],[2337,-4193],[362,-1666],[395,796],[369,-3017]],[[356520,528778],[293,1479],[909,-1288],[465,-4809],[1038,-6348],[611,-2256],[1394,-1005],[162,-2944],[-1099,-1939],[-1450,-3930],[-1296,-1526],[-337,-1822],[-829,-2189],[-51,-1518],[-832,-2254],[-580,216],[-1208,-1121],[1991,-207],[2923,3845],[-63,-1052],[633,-3830],[797,-1504],[1122,1088],[777,-560],[1126,1153],[-583,-5125],[869,4031],[611,514],[780,2026],[687,-748],[37,2776],[930,2417],[1991,656],[1630,-906],[539,-1131],[1106,-360],[1596,-1875],[516,-50],[360,-2140],[702,1487],[1181,-1655],[316,-1818],[-347,-1900],[631,1216],[-794,-5771],[788,1172],[359,2424],[562,248],[-241,-1873],[722,1339],[1327,483],[208,746],[1232,-527],[1909,-1937],[1037,269],[1549,-1123],[2344,832],[1417,-390],[4135,-5071],[1186,-2956],[1174,-2226],[901,-716],[354,-1181],[1622,-1097],[1696,256],[1195,-446],[873,-2590],[687,-4899],[508,-5301],[-81,-4047],[-898,-5683],[-508,-1778],[-1408,-3208],[-1530,-4216],[-1498,-1993],[-1318,-4010],[-768,-3571],[-1531,-4409],[-720,-666],[-534,1971],[-446,-985],[46,-2116],[-706,-2612],[225,-3039],[-142,-3281],[497,-7164],[-679,-5328],[-251,-3272],[170,-2299],[-924,-1697],[-703,-3848],[111,-3780],[-837,-2749],[-1097,-4903],[-1092,-1994],[-717,-3552],[165,-2457],[-374,-972],[-1620,-1334],[-763,-1606],[-172,-2171],[-2544,-118],[-355,1444],[-384,-1587],[-1783,478],[-2142,-859],[187,-1295],[-1060,-636],[-1424,-2495],[-1411,42],[-2486,-2612],[-750,-1522],[-2054,-2987],[-907,-2483],[-554,856],[-804,-1300],[808,-627],[-400,-1295],[-369,-5255],[344,-2921],[-246,-2144],[61,-3067],[-497,-2961],[-1310,-1753],[-1319,-2915],[-798,-2593],[-739,-3702],[-890,-2796],[-1478,-3452],[-2465,-3759],[-66,1686],[1062,330],[1407,2576],[35,1309],[1311,2457],[120,2768],[-1420,-755],[-850,-4078],[-1413,-1962],[-614,-2972],[183,-1672],[-595,-1612],[-863,-4135],[-1995,-3581]],[[351748,304813],[-1152,-3781],[-1065,-1720],[-2038,-1553],[-2141,931],[-1235,-783],[-2048,1370],[-877,1329],[-1829,-148],[-1586,3347],[102,4325],[781,1710],[-330,2500]],[[338330,312340],[84,-2889],[-705,-902],[-340,-3270],[429,-3137],[-369,-611],[672,-2295],[1444,-1250],[1278,-1741],[402,-1881],[-542,-1270],[247,-2511],[1575,-1673],[72,-2517],[-2010,-5292],[-420,-2021],[-1756,-2074],[-4581,-2384],[-3566,-917],[-1362,-35],[-2145,865],[221,-2313],[670,-773],[-216,-2676],[-432,-414],[-389,-2729],[502,-1888],[-413,-1281],[-1567,-1296],[-2261,-240],[-2999,1993],[-779,-396],[319,-4067],[-113,-2387],[1520,-1779],[-164,-865],[1306,125],[-355,1048],[1203,618],[554,-1733],[-268,-2363],[-1217,-332],[-538,1713],[-906,242],[-1046,-1348],[1966,-1244],[-1851,-1924],[-828,-1993],[125,-2481],[-340,-2539],[-796,-1090],[25,-2053],[-1532,255],[-2087,-1733],[-1709,-4223],[-18,-2223],[2184,-3913],[2162,-521],[724,-1488],[-545,-2854],[345,-678],[-1620,-2377],[-1777,-1691],[-1811,-3667],[-274,-3627],[-1316,-1455],[-1140,2086],[683,-2402],[-1438,-1330],[-726,-3621],[476,-2683],[-919,-671],[1232,-918],[1315,-3804]],[[309879,194532],[-2215,896],[-888,-1280],[-3429,-2057],[-558,-5987],[-839,-617],[-2435,1488],[-365,2243],[1570,125],[1627,2293],[-647,481],[-2973,-2904],[-252,-1222],[-1400,1288],[1047,2929],[3235,851],[-3148,452],[-1327,-3229],[-1452,1405],[1123,769],[-2149,402],[-781,3089],[1281,-689],[417,927],[1519,-309],[1800,2170],[-2483,-1815],[-2259,2307],[741,371],[94,1697],[-2552,1590],[-778,2262],[1136,114],[115,1784],[1262,-2471],[13,1734],[-1234,1726],[822,1300],[119,2195],[1109,-116],[-1319,1322],[-43,3594],[585,2171],[-842,-216],[-306,2754],[2708,30],[-295,2006],[-625,-1623],[-1138,-89],[-845,1433],[1379,3080],[-431,2336],[-463,-578],[-1848,1693],[-1420,-61],[2034,2669],[-395,1687],[2525,640],[334,2069],[590,-172],[-712,-4058],[1074,1612],[-322,-3067],[413,474],[188,3084],[-379,1759],[1468,747],[-674,686],[229,1540],[1732,1446],[209,1764],[-1670,1586],[745,3182],[-290,1045],[620,2411],[258,4425],[985,-785],[-192,2682],[-901,428],[428,1477],[-959,686],[-630,-1405],[-1370,228],[-641,3698],[823,6137],[720,1737],[511,3346],[-850,5081],[188,1934],[-547,2025],[167,3022],[1071,128],[272,2835],[676,1765],[697,4767],[1111,2900],[614,5515],[940,3038],[-218,3303],[419,744],[474,3452],[-668,7212],[-21,4971],[747,1110],[235,2923],[-565,4285],[925,3250],[371,3854],[1128,8282],[-186,3230],[745,3623],[-358,3130],[240,5110],[265,1279],[-543,1170],[69,1845],[643,1234],[678,8031],[-304,4548],[136,5452],[-751,8647]],[[304393,396029],[-2552,3929],[-542,2300],[-1608,1728],[-990,1745],[-907,554],[-2864,2735],[-894,1424],[-2659,2965],[-1193,3037],[-1112,1575],[-1229,4565],[535,2060],[-1801,6912],[-890,1708],[-188,2352],[-1147,2225],[-286,2672],[-1248,4430],[-1602,8720],[-695,2411],[-1014,2220],[-1068,4555],[-968,2471],[-2866,3512],[140,1448],[581,316],[-792,3507],[164,825],[-633,2123],[148,2057],[1346,3503],[1317,2033]],[[276876,484646],[1119,1764],[533,3027],[-769,1335],[-772,-2091],[-1884,3066],[535,667],[-87,4107],[-280,1804],[968,1368],[199,2841],[969,2146],[301,2467],[-176,2219],[964,1156],[2338,1341],[111,1476]],[[280945,513339],[-460,998],[645,1333],[601,-444],[-112,3158],[1381,1074],[1250,2315],[1647,6128],[-973,872],[391,3918],[-320,4114],[-369,716],[792,1440],[-611,2350],[304,1942],[-1503,4294]],[[283608,547547],[-747,1863],[-699,3064],[855,1888],[-2702,3658],[-986,53],[-683,-919],[-175,-1513],[-1718,-1818],[-248,-1254],[1241,-3418],[-1188,-1334],[-1129,-325],[-868,3758],[-170,-1383],[-792,594],[-620,2467],[-1411,1027],[-1234,65],[-555,-1489]],[[269779,552531],[-786,3066],[-854,703],[495,-1782],[-1229,1235],[269,2494],[-717,1428],[-2121,2193],[-156,1498],[-1522,2116],[1046,-2581],[-633,-1417],[-556,1358],[-862,542],[-572,2936],[454,2055],[-669,904],[454,975]],[[261820,570254],[-601,1595],[-1412,2411],[-795,2479],[-2533,4425],[917,448]],[[257396,581612],[-422,2214],[-903,274]],[[256071,584100],[-324,-1295],[-2600,608],[-1141,1154],[-1462,486],[-809,1045]],[[249735,586098],[-1421,1141],[-1498,-20],[-1869,1793],[-1156,1879]],[[243791,590891],[-1594,3514],[-3075,5421],[-2071,878],[-664,1278],[-1566,-2624],[-2081,-1668],[-826,-244],[-1873,1525],[-1582,341],[-1067,1419],[-1060,583],[-672,1363],[-2579,1095],[-927,1190],[-2287,1659],[-2090,2672],[-686,1604],[-2368,833],[-2062,1555],[-1307,2980],[-2850,2850],[-1510,3949],[-520,2427],[1136,1146],[-645,1170],[710,2030],[78,2201],[-618,755],[-605,2191],[9,2008],[-405,1781],[-1696,3365],[-1896,4861],[-1229,2038],[43,765],[-1221,745],[-712,2132],[478,359],[-1987,2304],[-772,333],[395,1499],[-861,-835],[-523,797],[-113,1810],[627,1615],[-786,2400],[-756,-44],[-525,2230],[-1483,1442],[-383,1962],[238,1246],[-1643,609],[-973,2471],[-579,513],[-1338,3248],[-171,1485],[-1430,4241],[-1034,4787],[177,2286],[-1603,987],[-900,1680],[-560,-723],[-2178,2330],[399,-1502],[-257,-2907],[691,-3848],[-45,-1593],[770,-2416],[1714,-2742],[710,-2611],[818,-758],[310,-1700],[620,-519],[380,-3544],[1124,-1793],[904,-2632],[392,-2373],[187,1192],[627,-1020],[659,-3449],[112,-1989],[716,-1557],[991,-4374],[51,-2649],[811,-1428],[290,1446],[667,-1007],[1672,-4114],[-103,-1572],[-1293,-1949],[-452,709],[-769,3551],[-2934,4290],[-1815,3028],[47,3840],[-893,4299],[-1788,2188],[-375,2151],[-1230,-1333],[-673,1453],[-1679,1491],[-263,1261],[-1379,2434],[1296,-343],[748,527],[700,3278],[-269,1062],[-2357,4615],[-1888,2203],[-394,3242],[-501,657],[-184,2309],[-1667,4507],[115,1695],[-631,867],[-778,3175]],[[174644,697459],[-943,4516],[-1703,2527],[-916,129]],[[171082,704631],[-267,1620],[-1770,561]],[[169045,706812],[-1284,1813]],[[167761,708625],[-2431,318]],[[165330,708943],[-454,642]],[[164876,709585],[31,2941]],[[164907,712526],[-630,1712]],[[164277,714238],[-2825,5721],[-10,3601]],[[161442,723560],[-1429,1591]],[[160013,725151],[-330,3344],[1232,-1740]],[[160915,726755],[-875,2858],[1857,435]],[[161897,730048],[-2130,443],[-104,-1673]],[[159663,728818],[-1141,1357],[-525,2333]],[[157997,732508],[-1611,2713],[-511,5649],[-1220,2318]],[[154655,743188],[-132,1417]],[[154523,744605],[663,2836]],[[155186,747441],[179,2455]],[[155365,749896],[-796,4376]],[[154569,754272],[-513,4088],[1086,5207]],[[155142,763567],[249,6434]],[[155391,770001],[361,4735]],[[155752,774736],[49,3585]],[[155801,778321],[1918,-169]],[[157719,778152],[-677,696]],[[157042,778848],[-1689,49]],[[155353,778897],[-108,4478]],[[155245,783375],[-734,3693]],[[154511,787068],[-681,1455]],[[153830,788523],[-247,2821]],[[153583,791344],[2040,-1255]],[[155623,790089],[2642,-516]],[[158265,789573],[683,333]],[[158948,789906],[557,-5003]],[[159505,784903],[623,465],[-108,2659],[419,1127],[-1186,2693]],[[159253,791847],[344,1760]],[[159597,793607],[-677,1367]],[[158920,794974],[-724,0]],[[158196,794974],[-795,2762]],[[157401,797736],[-1545,209]],[[155856,797945],[-35,2883]],[[155821,800828],[-659,-1117]],[[155162,799711],[-753,-87],[-1027,1435]],[[153382,801059],[-768,2925]],[[152614,803984],[-3864,212],[1534,798]],[[150284,804994],[-1721,237]],[[148563,805231],[-319,1130]],[[148244,806361],[-1182,-282]],[[147062,806079],[-1807,1681]],[[145255,807760],[176,1939]],[[145431,809699],[-623,1758]],[[144808,811457],[214,3046]],[[145022,814503],[-863,-2968]],[[144159,811535],[-708,2195]],[[143451,813730],[699,4431]],[[144150,818161],[-721,-480]],[[143429,817681],[-797,2477],[-1191,731]],[[141441,820889],[-93,1622],[1590,-1307]],[[142938,821204],[-1159,2494]],[[141779,823698],[-903,-2657]],[[140876,821041],[-776,-838],[-2144,2799]],[[137956,823002],[811,2426],[-1073,1704],[2414,6170]],[[140108,833302],[-1178,-614]],[[138930,832688],[-111,3136]],[[138819,835824],[-33,-3497]],[[138786,832327],[-492,-1612]],[[138294,830715],[-1003,-1519]],[[137291,829196],[-763,226],[-550,2074]],[[135978,831496],[591,1033]],[[136569,832529],[-848,3942]],[[135721,836471],[-1788,-716]],[[133933,835755],[-554,-2023]],[[133379,833732],[-667,1102],[1054,2601]],[[133766,837435],[-2970,5257]],[[130796,842692],[-1535,739]],[[129261,843431],[-245,3098]],[[129016,846529],[-1818,3185],[-1265,901]],[[125933,850615],[-1300,2714],[-643,3415],[-387,-1286],[1259,-5305]],[[124862,850153],[-2288,517],[-760,2339]],[[121814,853009],[-2340,1455]],[[119474,854464],[2577,-3446],[-1447,-1231]],[[120604,849787],[-2671,1992]],[[117933,851779],[-2246,2998]],[[115687,854777],[-4019,2719]],[[111668,857496],[796,900],[-18,1888],[-1937,-1719]],[[110509,858565],[-1741,131]],[[108768,858696],[-2296,1310]],[[106472,860006],[-3544,753]],[[102928,860759],[-3338,-478],[-2094,1888]],[[97496,862169],[584,1979]],[[98080,864148],[-1548,-1712],[-1808,581]],[[94724,863017],[-2054,2483]],[[92670,865500],[155,1366]],[[92825,866866],[-2243,-1243],[-1708,299],[704,1484]],[[89578,867406],[-2237,-2466],[1647,-1883]],[[88988,863057],[-1297,-2937]],[[87691,860120],[-2679,691]],[[85012,860811],[-563,-1987]],[[84449,858824],[-2732,-1219]],[[81717,857605],[-980,-1869]],[[80737,855736],[-2232,-359],[-311,1290],[1251,652],[-1261,1574]],[[78184,858893],[1116,2491]],[[79300,861384],[265,3083],[2543,1781],[2357,-176]],[[84465,866072],[-980,1780],[-1852,41],[-3117,-2313]],[[78516,865580],[-46,-923],[-2510,-3061]],[[75960,861596],[-292,-1880]],[[75668,859716],[-1255,-464]],[[74413,859252],[-2436,-2840]],[[71977,856412],[-250,-1231]],[[71727,855181],[2343,-1763]],[[74070,853418],[-1904,-2162]],[[72166,851256],[-630,-1976]],[[71536,849280],[-2112,-849],[-2141,-2654]],[[67283,845777],[-1945,-1424]],[[65338,844353],[-420,-1884]],[[64918,842469],[-3444,-2160],[-1857,-1836]],[[59617,838473],[-700,-2064]],[[58917,836409],[-2649,-848]],[[56268,835561],[-2100,-1816],[-2726,-826]],[[51442,832919],[60,1370]],[[51502,834289],[-1708,-2902]],[[49794,831387],[-1299,613],[-369,-1458],[-1835,-933]],[[46291,829609],[156,1675]],[[46447,831284],[1035,437]],[[47482,831721],[2081,3103]],[[49563,834824],[2616,1788]],[[52179,836612],[2565,-1280]],[[54744,835332],[-686,1192],[658,1823]],[[54716,838347],[3644,3235]],[[58360,841582],[3480,4076]],[[61840,845658],[594,5174]],[[62434,850832],[1060,2703]],[[63494,853535],[-2444,-1407]],[[61050,852128],[-2094,1554]],[[58956,853682],[-36,-2735]],[[58920,850947],[-817,171],[-1633,2615]],[[56470,853733],[-694,-540]],[[55776,853193],[-1229,1370]],[[54547,854563],[-2774,-2261]],[[51773,852302],[-2177,-150]],[[49596,852152],[1169,889],[-831,2901]],[[49934,855942],[541,1805],[-1646,4120]],[[48829,861867],[788,2379],[-1521,-2468],[319,-1655],[-3712,-1083],[-2099,2944],[-1920,1407],[1524,2078]],[[42208,865469],[2985,-1789]],[[45193,863680],[860,991]],[[46053,864671],[-4875,1234]],[[41178,865905],[833,718]],[[42011,866623],[-2265,1262],[-1324,2079]],[[38422,869964],[1541,1295]],[[39963,871259],[-262,1369]],[[39701,872628],[1425,2211],[1153,45]],[[42279,874884],[-183,1894]],[[42096,876778],[2048,2730],[2081,-1279]],[[46225,878229],[2049,1303],[939,1561]],[[49213,881093],[3288,170],[891,1546]],[[53392,882809],[-581,2562]],[[52811,885371],[-1186,1629]],[[51625,887000],[1341,313]],[[52966,887313],[-707,2043],[-1591,-638]],[[50668,888718],[-2910,-2619]],[[47758,886099],[-2518,1268]],[[45240,887367],[-3294,-756]],[[41946,886611],[-3455,724]],[[38491,887335],[-757,2036]],[[37734,889371],[-1425,1365],[2031,880]],[[38340,891616],[-3351,690],[-1901,1397]],[[33088,893703],[2816,1300]],[[35904,895003],[4514,3156]],[[40418,898159],[4783,1224]],[[45201,899383],[-850,-2375]],[[44351,897008],[940,-780],[5219,-179]],[[50510,896049],[1003,1348],[-1036,531]],[[50477,897928],[-2165,3101]],[[48312,901029],[1639,-653]],[[49951,900376],[300,-1330]],[[50251,899046],[3496,-1106]],[[53747,897940],[1079,1182]],[[54826,899122],[-1672,583],[-1483,-705]],[[51671,899000],[-1273,880]],[[50398,899880],[651,1653]],[[51049,901533],[-3832,284]],[[47217,901817],[-1997,997]],[[45220,902814],[-1123,2436],[-3503,2600]],[[40594,907850],[-3890,1860],[1128,389],[476,2725]],[[38308,912824],[5296,304],[3170,2675],[580,2193],[2441,2391],[2993,846]],[[52788,921233],[4671,3400],[3655,-196],[4246,3331],[6320,-3593]],[[71680,924175],[2673,779],[2778,-724]],[[77131,924230],[-661,-929]],[[76470,923301],[3461,-1391]],[[79931,921910],[5432,486],[4343,-1680],[5230,-340],[1738,-896]],[[96674,919480],[5497,638],[5029,-2744]],[[107200,917374],[1127,-14]],[[108327,917360],[5056,-801],[2927,-2154]],[[116310,914405],[7684,-2700]],[[123994,911705],[-1429,1308],[514,2335]],[[123079,915348],[4976,1286],[-762,-1632]],[[127293,915002],[2808,1073]],[[130101,916075],[898,1283]],[[130999,917358],[4733,1519]],[[135732,918877],[1772,1400]],[[137504,920277],[2361,-862]],[[139865,919415],[-3643,-2166],[-2508,-490]],[[133714,916759],[-4211,-3927]],[[129503,912832],[1868,-424],[-35,1565]],[[131336,913973],[2585,2091],[2153,-21]],[[136074,916043],[118,-1301],[1714,2648],[3456,1339]],[[141362,918729],[384,-1004]],[[141746,917725],[3576,3246],[-853,1857]],[[144469,922828],[2368,-1982]],[[146837,920846],[1462,-3015],[3403,-2258]],[[151702,915573],[516,2842]],[[152218,918415],[2103,1669],[888,-2492]],[[155209,917592],[-837,-1840]],[[154372,915752],[2268,-13]],[[156640,915739],[1622,2564]],[[158262,918303],[4151,-203]],[[162413,918100],[3441,-2104],[3955,-969]],[[169809,915027],[2149,-1268],[5654,-1220],[1190,803]],[[178802,913342],[3382,-1855],[1248,-1543]],[[183432,909944],[-2225,-763],[-1858,-2181]],[[179349,907000],[4868,-1198]],[[184217,905802],[3463,-90]],[[187680,905712],[4527,874],[1954,948]],[[194161,907534],[1310,-1538]],[[195471,905996],[2882,-840]],[[198353,905156],[1843,-2750]],[[200196,902406],[-1574,-204]],[[198622,902202],[2182,-2087],[233,1559]],[[201037,901674],[1306,-719]],[[202343,900955],[-2266,5037]],[[200077,905992],[587,1778],[3713,998]],[[204377,908768],[1785,1931]],[[206162,910699],[-2297,-1002]],[[203865,909697],[-2809,-156]],[[201056,909541],[-318,-933]],[[200738,908608],[-2645,614]],[[198093,909222],[1036,1975]],[[199129,911197],[5970,1833],[1735,-1193]],[[206834,911837],[309,-1542]],[[207143,910295],[3430,-2530]],[[210573,907765],[1999,496]],[[212572,908261],[2172,-1797],[3159,-703]],[[217903,905761],[3052,868]],[[220955,906629],[3637,-686],[2041,494]],[[226633,906437],[2659,-1127]],[[229292,905310],[690,1410]],[[229982,906720],[-2511,285],[-1500,2729]],[[225971,909734],[3444,788],[1904,-2579]],[[231319,907943],[2097,1113]],[[233416,909056],[-1115,-4119]],[[232301,904937],[639,-1671]],[[232940,903266],[1171,265]],[[234111,903531],[1016,-1990]],[[235127,901541],[265,1670]],[[235392,903211],[-1089,2813]],[[234303,906024],[528,1682]],[[234831,907706],[1666,121],[3381,3503]],[[239878,911330],[-2552,1651]],[[237326,912981],[1336,1328]],[[238662,914309],[-527,1892],[-4941,2227]],[[233194,918428],[-1376,2940],[1852,1313]],[[233670,922681],[-1862,1539],[398,2754]],[[232206,926974],[2336,374],[-854,1401]],[[233688,928749],[1864,1958]],[[235552,930707],[1789,446]],[[237341,931153],[4468,-4247]],[[300051,207169],[-2273,162],[-1078,1268],[-288,-1355],[935,-2423],[-49,1561],[2753,787]],[[299149,209912],[125,889],[-1858,1013],[-276,-1382],[2009,-520]],[[302316,229071],[-1891,1251],[-1754,-1661],[-682,497],[-140,-2140],[1434,1704],[1323,512],[1710,-163]],[[309232,235614],[-815,831],[338,-2143],[477,1312]],[[297313,260123],[1023,603],[-694,1240],[-329,-1843]],[[352392,311289],[-108,-176]],[[352284,311113],[-1241,-2707],[224,-2392]],[[351267,306014],[47,-79]],[[351314,305935],[328,2335],[1093,2133],[674,-457],[498,2232],[-353,1780],[-1162,-2669]],[[327139,322385],[-161,1110],[-989,404],[-932,-1013],[701,-1336],[1381,835]],[[349258,362140],[-575,-4635],[-661,-1153],[536,-871],[-254,-1439]],[[348304,354042],[1138,1142],[-491,355],[329,3186],[-22,3415]],[[357177,383706],[1398,630],[-63,1361],[-1365,-992],[30,-999]],[[375077,393444],[-787,942],[-393,-2275],[1180,1333]],[[307956,408551],[363,-118]],[[308319,408433],[-123,-1621]],[[308196,406812],[119,-148]],[[308315,406664],[1162,1474],[-670,661],[92,1293],[-1567,2729]],[[307332,412821],[-125,120]],[[307207,412941],[-782,1344],[-698,-797],[-202,-2544],[1566,-1193],[-100,-903],[965,-297]],[[386332,449873],[-955,-620],[1,-1374],[-2042,457],[-987,-1134],[-18,-1639],[-573,-510],[-130,-2422],[-562,101],[197,-1444],[-1153,-2421],[1101,-162],[107,1778],[988,2462],[591,-1433],[-573,2822],[1189,2400],[2077,501],[251,1197],[713,268],[-222,1173]],[[361918,478518],[-11,-1010],[1199,-4197],[-183,2487],[-773,6122],[-664,-2804],[432,-598]],[[347518,533051],[241,742],[-889,541],[-578,-2791],[1280,431],[-54,1077]],[[264404,571429],[-1236,3095],[-1495,1921],[-282,-2397],[1061,-2885],[1724,-1068],[228,1334]],[[260823,577661],[-529,957],[-819,-406],[762,-1350],[586,799]],[[253117,597801],[-1417,-1326],[859,-263],[558,1589]],[[214693,624354],[-509,739],[-1329,-346],[1629,-807],[209,414]],[[229370,654923],[-756,-1152],[-164,-7372],[197,3327],[723,5197]],[[223732,665013],[790,-2918]],[[224522,662095],[147,1097],[-937,1821]],[[276031,664008],[-361,1749],[-824,-1134],[869,-1739],[316,1124]],[[178856,701850],[-936,1451],[-314,-514],[758,-1695],[492,758]],[[256497,710969],[1819,-777],[-1046,1001],[-773,-224]],[[184345,716995],[-1002,2446],[-638,-1149],[-571,1110],[-1069,-685],[1689,-686],[611,942],[980,-1978]],[[255397,721963],[-173,-1865],[581,-993],[-408,2858]],[[193423,729241],[-1653,-4426],[1470,3320],[183,1106]],[[311702,775814],[-211,-115]],[[311491,775699],[1149,-785]],[[312640,774914],[-32,205]],[[312608,775119],[-906,695]],[[276535,778914],[1280,-720],[1530,442],[-605,728],[-2205,-450]],[[287558,783985],[198,1824],[-1143,423],[945,-2247]],[[285352,786669],[38,-1448],[902,834],[-940,614]],[[305332,797621],[505,623],[-1163,1887],[-1107,-2007],[556,-676],[646,1365],[563,-1192]],[[255471,800710],[-1691,1871],[-706,-1305],[-186,-3291],[694,508],[1473,-716],[416,2933]],[[204952,786635],[-300,2367],[-1680,-1540],[-2177,-222],[2364,-334],[1329,1284],[464,-1555]],[[216258,786530],[2076,-365],[547,822],[-2660,-124],[-373,1705],[-374,-2070],[784,32]],[[292969,791821],[1197,-526],[-1333,1584],[62,966],[-2380,-2160],[2023,-479],[431,615]],[[299848,791779],[775,925],[-1541,348],[766,-1273]],[[241895,791656],[1342,-252],[-997,1806],[-1634,-469],[1900,-587],[-611,-498]],[[277277,793902],[869,-1058],[1584,-150],[-1498,1579],[-955,-371]],[[236909,794206],[1774,1729],[-1590,1716],[1090,153],[-791,2728],[-137,-1229],[-1568,-600],[125,-942],[1165,961],[-1591,-2895],[-35,-1486],[1558,-135]],[[289481,768262],[-51,62]],[[289430,768324],[-700,-759]],[[288730,767565],[-2596,-1733],[313,-777]],[[286447,765055],[-914,-398]],[[285533,764657],[-1043,963]],[[284490,765620],[-4103,-1205]],[[280387,764415],[-1412,-1521],[-570,-1532]],[[278405,761362],[1213,-722]],[[279618,760640],[345,264]],[[279963,760904],[445,254]],[[280408,761158],[2439,649]],[[282847,761807],[1794,-755],[1535,60]],[[286176,761112],[2069,1618],[-157,1767]],[[288088,764497],[604,887]],[[288692,765384],[-782,637]],[[287910,766021],[1571,2241]],[[296185,766268],[405,1760],[224,3722],[-656,-811],[27,-4671]],[[279310,767227],[793,829],[-583,1473],[-210,-2302]],[[221420,771418],[-171,4958],[-770,-1223],[788,-1524],[153,-2211]],[[188961,747632],[-2295,3939],[-448,-1716],[1643,-4008],[1100,1785]],[[269232,755176],[1352,232]],[[270584,755408],[-154,1442]],[[270430,756850],[-395,631]],[[270035,757481],[-1858,-5463],[2711,-2040]],[[270888,749978],[2103,669]],[[272991,750647],[1374,1537]],[[274365,752184],[2483,1602],[3126,3047],[921,1445]],[[280895,758278],[-523,1818]],[[280372,760096],[25,-1444]],[[280397,758652],[-3232,-520]],[[277165,758132],[-641,-953],[-2648,97],[-1340,-2209],[-1992,-1373],[-1399,271],[87,1211]],[[264522,776026],[3593,-2701]],[[268115,773325],[515,-1768],[-3,-2116]],[[268627,769441],[-101,-1826]],[[268526,767615],[-1523,-2444]],[[267003,765171],[399,-1990]],[[267402,763181],[979,1761]],[[268381,764942],[1210,848]],[[269591,765790],[788,-1261]],[[270379,764529],[684,-4957]],[[271063,759572],[1758,1833],[212,4762]],[[273033,766167],[1140,2761],[54,1145],[-1164,2733],[1113,-15]],[[274176,772791],[103,-1306]],[[274279,771485],[1011,-1465]],[[275290,770020],[1860,-1609]],[[277150,768411],[327,1762]],[[277477,770173],[1086,-270],[-1024,2062]],[[277539,771965],[124,1381]],[[277663,773346],[-857,337]],[[276806,773683],[-1300,3269],[-2164,92]],[[273342,777044],[-52,905]],[[273290,777949],[-3917,367],[-2962,1064]],[[266411,779380],[-204,1195]],[[266207,780575],[-931,-470]],[[265276,780105],[321,2503]],[[265597,782608],[-1074,776]],[[264523,783384],[492,1679],[-1166,1888],[443,1843]],[[264292,788794],[-2565,120],[-905,1422],[-812,3086]],[[260010,793422],[-2298,265]],[[257712,793687],[-2889,1172]],[[254823,794859],[85,-2231]],[[254908,792628],[-749,1398]],[[254159,794026],[-755,-1481]],[[253404,792545],[-1184,-783]],[[252220,791762],[-963,-2595]],[[251257,789167],[-159,-126]],[[251098,789041],[-3757,-2772]],[[247341,786269],[-3076,-4176],[1571,-312]],[[245836,781781],[1536,1111]],[[247372,782892],[581,-1569]],[[247953,781323],[744,-620],[3094,1764],[1957,2074]],[[253748,784541],[560,-2551]],[[254308,781990],[647,889]],[[254955,782879],[1606,-740],[777,-1790],[2002,-423],[1404,1385]],[[260744,781311],[3234,497]],[[263978,781808],[-185,-1570]],[[263793,780238],[1964,-86]],[[265757,780152],[279,-1823]],[[266036,778329],[689,-1315],[-1813,540],[-473,-1056]],[[264439,776498],[-1622,1388],[-3271,-1340]],[[259546,776546],[-1141,-944]],[[258405,775602],[-23,1149]],[[258382,776751],[-2355,-5774],[-386,-2314]],[[255641,768663],[1013,1747]],[[256654,770410],[742,-421]],[[257396,769989],[-1568,-9070],[335,-2911],[-45,-3211]],[[256118,754797],[1069,-3288],[943,77],[1224,1433]],[[259354,753019],[925,2999]],[[260279,756018],[215,2861]],[[260494,758879],[-889,4365]],[[259605,763244],[64,2586]],[[259669,765830],[620,1522]],[[260289,767352],[163,2308],[1724,2799],[187,-2494],[482,2993]],[[262845,772958],[1135,685]],[[263980,773643],[-40,2219]],[[263940,775862],[582,164]],[[304140,818688],[-1150,-344],[1394,-1772],[-244,2116]],[[65144,846949],[-1377,-1292],[582,-619],[795,1911]],[[66775,847565],[-2377,1168],[-43,-804],[2420,-364]],[[204838,846536],[-2252,-1307],[-60,-1422],[2764,1356],[-452,1373]],[[159718,836983],[-4078,-138],[-2403,3863],[2182,-4682],[2444,-3138],[-1641,2784],[123,902],[1602,-244],[1771,653]],[[294473,836638],[-896,1402],[-1408,66],[1583,-1987],[721,519]],[[287370,837457],[1688,160],[-1186,2129],[-502,-2289]],[[226959,845332],[-1977,-3354],[-895,360],[-623,-1640],[1940,770],[1679,1606],[709,1631],[-833,627]],[[217431,847801],[-739,1057],[-2498,-3777],[890,-3675],[-1994,-3118],[2283,1800],[1750,3923],[-717,578],[1529,2656],[-504,556]],[[224031,819892],[-1513,331],[-906,2234],[-20,2267],[993,1014],[-1359,95],[100,-3610],[-1444,-985],[2419,-1946],[1424,-267],[306,867]],[[288610,823079],[-1655,-222],[1641,2468],[-731,426],[-1104,-1648],[-2553,-1367],[1384,-1103],[3449,1143],[-435,-1247],[3825,2261],[-3126,-11],[-695,-700]],[[238232,823064],[293,934],[-2229,-387],[1936,-547]],[[307358,825126],[-1409,1693],[-785,-1418],[2194,-275]],[[249008,823252],[2079,32],[-1092,680],[-987,-712]],[[324512,825405],[-1589,-197],[-1719,3075],[-270,-2147],[-2602,-1459],[-1492,1564],[-1366,3216],[-533,-1128],[360,-2072],[598,1214],[2607,-3549],[-532,-2308],[1414,-406],[-675,2221],[1942,1945],[2048,-1578],[1809,1609]],[[239103,829583],[-1539,-201],[-796,-2306],[3100,2177],[-765,330]],[[210011,831510],[-625,870],[-1711,-523],[0,-1552],[2336,1205]],[[296716,831144],[381,-900],[2277,1985],[-2658,-1085]],[[200587,831811],[341,3160],[-1051,-1398],[710,-1762]],[[198441,839505],[801,-1889],[-1089,-3686],[1506,2928],[134,1892],[-1352,755]],[[72301,858817],[-990,131],[-4216,-1503],[284,-1203],[3138,692],[1784,1883]],[[189398,851653],[-1446,1288],[-156,-1182],[1679,-1461],[-77,1355]],[[214341,850290],[-320,1200],[-1828,-734],[-127,-2899],[1236,-540],[-55,1497],[1094,1476]],[[196575,855010],[3878,528],[1660,785],[-6410,1314],[-4764,-5137],[519,-1174],[1843,746],[1460,2225],[1814,713]],[[45922,862634],[-1068,118],[227,-1580],[841,1462]],[[237151,884822],[-4381,983],[1163,-1590],[3218,607]],[[200152,884438],[1232,-1804],[1100,618],[-602,1404],[-1730,-218]],[[197160,876811],[-4173,820],[-2413,-1321],[-2524,-3480],[-3534,-686],[-2077,2354],[-1088,-236],[-1597,1370],[-2081,700],[2129,-1535],[-52,-1359],[1818,-2182],[-2561,-761],[-1090,-3303],[-2260,868],[-1431,-1376],[5015,-1535],[4558,940],[432,1804],[1965,529],[2115,1386],[1725,2991],[2287,2467],[2858,615],[-4271,-195],[1696,1256],[3781,-660],[773,529]],[[227864,875283],[1455,-753],[-604,2622],[-2211,-210],[1360,-1659]],[[174114,879194],[-2171,2142],[-1464,-1382],[2469,-1326],[1166,566]],[[223316,877713],[1289,-177],[-572,1443],[-717,-1266]],[[216848,879267],[-278,-1756],[2068,-1532],[1129,1719],[-638,1275],[1133,2222],[-3414,-1928]],[[75167,922797],[-1865,997],[-1794,-452],[1671,-1071],[1988,526]],[[235418,889826],[-1894,-1],[1059,-1426],[835,1427]],[[170371,889803],[926,-1297],[190,2480],[-1558,109],[442,-1292]],[[183061,892047],[4868,-1480],[-3543,1706],[-1325,-226]],[[172660,898241],[-5222,-665],[-2009,496],[1003,1534],[2743,1510],[-2168,714],[-5842,-2330],[-8562,-2301],[683,-1816],[882,1255],[3065,-105],[1057,709],[4826,-967],[-4470,-3583],[97,-1239],[-1648,-959],[3904,-918],[1368,2385],[2457,1431],[313,-1871],[-2558,-2428],[670,-314],[4694,3443],[-1244,1057],[1024,1162],[4406,-528],[-460,1256],[1442,2062],[-451,1010]],[[205669,860170],[-968,611],[-187,-1600],[1155,989]],[[215141,862093],[1461,-2328],[380,1831],[-1041,2430],[-800,-1933]],[[180383,862136],[-2062,-446],[1417,-860],[645,1306]],[[211567,863464],[469,1666],[-2297,-644],[1828,-1022]],[[246263,806680],[1135,-86],[1416,976],[-493,565],[-2058,-1455]],[[227891,803055],[-791,2144],[-1435,1635],[524,1471],[-1651,3160],[-1053,-372],[1063,-1009],[428,-2393],[1539,-5501],[1376,865]],[[297500,807728],[-464,1449],[-2292,-2425],[-666,-3424],[3422,4400]],[[310402,809224],[-777,2114],[-1676,-587],[-28,-2263],[1127,-2089],[1084,1348],[270,1477]],[[223127,810497],[-459,3731],[448,3890],[-2325,1609],[-1629,-536],[773,-1941],[439,1346],[1102,-643],[766,-1808],[-463,-2670],[306,-2135],[1042,-843]],[[232297,805260],[230,3092],[-1539,3645],[-982,4778],[-2150,7742],[-137,2549],[-772,-2633],[1109,-1345],[-2860,764],[-863,-3896],[1196,-2873],[1726,-2635],[1012,-2317],[909,1444],[685,-1585],[-8,-2498],[522,1313],[897,-656],[-665,-1799],[140,-4678],[985,40],[565,1548]],[[549943,856209],[1470,468],[-621,-1769],[-4158,-3105],[-647,-4580],[-77,-4409],[-1475,-5009],[-3563,-524],[-1386,-1786],[-115,-2583],[-3578,87],[257,1673],[-1309,3550],[1046,1924],[-1283,1709],[-1907,4808],[-1288,4490],[-210,3570],[535,-247]],[[531634,854476],[-1539,872],[-736,2390],[-1083,-3423],[-1559,-375],[-4034,-4745],[-1945,-736],[-2530,608],[-2356,2371],[-263,2898],[1352,-846],[-409,2542],[1256,1551],[-2893,-2338],[-641,356],[481,2466],[2520,1121],[-1338,185],[2188,3226],[-1013,-363],[-1830,-3085],[-1066,-935],[369,5343],[-653,2776],[2710,469],[2933,-155],[-1065,684],[-3701,-584],[-893,1928],[933,308],[-1141,1334],[598,2662],[3360,2673],[3717,-152],[985,1100],[-3515,-417],[635,1522],[3033,790],[1331,1316],[-504,1315],[3607,530],[784,-1359],[2170,391],[-97,970],[1793,1065],[-178,1447],[-1033,-1651],[-2808,-1472],[-859,1617],[2641,3694],[2662,1931],[-96,1372],[1862,1204],[315,2306],[2350,3925],[257,2429],[2493,2835],[3683,755],[-2654,55],[1340,1886],[1399,-731],[-449,1862],[-1451,-535],[742,1664],[2665,1616],[702,-2026],[1087,4379],[2052,1029],[5018,5619],[6210,1572],[-214,1305],[3691,837],[1593,-2260],[337,1506],[2891,2692],[957,1816],[2788,-920],[-1374,-1782],[-638,-2626],[4064,4762],[217,-2979],[2696,2473],[115,1562],[2209,-687],[-629,-4073],[1232,2796],[1369,599],[5116,-3473],[-2828,-1055],[-3180,289],[2278,-998],[96,-1165],[3428,20]],[[585749,918146],[1619,-556],[1477,1564],[2659,-1195],[-2125,-461],[559,-1156],[3629,-1000],[6038,-702],[5202,-2960],[1943,-1993],[7045,-3805],[1090,-2984],[-472,-2272],[-1854,-2249],[-3423,-1864],[-2477,-401],[-8011,1964],[-1914,1276],[-4651,1378],[-610,1440],[-2875,442],[3672,-3732],[398,-1198],[2089,-617],[1871,-2137],[-1055,-2777],[1103,-2428],[183,-2524],[2160,-1076],[1994,-2224],[2992,-1123],[1747,1259],[-326,1744],[-2139,523],[-1820,2600],[985,1926],[1792,-380],[1337,-1361],[4857,-1786],[1908,1194],[-1796,3384],[51,1470],[2431,2165],[2178,948],[2041,2348],[2841,-617],[2420,-2411],[1067,3929],[-547,2535],[-1415,917],[1231,4391],[-157,1964],[-2125,1667],[4650,-181],[2261,-582],[2218,-3738],[-3227,-540],[-1637,-2410],[1730,-980],[1177,-1969],[1407,-313],[3232,1041],[608,3603],[2786,872],[5447,3665],[4181,1530],[4050,2297],[358,-3321],[-1862,-994],[4447,-389],[1546,2168],[1738,480],[3009,-562],[2906,1989],[2456,689],[870,-1586],[-754,-1742],[2218,-132],[-4,1685],[1648,134],[1234,1527],[-2119,3579],[2348,1544],[6515,-1044],[7565,-3785]],[[683568,913720],[921,-525]],[[684489,913195],[1628,-440],[3802,-3313],[2137,3770],[-1660,97],[-1492,3039],[-3338,1062],[1335,6394],[-1284,348],[264,2874],[3755,2373],[2138,5847],[1684,1349],[5153,96],[3644,-1317],[-521,-3626],[-1979,-3149],[1859,-2350],[330,-4111],[-641,-1080],[161,-7077],[791,-1571],[2044,-1426],[-1135,-2330],[36,-1874],[-4447,-6544],[-1700,-1258],[-2951,1762],[-2399,-339],[503,-1242],[3181,-1401],[4382,-565],[1390,1860],[3818,2575],[785,2481],[1930,2087],[-1050,3876],[523,1958],[5221,1346],[2165,-3014],[-178,-4094],[1390,-1121],[3465,-1],[-3706,964],[213,2598],[917,408],[-956,3814],[-4583,1967],[-3295,-856],[-2326,143],[-1159,3510],[2176,5162],[-3492,5133],[1626,2370],[3668,1777],[-571,3952],[1619,-92],[1033,-2964],[-1372,-2860],[235,-2794],[2162,-730],[4109,-301],[2772,-1030],[-1042,1614],[-2032,268],[-3247,1682],[-777,1866],[2331,726],[1887,-1131],[1894,653],[-2114,1421],[2809,1202],[2609,-86],[3724,-1726],[2079,-2032],[4097,15],[-190,-1948],[-1652,-948],[-179,-4244],[1696,2437],[448,-2219],[-968,-2149],[2928,1948],[-1624,3301],[1167,2908],[-3855,3810],[-3768,1485],[-882,3542],[205,2858],[8226,581],[8462,1349],[1218,-415],[-3340,-1963],[3592,723],[248,1562],[-2852,3226],[2908,-352],[-3997,1668],[2391,220],[2833,2650],[6982,2734],[9347,1558],[-1606,1308],[4455,456],[4166,-414],[1172,-1130],[6013,2082],[3232,-632],[-2833,2042],[5662,264],[405,2757],[5948,3767],[2455,616],[5222,-1431],[-1417,-1488],[-3284,-805],[7609,-399],[1356,-639],[-2197,-2093],[2737,-375],[1121,1235],[8576,27],[5992,-2794],[1261,-4744],[-2226,-2581],[-8568,-4106],[-4558,-3720],[-2580,-434],[-3005,-1853],[-1335,-2793],[2138,1794],[3535,200],[5847,1772],[2813,1531],[-3098,-48],[1413,1747],[5238,-1828],[3524,-363],[-719,-1115],[6058,1441],[8645,-669],[-55,-2033],[3667,-1586],[9472,-142],[1282,1412],[-880,2012],[3009,1315],[6012,-2489],[1330,1261],[5159,-2117],[-805,-1749],[1810,-1125],[-2311,-1007],[2759,-1301],[-1324,-1398],[-3143,2100],[5440,-7788],[3876,-2235],[1124,940],[3033,6073],[2145,-2577],[3546,-617],[3283,1443],[5443,-2391],[762,2010],[3031,-719],[2152,277],[-955,3003],[1372,1252],[-2661,-274],[1180,1971],[4106,538],[-1031,1795],[3759,-1002],[4040,-134],[7603,-1516],[-5788,-1087],[6736,258],[-2457,-569],[264,-2725],[4048,3445],[6221,-970],[1054,-1902],[-2313,-280],[2813,-1688],[4226,-1327],[2574,-2681],[3570,269],[5836,1278],[5950,-333],[4697,-2309],[773,-2014],[-483,-3109],[2995,-1057],[347,-3011],[1472,-1143],[-79,2810],[2330,1597],[4955,416],[982,-653],[6586,-647],[2067,1424],[1449,-965],[425,-1812],[2799,-1137],[831,-1739],[2578,233],[1271,1302],[-1147,3188],[-1171,256],[905,2850],[5757,-825],[1994,-856],[7863,216],[2269,-1270],[5343,-1533],[3200,-2392]],[[999999,913406],[0,-23201]],[[999999,890205],[-1534,-1453],[-2578,-1298],[-2142,676],[-1582,1760],[-307,-1347],[-2798,1032],[1860,-1991],[1824,884],[126,-1953],[1446,-1316],[767,842],[1169,-2365],[396,-2517],[1497,-2075],[663,-2979],[-1249,-2174],[-3060,1343],[-2019,308],[-7159,-3859],[-3033,-1372],[-1366,-1833],[-765,369],[-1287,-2412],[-4957,-3714],[-715,-2781],[-1023,602],[-2100,3133],[-3025,-131],[-3260,-1581],[-1757,-2575],[-543,633],[600,2995],[-3521,-2288],[-182,-1409],[-1784,1169],[-1657,-100],[-1028,-1222],[-381,-3154],[-746,-1674],[-2397,-3393],[-504,-2194],[1408,-1841],[698,1066],[1377,-1536],[-1207,-1950],[65,-3236],[1259,-732],[221,-2698],[-801,-1113],[-1164,1112],[1139,1715],[-1527,-727],[-1121,-1834],[-988,-4334],[1045,-3589],[-1055,-1299],[-2647,50],[-1940,-2088],[-641,-2401],[504,-3875],[-1220,639],[-2714,-2157],[-404,-3368],[-1000,-2934],[-3766,-4979],[-567,2028],[-496,7096],[-739,2945],[-1330,11009],[-181,2867],[449,4287],[739,3691],[2072,2708],[690,1859],[-515,1670],[1830,304],[600,1306],[1512,33],[2295,2362],[2252,4166],[2798,2961],[2496,3111],[694,1588],[2693,2150],[2048,793],[-435,644],[1255,1886],[561,5617],[1087,1057],[2217,139],[-3169,1200],[-2567,-862],[-895,-4499],[-1713,-767],[-4518,-5384],[-1646,-680],[570,2293],[-1635,-408],[258,1985],[1206,2972],[-2125,-438],[-1321,1202],[-2796,-1000],[-1669,269],[-2193,-1887],[-139,-1232],[-2157,-2935],[-2451,-2372],[-1884,-3219],[-397,-1806],[2825,-997],[-19,-1008],[-1950,157],[-1242,-836],[-1806,825],[-1329,-1633],[-1338,517],[-2983,-896],[-572,1229],[3166,835],[-2152,1781],[-2274,191],[-2846,1268],[-2349,-1410],[325,-1479],[-1824,779],[-2064,-863],[-2715,1116],[-1682,-1532],[-1047,1274],[-6562,-256],[-3241,-2195],[-752,-1507],[-2972,-3159],[-661,-2361],[-4957,-5024],[-2696,-4895],[-4212,-4663],[-2536,-2423],[-14,-1255],[1651,-875],[2626,220],[-217,-4839],[1211,104],[-164,1818],[2052,-1077],[-1703,-2178],[1435,-111],[2308,1531],[352,2969],[1733,-752],[1077,498],[1777,-2752],[2931,-3724],[-614,-999],[-31,-3833],[875,-1126],[-328,-1526],[-1207,-1782],[-680,-2297],[-587,-4066],[114,-5627],[-963,-6354],[-2217,-3770],[-1031,-2986],[-1152,-1933],[-694,-3043],[-1809,-4295],[-2450,-3835],[-1837,-4040],[-743,-685],[-1087,-3191],[-979,-1832],[-3949,-4122],[-1526,-788],[-1253,1060],[-1126,44],[17,2549],[-1231,-1294],[-199,949],[-1768,-3728],[-1247,180],[-62,-2097]],[[863019,755336],[-639,-4],[-1947,-3493],[-132,-5065],[-3900,-4866],[-2046,-1504],[-482,-3402],[1088,-733],[1634,-2729]],[[856595,733540],[678,-2651],[1990,-5341],[385,-3155],[-196,-4087],[472,-9],[-428,-3275],[-569,-1872],[-1953,-479],[-186,-1366],[-1133,898],[-892,-399],[-229,-1566],[-855,-1345],[-216,1729],[-971,-1873],[-1017,-739],[-741,2127],[721,146],[-647,2703],[548,2920],[636,722],[-493,2354],[-145,3126],[-752,1049],[1001,881],[1057,-672],[-588,1703],[-312,3485]],[[851760,728554],[-733,572],[-704,-803],[-965,1436],[-1143,-1543],[-1026,1224],[718,743],[-1544,429],[1046,2533],[673,643],[-424,1222],[700,2469],[-134,1412],[-1627,1371],[-380,-847],[-768,2304]],[[845449,741719],[-712,-966],[-2983,-992],[-1936,-1821],[-1902,-2969],[-1351,-790],[-159,1121],[1593,1113],[385,1646],[-1508,-11],[671,2726],[788,626],[1316,3503],[-1155,1779],[-1901,351],[-1932,-3972],[-2466,-1945],[-1018,-2930],[-869,-1431],[-1706,-589],[-713,946],[-712,-547],[-630,-3017],[1269,-2617],[2569,-833],[415,-2027],[-379,-2189],[1381,-1223],[3612,4201],[2473,-2213],[1156,406],[1696,-747],[-1091,-3371],[-949,745],[-2619,-2142],[-858,-2545],[-1740,-1820],[-1737,-3316],[-634,-3276],[2779,-2505],[843,-4073],[1016,-3683],[-48,-2104],[1521,-1715],[7,-982],[1191,-1815],[95,-1163],[-2480,983],[-1260,1401],[-933,-828],[1475,104],[2626,-3934],[604,-2386],[-974,-450],[-1471,-1675],[-490,-1206],[-1032,196],[510,-1508],[1461,998],[1440,-1911],[1125,-644],[-1601,-2286],[1208,719],[-65,-2790],[-557,719],[-749,-741],[603,-715],[-527,-2187],[353,-1628],[-1399,-451],[-1420,-4205],[-132,-1555],[-725,-1311],[-534,-2520],[-568,-363],[-161,1398],[-518,-1334],[676,-1700],[-1162,-1656],[433,-303],[-73,-3765],[-1240,274],[-658,-2876],[-756,-553],[-213,-1512],[-1314,277],[-86,-2257],[-1190,-2425],[-448,22],[-2325,-2883],[-441,-2417],[-608,210],[-2093,-1555],[-840,583],[-950,-1188],[-562,821],[-271,-1341],[-800,71]],[[817405,638260],[69,-246]],[[817474,638014],[-64,-1208],[-701,1282]],[[816709,638088],[-1100,2071],[2,1576],[-803,-1277],[616,-1884],[65,-1758]],[[815489,636816],[-446,-704]],[[815043,636112],[-2304,-2379],[-1784,431],[-948,-1721],[-1628,-281],[-1249,-1763],[-434,735],[-640,-2841],[919,-2016],[-1078,-1508],[-920,2121],[-308,3020],[693,2068],[-1075,340],[-1284,-579],[-1671,2751],[126,-1382],[-1535,-968]],[[799923,632140],[-1563,-1322],[-682,-1991],[-1336,305],[194,-1571],[-654,-2643],[-1483,-2073],[-1006,-5763],[740,-2748],[1697,-3294],[-56,-1344],[1948,-4868],[1816,-3409],[543,51],[1791,-5021],[409,-626],[732,-3921],[607,-5093],[-88,-3419],[422,-1916],[59,-2111],[-628,274],[-56,-5457],[-589,-2301],[-461,-124],[-1526,-2258],[-2805,-3175],[-708,1553],[-291,-1645],[-1216,-501],[892,-1077],[-527,-1521],[-1275,2144],[1030,-2372],[-360,-1571],[-1519,2634],[782,-1938],[155,-1640],[-1854,-1799],[-1073,-2749],[-956,-187],[208,5975],[687,1747],[-180,986],[-1012,607],[-659,1430]],[[790072,566398],[-1359,1039],[-1124,107],[527,1691],[-527,1520],[-1054,-1380],[-77,3240],[-531,1458]],[[785927,574073],[-944,2940],[-150,-555],[-1405,2504],[-863,933],[-774,-418],[-1616,567],[276,4250],[-852,529],[-1773,-996],[201,-1822],[-350,-2106],[70,-3077],[-1005,-4194],[-390,-3396],[-895,-3376],[-11,-3470],[647,-3083],[917,596],[502,-1193],[156,-2617],[885,-2386],[484,-4894],[-822,1693],[738,-3201],[1651,-1937],[1334,26],[837,-2314],[837,-1377]],[[783612,541699],[665,-416],[540,-1834],[1244,-2000],[1204,-3997],[147,-2707],[-296,-3698],[254,-1472],[-39,-3481],[1035,-2089],[1129,-5081],[-117,-2121],[-1338,502],[-596,-711],[-342,1283],[-1750,1832],[-3976,6100],[12,2182],[-1624,4224],[-280,4064],[-728,5542],[-25,2349],[-623,2712]],[[778108,542882],[-1175,2576],[-276,2837],[-662,98],[-855,3055],[-1311,2704],[-438,-983],[-508,1450],[370,5139],[920,5332]],[[774173,565090],[-389,-921],[-272,3797],[586,1843],[183,3583],[-292,869],[167,2884],[-335,5549],[-918,3387],[-266,-509],[-137,3044],[-800,4132],[-283,6023],[-350,853],[137,2596],[-716,387],[-549,3193],[-578,1513],[-171,-1697],[-796,-2767],[-2387,-2339],[-1038,-2644],[-156,1839],[-1084,-1273],[-138,2159],[-643,-1649],[162,2929],[-1378,-2265],[1014,9200],[-439,3746],[-943,3836],[-129,2596],[-321,-2297],[-622,754],[-590,2030],[922,-776],[481,1199],[-1766,3658],[-1001,98],[180,1793],[-956,-486],[-1107,2940]],[[756455,627897],[-745,2269],[-133,3021],[-509,3223],[-957,3887],[-914,-1604],[-571,-101],[-974,3181],[-444,-2263],[429,-2924],[-997,-2539],[-443,340],[384,1596],[-710,-793],[-200,2161],[-194,-2394],[-1273,-1554],[-722,898],[-118,1306]],[[747364,635607],[1,-2601],[-852,-413],[-287,3185],[-158,-2739],[-1466,204],[387,2639],[-1439,-2880],[-1605,-905],[-669,-1564],[322,-3179],[-625,-2292],[-1308,-2333],[-1957,-1342],[-320,1202],[-825,-1629],[774,34],[-1863,-2969],[-1852,-4934],[-1250,-1320],[-1266,-2730],[-1681,-1985],[-865,-2002],[-64,-2229],[-1380,-1365],[-1322,45],[-854,-3428],[-923,809],[-980,-1091],[-667,-3773],[311,-2939],[-150,-2166],[642,-5041],[-315,-3976],[-1031,-4156],[-290,-2450],[264,-2242],[-29,-5179],[-1243,-99],[-1096,-3690],[-46,-2456],[-1550,-969],[-637,-1268],[-367,-3000],[-1507,-1814],[-1530,1949],[-1148,2935],[-637,3255],[-227,2814],[289,-30],[-1178,5107],[-552,3422],[-1464,4122],[-1184,6042],[-277,3497],[-801,4900],[-1203,3437],[-48,1909],[-1266,3894],[-385,2403],[-504,6884],[-793,6287],[375,2003],[-475,-270],[-98,3224],[-366,1844],[593,4338],[-187,3282],[-557,2042],[1136,1408],[-1331,-18],[436,1632],[-1093,1287],[-748,-2169],[602,-1730],[-663,-2224],[-2752,-2469],[-848,9],[-1645,2098],[-3107,6530],[-70,1117],[814,-592],[2502,1702],[731,2356],[-2155,-1252],[-1191,530],[-1653,2023],[-620,2260],[998,1663],[-1505,-1512],[-194,1543]],[[689347,646059],[-1380,-275],[-997,2156],[-383,3443],[-1301,622],[-13,2164],[-750,2068],[-2080,-1304],[-2509,-284],[-326,-730],[-1409,885],[-1653,117],[-182,-843],[-2552,260],[-715,-710],[-1588,19]],[[671509,653647],[-584,340]],[[670925,653987],[-336,-554],[-2079,1067],[-2911,718],[-1583,83],[-689,813],[-1344,156],[-2721,1248],[-640,3435],[-339,3164],[-470,1093],[-1269,654],[-1961,-1320],[-2095,-2493],[-697,-283],[-1105,1112],[-1504,172],[-697,1289],[-2120,2252],[-599,1737],[-1237,1231],[-1012,122],[-1076,1697],[-1120,5518],[-557,497],[-71,1620],[-1335,2969],[-271,1643],[-1435,-1005],[-1391,1647],[-1410,-2041]],[[634851,682228],[-1577,121]],[[633274,682349],[457,-2431],[-1161,-922],[906,-364],[1086,-4814]],[[634562,673818],[920,-3459],[65,-1391],[1223,-1372],[466,-1847],[1614,-2085],[552,-2512],[-426,-1742],[1462,-6068],[685,-1762]],[[641123,651580],[-116,3883],[668,3180],[720,1018],[780,-1486],[-161,-2238],[324,-2232],[-483,-2842],[-445,-362]],[[642410,650501],[117,-1580],[718,-322]],[[643245,648599],[938,-1782],[958,59],[1103,944],[3459,-460],[1399,1192],[972,3153],[976,1370],[1179,2705],[1163,1752],[386,1592]],[[655778,659124],[971,1567],[-367,-4008]],[[656382,656683],[251,-3978]],[[656633,652705],[701,-3015],[1609,-3244],[3773,-1654],[2659,-6310],[800,-412],[-65,-1712],[-1190,-4272],[-1321,-2287],[-1171,-4182],[-1032,968],[-669,-1932],[-408,-3776],[268,-3494],[-1764,-678],[-1448,-1868],[-290,-2497],[-779,-1274],[-2198,-637],[-622,-1527],[112,-1209],[-643,-2030],[-2766,-198],[-1273,-1454],[-1457,-661]],[[647459,603350],[-2105,-2103],[-427,-1994],[121,-1786],[-1705,-1888],[-2991,-1769],[-1000,-1109],[-2270,-1263],[-838,-1074],[-1055,-2407],[-1884,-13],[-1618,-2289],[-1719,-1162],[-3143,-751],[-1718,-3098],[-1169,8],[-721,-877],[-1190,-312],[-1263,1318],[-676,2536],[141,2209],[-538,2199],[-189,3222],[-844,6515],[340,2236],[-112,2013]],[[618886,601711],[-279,2163],[-876,2284],[-248,1852],[-1511,2670],[-1446,4696],[-315,2393],[-992,3988],[-1884,3025],[-1298,1491],[-1444,4696],[148,1236],[-442,2149],[300,3028],[-246,2235],[-1996,6760],[-1025,1625],[-1046,630],[-1006,3130],[-89,2791],[-1751,4821],[-747,2903],[-1857,4962],[-1113,3569],[-1567,673],[454,2126],[475,5014]],[[597085,678621],[63,1193]],[[597148,679814],[-192,-460]],[[596956,679354],[-467,-1225],[-935,-7432],[-499,-1492],[-1277,1679],[-1424,3081],[-477,2994],[-985,2658],[-432,2679],[-572,-2033],[570,-1448],[185,-2335],[740,-2530],[1803,-3952],[7,-1722],[954,-3306],[183,-2372],[1684,-5675],[1747,-7204],[1638,-3184],[-675,-101],[-50,-2833],[486,-2940],[1477,-1881],[1783,-3744]],[[602420,635036],[154,-2431],[791,-2373],[-51,-6311],[153,-3192],[619,-4513],[1252,-1565],[777,-1816],[1133,-1448]],[[607248,611387],[839,-3424],[642,-4135],[434,-4787],[1352,-4717],[217,2046],[945,-2703],[2701,-2333],[1339,-3775],[1630,-2343],[428,-2222],[1103,-2063],[890,-922]],[[619768,580009],[814,-3073],[-382,-1306],[-1314,-1363],[-721,-1393],[1033,487],[929,-514]],[[620127,572847],[1686,-4239],[1482,-2098],[1546,39],[2427,2365],[2079,-533],[2333,2536],[1706,-205],[1820,1086],[734,-381]],[[635940,571417],[3254,1605],[1895,2692],[1285,-906],[-474,-2933],[157,-4022],[677,-1601],[-1262,-302],[-292,-5376],[-1098,-3454],[-908,-3824],[-697,-1405],[-252,-1795],[-1146,-3964],[-832,-4840],[-1111,-4024],[-1153,-3209],[-719,-2700],[-3046,-7176],[-2299,-4802],[-3141,-3941],[-1632,-2482],[-2403,-4558],[-4133,-9448],[-1242,-4279]],[[615368,494673],[-405,-1018],[-1381,-926],[91,-1009],[-773,-2048],[-1172,-882],[-297,-3331],[-1735,-7274],[-747,-1268]],[[608949,476917],[-1118,-7022],[152,-2688],[1662,-3242],[205,-861],[-716,-2926],[424,-2925],[-381,-2561],[409,-2957],[528,-1478],[396,-4278],[1888,-3258]],[[612398,442721],[412,-1168],[-581,-3972],[358,-3985],[-123,-2888],[260,-850],[-99,-4901],[280,-6374],[478,422],[47,-1919],[-603,-1920],[-164,-2121],[-1250,-2997],[-734,-2703],[-1673,-2115],[-439,-1068],[-2609,-1600],[-2502,-2944],[-2548,-6240],[-1877,-2196],[-1954,-3844],[-534,-55],[-141,-3859],[771,-1973],[792,-5004],[321,-4761],[307,1954],[227,-4967],[-569,-4947],[476,-156],[-288,-2054],[-784,-2193],[-1524,-1658],[-3500,-2605],[-1542,-2272],[-561,-2131],[718,-1564],[295,1093],[-191,-4536]],[[591350,345650],[-976,-8001],[-692,-2499],[-1410,-1869],[-1230,-2613],[-2907,-9432],[-3980,-7845],[-2765,-4500],[-2175,-2769],[-1800,-1412],[-1222,286],[-976,-1776],[-1765,222],[-488,-1157],[-3449,1089],[-882,-569],[-1984,421],[-856,-350],[-1269,-1798],[-2024,47],[-1473,-583],[-1415,-1911],[-1071,192],[-1491,2389],[-741,-83],[-63,1516],[-1269,-476],[314,1781],[-566,2762],[-1139,3520],[1110,1039],[167,3138],[-278,2251],[-1482,4286],[-1356,5446],[-664,4126],[-1396,4656]],[[545687,335174],[-2024,3861],[-1048,3432],[-1038,6330],[-341,3509],[-22,4103],[-932,4925],[-77,5455],[-196,1855],[340,1573],[-567,3037],[-968,2502],[-1452,5041],[-784,4337],[-1972,7452],[-1007,2286],[-889,3195],[-91,4457]],[[532619,402524],[211,3230],[-189,5168],[603,1172],[868,5904],[750,7107],[964,2430],[238,1493],[1205,1513],[1023,4192],[173,4493],[-351,2493],[-505,1261],[-917,4251],[-585,3881],[1001,2138],[54,1881],[-1434,6741],[-108,1642],[-839,2159],[-608,2949],[2127,1349]],[[536300,469971],[-1824,-720],[-550,1349]],[[533926,470600],[-101,2571],[-441,1898]],[[533384,475069],[-669,2598],[-1798,3848]],[[530917,481515],[-2174,5350],[-1634,2931],[-1279,3647],[-730,3520],[785,-1915],[568,200],[-1274,1777],[-676,3495],[876,800],[445,1316],[14,3790],[1375,-1447],[568,893],[-1264,598],[-615,1518],[814,145],[-75,2698]],[[526641,510831],[-569,636],[1169,4669],[-17,2234]],[[527224,518370],[410,4588],[-1090,4260],[510,326],[-711,1263],[-162,-852],[-1181,1003],[-228,2738],[-955,-164],[-51,1357]],[[523766,532889],[-895,902],[165,-2073],[-2802,-59],[-753,-890],[-2602,-632],[-1358,2112],[-568,2855],[7,1616],[-1458,3700],[-1193,1909],[-849,372],[-3944,-250]],[[507516,542451],[-3010,-903]],[[504506,541548],[-1210,-755]],[[503296,540793],[-658,-1653],[-1917,-314],[-1691,-1520],[-1246,-1624],[-2336,-1456],[-1009,-1294],[-1103,989],[-1987,944]],[[491349,534865],[76,235]],[[491425,535100],[187,14]],[[491612,535114],[-606,1212],[-305,-1213],[-2146,1061],[230,-471],[-2396,-544],[-344,387],[-2473,-1142],[-2803,-2207],[-1728,-1701]],[[479041,530496],[-1983,1414],[-2426,2753],[-3179,6061],[-1413,1377],[-177,918],[-1229,1322],[-600,1294]],[[468034,545635],[-627,1078],[-2091,1764],[-68,1655],[-1030,1131],[-210,1711],[-533,410],[-400,4945]],[[463075,558329],[65,719],[-1077,2776],[-91,1710],[-2047,1899],[-970,4048],[-743,50]],[[458212,569531],[-31,1196],[-940,446],[-116,4303],[-1068,-1067],[-387,1162],[-877,110],[-124,981],[-1091,1251]],[[453578,577913],[-143,4202]],[[453435,582115],[-172,1641],[746,-225],[3107,1067],[-1937,-207],[-848,-564],[-338,1387]],[[453993,585214],[-1143,4834],[-540,1407],[-1021,678],[1080,989],[843,2204],[856,3225]],[[454068,598551],[-2,2657],[526,3789],[744,3670],[134,2026],[-151,3752],[-357,2856],[-836,2125],[642,2519],[202,2611],[-609,2515],[-535,-108],[-705,2678],[-478,-1659]],[[452643,627982],[108,3383]],[[452751,631365],[217,3098]],[[452968,634463],[1591,4114],[411,2982],[1124,3861],[-259,562],[2390,4173],[508,1913],[170,3155],[1057,5033],[2329,2852],[888,4144]],[[463177,667252],[223,1310]],[[463400,668562],[630,1531],[2675,1275],[1544,1497],[970,1965],[1651,2081],[1760,4409],[516,1778],[40,2004],[-618,1602],[185,4187],[1281,3920],[283,2880],[1804,3642],[819,1109],[2053,1575],[1837,1948],[1522,4781],[1190,5982],[1797,693],[-167,-933],[1390,-2749],[1410,-709],[1768,702],[1353,-242],[650,996],[368,-1656],[1723,-140]],[[493834,712690],[851,-59],[1603,1600],[1163,1802],[1365,1144],[1317,231],[1297,2140],[2062,1528],[3711,480],[1053,1089],[2241,662],[2719,1],[1852,-1309],[2290,1557],[660,874],[1225,-985],[768,1024],[1961,-1398],[1851,479]],[[523823,723550],[3088,2388],[1412,-797],[600,-2808],[1782,2018],[202,-1175],[-1670,-3263],[181,-2584],[1149,-1501],[322,-2332],[-1626,-4120],[-1306,-1974],[262,-2142],[1566,-1988],[1005,287],[328,-1859],[839,-398]],[[531957,701302],[2153,-1916],[1316,-341],[1472,673],[2649,-1382],[767,-1009],[1843,-710],[507,-1371],[381,-2980],[582,-1365],[1159,-959],[1829,-295],[1577,-789],[2336,-1802],[2073,-2885],[986,-14],[1172,1187],[1215,3497],[-624,4378],[542,2377],[1388,2141],[2819,2116],[1532,-113],[2509,-1775],[544,-2399],[1420,-326],[922,-886],[1540,40],[947,-786],[349,-1352]],[[569862,692256],[644,-843],[1419,641],[3763,-1440],[1999,-1662],[1520,-278],[1548,-1304],[3675,3716],[1685,31],[140,763],[1312,-790],[1013,493],[-328,-1475],[919,-1183],[616,967],[777,-1110],[3609,665],[821,839]],[[594994,690286],[776,1554]],[[595770,691840],[558,1842],[1195,7038]],[[597523,700720],[1398,5619],[100,1280],[912,2257]],[[599933,709876],[-92,3523],[-496,2060],[356,2044]],[[599701,717503],[-227,2330],[1049,2068],[-388,1491],[-1421,-1858],[-2600,1111],[-2518,-3569],[-2500,-866],[-1158,875],[-989,2084],[-1859,1574],[-1968,383],[-446,-3290],[-2207,-910],[-1516,1425],[-292,1755],[-2040,702],[-1800,-814],[1629,2100],[-2481,-56],[517,855],[-878,1334],[-392,1769],[429,1724],[-2616,1769],[619,2087],[226,-1250],[1399,-17],[-930,1741],[694,1050],[-921,2402],[403,1604],[-1983,-566],[189,3096],[1547,2430],[1518,328],[530,-803],[4388,617],[-270,1223],[2464,637],[-1334,422],[-887,1174],[285,1265],[2143,-416],[1182,273],[1292,-664],[1236,135],[564,1259],[2357,2426],[2985,1706],[3804,-360],[711,631],[809,-1983],[2094,-273],[354,-1516],[918,-972],[745,598],[801,-1061],[3652,-1540],[2904,1078],[2330,-859],[1929,1482],[1529,1812]],[[615305,750685],[703,2681],[-762,4084],[-1812,2395],[-2384,2111]],[[611050,761956],[-3503,5143],[-1489,780],[-916,1654],[-1222,217],[-574,1401],[-1539,916],[807,967],[1961,517],[61,1641],[959,2333],[1327,253],[-2016,3233],[2041,163],[-174,885],[2375,1733],[-272,967],[-2726,-1051]],[[606150,783708],[-1863,-100],[-566,-935],[-2945,-1529],[-1257,-203],[-1519,-2044],[-138,955],[-1058,-1485],[481,-2897],[1487,-2311],[1701,843],[1124,-353],[-505,-1944],[-1453,-356],[-1105,552],[-1069,-1754],[-1030,27],[-2241,-2485],[-1276,983],[290,3224],[-1768,1484],[-1141,330],[3214,3218],[-1285,1355],[-2015,-546],[-1936,1428],[2217,1723],[-2905,291],[-2044,-667],[-1604,-4060],[-1715,-1092],[290,-2503]],[[582516,772857],[-412,-2468],[-1415,-508],[-1,996],[-1118,-3732],[-167,-3279]],[[579403,763866],[-333,-2091],[-921,37],[-569,-1241],[-112,-2585],[-1122,-1669],[1471,-2956]],[[577817,753361],[922,-2978],[1975,-1402],[-769,-1514],[-1690,631],[-1868,-637],[-671,-1694],[-1350,-1121],[-1581,-2504],[142,1418],[1495,1848],[-1907,-91],[-185,684]],[[572330,746001],[-2596,1587],[-865,-812],[-878,534],[-1096,-1325],[-888,141],[289,-1951],[-562,-1154],[-979,-43],[-1896,1653],[-103,-2717],[1934,-4432],[-1249,-179],[352,-1349],[-1025,-832],[1823,-1358],[1983,-2288],[246,-3350],[-1319,1783],[-1512,-783],[1258,-2596],[-910,-630],[-1211,1234],[748,-3118],[-33,-2888],[-564,1527],[-1122,-499],[-821,1937],[-522,-1728],[-860,2036],[-32,2726],[-1204,1855],[738,2029],[1170,779],[3043,-2191],[635,1290],[-2020,1555],[-2637,-694],[-998,375],[-926,3696],[-1330,1888],[-832,2265]],[[555559,739974],[-416,1979],[-1020,986],[-388,2442],[323,1843],[-57,2912],[380,2149],[-653,484]],[[553728,752769],[-2291,3340]],[[551437,756109],[-2361,2750]],[[549076,758859],[-229,244]],[[548847,759103],[-1894,2690],[-1415,895],[-1134,-140],[-2396,4366],[966,90],[-1599,2575],[-113,2217],[-1505,1523],[-964,-2975],[-934,1614],[-143,2422]],[[537716,774380],[394,419]],[[538110,774799],[-254,1086],[-3761,-1925],[-135,-1212],[827,-1620],[-764,-1455],[411,-2954],[819,-1357],[2425,-2509],[1239,-5224],[2377,-3774],[841,-702],[2209,32],[520,-1072],[-385,-1914],[3030,-2211],[2365,-2411],[1475,-3261],[-395,-1679],[-738,685],[-591,2033],[-2603,1054],[-1106,-3545],[188,-1308],[1436,-1530],[167,-2267],[-1710,-1678],[-38,-1811],[-1357,-2768],[-923,-16],[688,4582],[624,276],[-481,3522],[-920,3771],[-2060,1474],[-515,2544],[-1842,941],[-1025,2420],[-1791,48],[-1272,1338],[-2760,4846],[-947,804],[-1633,3039],[-1835,6419],[-2107,1774],[-1454,611],[-1901,-2982],[-1634,-900]],[[520814,764013],[-644,-421]],[[520170,763592],[-2132,-3121],[-1050,-574],[-1970,925],[-964,1280],[-1197,-341],[-1600,1220],[-2205,-2369],[-575,-1646],[443,-2868]],[[508920,756098],[102,-2884],[-3237,-3892],[-2916,-1335],[-3078,-7027],[-701,-2109],[340,-2709],[1129,-1798],[-1619,-1917],[-737,-1681],[-487,-3383],[-1404,-117],[-1306,-1945],[-1083,-2887],[-6054,-162],[-853,-1254],[-1382,-490],[-1261,-2357],[-1154,963],[-1254,4539],[-1089,1420],[-1449,-88]],[[479427,724985],[-1189,-1029],[-2121,685],[-1111,-528],[510,2361],[-186,6019],[-923,8],[215,1746],[-939,-71],[276,3599],[629,1210],[726,3773],[642,5036],[-618,4755],[280,646]],[[475618,753195],[240,1973],[-656,3107],[-856,1057],[1004,2118],[1736,621],[-23,833],[1553,1093],[1211,-1006],[4434,-72],[3174,-988],[2552,615],[1552,-876],[474,491],[1495,-749],[1507,470]],[[495015,761882],[860,927],[664,5901],[458,5762],[873,-1292],[-736,2528],[-319,3379],[-1778,1205],[-1140,3840],[615,875],[-1466,8],[210,941],[-4092,2172],[-1143,-86],[-1018,1283],[970,772],[-1087,2192],[4136,1783],[1499,-1801],[684,661],[2971,25],[-525,906],[-49,2351],[-759,2852],[1660,-21],[334,-1732],[2708,-540],[1613,898],[-640,1509],[2941,1748],[965,1505],[-38,2885],[926,1491],[1701,631]],[[507013,807440],[2292,1662]],[[509305,809102],[2434,52]],[[511739,809154],[-2159,914],[2038,411],[-655,1187],[1488,2953],[544,2967],[3844,3539],[2094,202],[1059,-942]],[[519992,820385],[243,2365],[2012,54],[1342,-1044],[352,2136],[998,304],[-73,3208],[-750,1921]],[[524116,829329],[-57,1149]],[[524059,830478],[-126,2562],[-1344,1075],[88,5966],[1409,-658],[280,1359],[-1356,754],[930,1534],[2599,718],[1134,2065],[1586,915],[-26,-2916],[-670,-3689],[1564,-587],[29,-1339],[-1493,-489],[-377,-2060],[-1645,-2204],[-381,-2688],[699,-660]],[[526959,830136],[112,-716]],[[527071,829420],[1105,-1889],[1633,-1020],[783,373],[-265,-2274],[1338,-301],[1977,1326],[1289,1771],[1259,-333],[1165,-1601],[767,73],[393,-1776],[1068,-720]],[[539583,823049],[660,-355]],[[540243,822694],[-380,1107]],[[539863,823801],[-496,92]],[[539367,823893],[109,450]],[[539476,824343],[5485,2015],[1038,1561],[1950,1041],[2949,643],[962,-2413],[851,-485],[1745,652]],[[554456,827357],[1028,2738],[1516,437],[1054,1728]],[[558054,832260],[-112,-611]],[[557942,831649],[-735,-1191],[1650,-280],[95,1022]],[[558952,831200],[37,968]],[[558989,832168],[-528,4734]],[[558461,836902],[70,4464],[1826,4428],[2294,908],[2035,-3759],[1789,-482],[1311,1874],[-224,3233]],[[567562,847568],[574,2866],[-2116,39],[-932,3317],[174,1629],[2461,1641],[2954,287],[182,699],[4070,-1117],[2883,200]],[[577812,857129],[4,1425],[2592,616],[556,1013],[2709,-748],[-1115,1906],[-1811,-23],[-1183,1090],[-362,1789],[-1987,-836]],[[577215,863361],[-1544,15],[-4404,-1218],[-3649,-1723],[-2442,-333],[-1657,1361],[-1123,-1106],[339,2081],[-3191,1279],[-210,2198],[682,3698],[-972,2359],[-423,3752],[1520,2466],[-294,978],[2152,629],[590,1999],[1990,1471],[2860,3668],[777,1693],[2028,351],[166,3667],[-3312,1931]],[[567098,894577],[-2925,-414],[-2045,636],[-312,-1452],[-1912,-1123],[42,-1465],[-1229,-2086],[1059,-2047],[-2102,-3527],[-3913,-2313],[-2077,-1772],[-398,-1673],[-1577,-387],[394,-1363],[-1296,-886],[-1222,-5185],[334,-5184],[1958,-658],[2309,-3023],[509,-1909],[-2795,-2357]],[[549900,856389],[-432,1148],[-1213,-340],[-2217,687],[-1193,-972],[2137,-11],[1086,-1029],[1875,337]],[[636756,779239],[-2981,-3555],[-1749,-1226],[-1238,-4225],[-913,-950],[1684,-3929],[410,-2866],[-127,-2813],[3082,-7052]],[[634924,752623],[1483,-3216],[333,-1632],[1526,-2620],[596,-43],[1043,-1761],[-1242,219],[-1021,-725],[-977,-6644],[-517,364],[-452,-1888],[50,-2251]],[[635746,732426],[589,-4549],[1081,-1013],[1835,-530],[1118,-2331],[1626,-1606],[1788,-759],[1189,43],[3289,1463],[1655,-299],[-155,3112]],[[649761,725957],[-252,3462],[172,5546],[-502,2047],[-1522,329],[219,2035],[1021,-365],[-322,2147],[-1636,19],[-457,2880],[583,3788],[560,-1262],[1306,-39],[412,-905],[1705,163],[924,1173],[-328,1791],[-1381,1931],[-690,3387],[-1895,16],[-540,-697],[-300,-4539],[-1022,3379]],[[645816,752243],[-89,1897],[374,3908],[-1766,535],[-958,1824],[-890,93],[17,1826],[-1308,4208],[-1388,787],[-93,1517],[1563,280],[1898,-579],[-1349,1662],[-49,1000],[1043,2237],[3098,241],[1859,-395],[-1185,1427],[1004,3666],[97,2829],[-706,1690],[-1202,215],[-1105,-895],[-2520,1603],[-2108,-1367],[-1165,-1452],[-1812,-682],[-320,-1079]],[[579890,406773],[-220,141]],[[579670,406914],[-1105,-546],[-671,-1286],[-690,-10],[-2147,-6749]],[[575057,398323],[576,1214]],[[575633,399537],[498,1027]],[[576131,400564],[826,2210],[951,844],[287,1338],[1698,181],[628,1169],[-631,467]],[[596829,424051],[8,920]],[[596837,424971],[-448,7467],[713,2757]],[[597102,435195],[-55,1606]],[[597047,436801],[-915,2270],[165,1707],[-397,4516],[-565,1769],[-903,1399],[-117,-964]],[[594315,447498],[86,-2168],[765,-2509],[-181,-705],[342,-6592],[-719,-2188],[41,-1803],[711,-3505],[-25,-2578],[835,-2199],[-59,-2417],[712,855],[1187,-2077],[-633,3686],[-548,753]],[[583319,439012],[-188,1258],[-1007,-1653],[65,-1400],[914,550],[216,1245]],[[590316,457091],[-1354,2401],[-631,-116],[447,-1971],[1538,-314]],[[581104,494978],[-351,228],[-450,-2385],[-164,-2606]],[[580139,490215],[167,89]],[[580306,490304],[1242,2470],[-300,1659]],[[581248,494433],[-144,545]],[[594373,505981],[-82,25]],[[594291,506006],[-1283,3],[-822,1245],[-139,-1043],[-2578,-1442],[-719,-834],[122,-1120],[-754,-2779],[125,-863]],[[588243,499173],[42,-439]],[[588285,498734],[229,-485],[-558,-4978],[429,-5130],[1171,3050],[1584,-1374],[713,620],[968,-717],[1092,2009],[-1480,404],[689,756],[-629,442],[819,952],[209,1512],[615,-40],[118,1925]],[[594254,497680],[365,913]],[[594619,498593],[45,2690],[383,818],[1656,983],[-266,1090],[-1202,-1532],[-841,2220],[-21,1119]],[[550098,499048],[149,1643],[-772,44],[623,-1687]],[[582340,501712],[626,1212]],[[582966,502924],[-236,1073]],[[582730,503997],[-387,11]],[[582343,504008],[-409,-359],[-361,-2723],[767,786]],[[580912,453401],[-726,882],[-1388,-3483],[-94,-2068],[1006,317],[1202,4352]],[[586662,453459],[-41,293]],[[586621,453752],[-1610,6282],[-212,3670],[-1086,2711],[-477,-209],[-675,1517],[627,2047],[-544,2923],[168,1754],[-569,1196],[94,2477]],[[582337,478120],[31,410]],[[582368,478530],[-801,3341],[-183,2968]],[[581384,484839],[-285,99]],[[581099,484938],[-369,-5798],[532,1280],[-362,-2874],[-21,-3186],[709,-2918],[-506,-1768],[893,-4769],[1766,-3432],[410,-3397],[794,-1827]],[[584945,456249],[-19,-482]],[[584926,455767],[-303,-1397],[928,-402],[684,-1335],[427,826]],[[593018,514450],[-202,523],[-1153,-1089],[-1262,-151],[1988,-1771],[-373,1661],[1002,827]],[[586953,517904],[-123,-430]],[[586830,517474],[-2165,-4070],[-5,-1348]],[[584660,512056],[322,-1170],[1043,2878],[1196,2183],[-268,1957]],[[605708,543686],[-517,-515],[-73,-2474],[733,2227],[-143,762]],[[500755,544260],[92,2515],[-132,4775],[-564,-668],[-1498,2472],[-1767,4265],[904,-3637],[1675,-2135],[-283,-1706],[850,-738],[478,-1638],[-200,-2189],[-850,-921],[-1222,72],[2049,-2460],[468,1993]],[[601901,519752],[-90,1900],[-625,906],[-572,2734],[-131,6867],[-621,-468],[-287,-4607],[330,-2413],[1272,-3754],[308,-1698],[416,533]],[[513014,566127],[-597,1548],[-7,-3130],[530,-1266],[74,2848]],[[790472,578337],[-362,1765],[-571,235],[-705,2460],[-782,165],[298,-1542],[1254,-2269],[868,-814]],[[540322,581615],[423,1277],[-906,-197],[-187,-1535],[670,455]],[[603570,574593],[283,-961],[568,2872],[-365,1103],[-1012,-223],[-261,-2127],[787,-664]],[[785773,614477],[-978,844],[245,-1141],[733,297]],[[589539,639047],[271,-551],[1877,3887],[-268,2056],[-1140,-4893],[-926,179],[-1993,-3425],[-939,-3194],[577,837],[905,2959],[1140,2091],[496,54]],[[752585,676072],[-1025,1705],[79,-2453],[946,748]],[[824182,677333],[-1536,690],[124,2955],[-646,-2607],[368,-1217],[1202,-1253],[488,1432]],[[835004,688893],[-392,-39],[-672,2672],[-642,-830],[-27,-1781],[1157,-714],[576,692]],[[750960,685556],[1857,1866],[-196,502],[-1819,-456],[158,-1912]],[[632245,686535],[-2077,1346],[-107,-1133],[2184,-213]],[[738577,687953],[-1352,630],[-67,-767],[1247,-724],[172,861]],[[748104,693080],[-970,734],[-1117,-439],[1587,-1436],[500,1141]],[[831685,699001],[-162,1684],[-748,-1323],[910,-361]],[[749194,703001],[333,-1261],[388,1327],[-721,-66]],[[621884,698374],[-912,2321],[-189,-2590],[862,-635],[239,904]],[[741047,689360],[-98,1041],[-960,-2790],[1058,1749]],[[731194,691121],[-361,1115],[-731,-517],[1092,-598]],[[827614,691459],[-1739,1048],[424,-1368],[1315,320]],[[770743,711929],[-1115,128],[456,-1016],[659,888]],[[771908,711114],[-346,1481],[-599,-1257],[945,-224]],[[779868,722801],[-1328,2011],[-885,400],[-850,-1816],[857,-1378],[2071,-529],[135,1312]],[[626850,728317],[-640,381],[-219,2714],[-698,0],[719,-6148],[475,-543],[895,1727],[-532,1869]],[[619412,731894],[916,848],[-73,1920],[-2128,-401],[-480,-1454],[1470,-136],[295,-777]],[[592937,734903],[-423,1618],[-409,-2100],[1042,-1478],[390,1123],[-600,837]],[[750778,745730],[-534,277],[670,-3123],[-136,2846]],[[624971,744746],[897,-2169],[941,273],[-774,1684],[-1064,212]],[[688863,749129],[401,-1223],[890,346],[-1291,877]],[[829457,701243],[710,1093],[-1035,1086],[-870,-1953],[24,-1928],[1171,1702]],[[620169,704535],[573,1320],[-1115,1822],[542,-3142]],[[868915,771622],[-4,576]],[[868911,772198],[-637,875],[-1411,-56]],[[866863,773017],[-184,-432]],[[866679,772585],[179,-2794],[823,-1261],[1234,3092]],[[728146,775844],[-613,3476],[-1063,599],[-286,-2349],[1962,-1726]],[[719418,781676],[-2373,-910],[-4556,241],[-1862,1081],[-1109,-477],[-2226,87],[-1475,-1921],[-313,-1431],[-1495,-3136],[1878,-3895],[-53,3183],[525,674],[-32,2094],[1371,615],[324,1592],[1433,1380],[576,-606],[1742,282],[2404,-597],[904,269],[1633,-929],[2424,160],[922,2078],[-642,166]],[[598330,772830],[-1552,3481],[-238,1599],[-2940,519],[1851,-1185],[1771,-2191],[248,-1615],[860,-608]],[[519093,779803],[-793,572],[-699,-995],[1492,423]],[[598060,786080],[-477,2063],[-370,-1496],[-2947,-274],[-691,-4032],[1396,3312],[1118,595],[1023,-674],[948,506]],[[527029,786288],[-240,234]],[[526789,786522],[-1282,617]],[[525507,787139],[1032,-944]],[[526539,786195],[490,93]],[[825635,792558],[1620,3199],[-490,1285],[-1798,-2969],[668,-1515]],[[757740,790146],[-2251,-998],[622,-1428],[1629,2426]],[[734765,788675],[-2596,2000],[-262,2671],[340,1138],[1998,1271],[-1664,2431],[446,1097],[-1459,-559],[2041,-2300],[-1745,-2249],[-101,-3485],[-1101,-120],[3342,-3218],[761,1323]],[[760553,795780],[-1500,966],[-1096,-395],[1480,-1392],[1116,821]],[[592130,795130],[-1395,3067],[-92,-920],[-2031,776],[2414,-2351],[1104,-572]],[[662809,774782],[-63,-283]],[[662746,774499],[-880,-3290],[-81,-2711],[618,-374],[836,1696],[-121,4023]],[[663118,773843],[104,375]],[[663222,774218],[640,1702],[1079,-1224],[186,-2401]],[[665127,772295],[-179,-732]],[[664948,771563],[-498,-1754],[1691,-3336],[620,1333],[58,2571]],[[666819,770377],[23,2136]],[[666842,772513],[-175,2227],[-643,9],[218,1988],[1582,-394],[2240,2499],[162,813],[-1538,1592],[-1140,68],[-663,-1693],[1804,3],[-214,-1962],[-2400,103],[-1211,-2325],[-46,1648],[-1706,-751],[-303,-1556]],[[742708,752661],[-166,982],[-1185,542],[-376,-1675],[1727,151]],[[703585,752117],[-1682,832],[-17,-1401],[1699,569]],[[660075,754430],[-215,659]],[[659860,755089],[-770,252],[-497,-1984]],[[658593,753357],[-112,-1155]],[[658481,752202],[812,-1186],[1311,750],[-529,2664]],[[553592,755111],[-214,-628]],[[553378,754483],[495,-417]],[[553873,754066],[-86,1194]],[[553787,755260],[-195,-149]],[[717506,757030],[-149,861],[-2533,-379],[-3085,-1239],[102,-788],[1829,-813],[1647,-51],[2189,2409]],[[516297,816124],[-1241,1845],[-1057,-3142],[1265,-546],[1033,1843]],[[703851,819125],[51,1726],[-1161,44],[1110,-1770]],[[634409,825632],[1183,-1358],[145,-1724],[943,-1659],[1879,699],[-2208,287],[365,2372],[1415,1722],[-1964,-1244],[-1308,1336],[874,1313],[401,3009],[1077,272],[1377,1644],[3786,1378],[-3237,-375],[-2032,-734],[-1385,-1939],[-318,-1994],[-914,-462],[-79,-2543]],[[554900,827208],[1780,1468],[-1158,167],[-1782,-2619],[1160,984]],[[787591,822480],[-1194,3030],[438,1154],[-296,2720],[582,2473],[-947,5896],[-1558,234],[-2102,-1663],[761,-2664],[18,2978],[1444,772],[1153,-552],[976,-4508],[-665,-3079],[514,-1751],[-596,-2483],[754,-2311],[277,-3377],[441,3131]],[[713185,829568],[-35,-687],[2794,-326],[857,1577],[-1329,746],[-2287,-1310]],[[607446,848975],[857,2297],[-657,304],[-3077,3613],[-399,-1849],[1374,100],[216,-1895],[-2564,1819],[3079,-4609],[1171,220]],[[587585,849699],[-646,1460],[-1172,-1555],[1818,95]],[[576897,854139],[-443,162]],[[576454,854301],[-1548,-1193],[1826,-4688]],[[576732,848420],[152,25]],[[576884,848445],[395,2763],[-382,2931]],[[541480,852979],[-1184,-1323],[-1071,-3768],[344,-681],[1911,5772]],[[545566,856089],[-2918,-151],[1284,-796],[1634,947]],[[538995,854750],[20,1368],[-2508,170],[280,-2440],[-1181,897],[-539,-4145],[1156,1315],[2108,700],[664,2135]],[[574388,886199],[1329,-1605],[1852,1547],[-3181,58]],[[808666,875704],[-89,-3371],[864,42],[70,3529],[-604,2084],[1769,920],[-988,-1704],[1908,-641],[736,1839],[-1092,1421],[-2668,-1308],[-1701,923],[-963,1693],[843,-3241],[1968,-830],[-53,-1356]],[[601163,868433],[-2027,3839],[141,2843],[-3354,2343],[246,-1205],[2030,-1123],[560,-1699],[-1394,-144],[-1142,1644],[-29,-4945],[2298,-1770],[1032,-2898],[1572,2012],[67,1103]],[[575103,870033],[-456,1418],[-1619,-283],[2075,-1135]],[[565308,868591],[687,2172],[1572,1448],[-398,753],[-1313,-1732],[-548,-2641]],[[574860,877079],[-457,-1440],[-2353,-868],[458,2157],[-1308,-1179],[806,-1433],[-2040,-5057],[865,-1794],[573,2204],[-180,2069],[654,1513],[3076,2356],[-94,1472]],[[581993,872761],[1135,1841],[-1847,695],[192,-2281],[-3509,461],[-859,2011],[1692,22],[-591,2050],[-2474,1261],[823,-1749],[-36,-2598],[978,-1509],[2521,-1952],[-1514,-494],[-577,-1386],[-660,1288],[-1517,-2391],[2228,-540],[-349,-980],[2557,1064],[-381,2511],[1023,-550],[1885,1843],[-720,1383]],[[597257,880953],[-1849,2047],[1683,-3970],[166,1923]],[[592892,880587],[-374,-949],[2109,-325],[-1735,1274]],[[583315,879692],[-2504,1663],[836,-2316],[1169,-221],[1433,-1873],[-934,2747]],[[590325,892960],[-1483,2117],[-1322,-558],[2805,-1559]],[[550002,895031],[-92,1328],[-1727,-154],[1819,-1174]],[[580190,897575],[-2219,-1640],[1544,169],[675,1471]],[[755379,910475],[-7289,-911],[1729,-560],[6655,1098],[-1095,373]],[[744889,916455],[-2083,2995],[881,-2910],[1202,-85]],[[780618,942300],[1406,549],[-1870,3023],[3704,-1323],[-412,1551],[8865,1674],[-2125,1828],[-648,-1651],[-2725,-820],[-4020,-206],[-4747,1302],[1105,-1681],[-2744,-1047],[3870,-856],[341,-2343]],[[579019,915436],[-3570,-2388],[840,-960],[2478,660],[252,2688]],[[748524,915745],[1750,953],[4056,-718],[-3761,1228],[-3777,-1505],[1732,42]],[[589764,898704],[-271,1975],[-1256,137],[1527,-2112]],[[584338,890689],[964,-760],[2410,692],[-3374,68]],[[603422,861159],[2045,-467],[-643,1444],[-1402,-977]],[[582879,867448],[1589,-1766],[1945,-4630],[961,-1418],[679,1946],[2225,-351],[1233,2762],[-1159,2814],[-2642,1894],[-2011,2000],[-2820,-3251]],[[779963,809216],[-1131,409],[-518,-5760],[697,440],[952,4911]],[[756434,802727],[791,-1756],[2112,1637],[-1302,2231],[-1826,-1453],[225,-659]],[[692465,805016],[-1413,-1035],[-246,-1466],[1570,-68],[-579,1015],[668,1554]],[[805177,833755],[-802,1378],[-1061,-1398],[-62,-2025],[-3079,-7966],[-1466,-2430],[-1286,-1172],[-1723,-3464],[-1088,-858],[-2485,-3589],[-3818,-1032],[1665,-1374],[1211,-59],[2699,1251],[1080,1513],[354,2173],[4538,2709],[1981,3088],[750,253],[-264,2743],[1133,362],[866,1690],[-183,1343],[1040,6864]],[[292109,640353],[-1063,1606],[183,1013],[880,-2619]],[[752159,635584],[-729,-143],[459,1554],[-494,3009],[472,-131],[544,-1945],[-252,-2344]],[[284284,648382],[233,-3023],[-549,79],[-635,2768],[951,176]],[[856273,662620],[-854,-1163],[-828,-2143],[211,2010],[1460,2654],[11,-1358]],[[285484,658185],[54,3465],[-910,2455],[1298,-2211],[-442,-3709]],[[281964,663072],[1525,90],[-2020,-1408],[495,1318]],[[656077,664210],[-649,-1303],[-1687,-315],[2408,2105],[-72,-487]],[[836135,638730],[-470,-4119],[-718,2555],[-710,1103],[-704,3598],[241,3313],[1308,4559],[1141,3284],[1536,1437],[932,-1787],[-805,-4998],[-450,-4183],[-505,-2710],[-796,-2052]],[[284045,651095],[-4,-1445],[-833,-1043],[-1084,2015],[766,2339],[512,370],[643,-2236]],[[450460,673524],[-463,1570],[712,168],[-249,-1738]],[[188325,676558],[-210,-1398],[-654,463],[122,1897],[742,-962]],[[185678,676836],[-1180,2138],[-19,947],[1070,-1606],[129,-1479]],[[838507,691292],[-1462,897],[355,668],[1107,-1565]],[[634098,680225],[-539,1034],[287,1066],[252,-2100]],[[457220,671475],[32,-1616],[-892,-536],[76,2191],[784,-39]],[[859589,671840],[-799,241],[1458,1587],[-659,-1828]],[[454626,672853],[-899,-2209],[-687,1970],[2184,1117],[-598,-878]],[[460564,671605],[674,3389],[352,-926],[-279,-1965],[-747,-498]],[[577340,717578],[-351,1436],[1432,1552],[-400,-2182],[-681,-806]],[[594456,712459],[-2952,-2899],[-1368,910],[-367,1326],[1099,1290]],[[590868,713086],[636,1300],[1436,-323],[2790,1526],[-1447,-1786],[173,-1344]],[[874812,707856],[-735,35],[935,1481],[-200,-1516]],[[566256,715245],[1279,-1017],[1135,362],[2095,-703],[748,-969],[1175,429],[212,-1009],[-4012,-653],[-253,916],[-2292,930],[-934,1004],[847,710]],[[543268,731152],[-1325,-4513],[541,-2638],[-505,-1929],[-1697,657],[-997,1807],[-659,-18],[-4083,4261],[830,2152],[467,-878],[715,921],[1449,-1123],[2290,265],[944,747],[2030,289]],[[884288,728792],[-272,1022],[715,1904],[198,-1484],[-641,-1442]],[[557256,732117],[414,-1853],[-980,1577],[566,276]],[[572483,731138],[-689,2109],[873,-197],[-184,-1912]],[[300269,747979],[-3587,-2408]],[[296682,745571],[-2327,-92]],[[294355,745479],[1273,1664],[4641,836]],[[526334,758316],[195,-4003],[-1012,-4413],[-1052,1205],[-672,4558],[409,1138],[2132,1515]],[[508736,740452],[844,-171],[-1045,-2725],[-1949,1847],[2188,2117],[-38,-1068]],[[555771,738334],[-1191,1739],[527,556],[664,-2295]],[[565042,735526],[1899,-1704],[491,-2672],[-1436,1073],[-1407,2370],[-1061,411],[1514,522]],[[573361,737722],[483,-1765],[-1176,-33],[-879,1032],[1572,766]],[[570660,741596],[-224,-1038],[-831,1135],[1055,-97]],[[511926,740758],[-1253,797],[1065,332],[188,-1129]],[[526755,746921],[481,-2266],[-523,-6785],[-363,-1273],[-1194,591],[-486,-1933],[-647,81],[-640,1653],[359,3754],[-211,2686],[-782,2127],[96,1550],[965,-374],[1824,2411],[1121,-2222]],[[864373,703794],[1134,295],[355,-889],[-481,-1352],[998,-116],[222,-2433],[-679,-1487],[-1097,-7039],[-1811,-2308],[289,1504],[-373,2662],[-184,-3198],[-1078,671],[337,1834],[-355,2899],[1238,3131],[-717,2804],[-708,73],[133,-1502],[-967,-746],[-685,3027],[222,762],[1957,1597],[331,1186],[1304,221],[615,-1596]],[[452247,699446],[1382,-656],[-1327,-214],[-55,870]],[[850907,701549],[29,1403],[1566,324],[-78,-1031],[-1517,-696]],[[873214,707667],[778,-176],[282,-2406],[-1005,-1257],[-543,-2139],[-1527,1562],[-961,-894],[-858,-3069],[-931,-471],[-408,913],[-229,3044],[-909,-535],[1549,2073],[392,1792],[971,-386],[1245,532],[344,1305],[1027,717],[783,-605]],[[892303,749827],[628,190],[20,-4701],[929,-1896],[502,-2646],[-214,-4344],[-674,-808],[-530,-3381],[-997,-393],[-501,-2300],[301,-2858],[-190,-2756],[-946,-2958],[-16,-2628],[701,-1980],[-1157,-1272],[-114,-1441],[-1378,-2177],[-261,2353],[722,1444],[-699,697],[-552,-3057],[-1074,805],[-454,-2600],[-690,-1303],[-97,2107],[-626,661],[-1078,-2904],[-1794,403],[-1338,-483],[592,1124],[-1084,198],[-91,1503],[-886,-2259],[891,-2099],[-1455,-872],[-1149,-3644],[-1287,-50],[-771,2042],[-209,2313],[791,1256],[-1791,1569],[-1477,-400],[-667,-1010],[-2294,-1332],[-2512,-447],[-255,-2300],[-1127,1264],[-2282,-452],[237,2469],[971,122],[1395,1856],[2964,4650],[1259,-311],[2327,477],[2667,1231],[424,-1313],[981,-132],[1153,1567],[-247,1321],[1922,4452],[404,3792],[1331,829],[-1107,-2074],[257,-1984],[905,-396],[477,1074],[2238,1581],[1570,3706],[1432,1769],[1766,7515],[51,2004],[-679,761],[567,2590],[-254,1680],[914,1246],[372,2494],[671,-204],[143,-1790],[1221,-65],[226,2141],[-1109,-621],[379,2173],[812,-788]],[[877937,714367],[-468,-2295],[903,1565],[-435,730]],[[328330,795571],[-1162,-87]],[[327168,795484],[-3740,1896]],[[323428,797380],[-886,1532]],[[322542,798912],[-1542,1007],[857,675]],[[321857,800594],[3536,-1399],[2892,-2500]],[[328285,796695],[45,-1124]],[[915797,775121],[-60,1171],[1897,2214],[568,-30],[-2405,-3355]],[[323107,780571],[1533,-828]],[[324640,779743],[2683,385]],[[327323,780128],[389,-389],[-2374,-2489]],[[325338,777250],[-485,1590]],[[324853,778840],[-622,-690]],[[324231,778150],[-1339,1448],[-978,163]],[[321914,779761],[-770,1278]],[[321144,781039],[1096,2492]],[[322240,783531],[-262,-1695]],[[321978,781836],[1129,-1265]],[[331391,775898],[539,2552]],[[331930,778450],[1778,-263]],[[333708,778187],[103,-1152]],[[333811,777035],[-1550,-1839]],[[332261,775196],[-2494,-479]],[[329767,774717],[-588,2178],[1737,5066]],[[330916,781961],[1283,1226]],[[332199,783187],[213,-1397],[-681,-3528],[-1340,-2777],[1000,413]],[[906131,768341],[1001,-340],[-1266,-1152],[-1459,-2374],[1724,3866]],[[899511,766086],[2706,-1047],[1512,2332],[-671,-3374],[666,-2736],[1367,494],[-911,-1254],[-2429,-1347],[-1837,-389],[-1500,-2739],[-536,-2481],[-2024,1527],[-1823,1903],[-1236,-191],[-1169,-1213],[-1404,1287],[-459,-1334],[2322,-3135],[-1364,62],[-1420,-2324],[-426,908],[314,1993],[-799,2812],[196,1550],[1653,2374],[-261,1500],[2511,-614],[281,2626],[686,2232],[382,4129],[-553,2604],[985,2095],[2129,-4091],[1623,-2502],[1489,-1657]],[[295648,774097],[-1094,-164]],[[294554,773933],[1345,1560],[-251,-1396]],[[912776,773199],[-1906,-1939],[-710,-78],[-1251,-2510],[-861,-884],[969,2677],[1775,2189],[1984,545]],[[9463,811999],[432,-667]],[[9895,811332],[-1456,-891]],[[8439,810441],[1024,1558]],[[6513,810872],[1645,1335],[-236,-1097],[-1409,-238]],[[13068,812920],[2748,1149]],[[15816,814069],[-104,-820],[-2644,-329]],[[33432,820758],[-3061,-3029]],[[30371,817729],[1969,3695]],[[32340,821424],[1032,595]],[[33372,822019],[60,-1261]],[[134017,819872],[828,-2926]],[[134845,816946],[-375,-732]],[[134470,816214],[1025,-2515],[-2620,3729],[58,1281],[-1119,819]],[[131814,819528],[2203,344]],[[142910,818356],[118,-2495]],[[143028,815861],[-470,-1356],[-187,2806]],[[142371,817311],[-426,-530],[-772,2038]],[[141173,818819],[401,1553],[1336,-2016]],[[34659,820350],[-795,281],[1868,1201]],[[35732,821832],[440,2586]],[[36172,824418],[1857,-1573],[-1281,-1312],[-2089,-1183]],[[139308,819707],[-1857,2230]],[[137451,821937],[1590,-639]],[[139041,821298],[267,-1591]],[[131512,825393],[1448,-552]],[[132960,824841],[1295,634]],[[134255,825475],[-953,-5192]],[[133302,820283],[-2316,1437]],[[130986,821720],[-577,1603]],[[130409,823323],[11,2256]],[[130420,825579],[1092,-186]],[[531559,829920],[1050,-499],[-783,-1059],[-1172,856],[905,702]],[[883167,831111],[738,-350],[-1514,-2253],[-551,1304],[318,1916],[1009,-617]],[[45900,830448],[327,-1453]],[[46227,828995],[-4071,-1875]],[[42156,827120],[-178,1117],[994,1619]],[[42972,829856],[1839,938]],[[44811,830794],[1089,-346]],[[962916,829609],[-14,-859],[-2483,3557],[1457,103],[1040,-2801]],[[541910,830692],[-1121,476],[225,1152],[896,-1628]],[[534913,835213],[-983,-1888],[-980,-4110],[-579,2453],[-1021,105],[-854,3064],[1378,1314],[958,-1456],[130,1602],[1978,569],[-27,-1653]],[[129708,833783],[-959,-1626]],[[128749,832157],[44,1600],[915,26]],[[529569,834175],[390,-2823],[-2213,177],[-356,2087],[2179,559]],[[136169,833460],[-581,-1676]],[[135588,831784],[-721,1199]],[[134867,832983],[-874,-1440],[-232,1485]],[[133761,833028],[614,2461]],[[134375,835489],[988,732]],[[135363,836221],[806,-2761]],[[482975,836075],[-490,-1917],[-389,1335],[879,582]],[[563676,853234],[-1059,-811],[-1350,1503],[1475,815],[934,-1507]],[[128983,838496],[1009,-115]],[[129992,838381],[2860,-4972]],[[132852,833409],[-1162,-96]],[[131690,833313],[1708,-1515],[-438,-2939]],[[132960,828859],[-1800,1990]],[[131160,830849],[-892,1846]],[[130268,832695],[195,1361],[-1797,1157]],[[128666,835213],[317,3283]],[[280734,838063],[-2959,-1979]],[[277775,836084],[2024,3959]],[[279799,840043],[935,-1980]],[[132963,836150],[-1464,799]],[[131499,836949],[779,2491]],[[132278,839440],[868,-1507],[-183,-1783]],[[483950,838526],[-1108,-330],[205,2116],[903,-1786]],[[127916,837243],[-665,-301]],[[127251,836942],[-512,4513]],[[126739,841455],[641,555],[1123,-1671],[-587,-3096]],[[76620,850469],[855,-1179],[-1868,-861]],[[75607,848429],[-1666,423],[1500,1950]],[[75441,850802],[1179,-333]],[[552990,847363],[-730,-768],[261,-1825],[-2115,-2831],[-27,3770],[1113,1623],[1498,31]],[[75283,847292],[1304,11]],[[76587,847303],[590,-1474]],[[77177,845829],[-2940,-2078]],[[74237,843751],[-1341,-2179],[-1352,1686]],[[71544,843258],[-47,-1370]],[[71497,841888],[-1237,2510]],[[70260,844398],[475,1327]],[[70735,845725],[1404,422]],[[72139,846147],[349,1121]],[[72488,847268],[1055,-526],[1011,1426]],[[74554,848168],[729,-876]],[[545912,838208],[-323,1649],[1703,4598],[257,-149],[-1637,-6098]],[[125084,844493],[969,-3752]],[[126053,840741],[-93,-2907]],[[125960,837834],[-614,2625],[-1265,896],[363,1217]],[[124444,842572],[-838,1284],[-863,-1390]],[[122743,842466],[69,1825]],[[122812,844291],[1226,1278],[1046,-1076]],[[129538,842431],[1145,-729]],[[130683,841702],[-719,-2463]],[[129964,839239],[-1084,-3]],[[128880,839236],[-1046,3232]],[[127834,842468],[1704,-37]],[[482931,845403],[1218,-1399],[-676,-1326],[-2254,2354],[1428,1237],[284,-866]],[[125887,849293],[1223,-106],[-74,-1536]],[[127036,847651],[948,-3245]],[[127984,844406],[-1849,-1451],[291,2312],[-1170,4625],[631,-599]],[[123296,848287],[1697,351]],[[124993,848638],[197,-3377]],[[125190,845261],[-1573,1073],[-539,-1435],[-2435,3271],[685,1462],[1486,294],[482,-1639]],[[482781,850488],[-630,-2027],[-1476,-1606],[-153,2835],[2151,1624],[108,-826]],[[954541,851909],[350,2440],[2254,1221],[120,-1988],[-2724,-1673]],[[562826,852016],[1876,-816],[-1563,-1498],[-1507,-452],[-904,2031],[2098,735]],[[891694,943123],[-2524,1095],[2077,531],[447,-1626]],[[814964,945499],[-1680,-1810],[-3553,1529],[1614,1161],[3619,-880]],[[907764,951248],[4547,253],[119,-836],[4524,-315],[1507,-1627],[-2915,-1019],[-4179,314],[-5400,2207],[1797,1023]],[[210778,949266],[-2132,660]],[[208646,949926],[1503,1671]],[[210149,951597],[1956,-1581]],[[212105,950016],[-1327,-750]],[[240159,949216],[-12,-1995]],[[240147,947221],[-3196,-291]],[[236951,946930],[-5173,2064],[2469,3189]],[[234247,952183],[3455,383]],[[237702,952566],[2457,-3350]],[[449998,951464],[1151,-2456],[-3013,53],[-514,1881],[2376,522]],[[183799,965371],[-3325,1261]],[[180474,966632],[1941,652]],[[182415,967284],[1384,-1913]],[[250463,962485],[-3651,709],[-5,1308]],[[246807,964502],[2715,-79]],[[249522,964423],[941,-1938]],[[560022,970354],[4190,-3580],[4959,-1392],[-5833,-2848],[-192,1561],[-4675,-583],[1676,2859],[-3585,3503],[3460,480]],[[193893,964006],[-4872,-1067]],[[189021,962939],[-3367,1103],[-63,2262]],[[185591,966304],[5502,1043],[4304,-54],[-3358,-1451],[1854,-1836]],[[209605,962901],[-1869,-922],[-2364,3218],[4233,-2296]],[[234765,965592],[5282,-126]],[[240047,965466],[176,-1756],[-6854,57]],[[233369,963767],[1396,1825]],[[200410,955317],[-468,-1498]],[[199942,953819],[3136,-133]],[[203078,953686],[1376,1646]],[[204454,955332],[2543,-1863]],[[206997,953469],[-1060,-3283]],[[205937,950186],[-3586,-1567],[-4660,816]],[[197691,949435],[-5861,-2524],[-4385,-1315]],[[187445,945596],[-2762,79]],[[184683,945675],[-1718,1990]],[[182965,947665],[3602,1240],[3235,261]],[[189802,949166],[1770,1228],[-7438,-937]],[[184134,949457],[-847,2167]],[[183287,951624],[-1209,-2052]],[[182078,949572],[-3547,-710]],[[178531,948862],[-5198,1799]],[[173333,950661],[1238,1192]],[[174571,951853],[2992,119]],[[177563,951972],[2654,1261],[-5287,-618]],[[174930,952615],[1909,1655]],[[176839,954270],[-755,1141],[2858,2156]],[[178942,957567],[3852,83]],[[182794,957650],[1029,-1449]],[[183823,956201],[3128,-31],[4569,-3869]],[[191520,952301],[5461,-249],[-1970,2112]],[[195011,954164],[1016,1458]],[[196027,955622],[-2333,1824],[2588,2032]],[[196282,959478],[2421,-133],[-127,-1769]],[[198576,957576],[1834,-2259]],[[889023,953962],[2131,-1174],[1859,3000],[2709,-1385],[3404,-235],[4359,-1648],[-1033,-1876],[-2398,-1329],[-3584,1736],[758,1909],[-2545,5],[1474,-3125],[1420,-965],[-1820,-888],[-1349,1012],[-4776,-855],[-1839,585],[-1407,-1713],[-2797,835],[-2429,1933],[141,3707],[4586,2650],[3136,-2179]],[[877634,951478],[-1379,-120],[685,2700],[694,-2580]],[[238068,960381],[3611,-1730]],[[241679,958651],[4696,358],[5273,-2913]],[[251648,956096],[-5202,-173]],[[246446,955923],[5762,-2357],[-1225,-1167],[2026,-659]],[[253009,951740],[4609,971],[3302,-685]],[[260920,952026],[5935,1877]],[[266855,953903],[4940,71]],[[271795,953974],[5088,-1196]],[[276883,952778],[1910,-2546]],[[278793,950232],[-2009,-875],[2656,-794]],[[279440,948563],[-2434,-1991]],[[277006,946572],[-4253,-622]],[[272753,945950],[-9035,772]],[[263718,946722],[-425,-523],[-8913,-145]],[[254380,946054],[231,1722]],[[254611,947776],[-4179,-1399],[-5881,1449]],[[244551,947826],[-1293,3277]],[[243258,951103],[995,1846],[-2842,4124],[-6062,-532]],[[235349,956541],[-4365,2738]],[[230984,959279],[243,1454]],[[231227,960733],[3111,545]],[[234338,961278],[3730,-897]],[[168348,952708],[4562,2934],[350,-868],[-2743,-2669],[-2169,603]],[[228608,957739],[1014,-6202]],[[229622,951537],[-940,-1733]],[[228682,949804],[-2484,-698]],[[226198,949106],[-4627,-9]],[[221571,949097],[-1380,2007]],[[220191,951104],[3167,1830]],[[223358,952934],[-8195,-840]],[[215163,952094],[1662,2193]],[[216825,954287],[235,3289]],[[217060,957576],[5106,-2959]],[[222166,954617],[-2419,3175]],[[219747,957792],[6056,1294]],[[225803,959086],[2805,-1347]],[[216034,955063],[-3020,-1484],[-2878,2477]],[[210136,956056],[4908,588]],[[215044,956644],[990,-1581]],[[211047,958429],[2699,-788]],[[213746,957641],[-3387,-733]],[[210359,956908],[688,1521]],[[448381,955226],[-1397,2299],[981,1254],[416,-3553]],[[179024,963052],[-2040,-1550]],[[176984,961502],[181,-2906],[-2593,-1855]],[[174572,956741],[-2406,880]],[[172166,957621],[666,2001]],[[172832,959622],[-2809,-1607]],[[170023,958015],[-1046,-2290],[-989,1266],[-1080,-2852]],[[166908,954139],[-3074,957]],[[163834,955096],[-3836,-451]],[[159998,954645],[97,2707],[2089,239],[7010,5116]],[[169194,962707],[5031,50],[2544,1359]],[[176769,964116],[2255,-1064]],[[546629,978121],[3249,-1200],[3148,-3242],[2981,-67],[3406,-2402],[-4500,-696],[-3693,-3541],[-4830,-8566],[-6149,3672],[-1155,2163],[8228,1383],[-501,675],[-6247,-859],[-2565,1550],[8601,1910],[16,1855],[-3792,-1128],[-263,1824],[-2377,-626],[475,-1545],[-4133,-1051],[-3823,2839],[1391,1114],[-1930,2245],[-1033,-911],[-950,3951],[6037,-660],[2550,-2047],[1767,2719],[4725,-4843],[-1329,4150],[2696,1334]],[[306975,996546],[8048,-431]],[[315023,996115],[-2237,-1635]],[[312786,994480],[6922,1379],[5055,-1988]],[[324763,993871],[4467,-581]],[[329230,993290],[-1943,-2511]],[[327287,990779],[-6660,-1834],[-5699,-695]],[[314928,988250],[-4700,-2105]],[[310228,986145],[7173,1381]],[[317401,987526],[699,-1242]],[[318100,986284],[-8741,-3591]],[[309359,982693],[-7659,-5431],[-5790,-32],[17,-1548]],[[295927,975682],[-4981,-439]],[[290946,975243],[-4554,541]],[[286392,975784],[6573,-2724],[-11248,133]],[[281717,973193],[1942,-786]],[[283659,972407],[4519,382]],[[288178,972789],[5063,-1675]],[[293241,971114],[-1237,-1062]],[[292004,970052],[-4153,-140],[3278,-1146]],[[291129,968766],[-1868,-1883],[-5963,-378]],[[283298,966505],[-177,-2530]],[[283121,963975],[-2203,-1105]],[[280918,962870],[-6244,-373]],[[274674,962497],[4934,-659]],[[279608,961838],[334,-1317]],[[279942,960521],[2589,247]],[[282531,960768],[12,-2408],[-6683,-2339]],[[275860,956021],[-1334,1992]],[[274526,958013],[-3776,1247],[824,-1525]],[[271574,957735],[-4590,-75]],[[266984,957660],[-3488,-880]],[[263496,956780],[-2707,772]],[[260789,957552],[-6334,-177]],[[254455,957375],[-3261,515]],[[251194,957890],[195,1984],[3060,1641]],[[254449,961515],[4295,418],[-3453,3228]],[[255291,965161],[2992,1025]],[[258283,966186],[3971,-2555]],[[262254,963631],[2361,-592]],[[264615,963039],[2664,1016]],[[267279,964055],[-4194,157]],[[263085,964212],[-717,2184]],[[262368,966396],[1453,2279]],[[263821,968675],[-3315,-1370]],[[260506,967305],[827,1550]],[[261333,968855],[-4533,-984],[2067,3540]],[[258867,971411],[5011,818]],[[263878,972229],[4812,-841]],[[268690,971388],[2313,790]],[[271003,972178],[-3158,889],[-4206,3309],[-3697,1380]],[[259942,977756],[316,2809]],[[260258,980565],[7176,-535],[5189,-3001]],[[272623,977029],[2349,-174],[-5420,3465]],[[269552,980320],[8084,1485]],[[277636,981805],[8891,2071]],[[286527,983876],[-4724,256],[733,1459],[-7556,-3038]],[[274980,982553],[-8525,-584],[-9038,672]],[[257417,982641],[-4421,805]],[[252996,983446],[1412,1150]],[[254408,984596],[-4262,1025],[4079,2322]],[[254225,987943],[-8122,80]],[[246103,988023],[2535,1771]],[[248638,989794],[7920,1232]],[[256558,991026],[7206,-606]],[[263764,990420],[-4267,1210],[4678,1554]],[[264175,993184],[15200,-3524]],[[279375,989660],[-8407,3393]],[[270968,993053],[4004,2085],[6281,-591]],[[281253,994547],[-3906,1373]],[[277347,995920],[20398,1008],[9230,-382]],[[38512,862457],[1128,-411],[383,-2376]],[[40023,859670],[-1431,-816],[-2868,1381]],[[35724,860235],[-825,1173]],[[34899,861408],[1666,62]],[[36565,861470],[1947,987]],[[89622,859078],[1542,3229]],[[91164,862307],[539,-616]],[[91703,861691],[-2081,-2613]],[[319909,868276],[-1665,1681]],[[318244,869957],[1784,75],[-119,-1756]],[[291239,908966],[74,-4127]],[[291313,904839],[-1814,-1504],[-3402,-98]],[[286097,903237],[-836,2602],[1571,3111]],[[286832,908950],[2427,625],[1980,-609]],[[295495,906299],[-2644,266],[-369,1412],[3531,-575]],[[296013,907402],[-518,-1103]],[[639625,914604],[-1775,-1932],[-2665,-750],[-1078,1820],[979,2346],[1650,444],[2889,-1928]],[[543778,910905],[1580,1867],[528,-1442],[-1685,-1444],[-4597,-1176],[3208,2518],[196,2533],[1138,1390],[-368,-4246]],[[542241,913167],[42,-1936],[-1948,99],[1906,1837]],[[279970,912589],[-542,459]],[[279428,913048],[2248,2652]],[[281676,915700],[1021,-396]],[[282697,915304],[-2727,-2715]],[[259456,906015],[-1011,2159]],[[258445,908174],[1496,493]],[[259941,908667],[-485,-2652]],[[291997,909646],[-1442,1047],[1157,724]],[[291712,911417],[285,-1771]],[[304619,875284],[-1192,285]],[[303427,875569],[-1024,1666]],[[302403,877235],[1923,-856]],[[304326,876379],[293,-1095]],[[23714,881749],[2868,349]],[[26582,882098],[2786,-2077],[1975,-223]],[[31343,879798],[-377,-826]],[[30966,878972],[-2572,-459]],[[28394,878513],[-2080,1691]],[[26314,880204],[-3512,269]],[[22802,880473],[912,1276]],[[284615,879658],[-1122,-1024]],[[283493,878634],[-1569,1996]],[[281924,880630],[2232,-120],[459,-852]],[[285098,881443],[641,554],[1267,-1706],[-1908,1152]],[[264112,891353],[853,1104],[7118,-4758]],[[272083,887699],[1039,-2557],[-630,-1075]],[[272492,884067],[2983,348]],[[275475,884415],[1463,-1942]],[[276938,882473],[-2067,-1781]],[[274871,880692],[-3699,1453]],[[271172,882145],[-248,1304]],[[270924,883449],[-2853,1020]],[[268071,884469],[-650,-1693]],[[267421,882776],[-2513,-2986]],[[264908,879790],[-2396,-1008]],[[262512,878782],[-860,3361],[-2894,-777]],[[258758,881366],[-950,574]],[[257808,881940],[2603,2753],[-340,2541]],[[260071,887234],[1146,6745]],[[261217,893979],[1131,1269]],[[262348,895248],[1764,-3895]],[[456824,897085],[1909,906],[-723,-1653],[769,-1905],[3246,-1371],[250,-2408],[-2684,-4130],[-4204,-1983],[-1611,-1456],[-3266,-903],[-2327,-1815],[-4289,883],[-2913,2249],[-3778,-581],[-379,1079],[1907,308],[1139,1934],[-2279,2353],[-4331,405],[5928,1098],[-1615,1054],[1748,1308],[-2939,788],[-2771,-1024],[-1542,550],[953,1536],[2296,-57],[-1255,1892],[1995,-517],[1593,521],[-1873,1701],[1927,432],[2831,-2396],[-70,-3268],[840,-1229],[1083,2319],[792,-516],[272,2739],[2485,-1546],[220,1797],[1681,552],[1885,-2007],[-550,1940],[2074,-1144],[1103,1413],[1125,-422],[577,1867],[1543,402],[1228,-1695]],[[481580,873383],[-254,-1407],[-1249,1749],[1503,-342]],[[279041,874472],[614,-2284]],[[279655,872188],[-957,-2261],[-1657,1029]],[[277041,870956],[677,3109]],[[277718,874065],[1323,407]],[[272221,877686],[-315,-1789]],[[271906,875897],[-2506,-2620]],[[269400,873277],[-1897,-294]],[[267503,872983],[-173,848]],[[267330,873831],[-420,723]],[[266910,874554],[36,302]],[[266946,874856],[1453,2538]],[[268399,877394],[3822,292]],[[0,890205],[0,1449]],[[0,891654],[0,21752],[3127,-1359],[505,-1232],[9297,-5142],[1377,-1952],[-210,-4298],[1476,-1654],[1079,2575],[-1228,1921],[2133,247],[1253,-1043],[3980,-218],[4310,-4517],[1295,-155],[-2118,-1646],[-349,-1445],[-2180,1024],[1101,-1448],[-2368,-319],[-2434,1096],[1587,-1516],[-3,-2233],[-2184,-1017],[-28,-3431],[-2755,898],[-880,1118],[-2993,976],[-1273,1235],[-666,2726],[-2674,845],[-3483,-763],[-2214,5101],[-1880,-1943],[1199,-2969],[-1799,-2663]],[[264792,893213],[-1282,1457]],[[263510,894670],[549,1112]],[[264059,895782],[733,-2569]],[[267428,894527],[-1090,-148]],[[266338,894379],[-803,2127],[1893,-1979]],[[259474,925417],[4151,836]],[[263625,926253],[624,-889]],[[264249,925364],[584,3462]],[[264833,928826],[-3477,2372]],[[261356,931198],[1405,1352],[2929,-960],[-2749,2184]],[[262941,933774],[-843,2092],[1739,3324],[3435,482]],[[267272,939672],[3118,1852],[3482,-563],[3142,-5266],[-2651,-2571]],[[274363,933124],[1030,-2371],[2268,2860]],[[277661,933613],[3730,-253],[2703,-1016]],[[284094,932344],[-1734,2489],[4047,714]],[[286407,935547],[4442,-1421]],[[290849,934126],[1086,-2253]],[[291935,931873],[1695,-297]],[[293630,931576],[-308,-2239]],[[293322,929337],[4172,32],[4572,-1873]],[[302066,927496],[-664,-1520],[1952,-12]],[[303354,925964],[381,-1376]],[[303735,924588],[-1724,-2195]],[[302011,922393],[3684,2042]],[[305695,924435],[4421,-1908]],[[310116,922527],[-1557,-1872]],[[308559,920655],[485,-1573],[1732,2211]],[[310776,921293],[2102,-1660]],[[312878,919633],[395,-1800]],[[313273,917833],[-2479,139]],[[310794,917972],[-1108,-1048]],[[309686,916924],[4839,-1425]],[[314525,915499],[-89,-1090]],[[314436,914409],[-3154,565]],[[311282,914974],[518,-1241]],[[311800,913733],[-795,-2890]],[[311005,910843],[3678,-624]],[[314683,910219],[-325,-1362]],[[314358,908857],[1718,384],[-559,-2228],[3991,824]],[[319508,907837],[2280,-2491]],[[321788,905346],[889,-2126]],[[322677,903220],[2211,-172],[-1837,-2445]],[[323051,900603],[4814,1165],[1858,-2195]],[[329723,899573],[-1564,-1989]],[[328159,897584],[-1918,557]],[[326241,898141],[1560,-2201]],[[327801,895940],[-1663,-5]],[[326138,895935],[-191,-2337]],[[325947,893598],[-1885,-138],[-747,-4080]],[[323315,889380],[-803,1074]],[[322512,890454],[-1832,43]],[[320680,890497],[-2351,3836]],[[318329,894333],[1103,1858]],[[319432,896191],[-2282,-478]],[[317150,895713],[-2671,3310]],[[314479,899023],[-1444,83],[-11,-1576],[-1548,1105]],[[311476,898635],[1904,-2700]],[[313380,895935],[-2983,-568],[3164,-2952],[-578,-496]],[[312983,891919],[1831,-2268],[2023,-521]],[[316837,889130],[2400,-2661]],[[319237,886469],[-265,-2421]],[[318972,884048],[1365,0]],[[320337,884048],[456,-4527],[-1882,2964]],[[318911,882485],[396,-3137]],[[319307,879348],[1016,-1969]],[[320323,877379],[-1331,179]],[[318992,877558],[313,-1697]],[[319305,875861],[-3261,2732],[-529,-474]],[[315515,878119],[-2126,1645]],[[313389,879764],[-1982,2540]],[[311407,882304],[474,-1842]],[[311881,880462],[-2142,1793],[-1159,-131]],[[308580,882124],[2138,-3146],[1293,-466]],[[312011,878512],[4710,-5241]],[[316721,873271],[-768,-2018]],[[315953,871253],[-3287,1676]],[[312666,872929],[-2607,497],[-1955,1008]],[[308104,874434],[-1285,2010],[-1920,112]],[[304899,876556],[-2826,1654],[-1998,2293],[1436,489],[-2131,1165]],[[299380,882157],[-3390,4234]],[[295990,886391],[-4091,2183]],[[291899,888574],[767,-1392],[-6156,-1892],[-2597,767]],[[283913,886057],[-1065,1485]],[[282848,887542],[219,1905]],[[283067,889447],[2041,1524]],[[285108,890971],[95,1520]],[[285203,892491],[4162,-1339],[333,524]],[[289698,891676],[5994,1005]],[[295692,892681],[-543,1668],[-1910,2206],[3424,3318],[2726,3289]],[[299389,903162],[-3020,6597]],[[296369,909759],[-937,-434]],[[295432,909325],[-894,1684],[-1267,6],[-1375,2388],[-4128,-1721]],[[287768,911682],[-427,1878]],[[287341,913560],[1676,127]],[[289017,913687],[463,1704]],[[289480,915391],[-1725,727]],[[287755,916118],[-292,1438]],[[287463,917556],[-2996,958]],[[284467,918514],[-697,2378]],[[283770,920892],[-1223,-106]],[[282547,920786],[-2176,2219],[-781,-1370],[1272,-2340],[-2018,-490]],[[278844,918805],[-5399,1283]],[[273445,920088],[-1608,-1600]],[[271837,918488],[-2646,964]],[[269191,919452],[-2133,-244]],[[267058,919208],[-6842,1081]],[[260216,920289],[-839,1516]],[[259377,921805],[-3546,-884]],[[255831,920921],[-2632,1606]],[[253199,922527],[-1688,3192]],[[251511,925719],[4475,-695]],[[255986,925024],[1957,398]],[[257943,925422],[-2033,1167],[-3353,470]],[[252557,927059],[-2129,1211]],[[250428,928270],[-498,2703]],[[249930,930973],[453,2745]],[[250383,933718],[1662,3893],[4288,3874]],[[256333,941485],[2641,658]],[[258974,942143],[4608,-153]],[[263582,941990],[377,-672],[-3088,-2574],[-1508,-2308]],[[259363,936436],[1647,-6515]],[[261010,929921],[2814,-2475]],[[263824,927446],[-4350,-2029]],[[301559,899263],[867,-1573],[-276,-2234],[1790,1987],[2847,-459],[185,2188],[-2702,1022],[-1976,1627],[-735,-2558]],[[303757,887946],[-344,2276],[-2683,2000],[626,-2975],[-1076,-1051],[1111,-705],[1617,1086],[749,-631]],[[496366,863369],[710,-551],[-621,-1955],[-1077,995],[988,1511]],[[310717,863514],[897,-667]],[[311614,862847],[-1518,-1158],[621,1825]],[[996837,924325],[82,2397],[3080,1817],[0,-3227],[-3162,-987]],[[0,925312],[0,1133]],[[0,926445],[0,1276]],[[0,927721],[0,818]],[[0,928539],[4572,-51],[2283,-1576],[-804,-1158],[-4681,-855],[-1370,413]],[[970001,916943],[-3922,1519],[1581,1060],[2825,-789],[-484,-1790]],[[565112,924262],[-3005,-1783],[-1012,843],[4017,940]],[[429354,924887],[84,-1591],[-2421,-1176],[-919,587],[-3593,-589],[525,2626],[2036,-204],[3214,1072],[1074,-725]],[[948519,912918],[-918,1240],[595,1534],[323,-2774]],[[232499,915545],[1985,-3018]],[[234484,912527],[-2266,-2158]],[[232218,910369],[-2974,431]],[[229244,910800],[-2357,1773],[-3112,444]],[[223775,913017],[-41,1265],[2777,1204]],[[226511,915486],[522,2488],[1326,635]],[[228359,918609],[4140,-3064]],[[286124,914356],[-898,1615]],[[285226,915971],[1805,-297],[-907,-1318]],[[548619,917037],[1392,-541],[-149,-1818],[-2193,-1020],[-442,1990],[1392,1389]],[[277839,916524],[-2223,991]],[[275616,917515],[3289,791],[-1066,-1782]],[[358295,916778],[-935,1790],[1865,-37],[-930,-1753]],[[353524,919101],[1905,-814],[-187,-1885],[-4071,-1377],[-685,1680],[-3040,1027],[1658,1353],[-1370,1466],[1233,757],[2768,-568],[1789,-1639]],[[553486,919822],[936,-570],[-2243,-2318],[-1209,1120],[2398,2841],[118,-1073]],[[667917,919042],[-28,-1237],[-4132,989],[-1333,2215],[1479,1176],[4014,-3143]],[[475129,924399],[1694,1784],[948,-586],[-2642,-1198]],[[647614,926786],[-329,-1618],[-2148,1873],[2477,-255]],[[720837,935555],[-2348,1009],[1411,1197],[937,-2206]],[[715645,933003],[-2018,38],[1869,1974],[2184,-880],[-2035,-1132]],[[347175,935965],[-1408,-1320],[-1920,892],[3328,428]],[[223930,942411],[4686,1360],[-1247,-1303],[-3439,-57]],[[182061,934716],[2661,676]],[[184722,935392],[811,1698]],[[185533,937090],[5384,-1584]],[[190917,935506],[-1737,-2119]],[[189180,933387],[2097,55],[2596,1753]],[[193873,935195],[-1264,2056],[1812,-146],[3639,-2869],[1355,-4433]],[[199415,929803],[2513,851],[-1083,1508]],[[200845,932162],[-1507,5667]],[[199338,937829],[581,1439]],[[199919,939268],[2995,-431],[3162,-1572]],[[206076,937265],[4064,-9341]],[[210140,927924],[-611,-1954]],[[209529,925970],[1711,-2023]],[[211240,923947],[2511,-637],[4131,-3081],[1444,-144]],[[219326,920085],[298,-2344],[-3608,753]],[[216016,918494],[-1075,-1723]],[[214941,916771],[-2050,794]],[[212891,917565],[747,-2805]],[[213638,914760],[1787,1566],[1309,-410],[329,-2270],[-2883,-1187]],[[214180,912459],[-6141,574]],[[208039,913033],[240,953]],[[208279,913986],[-3115,478]],[[205164,914464],[-1439,1645],[-2169,-2592]],[[201556,913517],[-4184,-1436],[-6569,-1290]],[[190803,910791],[-5047,-284]],[[185756,910507],[-1359,2040]],[[184397,912547],[-214,2113]],[[184183,914660],[-4069,413]],[[180114,915073],[-3763,947]],[[176351,916020],[-1640,2248],[-87,1754]],[[174624,920022],[7064,1258],[5428,-517]],[[187116,920763],[2793,495]],[[189909,921258],[-5902,2263]],[[184007,923521],[-6204,-619]],[[177803,922902],[-4434,256]],[[173369,923158],[-1880,1534],[1250,1600],[5340,1323]],[[178079,927615],[846,975]],[[178925,928590],[-5934,-923]],[[172991,927667],[-54,1592],[-3127,163]],[[169810,929422],[-213,1770]],[[169597,931192],[2032,1642]],[[171629,932834],[-448,1607]],[[171181,934441],[2286,1760]],[[173467,936201],[8093,3209]],[[181560,939410],[1318,-609]],[[182878,938801],[152,-2422]],[[183030,936379],[-969,-1663]],[[167398,943794],[1680,-502]],[[169078,943292],[1633,1284]],[[170711,944576],[2859,-77]],[[173570,944499],[5567,-3631]],[[179137,940868],[177,-1066]],[[179314,939802],[-9763,-4471]],[[169551,935331],[-1239,-1918],[-2145,-876],[-1221,-4188]],[[164946,928349],[-3139,-361]],[[161807,927988],[-3299,-2114],[-2974,3493]],[[155534,929367],[-4875,2725]],[[150659,932092],[2154,2668]],[[152813,934760],[419,2893]],[[153232,937653],[2887,4099]],[[156119,941752],[-2498,3437]],[[153621,945189],[9391,1077]],[[163012,946266],[4869,-1760]],[[167881,944506],[-483,-712]],[[222216,942806],[2345,-1271]],[[224561,941535],[4378,925]],[[228939,942460],[1612,-1309],[-753,-1657]],[[229798,939494],[-3234,-2290]],[[226564,937204],[2670,-48]],[[229234,937156],[880,-2070]],[[230114,935086],[1713,331]],[[231827,935417],[-705,-2280]],[[231122,933137],[507,-2844]],[[231629,930293],[-2691,-1209]],[[228938,929084],[-2435,850]],[[226503,929934],[723,-1969]],[[227226,927965],[-2690,-436],[-3965,4650]],[[220571,932179],[-3138,964],[-2749,2773]],[[214684,935916],[2198,1623]],[[216882,937539],[1588,-1840]],[[218470,935699],[2405,158]],[[220875,935857],[1078,1127]],[[221953,936984],[-951,1726]],[[221002,938710],[-2810,1045]],[[218192,939755],[1488,2218]],[[219680,941973],[2536,833]],[[416796,999793],[11551,-1800],[-17216,-1041],[13863,-107],[5218,547],[1814,-1672],[8193,-1670],[-6503,-1827],[-15882,-746],[-643,-1219],[12951,271],[2377,-1778],[3304,1841],[4904,337],[532,-2213],[-5350,-4552],[3170,731],[5321,3046],[7111,-987],[5278,2582],[9341,-1093],[1845,-1333],[-8263,-3915],[-6270,-1125],[2287,-863],[-2586,-1359],[-7113,351],[-1971,-2692],[2375,-711],[580,-3145],[-5225,-3538],[-2199,-4529],[2458,718],[3811,-1143],[-3306,-592],[1247,-1484],[5257,-908],[-475,-2589],[-6755,644],[-2598,-1858],[1279,-1832],[3648,-268],[1651,-2733],[232,-3126],[-2942,500],[-3608,-2031],[2378,485],[879,-1926],[1739,1463],[2112,-2937],[-401,-1158],[-4890,-1025],[-3346,1038],[-3,-1320],[5467,-1275],[-396,-2105],[-4654,-1321],[-2230,452],[-3249,2478],[-1760,-1500],[-5450,-2312],[6017,1789],[1912,-146],[5174,-2843],[-714,-4733],[-4933,2246],[-1558,3193],[-5632,-1907],[5240,906],[290,-2555],[7519,-4104],[-1509,-1447],[2086,-132],[637,-5640],[-3244,-526],[-3059,698],[-2140,3960],[-3676,2064],[-3393,-233],[3748,-549],[43,-1519],[-2710,-1382],[-4404,337],[649,-1826],[-1310,-1317],[5647,-474],[-2924,-1613],[5642,1355],[6546,-1414],[2469,67],[-2028,-1901],[-6039,-3225],[267,-565],[-3469,-2743],[-8078,-2390],[-1720,76],[-2062,-1148],[-2246,63],[-2522,1829],[453,-2643],[-2757,-2160],[-2624,-5335],[-3019,-2818],[-1886,1131],[658,-1785],[-2081,-1831],[-1898,240],[-1920,-1649],[-686,691],[1972,3639],[-1281,-370],[-2458,-3774],[-4318,-605],[1705,-1076],[-1877,-1730],[-2308,309],[2506,-3679],[-1665,-1529],[642,-2942],[-1384,-1252],[-163,-1422],[-2641,-3435],[-2454,155],[2191,-899],[-468,-2463],[587,-1751],[-593,-1039],[-1093,-5417],[-1607,-1911],[480,-2273],[-2762,-1358],[-934,1081],[-2572,1116],[-3,1434],[-1851,1012],[548,3349],[-2848,-2160],[-3696,234],[-1991,2497],[-1273,3631],[1532,1122],[-2208,-480],[195,1387],[-2127,1425],[-197,2066],[-2996,4860],[-664,3334],[1323,2105],[3083,849],[-1667,556],[-1887,-1033],[-1449,-2396],[-474,1168],[-708,6194],[-2363,785],[257,2271],[-794,421],[3711,2719],[2153,2273],[-4558,-3851],[-1924,-512],[-56,1536],[1657,2447],[-2350,1829],[238,1675],[3145,1964],[4125,-671],[591,1008],[-3823,180],[-3862,-1706],[1621,3903],[4318,-907],[1083,1603],[-3253,-633],[-2791,468],[955,1857],[2046,535],[1450,-906],[1476,1135],[1470,5839],[1190,1712],[-5452,264],[-2135,1439],[-2753,710],[-1435,1645],[1014,716],[3789,-413],[3548,-1843],[411,4026],[-4531,361],[717,1905],[-1918,459],[-104,1606],[-1349,-2317],[-3815,-190],[-920,1184],[978,2866],[-795,2032],[2254,1115],[146,1368],[-2652,1424],[1098,885],[-2241,1752],[485,1999],[-2158,1918],[1252,1823],[-6522,5086],[243,1799],[-7941,2908],[-5733,946],[-4092,-989],[-5953,-123],[1056,-1033],[-4094,531],[-3710,1967],[3502,1650],[-6161,769],[-1171,2180],[5235,118],[1074,872],[6118,-369],[-839,2375],[-7389,-1268],[-7538,2783],[-2092,1526],[1174,1835],[9450,2092],[4198,1538],[4207,92],[1522,1232],[2431,4719],[-3516,-668],[-3697,843],[404,1461],[8623,3812],[2314,-1012],[431,1970],[4076,-501],[557,3324],[5483,1849],[12599,2042],[3178,-1718],[2240,1542],[5225,-2527],[3759,136],[-4024,3211],[5913,-324],[9917,-3416],[2107,119],[816,3076],[-3649,2116],[11439,316],[-9982,634],[-1074,781],[6681,1464],[4748,-970],[2620,1371],[5774,-1975],[1251,2883],[21874,470]],[[653666,939029],[3082,-635],[-960,-2440],[-2022,-1922],[-162,-3137],[2071,-3494],[2366,-2480],[2029,-1174],[-1332,-828],[-7069,539],[-3382,1145],[2145,1494],[-2200,2464],[-4309,-297],[-1038,1691],[399,1744],[1860,347],[3105,4663],[-478,1367],[4461,1423],[1434,-470]],[[202996,940045],[854,1278]],[[203850,941323],[3059,416],[2400,-897]],[[209309,940842],[183,-1543]],[[209492,939299],[-2102,-2601],[-4394,3347]],[[894957,942510],[3218,-1938],[410,-1911],[-5262,383],[-3378,1020],[1956,2267],[3056,179]],[[241192,944080],[2634,-1117]],[[243826,942963],[3152,218],[2037,-834]],[[249015,942347],[-4898,-6603],[-5815,18]],[[238302,935762],[1822,-1989]],[[240124,933773],[-1340,-2325]],[[238784,931448],[-3209,-8]],[[235575,931440],[-985,4468]],[[234590,935908],[-237,5414]],[[234353,941322],[2598,-189]],[[236951,941133],[-951,2135]],[[236000,943268],[5192,812]],[[279063,941080],[3474,67]],[[282537,941147],[3000,-985]],[[285537,940162],[2547,-2480]],[[288084,937682],[-308,-1542],[-3987,451]],[[283789,936591],[-4624,-835]],[[279165,935756],[-1897,2777]],[[277268,938533],[-1780,924]],[[275488,939457],[171,2234],[3404,-611]],[[696316,937765],[-2094,-63],[637,2135],[2197,413],[1905,-2017],[-2645,-468]],[[688236,956383],[-4119,-1504],[-13684,-3964],[-2374,-2429],[-3890,-2353],[-1573,-51],[-259,-2192],[-4105,-4516],[-1482,-411],[-3954,928],[-1964,-611],[-1491,2461],[2444,1146],[2609,3958],[2546,1951],[1636,2529],[1442,-252],[3540,3042],[5725,1283],[721,1248],[4916,-268],[8032,2230],[4644,2338],[2641,-439],[1151,-2138],[-3152,-1986]],[[933113,802729],[-1883,-1229],[-69,1204],[1283,609],[1157,2200],[-488,-2784]],[[146674,804734],[4765,-1918],[2331,-5262],[1797,-1212]],[[155567,796342],[1386,-3803],[-272,-1472]],[[156681,791067],[-3041,1562],[-1198,969]],[[152442,793598],[753,1585]],[[153195,795183],[-1696,-517]],[[151499,794666],[-511,1450]],[[150988,796116],[-1665,1522],[-289,1292]],[[149034,798930],[-2506,2827]],[[146528,801757],[-1706,-61]],[[144822,801696],[-116,1881]],[[144706,803577],[1165,-240],[57,1057]],[[145928,804394],[-1647,-501]],[[144281,803893],[-798,1456]],[[143483,805349],[1189,689]],[[144672,806038],[2002,-1304]],[[345948,810042],[-1590,-1232],[443,-2495],[-2285,-5023]],[[342516,801292],[-356,-2642]],[[342160,798650],[1598,2823]],[[343758,801473],[238,-888]],[[343996,800585],[1754,338]],[[345750,800923],[-1417,-1733]],[[344333,799190],[-131,-1497],[2445,178]],[[346647,797871],[-104,-1672]],[[346543,796199],[2153,1955],[16,-1114],[1405,593],[940,-712]],[[351057,796921],[128,-1069]],[[351185,795852],[-1091,-2574],[744,-160]],[[350838,793118],[-1027,-1546]],[[349811,791572],[2807,1423]],[[352618,792995],[-218,-1523],[-1316,-1152]],[[351084,790320],[-700,-2418]],[[350384,787902],[716,-812]],[[351100,787090],[892,1988],[1158,682]],[[353150,789760],[-860,-2725]],[[352290,787035],[147,-1173],[945,1863],[357,-1304]],[[353739,786421],[-1155,-5143],[-1519,-7]],[[351065,781271],[-55,2711]],[[351010,783982],[-1493,-1524]],[[349517,782458],[846,3001]],[[350363,785459],[-896,2801]],[[349467,788260],[-1030,-2871]],[[348437,785389],[-817,58]],[[347620,785447],[-1275,-2839]],[[346345,782608],[-1470,-189],[18,1172],[964,527]],[[345857,784118],[1727,2431],[-1380,533],[-190,-946],[-1187,171]],[[344827,786307],[12,1712]],[[344839,788019],[-1010,-875]],[[343829,787144],[-2031,-574]],[[341798,786570],[-3835,606]],[[337963,787176],[-2177,-629]],[[335786,786547],[-431,2517]],[[335355,789064],[2616,3120]],[[337971,792184],[-1073,450],[869,2880]],[[337767,795514],[1177,861]],[[338944,796375],[-99,1854],[1994,6850],[1521,3414]],[[342360,808493],[2013,1738],[1575,-189]],[[341569,796584],[-2717,-3564],[704,54],[2013,3510]],[[896558,826971],[596,-1498],[-161,-2055],[849,-2951],[278,-4044],[-467,-3138],[834,-3629],[1001,-7042],[1267,-5754],[969,-2942],[-1376,2332],[-1092,614],[-1743,-671],[-1474,-6675],[-49,-1980],[1246,-3053],[590,-2534],[744,-254],[264,-2318],[-414,-1968],[-414,3143],[-1957,840],[-1391,-4644],[-686,3163],[579,4083],[-207,2651],[603,2523],[-875,4365],[766,4852],[-197,5604],[377,4192],[-1346,3044],[-171,3179],[396,1674],[56,4643],[1952,641],[500,2656],[-1032,2280],[1185,671]],[[980032,818789],[1734,-952],[-1392,-593],[-1224,1101],[882,444]],[[487744,825735],[-1037,-665],[769,1798],[268,-1133]],[[275745,817216],[-3632,1793]],[[272113,819009],[533,807]],[[272646,819816],[1977,116]],[[274623,819932],[1122,-2716]],[[488342,820617],[-491,-1109],[-540,1495],[1031,-386]],[[538081,826905],[-958,-811],[-522,1768],[684,919],[796,-1876]],[[482727,825162],[530,-6881],[-827,-4031],[-3340,-876],[-381,-705],[-3192,-2340],[-2838,-601],[710,1220],[-1503,-526],[1450,1622],[-1348,-612],[-819,579],[1685,2259],[-401,1894],[1116,1253],[599,1874],[-2271,2671],[724,3240],[-556,963],[4197,-98],[1145,2367],[-1752,239],[1359,2756],[2065,281],[868,-603]],[[479947,831107],[3027,743],[1519,-3282],[-68,-2316],[-1698,-1090]],[[491362,851389],[-286,-1151],[-2160,-2146],[-401,-2258],[2032,772],[3691,-35],[823,-1236],[-2263,-5523],[-1728,-1051],[1561,-389],[-1972,-1722],[2120,-2],[1256,-736],[1366,-1971],[1010,-4719],[3354,-3886],[-337,-570],[1560,-5105],[-861,-1507],[2805,316],[1670,-1216],[249,-1687],[-1311,-3695],[-1451,-685],[-183,-2033],[2024,-139],[-48,-1073],[-1215,-1517],[-2098,-966],[-2751,15],[-1754,779],[-1720,-1740],[-2676,672],[-1126,-500],[-1080,-2388],[-1053,958],[-1543,-594],[-1381,-1595],[-325,1332],[2109,3140],[1097,2442],[2921,99],[1953,3174],[-2388,-2076],[-3632,2057],[-838,-660],[-1000,1505],[2442,1879],[1119,2040],[-336,2214],[-1616,-648],[1589,2446],[2625,1041],[669,2003],[160,2634],[-829,-293],[-1120,2013],[375,2939],[-1455,-1083],[-3271,454],[1275,3814],[-598,1172],[132,2086],[-1505,-1666],[-1061,-2414],[440,4103],[1170,4164],[-1289,-1339],[-1334,1102],[1585,3049],[-128,3843],[1667,2259],[-162,1526],[5593,679],[-157,-707]],[[589039,490923],[-572,-747],[-84,1557],[656,-810]],[[592152,491925],[-899,584],[683,564],[216,-1148]],[[258356,772744],[-801,-2405]],[[257555,770339],[-323,707]],[[257232,771046],[1124,1698]],[[268828,776662],[1113,441]],[[269941,777103],[234,-736],[2217,752]],[[272392,777119],[160,-2629]],[[272552,774490],[-3724,2172]],[[256275,785735],[-1336,-1321]],[[254939,784414],[-604,-1184]],[[254335,783230],[-490,967]],[[253845,784197],[615,1271]],[[254460,785468],[1815,267]],[[516113,815548],[-838,-971],[-918,455],[1358,1238],[398,-722]],[[189596,872516],[-2362,-2950],[-1044,1470],[3406,1480]],[[581880,871836],[-1354,-975],[-795,1658],[1719,282],[430,-965]],[[309615,809192],[-402,-1402],[-1162,1505],[715,1124],[849,-1227]],[[708031,725294],[-1442,-438],[470,-803]],[[707059,724053],[-1499,-1179],[-646,387],[-3185,-349],[-2784,-2329],[-1209,-2336],[673,-1235],[536,-3855],[-1819,-3866],[239,-2848],[-1766,-588],[-1170,600],[-352,-913],[1156,-3132],[-1011,-1519],[-1163,-548],[-722,-3475],[105,-2943],[-1140,-1792],[-754,999],[-1212,0],[-1619,-1756],[443,-963],[-1252,-747],[-1008,520],[-1464,-2331],[-612,-6378],[-3004,-1636],[-1595,30],[-1174,-1023],[-1475,629],[-3031,-532],[-4536,2668]],[[669009,681613],[724,1598]],[[669733,683211],[1889,4168],[-344,3262],[-2332,668],[24,4468],[-747,5264],[990,2176],[-1128,792],[-70,2701],[1122,1331],[-454,1178],[625,803],[864,5722]],[[670172,715744],[779,-959],[1226,-83],[900,-1617],[2080,1629],[144,2209],[2094,1148],[1802,1945],[848,4688],[2051,706],[584,1884],[2103,-1308]],[[684783,725986],[1519,-81],[1917,-963]],[[688219,724942],[857,-1318],[2480,2224],[846,-1284],[631,2634],[2109,659],[-102,1541],[1845,3152],[1047,-885],[63,-2302],[760,87],[-331,-4773],[457,-2338],[568,-228],[3915,4231],[1415,61],[80,-1108],[1417,1088],[1110,-124],[645,-965]],[[566573,440308],[223,-3162],[-210,-1365],[56,-4659],[-303,-2233],[224,-1122],[-5511,-74],[2,-17504],[475,-3801],[429,-547],[2988,-5635]],[[564946,400206],[-5455,-2133],[-1865,-113],[-979,784],[-3657,413],[-996,678],[-893,1800],[-7308,58],[-5077,5],[-1484,2257],[-840,238],[-1537,-1453],[-1483,262],[-753,-478]],[[536300,469971],[3696,-165],[5324,160],[1118,-2226],[-24,-1364],[765,-4655],[1532,-4849],[3103,828],[1910,-181],[519,4871],[369,636],[2606,604],[25,-2030],[3176,-164],[252,-684],[-171,-2633],[321,-2818],[-184,-4902],[75,-2523],[948,-2644],[303,-3855],[-358,-1191],[280,-1789],[784,819],[1655,-111],[676,583],[1205,-221],[368,841]],[[533384,475069],[1017,2282],[1379,1031],[533,-1124]],[[536313,477258],[-1726,-2587],[145,-3699],[-806,-372]],[[555733,756786],[1170,-1918],[225,-2072]],[[557128,752796],[-215,-3561],[700,-2177],[620,-328]],[[558233,746730],[186,-1133],[-1038,-3206],[-962,-818],[-289,-1931],[-571,332]],[[553728,752769],[-3,1422]],[[553725,754191],[148,-125]],[[553787,755260],[-14,-11]],[[553773,755249],[822,2019],[1138,-482]],[[656633,652705],[-901,-1424],[-745,766],[-96,-3705],[623,-1063],[-1215,-426],[-109,-1581],[-858,-4087],[-39,-1959]],[[653293,639226],[-226,-489],[-7081,1844],[-2674,6790],[-67,1228]],[[655778,659124],[179,-2205],[425,-236]],[[309296,179739],[65,13040]],[[325969,372995],[1214,-2244],[794,-2648],[3023,-4732],[2632,-1395],[1443,-2135],[2799,-2994],[1510,-1049],[718,-1999],[-1777,-5378],[32,-1472],[-1251,-3354],[102,-701],[1213,243],[4809,-1661],[758,1376],[1249,-553],[416,1569],[2054,2949],[410,2035],[172,4341]],[[348289,353193],[1281,314],[732,-864],[611,-3295],[-464,-5309],[-1358,-1791],[-1524,-1041],[-627,-1585],[-1733,-1999],[-1389,-3158],[-1981,-5081],[-1862,-3513]],[[339975,325871],[-732,-2389],[172,-1585],[-992,-6008],[-93,-3549]],[[309879,194532],[-49,393],[-4164,1672],[-5440,110],[-1359,2659],[188,5089],[-2258,-334],[-967,3631],[-209,3213],[319,1594],[906,79],[427,1919],[1020,1089],[17,1621],[876,1719],[-625,2090],[478,2273],[1225,1724],[-98,2195],[680,1497],[-501,2476],[678,1225],[-318,2221],[1090,2064],[-1676,2601],[1933,168],[135,1907],[-1687,344],[388,2687],[-624,2900],[343,1619],[-1014,1048],[61,4098],[1010,1166],[-418,2671],[-58,5681],[658,2112],[-342,939],[775,3402],[316,3654],[1317,1465],[-213,4131],[-387,1652],[137,3839],[-205,1604],[379,1895],[1808,2737],[-182,4358],[501,3515],[661,2560],[554,453],[-116,2920],[207,2652],[-556,73],[-416,4738],[-1154,5345],[182,2495],[995,4195],[570,486],[79,3490],[-275,2637],[552,1308],[475,4086],[1341,2896],[911,4568],[1390,745],[-654,3019],[463,2161],[-516,3958],[600,2332],[-493,1506],[866,2641],[2483,2122],[965,6117],[-517,1064]],[[313347,369511],[1342,3587],[963,607],[403,1844],[1247,-1760],[1982,-19],[1256,-746],[778,-3548],[970,4473],[438,398],[2709,48],[534,-1400]],[[629140,735218],[-1045,-171]],[[628095,735047],[-1011,4059],[-1605,45],[-392,1153],[-731,-365]],[[624356,739939],[-1331,1995],[-1609,748],[-391,1871],[426,1405],[-786,2296]],[[620665,748254],[4338,1089]],[[625003,749343],[1628,-2630],[-587,-1238],[1635,-2395],[-1069,-1518],[1728,-2269],[490,-1257],[312,-2818]],[[547091,792639],[-243,-1257],[783,-2256]],[[547631,789126],[-224,-1768],[-1433,236],[-271,-4387],[-1001,-852]],[[544702,782355],[-376,-1098],[-2658,-307],[-1381,-1238],[-2232,611]],[[538055,780323],[-3644,1082],[-608,2248],[-2569,-631],[-609,-1058],[-1590,402]],[[529035,782366],[-2424,1140]],[[526611,783506],[-146,1264]],[[526465,784770],[74,1425]],[[527029,786288],[-98,96]],[[526931,786384],[1715,-1361],[327,1349],[1529,-847],[3412,1897],[1324,-290],[912,-1134],[-555,4045],[2391,2146],[388,1445]],[[538374,793634],[651,-975],[1784,-19],[780,2279],[3014,-1357],[1168,269],[1320,-1192]],[[628095,735047],[-1763,761],[-1840,3816]],[[624492,739624],[-136,315]],[[635746,732426],[-767,-144],[-1582,2417],[608,947],[-294,1975],[517,514],[-907,1688],[-619,-210],[-3562,-4395]],[[625003,749343],[777,940],[1422,-1334],[1847,-913],[596,1283],[-1362,2193],[688,1386]],[[628971,752898],[888,-464],[1421,-2948],[1667,-606],[1977,3743]],[[584871,490497],[-360,-1430],[252,-1635],[737,-400],[28,-1715],[-1015,-1862],[-771,-2941],[-1390,-2187]],[[582352,478327],[16,203]],[[581384,484839],[-244,85]],[[581140,484924],[38,1702],[-583,1975]],[[580595,488601],[135,697],[909,-1220],[1328,546],[172,2233],[1732,-360]],[[515815,805530],[552,-132]],[[516367,805398],[282,-12]],[[516649,805386],[1030,-2573],[-689,-1157]],[[516990,801656],[-1035,-1192],[126,-2260]],[[516081,798204],[-784,-162],[-1776,1643],[-21,2060],[-1901,-1041],[-3,1696],[-1410,464],[-1556,2693],[-742,-400],[-875,2283]],[[509305,809102],[1534,-1008],[900,1060]],[[511739,809154],[770,523],[2704,-1124],[973,-945],[-371,-2078]],[[509987,574011],[-300,-1782],[636,-1871],[328,-2798],[-718,-2009],[-52,-2138],[-645,-764],[-778,-4115],[-751,-209],[-246,-6960],[246,-6885],[-191,-2029]],[[504506,541548],[432,461],[-556,2327],[131,1836],[-69,12162],[-488,1392],[-262,4218],[-1528,2148],[335,3754]],[[502501,569846],[1462,2689],[1538,-170],[1135,2836]],[[506636,575201],[-65,1924],[1423,864],[1993,-3978]],[[500603,593059],[-148,-2454],[1262,-4703],[1619,-2049],[-591,43],[-3,-1913],[1605,-2408],[1413,465],[423,-1468],[-374,-1115],[827,-2256]],[[502501,569846],[-1157,-7],[-1535,732]],[[499809,570571],[-641,304],[-1117,-1054],[-5912,56],[-236,-2406],[356,-1128],[57,-4407],[195,-1047]],[[492511,560889],[-336,-329],[-1131,2782],[-1816,-3],[-1262,-1476],[-1772,1684],[-361,1846],[-1177,1093]],[[484656,566486],[92,3651],[530,969],[32,3685],[1362,1210],[1026,1810],[-145,1982],[705,720],[-284,1927],[772,1561],[1320,-1116],[762,513],[287,2323],[781,40],[120,1607],[1158,1915],[955,-626],[389,1707],[571,175],[1995,1976],[803,1352],[1457,69],[1259,-877]],[[757152,634925],[157,-3980],[-836,791],[-419,-869],[401,-2970]],[[747364,635607],[-862,7959],[-482,1409],[461,3297],[-1633,1510],[-339,842],[351,1699],[454,-195],[397,1817],[1205,35],[-336,1754],[-880,497],[-1021,1860],[1204,3729],[457,-1339],[2409,-1697],[192,1247],[566,-1625],[-24,-3768],[1737,-875],[4473,69],[1163,-1335],[-603,-290],[-521,-3085],[-519,-1061],[-1416,-603],[-574,-2565],[430,-3295],[845,-739],[884,3110],[-23,1075],[879,-15],[321,-4470],[361,-1443],[232,-4191]],[[577817,753361],[-1332,-286],[-666,940],[-1888,-679],[-818,-1471]],[[573113,751865],[-708,-257],[248,-1412],[-2511,-1133],[-2036,1830],[-2453,-982],[-1998,-299]],[[563655,749612],[249,2255],[-469,1639],[-1369,1898]],[[562066,755404],[499,753],[-158,2377],[1417,2048],[-1173,1579],[-372,3276],[790,1365]],[[563069,766802],[899,-947],[-305,-1443],[849,234],[6313,-1203],[1996,1993],[2420,949],[2215,-1068],[460,-976],[1487,-475]],[[552797,770541],[949,71],[-547,-3427],[1200,-1535],[-941,-464],[675,-1549],[-816,-1009]],[[553317,762628],[-466,-1427],[-979,-366],[-640,-1554],[-21,-2421]],[[551211,756860],[-2135,1999]],[[548847,759103],[-865,3006],[-1556,1974],[-1387,2584],[-233,1533],[-1094,1730],[143,2448],[1404,-1008],[659,1230],[3561,-820],[2361,-4],[957,-1235]],[[578188,837332],[1797,-1187],[1612,-22],[297,-1505],[2088,951],[1870,-1630],[197,-3078],[-497,-1583],[895,-799],[785,-2681],[1079,-829],[-105,-1454],[1933,-697],[706,-2112],[-1562,-1453],[-2012,622],[-442,-1063],[768,-1294],[117,-2880],[517,-1252]],[[588231,813386],[-2174,-324],[-1244,-2665],[32,-1963],[-1066,1260],[-2262,-563],[-585,1389],[-951,-633],[-1693,578],[-2538,33],[-356,822],[-3380,955],[-4343,-272],[-2101,-2070]],[[565570,809933],[131,3095],[-1266,1283],[1800,2413],[118,2152],[-1118,5405]],[[565235,824281],[3565,206],[2164,2116],[867,3481],[2545,2096],[-883,411],[377,1926]],[[573870,834517],[1275,965],[1457,-188],[1586,2038]],[[253072,598860],[-954,23],[211,11377]],[[252329,610260],[78,924],[908,-31],[788,2846],[631,157]],[[338445,385253],[-57,2053],[-2529,3151],[-2546,-67],[-4860,-2061],[-445,-2429],[-998,-3004],[-1,-2984],[-1040,-6917]],[[313347,369511],[-1901,-7],[-303,4537],[-550,2598],[-29,1886],[-936,2231],[94,1845],[-681,910],[130,4369],[654,1708],[-1404,2753],[-349,5437],[-609,636],[-549,2589]],[[306914,401003],[-317,1812],[518,663],[1114,3294]],[[308229,406772],[86,-108]],[[307332,412821],[-12,12]],[[307320,412833],[534,1615],[-562,1622],[388,2167],[985,2360],[-538,3056],[252,1105],[13,3652],[815,2240],[-2481,9184]],[[306726,439834],[2028,-352],[336,-660],[915,614],[907,1871],[972,119],[387,1049],[1308,1404],[1060,1739],[1295,885],[2410,673],[230,-3202],[-352,-1975],[323,-2598],[5,-2456],[915,-3174],[1331,-1634],[258,-1119],[2319,-469],[664,-955],[775,65],[839,-1944],[1637,-809],[1073,-2321],[1980,213],[1585,-1778],[89,-2340],[488,-2570],[71,-2786],[-861,-56],[947,-2259],[185,-4679],[4549,-350],[535,261],[-348,-2168],[208,-3460],[1565,-1647],[718,-4544],[-629,-4749],[-920,-3931],[752,-1393],[-830,-1096]],[[343103,516223],[1286,-592],[290,1169],[-594,1540],[537,1287],[571,-655],[2088,1135],[1007,-1605]],[[348288,518502],[1350,-1219],[1007,1385],[2230,-1015],[734,1068],[1972,7928],[939,2129]],[[351748,304813],[-452,1152]],[[351296,305965],[18,-30]],[[352392,311289],[-83,-134]],[[352309,311155],[-1203,1592],[-444,2051],[-1275,1195],[-1020,2192],[-1852,1538],[-841,2071],[-1243,-1204],[-476,2670],[-1824,3088],[-1060,-1043],[-1096,566]],[[348289,353193],[15,849]],[[348304,354042],[381,1259],[573,6839]],[[349258,362140],[-996,1501],[-992,-960],[-1066,-98],[-477,2430],[-221,5388],[-643,2156],[-946,156],[-570,1117],[-1506,-1058],[-2830,960],[349,6583],[-915,4938]],[[306726,439834],[-1061,129],[-1199,-762],[-695,286],[15,9077],[-1669,-2890],[-2622,-223],[-548,2924],[-2307,585],[654,2478],[-1597,3834],[-629,2426],[153,912],[-783,1342],[783,1462],[-105,2390],[1438,2025],[292,1301],[-278,1457],[710,2747],[258,3034],[523,329],[2372,3334],[2420,912],[483,1049],[1097,138],[460,-895],[759,385]],[[305650,479620],[1571,18018],[-742,4221],[-1120,2035],[47,4251],[1616,897],[827,-561],[31,1355],[-551,1185],[-1363,-27],[10,3846],[4644,65],[-48,1584],[567,-1389],[1362,2105],[410,-131],[727,-2787],[-10,-2401],[605,77]],[[314233,511963],[1595,-2791],[1723,1371],[578,-1731],[1027,2469],[1034,861],[1713,2168],[220,1690],[1782,1884],[13,1122],[-1832,671],[31,1638],[-503,2388],[-6,2267],[-1658,3821],[1562,-545],[650,-1251],[2019,-41],[906,-1945],[567,468],[145,2044],[838,822],[715,-345],[1664,1122],[761,1357],[770,109],[1107,2721],[-382,1229]],[[331272,535536],[1666,218],[421,-924],[-439,-3256],[1237,-901],[423,-2652],[-843,-2050],[65,-1412],[-453,-3906],[664,-2463],[-3,-2213],[1459,-3108],[1024,-1021],[974,479],[475,1795],[2073,691],[1321,1836],[784,-787],[983,361]],[[819833,533745],[518,-3074],[-610,57],[-223,3017]],[[819518,533745],[-778,-1076],[260,-1925],[-644,-2187],[-1513,3369]],[[816843,531926],[317,-10]],[[754532,669180],[-103,-1199],[1100,-637],[230,-3171],[-1116,-669],[-2589,-179],[-1094,703],[-1617,-1119],[-2517,1540],[94,2101]],[[746920,666550],[1793,4688],[1234,1207],[1020,-398],[12,-970],[2014,-627],[411,574],[1055,-708],[73,-1136]],[[570163,399300],[-97,-721],[1492,-4348],[1131,-5268],[1417,-2100],[1509,-1499],[164,-1972],[1164,-308],[-84,-3161],[1045,-3014],[2755,-1412],[193,-1507],[716,-760]],[[581568,373230],[-652,-114],[-806,-1586],[-1749,-1260],[-888,-2253],[-2510,-3737],[-422,-3177],[-1064,-2025],[-1499,-976],[-912,-5088],[-390,-641],[-1932,-610],[-2373,1283],[-1744,1980],[-1075,-1133],[-663,-3633],[-1526,-3016],[-1235,-1623],[-2518,31],[-314,2400],[523,1652],[-61,1477],[-1244,5248],[-1013,1499]],[[555501,357928],[-9,16450],[2760,0],[9,21810],[2881,712],[3024,1120],[552,-106],[783,-2521],[2162,2813],[477,-441],[1051,1370],[972,165]],[[563500,569410],[1256,-3150],[928,-3348],[-66,-2857],[-429,-1338],[192,-1771],[1694,-890]],[[567075,556056],[401,-2217],[1560,-911],[1095,-2447],[-159,-1216],[1941,-2692],[1314,-2545],[-148,-1067],[571,-2287],[1581,-1732],[889,-3956]],[[576120,534986],[-801,526],[-814,-803],[-3603,1479],[-766,-1703],[-1343,-560],[-1239,380],[-2507,-1961],[-837,437],[-1000,-535],[-927,-3032],[-2042,868],[-415,-217],[-2721,1291],[-921,2174],[-1166,1538],[-849,227],[-1201,-1399],[-1392,-3755],[119,-4616]],[[551695,525325],[-378,856],[-871,-729],[-2008,1094],[-2124,-885],[-492,-1933],[-77,-2234],[-792,-3328]],[[544953,518166],[-333,3783],[-801,1295],[-1795,4145],[-295,3150],[-871,1819],[-406,3640],[150,3467],[-516,1028],[856,1428],[1407,5829],[651,1541]],[[543000,549291],[1013,-287],[1483,1234],[463,1078],[665,-1864],[2402,2563],[2617,458],[1436,3527],[-612,1384],[714,748],[1453,29],[1871,629],[1198,1650],[1363,3371],[1283,2322],[-54,1234],[935,1469],[1252,1028],[1018,-454]],[[313542,772321],[-966,631]],[[312576,772952],[63,1967]],[[312639,774919],[-31,200]],[[311702,775814],[-38,-22]],[[311664,775792],[-16,7865],[-1191,1559],[-1648,-845]],[[308809,784371],[-1151,1538]],[[307658,785909],[-2124,-4467]],[[305534,781442],[-802,-4756],[-1671,-3814]],[[303061,772872],[-1193,164]],[[301868,773036],[-528,-1674]],[[301340,771362],[-8865,-22]],[[267330,873831],[-420,723]],[[292475,771340],[-1307,-619]],[[291168,770721],[-1718,-2421]],[[289450,768300],[-20,24]],[[279963,760904],[422,241]],[[280385,761145],[-13,-1049]],[[270430,756850],[633,2722]],[[251257,789167],[-84,-67]],[[251173,789100],[-3508,1179]],[[247665,790279],[-1884,-843]],[[245781,789436],[-4105,3279]],[[241676,792715],[-1975,-511]],[[239701,792204],[-2537,1286]],[[237164,793490],[-255,716]],[[236909,794206],[-395,2614],[-834,385],[-19,-2240],[-6577,10],[-10660,-1]],[[218424,794974],[-4738,0],[-7106,0],[-10660,0],[-8290,0],[-5922,0],[-5922,0],[-8292,0]],[[167494,794974],[-8574,0]],[[138819,835824],[-202,1310]],[[138617,837134],[-4105,2900]],[[134512,840034],[-691,-52]],[[133821,839982],[-576,2586],[-4969,9944],[-3121,3456]],[[125155,855968],[-298,1719]],[[124857,857687],[-1180,1271],[-2349,-1115]],[[121328,857843],[-714,-2681],[-2388,-1476]],[[118226,853686],[-430,1914]],[[117796,855600],[-4423,5079],[295,1541],[-2484,-951]],[[111184,861269],[-2857,694]],[[108327,861963],[0,55397]],[[526465,784770],[146,-1264]],[[529035,782366],[-61,-1865],[-955,295],[-410,-1411],[-1912,-444],[-826,-2706],[-1620,3644],[-1618,-3101],[-2130,24]],[[519503,776802],[-732,2903],[-913,87],[-951,-1680],[-73,1667],[2612,5298],[146,989],[1562,611]],[[521154,786677],[3515,378]],[[524669,787055],[685,84]],[[525354,787139],[153,0]],[[304393,396029],[1367,827],[206,2976],[948,1171]],[[868915,771709],[-4,489]],[[866863,773017],[-131,-309]],[[866732,772708],[-479,546],[-1125,-2031],[-1011,-439],[480,-4967],[17,-3784],[-536,-3144],[-1788,-1038],[284,-1135]],[[862574,756716],[-796,2111],[-950,631],[-496,-3100],[-1128,-364],[-1084,-2223],[-2440,-301],[683,-2516],[-499,-1028],[-2588,842],[-767,1479],[-841,-830],[-307,-1676],[-1392,-2686],[-3055,-2636],[-1465,-2700]],[[817405,638260],[-696,-172]],[[815489,636816],[-446,-704]],[[799923,632140],[-474,813],[-1252,-215],[-958,1686],[-952,506],[-354,2468],[678,2272],[-662,767],[-1942,85],[-1576,2503],[-1141,-1238],[-192,-1334],[-1177,-1227],[-883,286],[-386,-1268],[-819,1444],[-414,-1094],[-475,990],[-819,-1845],[-1356,1706],[-1082,-2143]],[[783687,637302],[-1267,492],[-408,-1236],[589,-2531],[-88,-4007],[-1335,436],[-237,2037]],[[780941,632493],[-51,1058],[-1637,-1706],[-879,29],[-657,1413],[-169,1934],[-2013,580],[534,4142],[-123,1605],[-1325,565],[-88,2566],[-420,1288],[425,1474],[-2270,-149],[-1256,-915],[350,1302],[-442,2138],[800,4503],[981,2031],[1258,1375],[295,4483],[-224,5860],[-1139,537],[-395,2839],[-1558,2179],[-599,-1731]],[[770339,671893],[-2000,1433],[-891,-283],[831,2083],[-404,1700],[-759,-835],[494,1778],[-846,1406],[-1443,-1426],[-266,-901],[-1807,720],[-407,809],[-2002,-3017],[-1933,-1258],[-242,-1117],[-1160,-1512],[-104,-1174],[-1907,-1295],[-961,176]],[[746920,666550],[-396,1219],[277,2055],[-632,1322],[-1420,-1311]],[[744749,669835],[-2690,-191],[-1631,1463],[-406,-928],[-915,918],[-347,-920],[-765,2068],[-1544,229],[101,1636],[-1235,20],[-1349,1873],[-354,1826],[-1438,-215],[-1189,2542],[-837,419],[-1932,2558],[-321,1254],[-1739,64],[-450,-1448],[-680,422]],[[725028,683425],[-912,1483],[-1363,910],[-741,1898]],[[722012,687716],[-22,32]],[[721990,687748],[-1520,1101]],[[720470,688849],[-85,152]],[[720385,689001],[-645,1760],[-875,-646],[-201,3519]],[[718664,693634],[-916,3746],[865,457],[606,-1415],[834,846]],[[720053,697268],[-8,373]],[[720045,697641],[-226,3602]],[[719819,701243],[-63,322]],[[719756,701565],[-863,1620],[-136,3483],[605,833],[-833,1717],[-1080,805],[-749,3537],[-560,1383]],[[716140,714943],[-31,68]],[[716109,715011],[-981,-120],[-1888,1102]],[[713240,715993],[-598,1335],[-1121,-344],[-675,1538],[193,1741],[-372,1584],[-1156,524],[-215,1038],[-2237,644]],[[708031,725294],[631,913],[-623,1278],[-415,5383],[-1298,887],[-1322,-313],[-17,2341],[-455,2647]],[[704532,738430],[786,934],[214,2587],[2361,1788],[66,880],[1994,662],[261,-1774],[2230,851],[954,3157],[3611,553],[664,1753],[2586,2436],[2562,1479],[-18,934]],[[722803,754670],[-124,2817],[1040,1232],[-414,1005],[1099,702],[-1196,5543],[279,3844],[-1273,303],[172,1240],[2205,727],[2330,1304],[826,-1111],[1360,-226],[288,1889],[-711,459],[1953,9870],[2740,-1276],[1807,11],[332,-841],[1941,1380],[477,1133],[-363,3916],[621,2780],[2222,852],[566,2845],[1582,456]],[[742562,795524],[1366,453]],[[743928,795977],[-198,-1664],[657,-1934],[1493,-1010],[1474,-2263],[1426,8],[2089,-1942],[509,-2316],[1038,-1959],[455,-2521],[-89,-2922],[-945,-3025],[599,-1951],[1963,-707],[3343,-242],[2414,-798],[2932,-3260],[1773,-431],[1561,-6349],[1315,-2879],[2278,411],[6283,-1313],[1434,647],[4806,-1253],[719,-1481],[3056,-1244],[1773,-1508],[2185,744],[0,-1293],[1345,-374],[597,844],[4370,3263],[3892,939],[3533,51],[2659,1883],[1686,3363],[2571,2192],[-1475,3886],[609,2724],[768,1404],[1427,-35],[515,-833],[2750,-1019],[1232,1167],[1352,2500],[3233,555],[1555,2001],[894,2926],[2140,427],[2709,2104],[1488,256],[2396,-915],[532,1493],[-519,1731],[-1748,2986],[-1621,1955],[-2027,23],[-1161,-1989],[-1639,1288],[-1471,-68],[-924,-1014],[-946,1529],[1100,4410],[2026,6721]],[[824119,799896],[3306,-1839],[1606,1961],[2246,1315],[-268,2012],[2508,7077],[1708,2206],[-70,3518],[-1635,391],[75,915],[1693,2279],[4538,1855],[3898,153],[2976,-2233],[730,413],[1594,-956],[1844,-3806],[1368,-5297],[332,-2403],[1061,-2324],[-2,-1506],[789,-1449],[-243,-1989],[1381,-1805],[1956,186],[1156,-1410],[1050,159],[1939,-2946],[992,-180],[697,-3080],[-256,-1266],[808,-2584],[2173,-65],[2158,521],[402,1058],[2116,889],[2291,1637],[751,-306],[523,-3592],[-1623,-2448],[96,-1032],[-932,-3727],[-15,-1488],[-1876,-4461],[-201,-2157],[-844,-383]],[[492511,560889],[-141,-2202],[406,-1832],[263,-3506],[-789,-1640],[-545,-4307],[-694,-2356],[98,-2719],[662,-4178],[468,-254],[-61,-2649],[-566,-132]],[[479041,530496],[-66,4321],[385,1445],[-67,3062],[-952,792],[-254,1539],[-1986,1617],[752,1741],[100,1614],[-527,2870]],[[476426,549497],[707,-10],[598,3484],[-665,645],[53,1196],[1544,-268],[-750,2230],[480,1742],[-327,1985],[-670,473],[2,3118],[405,832]],[[477803,564924],[915,1570],[1926,-1488],[763,1026],[109,1819],[685,-498],[406,898],[55,-2635],[575,-500],[530,1153],[889,217]],[[544953,518166],[-344,-3518],[-883,1414],[-2331,576],[-1162,845],[-3307,40]],[[536926,517523],[-203,562],[-5200,257],[-55,-784]],[[531468,517558],[-3747,1],[-497,811]],[[523766,532889],[681,2620],[720,4809],[1666,3097],[333,1352],[1010,1400],[941,-623],[344,1018],[1184,-2164],[336,-1540],[1106,1537],[79,1135],[782,1348],[-261,923],[690,1881],[604,4103],[473,1856],[1119,1724],[342,3198],[683,671],[262,2942],[738,3370],[991,3170],[1854,2087],[187,3651],[-300,1123],[-893,507],[-371,4116]],[[539066,582200],[1256,-585]],[[540322,581615],[681,-1920],[889,-4800],[-143,-4336],[684,-4480],[1052,-2071],[-2275,-392],[-1646,226],[-739,-1708],[986,-2891],[2178,-3828],[908,-4180],[103,-1944]],[[576120,534986],[1069,-2752],[1122,-1744],[654,-155],[832,1072],[1179,-692],[883,1325],[576,-148],[1439,-3584],[871,-867],[917,-2043]],[[585662,525398],[-235,-2660],[258,-1154],[-328,-2320],[1484,-1752]],[[586841,517512],[-11,-38]],[[584660,512056],[-1486,-2485],[-23,-1897],[-698,-3669]],[[582453,504005],[-110,3]],[[582340,501712],[2,5]],[[582342,501717],[-184,-5222]],[[582158,496495],[-988,-1767]],[[581170,494728],[-66,250]],[[580139,490215],[21,11]],[[580160,490226],[435,-1625]],[[581140,484924],[-41,14]],[[584945,456249],[-9,-232]],[[584936,456017],[-4664,-1572],[55,-1274],[-1437,-3106],[637,-3593],[25,-4964],[-783,-4821],[349,-1950],[1616,-3180],[1009,-488],[367,1355],[654,279],[0,-7331],[-670,852],[-1499,-710],[-1824,5254],[-2290,1699],[-936,3496],[-686,-1740],[-981,-434],[-1584,486],[-1880,1582],[-83,2288],[-2734,-798],[-42,1776],[-982,1185]],[[536313,477258],[950,-1200],[751,881],[88,1388],[622,-179],[1160,1097],[145,-3151],[826,-299],[2478,5041],[757,573],[762,2785],[196,2570],[-6,5051],[904,2000],[1205,4149],[845,831],[1317,2669],[-80,1609],[454,3031],[41,5237],[432,2469],[40,2835],[1163,5398],[332,3282]],[[530917,481515],[1039,2346],[958,-1045],[236,2240],[-1101,2855],[188,2927],[1275,-414],[1061,489],[-40,2376],[1004,-17],[551,-2260],[1314,-486],[747,1522],[425,-1938],[557,-8],[824,3418],[199,2825],[-125,2613],[194,2096],[-1723,2459],[68,2335],[563,2047],[964,1630],[-704,3310],[-916,287],[-1603,-1053],[-309,2412],[363,3042]],[[301889,574992],[-1773,-1158],[-807,-2784],[-548,-487],[-1176,-3691],[-381,-4160],[-972,-3331],[828,194],[728,-892],[363,-2852],[692,-1455],[-74,-5493],[654,-501],[875,-2251],[2443,24],[995,524],[1555,-858],[1822,-4758],[2687,128],[2511,505],[357,-1281],[-1071,-4473],[-84,-4524],[538,-3807],[973,-2657],[-1454,-3099],[600,-588],[1133,-2390],[930,-6914]],[[305650,479620],[-1038,2498],[-1099,196],[1837,6109],[-61,546],[-2274,2604],[-1340,-684],[-988,1074],[-644,-1030],[-1142,-606],[-1366,121],[-742,772],[-118,2654],[-832,813],[-466,2631],[-1617,1649],[-477,2310],[-1066,2255],[-1341,553]],[[290876,504085],[-1653,1527],[-1198,1762],[-510,-1262],[-1182,196],[-1396,926],[-125,1254],[-2346,2427],[-1521,2424]],[[283608,547547],[469,2853],[404,-994],[1085,2544],[-784,3116],[289,947]],[[270656,561454],[-1045,-756],[-1,-2305],[553,-642],[-488,-1252],[154,-1699],[-450,-815],[400,-1454]],[[261820,570254],[343,725],[1978,-1417],[578,633],[980,-428],[500,-1182],[992,-220],[470,1031]],[[594456,712459],[-1330,-157],[-394,735],[-1864,49]],[[541137,806029],[512,920],[1002,-1200],[2959,-1412],[-582,-888],[1302,-1932],[863,826],[-304,1127],[2763,-2695],[1910,-550],[749,-2184]],[[552311,798041],[-1865,-1501],[-1117,-2187],[-1584,-162],[-654,-1552]],[[538374,793634],[-3286,4113],[-987,3444],[489,1821],[5323,3251],[1224,-234]],[[527054,829528],[17,-108]],[[539583,823049],[24,-14]],[[539607,823035],[433,-2642],[-766,-2078],[1335,-2395],[370,-2647],[-419,-1477],[1152,-3435],[-575,-2332]],[[526931,786384],[-142,138]],[[521154,786677],[-87,2795],[705,3387],[823,2000],[-1899,1057],[-1987,51],[-1086,1730]],[[517623,797697],[397,2049],[-1030,1910]],[[516649,805386],[-276,1385],[830,2990],[-680,1620],[2204,880],[815,2780],[450,5344]],[[524116,829329],[-32,661]],[[524084,829990],[2970,-462]],[[620127,572847],[-898,-2965]],[[619229,569882],[-1014,483],[-2109,-595],[-89,3606],[1700,5198]],[[617717,578574],[810,-533],[1241,1968]],[[526959,830136],[95,-608]],[[524084,829990],[-25,488]],[[300643,611589],[18,1790],[-662,1520],[714,800],[239,2357],[-339,3480]],[[523823,723550],[-1021,-2619],[388,-754],[-286,-2947],[412,-3949],[-412,-2784],[-2033,-3872],[-38,-1469],[642,-3341],[1333,-2025],[340,-2270],[1974,-2792],[1318,-10918]],[[526440,683810],[-579,-677],[917,-2836],[562,-3966],[-75,-2410],[279,-4589],[-468,-2695],[408,-2861],[-97,-1753],[-1023,-1293],[-119,-1579],[1534,-4355],[76,-1665],[633,-2726],[1195,-235],[2363,-1543],[1198,-4579]],[[533244,644048],[-5754,-7235],[-6708,-8434],[-4570,-8259],[-4469,-1992]],[[511743,618128],[-2297,-915],[-819,958],[417,1545],[-146,2244],[-2215,1625],[-519,1089],[-1483,774],[-207,1050],[-1236,1551],[-57,1687],[-7683,10714],[-8895,12352]],[[486603,652802],[-6023,7672],[-4701,5897]],[[475879,666371],[0,2195]],[[475879,668566],[64,6293],[2709,3738],[1639,1633],[1277,-334],[374,1424],[2922,876],[1335,3012],[1793,1383],[1939,2174],[-580,782],[19,2750],[2248,1021],[240,1234],[1340,518],[3259,-243],[582,2247],[-1234,2425],[-470,2613],[-323,8491],[-1178,2087]],[[290876,504085],[-949,-96],[1008,-2562],[38,-2349],[-440,163],[-452,-3596],[-1442,-3565],[-1637,-2546],[-3282,-2482],[-1346,-2462],[-207,-2249],[-721,-3252],[-19,-1403],[-1084,-2536],[-707,372],[-854,2801],[-1392,942],[-678,-993],[-351,2335],[919,1136],[-404,2903]],[[594994,690286],[131,-677]],[[595125,689609],[1831,-10255]],[[602420,635036],[-6380,-3],[-8723,-3],[-5194,-4],[-6367,2],[-6367,2]],[[569389,635030],[0,42574],[-705,6331],[687,3116],[-336,3308],[827,1897]],[[617717,578574],[-1184,2464],[-520,1787],[-1117,1871],[-1648,3819],[-1522,1699],[-1916,625],[-927,-339],[-344,881],[-1583,-1207],[-1723,2535],[-869,-4166],[-872,1805],[-647,-1077],[-1389,-90]],[[601456,589181],[-271,5185],[264,700],[1089,6197],[-73,1946],[337,2573],[1117,16],[1032,2348],[1308,751],[989,2490]],[[495015,761882],[1066,-991],[-194,-1001],[3281,-1456],[717,-807],[1868,3],[182,921],[2032,-1477]],[[504739,756526],[-772,548]],[[504739,756526],[906,-888],[1720,-77],[1555,537]],[[479427,724985],[-272,2406],[1337,2720],[-890,2445],[959,3549],[-485,467],[-1009,3118],[1386,311],[629,3727],[-328,3946],[1989,3098],[-917,832],[-211,1599],[-1469,229],[-712,-873],[-2281,368],[32,1409],[-1567,-1141]],[[577812,857129],[-955,-2975]],[[576857,854154],[-403,147]],[[576732,848420],[54,9]],[[576786,848429],[-809,-2889]],[[575977,845540],[-2276,17],[-1504,1820],[-2445,1334],[-2190,-1143]],[[619229,569882],[-731,-2239],[506,-2478],[944,-1914],[836,-2966],[1501,-2331],[8209,-5859],[2778,0]],[[633272,552095],[-4320,-8885],[-4118,-9392],[-2643,228],[-2398,-1813],[-928,-2088],[-2132,-913],[-389,-949]],[[616344,528283],[-1842,-203],[-1266,1953],[-2564,-2498],[-966,-2342],[-3912,1141],[-3279,4519],[-2288,226],[-886,2123],[-50,3175],[-1324,879]],[[597967,537256],[-518,1071],[-1031,5849],[-1796,3350],[-1106,2638],[-1222,531],[-593,1130],[616,2636],[1997,279],[392,822],[-45,5209]],[[594661,560771],[593,3930],[-44,2389],[822,2086],[999,-91],[503,5639],[1343,4270],[1421,1120],[291,3227],[495,2103],[372,3737]],[[580460,913634],[-1375,-3161],[595,-1770],[1830,-758],[1765,-2211],[-2478,-4251],[2267,-5213],[534,-2425],[-767,-669],[-598,-3557],[1302,-1205],[98,-2364],[1099,-2046],[-1388,-1619],[3269,-3194],[981,-1912],[-690,-1883],[-4432,-6052],[-5257,-5983]],[[567098,894577],[-1122,2286],[658,3670],[-1445,3788],[474,2989],[-2379,2586],[-2181,768],[-3820,3059]],[[557283,913723],[2777,1385],[2192,-3263],[2536,-420],[1473,929],[3020,-1259],[2242,2351],[731,3925],[1427,1554],[3790,869],[3477,-2312],[533,-1175],[-1021,-2673]],[[348288,518502],[595,797],[574,2112],[-22,1898],[591,2674],[-1001,2752],[-274,2553],[-7,3131],[822,2047]],[[516081,798204],[1542,-507]],[[519503,776802],[-598,-1279],[964,-1831],[-1459,-1676],[1119,-2377],[-521,-1220],[345,-1367],[1860,-682],[-399,-2357]],[[520814,764013],[-644,-421]],[[503967,757074],[772,-548]],[[526641,510831],[4846,-191],[-19,6918]],[[482727,825162],[-1199,-177],[-1111,2071],[-849,-1701],[-2120,1737],[2499,4015]],[[620665,748254],[-1810,2705],[-893,-734],[-2657,460]],[[611050,761956],[478,888],[1383,-212],[2590,-1865],[2329,30],[3788,-2827],[485,-1069],[2538,1124],[2379,-1667],[-247,-1599],[2198,-1861]],[[499809,570571],[30,-2873],[1218,-2007],[-410,-4908],[822,-623],[-112,-3003],[-323,-546],[877,-2696],[-290,-939],[142,-4693],[-305,-2978],[588,-2360],[1250,-2152]],[[491349,534865],[76,235]],[[468362,578206],[-313,-1219],[547,-1085],[1034,1124],[710,-1811],[1118,1855],[1262,-1008],[1284,1262],[-104,1239],[980,-369],[624,-2843],[-10,-1476],[1151,-1700],[-713,-2077],[907,-267],[295,-3275],[669,-1632]],[[476426,549497],[-616,595],[-504,-2347],[-633,-278],[-962,1185],[263,1325],[-414,4186],[-695,1117],[-1431,-293]],[[471434,554987],[-1191,-888],[588,2087],[-528,3713],[-1431,3931],[-1959,90],[-1640,-775],[-706,-2895],[-756,-1599],[-736,-322]],[[458212,569531],[1002,3368],[1159,897],[1480,451],[-15,1621],[-586,998],[669,797],[-58,2140]],[[461863,579803],[1795,-239],[197,-924],[2002,-886],[2505,452]],[[453993,585214],[2924,-6],[1115,1338],[2174,-1917],[967,326],[361,-1234],[-1109,-589],[-2512,1900],[-375,-951],[-1467,-420],[-56,-999],[-2263,-14],[-317,-533]],[[453578,577913],[3158,803],[1052,1123],[4075,-36]],[[558233,746730],[1699,113],[983,1413],[1567,66],[1173,1290]],[[573113,751865],[844,-1865],[-817,-966],[1,-1684],[-811,-1349]],[[254921,597903],[-2078,-3474],[-683,-1639],[139,-1535],[-529,-1131]],[[251770,590124],[-2061,-3444],[26,-582]],[[243791,590891],[444,3133],[-311,1461],[1252,4439],[3582,15],[83,1886],[-815,1878],[-1942,3246],[1158,-21],[10,3342],[5077,-10]],[[341125,537589],[-378,-3130],[-1056,-173],[-954,-4853],[616,-2938],[787,-1914],[683,144],[261,-2929],[1404,-5014],[615,-559]],[[331272,535536],[-1763,4177],[689,1820],[-47,2846],[1188,437],[897,1049],[193,1117],[-855,457],[-239,1704],[571,1863],[1337,1424],[558,1495],[-517,1442]],[[817405,638260],[69,-246]],[[269007,593543],[-716,89],[-1256,-1266],[-1862,-954],[-897,1045],[-836,-1686],[-130,-1264],[-1607,-2769],[-704,1219],[-811,-1660],[-1115,-39],[64,-2666],[-968,-1908],[-773,-72]],[[256071,584100],[275,2450],[-1210,1034],[-921,-788],[-1772,3057],[-673,271]],[[551211,756860],[226,-751]],[[552514,776837],[644,-4357],[-361,-1939]],[[537716,774380],[2200,-210],[456,970],[869,-1054],[1368,-2],[-173,1574],[966,601],[31,2172],[2445,1773]],[[545878,780204],[2472,-3252],[1114,-952],[1531,-221],[1519,1058]],[[561477,791492],[1770,-1752],[299,-963]],[[563546,788777],[-1628,-1299],[-3475,-8801],[-2216,-792]],[[556227,777885],[-1975,276],[-1738,-1324]],[[545878,780204],[-1176,2151]],[[547631,789126],[1707,-1397],[2673,100],[188,1263],[3074,777],[1209,973],[434,1370],[2671,151],[876,-1269],[1014,398]],[[847411,448364],[-195,-316]],[[844380,449187],[165,186]],[[844545,449373],[683,-512],[450,1407]],[[845678,450268],[364,208]],[[846915,451584],[90,154]],[[847005,451738],[631,-1069],[-477,-428],[252,-1877]],[[890964,489271],[628,-15]],[[891592,489256],[0,-1148]],[[891592,488108],[4,-20988],[-314,-2334],[315,-979],[3,-13114]],[[891600,450693],[-144,200]],[[826595,529426],[-23,-50]],[[804524,516729],[69,-2445],[2367,-4460],[1200,920],[2311,-106],[857,853],[298,1752],[806,711],[1298,47],[126,-651],[1760,-1311],[779,1175],[1787,195],[791,3039],[-123,1602],[1091,1616],[-258,1883],[1023,1145],[310,2437],[7,2921],[910,2429],[3346,-69],[1316,-986]],[[720385,689001],[85,-152]],[[721990,687748],[22,-32]],[[725028,683425],[-1281,-1568],[-817,-2823],[-512,-3514],[3051,-2934],[1899,-2772],[375,277],[2070,-2339],[1547,-877],[1497,41],[728,672],[1442,-1141],[209,-1527],[1688,-1777],[765,585],[469,-1185],[1747,-387],[931,-826],[874,713],[754,-1156],[2132,414],[296,1746],[-492,2424],[349,4364]],[[770339,671893],[36,-1660],[-1211,-1741],[385,-3210],[-1035,1405],[-1677,-724],[-434,-1009],[-2157,-2663],[10,-3294],[-1606,-4726],[426,-1154],[-1152,-4306],[-459,-2639],[-2279,862],[299,-2014],[-137,-3255],[-559,-596],[-238,-1859],[232,-2121],[-549,-2112],[-765,754],[-317,-906]],[[689347,646059],[1553,636],[11,1783],[2308,44],[436,-595],[2308,1455],[470,-1068],[911,960],[10,1704],[-1099,4356],[-10,1446],[-1066,234],[-457,1206],[157,3326],[-1907,1973],[272,2193],[1601,3995],[720,1043],[927,-1754],[3147,1384],[1310,4676],[1560,1641],[1328,5365],[1188,942],[250,2026],[1223,2714],[815,836],[-320,895],[-22,3124],[638,1397],[1429,1135],[221,823],[-1877,1420],[15,1414],[-857,66],[-142,1321],[-859,1484],[433,1569],[-414,1666],[682,1196],[-824,170],[-389,1816],[420,1944],[942,663],[3914,-1554],[921,988],[1538,391],[1261,2216]],[[714023,712724],[2086,2287]],[[716109,715011],[31,-68]],[[719756,701565],[63,-322]],[[720045,697641],[8,-373]],[[649761,725957],[2308,938],[918,2374],[1397,1168],[1806,-156],[589,1043],[2091,-196],[395,-1341],[3056,-2082],[1055,266],[1350,-1024],[724,-1965],[1390,-1280],[774,-1927],[2162,29],[396,-6060]],[[669733,683211],[-724,-1598]],[[669009,681613],[1319,-2879],[846,-3442],[742,-1452],[2424,-2041],[1,-5639],[1122,13],[384,-758],[-381,-2719],[-2024,-619],[-556,-1209],[-1026,-679],[-559,-2805],[-224,-3357]],[[671077,654027],[-152,-40]],[[634851,682228],[-455,1586],[-1022,1395],[-12,3106],[-920,74],[0,2359],[418,2334],[-1274,3728],[-694,254],[-2067,2741],[-735,168],[92,1611],[-740,2253],[-1340,2139],[113,2632],[668,2271],[1266,1950],[-452,2349],[545,1756],[-1233,96],[-1005,1058],[-918,3026],[-739,3652]],[[624347,724766],[-566,3567],[-972,969],[609,2658],[-1132,6047],[1017,265],[549,2052],[640,-700]],[[633274,682349],[-850,668],[-1551,-795],[-580,-2511],[-1040,-2615]],[[629253,677096],[-486,-193],[-4555,770],[-5163,7712],[-2176,3466],[-4737,5087],[-3399,1099]],[[608737,695037],[283,1342],[-527,842],[-789,5208]],[[607704,702429],[5322,5687],[826,574],[577,2014],[60,3076],[383,2087],[-301,2565],[475,2614],[1033,489],[1584,3030]],[[617663,724565],[1155,1560],[2949,-879],[491,533],[746,-1987],[1343,974]],[[599409,698654],[-656,-2011]],[[598753,696643],[-995,823],[-659,-2213],[688,-2435],[-919,-2092],[1605,489]],[[598473,691215],[-77,-912]],[[598396,690303],[-61,-562]],[[598335,689741],[107,-581],[-830,-4216],[-464,-5130]],[[595125,689609],[645,2231]],[[597523,700720],[841,-48],[1272,2110]],[[599636,702782],[123,-2857],[-350,-1271]],[[538055,780323],[-894,-1532],[707,-500],[-175,-2032],[417,-1460]],[[608737,695037],[-509,-768],[-5566,-2982],[2838,-5874],[-963,-1106],[-456,-1886],[-1984,-764],[-775,-2197],[-1280,-1805],[-2957,966]],[[598473,691215],[301,1695]],[[598774,692910],[-21,3733]],[[599409,698654],[1624,-2062],[1240,-413],[5431,6250]],[[714023,712724],[-783,3269]],[[665127,772295],[-32,-131]],[[665095,772164],[-1906,1936]],[[663189,774100],[33,118]],[[722803,754670],[-801,1322],[-1197,263],[-1010,1885],[-1673,527],[-7596,404],[-428,-701],[-1633,532],[-2329,1990],[-1814,-1407],[-176,-3518],[-2055,1356],[-2601,1092],[-1556,-525],[-860,-2873]],[[697074,755017],[-1475,-1007],[-890,-1529],[-2863,-2687],[-1335,-2907],[46,-1282],[-1536,885],[-311,2294],[-3406,-103],[-586,4833],[-1359,59],[252,5841],[-825,-674],[-853,2568],[-1641,2395],[-1284,-969],[-3434,455],[-3380,-805],[-2304,4008],[-424,1334],[-2646,2687]],[[666820,770413],[22,2100]],[[662809,774782],[-59,-262]],[[662750,774520],[-391,14],[-6872,-3247],[5,-21758]],[[655492,749529],[-1200,-353],[-822,1158],[-960,2731],[-2175,2465],[-2419,-766],[-2100,-2521]],[[636756,779239],[-1728,1359],[-14,1181],[984,52],[-2360,5751],[-2271,-26],[-800,3220],[-954,757],[116,2330],[866,1735],[-590,1592],[528,2877],[929,2493],[1053,619],[2024,-3256],[1136,1095],[-606,3552],[1940,1416],[485,1372],[2080,1221],[1520,2605],[1529,-1504],[2740,1220],[667,-1182],[2131,4],[1954,-2175],[1690,-2696],[214,2002],[2264,-2348],[710,2],[1927,2473],[1445,270],[1196,-1044],[1102,1201],[1445,-166],[1457,-2187],[2580,-666],[396,1287],[2742,-615],[1243,981],[543,2184],[-617,1257],[-2495,1239],[-1109,1928],[1680,1033],[859,1445],[-492,2073],[681,1350],[2574,-171],[112,973],[-2265,1062],[933,1399],[-1543,583],[984,2533],[1653,-609],[3181,941],[3853,1653],[1935,-118],[887,1534],[2071,261],[4085,1215],[3567,3064],[3347,-1346],[1544,845],[1243,-4181],[-257,-2293],[676,-320],[2591,675],[375,-1824],[606,1007],[2935,-1213],[-776,-699],[-77,-2116],[1353,980],[1368,-783],[279,946],[3347,2717],[3279,1993],[-726,-2961],[3135,-3338],[2142,-4388],[2758,-6785],[1437,-4257],[1216,1017],[68,1404],[1193,582],[538,-1853],[1096,-1356],[2856,-73],[2398,1581],[1633,-1302],[1050,-3172],[1851,-1053],[840,-2737],[2470,-594],[1203,654],[1968,-3103]],[[616344,528283],[-1506,-4598],[-1048,-2293],[39,-21831],[1509,-4159],[30,-729]],[[608949,476917],[-3957,6031],[-524,1269],[98,2458],[-9967,11867]],[[594599,498542],[20,51]],[[594373,505981],[-1,1]],[[594372,505982],[1410,4908],[850,1118],[493,2445],[-165,4955],[-1272,4051],[-153,3128],[-633,720],[-525,2413]],[[594377,529720],[3590,7536]],[[704532,738430],[-2755,-373],[-1139,-1057],[-1178,403],[-932,1944],[-2048,-1128],[-348,896],[-3639,-235],[26,2629],[1833,1384],[1346,-906],[1407,1123]],[[697105,743110],[963,285],[1077,-797],[1219,1696],[629,-219],[2098,2277],[-1368,579],[-1267,1718],[-794,126],[-593,2051],[-713,-2400],[-1739,749],[-1671,1830],[1836,2655],[1074,849],[-782,508]],[[785927,574073],[-548,2269],[52,1994],[-711,1444],[-499,5154],[631,271],[1005,3264],[807,1161],[4388,564],[819,-1187],[304,704]],[[792175,589711],[464,-1402],[503,276],[1036,-1373],[612,738],[-406,1742],[1453,1393],[884,-1561],[1943,2313]],[[798664,591837],[-522,-3427],[761,-4081],[-362,-2414],[223,-2905],[-450,-1656],[-651,98],[-635,-1182],[-1435,-765],[-4,-1485],[-1129,357],[-429,-729],[13,-2018],[866,-1671],[-11,-1288],[-1136,1156],[-2035,-611],[-477,-2088],[-1179,-730]],[[851760,728554],[1487,3097],[2416,23],[932,1866]],[[559895,755010],[-1396,-451],[-1371,-1763]],[[555733,756786],[778,1663]],[[556511,758449],[1164,2552],[1743,-3005],[1006,-484],[-529,-2502]],[[634562,673818],[-2142,-58],[-662,2704],[-2505,632]],[[783687,637302],[1263,-2814],[314,-1435],[706,114],[-273,-2461],[704,-2217],[1472,-1153],[1160,1446],[1475,-1745],[-598,-1216],[697,-396],[859,-2112],[-1060,-2414],[-1430,383],[-377,-1986],[2278,-3179],[1196,-903],[-169,-1190],[1035,-1753],[647,-2467],[2253,-4643],[538,-2933],[1945,-2465],[-640,-1425],[1354,-3242],[-480,-1631],[108,-1628]],[[792175,589711],[812,1089],[104,4922],[303,2009],[-600,1703],[-997,1024],[-824,2887],[182,3867],[-1371,3054],[-1037,2981],[-1836,530],[-658,-2251],[-1207,-1156],[-1432,2235],[-2767,-4331],[-546,618],[568,2664],[-174,2213],[655,3377],[-207,3384],[-1629,-287],[-632,1518],[404,1970],[-626,1761],[-543,-410]],[[778117,625082],[353,2451],[876,561],[533,2889],[1062,1510]],[[599933,709876],[1269,-93],[422,-2324],[-1785,-3280],[-203,-1397]],[[468034,545635],[666,1931],[1723,3121],[213,1847],[503,512],[295,1941]],[[569389,635030],[-2,-11809],[-2776,-39],[0,-2958]],[[566611,620224],[-5322,5606],[-6655,7008],[-3992,4205],[-6242,6574],[-2792,-2660]],[[541608,640957],[-2079,-2238],[-2082,3328],[-4203,2001]],[[526440,683810],[1046,935],[892,2346],[-281,4032],[1976,3654],[1885,1973],[-1,4552]],[[579824,326379],[-958,-270],[-1038,-2931],[-737,251],[-1012,1683],[-936,3862],[675,857],[1225,3432],[2472,2123],[1877,-3010],[248,-1066],[-813,-3847],[-1003,-1084]],[[565235,824281],[-87,1206],[-1909,1264]],[[563239,826751],[181,2854],[-734,1307],[-1374,27],[-2324,1188]],[[558988,832127],[1,41]],[[558461,836902],[2884,1994],[4801,-459],[855,-385],[2174,793],[463,-1171],[1433,-416],[2799,-2741]],[[575977,845540],[1236,-1251],[-437,-2793],[1288,-1777],[124,-2387]],[[475879,668566],[-373,0],[63,-3174],[-1718,-191],[-894,-1348],[-1434,0],[-1865,886],[-1305,-753],[152,-1481],[-1056,-3135],[-868,-434],[-1112,-7111],[-1750,-2545],[-694,-2488],[-1278,-1128],[-695,-2251],[-556,-6520],[-1138,-2662],[-583,-2430],[-2528,237],[-3478,-415]],[[452769,631623],[199,2840]],[[463177,667252],[223,1310]],[[578367,773986],[-313,3094],[402,2835],[-479,3122],[-2042,3919],[-989,3053],[-1005,621]],[[573941,790630],[2584,1290],[1693,-1419],[2595,-1556],[186,-3080],[1082,-1236],[63,-1676],[849,-800],[-111,-2835],[-1921,1046],[-608,-609],[57,-2217],[-2043,-3552]],[[187598,692927],[3952,-2631]],[[191550,690296],[7854,31]],[[199404,690327],[7,2665]],[[199411,692992],[4885,-54],[549,-1336]],[[204845,691602],[2722,-4369]],[[207567,687233],[825,-955],[1319,-5737]],[[209711,680541],[1093,-1727]],[[210804,678814],[2369,-2281]],[[213173,676533],[1089,1522]],[[214262,678055],[364,2286]],[[214626,680341],[1292,1347],[1947,-368],[1471,-2067]],[[219336,679253],[1056,-2321]],[[220392,676932],[1008,-4389]],[[221400,672543],[2196,-4617]],[[223596,667926],[136,-2913]],[[223732,665013],[790,-2918]],[[224522,662095],[178,-694],[2848,-2266],[2011,-1149]],[[229559,657986],[590,539]],[[174644,697459],[6675,1079]],[[181319,698538],[-308,-1227]],[[181011,697311],[6587,-4384]],[[559895,755010],[2171,394]],[[511743,618128],[19,-12717],[-314,-3783],[-679,-3570],[-1035,-2363],[-6123,-498],[-945,-1691],[-2063,-447]],[[468362,578206],[-2,3185],[-680,2535],[-546,-320],[-619,1879],[98,3398],[-581,1493],[-145,2076]],[[465887,592452],[488,-377],[644,1480],[313,2550],[847,1184],[1409,-2810],[699,1609],[2098,-290],[2123,725],[10179,1],[424,4660],[-747,1693],[-1105,20579],[-1576,29341],[4920,5]],[[778117,625082],[-645,639],[-1198,-364],[119,-1039],[-1336,-864],[-289,-1593],[-1882,-487],[-623,348],[-550,-1715],[-308,-3129],[133,-1843],[-747,-750],[409,-1208],[446,-3608],[1795,-4180],[109,-1443],[944,-3266],[-627,-771],[-75,-3834],[-1040,-1182],[153,-2307],[900,-2694],[1010,-1837],[564,-1974],[-81,-3633],[825,-3291],[584,-4543],[-1180,-4004],[-1202,-2633],[-152,-2787]],[[553317,762628],[992,-1902],[2202,-2277]],[[553773,755249],[-181,-138]],[[553378,754483],[347,-292]],[[743928,795977],[1051,1713],[2266,126],[1793,1450],[-28,1099],[2809,1892],[4721,3802],[2079,-1541],[3189,-282],[1010,-3156],[1380,-523],[2057,458],[3149,-770],[619,-901],[2486,2057],[489,2697],[-1262,2679],[338,2151],[2628,4555],[2857,-2143],[1521,-174],[2533,-1620],[2029,-588],[492,-4553],[1097,-1172],[2636,-1472],[4864,1984],[2318,-1001],[1370,48],[1450,-1915],[1985,-383],[238,-1960],[1612,-1606],[1731,71],[2675,-974],[1744,-25],[1414,1124],[2064,405],[2710,1136],[302,1073],[3146,2827],[1240,-241],[1475,-1687],[1232,-405],[1158,772],[1524,-1108]],[[591350,345650],[-2148,58]],[[589202,345708],[-146,4865],[-311,359]],[[588745,350932],[104,8869],[-517,3368],[-706,2428],[-716,6400]],[[586910,371997],[3009,6323],[296,3684],[542,1166],[928,3806],[-637,2873],[-169,2291],[768,3807],[-125,9758],[-1958,1562],[-843,118],[-700,1272],[-1254,1129],[-2218,168],[-116,2086]],[[584433,412040],[-456,3868],[1226,1014],[7024,4773]],[[592227,421695],[1207,-3286],[1934,945],[479,-1123],[99,-4142],[-813,-3497],[409,-1846],[2486,-5319],[-342,3180],[531,2368],[1103,605],[382,6911],[-127,1308],[-1666,4587],[-1075,2219]],[[596834,424605],[3,366]],[[597102,435195],[7,928]],[[597109,436123],[1865,-23],[429,765],[1128,-1290],[909,-270],[983,859],[1390,-825],[2232,2558],[876,-797],[842,1092],[1463,630],[1853,1788],[1319,2111]],[[465887,592452],[-1606,2569],[-1936,5341],[-869,24],[-1199,2560],[-1918,573],[-2160,-1137],[-1308,274],[-823,-4105]],[[452643,627982],[233,3099],[10967,28],[-217,6885],[-200,1523],[374,1464],[1143,1606],[1658,1163],[20,14976],[9261,0],[-3,7645]],[[596829,424051],[5,554]],[[592227,421695],[-583,-52],[-889,2440],[821,2283],[150,3522],[1045,834],[-404,2235],[-72,3422],[426,2234],[-329,1566],[1105,1795],[-362,2108],[-604,1165],[-321,2439],[-766,1297]],[[591444,448983],[1391,-1188],[1480,-297]],[[778108,542882],[160,1362],[1714,-1455],[721,-1088],[-199,-2794],[366,-795],[1229,1605],[883,-488],[630,2470]],[[826676,529600],[-81,-174]],[[816815,531927],[28,-1]],[[564946,400206],[2484,945],[1826,-369],[907,-1482]],[[555501,357928],[0,-21769],[-859,-312],[-1416,-2576],[-897,412],[-2044,-15],[-1819,1028],[-173,2044],[-915,1908],[-835,-2494],[-856,-980]],[[541608,640957],[537,-6364],[26,-2362],[1182,-3371],[-56,-1309],[1005,-2549],[-594,-2364],[-724,-17748],[-3074,-6862],[-2554,-8113],[439,-4006]],[[537795,585909],[-785,-200],[-1858,-2039],[-533,-1380],[-2920,1540],[-1258,106],[-2151,-601],[-1580,-2722],[-2403,578],[-1821,2269],[-851,277],[-2033,-2001],[-702,637],[-1161,2938],[-2484,1595],[-695,-685],[-1162,15],[-1878,-1789],[-554,-4045],[-837,-1452],[-142,-4939]],[[537795,585909],[1271,-3709]],[[516367,805398],[-552,132]],[[585749,918146],[-25,-1452],[-1759,565],[-3505,-3625]],[[557283,913723],[-1404,-95],[563,-1581],[-971,-2356],[-4420,1221],[-1283,-3540],[-1645,823],[-3325,-4017],[767,-2197],[-2724,-3348],[169,-1089],[-2613,-1047],[-176,-4904],[-2304,-4266],[1187,-696],[-325,-2666],[-1836,360],[-1770,-796],[-1840,-3844],[606,-1724],[-288,-2421],[525,-1815],[-412,-3346],[2015,-2183],[-549,-1811],[-1080,-260],[818,-3270],[-285,-2038],[-2237,-3048],[-105,-3947],[-707,654]],[[647459,603350],[-990,3862],[-2087,10047]],[[644382,617259],[8332,5923],[1844,11884],[-1265,4160]],[[671509,653647],[-432,380]],[[307320,412833],[-113,108]],[[307956,408551],[363,-118]],[[308196,406812],[33,-40]],[[892036,450086],[-436,607]],[[891592,488108],[0,1148]],[[891592,489256],[365,-10]],[[554456,827357],[1677,-227],[7106,-379]],[[565570,809933],[1390,-3987],[-370,-2577],[-725,-194],[-2951,-4966],[446,-3071],[-753,308]],[[562607,795446],[-2497,2010],[-2844,-120],[-2387,-1110],[-875,2330],[-812,-1171],[-881,656]],[[539607,823035],[636,-341]],[[539863,823801],[-381,71]],[[539476,824343],[6,-471]],[[862574,756716],[445,-1380]],[[642410,650501],[-838,-197],[-449,1276]],[[578367,773986],[1523,-1281],[1786,1099],[840,-947]],[[563069,766802],[-576,2775],[-1124,-973],[-2042,1895],[372,1543],[-1993,2145],[2,1573],[-1481,2125]],[[563546,788777],[905,815],[2709,-1058],[1114,148],[874,-1263],[1585,1143],[1941,484],[1267,1584]],[[558952,831200],[36,927]],[[558054,832260],[-112,-611]],[[0,890205],[0,1449]],[[0,925312],[0,1133]],[[0,927721],[0,818]],[[999999,913406],[0,-23201]],[[866732,772708],[-53,-123]],[[868915,771622],[0,87]],[[606150,783708],[203,2771],[1703,1754],[2321,-62],[617,2513],[-870,1909],[956,1541],[-840,928],[1065,1139],[-109,2350],[-695,-147],[-1683,1682],[-712,-185],[-1833,1349],[-588,-784],[-1733,2911],[-2232,-1198],[-3355,1957],[-277,2988],[-688,945],[-2306,240],[-314,2579],[769,599],[-1841,3344],[-3409,-214],[-625,-1153],[-1443,-78]],[[576786,848429],[98,16]],[[576897,854139],[-40,15]],[[683568,913720],[921,-525]],[[584749,498394],[841,-2938],[45,-4593],[-764,-366]],[[580160,490226],[146,78]],[[581248,494433],[-78,295]],[[582158,496495],[981,-486],[1194,2342],[416,43]],[[452751,631365],[18,258]],[[644382,617259],[-7737,-2221],[-2834,-2751],[-1646,-4198],[-383,-1993],[-1295,-939],[-815,1867],[-1033,-221],[-2510,524],[-718,638],[-2756,-171],[-664,-438],[-1386,1135],[-631,-929],[-72,-3969],[-1016,-1882]],[[594661,560771],[-520,4],[189,2270],[-186,2095],[-2000,3858],[-275,4392],[351,3708],[-1326,34],[41,-1264],[-1846,-18],[731,-1722],[191,-3900],[-1309,-2341],[-772,-2615],[-1195,-2500],[-1348,-335],[-2046,3168],[-1104,-1258],[-368,-1756],[-1315,-939],[-431,-1683],[-2210,15],[-453,1606],[-2254,84],[-1453,-522],[-1833,4011],[-259,1290],[-2031,-751],[-783,-3075],[-703,-5260],[-1069,-1311]],[[563500,569410],[173,2519],[-1017,1924],[-567,5870],[-1464,771],[1119,3194],[-335,2374],[1118,2352],[-357,2507],[804,1019],[726,2604],[5,2198],[475,1004],[2440,460],[-9,22018]],[[594377,529720],[-1352,-2756],[-1367,741],[-1837,-1031],[-499,-1055],[-995,1627],[-883,-724],[-910,623],[-872,-1747]],[[635940,571417],[-2,-10703],[-2666,-8619]],[[562607,795446],[-1130,-3954]],[[549900,856389],[43,-180]],[[589202,345708],[-328,130],[-101,-2893],[-1358,61],[-1128,1086],[-748,2062],[25,2078],[1122,3377],[578,574],[1481,-1251]],[[599701,717503],[725,-490],[616,1999],[726,372],[-276,1323],[337,2045],[2160,-943],[2098,1530],[1597,-1235],[1639,-69],[1833,856],[1915,1610],[2249,-51],[2092,1110],[251,-995]],[[688219,724942],[154,1865],[1332,3234],[108,1214],[-792,2556],[155,1735],[-1186,275],[-908,1384],[1026,2247],[2067,-502],[1288,3553],[967,366],[-191,2183],[577,1366],[830,-831],[2024,2171],[860,-1681],[-1023,-1695],[751,-1495],[847,223]],[[655492,749529],[2891,-348],[-150,3513],[346,518]],[[658579,753212],[-98,-1010]],[[660075,754430],[-26,79]],[[660049,754509],[1142,1924],[1269,-1012],[-929,1844],[1216,891],[2394,-2837],[1131,-26],[290,-2019],[638,-711],[-285,-2577],[1015,-1053],[2427,-157],[467,479],[1128,-1080],[2077,-7318],[4200,-5361],[4028,-4236],[679,178],[2145,-1994],[-298,-3458]],[[844545,449373],[448,506]],[[844993,449879],[685,389]],[[847805,449005],[-394,-641]],[[847005,451738],[291,494]],[[588280,498780],[5,-46]],[[594254,497680],[345,862]],[[597109,436123],[-62,678]],[[591444,448983],[-1352,1488],[-1363,606],[-1133,2019],[-969,612]],[[586627,453708],[-6,44]],[[582337,478120],[15,207]],[[584749,498394],[930,386],[2601,0]],[[594372,505982],[-81,24]],[[588243,499173],[37,-393]],[[582342,501717],[624,1207]],[[582730,503997],[-277,8]],[[586953,517904],[-112,-392]],[[352309,311155],[-25,-42]],[[351267,306014],[29,-49]],[[251173,789100],[-75,-59]],[[280385,761145],[23,13]],[[289481,768262],[-31,38]],[[311664,775792],[-173,-93]],[[312640,774914],[-1,5]],[[138294,830715],[-1003,-1519]],[[663118,773843],[71,257]],[[665095,772164],[-147,-601]],[[666819,770377],[1,36]],[[660049,754509],[-189,580]],[[658593,753357],[-14,-145]],[[662750,774520],[-4,-21]],[[581568,373230],[829,282],[2214,-1082],[1267,227],[1032,-660]],[[586662,453459],[-35,249]],[[584433,412040],[-2524,-318],[-1700,-2010],[-319,-2939]],[[579890,406773],[-220,141]],[[575057,398323],[-669,-492],[-1240,665],[-1306,-134],[-1679,938]],[[584936,456017],[-10,-250]],[[575633,399537],[498,1027]],[[194446,794974],[-11287,0]],[[183159,794974],[-1817,3409],[182,2469],[-384,2214],[-1158,1154],[-2198,3412],[-1879,3917],[-663,-456],[-1133,2619],[-1142,1346],[-1360,18],[-273,1708],[-1344,2838],[-2555,1459],[-771,2631],[2,36479]],[[166666,860191],[12153,0],[5208,0],[10417,0]],[[194444,860191],[2,-65217]],[[146674,804734],[4763,-1918],[2332,-5262],[1798,-1212]],[[155567,796342],[1385,-3802],[-271,-1473]],[[156681,791067],[-4239,2531]],[[152442,793598],[753,1585]],[[153195,795183],[-1696,-517]],[[151499,794666],[-511,1450]],[[150988,796116],[-1665,1521],[-289,1293]],[[149034,798930],[-2506,2827]],[[146528,801757],[-1706,-61]],[[144822,801696],[-116,1881]],[[144706,803577],[1164,-240],[58,1057]],[[145928,804394],[-1647,-501]],[[144281,803893],[-798,1456]],[[143483,805349],[1189,689]],[[144672,806038],[2002,-1304]],[[134017,819872],[828,-2926]],[[134845,816946],[-375,-732]],[[134470,816214],[1025,-2515],[-2622,3729],[60,1281],[-1119,819]],[[131814,819528],[2203,344]],[[142910,818356],[118,-2495]],[[143028,815861],[-470,-1357],[-187,2807]],[[142371,817311],[-427,-530],[-771,2038]],[[141173,818819],[401,1551],[1336,-2014]],[[139308,819707],[-1857,2230]],[[137451,821937],[1590,-639]],[[139041,821298],[267,-1591]],[[131512,825393],[1448,-552]],[[132960,824841],[1295,634]],[[134255,825475],[-953,-5192]],[[133302,820283],[-2316,1437]],[[130986,821720],[-577,1603]],[[130409,823323],[11,2256]],[[130420,825579],[1092,-186]],[[138819,835824],[-202,1310]],[[138617,837134],[-4105,2900]],[[134512,840034],[-691,-52]],[[133821,839982],[-576,2586],[-4971,9944],[-3119,3456]],[[125155,855968],[-298,1719]],[[124857,857687],[-1180,1273],[-2349,-1117]],[[121328,857843],[-713,-2681],[-2389,-1476]],[[118226,853686],[-430,1914]],[[117796,855600],[-4064,4594]],[[113732,860194],[7956,-3],[7932,0],[5287,0],[7932,0],[5287,0],[7932,0]],[[156058,860191],[10608,0]],[[183159,794974],[-5516,0]],[[177643,794974],[-2753,0]],[[174890,794974],[-7396,0]],[[167494,794974],[-8574,0]],[[158920,794974],[-724,0]],[[158196,794974],[-795,2762]],[[157401,797736],[-1545,209]],[[155856,797945],[-35,2883]],[[155821,800828],[-659,-1117]],[[155162,799711],[-1780,1348]],[[153382,801059],[-768,2925]],[[152614,803984],[-3864,212],[1534,798]],[[150284,804994],[-1721,237]],[[148563,805231],[-319,1130]],[[148244,806361],[-1182,-282]],[[147062,806079],[-1807,1681]],[[145255,807760],[176,1939]],[[145431,809699],[-623,1758]],[[144808,811457],[214,3046]],[[145022,814503],[-863,-2968]],[[144159,811535],[-708,2195]],[[143451,813730],[699,4431]],[[143429,817681],[-797,2476],[-1191,732]],[[141441,820889],[-93,1622],[1590,-1307]],[[142938,821204],[-1159,2494]],[[141779,823698],[-903,-2657]],[[140876,821041],[-776,-838],[-2144,2799]],[[137956,823002],[813,2426],[-1076,1704],[2415,6170]],[[140108,833302],[-1178,-614]],[[138930,832688],[-111,3136]],[[252921,841529],[-12978,-18385],[-4259,-5483],[-5,-20456]],[[235679,797205],[-18,-2238],[-5733,8]],[[229928,794975],[-4397,-1],[-7107,0]],[[218424,794974],[-987,22745],[-773,17686],[-2,24786]],[[216662,860191],[11248,0],[8834,3]],[[236744,860194],[-45,-4347]],[[236699,855847],[319,-2357]],[[237018,853490],[1073,-913]],[[238091,852577],[-125,-2480]],[[237966,850097],[767,2741]],[[238733,852838],[2161,-22]],[[240894,852816],[2329,-8777]],[[243223,844039],[-794,-2022]],[[242429,842017],[4484,1823]],[[246913,843840],[1442,-99]],[[248355,843741],[2226,-1441]],[[250581,842300],[2340,-771]],[[322136,777316],[-788,-1048]],[[321348,776268],[-4361,-3630]],[[316987,772638],[-2744,-922]],[[314243,771716],[-701,605]],[[313542,772321],[-966,631]],[[312576,772952],[64,1967],[-976,873]],[[311664,775792],[-17,7865],[-1191,1559],[-1647,-845]],[[308809,784371],[-625,541]],[[308184,784912],[1874,1744],[3,2015],[2125,410],[689,-850],[1835,993]],[[314710,789224],[2375,-660]],[[317085,788564],[508,-1273]],[[317593,787291],[1846,893],[830,-723]],[[320269,787461],[-581,-2111]],[[319688,785350],[-1130,-1585]],[[318558,783765],[1355,-239],[-207,-1024]],[[319706,782502],[1012,-3837],[1737,-441]],[[322455,778224],[-319,-908]],[[345948,810042],[-1590,-1233],[641,-1748],[-2483,-5769]],[[342516,801292],[-356,-2642]],[[342160,798650],[1598,2823]],[[343758,801473],[238,-888]],[[343996,800585],[1754,338]],[[345750,800923],[-1417,-1733]],[[344333,799190],[-131,-1498],[2445,179]],[[346647,797871],[-104,-1672]],[[346543,796199],[2153,1954],[2361,-1232]],[[351057,796921],[128,-1069]],[[351185,795852],[-1633,-2094],[1286,-640]],[[350838,793118],[-1027,-1546]],[[349811,791572],[2807,1423]],[[352618,792995],[-218,-1524],[-1316,-1151]],[[351084,790320],[-700,-2418]],[[350384,787902],[716,-812]],[[351100,787090],[892,1987],[1158,683]],[[353150,789760],[-860,-2725]],[[352290,787035],[147,-1173],[945,1861],[357,-1302]],[[353739,786421],[-1156,-5144],[-1518,-6]],[[351065,781271],[-55,2711]],[[351010,783982],[-1493,-1524]],[[349517,782458],[846,3001]],[[350363,785459],[-896,2801]],[[349467,788260],[-1030,-2871]],[[348437,785389],[-817,58]],[[347620,785447],[-1275,-2839]],[[346345,782608],[-1314,-228],[-138,1210],[964,528]],[[345857,784118],[1728,2431],[-1380,533],[-190,-946],[-1188,171]],[[344827,786307],[12,1712]],[[344839,788019],[-1010,-875]],[[343829,787144],[-2031,-574]],[[341798,786570],[-3835,606]],[[337963,787176],[-2177,-629]],[[335786,786547],[-431,2517]],[[335355,789064],[2616,3120]],[[337971,792184],[-1072,450],[868,2880]],[[337767,795514],[1177,861]],[[338944,796375],[-100,1854],[1994,6850],[1522,3414]],[[342360,808493],[2013,1739],[1575,-190]],[[341388,809491],[-2,3304],[-11295,-1],[-6776,0],[-1264,2706],[1811,1369],[-728,2441],[-1408,-1692],[133,-3724],[-444,-2714],[-2352,2525],[-2496,-269],[-1188,1375],[453,3291],[-2132,-841],[361,3400],[-1442,1614],[-834,2561],[683,1201],[-302,1601],[1306,653],[-798,2486],[2184,-1408],[-342,3138],[3051,-3456],[3708,-111],[1638,-676],[667,3290],[1109,1021],[-2479,4488],[-299,3517],[580,1175],[793,4957],[-1188,351],[-906,2275],[1454,1721],[-619,1078],[1438,533],[-3487,1171],[1153,410],[-143,3137],[-1037,72],[424,2165],[-596,853],[738,1519]],[[320515,861997],[-428,-1741]],[[320087,860256],[1347,308]],[[321434,860564],[2066,-4332]],[[323500,856232],[94,-1290]],[[323594,854942],[1756,-2623]],[[325350,852319],[-1433,-1302],[2172,259]],[[326089,851276],[-1036,-2388]],[[325053,848888],[1374,360]],[[326427,849248],[1631,-1734]],[[328058,847514],[-191,-1478],[-1353,-888]],[[326514,845148],[1677,-478]],[[328191,844670],[-351,-790]],[[327840,843880],[1788,-1407],[-105,-1953]],[[329523,840520],[-1919,107]],[[327604,840627],[1770,-2004]],[[329374,838623],[-68,-2163],[1716,-223]],[[331022,836237],[1364,-1026]],[[332386,835211],[413,-1800]],[[332799,833411],[-1180,-2492]],[[331619,830919],[2384,1477]],[[334003,832396],[2116,-949]],[[336119,831447],[602,-1843]],[[336721,829604],[2272,222]],[[338993,829826],[1550,-1809]],[[340543,828017],[-2075,-1304]],[[338468,826713],[-1338,-1782]],[[337130,824931],[-3305,-1274]],[[333825,823657],[-1407,-3367]],[[332418,820290],[2798,2237]],[[335216,822527],[1861,1980],[2011,744]],[[339088,825251],[-733,738]],[[338355,825989],[2156,-387]],[[340511,825602],[780,-2198]],[[341291,823404],[-1089,-1138],[543,-774]],[[340745,821492],[1363,1602]],[[342108,823094],[2030,-901]],[[344138,822193],[867,-2225]],[[345005,819968],[-117,-4172]],[[344888,815796],[403,-2191]],[[345291,813605],[-3903,-4114]],[[322136,777316],[2050,-1544]],[[324186,775772],[1645,-68],[605,-703]],[[326436,775001],[1465,1460]],[[327901,776461],[1287,-1074]],[[329188,775387],[1280,-2341]],[[330468,773046],[-4118,-2655]],[[326350,770391],[-2201,-1192]],[[324149,769199],[-827,242]],[[323322,769441],[-437,-1166]],[[322885,768275],[-662,938],[-2397,-4603]],[[319826,764610],[-2432,-1819]],[[317394,762791],[-1077,1499]],[[316317,764290],[73,3279]],[[316390,767569],[1610,2165]],[[318000,769734],[-380,163]],[[317620,769897],[3683,3252]],[[321303,773149],[-65,-1013]],[[321238,772136],[2739,1342],[-4291,60]],[[319686,773538],[1662,2730]],[[331391,775898],[539,2552]],[[331930,778450],[1778,-263]],[[333708,778187],[103,-1152]],[[333811,777035],[-1550,-1839]],[[332261,775196],[-2494,-479]],[[329767,774717],[-587,2177],[1736,5067]],[[330916,781961],[1283,1226]],[[332199,783187],[212,-1397],[-681,-3528],[-1467,-1348],[128,-1430],[1000,414]],[[164773,916863],[10,-9267],[10642,-6944],[4258,-2777],[7806,-5092],[5096,-31],[3202,-3521],[1510,-733],[12107,-2039],[7265,-1224],[-7,-25044]],[[216662,860191],[-12497,0],[-9721,0]],[[156058,860191],[-2168,3915],[46,1723],[-2210,-955],[-4198,24],[-508,3401],[-2558,2023],[-1576,2404],[-1967,292],[161,2057],[-1411,1885],[248,1402],[-1401,1233],[803,1241],[-2265,2753],[-1240,2668],[-4151,2518],[686,1260],[-1134,1103],[1576,2209],[-1164,2556],[-2708,-394],[-129,3572],[-1167,2600],[-5751,2],[-120,3019],[-768,1376],[6,6805]],[[120990,912883],[3004,-1178]],[[123994,911705],[-1429,1307],[514,2336]],[[123079,915348],[4976,1286],[-762,-1632]],[[127293,915002],[2808,1073]],[[130101,916075],[898,1283]],[[130999,917358],[4733,1519]],[[135732,918877],[1772,1400]],[[137504,920277],[2361,-862]],[[139865,919415],[-3643,-2167],[-2508,-489]],[[133714,916759],[-4211,-3927]],[[129503,912832],[1868,-425],[-35,1566]],[[131336,913973],[2585,2089],[2153,-19]],[[136074,916043],[119,-1301],[1714,2648],[3455,1339]],[[141362,918729],[384,-1004]],[[141746,917725],[3576,3246],[-853,1857]],[[144469,922828],[2368,-1982]],[[146837,920846],[1462,-3015],[3403,-2258]],[[151702,915573],[516,2842]],[[152218,918415],[2102,1669],[889,-2492]],[[155209,917592],[-837,-1840]],[[154372,915752],[2268,-13]],[[156640,915739],[1622,2564]],[[158262,918303],[4151,-203]],[[162413,918100],[2360,-1237]],[[194439,937095],[5,-17659],[-8004,0],[-11594,6],[552,-2089]],[[175398,917353],[-774,2669]],[[174624,920022],[7063,1258],[5429,-517]],[[187116,920763],[2793,495]],[[189909,921258],[-5902,2263]],[[184007,923521],[-6204,-619]],[[177803,922902],[-4434,256]],[[173369,923158],[-1880,1533],[1249,1601],[5341,1323]],[[178079,927615],[846,975]],[[178925,928590],[-5934,-923]],[[172991,927667],[-54,1592],[-3127,163]],[[169810,929422],[-213,1770]],[[169597,931192],[2032,1642]],[[171629,932834],[-448,1607]],[[171181,934441],[2286,1760]],[[173467,936201],[8093,3209]],[[181560,939410],[1318,-609]],[[182878,938801],[152,-2422]],[[183030,936379],[-969,-1663]],[[182061,934716],[2661,676]],[[184722,935392],[811,1698]],[[185533,937090],[5384,-1584]],[[190917,935506],[-1737,-2119]],[[189180,933387],[4693,1808]],[[193873,935195],[-1266,2056],[1832,-156]],[[167398,943794],[1680,-502]],[[169078,943292],[1633,1284]],[[170711,944576],[2859,-77]],[[173570,944499],[5567,-3631]],[[179137,940868],[177,-1066]],[[179314,939802],[-9763,-4471]],[[169551,935331],[-1240,-1918],[-2144,-875],[-1221,-4189]],[[164946,928349],[-3139,-361]],[[161807,927988],[-3297,-2114],[-2976,3493]],[[155534,929367],[-4875,2725]],[[150659,932092],[2154,2668]],[[152813,934760],[419,2893]],[[153232,937653],[2887,4099]],[[156119,941752],[-2498,3437]],[[153621,945189],[9391,1077]],[[163012,946266],[4869,-1760]],[[167881,944506],[-483,-712]],[[168348,952708],[4561,2933],[-1599,-3156],[-2962,223]],[[194437,952245],[0,-4077]],[[194437,948168],[-6992,-2572]],[[187445,945596],[-2762,79]],[[184683,945675],[-1718,1990]],[[182965,947665],[3601,1240],[3236,261]],[[189802,949166],[1770,1229],[-7438,-938]],[[184134,949457],[-847,2167]],[[183287,951624],[-1209,-2052]],[[182078,949572],[-3547,-710]],[[178531,948862],[-5198,1799]],[[173333,950661],[1238,1192]],[[174571,951853],[2992,119]],[[177563,951972],[2654,1260],[-5287,-617]],[[174930,952615],[1909,1655]],[[176839,954270],[-756,1141],[2859,2156]],[[178942,957567],[3852,83]],[[182794,957650],[1029,-1449]],[[183823,956201],[3128,-30],[4569,-3870]],[[191520,952301],[2917,-56]],[[179024,963052],[-2040,-1550]],[[176984,961502],[181,-2907],[-2593,-1854]],[[174572,956741],[-2406,880]],[[172166,957621],[666,2001]],[[172832,959622],[-2809,-1607]],[[170023,958015],[-1047,-2290],[-986,1266],[-1082,-2852]],[[166908,954139],[-3074,957]],[[163834,955096],[-3836,-451]],[[159998,954645],[97,2708],[2088,238],[7011,5116]],[[169194,962707],[5030,50],[2545,1359]],[[176769,964116],[2255,-1064]],[[183799,965371],[-3325,1261]],[[180474,966632],[1941,652]],[[182415,967284],[1384,-1913]],[[193893,964006],[-4872,-1067]],[[189021,962939],[-3367,1102],[-63,2263]],[[185591,966304],[8843,1052],[-541,-3350]],[[190458,968527],[-4765,716],[7619,2064],[1122,-2577],[-3976,-203]],[[275745,817216],[-3632,1793]],[[272113,819009],[533,807]],[[272646,819816],[1977,116]],[[274623,819932],[1122,-2716]],[[280734,838063],[-2959,-1979]],[[277775,836084],[2024,3959]],[[279799,840043],[935,-1980]],[[310717,863514],[897,-667]],[[311614,862847],[-1153,-1236],[256,1903]],[[319909,868276],[-1665,1681]],[[318244,869957],[1785,75],[-120,-1756]],[[279041,874472],[614,-2284]],[[279655,872188],[-958,-2261],[-1656,1029]],[[277041,870956],[677,3109]],[[277718,874065],[1323,407]],[[304619,875284],[-1192,285]],[[303427,875569],[-1024,1666]],[[302403,877235],[1923,-856]],[[304326,876379],[293,-1095]],[[272221,877686],[-315,-1789]],[[271906,875897],[-2506,-2620]],[[269400,873277],[-1897,-294]],[[267503,872983],[-557,1873]],[[266946,874856],[1453,2538]],[[268399,877394],[3822,292]],[[284615,879658],[-1122,-1024]],[[283493,878634],[-1569,1996]],[[281924,880630],[1751,115],[940,-1087]],[[285098,881443],[642,556],[1267,-1708],[-1909,1152]],[[264112,891353],[853,1103],[7118,-4757]],[[272083,887699],[1039,-2559],[-630,-1073]],[[272492,884067],[2983,348]],[[275475,884415],[1463,-1942]],[[276938,882473],[-2067,-1781]],[[274871,880692],[-3699,1453]],[[271172,882145],[-248,1304]],[[270924,883449],[-2853,1020]],[[268071,884469],[-650,-1693]],[[267421,882776],[-2513,-2986]],[[264908,879790],[-2396,-1008]],[[262512,878782],[-858,3361],[-2896,-777]],[[258758,881366],[-950,574]],[[257808,881940],[2603,2752],[-340,2542]],[[260071,887234],[1146,6745]],[[261217,893979],[1131,1269]],[[262348,895248],[1764,-3895]],[[264792,893213],[-1282,1457]],[[263510,894670],[549,1112]],[[264059,895782],[733,-2569]],[[267428,894527],[-1090,-148]],[[266338,894379],[-802,2127],[1892,-1979]],[[295495,906299],[-2644,265],[-370,1413],[3532,-575]],[[296013,907402],[-518,-1103]],[[259456,906015],[-1011,2159]],[[258445,908174],[1496,493]],[[259941,908667],[-485,-2652]],[[291239,908966],[74,-4127]],[[291313,904839],[-1813,-1504],[-3403,-98]],[[286097,903237],[-836,2600],[1571,3113]],[[286832,908950],[2957,540],[1450,-524]],[[291997,909646],[-1443,1047],[1158,724]],[[291712,911417],[285,-1771]],[[279970,912589],[-542,459]],[[279428,913048],[2248,2652]],[[281676,915700],[1021,-396]],[[282697,915304],[-2727,-2715]],[[286124,914356],[-898,1615]],[[285226,915971],[1591,-74],[-693,-1541]],[[277839,916524],[-2223,991]],[[275616,917515],[3743,655],[-1520,-1646]],[[232499,915545],[1985,-3018]],[[234484,912527],[-2266,-2158]],[[232218,910369],[-2974,431]],[[229244,910800],[-5469,2217]],[[223775,913017],[-41,1263],[2777,1206]],[[226511,915486],[521,2488],[1327,635]],[[228359,918609],[975,-1297],[3165,-1767]],[[164773,916863],[2302,-1330],[2734,-506]],[[169809,915027],[2148,-1269],[5655,-1220],[1190,804]],[[178802,913342],[3380,-1855],[1250,-1543]],[[183432,909944],[-2225,-764],[-1858,-2180]],[[179349,907000],[4868,-1198]],[[184217,905802],[3463,-90]],[[187680,905712],[4529,875],[1952,947]],[[194161,907534],[1310,-1538]],[[195471,905996],[2882,-840]],[[198353,905156],[1843,-2750]],[[200196,902406],[-1574,-204]],[[198622,902202],[2183,-2087],[232,1559]],[[201037,901674],[1306,-719]],[[202343,900955],[-2266,5037]],[[200077,905992],[587,1779],[3713,997]],[[204377,908768],[1785,1931]],[[206162,910699],[-2297,-1002]],[[203865,909697],[-2809,-156]],[[201056,909541],[-318,-933]],[[200738,908608],[-2645,614]],[[198093,909222],[1036,1975]],[[199129,911197],[5969,1833],[1736,-1193]],[[206834,911837],[309,-1542]],[[207143,910295],[3430,-2530]],[[210573,907765],[1999,496]],[[212572,908261],[2172,-1799],[3159,-701]],[[217903,905761],[3052,868]],[[220955,906629],[3637,-687],[2041,495]],[[226633,906437],[2659,-1127]],[[229292,905310],[690,1410]],[[229982,906720],[-2512,285],[-1499,2729]],[[225971,909734],[3444,787],[1904,-2578]],[[231319,907943],[2097,1113]],[[233416,909056],[-1115,-4119]],[[232301,904937],[639,-1671]],[[232940,903266],[1171,265]],[[234111,903531],[1016,-1990]],[[235127,901541],[265,1670]],[[235392,903211],[-1089,2813]],[[234831,907706],[1666,120],[3381,3504]],[[239878,911330],[-2552,1651]],[[237326,912981],[1336,1328]],[[238662,914309],[-525,1891],[-4943,2228]],[[233194,918428],[-1377,2939],[1853,1314]],[[233670,922681],[-1862,1538],[398,2755]],[[232206,926974],[2338,374],[-856,1401]],[[233688,928749],[1864,1958]],[[235552,930707],[1789,446]],[[237341,931153],[4468,-4247]],[[241809,926906],[-91,-2428]],[[241718,924478],[2771,-3358]],[[244489,921120],[20,-1462]],[[244509,919658],[-2531,-2195]],[[241978,917463],[2711,-812],[3769,-158]],[[248458,916493],[-1896,-1297]],[[246562,915196],[2137,-2499]],[[248699,912697],[-293,-2305]],[[248406,910392],[1109,-1212],[1411,4410]],[[250926,913590],[1694,1490],[2821,-2691],[413,-3339],[-1262,237],[419,-3095]],[[255011,906192],[2581,-3447]],[[257592,902745],[2028,1968]],[[259620,904713],[1623,3296]],[[261243,908009],[1207,4132]],[[262450,912141],[1821,1801],[-1457,936]],[[262814,914878],[-78,3659],[3259,-87]],[[265995,918450],[1601,-800]],[[267596,917650],[3586,-343],[-1057,-874]],[[270125,916433],[3962,-2218]],[[274087,914215],[-1748,-1400]],[[272339,912815],[1879,-1341]],[[274218,911474],[-3531,-1249]],[[270687,910225],[1600,-3463]],[[272287,906762],[1962,-2382]],[[274249,904380],[-548,-2310],[-3261,-2858]],[[270440,899212],[-2449,-1296]],[[267991,897916],[-1103,1836],[-2571,2073]],[[264317,901825],[2833,-4376]],[[267150,897449],[-1813,-656]],[[265337,896793],[-2677,2121]],[[262660,898914],[-3309,-35]],[[259351,898879],[1640,-3015],[-3467,-3955],[-1885,-36],[-4943,3479]],[[250696,895352],[-3501,175],[3393,-1356],[2262,-2301]],[[252850,891870],[5407,-890]],[[258257,890980],[-703,-2203]],[[257554,888777],[-2293,-3809]],[[255261,884968],[-1977,-1132]],[[253284,883836],[-3751,-80]],[[249533,883756],[-215,-1995],[-1573,-362],[-2862,691],[3042,-2050]],[[247925,880040],[-86,-2251],[-1864,-992]],[[245975,876797],[-2534,90],[981,-1652]],[[244422,875235],[-1510,36]],[[242912,875271],[66,-2240]],[[242978,873031],[-2928,-1341]],[[240050,871690],[750,-1036]],[[240800,870654],[-2080,-2662]],[[238720,867992],[-21,-1061],[-1607,-4281]],[[237092,862650],[-348,-2456]],[[194439,937095],[3463,-2553],[1513,-4739]],[[199415,929803],[2511,850],[-1081,1509]],[[200845,932162],[-1507,5667]],[[199338,937829],[581,1439]],[[199919,939268],[2995,-430],[3162,-1573]],[[206076,937265],[4064,-9341]],[[210140,927924],[-611,-1954]],[[209529,925970],[1711,-2023]],[[211240,923947],[2511,-638],[4131,-3081],[1444,-143]],[[219326,920085],[299,-2344],[-3609,753]],[[216016,918494],[-1075,-1723]],[[214941,916771],[-2050,794]],[[212891,917565],[747,-2805]],[[213638,914760],[2608,1633],[818,-2747],[-2884,-1187]],[[214180,912459],[-6141,574]],[[208039,913033],[240,953]],[[208279,913986],[-3115,478]],[[205164,914464],[-1441,1644],[-2167,-2591]],[[201556,913517],[-4184,-1435],[-6569,-1291]],[[190803,910791],[-5047,-284]],[[185756,910507],[-1359,2040]],[[184397,912547],[-214,2113]],[[184183,914660],[-4069,413]],[[180114,915073],[-3763,947]],[[176351,916020],[-953,1333]],[[202996,940045],[854,1278]],[[203850,941323],[3059,415],[2400,-896]],[[209309,940842],[183,-1543]],[[209492,939299],[-1963,-2571],[-4533,3317]],[[279063,941080],[3474,67]],[[282537,941147],[3000,-985]],[[285537,940162],[2547,-2480]],[[288084,937682],[-308,-1543],[-3987,452]],[[283789,936591],[-4624,-835]],[[279165,935756],[-1897,2777]],[[277268,938533],[-1780,924]],[[275488,939457],[171,2235],[3404,-612]],[[259474,925417],[4151,836]],[[263625,926253],[624,-889]],[[264249,925364],[584,3462]],[[264833,928826],[-3477,2372]],[[261356,931198],[1405,1353],[2929,-962],[-2749,2185]],[[262941,933774],[-843,2091],[1740,3325],[3434,482]],[[267272,939672],[3118,1852],[3481,-563],[3144,-5266],[-2652,-2571]],[[274363,933124],[1030,-2372],[2268,2861]],[[277661,933613],[3730,-255],[2703,-1014]],[[284094,932344],[-2036,2147],[4349,1056]],[[286407,935547],[4442,-1421]],[[290849,934126],[1086,-2253]],[[291935,931873],[1695,-297]],[[293630,931576],[-308,-2239]],[[293322,929337],[4172,31],[4572,-1872]],[[302066,927496],[-663,-1520],[1951,-12]],[[303354,925964],[381,-1376]],[[303735,924588],[-1724,-2195]],[[302011,922393],[3684,2042]],[[305695,924435],[4421,-1908]],[[310116,922527],[-1557,-1872]],[[308559,920655],[485,-1575],[1732,2213]],[[310776,921293],[2102,-1660]],[[312878,919633],[395,-1800]],[[313273,917833],[-2479,139]],[[310794,917972],[-1108,-1048]],[[309686,916924],[4839,-1425]],[[314525,915499],[-89,-1090]],[[314436,914409],[-3154,565]],[[311282,914974],[518,-1241]],[[311800,913733],[-795,-2890]],[[311005,910843],[3678,-624]],[[314683,910219],[-325,-1362]],[[314358,908857],[1719,384],[-560,-2229],[3991,825]],[[319508,907837],[2280,-2491]],[[321788,905346],[889,-2126]],[[322677,903220],[2211,-173],[-1837,-2444]],[[323051,900603],[4814,1166],[1858,-2196]],[[329723,899573],[-1564,-1989]],[[328159,897584],[-1918,557]],[[326241,898141],[1560,-2201]],[[327801,895940],[-1663,-5]],[[326138,895935],[-191,-2337]],[[325947,893598],[-1885,-137],[-747,-4081]],[[323315,889380],[-803,1074]],[[322512,890454],[-1832,43]],[[320680,890497],[-2351,3836]],[[318329,894333],[1103,1858]],[[319432,896191],[-2282,-478]],[[317150,895713],[-2671,3310]],[[314479,899023],[-1455,-1493],[-1548,1105]],[[311476,898635],[1904,-2700]],[[313380,895935],[-2982,-568],[3163,-2952],[-578,-496]],[[312983,891919],[1832,-2268],[2022,-521]],[[316837,889130],[2400,-2661]],[[319237,886469],[-265,-2421]],[[318972,884048],[1365,0]],[[320337,884048],[456,-4526],[-1882,2963]],[[318911,882485],[396,-3137]],[[319307,879348],[1016,-1969]],[[320323,877379],[-1331,179]],[[318992,877558],[313,-1697]],[[319305,875861],[-3261,2731],[-529,-473]],[[315515,878119],[-2126,1645]],[[313389,879764],[-1982,2540]],[[311407,882304],[474,-1842]],[[311881,880462],[-2142,1793],[-1159,-131]],[[308580,882124],[2138,-3145],[1293,-467]],[[312011,878512],[4710,-5241]],[[316721,873271],[-768,-2018]],[[315953,871253],[-3287,1676]],[[312666,872929],[-2607,498],[-1955,1007]],[[308104,874434],[-1285,2011],[-1920,111]],[[304899,876556],[-2826,1653],[-1998,2296],[1436,487],[-2131,1165]],[[299380,882157],[-3390,4234]],[[295990,886391],[-4091,2183]],[[291899,888574],[767,-1391],[-5788,-1869],[-2965,743]],[[283913,886057],[-1065,1485]],[[282848,887542],[219,1905]],[[283067,889447],[2041,1524]],[[285108,890971],[95,1520]],[[285203,892491],[4162,-1340],[333,525]],[[289698,891676],[5994,1005]],[[295692,892681],[-542,1668],[-1911,2205],[3203,3175],[2947,3433]],[[299389,903162],[-3020,6597]],[[296369,909759],[-937,-434]],[[295432,909325],[-2788,2445],[-574,2124],[-4302,-2212]],[[287768,911682],[-427,1878]],[[287341,913560],[1676,127]],[[289017,913687],[463,1704]],[[289480,915391],[-1725,727]],[[287755,916118],[-292,1438]],[[287463,917556],[-2996,958]],[[284467,918514],[-697,2378]],[[283770,920892],[-1223,-106]],[[282547,920786],[-2176,2217],[-781,-1369],[1272,-2338],[-2018,-491]],[[278844,918805],[-5399,1283]],[[273445,920088],[-1608,-1600]],[[271837,918488],[-2646,964]],[[269191,919452],[-2133,-244]],[[267058,919208],[-6842,1081]],[[260216,920289],[-839,1516]],[[259377,921805],[-3546,-884]],[[255831,920921],[-2632,1606]],[[253199,922527],[-1688,3192]],[[251511,925719],[4475,-695]],[[255986,925024],[1957,398]],[[257943,925422],[-2033,1166],[-3353,471]],[[252557,927059],[-2129,1211]],[[250428,928270],[-498,2703]],[[249930,930973],[453,2745]],[[250383,933718],[1662,3892],[4288,3875]],[[256333,941485],[2641,658]],[[258974,942143],[4608,-153]],[[263582,941990],[-4219,-5554]],[[259363,936436],[1647,-6515]],[[261010,929921],[2814,-2475]],[[263824,927446],[-4350,-2029]],[[224561,941535],[4378,925]],[[228939,942460],[1612,-1311],[-753,-1655]],[[229798,939494],[-3234,-2290]],[[226564,937204],[2670,-48]],[[229234,937156],[880,-2070]],[[230114,935086],[1713,331]],[[231827,935417],[-705,-2280]],[[231122,933137],[507,-2844]],[[231629,930293],[-2691,-1209]],[[228938,929084],[-2435,850]],[[226503,929934],[723,-1969]],[[227226,927965],[-2690,-437],[-3965,4651]],[[220571,932179],[-3137,964],[-2750,2773]],[[214684,935916],[2198,1623]],[[216882,937539],[1588,-1840]],[[218470,935699],[2405,158]],[[220875,935857],[1078,1127]],[[221953,936984],[-951,1726]],[[221002,938710],[-2810,1045]],[[218192,939755],[1488,2218]],[[219680,941973],[2536,833]],[[223930,942411],[4686,1359],[-1589,-1423],[-3097,64]],[[241192,944080],[2634,-1117]],[[243826,942963],[5189,-616]],[[249015,942347],[-4898,-6604],[-5815,19]],[[238302,935762],[1822,-1989]],[[240124,933773],[-1340,-2325]],[[238784,931448],[-3209,-8]],[[235575,931440],[-985,4468]],[[234590,935908],[-237,5414]],[[234353,941322],[2598,-189]],[[236951,941133],[-951,2135]],[[236000,943268],[5192,812]],[[210778,949266],[-2132,660]],[[208646,949926],[1503,1671]],[[210149,951597],[1956,-1581]],[[212105,950016],[-1327,-750]],[[240159,949216],[-12,-1995]],[[240147,947221],[-3196,-291]],[[236951,946930],[-5173,2063],[2469,3190]],[[234247,952183],[3455,383]],[[237702,952566],[2457,-3350]],[[216034,955063],[-3020,-1485],[-2878,2478]],[[210136,956056],[4908,588]],[[215044,956644],[990,-1581]],[[211047,958429],[2699,-788]],[[213746,957641],[-3387,-733]],[[210359,956908],[688,1521]],[[228608,957739],[1014,-6202]],[[229622,951537],[-940,-1733]],[[228682,949804],[-2484,-698]],[[226198,949106],[-4627,-9]],[[221571,949097],[-1380,2007]],[[220191,951104],[3167,1830]],[[223358,952934],[-8195,-840]],[[215163,952094],[1662,2193]],[[216825,954287],[235,3289]],[[217060,957576],[5106,-2959]],[[222166,954617],[-2419,3175]],[[219747,957792],[6056,1294]],[[225803,959086],[2805,-1347]],[[194437,952245],[2939,947],[-2365,972]],[[195011,954164],[1016,1458]],[[196027,955622],[-1592,2195],[1847,1661]],[[196282,959478],[2420,-133],[-126,-1769]],[[198576,957576],[1834,-2259]],[[200410,955317],[-468,-1498]],[[199942,953819],[3136,-133]],[[203078,953686],[1376,1646]],[[204454,955332],[2543,-1863]],[[206997,953469],[-1060,-3283]],[[205937,950186],[-3585,-1567],[-4661,816]],[[197691,949435],[-3254,-1267]],[[238068,960381],[3611,-1730]],[[241679,958651],[4696,357],[5273,-2912]],[[251648,956096],[-5202,-173]],[[246446,955923],[5762,-2358],[-1225,-1167],[2026,-658]],[[253009,951740],[4609,970],[3302,-684]],[[260920,952026],[5935,1877]],[[266855,953903],[4940,71]],[[271795,953974],[5088,-1196]],[[276883,952778],[1910,-2546]],[[278793,950232],[-2009,-876],[2656,-793]],[[279440,948563],[-2434,-1991]],[[277006,946572],[-4253,-622]],[[272753,945950],[-9035,772]],[[263718,946722],[-2484,-641],[-6854,-27]],[[254380,946054],[231,1722]],[[254611,947776],[-4179,-1400],[-5881,1450]],[[244551,947826],[-1293,3277]],[[243258,951103],[995,1844],[-2842,4126],[-6062,-532]],[[235349,956541],[-4365,2738]],[[230984,959279],[243,1454]],[[231227,960733],[3111,545]],[[234338,961278],[3730,-897]],[[250463,962485],[-3651,710],[-5,1307]],[[246807,964502],[2715,-79]],[[249522,964423],[941,-1938]],[[209605,962901],[-1869,-923],[-2364,3220],[4233,-2297]],[[234765,965592],[5282,-126]],[[240047,965466],[176,-1756],[-6854,57]],[[233369,963767],[1396,1825]],[[232764,969972],[3660,-1103],[-556,-2089],[-5284,-1106]],[[230584,965674],[-3516,3693]],[[227068,969367],[120,2224]],[[227188,971591],[5576,-1619]],[[215066,972034],[2424,1183],[5817,-2939],[-394,-1659]],[[222913,968619],[1625,-2642]],[[224538,965977],[-3944,205]],[[220594,966182],[-1356,1790],[-4603,1051]],[[214635,969023],[-4425,-603],[-1865,1476]],[[208345,969896],[3420,6]],[[211765,969902],[-1076,2786]],[[210689,972688],[-1849,-1082]],[[208840,971606],[-1995,1336],[411,1724]],[[207256,974666],[5449,-48],[2361,-2584]],[[225579,978561],[-137,-1446],[-3477,1076]],[[221965,978191],[1003,1336],[2611,-966]],[[244762,985385],[3451,-3194]],[[248213,982191],[8245,-1313]],[[256458,980878],[-687,-1627]],[[255771,979251],[2624,-1206],[-882,-1859]],[[257513,976186],[4576,185]],[[262089,976371],[995,-2388]],[[263084,973983],[-6467,-3153]],[[256617,970830],[-3122,-546]],[[253495,970284],[-137,-2320]],[[253358,967964],[-3461,2456]],[[249897,970420],[1472,-2391]],[[251369,968029],[-6645,199]],[[244724,968228],[-6288,4486]],[[238436,972714],[7831,2173]],[[246267,974887],[-4106,527]],[[242161,975414],[-6338,-948]],[[235823,974466],[-4639,5012]],[[231184,979478],[5911,-516],[-4785,1448]],[[232310,980410],[2276,435]],[[234586,980845],[-1622,1924],[6125,-783]],[[239089,981986],[-4409,1652]],[[234680,983638],[680,965],[7938,1643]],[[243298,986246],[1464,-861]],[[306975,996546],[8048,-431]],[[315023,996115],[-2237,-1635]],[[312786,994480],[6923,1379],[5054,-1988]],[[324763,993871],[4467,-581]],[[329230,993290],[-1943,-2511]],[[327287,990779],[-6660,-1835],[-5699,-694]],[[314928,988250],[-4700,-2105]],[[317401,987526],[699,-1242]],[[318100,986284],[-8741,-3591]],[[309359,982693],[-7659,-5433],[-5791,-30],[18,-1548]],[[295927,975682],[-4981,-439]],[[290946,975243],[-4554,541]],[[286392,975784],[6574,-2724],[-11249,133]],[[281717,973193],[1942,-786]],[[283659,972407],[4519,382]],[[288178,972789],[5063,-1675]],[[293241,971114],[-1237,-1062]],[[292004,970052],[-4271,-198],[3396,-1088]],[[291129,968766],[-1868,-1884],[-5963,-377]],[[283298,966505],[-177,-2530]],[[283121,963975],[-2203,-1105]],[[280918,962870],[-6244,-373]],[[274674,962497],[4934,-659]],[[279608,961838],[334,-1317]],[[279942,960521],[2589,247]],[[282531,960768],[12,-2409],[-6683,-2338]],[[275860,956021],[-1334,1992]],[[274526,958013],[-3776,1247],[824,-1525]],[[271574,957735],[-4590,-75]],[[266984,957660],[-3488,-880]],[[263496,956780],[-2707,772]],[[260789,957552],[-6334,-177]],[[254455,957375],[-3261,515]],[[251194,957890],[196,1984],[3059,1641]],[[254449,961515],[4294,418],[-3452,3228]],[[255291,965161],[2992,1025]],[[258283,966186],[3971,-2555]],[[262254,963631],[2361,-592]],[[264615,963039],[2664,1016]],[[267279,964055],[-4194,157]],[[263085,964212],[-717,2184]],[[262368,966396],[1453,2279]],[[263821,968675],[-3315,-1370]],[[260506,967305],[827,1550]],[[261333,968855],[-4533,-984],[2067,3540]],[[258867,971411],[5011,818]],[[263878,972229],[4812,-841]],[[268690,971388],[2313,790]],[[271003,972178],[-3159,889],[-4205,3308],[-3697,1381]],[[259942,977756],[316,2809]],[[260258,980565],[7176,-537],[5189,-2999]],[[272623,977029],[2348,-174],[-5419,3465]],[[269552,980320],[8084,1485]],[[277636,981805],[8891,2071]],[[286527,983876],[-4725,256],[735,1458],[-7557,-3037]],[[274980,982553],[-8526,-584],[-9037,672]],[[257417,982641],[-4421,805]],[[252996,983446],[1412,1150]],[[254408,984596],[-4262,1024],[4079,2323]],[[254225,987943],[-8122,80]],[[246103,988023],[2535,1771]],[[248638,989794],[7920,1232]],[[256558,991026],[7206,-606]],[[263764,990420],[-4267,1212],[4678,1552]],[[264175,993184],[15200,-3524]],[[279375,989660],[-8407,3393]],[[270968,993053],[4003,2085],[6282,-591]],[[281253,994547],[-3906,1373]],[[277347,995920],[20398,1007],[9230,-381]],[[269941,777103],[157,-702],[2294,718]],[[272392,777119],[160,-2629]],[[272552,774490],[-3724,2172]],[[268828,776662],[1113,441]],[[279110,806663],[-539,898]],[[278571,807561],[536,2530]],[[279107,810091],[3,-3428]],[[279112,806382],[18,-19952],[412,-3135],[1622,-3722],[3051,-1226],[1248,-1677],[1138,-142],[1139,-2271],[1415,-451],[2888,1315],[1299,-440],[156,-2093]],[[293498,772588],[-1023,-1248]],[[292475,771340],[-1307,-619]],[[291168,770721],[-1718,-2421]],[[289450,768300],[-720,-735]],[[288730,767565],[-2939,-1148],[656,-1362]],[[286447,765055],[-914,-398]],[[285533,764657],[-1043,963]],[[284490,765620],[-4103,-1205]],[[280387,764415],[-1412,-1521],[-570,-1532]],[[278405,761362],[1213,-722]],[[279618,760640],[767,504]],[[280385,761144],[-13,-1048]],[[280372,760096],[25,-1444]],[[280397,758652],[-3232,-520]],[[277165,758132],[-641,-954],[-2648,99],[-1284,-2203],[-2162,-1310],[-1286,200],[88,1212]],[[269232,755176],[1352,232]],[[270584,755408],[-154,1442]],[[270430,756850],[633,2721]],[[271063,759571],[1757,1834],[213,4762]],[[273033,766167],[1195,3039],[-1165,3598],[1113,-13]],[[274176,772791],[103,-1306]],[[274279,771485],[1011,-1465]],[[275290,770020],[1860,-1609]],[[277150,768411],[327,1762]],[[277477,770173],[1085,-270],[-1023,2062]],[[277539,771965],[124,1381]],[[277663,773346],[-857,337]],[[276806,773683],[-1300,3268],[-2164,93]],[[273342,777044],[-52,905]],[[273290,777949],[-3917,366],[-2962,1065]],[[266411,779380],[-204,1195]],[[266207,780575],[-931,-470]],[[265276,780105],[321,2503]],[[265597,782608],[-1074,776]],[[264523,783384],[493,1680],[-1167,1886],[443,1844]],[[264292,788794],[-2563,120],[-908,1422],[-811,3086]],[[260010,793422],[-2298,265]],[[257712,793687],[-2889,1172]],[[254823,794859],[85,-2231]],[[254908,792628],[-749,1398]],[[254159,794026],[-755,-1481]],[[253404,792545],[-1184,-783]],[[252220,791762],[-1047,-2662]],[[251173,789100],[-3508,1179]],[[247665,790279],[-1884,-843]],[[245781,789436],[-4105,3279]],[[241676,792715],[-1975,-511]],[[239701,792204],[-2537,1286]],[[237164,793490],[-650,3328],[-835,387]],[[252921,841529],[2426,-2274]],[[255347,839255],[1427,-2435]],[[256774,836820],[5235,-2697]],[[262009,834123],[1710,-1869]],[[263719,832254],[3196,172]],[[266915,832426],[3703,-983]],[[270618,831443],[994,-1986],[-551,-2711],[768,-3189]],[[271829,823557],[-331,-5075]],[[271498,818482],[1914,-3518]],[[273412,814964],[61,-774]],[[273473,814190],[2477,-2833]],[[275950,811357],[499,-2673],[1041,-144]],[[277490,808540],[1622,-2158]],[[323107,780571],[1533,-828]],[[324640,779743],[2683,385]],[[327323,780128],[388,-389],[-2373,-2489]],[[325338,777250],[-485,1590]],[[324853,778840],[-622,-690]],[[324231,778150],[-1339,1447],[-978,164]],[[321914,779761],[-770,1278]],[[321144,781039],[1096,2492]],[[322240,783531],[-262,-1695]],[[321978,781836],[1129,-1265]],[[295648,774097],[-1094,-164]],[[294554,773933],[1345,1559],[-251,-1395]],[[308184,784912],[-526,997]],[[307658,785909],[-2124,-4467]],[[305534,781442],[-802,-4757],[-1671,-3813]],[[303061,772872],[-518,187]],[[302543,773059],[-675,-23]],[[301868,773036],[-528,-1674]],[[301340,771362],[-5096,-12]],[[296244,771350],[-3769,-10]],[[292475,771340],[3197,2496]],[[295672,773836],[1107,3465]],[[296779,777301],[3496,3684],[1777,737]],[[302052,781722],[2060,1637]],[[304112,783359],[4257,7361]],[[308369,790720],[3962,3441]],[[312331,794161],[3840,2116],[1819,315]],[[317990,796592],[1909,-441]],[[319899,796151],[1596,-1599]],[[321495,794552],[-242,-2954]],[[321253,791598],[-2530,-2381],[-1853,993]],[[316870,790210],[-2160,-986]],[[327168,795484],[-3740,1896]],[[323428,797380],[-886,1532]],[[322542,798912],[-1543,1007],[858,675]],[[321857,800594],[3536,-1400],[2892,-2499]],[[328285,796695],[45,-1124]],[[341388,809491],[-3917,-879]],[[337471,808612],[-1820,-3052]],[[335651,805560],[-2541,-3112]],[[333110,802448],[-3360,-312]],[[328542,801556],[-541,763]],[[328001,802319],[-2211,408]],[[325790,802727],[-5979,-155]],[[319811,802572],[-1113,263]],[[318698,802835],[-3408,-641]],[[315290,802194],[-1238,-1291],[-1197,-3823]],[[312855,797080],[-1901,-543],[-2424,-2535]],[[308530,794002],[-2069,-3731]],[[306461,790271],[-2297,918],[2016,-1517]],[[306180,789672],[-362,-1575]],[[305818,788097],[-2223,-4104],[-1561,-2036]],[[302034,781957],[-1700,-646]],[[300334,781311],[-3059,-2827]],[[297275,778484],[-1377,-2793]],[[295898,775691],[-1559,-1400]],[[294339,774291],[178,-929]],[[294517,773362],[-1019,-774]],[[279112,806382],[-2,281]],[[279107,810091],[1336,-479]],[[280443,809612],[381,-1561]],[[280824,808051],[477,1760],[-684,1399]],[[280617,811210],[1350,3072]],[[281967,814282],[-644,2225]],[[281323,816507],[-1082,6455]],[[280241,822962],[469,729]],[[280710,823691],[-2003,5078],[2101,1090],[2827,2104],[1573,1889]],[[285208,833852],[1874,3270]],[[287082,837122],[363,3553]],[[287445,840675],[-148,2809]],[[287297,843484],[-1622,4963]],[[285675,848447],[-3773,3931]],[[281902,852378],[157,1131]],[[282059,853509],[1939,3002]],[[283998,856511],[96,1753]],[[284094,858264],[1096,715]],[[285190,858979],[55,1456]],[[285245,860435],[-1331,3540]],[[283914,863975],[522,1098]],[[284436,865073],[-1607,-36]],[[282829,865037],[1853,4366]],[[284682,869403],[-1203,1219]],[[283479,870622],[-335,3516]],[[283144,874138],[1932,1287]],[[285076,875425],[4321,-1521]],[[289397,873904],[3253,-620]],[[292650,873284],[2822,1440]],[[295472,874724],[3900,-3689]],[[299372,871035],[2231,-3984],[3177,-536],[510,-1116],[1732,775],[-927,-6316]],[[306095,859858],[628,-1598],[-284,-1976]],[[307222,856261],[-366,-2776]],[[306856,853485],[2936,-271]],[[309792,853214],[669,-2514]],[[310461,850700],[1845,-1100]],[[312306,849600],[2672,1987]],[[314978,851587],[2782,3329]],[[317760,854916],[556,4055]],[[318316,858971],[1319,2706]],[[319635,861677],[880,320]],[[218424,794974],[-7407,0]],[[211017,794974],[-9175,0],[-7396,0]],[[113732,860194],[-65,2027],[-2483,-952]],[[111184,861269],[-2857,694]],[[108327,861963],[0,55397]],[[108327,917360],[5057,-801],[2926,-2154]],[[116310,914405],[4680,-1522]],[[6513,810872],[1645,1335],[-238,-1097],[-1407,-238]],[[9463,811999],[432,-667]],[[9895,811332],[-1456,-891]],[[8439,810441],[1024,1558]],[[13068,812920],[2748,1149]],[[15816,814069],[-1032,-1074],[-1716,-75]],[[33432,820758],[-3061,-3029]],[[30371,817729],[1969,3695]],[[32340,821424],[1032,595]],[[33372,822019],[60,-1261]],[[34659,820350],[-795,281],[1868,1201]],[[35732,821832],[440,2586]],[[36172,824418],[2075,-180],[-1499,-2705],[-2089,-1183]],[[45900,830448],[327,-1453]],[[46227,828995],[-4071,-1875]],[[42156,827120],[-178,1117],[994,1619]],[[42972,829856],[1839,938]],[[44811,830794],[1089,-346]],[[129708,833783],[-959,-1626]],[[128749,832157],[44,1600],[915,26]],[[136169,833460],[-581,-1676]],[[135588,831784],[-721,1199]],[[134867,832983],[-875,-1440],[-231,1485]],[[133761,833028],[614,2461]],[[135363,836221],[806,-2761]],[[128983,838496],[1009,-115]],[[129992,838381],[2860,-4972]],[[132852,833409],[-1162,-96]],[[131690,833313],[1708,-1515],[-438,-2939]],[[132960,828859],[-1800,1990]],[[131160,830849],[-892,1846]],[[130268,832695],[193,1360],[-1795,1158]],[[128666,835213],[317,3283]],[[132963,836150],[-1464,799]],[[131499,836949],[779,2491]],[[132278,839440],[685,-3290]],[[127916,837243],[-665,-301]],[[127251,836942],[-512,4513]],[[126739,841455],[1067,36],[374,-1556],[-264,-2692]],[[129538,842431],[1145,-729]],[[130683,841702],[-719,-2463]],[[129964,839239],[-1084,-3]],[[128880,839236],[-1046,3232]],[[127834,842468],[1704,-37]],[[125084,844493],[969,-3752]],[[126053,840741],[-93,-2907]],[[125960,837834],[-614,2624],[-1265,897],[363,1217]],[[124444,842572],[-838,1283],[-863,-1389]],[[122743,842466],[69,1825]],[[122812,844291],[1226,1279],[1046,-1077]],[[75283,847292],[1304,11]],[[76587,847303],[590,-1474]],[[77177,845829],[-2940,-2078]],[[74237,843751],[-1341,-2179],[-1352,1686]],[[71544,843258],[-47,-1370]],[[71497,841888],[-1237,2510]],[[70260,844398],[475,1327]],[[70735,845725],[1404,422]],[[72139,846147],[349,1121]],[[72488,847268],[1156,-527],[910,1427]],[[74554,848168],[729,-876]],[[123296,848287],[1697,351]],[[124993,848638],[197,-3377]],[[125190,845261],[-1573,1074],[-541,-1436],[-2434,3271],[684,1462],[1644,151],[326,-1496]],[[125887,849293],[1223,-104],[-74,-1538]],[[127036,847651],[948,-3245]],[[127984,844406],[-1851,-1451],[292,2312],[-1240,5017],[702,-991]],[[76620,850469],[853,-1179],[-1866,-861]],[[75607,848429],[-1668,423],[1502,1950]],[[75441,850802],[1179,-333]],[[89622,859078],[1542,3229]],[[91164,862307],[539,-616]],[[91703,861691],[-2081,-2613]],[[38512,862457],[1126,-411],[385,-2376]],[[40023,859670],[-1431,-816],[-2868,1381]],[[35724,860235],[-825,1173]],[[34899,861408],[1666,62]],[[36565,861470],[1947,987]],[[23714,881749],[2868,349]],[[26582,882098],[2784,-2077],[1977,-223]],[[31343,879798],[-377,-826]],[[30966,878972],[-2572,-459]],[[28394,878513],[-2080,1691]],[[26314,880204],[-3512,269]],[[22802,880473],[912,1276]],[[138819,835824],[-33,-3497]],[[138786,832327],[-1496,-3131],[-762,226],[-550,2074]],[[135978,831496],[591,1033]],[[136569,832529],[-848,3942]],[[135721,836471],[-1788,-716]],[[133933,835755],[-554,-2023]],[[133379,833732],[-667,1102],[1054,2601]],[[133766,837435],[-2970,5257]],[[129261,843431],[-245,3098]],[[129016,846529],[-1819,3187],[-1264,899]],[[125933,850615],[-1300,2714],[-645,3415],[-384,-1286],[1258,-5305]],[[124862,850153],[-2289,517],[-759,2339]],[[121814,853009],[-2340,1455]],[[119474,854464],[2577,-3447],[-1447,-1230]],[[120604,849787],[-2671,1992]],[[117933,851779],[-2246,2998]],[[115687,854777],[-4019,2719]],[[111668,857496],[1302,1960],[-524,830],[-1937,-1721]],[[110509,858565],[-1741,131]],[[108768,858696],[-2296,1310]],[[106472,860006],[-3544,753]],[[102928,860759],[-3338,-478],[-2094,1888]],[[97496,862169],[584,1979]],[[98080,864148],[-1548,-1711],[-1808,580]],[[94724,863017],[-2054,2483]],[[92670,865500],[155,1366]],[[92825,866866],[-2245,-1243],[-1707,299],[705,1484]],[[89578,867406],[-2239,-2466],[1649,-1883]],[[88988,863057],[-1297,-2937]],[[87691,860120],[-2679,691]],[[85012,860811],[-563,-1987]],[[84449,858824],[-2732,-1219]],[[81717,857605],[-980,-1869]],[[80737,855736],[-2234,-359],[-309,1290],[1251,652],[-1261,1574]],[[78184,858893],[1116,2491]],[[79300,861384],[265,3084],[2541,1780],[2359,-176]],[[84465,866072],[-980,1780],[-1853,41],[-3116,-2313]],[[78516,865580],[-46,-924],[-2510,-3060]],[[75960,861596],[-292,-1880]],[[75668,859716],[-1255,-464]],[[74413,859252],[-2436,-2840]],[[71977,856412],[-250,-1231]],[[71727,855181],[2343,-1763]],[[74070,853418],[-1904,-2162]],[[72166,851256],[-630,-1976]],[[71536,849280],[-2112,-851],[-2141,-2652]],[[67283,845777],[-1945,-1424]],[[65338,844353],[-420,-1884]],[[64918,842469],[-3444,-2160],[-1857,-1836]],[[59617,838473],[-700,-2064]],[[58917,836409],[-2649,-848]],[[56268,835561],[-2100,-1816],[-2726,-826]],[[51442,832919],[60,1370]],[[51502,834289],[-1708,-2902]],[[49794,831387],[-1300,613],[-368,-1458],[-1835,-933]],[[46291,829609],[156,1675]],[[46447,831284],[1035,437]],[[47482,831721],[2081,3103]],[[49563,834824],[2616,1788]],[[52179,836612],[2565,-1280]],[[54744,835332],[-655,948],[627,2067]],[[54716,838347],[3644,3235]],[[58360,841582],[3480,4076]],[[61840,845658],[594,5174]],[[62434,850832],[1060,2703]],[[63494,853535],[-2444,-1407]],[[61050,852128],[-2094,1554]],[[58956,853682],[-36,-2735]],[[58920,850947],[-817,171],[-1633,2615]],[[56470,853733],[-694,-540]],[[55776,853193],[-1229,1370]],[[54547,854563],[-2774,-2261]],[[51773,852302],[-2177,-150]],[[49596,852152],[1169,889],[-831,2901]],[[49934,855942],[541,1805],[-1646,4120]],[[48829,861867],[786,2379],[-1519,-2469],[317,-1654],[-3710,-1084],[-2099,2945],[-1921,1407],[1525,2078]],[[42208,865469],[2985,-1789]],[[45193,863680],[860,991]],[[46053,864671],[-4875,1234]],[[41178,865905],[833,718]],[[42011,866623],[-2265,1263],[-1324,2078]],[[38422,869964],[1541,1295]],[[39963,871259],[-262,1369]],[[39701,872628],[1425,2210],[1153,46]],[[42279,874884],[-183,1894]],[[42096,876778],[2050,2730],[2079,-1279]],[[46225,878229],[2048,1303],[940,1561]],[[49213,881093],[3286,170],[893,1546]],[[53392,882809],[-581,2562]],[[52811,885371],[-1186,1629]],[[51625,887000],[1341,313]],[[52966,887313],[-708,2043],[-1590,-638]],[[50668,888718],[-2910,-2619]],[[47758,886099],[-2518,1268]],[[45240,887367],[-3294,-756]],[[41946,886611],[-3455,724]],[[38491,887335],[-757,2036]],[[37734,889371],[-1426,1365],[2032,880]],[[38340,891616],[-3353,690],[-1899,1397]],[[33088,893703],[2816,1300]],[[35904,895003],[4514,3156]],[[40418,898159],[4783,1224]],[[45201,899383],[-850,-2375]],[[44351,897008],[938,-782],[5221,-177]],[[50510,896049],[1001,1348],[-1034,531]],[[50477,897928],[-2165,3101]],[[48312,901029],[1639,-653]],[[49951,900376],[300,-1330]],[[50251,899046],[3496,-1106]],[[53747,897940],[1079,1182]],[[54826,899122],[-1671,583],[-1484,-705]],[[51671,899000],[-1273,880]],[[50398,899880],[651,1653]],[[51049,901533],[-3832,284]],[[47217,901817],[-1997,997]],[[45220,902814],[-1125,2436],[-3501,2600]],[[40594,907850],[-3890,1860],[1128,388],[476,2726]],[[38308,912824],[5295,304],[3169,2674],[582,2193],[2440,2392],[2994,846]],[[52788,921233],[4671,3400],[3655,-197],[4246,3333],[6320,-3594]],[[71680,924175],[2673,778],[2778,-723]],[[77131,924230],[-661,-929]],[[76470,923301],[3461,-1391]],[[79931,921910],[5430,486],[4345,-1681],[5228,-339],[1740,-896]],[[96674,919480],[5497,637],[5029,-2743]],[[107200,917374],[1127,-14]],[[256972,684688],[-834,-509]],[[256138,684179],[-614,2384]],[[255524,686563],[-345,-1940]],[[255179,684623],[-734,25]],[[254445,684648],[-241,9003],[1116,18025],[-246,391]],[[255074,712067],[-48,154],[7130,-143]],[[262156,712078],[1175,-12113],[753,-4205],[-540,-2169],[324,-5206]],[[263868,688385],[-7184,-6],[478,-1950],[-190,-1741]],[[250820,718007],[-663,-1911],[-553,-3346],[-420,-671]],[[249184,712079],[-949,-3479],[-1208,-2604],[-383,-1769],[162,-3909]],[[246806,700318],[-8032,-23]],[[238774,700295],[-17,3214],[-1213,556]],[[237544,704065],[125,10302],[-498,6598]],[[237171,720965],[6963,0],[5415,0],[240,-1210],[-848,-1801],[1879,53]],[[197092,723926],[-3,-33609]],[[197089,690317],[-5539,-21]],[[191550,690296],[-3952,2631]],[[187598,692927],[-6587,4384]],[[181011,697311],[308,1227]],[[181319,698538],[688,750],[-632,1942],[544,4349],[1065,2267],[-681,1197],[-666,2977]],[[181637,712020],[55,2143],[-347,4338],[1868,573],[8,4872]],[[183221,723946],[5202,-7],[8669,-13]],[[154920,753549],[5885,-2],[5859,0]],[[166664,753547],[2,-17775],[5205,-7749],[5485,-8879],[4281,-7124]],[[181319,698538],[-6676,-1079],[-942,4515],[-1702,2528],[-917,129]],[[171082,704631],[-267,1621],[-1770,560]],[[169045,706812],[-1284,1813]],[[167761,708625],[-2431,318]],[[165330,708943],[-454,642]],[[164876,709585],[31,2941]],[[164907,712526],[-630,1712]],[[164277,714238],[-2826,5721],[-9,3601]],[[161442,723560],[-1429,1591]],[[160013,725151],[-331,3345],[1233,-1741]],[[160915,726755],[-875,2857],[1857,436]],[[161897,730048],[-2131,443],[-103,-1673]],[[159663,728818],[-1141,1356],[-525,2334]],[[157997,732508],[-1611,2714],[-511,5649],[-1220,2317]],[[154655,743188],[-132,1417]],[[154523,744605],[663,2836]],[[155186,747441],[179,2455]],[[155365,749896],[-445,3653]],[[216598,741701],[33,-17775]],[[216631,723926],[-2745,0]],[[213886,723926],[-5248,0],[-7347,0],[-4199,0]],[[197092,723926],[1,23698]],[[197093,747624],[8724,0],[5234,0]],[[211051,747624],[5546,-1],[1,-5922]],[[300553,753615],[-115,-4008]],[[300438,749607],[-3007,-298]],[[297431,749309],[-1960,-1738]],[[295471,747571],[416,6302]],[[295887,753873],[4666,-258]],[[290497,740602],[-463,-1035]],[[290034,739567],[543,-3247]],[[290577,736320],[985,-3774]],[[291562,732546],[-1860,-4],[-215,7508]],[[289487,740050],[1010,552]],[[273600,686784],[707,-5555]],[[274307,681229],[971,-4407]],[[275278,676822],[1044,-3340]],[[276322,673482],[-873,1608],[249,-2231]],[[275698,672859],[1451,-6955]],[[277149,665904],[514,-3783],[-327,-4089]],[[277336,658032],[-578,-3241]],[[276758,654791],[-1026,-1036]],[[275732,653755],[-1039,-109]],[[274693,653646],[-8,1358]],[[274685,655004],[-699,2747],[-974,902]],[[273012,658653],[-419,2677]],[[272593,661330],[-481,693]],[[272112,662023],[-76,2012]],[[272036,664035],[-620,-123]],[[271416,663912],[-960,3873]],[[270456,667785],[653,1841],[-497,729],[-226,-1422]],[[270386,668933],[-507,756]],[[269879,669689],[508,3791]],[[270387,673480],[25,2380]],[[270412,675860],[-1775,3344],[-1122,2808]],[[266544,683066],[-941,-1164]],[[265603,681902],[-2600,-1346]],[[263003,680556],[-97,1158]],[[262906,681714],[-1117,1726]],[[261789,683440],[-1941,1375]],[[259848,684815],[-2876,-127]],[[263868,688385],[343,-1663],[7345,-921],[494,-954],[351,2459],[1199,-522]],[[275354,694475],[-669,-895]],[[274685,693580],[-486,-3642],[-426,-380]],[[273773,689558],[-173,-2774]],[[262156,712078],[3609,-75]],[[265765,712003],[3360,78]],[[269125,712081],[-669,-1736],[1411,-1608],[718,-2485],[1621,-2930],[1433,-3479],[1153,-4894],[562,-474]],[[67829,617353],[-833,347],[-465,4024],[635,1566]],[[67166,623290],[-33,1550]],[[67133,624840],[1759,-1668],[1095,-2783]],[[69987,620389],[-1404,-1566]],[[68583,618823],[-754,-1470]],[[65314,628731],[1381,-1039]],[[66695,627692],[-1247,-826],[-134,1865]],[[63295,630407],[1393,-358]],[[64688,630049],[-410,-585]],[[64278,629464],[-983,943]],[[61668,631836],[456,-883]],[[62124,630953],[-1320,65]],[[60804,631018],[-453,1580]],[[60351,632598],[863,688]],[[61214,633286],[454,-1450]],[[57298,634654],[-1158,648],[1215,1054]],[[57355,636356],[-57,-1702]],[[248192,756583],[1342,-2445],[-500,-2774],[-1946,-1558],[262,-2094],[-1356,-3769]],[[245994,743943],[-804,1453],[-5606,-69],[-5598,-66]],[[233986,745261],[-894,7225],[-1095,4087]],[[231997,756573],[-391,1293],[467,4571]],[[232073,762437],[4516,2],[9952,6]],[[246541,762445],[488,-4229],[1163,-1633]],[[191524,768349],[3,-14800]],[[191527,753549],[-8312,2]],[[183215,753551],[-8261,-4]],[[174954,753547],[-10,10711],[301,2067],[-806,1652],[1813,6046],[79,1571],[-1045,1660]],[[175286,777254],[-356,2530],[-40,15190]],[[177643,794974],[-1,-5855],[875,-1768],[87,-1592],[981,-1046],[2077,-3560],[696,44],[-495,-6470],[643,-521],[986,1149],[1678,-5175],[942,-1941],[2134,476],[2032,-94],[450,1184],[796,-1456]],[[256077,756489],[41,-1692]],[[256118,754797],[767,-2866]],[[256885,751931],[-25,-16700],[-293,-2170],[-659,-1467],[-469,-2998]],[[255439,728596],[-182,-1509],[-1076,-1007],[64,-1635],[-1596,560],[-300,-1130]],[[252349,723875],[-924,1307],[-101,2558],[-1806,2515],[-558,1426],[687,3098],[-1491,918],[-710,2366],[-1407,2606],[-45,3274]],[[248192,756583],[7885,-94]],[[264455,751775],[-71,-15460]],[[264384,736315],[58,-1614],[-1789,-808],[-38,-905],[-1792,-3190],[-586,1018],[-650,-1461],[-890,350],[-756,-1013],[-642,701],[-1860,-797]],[[256885,751931],[1830,194]],[[258715,752125],[5739,-4],[1,-346]],[[237172,723926],[-5135,0],[-6419,0],[-8987,0]],[[216598,741701],[7569,0],[6405,0],[4575,3]],[[235147,741704],[1158,-829],[-355,-2089],[1210,-2279],[12,-12581]],[[270520,732502],[66,-2065],[858,-2444],[875,-874]],[[272319,727119],[-1990,-2379],[-1302,-2226],[-1437,-932]],[[267590,721582],[-175,-108],[-7714,462],[-3699,-124],[-611,-854],[-3865,1]],[[251526,720959],[817,1278],[6,1638]],[[264384,736315],[1288,-249],[363,-1094],[1493,-1278],[2248,360],[744,-1552]],[[251331,683591],[-1957,1106],[-522,-1415]],[[248852,683282],[661,-659]],[[249513,682623],[1216,846]],[[250729,683469],[1064,-2084],[-1018,-1190]],[[250775,680195],[576,-1180]],[[251351,679015],[1383,-1287]],[[252734,677728],[-939,-786],[-1454,2297],[-487,-157]],[[249854,679082],[-446,-1934]],[[249408,677148],[-463,1127]],[[248945,678275],[-1032,-973],[-1497,937],[127,996],[-1802,2244]],[[244741,681479],[-1021,-1654]],[[243720,679825],[-1141,239],[-1400,1077],[-1968,184]],[[239211,681325],[250,991]],[[239461,682316],[205,3442],[527,2891],[-1425,5646],[6,6000]],[[246806,700318],[0,-2316],[561,-2280],[-941,-2110],[-921,-3596],[-107,-1630],[5336,-4],[-277,-1602],[874,-3189]],[[302128,751805],[-426,1839],[-1149,-29]],[[295887,753873],[631,4128]],[[296518,758001],[2185,-130]],[[298703,757871],[3159,-165],[1454,1032]],[[303316,758738],[196,-1229]],[[303512,757509],[-863,-2003]],[[302649,755506],[856,-606],[621,-2521]],[[304126,752379],[1425,135]],[[305551,752514],[147,-883]],[[305698,751631],[-1968,-847],[-122,1071]],[[303608,751855],[-1299,-1336]],[[302309,750519],[-181,1286]],[[291562,732546],[-940,-2552]],[[290622,729994],[-787,-421]],[[289835,729573],[-532,105]],[[289303,729678],[-105,2275],[-897,34]],[[288301,731987],[-146,1414]],[[288155,733401],[731,10]],[[288886,733411],[-652,3495]],[[288234,736906],[1007,1892],[-1521,-1694],[-224,-4105]],[[287496,732999],[130,-2125]],[[287626,730874],[-2186,1904]],[[285440,732778],[587,2337]],[[286027,735115],[-1935,2708]],[[284092,737823],[-357,1501],[-905,509],[-873,-902],[-784,552],[-1973,-2463],[29,3033]],[[279229,740053],[10258,-3]],[[313542,772321],[-185,-2926]],[[313357,769395],[-1799,-588]],[[311558,768807],[-605,-1137]],[[310953,767670],[-1094,730]],[[309859,768400],[-228,-1475],[-1191,1038]],[[308440,767963],[-297,-1992]],[[308143,765971],[-2055,-1928]],[[306088,764043],[-436,492],[-2133,-4652]],[[303519,759883],[-618,1892],[-358,11284]],[[270430,756850],[-395,631]],[[270035,757481],[-1853,-5444]],[[268182,752037],[-3727,-262]],[[258715,752125],[639,894]],[[259354,753019],[925,2999]],[[260279,756018],[215,2861]],[[260494,758879],[-889,4365]],[[259605,763244],[64,2586]],[[259669,765830],[620,1522]],[[260289,767352],[164,2308],[1723,2801],[186,-2496],[483,2993]],[[262845,772958],[1135,685]],[[263980,773643],[-40,2219]],[[263940,775862],[582,164]],[[264522,776026],[3593,-2701]],[[268115,773325],[512,-3884]],[[268627,769441],[-101,-1826]],[[268526,767615],[-1523,-2444]],[[267003,765171],[399,-1990]],[[267402,763181],[979,1761]],[[268381,764942],[1210,848]],[[269591,765790],[788,-1261]],[[270379,764529],[684,-4958]],[[256650,771959],[-721,1537],[157,1886],[-952,1536],[-5464,2348],[-802,1488]],[[248868,780754],[2923,1713],[1957,2074]],[[253748,784541],[560,-2551]],[[254308,781990],[647,889]],[[254955,782879],[1606,-741],[777,-1790],[2002,-424],[1404,1387]],[[260744,781311],[3234,497]],[[263978,781808],[-185,-1570]],[[263793,780238],[1964,-86]],[[265757,780152],[279,-1823]],[[266036,778329],[906,-1200],[-1723,81],[-780,-712]],[[264439,776498],[-1881,1381],[-3012,-1333]],[[259546,776546],[-1141,-944]],[[258405,775602],[-23,1149]],[[258382,776751],[-1732,-4792]],[[254939,784414],[-604,-1184]],[[254335,783230],[-490,967]],[[253845,784197],[615,1271]],[[254460,785468],[1815,267]],[[256275,785735],[-1336,-1321]],[[251173,789100],[-3832,-2831]],[[247341,786269],[-3194,-4511]],[[244147,781758],[-513,-602],[-3,-3414],[-1114,-1040],[-553,-1861],[516,-598],[-256,-4170],[3935,-4735],[382,-2893]],[[232073,762437],[0,10641],[-1088,1770],[803,2055]],[[231788,776903],[-640,4178],[-200,5571],[-742,3466],[-278,4857]],[[251526,720959],[-706,-2952]],[[237171,720965],[1,2961]],[[235147,741704],[-1161,3557]],[[254445,684648],[-1404,262]],[[253041,684910],[-1710,-1319]],[[249184,712079],[5890,-12]],[[211080,776905],[-72,-5581]],[[211008,771324],[-4871,0],[-8525,0],[-6087,0],[-1,-2975]],[[211017,794974],[63,-18069]],[[281766,705417],[-3026,5452],[-3141,189],[-842,1937],[-3524,272],[-2108,-1186]],[[265765,712003],[104,1260],[1155,1860],[2447,1692],[285,896],[2323,1014],[882,1378],[208,1511]],[[273169,721614],[3063,-141],[6030,-100],[6720,-109]],[[288982,721264],[232,-2226]],[[289214,719038],[-2343,-1292]],[[286871,717746],[2650,-342]],[[289521,717404],[-4,-1498]],[[289517,715906],[-1111,-1735]],[[288406,714171],[-996,914]],[[287410,715085],[-1228,-297],[1282,-1113]],[[287464,713675],[-11,-2922]],[[287453,710753],[-1714,-411]],[[285739,710342],[-1714,-2505]],[[284025,707837],[-491,-2046]],[[283534,705791],[-1768,-374]],[[231788,776903],[-9060,0],[-7118,0],[-4530,2]],[[211051,747624],[-20,11852]],[[211031,759476],[9614,0],[5906,-2],[827,-881],[2514,49],[2105,-2069]],[[303519,759883],[-203,-1145]],[[298703,757871],[-230,926],[457,3807],[983,4571],[967,885],[460,3302]],[[291460,741597],[943,1013],[-1262,2615],[184,2389],[1177,2122]],[[292502,749736],[2192,-2162]],[[294694,747574],[-921,-3176]],[[293773,744398],[789,-758],[-607,-3565],[-1718,-4293]],[[292237,735782],[-2027,2893]],[[290210,738675],[284,1774],[966,1148]],[[213888,720966],[-116,-3],[-66,-26647],[-10007,-11],[619,-1378]],[[204318,692927],[-4907,65]],[[199411,692992],[-7,-2665]],[[199404,690327],[-2315,-10]],[[213886,723926],[2,-2960]],[[166664,753547],[8290,0]],[[183215,753551],[6,-29605]],[[300269,747979],[-3587,-2408]],[[296682,745571],[-2327,-92]],[[294355,745479],[1273,1665],[4641,835]],[[296244,771350],[86,-4365],[-195,-4089],[400,-151],[-17,-4744]],[[295471,747571],[-991,-1425],[214,1428]],[[292502,749736],[-899,1159],[-913,2639],[-4595,6],[-7659,10],[0,1627]],[[278436,755177],[2459,3101]],[[280895,758278],[-523,1818]],[[280385,761144],[2462,663]],[[282847,761807],[1794,-755],[1535,60]],[[286176,761112],[2069,1617],[-157,1768]],[[288088,764497],[604,887]],[[288692,765384],[-782,637]],[[287910,766021],[1540,2279]],[[276336,745528],[-1234,-6373],[-1928,-1773],[-626,-2238],[-329,693],[-881,-3149],[-818,-186]],[[268182,752037],[2706,-2059]],[[270888,749978],[2103,669]],[[272991,750647],[1374,1537]],[[274365,752184],[1967,1298]],[[276332,753482],[4,-7954]],[[237544,704065],[-2094,1826],[-1955,-437],[-1037,-1017],[-1841,1344],[-393,-1204],[-1503,1512],[-506,-676],[-711,1594],[-1098,-333],[-1924,869],[-483,1308],[-756,-401],[-1019,1174],[-9,11341],[-8327,1]],[[157719,778152],[775,-229],[601,-2614],[1453,-490],[1500,753],[1715,-468],[1927,510],[3699,1630],[5897,10]],[[154920,753549],[-351,723]],[[154569,754272],[-513,4087],[1086,5208]],[[155142,763567],[249,6434]],[[155391,770001],[361,4735]],[[155752,774736],[49,3585]],[[155801,778321],[1918,-169]],[[291460,741597],[-963,-995]],[[279229,740053],[-2895,-2],[2,5477]],[[276332,753482],[2104,1695]],[[302128,751805],[-583,-1497]],[[301545,750308],[-1107,-701]],[[281766,705417],[-770,-903]],[[280996,704514],[-1078,-3193]],[[279918,701321],[-2201,-3349]],[[277717,697972],[-947,-706]],[[276770,697266],[-1416,-2791]],[[211031,759476],[-23,11848]],[[267590,721582],[5579,32]],[[239461,682316],[-849,-1818]],[[238612,680498],[-1885,-726]],[[236727,679772],[101,1197],[-781,-282]],[[236047,680687],[374,-1965]],[[236421,678722],[-1070,-2410]],[[235351,676312],[-1612,-1917]],[[233739,674395],[-2185,405],[609,-1489]],[[232163,673311],[-1703,-2153]],[[230460,671158],[-707,-2508]],[[229753,668650],[-739,-4166],[424,-3382]],[[229438,661102],[711,-2578],[-590,-538]],[[229559,657986],[-2011,1148],[-2847,2266],[-933,3494],[-172,3032]],[[223596,667926],[-2196,4617]],[[221400,672543],[-1008,4389]],[[220392,676932],[-2171,4196],[-2508,523],[-1087,-1310]],[[214626,680341],[-364,-2286]],[[214262,678055],[-1089,-1522]],[[213173,676533],[-2369,2281]],[[210804,678814],[-1093,1727]],[[209711,680541],[-1319,5736],[-825,956]],[[207567,687233],[-2722,4369]],[[204845,691602],[-527,1325]],[[191527,753549],[0,-5925],[5566,0]],[[290622,729994],[-612,-2333]],[[290010,727661],[-1114,-2176]],[[288896,725485],[939,4088]],[[286027,735115],[-787,-2919]],[[285240,732196],[2122,-1790]],[[287362,730406],[793,-1190]],[[288155,729216],[2,-3179]],[[288157,726037],[-965,-204]],[[287192,725833],[910,-1599]],[[288102,724234],[-323,-965]],[[287779,723269],[1111,136],[92,-2141]],[[272319,727119],[1112,-1954],[1725,545],[1743,1231],[86,992],[1910,5332],[993,-596],[553,1856],[1683,2198],[314,1724],[1351,-1816],[303,1192]],[[157719,778152],[-677,696]],[[157042,778848],[-1689,49]],[[155353,778897],[-108,4478]],[[155245,783375],[-734,3693]],[[154511,787068],[-681,1455]],[[153830,788523],[-247,2821]],[[153583,791344],[2040,-1255]],[[155623,790089],[2642,-516]],[[158265,789573],[683,333]],[[158948,789906],[557,-5003]],[[159505,784903],[623,464],[-109,2660],[419,1128],[-1185,2692]],[[159253,791847],[344,1760]],[[159597,793607],[-677,1367]],[[258356,772744],[-801,-2405]],[[257555,770339],[-323,707]],[[257232,771046],[1124,1698]],[[256650,771959],[-1009,-3296]],[[255641,768663],[1013,1747]],[[256654,770410],[742,-421]],[[257396,769989],[-1568,-9070],[249,-4430]],[[244147,781758],[1689,23]],[[245836,781781],[1536,1111]],[[247372,782892],[581,-1569]],[[247953,781323],[915,-569]]],"transform":{"scale":[0.00036000036000036,0.00016879196566696583],"translate":[-180,-85.19218750000006]}}
diff --git a/desktop/angular/.gitignore b/desktop/angular/.gitignore
index 28f76669..d86cd691 100644
--- a/desktop/angular/.gitignore
+++ b/desktop/angular/.gitignore
@@ -1,4 +1,5 @@
 node_modules
 dist
 dist-extension
-dist-lib
\ No newline at end of file
+dist-lib
+.angular
\ No newline at end of file
diff --git a/desktop/angular/README.md b/desktop/angular/README.md
new file mode 100644
index 00000000..657f3808
--- /dev/null
+++ b/desktop/angular/README.md
@@ -0,0 +1,104 @@
+# Portmaster
+
+Welcome to the new Portmaster User-Interface. It's based on Angular and is built, unit and e2e tested using `@angular/cli`.
+
+## Running locally
+
+This section explains how to prepare your Ubuntu machine to build and test the new Portmaster User-Interface. It's recommended to use
+a virtual machine but running it on bare metal will work as well. You can use the new Portmaster UI as well as the old one in parallel so
+you can simply switch back when something is still missing or buggy.
+
+1. **Prepare your tooling**
+
+There's a simple dockerized way to build and test the new UI. Just make sure to have docker installed:
+
+```bash
+sudo apt update
+sudo apt install -y docker.io git
+sudo systemctl enable --now docker
+sudo gpasswd -a $USER docker
+```
+
+2. **Portmaster installation**
+
+Next, make sure to install the Portmaster using the official .deb installer from [here](https://updates.safing.io/latest/linux_amd64/packages/portmaster-installer.deb). See the [Wiki](https://github.com/safing/portmaster/wiki/Linux) for more information.
+
+Once the Portmaster is installed we need to add two new configuration flags. Execute the following:
+
+```bash
+echo 'PORTMASTER_ARGS="--experimental-nfqueue --devmode"' | sudo tee /etc/default/portmaster
+sudo systemctl daemon-reload
+sudo systemctl restart portmaster
+```
+
+3. **Build and run the new UI**
+
+Now, clone this repository and execute the `docker.sh` script:
+
+```bash
+# Clone the repository
+git clone https://github.com/safing/portmaster-ui
+
+# Enter the repo and checkout the correct branch
+cd portmaster-ui
+git checkout feature/new-ui
+
+# Enter the directory and run docker.sh
+cd modules/portmaster
+sudo bash ./docker.sh
+```
+
+Finally open your browser and point it to http://localhost:8080.
+
+## Hacking Quick Start
+
+Although everything should work in the docker container as well, for the best development experience it's recommended to install `@angular/cli` locally.
+
+It's highly recommended to:
+- Use [VSCode](https://code.visualstudio.com/) (or it's oss or server-side variant) with
+  - the official [Angular Language Service](https://marketplace.visualstudio.com/items?itemName=Angular.ng-template) extension
+  - the [Tailwind CSS Extension Pack](https://marketplace.visualstudio.com/items?itemName=andrewmcodes.tailwindcss-extension-pack) extension
+  - the [formate: CSS/LESS/SCSS formatter](https://github.com/mblander/formate) extension
+
+### Folder Structure
+
+From the project root (the folder containing this [README.md](./)) there are only two folders with the following content and structure:
+
+- **`src/`** contains the actual application sources:
+  - **`app/`** contains the actual application sources (components, services, uni tests ...)
+    - **`layout/`** contains components that form the overall application layout. For example the navigation bar and the side dash are located there.
+    - **`pages/`** contains the different pages of the application. A page is something that is associated with a dedicated application route and is rendered at the applications main content.
+    - **`services/`** contains shared services (like PortAPI and friends)
+    - **`shared/`** contains shared components that are likely used accross other components or pages.
+    - **`widgets/`** contains widgets and their settings components for the application side dash.
+    - **`debug/`** contains a debug sidebar component
+  - **`assets/`** contains static assets that must be shipped seperately.
+  - **`environments/`** contains build and production related environment settings (those are handled by `@angular/cli` automatically, see [angular.json](angular.json))
+- **`e2e/`** contains end-to-end testing sources.
+
+
+### Development server
+
+Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.
+
+In development mode (that is, you don't pass `--prod`) the UI expects portmaster running at `ws://127.0.0.1:817/api/database/v1`. See [environment](./src/app/environments/environment.ts).
+
+### Code scaffolding
+
+Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.
+
+### Build
+
+Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build.
+
+### Running unit tests
+
+Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
+
+### Running end-to-end tests
+
+Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).
+
+### Further help
+
+To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
diff --git a/desktop/angular/angular.json b/desktop/angular/angular.json
new file mode 100644
index 00000000..d99f44d0
--- /dev/null
+++ b/desktop/angular/angular.json
@@ -0,0 +1,457 @@
+{
+  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
+  "version": 1,
+  "newProjectRoot": "projects",
+  "projects": {
+    "portmaster": {
+      "projectType": "application",
+      "schematics": {
+        "@schematics/angular:component": {
+          "style": "scss"
+        },
+        "@schematics/angular:application": {
+          "strict": true
+        }
+      },
+      "root": "",
+      "sourceRoot": "src",
+      "prefix": "app",
+      "architect": {
+        "build": {
+          "builder": "@angular-devkit/build-angular:browser",
+          "options": {
+            "outputPath": "dist",
+            "index": "src/index.html",
+            "main": "src/main.ts",
+            "polyfills": "src/polyfills.ts",
+            "tsConfig": "tsconfig.app.json",
+            "aot": true,
+            "assets": [
+              "src/favicon.ico",
+              "src/assets"
+            ],
+            "styles": [
+              "src/theme.less",
+              "src/styles.scss",
+              "node_modules/prismjs/themes/prism-okaidia.css",
+              "node_modules/prismjs/plugins/line-numbers/prism-line-numbers.css"
+            ],
+            "stylePreprocessorOptions": {
+              "includePaths": [
+                "dist-lib/"
+              ]
+            },
+            "scripts": [
+              "node_modules/marked/marked.min.js",
+              "node_modules/emoji-toolkit/lib/js/joypixels.min.js",
+              "node_modules/prismjs/prism.js",
+              "node_modules/prismjs/components/prism-yaml.min.js",
+              "node_modules/prismjs/components/prism-json.min.js",
+              "node_modules/prismjs/plugins/line-numbers/prism-line-numbers.js"
+            ],
+            "vendorChunk": true,
+            "extractLicenses": false,
+            "buildOptimizer": false,
+            "sourceMap": true,
+            "optimization": false,
+            "namedChunks": true
+          },
+          "configurations": {
+            "development": {},
+            "production": {
+              "fileReplacements": [
+                {
+                  "replace": "src/environments/environment.ts",
+                  "with": "src/environments/environment.prod.ts"
+                }
+              ],
+              "optimization": {
+                "scripts": true,
+                "styles": {
+                  "minify": true,
+                  "inlineCritical": false
+                }
+              },
+              "outputHashing": "all",
+              "sourceMap": false,
+              "namedChunks": false,
+              "extractLicenses": true,
+              "vendorChunk": true,
+              "buildOptimizer": true,
+              "budgets": [
+                {
+                  "type": "initial",
+                  "maximumWarning": "4mb",
+                  "maximumError": "16mb"
+                },
+                {
+                  "type": "anyComponentStyle",
+                  "maximumWarning": "4mb",
+                  "maximumError": "16mb"
+                }
+              ]
+            }
+          }
+        },
+        "serve": {
+          "builder": "@angular-devkit/build-angular:dev-server",
+          "options": {
+            "browserTarget": "portmaster:build"
+          },
+          "configurations": {
+            "production": {
+              "browserTarget": "portmaster:build:production"
+            }
+          }
+        },
+        "extract-i18n": {
+          "builder": "@angular-devkit/build-angular:extract-i18n",
+          "options": {
+            "browserTarget": "portmaster:build"
+          }
+        },
+        "test": {
+          "builder": "@angular-devkit/build-angular:karma",
+          "options": {
+            "main": "src/test.ts",
+            "polyfills": "src/polyfills.ts",
+            "tsConfig": "tsconfig.spec.json",
+            "karmaConfig": "karma.conf.js",
+            "assets": [
+              "src/favicon.ico",
+              "src/assets"
+            ],
+            "styles": [
+              "src/styles.scss"
+            ],
+            "scripts": []
+          }
+        },
+        "e2e": {
+          "builder": "@angular-devkit/build-angular:protractor",
+          "options": {
+            "protractorConfig": "e2e/protractor.conf.js",
+            "devServerTarget": "portmaster:serve"
+          },
+          "configurations": {
+            "production": {
+              "devServerTarget": "portmaster:serve:production"
+            }
+          }
+        },
+        "lint": {
+          "builder": "@angular-eslint/builder:lint",
+          "options": {
+            "lintFilePatterns": [
+              "src/**/*.ts",
+              "src/**/*.html"
+            ]
+          }
+        }
+      }
+    },
+    "@safing/ui": {
+      "projectType": "library",
+      "root": "projects/safing/ui",
+      "sourceRoot": "projects/safing/ui/src",
+      "prefix": "lib",
+      "architect": {
+        "build": {
+          "builder": "@angular-devkit/build-angular:ng-packagr",
+          "options": {
+            "project": "projects/safing/ui/ng-package.json"
+          },
+          "configurations": {
+            "production": {
+              "tsConfig": "projects/safing/ui/tsconfig.lib.prod.json"
+            },
+            "development": {
+              "tsConfig": "projects/safing/ui/tsconfig.lib.json"
+            }
+          },
+          "defaultConfiguration": "production"
+        },
+        "test": {
+          "builder": "@angular-devkit/build-angular:karma",
+          "options": {
+            "main": "projects/safing/ui/src/test.ts",
+            "tsConfig": "projects/safing/ui/tsconfig.spec.json",
+            "karmaConfig": "projects/safing/ui/karma.conf.js"
+          }
+        },
+        "lint": {
+          "builder": "@angular-eslint/builder:lint",
+          "options": {
+            "lintFilePatterns": [
+              "projects/safing/ui/**/*.ts",
+              "projects/safing/ui/**/*.html"
+            ]
+          }
+        }
+      }
+    },
+    "portmaster-chrome-extension": {
+      "projectType": "application",
+      "schematics": {
+        "@schematics/angular:component": {
+          "style": "scss"
+        }
+      },
+      "root": "projects/portmaster-chrome-extension",
+      "sourceRoot": "projects/portmaster-chrome-extension/src",
+      "prefix": "app",
+      "architect": {
+        "build": {
+          "builder": "@angular-builders/custom-webpack:browser",
+          "options": {
+            "customWebpackConfig": {
+              "path": "./browser-extension.config.ts"
+            },
+            "outputPath": "dist-extension",
+            "index": "projects/portmaster-chrome-extension/src/index.html",
+            "main": "projects/portmaster-chrome-extension/src/main.ts",
+            "polyfills": "projects/portmaster-chrome-extension/src/polyfills.ts",
+            "tsConfig": "projects/portmaster-chrome-extension/tsconfig.app.json",
+            "inlineStyleLanguage": "scss",
+            "assets": [
+              "projects/portmaster-chrome-extension/src/favicon.ico",
+              "projects/portmaster-chrome-extension/src/assets",
+              "projects/portmaster-chrome-extension/src/manifest.json"
+            ],
+            "styles": [
+              "projects/portmaster-chrome-extension/src/styles.scss"
+            ],
+            "scripts": [],
+            "optimization": {
+              "styles": {
+                "inlineCritical": false
+              }
+            },
+            "outputHashing": "none"
+          },
+          "configurations": {
+            "production": {
+              "budgets": [
+                {
+                  "type": "initial",
+                  "maximumWarning": "500kb",
+                  "maximumError": "1mb"
+                },
+                {
+                  "type": "anyComponentStyle",
+                  "maximumWarning": "2kb",
+                  "maximumError": "4kb"
+                }
+              ],
+              "fileReplacements": [
+                {
+                  "replace": "projects/portmaster-chrome-extension/src/environments/environment.ts",
+                  "with": "projects/portmaster-chrome-extension/src/environments/environment.prod.ts"
+                }
+              ],
+              "outputHashing": "none"
+            },
+            "development": {
+              "customWebpackConfig": {
+                "path": "./browser-extension-dev.config.ts"
+              },
+              "buildOptimizer": false,
+              "optimization": false,
+              "vendorChunk": true,
+              "extractLicenses": false,
+              "sourceMap": true,
+              "namedChunks": true
+            }
+          },
+          "defaultConfiguration": "production"
+        },
+        "serve": {
+          "builder": "@angular-devkit/build-angular:dev-server",
+          "configurations": {
+            "production": {
+              "browserTarget": "portmaster-chrome-extension:build:production"
+            },
+            "development": {
+              "browserTarget": "portmaster-chrome-extension:build:development"
+            }
+          },
+          "defaultConfiguration": "development"
+        },
+        "extract-i18n": {
+          "builder": "@angular-devkit/build-angular:extract-i18n",
+          "options": {
+            "browserTarget": "portmaster-chrome-extension:build"
+          }
+        },
+        "test": {
+          "builder": "@angular-devkit/build-angular:karma",
+          "options": {
+            "main": "projects/portmaster-chrome-extension/src/test.ts",
+            "polyfills": "projects/portmaster-chrome-extension/src/polyfills.ts",
+            "tsConfig": "projects/portmaster-chrome-extension/tsconfig.spec.json",
+            "karmaConfig": "projects/portmaster-chrome-extension/karma.conf.js",
+            "inlineStyleLanguage": "scss",
+            "assets": [
+              "projects/portmaster-chrome-extension/src/favicon.ico",
+              "projects/portmaster-chrome-extension/src/assets"
+            ],
+            "styles": [
+              "projects/portmaster-chrome-extension/src/styles.scss"
+            ],
+            "scripts": []
+          }
+        }
+      }
+    },
+    "@safing/portmaster-api": {
+      "projectType": "library",
+      "root": "projects/safing/portmaster-api",
+      "sourceRoot": "projects/safing/portmaster-api/src",
+      "prefix": "lib",
+      "architect": {
+        "build": {
+          "builder": "@angular-devkit/build-angular:ng-packagr",
+          "options": {
+            "project": "projects/safing/portmaster-api/ng-package.json"
+          },
+          "configurations": {
+            "production": {
+              "tsConfig": "projects/safing/portmaster-api/tsconfig.lib.prod.json"
+            },
+            "development": {
+              "tsConfig": "projects/safing/portmaster-api/tsconfig.lib.json"
+            }
+          },
+          "defaultConfiguration": "production"
+        },
+        "test": {
+          "builder": "@angular-devkit/build-angular:karma",
+          "options": {
+            "main": "projects/safing/portmaster-api/src/test.ts",
+            "tsConfig": "projects/safing/portmaster-api/tsconfig.spec.json",
+            "karmaConfig": "projects/safing/portmaster-api/karma.conf.js"
+          }
+        }
+      }
+    },
+    "tauri-builtin": {
+      "projectType": "application",
+      "schematics": {
+        "@schematics/angular:component": {
+          "skipTests": true,
+          "style": "scss",
+          "standalone": true
+        },
+        "@schematics/angular:class": {
+          "skipTests": true
+        },
+        "@schematics/angular:directive": {
+          "skipTests": true,
+          "standalone": true
+        },
+        "@schematics/angular:guard": {
+          "skipTests": true
+        },
+        "@schematics/angular:interceptor": {
+          "skipTests": true
+        },
+        "@schematics/angular:pipe": {
+          "skipTests": true,
+          "standalone": true
+        },
+        "@schematics/angular:resolver": {
+          "skipTests": true
+        },
+        "@schematics/angular:service": {
+          "skipTests": true
+        }
+      },
+      "root": "projects/tauri-builtin",
+      "sourceRoot": "projects/tauri-builtin/src",
+      "prefix": "app",
+      "architect": {
+        "build": {
+          "builder": "@angular-devkit/build-angular:browser",
+          "options": {
+            "outputPath": "dist/tauri-builtin",
+            "index": "projects/tauri-builtin/src/index.html",
+            "main": "projects/tauri-builtin/src/main.ts",
+            "polyfills": [
+              "zone.js"
+            ],
+            "tsConfig": "projects/tauri-builtin/tsconfig.app.json",
+            "assets": [
+              "projects/tauri-builtin/src/favicon.ico",
+              "projects/tauri-builtin/src/assets"
+            ],
+            "styles": [
+              "projects/tauri-builtin/src/styles.scss"
+            ],
+            "inlineStyleLanguage": "scss",
+            "stylePreprocessorOptions": {
+              "includePaths": [
+                "dist-lib/"
+              ]
+            },
+            "scripts": []
+          },
+          "configurations": {
+            "production": {
+              "budgets": [
+                {
+                  "type": "initial",
+                  "maximumWarning": "500kb",
+                  "maximumError": "1mb"
+                },
+                {
+                  "type": "anyComponentStyle",
+                  "maximumWarning": "2kb",
+                  "maximumError": "4kb"
+                }
+              ],
+              "outputHashing": "all"
+            },
+            "development": {
+              "buildOptimizer": false,
+              "optimization": false,
+              "vendorChunk": true,
+              "extractLicenses": false,
+              "sourceMap": true,
+              "namedChunks": true
+            }
+          },
+          "defaultConfiguration": "production"
+        },
+        "serve": {
+          "builder": "@angular-devkit/build-angular:dev-server",
+          "configurations": {
+            "production": {
+              "browserTarget": "tauri-builtin:build:production"
+            },
+            "development": {
+              "browserTarget": "tauri-builtin:build:development"
+            }
+          },
+          "defaultConfiguration": "development"
+        },
+        "extract-i18n": {
+          "builder": "@angular-devkit/build-angular:extract-i18n",
+          "options": {
+            "browserTarget": "tauri-builtin:build"
+          }
+        }
+      }
+    }
+  },
+  "cli": {
+    "analytics": false
+  },
+  "schematics": {
+    "@angular-eslint/schematics:application": {
+      "setParserOptionsProject": true
+    },
+    "@angular-eslint/schematics:library": {
+      "setParserOptionsProject": true
+    }
+  }
+}
\ No newline at end of file
diff --git a/desktop/angular/assets b/desktop/angular/assets
new file mode 120000
index 00000000..41aef43f
--- /dev/null
+++ b/desktop/angular/assets
@@ -0,0 +1 @@
+../../assets
\ No newline at end of file
diff --git a/desktop/angular/browser-extension-dev.config.ts b/desktop/angular/browser-extension-dev.config.ts
new file mode 100644
index 00000000..a05dbcb1
--- /dev/null
+++ b/desktop/angular/browser-extension-dev.config.ts
@@ -0,0 +1,16 @@
+import type { Configuration } from 'webpack';
+const ExtensionReloader = require('webpack-ext-reloader');
+const config = require('./browser-extension.config');
+
+module.exports = {
+  ...config,
+  mode: 'development',
+  plugins: [
+    new ExtensionReloader({
+      reloadPage: true, // Force the reload of the page also
+      entries: { // The entries used for the content/background scripts or extension pages
+        background: 'background',
+      }
+    })
+  ]
+} as Configuration;
diff --git a/desktop/angular/browser-extension.config.ts b/desktop/angular/browser-extension.config.ts
new file mode 100644
index 00000000..df5de5d3
--- /dev/null
+++ b/desktop/angular/browser-extension.config.ts
@@ -0,0 +1,5 @@
+import type { Configuration } from 'webpack';
+
+module.exports = {
+  entry: { background: { import: 'projects/portmaster-chrome-extension/src/background.ts', runtime: false } },
+} as Configuration;
diff --git a/desktop/angular/docker.sh b/desktop/angular/docker.sh
new file mode 100755
index 00000000..bbd896e7
--- /dev/null
+++ b/desktop/angular/docker.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+# cd to script dir
+baseDir="$( cd "$(dirname "$0")" && pwd )"
+cd "$baseDir"
+
+# get base dir for mounting
+mnt="$( cd ../.. && pwd )"
+
+# run container and start dev server
+docker run                                \
+    -ti                                   \
+    --rm                                  \
+    -v $mnt:/portmaster-ui                \
+    -w /portmaster-ui/modules/portmaster  \
+    -p 8081:8080                          \
+    node:latest                           \
+    npm start -- --host 0.0.0.0 --port 8080
diff --git a/desktop/angular/e2e/protractor.conf.js b/desktop/angular/e2e/protractor.conf.js
new file mode 100644
index 00000000..f238c0bb
--- /dev/null
+++ b/desktop/angular/e2e/protractor.conf.js
@@ -0,0 +1,36 @@
+// @ts-check
+// Protractor configuration file, see link for more information
+// https://github.com/angular/protractor/blob/master/lib/config.ts
+
+const { SpecReporter, StacktraceOption } = require('jasmine-spec-reporter');
+
+/**
+ * @type { import("protractor").Config }
+ */
+exports.config = {
+  allScriptsTimeout: 11000,
+  specs: [
+    './src/**/*.e2e-spec.ts'
+  ],
+  capabilities: {
+    browserName: 'chrome'
+  },
+  directConnect: true,
+  baseUrl: 'http://localhost:4200/',
+  framework: 'jasmine',
+  jasmineNodeOpts: {
+    showColors: true,
+    defaultTimeoutInterval: 30000,
+    print: function() {}
+  },
+  onPrepare() {
+    require('ts-node').register({
+      project: require('path').join(__dirname, './tsconfig.json')
+    });
+    jasmine.getEnv().addReporter(new SpecReporter({
+      spec: {
+        displayStacktrace: StacktraceOption.PRETTY
+      }
+    }));
+  }
+};
\ No newline at end of file
diff --git a/desktop/angular/e2e/src/app.e2e-spec.ts b/desktop/angular/e2e/src/app.e2e-spec.ts
new file mode 100644
index 00000000..ada7d128
--- /dev/null
+++ b/desktop/angular/e2e/src/app.e2e-spec.ts
@@ -0,0 +1,23 @@
+import { AppPage } from './app.po';
+import { browser, logging } from 'protractor';
+
+describe('workspace-project App', () => {
+  let page: AppPage;
+
+  beforeEach(() => {
+    page = new AppPage();
+  });
+
+  it('should display welcome message', () => {
+    page.navigateTo();
+    expect(page.getTitleText()).toEqual('portmaster app is running!');
+  });
+
+  afterEach(async () => {
+    // Assert that there are no errors emitted from the browser
+    const logs = await browser.manage().logs().get(logging.Type.BROWSER);
+    expect(logs).not.toContain(jasmine.objectContaining({
+      level: logging.Level.SEVERE,
+    } as logging.Entry));
+  });
+});
diff --git a/desktop/angular/e2e/src/app.po.ts b/desktop/angular/e2e/src/app.po.ts
new file mode 100644
index 00000000..b68475e0
--- /dev/null
+++ b/desktop/angular/e2e/src/app.po.ts
@@ -0,0 +1,11 @@
+import { browser, by, element } from 'protractor';
+
+export class AppPage {
+  navigateTo(): Promise<unknown> {
+    return browser.get(browser.baseUrl) as Promise<unknown>;
+  }
+
+  getTitleText(): Promise<string> {
+    return element(by.css('app-root .content span')).getText() as Promise<string>;
+  }
+}
diff --git a/desktop/angular/e2e/tsconfig.json b/desktop/angular/e2e/tsconfig.json
new file mode 100644
index 00000000..426058ef
--- /dev/null
+++ b/desktop/angular/e2e/tsconfig.json
@@ -0,0 +1,14 @@
+/* To learn more about this file see: https://angular.io/config/tsconfig. */
+{
+  "extends": "../tsconfig.json",
+  "compilerOptions": {
+    "outDir": "../out-tsc/e2e",
+    "module": "commonjs",
+    "target": "es2018",
+    "types": [
+      "jasmine",
+      "jasminewd2",
+      "node"
+    ]
+  }
+}
diff --git a/desktop/angular/karma.conf.js b/desktop/angular/karma.conf.js
new file mode 100644
index 00000000..344d4317
--- /dev/null
+++ b/desktop/angular/karma.conf.js
@@ -0,0 +1,32 @@
+// Karma configuration file, see link for more information
+// https://karma-runner.github.io/1.0/config/configuration-file.html
+
+module.exports = function (config) {
+  config.set({
+    basePath: '',
+    frameworks: ['jasmine', '@angular-devkit/build-angular'],
+    plugins: [
+      require('karma-jasmine'),
+      require('karma-chrome-launcher'),
+      require('karma-jasmine-html-reporter'),
+      require('karma-coverage-istanbul-reporter'),
+      require('@angular-devkit/build-angular/plugins/karma')
+    ],
+    client: {
+      clearContext: false // leave Jasmine Spec Runner output visible in browser
+    },
+    coverageIstanbulReporter: {
+      dir: require('path').join(__dirname, './coverage/portmaster'),
+      reports: ['html', 'lcovonly', 'text-summary'],
+      fixWebpackSourcePaths: true
+    },
+    reporters: ['progress', 'kjhtml'],
+    port: 9876,
+    colors: true,
+    logLevel: config.LOG_INFO,
+    autoWatch: true,
+    browsers: ['Chrome'],
+    singleRun: false,
+    restartOnFileChange: true
+  });
+};
diff --git a/desktop/angular/package-lock.json b/desktop/angular/package-lock.json
new file mode 100644
index 00000000..13f80b4f
--- /dev/null
+++ b/desktop/angular/package-lock.json
@@ -0,0 +1,34959 @@
+{
+  "name": "portmaster",
+  "version": "0.8.3",
+  "lockfileVersion": 2,
+  "requires": true,
+  "packages": {
+    "": {
+      "name": "portmaster",
+      "version": "0.8.3",
+      "dependencies": {
+        "@angular/animations": "^16.0.1",
+        "@angular/cdk": "^16.0.1",
+        "@angular/common": "^16.0.1",
+        "@angular/compiler": "^16.0.1",
+        "@angular/core": "^16.0.1",
+        "@angular/forms": "^16.0.1",
+        "@angular/localize": "^16.0.1",
+        "@angular/platform-browser": "^16.0.1",
+        "@angular/platform-browser-dynamic": "^16.0.1",
+        "@angular/router": "^16.0.1",
+        "@fortawesome/angular-fontawesome": "^0.13.0",
+        "@fortawesome/fontawesome-svg-core": "^6.4.0",
+        "@fortawesome/free-brands-svg-icons": "^6.4.0",
+        "@fortawesome/free-regular-svg-icons": "^6.4.0",
+        "@fortawesome/free-solid-svg-icons": "^6.4.0",
+        "@tauri-apps/api": "^2.0.0-beta.3",
+        "@tauri-apps/plugin-cli": "^2.0.0-beta.1",
+        "@tauri-apps/plugin-clipboard-manager": "^2.0.0-alpha.4",
+        "@tauri-apps/plugin-dialog": "^2.0.0-alpha.4",
+        "@tauri-apps/plugin-notification": "^2.0.0-alpha.4",
+        "@tauri-apps/plugin-os": "^2.0.0-alpha.5",
+        "@tauri-apps/plugin-shell": "^2.0.0-alpha.4",
+        "autoprefixer": "^10.4.14",
+        "d3": "^7.8.4",
+        "data-urls": "^5.0.0",
+        "emoji-toolkit": "^7.0.1",
+        "fuse.js": "^6.6.2",
+        "ng-zorro-antd": "^16.1.0",
+        "ngx-markdown": "^16.0.0",
+        "postcss": "^8.4.23",
+        "prismjs": "^1.29.0",
+        "psl": "^1.9.0",
+        "rxjs": "~7.8.1",
+        "topojson-client": "^3.1.0",
+        "topojson-simplify": "^3.0.3",
+        "tslib": "^2.5.0",
+        "whatwg-encoding": "^3.1.1",
+        "zone.js": "^0.13.0"
+      },
+      "devDependencies": {
+        "@angular-builders/custom-webpack": "^16.0.0-beta.1",
+        "@angular-devkit/build-angular": "^16.0.1",
+        "@angular-eslint/builder": "16.0.1",
+        "@angular-eslint/eslint-plugin": "16.0.1",
+        "@angular-eslint/eslint-plugin-template": "16.0.1",
+        "@angular-eslint/schematics": "16.0.1",
+        "@angular-eslint/template-parser": "16.0.1",
+        "@angular/cli": "^16.0.1",
+        "@angular/compiler-cli": "^16.0.1",
+        "@fullhuman/postcss-purgecss": "^5.0.0",
+        "@types/chrome": "^0.0.236",
+        "@types/d3": "^7.4.0",
+        "@types/data-urls": "^3.0.4",
+        "@types/jasmine": "^4.3.1",
+        "@types/jasminewd2": "~2.0.10",
+        "@types/node": "^20.1.5",
+        "@types/psl": "^1.1.0",
+        "@types/topojson-client": "^3.1.1",
+        "@types/topojson-simplify": "^3.0.1",
+        "@types/whatwg-encoding": "^2.0.3",
+        "@typescript-eslint/eslint-plugin": "^5.59.6",
+        "@typescript-eslint/parser": "^5.59.6",
+        "eslint": "^8.40.0",
+        "jasmine-core": "^5.0.0",
+        "jasmine-spec-reporter": "^7.0.0",
+        "js-yaml-loader": "^1.2.2",
+        "ng-packagr": "^16.0.1",
+        "npm-run-all": "^4.1.5",
+        "postcss-import": "^15.1.0",
+        "postcss-loader": "^7.3.0",
+        "postcss-scss": "^4.0.6",
+        "protractor": "~7.0.0",
+        "tailwindcss": "^3.3.2",
+        "ts-node": "^10.9.1",
+        "tslint": "~6.1.0",
+        "typescript": "4.9",
+        "webpack-bundle-analyzer": "^4.8.0",
+        "webpack-ext-reloader": "^1.1.9",
+        "zip-a-folder": "^1.1.5"
+      }
+    },
+    "node_modules/@adobe/css-tools": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.2.0.tgz",
+      "integrity": "sha512-E09FiIft46CmH5Qnjb0wsW54/YQd69LsxeKUOWawmws1XWvyFGURnAChH0mlr7YPFR1ofwvUQfcL0J3lMxXqPA==",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
+    "node_modules/@alloc/quick-lru": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
+      "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/@ampproject/remapping": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
+      "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
+      "dependencies": {
+        "@jridgewell/gen-mapping": "^0.3.0",
+        "@jridgewell/trace-mapping": "^0.3.9"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@angular-builders/custom-webpack": {
+      "version": "16.0.0-beta.1",
+      "resolved": "https://registry.npmjs.org/@angular-builders/custom-webpack/-/custom-webpack-16.0.0-beta.1.tgz",
+      "integrity": "sha512-C0tpgKJt++ciJ2nXtP2+fHOgzHUNyk5Su7bgTKY3yWMWlC9YfUMOlXHvNnCRUDaLqxXTsxQjGp56o9hPNd5miA==",
+      "dev": true,
+      "dependencies": {
+        "@angular-devkit/architect": ">=0.1600.0 < 0.1700.0",
+        "@angular-devkit/build-angular": "^16.0.0",
+        "@angular-devkit/core": "^16.0.0",
+        "lodash": "^4.17.15",
+        "ts-node": "^10.0.0",
+        "tsconfig-paths": "^4.1.0",
+        "webpack-merge": "^5.7.3"
+      },
+      "engines": {
+        "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
+      },
+      "peerDependencies": {
+        "@angular/compiler-cli": "^16.0.0"
+      }
+    },
+    "node_modules/@angular-builders/custom-webpack/node_modules/@angular-devkit/build-angular": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.0.2.tgz",
+      "integrity": "sha512-jh6ez6k1tPmLTQ8J2T0CY+aRqLbhCvaExH6pqB7q6/bkDItcLPrybDGfJf05F0dHvZPB2fQEK0xYz9i92POofQ==",
+      "dev": true,
+      "dependencies": {
+        "@ampproject/remapping": "2.2.1",
+        "@angular-devkit/architect": "0.1600.2",
+        "@angular-devkit/build-webpack": "0.1600.2",
+        "@angular-devkit/core": "16.0.2",
+        "@babel/core": "7.21.4",
+        "@babel/generator": "7.21.4",
+        "@babel/helper-annotate-as-pure": "7.18.6",
+        "@babel/helper-split-export-declaration": "7.18.6",
+        "@babel/plugin-proposal-async-generator-functions": "7.20.7",
+        "@babel/plugin-transform-async-to-generator": "7.20.7",
+        "@babel/plugin-transform-runtime": "7.21.4",
+        "@babel/preset-env": "7.21.4",
+        "@babel/runtime": "7.21.0",
+        "@babel/template": "7.20.7",
+        "@discoveryjs/json-ext": "0.5.7",
+        "@ngtools/webpack": "16.0.2",
+        "@vitejs/plugin-basic-ssl": "1.0.1",
+        "ansi-colors": "4.1.3",
+        "autoprefixer": "10.4.14",
+        "babel-loader": "9.1.2",
+        "babel-plugin-istanbul": "6.1.1",
+        "browserslist": "4.21.5",
+        "cacache": "17.0.6",
+        "chokidar": "3.5.3",
+        "copy-webpack-plugin": "11.0.0",
+        "critters": "0.0.16",
+        "css-loader": "6.7.3",
+        "esbuild-wasm": "0.17.18",
+        "glob": "8.1.0",
+        "https-proxy-agent": "5.0.1",
+        "inquirer": "8.2.4",
+        "jsonc-parser": "3.2.0",
+        "karma-source-map-support": "1.4.0",
+        "less": "4.1.3",
+        "less-loader": "11.1.0",
+        "license-webpack-plugin": "4.0.2",
+        "loader-utils": "3.2.1",
+        "magic-string": "0.30.0",
+        "mini-css-extract-plugin": "2.7.5",
+        "mrmime": "1.0.1",
+        "open": "8.4.2",
+        "ora": "5.4.1",
+        "parse5-html-rewriting-stream": "7.0.0",
+        "picomatch": "2.3.1",
+        "piscina": "3.2.0",
+        "postcss": "8.4.23",
+        "postcss-loader": "7.2.4",
+        "resolve-url-loader": "5.0.0",
+        "rxjs": "7.8.1",
+        "sass": "1.62.1",
+        "sass-loader": "13.2.2",
+        "semver": "7.4.0",
+        "source-map-loader": "4.0.1",
+        "source-map-support": "0.5.21",
+        "terser": "5.17.1",
+        "text-table": "0.2.0",
+        "tree-kill": "1.2.2",
+        "tslib": "2.5.0",
+        "vite": "4.3.1",
+        "webpack": "5.80.0",
+        "webpack-dev-middleware": "6.0.2",
+        "webpack-dev-server": "4.13.2",
+        "webpack-merge": "5.8.0",
+        "webpack-subresource-integrity": "5.1.0"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0",
+        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+        "yarn": ">= 1.13.0"
+      },
+      "optionalDependencies": {
+        "esbuild": "0.17.18"
+      },
+      "peerDependencies": {
+        "@angular/compiler-cli": "^16.0.0",
+        "@angular/localize": "^16.0.0",
+        "@angular/platform-server": "^16.0.0",
+        "@angular/service-worker": "^16.0.0",
+        "jest": "^29.5.0",
+        "jest-environment-jsdom": "^29.5.0",
+        "karma": "^6.3.0",
+        "ng-packagr": "^16.0.0",
+        "protractor": "^7.0.0",
+        "tailwindcss": "^2.0.0 || ^3.0.0",
+        "typescript": ">=4.9.3 <5.1"
+      },
+      "peerDependenciesMeta": {
+        "@angular/localize": {
+          "optional": true
+        },
+        "@angular/platform-server": {
+          "optional": true
+        },
+        "@angular/service-worker": {
+          "optional": true
+        },
+        "jest": {
+          "optional": true
+        },
+        "jest-environment-jsdom": {
+          "optional": true
+        },
+        "karma": {
+          "optional": true
+        },
+        "ng-packagr": {
+          "optional": true
+        },
+        "protractor": {
+          "optional": true
+        },
+        "tailwindcss": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@angular-builders/custom-webpack/node_modules/@angular-devkit/build-webpack": {
+      "version": "0.1600.2",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1600.2.tgz",
+      "integrity": "sha512-B7EYoRMZOT3RcorxkXaHvMqwuNSttJCicZ99DmwBC41YlZOxpVVP6uM6wvYINGO0TMtu9bCmKkrSD8IC/hHetQ==",
+      "dev": true,
+      "dependencies": {
+        "@angular-devkit/architect": "0.1600.2",
+        "rxjs": "7.8.1"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0",
+        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+        "yarn": ">= 1.13.0"
+      },
+      "peerDependencies": {
+        "webpack": "^5.30.0",
+        "webpack-dev-server": "^4.0.0"
+      }
+    },
+    "node_modules/@angular-builders/custom-webpack/node_modules/@angular-devkit/core": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.0.2.tgz",
+      "integrity": "sha512-V4+t0BHO+QML9O2IiG2mJi8DtjeMOm4LAuG6tNDeiHZGAPOflvSPsKBtVl2JlXX/JxdLmyF4B6kRoAXRMKcwTg==",
+      "dev": true,
+      "dependencies": {
+        "ajv": "8.12.0",
+        "ajv-formats": "2.1.1",
+        "jsonc-parser": "3.2.0",
+        "rxjs": "7.8.1",
+        "source-map": "0.7.4"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0",
+        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+        "yarn": ">= 1.13.0"
+      },
+      "peerDependencies": {
+        "chokidar": "^3.5.2"
+      },
+      "peerDependenciesMeta": {
+        "chokidar": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@angular-builders/custom-webpack/node_modules/@ngtools/webpack": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.0.2.tgz",
+      "integrity": "sha512-8nPAOs2JLdMrAUf3sMkySzh66sPIkukO6HT8KVj726Dqm0Jtabjnxh0EI15Gkykj7HqH0Zw7/VyxpNQRfTA2UQ==",
+      "dev": true,
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0",
+        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+        "yarn": ">= 1.13.0"
+      },
+      "peerDependencies": {
+        "@angular/compiler-cli": "^16.0.0",
+        "typescript": ">=4.9.3 <5.1",
+        "webpack": "^5.54.0"
+      }
+    },
+    "node_modules/@angular-builders/custom-webpack/node_modules/brace-expansion": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+      "dev": true,
+      "dependencies": {
+        "balanced-match": "^1.0.0"
+      }
+    },
+    "node_modules/@angular-builders/custom-webpack/node_modules/glob": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+      "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+      "dev": true,
+      "dependencies": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^5.0.1",
+        "once": "^1.3.0"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/@angular-builders/custom-webpack/node_modules/minimatch": {
+      "version": "5.1.6",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+      "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@angular-builders/custom-webpack/node_modules/postcss-loader": {
+      "version": "7.2.4",
+      "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.2.4.tgz",
+      "integrity": "sha512-F88rpxxNspo5hatIc+orYwZDtHFaVFOSIVAx+fBfJC1GmhWbVmPWtmg2gXKE1OxJbneOSGn8PWdIwsZFcruS+w==",
+      "dev": true,
+      "dependencies": {
+        "cosmiconfig": "^8.1.3",
+        "cosmiconfig-typescript-loader": "^4.3.0",
+        "klona": "^2.0.6",
+        "semver": "^7.3.8"
+      },
+      "engines": {
+        "node": ">= 14.15.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependencies": {
+        "postcss": "^7.0.0 || ^8.0.1",
+        "ts-node": ">=10",
+        "typescript": ">=4",
+        "webpack": "^5.0.0"
+      },
+      "peerDependenciesMeta": {
+        "ts-node": {
+          "optional": true
+        },
+        "typescript": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@angular-devkit/architect": {
+      "version": "0.1600.2",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1600.2.tgz",
+      "integrity": "sha512-2AOP3/dwLywcjkRr3ixR/lb0uBn1jzaMWwQR3o7ye3IuEA2sRtyWhUzsy6V7smKBKWPDIbXvX2TcqYZAJ87ccA==",
+      "dev": true,
+      "dependencies": {
+        "@angular-devkit/core": "16.0.2",
+        "rxjs": "7.8.1"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0",
+        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+        "yarn": ">= 1.13.0"
+      }
+    },
+    "node_modules/@angular-devkit/architect/node_modules/@angular-devkit/core": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.0.2.tgz",
+      "integrity": "sha512-V4+t0BHO+QML9O2IiG2mJi8DtjeMOm4LAuG6tNDeiHZGAPOflvSPsKBtVl2JlXX/JxdLmyF4B6kRoAXRMKcwTg==",
+      "dev": true,
+      "dependencies": {
+        "ajv": "8.12.0",
+        "ajv-formats": "2.1.1",
+        "jsonc-parser": "3.2.0",
+        "rxjs": "7.8.1",
+        "source-map": "0.7.4"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0",
+        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+        "yarn": ">= 1.13.0"
+      },
+      "peerDependencies": {
+        "chokidar": "^3.5.2"
+      },
+      "peerDependenciesMeta": {
+        "chokidar": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@angular-devkit/build-angular": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.0.1.tgz",
+      "integrity": "sha512-VFhUViBfONOf6Ji4Lfkxlk+GN5l8Owm4Z0McqUIegrXsq3aSSStBBFdaDESpzhS6GIGqEBjjHMUQK8IlWT+EIQ==",
+      "dev": true,
+      "dependencies": {
+        "@ampproject/remapping": "2.2.1",
+        "@angular-devkit/architect": "0.1600.1",
+        "@angular-devkit/build-webpack": "0.1600.1",
+        "@angular-devkit/core": "16.0.1",
+        "@babel/core": "7.21.4",
+        "@babel/generator": "7.21.4",
+        "@babel/helper-annotate-as-pure": "7.18.6",
+        "@babel/helper-split-export-declaration": "7.18.6",
+        "@babel/plugin-proposal-async-generator-functions": "7.20.7",
+        "@babel/plugin-transform-async-to-generator": "7.20.7",
+        "@babel/plugin-transform-runtime": "7.21.4",
+        "@babel/preset-env": "7.21.4",
+        "@babel/runtime": "7.21.0",
+        "@babel/template": "7.20.7",
+        "@discoveryjs/json-ext": "0.5.7",
+        "@ngtools/webpack": "16.0.1",
+        "@vitejs/plugin-basic-ssl": "1.0.1",
+        "ansi-colors": "4.1.3",
+        "autoprefixer": "10.4.14",
+        "babel-loader": "9.1.2",
+        "babel-plugin-istanbul": "6.1.1",
+        "browserslist": "4.21.5",
+        "cacache": "17.0.6",
+        "chokidar": "3.5.3",
+        "copy-webpack-plugin": "11.0.0",
+        "critters": "0.0.16",
+        "css-loader": "6.7.3",
+        "esbuild-wasm": "0.17.18",
+        "glob": "8.1.0",
+        "https-proxy-agent": "5.0.1",
+        "inquirer": "8.2.4",
+        "jsonc-parser": "3.2.0",
+        "karma-source-map-support": "1.4.0",
+        "less": "4.1.3",
+        "less-loader": "11.1.0",
+        "license-webpack-plugin": "4.0.2",
+        "loader-utils": "3.2.1",
+        "magic-string": "0.30.0",
+        "mini-css-extract-plugin": "2.7.5",
+        "mrmime": "1.0.1",
+        "open": "8.4.2",
+        "ora": "5.4.1",
+        "parse5-html-rewriting-stream": "7.0.0",
+        "picomatch": "2.3.1",
+        "piscina": "3.2.0",
+        "postcss": "8.4.23",
+        "postcss-loader": "7.2.4",
+        "resolve-url-loader": "5.0.0",
+        "rxjs": "7.8.1",
+        "sass": "1.62.1",
+        "sass-loader": "13.2.2",
+        "semver": "7.4.0",
+        "source-map-loader": "4.0.1",
+        "source-map-support": "0.5.21",
+        "terser": "5.17.1",
+        "text-table": "0.2.0",
+        "tree-kill": "1.2.2",
+        "tslib": "2.5.0",
+        "vite": "4.3.1",
+        "webpack": "5.80.0",
+        "webpack-dev-middleware": "6.0.2",
+        "webpack-dev-server": "4.13.2",
+        "webpack-merge": "5.8.0",
+        "webpack-subresource-integrity": "5.1.0"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0",
+        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+        "yarn": ">= 1.13.0"
+      },
+      "optionalDependencies": {
+        "esbuild": "0.17.18"
+      },
+      "peerDependencies": {
+        "@angular/compiler-cli": "^16.0.0",
+        "@angular/localize": "^16.0.0",
+        "@angular/platform-server": "^16.0.0",
+        "@angular/service-worker": "^16.0.0",
+        "jest": "^29.5.0",
+        "jest-environment-jsdom": "^29.5.0",
+        "karma": "^6.3.0",
+        "ng-packagr": "^16.0.0",
+        "protractor": "^7.0.0",
+        "tailwindcss": "^2.0.0 || ^3.0.0",
+        "typescript": ">=4.9.3 <5.1"
+      },
+      "peerDependenciesMeta": {
+        "@angular/localize": {
+          "optional": true
+        },
+        "@angular/platform-server": {
+          "optional": true
+        },
+        "@angular/service-worker": {
+          "optional": true
+        },
+        "jest": {
+          "optional": true
+        },
+        "jest-environment-jsdom": {
+          "optional": true
+        },
+        "karma": {
+          "optional": true
+        },
+        "ng-packagr": {
+          "optional": true
+        },
+        "protractor": {
+          "optional": true
+        },
+        "tailwindcss": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/architect": {
+      "version": "0.1600.1",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1600.1.tgz",
+      "integrity": "sha512-7N3Dugrp3Fyyn3Q6RsxFNJJ2m1QuqcF3GHJcX7siINL37Hp6xI/q5gKffcd9rf20H1DYZE0VIbR1Sk31G6hMWg==",
+      "dev": true,
+      "dependencies": {
+        "@angular-devkit/core": "16.0.1",
+        "rxjs": "7.8.1"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0",
+        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+        "yarn": ">= 1.13.0"
+      }
+    },
+    "node_modules/@angular-devkit/build-angular/node_modules/brace-expansion": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+      "dev": true,
+      "dependencies": {
+        "balanced-match": "^1.0.0"
+      }
+    },
+    "node_modules/@angular-devkit/build-angular/node_modules/glob": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+      "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+      "dev": true,
+      "dependencies": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^5.0.1",
+        "once": "^1.3.0"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/@angular-devkit/build-angular/node_modules/minimatch": {
+      "version": "5.1.6",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+      "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@angular-devkit/build-angular/node_modules/postcss-loader": {
+      "version": "7.2.4",
+      "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.2.4.tgz",
+      "integrity": "sha512-F88rpxxNspo5hatIc+orYwZDtHFaVFOSIVAx+fBfJC1GmhWbVmPWtmg2gXKE1OxJbneOSGn8PWdIwsZFcruS+w==",
+      "dev": true,
+      "dependencies": {
+        "cosmiconfig": "^8.1.3",
+        "cosmiconfig-typescript-loader": "^4.3.0",
+        "klona": "^2.0.6",
+        "semver": "^7.3.8"
+      },
+      "engines": {
+        "node": ">= 14.15.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependencies": {
+        "postcss": "^7.0.0 || ^8.0.1",
+        "ts-node": ">=10",
+        "typescript": ">=4",
+        "webpack": "^5.0.0"
+      },
+      "peerDependenciesMeta": {
+        "ts-node": {
+          "optional": true
+        },
+        "typescript": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@angular-devkit/build-webpack": {
+      "version": "0.1600.1",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1600.1.tgz",
+      "integrity": "sha512-yCy5A1UwGzpst3QJ/CRo2Y8HWRqTPOfwAPAVl91Lbch7gBFViRvq6E7N1XfQunPu/eXvKxbuq2mFSDqtyZ1mWw==",
+      "dev": true,
+      "dependencies": {
+        "@angular-devkit/architect": "0.1600.1",
+        "rxjs": "7.8.1"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0",
+        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+        "yarn": ">= 1.13.0"
+      },
+      "peerDependencies": {
+        "webpack": "^5.30.0",
+        "webpack-dev-server": "^4.0.0"
+      }
+    },
+    "node_modules/@angular-devkit/build-webpack/node_modules/@angular-devkit/architect": {
+      "version": "0.1600.1",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1600.1.tgz",
+      "integrity": "sha512-7N3Dugrp3Fyyn3Q6RsxFNJJ2m1QuqcF3GHJcX7siINL37Hp6xI/q5gKffcd9rf20H1DYZE0VIbR1Sk31G6hMWg==",
+      "dev": true,
+      "dependencies": {
+        "@angular-devkit/core": "16.0.1",
+        "rxjs": "7.8.1"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0",
+        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+        "yarn": ">= 1.13.0"
+      }
+    },
+    "node_modules/@angular-devkit/core": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.0.1.tgz",
+      "integrity": "sha512-2uz98IqkKJlgnHbWQ7VeL4pb+snGAZXIama2KXi+k9GsRntdcw+udX8rL3G9SdUGUF+m6+147Y1oRBMHsO/v4w==",
+      "dev": true,
+      "dependencies": {
+        "ajv": "8.12.0",
+        "ajv-formats": "2.1.1",
+        "jsonc-parser": "3.2.0",
+        "rxjs": "7.8.1",
+        "source-map": "0.7.4"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0",
+        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+        "yarn": ">= 1.13.0"
+      },
+      "peerDependencies": {
+        "chokidar": "^3.5.2"
+      },
+      "peerDependenciesMeta": {
+        "chokidar": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@angular-devkit/schematics": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.0.1.tgz",
+      "integrity": "sha512-A9D0LTYmiqiBa90GKcSuWb7hUouGIbm/AHbJbjL85WLLRbQA2PwKl7P5Mpd6nS/ZC0kfG4VQY3VOaDvb3qpI9g==",
+      "dev": true,
+      "dependencies": {
+        "@angular-devkit/core": "16.0.1",
+        "jsonc-parser": "3.2.0",
+        "magic-string": "0.30.0",
+        "ora": "5.4.1",
+        "rxjs": "7.8.1"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0",
+        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+        "yarn": ">= 1.13.0"
+      }
+    },
+    "node_modules/@angular-eslint/builder": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-16.0.1.tgz",
+      "integrity": "sha512-yjFltV+r3YjisVjASMPmWB/ASz39wdh0q5g0l6/4G+8yaxl6hEYs5o0ZOGeGdTFstCql8FGY+QKwKgsq9Ec4QQ==",
+      "dev": true,
+      "dependencies": {
+        "@nx/devkit": "16.0.2",
+        "nx": "16.0.2"
+      },
+      "peerDependencies": {
+        "eslint": "^7.20.0 || ^8.0.0",
+        "typescript": "*"
+      }
+    },
+    "node_modules/@angular-eslint/bundled-angular-compiler": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-16.0.1.tgz",
+      "integrity": "sha512-amvTgKHtZoygivW3LAYZ9qjLWsXM7/7eaRvaHdmAEdjyFnYQZ7UbWMPSQNz1mlW/AzTFvk9lGGQORglNOSDnww==",
+      "dev": true
+    },
+    "node_modules/@angular-eslint/eslint-plugin": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-16.0.1.tgz",
+      "integrity": "sha512-CM9keS9cH1QAfSVfsvhw/oGCZcP/D8gfekWwVNjN/uEMEAak0czn1KOG7JQkE36NXOGtwCpTspMi1aa9CVKo9g==",
+      "dev": true,
+      "dependencies": {
+        "@angular-eslint/utils": "16.0.1",
+        "@typescript-eslint/utils": "5.59.2"
+      },
+      "peerDependencies": {
+        "eslint": "^7.20.0 || ^8.0.0",
+        "typescript": "*"
+      }
+    },
+    "node_modules/@angular-eslint/eslint-plugin-template": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-16.0.1.tgz",
+      "integrity": "sha512-1hyfs+Iq7K2x3mDDE4985d8vDcMyknbE9HKHKUtRLfLKC9gnV3N5d4+UeySQ7Rrjvgzkc1g9qHADyuhwRWpDSA==",
+      "dev": true,
+      "dependencies": {
+        "@angular-eslint/bundled-angular-compiler": "16.0.1",
+        "@angular-eslint/utils": "16.0.1",
+        "@typescript-eslint/type-utils": "5.59.2",
+        "@typescript-eslint/utils": "5.59.2",
+        "aria-query": "5.1.3",
+        "axobject-query": "3.1.1"
+      },
+      "peerDependencies": {
+        "eslint": "^7.20.0 || ^8.0.0",
+        "typescript": "*"
+      }
+    },
+    "node_modules/@angular-eslint/eslint-plugin-template/node_modules/@typescript-eslint/scope-manager": {
+      "version": "5.59.2",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.2.tgz",
+      "integrity": "sha512-dB1v7ROySwQWKqQ8rEWcdbTsFjh2G0vn8KUyvTXdPoyzSL6lLGkiXEV5CvpJsEe9xIdKV+8Zqb7wif2issoOFA==",
+      "dev": true,
+      "dependencies": {
+        "@typescript-eslint/types": "5.59.2",
+        "@typescript-eslint/visitor-keys": "5.59.2"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      }
+    },
+    "node_modules/@angular-eslint/eslint-plugin-template/node_modules/@typescript-eslint/type-utils": {
+      "version": "5.59.2",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.2.tgz",
+      "integrity": "sha512-b1LS2phBOsEy/T381bxkkywfQXkV1dWda/z0PhnIy3bC5+rQWQDS7fk9CSpcXBccPY27Z6vBEuaPBCKCgYezyQ==",
+      "dev": true,
+      "dependencies": {
+        "@typescript-eslint/typescript-estree": "5.59.2",
+        "@typescript-eslint/utils": "5.59.2",
+        "debug": "^4.3.4",
+        "tsutils": "^3.21.0"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      },
+      "peerDependencies": {
+        "eslint": "*"
+      },
+      "peerDependenciesMeta": {
+        "typescript": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@angular-eslint/eslint-plugin-template/node_modules/@typescript-eslint/types": {
+      "version": "5.59.2",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.2.tgz",
+      "integrity": "sha512-LbJ/HqoVs2XTGq5shkiKaNTuVv5tTejdHgfdjqRUGdYhjW1crm/M7og2jhVskMt8/4wS3T1+PfFvL1K3wqYj4w==",
+      "dev": true,
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      }
+    },
+    "node_modules/@angular-eslint/eslint-plugin-template/node_modules/@typescript-eslint/typescript-estree": {
+      "version": "5.59.2",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.2.tgz",
+      "integrity": "sha512-+j4SmbwVmZsQ9jEyBMgpuBD0rKwi9RxRpjX71Brr73RsYnEr3Lt5QZ624Bxphp8HUkSKfqGnPJp1kA5nl0Sh7Q==",
+      "dev": true,
+      "dependencies": {
+        "@typescript-eslint/types": "5.59.2",
+        "@typescript-eslint/visitor-keys": "5.59.2",
+        "debug": "^4.3.4",
+        "globby": "^11.1.0",
+        "is-glob": "^4.0.3",
+        "semver": "^7.3.7",
+        "tsutils": "^3.21.0"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      },
+      "peerDependenciesMeta": {
+        "typescript": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@angular-eslint/eslint-plugin-template/node_modules/@typescript-eslint/utils": {
+      "version": "5.59.2",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.2.tgz",
+      "integrity": "sha512-kSuF6/77TZzyGPhGO4uVp+f0SBoYxCDf+lW3GKhtKru/L8k/Hd7NFQxyWUeY7Z/KGB2C6Fe3yf2vVi4V9TsCSQ==",
+      "dev": true,
+      "dependencies": {
+        "@eslint-community/eslint-utils": "^4.2.0",
+        "@types/json-schema": "^7.0.9",
+        "@types/semver": "^7.3.12",
+        "@typescript-eslint/scope-manager": "5.59.2",
+        "@typescript-eslint/types": "5.59.2",
+        "@typescript-eslint/typescript-estree": "5.59.2",
+        "eslint-scope": "^5.1.1",
+        "semver": "^7.3.7"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      },
+      "peerDependencies": {
+        "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+      }
+    },
+    "node_modules/@angular-eslint/eslint-plugin-template/node_modules/@typescript-eslint/visitor-keys": {
+      "version": "5.59.2",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.2.tgz",
+      "integrity": "sha512-EEpsO8m3RASrKAHI9jpavNv9NlEUebV4qmF1OWxSTtKSFBpC1NCmWazDQHFivRf0O1DV11BA645yrLEVQ0/Lig==",
+      "dev": true,
+      "dependencies": {
+        "@typescript-eslint/types": "5.59.2",
+        "eslint-visitor-keys": "^3.3.0"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      }
+    },
+    "node_modules/@angular-eslint/eslint-plugin-template/node_modules/aria-query": {
+      "version": "5.1.3",
+      "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz",
+      "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==",
+      "dev": true,
+      "dependencies": {
+        "deep-equal": "^2.0.5"
+      }
+    },
+    "node_modules/@angular-eslint/eslint-plugin-template/node_modules/axobject-query": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz",
+      "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==",
+      "dev": true,
+      "dependencies": {
+        "deep-equal": "^2.0.5"
+      }
+    },
+    "node_modules/@angular-eslint/eslint-plugin-template/node_modules/globby": {
+      "version": "11.1.0",
+      "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+      "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+      "dev": true,
+      "dependencies": {
+        "array-union": "^2.1.0",
+        "dir-glob": "^3.0.1",
+        "fast-glob": "^3.2.9",
+        "ignore": "^5.2.0",
+        "merge2": "^1.4.1",
+        "slash": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/@angular-eslint/eslint-plugin-template/node_modules/slash": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+      "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@angular-eslint/eslint-plugin-template/node_modules/tslib": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+      "dev": true
+    },
+    "node_modules/@angular-eslint/eslint-plugin-template/node_modules/tsutils": {
+      "version": "3.21.0",
+      "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
+      "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+      "dev": true,
+      "dependencies": {
+        "tslib": "^1.8.1"
+      },
+      "engines": {
+        "node": ">= 6"
+      },
+      "peerDependencies": {
+        "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+      }
+    },
+    "node_modules/@angular-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": {
+      "version": "5.59.2",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.2.tgz",
+      "integrity": "sha512-dB1v7ROySwQWKqQ8rEWcdbTsFjh2G0vn8KUyvTXdPoyzSL6lLGkiXEV5CvpJsEe9xIdKV+8Zqb7wif2issoOFA==",
+      "dev": true,
+      "dependencies": {
+        "@typescript-eslint/types": "5.59.2",
+        "@typescript-eslint/visitor-keys": "5.59.2"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      }
+    },
+    "node_modules/@angular-eslint/eslint-plugin/node_modules/@typescript-eslint/types": {
+      "version": "5.59.2",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.2.tgz",
+      "integrity": "sha512-LbJ/HqoVs2XTGq5shkiKaNTuVv5tTejdHgfdjqRUGdYhjW1crm/M7og2jhVskMt8/4wS3T1+PfFvL1K3wqYj4w==",
+      "dev": true,
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      }
+    },
+    "node_modules/@angular-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": {
+      "version": "5.59.2",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.2.tgz",
+      "integrity": "sha512-+j4SmbwVmZsQ9jEyBMgpuBD0rKwi9RxRpjX71Brr73RsYnEr3Lt5QZ624Bxphp8HUkSKfqGnPJp1kA5nl0Sh7Q==",
+      "dev": true,
+      "dependencies": {
+        "@typescript-eslint/types": "5.59.2",
+        "@typescript-eslint/visitor-keys": "5.59.2",
+        "debug": "^4.3.4",
+        "globby": "^11.1.0",
+        "is-glob": "^4.0.3",
+        "semver": "^7.3.7",
+        "tsutils": "^3.21.0"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      },
+      "peerDependenciesMeta": {
+        "typescript": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@angular-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": {
+      "version": "5.59.2",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.2.tgz",
+      "integrity": "sha512-kSuF6/77TZzyGPhGO4uVp+f0SBoYxCDf+lW3GKhtKru/L8k/Hd7NFQxyWUeY7Z/KGB2C6Fe3yf2vVi4V9TsCSQ==",
+      "dev": true,
+      "dependencies": {
+        "@eslint-community/eslint-utils": "^4.2.0",
+        "@types/json-schema": "^7.0.9",
+        "@types/semver": "^7.3.12",
+        "@typescript-eslint/scope-manager": "5.59.2",
+        "@typescript-eslint/types": "5.59.2",
+        "@typescript-eslint/typescript-estree": "5.59.2",
+        "eslint-scope": "^5.1.1",
+        "semver": "^7.3.7"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      },
+      "peerDependencies": {
+        "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+      }
+    },
+    "node_modules/@angular-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": {
+      "version": "5.59.2",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.2.tgz",
+      "integrity": "sha512-EEpsO8m3RASrKAHI9jpavNv9NlEUebV4qmF1OWxSTtKSFBpC1NCmWazDQHFivRf0O1DV11BA645yrLEVQ0/Lig==",
+      "dev": true,
+      "dependencies": {
+        "@typescript-eslint/types": "5.59.2",
+        "eslint-visitor-keys": "^3.3.0"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      }
+    },
+    "node_modules/@angular-eslint/eslint-plugin/node_modules/globby": {
+      "version": "11.1.0",
+      "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+      "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+      "dev": true,
+      "dependencies": {
+        "array-union": "^2.1.0",
+        "dir-glob": "^3.0.1",
+        "fast-glob": "^3.2.9",
+        "ignore": "^5.2.0",
+        "merge2": "^1.4.1",
+        "slash": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/@angular-eslint/eslint-plugin/node_modules/slash": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+      "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@angular-eslint/eslint-plugin/node_modules/tslib": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+      "dev": true
+    },
+    "node_modules/@angular-eslint/eslint-plugin/node_modules/tsutils": {
+      "version": "3.21.0",
+      "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
+      "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+      "dev": true,
+      "dependencies": {
+        "tslib": "^1.8.1"
+      },
+      "engines": {
+        "node": ">= 6"
+      },
+      "peerDependencies": {
+        "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+      }
+    },
+    "node_modules/@angular-eslint/schematics": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-16.0.1.tgz",
+      "integrity": "sha512-1oJJEWVbgPkNK1E8rAJfrgxzNWWzJKv3frTHeAm8gvZ7GftYhHjDcrcnxLWrYNxb9+q8Awi0hvGta/4HROmmnA==",
+      "dev": true,
+      "dependencies": {
+        "@angular-eslint/eslint-plugin": "16.0.1",
+        "@angular-eslint/eslint-plugin-template": "16.0.1",
+        "@nx/devkit": "16.0.2",
+        "ignore": "5.2.4",
+        "nx": "16.0.2",
+        "strip-json-comments": "3.1.1",
+        "tmp": "0.2.1"
+      },
+      "peerDependencies": {
+        "@angular/cli": ">= 16.0.0 < 17.0.0"
+      }
+    },
+    "node_modules/@angular-eslint/schematics/node_modules/tmp": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+      "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+      "dev": true,
+      "dependencies": {
+        "rimraf": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8.17.0"
+      }
+    },
+    "node_modules/@angular-eslint/template-parser": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-16.0.1.tgz",
+      "integrity": "sha512-x0+SwSeqa3TiVZan6fE5grHsCkjGqU+zAS2DB6wAw5pyvgNAIjrI4cZEQ8pkgHfXe5tuumTKztlkpisah5s/hg==",
+      "dev": true,
+      "dependencies": {
+        "@angular-eslint/bundled-angular-compiler": "16.0.1",
+        "eslint-scope": "^7.0.0"
+      },
+      "peerDependencies": {
+        "eslint": "^7.20.0 || ^8.0.0",
+        "typescript": "*"
+      }
+    },
+    "node_modules/@angular-eslint/template-parser/node_modules/eslint-scope": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz",
+      "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==",
+      "dev": true,
+      "dependencies": {
+        "esrecurse": "^4.3.0",
+        "estraverse": "^5.2.0"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/eslint"
+      }
+    },
+    "node_modules/@angular-eslint/template-parser/node_modules/estraverse": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+      "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+      "dev": true,
+      "engines": {
+        "node": ">=4.0"
+      }
+    },
+    "node_modules/@angular-eslint/utils": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-16.0.1.tgz",
+      "integrity": "sha512-2xnJuhIrMZEYK6UyBym6FaFXZgopIIbqfQ4sAtMWY6zYkCEsVUvx5qKIrsnXAwvpDQrv0WiMXteqi/5ICpVMZQ==",
+      "dev": true,
+      "dependencies": {
+        "@angular-eslint/bundled-angular-compiler": "16.0.1",
+        "@typescript-eslint/utils": "5.59.2"
+      },
+      "peerDependencies": {
+        "eslint": "^7.20.0 || ^8.0.0",
+        "typescript": "*"
+      }
+    },
+    "node_modules/@angular-eslint/utils/node_modules/@typescript-eslint/scope-manager": {
+      "version": "5.59.2",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.2.tgz",
+      "integrity": "sha512-dB1v7ROySwQWKqQ8rEWcdbTsFjh2G0vn8KUyvTXdPoyzSL6lLGkiXEV5CvpJsEe9xIdKV+8Zqb7wif2issoOFA==",
+      "dev": true,
+      "dependencies": {
+        "@typescript-eslint/types": "5.59.2",
+        "@typescript-eslint/visitor-keys": "5.59.2"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      }
+    },
+    "node_modules/@angular-eslint/utils/node_modules/@typescript-eslint/types": {
+      "version": "5.59.2",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.2.tgz",
+      "integrity": "sha512-LbJ/HqoVs2XTGq5shkiKaNTuVv5tTejdHgfdjqRUGdYhjW1crm/M7og2jhVskMt8/4wS3T1+PfFvL1K3wqYj4w==",
+      "dev": true,
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      }
+    },
+    "node_modules/@angular-eslint/utils/node_modules/@typescript-eslint/typescript-estree": {
+      "version": "5.59.2",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.2.tgz",
+      "integrity": "sha512-+j4SmbwVmZsQ9jEyBMgpuBD0rKwi9RxRpjX71Brr73RsYnEr3Lt5QZ624Bxphp8HUkSKfqGnPJp1kA5nl0Sh7Q==",
+      "dev": true,
+      "dependencies": {
+        "@typescript-eslint/types": "5.59.2",
+        "@typescript-eslint/visitor-keys": "5.59.2",
+        "debug": "^4.3.4",
+        "globby": "^11.1.0",
+        "is-glob": "^4.0.3",
+        "semver": "^7.3.7",
+        "tsutils": "^3.21.0"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      },
+      "peerDependenciesMeta": {
+        "typescript": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@angular-eslint/utils/node_modules/@typescript-eslint/utils": {
+      "version": "5.59.2",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.2.tgz",
+      "integrity": "sha512-kSuF6/77TZzyGPhGO4uVp+f0SBoYxCDf+lW3GKhtKru/L8k/Hd7NFQxyWUeY7Z/KGB2C6Fe3yf2vVi4V9TsCSQ==",
+      "dev": true,
+      "dependencies": {
+        "@eslint-community/eslint-utils": "^4.2.0",
+        "@types/json-schema": "^7.0.9",
+        "@types/semver": "^7.3.12",
+        "@typescript-eslint/scope-manager": "5.59.2",
+        "@typescript-eslint/types": "5.59.2",
+        "@typescript-eslint/typescript-estree": "5.59.2",
+        "eslint-scope": "^5.1.1",
+        "semver": "^7.3.7"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      },
+      "peerDependencies": {
+        "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+      }
+    },
+    "node_modules/@angular-eslint/utils/node_modules/@typescript-eslint/visitor-keys": {
+      "version": "5.59.2",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.2.tgz",
+      "integrity": "sha512-EEpsO8m3RASrKAHI9jpavNv9NlEUebV4qmF1OWxSTtKSFBpC1NCmWazDQHFivRf0O1DV11BA645yrLEVQ0/Lig==",
+      "dev": true,
+      "dependencies": {
+        "@typescript-eslint/types": "5.59.2",
+        "eslint-visitor-keys": "^3.3.0"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      }
+    },
+    "node_modules/@angular-eslint/utils/node_modules/globby": {
+      "version": "11.1.0",
+      "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+      "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+      "dev": true,
+      "dependencies": {
+        "array-union": "^2.1.0",
+        "dir-glob": "^3.0.1",
+        "fast-glob": "^3.2.9",
+        "ignore": "^5.2.0",
+        "merge2": "^1.4.1",
+        "slash": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/@angular-eslint/utils/node_modules/slash": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+      "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@angular-eslint/utils/node_modules/tslib": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+      "dev": true
+    },
+    "node_modules/@angular-eslint/utils/node_modules/tsutils": {
+      "version": "3.21.0",
+      "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
+      "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+      "dev": true,
+      "dependencies": {
+        "tslib": "^1.8.1"
+      },
+      "engines": {
+        "node": ">= 6"
+      },
+      "peerDependencies": {
+        "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+      }
+    },
+    "node_modules/@angular/animations": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-16.0.1.tgz",
+      "integrity": "sha512-ziRq1hGJJuQqQUHqNpEMp9uy1pVutvL8oNvawblh32u4bnLsVQU5gMd6sTonn0x4sphEwMNnuEmp/q6QRIx+pA==",
+      "dependencies": {
+        "tslib": "^2.3.0"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0"
+      },
+      "peerDependencies": {
+        "@angular/core": "16.0.1"
+      }
+    },
+    "node_modules/@angular/cdk": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-16.0.1.tgz",
+      "integrity": "sha512-GupYss6x84RWEoy3JTYu4Igr2SxHuV6whVKMScQG2/Gm+winOsOn7YWm0IZQuFnjSWIF2Va5B0Tp0IjFHWxTvA==",
+      "dependencies": {
+        "tslib": "^2.3.0"
+      },
+      "optionalDependencies": {
+        "parse5": "^7.1.2"
+      },
+      "peerDependencies": {
+        "@angular/common": "^16.0.0 || ^17.0.0",
+        "@angular/core": "^16.0.0 || ^17.0.0",
+        "rxjs": "^6.5.3 || ^7.4.0"
+      }
+    },
+    "node_modules/@angular/cli": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.0.1.tgz",
+      "integrity": "sha512-0vIAcq/S+3NXXN4/gBQFVGaxLUQ0zhRxxHQQuiT7GGII73UySuhwvaFB1BEhYG5HVJjRrP1F0ZYbvsvrmFzfXQ==",
+      "dev": true,
+      "dependencies": {
+        "@angular-devkit/architect": "0.1600.1",
+        "@angular-devkit/core": "16.0.1",
+        "@angular-devkit/schematics": "16.0.1",
+        "@schematics/angular": "16.0.1",
+        "@yarnpkg/lockfile": "1.1.0",
+        "ansi-colors": "4.1.3",
+        "ini": "4.0.0",
+        "inquirer": "8.2.4",
+        "jsonc-parser": "3.2.0",
+        "npm-package-arg": "10.1.0",
+        "npm-pick-manifest": "8.0.1",
+        "open": "8.4.2",
+        "ora": "5.4.1",
+        "pacote": "15.1.3",
+        "resolve": "1.22.2",
+        "semver": "7.4.0",
+        "symbol-observable": "4.0.0",
+        "yargs": "17.7.2"
+      },
+      "bin": {
+        "ng": "bin/ng.js"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0",
+        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+        "yarn": ">= 1.13.0"
+      }
+    },
+    "node_modules/@angular/cli/node_modules/@angular-devkit/architect": {
+      "version": "0.1600.1",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1600.1.tgz",
+      "integrity": "sha512-7N3Dugrp3Fyyn3Q6RsxFNJJ2m1QuqcF3GHJcX7siINL37Hp6xI/q5gKffcd9rf20H1DYZE0VIbR1Sk31G6hMWg==",
+      "dev": true,
+      "dependencies": {
+        "@angular-devkit/core": "16.0.1",
+        "rxjs": "7.8.1"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0",
+        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+        "yarn": ">= 1.13.0"
+      }
+    },
+    "node_modules/@angular/common": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/common/-/common-16.0.1.tgz",
+      "integrity": "sha512-ic9Ri4Mepf4c0BTff7o4Oyl/a1vACNXXUzuoTwIjWnIqrH89dtwg7ncTD9Rv0N1lon7r4gXokTbn9A/Yk/0jbw==",
+      "dependencies": {
+        "tslib": "^2.3.0"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0"
+      },
+      "peerDependencies": {
+        "@angular/core": "16.0.1",
+        "rxjs": "^6.5.3 || ^7.4.0"
+      }
+    },
+    "node_modules/@angular/compiler": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-16.0.1.tgz",
+      "integrity": "sha512-7zNo6H1qVQow3T4EUul76SaIDSMRSl0hmtyWUzPjtWkxMjrCPSduqjA4/NHaG0KX1BsUvUtQEoDJ5jv/7EHWTQ==",
+      "dependencies": {
+        "tslib": "^2.3.0"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0"
+      },
+      "peerDependencies": {
+        "@angular/core": "16.0.1"
+      },
+      "peerDependenciesMeta": {
+        "@angular/core": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@angular/compiler-cli": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-16.0.1.tgz",
+      "integrity": "sha512-EW7Oxp8EuTz3vCNd4RAncZGB7dCUYviUkBA4PzuyPmL2copZPt12j9qx0pXXF3T6ydjoZ+99ZEgfkKOV6FeU3g==",
+      "dependencies": {
+        "@babel/core": "7.19.3",
+        "@jridgewell/sourcemap-codec": "^1.4.14",
+        "chokidar": "^3.0.0",
+        "convert-source-map": "^1.5.1",
+        "reflect-metadata": "^0.1.2",
+        "semver": "^7.0.0",
+        "tslib": "^2.3.0",
+        "yargs": "^17.2.1"
+      },
+      "bin": {
+        "ng-xi18n": "bundles/src/bin/ng_xi18n.js",
+        "ngc": "bundles/src/bin/ngc.js",
+        "ngcc": "bundles/ngcc/index.js"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0"
+      },
+      "peerDependencies": {
+        "@angular/compiler": "16.0.1",
+        "typescript": ">=4.9.3 <5.1"
+      }
+    },
+    "node_modules/@angular/compiler-cli/node_modules/@babel/core": {
+      "version": "7.19.3",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz",
+      "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==",
+      "dependencies": {
+        "@ampproject/remapping": "^2.1.0",
+        "@babel/code-frame": "^7.18.6",
+        "@babel/generator": "^7.19.3",
+        "@babel/helper-compilation-targets": "^7.19.3",
+        "@babel/helper-module-transforms": "^7.19.0",
+        "@babel/helpers": "^7.19.0",
+        "@babel/parser": "^7.19.3",
+        "@babel/template": "^7.18.10",
+        "@babel/traverse": "^7.19.3",
+        "@babel/types": "^7.19.3",
+        "convert-source-map": "^1.7.0",
+        "debug": "^4.1.0",
+        "gensync": "^1.0.0-beta.2",
+        "json5": "^2.2.1",
+        "semver": "^6.3.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/babel"
+      }
+    },
+    "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/semver": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/@angular/compiler-cli/node_modules/@babel/generator": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.5.tgz",
+      "integrity": "sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==",
+      "dependencies": {
+        "@babel/types": "^7.21.5",
+        "@jridgewell/gen-mapping": "^0.3.2",
+        "@jridgewell/trace-mapping": "^0.3.17",
+        "jsesc": "^2.5.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@angular/core": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/core/-/core-16.0.1.tgz",
+      "integrity": "sha512-3s4XBbzWgyWcjI0WFlNDKRxsbm4J+OKIL4mJCM9r8gWwno9y0K/giziAm9YMIJ4VOBIvrcMbOh85o44FCk8cRA==",
+      "dependencies": {
+        "tslib": "^2.3.0"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0"
+      },
+      "peerDependencies": {
+        "rxjs": "^6.5.3 || ^7.4.0",
+        "zone.js": "~0.13.0"
+      }
+    },
+    "node_modules/@angular/forms": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-16.0.1.tgz",
+      "integrity": "sha512-VbH/YnEBau0q97zI7BjSk0pu/i2S0Y/zmhvA2wgI2CCvtbqT6hCNdE/3rW6ZFBcnuCe+dFhuchXe6dX28epsvg==",
+      "dependencies": {
+        "tslib": "^2.3.0"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0"
+      },
+      "peerDependencies": {
+        "@angular/common": "16.0.1",
+        "@angular/core": "16.0.1",
+        "@angular/platform-browser": "16.0.1",
+        "rxjs": "^6.5.3 || ^7.4.0"
+      }
+    },
+    "node_modules/@angular/localize": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-16.0.1.tgz",
+      "integrity": "sha512-2zC7KE/JUA/JCHP+kEDSF8iZ9cyvd6OAPFE74yH8FjixQsaq9WhXiPtGkHC0bg9hWH858bRcCmA9BZr+zjntvA==",
+      "dependencies": {
+        "@babel/core": "7.19.3",
+        "glob": "8.1.0",
+        "yargs": "^17.2.1"
+      },
+      "bin": {
+        "localize-extract": "tools/bundles/src/extract/cli.js",
+        "localize-migrate": "tools/bundles/src/migrate/cli.js",
+        "localize-translate": "tools/bundles/src/translate/cli.js"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0"
+      },
+      "peerDependencies": {
+        "@angular/compiler": "16.0.1",
+        "@angular/compiler-cli": "16.0.1"
+      }
+    },
+    "node_modules/@angular/localize/node_modules/@babel/core": {
+      "version": "7.19.3",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz",
+      "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==",
+      "dependencies": {
+        "@ampproject/remapping": "^2.1.0",
+        "@babel/code-frame": "^7.18.6",
+        "@babel/generator": "^7.19.3",
+        "@babel/helper-compilation-targets": "^7.19.3",
+        "@babel/helper-module-transforms": "^7.19.0",
+        "@babel/helpers": "^7.19.0",
+        "@babel/parser": "^7.19.3",
+        "@babel/template": "^7.18.10",
+        "@babel/traverse": "^7.19.3",
+        "@babel/types": "^7.19.3",
+        "convert-source-map": "^1.7.0",
+        "debug": "^4.1.0",
+        "gensync": "^1.0.0-beta.2",
+        "json5": "^2.2.1",
+        "semver": "^6.3.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/babel"
+      }
+    },
+    "node_modules/@angular/localize/node_modules/@babel/generator": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.5.tgz",
+      "integrity": "sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==",
+      "dependencies": {
+        "@babel/types": "^7.21.5",
+        "@jridgewell/gen-mapping": "^0.3.2",
+        "@jridgewell/trace-mapping": "^0.3.17",
+        "jsesc": "^2.5.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@angular/localize/node_modules/brace-expansion": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+      "dependencies": {
+        "balanced-match": "^1.0.0"
+      }
+    },
+    "node_modules/@angular/localize/node_modules/glob": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+      "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+      "dependencies": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^5.0.1",
+        "once": "^1.3.0"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/@angular/localize/node_modules/minimatch": {
+      "version": "5.1.6",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+      "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+      "dependencies": {
+        "brace-expansion": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@angular/localize/node_modules/semver": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/@angular/platform-browser": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-16.0.1.tgz",
+      "integrity": "sha512-7XLIOnTnGDJLE4Q0zBz6eI9q5V3NnsTAJqIICJHc4gk6jNgVz90gtejAQ4EFbo0d83XGzwFL22hxID5Dj1WRIA==",
+      "dependencies": {
+        "tslib": "^2.3.0"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0"
+      },
+      "peerDependencies": {
+        "@angular/animations": "16.0.1",
+        "@angular/common": "16.0.1",
+        "@angular/core": "16.0.1"
+      },
+      "peerDependenciesMeta": {
+        "@angular/animations": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@angular/platform-browser-dynamic": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-16.0.1.tgz",
+      "integrity": "sha512-qrGlRPqJM42WZcHCbzwTA8SiK90xrhM/VrOL/8/1okuHn82gSWbbynpqycdZnsI9XMbW+HNhpKR2n8HKV38Jug==",
+      "dependencies": {
+        "tslib": "^2.3.0"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0"
+      },
+      "peerDependencies": {
+        "@angular/common": "16.0.1",
+        "@angular/compiler": "16.0.1",
+        "@angular/core": "16.0.1",
+        "@angular/platform-browser": "16.0.1"
+      }
+    },
+    "node_modules/@angular/router": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/router/-/router-16.0.1.tgz",
+      "integrity": "sha512-4GH0SxPbuY08B/M0f3NEHf9yIFH+D3wlzWJHI75chfdqQ8gGAMG6B6PSmo3haicDxHcSnZTYNJXDLOQvaBAHcA==",
+      "dependencies": {
+        "tslib": "^2.3.0"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0"
+      },
+      "peerDependencies": {
+        "@angular/common": "16.0.1",
+        "@angular/core": "16.0.1",
+        "@angular/platform-browser": "16.0.1",
+        "rxjs": "^6.5.3 || ^7.4.0"
+      }
+    },
+    "node_modules/@ant-design/colors": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-7.0.0.tgz",
+      "integrity": "sha512-iVm/9PfGCbC0dSMBrz7oiEXZaaGH7ceU40OJEfKmyuzR9R5CRimJYPlRiFtMQGQcbNMea/ePcoIebi4ASGYXtg==",
+      "dependencies": {
+        "@ctrl/tinycolor": "^3.4.0"
+      }
+    },
+    "node_modules/@ant-design/icons-angular": {
+      "version": "16.0.0",
+      "resolved": "https://registry.npmjs.org/@ant-design/icons-angular/-/icons-angular-16.0.0.tgz",
+      "integrity": "sha512-KWBmWZl2so49R/MdAT7aG+xaBlMKl9SArR3Du/iPA0Am9GI1i9R89KgnnLWz+gkzHTye15S1IBXpgts4GPPU/w==",
+      "dependencies": {
+        "@ant-design/colors": "^7.0.0",
+        "tslib": "^2.0.0"
+      },
+      "peerDependencies": {
+        "@angular/common": "^16.0.0",
+        "@angular/core": "^16.0.0",
+        "@angular/platform-browser": "^16.0.0",
+        "rxjs": "^6.4.0 || ^7.4.0"
+      }
+    },
+    "node_modules/@assemblyscript/loader": {
+      "version": "0.10.1",
+      "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz",
+      "integrity": "sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==",
+      "dev": true
+    },
+    "node_modules/@babel/code-frame": {
+      "version": "7.21.4",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz",
+      "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==",
+      "dependencies": {
+        "@babel/highlight": "^7.18.6"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/compat-data": {
+      "version": "7.21.7",
+      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.7.tgz",
+      "integrity": "sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA==",
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/core": {
+      "version": "7.21.4",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz",
+      "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==",
+      "dependencies": {
+        "@ampproject/remapping": "^2.2.0",
+        "@babel/code-frame": "^7.21.4",
+        "@babel/generator": "^7.21.4",
+        "@babel/helper-compilation-targets": "^7.21.4",
+        "@babel/helper-module-transforms": "^7.21.2",
+        "@babel/helpers": "^7.21.0",
+        "@babel/parser": "^7.21.4",
+        "@babel/template": "^7.20.7",
+        "@babel/traverse": "^7.21.4",
+        "@babel/types": "^7.21.4",
+        "convert-source-map": "^1.7.0",
+        "debug": "^4.1.0",
+        "gensync": "^1.0.0-beta.2",
+        "json5": "^2.2.2",
+        "semver": "^6.3.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/babel"
+      }
+    },
+    "node_modules/@babel/core/node_modules/semver": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/@babel/generator": {
+      "version": "7.21.4",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz",
+      "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==",
+      "dependencies": {
+        "@babel/types": "^7.21.4",
+        "@jridgewell/gen-mapping": "^0.3.2",
+        "@jridgewell/trace-mapping": "^0.3.17",
+        "jsesc": "^2.5.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-annotate-as-pure": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz",
+      "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.18.6"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.21.5.tgz",
+      "integrity": "sha512-uNrjKztPLkUk7bpCNC0jEKDJzzkvel/W+HguzbN8krA+LPfC1CEobJEvAvGka2A/M+ViOqXdcRL0GqPUJSjx9g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.21.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-compilation-targets": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz",
+      "integrity": "sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==",
+      "dependencies": {
+        "@babel/compat-data": "^7.21.5",
+        "@babel/helper-validator-option": "^7.21.0",
+        "browserslist": "^4.21.3",
+        "lru-cache": "^5.1.1",
+        "semver": "^6.3.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": {
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+      "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+      "dependencies": {
+        "yallist": "^3.0.2"
+      }
+    },
+    "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/@babel/helper-compilation-targets/node_modules/yallist": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+      "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+    },
+    "node_modules/@babel/helper-create-class-features-plugin": {
+      "version": "7.21.8",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.8.tgz",
+      "integrity": "sha512-+THiN8MqiH2AczyuZrnrKL6cAxFRRQDKW9h1YkBvbgKmAm6mwiacig1qT73DHIWMGo40GRnsEfN3LA+E6NtmSw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-annotate-as-pure": "^7.18.6",
+        "@babel/helper-environment-visitor": "^7.21.5",
+        "@babel/helper-function-name": "^7.21.0",
+        "@babel/helper-member-expression-to-functions": "^7.21.5",
+        "@babel/helper-optimise-call-expression": "^7.18.6",
+        "@babel/helper-replace-supers": "^7.21.5",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0",
+        "@babel/helper-split-export-declaration": "^7.18.6",
+        "semver": "^6.3.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/@babel/helper-create-regexp-features-plugin": {
+      "version": "7.21.8",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.8.tgz",
+      "integrity": "sha512-zGuSdedkFtsFHGbexAvNuipg1hbtitDLo2XE8/uf6Y9sOQV1xsYX/2pNbtedp/X0eU1pIt+kGvaqHCowkRbS5g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-annotate-as-pure": "^7.18.6",
+        "regexpu-core": "^5.3.1",
+        "semver": "^6.3.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/@babel/helper-define-polyfill-provider": {
+      "version": "0.3.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz",
+      "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-compilation-targets": "^7.17.7",
+        "@babel/helper-plugin-utils": "^7.16.7",
+        "debug": "^4.1.1",
+        "lodash.debounce": "^4.0.8",
+        "resolve": "^1.14.2",
+        "semver": "^6.1.2"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.4.0-0"
+      }
+    },
+    "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/@babel/helper-environment-visitor": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz",
+      "integrity": "sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==",
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-function-name": {
+      "version": "7.21.0",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz",
+      "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==",
+      "dependencies": {
+        "@babel/template": "^7.20.7",
+        "@babel/types": "^7.21.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-hoist-variables": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
+      "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
+      "dependencies": {
+        "@babel/types": "^7.18.6"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-member-expression-to-functions": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.5.tgz",
+      "integrity": "sha512-nIcGfgwpH2u4n9GG1HpStW5Ogx7x7ekiFHbjjFRKXbn5zUvqO9ZgotCO4x1aNbKn/x/xOUaXEhyNHCwtFCpxWg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.21.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-module-imports": {
+      "version": "7.21.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz",
+      "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==",
+      "dependencies": {
+        "@babel/types": "^7.21.4"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-module-transforms": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz",
+      "integrity": "sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==",
+      "dependencies": {
+        "@babel/helper-environment-visitor": "^7.21.5",
+        "@babel/helper-module-imports": "^7.21.4",
+        "@babel/helper-simple-access": "^7.21.5",
+        "@babel/helper-split-export-declaration": "^7.18.6",
+        "@babel/helper-validator-identifier": "^7.19.1",
+        "@babel/template": "^7.20.7",
+        "@babel/traverse": "^7.21.5",
+        "@babel/types": "^7.21.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-optimise-call-expression": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz",
+      "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.18.6"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-plugin-utils": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz",
+      "integrity": "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==",
+      "dev": true,
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-remap-async-to-generator": {
+      "version": "7.18.9",
+      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz",
+      "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-annotate-as-pure": "^7.18.6",
+        "@babel/helper-environment-visitor": "^7.18.9",
+        "@babel/helper-wrap-function": "^7.18.9",
+        "@babel/types": "^7.18.9"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/helper-replace-supers": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.21.5.tgz",
+      "integrity": "sha512-/y7vBgsr9Idu4M6MprbOVUfH3vs7tsIfnVWv/Ml2xgwvyH6LTngdfbf5AdsKwkJy4zgy1X/kuNrEKvhhK28Yrg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-environment-visitor": "^7.21.5",
+        "@babel/helper-member-expression-to-functions": "^7.21.5",
+        "@babel/helper-optimise-call-expression": "^7.18.6",
+        "@babel/template": "^7.20.7",
+        "@babel/traverse": "^7.21.5",
+        "@babel/types": "^7.21.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-simple-access": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz",
+      "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==",
+      "dependencies": {
+        "@babel/types": "^7.21.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
+      "version": "7.20.0",
+      "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz",
+      "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.20.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-split-export-declaration": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
+      "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
+      "dependencies": {
+        "@babel/types": "^7.18.6"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-string-parser": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz",
+      "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==",
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-validator-identifier": {
+      "version": "7.19.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
+      "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-validator-option": {
+      "version": "7.21.0",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz",
+      "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==",
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-wrap-function": {
+      "version": "7.20.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz",
+      "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-function-name": "^7.19.0",
+        "@babel/template": "^7.18.10",
+        "@babel/traverse": "^7.20.5",
+        "@babel/types": "^7.20.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helpers": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz",
+      "integrity": "sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==",
+      "dependencies": {
+        "@babel/template": "^7.20.7",
+        "@babel/traverse": "^7.21.5",
+        "@babel/types": "^7.21.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/highlight": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
+      "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
+      "dependencies": {
+        "@babel/helper-validator-identifier": "^7.18.6",
+        "chalk": "^2.0.0",
+        "js-tokens": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/parser": {
+      "version": "7.21.8",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz",
+      "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==",
+      "bin": {
+        "parser": "bin/babel-parser.js"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz",
+      "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.18.6"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
+      "version": "7.20.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz",
+      "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0",
+        "@babel/plugin-proposal-optional-chaining": "^7.20.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.13.0"
+      }
+    },
+    "node_modules/@babel/plugin-proposal-async-generator-functions": {
+      "version": "7.20.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz",
+      "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-environment-visitor": "^7.18.9",
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "@babel/helper-remap-async-to-generator": "^7.18.9",
+        "@babel/plugin-syntax-async-generators": "^7.8.4"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-proposal-class-properties": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz",
+      "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-create-class-features-plugin": "^7.18.6",
+        "@babel/helper-plugin-utils": "^7.18.6"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-proposal-class-static-block": {
+      "version": "7.21.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz",
+      "integrity": "sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-create-class-features-plugin": "^7.21.0",
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "@babel/plugin-syntax-class-static-block": "^7.14.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.12.0"
+      }
+    },
+    "node_modules/@babel/plugin-proposal-dynamic-import": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz",
+      "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.18.6",
+        "@babel/plugin-syntax-dynamic-import": "^7.8.3"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-proposal-export-namespace-from": {
+      "version": "7.18.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz",
+      "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.18.9",
+        "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-proposal-json-strings": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz",
+      "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.18.6",
+        "@babel/plugin-syntax-json-strings": "^7.8.3"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-proposal-logical-assignment-operators": {
+      "version": "7.20.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz",
+      "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz",
+      "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.18.6",
+        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-proposal-numeric-separator": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz",
+      "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.18.6",
+        "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-proposal-object-rest-spread": {
+      "version": "7.20.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz",
+      "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/compat-data": "^7.20.5",
+        "@babel/helper-compilation-targets": "^7.20.7",
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+        "@babel/plugin-transform-parameters": "^7.20.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-proposal-optional-catch-binding": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz",
+      "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.18.6",
+        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-proposal-optional-chaining": {
+      "version": "7.21.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz",
+      "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0",
+        "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-proposal-private-methods": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz",
+      "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-create-class-features-plugin": "^7.18.6",
+        "@babel/helper-plugin-utils": "^7.18.6"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-proposal-private-property-in-object": {
+      "version": "7.21.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz",
+      "integrity": "sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-annotate-as-pure": "^7.18.6",
+        "@babel/helper-create-class-features-plugin": "^7.21.0",
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-proposal-unicode-property-regex": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz",
+      "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+        "@babel/helper-plugin-utils": "^7.18.6"
+      },
+      "engines": {
+        "node": ">=4"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-async-generators": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+      "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-class-properties": {
+      "version": "7.12.13",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
+      "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.12.13"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-class-static-block": {
+      "version": "7.14.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
+      "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.14.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-dynamic-import": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
+      "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-export-namespace-from": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
+      "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-import-assertions": {
+      "version": "7.20.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz",
+      "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.19.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-json-strings": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+      "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
+      "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.10.4"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+      "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-numeric-separator": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
+      "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.10.4"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-object-rest-spread": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+      "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-optional-catch-binding": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+      "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-optional-chaining": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+      "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-private-property-in-object": {
+      "version": "7.14.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
+      "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.14.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-top-level-await": {
+      "version": "7.14.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
+      "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.14.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-arrow-functions": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.21.5.tgz",
+      "integrity": "sha512-wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.21.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-async-to-generator": {
+      "version": "7.20.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz",
+      "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-module-imports": "^7.18.6",
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "@babel/helper-remap-async-to-generator": "^7.18.9"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-block-scoped-functions": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz",
+      "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.18.6"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-block-scoping": {
+      "version": "7.21.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz",
+      "integrity": "sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.20.2"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-classes": {
+      "version": "7.21.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz",
+      "integrity": "sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-annotate-as-pure": "^7.18.6",
+        "@babel/helper-compilation-targets": "^7.20.7",
+        "@babel/helper-environment-visitor": "^7.18.9",
+        "@babel/helper-function-name": "^7.21.0",
+        "@babel/helper-optimise-call-expression": "^7.18.6",
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "@babel/helper-replace-supers": "^7.20.7",
+        "@babel/helper-split-export-declaration": "^7.18.6",
+        "globals": "^11.1.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-computed-properties": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.21.5.tgz",
+      "integrity": "sha512-TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.21.5",
+        "@babel/template": "^7.20.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-destructuring": {
+      "version": "7.21.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz",
+      "integrity": "sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.20.2"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-dotall-regex": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz",
+      "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+        "@babel/helper-plugin-utils": "^7.18.6"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-duplicate-keys": {
+      "version": "7.18.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz",
+      "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.18.9"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-exponentiation-operator": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz",
+      "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6",
+        "@babel/helper-plugin-utils": "^7.18.6"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-for-of": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.5.tgz",
+      "integrity": "sha512-nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.21.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-function-name": {
+      "version": "7.18.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz",
+      "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-compilation-targets": "^7.18.9",
+        "@babel/helper-function-name": "^7.18.9",
+        "@babel/helper-plugin-utils": "^7.18.9"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-literals": {
+      "version": "7.18.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz",
+      "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.18.9"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-member-expression-literals": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz",
+      "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.18.6"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-amd": {
+      "version": "7.20.11",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz",
+      "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-module-transforms": "^7.20.11",
+        "@babel/helper-plugin-utils": "^7.20.2"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-commonjs": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.5.tgz",
+      "integrity": "sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-module-transforms": "^7.21.5",
+        "@babel/helper-plugin-utils": "^7.21.5",
+        "@babel/helper-simple-access": "^7.21.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-systemjs": {
+      "version": "7.20.11",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz",
+      "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-hoist-variables": "^7.18.6",
+        "@babel/helper-module-transforms": "^7.20.11",
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "@babel/helper-validator-identifier": "^7.19.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-umd": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz",
+      "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-module-transforms": "^7.18.6",
+        "@babel/helper-plugin-utils": "^7.18.6"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
+      "version": "7.20.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz",
+      "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-create-regexp-features-plugin": "^7.20.5",
+        "@babel/helper-plugin-utils": "^7.20.2"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-new-target": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz",
+      "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.18.6"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-object-super": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz",
+      "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.18.6",
+        "@babel/helper-replace-supers": "^7.18.6"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-parameters": {
+      "version": "7.21.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz",
+      "integrity": "sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.20.2"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-property-literals": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz",
+      "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.18.6"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-regenerator": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.21.5.tgz",
+      "integrity": "sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.21.5",
+        "regenerator-transform": "^0.15.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-reserved-words": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz",
+      "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.18.6"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-runtime": {
+      "version": "7.21.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.4.tgz",
+      "integrity": "sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-module-imports": "^7.21.4",
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "babel-plugin-polyfill-corejs2": "^0.3.3",
+        "babel-plugin-polyfill-corejs3": "^0.6.0",
+        "babel-plugin-polyfill-regenerator": "^0.4.1",
+        "semver": "^6.3.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-runtime/node_modules/semver": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/@babel/plugin-transform-shorthand-properties": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz",
+      "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.18.6"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-spread": {
+      "version": "7.20.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz",
+      "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-sticky-regex": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz",
+      "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.18.6"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-template-literals": {
+      "version": "7.18.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz",
+      "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.18.9"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-typeof-symbol": {
+      "version": "7.18.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz",
+      "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.18.9"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-unicode-escapes": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.21.5.tgz",
+      "integrity": "sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.21.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-unicode-regex": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz",
+      "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+        "@babel/helper-plugin-utils": "^7.18.6"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/preset-env": {
+      "version": "7.21.4",
+      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.21.4.tgz",
+      "integrity": "sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/compat-data": "^7.21.4",
+        "@babel/helper-compilation-targets": "^7.21.4",
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "@babel/helper-validator-option": "^7.21.0",
+        "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6",
+        "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.20.7",
+        "@babel/plugin-proposal-async-generator-functions": "^7.20.7",
+        "@babel/plugin-proposal-class-properties": "^7.18.6",
+        "@babel/plugin-proposal-class-static-block": "^7.21.0",
+        "@babel/plugin-proposal-dynamic-import": "^7.18.6",
+        "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
+        "@babel/plugin-proposal-json-strings": "^7.18.6",
+        "@babel/plugin-proposal-logical-assignment-operators": "^7.20.7",
+        "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
+        "@babel/plugin-proposal-numeric-separator": "^7.18.6",
+        "@babel/plugin-proposal-object-rest-spread": "^7.20.7",
+        "@babel/plugin-proposal-optional-catch-binding": "^7.18.6",
+        "@babel/plugin-proposal-optional-chaining": "^7.21.0",
+        "@babel/plugin-proposal-private-methods": "^7.18.6",
+        "@babel/plugin-proposal-private-property-in-object": "^7.21.0",
+        "@babel/plugin-proposal-unicode-property-regex": "^7.18.6",
+        "@babel/plugin-syntax-async-generators": "^7.8.4",
+        "@babel/plugin-syntax-class-properties": "^7.12.13",
+        "@babel/plugin-syntax-class-static-block": "^7.14.5",
+        "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+        "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
+        "@babel/plugin-syntax-import-assertions": "^7.20.0",
+        "@babel/plugin-syntax-json-strings": "^7.8.3",
+        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
+        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+        "@babel/plugin-syntax-numeric-separator": "^7.10.4",
+        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+        "@babel/plugin-syntax-optional-chaining": "^7.8.3",
+        "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
+        "@babel/plugin-syntax-top-level-await": "^7.14.5",
+        "@babel/plugin-transform-arrow-functions": "^7.20.7",
+        "@babel/plugin-transform-async-to-generator": "^7.20.7",
+        "@babel/plugin-transform-block-scoped-functions": "^7.18.6",
+        "@babel/plugin-transform-block-scoping": "^7.21.0",
+        "@babel/plugin-transform-classes": "^7.21.0",
+        "@babel/plugin-transform-computed-properties": "^7.20.7",
+        "@babel/plugin-transform-destructuring": "^7.21.3",
+        "@babel/plugin-transform-dotall-regex": "^7.18.6",
+        "@babel/plugin-transform-duplicate-keys": "^7.18.9",
+        "@babel/plugin-transform-exponentiation-operator": "^7.18.6",
+        "@babel/plugin-transform-for-of": "^7.21.0",
+        "@babel/plugin-transform-function-name": "^7.18.9",
+        "@babel/plugin-transform-literals": "^7.18.9",
+        "@babel/plugin-transform-member-expression-literals": "^7.18.6",
+        "@babel/plugin-transform-modules-amd": "^7.20.11",
+        "@babel/plugin-transform-modules-commonjs": "^7.21.2",
+        "@babel/plugin-transform-modules-systemjs": "^7.20.11",
+        "@babel/plugin-transform-modules-umd": "^7.18.6",
+        "@babel/plugin-transform-named-capturing-groups-regex": "^7.20.5",
+        "@babel/plugin-transform-new-target": "^7.18.6",
+        "@babel/plugin-transform-object-super": "^7.18.6",
+        "@babel/plugin-transform-parameters": "^7.21.3",
+        "@babel/plugin-transform-property-literals": "^7.18.6",
+        "@babel/plugin-transform-regenerator": "^7.20.5",
+        "@babel/plugin-transform-reserved-words": "^7.18.6",
+        "@babel/plugin-transform-shorthand-properties": "^7.18.6",
+        "@babel/plugin-transform-spread": "^7.20.7",
+        "@babel/plugin-transform-sticky-regex": "^7.18.6",
+        "@babel/plugin-transform-template-literals": "^7.18.9",
+        "@babel/plugin-transform-typeof-symbol": "^7.18.9",
+        "@babel/plugin-transform-unicode-escapes": "^7.18.10",
+        "@babel/plugin-transform-unicode-regex": "^7.18.6",
+        "@babel/preset-modules": "^0.1.5",
+        "@babel/types": "^7.21.4",
+        "babel-plugin-polyfill-corejs2": "^0.3.3",
+        "babel-plugin-polyfill-corejs3": "^0.6.0",
+        "babel-plugin-polyfill-regenerator": "^0.4.1",
+        "core-js-compat": "^3.25.1",
+        "semver": "^6.3.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/semver": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/@babel/preset-modules": {
+      "version": "0.1.5",
+      "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz",
+      "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.0.0",
+        "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
+        "@babel/plugin-transform-dotall-regex": "^7.4.4",
+        "@babel/types": "^7.4.4",
+        "esutils": "^2.0.2"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/regjsgen": {
+      "version": "0.8.0",
+      "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz",
+      "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==",
+      "dev": true
+    },
+    "node_modules/@babel/runtime": {
+      "version": "7.21.0",
+      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz",
+      "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==",
+      "dependencies": {
+        "regenerator-runtime": "^0.13.11"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/template": {
+      "version": "7.20.7",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz",
+      "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==",
+      "dependencies": {
+        "@babel/code-frame": "^7.18.6",
+        "@babel/parser": "^7.20.7",
+        "@babel/types": "^7.20.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/traverse": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz",
+      "integrity": "sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==",
+      "dependencies": {
+        "@babel/code-frame": "^7.21.4",
+        "@babel/generator": "^7.21.5",
+        "@babel/helper-environment-visitor": "^7.21.5",
+        "@babel/helper-function-name": "^7.21.0",
+        "@babel/helper-hoist-variables": "^7.18.6",
+        "@babel/helper-split-export-declaration": "^7.18.6",
+        "@babel/parser": "^7.21.5",
+        "@babel/types": "^7.21.5",
+        "debug": "^4.1.0",
+        "globals": "^11.1.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/traverse/node_modules/@babel/generator": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.5.tgz",
+      "integrity": "sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==",
+      "dependencies": {
+        "@babel/types": "^7.21.5",
+        "@jridgewell/gen-mapping": "^0.3.2",
+        "@jridgewell/trace-mapping": "^0.3.17",
+        "jsesc": "^2.5.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/types": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz",
+      "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==",
+      "dependencies": {
+        "@babel/helper-string-parser": "^7.21.5",
+        "@babel/helper-validator-identifier": "^7.19.1",
+        "to-fast-properties": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@braintree/sanitize-url": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.2.tgz",
+      "integrity": "sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg==",
+      "optional": true
+    },
+    "node_modules/@colors/colors": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
+      "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "engines": {
+        "node": ">=0.1.90"
+      }
+    },
+    "node_modules/@cspotcode/source-map-support": {
+      "version": "0.8.1",
+      "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
+      "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
+      "dev": true,
+      "dependencies": {
+        "@jridgewell/trace-mapping": "0.3.9"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": {
+      "version": "0.3.9",
+      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
+      "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
+      "dev": true,
+      "dependencies": {
+        "@jridgewell/resolve-uri": "^3.0.3",
+        "@jridgewell/sourcemap-codec": "^1.4.10"
+      }
+    },
+    "node_modules/@ctrl/tinycolor": {
+      "version": "3.6.1",
+      "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz",
+      "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==",
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@discoveryjs/json-ext": {
+      "version": "0.5.7",
+      "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
+      "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
+      "dev": true,
+      "engines": {
+        "node": ">=10.0.0"
+      }
+    },
+    "node_modules/@esbuild/android-arm": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.18.tgz",
+      "integrity": "sha512-EmwL+vUBZJ7mhFCs5lA4ZimpUH3WMAoqvOIYhVQwdIgSpHC8ImHdsRyhHAVxpDYUSm0lWvd63z0XH1IlImS2Qw==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/android-arm64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.18.tgz",
+      "integrity": "sha512-/iq0aK0eeHgSC3z55ucMAHO05OIqmQehiGay8eP5l/5l+iEr4EIbh4/MI8xD9qRFjqzgkc0JkX0LculNC9mXBw==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/android-x64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.18.tgz",
+      "integrity": "sha512-x+0efYNBF3NPW2Xc5bFOSFW7tTXdAcpfEg2nXmxegm4mJuVeS+i109m/7HMiOQ6M12aVGGFlqJX3RhNdYM2lWg==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/darwin-arm64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.18.tgz",
+      "integrity": "sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/darwin-x64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.18.tgz",
+      "integrity": "sha512-Qq84ykvLvya3dO49wVC9FFCNUfSrQJLbxhoQk/TE1r6MjHo3sFF2tlJCwMjhkBVq3/ahUisj7+EpRSz0/+8+9A==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/freebsd-arm64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.18.tgz",
+      "integrity": "sha512-fw/ZfxfAzuHfaQeMDhbzxp9mc+mHn1Y94VDHFHjGvt2Uxl10mT4CDavHm+/L9KG441t1QdABqkVYwakMUeyLRA==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/freebsd-x64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.18.tgz",
+      "integrity": "sha512-FQFbRtTaEi8ZBi/A6kxOC0V0E9B/97vPdYjY9NdawyLd4Qk5VD5g2pbWN2VR1c0xhzcJm74HWpObPszWC+qTew==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/linux-arm": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.18.tgz",
+      "integrity": "sha512-jW+UCM40LzHcouIaqv3e/oRs0JM76JfhHjCavPxMUti7VAPh8CaGSlS7cmyrdpzSk7A+8f0hiedHqr/LMnfijg==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/linux-arm64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.18.tgz",
+      "integrity": "sha512-R7pZvQZFOY2sxUG8P6A21eq6q+eBv7JPQYIybHVf1XkQYC+lT7nDBdC7wWKTrbvMXKRaGudp/dzZCwL/863mZQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/linux-ia32": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.18.tgz",
+      "integrity": "sha512-ygIMc3I7wxgXIxk6j3V00VlABIjq260i967Cp9BNAk5pOOpIXmd1RFQJQX9Io7KRsthDrQYrtcx7QCof4o3ZoQ==",
+      "cpu": [
+        "ia32"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/linux-loong64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.18.tgz",
+      "integrity": "sha512-bvPG+MyFs5ZlwYclCG1D744oHk1Pv7j8psF5TfYx7otCVmcJsEXgFEhQkbhNW8otDHL1a2KDINW20cfCgnzgMQ==",
+      "cpu": [
+        "loong64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/linux-mips64el": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.18.tgz",
+      "integrity": "sha512-oVqckATOAGuiUOa6wr8TXaVPSa+6IwVJrGidmNZS1cZVx0HqkTMkqFGD2HIx9H1RvOwFeWYdaYbdY6B89KUMxA==",
+      "cpu": [
+        "mips64el"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/linux-ppc64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.18.tgz",
+      "integrity": "sha512-3dLlQO+b/LnQNxgH4l9rqa2/IwRJVN9u/bK63FhOPB4xqiRqlQAU0qDU3JJuf0BmaH0yytTBdoSBHrb2jqc5qQ==",
+      "cpu": [
+        "ppc64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/linux-riscv64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.18.tgz",
+      "integrity": "sha512-/x7leOyDPjZV3TcsdfrSI107zItVnsX1q2nho7hbbQoKnmoeUWjs+08rKKt4AUXju7+3aRZSsKrJtaRmsdL1xA==",
+      "cpu": [
+        "riscv64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/linux-s390x": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.18.tgz",
+      "integrity": "sha512-cX0I8Q9xQkL/6F5zWdYmVf5JSQt+ZfZD2bJudZrWD+4mnUvoZ3TDDXtDX2mUaq6upMFv9FlfIh4Gfun0tbGzuw==",
+      "cpu": [
+        "s390x"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/linux-x64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.18.tgz",
+      "integrity": "sha512-66RmRsPlYy4jFl0vG80GcNRdirx4nVWAzJmXkevgphP1qf4dsLQCpSKGM3DUQCojwU1hnepI63gNZdrr02wHUA==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/netbsd-x64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.18.tgz",
+      "integrity": "sha512-95IRY7mI2yrkLlTLb1gpDxdC5WLC5mZDi+kA9dmM5XAGxCME0F8i4bYH4jZreaJ6lIZ0B8hTrweqG1fUyW7jbg==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "netbsd"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/openbsd-x64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.18.tgz",
+      "integrity": "sha512-WevVOgcng+8hSZ4Q3BKL3n1xTv5H6Nb53cBrtzzEjDbbnOmucEVcZeGCsCOi9bAOcDYEeBZbD2SJNBxlfP3qiA==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "openbsd"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/sunos-x64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.18.tgz",
+      "integrity": "sha512-Rzf4QfQagnwhQXVBS3BYUlxmEbcV7MY+BH5vfDZekU5eYpcffHSyjU8T0xucKVuOcdCsMo+Ur5wmgQJH2GfNrg==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "sunos"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/win32-arm64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.18.tgz",
+      "integrity": "sha512-Kb3Ko/KKaWhjeAm2YoT/cNZaHaD1Yk/pa3FTsmqo9uFh1D1Rfco7BBLIPdDOozrObj2sahslFuAQGvWbgWldAg==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/win32-ia32": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.18.tgz",
+      "integrity": "sha512-0/xUMIdkVHwkvxfbd5+lfG7mHOf2FRrxNbPiKWg9C4fFrB8H0guClmaM3BFiRUYrznVoyxTIyC/Ou2B7QQSwmw==",
+      "cpu": [
+        "ia32"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/win32-x64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.18.tgz",
+      "integrity": "sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@eslint-community/eslint-utils": {
+      "version": "4.4.0",
+      "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
+      "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+      "dev": true,
+      "dependencies": {
+        "eslint-visitor-keys": "^3.3.0"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "peerDependencies": {
+        "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+      }
+    },
+    "node_modules/@eslint-community/regexpp": {
+      "version": "4.5.1",
+      "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz",
+      "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==",
+      "dev": true,
+      "engines": {
+        "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+      }
+    },
+    "node_modules/@eslint/eslintrc": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz",
+      "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==",
+      "dev": true,
+      "dependencies": {
+        "ajv": "^6.12.4",
+        "debug": "^4.3.2",
+        "espree": "^9.5.2",
+        "globals": "^13.19.0",
+        "ignore": "^5.2.0",
+        "import-fresh": "^3.2.1",
+        "js-yaml": "^4.1.0",
+        "minimatch": "^3.1.2",
+        "strip-json-comments": "^3.1.1"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/eslint"
+      }
+    },
+    "node_modules/@eslint/eslintrc/node_modules/ajv": {
+      "version": "6.12.6",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+      "dev": true,
+      "dependencies": {
+        "fast-deep-equal": "^3.1.1",
+        "fast-json-stable-stringify": "^2.0.0",
+        "json-schema-traverse": "^0.4.1",
+        "uri-js": "^4.2.2"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/epoberezkin"
+      }
+    },
+    "node_modules/@eslint/eslintrc/node_modules/argparse": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+      "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+      "dev": true
+    },
+    "node_modules/@eslint/eslintrc/node_modules/globals": {
+      "version": "13.20.0",
+      "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz",
+      "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
+      "dev": true,
+      "dependencies": {
+        "type-fest": "^0.20.2"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/@eslint/eslintrc/node_modules/js-yaml": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+      "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+      "dev": true,
+      "dependencies": {
+        "argparse": "^2.0.1"
+      },
+      "bin": {
+        "js-yaml": "bin/js-yaml.js"
+      }
+    },
+    "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+      "dev": true
+    },
+    "node_modules/@eslint/eslintrc/node_modules/minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^1.1.7"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/@eslint/eslintrc/node_modules/type-fest": {
+      "version": "0.20.2",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+      "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/@eslint/js": {
+      "version": "8.40.0",
+      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.40.0.tgz",
+      "integrity": "sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA==",
+      "dev": true,
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      }
+    },
+    "node_modules/@fortawesome/angular-fontawesome": {
+      "version": "0.13.0",
+      "resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.13.0.tgz",
+      "integrity": "sha512-gzSPRdveOXNO7NIiMgTyB46aiHG0i98KinnAEqHXi8qzraM/kCcHn/0y3f4MhemX6kftwsFli0IU8RyHmtXlSQ==",
+      "dependencies": {
+        "tslib": "^2.4.1"
+      },
+      "peerDependencies": {
+        "@angular/core": "^16.0.0",
+        "@fortawesome/fontawesome-svg-core": "~1.2.27 || ~1.3.0-beta2 || ^6.1.0"
+      }
+    },
+    "node_modules/@fortawesome/fontawesome-common-types": {
+      "version": "6.4.0",
+      "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.4.0.tgz",
+      "integrity": "sha512-HNii132xfomg5QVZw0HwXXpN22s7VBHQBv9CeOu9tfJnhsWQNd2lmTNi8CSrnw5B+5YOmzu1UoPAyxaXsJ6RgQ==",
+      "hasInstallScript": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/@fortawesome/fontawesome-svg-core": {
+      "version": "6.4.0",
+      "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.4.0.tgz",
+      "integrity": "sha512-Bertv8xOiVELz5raB2FlXDPKt+m94MQ3JgDfsVbrqNpLU9+UE2E18GKjLKw+d3XbeYPqg1pzyQKGsrzbw+pPaw==",
+      "hasInstallScript": true,
+      "dependencies": {
+        "@fortawesome/fontawesome-common-types": "6.4.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/@fortawesome/free-brands-svg-icons": {
+      "version": "6.4.0",
+      "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.4.0.tgz",
+      "integrity": "sha512-qvxTCo0FQ5k2N+VCXb/PZQ+QMhqRVM4OORiO6MXdG6bKolIojGU/srQ1ptvKk0JTbRgaJOfL2qMqGvBEZG7Z6g==",
+      "hasInstallScript": true,
+      "dependencies": {
+        "@fortawesome/fontawesome-common-types": "6.4.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/@fortawesome/free-regular-svg-icons": {
+      "version": "6.4.0",
+      "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.4.0.tgz",
+      "integrity": "sha512-ZfycI7D0KWPZtf7wtMFnQxs8qjBXArRzczABuMQqecA/nXohquJ5J/RCR77PmY5qGWkxAZDxpnUFVXKwtY/jPw==",
+      "hasInstallScript": true,
+      "dependencies": {
+        "@fortawesome/fontawesome-common-types": "6.4.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/@fortawesome/free-solid-svg-icons": {
+      "version": "6.4.0",
+      "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.4.0.tgz",
+      "integrity": "sha512-kutPeRGWm8V5dltFP1zGjQOEAzaLZj4StdQhWVZnfGFCvAPVvHh8qk5bRrU4KXnRRRNni5tKQI9PBAdI6MP8nQ==",
+      "hasInstallScript": true,
+      "dependencies": {
+        "@fortawesome/fontawesome-common-types": "6.4.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/@fullhuman/postcss-purgecss": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-5.0.0.tgz",
+      "integrity": "sha512-onDS/b/2pMRzqSoj4qOs2tYFmOpaspjTAgvACIHMPiicu1ptajiBruTrjBzTKdxWdX0ldaBb7wj8nEaTLyFkJw==",
+      "dev": true,
+      "dependencies": {
+        "purgecss": "^5.0.0"
+      },
+      "peerDependencies": {
+        "postcss": "^8.0.0"
+      }
+    },
+    "node_modules/@gar/promisify": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
+      "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
+      "dev": true
+    },
+    "node_modules/@humanwhocodes/config-array": {
+      "version": "0.11.8",
+      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
+      "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==",
+      "dev": true,
+      "dependencies": {
+        "@humanwhocodes/object-schema": "^1.2.1",
+        "debug": "^4.1.1",
+        "minimatch": "^3.0.5"
+      },
+      "engines": {
+        "node": ">=10.10.0"
+      }
+    },
+    "node_modules/@humanwhocodes/module-importer": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+      "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+      "dev": true,
+      "engines": {
+        "node": ">=12.22"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/nzakas"
+      }
+    },
+    "node_modules/@humanwhocodes/object-schema": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
+      "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
+      "dev": true
+    },
+    "node_modules/@isaacs/cliui": {
+      "version": "8.0.2",
+      "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
+      "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
+      "dev": true,
+      "dependencies": {
+        "string-width": "^5.1.2",
+        "string-width-cjs": "npm:string-width@^4.2.0",
+        "strip-ansi": "^7.0.1",
+        "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+        "wrap-ansi": "^8.1.0",
+        "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@isaacs/cliui/node_modules/ansi-regex": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+      "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+      }
+    },
+    "node_modules/@isaacs/cliui/node_modules/ansi-styles": {
+      "version": "6.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+      "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/@isaacs/cliui/node_modules/emoji-regex": {
+      "version": "9.2.2",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+      "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+      "dev": true
+    },
+    "node_modules/@isaacs/cliui/node_modules/string-width": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+      "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+      "dev": true,
+      "dependencies": {
+        "eastasianwidth": "^0.2.0",
+        "emoji-regex": "^9.2.2",
+        "strip-ansi": "^7.0.1"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz",
+      "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+      }
+    },
+    "node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+      "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^6.1.0",
+        "string-width": "^5.0.1",
+        "strip-ansi": "^7.0.1"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+      }
+    },
+    "node_modules/@istanbuljs/load-nyc-config": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
+      "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
+      "dev": true,
+      "dependencies": {
+        "camelcase": "^5.3.1",
+        "find-up": "^4.1.0",
+        "get-package-type": "^0.1.0",
+        "js-yaml": "^3.13.1",
+        "resolve-from": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+      "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@istanbuljs/schema": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
+      "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@jridgewell/gen-mapping": {
+      "version": "0.3.3",
+      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
+      "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
+      "dependencies": {
+        "@jridgewell/set-array": "^1.0.1",
+        "@jridgewell/sourcemap-codec": "^1.4.10",
+        "@jridgewell/trace-mapping": "^0.3.9"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@jridgewell/resolve-uri": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
+      "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@jridgewell/set-array": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
+      "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@jridgewell/source-map": {
+      "version": "0.3.3",
+      "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz",
+      "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==",
+      "dev": true,
+      "dependencies": {
+        "@jridgewell/gen-mapping": "^0.3.0",
+        "@jridgewell/trace-mapping": "^0.3.9"
+      }
+    },
+    "node_modules/@jridgewell/sourcemap-codec": {
+      "version": "1.4.14",
+      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
+      "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
+    },
+    "node_modules/@jridgewell/trace-mapping": {
+      "version": "0.3.18",
+      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz",
+      "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==",
+      "dependencies": {
+        "@jridgewell/resolve-uri": "3.1.0",
+        "@jridgewell/sourcemap-codec": "1.4.14"
+      }
+    },
+    "node_modules/@leichtgewicht/ip-codec": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz",
+      "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==",
+      "dev": true
+    },
+    "node_modules/@ngtools/webpack": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.0.1.tgz",
+      "integrity": "sha512-CZHFPMiJuOe241kO1VSSPOQ5Z9hWWkY7eSs3hnS50Ntgd4YzlHAydqexmEFpXD2YLOFjdbNETCyJ2BQTM4Kwtw==",
+      "dev": true,
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0",
+        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+        "yarn": ">= 1.13.0"
+      },
+      "peerDependencies": {
+        "@angular/compiler-cli": "^16.0.0",
+        "typescript": ">=4.9.3 <5.1",
+        "webpack": "^5.54.0"
+      }
+    },
+    "node_modules/@nodelib/fs.scandir": {
+      "version": "2.1.5",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+      "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+      "dev": true,
+      "dependencies": {
+        "@nodelib/fs.stat": "2.0.5",
+        "run-parallel": "^1.1.9"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/@nodelib/fs.stat": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+      "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+      "dev": true,
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/@nodelib/fs.walk": {
+      "version": "1.2.8",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+      "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+      "dev": true,
+      "dependencies": {
+        "@nodelib/fs.scandir": "2.1.5",
+        "fastq": "^1.6.0"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/@npmcli/fs": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz",
+      "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==",
+      "dev": true,
+      "dependencies": {
+        "semver": "^7.3.5"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@npmcli/git": {
+      "version": "4.0.4",
+      "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.0.4.tgz",
+      "integrity": "sha512-5yZghx+u5M47LghaybLCkdSyFzV/w4OuH12d96HO389Ik9CDsLaDZJVynSGGVJOLn6gy/k7Dz5XYcplM3uxXRg==",
+      "dev": true,
+      "dependencies": {
+        "@npmcli/promise-spawn": "^6.0.0",
+        "lru-cache": "^7.4.4",
+        "npm-pick-manifest": "^8.0.0",
+        "proc-log": "^3.0.0",
+        "promise-inflight": "^1.0.1",
+        "promise-retry": "^2.0.1",
+        "semver": "^7.3.5",
+        "which": "^3.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@npmcli/git/node_modules/lru-cache": {
+      "version": "7.18.3",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+      "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@npmcli/git/node_modules/which": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz",
+      "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==",
+      "dev": true,
+      "dependencies": {
+        "isexe": "^2.0.0"
+      },
+      "bin": {
+        "node-which": "bin/which.js"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@npmcli/installed-package-contents": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz",
+      "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==",
+      "dev": true,
+      "dependencies": {
+        "npm-bundled": "^3.0.0",
+        "npm-normalize-package-bin": "^3.0.0"
+      },
+      "bin": {
+        "installed-package-contents": "lib/index.js"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@npmcli/move-file": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz",
+      "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==",
+      "deprecated": "This functionality has been moved to @npmcli/fs",
+      "dev": true,
+      "dependencies": {
+        "mkdirp": "^1.0.4",
+        "rimraf": "^3.0.2"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+      }
+    },
+    "node_modules/@npmcli/node-gyp": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz",
+      "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==",
+      "dev": true,
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@npmcli/promise-spawn": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz",
+      "integrity": "sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==",
+      "dev": true,
+      "dependencies": {
+        "which": "^3.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@npmcli/promise-spawn/node_modules/which": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz",
+      "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==",
+      "dev": true,
+      "dependencies": {
+        "isexe": "^2.0.0"
+      },
+      "bin": {
+        "node-which": "bin/which.js"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@npmcli/run-script": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.2.tgz",
+      "integrity": "sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==",
+      "dev": true,
+      "dependencies": {
+        "@npmcli/node-gyp": "^3.0.0",
+        "@npmcli/promise-spawn": "^6.0.0",
+        "node-gyp": "^9.0.0",
+        "read-package-json-fast": "^3.0.0",
+        "which": "^3.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@npmcli/run-script/node_modules/which": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz",
+      "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==",
+      "dev": true,
+      "dependencies": {
+        "isexe": "^2.0.0"
+      },
+      "bin": {
+        "node-which": "bin/which.js"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@nrwl/devkit": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-16.0.2.tgz",
+      "integrity": "sha512-SAEcImeQHdSTauO05FUn2vVl9/y5Kx1LNCZ4YE+SdY5/QRq18fuo/DCWmjOGG9M8r06vYGsAgMzkiB4soimcyA==",
+      "dev": true,
+      "dependencies": {
+        "@nx/devkit": "16.0.2"
+      }
+    },
+    "node_modules/@nrwl/tao": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-16.0.2.tgz",
+      "integrity": "sha512-wimEe4OTpI7/nDK67RnpZpEXCU+fzA0sDgpIhMgbpPd0vPmKgaZv4nbs8zrm0goFlacmmnLaGRhhGYMOxE+1Lg==",
+      "dev": true,
+      "dependencies": {
+        "nx": "16.0.2"
+      },
+      "bin": {
+        "tao": "index.js"
+      }
+    },
+    "node_modules/@nx/devkit": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-16.0.2.tgz",
+      "integrity": "sha512-BY1Bj0BbAl6XJL0O+QGTWPs/3WMJTEQ+Y4Lfoq4dZM7RllE6rAylr54NA2wa4lsgordZhq1+0g5PVhKKvSVRRw==",
+      "dev": true,
+      "dependencies": {
+        "@nrwl/devkit": "16.0.2",
+        "ejs": "^3.1.7",
+        "ignore": "^5.0.4",
+        "semver": "7.3.4",
+        "tmp": "~0.2.1",
+        "tslib": "^2.3.0"
+      },
+      "peerDependencies": {
+        "nx": ">= 15 <= 17"
+      }
+    },
+    "node_modules/@nx/devkit/node_modules/semver": {
+      "version": "7.3.4",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+      "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^6.0.0"
+      },
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@nx/devkit/node_modules/tmp": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+      "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+      "dev": true,
+      "dependencies": {
+        "rimraf": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8.17.0"
+      }
+    },
+    "node_modules/@nx/nx-darwin-arm64": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-16.0.2.tgz",
+      "integrity": "sha512-nAT8WJ/qKGEvUcoFLHHye1dbwCd7b8CTZJlDF+ZkyCD/UZRHt4eJxy8gvKmxgkZTFb2+PPMQt4UORCUGpZzuoA==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/nx-darwin-x64": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-16.0.2.tgz",
+      "integrity": "sha512-r0rfOrZaOyrwFR5a0UT05xkYRumfkP65cRSZM1TjCA027AG9llYtkLT1hlz8uMKt+P12zrWVzXSqGLDi022ZZg==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/nx-linux-arm-gnueabihf": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-16.0.2.tgz",
+      "integrity": "sha512-TfDQaGvCIDjn9sPg5U1Fr2rsSul/4PIQB59qrLBJRPiCWgpzwO71Il1qwSX68En+JH3lwXr+g5EjcDIEQ8fGYA==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/nx-linux-arm64-gnu": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-16.0.2.tgz",
+      "integrity": "sha512-MICaUp7uz8WVQFXWPrmQaX1o4bdL7f3C7b3MDDf6+Zau6RcyQuw97UEKaYi9OqrV3w8yuPplqoLosFblAgb8uw==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/nx-linux-arm64-musl": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-16.0.2.tgz",
+      "integrity": "sha512-wcBURG+6A2srm+6ujj8SShjwmYWs0eHI5D8vgZr8Bni+lXbKP/IosE9JGXKtRoh27/owyR8PGHhDVzjv46tlFg==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/nx-linux-x64-gnu": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-16.0.2.tgz",
+      "integrity": "sha512-Xyml2gFdVDHUj2g67DKz2aD78x1BciN1ZaaBTCxXL4MHfwR78SZa7mtRtE+1kj5OgVIwupZP50jq7C8GuSn3Hw==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/nx-linux-x64-musl": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-16.0.2.tgz",
+      "integrity": "sha512-j3xdN8I5DlTgW5N5eCquyBZswrrYf6EazUCvnEpeejygwh3N6XN7DlD68Bs0CB4Zmd0tWLfTjNVAtUJSP6g2mA==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/nx-win32-arm64-msvc": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-16.0.2.tgz",
+      "integrity": "sha512-R2pzoW3SUFBbe9C1vifJnXuysPl6kmutQHN2yQ9lwJptzPvMxfDU1FuXmKCGRUGmEwFxk/XPhwDL/ZcbABTrzw==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@nx/nx-win32-x64-msvc": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-16.0.2.tgz",
+      "integrity": "sha512-r4H/SsqfpIJa8QLSpnscgkMnLsnkRYXj8TcILDrf+nJazfEdJZLUvVhN9O85OB7pskv86NuGfnJmJHHXy6QVQg==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@parcel/watcher": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.4.tgz",
+      "integrity": "sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==",
+      "dev": true,
+      "hasInstallScript": true,
+      "dependencies": {
+        "node-addon-api": "^3.2.1",
+        "node-gyp-build": "^4.3.0"
+      },
+      "engines": {
+        "node": ">= 10.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/@pkgjs/parseargs": {
+      "version": "0.11.0",
+      "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
+      "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+      "dev": true,
+      "optional": true,
+      "engines": {
+        "node": ">=14"
+      }
+    },
+    "node_modules/@polka/url": {
+      "version": "1.0.0-next.21",
+      "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz",
+      "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==",
+      "dev": true
+    },
+    "node_modules/@rollup/plugin-json": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.0.0.tgz",
+      "integrity": "sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==",
+      "dev": true,
+      "dependencies": {
+        "@rollup/pluginutils": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      },
+      "peerDependencies": {
+        "rollup": "^1.20.0||^2.0.0||^3.0.0"
+      },
+      "peerDependenciesMeta": {
+        "rollup": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@rollup/plugin-node-resolve": {
+      "version": "15.0.2",
+      "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.2.tgz",
+      "integrity": "sha512-Y35fRGUjC3FaurG722uhUuG8YHOJRJQbI6/CkbRkdPotSpDj9NtIN85z1zrcyDcCQIW4qp5mgG72U+gJ0TAFEg==",
+      "dev": true,
+      "dependencies": {
+        "@rollup/pluginutils": "^5.0.1",
+        "@types/resolve": "1.20.2",
+        "deepmerge": "^4.2.2",
+        "is-builtin-module": "^3.2.1",
+        "is-module": "^1.0.0",
+        "resolve": "^1.22.1"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      },
+      "peerDependencies": {
+        "rollup": "^2.78.0||^3.0.0"
+      },
+      "peerDependenciesMeta": {
+        "rollup": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@rollup/pluginutils": {
+      "version": "5.0.2",
+      "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz",
+      "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==",
+      "dev": true,
+      "dependencies": {
+        "@types/estree": "^1.0.0",
+        "estree-walker": "^2.0.2",
+        "picomatch": "^2.3.1"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      },
+      "peerDependencies": {
+        "rollup": "^1.20.0||^2.0.0||^3.0.0"
+      },
+      "peerDependenciesMeta": {
+        "rollup": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@schematics/angular": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.0.1.tgz",
+      "integrity": "sha512-MNgH/iB3WWxMLFVHJjtXCHZ8YHtfx2e3mX2Ds5P43OTgSnTk6tHabqvwxJ4wzjoyoPUyXWLhHt0diCmVtDTNeQ==",
+      "dev": true,
+      "dependencies": {
+        "@angular-devkit/core": "16.0.1",
+        "@angular-devkit/schematics": "16.0.1",
+        "jsonc-parser": "3.2.0"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0",
+        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+        "yarn": ">= 1.13.0"
+      }
+    },
+    "node_modules/@sigstore/protobuf-specs": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.1.0.tgz",
+      "integrity": "sha512-a31EnjuIDSX8IXBUib3cYLDRlPMU36AWX4xS8ysLaNu4ZzUesDiPt83pgrW2X1YLMe5L2HbDyaKK5BrL4cNKaQ==",
+      "dev": true,
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@socket.io/component-emitter": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
+      "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
+    "node_modules/@tauri-apps/api": {
+      "version": "2.0.0-beta.3",
+      "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.0.0-beta.3.tgz",
+      "integrity": "sha512-gDSJzKpBs6efXw2ZWqjl9QVNImY5GR5qygXqB7JK4y7prcQInxnTj2ARFR0vD4wuzkrUHGrlIKraiJJPHWJ9vg==",
+      "engines": {
+        "node": ">= 18",
+        "npm": ">= 6.6.0",
+        "yarn": ">= 1.19.1"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/tauri"
+      }
+    },
+    "node_modules/@tauri-apps/plugin-cli": {
+      "version": "2.0.0-beta.1",
+      "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-cli/-/plugin-cli-2.0.0-beta.1.tgz",
+      "integrity": "sha512-8VB0RTFi6SrCZvWDiOW+DVhCo7IsBenWfTIF6f8YAU+TnLSOAxpVc2MOM5PimVdKU2hu+mlpjSmPhd9RSCRfAw==",
+      "dependencies": {
+        "@tauri-apps/api": "2.0.0-beta.2"
+      }
+    },
+    "node_modules/@tauri-apps/plugin-cli/node_modules/@tauri-apps/api": {
+      "version": "2.0.0-beta.2",
+      "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.0.0-beta.2.tgz",
+      "integrity": "sha512-4r1r6kgttzIWxJ3HxkZQH+b7EiUtKhdUCPbi0KSalD+2T3j6klw+v8VyxhKwEdjM/eo60NE+J33v1E/Urq8puw==",
+      "engines": {
+        "node": ">= 18",
+        "npm": ">= 6.6.0",
+        "yarn": ">= 1.19.1"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/tauri"
+      }
+    },
+    "node_modules/@tauri-apps/plugin-clipboard-manager": {
+      "version": "2.0.0-alpha.4",
+      "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-clipboard-manager/-/plugin-clipboard-manager-2.0.0-alpha.4.tgz",
+      "integrity": "sha512-/xPQBXuzD8cSh81xkTphIAKxSD2kGsv8deKK+Qoh+89puay1xJjjnxVv5b9IKKn0G8r8HPm+JDEamlKxQbOgnA==",
+      "dependencies": {
+        "@tauri-apps/api": "2.0.0-alpha.12"
+      }
+    },
+    "node_modules/@tauri-apps/plugin-clipboard-manager/node_modules/@tauri-apps/api": {
+      "version": "2.0.0-alpha.12",
+      "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.0.0-alpha.12.tgz",
+      "integrity": "sha512-acpNZQxFgHMHC5qV/IUg4IL/xmypzfxHB4ECkwb58fT48H4zBmklNd5TC0k7BvLUBoSmmgHc4InbYwQai392Yw==",
+      "engines": {
+        "node": ">= 18",
+        "npm": ">= 6.6.0",
+        "yarn": ">= 1.19.1"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/tauri"
+      }
+    },
+    "node_modules/@tauri-apps/plugin-dialog": {
+      "version": "2.0.0-alpha.4",
+      "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-dialog/-/plugin-dialog-2.0.0-alpha.4.tgz",
+      "integrity": "sha512-4NxBgDzxrZ8hPE9OMRYwsXYN2BxQYI/5l1UKEI5V4srFTZK81Vj5GGksCf7gQREZg7CmBRCk95qYx338A6oCag==",
+      "dependencies": {
+        "@tauri-apps/api": "2.0.0-alpha.12"
+      }
+    },
+    "node_modules/@tauri-apps/plugin-dialog/node_modules/@tauri-apps/api": {
+      "version": "2.0.0-alpha.12",
+      "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.0.0-alpha.12.tgz",
+      "integrity": "sha512-acpNZQxFgHMHC5qV/IUg4IL/xmypzfxHB4ECkwb58fT48H4zBmklNd5TC0k7BvLUBoSmmgHc4InbYwQai392Yw==",
+      "engines": {
+        "node": ">= 18",
+        "npm": ">= 6.6.0",
+        "yarn": ">= 1.19.1"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/tauri"
+      }
+    },
+    "node_modules/@tauri-apps/plugin-notification": {
+      "version": "2.0.0-alpha.4",
+      "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-notification/-/plugin-notification-2.0.0-alpha.4.tgz",
+      "integrity": "sha512-mXUuZoZEEMAedGNJxPZPLET3vY4lSmHCpfrfZIytJRU6eSxbec90L3fB4YqvW9+yqkplyXkvpiThILbT5A4Q4w==",
+      "dependencies": {
+        "@tauri-apps/api": "2.0.0-alpha.12"
+      }
+    },
+    "node_modules/@tauri-apps/plugin-notification/node_modules/@tauri-apps/api": {
+      "version": "2.0.0-alpha.12",
+      "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.0.0-alpha.12.tgz",
+      "integrity": "sha512-acpNZQxFgHMHC5qV/IUg4IL/xmypzfxHB4ECkwb58fT48H4zBmklNd5TC0k7BvLUBoSmmgHc4InbYwQai392Yw==",
+      "engines": {
+        "node": ">= 18",
+        "npm": ">= 6.6.0",
+        "yarn": ">= 1.19.1"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/tauri"
+      }
+    },
+    "node_modules/@tauri-apps/plugin-os": {
+      "version": "2.0.0-alpha.5",
+      "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-os/-/plugin-os-2.0.0-alpha.5.tgz",
+      "integrity": "sha512-dedPdad+ykMSZz2KUfrhUDyy32G2WH5aLkYdcACF58KC6GBvKuyR5sQ1ZE/pddo2L6VRhyujLp8zJEfRN3AUcQ==",
+      "dependencies": {
+        "@tauri-apps/api": "2.0.0-alpha.12"
+      }
+    },
+    "node_modules/@tauri-apps/plugin-os/node_modules/@tauri-apps/api": {
+      "version": "2.0.0-alpha.12",
+      "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.0.0-alpha.12.tgz",
+      "integrity": "sha512-acpNZQxFgHMHC5qV/IUg4IL/xmypzfxHB4ECkwb58fT48H4zBmklNd5TC0k7BvLUBoSmmgHc4InbYwQai392Yw==",
+      "engines": {
+        "node": ">= 18",
+        "npm": ">= 6.6.0",
+        "yarn": ">= 1.19.1"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/tauri"
+      }
+    },
+    "node_modules/@tauri-apps/plugin-shell": {
+      "version": "2.0.0-alpha.4",
+      "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-shell/-/plugin-shell-2.0.0-alpha.4.tgz",
+      "integrity": "sha512-Go/+EwGVuAXbSg2l2M5E2gT6cir66KV4CXC9P4gPHeead8Ar/B9wQvuINzcrYzL/HCcL7fFfKlqqu/XPTN2qvQ==",
+      "dependencies": {
+        "@tauri-apps/api": "2.0.0-alpha.12"
+      }
+    },
+    "node_modules/@tauri-apps/plugin-shell/node_modules/@tauri-apps/api": {
+      "version": "2.0.0-alpha.12",
+      "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.0.0-alpha.12.tgz",
+      "integrity": "sha512-acpNZQxFgHMHC5qV/IUg4IL/xmypzfxHB4ECkwb58fT48H4zBmklNd5TC0k7BvLUBoSmmgHc4InbYwQai392Yw==",
+      "engines": {
+        "node": ">= 18",
+        "npm": ">= 6.6.0",
+        "yarn": ">= 1.19.1"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/tauri"
+      }
+    },
+    "node_modules/@tootallnate/once": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
+      "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
+      "dev": true,
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@tsconfig/node10": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz",
+      "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==",
+      "dev": true
+    },
+    "node_modules/@tsconfig/node12": {
+      "version": "1.0.9",
+      "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz",
+      "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==",
+      "dev": true
+    },
+    "node_modules/@tsconfig/node14": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz",
+      "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==",
+      "dev": true
+    },
+    "node_modules/@tsconfig/node16": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz",
+      "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==",
+      "dev": true
+    },
+    "node_modules/@tufjs/canonical-json": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz",
+      "integrity": "sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==",
+      "dev": true,
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@tufjs/models": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-1.0.4.tgz",
+      "integrity": "sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==",
+      "dev": true,
+      "dependencies": {
+        "@tufjs/canonical-json": "1.0.0",
+        "minimatch": "^9.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@tufjs/models/node_modules/brace-expansion": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+      "dev": true,
+      "dependencies": {
+        "balanced-match": "^1.0.0"
+      }
+    },
+    "node_modules/@tufjs/models/node_modules/minimatch": {
+      "version": "9.0.0",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz",
+      "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=16 || 14 >=14.17"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/@types/body-parser": {
+      "version": "1.19.2",
+      "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
+      "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==",
+      "dev": true,
+      "dependencies": {
+        "@types/connect": "*",
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/bonjour": {
+      "version": "3.5.10",
+      "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz",
+      "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==",
+      "dev": true,
+      "dependencies": {
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/chrome": {
+      "version": "0.0.236",
+      "resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.236.tgz",
+      "integrity": "sha512-ArQoxO9WtDY6GWcT2cpo+D+hyASPeFt7PHQEUDXwQhRS00Rbop07rnEOA046yws0HkM83Tcew/hW6Dgvnj4iMQ==",
+      "dev": true,
+      "dependencies": {
+        "@types/filesystem": "*",
+        "@types/har-format": "*"
+      }
+    },
+    "node_modules/@types/connect": {
+      "version": "3.4.35",
+      "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
+      "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==",
+      "dev": true,
+      "dependencies": {
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/connect-history-api-fallback": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz",
+      "integrity": "sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==",
+      "dev": true,
+      "dependencies": {
+        "@types/express-serve-static-core": "*",
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/cookie": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
+      "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
+    "node_modules/@types/cors": {
+      "version": "2.8.13",
+      "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz",
+      "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/d3": {
+      "version": "7.4.0",
+      "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.0.tgz",
+      "integrity": "sha512-jIfNVK0ZlxcuRDKtRS/SypEyOQ6UHaFQBKv032X45VvxSJ6Yi5G9behy9h6tNTHTDGh5Vq+KbmBjUWLgY4meCA==",
+      "dev": true,
+      "dependencies": {
+        "@types/d3-array": "*",
+        "@types/d3-axis": "*",
+        "@types/d3-brush": "*",
+        "@types/d3-chord": "*",
+        "@types/d3-color": "*",
+        "@types/d3-contour": "*",
+        "@types/d3-delaunay": "*",
+        "@types/d3-dispatch": "*",
+        "@types/d3-drag": "*",
+        "@types/d3-dsv": "*",
+        "@types/d3-ease": "*",
+        "@types/d3-fetch": "*",
+        "@types/d3-force": "*",
+        "@types/d3-format": "*",
+        "@types/d3-geo": "*",
+        "@types/d3-hierarchy": "*",
+        "@types/d3-interpolate": "*",
+        "@types/d3-path": "*",
+        "@types/d3-polygon": "*",
+        "@types/d3-quadtree": "*",
+        "@types/d3-random": "*",
+        "@types/d3-scale": "*",
+        "@types/d3-scale-chromatic": "*",
+        "@types/d3-selection": "*",
+        "@types/d3-shape": "*",
+        "@types/d3-time": "*",
+        "@types/d3-time-format": "*",
+        "@types/d3-timer": "*",
+        "@types/d3-transition": "*",
+        "@types/d3-zoom": "*"
+      }
+    },
+    "node_modules/@types/d3-array": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.0.2.tgz",
+      "integrity": "sha512-5mjGjz6XOXKOCdTajXTZ/pMsg236RdiwKPrRPWAEf/2S/+PzwY+LLYShUpeysWaMvsdS7LArh6GdUefoxpchsQ==",
+      "dev": true
+    },
+    "node_modules/@types/d3-axis": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.1.tgz",
+      "integrity": "sha512-zji/iIbdd49g9WN0aIsGcwcTBUkgLsCSwB+uH+LPVDAiKWENMtI3cJEWt+7/YYwelMoZmbBfzA3qCdrZ2XFNnw==",
+      "dev": true,
+      "dependencies": {
+        "@types/d3-selection": "*"
+      }
+    },
+    "node_modules/@types/d3-brush": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.1.tgz",
+      "integrity": "sha512-B532DozsiTuQMHu2YChdZU0qsFJSio3Q6jmBYGYNp3gMDzBmuFFgPt9qKA4VYuLZMp4qc6eX7IUFUEsvHiXZAw==",
+      "dev": true,
+      "dependencies": {
+        "@types/d3-selection": "*"
+      }
+    },
+    "node_modules/@types/d3-chord": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.1.tgz",
+      "integrity": "sha512-eQfcxIHrg7V++W8Qxn6QkqBNBokyhdWSAS73AbkbMzvLQmVVBviknoz2SRS/ZJdIOmhcmmdCRE/NFOm28Z1AMw==",
+      "dev": true
+    },
+    "node_modules/@types/d3-color": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.0.2.tgz",
+      "integrity": "sha512-WVx6zBiz4sWlboCy7TCgjeyHpNjMsoF36yaagny1uXfbadc9f+5BeBf7U+lRmQqY3EHbGQpP8UdW8AC+cywSwQ==",
+      "dev": true
+    },
+    "node_modules/@types/d3-contour": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.1.tgz",
+      "integrity": "sha512-C3zfBrhHZvrpAAK3YXqLWVAGo87A4SvJ83Q/zVJ8rFWJdKejUnDYaWZPkA8K84kb2vDA/g90LTQAz7etXcgoQQ==",
+      "dev": true,
+      "dependencies": {
+        "@types/d3-array": "*",
+        "@types/geojson": "*"
+      }
+    },
+    "node_modules/@types/d3-delaunay": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.0.tgz",
+      "integrity": "sha512-iGm7ZaGLq11RK3e69VeMM6Oqj2SjKUB9Qhcyd1zIcqn2uE8w9GFB445yCY46NOQO3ByaNyktX1DK+Etz7ZaX+w==",
+      "dev": true
+    },
+    "node_modules/@types/d3-dispatch": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.1.tgz",
+      "integrity": "sha512-NhxMn3bAkqhjoxabVJWKryhnZXXYYVQxaBnbANu0O94+O/nX9qSjrA1P1jbAQJxJf+VC72TxDX/YJcKue5bRqw==",
+      "dev": true
+    },
+    "node_modules/@types/d3-drag": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.1.tgz",
+      "integrity": "sha512-o1Va7bLwwk6h03+nSM8dpaGEYnoIG19P0lKqlic8Un36ymh9NSkNFX1yiXMKNMx8rJ0Kfnn2eovuFaL6Jvj0zA==",
+      "dev": true,
+      "dependencies": {
+        "@types/d3-selection": "*"
+      }
+    },
+    "node_modules/@types/d3-dsv": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.0.tgz",
+      "integrity": "sha512-o0/7RlMl9p5n6FQDptuJVMxDf/7EDEv2SYEO/CwdG2tr1hTfUVi0Iavkk2ax+VpaQ/1jVhpnj5rq1nj8vwhn2A==",
+      "dev": true
+    },
+    "node_modules/@types/d3-ease": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.0.tgz",
+      "integrity": "sha512-aMo4eaAOijJjA6uU+GIeW018dvy9+oH5Y2VPPzjjfxevvGQ/oRDs+tfYC9b50Q4BygRR8yE2QCLsrT0WtAVseA==",
+      "dev": true
+    },
+    "node_modules/@types/d3-fetch": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.1.tgz",
+      "integrity": "sha512-toZJNOwrOIqz7Oh6Q7l2zkaNfXkfR7mFSJvGvlD/Ciq/+SQ39d5gynHJZ/0fjt83ec3WL7+u3ssqIijQtBISsw==",
+      "dev": true,
+      "dependencies": {
+        "@types/d3-dsv": "*"
+      }
+    },
+    "node_modules/@types/d3-force": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.3.tgz",
+      "integrity": "sha512-z8GteGVfkWJMKsx6hwC3SiTSLspL98VNpmvLpEFJQpZPq6xpA1I8HNBDNSpukfK0Vb0l64zGFhzunLgEAcBWSA==",
+      "dev": true
+    },
+    "node_modules/@types/d3-format": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.1.tgz",
+      "integrity": "sha512-5KY70ifCCzorkLuIkDe0Z9YTf9RR2CjBX1iaJG+rgM/cPP+sO+q9YdQ9WdhQcgPj1EQiJ2/0+yUkkziTG6Lubg==",
+      "dev": true
+    },
+    "node_modules/@types/d3-geo": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.0.2.tgz",
+      "integrity": "sha512-DbqK7MLYA8LpyHQfv6Klz0426bQEf7bRTvhMy44sNGVyZoWn//B0c+Qbeg8Osi2Obdc9BLLXYAKpyWege2/7LQ==",
+      "dev": true,
+      "dependencies": {
+        "@types/geojson": "*"
+      }
+    },
+    "node_modules/@types/d3-hierarchy": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.0.2.tgz",
+      "integrity": "sha512-+krnrWOZ+aQB6v+E+jEkmkAx9HvsNAD+1LCD0vlBY3t+HwjKnsBFbpVLx6WWzDzCIuiTWdAxXMEnGnVXpB09qQ==",
+      "dev": true
+    },
+    "node_modules/@types/d3-interpolate": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
+      "integrity": "sha512-jx5leotSeac3jr0RePOH1KdR9rISG91QIE4Q2PYTu4OymLTZfA3SrnURSLzKH48HmXVUru50b8nje4E79oQSQw==",
+      "dev": true,
+      "dependencies": {
+        "@types/d3-color": "*"
+      }
+    },
+    "node_modules/@types/d3-path": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.0.0.tgz",
+      "integrity": "sha512-0g/A+mZXgFkQxN3HniRDbXMN79K3CdTpLsevj+PXiTcb2hVyvkZUBg37StmgCQkaD84cUJ4uaDAWq7UJOQy2Tg==",
+      "dev": true
+    },
+    "node_modules/@types/d3-polygon": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.0.tgz",
+      "integrity": "sha512-D49z4DyzTKXM0sGKVqiTDTYr+DHg/uxsiWDAkNrwXYuiZVd9o9wXZIo+YsHkifOiyBkmSWlEngHCQme54/hnHw==",
+      "dev": true
+    },
+    "node_modules/@types/d3-quadtree": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.2.tgz",
+      "integrity": "sha512-QNcK8Jguvc8lU+4OfeNx+qnVy7c0VrDJ+CCVFS9srBo2GL9Y18CnIxBdTF3v38flrGy5s1YggcoAiu6s4fLQIw==",
+      "dev": true
+    },
+    "node_modules/@types/d3-random": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.1.tgz",
+      "integrity": "sha512-IIE6YTekGczpLYo/HehAy3JGF1ty7+usI97LqraNa8IiDur+L44d0VOjAvFQWJVdZOJHukUJw+ZdZBlgeUsHOQ==",
+      "dev": true
+    },
+    "node_modules/@types/d3-scale": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.2.tgz",
+      "integrity": "sha512-Yk4htunhPAwN0XGlIwArRomOjdoBFXC3+kCxK2Ubg7I9shQlVSJy/pG/Ht5ASN+gdMIalpk8TJ5xV74jFsetLA==",
+      "dev": true,
+      "dependencies": {
+        "@types/d3-time": "*"
+      }
+    },
+    "node_modules/@types/d3-scale-chromatic": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz",
+      "integrity": "sha512-dsoJGEIShosKVRBZB0Vo3C8nqSDqVGujJU6tPznsBJxNJNwMF8utmS83nvCBKQYPpjCzaaHcrf66iTRpZosLPw==",
+      "dev": true
+    },
+    "node_modules/@types/d3-selection": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.2.tgz",
+      "integrity": "sha512-d29EDd0iUBrRoKhPndhDY6U/PYxOWqgIZwKTooy2UkBfU7TNZNpRho0yLWPxlatQrFWk2mnTu71IZQ4+LRgKlQ==",
+      "dev": true
+    },
+    "node_modules/@types/d3-shape": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.0.2.tgz",
+      "integrity": "sha512-5+ButCmIfNX8id5seZ7jKj3igdcxx+S9IDBiT35fQGTLZUfkFgTv+oBH34xgeoWDKpWcMITSzBILWQtBoN5Piw==",
+      "dev": true,
+      "dependencies": {
+        "@types/d3-path": "*"
+      }
+    },
+    "node_modules/@types/d3-time": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.0.tgz",
+      "integrity": "sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==",
+      "dev": true
+    },
+    "node_modules/@types/d3-time-format": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.0.tgz",
+      "integrity": "sha512-yjfBUe6DJBsDin2BMIulhSHmr5qNR5Pxs17+oW4DoVPyVIXZ+m6bs7j1UVKP08Emv6jRmYrYqxYzO63mQxy1rw==",
+      "dev": true
+    },
+    "node_modules/@types/d3-timer": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.0.tgz",
+      "integrity": "sha512-HNB/9GHqu7Fo8AQiugyJbv6ZxYz58wef0esl4Mv828w1ZKpAshw/uFWVDUcIB9KKFeFKoxS3cHY07FFgtTRZ1g==",
+      "dev": true
+    },
+    "node_modules/@types/d3-transition": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.1.tgz",
+      "integrity": "sha512-Sv4qEI9uq3bnZwlOANvYK853zvpdKEm1yz9rcc8ZTsxvRklcs9Fx4YFuGA3gXoQN/c/1T6QkVNjhaRO/cWj94g==",
+      "dev": true,
+      "dependencies": {
+        "@types/d3-selection": "*"
+      }
+    },
+    "node_modules/@types/d3-zoom": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.1.tgz",
+      "integrity": "sha512-7s5L9TjfqIYQmQQEUcpMAcBOahem7TRoSO/+Gkz02GbMVuULiZzjF2BOdw291dbO2aNon4m2OdFsRGaCq2caLQ==",
+      "dev": true,
+      "dependencies": {
+        "@types/d3-interpolate": "*",
+        "@types/d3-selection": "*"
+      }
+    },
+    "node_modules/@types/data-urls": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/@types/data-urls/-/data-urls-3.0.4.tgz",
+      "integrity": "sha512-XRY2WVaOFSTKpNMaplqY1unPgAGk/DosOJ+eFrB6LJcFFbRH3nVbwJuGqLmDwdTWWx+V7U614/kmrj1JmCDl2A==",
+      "dev": true,
+      "dependencies": {
+        "@types/whatwg-mimetype": "*",
+        "@types/whatwg-url": "*"
+      }
+    },
+    "node_modules/@types/eslint": {
+      "version": "8.2.2",
+      "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.2.2.tgz",
+      "integrity": "sha512-nQxgB8/Sg+QKhnV8e0WzPpxjIGT3tuJDDzybkDi8ItE/IgTlHo07U0shaIjzhcvQxlq9SDRE42lsJ23uvEgJ2A==",
+      "dev": true,
+      "dependencies": {
+        "@types/estree": "*",
+        "@types/json-schema": "*"
+      }
+    },
+    "node_modules/@types/eslint-scope": {
+      "version": "3.7.3",
+      "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz",
+      "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==",
+      "dev": true,
+      "dependencies": {
+        "@types/eslint": "*",
+        "@types/estree": "*"
+      }
+    },
+    "node_modules/@types/estree": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz",
+      "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==",
+      "dev": true
+    },
+    "node_modules/@types/express": {
+      "version": "4.17.17",
+      "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz",
+      "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==",
+      "dev": true,
+      "dependencies": {
+        "@types/body-parser": "*",
+        "@types/express-serve-static-core": "^4.17.33",
+        "@types/qs": "*",
+        "@types/serve-static": "*"
+      }
+    },
+    "node_modules/@types/express-serve-static-core": {
+      "version": "4.17.35",
+      "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz",
+      "integrity": "sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==",
+      "dev": true,
+      "dependencies": {
+        "@types/node": "*",
+        "@types/qs": "*",
+        "@types/range-parser": "*",
+        "@types/send": "*"
+      }
+    },
+    "node_modules/@types/filesystem": {
+      "version": "0.0.32",
+      "resolved": "https://registry.npmjs.org/@types/filesystem/-/filesystem-0.0.32.tgz",
+      "integrity": "sha512-Yuf4jR5YYMR2DVgwuCiP11s0xuVRyPKmz8vo6HBY3CGdeMj8af93CFZX+T82+VD1+UqHOxTq31lO7MI7lepBtQ==",
+      "dev": true,
+      "dependencies": {
+        "@types/filewriter": "*"
+      }
+    },
+    "node_modules/@types/filewriter": {
+      "version": "0.0.29",
+      "resolved": "https://registry.npmjs.org/@types/filewriter/-/filewriter-0.0.29.tgz",
+      "integrity": "sha512-BsPXH/irW0ht0Ji6iw/jJaK8Lj3FJemon2gvEqHKpCdDCeemHa+rI3WBGq5z7cDMZgoLjY40oninGxqk+8NzNQ==",
+      "dev": true
+    },
+    "node_modules/@types/geojson": {
+      "version": "7946.0.8",
+      "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.8.tgz",
+      "integrity": "sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==",
+      "dev": true
+    },
+    "node_modules/@types/glob": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
+      "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==",
+      "dev": true,
+      "dependencies": {
+        "@types/minimatch": "*",
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/har-format": {
+      "version": "1.2.8",
+      "resolved": "https://registry.npmjs.org/@types/har-format/-/har-format-1.2.8.tgz",
+      "integrity": "sha512-OP6L9VuZNdskgNN3zFQQ54ceYD8OLq5IbqO4VK91ORLfOm7WdT/CiT/pHEBSQEqCInJ2y3O6iCm/zGtPElpgJQ==",
+      "dev": true
+    },
+    "node_modules/@types/http-proxy": {
+      "version": "1.17.11",
+      "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz",
+      "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==",
+      "dev": true,
+      "dependencies": {
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/jasmine": {
+      "version": "4.3.1",
+      "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.3.1.tgz",
+      "integrity": "sha512-Vu8l+UGcshYmV1VWwULgnV/2RDbBaO6i2Ptx7nd//oJPIZGhoI1YLST4VKagD2Pq/Bc2/7zvtvhM7F3p4SN7kQ==",
+      "dev": true
+    },
+    "node_modules/@types/jasminewd2": {
+      "version": "2.0.10",
+      "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.10.tgz",
+      "integrity": "sha512-J7mDz7ovjwjc+Y9rR9rY53hFWKATcIkrr9DwQWmOas4/pnIPJTXawnzjwpHm3RSxz/e3ZVUvQ7cRbd5UQLo10g==",
+      "dev": true,
+      "dependencies": {
+        "@types/jasmine": "*"
+      }
+    },
+    "node_modules/@types/json-schema": {
+      "version": "7.0.9",
+      "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz",
+      "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==",
+      "dev": true
+    },
+    "node_modules/@types/marked": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/@types/marked/-/marked-4.3.0.tgz",
+      "integrity": "sha512-zK4gSFMjgslsv5Lyvr3O1yCjgmnE4pr8jbG8qVn4QglMwtpvPCf4YT2Wma7Nk95OxUUJI8Z+kzdXohbM7mVpGw==",
+      "peer": true
+    },
+    "node_modules/@types/mime": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
+      "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==",
+      "dev": true
+    },
+    "node_modules/@types/minimatch": {
+      "version": "3.0.5",
+      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
+      "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==",
+      "dev": true
+    },
+    "node_modules/@types/node": {
+      "version": "20.1.5",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-20.1.5.tgz",
+      "integrity": "sha512-IvGD1CD/nego63ySR7vrAKEX3AJTcmrAN2kn+/sDNLi1Ff5kBzDeEdqWDplK+0HAEoLYej137Sk0cUU8OLOlMg==",
+      "dev": true
+    },
+    "node_modules/@types/psl": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@types/psl/-/psl-1.1.0.tgz",
+      "integrity": "sha512-HhZnoLAvI2koev3czVPzBNRYvdrzJGLjQbWZhqFmS9Q6a0yumc5qtfSahBGb5g+6qWvA8iiQktqGkwoIXa/BNQ==",
+      "dev": true
+    },
+    "node_modules/@types/q": {
+      "version": "0.0.32",
+      "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz",
+      "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=",
+      "dev": true
+    },
+    "node_modules/@types/qs": {
+      "version": "6.9.7",
+      "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
+      "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==",
+      "dev": true
+    },
+    "node_modules/@types/range-parser": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz",
+      "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==",
+      "dev": true
+    },
+    "node_modules/@types/resolve": {
+      "version": "1.20.2",
+      "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz",
+      "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==",
+      "dev": true
+    },
+    "node_modules/@types/retry": {
+      "version": "0.12.0",
+      "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz",
+      "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==",
+      "dev": true
+    },
+    "node_modules/@types/selenium-webdriver": {
+      "version": "3.0.19",
+      "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.19.tgz",
+      "integrity": "sha512-OFUilxQg+rWL2FMxtmIgCkUDlJB6pskkpvmew7yeXfzzsOBb5rc+y2+DjHm+r3r1ZPPcJefK3DveNSYWGiy68g==",
+      "dev": true
+    },
+    "node_modules/@types/semver": {
+      "version": "7.5.0",
+      "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz",
+      "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==",
+      "dev": true
+    },
+    "node_modules/@types/send": {
+      "version": "0.17.1",
+      "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz",
+      "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==",
+      "dev": true,
+      "dependencies": {
+        "@types/mime": "^1",
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/serve-index": {
+      "version": "1.9.1",
+      "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz",
+      "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==",
+      "dev": true,
+      "dependencies": {
+        "@types/express": "*"
+      }
+    },
+    "node_modules/@types/serve-static": {
+      "version": "1.15.1",
+      "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.1.tgz",
+      "integrity": "sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==",
+      "dev": true,
+      "dependencies": {
+        "@types/mime": "*",
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/sockjs": {
+      "version": "0.3.33",
+      "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz",
+      "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==",
+      "dev": true,
+      "dependencies": {
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/source-list-map": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz",
+      "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==",
+      "dev": true
+    },
+    "node_modules/@types/topojson-client": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/@types/topojson-client/-/topojson-client-3.1.1.tgz",
+      "integrity": "sha512-E4/Z2Xg56kVLRzYWem/6uOKVcVNqqxEqlWM9qCG2tCV1BxuzvvXC02/ELoGJWgtKkQhfycBPlMFEuTFdA/YiTg==",
+      "dev": true,
+      "dependencies": {
+        "@types/geojson": "*",
+        "@types/topojson-specification": "*"
+      }
+    },
+    "node_modules/@types/topojson-simplify": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/topojson-simplify/-/topojson-simplify-3.0.1.tgz",
+      "integrity": "sha512-H7SS2X11Lo3iRT3e7R6jPTAazOoSLD0LKIGq1b+4m/76Md46JfeU3zVIhxfIX9FY7oiyEbXwGumjK1GUXwIIMA==",
+      "dev": true,
+      "dependencies": {
+        "@types/geojson": "*",
+        "@types/topojson-specification": "*"
+      }
+    },
+    "node_modules/@types/topojson-specification": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/@types/topojson-specification/-/topojson-specification-1.0.2.tgz",
+      "integrity": "sha512-SGc1NdX9g3UGDp6S+p+uyG+Z8CehS51sUJ9bejA25Xgn2kkAguILk6J9nxXK+0M/mbTBN7ypMA7+4HVLNMJ8ag==",
+      "dev": true,
+      "dependencies": {
+        "@types/geojson": "*"
+      }
+    },
+    "node_modules/@types/webextension-polyfill": {
+      "version": "0.8.3",
+      "resolved": "https://registry.npmjs.org/@types/webextension-polyfill/-/webextension-polyfill-0.8.3.tgz",
+      "integrity": "sha512-GN+Hjzy9mXjWoXKmaicTegv3FJ0WFZ3aYz77Wk8TMp1IY3vEzvzj1vnsa0ggV7vMI1i+PUxe4qqnIJKCzf9aTg==",
+      "dev": true
+    },
+    "node_modules/@types/webidl-conversions": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz",
+      "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==",
+      "dev": true
+    },
+    "node_modules/@types/webpack": {
+      "version": "5.28.0",
+      "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-5.28.0.tgz",
+      "integrity": "sha512-8cP0CzcxUiFuA9xGJkfeVpqmWTk9nx6CWwamRGCj95ph1SmlRRk9KlCZ6avhCbZd4L68LvYT6l1kpdEnQXrF8w==",
+      "dev": true,
+      "dependencies": {
+        "@types/node": "*",
+        "tapable": "^2.2.0",
+        "webpack": "^5"
+      }
+    },
+    "node_modules/@types/webpack-sources": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz",
+      "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==",
+      "dev": true,
+      "dependencies": {
+        "@types/node": "*",
+        "@types/source-list-map": "*",
+        "source-map": "^0.7.3"
+      }
+    },
+    "node_modules/@types/whatwg-encoding": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/@types/whatwg-encoding/-/whatwg-encoding-2.0.3.tgz",
+      "integrity": "sha512-7TJfeaSFIWAKQ4ZynOb5zV3xzJQEEmL0U0j+uH7tnqfL97apXDTwMo0dB2uAWXAbr2dRRi5/eO9jV9dK/1GkiA==",
+      "dev": true
+    },
+    "node_modules/@types/whatwg-mimetype": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/@types/whatwg-mimetype/-/whatwg-mimetype-3.0.2.tgz",
+      "integrity": "sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA==",
+      "dev": true
+    },
+    "node_modules/@types/whatwg-url": {
+      "version": "11.0.4",
+      "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-11.0.4.tgz",
+      "integrity": "sha512-lXCmTWSHJvf0TRSO58nm978b8HJ/EdsSsEKLd3ODHFjo+3VGAyyTp4v50nWvwtzBxSMQrVOK7tcuN0zGPLICMw==",
+      "dev": true,
+      "dependencies": {
+        "@types/webidl-conversions": "*"
+      }
+    },
+    "node_modules/@types/ws": {
+      "version": "8.5.4",
+      "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz",
+      "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==",
+      "dev": true,
+      "dependencies": {
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@typescript-eslint/eslint-plugin": {
+      "version": "5.59.6",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.6.tgz",
+      "integrity": "sha512-sXtOgJNEuRU5RLwPUb1jxtToZbgvq3M6FPpY4QENxoOggK+UpTxUBpj6tD8+Qh2g46Pi9We87E+eHnUw8YcGsw==",
+      "dev": true,
+      "dependencies": {
+        "@eslint-community/regexpp": "^4.4.0",
+        "@typescript-eslint/scope-manager": "5.59.6",
+        "@typescript-eslint/type-utils": "5.59.6",
+        "@typescript-eslint/utils": "5.59.6",
+        "debug": "^4.3.4",
+        "grapheme-splitter": "^1.0.4",
+        "ignore": "^5.2.0",
+        "natural-compare-lite": "^1.4.0",
+        "semver": "^7.3.7",
+        "tsutils": "^3.21.0"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      },
+      "peerDependencies": {
+        "@typescript-eslint/parser": "^5.0.0",
+        "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+      },
+      "peerDependenciesMeta": {
+        "typescript": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@typescript-eslint/eslint-plugin/node_modules/tslib": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+      "dev": true
+    },
+    "node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils": {
+      "version": "3.21.0",
+      "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
+      "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+      "dev": true,
+      "dependencies": {
+        "tslib": "^1.8.1"
+      },
+      "engines": {
+        "node": ">= 6"
+      },
+      "peerDependencies": {
+        "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+      }
+    },
+    "node_modules/@typescript-eslint/parser": {
+      "version": "5.59.6",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.6.tgz",
+      "integrity": "sha512-7pCa6al03Pv1yf/dUg/s1pXz/yGMUBAw5EeWqNTFiSueKvRNonze3hma3lhdsOrQcaOXhbk5gKu2Fludiho9VA==",
+      "dev": true,
+      "dependencies": {
+        "@typescript-eslint/scope-manager": "5.59.6",
+        "@typescript-eslint/types": "5.59.6",
+        "@typescript-eslint/typescript-estree": "5.59.6",
+        "debug": "^4.3.4"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      },
+      "peerDependencies": {
+        "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+      },
+      "peerDependenciesMeta": {
+        "typescript": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@typescript-eslint/scope-manager": {
+      "version": "5.59.6",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.6.tgz",
+      "integrity": "sha512-gLbY3Le9Dxcb8KdpF0+SJr6EQ+hFGYFl6tVY8VxLPFDfUZC7BHFw+Vq7bM5lE9DwWPfx4vMWWTLGXgpc0mAYyQ==",
+      "dev": true,
+      "dependencies": {
+        "@typescript-eslint/types": "5.59.6",
+        "@typescript-eslint/visitor-keys": "5.59.6"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      }
+    },
+    "node_modules/@typescript-eslint/type-utils": {
+      "version": "5.59.6",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.6.tgz",
+      "integrity": "sha512-A4tms2Mp5yNvLDlySF+kAThV9VTBPCvGf0Rp8nl/eoDX9Okun8byTKoj3fJ52IJitjWOk0fKPNQhXEB++eNozQ==",
+      "dev": true,
+      "dependencies": {
+        "@typescript-eslint/typescript-estree": "5.59.6",
+        "@typescript-eslint/utils": "5.59.6",
+        "debug": "^4.3.4",
+        "tsutils": "^3.21.0"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      },
+      "peerDependencies": {
+        "eslint": "*"
+      },
+      "peerDependenciesMeta": {
+        "typescript": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@typescript-eslint/type-utils/node_modules/tslib": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+      "dev": true
+    },
+    "node_modules/@typescript-eslint/type-utils/node_modules/tsutils": {
+      "version": "3.21.0",
+      "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
+      "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+      "dev": true,
+      "dependencies": {
+        "tslib": "^1.8.1"
+      },
+      "engines": {
+        "node": ">= 6"
+      },
+      "peerDependencies": {
+        "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+      }
+    },
+    "node_modules/@typescript-eslint/types": {
+      "version": "5.59.6",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.6.tgz",
+      "integrity": "sha512-tH5lBXZI7T2MOUgOWFdVNUILsI02shyQvfzG9EJkoONWugCG77NDDa1EeDGw7oJ5IvsTAAGVV8I3Tk2PNu9QfA==",
+      "dev": true,
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      }
+    },
+    "node_modules/@typescript-eslint/typescript-estree": {
+      "version": "5.59.6",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.6.tgz",
+      "integrity": "sha512-vW6JP3lMAs/Tq4KjdI/RiHaaJSO7IUsbkz17it/Rl9Q+WkQ77EOuOnlbaU8kKfVIOJxMhnRiBG+olE7f3M16DA==",
+      "dev": true,
+      "dependencies": {
+        "@typescript-eslint/types": "5.59.6",
+        "@typescript-eslint/visitor-keys": "5.59.6",
+        "debug": "^4.3.4",
+        "globby": "^11.1.0",
+        "is-glob": "^4.0.3",
+        "semver": "^7.3.7",
+        "tsutils": "^3.21.0"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      },
+      "peerDependenciesMeta": {
+        "typescript": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@typescript-eslint/typescript-estree/node_modules/globby": {
+      "version": "11.1.0",
+      "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+      "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+      "dev": true,
+      "dependencies": {
+        "array-union": "^2.1.0",
+        "dir-glob": "^3.0.1",
+        "fast-glob": "^3.2.9",
+        "ignore": "^5.2.0",
+        "merge2": "^1.4.1",
+        "slash": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/@typescript-eslint/typescript-estree/node_modules/slash": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+      "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@typescript-eslint/typescript-estree/node_modules/tslib": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+      "dev": true
+    },
+    "node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils": {
+      "version": "3.21.0",
+      "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
+      "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+      "dev": true,
+      "dependencies": {
+        "tslib": "^1.8.1"
+      },
+      "engines": {
+        "node": ">= 6"
+      },
+      "peerDependencies": {
+        "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+      }
+    },
+    "node_modules/@typescript-eslint/utils": {
+      "version": "5.59.6",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.6.tgz",
+      "integrity": "sha512-vzaaD6EXbTS29cVH0JjXBdzMt6VBlv+hE31XktDRMX1j3462wZCJa7VzO2AxXEXcIl8GQqZPcOPuW/Z1tZVogg==",
+      "dev": true,
+      "dependencies": {
+        "@eslint-community/eslint-utils": "^4.2.0",
+        "@types/json-schema": "^7.0.9",
+        "@types/semver": "^7.3.12",
+        "@typescript-eslint/scope-manager": "5.59.6",
+        "@typescript-eslint/types": "5.59.6",
+        "@typescript-eslint/typescript-estree": "5.59.6",
+        "eslint-scope": "^5.1.1",
+        "semver": "^7.3.7"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      },
+      "peerDependencies": {
+        "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+      }
+    },
+    "node_modules/@typescript-eslint/visitor-keys": {
+      "version": "5.59.6",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.6.tgz",
+      "integrity": "sha512-zEfbFLzB9ETcEJ4HZEEsCR9HHeNku5/Qw1jSS5McYJv5BR+ftYXwFFAH5Al+xkGaZEqowMwl7uoJjQb1YSPF8Q==",
+      "dev": true,
+      "dependencies": {
+        "@typescript-eslint/types": "5.59.6",
+        "eslint-visitor-keys": "^3.3.0"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      }
+    },
+    "node_modules/@vitejs/plugin-basic-ssl": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.0.1.tgz",
+      "integrity": "sha512-pcub+YbFtFhaGRTo1832FQHQSHvMrlb43974e2eS8EKleR3p1cDdkJFPci1UhwkEf1J9Bz+wKBSzqpKp7nNj2A==",
+      "dev": true,
+      "engines": {
+        "node": ">=14.6.0"
+      },
+      "peerDependencies": {
+        "vite": "^3.0.0 || ^4.0.0"
+      }
+    },
+    "node_modules/@webassemblyjs/ast": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz",
+      "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==",
+      "dev": true,
+      "dependencies": {
+        "@webassemblyjs/helper-numbers": "1.11.6",
+        "@webassemblyjs/helper-wasm-bytecode": "1.11.6"
+      }
+    },
+    "node_modules/@webassemblyjs/floating-point-hex-parser": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz",
+      "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==",
+      "dev": true
+    },
+    "node_modules/@webassemblyjs/helper-api-error": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz",
+      "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==",
+      "dev": true
+    },
+    "node_modules/@webassemblyjs/helper-buffer": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz",
+      "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==",
+      "dev": true
+    },
+    "node_modules/@webassemblyjs/helper-numbers": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz",
+      "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==",
+      "dev": true,
+      "dependencies": {
+        "@webassemblyjs/floating-point-hex-parser": "1.11.6",
+        "@webassemblyjs/helper-api-error": "1.11.6",
+        "@xtuc/long": "4.2.2"
+      }
+    },
+    "node_modules/@webassemblyjs/helper-wasm-bytecode": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz",
+      "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==",
+      "dev": true
+    },
+    "node_modules/@webassemblyjs/helper-wasm-section": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz",
+      "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==",
+      "dev": true,
+      "dependencies": {
+        "@webassemblyjs/ast": "1.11.6",
+        "@webassemblyjs/helper-buffer": "1.11.6",
+        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+        "@webassemblyjs/wasm-gen": "1.11.6"
+      }
+    },
+    "node_modules/@webassemblyjs/ieee754": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz",
+      "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==",
+      "dev": true,
+      "dependencies": {
+        "@xtuc/ieee754": "^1.2.0"
+      }
+    },
+    "node_modules/@webassemblyjs/leb128": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz",
+      "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==",
+      "dev": true,
+      "dependencies": {
+        "@xtuc/long": "4.2.2"
+      }
+    },
+    "node_modules/@webassemblyjs/utf8": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz",
+      "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==",
+      "dev": true
+    },
+    "node_modules/@webassemblyjs/wasm-edit": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz",
+      "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==",
+      "dev": true,
+      "dependencies": {
+        "@webassemblyjs/ast": "1.11.6",
+        "@webassemblyjs/helper-buffer": "1.11.6",
+        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+        "@webassemblyjs/helper-wasm-section": "1.11.6",
+        "@webassemblyjs/wasm-gen": "1.11.6",
+        "@webassemblyjs/wasm-opt": "1.11.6",
+        "@webassemblyjs/wasm-parser": "1.11.6",
+        "@webassemblyjs/wast-printer": "1.11.6"
+      }
+    },
+    "node_modules/@webassemblyjs/wasm-gen": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz",
+      "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==",
+      "dev": true,
+      "dependencies": {
+        "@webassemblyjs/ast": "1.11.6",
+        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+        "@webassemblyjs/ieee754": "1.11.6",
+        "@webassemblyjs/leb128": "1.11.6",
+        "@webassemblyjs/utf8": "1.11.6"
+      }
+    },
+    "node_modules/@webassemblyjs/wasm-opt": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz",
+      "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==",
+      "dev": true,
+      "dependencies": {
+        "@webassemblyjs/ast": "1.11.6",
+        "@webassemblyjs/helper-buffer": "1.11.6",
+        "@webassemblyjs/wasm-gen": "1.11.6",
+        "@webassemblyjs/wasm-parser": "1.11.6"
+      }
+    },
+    "node_modules/@webassemblyjs/wasm-parser": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz",
+      "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==",
+      "dev": true,
+      "dependencies": {
+        "@webassemblyjs/ast": "1.11.6",
+        "@webassemblyjs/helper-api-error": "1.11.6",
+        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+        "@webassemblyjs/ieee754": "1.11.6",
+        "@webassemblyjs/leb128": "1.11.6",
+        "@webassemblyjs/utf8": "1.11.6"
+      }
+    },
+    "node_modules/@webassemblyjs/wast-printer": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz",
+      "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==",
+      "dev": true,
+      "dependencies": {
+        "@webassemblyjs/ast": "1.11.6",
+        "@xtuc/long": "4.2.2"
+      }
+    },
+    "node_modules/@xtuc/ieee754": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
+      "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
+      "dev": true
+    },
+    "node_modules/@xtuc/long": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
+      "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
+      "dev": true
+    },
+    "node_modules/@yarnpkg/lockfile": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz",
+      "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
+      "dev": true
+    },
+    "node_modules/@yarnpkg/parsers": {
+      "version": "3.0.0-rc.43",
+      "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.43.tgz",
+      "integrity": "sha512-AhFF3mIDfA+jEwQv2WMHmiYhOvmdbh2qhUkDVQfiqzQtUwS4BgoWwom5NpSPg4Ix5vOul+w1690Bt21CkVLpgg==",
+      "dev": true,
+      "dependencies": {
+        "js-yaml": "^3.10.0",
+        "tslib": "^2.4.0"
+      },
+      "engines": {
+        "node": ">=14.15.0"
+      }
+    },
+    "node_modules/@zkochan/js-yaml": {
+      "version": "0.0.6",
+      "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz",
+      "integrity": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==",
+      "dev": true,
+      "dependencies": {
+        "argparse": "^2.0.1"
+      },
+      "bin": {
+        "js-yaml": "bin/js-yaml.js"
+      }
+    },
+    "node_modules/@zkochan/js-yaml/node_modules/argparse": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+      "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+      "dev": true
+    },
+    "node_modules/abab": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
+      "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==",
+      "dev": true
+    },
+    "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==",
+      "dev": true
+    },
+    "node_modules/accepts": {
+      "version": "1.3.8",
+      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+      "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+      "dev": true,
+      "dependencies": {
+        "mime-types": "~2.1.34",
+        "negotiator": "0.6.3"
+      },
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/acorn": {
+      "version": "7.4.1",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+      "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+      "dev": true,
+      "peer": true,
+      "bin": {
+        "acorn": "bin/acorn"
+      },
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/acorn-jsx": {
+      "version": "5.3.2",
+      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+      "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+      "dev": true,
+      "peerDependencies": {
+        "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+      }
+    },
+    "node_modules/adjust-sourcemap-loader": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz",
+      "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==",
+      "dev": true,
+      "dependencies": {
+        "loader-utils": "^2.0.0",
+        "regex-parser": "^2.2.11"
+      },
+      "engines": {
+        "node": ">=8.9"
+      }
+    },
+    "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
+      "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
+      "dev": true,
+      "dependencies": {
+        "big.js": "^5.2.2",
+        "emojis-list": "^3.0.0",
+        "json5": "^2.1.2"
+      },
+      "engines": {
+        "node": ">=8.9.0"
+      }
+    },
+    "node_modules/adm-zip": {
+      "version": "0.5.10",
+      "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz",
+      "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=6.0"
+      }
+    },
+    "node_modules/agent-base": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+      "dev": true,
+      "dependencies": {
+        "debug": "4"
+      },
+      "engines": {
+        "node": ">= 6.0.0"
+      }
+    },
+    "node_modules/agentkeepalive": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz",
+      "integrity": "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==",
+      "dev": true,
+      "dependencies": {
+        "debug": "^4.1.0",
+        "depd": "^2.0.0",
+        "humanize-ms": "^1.2.1"
+      },
+      "engines": {
+        "node": ">= 8.0.0"
+      }
+    },
+    "node_modules/aggregate-error": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
+      "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
+      "dev": true,
+      "dependencies": {
+        "clean-stack": "^2.0.0",
+        "indent-string": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/ajv": {
+      "version": "8.12.0",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+      "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
+      "dev": true,
+      "dependencies": {
+        "fast-deep-equal": "^3.1.1",
+        "json-schema-traverse": "^1.0.0",
+        "require-from-string": "^2.0.2",
+        "uri-js": "^4.2.2"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/epoberezkin"
+      }
+    },
+    "node_modules/ajv-formats": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
+      "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
+      "dev": true,
+      "dependencies": {
+        "ajv": "^8.0.0"
+      },
+      "peerDependencies": {
+        "ajv": "^8.0.0"
+      },
+      "peerDependenciesMeta": {
+        "ajv": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/ajv-keywords": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+      "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
+      "dev": true,
+      "dependencies": {
+        "fast-deep-equal": "^3.1.3"
+      },
+      "peerDependencies": {
+        "ajv": "^8.8.2"
+      }
+    },
+    "node_modules/ansi-colors": {
+      "version": "4.1.3",
+      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
+      "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/ansi-escapes": {
+      "version": "4.3.2",
+      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
+      "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
+      "dev": true,
+      "dependencies": {
+        "type-fest": "^0.21.3"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/ansi-html-community": {
+      "version": "0.0.8",
+      "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz",
+      "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==",
+      "dev": true,
+      "engines": [
+        "node >= 0.8.0"
+      ],
+      "bin": {
+        "ansi-html": "bin/ansi-html"
+      }
+    },
+    "node_modules/ansi-regex": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/ansi-styles": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+      "dependencies": {
+        "color-convert": "^1.9.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/any-promise": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
+      "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
+      "dev": true
+    },
+    "node_modules/anymatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+      "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+      "dependencies": {
+        "normalize-path": "^3.0.0",
+        "picomatch": "^2.0.4"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/aproba": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
+      "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
+      "dev": true
+    },
+    "node_modules/archiver": {
+      "version": "5.3.1",
+      "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.1.tgz",
+      "integrity": "sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==",
+      "dev": true,
+      "dependencies": {
+        "archiver-utils": "^2.1.0",
+        "async": "^3.2.3",
+        "buffer-crc32": "^0.2.1",
+        "readable-stream": "^3.6.0",
+        "readdir-glob": "^1.0.0",
+        "tar-stream": "^2.2.0",
+        "zip-stream": "^4.1.0"
+      },
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/archiver-utils": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz",
+      "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==",
+      "dev": true,
+      "dependencies": {
+        "glob": "^7.1.4",
+        "graceful-fs": "^4.2.0",
+        "lazystream": "^1.0.0",
+        "lodash.defaults": "^4.2.0",
+        "lodash.difference": "^4.5.0",
+        "lodash.flatten": "^4.4.0",
+        "lodash.isplainobject": "^4.0.6",
+        "lodash.union": "^4.6.0",
+        "normalize-path": "^3.0.0",
+        "readable-stream": "^2.0.0"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/archiver-utils/node_modules/readable-stream": {
+      "version": "2.3.7",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+      "dev": true,
+      "dependencies": {
+        "core-util-is": "~1.0.0",
+        "inherits": "~2.0.3",
+        "isarray": "~1.0.0",
+        "process-nextick-args": "~2.0.0",
+        "safe-buffer": "~5.1.1",
+        "string_decoder": "~1.1.1",
+        "util-deprecate": "~1.0.1"
+      }
+    },
+    "node_modules/archiver-utils/node_modules/string_decoder": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "~5.1.0"
+      }
+    },
+    "node_modules/are-we-there-yet": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz",
+      "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==",
+      "dev": true,
+      "dependencies": {
+        "delegates": "^1.0.0",
+        "readable-stream": "^3.6.0"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+      }
+    },
+    "node_modules/arg": {
+      "version": "5.0.2",
+      "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
+      "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
+      "dev": true
+    },
+    "node_modules/argparse": {
+      "version": "1.0.10",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+      "dev": true,
+      "dependencies": {
+        "sprintf-js": "~1.0.2"
+      }
+    },
+    "node_modules/argparse/node_modules/sprintf-js": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+      "dev": true
+    },
+    "node_modules/array-buffer-byte-length": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
+      "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.5",
+        "is-array-buffer": "^3.0.4"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/array-flatten": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
+      "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==",
+      "dev": true
+    },
+    "node_modules/array-union": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+      "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/array-uniq": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+      "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/arraybuffer.prototype.slice": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz",
+      "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==",
+      "dev": true,
+      "dependencies": {
+        "array-buffer-byte-length": "^1.0.1",
+        "call-bind": "^1.0.5",
+        "define-properties": "^1.2.1",
+        "es-abstract": "^1.22.3",
+        "es-errors": "^1.2.1",
+        "get-intrinsic": "^1.2.3",
+        "is-array-buffer": "^3.0.4",
+        "is-shared-array-buffer": "^1.0.2"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/arrify": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+      "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/asn1": {
+      "version": "0.2.6",
+      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
+      "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
+      "dev": true,
+      "dependencies": {
+        "safer-buffer": "~2.1.0"
+      }
+    },
+    "node_modules/assert-plus": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8"
+      }
+    },
+    "node_modules/async": {
+      "version": "3.2.4",
+      "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
+      "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==",
+      "dev": true
+    },
+    "node_modules/asynckit": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+      "dev": true
+    },
+    "node_modules/autoprefixer": {
+      "version": "10.4.14",
+      "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz",
+      "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==",
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/postcss/"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/autoprefixer"
+        }
+      ],
+      "dependencies": {
+        "browserslist": "^4.21.5",
+        "caniuse-lite": "^1.0.30001464",
+        "fraction.js": "^4.2.0",
+        "normalize-range": "^0.1.2",
+        "picocolors": "^1.0.0",
+        "postcss-value-parser": "^4.2.0"
+      },
+      "bin": {
+        "autoprefixer": "bin/autoprefixer"
+      },
+      "engines": {
+        "node": "^10 || ^12 || >=14"
+      },
+      "peerDependencies": {
+        "postcss": "^8.1.0"
+      }
+    },
+    "node_modules/available-typed-arrays": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
+      "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
+      "dev": true,
+      "dependencies": {
+        "possible-typed-array-names": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/aws-sign2": {
+      "version": "0.7.0",
+      "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+      "dev": true,
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/aws4": {
+      "version": "1.11.0",
+      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
+      "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
+      "dev": true
+    },
+    "node_modules/axios": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz",
+      "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==",
+      "dev": true,
+      "dependencies": {
+        "follow-redirects": "^1.15.0",
+        "form-data": "^4.0.0",
+        "proxy-from-env": "^1.1.0"
+      }
+    },
+    "node_modules/axios/node_modules/form-data": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+      "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+      "dev": true,
+      "dependencies": {
+        "asynckit": "^0.4.0",
+        "combined-stream": "^1.0.8",
+        "mime-types": "^2.1.12"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/babel-loader": {
+      "version": "9.1.2",
+      "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.2.tgz",
+      "integrity": "sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==",
+      "dev": true,
+      "dependencies": {
+        "find-cache-dir": "^3.3.2",
+        "schema-utils": "^4.0.0"
+      },
+      "engines": {
+        "node": ">= 14.15.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.12.0",
+        "webpack": ">=5"
+      }
+    },
+    "node_modules/babel-plugin-istanbul": {
+      "version": "6.1.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz",
+      "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.0.0",
+        "@istanbuljs/load-nyc-config": "^1.0.0",
+        "@istanbuljs/schema": "^0.1.2",
+        "istanbul-lib-instrument": "^5.0.4",
+        "test-exclude": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/babel-plugin-polyfill-corejs2": {
+      "version": "0.3.3",
+      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz",
+      "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==",
+      "dev": true,
+      "dependencies": {
+        "@babel/compat-data": "^7.17.7",
+        "@babel/helper-define-polyfill-provider": "^0.3.3",
+        "semver": "^6.1.1"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/babel-plugin-polyfill-corejs3": {
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz",
+      "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-define-polyfill-provider": "^0.3.3",
+        "core-js-compat": "^3.25.1"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/babel-plugin-polyfill-regenerator": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz",
+      "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-define-polyfill-provider": "^0.3.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "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/base64-js": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ]
+    },
+    "node_modules/base64id": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
+      "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "engines": {
+        "node": "^4.5.0 || >= 5.9"
+      }
+    },
+    "node_modules/batch": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
+      "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==",
+      "dev": true
+    },
+    "node_modules/bcrypt-pbkdf": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+      "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+      "dev": true,
+      "dependencies": {
+        "tweetnacl": "^0.14.3"
+      }
+    },
+    "node_modules/big.js": {
+      "version": "5.2.2",
+      "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
+      "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
+      "dev": true,
+      "engines": {
+        "node": "*"
+      }
+    },
+    "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": "4.1.0",
+      "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
+      "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
+      "dev": true,
+      "dependencies": {
+        "buffer": "^5.5.0",
+        "inherits": "^2.0.4",
+        "readable-stream": "^3.4.0"
+      }
+    },
+    "node_modules/blocking-proxy": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz",
+      "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==",
+      "dev": true,
+      "dependencies": {
+        "minimist": "^1.2.0"
+      },
+      "bin": {
+        "blocking-proxy": "built/lib/bin.js"
+      },
+      "engines": {
+        "node": ">=6.9.x"
+      }
+    },
+    "node_modules/body-parser": {
+      "version": "1.20.1",
+      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
+      "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
+      "dev": true,
+      "dependencies": {
+        "bytes": "3.1.2",
+        "content-type": "~1.0.4",
+        "debug": "2.6.9",
+        "depd": "2.0.0",
+        "destroy": "1.2.0",
+        "http-errors": "2.0.0",
+        "iconv-lite": "0.4.24",
+        "on-finished": "2.4.1",
+        "qs": "6.11.0",
+        "raw-body": "2.5.1",
+        "type-is": "~1.6.18",
+        "unpipe": "1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.8",
+        "npm": "1.2.8000 || >= 1.4.16"
+      }
+    },
+    "node_modules/body-parser/node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.0.0"
+      }
+    },
+    "node_modules/body-parser/node_modules/iconv-lite": {
+      "version": "0.4.24",
+      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+      "dev": true,
+      "dependencies": {
+        "safer-buffer": ">= 2.1.2 < 3"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/body-parser/node_modules/ms": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+      "dev": true
+    },
+    "node_modules/body-parser/node_modules/on-finished": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+      "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+      "dev": true,
+      "dependencies": {
+        "ee-first": "1.1.1"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/bonjour-service": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz",
+      "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==",
+      "dev": true,
+      "dependencies": {
+        "array-flatten": "^2.1.2",
+        "dns-equal": "^1.0.0",
+        "fast-deep-equal": "^3.1.3",
+        "multicast-dns": "^7.2.5"
+      }
+    },
+    "node_modules/boolbase": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+      "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
+      "dev": true
+    },
+    "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==",
+      "dev": true,
+      "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/browserslist": {
+      "version": "4.21.5",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz",
+      "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==",
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/browserslist"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/browserslist"
+        }
+      ],
+      "dependencies": {
+        "caniuse-lite": "^1.0.30001449",
+        "electron-to-chromium": "^1.4.284",
+        "node-releases": "^2.0.8",
+        "update-browserslist-db": "^1.0.10"
+      },
+      "bin": {
+        "browserslist": "cli.js"
+      },
+      "engines": {
+        "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+      }
+    },
+    "node_modules/browserstack": {
+      "version": "1.6.1",
+      "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.6.1.tgz",
+      "integrity": "sha512-GxtFjpIaKdbAyzHfFDKixKO8IBT7wR3NjbzrGc78nNs/Ciys9wU3/nBtsqsWv5nDSrdI5tz0peKuzCPuNXNUiw==",
+      "dev": true,
+      "dependencies": {
+        "https-proxy-agent": "^2.2.1"
+      }
+    },
+    "node_modules/browserstack/node_modules/agent-base": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
+      "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
+      "dev": true,
+      "dependencies": {
+        "es6-promisify": "^5.0.0"
+      },
+      "engines": {
+        "node": ">= 4.0.0"
+      }
+    },
+    "node_modules/browserstack/node_modules/debug": {
+      "version": "3.2.7",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+      "dev": true,
+      "dependencies": {
+        "ms": "^2.1.1"
+      }
+    },
+    "node_modules/browserstack/node_modules/https-proxy-agent": {
+      "version": "2.2.4",
+      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz",
+      "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==",
+      "dev": true,
+      "dependencies": {
+        "agent-base": "^4.3.0",
+        "debug": "^3.1.0"
+      },
+      "engines": {
+        "node": ">= 4.5.0"
+      }
+    },
+    "node_modules/buffer": {
+      "version": "5.7.1",
+      "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+      "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
+      "dependencies": {
+        "base64-js": "^1.3.1",
+        "ieee754": "^1.1.13"
+      }
+    },
+    "node_modules/buffer-crc32": {
+      "version": "0.2.13",
+      "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+      "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
+      "dev": true,
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/buffer-from": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+      "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+      "dev": true
+    },
+    "node_modules/builtin-modules": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
+      "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/builtins": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz",
+      "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==",
+      "dev": true,
+      "dependencies": {
+        "semver": "^7.0.0"
+      }
+    },
+    "node_modules/bytes": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+      "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/cacache": {
+      "version": "17.0.6",
+      "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.6.tgz",
+      "integrity": "sha512-ixcYmEBExFa/+ajIPjcwypxL97CjJyOsH9A/W+4qgEPIpJvKlC+HmVY8nkIck6n3PwUTdgq9c489niJGwl+5Cw==",
+      "dev": true,
+      "dependencies": {
+        "@npmcli/fs": "^3.1.0",
+        "fs-minipass": "^3.0.0",
+        "glob": "^10.2.2",
+        "lru-cache": "^7.7.1",
+        "minipass": "^5.0.0",
+        "minipass-collect": "^1.0.2",
+        "minipass-flush": "^1.0.5",
+        "minipass-pipeline": "^1.2.4",
+        "p-map": "^4.0.0",
+        "promise-inflight": "^1.0.1",
+        "ssri": "^10.0.0",
+        "tar": "^6.1.11",
+        "unique-filename": "^3.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/cacache/node_modules/brace-expansion": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+      "dev": true,
+      "dependencies": {
+        "balanced-match": "^1.0.0"
+      }
+    },
+    "node_modules/cacache/node_modules/glob": {
+      "version": "10.2.4",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.4.tgz",
+      "integrity": "sha512-fDboBse/sl1oXSLhIp0FcCJgzW9KmhC/q8ULTKC82zc+DL3TL7FNb8qlt5qqXN53MsKEUSIcb+7DLmEygOE5Yw==",
+      "dev": true,
+      "dependencies": {
+        "foreground-child": "^3.1.0",
+        "jackspeak": "^2.0.3",
+        "minimatch": "^9.0.0",
+        "minipass": "^5.0.0 || ^6.0.0",
+        "path-scurry": "^1.7.0"
+      },
+      "bin": {
+        "glob": "dist/cjs/src/bin.js"
+      },
+      "engines": {
+        "node": ">=16 || 14 >=14.17"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/cacache/node_modules/lru-cache": {
+      "version": "7.18.3",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+      "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/cacache/node_modules/minimatch": {
+      "version": "9.0.0",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz",
+      "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=16 || 14 >=14.17"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/call-bind": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
+      "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
+      "dev": true,
+      "dependencies": {
+        "es-define-property": "^1.0.0",
+        "es-errors": "^1.3.0",
+        "function-bind": "^1.1.2",
+        "get-intrinsic": "^1.2.4",
+        "set-function-length": "^1.2.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/callsites": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+      "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/camelcase": {
+      "version": "5.3.1",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/camelcase-css": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
+      "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/caniuse-lite": {
+      "version": "1.0.30001487",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001487.tgz",
+      "integrity": "sha512-83564Z3yWGqXsh2vaH/mhXfEM0wX+NlBCm1jYHOb97TrTWJEmPTccZgeLTPBUUb0PNVo+oomb7wkimZBIERClA==",
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/browserslist"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
+        }
+      ]
+    },
+    "node_modules/caseless": {
+      "version": "0.12.0",
+      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+      "dev": true
+    },
+    "node_modules/chalk": {
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+      "dependencies": {
+        "ansi-styles": "^3.2.1",
+        "escape-string-regexp": "^1.0.5",
+        "supports-color": "^5.3.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/chardet": {
+      "version": "0.7.0",
+      "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
+      "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
+      "dev": true
+    },
+    "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/chownr": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+      "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/chrome-trace-event": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
+      "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
+      "dev": true,
+      "engines": {
+        "node": ">=6.0"
+      }
+    },
+    "node_modules/clean-stack": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
+      "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/clean-webpack-plugin": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-4.0.0.tgz",
+      "integrity": "sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==",
+      "dev": true,
+      "dependencies": {
+        "del": "^4.1.1"
+      },
+      "engines": {
+        "node": ">=10.0.0"
+      },
+      "peerDependencies": {
+        "webpack": ">=4.0.0 <6.0.0"
+      }
+    },
+    "node_modules/clean-webpack-plugin/node_modules/array-union": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+      "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==",
+      "dev": true,
+      "dependencies": {
+        "array-uniq": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/clean-webpack-plugin/node_modules/del": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz",
+      "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==",
+      "dev": true,
+      "dependencies": {
+        "@types/glob": "^7.1.1",
+        "globby": "^6.1.0",
+        "is-path-cwd": "^2.0.0",
+        "is-path-in-cwd": "^2.0.0",
+        "p-map": "^2.0.0",
+        "pify": "^4.0.1",
+        "rimraf": "^2.6.3"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/clean-webpack-plugin/node_modules/del/node_modules/pify": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+      "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/clean-webpack-plugin/node_modules/globby": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
+      "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==",
+      "dev": true,
+      "dependencies": {
+        "array-union": "^1.0.1",
+        "glob": "^7.0.3",
+        "object-assign": "^4.0.1",
+        "pify": "^2.0.0",
+        "pinkie-promise": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/clean-webpack-plugin/node_modules/is-path-cwd": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
+      "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/clean-webpack-plugin/node_modules/is-path-in-cwd": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz",
+      "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==",
+      "dev": true,
+      "dependencies": {
+        "is-path-inside": "^2.1.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/clean-webpack-plugin/node_modules/is-path-inside": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz",
+      "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==",
+      "dev": true,
+      "dependencies": {
+        "path-is-inside": "^1.0.2"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/clean-webpack-plugin/node_modules/p-map": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
+      "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/clean-webpack-plugin/node_modules/rimraf": {
+      "version": "2.7.1",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+      "dev": true,
+      "dependencies": {
+        "glob": "^7.1.3"
+      },
+      "bin": {
+        "rimraf": "bin.js"
+      }
+    },
+    "node_modules/cli-cursor": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
+      "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
+      "dev": true,
+      "dependencies": {
+        "restore-cursor": "^3.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/cli-spinners": {
+      "version": "2.6.1",
+      "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz",
+      "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/cli-width": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
+      "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
+      "dev": true,
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/clipboard": {
+      "version": "2.0.11",
+      "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.11.tgz",
+      "integrity": "sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==",
+      "optional": true,
+      "dependencies": {
+        "good-listener": "^1.2.2",
+        "select": "^1.1.2",
+        "tiny-emitter": "^2.0.0"
+      }
+    },
+    "node_modules/cliui": {
+      "version": "7.0.4",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+      "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+      "dev": true,
+      "dependencies": {
+        "string-width": "^4.2.0",
+        "strip-ansi": "^6.0.0",
+        "wrap-ansi": "^7.0.0"
+      }
+    },
+    "node_modules/clone": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+      "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8"
+      }
+    },
+    "node_modules/clone-deep": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
+      "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
+      "dev": true,
+      "dependencies": {
+        "is-plain-object": "^2.0.4",
+        "kind-of": "^6.0.2",
+        "shallow-clone": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/color-convert": {
+      "version": "1.9.3",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+      "dependencies": {
+        "color-name": "1.1.3"
+      }
+    },
+    "node_modules/color-name": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+    },
+    "node_modules/color-support": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+      "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
+      "dev": true,
+      "bin": {
+        "color-support": "bin.js"
+      }
+    },
+    "node_modules/colorette": {
+      "version": "2.0.20",
+      "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
+      "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
+      "dev": true
+    },
+    "node_modules/colors": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
+      "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.1.90"
+      }
+    },
+    "node_modules/combined-stream": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+      "dev": true,
+      "dependencies": {
+        "delayed-stream": "~1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/commander": {
+      "version": "2.20.3",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
+    },
+    "node_modules/commondir": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+      "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
+      "dev": true
+    },
+    "node_modules/compress-commons": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz",
+      "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==",
+      "dev": true,
+      "dependencies": {
+        "buffer-crc32": "^0.2.13",
+        "crc32-stream": "^4.0.2",
+        "normalize-path": "^3.0.0",
+        "readable-stream": "^3.6.0"
+      },
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/compressible": {
+      "version": "2.0.18",
+      "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
+      "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
+      "dev": true,
+      "dependencies": {
+        "mime-db": ">= 1.43.0 < 2"
+      },
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/compression": {
+      "version": "1.7.4",
+      "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
+      "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
+      "dev": true,
+      "dependencies": {
+        "accepts": "~1.3.5",
+        "bytes": "3.0.0",
+        "compressible": "~2.0.16",
+        "debug": "2.6.9",
+        "on-headers": "~1.0.2",
+        "safe-buffer": "5.1.2",
+        "vary": "~1.1.2"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/compression/node_modules/bytes": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+      "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/compression/node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.0.0"
+      }
+    },
+    "node_modules/compression/node_modules/ms": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+      "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+      "dev": true
+    },
+    "node_modules/concat-map": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+      "dev": true
+    },
+    "node_modules/connect": {
+      "version": "3.7.0",
+      "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
+      "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "debug": "2.6.9",
+        "finalhandler": "1.1.2",
+        "parseurl": "~1.3.3",
+        "utils-merge": "1.0.1"
+      },
+      "engines": {
+        "node": ">= 0.10.0"
+      }
+    },
+    "node_modules/connect-history-api-fallback": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz",
+      "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8"
+      }
+    },
+    "node_modules/connect/node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "ms": "2.0.0"
+      }
+    },
+    "node_modules/connect/node_modules/ms": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
+    "node_modules/console-control-strings": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+      "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
+      "dev": true
+    },
+    "node_modules/content-disposition": {
+      "version": "0.5.4",
+      "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
+      "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "5.2.1"
+      },
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/content-disposition/node_modules/safe-buffer": {
+      "version": "5.2.1",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ]
+    },
+    "node_modules/content-type": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+      "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/convert-source-map": {
+      "version": "1.8.0",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
+      "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
+      "dependencies": {
+        "safe-buffer": "~5.1.1"
+      }
+    },
+    "node_modules/cookie": {
+      "version": "0.4.2",
+      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
+      "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/cookie-signature": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+      "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==",
+      "dev": true
+    },
+    "node_modules/copy-anything": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz",
+      "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==",
+      "dev": true,
+      "dependencies": {
+        "is-what": "^3.14.1"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/mesqueeb"
+      }
+    },
+    "node_modules/copy-webpack-plugin": {
+      "version": "11.0.0",
+      "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz",
+      "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==",
+      "dev": true,
+      "dependencies": {
+        "fast-glob": "^3.2.11",
+        "glob-parent": "^6.0.1",
+        "globby": "^13.1.1",
+        "normalize-path": "^3.0.0",
+        "schema-utils": "^4.0.0",
+        "serialize-javascript": "^6.0.0"
+      },
+      "engines": {
+        "node": ">= 14.15.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependencies": {
+        "webpack": "^5.1.0"
+      }
+    },
+    "node_modules/copy-webpack-plugin/node_modules/glob-parent": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+      "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+      "dev": true,
+      "dependencies": {
+        "is-glob": "^4.0.3"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      }
+    },
+    "node_modules/core-js-compat": {
+      "version": "3.30.2",
+      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.2.tgz",
+      "integrity": "sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA==",
+      "dev": true,
+      "dependencies": {
+        "browserslist": "^4.21.5"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/core-js"
+      }
+    },
+    "node_modules/core-util-is": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+      "dev": true
+    },
+    "node_modules/cors": {
+      "version": "2.8.5",
+      "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
+      "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "object-assign": "^4",
+        "vary": "^1"
+      },
+      "engines": {
+        "node": ">= 0.10"
+      }
+    },
+    "node_modules/cose-base": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-1.0.3.tgz",
+      "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==",
+      "optional": true,
+      "dependencies": {
+        "layout-base": "^1.0.0"
+      }
+    },
+    "node_modules/cosmiconfig": {
+      "version": "8.1.3",
+      "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz",
+      "integrity": "sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==",
+      "dev": true,
+      "dependencies": {
+        "import-fresh": "^3.2.1",
+        "js-yaml": "^4.1.0",
+        "parse-json": "^5.0.0",
+        "path-type": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/d-fischer"
+      }
+    },
+    "node_modules/cosmiconfig-typescript-loader": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz",
+      "integrity": "sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=12",
+        "npm": ">=6"
+      },
+      "peerDependencies": {
+        "@types/node": "*",
+        "cosmiconfig": ">=7",
+        "ts-node": ">=10",
+        "typescript": ">=3"
+      }
+    },
+    "node_modules/cosmiconfig/node_modules/argparse": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+      "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+      "dev": true
+    },
+    "node_modules/cosmiconfig/node_modules/js-yaml": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+      "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+      "dev": true,
+      "dependencies": {
+        "argparse": "^2.0.1"
+      },
+      "bin": {
+        "js-yaml": "bin/js-yaml.js"
+      }
+    },
+    "node_modules/crc-32": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz",
+      "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==",
+      "dev": true,
+      "bin": {
+        "crc32": "bin/crc32.njs"
+      },
+      "engines": {
+        "node": ">=0.8"
+      }
+    },
+    "node_modules/crc32-stream": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz",
+      "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==",
+      "dev": true,
+      "dependencies": {
+        "crc-32": "^1.2.0",
+        "readable-stream": "^3.4.0"
+      },
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/create-require": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
+      "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
+      "dev": true
+    },
+    "node_modules/critters": {
+      "version": "0.0.16",
+      "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz",
+      "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^4.1.0",
+        "css-select": "^4.2.0",
+        "parse5": "^6.0.1",
+        "parse5-htmlparser2-tree-adapter": "^6.0.1",
+        "postcss": "^8.3.7",
+        "pretty-bytes": "^5.3.0"
+      }
+    },
+    "node_modules/critters/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/critters/node_modules/chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
+      }
+    },
+    "node_modules/critters/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/critters/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "node_modules/critters/node_modules/has-flag": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/critters/node_modules/parse5": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+      "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+      "dev": true
+    },
+    "node_modules/critters/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/cross-env": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz",
+      "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==",
+      "dev": true,
+      "dependencies": {
+        "cross-spawn": "^7.0.1"
+      },
+      "bin": {
+        "cross-env": "src/bin/cross-env.js",
+        "cross-env-shell": "src/bin/cross-env-shell.js"
+      },
+      "engines": {
+        "node": ">=10.14",
+        "npm": ">=6",
+        "yarn": ">=1"
+      }
+    },
+    "node_modules/cross-spawn": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+      "dev": true,
+      "dependencies": {
+        "path-key": "^3.1.0",
+        "shebang-command": "^2.0.0",
+        "which": "^2.0.1"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/cross-spawn/node_modules/which": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+      "dev": true,
+      "dependencies": {
+        "isexe": "^2.0.0"
+      },
+      "bin": {
+        "node-which": "bin/node-which"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/css-loader": {
+      "version": "6.7.3",
+      "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz",
+      "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==",
+      "dev": true,
+      "dependencies": {
+        "icss-utils": "^5.1.0",
+        "postcss": "^8.4.19",
+        "postcss-modules-extract-imports": "^3.0.0",
+        "postcss-modules-local-by-default": "^4.0.0",
+        "postcss-modules-scope": "^3.0.0",
+        "postcss-modules-values": "^4.0.0",
+        "postcss-value-parser": "^4.2.0",
+        "semver": "^7.3.8"
+      },
+      "engines": {
+        "node": ">= 12.13.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependencies": {
+        "webpack": "^5.0.0"
+      }
+    },
+    "node_modules/css-loader/node_modules/semver": {
+      "version": "7.5.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz",
+      "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^6.0.0"
+      },
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/css-select": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz",
+      "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==",
+      "dev": true,
+      "dependencies": {
+        "boolbase": "^1.0.0",
+        "css-what": "^6.0.1",
+        "domhandler": "^4.3.1",
+        "domutils": "^2.8.0",
+        "nth-check": "^2.0.1"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/fb55"
+      }
+    },
+    "node_modules/css-what": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
+      "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
+      "dev": true,
+      "engines": {
+        "node": ">= 6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/fb55"
+      }
+    },
+    "node_modules/cssesc": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+      "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+      "dev": true,
+      "bin": {
+        "cssesc": "bin/cssesc"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/cuint": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz",
+      "integrity": "sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==",
+      "dev": true
+    },
+    "node_modules/custom-event": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
+      "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
+    "node_modules/cytoscape": {
+      "version": "3.25.0",
+      "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.25.0.tgz",
+      "integrity": "sha512-7MW3Iz57mCUo6JQCho6CmPBCbTlJr7LzyEtIkutG255HLVd4XuBg2I9BkTZLI/e4HoaOB/BiAzXuQybQ95+r9Q==",
+      "optional": true,
+      "dependencies": {
+        "heap": "^0.2.6",
+        "lodash": "^4.17.21"
+      },
+      "engines": {
+        "node": ">=0.10"
+      }
+    },
+    "node_modules/cytoscape-cose-bilkent": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz",
+      "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==",
+      "optional": true,
+      "dependencies": {
+        "cose-base": "^1.0.0"
+      },
+      "peerDependencies": {
+        "cytoscape": "^3.2.0"
+      }
+    },
+    "node_modules/cytoscape-fcose": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz",
+      "integrity": "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==",
+      "optional": true,
+      "dependencies": {
+        "cose-base": "^2.2.0"
+      },
+      "peerDependencies": {
+        "cytoscape": "^3.2.0"
+      }
+    },
+    "node_modules/cytoscape-fcose/node_modules/cose-base": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-2.2.0.tgz",
+      "integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==",
+      "optional": true,
+      "dependencies": {
+        "layout-base": "^2.0.0"
+      }
+    },
+    "node_modules/cytoscape-fcose/node_modules/layout-base": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-2.0.1.tgz",
+      "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==",
+      "optional": true
+    },
+    "node_modules/d3": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/d3/-/d3-7.8.4.tgz",
+      "integrity": "sha512-q2WHStdhiBtD8DMmhDPyJmXUxr6VWRngKyiJ5EfXMxPw+tqT6BhNjhJZ4w3BHsNm3QoVfZLY8Orq/qPFczwKRA==",
+      "dependencies": {
+        "d3-array": "3",
+        "d3-axis": "3",
+        "d3-brush": "3",
+        "d3-chord": "3",
+        "d3-color": "3",
+        "d3-contour": "4",
+        "d3-delaunay": "6",
+        "d3-dispatch": "3",
+        "d3-drag": "3",
+        "d3-dsv": "3",
+        "d3-ease": "3",
+        "d3-fetch": "3",
+        "d3-force": "3",
+        "d3-format": "3",
+        "d3-geo": "3",
+        "d3-hierarchy": "3",
+        "d3-interpolate": "3",
+        "d3-path": "3",
+        "d3-polygon": "3",
+        "d3-quadtree": "3",
+        "d3-random": "3",
+        "d3-scale": "4",
+        "d3-scale-chromatic": "3",
+        "d3-selection": "3",
+        "d3-shape": "3",
+        "d3-time": "3",
+        "d3-time-format": "4",
+        "d3-timer": "3",
+        "d3-transition": "3",
+        "d3-zoom": "3"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-array": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.0.tgz",
+      "integrity": "sha512-3yXFQo0oG3QCxbF06rMPFyGRMGJNS7NvsV1+2joOjbBE+9xvWQ8+GcMJAjRCzw06zQ3/arXeJgbPYcjUCuC+3g==",
+      "dependencies": {
+        "internmap": "1 - 2"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-axis": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz",
+      "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==",
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-brush": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz",
+      "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==",
+      "dependencies": {
+        "d3-dispatch": "1 - 3",
+        "d3-drag": "2 - 3",
+        "d3-interpolate": "1 - 3",
+        "d3-selection": "3",
+        "d3-transition": "3"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-chord": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz",
+      "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==",
+      "dependencies": {
+        "d3-path": "1 - 3"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-color": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
+      "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==",
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-contour": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.0.tgz",
+      "integrity": "sha512-7aQo0QHUTu/Ko3cP9YK9yUTxtoDEiDGwnBHyLxG5M4vqlBkO/uixMRele3nfsfj6UXOcuReVpVXzAboGraYIJw==",
+      "dependencies": {
+        "d3-array": "^3.2.0"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-delaunay": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.2.tgz",
+      "integrity": "sha512-IMLNldruDQScrcfT+MWnazhHbDJhcRJyOEBAJfwQnHle1RPh6WDuLvxNArUju2VSMSUuKlY5BGHRJ2cYyoFLQQ==",
+      "dependencies": {
+        "delaunator": "5"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-dispatch": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz",
+      "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==",
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-drag": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz",
+      "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==",
+      "dependencies": {
+        "d3-dispatch": "1 - 3",
+        "d3-selection": "3"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-dsv": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz",
+      "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==",
+      "dependencies": {
+        "commander": "7",
+        "iconv-lite": "0.6",
+        "rw": "1"
+      },
+      "bin": {
+        "csv2json": "bin/dsv2json.js",
+        "csv2tsv": "bin/dsv2dsv.js",
+        "dsv2dsv": "bin/dsv2dsv.js",
+        "dsv2json": "bin/dsv2json.js",
+        "json2csv": "bin/json2dsv.js",
+        "json2dsv": "bin/json2dsv.js",
+        "json2tsv": "bin/json2dsv.js",
+        "tsv2csv": "bin/dsv2dsv.js",
+        "tsv2json": "bin/dsv2json.js"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-dsv/node_modules/commander": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
+      "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/d3-ease": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz",
+      "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==",
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-fetch": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz",
+      "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==",
+      "dependencies": {
+        "d3-dsv": "1 - 3"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-force": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz",
+      "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==",
+      "dependencies": {
+        "d3-dispatch": "1 - 3",
+        "d3-quadtree": "1 - 3",
+        "d3-timer": "1 - 3"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-format": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz",
+      "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==",
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-geo": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.0.1.tgz",
+      "integrity": "sha512-Wt23xBych5tSy9IYAM1FR2rWIBFWa52B/oF/GYe5zbdHrg08FU8+BuI6X4PvTwPDdqdAdq04fuWJpELtsaEjeA==",
+      "dependencies": {
+        "d3-array": "2.5.0 - 3"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-hierarchy": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.1.tgz",
+      "integrity": "sha512-LtAIu54UctRmhGKllleflmHalttH3zkfSi4NlKrTAoFKjC+AFBJohsCAdgCBYQwH0F8hIOGY89X1pPqAchlMkA==",
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-interpolate": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
+      "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
+      "dependencies": {
+        "d3-color": "1 - 3"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-path": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.0.1.tgz",
+      "integrity": "sha512-gq6gZom9AFZby0YLduxT1qmrp4xpBA1YZr19OI717WIdKE2OM5ETq5qrHLb301IgxhLwcuxvGZVLeeWc/k1I6w==",
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-polygon": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz",
+      "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==",
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-quadtree": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz",
+      "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==",
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-random": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz",
+      "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==",
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-scale": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz",
+      "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==",
+      "dependencies": {
+        "d3-array": "2.10.0 - 3",
+        "d3-format": "1 - 3",
+        "d3-interpolate": "1.2.0 - 3",
+        "d3-time": "2.1.1 - 3",
+        "d3-time-format": "2 - 4"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-scale-chromatic": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz",
+      "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==",
+      "dependencies": {
+        "d3-color": "1 - 3",
+        "d3-interpolate": "1 - 3"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-selection": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz",
+      "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==",
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-shape": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.1.0.tgz",
+      "integrity": "sha512-tGDh1Muf8kWjEDT/LswZJ8WF85yDZLvVJpYU9Nq+8+yW1Z5enxrmXOhTArlkaElU+CTn0OTVNli+/i+HP45QEQ==",
+      "dependencies": {
+        "d3-path": "1 - 3"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-time": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.0.0.tgz",
+      "integrity": "sha512-zmV3lRnlaLI08y9IMRXSDshQb5Nj77smnfpnd2LrBa/2K281Jijactokeak14QacHs/kKq0AQ121nidNYlarbQ==",
+      "dependencies": {
+        "d3-array": "2 - 3"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-time-format": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz",
+      "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==",
+      "dependencies": {
+        "d3-time": "1 - 3"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-timer": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz",
+      "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==",
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-transition": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz",
+      "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==",
+      "dependencies": {
+        "d3-color": "1 - 3",
+        "d3-dispatch": "1 - 3",
+        "d3-ease": "1 - 3",
+        "d3-interpolate": "1 - 3",
+        "d3-timer": "1 - 3"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "peerDependencies": {
+        "d3-selection": "2 - 3"
+      }
+    },
+    "node_modules/d3-zoom": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz",
+      "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==",
+      "dependencies": {
+        "d3-dispatch": "1 - 3",
+        "d3-drag": "2 - 3",
+        "d3-interpolate": "1 - 3",
+        "d3-selection": "2 - 3",
+        "d3-transition": "2 - 3"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/dagre-d3-es": {
+      "version": "7.0.9",
+      "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.9.tgz",
+      "integrity": "sha512-rYR4QfVmy+sR44IBDvVtcAmOReGBvRCWDpO2QjYwqgh9yijw6eSHBqaPG/LIOEy7aBsniLvtMW6pg19qJhq60w==",
+      "optional": true,
+      "dependencies": {
+        "d3": "^7.8.2",
+        "lodash-es": "^4.17.21"
+      }
+    },
+    "node_modules/dashdash": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+      "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+      "dev": true,
+      "dependencies": {
+        "assert-plus": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10"
+      }
+    },
+    "node_modules/data-urls": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz",
+      "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==",
+      "dependencies": {
+        "whatwg-mimetype": "^4.0.0",
+        "whatwg-url": "^14.0.0"
+      },
+      "engines": {
+        "node": ">=18"
+      }
+    },
+    "node_modules/date-fns": {
+      "version": "2.30.0",
+      "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz",
+      "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==",
+      "dependencies": {
+        "@babel/runtime": "^7.21.0"
+      },
+      "engines": {
+        "node": ">=0.11"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/date-fns"
+      }
+    },
+    "node_modules/date-format": {
+      "version": "4.0.11",
+      "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.11.tgz",
+      "integrity": "sha512-VS20KRyorrbMCQmpdl2hg5KaOUsda1RbnsJg461FfrcyCUg+pkd0b40BSW4niQyTheww4DBXQnS7HwSrKkipLw==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "engines": {
+        "node": ">=4.0"
+      }
+    },
+    "node_modules/dayjs": {
+      "version": "1.11.7",
+      "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz",
+      "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==",
+      "optional": true
+    },
+    "node_modules/debug": {
+      "version": "4.3.4",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+      "dependencies": {
+        "ms": "2.1.2"
+      },
+      "engines": {
+        "node": ">=6.0"
+      },
+      "peerDependenciesMeta": {
+        "supports-color": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/decamelize": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/deep-equal": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.1.tgz",
+      "integrity": "sha512-lKdkdV6EOGoVn65XaOsPdH4rMxTZOnmFyuIkMjM1i5HHCbfjC97dawgTAy0deYNfuqUqW+Q5VrVaQYtUpSd6yQ==",
+      "dev": true,
+      "dependencies": {
+        "array-buffer-byte-length": "^1.0.0",
+        "call-bind": "^1.0.2",
+        "es-get-iterator": "^1.1.3",
+        "get-intrinsic": "^1.2.0",
+        "is-arguments": "^1.1.1",
+        "is-array-buffer": "^3.0.2",
+        "is-date-object": "^1.0.5",
+        "is-regex": "^1.1.4",
+        "is-shared-array-buffer": "^1.0.2",
+        "isarray": "^2.0.5",
+        "object-is": "^1.1.5",
+        "object-keys": "^1.1.1",
+        "object.assign": "^4.1.4",
+        "regexp.prototype.flags": "^1.5.0",
+        "side-channel": "^1.0.4",
+        "which-boxed-primitive": "^1.0.2",
+        "which-collection": "^1.0.1",
+        "which-typed-array": "^1.1.9"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/deep-equal/node_modules/isarray": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+      "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
+      "dev": true
+    },
+    "node_modules/deep-is": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+      "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
+      "dev": true
+    },
+    "node_modules/deepmerge": {
+      "version": "4.3.1",
+      "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
+      "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/default-gateway": {
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz",
+      "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==",
+      "dev": true,
+      "dependencies": {
+        "execa": "^5.0.0"
+      },
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/defaults": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
+      "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
+      "dev": true,
+      "dependencies": {
+        "clone": "^1.0.2"
+      }
+    },
+    "node_modules/define-data-property": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+      "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
+      "dev": true,
+      "dependencies": {
+        "es-define-property": "^1.0.0",
+        "es-errors": "^1.3.0",
+        "gopd": "^1.0.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/define-lazy-prop": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
+      "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/define-properties": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
+      "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
+      "dev": true,
+      "dependencies": {
+        "define-data-property": "^1.0.1",
+        "has-property-descriptors": "^1.0.0",
+        "object-keys": "^1.1.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/del": {
+      "version": "2.2.2",
+      "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
+      "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
+      "dev": true,
+      "dependencies": {
+        "globby": "^5.0.0",
+        "is-path-cwd": "^1.0.0",
+        "is-path-in-cwd": "^1.0.0",
+        "object-assign": "^4.0.1",
+        "pify": "^2.0.0",
+        "pinkie-promise": "^2.0.0",
+        "rimraf": "^2.2.8"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/del/node_modules/array-union": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+      "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+      "dev": true,
+      "dependencies": {
+        "array-uniq": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/del/node_modules/globby": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
+      "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
+      "dev": true,
+      "dependencies": {
+        "array-union": "^1.0.1",
+        "arrify": "^1.0.0",
+        "glob": "^7.0.3",
+        "object-assign": "^4.0.1",
+        "pify": "^2.0.0",
+        "pinkie-promise": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/del/node_modules/rimraf": {
+      "version": "2.7.1",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+      "dev": true,
+      "dependencies": {
+        "glob": "^7.1.3"
+      },
+      "bin": {
+        "rimraf": "bin.js"
+      }
+    },
+    "node_modules/delaunator": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz",
+      "integrity": "sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==",
+      "dependencies": {
+        "robust-predicates": "^3.0.0"
+      }
+    },
+    "node_modules/delayed-stream": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/delegate": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz",
+      "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==",
+      "optional": true
+    },
+    "node_modules/delegates": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+      "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
+      "dev": true
+    },
+    "node_modules/depd": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+      "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/dependency-graph": {
+      "version": "0.11.0",
+      "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz",
+      "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6.0"
+      }
+    },
+    "node_modules/destroy": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+      "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8",
+        "npm": "1.2.8000 || >= 1.4.16"
+      }
+    },
+    "node_modules/detect-node": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
+      "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
+      "dev": true
+    },
+    "node_modules/di": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
+      "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
+    "node_modules/didyoumean": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
+      "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
+      "dev": true
+    },
+    "node_modules/diff": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
+      "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.3.1"
+      }
+    },
+    "node_modules/dir-glob": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+      "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+      "dev": true,
+      "dependencies": {
+        "path-type": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/dlv": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
+      "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
+      "dev": true
+    },
+    "node_modules/dns-equal": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
+      "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==",
+      "dev": true
+    },
+    "node_modules/dns-packet": {
+      "version": "5.6.0",
+      "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz",
+      "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==",
+      "dev": true,
+      "dependencies": {
+        "@leichtgewicht/ip-codec": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/doctrine": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+      "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+      "dev": true,
+      "dependencies": {
+        "esutils": "^2.0.2"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/dom-serialize": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
+      "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "custom-event": "~1.0.0",
+        "ent": "~2.2.0",
+        "extend": "^3.0.0",
+        "void-elements": "^2.0.0"
+      }
+    },
+    "node_modules/dom-serializer": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
+      "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
+      "dev": true,
+      "dependencies": {
+        "domelementtype": "^2.0.1",
+        "domhandler": "^4.2.0",
+        "entities": "^2.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
+      }
+    },
+    "node_modules/domelementtype": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
+      "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/fb55"
+        }
+      ]
+    },
+    "node_modules/domhandler": {
+      "version": "4.3.1",
+      "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
+      "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
+      "dev": true,
+      "dependencies": {
+        "domelementtype": "^2.2.0"
+      },
+      "engines": {
+        "node": ">= 4"
+      },
+      "funding": {
+        "url": "https://github.com/fb55/domhandler?sponsor=1"
+      }
+    },
+    "node_modules/dompurify": {
+      "version": "2.4.3",
+      "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.3.tgz",
+      "integrity": "sha512-q6QaLcakcRjebxjg8/+NP+h0rPfatOgOzc46Fst9VAA3jF2ApfKBNKMzdP4DYTqtUMXSCd5pRS/8Po/OmoCHZQ==",
+      "optional": true
+    },
+    "node_modules/domutils": {
+      "version": "2.8.0",
+      "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
+      "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
+      "dev": true,
+      "dependencies": {
+        "dom-serializer": "^1.0.1",
+        "domelementtype": "^2.2.0",
+        "domhandler": "^4.2.0"
+      },
+      "funding": {
+        "url": "https://github.com/fb55/domutils?sponsor=1"
+      }
+    },
+    "node_modules/dotenv": {
+      "version": "10.0.0",
+      "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz",
+      "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/duplexer": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
+      "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
+      "dev": true
+    },
+    "node_modules/eastasianwidth": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+      "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
+      "dev": true
+    },
+    "node_modules/ecc-jsbn": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+      "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+      "dev": true,
+      "dependencies": {
+        "jsbn": "~0.1.0",
+        "safer-buffer": "^2.1.0"
+      }
+    },
+    "node_modules/ee-first": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
+      "dev": true
+    },
+    "node_modules/ejs": {
+      "version": "3.1.9",
+      "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz",
+      "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==",
+      "dev": true,
+      "dependencies": {
+        "jake": "^10.8.5"
+      },
+      "bin": {
+        "ejs": "bin/cli.js"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/electron-to-chromium": {
+      "version": "1.4.396",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.396.tgz",
+      "integrity": "sha512-pqKTdqp/c5vsrc0xUPYXTDBo9ixZuGY8es4ZOjjd6HD6bFYbu5QA09VoW3fkY4LF1T0zYk86lN6bZnNlBuOpdQ=="
+    },
+    "node_modules/elkjs": {
+      "version": "0.8.2",
+      "resolved": "https://registry.npmjs.org/elkjs/-/elkjs-0.8.2.tgz",
+      "integrity": "sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==",
+      "optional": true
+    },
+    "node_modules/emoji-regex": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+    },
+    "node_modules/emoji-toolkit": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/emoji-toolkit/-/emoji-toolkit-7.0.1.tgz",
+      "integrity": "sha512-l5aJyAhpC5s4mDuoVuqt4SzVjwIsIvakPh4ZGJJE4KWuWFCEHaXacQFkStVdD9zbRR+/BbRXob7u99o0lQFr8A=="
+    },
+    "node_modules/emojis-list": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
+      "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
+      "dev": true,
+      "engines": {
+        "node": ">= 4"
+      }
+    },
+    "node_modules/encodeurl": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+      "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/encoding": {
+      "version": "0.1.13",
+      "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
+      "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "iconv-lite": "^0.6.2"
+      }
+    },
+    "node_modules/end-of-stream": {
+      "version": "1.4.4",
+      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+      "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+      "dev": true,
+      "dependencies": {
+        "once": "^1.4.0"
+      }
+    },
+    "node_modules/engine.io": {
+      "version": "6.4.2",
+      "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.4.2.tgz",
+      "integrity": "sha512-FKn/3oMiJjrOEOeUub2WCox6JhxBXq/Zn3fZOMCBxKnNYtsdKjxhl7yR3fZhM9PV+rdE75SU5SYMc+2PGzo+Tg==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "@types/cookie": "^0.4.1",
+        "@types/cors": "^2.8.12",
+        "@types/node": ">=10.0.0",
+        "accepts": "~1.3.4",
+        "base64id": "2.0.0",
+        "cookie": "~0.4.1",
+        "cors": "~2.8.5",
+        "debug": "~4.3.1",
+        "engine.io-parser": "~5.0.3",
+        "ws": "~8.11.0"
+      },
+      "engines": {
+        "node": ">=10.0.0"
+      }
+    },
+    "node_modules/engine.io-parser": {
+      "version": "5.0.6",
+      "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz",
+      "integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "engines": {
+        "node": ">=10.0.0"
+      }
+    },
+    "node_modules/enhanced-resolve": {
+      "version": "5.14.0",
+      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.14.0.tgz",
+      "integrity": "sha512-+DCows0XNwLDcUhbFJPdlQEVnT2zXlCv7hPxemTz86/O+B/hCQ+mb7ydkPKiflpVraqLPCAfu7lDy+hBXueojw==",
+      "dev": true,
+      "dependencies": {
+        "graceful-fs": "^4.2.4",
+        "tapable": "^2.2.0"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      }
+    },
+    "node_modules/enquirer": {
+      "version": "2.3.6",
+      "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
+      "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
+      "dev": true,
+      "dependencies": {
+        "ansi-colors": "^4.1.1"
+      },
+      "engines": {
+        "node": ">=8.6"
+      }
+    },
+    "node_modules/ent": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
+      "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
+    "node_modules/entities": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+      "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
+      "dev": true,
+      "funding": {
+        "url": "https://github.com/fb55/entities?sponsor=1"
+      }
+    },
+    "node_modules/env-paths": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
+      "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/err-code": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
+      "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
+      "dev": true
+    },
+    "node_modules/errno": {
+      "version": "0.1.8",
+      "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
+      "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "prr": "~1.0.1"
+      },
+      "bin": {
+        "errno": "cli.js"
+      }
+    },
+    "node_modules/error-ex": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+      "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+      "dev": true,
+      "dependencies": {
+        "is-arrayish": "^0.2.1"
+      }
+    },
+    "node_modules/es-abstract": {
+      "version": "1.22.5",
+      "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.5.tgz",
+      "integrity": "sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w==",
+      "dev": true,
+      "dependencies": {
+        "array-buffer-byte-length": "^1.0.1",
+        "arraybuffer.prototype.slice": "^1.0.3",
+        "available-typed-arrays": "^1.0.7",
+        "call-bind": "^1.0.7",
+        "es-define-property": "^1.0.0",
+        "es-errors": "^1.3.0",
+        "es-set-tostringtag": "^2.0.3",
+        "es-to-primitive": "^1.2.1",
+        "function.prototype.name": "^1.1.6",
+        "get-intrinsic": "^1.2.4",
+        "get-symbol-description": "^1.0.2",
+        "globalthis": "^1.0.3",
+        "gopd": "^1.0.1",
+        "has-property-descriptors": "^1.0.2",
+        "has-proto": "^1.0.3",
+        "has-symbols": "^1.0.3",
+        "hasown": "^2.0.1",
+        "internal-slot": "^1.0.7",
+        "is-array-buffer": "^3.0.4",
+        "is-callable": "^1.2.7",
+        "is-negative-zero": "^2.0.3",
+        "is-regex": "^1.1.4",
+        "is-shared-array-buffer": "^1.0.3",
+        "is-string": "^1.0.7",
+        "is-typed-array": "^1.1.13",
+        "is-weakref": "^1.0.2",
+        "object-inspect": "^1.13.1",
+        "object-keys": "^1.1.1",
+        "object.assign": "^4.1.5",
+        "regexp.prototype.flags": "^1.5.2",
+        "safe-array-concat": "^1.1.0",
+        "safe-regex-test": "^1.0.3",
+        "string.prototype.trim": "^1.2.8",
+        "string.prototype.trimend": "^1.0.7",
+        "string.prototype.trimstart": "^1.0.7",
+        "typed-array-buffer": "^1.0.2",
+        "typed-array-byte-length": "^1.0.1",
+        "typed-array-byte-offset": "^1.0.2",
+        "typed-array-length": "^1.0.5",
+        "unbox-primitive": "^1.0.2",
+        "which-typed-array": "^1.1.14"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/es-define-property": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
+      "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
+      "dev": true,
+      "dependencies": {
+        "get-intrinsic": "^1.2.4"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/es-errors": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+      "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/es-get-iterator": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz",
+      "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "get-intrinsic": "^1.1.3",
+        "has-symbols": "^1.0.3",
+        "is-arguments": "^1.1.1",
+        "is-map": "^2.0.2",
+        "is-set": "^2.0.2",
+        "is-string": "^1.0.7",
+        "isarray": "^2.0.5",
+        "stop-iteration-iterator": "^1.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/es-get-iterator/node_modules/isarray": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+      "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
+      "dev": true
+    },
+    "node_modules/es-module-lexer": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz",
+      "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==",
+      "dev": true
+    },
+    "node_modules/es-set-tostringtag": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz",
+      "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==",
+      "dev": true,
+      "dependencies": {
+        "get-intrinsic": "^1.2.4",
+        "has-tostringtag": "^1.0.2",
+        "hasown": "^2.0.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/es-to-primitive": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+      "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+      "dev": true,
+      "dependencies": {
+        "is-callable": "^1.1.4",
+        "is-date-object": "^1.0.1",
+        "is-symbol": "^1.0.2"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/es6-promise": {
+      "version": "4.2.8",
+      "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
+      "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==",
+      "dev": true
+    },
+    "node_modules/es6-promisify": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
+      "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
+      "dev": true,
+      "dependencies": {
+        "es6-promise": "^4.0.3"
+      }
+    },
+    "node_modules/esbuild": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.18.tgz",
+      "integrity": "sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==",
+      "dev": true,
+      "hasInstallScript": true,
+      "bin": {
+        "esbuild": "bin/esbuild"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "optionalDependencies": {
+        "@esbuild/android-arm": "0.17.18",
+        "@esbuild/android-arm64": "0.17.18",
+        "@esbuild/android-x64": "0.17.18",
+        "@esbuild/darwin-arm64": "0.17.18",
+        "@esbuild/darwin-x64": "0.17.18",
+        "@esbuild/freebsd-arm64": "0.17.18",
+        "@esbuild/freebsd-x64": "0.17.18",
+        "@esbuild/linux-arm": "0.17.18",
+        "@esbuild/linux-arm64": "0.17.18",
+        "@esbuild/linux-ia32": "0.17.18",
+        "@esbuild/linux-loong64": "0.17.18",
+        "@esbuild/linux-mips64el": "0.17.18",
+        "@esbuild/linux-ppc64": "0.17.18",
+        "@esbuild/linux-riscv64": "0.17.18",
+        "@esbuild/linux-s390x": "0.17.18",
+        "@esbuild/linux-x64": "0.17.18",
+        "@esbuild/netbsd-x64": "0.17.18",
+        "@esbuild/openbsd-x64": "0.17.18",
+        "@esbuild/sunos-x64": "0.17.18",
+        "@esbuild/win32-arm64": "0.17.18",
+        "@esbuild/win32-ia32": "0.17.18",
+        "@esbuild/win32-x64": "0.17.18"
+      }
+    },
+    "node_modules/esbuild-wasm": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.17.18.tgz",
+      "integrity": "sha512-h4m5zVa+KaDuRFIbH9dokMwovvkIjTQJS7/Ry+0Z1paVuS9aIkso2vdA2GmwH9GSvGX6w71WveJ3PfkoLuWaRw==",
+      "dev": true,
+      "bin": {
+        "esbuild": "bin/esbuild"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/escalade": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+      "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/escape-html": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
+      "dev": true
+    },
+    "node_modules/escape-string-regexp": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/eslint": {
+      "version": "8.40.0",
+      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.40.0.tgz",
+      "integrity": "sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ==",
+      "dev": true,
+      "dependencies": {
+        "@eslint-community/eslint-utils": "^4.2.0",
+        "@eslint-community/regexpp": "^4.4.0",
+        "@eslint/eslintrc": "^2.0.3",
+        "@eslint/js": "8.40.0",
+        "@humanwhocodes/config-array": "^0.11.8",
+        "@humanwhocodes/module-importer": "^1.0.1",
+        "@nodelib/fs.walk": "^1.2.8",
+        "ajv": "^6.10.0",
+        "chalk": "^4.0.0",
+        "cross-spawn": "^7.0.2",
+        "debug": "^4.3.2",
+        "doctrine": "^3.0.0",
+        "escape-string-regexp": "^4.0.0",
+        "eslint-scope": "^7.2.0",
+        "eslint-visitor-keys": "^3.4.1",
+        "espree": "^9.5.2",
+        "esquery": "^1.4.2",
+        "esutils": "^2.0.2",
+        "fast-deep-equal": "^3.1.3",
+        "file-entry-cache": "^6.0.1",
+        "find-up": "^5.0.0",
+        "glob-parent": "^6.0.2",
+        "globals": "^13.19.0",
+        "grapheme-splitter": "^1.0.4",
+        "ignore": "^5.2.0",
+        "import-fresh": "^3.0.0",
+        "imurmurhash": "^0.1.4",
+        "is-glob": "^4.0.0",
+        "is-path-inside": "^3.0.3",
+        "js-sdsl": "^4.1.4",
+        "js-yaml": "^4.1.0",
+        "json-stable-stringify-without-jsonify": "^1.0.1",
+        "levn": "^0.4.1",
+        "lodash.merge": "^4.6.2",
+        "minimatch": "^3.1.2",
+        "natural-compare": "^1.4.0",
+        "optionator": "^0.9.1",
+        "strip-ansi": "^6.0.1",
+        "strip-json-comments": "^3.1.0",
+        "text-table": "^0.2.0"
+      },
+      "bin": {
+        "eslint": "bin/eslint.js"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/eslint"
+      }
+    },
+    "node_modules/eslint-scope": {
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+      "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+      "dev": true,
+      "dependencies": {
+        "esrecurse": "^4.3.0",
+        "estraverse": "^4.1.1"
+      },
+      "engines": {
+        "node": ">=8.0.0"
+      }
+    },
+    "node_modules/eslint-visitor-keys": {
+      "version": "3.4.1",
+      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz",
+      "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==",
+      "dev": true,
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/eslint"
+      }
+    },
+    "node_modules/eslint/node_modules/ajv": {
+      "version": "6.12.6",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+      "dev": true,
+      "dependencies": {
+        "fast-deep-equal": "^3.1.1",
+        "fast-json-stable-stringify": "^2.0.0",
+        "json-schema-traverse": "^0.4.1",
+        "uri-js": "^4.2.2"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/epoberezkin"
+      }
+    },
+    "node_modules/eslint/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/eslint/node_modules/argparse": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+      "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+      "dev": true
+    },
+    "node_modules/eslint/node_modules/chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
+      }
+    },
+    "node_modules/eslint/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/eslint/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "node_modules/eslint/node_modules/escape-string-regexp": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/eslint/node_modules/eslint-scope": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz",
+      "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==",
+      "dev": true,
+      "dependencies": {
+        "esrecurse": "^4.3.0",
+        "estraverse": "^5.2.0"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/eslint"
+      }
+    },
+    "node_modules/eslint/node_modules/estraverse": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+      "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+      "dev": true,
+      "engines": {
+        "node": ">=4.0"
+      }
+    },
+    "node_modules/eslint/node_modules/find-up": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+      "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+      "dev": true,
+      "dependencies": {
+        "locate-path": "^6.0.0",
+        "path-exists": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/eslint/node_modules/glob-parent": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+      "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+      "dev": true,
+      "dependencies": {
+        "is-glob": "^4.0.3"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      }
+    },
+    "node_modules/eslint/node_modules/globals": {
+      "version": "13.20.0",
+      "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz",
+      "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
+      "dev": true,
+      "dependencies": {
+        "type-fest": "^0.20.2"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/eslint/node_modules/has-flag": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/eslint/node_modules/is-path-inside": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
+      "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/eslint/node_modules/js-yaml": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+      "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+      "dev": true,
+      "dependencies": {
+        "argparse": "^2.0.1"
+      },
+      "bin": {
+        "js-yaml": "bin/js-yaml.js"
+      }
+    },
+    "node_modules/eslint/node_modules/json-schema-traverse": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+      "dev": true
+    },
+    "node_modules/eslint/node_modules/locate-path": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+      "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+      "dev": true,
+      "dependencies": {
+        "p-locate": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/eslint/node_modules/minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^1.1.7"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/eslint/node_modules/p-locate": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+      "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+      "dev": true,
+      "dependencies": {
+        "p-limit": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/eslint/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/eslint/node_modules/type-fest": {
+      "version": "0.20.2",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+      "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/espree": {
+      "version": "9.5.2",
+      "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz",
+      "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==",
+      "dev": true,
+      "dependencies": {
+        "acorn": "^8.8.0",
+        "acorn-jsx": "^5.3.2",
+        "eslint-visitor-keys": "^3.4.1"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/eslint"
+      }
+    },
+    "node_modules/espree/node_modules/acorn": {
+      "version": "8.8.2",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
+      "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
+      "dev": true,
+      "bin": {
+        "acorn": "bin/acorn"
+      },
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/esprima": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+      "dev": true,
+      "bin": {
+        "esparse": "bin/esparse.js",
+        "esvalidate": "bin/esvalidate.js"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/esquery": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
+      "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
+      "dev": true,
+      "dependencies": {
+        "estraverse": "^5.1.0"
+      },
+      "engines": {
+        "node": ">=0.10"
+      }
+    },
+    "node_modules/esquery/node_modules/estraverse": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+      "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+      "dev": true,
+      "engines": {
+        "node": ">=4.0"
+      }
+    },
+    "node_modules/esrecurse": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+      "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+      "dev": true,
+      "dependencies": {
+        "estraverse": "^5.2.0"
+      },
+      "engines": {
+        "node": ">=4.0"
+      }
+    },
+    "node_modules/esrecurse/node_modules/estraverse": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+      "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+      "dev": true,
+      "engines": {
+        "node": ">=4.0"
+      }
+    },
+    "node_modules/estraverse": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+      "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+      "dev": true,
+      "engines": {
+        "node": ">=4.0"
+      }
+    },
+    "node_modules/estree-walker": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+      "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+      "dev": true
+    },
+    "node_modules/esutils": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/etag": {
+      "version": "1.8.1",
+      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+      "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/eventemitter-asyncresource": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz",
+      "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==",
+      "dev": true
+    },
+    "node_modules/eventemitter3": {
+      "version": "4.0.7",
+      "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
+      "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
+      "dev": true
+    },
+    "node_modules/events": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8.x"
+      }
+    },
+    "node_modules/execa": {
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+      "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+      "dev": true,
+      "dependencies": {
+        "cross-spawn": "^7.0.3",
+        "get-stream": "^6.0.0",
+        "human-signals": "^2.1.0",
+        "is-stream": "^2.0.0",
+        "merge-stream": "^2.0.0",
+        "npm-run-path": "^4.0.1",
+        "onetime": "^5.1.2",
+        "signal-exit": "^3.0.3",
+        "strip-final-newline": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sindresorhus/execa?sponsor=1"
+      }
+    },
+    "node_modules/exit": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+      "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/express": {
+      "version": "4.18.2",
+      "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
+      "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
+      "dev": true,
+      "dependencies": {
+        "accepts": "~1.3.8",
+        "array-flatten": "1.1.1",
+        "body-parser": "1.20.1",
+        "content-disposition": "0.5.4",
+        "content-type": "~1.0.4",
+        "cookie": "0.5.0",
+        "cookie-signature": "1.0.6",
+        "debug": "2.6.9",
+        "depd": "2.0.0",
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "etag": "~1.8.1",
+        "finalhandler": "1.2.0",
+        "fresh": "0.5.2",
+        "http-errors": "2.0.0",
+        "merge-descriptors": "1.0.1",
+        "methods": "~1.1.2",
+        "on-finished": "2.4.1",
+        "parseurl": "~1.3.3",
+        "path-to-regexp": "0.1.7",
+        "proxy-addr": "~2.0.7",
+        "qs": "6.11.0",
+        "range-parser": "~1.2.1",
+        "safe-buffer": "5.2.1",
+        "send": "0.18.0",
+        "serve-static": "1.15.0",
+        "setprototypeof": "1.2.0",
+        "statuses": "2.0.1",
+        "type-is": "~1.6.18",
+        "utils-merge": "1.0.1",
+        "vary": "~1.1.2"
+      },
+      "engines": {
+        "node": ">= 0.10.0"
+      }
+    },
+    "node_modules/express/node_modules/array-flatten": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+      "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
+      "dev": true
+    },
+    "node_modules/express/node_modules/cookie": {
+      "version": "0.5.0",
+      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
+      "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/express/node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.0.0"
+      }
+    },
+    "node_modules/express/node_modules/finalhandler": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
+      "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
+      "dev": true,
+      "dependencies": {
+        "debug": "2.6.9",
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "on-finished": "2.4.1",
+        "parseurl": "~1.3.3",
+        "statuses": "2.0.1",
+        "unpipe": "~1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/express/node_modules/ms": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+      "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+      "dev": true
+    },
+    "node_modules/express/node_modules/on-finished": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+      "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+      "dev": true,
+      "dependencies": {
+        "ee-first": "1.1.1"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/express/node_modules/safe-buffer": {
+      "version": "5.2.1",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ]
+    },
+    "node_modules/express/node_modules/statuses": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+      "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/extend": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+      "dev": true
+    },
+    "node_modules/external-editor": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
+      "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
+      "dev": true,
+      "dependencies": {
+        "chardet": "^0.7.0",
+        "iconv-lite": "^0.4.24",
+        "tmp": "^0.0.33"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/external-editor/node_modules/iconv-lite": {
+      "version": "0.4.24",
+      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+      "dev": true,
+      "dependencies": {
+        "safer-buffer": ">= 2.1.2 < 3"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/extsprintf": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+      "dev": true,
+      "engines": [
+        "node >=0.6.0"
+      ]
+    },
+    "node_modules/fast-deep-equal": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+      "dev": true
+    },
+    "node_modules/fast-glob": {
+      "version": "3.2.12",
+      "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
+      "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
+      "dev": true,
+      "dependencies": {
+        "@nodelib/fs.stat": "^2.0.2",
+        "@nodelib/fs.walk": "^1.2.3",
+        "glob-parent": "^5.1.2",
+        "merge2": "^1.3.0",
+        "micromatch": "^4.0.4"
+      },
+      "engines": {
+        "node": ">=8.6.0"
+      }
+    },
+    "node_modules/fast-json-stable-stringify": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+      "dev": true
+    },
+    "node_modules/fast-levenshtein": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+      "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
+      "dev": true
+    },
+    "node_modules/fastq": {
+      "version": "1.13.0",
+      "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
+      "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
+      "dev": true,
+      "dependencies": {
+        "reusify": "^1.0.4"
+      }
+    },
+    "node_modules/faye-websocket": {
+      "version": "0.11.4",
+      "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz",
+      "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==",
+      "dev": true,
+      "dependencies": {
+        "websocket-driver": ">=0.5.1"
+      },
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/figures": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
+      "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
+      "dev": true,
+      "dependencies": {
+        "escape-string-regexp": "^1.0.5"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/file-entry-cache": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
+      "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+      "dev": true,
+      "dependencies": {
+        "flat-cache": "^3.0.4"
+      },
+      "engines": {
+        "node": "^10.12.0 || >=12.0.0"
+      }
+    },
+    "node_modules/filelist": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
+      "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
+      "dev": true,
+      "dependencies": {
+        "minimatch": "^5.0.1"
+      }
+    },
+    "node_modules/filelist/node_modules/brace-expansion": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+      "dev": true,
+      "dependencies": {
+        "balanced-match": "^1.0.0"
+      }
+    },
+    "node_modules/filelist/node_modules/minimatch": {
+      "version": "5.1.6",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+      "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "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",
+      "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "debug": "2.6.9",
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "on-finished": "~2.3.0",
+        "parseurl": "~1.3.3",
+        "statuses": "~1.5.0",
+        "unpipe": "~1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/finalhandler/node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "ms": "2.0.0"
+      }
+    },
+    "node_modules/finalhandler/node_modules/ms": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
+    "node_modules/find-cache-dir": {
+      "version": "3.3.2",
+      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
+      "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
+      "dev": true,
+      "dependencies": {
+        "commondir": "^1.0.1",
+        "make-dir": "^3.0.2",
+        "pkg-dir": "^4.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
+      }
+    },
+    "node_modules/find-up": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+      "dev": true,
+      "dependencies": {
+        "locate-path": "^5.0.0",
+        "path-exists": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/flat": {
+      "version": "5.0.2",
+      "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
+      "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
+      "dev": true,
+      "bin": {
+        "flat": "cli.js"
+      }
+    },
+    "node_modules/flat-cache": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
+      "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+      "dev": true,
+      "dependencies": {
+        "flatted": "^3.1.0",
+        "rimraf": "^3.0.2"
+      },
+      "engines": {
+        "node": "^10.12.0 || >=12.0.0"
+      }
+    },
+    "node_modules/flatted": {
+      "version": "3.2.6",
+      "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.6.tgz",
+      "integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==",
+      "dev": true
+    },
+    "node_modules/follow-redirects": {
+      "version": "1.15.1",
+      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz",
+      "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "individual",
+          "url": "https://github.com/sponsors/RubenVerborgh"
+        }
+      ],
+      "engines": {
+        "node": ">=4.0"
+      },
+      "peerDependenciesMeta": {
+        "debug": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/for-each": {
+      "version": "0.3.3",
+      "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
+      "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
+      "dev": true,
+      "dependencies": {
+        "is-callable": "^1.1.3"
+      }
+    },
+    "node_modules/foreground-child": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
+      "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==",
+      "dev": true,
+      "dependencies": {
+        "cross-spawn": "^7.0.0",
+        "signal-exit": "^4.0.1"
+      },
+      "engines": {
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/foreground-child/node_modules/signal-exit": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz",
+      "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/forever-agent": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+      "dev": true,
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/form-data": {
+      "version": "2.3.3",
+      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+      "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+      "dev": true,
+      "dependencies": {
+        "asynckit": "^0.4.0",
+        "combined-stream": "^1.0.6",
+        "mime-types": "^2.1.12"
+      },
+      "engines": {
+        "node": ">= 0.12"
+      }
+    },
+    "node_modules/forwarded": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+      "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/fraction.js": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
+      "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
+      "engines": {
+        "node": "*"
+      },
+      "funding": {
+        "type": "patreon",
+        "url": "https://www.patreon.com/infusion"
+      }
+    },
+    "node_modules/fresh": {
+      "version": "0.5.2",
+      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+      "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/fs-constants": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
+      "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
+      "dev": true
+    },
+    "node_modules/fs-extra": {
+      "version": "10.1.0",
+      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
+      "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "graceful-fs": "^4.2.0",
+        "jsonfile": "^6.0.1",
+        "universalify": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/fs-minipass": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.2.tgz",
+      "integrity": "sha512-2GAfyfoaCDRrM6jaOS3UsBts8yJ55VioXdWcOL7dK9zdAuKT71+WBA4ifnNYqVjYv+4SsPxjK0JT4yIIn4cA/g==",
+      "dev": true,
+      "dependencies": {
+        "minipass": "^5.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/fs-monkey": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz",
+      "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==",
+      "dev": true
+    },
+    "node_modules/fs.realpath": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+    },
+    "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/function-bind": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+      "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+      "dev": true,
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/function.prototype.name": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz",
+      "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1",
+        "functions-have-names": "^1.2.3"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/functions-have-names": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
+      "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
+      "dev": true,
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/fuse.js": {
+      "version": "6.6.2",
+      "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.6.2.tgz",
+      "integrity": "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==",
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/gauge": {
+      "version": "4.0.4",
+      "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
+      "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
+      "dev": true,
+      "dependencies": {
+        "aproba": "^1.0.3 || ^2.0.0",
+        "color-support": "^1.1.3",
+        "console-control-strings": "^1.1.0",
+        "has-unicode": "^2.0.1",
+        "signal-exit": "^3.0.7",
+        "string-width": "^4.2.3",
+        "strip-ansi": "^6.0.1",
+        "wide-align": "^1.1.5"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+      }
+    },
+    "node_modules/gensync": {
+      "version": "1.0.0-beta.2",
+      "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+      "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/get-caller-file": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+      "engines": {
+        "node": "6.* || 8.* || >= 10.*"
+      }
+    },
+    "node_modules/get-intrinsic": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
+      "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
+      "dev": true,
+      "dependencies": {
+        "es-errors": "^1.3.0",
+        "function-bind": "^1.1.2",
+        "has-proto": "^1.0.1",
+        "has-symbols": "^1.0.3",
+        "hasown": "^2.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/get-package-type": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
+      "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=8.0.0"
+      }
+    },
+    "node_modules/get-stream": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+      "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/get-symbol-description": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz",
+      "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.5",
+        "es-errors": "^1.3.0",
+        "get-intrinsic": "^1.2.4"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/getpass": {
+      "version": "0.1.7",
+      "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+      "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+      "dev": true,
+      "dependencies": {
+        "assert-plus": "^1.0.0"
+      }
+    },
+    "node_modules/glob": {
+      "version": "7.1.7",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
+      "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
+      "dev": true,
+      "dependencies": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.0.4",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
+      },
+      "engines": {
+        "node": "*"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "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/glob-to-regexp": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
+      "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
+      "dev": true
+    },
+    "node_modules/globals": {
+      "version": "11.12.0",
+      "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/globalthis": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
+      "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
+      "dev": true,
+      "dependencies": {
+        "define-properties": "^1.1.3"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/globby": {
+      "version": "13.1.4",
+      "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz",
+      "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==",
+      "dev": true,
+      "dependencies": {
+        "dir-glob": "^3.0.1",
+        "fast-glob": "^3.2.11",
+        "ignore": "^5.2.0",
+        "merge2": "^1.4.1",
+        "slash": "^4.0.0"
+      },
+      "engines": {
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/good-listener": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz",
+      "integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==",
+      "optional": true,
+      "dependencies": {
+        "delegate": "^3.1.2"
+      }
+    },
+    "node_modules/gopd": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
+      "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
+      "dev": true,
+      "dependencies": {
+        "get-intrinsic": "^1.1.3"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/graceful-fs": {
+      "version": "4.2.9",
+      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz",
+      "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==",
+      "dev": true
+    },
+    "node_modules/grapheme-splitter": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
+      "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
+      "dev": true
+    },
+    "node_modules/gzip-size": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz",
+      "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==",
+      "dev": true,
+      "dependencies": {
+        "duplexer": "^0.1.2"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/handle-thing": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz",
+      "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==",
+      "dev": true
+    },
+    "node_modules/har-schema": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/har-validator": {
+      "version": "5.1.5",
+      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
+      "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
+      "deprecated": "this library is no longer supported",
+      "dev": true,
+      "dependencies": {
+        "ajv": "^6.12.3",
+        "har-schema": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/har-validator/node_modules/ajv": {
+      "version": "6.12.6",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+      "dev": true,
+      "dependencies": {
+        "fast-deep-equal": "^3.1.1",
+        "fast-json-stable-stringify": "^2.0.0",
+        "json-schema-traverse": "^0.4.1",
+        "uri-js": "^4.2.2"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/epoberezkin"
+      }
+    },
+    "node_modules/har-validator/node_modules/json-schema-traverse": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+      "dev": true
+    },
+    "node_modules/has": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+      "dev": true,
+      "dependencies": {
+        "function-bind": "^1.1.1"
+      },
+      "engines": {
+        "node": ">= 0.4.0"
+      }
+    },
+    "node_modules/has-ansi": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+      "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/has-ansi/node_modules/ansi-regex": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/has-bigints": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
+      "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
+      "dev": true,
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/has-flag": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/has-property-descriptors": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+      "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
+      "dev": true,
+      "dependencies": {
+        "es-define-property": "^1.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/has-proto": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
+      "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/has-symbols": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+      "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/has-tostringtag": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+      "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
+      "dev": true,
+      "dependencies": {
+        "has-symbols": "^1.0.3"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/has-unicode": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+      "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
+      "dev": true
+    },
+    "node_modules/hasown": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz",
+      "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==",
+      "dev": true,
+      "dependencies": {
+        "function-bind": "^1.1.2"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/hdr-histogram-js": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz",
+      "integrity": "sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==",
+      "dev": true,
+      "dependencies": {
+        "@assemblyscript/loader": "^0.10.1",
+        "base64-js": "^1.2.0",
+        "pako": "^1.0.3"
+      }
+    },
+    "node_modules/hdr-histogram-percentiles-obj": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz",
+      "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==",
+      "dev": true
+    },
+    "node_modules/heap": {
+      "version": "0.2.7",
+      "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz",
+      "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==",
+      "optional": true
+    },
+    "node_modules/hosted-git-info": {
+      "version": "6.1.1",
+      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz",
+      "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^7.5.1"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/hosted-git-info/node_modules/lru-cache": {
+      "version": "7.18.3",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+      "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/hpack.js": {
+      "version": "2.1.6",
+      "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
+      "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==",
+      "dev": true,
+      "dependencies": {
+        "inherits": "^2.0.1",
+        "obuf": "^1.0.0",
+        "readable-stream": "^2.0.1",
+        "wbuf": "^1.1.0"
+      }
+    },
+    "node_modules/hpack.js/node_modules/readable-stream": {
+      "version": "2.3.8",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+      "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+      "dev": true,
+      "dependencies": {
+        "core-util-is": "~1.0.0",
+        "inherits": "~2.0.3",
+        "isarray": "~1.0.0",
+        "process-nextick-args": "~2.0.0",
+        "safe-buffer": "~5.1.1",
+        "string_decoder": "~1.1.1",
+        "util-deprecate": "~1.0.1"
+      }
+    },
+    "node_modules/hpack.js/node_modules/string_decoder": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "~5.1.0"
+      }
+    },
+    "node_modules/html-entities": {
+      "version": "2.3.3",
+      "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz",
+      "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==",
+      "dev": true
+    },
+    "node_modules/http-cache-semantics": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
+      "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==",
+      "dev": true
+    },
+    "node_modules/http-deceiver": {
+      "version": "1.2.7",
+      "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
+      "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==",
+      "dev": true
+    },
+    "node_modules/http-errors": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+      "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+      "dev": true,
+      "dependencies": {
+        "depd": "2.0.0",
+        "inherits": "2.0.4",
+        "setprototypeof": "1.2.0",
+        "statuses": "2.0.1",
+        "toidentifier": "1.0.1"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/http-errors/node_modules/statuses": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+      "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/http-parser-js": {
+      "version": "0.5.8",
+      "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz",
+      "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==",
+      "dev": true
+    },
+    "node_modules/http-proxy": {
+      "version": "1.18.1",
+      "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
+      "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
+      "dev": true,
+      "dependencies": {
+        "eventemitter3": "^4.0.0",
+        "follow-redirects": "^1.0.0",
+        "requires-port": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=8.0.0"
+      }
+    },
+    "node_modules/http-proxy-agent": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
+      "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
+      "dev": true,
+      "dependencies": {
+        "@tootallnate/once": "2",
+        "agent-base": "6",
+        "debug": "4"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/http-proxy-middleware": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz",
+      "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==",
+      "dev": true,
+      "dependencies": {
+        "@types/http-proxy": "^1.17.8",
+        "http-proxy": "^1.18.1",
+        "is-glob": "^4.0.1",
+        "is-plain-obj": "^3.0.0",
+        "micromatch": "^4.0.2"
+      },
+      "engines": {
+        "node": ">=12.0.0"
+      },
+      "peerDependencies": {
+        "@types/express": "^4.17.13"
+      },
+      "peerDependenciesMeta": {
+        "@types/express": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/http-signature": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+      "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+      "dev": true,
+      "dependencies": {
+        "assert-plus": "^1.0.0",
+        "jsprim": "^1.2.2",
+        "sshpk": "^1.7.0"
+      },
+      "engines": {
+        "node": ">=0.8",
+        "npm": ">=1.3.7"
+      }
+    },
+    "node_modules/https-proxy-agent": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+      "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+      "dev": true,
+      "dependencies": {
+        "agent-base": "6",
+        "debug": "4"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/human-signals": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+      "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
+      "dev": true,
+      "engines": {
+        "node": ">=10.17.0"
+      }
+    },
+    "node_modules/humanize-ms": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
+      "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
+      "dev": true,
+      "dependencies": {
+        "ms": "^2.0.0"
+      }
+    },
+    "node_modules/iconv-lite": {
+      "version": "0.6.3",
+      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+      "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+      "dependencies": {
+        "safer-buffer": ">= 2.1.2 < 3.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/icss-utils": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
+      "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
+      "dev": true,
+      "engines": {
+        "node": "^10 || ^12 || >= 14"
+      },
+      "peerDependencies": {
+        "postcss": "^8.1.0"
+      }
+    },
+    "node_modules/ieee754": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ]
+    },
+    "node_modules/ignore": {
+      "version": "5.2.4",
+      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
+      "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
+      "dev": true,
+      "engines": {
+        "node": ">= 4"
+      }
+    },
+    "node_modules/ignore-walk": {
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.3.tgz",
+      "integrity": "sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==",
+      "dev": true,
+      "dependencies": {
+        "minimatch": "^9.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/ignore-walk/node_modules/brace-expansion": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+      "dev": true,
+      "dependencies": {
+        "balanced-match": "^1.0.0"
+      }
+    },
+    "node_modules/ignore-walk/node_modules/minimatch": {
+      "version": "9.0.0",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz",
+      "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=16 || 14 >=14.17"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/image-size": {
+      "version": "0.5.5",
+      "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
+      "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==",
+      "dev": true,
+      "optional": true,
+      "bin": {
+        "image-size": "bin/image-size.js"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/immediate": {
+      "version": "3.0.6",
+      "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
+      "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=",
+      "dev": true
+    },
+    "node_modules/immutable": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz",
+      "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==",
+      "dev": true
+    },
+    "node_modules/import-fresh": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+      "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+      "dev": true,
+      "dependencies": {
+        "parent-module": "^1.0.0",
+        "resolve-from": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/imurmurhash": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+      "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8.19"
+      }
+    },
+    "node_modules/indent-string": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+      "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/infer-owner": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
+      "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
+      "dev": true
+    },
+    "node_modules/inflight": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+      "dependencies": {
+        "once": "^1.3.0",
+        "wrappy": "1"
+      }
+    },
+    "node_modules/inherits": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+    },
+    "node_modules/ini": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/ini/-/ini-4.0.0.tgz",
+      "integrity": "sha512-t0ikzf5qkSFqRl1e6ejKBe+Tk2bsQd8ivEkcisyGXsku2t8NvXZ1Y3RRz5vxrDgOrTBOi13CvGsVoI5wVpd7xg==",
+      "dev": true,
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/injection-js": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/injection-js/-/injection-js-2.4.0.tgz",
+      "integrity": "sha512-6jiJt0tCAo9zjHbcwLiPL+IuNe9SQ6a9g0PEzafThW3fOQi0mrmiJGBJvDD6tmhPh8cQHIQtCOrJuBfQME4kPA==",
+      "dev": true,
+      "dependencies": {
+        "tslib": "^2.0.0"
+      }
+    },
+    "node_modules/inquirer": {
+      "version": "8.2.4",
+      "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz",
+      "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==",
+      "dev": true,
+      "dependencies": {
+        "ansi-escapes": "^4.2.1",
+        "chalk": "^4.1.1",
+        "cli-cursor": "^3.1.0",
+        "cli-width": "^3.0.0",
+        "external-editor": "^3.0.3",
+        "figures": "^3.0.0",
+        "lodash": "^4.17.21",
+        "mute-stream": "0.0.8",
+        "ora": "^5.4.1",
+        "run-async": "^2.4.0",
+        "rxjs": "^7.5.5",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0",
+        "through": "^2.3.6",
+        "wrap-ansi": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=12.0.0"
+      }
+    },
+    "node_modules/inquirer/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/inquirer/node_modules/chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
+      }
+    },
+    "node_modules/inquirer/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/inquirer/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "node_modules/inquirer/node_modules/has-flag": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/inquirer/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/internal-slot": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz",
+      "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==",
+      "dev": true,
+      "dependencies": {
+        "es-errors": "^1.3.0",
+        "hasown": "^2.0.0",
+        "side-channel": "^1.0.4"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/internmap": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz",
+      "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==",
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/ip": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
+      "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==",
+      "dev": true
+    },
+    "node_modules/ipaddr.js": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz",
+      "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==",
+      "dev": true,
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/is-arguments": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
+      "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "has-tostringtag": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-array-buffer": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz",
+      "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "get-intrinsic": "^1.2.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-arrayish": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+      "dev": true
+    },
+    "node_modules/is-bigint": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
+      "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
+      "dev": true,
+      "dependencies": {
+        "has-bigints": "^1.0.1"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "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-boolean-object": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
+      "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "has-tostringtag": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-builtin-module": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz",
+      "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==",
+      "dev": true,
+      "dependencies": {
+        "builtin-modules": "^3.3.0"
+      },
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/is-builtin-module/node_modules/builtin-modules": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
+      "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/is-callable": {
+      "version": "1.2.7",
+      "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
+      "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-core-module": {
+      "version": "2.12.0",
+      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz",
+      "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==",
+      "dev": true,
+      "dependencies": {
+        "has": "^1.0.3"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-date-object": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
+      "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
+      "dev": true,
+      "dependencies": {
+        "has-tostringtag": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-docker": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+      "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
+      "dev": true,
+      "bin": {
+        "is-docker": "cli.js"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/is-extglob": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-fullwidth-code-point": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "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-interactive": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
+      "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/is-lambda": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
+      "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==",
+      "dev": true
+    },
+    "node_modules/is-map": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz",
+      "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==",
+      "dev": true,
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-module": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
+      "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==",
+      "dev": true
+    },
+    "node_modules/is-negative-zero": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz",
+      "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "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/is-number-object": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
+      "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
+      "dev": true,
+      "dependencies": {
+        "has-tostringtag": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-path-cwd": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
+      "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-path-in-cwd": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
+      "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
+      "dev": true,
+      "dependencies": {
+        "is-path-inside": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-path-inside": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
+      "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
+      "dev": true,
+      "dependencies": {
+        "path-is-inside": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-plain-obj": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz",
+      "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/is-plain-object": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+      "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+      "dev": true,
+      "dependencies": {
+        "isobject": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-regex": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
+      "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "has-tostringtag": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-set": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz",
+      "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==",
+      "dev": true,
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-shared-array-buffer": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz",
+      "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.7"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-stream": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+      "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/is-string": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
+      "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
+      "dev": true,
+      "dependencies": {
+        "has-tostringtag": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-symbol": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
+      "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
+      "dev": true,
+      "dependencies": {
+        "has-symbols": "^1.0.2"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-typed-array": {
+      "version": "1.1.13",
+      "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz",
+      "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==",
+      "dev": true,
+      "dependencies": {
+        "which-typed-array": "^1.1.14"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-typedarray": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+      "dev": true
+    },
+    "node_modules/is-unicode-supported": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
+      "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/is-weakmap": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz",
+      "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==",
+      "dev": true,
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-weakref": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
+      "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-weakset": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz",
+      "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "get-intrinsic": "^1.1.1"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-what": {
+      "version": "3.14.1",
+      "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz",
+      "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==",
+      "dev": true
+    },
+    "node_modules/is-wsl": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+      "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+      "dev": true,
+      "dependencies": {
+        "is-docker": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/isarray": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+      "dev": true
+    },
+    "node_modules/isbinaryfile": {
+      "version": "4.0.8",
+      "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz",
+      "integrity": "sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "engines": {
+        "node": ">= 8.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/gjtorikian/"
+      }
+    },
+    "node_modules/isexe": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+      "dev": true
+    },
+    "node_modules/isobject": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/isstream": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+      "dev": true
+    },
+    "node_modules/istanbul-lib-coverage": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
+      "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/istanbul-lib-instrument": {
+      "version": "5.2.1",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
+      "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/core": "^7.12.3",
+        "@babel/parser": "^7.14.7",
+        "@istanbuljs/schema": "^0.1.2",
+        "istanbul-lib-coverage": "^3.2.0",
+        "semver": "^6.3.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/istanbul-lib-instrument/node_modules/semver": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/jackspeak": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.0.tgz",
+      "integrity": "sha512-r5XBrqIJfwRIjRt/Xr5fv9Wh09qyhHfKnYddDlpM+ibRR20qrYActpCAgU6U+d53EOEjzkvxPMVHSlgR7leXrQ==",
+      "dev": true,
+      "dependencies": {
+        "@isaacs/cliui": "^8.0.2"
+      },
+      "engines": {
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      },
+      "optionalDependencies": {
+        "@pkgjs/parseargs": "^0.11.0"
+      }
+    },
+    "node_modules/jake": {
+      "version": "10.8.6",
+      "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.6.tgz",
+      "integrity": "sha512-G43Ub9IYEFfu72sua6rzooi8V8Gz2lkfk48rW20vEWCGizeaEPlKB1Kh8JIA84yQbiAEfqlPmSpGgCKKxH3rDA==",
+      "dev": true,
+      "dependencies": {
+        "async": "^3.2.3",
+        "chalk": "^4.0.2",
+        "filelist": "^1.0.4",
+        "minimatch": "^3.1.2"
+      },
+      "bin": {
+        "jake": "bin/cli.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/jake/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/jake/node_modules/chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
+      }
+    },
+    "node_modules/jake/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/jake/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "node_modules/jake/node_modules/has-flag": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/jake/node_modules/minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^1.1.7"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/jake/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/jasmine": {
+      "version": "2.8.0",
+      "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz",
+      "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=",
+      "dev": true,
+      "dependencies": {
+        "exit": "^0.1.2",
+        "glob": "^7.0.6",
+        "jasmine-core": "~2.8.0"
+      },
+      "bin": {
+        "jasmine": "bin/jasmine.js"
+      }
+    },
+    "node_modules/jasmine-core": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.0.0.tgz",
+      "integrity": "sha512-BJLxZlSVyWPN/oyaS1IIvIjChghI9/xWsLAIJqL9J5Fz47CN3JNr8Lmik3S2S7QS2RxclYjvSVSXP7IR35PAmg==",
+      "dev": true
+    },
+    "node_modules/jasmine-spec-reporter": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-7.0.0.tgz",
+      "integrity": "sha512-OtC7JRasiTcjsaCBPtMO0Tl8glCejM4J4/dNuOJdA8lBjz4PmWjYQ6pzb0uzpBNAWJMDudYuj9OdXJWqM2QTJg==",
+      "dev": true,
+      "dependencies": {
+        "colors": "1.4.0"
+      }
+    },
+    "node_modules/jasmine/node_modules/jasmine-core": {
+      "version": "2.8.0",
+      "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz",
+      "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=",
+      "dev": true
+    },
+    "node_modules/jasminewd2": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz",
+      "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=",
+      "dev": true,
+      "engines": {
+        "node": ">= 6.9.x"
+      }
+    },
+    "node_modules/jest-worker": {
+      "version": "27.4.6",
+      "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz",
+      "integrity": "sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==",
+      "dev": true,
+      "dependencies": {
+        "@types/node": "*",
+        "merge-stream": "^2.0.0",
+        "supports-color": "^8.0.0"
+      },
+      "engines": {
+        "node": ">= 10.13.0"
+      }
+    },
+    "node_modules/jest-worker/node_modules/has-flag": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/jest-worker/node_modules/supports-color": {
+      "version": "8.1.1",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+      "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/supports-color?sponsor=1"
+      }
+    },
+    "node_modules/jiti": {
+      "version": "1.18.2",
+      "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz",
+      "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==",
+      "dev": true,
+      "bin": {
+        "jiti": "bin/jiti.js"
+      }
+    },
+    "node_modules/js-sdsl": {
+      "version": "4.4.0",
+      "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz",
+      "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==",
+      "dev": true,
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/js-sdsl"
+      }
+    },
+    "node_modules/js-tokens": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+    },
+    "node_modules/js-yaml": {
+      "version": "3.14.1",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+      "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+      "dev": true,
+      "dependencies": {
+        "argparse": "^1.0.7",
+        "esprima": "^4.0.0"
+      },
+      "bin": {
+        "js-yaml": "bin/js-yaml.js"
+      }
+    },
+    "node_modules/js-yaml-loader": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/js-yaml-loader/-/js-yaml-loader-1.2.2.tgz",
+      "integrity": "sha512-H+NeuNrG6uOs/WMjna2SjkaCw13rMWiT/D7l9+9x5n8aq88BDsh2sRmdfxckWPIHtViYHWRG6XiCKYvS1dfyLg==",
+      "dev": true,
+      "dependencies": {
+        "js-yaml": "^3.13.1",
+        "loader-utils": "^1.2.3",
+        "un-eval": "^1.2.0"
+      }
+    },
+    "node_modules/js-yaml-loader/node_modules/json5": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
+      "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
+      "dev": true,
+      "dependencies": {
+        "minimist": "^1.2.0"
+      },
+      "bin": {
+        "json5": "lib/cli.js"
+      }
+    },
+    "node_modules/js-yaml-loader/node_modules/loader-utils": {
+      "version": "1.4.2",
+      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz",
+      "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
+      "dev": true,
+      "dependencies": {
+        "big.js": "^5.2.2",
+        "emojis-list": "^3.0.0",
+        "json5": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
+    "node_modules/jsbn": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+      "dev": true
+    },
+    "node_modules/jsesc": {
+      "version": "2.5.2",
+      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+      "bin": {
+        "jsesc": "bin/jsesc"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/json-parse-better-errors": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
+      "dev": true
+    },
+    "node_modules/json-parse-even-better-errors": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+      "dev": true
+    },
+    "node_modules/json-schema": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
+      "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
+      "dev": true
+    },
+    "node_modules/json-schema-traverse": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+      "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+      "dev": true
+    },
+    "node_modules/json-stable-stringify-without-jsonify": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+      "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+      "dev": true
+    },
+    "node_modules/json-stringify-safe": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+      "dev": true
+    },
+    "node_modules/json5": {
+      "version": "2.2.3",
+      "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+      "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+      "bin": {
+        "json5": "lib/cli.js"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/jsonc-parser": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
+      "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==",
+      "dev": true
+    },
+    "node_modules/jsonfile": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+      "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+      "dev": true,
+      "dependencies": {
+        "universalify": "^2.0.0"
+      },
+      "optionalDependencies": {
+        "graceful-fs": "^4.1.6"
+      }
+    },
+    "node_modules/jsonparse": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
+      "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==",
+      "dev": true,
+      "engines": [
+        "node >= 0.2.0"
+      ]
+    },
+    "node_modules/jsprim": {
+      "version": "1.4.2",
+      "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
+      "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
+      "dev": true,
+      "dependencies": {
+        "assert-plus": "1.0.0",
+        "extsprintf": "1.3.0",
+        "json-schema": "0.4.0",
+        "verror": "1.10.0"
+      },
+      "engines": {
+        "node": ">=0.6.0"
+      }
+    },
+    "node_modules/jszip": {
+      "version": "3.10.1",
+      "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz",
+      "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==",
+      "dev": true,
+      "dependencies": {
+        "lie": "~3.3.0",
+        "pako": "~1.0.2",
+        "readable-stream": "~2.3.6",
+        "setimmediate": "^1.0.5"
+      }
+    },
+    "node_modules/jszip/node_modules/readable-stream": {
+      "version": "2.3.7",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+      "dev": true,
+      "dependencies": {
+        "core-util-is": "~1.0.0",
+        "inherits": "~2.0.3",
+        "isarray": "~1.0.0",
+        "process-nextick-args": "~2.0.0",
+        "safe-buffer": "~5.1.1",
+        "string_decoder": "~1.1.1",
+        "util-deprecate": "~1.0.1"
+      }
+    },
+    "node_modules/jszip/node_modules/string_decoder": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "~5.1.0"
+      }
+    },
+    "node_modules/karma": {
+      "version": "6.4.2",
+      "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.2.tgz",
+      "integrity": "sha512-C6SU/53LB31BEgRg+omznBEMY4SjHU3ricV6zBcAe1EeILKkeScr+fZXtaI5WyDbkVowJxxAI6h73NcFPmXolQ==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "@colors/colors": "1.5.0",
+        "body-parser": "^1.19.0",
+        "braces": "^3.0.2",
+        "chokidar": "^3.5.1",
+        "connect": "^3.7.0",
+        "di": "^0.0.1",
+        "dom-serialize": "^2.2.1",
+        "glob": "^7.1.7",
+        "graceful-fs": "^4.2.6",
+        "http-proxy": "^1.18.1",
+        "isbinaryfile": "^4.0.8",
+        "lodash": "^4.17.21",
+        "log4js": "^6.4.1",
+        "mime": "^2.5.2",
+        "minimatch": "^3.0.4",
+        "mkdirp": "^0.5.5",
+        "qjobs": "^1.2.0",
+        "range-parser": "^1.2.1",
+        "rimraf": "^3.0.2",
+        "socket.io": "^4.4.1",
+        "source-map": "^0.6.1",
+        "tmp": "^0.2.1",
+        "ua-parser-js": "^0.7.30",
+        "yargs": "^16.1.1"
+      },
+      "bin": {
+        "karma": "bin/karma"
+      },
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/karma-source-map-support": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz",
+      "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==",
+      "dev": true,
+      "dependencies": {
+        "source-map-support": "^0.5.5"
+      }
+    },
+    "node_modules/karma/node_modules/mkdirp": {
+      "version": "0.5.6",
+      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
+      "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "minimist": "^1.2.6"
+      },
+      "bin": {
+        "mkdirp": "bin/cmd.js"
+      }
+    },
+    "node_modules/karma/node_modules/source-map": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/karma/node_modules/tmp": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+      "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "rimraf": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8.17.0"
+      }
+    },
+    "node_modules/karma/node_modules/yargs": {
+      "version": "16.2.0",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+      "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "cliui": "^7.0.2",
+        "escalade": "^3.1.1",
+        "get-caller-file": "^2.0.5",
+        "require-directory": "^2.1.1",
+        "string-width": "^4.2.0",
+        "y18n": "^5.0.5",
+        "yargs-parser": "^20.2.2"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/karma/node_modules/yargs-parser": {
+      "version": "20.2.9",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
+      "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/katex": {
+      "version": "0.16.0",
+      "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.0.tgz",
+      "integrity": "sha512-wPRB4iUPysfH97wTgG5/tRLYxmKVq6Q4jRAWRVOUxXB1dsiv4cvcNjqabHkrOvJHM1Bpk3WrgmllSO1vIvP24w==",
+      "funding": [
+        "https://opencollective.com/katex",
+        "https://github.com/sponsors/katex"
+      ],
+      "optional": true,
+      "dependencies": {
+        "commander": "^8.0.0"
+      },
+      "bin": {
+        "katex": "cli.js"
+      }
+    },
+    "node_modules/katex/node_modules/commander": {
+      "version": "8.3.0",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
+      "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
+      "optional": true,
+      "engines": {
+        "node": ">= 12"
+      }
+    },
+    "node_modules/khroma": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.0.0.tgz",
+      "integrity": "sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==",
+      "optional": true
+    },
+    "node_modules/kind-of": {
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+      "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/klona": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz",
+      "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/launch-editor": {
+      "version": "2.6.0",
+      "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz",
+      "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==",
+      "dev": true,
+      "dependencies": {
+        "picocolors": "^1.0.0",
+        "shell-quote": "^1.7.3"
+      }
+    },
+    "node_modules/layout-base": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz",
+      "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==",
+      "optional": true
+    },
+    "node_modules/lazystream": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz",
+      "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==",
+      "dev": true,
+      "dependencies": {
+        "readable-stream": "^2.0.5"
+      },
+      "engines": {
+        "node": ">= 0.6.3"
+      }
+    },
+    "node_modules/lazystream/node_modules/readable-stream": {
+      "version": "2.3.7",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+      "dev": true,
+      "dependencies": {
+        "core-util-is": "~1.0.0",
+        "inherits": "~2.0.3",
+        "isarray": "~1.0.0",
+        "process-nextick-args": "~2.0.0",
+        "safe-buffer": "~5.1.1",
+        "string_decoder": "~1.1.1",
+        "util-deprecate": "~1.0.1"
+      }
+    },
+    "node_modules/lazystream/node_modules/string_decoder": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "~5.1.0"
+      }
+    },
+    "node_modules/less": {
+      "version": "4.1.3",
+      "resolved": "https://registry.npmjs.org/less/-/less-4.1.3.tgz",
+      "integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==",
+      "dev": true,
+      "dependencies": {
+        "copy-anything": "^2.0.1",
+        "parse-node-version": "^1.0.1",
+        "tslib": "^2.3.0"
+      },
+      "bin": {
+        "lessc": "bin/lessc"
+      },
+      "engines": {
+        "node": ">=6"
+      },
+      "optionalDependencies": {
+        "errno": "^0.1.1",
+        "graceful-fs": "^4.1.2",
+        "image-size": "~0.5.0",
+        "make-dir": "^2.1.0",
+        "mime": "^1.4.1",
+        "needle": "^3.1.0",
+        "source-map": "~0.6.0"
+      }
+    },
+    "node_modules/less-loader": {
+      "version": "11.1.0",
+      "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz",
+      "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==",
+      "dev": true,
+      "dependencies": {
+        "klona": "^2.0.4"
+      },
+      "engines": {
+        "node": ">= 14.15.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependencies": {
+        "less": "^3.5.0 || ^4.0.0",
+        "webpack": "^5.0.0"
+      }
+    },
+    "node_modules/less/node_modules/make-dir": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+      "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "pify": "^4.0.1",
+        "semver": "^5.6.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/less/node_modules/mime": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+      "dev": true,
+      "optional": true,
+      "bin": {
+        "mime": "cli.js"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/less/node_modules/pify": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+      "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+      "dev": true,
+      "optional": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/less/node_modules/semver": {
+      "version": "5.7.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+      "dev": true,
+      "optional": true,
+      "bin": {
+        "semver": "bin/semver"
+      }
+    },
+    "node_modules/less/node_modules/source-map": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+      "dev": true,
+      "optional": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/levn": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+      "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+      "dev": true,
+      "dependencies": {
+        "prelude-ls": "^1.2.1",
+        "type-check": "~0.4.0"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/license-webpack-plugin": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz",
+      "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==",
+      "dev": true,
+      "dependencies": {
+        "webpack-sources": "^3.0.0"
+      },
+      "peerDependenciesMeta": {
+        "webpack": {
+          "optional": true
+        },
+        "webpack-sources": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/lie": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
+      "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
+      "dev": true,
+      "dependencies": {
+        "immediate": "~3.0.5"
+      }
+    },
+    "node_modules/lilconfig": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
+      "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/lines-and-columns": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+      "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
+      "dev": true
+    },
+    "node_modules/load-json-file": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+      "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==",
+      "dev": true,
+      "dependencies": {
+        "graceful-fs": "^4.1.2",
+        "parse-json": "^4.0.0",
+        "pify": "^3.0.0",
+        "strip-bom": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/load-json-file/node_modules/parse-json": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+      "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==",
+      "dev": true,
+      "dependencies": {
+        "error-ex": "^1.3.1",
+        "json-parse-better-errors": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/load-json-file/node_modules/pify": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+      "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/loader-runner": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz",
+      "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==",
+      "dev": true,
+      "engines": {
+        "node": ">=6.11.5"
+      }
+    },
+    "node_modules/loader-utils": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz",
+      "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==",
+      "dev": true,
+      "engines": {
+        "node": ">= 12.13.0"
+      }
+    },
+    "node_modules/locate-path": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+      "dev": true,
+      "dependencies": {
+        "p-locate": "^4.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/lodash": {
+      "version": "4.17.21",
+      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+      "devOptional": true
+    },
+    "node_modules/lodash-es": {
+      "version": "4.17.21",
+      "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
+      "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==",
+      "optional": true
+    },
+    "node_modules/lodash.debounce": {
+      "version": "4.0.8",
+      "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+      "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
+      "dev": true
+    },
+    "node_modules/lodash.defaults": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
+      "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==",
+      "dev": true
+    },
+    "node_modules/lodash.difference": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz",
+      "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==",
+      "dev": true
+    },
+    "node_modules/lodash.flatten": {
+      "version": "4.4.0",
+      "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
+      "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==",
+      "dev": true
+    },
+    "node_modules/lodash.isplainobject": {
+      "version": "4.0.6",
+      "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+      "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==",
+      "dev": true
+    },
+    "node_modules/lodash.merge": {
+      "version": "4.6.2",
+      "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+      "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+      "dev": true
+    },
+    "node_modules/lodash.union": {
+      "version": "4.6.0",
+      "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz",
+      "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==",
+      "dev": true
+    },
+    "node_modules/log-symbols": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+      "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^4.1.0",
+        "is-unicode-supported": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/log-symbols/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/log-symbols/node_modules/chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
+      }
+    },
+    "node_modules/log-symbols/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/log-symbols/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "node_modules/log-symbols/node_modules/has-flag": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/log-symbols/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/log4js": {
+      "version": "6.6.0",
+      "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.6.0.tgz",
+      "integrity": "sha512-3v8R7fd45UB6THucSht6wN2/7AZEruQbXdjygPZcxt5TA/msO6si9CN5MefUuKXbYnJHTBnYcx4famwcyQd+sA==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "date-format": "^4.0.11",
+        "debug": "^4.3.4",
+        "flatted": "^3.2.5",
+        "rfdc": "^1.3.0",
+        "streamroller": "^3.1.1"
+      },
+      "engines": {
+        "node": ">=8.0"
+      }
+    },
+    "node_modules/lru-cache": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+      "dependencies": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/magic-string": {
+      "version": "0.30.0",
+      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz",
+      "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==",
+      "dev": true,
+      "dependencies": {
+        "@jridgewell/sourcemap-codec": "^1.4.13"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/make-dir": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+      "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+      "dev": true,
+      "dependencies": {
+        "semver": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/make-dir/node_modules/semver": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/make-error": {
+      "version": "1.3.6",
+      "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
+      "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
+      "dev": true
+    },
+    "node_modules/make-fetch-happen": {
+      "version": "10.2.1",
+      "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz",
+      "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==",
+      "dev": true,
+      "dependencies": {
+        "agentkeepalive": "^4.2.1",
+        "cacache": "^16.1.0",
+        "http-cache-semantics": "^4.1.0",
+        "http-proxy-agent": "^5.0.0",
+        "https-proxy-agent": "^5.0.0",
+        "is-lambda": "^1.0.1",
+        "lru-cache": "^7.7.1",
+        "minipass": "^3.1.6",
+        "minipass-collect": "^1.0.2",
+        "minipass-fetch": "^2.0.3",
+        "minipass-flush": "^1.0.5",
+        "minipass-pipeline": "^1.2.4",
+        "negotiator": "^0.6.3",
+        "promise-retry": "^2.0.1",
+        "socks-proxy-agent": "^7.0.0",
+        "ssri": "^9.0.0"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+      }
+    },
+    "node_modules/make-fetch-happen/node_modules/@npmcli/fs": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz",
+      "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==",
+      "dev": true,
+      "dependencies": {
+        "@gar/promisify": "^1.1.3",
+        "semver": "^7.3.5"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+      }
+    },
+    "node_modules/make-fetch-happen/node_modules/brace-expansion": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+      "dev": true,
+      "dependencies": {
+        "balanced-match": "^1.0.0"
+      }
+    },
+    "node_modules/make-fetch-happen/node_modules/cacache": {
+      "version": "16.1.3",
+      "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz",
+      "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==",
+      "dev": true,
+      "dependencies": {
+        "@npmcli/fs": "^2.1.0",
+        "@npmcli/move-file": "^2.0.0",
+        "chownr": "^2.0.0",
+        "fs-minipass": "^2.1.0",
+        "glob": "^8.0.1",
+        "infer-owner": "^1.0.4",
+        "lru-cache": "^7.7.1",
+        "minipass": "^3.1.6",
+        "minipass-collect": "^1.0.2",
+        "minipass-flush": "^1.0.5",
+        "minipass-pipeline": "^1.2.4",
+        "mkdirp": "^1.0.4",
+        "p-map": "^4.0.0",
+        "promise-inflight": "^1.0.1",
+        "rimraf": "^3.0.2",
+        "ssri": "^9.0.0",
+        "tar": "^6.1.11",
+        "unique-filename": "^2.0.0"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+      }
+    },
+    "node_modules/make-fetch-happen/node_modules/fs-minipass": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+      "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+      "dev": true,
+      "dependencies": {
+        "minipass": "^3.0.0"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/make-fetch-happen/node_modules/glob": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+      "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+      "dev": true,
+      "dependencies": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^5.0.1",
+        "once": "^1.3.0"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/make-fetch-happen/node_modules/lru-cache": {
+      "version": "7.18.3",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+      "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/make-fetch-happen/node_modules/minimatch": {
+      "version": "5.1.6",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+      "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/make-fetch-happen/node_modules/minipass": {
+      "version": "3.3.6",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+      "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+      "dev": true,
+      "dependencies": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/make-fetch-happen/node_modules/ssri": {
+      "version": "9.0.1",
+      "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz",
+      "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==",
+      "dev": true,
+      "dependencies": {
+        "minipass": "^3.1.1"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+      }
+    },
+    "node_modules/make-fetch-happen/node_modules/unique-filename": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz",
+      "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==",
+      "dev": true,
+      "dependencies": {
+        "unique-slug": "^3.0.0"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+      }
+    },
+    "node_modules/make-fetch-happen/node_modules/unique-slug": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz",
+      "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==",
+      "dev": true,
+      "dependencies": {
+        "imurmurhash": "^0.1.4"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+      }
+    },
+    "node_modules/marked": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz",
+      "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==",
+      "peer": true,
+      "bin": {
+        "marked": "bin/marked.js"
+      },
+      "engines": {
+        "node": ">= 12"
+      }
+    },
+    "node_modules/media-typer": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+      "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/memfs": {
+      "version": "3.5.1",
+      "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.1.tgz",
+      "integrity": "sha512-UWbFJKvj5k+nETdteFndTpYxdeTMox/ULeqX5k/dpaQJCCFmj5EeKv3dBcyO2xmkRAx2vppRu5dVG7SOtsGOzA==",
+      "dev": true,
+      "dependencies": {
+        "fs-monkey": "^1.0.3"
+      },
+      "engines": {
+        "node": ">= 4.0.0"
+      }
+    },
+    "node_modules/memorystream": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz",
+      "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.10.0"
+      }
+    },
+    "node_modules/merge-descriptors": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+      "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==",
+      "dev": true
+    },
+    "node_modules/merge-stream": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+      "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
+      "dev": true
+    },
+    "node_modules/merge2": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+      "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/mermaid": {
+      "version": "9.4.3",
+      "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-9.4.3.tgz",
+      "integrity": "sha512-TLkQEtqhRSuEHSE34lh5bCa94KATCyluAXmFnNI2PRZwOpXFeqiJWwZl+d2CcemE1RS6QbbueSSq9QIg8Uxcyw==",
+      "optional": true,
+      "dependencies": {
+        "@braintree/sanitize-url": "^6.0.0",
+        "cytoscape": "^3.23.0",
+        "cytoscape-cose-bilkent": "^4.1.0",
+        "cytoscape-fcose": "^2.1.0",
+        "d3": "^7.4.0",
+        "dagre-d3-es": "7.0.9",
+        "dayjs": "^1.11.7",
+        "dompurify": "2.4.3",
+        "elkjs": "^0.8.2",
+        "khroma": "^2.0.0",
+        "lodash-es": "^4.17.21",
+        "non-layered-tidy-tree-layout": "^2.0.2",
+        "stylis": "^4.1.2",
+        "ts-dedent": "^2.2.0",
+        "uuid": "^9.0.0",
+        "web-worker": "^1.2.0"
+      }
+    },
+    "node_modules/mermaid/node_modules/uuid": {
+      "version": "9.0.0",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
+      "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
+      "optional": true,
+      "bin": {
+        "uuid": "dist/bin/uuid"
+      }
+    },
+    "node_modules/methods": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+      "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/micromatch": {
+      "version": "4.0.5",
+      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+      "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+      "dev": true,
+      "dependencies": {
+        "braces": "^3.0.2",
+        "picomatch": "^2.3.1"
+      },
+      "engines": {
+        "node": ">=8.6"
+      }
+    },
+    "node_modules/mime": {
+      "version": "2.6.0",
+      "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
+      "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "bin": {
+        "mime": "cli.js"
+      },
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
+    "node_modules/mime-db": {
+      "version": "1.51.0",
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz",
+      "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/mime-types": {
+      "version": "2.1.34",
+      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz",
+      "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==",
+      "dev": true,
+      "dependencies": {
+        "mime-db": "1.51.0"
+      },
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/mimic-fn": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+      "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/mini-css-extract-plugin": {
+      "version": "2.7.5",
+      "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.5.tgz",
+      "integrity": "sha512-9HaR++0mlgom81s95vvNjxkg52n2b5s//3ZTI1EtzFb98awsLSivs2LMsVqnQ3ay0PVhqWcGNyDaTE961FOcjQ==",
+      "dev": true,
+      "dependencies": {
+        "schema-utils": "^4.0.0"
+      },
+      "engines": {
+        "node": ">= 12.13.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependencies": {
+        "webpack": "^5.0.0"
+      }
+    },
+    "node_modules/minimalistic-assert": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
+      "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
+      "dev": true
+    },
+    "node_modules/minimatch": {
+      "version": "3.0.5",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz",
+      "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^1.1.7"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/minimist": {
+      "version": "1.2.6",
+      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
+      "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
+      "dev": true
+    },
+    "node_modules/minipass": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
+      "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/minipass-collect": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
+      "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
+      "dev": true,
+      "dependencies": {
+        "minipass": "^3.0.0"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/minipass-collect/node_modules/minipass": {
+      "version": "3.3.6",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+      "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+      "dev": true,
+      "dependencies": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/minipass-fetch": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz",
+      "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==",
+      "dev": true,
+      "dependencies": {
+        "minipass": "^3.1.6",
+        "minipass-sized": "^1.0.3",
+        "minizlib": "^2.1.2"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+      },
+      "optionalDependencies": {
+        "encoding": "^0.1.13"
+      }
+    },
+    "node_modules/minipass-fetch/node_modules/minipass": {
+      "version": "3.3.6",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+      "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+      "dev": true,
+      "dependencies": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/minipass-flush": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
+      "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
+      "dev": true,
+      "dependencies": {
+        "minipass": "^3.0.0"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/minipass-flush/node_modules/minipass": {
+      "version": "3.3.6",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+      "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+      "dev": true,
+      "dependencies": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/minipass-json-stream": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz",
+      "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==",
+      "dev": true,
+      "dependencies": {
+        "jsonparse": "^1.3.1",
+        "minipass": "^3.0.0"
+      }
+    },
+    "node_modules/minipass-json-stream/node_modules/minipass": {
+      "version": "3.3.6",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+      "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+      "dev": true,
+      "dependencies": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/minipass-pipeline": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
+      "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
+      "dev": true,
+      "dependencies": {
+        "minipass": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/minipass-pipeline/node_modules/minipass": {
+      "version": "3.3.6",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+      "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+      "dev": true,
+      "dependencies": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/minipass-sized": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
+      "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
+      "dev": true,
+      "dependencies": {
+        "minipass": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/minipass-sized/node_modules/minipass": {
+      "version": "3.3.6",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+      "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+      "dev": true,
+      "dependencies": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/minizlib": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
+      "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
+      "dev": true,
+      "dependencies": {
+        "minipass": "^3.0.0",
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/minizlib/node_modules/minipass": {
+      "version": "3.3.6",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+      "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+      "dev": true,
+      "dependencies": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/mkdirp": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+      "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+      "dev": true,
+      "bin": {
+        "mkdirp": "bin/cmd.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/mrmime": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz",
+      "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/ms": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+    },
+    "node_modules/multicast-dns": {
+      "version": "7.2.5",
+      "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz",
+      "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==",
+      "dev": true,
+      "dependencies": {
+        "dns-packet": "^5.2.2",
+        "thunky": "^1.0.2"
+      },
+      "bin": {
+        "multicast-dns": "cli.js"
+      }
+    },
+    "node_modules/mute-stream": {
+      "version": "0.0.8",
+      "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
+      "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
+      "dev": true
+    },
+    "node_modules/mz": {
+      "version": "2.7.0",
+      "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
+      "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
+      "dev": true,
+      "dependencies": {
+        "any-promise": "^1.0.0",
+        "object-assign": "^4.0.1",
+        "thenify-all": "^1.0.0"
+      }
+    },
+    "node_modules/nanoid": {
+      "version": "3.3.6",
+      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
+      "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
+        }
+      ],
+      "bin": {
+        "nanoid": "bin/nanoid.cjs"
+      },
+      "engines": {
+        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+      }
+    },
+    "node_modules/natural-compare": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+      "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
+      "dev": true
+    },
+    "node_modules/natural-compare-lite": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz",
+      "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==",
+      "dev": true
+    },
+    "node_modules/needle": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz",
+      "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "debug": "^3.2.6",
+        "iconv-lite": "^0.6.3",
+        "sax": "^1.2.4"
+      },
+      "bin": {
+        "needle": "bin/needle"
+      },
+      "engines": {
+        "node": ">= 4.4.x"
+      }
+    },
+    "node_modules/needle/node_modules/debug": {
+      "version": "3.2.7",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "ms": "^2.1.1"
+      }
+    },
+    "node_modules/negotiator": {
+      "version": "0.6.3",
+      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+      "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/neo-async": {
+      "version": "2.6.2",
+      "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
+      "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
+      "dev": true
+    },
+    "node_modules/ng-packagr": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-16.0.1.tgz",
+      "integrity": "sha512-MiJvSR+8olzCViwkQ6ihHLFWVNLdsfUNPCxrZqR7u1nOC/dXlWPf//l2IG0KLdVhHNCiM64mNdwaTpgDEBMD3w==",
+      "dev": true,
+      "dependencies": {
+        "@rollup/plugin-json": "^6.0.0",
+        "@rollup/plugin-node-resolve": "^15.0.0",
+        "ajv": "^8.11.0",
+        "ansi-colors": "^4.1.3",
+        "autoprefixer": "^10.4.12",
+        "browserslist": "^4.21.4",
+        "cacache": "^17.0.0",
+        "chokidar": "^3.5.3",
+        "commander": "^10.0.0",
+        "convert-source-map": "^2.0.0",
+        "dependency-graph": "^0.11.0",
+        "esbuild-wasm": "^0.17.0",
+        "fast-glob": "^3.2.12",
+        "find-cache-dir": "^3.3.2",
+        "injection-js": "^2.4.0",
+        "jsonc-parser": "^3.2.0",
+        "less": "^4.1.3",
+        "ora": "^5.1.0",
+        "piscina": "^3.2.0",
+        "postcss": "^8.4.16",
+        "postcss-url": "^10.1.3",
+        "rollup": "^3.0.0",
+        "rxjs": "^7.5.6",
+        "sass": "^1.55.0"
+      },
+      "bin": {
+        "ng-packagr": "cli/main.js"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.10.0"
+      },
+      "optionalDependencies": {
+        "esbuild": "^0.17.0"
+      },
+      "peerDependencies": {
+        "@angular/compiler-cli": "^16.0.0-next.0",
+        "tailwindcss": "^2.0.0 || ^3.0.0",
+        "tslib": "^2.3.0",
+        "typescript": ">=4.9.3 <5.1"
+      },
+      "peerDependenciesMeta": {
+        "tailwindcss": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/ng-packagr/node_modules/commander": {
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
+      "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
+      "dev": true,
+      "engines": {
+        "node": ">=14"
+      }
+    },
+    "node_modules/ng-packagr/node_modules/convert-source-map": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+      "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+      "dev": true
+    },
+    "node_modules/ng-zorro-antd": {
+      "version": "16.1.0",
+      "resolved": "https://registry.npmjs.org/ng-zorro-antd/-/ng-zorro-antd-16.1.0.tgz",
+      "integrity": "sha512-+KjXoA0+v/liTtVIHswmOAzB9UaGADrO1tL9AOZsTLq5sZM8+DmhtixGRoSMD8HkkhpMFhsgEIxoHlkxtn1SXg==",
+      "dependencies": {
+        "@angular/cdk": "^16.0.0",
+        "@ant-design/icons-angular": "^16.0.0",
+        "date-fns": "^2.16.1",
+        "tslib": "^2.3.0"
+      },
+      "peerDependencies": {
+        "@angular/animations": "^16.0.0",
+        "@angular/common": "^16.0.0",
+        "@angular/core": "^16.0.0",
+        "@angular/forms": "^16.0.0",
+        "@angular/platform-browser": "^16.0.0",
+        "@angular/router": "^16.0.0"
+      }
+    },
+    "node_modules/ngx-markdown": {
+      "version": "16.0.0",
+      "resolved": "https://registry.npmjs.org/ngx-markdown/-/ngx-markdown-16.0.0.tgz",
+      "integrity": "sha512-/rlbXi+HBscJCDdwaTWIUrRkvwJicPnuAgeugOCZa0UbZ4VCWV3U0+uB1Zv6krRDF6FXJNXNLTUrMZV7yH8I6A==",
+      "dependencies": {
+        "tslib": "^2.3.0"
+      },
+      "optionalDependencies": {
+        "clipboard": "^2.0.11",
+        "emoji-toolkit": "^7.0.0",
+        "katex": "^0.16.0",
+        "mermaid": "^9.1.2",
+        "prismjs": "^1.28.0"
+      },
+      "peerDependencies": {
+        "@angular/common": "^16.0.0",
+        "@angular/core": "^16.0.0",
+        "@angular/platform-browser": "^16.0.0",
+        "@types/marked": "^4.3.0",
+        "marked": "^4.3.0",
+        "rxjs": "^6.5.3 || ^7.4.0",
+        "zone.js": "~0.13.0"
+      }
+    },
+    "node_modules/nice-napi": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz",
+      "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==",
+      "dev": true,
+      "hasInstallScript": true,
+      "optional": true,
+      "os": [
+        "!win32"
+      ],
+      "dependencies": {
+        "node-addon-api": "^3.0.0",
+        "node-gyp-build": "^4.2.2"
+      }
+    },
+    "node_modules/nice-try": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
+      "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
+      "dev": true
+    },
+    "node_modules/node-addon-api": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz",
+      "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==",
+      "dev": true
+    },
+    "node_modules/node-forge": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
+      "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 6.13.0"
+      }
+    },
+    "node_modules/node-gyp": {
+      "version": "9.3.1",
+      "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz",
+      "integrity": "sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==",
+      "dev": true,
+      "dependencies": {
+        "env-paths": "^2.2.0",
+        "glob": "^7.1.4",
+        "graceful-fs": "^4.2.6",
+        "make-fetch-happen": "^10.0.3",
+        "nopt": "^6.0.0",
+        "npmlog": "^6.0.0",
+        "rimraf": "^3.0.2",
+        "semver": "^7.3.5",
+        "tar": "^6.1.2",
+        "which": "^2.0.2"
+      },
+      "bin": {
+        "node-gyp": "bin/node-gyp.js"
+      },
+      "engines": {
+        "node": "^12.13 || ^14.13 || >=16"
+      }
+    },
+    "node_modules/node-gyp-build": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz",
+      "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==",
+      "dev": true,
+      "bin": {
+        "node-gyp-build": "bin.js",
+        "node-gyp-build-optional": "optional.js",
+        "node-gyp-build-test": "build-test.js"
+      }
+    },
+    "node_modules/node-gyp/node_modules/which": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+      "dev": true,
+      "dependencies": {
+        "isexe": "^2.0.0"
+      },
+      "bin": {
+        "node-which": "bin/node-which"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/node-releases": {
+      "version": "2.0.10",
+      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz",
+      "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w=="
+    },
+    "node_modules/non-layered-tidy-tree-layout": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz",
+      "integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==",
+      "optional": true
+    },
+    "node_modules/nopt": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz",
+      "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==",
+      "dev": true,
+      "dependencies": {
+        "abbrev": "^1.0.0"
+      },
+      "bin": {
+        "nopt": "bin/nopt.js"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+      }
+    },
+    "node_modules/normalize-package-data": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz",
+      "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==",
+      "dev": true,
+      "dependencies": {
+        "hosted-git-info": "^6.0.0",
+        "is-core-module": "^2.8.1",
+        "semver": "^7.3.5",
+        "validate-npm-package-license": "^3.0.4"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "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/normalize-range": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+      "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/npm-bundled": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz",
+      "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==",
+      "dev": true,
+      "dependencies": {
+        "npm-normalize-package-bin": "^3.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/npm-install-checks": {
+      "version": "6.1.1",
+      "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.1.1.tgz",
+      "integrity": "sha512-dH3GmQL4vsPtld59cOn8uY0iOqRmqKvV+DLGwNXV/Q7MDgD2QfOADWd/mFXcIE5LVhYYGjA3baz6W9JneqnuCw==",
+      "dev": true,
+      "dependencies": {
+        "semver": "^7.1.1"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/npm-normalize-package-bin": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz",
+      "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==",
+      "dev": true,
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/npm-package-arg": {
+      "version": "10.1.0",
+      "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz",
+      "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==",
+      "dev": true,
+      "dependencies": {
+        "hosted-git-info": "^6.0.0",
+        "proc-log": "^3.0.0",
+        "semver": "^7.3.5",
+        "validate-npm-package-name": "^5.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/npm-packlist": {
+      "version": "7.0.4",
+      "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz",
+      "integrity": "sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==",
+      "dev": true,
+      "dependencies": {
+        "ignore-walk": "^6.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/npm-pick-manifest": {
+      "version": "8.0.1",
+      "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-8.0.1.tgz",
+      "integrity": "sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==",
+      "dev": true,
+      "dependencies": {
+        "npm-install-checks": "^6.0.0",
+        "npm-normalize-package-bin": "^3.0.0",
+        "npm-package-arg": "^10.0.0",
+        "semver": "^7.3.5"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/npm-registry-fetch": {
+      "version": "14.0.5",
+      "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.5.tgz",
+      "integrity": "sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==",
+      "dev": true,
+      "dependencies": {
+        "make-fetch-happen": "^11.0.0",
+        "minipass": "^5.0.0",
+        "minipass-fetch": "^3.0.0",
+        "minipass-json-stream": "^1.0.1",
+        "minizlib": "^2.1.2",
+        "npm-package-arg": "^10.0.0",
+        "proc-log": "^3.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/npm-registry-fetch/node_modules/lru-cache": {
+      "version": "7.18.3",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+      "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/npm-registry-fetch/node_modules/make-fetch-happen": {
+      "version": "11.1.1",
+      "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz",
+      "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==",
+      "dev": true,
+      "dependencies": {
+        "agentkeepalive": "^4.2.1",
+        "cacache": "^17.0.0",
+        "http-cache-semantics": "^4.1.1",
+        "http-proxy-agent": "^5.0.0",
+        "https-proxy-agent": "^5.0.0",
+        "is-lambda": "^1.0.1",
+        "lru-cache": "^7.7.1",
+        "minipass": "^5.0.0",
+        "minipass-fetch": "^3.0.0",
+        "minipass-flush": "^1.0.5",
+        "minipass-pipeline": "^1.2.4",
+        "negotiator": "^0.6.3",
+        "promise-retry": "^2.0.1",
+        "socks-proxy-agent": "^7.0.0",
+        "ssri": "^10.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/npm-registry-fetch/node_modules/minipass-fetch": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz",
+      "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==",
+      "dev": true,
+      "dependencies": {
+        "minipass": "^5.0.0",
+        "minipass-sized": "^1.0.3",
+        "minizlib": "^2.1.2"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      },
+      "optionalDependencies": {
+        "encoding": "^0.1.13"
+      }
+    },
+    "node_modules/npm-run-all": {
+      "version": "4.1.5",
+      "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz",
+      "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^3.2.1",
+        "chalk": "^2.4.1",
+        "cross-spawn": "^6.0.5",
+        "memorystream": "^0.3.1",
+        "minimatch": "^3.0.4",
+        "pidtree": "^0.3.0",
+        "read-pkg": "^3.0.0",
+        "shell-quote": "^1.6.1",
+        "string.prototype.padend": "^3.0.0"
+      },
+      "bin": {
+        "npm-run-all": "bin/npm-run-all/index.js",
+        "run-p": "bin/run-p/index.js",
+        "run-s": "bin/run-s/index.js"
+      },
+      "engines": {
+        "node": ">= 4"
+      }
+    },
+    "node_modules/npm-run-all/node_modules/cross-spawn": {
+      "version": "6.0.5",
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+      "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+      "dev": true,
+      "dependencies": {
+        "nice-try": "^1.0.4",
+        "path-key": "^2.0.1",
+        "semver": "^5.5.0",
+        "shebang-command": "^1.2.0",
+        "which": "^1.2.9"
+      },
+      "engines": {
+        "node": ">=4.8"
+      }
+    },
+    "node_modules/npm-run-all/node_modules/path-key": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+      "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/npm-run-all/node_modules/semver": {
+      "version": "5.7.2",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+      "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver"
+      }
+    },
+    "node_modules/npm-run-all/node_modules/shebang-command": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+      "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==",
+      "dev": true,
+      "dependencies": {
+        "shebang-regex": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/npm-run-all/node_modules/shebang-regex": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+      "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/npm-run-path": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+      "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+      "dev": true,
+      "dependencies": {
+        "path-key": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/npmlog": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
+      "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
+      "dev": true,
+      "dependencies": {
+        "are-we-there-yet": "^3.0.0",
+        "console-control-strings": "^1.1.0",
+        "gauge": "^4.0.3",
+        "set-blocking": "^2.0.0"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+      }
+    },
+    "node_modules/nth-check": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
+      "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
+      "dev": true,
+      "dependencies": {
+        "boolbase": "^1.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/fb55/nth-check?sponsor=1"
+      }
+    },
+    "node_modules/nx": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/nx/-/nx-16.0.2.tgz",
+      "integrity": "sha512-8Z9Bo1D2VbYjyC/F2ONensKjm10snz1UfkzURZiFA+oXikBPldiH1u67TOTpoCYZfyYQg4l6h6EpOaAvHF6Abg==",
+      "dev": true,
+      "hasInstallScript": true,
+      "dependencies": {
+        "@nrwl/tao": "16.0.2",
+        "@parcel/watcher": "2.0.4",
+        "@yarnpkg/lockfile": "^1.1.0",
+        "@yarnpkg/parsers": "^3.0.0-rc.18",
+        "@zkochan/js-yaml": "0.0.6",
+        "axios": "^1.0.0",
+        "chalk": "^4.1.0",
+        "cli-cursor": "3.1.0",
+        "cli-spinners": "2.6.1",
+        "cliui": "^7.0.2",
+        "dotenv": "~10.0.0",
+        "enquirer": "~2.3.6",
+        "fast-glob": "3.2.7",
+        "figures": "3.2.0",
+        "flat": "^5.0.2",
+        "fs-extra": "^11.1.0",
+        "glob": "7.1.4",
+        "ignore": "^5.0.4",
+        "js-yaml": "4.1.0",
+        "jsonc-parser": "3.2.0",
+        "lines-and-columns": "~2.0.3",
+        "minimatch": "3.0.5",
+        "npm-run-path": "^4.0.1",
+        "open": "^8.4.0",
+        "semver": "7.3.4",
+        "string-width": "^4.2.3",
+        "strong-log-transformer": "^2.1.0",
+        "tar-stream": "~2.2.0",
+        "tmp": "~0.2.1",
+        "tsconfig-paths": "^4.1.2",
+        "tslib": "^2.3.0",
+        "v8-compile-cache": "2.3.0",
+        "yargs": "^17.6.2",
+        "yargs-parser": "21.1.1"
+      },
+      "bin": {
+        "nx": "bin/nx.js"
+      },
+      "optionalDependencies": {
+        "@nx/nx-darwin-arm64": "16.0.2",
+        "@nx/nx-darwin-x64": "16.0.2",
+        "@nx/nx-linux-arm-gnueabihf": "16.0.2",
+        "@nx/nx-linux-arm64-gnu": "16.0.2",
+        "@nx/nx-linux-arm64-musl": "16.0.2",
+        "@nx/nx-linux-x64-gnu": "16.0.2",
+        "@nx/nx-linux-x64-musl": "16.0.2",
+        "@nx/nx-win32-arm64-msvc": "16.0.2",
+        "@nx/nx-win32-x64-msvc": "16.0.2"
+      },
+      "peerDependencies": {
+        "@swc-node/register": "^1.4.2",
+        "@swc/core": "^1.2.173"
+      },
+      "peerDependenciesMeta": {
+        "@swc-node/register": {
+          "optional": true
+        },
+        "@swc/core": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/nx/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/nx/node_modules/argparse": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+      "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+      "dev": true
+    },
+    "node_modules/nx/node_modules/chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
+      }
+    },
+    "node_modules/nx/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/nx/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "node_modules/nx/node_modules/fast-glob": {
+      "version": "3.2.7",
+      "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz",
+      "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==",
+      "dev": true,
+      "dependencies": {
+        "@nodelib/fs.stat": "^2.0.2",
+        "@nodelib/fs.walk": "^1.2.3",
+        "glob-parent": "^5.1.2",
+        "merge2": "^1.3.0",
+        "micromatch": "^4.0.4"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/nx/node_modules/fs-extra": {
+      "version": "11.1.1",
+      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz",
+      "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==",
+      "dev": true,
+      "dependencies": {
+        "graceful-fs": "^4.2.0",
+        "jsonfile": "^6.0.1",
+        "universalify": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=14.14"
+      }
+    },
+    "node_modules/nx/node_modules/glob": {
+      "version": "7.1.4",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
+      "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
+      "dev": true,
+      "dependencies": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.0.4",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/nx/node_modules/has-flag": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/nx/node_modules/js-yaml": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+      "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+      "dev": true,
+      "dependencies": {
+        "argparse": "^2.0.1"
+      },
+      "bin": {
+        "js-yaml": "bin/js-yaml.js"
+      }
+    },
+    "node_modules/nx/node_modules/lines-and-columns": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz",
+      "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==",
+      "dev": true,
+      "engines": {
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+      }
+    },
+    "node_modules/nx/node_modules/semver": {
+      "version": "7.3.4",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+      "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^6.0.0"
+      },
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/nx/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/nx/node_modules/tmp": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+      "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+      "dev": true,
+      "dependencies": {
+        "rimraf": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8.17.0"
+      }
+    },
+    "node_modules/oauth-sign": {
+      "version": "0.9.0",
+      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+      "dev": true,
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/object-assign": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/object-hash": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
+      "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
+      "dev": true,
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/object-inspect": {
+      "version": "1.13.1",
+      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
+      "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
+      "dev": true,
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/object-is": {
+      "version": "1.1.5",
+      "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
+      "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.1.3"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/object-keys": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+      "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/object.assign": {
+      "version": "4.1.5",
+      "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz",
+      "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.5",
+        "define-properties": "^1.2.1",
+        "has-symbols": "^1.0.3",
+        "object-keys": "^1.1.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/obuf": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
+      "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
+      "dev": true
+    },
+    "node_modules/on-finished": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+      "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "ee-first": "1.1.1"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/on-headers": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
+      "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/once": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+      "dependencies": {
+        "wrappy": "1"
+      }
+    },
+    "node_modules/onetime": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+      "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+      "dev": true,
+      "dependencies": {
+        "mimic-fn": "^2.1.0"
+      },
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/open": {
+      "version": "8.4.2",
+      "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz",
+      "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
+      "dev": true,
+      "dependencies": {
+        "define-lazy-prop": "^2.0.0",
+        "is-docker": "^2.1.1",
+        "is-wsl": "^2.2.0"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/opener": {
+      "version": "1.5.2",
+      "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz",
+      "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==",
+      "dev": true,
+      "bin": {
+        "opener": "bin/opener-bin.js"
+      }
+    },
+    "node_modules/optionator": {
+      "version": "0.9.1",
+      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
+      "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+      "dev": true,
+      "dependencies": {
+        "deep-is": "^0.1.3",
+        "fast-levenshtein": "^2.0.6",
+        "levn": "^0.4.1",
+        "prelude-ls": "^1.2.1",
+        "type-check": "^0.4.0",
+        "word-wrap": "^1.2.3"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/ora": {
+      "version": "5.4.1",
+      "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
+      "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
+      "dev": true,
+      "dependencies": {
+        "bl": "^4.1.0",
+        "chalk": "^4.1.0",
+        "cli-cursor": "^3.1.0",
+        "cli-spinners": "^2.5.0",
+        "is-interactive": "^1.0.0",
+        "is-unicode-supported": "^0.1.0",
+        "log-symbols": "^4.1.0",
+        "strip-ansi": "^6.0.0",
+        "wcwidth": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/ora/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/ora/node_modules/chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
+      }
+    },
+    "node_modules/ora/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/ora/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "node_modules/ora/node_modules/has-flag": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/ora/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/os-tmpdir": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/p-limit": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+      "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+      "dev": true,
+      "dependencies": {
+        "yocto-queue": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/p-locate": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+      "dev": true,
+      "dependencies": {
+        "p-limit": "^2.2.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/p-locate/node_modules/p-limit": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+      "dev": true,
+      "dependencies": {
+        "p-try": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/p-map": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
+      "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
+      "dev": true,
+      "dependencies": {
+        "aggregate-error": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/p-retry": {
+      "version": "4.6.2",
+      "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz",
+      "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==",
+      "dev": true,
+      "dependencies": {
+        "@types/retry": "0.12.0",
+        "retry": "^0.13.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/p-retry/node_modules/retry": {
+      "version": "0.13.1",
+      "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
+      "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 4"
+      }
+    },
+    "node_modules/p-try": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/pacote": {
+      "version": "15.1.3",
+      "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.1.3.tgz",
+      "integrity": "sha512-aRts8cZqxiJVDitmAh+3z+FxuO3tLNWEmwDRPEpDDiZJaRz06clP4XX112ynMT5uF0QNoMPajBBHnaStUEPJXA==",
+      "dev": true,
+      "dependencies": {
+        "@npmcli/git": "^4.0.0",
+        "@npmcli/installed-package-contents": "^2.0.1",
+        "@npmcli/promise-spawn": "^6.0.1",
+        "@npmcli/run-script": "^6.0.0",
+        "cacache": "^17.0.0",
+        "fs-minipass": "^3.0.0",
+        "minipass": "^5.0.0",
+        "npm-package-arg": "^10.0.0",
+        "npm-packlist": "^7.0.0",
+        "npm-pick-manifest": "^8.0.0",
+        "npm-registry-fetch": "^14.0.0",
+        "proc-log": "^3.0.0",
+        "promise-retry": "^2.0.1",
+        "read-package-json": "^6.0.0",
+        "read-package-json-fast": "^3.0.0",
+        "sigstore": "^1.3.0",
+        "ssri": "^10.0.0",
+        "tar": "^6.1.11"
+      },
+      "bin": {
+        "pacote": "lib/bin.js"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/pako": {
+      "version": "1.0.11",
+      "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
+      "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
+      "dev": true
+    },
+    "node_modules/parent-module": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+      "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+      "dev": true,
+      "dependencies": {
+        "callsites": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/parse-json": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+      "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.0.0",
+        "error-ex": "^1.3.1",
+        "json-parse-even-better-errors": "^2.3.0",
+        "lines-and-columns": "^1.1.6"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/parse-node-version": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz",
+      "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.10"
+      }
+    },
+    "node_modules/parse5": {
+      "version": "7.1.2",
+      "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
+      "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
+      "devOptional": true,
+      "dependencies": {
+        "entities": "^4.4.0"
+      },
+      "funding": {
+        "url": "https://github.com/inikulin/parse5?sponsor=1"
+      }
+    },
+    "node_modules/parse5-html-rewriting-stream": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz",
+      "integrity": "sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==",
+      "dev": true,
+      "dependencies": {
+        "entities": "^4.3.0",
+        "parse5": "^7.0.0",
+        "parse5-sax-parser": "^7.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/inikulin/parse5?sponsor=1"
+      }
+    },
+    "node_modules/parse5-html-rewriting-stream/node_modules/entities": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+      "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.12"
+      },
+      "funding": {
+        "url": "https://github.com/fb55/entities?sponsor=1"
+      }
+    },
+    "node_modules/parse5-htmlparser2-tree-adapter": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
+      "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
+      "dev": true,
+      "dependencies": {
+        "parse5": "^6.0.1"
+      }
+    },
+    "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+      "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+      "dev": true
+    },
+    "node_modules/parse5-sax-parser": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz",
+      "integrity": "sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==",
+      "dev": true,
+      "dependencies": {
+        "parse5": "^7.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/inikulin/parse5?sponsor=1"
+      }
+    },
+    "node_modules/parse5/node_modules/entities": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+      "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+      "devOptional": true,
+      "engines": {
+        "node": ">=0.12"
+      },
+      "funding": {
+        "url": "https://github.com/fb55/entities?sponsor=1"
+      }
+    },
+    "node_modules/parseurl": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+      "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/path-exists": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/path-is-absolute": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/path-is-inside": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
+      "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
+      "dev": true
+    },
+    "node_modules/path-key": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/path-parse": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+      "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+      "dev": true
+    },
+    "node_modules/path-scurry": {
+      "version": "1.9.1",
+      "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.1.tgz",
+      "integrity": "sha512-UgmoiySyjFxP6tscZDgWGEAgsW5ok8W3F5CJDnnH2pozwSTGE6eH7vwTotMwATWA2r5xqdkKdxYPkwlJjAI/3g==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^9.1.1",
+        "minipass": "^5.0.0 || ^6.0.0"
+      },
+      "engines": {
+        "node": ">=16 || 14 >=14.17"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/path-scurry/node_modules/lru-cache": {
+      "version": "9.1.1",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz",
+      "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==",
+      "dev": true,
+      "engines": {
+        "node": "14 || >=16.14"
+      }
+    },
+    "node_modules/path-to-regexp": {
+      "version": "0.1.7",
+      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+      "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==",
+      "dev": true
+    },
+    "node_modules/path-type": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+      "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/performance-now": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+      "dev": true
+    },
+    "node_modules/picocolors": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+    },
+    "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/pidtree": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz",
+      "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==",
+      "dev": true,
+      "bin": {
+        "pidtree": "bin/pidtree.js"
+      },
+      "engines": {
+        "node": ">=0.10"
+      }
+    },
+    "node_modules/pify": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+      "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/pinkie": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/pinkie-promise": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+      "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+      "dev": true,
+      "dependencies": {
+        "pinkie": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/pirates": {
+      "version": "4.0.5",
+      "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz",
+      "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==",
+      "dev": true,
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/piscina": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/piscina/-/piscina-3.2.0.tgz",
+      "integrity": "sha512-yn/jMdHRw+q2ZJhFhyqsmANcbF6V2QwmD84c6xRau+QpQOmtrBCoRGdvTfeuFDYXB5W2m6MfLkjkvQa9lUSmIA==",
+      "dev": true,
+      "dependencies": {
+        "eventemitter-asyncresource": "^1.0.0",
+        "hdr-histogram-js": "^2.0.1",
+        "hdr-histogram-percentiles-obj": "^3.0.0"
+      },
+      "optionalDependencies": {
+        "nice-napi": "^1.0.2"
+      }
+    },
+    "node_modules/pkg-dir": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+      "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+      "dev": true,
+      "dependencies": {
+        "find-up": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/possible-typed-array-names": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
+      "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/postcss": {
+      "version": "8.4.23",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz",
+      "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==",
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/postcss/"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/postcss"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
+        }
+      ],
+      "dependencies": {
+        "nanoid": "^3.3.6",
+        "picocolors": "^1.0.0",
+        "source-map-js": "^1.0.2"
+      },
+      "engines": {
+        "node": "^10 || ^12 || >=14"
+      }
+    },
+    "node_modules/postcss-import": {
+      "version": "15.1.0",
+      "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
+      "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
+      "dev": true,
+      "dependencies": {
+        "postcss-value-parser": "^4.0.0",
+        "read-cache": "^1.0.0",
+        "resolve": "^1.1.7"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      },
+      "peerDependencies": {
+        "postcss": "^8.0.0"
+      }
+    },
+    "node_modules/postcss-js": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz",
+      "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==",
+      "dev": true,
+      "dependencies": {
+        "camelcase-css": "^2.0.1"
+      },
+      "engines": {
+        "node": "^12 || ^14 || >= 16"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/postcss/"
+      },
+      "peerDependencies": {
+        "postcss": "^8.4.21"
+      }
+    },
+    "node_modules/postcss-load-config": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz",
+      "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==",
+      "dev": true,
+      "dependencies": {
+        "lilconfig": "^2.0.5",
+        "yaml": "^2.1.1"
+      },
+      "engines": {
+        "node": ">= 14"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/postcss/"
+      },
+      "peerDependencies": {
+        "postcss": ">=8.0.9",
+        "ts-node": ">=9.0.0"
+      },
+      "peerDependenciesMeta": {
+        "postcss": {
+          "optional": true
+        },
+        "ts-node": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/postcss-loader": {
+      "version": "7.3.0",
+      "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.0.tgz",
+      "integrity": "sha512-qLAFjvR2BFNz1H930P7mj1iuWJFjGey/nVhimfOAAQ1ZyPpcClAxP8+A55Sl8mBvM+K2a9Pjgdj10KpANWrNfw==",
+      "dev": true,
+      "dependencies": {
+        "cosmiconfig": "^8.1.3",
+        "jiti": "^1.18.2",
+        "klona": "^2.0.6",
+        "semver": "^7.3.8"
+      },
+      "engines": {
+        "node": ">= 14.15.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependencies": {
+        "postcss": "^7.0.0 || ^8.0.1",
+        "webpack": "^5.0.0"
+      }
+    },
+    "node_modules/postcss-loader/node_modules/semver": {
+      "version": "7.5.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz",
+      "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^6.0.0"
+      },
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/postcss-modules-extract-imports": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
+      "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
+      "dev": true,
+      "engines": {
+        "node": "^10 || ^12 || >= 14"
+      },
+      "peerDependencies": {
+        "postcss": "^8.1.0"
+      }
+    },
+    "node_modules/postcss-modules-local-by-default": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz",
+      "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==",
+      "dev": true,
+      "dependencies": {
+        "icss-utils": "^5.0.0",
+        "postcss-selector-parser": "^6.0.2",
+        "postcss-value-parser": "^4.1.0"
+      },
+      "engines": {
+        "node": "^10 || ^12 || >= 14"
+      },
+      "peerDependencies": {
+        "postcss": "^8.1.0"
+      }
+    },
+    "node_modules/postcss-modules-scope": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz",
+      "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==",
+      "dev": true,
+      "dependencies": {
+        "postcss-selector-parser": "^6.0.4"
+      },
+      "engines": {
+        "node": "^10 || ^12 || >= 14"
+      },
+      "peerDependencies": {
+        "postcss": "^8.1.0"
+      }
+    },
+    "node_modules/postcss-modules-values": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
+      "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==",
+      "dev": true,
+      "dependencies": {
+        "icss-utils": "^5.0.0"
+      },
+      "engines": {
+        "node": "^10 || ^12 || >= 14"
+      },
+      "peerDependencies": {
+        "postcss": "^8.1.0"
+      }
+    },
+    "node_modules/postcss-nested": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz",
+      "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==",
+      "dev": true,
+      "dependencies": {
+        "postcss-selector-parser": "^6.0.11"
+      },
+      "engines": {
+        "node": ">=12.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/postcss/"
+      },
+      "peerDependencies": {
+        "postcss": "^8.2.14"
+      }
+    },
+    "node_modules/postcss-scss": {
+      "version": "4.0.6",
+      "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.6.tgz",
+      "integrity": "sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/postcss/"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/postcss-scss"
+        }
+      ],
+      "engines": {
+        "node": ">=12.0"
+      },
+      "peerDependencies": {
+        "postcss": "^8.4.19"
+      }
+    },
+    "node_modules/postcss-selector-parser": {
+      "version": "6.0.13",
+      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz",
+      "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==",
+      "dev": true,
+      "dependencies": {
+        "cssesc": "^3.0.0",
+        "util-deprecate": "^1.0.2"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/postcss-url": {
+      "version": "10.1.3",
+      "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-10.1.3.tgz",
+      "integrity": "sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==",
+      "dev": true,
+      "dependencies": {
+        "make-dir": "~3.1.0",
+        "mime": "~2.5.2",
+        "minimatch": "~3.0.4",
+        "xxhashjs": "~0.2.2"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "peerDependencies": {
+        "postcss": "^8.0.0"
+      }
+    },
+    "node_modules/postcss-url/node_modules/mime": {
+      "version": "2.5.2",
+      "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz",
+      "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==",
+      "dev": true,
+      "bin": {
+        "mime": "cli.js"
+      },
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
+    "node_modules/postcss-value-parser": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+      "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
+    },
+    "node_modules/prelude-ls": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+      "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/pretty-bytes": {
+      "version": "5.6.0",
+      "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
+      "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/prismjs": {
+      "version": "1.29.0",
+      "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz",
+      "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==",
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/proc-log": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz",
+      "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==",
+      "dev": true,
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/process-nextick-args": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
+      "dev": true
+    },
+    "node_modules/promise-inflight": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
+      "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==",
+      "dev": true
+    },
+    "node_modules/promise-retry": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
+      "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
+      "dev": true,
+      "dependencies": {
+        "err-code": "^2.0.2",
+        "retry": "^0.12.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/protractor": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/protractor/-/protractor-7.0.0.tgz",
+      "integrity": "sha512-UqkFjivi4GcvUQYzqGYNe0mLzfn5jiLmO8w9nMhQoJRLhy2grJonpga2IWhI6yJO30LibWXJJtA4MOIZD2GgZw==",
+      "dev": true,
+      "dependencies": {
+        "@types/q": "^0.0.32",
+        "@types/selenium-webdriver": "^3.0.0",
+        "blocking-proxy": "^1.0.0",
+        "browserstack": "^1.5.1",
+        "chalk": "^1.1.3",
+        "glob": "^7.0.3",
+        "jasmine": "2.8.0",
+        "jasminewd2": "^2.1.0",
+        "q": "1.4.1",
+        "saucelabs": "^1.5.0",
+        "selenium-webdriver": "3.6.0",
+        "source-map-support": "~0.4.0",
+        "webdriver-js-extender": "2.1.0",
+        "webdriver-manager": "^12.1.7",
+        "yargs": "^15.3.1"
+      },
+      "bin": {
+        "protractor": "bin/protractor",
+        "webdriver-manager": "bin/webdriver-manager"
+      },
+      "engines": {
+        "node": ">=10.13.x"
+      }
+    },
+    "node_modules/protractor/node_modules/ansi-regex": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/protractor/node_modules/ansi-styles": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+      "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/protractor/node_modules/chalk": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+      "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^2.2.1",
+        "escape-string-regexp": "^1.0.2",
+        "has-ansi": "^2.0.0",
+        "strip-ansi": "^3.0.0",
+        "supports-color": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/protractor/node_modules/cliui": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+      "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+      "dev": true,
+      "dependencies": {
+        "string-width": "^4.2.0",
+        "strip-ansi": "^6.0.0",
+        "wrap-ansi": "^6.2.0"
+      }
+    },
+    "node_modules/protractor/node_modules/cliui/node_modules/ansi-regex": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/protractor/node_modules/cliui/node_modules/strip-ansi": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/protractor/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/protractor/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "node_modules/protractor/node_modules/source-map": {
+      "version": "0.5.7",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/protractor/node_modules/source-map-support": {
+      "version": "0.4.18",
+      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
+      "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
+      "dev": true,
+      "dependencies": {
+        "source-map": "^0.5.6"
+      }
+    },
+    "node_modules/protractor/node_modules/strip-ansi": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+      "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/protractor/node_modules/supports-color": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+      "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/protractor/node_modules/wrap-ansi": {
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+      "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.0.0",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/protractor/node_modules/wrap-ansi/node_modules/ansi-regex": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/protractor/node_modules/wrap-ansi/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/protractor/node_modules/wrap-ansi/node_modules/strip-ansi": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/protractor/node_modules/y18n": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
+      "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
+      "dev": true
+    },
+    "node_modules/protractor/node_modules/yargs": {
+      "version": "15.4.1",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
+      "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
+      "dev": true,
+      "dependencies": {
+        "cliui": "^6.0.0",
+        "decamelize": "^1.2.0",
+        "find-up": "^4.1.0",
+        "get-caller-file": "^2.0.1",
+        "require-directory": "^2.1.1",
+        "require-main-filename": "^2.0.0",
+        "set-blocking": "^2.0.0",
+        "string-width": "^4.2.0",
+        "which-module": "^2.0.0",
+        "y18n": "^4.0.0",
+        "yargs-parser": "^18.1.2"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/protractor/node_modules/yargs-parser": {
+      "version": "18.1.3",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
+      "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
+      "dev": true,
+      "dependencies": {
+        "camelcase": "^5.0.0",
+        "decamelize": "^1.2.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/proxy-addr": {
+      "version": "2.0.7",
+      "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
+      "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
+      "dev": true,
+      "dependencies": {
+        "forwarded": "0.2.0",
+        "ipaddr.js": "1.9.1"
+      },
+      "engines": {
+        "node": ">= 0.10"
+      }
+    },
+    "node_modules/proxy-addr/node_modules/ipaddr.js": {
+      "version": "1.9.1",
+      "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+      "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.10"
+      }
+    },
+    "node_modules/proxy-from-env": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+      "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
+      "dev": true
+    },
+    "node_modules/prr": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+      "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==",
+      "dev": true,
+      "optional": true
+    },
+    "node_modules/pseudomap": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+      "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==",
+      "dev": true
+    },
+    "node_modules/psl": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
+      "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
+    },
+    "node_modules/punycode": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+      "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/purgecss": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-5.0.0.tgz",
+      "integrity": "sha512-RAnuxrGuVyLLTr8uMbKaxDRGWMgK5CCYDfRyUNNcaz5P3kGgD2b7ymQGYEyo2ST7Tl/ScwFgf5l3slKMxHSbrw==",
+      "dev": true,
+      "dependencies": {
+        "commander": "^9.0.0",
+        "glob": "^8.0.3",
+        "postcss": "^8.4.4",
+        "postcss-selector-parser": "^6.0.7"
+      },
+      "bin": {
+        "purgecss": "bin/purgecss.js"
+      }
+    },
+    "node_modules/purgecss/node_modules/brace-expansion": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+      "dev": true,
+      "dependencies": {
+        "balanced-match": "^1.0.0"
+      }
+    },
+    "node_modules/purgecss/node_modules/commander": {
+      "version": "9.5.0",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz",
+      "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==",
+      "dev": true,
+      "engines": {
+        "node": "^12.20.0 || >=14"
+      }
+    },
+    "node_modules/purgecss/node_modules/glob": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+      "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+      "dev": true,
+      "dependencies": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^5.0.1",
+        "once": "^1.3.0"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/purgecss/node_modules/minimatch": {
+      "version": "5.1.6",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+      "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/q": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
+      "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.6.0",
+        "teleport": ">=0.2.0"
+      }
+    },
+    "node_modules/qjobs": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz",
+      "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "engines": {
+        "node": ">=0.9"
+      }
+    },
+    "node_modules/qs": {
+      "version": "6.11.0",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
+      "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
+      "dev": true,
+      "dependencies": {
+        "side-channel": "^1.0.4"
+      },
+      "engines": {
+        "node": ">=0.6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/queue-microtask": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+      "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ]
+    },
+    "node_modules/randombytes": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+      "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "^5.1.0"
+      }
+    },
+    "node_modules/range-parser": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/raw-body": {
+      "version": "2.5.1",
+      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
+      "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
+      "dev": true,
+      "dependencies": {
+        "bytes": "3.1.2",
+        "http-errors": "2.0.0",
+        "iconv-lite": "0.4.24",
+        "unpipe": "1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/raw-body/node_modules/iconv-lite": {
+      "version": "0.4.24",
+      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+      "dev": true,
+      "dependencies": {
+        "safer-buffer": ">= 2.1.2 < 3"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/read-cache": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
+      "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=",
+      "dev": true,
+      "dependencies": {
+        "pify": "^2.3.0"
+      }
+    },
+    "node_modules/read-package-json": {
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.3.tgz",
+      "integrity": "sha512-4QbpReW4kxFgeBQ0vPAqh2y8sXEB3D4t3jsXbJKIhBiF80KT6XRo45reqwtftju5J6ru1ax06A2Gb/wM1qCOEQ==",
+      "dev": true,
+      "dependencies": {
+        "glob": "^10.2.2",
+        "json-parse-even-better-errors": "^3.0.0",
+        "normalize-package-data": "^5.0.0",
+        "npm-normalize-package-bin": "^3.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/read-package-json-fast": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz",
+      "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==",
+      "dev": true,
+      "dependencies": {
+        "json-parse-even-better-errors": "^3.0.0",
+        "npm-normalize-package-bin": "^3.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/read-package-json-fast/node_modules/json-parse-even-better-errors": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz",
+      "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==",
+      "dev": true,
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/read-package-json/node_modules/brace-expansion": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+      "dev": true,
+      "dependencies": {
+        "balanced-match": "^1.0.0"
+      }
+    },
+    "node_modules/read-package-json/node_modules/glob": {
+      "version": "10.2.4",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.4.tgz",
+      "integrity": "sha512-fDboBse/sl1oXSLhIp0FcCJgzW9KmhC/q8ULTKC82zc+DL3TL7FNb8qlt5qqXN53MsKEUSIcb+7DLmEygOE5Yw==",
+      "dev": true,
+      "dependencies": {
+        "foreground-child": "^3.1.0",
+        "jackspeak": "^2.0.3",
+        "minimatch": "^9.0.0",
+        "minipass": "^5.0.0 || ^6.0.0",
+        "path-scurry": "^1.7.0"
+      },
+      "bin": {
+        "glob": "dist/cjs/src/bin.js"
+      },
+      "engines": {
+        "node": ">=16 || 14 >=14.17"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/read-package-json/node_modules/json-parse-even-better-errors": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz",
+      "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==",
+      "dev": true,
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/read-package-json/node_modules/minimatch": {
+      "version": "9.0.0",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz",
+      "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=16 || 14 >=14.17"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/read-pkg": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
+      "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==",
+      "dev": true,
+      "dependencies": {
+        "load-json-file": "^4.0.0",
+        "normalize-package-data": "^2.3.2",
+        "path-type": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/read-pkg/node_modules/hosted-git-info": {
+      "version": "2.8.9",
+      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+      "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
+      "dev": true
+    },
+    "node_modules/read-pkg/node_modules/normalize-package-data": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+      "dev": true,
+      "dependencies": {
+        "hosted-git-info": "^2.1.4",
+        "resolve": "^1.10.0",
+        "semver": "2 || 3 || 4 || 5",
+        "validate-npm-package-license": "^3.0.1"
+      }
+    },
+    "node_modules/read-pkg/node_modules/path-type": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+      "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+      "dev": true,
+      "dependencies": {
+        "pify": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/read-pkg/node_modules/pify": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+      "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/read-pkg/node_modules/semver": {
+      "version": "5.7.2",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+      "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver"
+      }
+    },
+    "node_modules/readable-stream": {
+      "version": "3.6.0",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+      "dev": true,
+      "dependencies": {
+        "inherits": "^2.0.3",
+        "string_decoder": "^1.1.1",
+        "util-deprecate": "^1.0.1"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/readdir-glob": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.2.tgz",
+      "integrity": "sha512-6RLVvwJtVwEDfPdn6X6Ille4/lxGl0ATOY4FN/B9nxQcgOazvvI0nodiD19ScKq0PvA/29VpaOQML36o5IzZWA==",
+      "dev": true,
+      "dependencies": {
+        "minimatch": "^5.1.0"
+      }
+    },
+    "node_modules/readdir-glob/node_modules/brace-expansion": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+      "dev": true,
+      "dependencies": {
+        "balanced-match": "^1.0.0"
+      }
+    },
+    "node_modules/readdir-glob/node_modules/minimatch": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+      "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "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/reflect-metadata": {
+      "version": "0.1.13",
+      "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz",
+      "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg=="
+    },
+    "node_modules/regenerate": {
+      "version": "1.4.2",
+      "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
+      "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
+      "dev": true
+    },
+    "node_modules/regenerate-unicode-properties": {
+      "version": "10.1.0",
+      "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz",
+      "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==",
+      "dev": true,
+      "dependencies": {
+        "regenerate": "^1.4.2"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/regenerator-runtime": {
+      "version": "0.13.11",
+      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
+      "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
+    },
+    "node_modules/regenerator-transform": {
+      "version": "0.15.1",
+      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz",
+      "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/runtime": "^7.8.4"
+      }
+    },
+    "node_modules/regex-parser": {
+      "version": "2.2.11",
+      "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz",
+      "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==",
+      "dev": true
+    },
+    "node_modules/regexp.prototype.flags": {
+      "version": "1.5.2",
+      "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz",
+      "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.6",
+        "define-properties": "^1.2.1",
+        "es-errors": "^1.3.0",
+        "set-function-name": "^2.0.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/regexpu-core": {
+      "version": "5.3.2",
+      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz",
+      "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/regjsgen": "^0.8.0",
+        "regenerate": "^1.4.2",
+        "regenerate-unicode-properties": "^10.1.0",
+        "regjsparser": "^0.9.1",
+        "unicode-match-property-ecmascript": "^2.0.0",
+        "unicode-match-property-value-ecmascript": "^2.1.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/regjsparser": {
+      "version": "0.9.1",
+      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz",
+      "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
+      "dev": true,
+      "dependencies": {
+        "jsesc": "~0.5.0"
+      },
+      "bin": {
+        "regjsparser": "bin/parser"
+      }
+    },
+    "node_modules/regjsparser/node_modules/jsesc": {
+      "version": "0.5.0",
+      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+      "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==",
+      "dev": true,
+      "bin": {
+        "jsesc": "bin/jsesc"
+      }
+    },
+    "node_modules/request": {
+      "version": "2.88.2",
+      "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+      "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
+      "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
+      "dev": true,
+      "dependencies": {
+        "aws-sign2": "~0.7.0",
+        "aws4": "^1.8.0",
+        "caseless": "~0.12.0",
+        "combined-stream": "~1.0.6",
+        "extend": "~3.0.2",
+        "forever-agent": "~0.6.1",
+        "form-data": "~2.3.2",
+        "har-validator": "~5.1.3",
+        "http-signature": "~1.2.0",
+        "is-typedarray": "~1.0.0",
+        "isstream": "~0.1.2",
+        "json-stringify-safe": "~5.0.1",
+        "mime-types": "~2.1.19",
+        "oauth-sign": "~0.9.0",
+        "performance-now": "^2.1.0",
+        "qs": "~6.5.2",
+        "safe-buffer": "^5.1.2",
+        "tough-cookie": "~2.5.0",
+        "tunnel-agent": "^0.6.0",
+        "uuid": "^3.3.2"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/request/node_modules/qs": {
+      "version": "6.5.3",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
+      "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.6"
+      }
+    },
+    "node_modules/request/node_modules/uuid": {
+      "version": "3.4.0",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+      "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+      "deprecated": "Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.",
+      "dev": true,
+      "bin": {
+        "uuid": "bin/uuid"
+      }
+    },
+    "node_modules/require-directory": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/require-from-string": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+      "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/require-main-filename": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+      "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+      "dev": true
+    },
+    "node_modules/requires-port": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+      "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
+      "dev": true
+    },
+    "node_modules/resolve": {
+      "version": "1.22.2",
+      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz",
+      "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==",
+      "dev": true,
+      "dependencies": {
+        "is-core-module": "^2.11.0",
+        "path-parse": "^1.0.7",
+        "supports-preserve-symlinks-flag": "^1.0.0"
+      },
+      "bin": {
+        "resolve": "bin/resolve"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/resolve-from": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+      "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/resolve-url-loader": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz",
+      "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==",
+      "dev": true,
+      "dependencies": {
+        "adjust-sourcemap-loader": "^4.0.0",
+        "convert-source-map": "^1.7.0",
+        "loader-utils": "^2.0.0",
+        "postcss": "^8.2.14",
+        "source-map": "0.6.1"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/resolve-url-loader/node_modules/loader-utils": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
+      "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
+      "dev": true,
+      "dependencies": {
+        "big.js": "^5.2.2",
+        "emojis-list": "^3.0.0",
+        "json5": "^2.1.2"
+      },
+      "engines": {
+        "node": ">=8.9.0"
+      }
+    },
+    "node_modules/resolve-url-loader/node_modules/source-map": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/restore-cursor": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
+      "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
+      "dev": true,
+      "dependencies": {
+        "onetime": "^5.1.0",
+        "signal-exit": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/retry": {
+      "version": "0.12.0",
+      "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
+      "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==",
+      "dev": true,
+      "engines": {
+        "node": ">= 4"
+      }
+    },
+    "node_modules/reusify": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+      "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+      "dev": true,
+      "engines": {
+        "iojs": ">=1.0.0",
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/rfdc": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz",
+      "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
+    "node_modules/rimraf": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+      "dev": true,
+      "dependencies": {
+        "glob": "^7.1.3"
+      },
+      "bin": {
+        "rimraf": "bin.js"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/robust-predicates": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.1.tgz",
+      "integrity": "sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g=="
+    },
+    "node_modules/rollup": {
+      "version": "3.21.8",
+      "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.8.tgz",
+      "integrity": "sha512-SSFV2T2fWtQ/vvBip85u2Nr0GNKireabH9d7nXswBg+XSH+jbVDSYptRAEbCEsquhs503rpPA9POYAp0/Jhasw==",
+      "dev": true,
+      "bin": {
+        "rollup": "dist/bin/rollup"
+      },
+      "engines": {
+        "node": ">=14.18.0",
+        "npm": ">=8.0.0"
+      },
+      "optionalDependencies": {
+        "fsevents": "~2.3.2"
+      }
+    },
+    "node_modules/run-async": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
+      "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.12.0"
+      }
+    },
+    "node_modules/run-parallel": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+      "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
+      "dependencies": {
+        "queue-microtask": "^1.2.2"
+      }
+    },
+    "node_modules/rw": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
+      "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q="
+    },
+    "node_modules/rxjs": {
+      "version": "7.8.1",
+      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
+      "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
+      "dependencies": {
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/safe-array-concat": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz",
+      "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.5",
+        "get-intrinsic": "^1.2.2",
+        "has-symbols": "^1.0.3",
+        "isarray": "^2.0.5"
+      },
+      "engines": {
+        "node": ">=0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/safe-array-concat/node_modules/isarray": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+      "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
+      "dev": true
+    },
+    "node_modules/safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+    },
+    "node_modules/safe-regex-test": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz",
+      "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.6",
+        "es-errors": "^1.3.0",
+        "is-regex": "^1.1.4"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/safer-buffer": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+    },
+    "node_modules/sass": {
+      "version": "1.62.1",
+      "resolved": "https://registry.npmjs.org/sass/-/sass-1.62.1.tgz",
+      "integrity": "sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A==",
+      "dev": true,
+      "dependencies": {
+        "chokidar": ">=3.0.0 <4.0.0",
+        "immutable": "^4.0.0",
+        "source-map-js": ">=0.6.2 <2.0.0"
+      },
+      "bin": {
+        "sass": "sass.js"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/sass-loader": {
+      "version": "13.2.2",
+      "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.2.2.tgz",
+      "integrity": "sha512-nrIdVAAte3B9icfBiGWvmMhT/D+eCDwnk+yA7VE/76dp/WkHX+i44Q/pfo71NYbwj0Ap+PGsn0ekOuU1WFJ2AA==",
+      "dev": true,
+      "dependencies": {
+        "klona": "^2.0.6",
+        "neo-async": "^2.6.2"
+      },
+      "engines": {
+        "node": ">= 14.15.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependencies": {
+        "fibers": ">= 3.1.0",
+        "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0",
+        "sass": "^1.3.0",
+        "sass-embedded": "*",
+        "webpack": "^5.0.0"
+      },
+      "peerDependenciesMeta": {
+        "fibers": {
+          "optional": true
+        },
+        "node-sass": {
+          "optional": true
+        },
+        "sass": {
+          "optional": true
+        },
+        "sass-embedded": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/saucelabs": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz",
+      "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==",
+      "dev": true,
+      "dependencies": {
+        "https-proxy-agent": "^2.2.1"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/saucelabs/node_modules/agent-base": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
+      "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
+      "dev": true,
+      "dependencies": {
+        "es6-promisify": "^5.0.0"
+      },
+      "engines": {
+        "node": ">= 4.0.0"
+      }
+    },
+    "node_modules/saucelabs/node_modules/debug": {
+      "version": "3.2.7",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+      "dev": true,
+      "dependencies": {
+        "ms": "^2.1.1"
+      }
+    },
+    "node_modules/saucelabs/node_modules/https-proxy-agent": {
+      "version": "2.2.4",
+      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz",
+      "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==",
+      "dev": true,
+      "dependencies": {
+        "agent-base": "^4.3.0",
+        "debug": "^3.1.0"
+      },
+      "engines": {
+        "node": ">= 4.5.0"
+      }
+    },
+    "node_modules/sax": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+      "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+      "dev": true
+    },
+    "node_modules/schema-utils": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz",
+      "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==",
+      "dev": true,
+      "dependencies": {
+        "@types/json-schema": "^7.0.9",
+        "ajv": "^8.9.0",
+        "ajv-formats": "^2.1.1",
+        "ajv-keywords": "^5.1.0"
+      },
+      "engines": {
+        "node": ">= 12.13.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      }
+    },
+    "node_modules/select": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz",
+      "integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==",
+      "optional": true
+    },
+    "node_modules/select-hose": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
+      "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==",
+      "dev": true
+    },
+    "node_modules/selenium-webdriver": {
+      "version": "3.6.0",
+      "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz",
+      "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==",
+      "dev": true,
+      "dependencies": {
+        "jszip": "^3.1.3",
+        "rimraf": "^2.5.4",
+        "tmp": "0.0.30",
+        "xml2js": "^0.4.17"
+      },
+      "engines": {
+        "node": ">= 6.9.0"
+      }
+    },
+    "node_modules/selenium-webdriver/node_modules/rimraf": {
+      "version": "2.7.1",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+      "dev": true,
+      "dependencies": {
+        "glob": "^7.1.3"
+      },
+      "bin": {
+        "rimraf": "bin.js"
+      }
+    },
+    "node_modules/selenium-webdriver/node_modules/tmp": {
+      "version": "0.0.30",
+      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz",
+      "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=",
+      "dev": true,
+      "dependencies": {
+        "os-tmpdir": "~1.0.1"
+      },
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/selfsigned": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz",
+      "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==",
+      "dev": true,
+      "dependencies": {
+        "node-forge": "^1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/semver": {
+      "version": "7.4.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz",
+      "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==",
+      "dependencies": {
+        "lru-cache": "^6.0.0"
+      },
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/send": {
+      "version": "0.18.0",
+      "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
+      "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
+      "dev": true,
+      "dependencies": {
+        "debug": "2.6.9",
+        "depd": "2.0.0",
+        "destroy": "1.2.0",
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "etag": "~1.8.1",
+        "fresh": "0.5.2",
+        "http-errors": "2.0.0",
+        "mime": "1.6.0",
+        "ms": "2.1.3",
+        "on-finished": "2.4.1",
+        "range-parser": "~1.2.1",
+        "statuses": "2.0.1"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/send/node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.0.0"
+      }
+    },
+    "node_modules/send/node_modules/debug/node_modules/ms": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+      "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+      "dev": true
+    },
+    "node_modules/send/node_modules/mime": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+      "dev": true,
+      "bin": {
+        "mime": "cli.js"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/send/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==",
+      "dev": true
+    },
+    "node_modules/send/node_modules/on-finished": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+      "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+      "dev": true,
+      "dependencies": {
+        "ee-first": "1.1.1"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/send/node_modules/statuses": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+      "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/serialize-javascript": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz",
+      "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==",
+      "dev": true,
+      "dependencies": {
+        "randombytes": "^2.1.0"
+      }
+    },
+    "node_modules/serve-index": {
+      "version": "1.9.1",
+      "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
+      "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==",
+      "dev": true,
+      "dependencies": {
+        "accepts": "~1.3.4",
+        "batch": "0.6.1",
+        "debug": "2.6.9",
+        "escape-html": "~1.0.3",
+        "http-errors": "~1.6.2",
+        "mime-types": "~2.1.17",
+        "parseurl": "~1.3.2"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/serve-index/node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.0.0"
+      }
+    },
+    "node_modules/serve-index/node_modules/depd": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+      "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/serve-index/node_modules/http-errors": {
+      "version": "1.6.3",
+      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
+      "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==",
+      "dev": true,
+      "dependencies": {
+        "depd": "~1.1.2",
+        "inherits": "2.0.3",
+        "setprototypeof": "1.1.0",
+        "statuses": ">= 1.4.0 < 2"
+      },
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/serve-index/node_modules/inherits": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+      "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==",
+      "dev": true
+    },
+    "node_modules/serve-index/node_modules/ms": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+      "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+      "dev": true
+    },
+    "node_modules/serve-index/node_modules/setprototypeof": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
+      "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
+      "dev": true
+    },
+    "node_modules/serve-static": {
+      "version": "1.15.0",
+      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
+      "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
+      "dev": true,
+      "dependencies": {
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "parseurl": "~1.3.3",
+        "send": "0.18.0"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/set-blocking": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+      "dev": true
+    },
+    "node_modules/set-function-length": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz",
+      "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==",
+      "dev": true,
+      "dependencies": {
+        "define-data-property": "^1.1.2",
+        "es-errors": "^1.3.0",
+        "function-bind": "^1.1.2",
+        "get-intrinsic": "^1.2.3",
+        "gopd": "^1.0.1",
+        "has-property-descriptors": "^1.0.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/set-function-name": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz",
+      "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
+      "dev": true,
+      "dependencies": {
+        "define-data-property": "^1.1.4",
+        "es-errors": "^1.3.0",
+        "functions-have-names": "^1.2.3",
+        "has-property-descriptors": "^1.0.2"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/setimmediate": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+      "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
+      "dev": true
+    },
+    "node_modules/setprototypeof": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+      "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
+      "dev": true
+    },
+    "node_modules/shallow-clone": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
+      "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^6.0.2"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/shebang-command": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+      "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+      "dev": true,
+      "dependencies": {
+        "shebang-regex": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/shebang-regex": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+      "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/shell-quote": {
+      "version": "1.8.1",
+      "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz",
+      "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==",
+      "dev": true,
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/side-channel": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
+      "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.0",
+        "get-intrinsic": "^1.0.2",
+        "object-inspect": "^1.9.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/signal-exit": {
+      "version": "3.0.7",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+      "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+      "dev": true
+    },
+    "node_modules/sigstore": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-1.5.1.tgz",
+      "integrity": "sha512-FIPThk7S1oeFXn8O8yh7gpyiQb6lYXzMIlOBzXhId/f81VvU587xNCHc4jd2lZ9724UkKUYYTuKSYcjhDSRD/Q==",
+      "dev": true,
+      "dependencies": {
+        "@sigstore/protobuf-specs": "^0.1.0",
+        "make-fetch-happen": "^11.0.1",
+        "tuf-js": "^1.1.3"
+      },
+      "bin": {
+        "sigstore": "bin/sigstore.js"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/sigstore/node_modules/lru-cache": {
+      "version": "7.18.3",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+      "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/sigstore/node_modules/make-fetch-happen": {
+      "version": "11.1.1",
+      "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz",
+      "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==",
+      "dev": true,
+      "dependencies": {
+        "agentkeepalive": "^4.2.1",
+        "cacache": "^17.0.0",
+        "http-cache-semantics": "^4.1.1",
+        "http-proxy-agent": "^5.0.0",
+        "https-proxy-agent": "^5.0.0",
+        "is-lambda": "^1.0.1",
+        "lru-cache": "^7.7.1",
+        "minipass": "^5.0.0",
+        "minipass-fetch": "^3.0.0",
+        "minipass-flush": "^1.0.5",
+        "minipass-pipeline": "^1.2.4",
+        "negotiator": "^0.6.3",
+        "promise-retry": "^2.0.1",
+        "socks-proxy-agent": "^7.0.0",
+        "ssri": "^10.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/sigstore/node_modules/minipass-fetch": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz",
+      "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==",
+      "dev": true,
+      "dependencies": {
+        "minipass": "^5.0.0",
+        "minipass-sized": "^1.0.3",
+        "minizlib": "^2.1.2"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      },
+      "optionalDependencies": {
+        "encoding": "^0.1.13"
+      }
+    },
+    "node_modules/sirv": {
+      "version": "1.0.19",
+      "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz",
+      "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==",
+      "dev": true,
+      "dependencies": {
+        "@polka/url": "^1.0.0-next.20",
+        "mrmime": "^1.0.0",
+        "totalist": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/slash": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
+      "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/smart-buffer": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
+      "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 6.0.0",
+        "npm": ">= 3.0.0"
+      }
+    },
+    "node_modules/socket.io": {
+      "version": "4.6.1",
+      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.6.1.tgz",
+      "integrity": "sha512-KMcaAi4l/8+xEjkRICl6ak8ySoxsYG+gG6/XfRCPJPQ/haCRIJBTL4wIl8YCsmtaBovcAXGLOShyVWQ/FG8GZA==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "accepts": "~1.3.4",
+        "base64id": "~2.0.0",
+        "debug": "~4.3.2",
+        "engine.io": "~6.4.1",
+        "socket.io-adapter": "~2.5.2",
+        "socket.io-parser": "~4.2.1"
+      },
+      "engines": {
+        "node": ">=10.0.0"
+      }
+    },
+    "node_modules/socket.io-adapter": {
+      "version": "2.5.2",
+      "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz",
+      "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "ws": "~8.11.0"
+      }
+    },
+    "node_modules/socket.io-parser": {
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.3.tgz",
+      "integrity": "sha512-JMafRntWVO2DCJimKsRTh/wnqVvO4hrfwOqtO7f+uzwsQMuxO6VwImtYxaQ+ieoyshWOTJyV0fA21lccEXRPpQ==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "@socket.io/component-emitter": "~3.1.0",
+        "debug": "~4.3.1"
+      },
+      "engines": {
+        "node": ">=10.0.0"
+      }
+    },
+    "node_modules/sockjs": {
+      "version": "0.3.24",
+      "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
+      "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==",
+      "dev": true,
+      "dependencies": {
+        "faye-websocket": "^0.11.3",
+        "uuid": "^8.3.2",
+        "websocket-driver": "^0.7.4"
+      }
+    },
+    "node_modules/socks": {
+      "version": "2.7.1",
+      "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
+      "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
+      "dev": true,
+      "dependencies": {
+        "ip": "^2.0.0",
+        "smart-buffer": "^4.2.0"
+      },
+      "engines": {
+        "node": ">= 10.13.0",
+        "npm": ">= 3.0.0"
+      }
+    },
+    "node_modules/socks-proxy-agent": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz",
+      "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==",
+      "dev": true,
+      "dependencies": {
+        "agent-base": "^6.0.2",
+        "debug": "^4.3.3",
+        "socks": "^2.6.2"
+      },
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/source-map": {
+      "version": "0.7.4",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+      "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/source-map-js": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
+      "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/source-map-loader": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.1.tgz",
+      "integrity": "sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==",
+      "dev": true,
+      "dependencies": {
+        "abab": "^2.0.6",
+        "iconv-lite": "^0.6.3",
+        "source-map-js": "^1.0.2"
+      },
+      "engines": {
+        "node": ">= 14.15.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependencies": {
+        "webpack": "^5.72.1"
+      }
+    },
+    "node_modules/source-map-support": {
+      "version": "0.5.21",
+      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
+      "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
+      "dev": true,
+      "dependencies": {
+        "buffer-from": "^1.0.0",
+        "source-map": "^0.6.0"
+      }
+    },
+    "node_modules/source-map-support/node_modules/source-map": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/spdx-correct": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
+      "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
+      "dev": true,
+      "dependencies": {
+        "spdx-expression-parse": "^3.0.0",
+        "spdx-license-ids": "^3.0.0"
+      }
+    },
+    "node_modules/spdx-exceptions": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
+      "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
+      "dev": true
+    },
+    "node_modules/spdx-expression-parse": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
+      "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+      "dev": true,
+      "dependencies": {
+        "spdx-exceptions": "^2.1.0",
+        "spdx-license-ids": "^3.0.0"
+      }
+    },
+    "node_modules/spdx-license-ids": {
+      "version": "3.0.13",
+      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz",
+      "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==",
+      "dev": true
+    },
+    "node_modules/spdy": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz",
+      "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==",
+      "dev": true,
+      "dependencies": {
+        "debug": "^4.1.0",
+        "handle-thing": "^2.0.0",
+        "http-deceiver": "^1.2.7",
+        "select-hose": "^2.0.0",
+        "spdy-transport": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/spdy-transport": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
+      "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
+      "dev": true,
+      "dependencies": {
+        "debug": "^4.1.0",
+        "detect-node": "^2.0.4",
+        "hpack.js": "^2.1.6",
+        "obuf": "^1.1.2",
+        "readable-stream": "^3.0.6",
+        "wbuf": "^1.7.3"
+      }
+    },
+    "node_modules/sshpk": {
+      "version": "1.17.0",
+      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
+      "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
+      "dev": true,
+      "dependencies": {
+        "asn1": "~0.2.3",
+        "assert-plus": "^1.0.0",
+        "bcrypt-pbkdf": "^1.0.0",
+        "dashdash": "^1.12.0",
+        "ecc-jsbn": "~0.1.1",
+        "getpass": "^0.1.1",
+        "jsbn": "~0.1.0",
+        "safer-buffer": "^2.0.2",
+        "tweetnacl": "~0.14.0"
+      },
+      "bin": {
+        "sshpk-conv": "bin/sshpk-conv",
+        "sshpk-sign": "bin/sshpk-sign",
+        "sshpk-verify": "bin/sshpk-verify"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/ssri": {
+      "version": "10.0.4",
+      "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.4.tgz",
+      "integrity": "sha512-12+IR2CB2C28MMAw0Ncqwj5QbTcs0nGIhgJzYWzDkb21vWmfNI83KS4f3Ci6GI98WreIfG7o9UXp3C0qbpA8nQ==",
+      "dev": true,
+      "dependencies": {
+        "minipass": "^5.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/statuses": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+      "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/stop-iteration-iterator": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz",
+      "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==",
+      "dev": true,
+      "dependencies": {
+        "internal-slot": "^1.0.4"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/streamroller": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.1.tgz",
+      "integrity": "sha512-iPhtd9unZ6zKdWgMeYGfSBuqCngyJy1B/GPi/lTpwGpa3bajuX30GjUVd0/Tn/Xhg0mr4DOSENozz9Y06qyonQ==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "date-format": "^4.0.10",
+        "debug": "^4.3.4",
+        "fs-extra": "^10.1.0"
+      },
+      "engines": {
+        "node": ">=8.0"
+      }
+    },
+    "node_modules/string_decoder": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "~5.2.0"
+      }
+    },
+    "node_modules/string_decoder/node_modules/safe-buffer": {
+      "version": "5.2.1",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ]
+    },
+    "node_modules/string-width": {
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+      "dependencies": {
+        "emoji-regex": "^8.0.0",
+        "is-fullwidth-code-point": "^3.0.0",
+        "strip-ansi": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/string-width-cjs": {
+      "name": "string-width",
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+      "dev": true,
+      "dependencies": {
+        "emoji-regex": "^8.0.0",
+        "is-fullwidth-code-point": "^3.0.0",
+        "strip-ansi": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/string.prototype.padend": {
+      "version": "3.1.5",
+      "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.5.tgz",
+      "integrity": "sha512-DOB27b/2UTTD+4myKUFh+/fXWcu/UDyASIXfg+7VzoCNNGOfWvoyU/x5pvVHr++ztyt/oSYI1BcWBBG/hmlNjA==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/string.prototype.trim": {
+      "version": "1.2.8",
+      "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz",
+      "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/string.prototype.trimend": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz",
+      "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/string.prototype.trimstart": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz",
+      "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/strip-ansi": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+      "dependencies": {
+        "ansi-regex": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/strip-ansi-cjs": {
+      "name": "strip-ansi",
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/strip-bom": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+      "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/strip-final-newline": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+      "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/strip-json-comments": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+      "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/strong-log-transformer": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz",
+      "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==",
+      "dev": true,
+      "dependencies": {
+        "duplexer": "^0.1.1",
+        "minimist": "^1.2.0",
+        "through": "^2.3.4"
+      },
+      "bin": {
+        "sl-log-transformer": "bin/sl-log-transformer.js"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/stylis": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz",
+      "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==",
+      "optional": true
+    },
+    "node_modules/stylus": {
+      "version": "0.59.0",
+      "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.59.0.tgz",
+      "integrity": "sha512-lQ9w/XIOH5ZHVNuNbWW8D822r+/wBSO/d6XvtyHLF7LW4KaCIDeVbvn5DF8fGCJAUCwVhVi/h6J0NUcnylUEjg==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "@adobe/css-tools": "^4.0.1",
+        "debug": "^4.3.2",
+        "glob": "^7.1.6",
+        "sax": "~1.2.4",
+        "source-map": "^0.7.3"
+      },
+      "bin": {
+        "stylus": "bin/stylus"
+      },
+      "engines": {
+        "node": "*"
+      },
+      "funding": {
+        "url": "https://opencollective.com/stylus"
+      }
+    },
+    "node_modules/sucrase": {
+      "version": "3.32.0",
+      "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz",
+      "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==",
+      "dev": true,
+      "dependencies": {
+        "@jridgewell/gen-mapping": "^0.3.2",
+        "commander": "^4.0.0",
+        "glob": "7.1.6",
+        "lines-and-columns": "^1.1.6",
+        "mz": "^2.7.0",
+        "pirates": "^4.0.1",
+        "ts-interface-checker": "^0.1.9"
+      },
+      "bin": {
+        "sucrase": "bin/sucrase",
+        "sucrase-node": "bin/sucrase-node"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/sucrase/node_modules/commander": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
+      "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/sucrase/node_modules/glob": {
+      "version": "7.1.6",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+      "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+      "dev": true,
+      "dependencies": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.0.4",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
+      },
+      "engines": {
+        "node": "*"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "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/supports-preserve-symlinks-flag": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+      "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/symbol-observable": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz",
+      "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10"
+      }
+    },
+    "node_modules/tailwindcss": {
+      "version": "3.3.2",
+      "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.2.tgz",
+      "integrity": "sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==",
+      "dev": true,
+      "dependencies": {
+        "@alloc/quick-lru": "^5.2.0",
+        "arg": "^5.0.2",
+        "chokidar": "^3.5.3",
+        "didyoumean": "^1.2.2",
+        "dlv": "^1.1.3",
+        "fast-glob": "^3.2.12",
+        "glob-parent": "^6.0.2",
+        "is-glob": "^4.0.3",
+        "jiti": "^1.18.2",
+        "lilconfig": "^2.1.0",
+        "micromatch": "^4.0.5",
+        "normalize-path": "^3.0.0",
+        "object-hash": "^3.0.0",
+        "picocolors": "^1.0.0",
+        "postcss": "^8.4.23",
+        "postcss-import": "^15.1.0",
+        "postcss-js": "^4.0.1",
+        "postcss-load-config": "^4.0.1",
+        "postcss-nested": "^6.0.1",
+        "postcss-selector-parser": "^6.0.11",
+        "postcss-value-parser": "^4.2.0",
+        "resolve": "^1.22.2",
+        "sucrase": "^3.32.0"
+      },
+      "bin": {
+        "tailwind": "lib/cli.js",
+        "tailwindcss": "lib/cli.js"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/tailwindcss/node_modules/glob-parent": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+      "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+      "dev": true,
+      "dependencies": {
+        "is-glob": "^4.0.3"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      }
+    },
+    "node_modules/tapable": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+      "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/tar": {
+      "version": "6.1.14",
+      "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.14.tgz",
+      "integrity": "sha512-piERznXu0U7/pW7cdSn7hjqySIVTYT6F76icmFk7ptU7dDYlXTm5r9A6K04R2vU3olYgoKeo1Cg3eeu5nhftAw==",
+      "dev": true,
+      "dependencies": {
+        "chownr": "^2.0.0",
+        "fs-minipass": "^2.0.0",
+        "minipass": "^5.0.0",
+        "minizlib": "^2.1.1",
+        "mkdirp": "^1.0.3",
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/tar-stream": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+      "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+      "dev": true,
+      "dependencies": {
+        "bl": "^4.0.3",
+        "end-of-stream": "^1.4.1",
+        "fs-constants": "^1.0.0",
+        "inherits": "^2.0.3",
+        "readable-stream": "^3.1.1"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/tar/node_modules/fs-minipass": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+      "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+      "dev": true,
+      "dependencies": {
+        "minipass": "^3.0.0"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": {
+      "version": "3.3.6",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+      "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+      "dev": true,
+      "dependencies": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/terser": {
+      "version": "5.17.1",
+      "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz",
+      "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==",
+      "dev": true,
+      "dependencies": {
+        "@jridgewell/source-map": "^0.3.2",
+        "acorn": "^8.5.0",
+        "commander": "^2.20.0",
+        "source-map-support": "~0.5.20"
+      },
+      "bin": {
+        "terser": "bin/terser"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/terser-webpack-plugin": {
+      "version": "5.3.8",
+      "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.8.tgz",
+      "integrity": "sha512-WiHL3ElchZMsK27P8uIUh4604IgJyAW47LVXGbEoB21DbQcZ+OuMpGjVYnEUaqcWM6dO8uS2qUbA7LSCWqvsbg==",
+      "dev": true,
+      "dependencies": {
+        "@jridgewell/trace-mapping": "^0.3.17",
+        "jest-worker": "^27.4.5",
+        "schema-utils": "^3.1.1",
+        "serialize-javascript": "^6.0.1",
+        "terser": "^5.16.8"
+      },
+      "engines": {
+        "node": ">= 10.13.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependencies": {
+        "webpack": "^5.1.0"
+      },
+      "peerDependenciesMeta": {
+        "@swc/core": {
+          "optional": true
+        },
+        "esbuild": {
+          "optional": true
+        },
+        "uglify-js": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/terser-webpack-plugin/node_modules/acorn": {
+      "version": "8.8.2",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
+      "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
+      "dev": true,
+      "bin": {
+        "acorn": "bin/acorn"
+      },
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/terser-webpack-plugin/node_modules/ajv": {
+      "version": "6.12.6",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+      "dev": true,
+      "dependencies": {
+        "fast-deep-equal": "^3.1.1",
+        "fast-json-stable-stringify": "^2.0.0",
+        "json-schema-traverse": "^0.4.1",
+        "uri-js": "^4.2.2"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/epoberezkin"
+      }
+    },
+    "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": {
+      "version": "3.5.2",
+      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+      "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
+      "dev": true,
+      "peerDependencies": {
+        "ajv": "^6.9.1"
+      }
+    },
+    "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+      "dev": true
+    },
+    "node_modules/terser-webpack-plugin/node_modules/schema-utils": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
+      "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+      "dev": true,
+      "dependencies": {
+        "@types/json-schema": "^7.0.8",
+        "ajv": "^6.12.5",
+        "ajv-keywords": "^3.5.2"
+      },
+      "engines": {
+        "node": ">= 10.13.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      }
+    },
+    "node_modules/terser-webpack-plugin/node_modules/terser": {
+      "version": "5.17.3",
+      "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.3.tgz",
+      "integrity": "sha512-AudpAZKmZHkG9jueayypz4duuCFJMMNGRMwaPvQKWfxKedh8Z2x3OCoDqIIi1xx5+iwx1u6Au8XQcc9Lke65Yg==",
+      "dev": true,
+      "dependencies": {
+        "@jridgewell/source-map": "^0.3.2",
+        "acorn": "^8.5.0",
+        "commander": "^2.20.0",
+        "source-map-support": "~0.5.20"
+      },
+      "bin": {
+        "terser": "bin/terser"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/terser/node_modules/acorn": {
+      "version": "8.7.1",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz",
+      "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==",
+      "dev": true,
+      "bin": {
+        "acorn": "bin/acorn"
+      },
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/test-exclude": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
+      "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
+      "dev": true,
+      "dependencies": {
+        "@istanbuljs/schema": "^0.1.2",
+        "glob": "^7.1.4",
+        "minimatch": "^3.0.4"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/text-table": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+      "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+      "dev": true
+    },
+    "node_modules/thenify": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
+      "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
+      "dev": true,
+      "dependencies": {
+        "any-promise": "^1.0.0"
+      }
+    },
+    "node_modules/thenify-all": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
+      "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
+      "dev": true,
+      "dependencies": {
+        "thenify": ">= 3.1.0 < 4"
+      },
+      "engines": {
+        "node": ">=0.8"
+      }
+    },
+    "node_modules/through": {
+      "version": "2.3.8",
+      "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+      "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+      "dev": true
+    },
+    "node_modules/thunky": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
+      "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==",
+      "dev": true
+    },
+    "node_modules/tiny-emitter": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
+      "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==",
+      "optional": true
+    },
+    "node_modules/tmp": {
+      "version": "0.0.33",
+      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+      "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+      "dev": true,
+      "dependencies": {
+        "os-tmpdir": "~1.0.2"
+      },
+      "engines": {
+        "node": ">=0.6.0"
+      }
+    },
+    "node_modules/to-fast-properties": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+      "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
+      "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.1",
+      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+      "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.6"
+      }
+    },
+    "node_modules/topojson-client": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz",
+      "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==",
+      "dependencies": {
+        "commander": "2"
+      },
+      "bin": {
+        "topo2geo": "bin/topo2geo",
+        "topomerge": "bin/topomerge",
+        "topoquantize": "bin/topoquantize"
+      }
+    },
+    "node_modules/topojson-simplify": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/topojson-simplify/-/topojson-simplify-3.0.3.tgz",
+      "integrity": "sha512-V+pBjLVzSQ3+hSOxBiV01OVXgFiCmMO8ia3huxKEyIMTC1ApQHBcdXdOqcQ6U2JJJD31TZduwY6KyF15R8sUgg==",
+      "dependencies": {
+        "commander": "2",
+        "topojson-client": "3"
+      },
+      "bin": {
+        "toposimplify": "bin/toposimplify"
+      }
+    },
+    "node_modules/totalist": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz",
+      "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/tough-cookie": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+      "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+      "dev": true,
+      "dependencies": {
+        "psl": "^1.1.28",
+        "punycode": "^2.1.1"
+      },
+      "engines": {
+        "node": ">=0.8"
+      }
+    },
+    "node_modules/tr46": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.0.0.tgz",
+      "integrity": "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==",
+      "dependencies": {
+        "punycode": "^2.3.1"
+      },
+      "engines": {
+        "node": ">=18"
+      }
+    },
+    "node_modules/tree-kill": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
+      "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
+      "dev": true,
+      "bin": {
+        "tree-kill": "cli.js"
+      }
+    },
+    "node_modules/ts-dedent": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz",
+      "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==",
+      "optional": true,
+      "engines": {
+        "node": ">=6.10"
+      }
+    },
+    "node_modules/ts-interface-checker": {
+      "version": "0.1.13",
+      "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
+      "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
+      "dev": true
+    },
+    "node_modules/ts-node": {
+      "version": "10.9.1",
+      "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz",
+      "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==",
+      "dev": true,
+      "dependencies": {
+        "@cspotcode/source-map-support": "^0.8.0",
+        "@tsconfig/node10": "^1.0.7",
+        "@tsconfig/node12": "^1.0.7",
+        "@tsconfig/node14": "^1.0.0",
+        "@tsconfig/node16": "^1.0.2",
+        "acorn": "^8.4.1",
+        "acorn-walk": "^8.1.1",
+        "arg": "^4.1.0",
+        "create-require": "^1.1.0",
+        "diff": "^4.0.1",
+        "make-error": "^1.1.1",
+        "v8-compile-cache-lib": "^3.0.1",
+        "yn": "3.1.1"
+      },
+      "bin": {
+        "ts-node": "dist/bin.js",
+        "ts-node-cwd": "dist/bin-cwd.js",
+        "ts-node-esm": "dist/bin-esm.js",
+        "ts-node-script": "dist/bin-script.js",
+        "ts-node-transpile-only": "dist/bin-transpile.js",
+        "ts-script": "dist/bin-script-deprecated.js"
+      },
+      "peerDependencies": {
+        "@swc/core": ">=1.2.50",
+        "@swc/wasm": ">=1.2.50",
+        "@types/node": "*",
+        "typescript": ">=2.7"
+      },
+      "peerDependenciesMeta": {
+        "@swc/core": {
+          "optional": true
+        },
+        "@swc/wasm": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/ts-node/node_modules/acorn": {
+      "version": "8.7.0",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
+      "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==",
+      "dev": true,
+      "bin": {
+        "acorn": "bin/acorn"
+      },
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/ts-node/node_modules/acorn-walk": {
+      "version": "8.2.0",
+      "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
+      "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/ts-node/node_modules/arg": {
+      "version": "4.1.3",
+      "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
+      "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
+      "dev": true
+    },
+    "node_modules/tsconfig-paths": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz",
+      "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==",
+      "dev": true,
+      "dependencies": {
+        "json5": "^2.2.2",
+        "minimist": "^1.2.6",
+        "strip-bom": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/tslib": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz",
+      "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg=="
+    },
+    "node_modules/tslint": {
+      "version": "6.1.3",
+      "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz",
+      "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==",
+      "deprecated": "TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information.",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.0.0",
+        "builtin-modules": "^1.1.1",
+        "chalk": "^2.3.0",
+        "commander": "^2.12.1",
+        "diff": "^4.0.1",
+        "glob": "^7.1.1",
+        "js-yaml": "^3.13.1",
+        "minimatch": "^3.0.4",
+        "mkdirp": "^0.5.3",
+        "resolve": "^1.3.2",
+        "semver": "^5.3.0",
+        "tslib": "^1.13.0",
+        "tsutils": "^2.29.0"
+      },
+      "bin": {
+        "tslint": "bin/tslint"
+      },
+      "engines": {
+        "node": ">=4.8.0"
+      },
+      "peerDependencies": {
+        "typescript": ">=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev || >= 4.0.0-dev"
+      }
+    },
+    "node_modules/tslint/node_modules/mkdirp": {
+      "version": "0.5.5",
+      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+      "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
+      "dev": true,
+      "dependencies": {
+        "minimist": "^1.2.5"
+      },
+      "bin": {
+        "mkdirp": "bin/cmd.js"
+      }
+    },
+    "node_modules/tslint/node_modules/semver": {
+      "version": "5.7.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver"
+      }
+    },
+    "node_modules/tslint/node_modules/tslib": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+      "dev": true
+    },
+    "node_modules/tsutils": {
+      "version": "2.29.0",
+      "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz",
+      "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==",
+      "dev": true,
+      "dependencies": {
+        "tslib": "^1.8.1"
+      },
+      "peerDependencies": {
+        "typescript": ">=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev"
+      }
+    },
+    "node_modules/tsutils/node_modules/tslib": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+      "dev": true
+    },
+    "node_modules/tuf-js": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.6.tgz",
+      "integrity": "sha512-CXwFVIsXGbVY4vFiWF7TJKWmlKJAT8TWkH4RmiohJRcDJInix++F0dznDmoVbtJNzZ8yLprKUG4YrDIhv3nBMg==",
+      "dev": true,
+      "dependencies": {
+        "@tufjs/models": "1.0.4",
+        "debug": "^4.3.4",
+        "make-fetch-happen": "^11.1.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/tuf-js/node_modules/lru-cache": {
+      "version": "7.18.3",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+      "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/tuf-js/node_modules/make-fetch-happen": {
+      "version": "11.1.1",
+      "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz",
+      "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==",
+      "dev": true,
+      "dependencies": {
+        "agentkeepalive": "^4.2.1",
+        "cacache": "^17.0.0",
+        "http-cache-semantics": "^4.1.1",
+        "http-proxy-agent": "^5.0.0",
+        "https-proxy-agent": "^5.0.0",
+        "is-lambda": "^1.0.1",
+        "lru-cache": "^7.7.1",
+        "minipass": "^5.0.0",
+        "minipass-fetch": "^3.0.0",
+        "minipass-flush": "^1.0.5",
+        "minipass-pipeline": "^1.2.4",
+        "negotiator": "^0.6.3",
+        "promise-retry": "^2.0.1",
+        "socks-proxy-agent": "^7.0.0",
+        "ssri": "^10.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/tuf-js/node_modules/minipass-fetch": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz",
+      "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==",
+      "dev": true,
+      "dependencies": {
+        "minipass": "^5.0.0",
+        "minipass-sized": "^1.0.3",
+        "minizlib": "^2.1.2"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      },
+      "optionalDependencies": {
+        "encoding": "^0.1.13"
+      }
+    },
+    "node_modules/tunnel-agent": {
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+      "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "^5.0.1"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/tweetnacl": {
+      "version": "0.14.5",
+      "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+      "dev": true
+    },
+    "node_modules/type-check": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+      "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+      "dev": true,
+      "dependencies": {
+        "prelude-ls": "^1.2.1"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/type-fest": {
+      "version": "0.21.3",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
+      "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/type-is": {
+      "version": "1.6.18",
+      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+      "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+      "dev": true,
+      "dependencies": {
+        "media-typer": "0.3.0",
+        "mime-types": "~2.1.24"
+      },
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/typed-array-buffer": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz",
+      "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.7",
+        "es-errors": "^1.3.0",
+        "is-typed-array": "^1.1.13"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/typed-array-byte-length": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz",
+      "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.7",
+        "for-each": "^0.3.3",
+        "gopd": "^1.0.1",
+        "has-proto": "^1.0.3",
+        "is-typed-array": "^1.1.13"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/typed-array-byte-offset": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz",
+      "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==",
+      "dev": true,
+      "dependencies": {
+        "available-typed-arrays": "^1.0.7",
+        "call-bind": "^1.0.7",
+        "for-each": "^0.3.3",
+        "gopd": "^1.0.1",
+        "has-proto": "^1.0.3",
+        "is-typed-array": "^1.1.13"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/typed-array-length": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.5.tgz",
+      "integrity": "sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.7",
+        "for-each": "^0.3.3",
+        "gopd": "^1.0.1",
+        "has-proto": "^1.0.3",
+        "is-typed-array": "^1.1.13",
+        "possible-typed-array-names": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/typed-assert": {
+      "version": "1.0.9",
+      "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz",
+      "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==",
+      "dev": true
+    },
+    "node_modules/typescript": {
+      "version": "4.9.5",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
+      "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
+      "bin": {
+        "tsc": "bin/tsc",
+        "tsserver": "bin/tsserver"
+      },
+      "engines": {
+        "node": ">=4.2.0"
+      }
+    },
+    "node_modules/ua-parser-js": {
+      "version": "0.7.35",
+      "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.35.tgz",
+      "integrity": "sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/ua-parser-js"
+        },
+        {
+          "type": "paypal",
+          "url": "https://paypal.me/faisalman"
+        }
+      ],
+      "optional": true,
+      "peer": true,
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/un-eval": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/un-eval/-/un-eval-1.2.0.tgz",
+      "integrity": "sha512-Wlj/pum6dQtGTPD/lclDtoVPkSfpjPfy1dwnnKw/sZP5DpBH9fLhBgQfsqNhe5/gS1D+vkZUuB771NRMUPA5CA==",
+      "dev": true
+    },
+    "node_modules/unbox-primitive": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
+      "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "has-bigints": "^1.0.2",
+        "has-symbols": "^1.0.3",
+        "which-boxed-primitive": "^1.0.2"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/unicode-canonical-property-names-ecmascript": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
+      "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/unicode-match-property-ecmascript": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
+      "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
+      "dev": true,
+      "dependencies": {
+        "unicode-canonical-property-names-ecmascript": "^2.0.0",
+        "unicode-property-aliases-ecmascript": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/unicode-match-property-value-ecmascript": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz",
+      "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/unicode-property-aliases-ecmascript": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
+      "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/unique-filename": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz",
+      "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==",
+      "dev": true,
+      "dependencies": {
+        "unique-slug": "^4.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/unique-slug": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz",
+      "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==",
+      "dev": true,
+      "dependencies": {
+        "imurmurhash": "^0.1.4"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/universalify": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+      "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+      "dev": true,
+      "engines": {
+        "node": ">= 10.0.0"
+      }
+    },
+    "node_modules/unpipe": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/update-browserslist-db": {
+      "version": "1.0.11",
+      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz",
+      "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==",
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/browserslist"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/browserslist"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
+        }
+      ],
+      "dependencies": {
+        "escalade": "^3.1.1",
+        "picocolors": "^1.0.0"
+      },
+      "bin": {
+        "update-browserslist-db": "cli.js"
+      },
+      "peerDependencies": {
+        "browserslist": ">= 4.21.0"
+      }
+    },
+    "node_modules/uri-js": {
+      "version": "4.4.1",
+      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+      "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+      "dev": true,
+      "dependencies": {
+        "punycode": "^2.1.0"
+      }
+    },
+    "node_modules/useragent": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz",
+      "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "4.1.x",
+        "tmp": "0.0.x"
+      }
+    },
+    "node_modules/useragent/node_modules/lru-cache": {
+      "version": "4.1.5",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
+      "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+      "dev": true,
+      "dependencies": {
+        "pseudomap": "^1.0.2",
+        "yallist": "^2.1.2"
+      }
+    },
+    "node_modules/useragent/node_modules/yallist": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+      "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==",
+      "dev": true
+    },
+    "node_modules/util-deprecate": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+      "dev": true
+    },
+    "node_modules/utils-merge": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+      "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4.0"
+      }
+    },
+    "node_modules/uuid": {
+      "version": "8.3.2",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+      "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+      "dev": true,
+      "bin": {
+        "uuid": "dist/bin/uuid"
+      }
+    },
+    "node_modules/v8-compile-cache": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
+      "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
+      "dev": true
+    },
+    "node_modules/v8-compile-cache-lib": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
+      "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
+      "dev": true
+    },
+    "node_modules/validate-npm-package-license": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+      "dev": true,
+      "dependencies": {
+        "spdx-correct": "^3.0.0",
+        "spdx-expression-parse": "^3.0.0"
+      }
+    },
+    "node_modules/validate-npm-package-name": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz",
+      "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==",
+      "dev": true,
+      "dependencies": {
+        "builtins": "^5.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/vary": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/verror": {
+      "version": "1.10.0",
+      "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+      "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+      "dev": true,
+      "engines": [
+        "node >=0.6.0"
+      ],
+      "dependencies": {
+        "assert-plus": "^1.0.0",
+        "core-util-is": "1.0.2",
+        "extsprintf": "^1.2.0"
+      }
+    },
+    "node_modules/vite": {
+      "version": "4.3.1",
+      "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.1.tgz",
+      "integrity": "sha512-EPmfPLAI79Z/RofuMvkIS0Yr091T2ReUoXQqc5ppBX/sjFRhHKiPPF/R46cTdoci/XgeQpB23diiJxq5w30vdg==",
+      "dev": true,
+      "dependencies": {
+        "esbuild": "^0.17.5",
+        "postcss": "^8.4.21",
+        "rollup": "^3.20.2"
+      },
+      "bin": {
+        "vite": "bin/vite.js"
+      },
+      "engines": {
+        "node": "^14.18.0 || >=16.0.0"
+      },
+      "optionalDependencies": {
+        "fsevents": "~2.3.2"
+      },
+      "peerDependencies": {
+        "@types/node": ">= 14",
+        "less": "*",
+        "sass": "*",
+        "stylus": "*",
+        "sugarss": "*",
+        "terser": "^5.4.0"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        },
+        "less": {
+          "optional": true
+        },
+        "sass": {
+          "optional": true
+        },
+        "stylus": {
+          "optional": true
+        },
+        "sugarss": {
+          "optional": true
+        },
+        "terser": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/void-elements": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
+      "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/watchpack": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
+      "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
+      "dev": true,
+      "dependencies": {
+        "glob-to-regexp": "^0.4.1",
+        "graceful-fs": "^4.1.2"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      }
+    },
+    "node_modules/wbuf": {
+      "version": "1.7.3",
+      "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
+      "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
+      "dev": true,
+      "dependencies": {
+        "minimalistic-assert": "^1.0.0"
+      }
+    },
+    "node_modules/wcwidth": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+      "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
+      "dev": true,
+      "dependencies": {
+        "defaults": "^1.0.3"
+      }
+    },
+    "node_modules/web-worker": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz",
+      "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==",
+      "optional": true
+    },
+    "node_modules/webdriver-js-extender": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz",
+      "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==",
+      "dev": true,
+      "dependencies": {
+        "@types/selenium-webdriver": "^3.0.0",
+        "selenium-webdriver": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=6.9.x"
+      }
+    },
+    "node_modules/webdriver-manager": {
+      "version": "12.1.9",
+      "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.9.tgz",
+      "integrity": "sha512-Yl113uKm8z4m/KMUVWHq1Sjtla2uxEBtx2Ue3AmIlnlPAKloDn/Lvmy6pqWCUersVISpdMeVpAaGbNnvMuT2LQ==",
+      "dev": true,
+      "dependencies": {
+        "adm-zip": "^0.5.2",
+        "chalk": "^1.1.1",
+        "del": "^2.2.0",
+        "glob": "^7.0.3",
+        "ini": "^1.3.4",
+        "minimist": "^1.2.0",
+        "q": "^1.4.1",
+        "request": "^2.87.0",
+        "rimraf": "^2.5.2",
+        "semver": "^5.3.0",
+        "xml2js": "^0.4.17"
+      },
+      "bin": {
+        "webdriver-manager": "bin/webdriver-manager"
+      },
+      "engines": {
+        "node": ">=6.9.x"
+      }
+    },
+    "node_modules/webdriver-manager/node_modules/ansi-regex": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/webdriver-manager/node_modules/ansi-styles": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+      "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/webdriver-manager/node_modules/chalk": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+      "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^2.2.1",
+        "escape-string-regexp": "^1.0.2",
+        "has-ansi": "^2.0.0",
+        "strip-ansi": "^3.0.0",
+        "supports-color": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/webdriver-manager/node_modules/ini": {
+      "version": "1.3.8",
+      "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+      "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+      "dev": true
+    },
+    "node_modules/webdriver-manager/node_modules/rimraf": {
+      "version": "2.7.1",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+      "dev": true,
+      "dependencies": {
+        "glob": "^7.1.3"
+      },
+      "bin": {
+        "rimraf": "bin.js"
+      }
+    },
+    "node_modules/webdriver-manager/node_modules/semver": {
+      "version": "5.7.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver"
+      }
+    },
+    "node_modules/webdriver-manager/node_modules/strip-ansi": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+      "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/webdriver-manager/node_modules/supports-color": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+      "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/webextension-polyfill": {
+      "version": "0.8.0",
+      "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.8.0.tgz",
+      "integrity": "sha512-a19+DzlT6Kp9/UI+mF9XQopeZ+n2ussjhxHJ4/pmIGge9ijCDz7Gn93mNnjpZAk95T4Tae8iHZ6sSf869txqiQ==",
+      "dev": true
+    },
+    "node_modules/webidl-conversions": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+      "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/webpack": {
+      "version": "5.80.0",
+      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.80.0.tgz",
+      "integrity": "sha512-OIMiq37XK1rWO8mH9ssfFKZsXg4n6klTEDL7S8/HqbAOBBaiy8ABvXvz0dDCXeEF9gqwxSvVk611zFPjS8hJxA==",
+      "dev": true,
+      "dependencies": {
+        "@types/eslint-scope": "^3.7.3",
+        "@types/estree": "^1.0.0",
+        "@webassemblyjs/ast": "^1.11.5",
+        "@webassemblyjs/wasm-edit": "^1.11.5",
+        "@webassemblyjs/wasm-parser": "^1.11.5",
+        "acorn": "^8.7.1",
+        "acorn-import-assertions": "^1.7.6",
+        "browserslist": "^4.14.5",
+        "chrome-trace-event": "^1.0.2",
+        "enhanced-resolve": "^5.13.0",
+        "es-module-lexer": "^1.2.1",
+        "eslint-scope": "5.1.1",
+        "events": "^3.2.0",
+        "glob-to-regexp": "^0.4.1",
+        "graceful-fs": "^4.2.9",
+        "json-parse-even-better-errors": "^2.3.1",
+        "loader-runner": "^4.2.0",
+        "mime-types": "^2.1.27",
+        "neo-async": "^2.6.2",
+        "schema-utils": "^3.1.2",
+        "tapable": "^2.1.1",
+        "terser-webpack-plugin": "^5.3.7",
+        "watchpack": "^2.4.0",
+        "webpack-sources": "^3.2.3"
+      },
+      "bin": {
+        "webpack": "bin/webpack.js"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependenciesMeta": {
+        "webpack-cli": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/webpack-bundle-analyzer": {
+      "version": "4.8.0",
+      "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.8.0.tgz",
+      "integrity": "sha512-ZzoSBePshOKhr+hd8u6oCkZVwpVaXgpw23ScGLFpR6SjYI7+7iIWYarjN6OEYOfRt8o7ZyZZQk0DuMizJ+LEIg==",
+      "dev": true,
+      "dependencies": {
+        "@discoveryjs/json-ext": "0.5.7",
+        "acorn": "^8.0.4",
+        "acorn-walk": "^8.0.0",
+        "chalk": "^4.1.0",
+        "commander": "^7.2.0",
+        "gzip-size": "^6.0.0",
+        "lodash": "^4.17.20",
+        "opener": "^1.5.2",
+        "sirv": "^1.0.7",
+        "ws": "^7.3.1"
+      },
+      "bin": {
+        "webpack-bundle-analyzer": "lib/bin/analyzer.js"
+      },
+      "engines": {
+        "node": ">= 10.13.0"
+      }
+    },
+    "node_modules/webpack-bundle-analyzer/node_modules/acorn": {
+      "version": "8.7.0",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
+      "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==",
+      "dev": true,
+      "bin": {
+        "acorn": "bin/acorn"
+      },
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/webpack-bundle-analyzer/node_modules/acorn-walk": {
+      "version": "8.2.0",
+      "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
+      "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/webpack-bundle-analyzer/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/webpack-bundle-analyzer/node_modules/chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
+      }
+    },
+    "node_modules/webpack-bundle-analyzer/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/webpack-bundle-analyzer/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "node_modules/webpack-bundle-analyzer/node_modules/commander": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
+      "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
+      "dev": true,
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/webpack-bundle-analyzer/node_modules/has-flag": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/webpack-bundle-analyzer/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/webpack-bundle-analyzer/node_modules/ws": {
+      "version": "7.5.6",
+      "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz",
+      "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8.3.0"
+      },
+      "peerDependencies": {
+        "bufferutil": "^4.0.1",
+        "utf-8-validate": "^5.0.2"
+      },
+      "peerDependenciesMeta": {
+        "bufferutil": {
+          "optional": true
+        },
+        "utf-8-validate": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/webpack-dev-middleware": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.0.2.tgz",
+      "integrity": "sha512-iOddiJzPcQC6lwOIu60vscbGWth8PCRcWRCwoQcTQf9RMoOWBHg5EyzpGdtSmGMrSPd5vHEfFXmVErQEmkRngQ==",
+      "dev": true,
+      "dependencies": {
+        "colorette": "^2.0.10",
+        "memfs": "^3.4.12",
+        "mime-types": "^2.1.31",
+        "range-parser": "^1.2.1",
+        "schema-utils": "^4.0.0"
+      },
+      "engines": {
+        "node": ">= 14.15.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependencies": {
+        "webpack": "^5.0.0"
+      },
+      "peerDependenciesMeta": {
+        "webpack": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/webpack-dev-server": {
+      "version": "4.13.2",
+      "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.13.2.tgz",
+      "integrity": "sha512-5i6TrGBRxG4vnfDpB6qSQGfnB6skGBXNL5/542w2uRGLimX6qeE5BQMLrzIC3JYV/xlGOv+s+hTleI9AZKUQNw==",
+      "dev": true,
+      "dependencies": {
+        "@types/bonjour": "^3.5.9",
+        "@types/connect-history-api-fallback": "^1.3.5",
+        "@types/express": "^4.17.13",
+        "@types/serve-index": "^1.9.1",
+        "@types/serve-static": "^1.13.10",
+        "@types/sockjs": "^0.3.33",
+        "@types/ws": "^8.5.1",
+        "ansi-html-community": "^0.0.8",
+        "bonjour-service": "^1.0.11",
+        "chokidar": "^3.5.3",
+        "colorette": "^2.0.10",
+        "compression": "^1.7.4",
+        "connect-history-api-fallback": "^2.0.0",
+        "default-gateway": "^6.0.3",
+        "express": "^4.17.3",
+        "graceful-fs": "^4.2.6",
+        "html-entities": "^2.3.2",
+        "http-proxy-middleware": "^2.0.3",
+        "ipaddr.js": "^2.0.1",
+        "launch-editor": "^2.6.0",
+        "open": "^8.0.9",
+        "p-retry": "^4.5.0",
+        "rimraf": "^3.0.2",
+        "schema-utils": "^4.0.0",
+        "selfsigned": "^2.1.1",
+        "serve-index": "^1.9.1",
+        "sockjs": "^0.3.24",
+        "spdy": "^4.0.2",
+        "webpack-dev-middleware": "^5.3.1",
+        "ws": "^8.13.0"
+      },
+      "bin": {
+        "webpack-dev-server": "bin/webpack-dev-server.js"
+      },
+      "engines": {
+        "node": ">= 12.13.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependencies": {
+        "webpack": "^4.37.0 || ^5.0.0"
+      },
+      "peerDependenciesMeta": {
+        "webpack": {
+          "optional": true
+        },
+        "webpack-cli": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware": {
+      "version": "5.3.3",
+      "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz",
+      "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==",
+      "dev": true,
+      "dependencies": {
+        "colorette": "^2.0.10",
+        "memfs": "^3.4.3",
+        "mime-types": "^2.1.31",
+        "range-parser": "^1.2.1",
+        "schema-utils": "^4.0.0"
+      },
+      "engines": {
+        "node": ">= 12.13.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependencies": {
+        "webpack": "^4.0.0 || ^5.0.0"
+      }
+    },
+    "node_modules/webpack-dev-server/node_modules/ws": {
+      "version": "8.13.0",
+      "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz",
+      "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10.0.0"
+      },
+      "peerDependencies": {
+        "bufferutil": "^4.0.1",
+        "utf-8-validate": ">=5.0.2"
+      },
+      "peerDependenciesMeta": {
+        "bufferutil": {
+          "optional": true
+        },
+        "utf-8-validate": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/webpack-ext-reloader": {
+      "version": "1.1.9",
+      "resolved": "https://registry.npmjs.org/webpack-ext-reloader/-/webpack-ext-reloader-1.1.9.tgz",
+      "integrity": "sha512-6AVXGrjcVHKtIQn4yGGghJpiIV2h9F7hNKLsh1oP8m+d6H3QLF3jTNu3vNdKu/8Lab3J/gwb7Bm7tjZLa+DS6g==",
+      "dev": true,
+      "dependencies": {
+        "@types/webextension-polyfill": "^0.8.2",
+        "@types/webpack": "^5.28.0",
+        "@types/webpack-sources": "^3.2.0",
+        "clean-webpack-plugin": "^4.0.0",
+        "colors": "^1.4.0",
+        "cross-env": "^7.0.3",
+        "lodash": "^4.17.21",
+        "minimist": "^1.2.5",
+        "useragent": "^2.3.0",
+        "webextension-polyfill": "^0.8.0",
+        "webpack-sources": "^3.2.3",
+        "ws": "^8.4.2"
+      },
+      "bin": {
+        "webpack-ext-reloader": "dist/webpack-ext-reloader-cli.js"
+      },
+      "peerDependencies": {
+        "webpack": "^5.61.0"
+      }
+    },
+    "node_modules/webpack-merge": {
+      "version": "5.8.0",
+      "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz",
+      "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==",
+      "dev": true,
+      "dependencies": {
+        "clone-deep": "^4.0.1",
+        "wildcard": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=10.0.0"
+      }
+    },
+    "node_modules/webpack-sources": {
+      "version": "3.2.3",
+      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
+      "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
+      "dev": true,
+      "engines": {
+        "node": ">=10.13.0"
+      }
+    },
+    "node_modules/webpack-subresource-integrity": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz",
+      "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==",
+      "dev": true,
+      "dependencies": {
+        "typed-assert": "^1.0.8"
+      },
+      "engines": {
+        "node": ">= 12"
+      },
+      "peerDependencies": {
+        "html-webpack-plugin": ">= 5.0.0-beta.1 < 6",
+        "webpack": "^5.12.0"
+      },
+      "peerDependenciesMeta": {
+        "html-webpack-plugin": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/webpack/node_modules/acorn": {
+      "version": "8.8.2",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
+      "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
+      "dev": true,
+      "bin": {
+        "acorn": "bin/acorn"
+      },
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/webpack/node_modules/acorn-import-assertions": {
+      "version": "1.8.0",
+      "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
+      "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
+      "dev": true,
+      "peerDependencies": {
+        "acorn": "^8"
+      }
+    },
+    "node_modules/webpack/node_modules/ajv": {
+      "version": "6.12.6",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+      "dev": true,
+      "dependencies": {
+        "fast-deep-equal": "^3.1.1",
+        "fast-json-stable-stringify": "^2.0.0",
+        "json-schema-traverse": "^0.4.1",
+        "uri-js": "^4.2.2"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/epoberezkin"
+      }
+    },
+    "node_modules/webpack/node_modules/ajv-keywords": {
+      "version": "3.5.2",
+      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+      "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
+      "dev": true,
+      "peerDependencies": {
+        "ajv": "^6.9.1"
+      }
+    },
+    "node_modules/webpack/node_modules/json-schema-traverse": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+      "dev": true
+    },
+    "node_modules/webpack/node_modules/schema-utils": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz",
+      "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==",
+      "dev": true,
+      "dependencies": {
+        "@types/json-schema": "^7.0.8",
+        "ajv": "^6.12.5",
+        "ajv-keywords": "^3.5.2"
+      },
+      "engines": {
+        "node": ">= 10.13.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      }
+    },
+    "node_modules/websocket-driver": {
+      "version": "0.7.4",
+      "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
+      "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==",
+      "dev": true,
+      "dependencies": {
+        "http-parser-js": ">=0.5.1",
+        "safe-buffer": ">=5.1.0",
+        "websocket-extensions": ">=0.1.1"
+      },
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/websocket-extensions": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz",
+      "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/whatwg-encoding": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz",
+      "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==",
+      "dependencies": {
+        "iconv-lite": "0.6.3"
+      },
+      "engines": {
+        "node": ">=18"
+      }
+    },
+    "node_modules/whatwg-mimetype": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz",
+      "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==",
+      "engines": {
+        "node": ">=18"
+      }
+    },
+    "node_modules/whatwg-url": {
+      "version": "14.0.0",
+      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.0.0.tgz",
+      "integrity": "sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==",
+      "dependencies": {
+        "tr46": "^5.0.0",
+        "webidl-conversions": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=18"
+      }
+    },
+    "node_modules/which": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+      "dev": true,
+      "dependencies": {
+        "isexe": "^2.0.0"
+      },
+      "bin": {
+        "which": "bin/which"
+      }
+    },
+    "node_modules/which-boxed-primitive": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
+      "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
+      "dev": true,
+      "dependencies": {
+        "is-bigint": "^1.0.1",
+        "is-boolean-object": "^1.1.0",
+        "is-number-object": "^1.0.4",
+        "is-string": "^1.0.5",
+        "is-symbol": "^1.0.3"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/which-collection": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz",
+      "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==",
+      "dev": true,
+      "dependencies": {
+        "is-map": "^2.0.1",
+        "is-set": "^2.0.1",
+        "is-weakmap": "^2.0.1",
+        "is-weakset": "^2.0.1"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/which-module": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+      "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+      "dev": true
+    },
+    "node_modules/which-typed-array": {
+      "version": "1.1.14",
+      "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz",
+      "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==",
+      "dev": true,
+      "dependencies": {
+        "available-typed-arrays": "^1.0.6",
+        "call-bind": "^1.0.5",
+        "for-each": "^0.3.3",
+        "gopd": "^1.0.1",
+        "has-tostringtag": "^1.0.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/wide-align": {
+      "version": "1.1.5",
+      "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
+      "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
+      "dev": true,
+      "dependencies": {
+        "string-width": "^1.0.2 || 2 || 3 || 4"
+      }
+    },
+    "node_modules/wildcard": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz",
+      "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==",
+      "dev": true
+    },
+    "node_modules/word-wrap": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+      "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/wrap-ansi": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+      "dependencies": {
+        "ansi-styles": "^4.0.0",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+      }
+    },
+    "node_modules/wrap-ansi-cjs": {
+      "name": "wrap-ansi",
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.0.0",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+      }
+    },
+    "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/wrap-ansi-cjs/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/wrap-ansi-cjs/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "node_modules/wrap-ansi/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/wrap-ansi/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/wrap-ansi/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+    },
+    "node_modules/wrappy": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+    },
+    "node_modules/ws": {
+      "version": "8.11.0",
+      "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
+      "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
+      "dev": true,
+      "engines": {
+        "node": ">=10.0.0"
+      },
+      "peerDependencies": {
+        "bufferutil": "^4.0.1",
+        "utf-8-validate": "^5.0.2"
+      },
+      "peerDependenciesMeta": {
+        "bufferutil": {
+          "optional": true
+        },
+        "utf-8-validate": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/xml2js": {
+      "version": "0.4.23",
+      "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
+      "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
+      "dev": true,
+      "dependencies": {
+        "sax": ">=0.6.0",
+        "xmlbuilder": "~11.0.0"
+      },
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
+    "node_modules/xmlbuilder": {
+      "version": "11.0.1",
+      "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
+      "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
+      "dev": true,
+      "engines": {
+        "node": ">=4.0"
+      }
+    },
+    "node_modules/xxhashjs": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/xxhashjs/-/xxhashjs-0.2.2.tgz",
+      "integrity": "sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==",
+      "dev": true,
+      "dependencies": {
+        "cuint": "^0.2.2"
+      }
+    },
+    "node_modules/y18n": {
+      "version": "5.0.8",
+      "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+      "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+    },
+    "node_modules/yaml": {
+      "version": "2.2.2",
+      "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz",
+      "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 14"
+      }
+    },
+    "node_modules/yargs": {
+      "version": "17.7.2",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+      "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+      "dependencies": {
+        "cliui": "^8.0.1",
+        "escalade": "^3.1.1",
+        "get-caller-file": "^2.0.5",
+        "require-directory": "^2.1.1",
+        "string-width": "^4.2.3",
+        "y18n": "^5.0.5",
+        "yargs-parser": "^21.1.1"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/yargs-parser": {
+      "version": "21.1.1",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+      "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/yargs/node_modules/cliui": {
+      "version": "8.0.1",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+      "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+      "dependencies": {
+        "string-width": "^4.2.0",
+        "strip-ansi": "^6.0.1",
+        "wrap-ansi": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/yn": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
+      "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/yocto-queue": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+      "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/zip-a-folder": {
+      "version": "1.1.5",
+      "resolved": "https://registry.npmjs.org/zip-a-folder/-/zip-a-folder-1.1.5.tgz",
+      "integrity": "sha512-w6I4mvWc6D0Q4pdzCSFbQih/ezYBdjwGZVbWRRFMOYcOdtE9TONZ7YtXCPnHj4XJQmXQxTOWcRGnPYxRn+d0mw==",
+      "dev": true,
+      "dependencies": {
+        "archiver": "^5.3.1"
+      }
+    },
+    "node_modules/zip-stream": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz",
+      "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==",
+      "dev": true,
+      "dependencies": {
+        "archiver-utils": "^2.1.0",
+        "compress-commons": "^4.1.0",
+        "readable-stream": "^3.6.0"
+      },
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/zone.js": {
+      "version": "0.13.0",
+      "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.13.0.tgz",
+      "integrity": "sha512-7m3hNNyswsdoDobCkYNAy5WiUulkMd3+fWaGT9ij6iq3Zr/IwJo4RMCYPSDjT+r7tnPErmY9sZpKhWQ8S5k6XQ==",
+      "dependencies": {
+        "tslib": "^2.3.0"
+      }
+    }
+  },
+  "dependencies": {
+    "@adobe/css-tools": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.2.0.tgz",
+      "integrity": "sha512-E09FiIft46CmH5Qnjb0wsW54/YQd69LsxeKUOWawmws1XWvyFGURnAChH0mlr7YPFR1ofwvUQfcL0J3lMxXqPA==",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
+    "@alloc/quick-lru": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
+      "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
+      "dev": true
+    },
+    "@ampproject/remapping": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
+      "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
+      "requires": {
+        "@jridgewell/gen-mapping": "^0.3.0",
+        "@jridgewell/trace-mapping": "^0.3.9"
+      }
+    },
+    "@angular-builders/custom-webpack": {
+      "version": "16.0.0-beta.1",
+      "resolved": "https://registry.npmjs.org/@angular-builders/custom-webpack/-/custom-webpack-16.0.0-beta.1.tgz",
+      "integrity": "sha512-C0tpgKJt++ciJ2nXtP2+fHOgzHUNyk5Su7bgTKY3yWMWlC9YfUMOlXHvNnCRUDaLqxXTsxQjGp56o9hPNd5miA==",
+      "dev": true,
+      "requires": {
+        "@angular-devkit/architect": ">=0.1600.0 < 0.1700.0",
+        "@angular-devkit/build-angular": "^16.0.0",
+        "@angular-devkit/core": "^16.0.0",
+        "lodash": "^4.17.15",
+        "ts-node": "^10.0.0",
+        "tsconfig-paths": "^4.1.0",
+        "webpack-merge": "^5.7.3"
+      },
+      "dependencies": {
+        "@angular-devkit/build-angular": {
+          "version": "16.0.2",
+          "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.0.2.tgz",
+          "integrity": "sha512-jh6ez6k1tPmLTQ8J2T0CY+aRqLbhCvaExH6pqB7q6/bkDItcLPrybDGfJf05F0dHvZPB2fQEK0xYz9i92POofQ==",
+          "dev": true,
+          "requires": {
+            "@ampproject/remapping": "2.2.1",
+            "@angular-devkit/architect": "0.1600.2",
+            "@angular-devkit/build-webpack": "0.1600.2",
+            "@angular-devkit/core": "16.0.2",
+            "@babel/core": "7.21.4",
+            "@babel/generator": "7.21.4",
+            "@babel/helper-annotate-as-pure": "7.18.6",
+            "@babel/helper-split-export-declaration": "7.18.6",
+            "@babel/plugin-proposal-async-generator-functions": "7.20.7",
+            "@babel/plugin-transform-async-to-generator": "7.20.7",
+            "@babel/plugin-transform-runtime": "7.21.4",
+            "@babel/preset-env": "7.21.4",
+            "@babel/runtime": "7.21.0",
+            "@babel/template": "7.20.7",
+            "@discoveryjs/json-ext": "0.5.7",
+            "@ngtools/webpack": "16.0.2",
+            "@vitejs/plugin-basic-ssl": "1.0.1",
+            "ansi-colors": "4.1.3",
+            "autoprefixer": "10.4.14",
+            "babel-loader": "9.1.2",
+            "babel-plugin-istanbul": "6.1.1",
+            "browserslist": "4.21.5",
+            "cacache": "17.0.6",
+            "chokidar": "3.5.3",
+            "copy-webpack-plugin": "11.0.0",
+            "critters": "0.0.16",
+            "css-loader": "6.7.3",
+            "esbuild": "0.17.18",
+            "esbuild-wasm": "0.17.18",
+            "glob": "8.1.0",
+            "https-proxy-agent": "5.0.1",
+            "inquirer": "8.2.4",
+            "jsonc-parser": "3.2.0",
+            "karma-source-map-support": "1.4.0",
+            "less": "4.1.3",
+            "less-loader": "11.1.0",
+            "license-webpack-plugin": "4.0.2",
+            "loader-utils": "3.2.1",
+            "magic-string": "0.30.0",
+            "mini-css-extract-plugin": "2.7.5",
+            "mrmime": "1.0.1",
+            "open": "8.4.2",
+            "ora": "5.4.1",
+            "parse5-html-rewriting-stream": "7.0.0",
+            "picomatch": "2.3.1",
+            "piscina": "3.2.0",
+            "postcss": "8.4.23",
+            "postcss-loader": "7.2.4",
+            "resolve-url-loader": "5.0.0",
+            "rxjs": "7.8.1",
+            "sass": "1.62.1",
+            "sass-loader": "13.2.2",
+            "semver": "7.4.0",
+            "source-map-loader": "4.0.1",
+            "source-map-support": "0.5.21",
+            "terser": "5.17.1",
+            "text-table": "0.2.0",
+            "tree-kill": "1.2.2",
+            "tslib": "2.5.0",
+            "vite": "4.3.1",
+            "webpack": "5.80.0",
+            "webpack-dev-middleware": "6.0.2",
+            "webpack-dev-server": "4.13.2",
+            "webpack-merge": "5.8.0",
+            "webpack-subresource-integrity": "5.1.0"
+          }
+        },
+        "@angular-devkit/build-webpack": {
+          "version": "0.1600.2",
+          "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1600.2.tgz",
+          "integrity": "sha512-B7EYoRMZOT3RcorxkXaHvMqwuNSttJCicZ99DmwBC41YlZOxpVVP6uM6wvYINGO0TMtu9bCmKkrSD8IC/hHetQ==",
+          "dev": true,
+          "requires": {
+            "@angular-devkit/architect": "0.1600.2",
+            "rxjs": "7.8.1"
+          }
+        },
+        "@angular-devkit/core": {
+          "version": "16.0.2",
+          "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.0.2.tgz",
+          "integrity": "sha512-V4+t0BHO+QML9O2IiG2mJi8DtjeMOm4LAuG6tNDeiHZGAPOflvSPsKBtVl2JlXX/JxdLmyF4B6kRoAXRMKcwTg==",
+          "dev": true,
+          "requires": {
+            "ajv": "8.12.0",
+            "ajv-formats": "2.1.1",
+            "jsonc-parser": "3.2.0",
+            "rxjs": "7.8.1",
+            "source-map": "0.7.4"
+          }
+        },
+        "@ngtools/webpack": {
+          "version": "16.0.2",
+          "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.0.2.tgz",
+          "integrity": "sha512-8nPAOs2JLdMrAUf3sMkySzh66sPIkukO6HT8KVj726Dqm0Jtabjnxh0EI15Gkykj7HqH0Zw7/VyxpNQRfTA2UQ==",
+          "dev": true,
+          "requires": {}
+        },
+        "brace-expansion": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+          "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+          "dev": true,
+          "requires": {
+            "balanced-match": "^1.0.0"
+          }
+        },
+        "glob": {
+          "version": "8.1.0",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+          "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+          "dev": true,
+          "requires": {
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^5.0.1",
+            "once": "^1.3.0"
+          }
+        },
+        "minimatch": {
+          "version": "5.1.6",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+          "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "^2.0.1"
+          }
+        },
+        "postcss-loader": {
+          "version": "7.2.4",
+          "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.2.4.tgz",
+          "integrity": "sha512-F88rpxxNspo5hatIc+orYwZDtHFaVFOSIVAx+fBfJC1GmhWbVmPWtmg2gXKE1OxJbneOSGn8PWdIwsZFcruS+w==",
+          "dev": true,
+          "requires": {
+            "cosmiconfig": "^8.1.3",
+            "cosmiconfig-typescript-loader": "^4.3.0",
+            "klona": "^2.0.6",
+            "semver": "^7.3.8"
+          }
+        }
+      }
+    },
+    "@angular-devkit/architect": {
+      "version": "0.1600.2",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1600.2.tgz",
+      "integrity": "sha512-2AOP3/dwLywcjkRr3ixR/lb0uBn1jzaMWwQR3o7ye3IuEA2sRtyWhUzsy6V7smKBKWPDIbXvX2TcqYZAJ87ccA==",
+      "dev": true,
+      "requires": {
+        "@angular-devkit/core": "16.0.2",
+        "rxjs": "7.8.1"
+      },
+      "dependencies": {
+        "@angular-devkit/core": {
+          "version": "16.0.2",
+          "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.0.2.tgz",
+          "integrity": "sha512-V4+t0BHO+QML9O2IiG2mJi8DtjeMOm4LAuG6tNDeiHZGAPOflvSPsKBtVl2JlXX/JxdLmyF4B6kRoAXRMKcwTg==",
+          "dev": true,
+          "requires": {
+            "ajv": "8.12.0",
+            "ajv-formats": "2.1.1",
+            "jsonc-parser": "3.2.0",
+            "rxjs": "7.8.1",
+            "source-map": "0.7.4"
+          }
+        }
+      }
+    },
+    "@angular-devkit/build-angular": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.0.1.tgz",
+      "integrity": "sha512-VFhUViBfONOf6Ji4Lfkxlk+GN5l8Owm4Z0McqUIegrXsq3aSSStBBFdaDESpzhS6GIGqEBjjHMUQK8IlWT+EIQ==",
+      "dev": true,
+      "requires": {
+        "@ampproject/remapping": "2.2.1",
+        "@angular-devkit/architect": "0.1600.1",
+        "@angular-devkit/build-webpack": "0.1600.1",
+        "@angular-devkit/core": "16.0.1",
+        "@babel/core": "7.21.4",
+        "@babel/generator": "7.21.4",
+        "@babel/helper-annotate-as-pure": "7.18.6",
+        "@babel/helper-split-export-declaration": "7.18.6",
+        "@babel/plugin-proposal-async-generator-functions": "7.20.7",
+        "@babel/plugin-transform-async-to-generator": "7.20.7",
+        "@babel/plugin-transform-runtime": "7.21.4",
+        "@babel/preset-env": "7.21.4",
+        "@babel/runtime": "7.21.0",
+        "@babel/template": "7.20.7",
+        "@discoveryjs/json-ext": "0.5.7",
+        "@ngtools/webpack": "16.0.1",
+        "@vitejs/plugin-basic-ssl": "1.0.1",
+        "ansi-colors": "4.1.3",
+        "autoprefixer": "10.4.14",
+        "babel-loader": "9.1.2",
+        "babel-plugin-istanbul": "6.1.1",
+        "browserslist": "4.21.5",
+        "cacache": "17.0.6",
+        "chokidar": "3.5.3",
+        "copy-webpack-plugin": "11.0.0",
+        "critters": "0.0.16",
+        "css-loader": "6.7.3",
+        "esbuild": "0.17.18",
+        "esbuild-wasm": "0.17.18",
+        "glob": "8.1.0",
+        "https-proxy-agent": "5.0.1",
+        "inquirer": "8.2.4",
+        "jsonc-parser": "3.2.0",
+        "karma-source-map-support": "1.4.0",
+        "less": "4.1.3",
+        "less-loader": "11.1.0",
+        "license-webpack-plugin": "4.0.2",
+        "loader-utils": "3.2.1",
+        "magic-string": "0.30.0",
+        "mini-css-extract-plugin": "2.7.5",
+        "mrmime": "1.0.1",
+        "open": "8.4.2",
+        "ora": "5.4.1",
+        "parse5-html-rewriting-stream": "7.0.0",
+        "picomatch": "2.3.1",
+        "piscina": "3.2.0",
+        "postcss": "8.4.23",
+        "postcss-loader": "7.2.4",
+        "resolve-url-loader": "5.0.0",
+        "rxjs": "7.8.1",
+        "sass": "1.62.1",
+        "sass-loader": "13.2.2",
+        "semver": "7.4.0",
+        "source-map-loader": "4.0.1",
+        "source-map-support": "0.5.21",
+        "terser": "5.17.1",
+        "text-table": "0.2.0",
+        "tree-kill": "1.2.2",
+        "tslib": "2.5.0",
+        "vite": "4.3.1",
+        "webpack": "5.80.0",
+        "webpack-dev-middleware": "6.0.2",
+        "webpack-dev-server": "4.13.2",
+        "webpack-merge": "5.8.0",
+        "webpack-subresource-integrity": "5.1.0"
+      },
+      "dependencies": {
+        "@angular-devkit/architect": {
+          "version": "0.1600.1",
+          "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1600.1.tgz",
+          "integrity": "sha512-7N3Dugrp3Fyyn3Q6RsxFNJJ2m1QuqcF3GHJcX7siINL37Hp6xI/q5gKffcd9rf20H1DYZE0VIbR1Sk31G6hMWg==",
+          "dev": true,
+          "requires": {
+            "@angular-devkit/core": "16.0.1",
+            "rxjs": "7.8.1"
+          }
+        },
+        "brace-expansion": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+          "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+          "dev": true,
+          "requires": {
+            "balanced-match": "^1.0.0"
+          }
+        },
+        "glob": {
+          "version": "8.1.0",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+          "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+          "dev": true,
+          "requires": {
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^5.0.1",
+            "once": "^1.3.0"
+          }
+        },
+        "minimatch": {
+          "version": "5.1.6",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+          "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "^2.0.1"
+          }
+        },
+        "postcss-loader": {
+          "version": "7.2.4",
+          "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.2.4.tgz",
+          "integrity": "sha512-F88rpxxNspo5hatIc+orYwZDtHFaVFOSIVAx+fBfJC1GmhWbVmPWtmg2gXKE1OxJbneOSGn8PWdIwsZFcruS+w==",
+          "dev": true,
+          "requires": {
+            "cosmiconfig": "^8.1.3",
+            "cosmiconfig-typescript-loader": "^4.3.0",
+            "klona": "^2.0.6",
+            "semver": "^7.3.8"
+          }
+        }
+      }
+    },
+    "@angular-devkit/build-webpack": {
+      "version": "0.1600.1",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1600.1.tgz",
+      "integrity": "sha512-yCy5A1UwGzpst3QJ/CRo2Y8HWRqTPOfwAPAVl91Lbch7gBFViRvq6E7N1XfQunPu/eXvKxbuq2mFSDqtyZ1mWw==",
+      "dev": true,
+      "requires": {
+        "@angular-devkit/architect": "0.1600.1",
+        "rxjs": "7.8.1"
+      },
+      "dependencies": {
+        "@angular-devkit/architect": {
+          "version": "0.1600.1",
+          "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1600.1.tgz",
+          "integrity": "sha512-7N3Dugrp3Fyyn3Q6RsxFNJJ2m1QuqcF3GHJcX7siINL37Hp6xI/q5gKffcd9rf20H1DYZE0VIbR1Sk31G6hMWg==",
+          "dev": true,
+          "requires": {
+            "@angular-devkit/core": "16.0.1",
+            "rxjs": "7.8.1"
+          }
+        }
+      }
+    },
+    "@angular-devkit/core": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.0.1.tgz",
+      "integrity": "sha512-2uz98IqkKJlgnHbWQ7VeL4pb+snGAZXIama2KXi+k9GsRntdcw+udX8rL3G9SdUGUF+m6+147Y1oRBMHsO/v4w==",
+      "dev": true,
+      "requires": {
+        "ajv": "8.12.0",
+        "ajv-formats": "2.1.1",
+        "jsonc-parser": "3.2.0",
+        "rxjs": "7.8.1",
+        "source-map": "0.7.4"
+      }
+    },
+    "@angular-devkit/schematics": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.0.1.tgz",
+      "integrity": "sha512-A9D0LTYmiqiBa90GKcSuWb7hUouGIbm/AHbJbjL85WLLRbQA2PwKl7P5Mpd6nS/ZC0kfG4VQY3VOaDvb3qpI9g==",
+      "dev": true,
+      "requires": {
+        "@angular-devkit/core": "16.0.1",
+        "jsonc-parser": "3.2.0",
+        "magic-string": "0.30.0",
+        "ora": "5.4.1",
+        "rxjs": "7.8.1"
+      }
+    },
+    "@angular-eslint/builder": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-16.0.1.tgz",
+      "integrity": "sha512-yjFltV+r3YjisVjASMPmWB/ASz39wdh0q5g0l6/4G+8yaxl6hEYs5o0ZOGeGdTFstCql8FGY+QKwKgsq9Ec4QQ==",
+      "dev": true,
+      "requires": {
+        "@nx/devkit": "16.0.2",
+        "nx": "16.0.2"
+      }
+    },
+    "@angular-eslint/bundled-angular-compiler": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-16.0.1.tgz",
+      "integrity": "sha512-amvTgKHtZoygivW3LAYZ9qjLWsXM7/7eaRvaHdmAEdjyFnYQZ7UbWMPSQNz1mlW/AzTFvk9lGGQORglNOSDnww==",
+      "dev": true
+    },
+    "@angular-eslint/eslint-plugin": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-16.0.1.tgz",
+      "integrity": "sha512-CM9keS9cH1QAfSVfsvhw/oGCZcP/D8gfekWwVNjN/uEMEAak0czn1KOG7JQkE36NXOGtwCpTspMi1aa9CVKo9g==",
+      "dev": true,
+      "requires": {
+        "@angular-eslint/utils": "16.0.1",
+        "@typescript-eslint/utils": "5.59.2"
+      },
+      "dependencies": {
+        "@typescript-eslint/scope-manager": {
+          "version": "5.59.2",
+          "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.2.tgz",
+          "integrity": "sha512-dB1v7ROySwQWKqQ8rEWcdbTsFjh2G0vn8KUyvTXdPoyzSL6lLGkiXEV5CvpJsEe9xIdKV+8Zqb7wif2issoOFA==",
+          "dev": true,
+          "requires": {
+            "@typescript-eslint/types": "5.59.2",
+            "@typescript-eslint/visitor-keys": "5.59.2"
+          }
+        },
+        "@typescript-eslint/types": {
+          "version": "5.59.2",
+          "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.2.tgz",
+          "integrity": "sha512-LbJ/HqoVs2XTGq5shkiKaNTuVv5tTejdHgfdjqRUGdYhjW1crm/M7og2jhVskMt8/4wS3T1+PfFvL1K3wqYj4w==",
+          "dev": true
+        },
+        "@typescript-eslint/typescript-estree": {
+          "version": "5.59.2",
+          "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.2.tgz",
+          "integrity": "sha512-+j4SmbwVmZsQ9jEyBMgpuBD0rKwi9RxRpjX71Brr73RsYnEr3Lt5QZ624Bxphp8HUkSKfqGnPJp1kA5nl0Sh7Q==",
+          "dev": true,
+          "requires": {
+            "@typescript-eslint/types": "5.59.2",
+            "@typescript-eslint/visitor-keys": "5.59.2",
+            "debug": "^4.3.4",
+            "globby": "^11.1.0",
+            "is-glob": "^4.0.3",
+            "semver": "^7.3.7",
+            "tsutils": "^3.21.0"
+          }
+        },
+        "@typescript-eslint/utils": {
+          "version": "5.59.2",
+          "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.2.tgz",
+          "integrity": "sha512-kSuF6/77TZzyGPhGO4uVp+f0SBoYxCDf+lW3GKhtKru/L8k/Hd7NFQxyWUeY7Z/KGB2C6Fe3yf2vVi4V9TsCSQ==",
+          "dev": true,
+          "requires": {
+            "@eslint-community/eslint-utils": "^4.2.0",
+            "@types/json-schema": "^7.0.9",
+            "@types/semver": "^7.3.12",
+            "@typescript-eslint/scope-manager": "5.59.2",
+            "@typescript-eslint/types": "5.59.2",
+            "@typescript-eslint/typescript-estree": "5.59.2",
+            "eslint-scope": "^5.1.1",
+            "semver": "^7.3.7"
+          }
+        },
+        "@typescript-eslint/visitor-keys": {
+          "version": "5.59.2",
+          "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.2.tgz",
+          "integrity": "sha512-EEpsO8m3RASrKAHI9jpavNv9NlEUebV4qmF1OWxSTtKSFBpC1NCmWazDQHFivRf0O1DV11BA645yrLEVQ0/Lig==",
+          "dev": true,
+          "requires": {
+            "@typescript-eslint/types": "5.59.2",
+            "eslint-visitor-keys": "^3.3.0"
+          }
+        },
+        "globby": {
+          "version": "11.1.0",
+          "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+          "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+          "dev": true,
+          "requires": {
+            "array-union": "^2.1.0",
+            "dir-glob": "^3.0.1",
+            "fast-glob": "^3.2.9",
+            "ignore": "^5.2.0",
+            "merge2": "^1.4.1",
+            "slash": "^3.0.0"
+          }
+        },
+        "slash": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+          "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+          "dev": true
+        },
+        "tslib": {
+          "version": "1.14.1",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+          "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+          "dev": true
+        },
+        "tsutils": {
+          "version": "3.21.0",
+          "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
+          "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+          "dev": true,
+          "requires": {
+            "tslib": "^1.8.1"
+          }
+        }
+      }
+    },
+    "@angular-eslint/eslint-plugin-template": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-16.0.1.tgz",
+      "integrity": "sha512-1hyfs+Iq7K2x3mDDE4985d8vDcMyknbE9HKHKUtRLfLKC9gnV3N5d4+UeySQ7Rrjvgzkc1g9qHADyuhwRWpDSA==",
+      "dev": true,
+      "requires": {
+        "@angular-eslint/bundled-angular-compiler": "16.0.1",
+        "@angular-eslint/utils": "16.0.1",
+        "@typescript-eslint/type-utils": "5.59.2",
+        "@typescript-eslint/utils": "5.59.2",
+        "aria-query": "5.1.3",
+        "axobject-query": "3.1.1"
+      },
+      "dependencies": {
+        "@typescript-eslint/scope-manager": {
+          "version": "5.59.2",
+          "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.2.tgz",
+          "integrity": "sha512-dB1v7ROySwQWKqQ8rEWcdbTsFjh2G0vn8KUyvTXdPoyzSL6lLGkiXEV5CvpJsEe9xIdKV+8Zqb7wif2issoOFA==",
+          "dev": true,
+          "requires": {
+            "@typescript-eslint/types": "5.59.2",
+            "@typescript-eslint/visitor-keys": "5.59.2"
+          }
+        },
+        "@typescript-eslint/type-utils": {
+          "version": "5.59.2",
+          "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.2.tgz",
+          "integrity": "sha512-b1LS2phBOsEy/T381bxkkywfQXkV1dWda/z0PhnIy3bC5+rQWQDS7fk9CSpcXBccPY27Z6vBEuaPBCKCgYezyQ==",
+          "dev": true,
+          "requires": {
+            "@typescript-eslint/typescript-estree": "5.59.2",
+            "@typescript-eslint/utils": "5.59.2",
+            "debug": "^4.3.4",
+            "tsutils": "^3.21.0"
+          }
+        },
+        "@typescript-eslint/types": {
+          "version": "5.59.2",
+          "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.2.tgz",
+          "integrity": "sha512-LbJ/HqoVs2XTGq5shkiKaNTuVv5tTejdHgfdjqRUGdYhjW1crm/M7og2jhVskMt8/4wS3T1+PfFvL1K3wqYj4w==",
+          "dev": true
+        },
+        "@typescript-eslint/typescript-estree": {
+          "version": "5.59.2",
+          "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.2.tgz",
+          "integrity": "sha512-+j4SmbwVmZsQ9jEyBMgpuBD0rKwi9RxRpjX71Brr73RsYnEr3Lt5QZ624Bxphp8HUkSKfqGnPJp1kA5nl0Sh7Q==",
+          "dev": true,
+          "requires": {
+            "@typescript-eslint/types": "5.59.2",
+            "@typescript-eslint/visitor-keys": "5.59.2",
+            "debug": "^4.3.4",
+            "globby": "^11.1.0",
+            "is-glob": "^4.0.3",
+            "semver": "^7.3.7",
+            "tsutils": "^3.21.0"
+          }
+        },
+        "@typescript-eslint/utils": {
+          "version": "5.59.2",
+          "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.2.tgz",
+          "integrity": "sha512-kSuF6/77TZzyGPhGO4uVp+f0SBoYxCDf+lW3GKhtKru/L8k/Hd7NFQxyWUeY7Z/KGB2C6Fe3yf2vVi4V9TsCSQ==",
+          "dev": true,
+          "requires": {
+            "@eslint-community/eslint-utils": "^4.2.0",
+            "@types/json-schema": "^7.0.9",
+            "@types/semver": "^7.3.12",
+            "@typescript-eslint/scope-manager": "5.59.2",
+            "@typescript-eslint/types": "5.59.2",
+            "@typescript-eslint/typescript-estree": "5.59.2",
+            "eslint-scope": "^5.1.1",
+            "semver": "^7.3.7"
+          }
+        },
+        "@typescript-eslint/visitor-keys": {
+          "version": "5.59.2",
+          "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.2.tgz",
+          "integrity": "sha512-EEpsO8m3RASrKAHI9jpavNv9NlEUebV4qmF1OWxSTtKSFBpC1NCmWazDQHFivRf0O1DV11BA645yrLEVQ0/Lig==",
+          "dev": true,
+          "requires": {
+            "@typescript-eslint/types": "5.59.2",
+            "eslint-visitor-keys": "^3.3.0"
+          }
+        },
+        "aria-query": {
+          "version": "5.1.3",
+          "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz",
+          "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==",
+          "dev": true,
+          "requires": {
+            "deep-equal": "^2.0.5"
+          }
+        },
+        "axobject-query": {
+          "version": "3.1.1",
+          "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz",
+          "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==",
+          "dev": true,
+          "requires": {
+            "deep-equal": "^2.0.5"
+          }
+        },
+        "globby": {
+          "version": "11.1.0",
+          "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+          "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+          "dev": true,
+          "requires": {
+            "array-union": "^2.1.0",
+            "dir-glob": "^3.0.1",
+            "fast-glob": "^3.2.9",
+            "ignore": "^5.2.0",
+            "merge2": "^1.4.1",
+            "slash": "^3.0.0"
+          }
+        },
+        "slash": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+          "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+          "dev": true
+        },
+        "tslib": {
+          "version": "1.14.1",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+          "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+          "dev": true
+        },
+        "tsutils": {
+          "version": "3.21.0",
+          "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
+          "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+          "dev": true,
+          "requires": {
+            "tslib": "^1.8.1"
+          }
+        }
+      }
+    },
+    "@angular-eslint/schematics": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-16.0.1.tgz",
+      "integrity": "sha512-1oJJEWVbgPkNK1E8rAJfrgxzNWWzJKv3frTHeAm8gvZ7GftYhHjDcrcnxLWrYNxb9+q8Awi0hvGta/4HROmmnA==",
+      "dev": true,
+      "requires": {
+        "@angular-eslint/eslint-plugin": "16.0.1",
+        "@angular-eslint/eslint-plugin-template": "16.0.1",
+        "@nx/devkit": "16.0.2",
+        "ignore": "5.2.4",
+        "nx": "16.0.2",
+        "strip-json-comments": "3.1.1",
+        "tmp": "0.2.1"
+      },
+      "dependencies": {
+        "tmp": {
+          "version": "0.2.1",
+          "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+          "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+          "dev": true,
+          "requires": {
+            "rimraf": "^3.0.0"
+          }
+        }
+      }
+    },
+    "@angular-eslint/template-parser": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-16.0.1.tgz",
+      "integrity": "sha512-x0+SwSeqa3TiVZan6fE5grHsCkjGqU+zAS2DB6wAw5pyvgNAIjrI4cZEQ8pkgHfXe5tuumTKztlkpisah5s/hg==",
+      "dev": true,
+      "requires": {
+        "@angular-eslint/bundled-angular-compiler": "16.0.1",
+        "eslint-scope": "^7.0.0"
+      },
+      "dependencies": {
+        "eslint-scope": {
+          "version": "7.2.0",
+          "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz",
+          "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==",
+          "dev": true,
+          "requires": {
+            "esrecurse": "^4.3.0",
+            "estraverse": "^5.2.0"
+          }
+        },
+        "estraverse": {
+          "version": "5.3.0",
+          "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+          "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+          "dev": true
+        }
+      }
+    },
+    "@angular-eslint/utils": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-16.0.1.tgz",
+      "integrity": "sha512-2xnJuhIrMZEYK6UyBym6FaFXZgopIIbqfQ4sAtMWY6zYkCEsVUvx5qKIrsnXAwvpDQrv0WiMXteqi/5ICpVMZQ==",
+      "dev": true,
+      "requires": {
+        "@angular-eslint/bundled-angular-compiler": "16.0.1",
+        "@typescript-eslint/utils": "5.59.2"
+      },
+      "dependencies": {
+        "@typescript-eslint/scope-manager": {
+          "version": "5.59.2",
+          "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.2.tgz",
+          "integrity": "sha512-dB1v7ROySwQWKqQ8rEWcdbTsFjh2G0vn8KUyvTXdPoyzSL6lLGkiXEV5CvpJsEe9xIdKV+8Zqb7wif2issoOFA==",
+          "dev": true,
+          "requires": {
+            "@typescript-eslint/types": "5.59.2",
+            "@typescript-eslint/visitor-keys": "5.59.2"
+          }
+        },
+        "@typescript-eslint/types": {
+          "version": "5.59.2",
+          "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.2.tgz",
+          "integrity": "sha512-LbJ/HqoVs2XTGq5shkiKaNTuVv5tTejdHgfdjqRUGdYhjW1crm/M7og2jhVskMt8/4wS3T1+PfFvL1K3wqYj4w==",
+          "dev": true
+        },
+        "@typescript-eslint/typescript-estree": {
+          "version": "5.59.2",
+          "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.2.tgz",
+          "integrity": "sha512-+j4SmbwVmZsQ9jEyBMgpuBD0rKwi9RxRpjX71Brr73RsYnEr3Lt5QZ624Bxphp8HUkSKfqGnPJp1kA5nl0Sh7Q==",
+          "dev": true,
+          "requires": {
+            "@typescript-eslint/types": "5.59.2",
+            "@typescript-eslint/visitor-keys": "5.59.2",
+            "debug": "^4.3.4",
+            "globby": "^11.1.0",
+            "is-glob": "^4.0.3",
+            "semver": "^7.3.7",
+            "tsutils": "^3.21.0"
+          }
+        },
+        "@typescript-eslint/utils": {
+          "version": "5.59.2",
+          "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.2.tgz",
+          "integrity": "sha512-kSuF6/77TZzyGPhGO4uVp+f0SBoYxCDf+lW3GKhtKru/L8k/Hd7NFQxyWUeY7Z/KGB2C6Fe3yf2vVi4V9TsCSQ==",
+          "dev": true,
+          "requires": {
+            "@eslint-community/eslint-utils": "^4.2.0",
+            "@types/json-schema": "^7.0.9",
+            "@types/semver": "^7.3.12",
+            "@typescript-eslint/scope-manager": "5.59.2",
+            "@typescript-eslint/types": "5.59.2",
+            "@typescript-eslint/typescript-estree": "5.59.2",
+            "eslint-scope": "^5.1.1",
+            "semver": "^7.3.7"
+          }
+        },
+        "@typescript-eslint/visitor-keys": {
+          "version": "5.59.2",
+          "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.2.tgz",
+          "integrity": "sha512-EEpsO8m3RASrKAHI9jpavNv9NlEUebV4qmF1OWxSTtKSFBpC1NCmWazDQHFivRf0O1DV11BA645yrLEVQ0/Lig==",
+          "dev": true,
+          "requires": {
+            "@typescript-eslint/types": "5.59.2",
+            "eslint-visitor-keys": "^3.3.0"
+          }
+        },
+        "globby": {
+          "version": "11.1.0",
+          "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+          "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+          "dev": true,
+          "requires": {
+            "array-union": "^2.1.0",
+            "dir-glob": "^3.0.1",
+            "fast-glob": "^3.2.9",
+            "ignore": "^5.2.0",
+            "merge2": "^1.4.1",
+            "slash": "^3.0.0"
+          }
+        },
+        "slash": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+          "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+          "dev": true
+        },
+        "tslib": {
+          "version": "1.14.1",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+          "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+          "dev": true
+        },
+        "tsutils": {
+          "version": "3.21.0",
+          "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
+          "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+          "dev": true,
+          "requires": {
+            "tslib": "^1.8.1"
+          }
+        }
+      }
+    },
+    "@angular/animations": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-16.0.1.tgz",
+      "integrity": "sha512-ziRq1hGJJuQqQUHqNpEMp9uy1pVutvL8oNvawblh32u4bnLsVQU5gMd6sTonn0x4sphEwMNnuEmp/q6QRIx+pA==",
+      "requires": {
+        "tslib": "^2.3.0"
+      }
+    },
+    "@angular/cdk": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-16.0.1.tgz",
+      "integrity": "sha512-GupYss6x84RWEoy3JTYu4Igr2SxHuV6whVKMScQG2/Gm+winOsOn7YWm0IZQuFnjSWIF2Va5B0Tp0IjFHWxTvA==",
+      "requires": {
+        "parse5": "^7.1.2",
+        "tslib": "^2.3.0"
+      }
+    },
+    "@angular/cli": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.0.1.tgz",
+      "integrity": "sha512-0vIAcq/S+3NXXN4/gBQFVGaxLUQ0zhRxxHQQuiT7GGII73UySuhwvaFB1BEhYG5HVJjRrP1F0ZYbvsvrmFzfXQ==",
+      "dev": true,
+      "requires": {
+        "@angular-devkit/architect": "0.1600.1",
+        "@angular-devkit/core": "16.0.1",
+        "@angular-devkit/schematics": "16.0.1",
+        "@schematics/angular": "16.0.1",
+        "@yarnpkg/lockfile": "1.1.0",
+        "ansi-colors": "4.1.3",
+        "ini": "4.0.0",
+        "inquirer": "8.2.4",
+        "jsonc-parser": "3.2.0",
+        "npm-package-arg": "10.1.0",
+        "npm-pick-manifest": "8.0.1",
+        "open": "8.4.2",
+        "ora": "5.4.1",
+        "pacote": "15.1.3",
+        "resolve": "1.22.2",
+        "semver": "7.4.0",
+        "symbol-observable": "4.0.0",
+        "yargs": "17.7.2"
+      },
+      "dependencies": {
+        "@angular-devkit/architect": {
+          "version": "0.1600.1",
+          "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1600.1.tgz",
+          "integrity": "sha512-7N3Dugrp3Fyyn3Q6RsxFNJJ2m1QuqcF3GHJcX7siINL37Hp6xI/q5gKffcd9rf20H1DYZE0VIbR1Sk31G6hMWg==",
+          "dev": true,
+          "requires": {
+            "@angular-devkit/core": "16.0.1",
+            "rxjs": "7.8.1"
+          }
+        }
+      }
+    },
+    "@angular/common": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/common/-/common-16.0.1.tgz",
+      "integrity": "sha512-ic9Ri4Mepf4c0BTff7o4Oyl/a1vACNXXUzuoTwIjWnIqrH89dtwg7ncTD9Rv0N1lon7r4gXokTbn9A/Yk/0jbw==",
+      "requires": {
+        "tslib": "^2.3.0"
+      }
+    },
+    "@angular/compiler": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-16.0.1.tgz",
+      "integrity": "sha512-7zNo6H1qVQow3T4EUul76SaIDSMRSl0hmtyWUzPjtWkxMjrCPSduqjA4/NHaG0KX1BsUvUtQEoDJ5jv/7EHWTQ==",
+      "requires": {
+        "tslib": "^2.3.0"
+      }
+    },
+    "@angular/compiler-cli": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-16.0.1.tgz",
+      "integrity": "sha512-EW7Oxp8EuTz3vCNd4RAncZGB7dCUYviUkBA4PzuyPmL2copZPt12j9qx0pXXF3T6ydjoZ+99ZEgfkKOV6FeU3g==",
+      "requires": {
+        "@babel/core": "7.19.3",
+        "@jridgewell/sourcemap-codec": "^1.4.14",
+        "chokidar": "^3.0.0",
+        "convert-source-map": "^1.5.1",
+        "reflect-metadata": "^0.1.2",
+        "semver": "^7.0.0",
+        "tslib": "^2.3.0",
+        "yargs": "^17.2.1"
+      },
+      "dependencies": {
+        "@babel/core": {
+          "version": "7.19.3",
+          "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz",
+          "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==",
+          "requires": {
+            "@ampproject/remapping": "^2.1.0",
+            "@babel/code-frame": "^7.18.6",
+            "@babel/generator": "^7.19.3",
+            "@babel/helper-compilation-targets": "^7.19.3",
+            "@babel/helper-module-transforms": "^7.19.0",
+            "@babel/helpers": "^7.19.0",
+            "@babel/parser": "^7.19.3",
+            "@babel/template": "^7.18.10",
+            "@babel/traverse": "^7.19.3",
+            "@babel/types": "^7.19.3",
+            "convert-source-map": "^1.7.0",
+            "debug": "^4.1.0",
+            "gensync": "^1.0.0-beta.2",
+            "json5": "^2.2.1",
+            "semver": "^6.3.0"
+          },
+          "dependencies": {
+            "semver": {
+              "version": "6.3.0",
+              "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+              "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+            }
+          }
+        },
+        "@babel/generator": {
+          "version": "7.21.5",
+          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.5.tgz",
+          "integrity": "sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==",
+          "requires": {
+            "@babel/types": "^7.21.5",
+            "@jridgewell/gen-mapping": "^0.3.2",
+            "@jridgewell/trace-mapping": "^0.3.17",
+            "jsesc": "^2.5.1"
+          }
+        }
+      }
+    },
+    "@angular/core": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/core/-/core-16.0.1.tgz",
+      "integrity": "sha512-3s4XBbzWgyWcjI0WFlNDKRxsbm4J+OKIL4mJCM9r8gWwno9y0K/giziAm9YMIJ4VOBIvrcMbOh85o44FCk8cRA==",
+      "requires": {
+        "tslib": "^2.3.0"
+      }
+    },
+    "@angular/forms": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-16.0.1.tgz",
+      "integrity": "sha512-VbH/YnEBau0q97zI7BjSk0pu/i2S0Y/zmhvA2wgI2CCvtbqT6hCNdE/3rW6ZFBcnuCe+dFhuchXe6dX28epsvg==",
+      "requires": {
+        "tslib": "^2.3.0"
+      }
+    },
+    "@angular/localize": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-16.0.1.tgz",
+      "integrity": "sha512-2zC7KE/JUA/JCHP+kEDSF8iZ9cyvd6OAPFE74yH8FjixQsaq9WhXiPtGkHC0bg9hWH858bRcCmA9BZr+zjntvA==",
+      "requires": {
+        "@babel/core": "7.19.3",
+        "glob": "8.1.0",
+        "yargs": "^17.2.1"
+      },
+      "dependencies": {
+        "@babel/core": {
+          "version": "7.19.3",
+          "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz",
+          "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==",
+          "requires": {
+            "@ampproject/remapping": "^2.1.0",
+            "@babel/code-frame": "^7.18.6",
+            "@babel/generator": "^7.19.3",
+            "@babel/helper-compilation-targets": "^7.19.3",
+            "@babel/helper-module-transforms": "^7.19.0",
+            "@babel/helpers": "^7.19.0",
+            "@babel/parser": "^7.19.3",
+            "@babel/template": "^7.18.10",
+            "@babel/traverse": "^7.19.3",
+            "@babel/types": "^7.19.3",
+            "convert-source-map": "^1.7.0",
+            "debug": "^4.1.0",
+            "gensync": "^1.0.0-beta.2",
+            "json5": "^2.2.1",
+            "semver": "^6.3.0"
+          }
+        },
+        "@babel/generator": {
+          "version": "7.21.5",
+          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.5.tgz",
+          "integrity": "sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==",
+          "requires": {
+            "@babel/types": "^7.21.5",
+            "@jridgewell/gen-mapping": "^0.3.2",
+            "@jridgewell/trace-mapping": "^0.3.17",
+            "jsesc": "^2.5.1"
+          }
+        },
+        "brace-expansion": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+          "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+          "requires": {
+            "balanced-match": "^1.0.0"
+          }
+        },
+        "glob": {
+          "version": "8.1.0",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+          "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+          "requires": {
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^5.0.1",
+            "once": "^1.3.0"
+          }
+        },
+        "minimatch": {
+          "version": "5.1.6",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+          "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+          "requires": {
+            "brace-expansion": "^2.0.1"
+          }
+        },
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+        }
+      }
+    },
+    "@angular/platform-browser": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-16.0.1.tgz",
+      "integrity": "sha512-7XLIOnTnGDJLE4Q0zBz6eI9q5V3NnsTAJqIICJHc4gk6jNgVz90gtejAQ4EFbo0d83XGzwFL22hxID5Dj1WRIA==",
+      "requires": {
+        "tslib": "^2.3.0"
+      }
+    },
+    "@angular/platform-browser-dynamic": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-16.0.1.tgz",
+      "integrity": "sha512-qrGlRPqJM42WZcHCbzwTA8SiK90xrhM/VrOL/8/1okuHn82gSWbbynpqycdZnsI9XMbW+HNhpKR2n8HKV38Jug==",
+      "requires": {
+        "tslib": "^2.3.0"
+      }
+    },
+    "@angular/router": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/router/-/router-16.0.1.tgz",
+      "integrity": "sha512-4GH0SxPbuY08B/M0f3NEHf9yIFH+D3wlzWJHI75chfdqQ8gGAMG6B6PSmo3haicDxHcSnZTYNJXDLOQvaBAHcA==",
+      "requires": {
+        "tslib": "^2.3.0"
+      }
+    },
+    "@ant-design/colors": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-7.0.0.tgz",
+      "integrity": "sha512-iVm/9PfGCbC0dSMBrz7oiEXZaaGH7ceU40OJEfKmyuzR9R5CRimJYPlRiFtMQGQcbNMea/ePcoIebi4ASGYXtg==",
+      "requires": {
+        "@ctrl/tinycolor": "^3.4.0"
+      }
+    },
+    "@ant-design/icons-angular": {
+      "version": "16.0.0",
+      "resolved": "https://registry.npmjs.org/@ant-design/icons-angular/-/icons-angular-16.0.0.tgz",
+      "integrity": "sha512-KWBmWZl2so49R/MdAT7aG+xaBlMKl9SArR3Du/iPA0Am9GI1i9R89KgnnLWz+gkzHTye15S1IBXpgts4GPPU/w==",
+      "requires": {
+        "@ant-design/colors": "^7.0.0",
+        "tslib": "^2.0.0"
+      }
+    },
+    "@assemblyscript/loader": {
+      "version": "0.10.1",
+      "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz",
+      "integrity": "sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==",
+      "dev": true
+    },
+    "@babel/code-frame": {
+      "version": "7.21.4",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz",
+      "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==",
+      "requires": {
+        "@babel/highlight": "^7.18.6"
+      }
+    },
+    "@babel/compat-data": {
+      "version": "7.21.7",
+      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.7.tgz",
+      "integrity": "sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA=="
+    },
+    "@babel/core": {
+      "version": "7.21.4",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz",
+      "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==",
+      "requires": {
+        "@ampproject/remapping": "^2.2.0",
+        "@babel/code-frame": "^7.21.4",
+        "@babel/generator": "^7.21.4",
+        "@babel/helper-compilation-targets": "^7.21.4",
+        "@babel/helper-module-transforms": "^7.21.2",
+        "@babel/helpers": "^7.21.0",
+        "@babel/parser": "^7.21.4",
+        "@babel/template": "^7.20.7",
+        "@babel/traverse": "^7.21.4",
+        "@babel/types": "^7.21.4",
+        "convert-source-map": "^1.7.0",
+        "debug": "^4.1.0",
+        "gensync": "^1.0.0-beta.2",
+        "json5": "^2.2.2",
+        "semver": "^6.3.0"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+        }
+      }
+    },
+    "@babel/generator": {
+      "version": "7.21.4",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz",
+      "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==",
+      "requires": {
+        "@babel/types": "^7.21.4",
+        "@jridgewell/gen-mapping": "^0.3.2",
+        "@jridgewell/trace-mapping": "^0.3.17",
+        "jsesc": "^2.5.1"
+      }
+    },
+    "@babel/helper-annotate-as-pure": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz",
+      "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==",
+      "dev": true,
+      "requires": {
+        "@babel/types": "^7.18.6"
+      }
+    },
+    "@babel/helper-builder-binary-assignment-operator-visitor": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.21.5.tgz",
+      "integrity": "sha512-uNrjKztPLkUk7bpCNC0jEKDJzzkvel/W+HguzbN8krA+LPfC1CEobJEvAvGka2A/M+ViOqXdcRL0GqPUJSjx9g==",
+      "dev": true,
+      "requires": {
+        "@babel/types": "^7.21.5"
+      }
+    },
+    "@babel/helper-compilation-targets": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz",
+      "integrity": "sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==",
+      "requires": {
+        "@babel/compat-data": "^7.21.5",
+        "@babel/helper-validator-option": "^7.21.0",
+        "browserslist": "^4.21.3",
+        "lru-cache": "^5.1.1",
+        "semver": "^6.3.0"
+      },
+      "dependencies": {
+        "lru-cache": {
+          "version": "5.1.1",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+          "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+          "requires": {
+            "yallist": "^3.0.2"
+          }
+        },
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+        },
+        "yallist": {
+          "version": "3.1.1",
+          "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+        }
+      }
+    },
+    "@babel/helper-create-class-features-plugin": {
+      "version": "7.21.8",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.8.tgz",
+      "integrity": "sha512-+THiN8MqiH2AczyuZrnrKL6cAxFRRQDKW9h1YkBvbgKmAm6mwiacig1qT73DHIWMGo40GRnsEfN3LA+E6NtmSw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-annotate-as-pure": "^7.18.6",
+        "@babel/helper-environment-visitor": "^7.21.5",
+        "@babel/helper-function-name": "^7.21.0",
+        "@babel/helper-member-expression-to-functions": "^7.21.5",
+        "@babel/helper-optimise-call-expression": "^7.18.6",
+        "@babel/helper-replace-supers": "^7.21.5",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0",
+        "@babel/helper-split-export-declaration": "^7.18.6",
+        "semver": "^6.3.0"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+          "dev": true
+        }
+      }
+    },
+    "@babel/helper-create-regexp-features-plugin": {
+      "version": "7.21.8",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.8.tgz",
+      "integrity": "sha512-zGuSdedkFtsFHGbexAvNuipg1hbtitDLo2XE8/uf6Y9sOQV1xsYX/2pNbtedp/X0eU1pIt+kGvaqHCowkRbS5g==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-annotate-as-pure": "^7.18.6",
+        "regexpu-core": "^5.3.1",
+        "semver": "^6.3.0"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+          "dev": true
+        }
+      }
+    },
+    "@babel/helper-define-polyfill-provider": {
+      "version": "0.3.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz",
+      "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-compilation-targets": "^7.17.7",
+        "@babel/helper-plugin-utils": "^7.16.7",
+        "debug": "^4.1.1",
+        "lodash.debounce": "^4.0.8",
+        "resolve": "^1.14.2",
+        "semver": "^6.1.2"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+          "dev": true
+        }
+      }
+    },
+    "@babel/helper-environment-visitor": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz",
+      "integrity": "sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ=="
+    },
+    "@babel/helper-function-name": {
+      "version": "7.21.0",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz",
+      "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==",
+      "requires": {
+        "@babel/template": "^7.20.7",
+        "@babel/types": "^7.21.0"
+      }
+    },
+    "@babel/helper-hoist-variables": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
+      "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
+      "requires": {
+        "@babel/types": "^7.18.6"
+      }
+    },
+    "@babel/helper-member-expression-to-functions": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.5.tgz",
+      "integrity": "sha512-nIcGfgwpH2u4n9GG1HpStW5Ogx7x7ekiFHbjjFRKXbn5zUvqO9ZgotCO4x1aNbKn/x/xOUaXEhyNHCwtFCpxWg==",
+      "dev": true,
+      "requires": {
+        "@babel/types": "^7.21.5"
+      }
+    },
+    "@babel/helper-module-imports": {
+      "version": "7.21.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz",
+      "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==",
+      "requires": {
+        "@babel/types": "^7.21.4"
+      }
+    },
+    "@babel/helper-module-transforms": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz",
+      "integrity": "sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==",
+      "requires": {
+        "@babel/helper-environment-visitor": "^7.21.5",
+        "@babel/helper-module-imports": "^7.21.4",
+        "@babel/helper-simple-access": "^7.21.5",
+        "@babel/helper-split-export-declaration": "^7.18.6",
+        "@babel/helper-validator-identifier": "^7.19.1",
+        "@babel/template": "^7.20.7",
+        "@babel/traverse": "^7.21.5",
+        "@babel/types": "^7.21.5"
+      }
+    },
+    "@babel/helper-optimise-call-expression": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz",
+      "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==",
+      "dev": true,
+      "requires": {
+        "@babel/types": "^7.18.6"
+      }
+    },
+    "@babel/helper-plugin-utils": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz",
+      "integrity": "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==",
+      "dev": true
+    },
+    "@babel/helper-remap-async-to-generator": {
+      "version": "7.18.9",
+      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz",
+      "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-annotate-as-pure": "^7.18.6",
+        "@babel/helper-environment-visitor": "^7.18.9",
+        "@babel/helper-wrap-function": "^7.18.9",
+        "@babel/types": "^7.18.9"
+      }
+    },
+    "@babel/helper-replace-supers": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.21.5.tgz",
+      "integrity": "sha512-/y7vBgsr9Idu4M6MprbOVUfH3vs7tsIfnVWv/Ml2xgwvyH6LTngdfbf5AdsKwkJy4zgy1X/kuNrEKvhhK28Yrg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-environment-visitor": "^7.21.5",
+        "@babel/helper-member-expression-to-functions": "^7.21.5",
+        "@babel/helper-optimise-call-expression": "^7.18.6",
+        "@babel/template": "^7.20.7",
+        "@babel/traverse": "^7.21.5",
+        "@babel/types": "^7.21.5"
+      }
+    },
+    "@babel/helper-simple-access": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz",
+      "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==",
+      "requires": {
+        "@babel/types": "^7.21.5"
+      }
+    },
+    "@babel/helper-skip-transparent-expression-wrappers": {
+      "version": "7.20.0",
+      "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz",
+      "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==",
+      "dev": true,
+      "requires": {
+        "@babel/types": "^7.20.0"
+      }
+    },
+    "@babel/helper-split-export-declaration": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
+      "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
+      "requires": {
+        "@babel/types": "^7.18.6"
+      }
+    },
+    "@babel/helper-string-parser": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz",
+      "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w=="
+    },
+    "@babel/helper-validator-identifier": {
+      "version": "7.19.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
+      "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w=="
+    },
+    "@babel/helper-validator-option": {
+      "version": "7.21.0",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz",
+      "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ=="
+    },
+    "@babel/helper-wrap-function": {
+      "version": "7.20.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz",
+      "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-function-name": "^7.19.0",
+        "@babel/template": "^7.18.10",
+        "@babel/traverse": "^7.20.5",
+        "@babel/types": "^7.20.5"
+      }
+    },
+    "@babel/helpers": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz",
+      "integrity": "sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==",
+      "requires": {
+        "@babel/template": "^7.20.7",
+        "@babel/traverse": "^7.21.5",
+        "@babel/types": "^7.21.5"
+      }
+    },
+    "@babel/highlight": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
+      "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
+      "requires": {
+        "@babel/helper-validator-identifier": "^7.18.6",
+        "chalk": "^2.0.0",
+        "js-tokens": "^4.0.0"
+      }
+    },
+    "@babel/parser": {
+      "version": "7.21.8",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz",
+      "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA=="
+    },
+    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz",
+      "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.18.6"
+      }
+    },
+    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
+      "version": "7.20.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz",
+      "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0",
+        "@babel/plugin-proposal-optional-chaining": "^7.20.7"
+      }
+    },
+    "@babel/plugin-proposal-async-generator-functions": {
+      "version": "7.20.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz",
+      "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-environment-visitor": "^7.18.9",
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "@babel/helper-remap-async-to-generator": "^7.18.9",
+        "@babel/plugin-syntax-async-generators": "^7.8.4"
+      }
+    },
+    "@babel/plugin-proposal-class-properties": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz",
+      "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-create-class-features-plugin": "^7.18.6",
+        "@babel/helper-plugin-utils": "^7.18.6"
+      }
+    },
+    "@babel/plugin-proposal-class-static-block": {
+      "version": "7.21.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz",
+      "integrity": "sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-create-class-features-plugin": "^7.21.0",
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "@babel/plugin-syntax-class-static-block": "^7.14.5"
+      }
+    },
+    "@babel/plugin-proposal-dynamic-import": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz",
+      "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.18.6",
+        "@babel/plugin-syntax-dynamic-import": "^7.8.3"
+      }
+    },
+    "@babel/plugin-proposal-export-namespace-from": {
+      "version": "7.18.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz",
+      "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.18.9",
+        "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
+      }
+    },
+    "@babel/plugin-proposal-json-strings": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz",
+      "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.18.6",
+        "@babel/plugin-syntax-json-strings": "^7.8.3"
+      }
+    },
+    "@babel/plugin-proposal-logical-assignment-operators": {
+      "version": "7.20.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz",
+      "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
+      }
+    },
+    "@babel/plugin-proposal-nullish-coalescing-operator": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz",
+      "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.18.6",
+        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
+      }
+    },
+    "@babel/plugin-proposal-numeric-separator": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz",
+      "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.18.6",
+        "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+      }
+    },
+    "@babel/plugin-proposal-object-rest-spread": {
+      "version": "7.20.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz",
+      "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==",
+      "dev": true,
+      "requires": {
+        "@babel/compat-data": "^7.20.5",
+        "@babel/helper-compilation-targets": "^7.20.7",
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+        "@babel/plugin-transform-parameters": "^7.20.7"
+      }
+    },
+    "@babel/plugin-proposal-optional-catch-binding": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz",
+      "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.18.6",
+        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
+      }
+    },
+    "@babel/plugin-proposal-optional-chaining": {
+      "version": "7.21.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz",
+      "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0",
+        "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+      }
+    },
+    "@babel/plugin-proposal-private-methods": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz",
+      "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-create-class-features-plugin": "^7.18.6",
+        "@babel/helper-plugin-utils": "^7.18.6"
+      }
+    },
+    "@babel/plugin-proposal-private-property-in-object": {
+      "version": "7.21.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz",
+      "integrity": "sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-annotate-as-pure": "^7.18.6",
+        "@babel/helper-create-class-features-plugin": "^7.21.0",
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
+      }
+    },
+    "@babel/plugin-proposal-unicode-property-regex": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz",
+      "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+        "@babel/helper-plugin-utils": "^7.18.6"
+      }
+    },
+    "@babel/plugin-syntax-async-generators": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+      "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      }
+    },
+    "@babel/plugin-syntax-class-properties": {
+      "version": "7.12.13",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
+      "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.12.13"
+      }
+    },
+    "@babel/plugin-syntax-class-static-block": {
+      "version": "7.14.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
+      "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.14.5"
+      }
+    },
+    "@babel/plugin-syntax-dynamic-import": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
+      "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      }
+    },
+    "@babel/plugin-syntax-export-namespace-from": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
+      "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      }
+    },
+    "@babel/plugin-syntax-import-assertions": {
+      "version": "7.20.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz",
+      "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.19.0"
+      }
+    },
+    "@babel/plugin-syntax-json-strings": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+      "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      }
+    },
+    "@babel/plugin-syntax-logical-assignment-operators": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
+      "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.10.4"
+      }
+    },
+    "@babel/plugin-syntax-nullish-coalescing-operator": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+      "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      }
+    },
+    "@babel/plugin-syntax-numeric-separator": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
+      "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.10.4"
+      }
+    },
+    "@babel/plugin-syntax-object-rest-spread": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+      "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      }
+    },
+    "@babel/plugin-syntax-optional-catch-binding": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+      "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      }
+    },
+    "@babel/plugin-syntax-optional-chaining": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+      "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      }
+    },
+    "@babel/plugin-syntax-private-property-in-object": {
+      "version": "7.14.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
+      "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.14.5"
+      }
+    },
+    "@babel/plugin-syntax-top-level-await": {
+      "version": "7.14.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
+      "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.14.5"
+      }
+    },
+    "@babel/plugin-transform-arrow-functions": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.21.5.tgz",
+      "integrity": "sha512-wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.21.5"
+      }
+    },
+    "@babel/plugin-transform-async-to-generator": {
+      "version": "7.20.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz",
+      "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-module-imports": "^7.18.6",
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "@babel/helper-remap-async-to-generator": "^7.18.9"
+      }
+    },
+    "@babel/plugin-transform-block-scoped-functions": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz",
+      "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.18.6"
+      }
+    },
+    "@babel/plugin-transform-block-scoping": {
+      "version": "7.21.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz",
+      "integrity": "sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.20.2"
+      }
+    },
+    "@babel/plugin-transform-classes": {
+      "version": "7.21.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz",
+      "integrity": "sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-annotate-as-pure": "^7.18.6",
+        "@babel/helper-compilation-targets": "^7.20.7",
+        "@babel/helper-environment-visitor": "^7.18.9",
+        "@babel/helper-function-name": "^7.21.0",
+        "@babel/helper-optimise-call-expression": "^7.18.6",
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "@babel/helper-replace-supers": "^7.20.7",
+        "@babel/helper-split-export-declaration": "^7.18.6",
+        "globals": "^11.1.0"
+      }
+    },
+    "@babel/plugin-transform-computed-properties": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.21.5.tgz",
+      "integrity": "sha512-TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.21.5",
+        "@babel/template": "^7.20.7"
+      }
+    },
+    "@babel/plugin-transform-destructuring": {
+      "version": "7.21.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz",
+      "integrity": "sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.20.2"
+      }
+    },
+    "@babel/plugin-transform-dotall-regex": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz",
+      "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+        "@babel/helper-plugin-utils": "^7.18.6"
+      }
+    },
+    "@babel/plugin-transform-duplicate-keys": {
+      "version": "7.18.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz",
+      "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.18.9"
+      }
+    },
+    "@babel/plugin-transform-exponentiation-operator": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz",
+      "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6",
+        "@babel/helper-plugin-utils": "^7.18.6"
+      }
+    },
+    "@babel/plugin-transform-for-of": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.5.tgz",
+      "integrity": "sha512-nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.21.5"
+      }
+    },
+    "@babel/plugin-transform-function-name": {
+      "version": "7.18.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz",
+      "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-compilation-targets": "^7.18.9",
+        "@babel/helper-function-name": "^7.18.9",
+        "@babel/helper-plugin-utils": "^7.18.9"
+      }
+    },
+    "@babel/plugin-transform-literals": {
+      "version": "7.18.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz",
+      "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.18.9"
+      }
+    },
+    "@babel/plugin-transform-member-expression-literals": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz",
+      "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.18.6"
+      }
+    },
+    "@babel/plugin-transform-modules-amd": {
+      "version": "7.20.11",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz",
+      "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-module-transforms": "^7.20.11",
+        "@babel/helper-plugin-utils": "^7.20.2"
+      }
+    },
+    "@babel/plugin-transform-modules-commonjs": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.5.tgz",
+      "integrity": "sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-module-transforms": "^7.21.5",
+        "@babel/helper-plugin-utils": "^7.21.5",
+        "@babel/helper-simple-access": "^7.21.5"
+      }
+    },
+    "@babel/plugin-transform-modules-systemjs": {
+      "version": "7.20.11",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz",
+      "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-hoist-variables": "^7.18.6",
+        "@babel/helper-module-transforms": "^7.20.11",
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "@babel/helper-validator-identifier": "^7.19.1"
+      }
+    },
+    "@babel/plugin-transform-modules-umd": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz",
+      "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-module-transforms": "^7.18.6",
+        "@babel/helper-plugin-utils": "^7.18.6"
+      }
+    },
+    "@babel/plugin-transform-named-capturing-groups-regex": {
+      "version": "7.20.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz",
+      "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-create-regexp-features-plugin": "^7.20.5",
+        "@babel/helper-plugin-utils": "^7.20.2"
+      }
+    },
+    "@babel/plugin-transform-new-target": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz",
+      "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.18.6"
+      }
+    },
+    "@babel/plugin-transform-object-super": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz",
+      "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.18.6",
+        "@babel/helper-replace-supers": "^7.18.6"
+      }
+    },
+    "@babel/plugin-transform-parameters": {
+      "version": "7.21.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz",
+      "integrity": "sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.20.2"
+      }
+    },
+    "@babel/plugin-transform-property-literals": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz",
+      "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.18.6"
+      }
+    },
+    "@babel/plugin-transform-regenerator": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.21.5.tgz",
+      "integrity": "sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.21.5",
+        "regenerator-transform": "^0.15.1"
+      }
+    },
+    "@babel/plugin-transform-reserved-words": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz",
+      "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.18.6"
+      }
+    },
+    "@babel/plugin-transform-runtime": {
+      "version": "7.21.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.4.tgz",
+      "integrity": "sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-module-imports": "^7.21.4",
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "babel-plugin-polyfill-corejs2": "^0.3.3",
+        "babel-plugin-polyfill-corejs3": "^0.6.0",
+        "babel-plugin-polyfill-regenerator": "^0.4.1",
+        "semver": "^6.3.0"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+          "dev": true
+        }
+      }
+    },
+    "@babel/plugin-transform-shorthand-properties": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz",
+      "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.18.6"
+      }
+    },
+    "@babel/plugin-transform-spread": {
+      "version": "7.20.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz",
+      "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0"
+      }
+    },
+    "@babel/plugin-transform-sticky-regex": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz",
+      "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.18.6"
+      }
+    },
+    "@babel/plugin-transform-template-literals": {
+      "version": "7.18.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz",
+      "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.18.9"
+      }
+    },
+    "@babel/plugin-transform-typeof-symbol": {
+      "version": "7.18.9",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz",
+      "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.18.9"
+      }
+    },
+    "@babel/plugin-transform-unicode-escapes": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.21.5.tgz",
+      "integrity": "sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.21.5"
+      }
+    },
+    "@babel/plugin-transform-unicode-regex": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz",
+      "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+        "@babel/helper-plugin-utils": "^7.18.6"
+      }
+    },
+    "@babel/preset-env": {
+      "version": "7.21.4",
+      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.21.4.tgz",
+      "integrity": "sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw==",
+      "dev": true,
+      "requires": {
+        "@babel/compat-data": "^7.21.4",
+        "@babel/helper-compilation-targets": "^7.21.4",
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "@babel/helper-validator-option": "^7.21.0",
+        "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6",
+        "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.20.7",
+        "@babel/plugin-proposal-async-generator-functions": "^7.20.7",
+        "@babel/plugin-proposal-class-properties": "^7.18.6",
+        "@babel/plugin-proposal-class-static-block": "^7.21.0",
+        "@babel/plugin-proposal-dynamic-import": "^7.18.6",
+        "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
+        "@babel/plugin-proposal-json-strings": "^7.18.6",
+        "@babel/plugin-proposal-logical-assignment-operators": "^7.20.7",
+        "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
+        "@babel/plugin-proposal-numeric-separator": "^7.18.6",
+        "@babel/plugin-proposal-object-rest-spread": "^7.20.7",
+        "@babel/plugin-proposal-optional-catch-binding": "^7.18.6",
+        "@babel/plugin-proposal-optional-chaining": "^7.21.0",
+        "@babel/plugin-proposal-private-methods": "^7.18.6",
+        "@babel/plugin-proposal-private-property-in-object": "^7.21.0",
+        "@babel/plugin-proposal-unicode-property-regex": "^7.18.6",
+        "@babel/plugin-syntax-async-generators": "^7.8.4",
+        "@babel/plugin-syntax-class-properties": "^7.12.13",
+        "@babel/plugin-syntax-class-static-block": "^7.14.5",
+        "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+        "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
+        "@babel/plugin-syntax-import-assertions": "^7.20.0",
+        "@babel/plugin-syntax-json-strings": "^7.8.3",
+        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
+        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+        "@babel/plugin-syntax-numeric-separator": "^7.10.4",
+        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+        "@babel/plugin-syntax-optional-chaining": "^7.8.3",
+        "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
+        "@babel/plugin-syntax-top-level-await": "^7.14.5",
+        "@babel/plugin-transform-arrow-functions": "^7.20.7",
+        "@babel/plugin-transform-async-to-generator": "^7.20.7",
+        "@babel/plugin-transform-block-scoped-functions": "^7.18.6",
+        "@babel/plugin-transform-block-scoping": "^7.21.0",
+        "@babel/plugin-transform-classes": "^7.21.0",
+        "@babel/plugin-transform-computed-properties": "^7.20.7",
+        "@babel/plugin-transform-destructuring": "^7.21.3",
+        "@babel/plugin-transform-dotall-regex": "^7.18.6",
+        "@babel/plugin-transform-duplicate-keys": "^7.18.9",
+        "@babel/plugin-transform-exponentiation-operator": "^7.18.6",
+        "@babel/plugin-transform-for-of": "^7.21.0",
+        "@babel/plugin-transform-function-name": "^7.18.9",
+        "@babel/plugin-transform-literals": "^7.18.9",
+        "@babel/plugin-transform-member-expression-literals": "^7.18.6",
+        "@babel/plugin-transform-modules-amd": "^7.20.11",
+        "@babel/plugin-transform-modules-commonjs": "^7.21.2",
+        "@babel/plugin-transform-modules-systemjs": "^7.20.11",
+        "@babel/plugin-transform-modules-umd": "^7.18.6",
+        "@babel/plugin-transform-named-capturing-groups-regex": "^7.20.5",
+        "@babel/plugin-transform-new-target": "^7.18.6",
+        "@babel/plugin-transform-object-super": "^7.18.6",
+        "@babel/plugin-transform-parameters": "^7.21.3",
+        "@babel/plugin-transform-property-literals": "^7.18.6",
+        "@babel/plugin-transform-regenerator": "^7.20.5",
+        "@babel/plugin-transform-reserved-words": "^7.18.6",
+        "@babel/plugin-transform-shorthand-properties": "^7.18.6",
+        "@babel/plugin-transform-spread": "^7.20.7",
+        "@babel/plugin-transform-sticky-regex": "^7.18.6",
+        "@babel/plugin-transform-template-literals": "^7.18.9",
+        "@babel/plugin-transform-typeof-symbol": "^7.18.9",
+        "@babel/plugin-transform-unicode-escapes": "^7.18.10",
+        "@babel/plugin-transform-unicode-regex": "^7.18.6",
+        "@babel/preset-modules": "^0.1.5",
+        "@babel/types": "^7.21.4",
+        "babel-plugin-polyfill-corejs2": "^0.3.3",
+        "babel-plugin-polyfill-corejs3": "^0.6.0",
+        "babel-plugin-polyfill-regenerator": "^0.4.1",
+        "core-js-compat": "^3.25.1",
+        "semver": "^6.3.0"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+          "dev": true
+        }
+      }
+    },
+    "@babel/preset-modules": {
+      "version": "0.1.5",
+      "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz",
+      "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.0.0",
+        "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
+        "@babel/plugin-transform-dotall-regex": "^7.4.4",
+        "@babel/types": "^7.4.4",
+        "esutils": "^2.0.2"
+      }
+    },
+    "@babel/regjsgen": {
+      "version": "0.8.0",
+      "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz",
+      "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==",
+      "dev": true
+    },
+    "@babel/runtime": {
+      "version": "7.21.0",
+      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz",
+      "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==",
+      "requires": {
+        "regenerator-runtime": "^0.13.11"
+      }
+    },
+    "@babel/template": {
+      "version": "7.20.7",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz",
+      "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==",
+      "requires": {
+        "@babel/code-frame": "^7.18.6",
+        "@babel/parser": "^7.20.7",
+        "@babel/types": "^7.20.7"
+      }
+    },
+    "@babel/traverse": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz",
+      "integrity": "sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==",
+      "requires": {
+        "@babel/code-frame": "^7.21.4",
+        "@babel/generator": "^7.21.5",
+        "@babel/helper-environment-visitor": "^7.21.5",
+        "@babel/helper-function-name": "^7.21.0",
+        "@babel/helper-hoist-variables": "^7.18.6",
+        "@babel/helper-split-export-declaration": "^7.18.6",
+        "@babel/parser": "^7.21.5",
+        "@babel/types": "^7.21.5",
+        "debug": "^4.1.0",
+        "globals": "^11.1.0"
+      },
+      "dependencies": {
+        "@babel/generator": {
+          "version": "7.21.5",
+          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.5.tgz",
+          "integrity": "sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==",
+          "requires": {
+            "@babel/types": "^7.21.5",
+            "@jridgewell/gen-mapping": "^0.3.2",
+            "@jridgewell/trace-mapping": "^0.3.17",
+            "jsesc": "^2.5.1"
+          }
+        }
+      }
+    },
+    "@babel/types": {
+      "version": "7.21.5",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz",
+      "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==",
+      "requires": {
+        "@babel/helper-string-parser": "^7.21.5",
+        "@babel/helper-validator-identifier": "^7.19.1",
+        "to-fast-properties": "^2.0.0"
+      }
+    },
+    "@braintree/sanitize-url": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.2.tgz",
+      "integrity": "sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg==",
+      "optional": true
+    },
+    "@colors/colors": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
+      "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
+    "@cspotcode/source-map-support": {
+      "version": "0.8.1",
+      "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
+      "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
+      "dev": true,
+      "requires": {
+        "@jridgewell/trace-mapping": "0.3.9"
+      },
+      "dependencies": {
+        "@jridgewell/trace-mapping": {
+          "version": "0.3.9",
+          "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
+          "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
+          "dev": true,
+          "requires": {
+            "@jridgewell/resolve-uri": "^3.0.3",
+            "@jridgewell/sourcemap-codec": "^1.4.10"
+          }
+        }
+      }
+    },
+    "@ctrl/tinycolor": {
+      "version": "3.6.1",
+      "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz",
+      "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA=="
+    },
+    "@discoveryjs/json-ext": {
+      "version": "0.5.7",
+      "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
+      "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
+      "dev": true
+    },
+    "@esbuild/android-arm": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.18.tgz",
+      "integrity": "sha512-EmwL+vUBZJ7mhFCs5lA4ZimpUH3WMAoqvOIYhVQwdIgSpHC8ImHdsRyhHAVxpDYUSm0lWvd63z0XH1IlImS2Qw==",
+      "dev": true,
+      "optional": true
+    },
+    "@esbuild/android-arm64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.18.tgz",
+      "integrity": "sha512-/iq0aK0eeHgSC3z55ucMAHO05OIqmQehiGay8eP5l/5l+iEr4EIbh4/MI8xD9qRFjqzgkc0JkX0LculNC9mXBw==",
+      "dev": true,
+      "optional": true
+    },
+    "@esbuild/android-x64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.18.tgz",
+      "integrity": "sha512-x+0efYNBF3NPW2Xc5bFOSFW7tTXdAcpfEg2nXmxegm4mJuVeS+i109m/7HMiOQ6M12aVGGFlqJX3RhNdYM2lWg==",
+      "dev": true,
+      "optional": true
+    },
+    "@esbuild/darwin-arm64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.18.tgz",
+      "integrity": "sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ==",
+      "dev": true,
+      "optional": true
+    },
+    "@esbuild/darwin-x64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.18.tgz",
+      "integrity": "sha512-Qq84ykvLvya3dO49wVC9FFCNUfSrQJLbxhoQk/TE1r6MjHo3sFF2tlJCwMjhkBVq3/ahUisj7+EpRSz0/+8+9A==",
+      "dev": true,
+      "optional": true
+    },
+    "@esbuild/freebsd-arm64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.18.tgz",
+      "integrity": "sha512-fw/ZfxfAzuHfaQeMDhbzxp9mc+mHn1Y94VDHFHjGvt2Uxl10mT4CDavHm+/L9KG441t1QdABqkVYwakMUeyLRA==",
+      "dev": true,
+      "optional": true
+    },
+    "@esbuild/freebsd-x64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.18.tgz",
+      "integrity": "sha512-FQFbRtTaEi8ZBi/A6kxOC0V0E9B/97vPdYjY9NdawyLd4Qk5VD5g2pbWN2VR1c0xhzcJm74HWpObPszWC+qTew==",
+      "dev": true,
+      "optional": true
+    },
+    "@esbuild/linux-arm": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.18.tgz",
+      "integrity": "sha512-jW+UCM40LzHcouIaqv3e/oRs0JM76JfhHjCavPxMUti7VAPh8CaGSlS7cmyrdpzSk7A+8f0hiedHqr/LMnfijg==",
+      "dev": true,
+      "optional": true
+    },
+    "@esbuild/linux-arm64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.18.tgz",
+      "integrity": "sha512-R7pZvQZFOY2sxUG8P6A21eq6q+eBv7JPQYIybHVf1XkQYC+lT7nDBdC7wWKTrbvMXKRaGudp/dzZCwL/863mZQ==",
+      "dev": true,
+      "optional": true
+    },
+    "@esbuild/linux-ia32": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.18.tgz",
+      "integrity": "sha512-ygIMc3I7wxgXIxk6j3V00VlABIjq260i967Cp9BNAk5pOOpIXmd1RFQJQX9Io7KRsthDrQYrtcx7QCof4o3ZoQ==",
+      "dev": true,
+      "optional": true
+    },
+    "@esbuild/linux-loong64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.18.tgz",
+      "integrity": "sha512-bvPG+MyFs5ZlwYclCG1D744oHk1Pv7j8psF5TfYx7otCVmcJsEXgFEhQkbhNW8otDHL1a2KDINW20cfCgnzgMQ==",
+      "dev": true,
+      "optional": true
+    },
+    "@esbuild/linux-mips64el": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.18.tgz",
+      "integrity": "sha512-oVqckATOAGuiUOa6wr8TXaVPSa+6IwVJrGidmNZS1cZVx0HqkTMkqFGD2HIx9H1RvOwFeWYdaYbdY6B89KUMxA==",
+      "dev": true,
+      "optional": true
+    },
+    "@esbuild/linux-ppc64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.18.tgz",
+      "integrity": "sha512-3dLlQO+b/LnQNxgH4l9rqa2/IwRJVN9u/bK63FhOPB4xqiRqlQAU0qDU3JJuf0BmaH0yytTBdoSBHrb2jqc5qQ==",
+      "dev": true,
+      "optional": true
+    },
+    "@esbuild/linux-riscv64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.18.tgz",
+      "integrity": "sha512-/x7leOyDPjZV3TcsdfrSI107zItVnsX1q2nho7hbbQoKnmoeUWjs+08rKKt4AUXju7+3aRZSsKrJtaRmsdL1xA==",
+      "dev": true,
+      "optional": true
+    },
+    "@esbuild/linux-s390x": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.18.tgz",
+      "integrity": "sha512-cX0I8Q9xQkL/6F5zWdYmVf5JSQt+ZfZD2bJudZrWD+4mnUvoZ3TDDXtDX2mUaq6upMFv9FlfIh4Gfun0tbGzuw==",
+      "dev": true,
+      "optional": true
+    },
+    "@esbuild/linux-x64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.18.tgz",
+      "integrity": "sha512-66RmRsPlYy4jFl0vG80GcNRdirx4nVWAzJmXkevgphP1qf4dsLQCpSKGM3DUQCojwU1hnepI63gNZdrr02wHUA==",
+      "dev": true,
+      "optional": true
+    },
+    "@esbuild/netbsd-x64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.18.tgz",
+      "integrity": "sha512-95IRY7mI2yrkLlTLb1gpDxdC5WLC5mZDi+kA9dmM5XAGxCME0F8i4bYH4jZreaJ6lIZ0B8hTrweqG1fUyW7jbg==",
+      "dev": true,
+      "optional": true
+    },
+    "@esbuild/openbsd-x64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.18.tgz",
+      "integrity": "sha512-WevVOgcng+8hSZ4Q3BKL3n1xTv5H6Nb53cBrtzzEjDbbnOmucEVcZeGCsCOi9bAOcDYEeBZbD2SJNBxlfP3qiA==",
+      "dev": true,
+      "optional": true
+    },
+    "@esbuild/sunos-x64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.18.tgz",
+      "integrity": "sha512-Rzf4QfQagnwhQXVBS3BYUlxmEbcV7MY+BH5vfDZekU5eYpcffHSyjU8T0xucKVuOcdCsMo+Ur5wmgQJH2GfNrg==",
+      "dev": true,
+      "optional": true
+    },
+    "@esbuild/win32-arm64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.18.tgz",
+      "integrity": "sha512-Kb3Ko/KKaWhjeAm2YoT/cNZaHaD1Yk/pa3FTsmqo9uFh1D1Rfco7BBLIPdDOozrObj2sahslFuAQGvWbgWldAg==",
+      "dev": true,
+      "optional": true
+    },
+    "@esbuild/win32-ia32": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.18.tgz",
+      "integrity": "sha512-0/xUMIdkVHwkvxfbd5+lfG7mHOf2FRrxNbPiKWg9C4fFrB8H0guClmaM3BFiRUYrznVoyxTIyC/Ou2B7QQSwmw==",
+      "dev": true,
+      "optional": true
+    },
+    "@esbuild/win32-x64": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.18.tgz",
+      "integrity": "sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg==",
+      "dev": true,
+      "optional": true
+    },
+    "@eslint-community/eslint-utils": {
+      "version": "4.4.0",
+      "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
+      "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+      "dev": true,
+      "requires": {
+        "eslint-visitor-keys": "^3.3.0"
+      }
+    },
+    "@eslint-community/regexpp": {
+      "version": "4.5.1",
+      "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz",
+      "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==",
+      "dev": true
+    },
+    "@eslint/eslintrc": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz",
+      "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==",
+      "dev": true,
+      "requires": {
+        "ajv": "^6.12.4",
+        "debug": "^4.3.2",
+        "espree": "^9.5.2",
+        "globals": "^13.19.0",
+        "ignore": "^5.2.0",
+        "import-fresh": "^3.2.1",
+        "js-yaml": "^4.1.0",
+        "minimatch": "^3.1.2",
+        "strip-json-comments": "^3.1.1"
+      },
+      "dependencies": {
+        "ajv": {
+          "version": "6.12.6",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+          "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+          "dev": true,
+          "requires": {
+            "fast-deep-equal": "^3.1.1",
+            "fast-json-stable-stringify": "^2.0.0",
+            "json-schema-traverse": "^0.4.1",
+            "uri-js": "^4.2.2"
+          }
+        },
+        "argparse": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+          "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+          "dev": true
+        },
+        "globals": {
+          "version": "13.20.0",
+          "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz",
+          "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
+          "dev": true,
+          "requires": {
+            "type-fest": "^0.20.2"
+          }
+        },
+        "js-yaml": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+          "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+          "dev": true,
+          "requires": {
+            "argparse": "^2.0.1"
+          }
+        },
+        "json-schema-traverse": {
+          "version": "0.4.1",
+          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+          "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+          "dev": true
+        },
+        "minimatch": {
+          "version": "3.1.2",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+          "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "^1.1.7"
+          }
+        },
+        "type-fest": {
+          "version": "0.20.2",
+          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+          "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+          "dev": true
+        }
+      }
+    },
+    "@eslint/js": {
+      "version": "8.40.0",
+      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.40.0.tgz",
+      "integrity": "sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA==",
+      "dev": true
+    },
+    "@fortawesome/angular-fontawesome": {
+      "version": "0.13.0",
+      "resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.13.0.tgz",
+      "integrity": "sha512-gzSPRdveOXNO7NIiMgTyB46aiHG0i98KinnAEqHXi8qzraM/kCcHn/0y3f4MhemX6kftwsFli0IU8RyHmtXlSQ==",
+      "requires": {
+        "tslib": "^2.4.1"
+      }
+    },
+    "@fortawesome/fontawesome-common-types": {
+      "version": "6.4.0",
+      "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.4.0.tgz",
+      "integrity": "sha512-HNii132xfomg5QVZw0HwXXpN22s7VBHQBv9CeOu9tfJnhsWQNd2lmTNi8CSrnw5B+5YOmzu1UoPAyxaXsJ6RgQ=="
+    },
+    "@fortawesome/fontawesome-svg-core": {
+      "version": "6.4.0",
+      "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.4.0.tgz",
+      "integrity": "sha512-Bertv8xOiVELz5raB2FlXDPKt+m94MQ3JgDfsVbrqNpLU9+UE2E18GKjLKw+d3XbeYPqg1pzyQKGsrzbw+pPaw==",
+      "requires": {
+        "@fortawesome/fontawesome-common-types": "6.4.0"
+      }
+    },
+    "@fortawesome/free-brands-svg-icons": {
+      "version": "6.4.0",
+      "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.4.0.tgz",
+      "integrity": "sha512-qvxTCo0FQ5k2N+VCXb/PZQ+QMhqRVM4OORiO6MXdG6bKolIojGU/srQ1ptvKk0JTbRgaJOfL2qMqGvBEZG7Z6g==",
+      "requires": {
+        "@fortawesome/fontawesome-common-types": "6.4.0"
+      }
+    },
+    "@fortawesome/free-regular-svg-icons": {
+      "version": "6.4.0",
+      "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.4.0.tgz",
+      "integrity": "sha512-ZfycI7D0KWPZtf7wtMFnQxs8qjBXArRzczABuMQqecA/nXohquJ5J/RCR77PmY5qGWkxAZDxpnUFVXKwtY/jPw==",
+      "requires": {
+        "@fortawesome/fontawesome-common-types": "6.4.0"
+      }
+    },
+    "@fortawesome/free-solid-svg-icons": {
+      "version": "6.4.0",
+      "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.4.0.tgz",
+      "integrity": "sha512-kutPeRGWm8V5dltFP1zGjQOEAzaLZj4StdQhWVZnfGFCvAPVvHh8qk5bRrU4KXnRRRNni5tKQI9PBAdI6MP8nQ==",
+      "requires": {
+        "@fortawesome/fontawesome-common-types": "6.4.0"
+      }
+    },
+    "@fullhuman/postcss-purgecss": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-5.0.0.tgz",
+      "integrity": "sha512-onDS/b/2pMRzqSoj4qOs2tYFmOpaspjTAgvACIHMPiicu1ptajiBruTrjBzTKdxWdX0ldaBb7wj8nEaTLyFkJw==",
+      "dev": true,
+      "requires": {
+        "purgecss": "^5.0.0"
+      }
+    },
+    "@gar/promisify": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
+      "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
+      "dev": true
+    },
+    "@humanwhocodes/config-array": {
+      "version": "0.11.8",
+      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
+      "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==",
+      "dev": true,
+      "requires": {
+        "@humanwhocodes/object-schema": "^1.2.1",
+        "debug": "^4.1.1",
+        "minimatch": "^3.0.5"
+      }
+    },
+    "@humanwhocodes/module-importer": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+      "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+      "dev": true
+    },
+    "@humanwhocodes/object-schema": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
+      "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
+      "dev": true
+    },
+    "@isaacs/cliui": {
+      "version": "8.0.2",
+      "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
+      "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
+      "dev": true,
+      "requires": {
+        "string-width": "^5.1.2",
+        "string-width-cjs": "npm:string-width@^4.2.0",
+        "strip-ansi": "^7.0.1",
+        "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+        "wrap-ansi": "^8.1.0",
+        "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "6.0.1",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+          "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+          "dev": true
+        },
+        "ansi-styles": {
+          "version": "6.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+          "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+          "dev": true
+        },
+        "emoji-regex": {
+          "version": "9.2.2",
+          "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+          "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+          "dev": true
+        },
+        "string-width": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+          "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+          "dev": true,
+          "requires": {
+            "eastasianwidth": "^0.2.0",
+            "emoji-regex": "^9.2.2",
+            "strip-ansi": "^7.0.1"
+          }
+        },
+        "strip-ansi": {
+          "version": "7.0.1",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz",
+          "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==",
+          "dev": true,
+          "requires": {
+            "ansi-regex": "^6.0.1"
+          }
+        },
+        "wrap-ansi": {
+          "version": "8.1.0",
+          "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+          "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^6.1.0",
+            "string-width": "^5.0.1",
+            "strip-ansi": "^7.0.1"
+          }
+        }
+      }
+    },
+    "@istanbuljs/load-nyc-config": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
+      "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
+      "dev": true,
+      "requires": {
+        "camelcase": "^5.3.1",
+        "find-up": "^4.1.0",
+        "get-package-type": "^0.1.0",
+        "js-yaml": "^3.13.1",
+        "resolve-from": "^5.0.0"
+      },
+      "dependencies": {
+        "resolve-from": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+          "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+          "dev": true
+        }
+      }
+    },
+    "@istanbuljs/schema": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
+      "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
+      "dev": true
+    },
+    "@jridgewell/gen-mapping": {
+      "version": "0.3.3",
+      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
+      "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
+      "requires": {
+        "@jridgewell/set-array": "^1.0.1",
+        "@jridgewell/sourcemap-codec": "^1.4.10",
+        "@jridgewell/trace-mapping": "^0.3.9"
+      }
+    },
+    "@jridgewell/resolve-uri": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
+      "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w=="
+    },
+    "@jridgewell/set-array": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
+      "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw=="
+    },
+    "@jridgewell/source-map": {
+      "version": "0.3.3",
+      "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz",
+      "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==",
+      "dev": true,
+      "requires": {
+        "@jridgewell/gen-mapping": "^0.3.0",
+        "@jridgewell/trace-mapping": "^0.3.9"
+      }
+    },
+    "@jridgewell/sourcemap-codec": {
+      "version": "1.4.14",
+      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
+      "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
+    },
+    "@jridgewell/trace-mapping": {
+      "version": "0.3.18",
+      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz",
+      "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==",
+      "requires": {
+        "@jridgewell/resolve-uri": "3.1.0",
+        "@jridgewell/sourcemap-codec": "1.4.14"
+      }
+    },
+    "@leichtgewicht/ip-codec": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz",
+      "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==",
+      "dev": true
+    },
+    "@ngtools/webpack": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.0.1.tgz",
+      "integrity": "sha512-CZHFPMiJuOe241kO1VSSPOQ5Z9hWWkY7eSs3hnS50Ntgd4YzlHAydqexmEFpXD2YLOFjdbNETCyJ2BQTM4Kwtw==",
+      "dev": true,
+      "requires": {}
+    },
+    "@nodelib/fs.scandir": {
+      "version": "2.1.5",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+      "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+      "dev": true,
+      "requires": {
+        "@nodelib/fs.stat": "2.0.5",
+        "run-parallel": "^1.1.9"
+      }
+    },
+    "@nodelib/fs.stat": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+      "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+      "dev": true
+    },
+    "@nodelib/fs.walk": {
+      "version": "1.2.8",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+      "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+      "dev": true,
+      "requires": {
+        "@nodelib/fs.scandir": "2.1.5",
+        "fastq": "^1.6.0"
+      }
+    },
+    "@npmcli/fs": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz",
+      "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==",
+      "dev": true,
+      "requires": {
+        "semver": "^7.3.5"
+      }
+    },
+    "@npmcli/git": {
+      "version": "4.0.4",
+      "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.0.4.tgz",
+      "integrity": "sha512-5yZghx+u5M47LghaybLCkdSyFzV/w4OuH12d96HO389Ik9CDsLaDZJVynSGGVJOLn6gy/k7Dz5XYcplM3uxXRg==",
+      "dev": true,
+      "requires": {
+        "@npmcli/promise-spawn": "^6.0.0",
+        "lru-cache": "^7.4.4",
+        "npm-pick-manifest": "^8.0.0",
+        "proc-log": "^3.0.0",
+        "promise-inflight": "^1.0.1",
+        "promise-retry": "^2.0.1",
+        "semver": "^7.3.5",
+        "which": "^3.0.0"
+      },
+      "dependencies": {
+        "lru-cache": {
+          "version": "7.18.3",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+          "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+          "dev": true
+        },
+        "which": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz",
+          "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==",
+          "dev": true,
+          "requires": {
+            "isexe": "^2.0.0"
+          }
+        }
+      }
+    },
+    "@npmcli/installed-package-contents": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz",
+      "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==",
+      "dev": true,
+      "requires": {
+        "npm-bundled": "^3.0.0",
+        "npm-normalize-package-bin": "^3.0.0"
+      }
+    },
+    "@npmcli/move-file": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz",
+      "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==",
+      "dev": true,
+      "requires": {
+        "mkdirp": "^1.0.4",
+        "rimraf": "^3.0.2"
+      }
+    },
+    "@npmcli/node-gyp": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz",
+      "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==",
+      "dev": true
+    },
+    "@npmcli/promise-spawn": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz",
+      "integrity": "sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==",
+      "dev": true,
+      "requires": {
+        "which": "^3.0.0"
+      },
+      "dependencies": {
+        "which": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz",
+          "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==",
+          "dev": true,
+          "requires": {
+            "isexe": "^2.0.0"
+          }
+        }
+      }
+    },
+    "@npmcli/run-script": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.2.tgz",
+      "integrity": "sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==",
+      "dev": true,
+      "requires": {
+        "@npmcli/node-gyp": "^3.0.0",
+        "@npmcli/promise-spawn": "^6.0.0",
+        "node-gyp": "^9.0.0",
+        "read-package-json-fast": "^3.0.0",
+        "which": "^3.0.0"
+      },
+      "dependencies": {
+        "which": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz",
+          "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==",
+          "dev": true,
+          "requires": {
+            "isexe": "^2.0.0"
+          }
+        }
+      }
+    },
+    "@nrwl/devkit": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-16.0.2.tgz",
+      "integrity": "sha512-SAEcImeQHdSTauO05FUn2vVl9/y5Kx1LNCZ4YE+SdY5/QRq18fuo/DCWmjOGG9M8r06vYGsAgMzkiB4soimcyA==",
+      "dev": true,
+      "requires": {
+        "@nx/devkit": "16.0.2"
+      }
+    },
+    "@nrwl/tao": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-16.0.2.tgz",
+      "integrity": "sha512-wimEe4OTpI7/nDK67RnpZpEXCU+fzA0sDgpIhMgbpPd0vPmKgaZv4nbs8zrm0goFlacmmnLaGRhhGYMOxE+1Lg==",
+      "dev": true,
+      "requires": {
+        "nx": "16.0.2"
+      }
+    },
+    "@nx/devkit": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-16.0.2.tgz",
+      "integrity": "sha512-BY1Bj0BbAl6XJL0O+QGTWPs/3WMJTEQ+Y4Lfoq4dZM7RllE6rAylr54NA2wa4lsgordZhq1+0g5PVhKKvSVRRw==",
+      "dev": true,
+      "requires": {
+        "@nrwl/devkit": "16.0.2",
+        "ejs": "^3.1.7",
+        "ignore": "^5.0.4",
+        "semver": "7.3.4",
+        "tmp": "~0.2.1",
+        "tslib": "^2.3.0"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "7.3.4",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+          "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+          "dev": true,
+          "requires": {
+            "lru-cache": "^6.0.0"
+          }
+        },
+        "tmp": {
+          "version": "0.2.1",
+          "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+          "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+          "dev": true,
+          "requires": {
+            "rimraf": "^3.0.0"
+          }
+        }
+      }
+    },
+    "@nx/nx-darwin-arm64": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-16.0.2.tgz",
+      "integrity": "sha512-nAT8WJ/qKGEvUcoFLHHye1dbwCd7b8CTZJlDF+ZkyCD/UZRHt4eJxy8gvKmxgkZTFb2+PPMQt4UORCUGpZzuoA==",
+      "dev": true,
+      "optional": true
+    },
+    "@nx/nx-darwin-x64": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-16.0.2.tgz",
+      "integrity": "sha512-r0rfOrZaOyrwFR5a0UT05xkYRumfkP65cRSZM1TjCA027AG9llYtkLT1hlz8uMKt+P12zrWVzXSqGLDi022ZZg==",
+      "dev": true,
+      "optional": true
+    },
+    "@nx/nx-linux-arm-gnueabihf": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-16.0.2.tgz",
+      "integrity": "sha512-TfDQaGvCIDjn9sPg5U1Fr2rsSul/4PIQB59qrLBJRPiCWgpzwO71Il1qwSX68En+JH3lwXr+g5EjcDIEQ8fGYA==",
+      "dev": true,
+      "optional": true
+    },
+    "@nx/nx-linux-arm64-gnu": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-16.0.2.tgz",
+      "integrity": "sha512-MICaUp7uz8WVQFXWPrmQaX1o4bdL7f3C7b3MDDf6+Zau6RcyQuw97UEKaYi9OqrV3w8yuPplqoLosFblAgb8uw==",
+      "dev": true,
+      "optional": true
+    },
+    "@nx/nx-linux-arm64-musl": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-16.0.2.tgz",
+      "integrity": "sha512-wcBURG+6A2srm+6ujj8SShjwmYWs0eHI5D8vgZr8Bni+lXbKP/IosE9JGXKtRoh27/owyR8PGHhDVzjv46tlFg==",
+      "dev": true,
+      "optional": true
+    },
+    "@nx/nx-linux-x64-gnu": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-16.0.2.tgz",
+      "integrity": "sha512-Xyml2gFdVDHUj2g67DKz2aD78x1BciN1ZaaBTCxXL4MHfwR78SZa7mtRtE+1kj5OgVIwupZP50jq7C8GuSn3Hw==",
+      "dev": true,
+      "optional": true
+    },
+    "@nx/nx-linux-x64-musl": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-16.0.2.tgz",
+      "integrity": "sha512-j3xdN8I5DlTgW5N5eCquyBZswrrYf6EazUCvnEpeejygwh3N6XN7DlD68Bs0CB4Zmd0tWLfTjNVAtUJSP6g2mA==",
+      "dev": true,
+      "optional": true
+    },
+    "@nx/nx-win32-arm64-msvc": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-16.0.2.tgz",
+      "integrity": "sha512-R2pzoW3SUFBbe9C1vifJnXuysPl6kmutQHN2yQ9lwJptzPvMxfDU1FuXmKCGRUGmEwFxk/XPhwDL/ZcbABTrzw==",
+      "dev": true,
+      "optional": true
+    },
+    "@nx/nx-win32-x64-msvc": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-16.0.2.tgz",
+      "integrity": "sha512-r4H/SsqfpIJa8QLSpnscgkMnLsnkRYXj8TcILDrf+nJazfEdJZLUvVhN9O85OB7pskv86NuGfnJmJHHXy6QVQg==",
+      "dev": true,
+      "optional": true
+    },
+    "@parcel/watcher": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.4.tgz",
+      "integrity": "sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==",
+      "dev": true,
+      "requires": {
+        "node-addon-api": "^3.2.1",
+        "node-gyp-build": "^4.3.0"
+      }
+    },
+    "@pkgjs/parseargs": {
+      "version": "0.11.0",
+      "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
+      "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+      "dev": true,
+      "optional": true
+    },
+    "@polka/url": {
+      "version": "1.0.0-next.21",
+      "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz",
+      "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==",
+      "dev": true
+    },
+    "@rollup/plugin-json": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.0.0.tgz",
+      "integrity": "sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==",
+      "dev": true,
+      "requires": {
+        "@rollup/pluginutils": "^5.0.1"
+      }
+    },
+    "@rollup/plugin-node-resolve": {
+      "version": "15.0.2",
+      "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.2.tgz",
+      "integrity": "sha512-Y35fRGUjC3FaurG722uhUuG8YHOJRJQbI6/CkbRkdPotSpDj9NtIN85z1zrcyDcCQIW4qp5mgG72U+gJ0TAFEg==",
+      "dev": true,
+      "requires": {
+        "@rollup/pluginutils": "^5.0.1",
+        "@types/resolve": "1.20.2",
+        "deepmerge": "^4.2.2",
+        "is-builtin-module": "^3.2.1",
+        "is-module": "^1.0.0",
+        "resolve": "^1.22.1"
+      }
+    },
+    "@rollup/pluginutils": {
+      "version": "5.0.2",
+      "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz",
+      "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==",
+      "dev": true,
+      "requires": {
+        "@types/estree": "^1.0.0",
+        "estree-walker": "^2.0.2",
+        "picomatch": "^2.3.1"
+      }
+    },
+    "@schematics/angular": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.0.1.tgz",
+      "integrity": "sha512-MNgH/iB3WWxMLFVHJjtXCHZ8YHtfx2e3mX2Ds5P43OTgSnTk6tHabqvwxJ4wzjoyoPUyXWLhHt0diCmVtDTNeQ==",
+      "dev": true,
+      "requires": {
+        "@angular-devkit/core": "16.0.1",
+        "@angular-devkit/schematics": "16.0.1",
+        "jsonc-parser": "3.2.0"
+      }
+    },
+    "@sigstore/protobuf-specs": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.1.0.tgz",
+      "integrity": "sha512-a31EnjuIDSX8IXBUib3cYLDRlPMU36AWX4xS8ysLaNu4ZzUesDiPt83pgrW2X1YLMe5L2HbDyaKK5BrL4cNKaQ==",
+      "dev": true
+    },
+    "@socket.io/component-emitter": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
+      "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
+    "@tauri-apps/api": {
+      "version": "2.0.0-beta.3",
+      "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.0.0-beta.3.tgz",
+      "integrity": "sha512-gDSJzKpBs6efXw2ZWqjl9QVNImY5GR5qygXqB7JK4y7prcQInxnTj2ARFR0vD4wuzkrUHGrlIKraiJJPHWJ9vg=="
+    },
+    "@tauri-apps/plugin-cli": {
+      "version": "2.0.0-beta.1",
+      "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-cli/-/plugin-cli-2.0.0-beta.1.tgz",
+      "integrity": "sha512-8VB0RTFi6SrCZvWDiOW+DVhCo7IsBenWfTIF6f8YAU+TnLSOAxpVc2MOM5PimVdKU2hu+mlpjSmPhd9RSCRfAw==",
+      "requires": {
+        "@tauri-apps/api": "2.0.0-beta.2"
+      },
+      "dependencies": {
+        "@tauri-apps/api": {
+          "version": "2.0.0-beta.2",
+          "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.0.0-beta.2.tgz",
+          "integrity": "sha512-4r1r6kgttzIWxJ3HxkZQH+b7EiUtKhdUCPbi0KSalD+2T3j6klw+v8VyxhKwEdjM/eo60NE+J33v1E/Urq8puw=="
+        }
+      }
+    },
+    "@tauri-apps/plugin-clipboard-manager": {
+      "version": "2.0.0-alpha.4",
+      "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-clipboard-manager/-/plugin-clipboard-manager-2.0.0-alpha.4.tgz",
+      "integrity": "sha512-/xPQBXuzD8cSh81xkTphIAKxSD2kGsv8deKK+Qoh+89puay1xJjjnxVv5b9IKKn0G8r8HPm+JDEamlKxQbOgnA==",
+      "requires": {
+        "@tauri-apps/api": "2.0.0-alpha.12"
+      },
+      "dependencies": {
+        "@tauri-apps/api": {
+          "version": "2.0.0-alpha.12",
+          "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.0.0-alpha.12.tgz",
+          "integrity": "sha512-acpNZQxFgHMHC5qV/IUg4IL/xmypzfxHB4ECkwb58fT48H4zBmklNd5TC0k7BvLUBoSmmgHc4InbYwQai392Yw=="
+        }
+      }
+    },
+    "@tauri-apps/plugin-dialog": {
+      "version": "2.0.0-alpha.4",
+      "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-dialog/-/plugin-dialog-2.0.0-alpha.4.tgz",
+      "integrity": "sha512-4NxBgDzxrZ8hPE9OMRYwsXYN2BxQYI/5l1UKEI5V4srFTZK81Vj5GGksCf7gQREZg7CmBRCk95qYx338A6oCag==",
+      "requires": {
+        "@tauri-apps/api": "2.0.0-alpha.12"
+      },
+      "dependencies": {
+        "@tauri-apps/api": {
+          "version": "2.0.0-alpha.12",
+          "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.0.0-alpha.12.tgz",
+          "integrity": "sha512-acpNZQxFgHMHC5qV/IUg4IL/xmypzfxHB4ECkwb58fT48H4zBmklNd5TC0k7BvLUBoSmmgHc4InbYwQai392Yw=="
+        }
+      }
+    },
+    "@tauri-apps/plugin-notification": {
+      "version": "2.0.0-alpha.4",
+      "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-notification/-/plugin-notification-2.0.0-alpha.4.tgz",
+      "integrity": "sha512-mXUuZoZEEMAedGNJxPZPLET3vY4lSmHCpfrfZIytJRU6eSxbec90L3fB4YqvW9+yqkplyXkvpiThILbT5A4Q4w==",
+      "requires": {
+        "@tauri-apps/api": "2.0.0-alpha.12"
+      },
+      "dependencies": {
+        "@tauri-apps/api": {
+          "version": "2.0.0-alpha.12",
+          "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.0.0-alpha.12.tgz",
+          "integrity": "sha512-acpNZQxFgHMHC5qV/IUg4IL/xmypzfxHB4ECkwb58fT48H4zBmklNd5TC0k7BvLUBoSmmgHc4InbYwQai392Yw=="
+        }
+      }
+    },
+    "@tauri-apps/plugin-os": {
+      "version": "2.0.0-alpha.5",
+      "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-os/-/plugin-os-2.0.0-alpha.5.tgz",
+      "integrity": "sha512-dedPdad+ykMSZz2KUfrhUDyy32G2WH5aLkYdcACF58KC6GBvKuyR5sQ1ZE/pddo2L6VRhyujLp8zJEfRN3AUcQ==",
+      "requires": {
+        "@tauri-apps/api": "2.0.0-alpha.12"
+      },
+      "dependencies": {
+        "@tauri-apps/api": {
+          "version": "2.0.0-alpha.12",
+          "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.0.0-alpha.12.tgz",
+          "integrity": "sha512-acpNZQxFgHMHC5qV/IUg4IL/xmypzfxHB4ECkwb58fT48H4zBmklNd5TC0k7BvLUBoSmmgHc4InbYwQai392Yw=="
+        }
+      }
+    },
+    "@tauri-apps/plugin-shell": {
+      "version": "2.0.0-alpha.4",
+      "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-shell/-/plugin-shell-2.0.0-alpha.4.tgz",
+      "integrity": "sha512-Go/+EwGVuAXbSg2l2M5E2gT6cir66KV4CXC9P4gPHeead8Ar/B9wQvuINzcrYzL/HCcL7fFfKlqqu/XPTN2qvQ==",
+      "requires": {
+        "@tauri-apps/api": "2.0.0-alpha.12"
+      },
+      "dependencies": {
+        "@tauri-apps/api": {
+          "version": "2.0.0-alpha.12",
+          "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.0.0-alpha.12.tgz",
+          "integrity": "sha512-acpNZQxFgHMHC5qV/IUg4IL/xmypzfxHB4ECkwb58fT48H4zBmklNd5TC0k7BvLUBoSmmgHc4InbYwQai392Yw=="
+        }
+      }
+    },
+    "@tootallnate/once": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
+      "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
+      "dev": true
+    },
+    "@tsconfig/node10": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz",
+      "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==",
+      "dev": true
+    },
+    "@tsconfig/node12": {
+      "version": "1.0.9",
+      "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz",
+      "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==",
+      "dev": true
+    },
+    "@tsconfig/node14": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz",
+      "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==",
+      "dev": true
+    },
+    "@tsconfig/node16": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz",
+      "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==",
+      "dev": true
+    },
+    "@tufjs/canonical-json": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz",
+      "integrity": "sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==",
+      "dev": true
+    },
+    "@tufjs/models": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-1.0.4.tgz",
+      "integrity": "sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==",
+      "dev": true,
+      "requires": {
+        "@tufjs/canonical-json": "1.0.0",
+        "minimatch": "^9.0.0"
+      },
+      "dependencies": {
+        "brace-expansion": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+          "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+          "dev": true,
+          "requires": {
+            "balanced-match": "^1.0.0"
+          }
+        },
+        "minimatch": {
+          "version": "9.0.0",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz",
+          "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "^2.0.1"
+          }
+        }
+      }
+    },
+    "@types/body-parser": {
+      "version": "1.19.2",
+      "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
+      "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==",
+      "dev": true,
+      "requires": {
+        "@types/connect": "*",
+        "@types/node": "*"
+      }
+    },
+    "@types/bonjour": {
+      "version": "3.5.10",
+      "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz",
+      "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==",
+      "dev": true,
+      "requires": {
+        "@types/node": "*"
+      }
+    },
+    "@types/chrome": {
+      "version": "0.0.236",
+      "resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.236.tgz",
+      "integrity": "sha512-ArQoxO9WtDY6GWcT2cpo+D+hyASPeFt7PHQEUDXwQhRS00Rbop07rnEOA046yws0HkM83Tcew/hW6Dgvnj4iMQ==",
+      "dev": true,
+      "requires": {
+        "@types/filesystem": "*",
+        "@types/har-format": "*"
+      }
+    },
+    "@types/connect": {
+      "version": "3.4.35",
+      "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
+      "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==",
+      "dev": true,
+      "requires": {
+        "@types/node": "*"
+      }
+    },
+    "@types/connect-history-api-fallback": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz",
+      "integrity": "sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==",
+      "dev": true,
+      "requires": {
+        "@types/express-serve-static-core": "*",
+        "@types/node": "*"
+      }
+    },
+    "@types/cookie": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
+      "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
+    "@types/cors": {
+      "version": "2.8.13",
+      "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz",
+      "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "requires": {
+        "@types/node": "*"
+      }
+    },
+    "@types/d3": {
+      "version": "7.4.0",
+      "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.0.tgz",
+      "integrity": "sha512-jIfNVK0ZlxcuRDKtRS/SypEyOQ6UHaFQBKv032X45VvxSJ6Yi5G9behy9h6tNTHTDGh5Vq+KbmBjUWLgY4meCA==",
+      "dev": true,
+      "requires": {
+        "@types/d3-array": "*",
+        "@types/d3-axis": "*",
+        "@types/d3-brush": "*",
+        "@types/d3-chord": "*",
+        "@types/d3-color": "*",
+        "@types/d3-contour": "*",
+        "@types/d3-delaunay": "*",
+        "@types/d3-dispatch": "*",
+        "@types/d3-drag": "*",
+        "@types/d3-dsv": "*",
+        "@types/d3-ease": "*",
+        "@types/d3-fetch": "*",
+        "@types/d3-force": "*",
+        "@types/d3-format": "*",
+        "@types/d3-geo": "*",
+        "@types/d3-hierarchy": "*",
+        "@types/d3-interpolate": "*",
+        "@types/d3-path": "*",
+        "@types/d3-polygon": "*",
+        "@types/d3-quadtree": "*",
+        "@types/d3-random": "*",
+        "@types/d3-scale": "*",
+        "@types/d3-scale-chromatic": "*",
+        "@types/d3-selection": "*",
+        "@types/d3-shape": "*",
+        "@types/d3-time": "*",
+        "@types/d3-time-format": "*",
+        "@types/d3-timer": "*",
+        "@types/d3-transition": "*",
+        "@types/d3-zoom": "*"
+      }
+    },
+    "@types/d3-array": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.0.2.tgz",
+      "integrity": "sha512-5mjGjz6XOXKOCdTajXTZ/pMsg236RdiwKPrRPWAEf/2S/+PzwY+LLYShUpeysWaMvsdS7LArh6GdUefoxpchsQ==",
+      "dev": true
+    },
+    "@types/d3-axis": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.1.tgz",
+      "integrity": "sha512-zji/iIbdd49g9WN0aIsGcwcTBUkgLsCSwB+uH+LPVDAiKWENMtI3cJEWt+7/YYwelMoZmbBfzA3qCdrZ2XFNnw==",
+      "dev": true,
+      "requires": {
+        "@types/d3-selection": "*"
+      }
+    },
+    "@types/d3-brush": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.1.tgz",
+      "integrity": "sha512-B532DozsiTuQMHu2YChdZU0qsFJSio3Q6jmBYGYNp3gMDzBmuFFgPt9qKA4VYuLZMp4qc6eX7IUFUEsvHiXZAw==",
+      "dev": true,
+      "requires": {
+        "@types/d3-selection": "*"
+      }
+    },
+    "@types/d3-chord": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.1.tgz",
+      "integrity": "sha512-eQfcxIHrg7V++W8Qxn6QkqBNBokyhdWSAS73AbkbMzvLQmVVBviknoz2SRS/ZJdIOmhcmmdCRE/NFOm28Z1AMw==",
+      "dev": true
+    },
+    "@types/d3-color": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.0.2.tgz",
+      "integrity": "sha512-WVx6zBiz4sWlboCy7TCgjeyHpNjMsoF36yaagny1uXfbadc9f+5BeBf7U+lRmQqY3EHbGQpP8UdW8AC+cywSwQ==",
+      "dev": true
+    },
+    "@types/d3-contour": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.1.tgz",
+      "integrity": "sha512-C3zfBrhHZvrpAAK3YXqLWVAGo87A4SvJ83Q/zVJ8rFWJdKejUnDYaWZPkA8K84kb2vDA/g90LTQAz7etXcgoQQ==",
+      "dev": true,
+      "requires": {
+        "@types/d3-array": "*",
+        "@types/geojson": "*"
+      }
+    },
+    "@types/d3-delaunay": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.0.tgz",
+      "integrity": "sha512-iGm7ZaGLq11RK3e69VeMM6Oqj2SjKUB9Qhcyd1zIcqn2uE8w9GFB445yCY46NOQO3ByaNyktX1DK+Etz7ZaX+w==",
+      "dev": true
+    },
+    "@types/d3-dispatch": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.1.tgz",
+      "integrity": "sha512-NhxMn3bAkqhjoxabVJWKryhnZXXYYVQxaBnbANu0O94+O/nX9qSjrA1P1jbAQJxJf+VC72TxDX/YJcKue5bRqw==",
+      "dev": true
+    },
+    "@types/d3-drag": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.1.tgz",
+      "integrity": "sha512-o1Va7bLwwk6h03+nSM8dpaGEYnoIG19P0lKqlic8Un36ymh9NSkNFX1yiXMKNMx8rJ0Kfnn2eovuFaL6Jvj0zA==",
+      "dev": true,
+      "requires": {
+        "@types/d3-selection": "*"
+      }
+    },
+    "@types/d3-dsv": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.0.tgz",
+      "integrity": "sha512-o0/7RlMl9p5n6FQDptuJVMxDf/7EDEv2SYEO/CwdG2tr1hTfUVi0Iavkk2ax+VpaQ/1jVhpnj5rq1nj8vwhn2A==",
+      "dev": true
+    },
+    "@types/d3-ease": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.0.tgz",
+      "integrity": "sha512-aMo4eaAOijJjA6uU+GIeW018dvy9+oH5Y2VPPzjjfxevvGQ/oRDs+tfYC9b50Q4BygRR8yE2QCLsrT0WtAVseA==",
+      "dev": true
+    },
+    "@types/d3-fetch": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.1.tgz",
+      "integrity": "sha512-toZJNOwrOIqz7Oh6Q7l2zkaNfXkfR7mFSJvGvlD/Ciq/+SQ39d5gynHJZ/0fjt83ec3WL7+u3ssqIijQtBISsw==",
+      "dev": true,
+      "requires": {
+        "@types/d3-dsv": "*"
+      }
+    },
+    "@types/d3-force": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.3.tgz",
+      "integrity": "sha512-z8GteGVfkWJMKsx6hwC3SiTSLspL98VNpmvLpEFJQpZPq6xpA1I8HNBDNSpukfK0Vb0l64zGFhzunLgEAcBWSA==",
+      "dev": true
+    },
+    "@types/d3-format": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.1.tgz",
+      "integrity": "sha512-5KY70ifCCzorkLuIkDe0Z9YTf9RR2CjBX1iaJG+rgM/cPP+sO+q9YdQ9WdhQcgPj1EQiJ2/0+yUkkziTG6Lubg==",
+      "dev": true
+    },
+    "@types/d3-geo": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.0.2.tgz",
+      "integrity": "sha512-DbqK7MLYA8LpyHQfv6Klz0426bQEf7bRTvhMy44sNGVyZoWn//B0c+Qbeg8Osi2Obdc9BLLXYAKpyWege2/7LQ==",
+      "dev": true,
+      "requires": {
+        "@types/geojson": "*"
+      }
+    },
+    "@types/d3-hierarchy": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.0.2.tgz",
+      "integrity": "sha512-+krnrWOZ+aQB6v+E+jEkmkAx9HvsNAD+1LCD0vlBY3t+HwjKnsBFbpVLx6WWzDzCIuiTWdAxXMEnGnVXpB09qQ==",
+      "dev": true
+    },
+    "@types/d3-interpolate": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
+      "integrity": "sha512-jx5leotSeac3jr0RePOH1KdR9rISG91QIE4Q2PYTu4OymLTZfA3SrnURSLzKH48HmXVUru50b8nje4E79oQSQw==",
+      "dev": true,
+      "requires": {
+        "@types/d3-color": "*"
+      }
+    },
+    "@types/d3-path": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.0.0.tgz",
+      "integrity": "sha512-0g/A+mZXgFkQxN3HniRDbXMN79K3CdTpLsevj+PXiTcb2hVyvkZUBg37StmgCQkaD84cUJ4uaDAWq7UJOQy2Tg==",
+      "dev": true
+    },
+    "@types/d3-polygon": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.0.tgz",
+      "integrity": "sha512-D49z4DyzTKXM0sGKVqiTDTYr+DHg/uxsiWDAkNrwXYuiZVd9o9wXZIo+YsHkifOiyBkmSWlEngHCQme54/hnHw==",
+      "dev": true
+    },
+    "@types/d3-quadtree": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.2.tgz",
+      "integrity": "sha512-QNcK8Jguvc8lU+4OfeNx+qnVy7c0VrDJ+CCVFS9srBo2GL9Y18CnIxBdTF3v38flrGy5s1YggcoAiu6s4fLQIw==",
+      "dev": true
+    },
+    "@types/d3-random": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.1.tgz",
+      "integrity": "sha512-IIE6YTekGczpLYo/HehAy3JGF1ty7+usI97LqraNa8IiDur+L44d0VOjAvFQWJVdZOJHukUJw+ZdZBlgeUsHOQ==",
+      "dev": true
+    },
+    "@types/d3-scale": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.2.tgz",
+      "integrity": "sha512-Yk4htunhPAwN0XGlIwArRomOjdoBFXC3+kCxK2Ubg7I9shQlVSJy/pG/Ht5ASN+gdMIalpk8TJ5xV74jFsetLA==",
+      "dev": true,
+      "requires": {
+        "@types/d3-time": "*"
+      }
+    },
+    "@types/d3-scale-chromatic": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz",
+      "integrity": "sha512-dsoJGEIShosKVRBZB0Vo3C8nqSDqVGujJU6tPznsBJxNJNwMF8utmS83nvCBKQYPpjCzaaHcrf66iTRpZosLPw==",
+      "dev": true
+    },
+    "@types/d3-selection": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.2.tgz",
+      "integrity": "sha512-d29EDd0iUBrRoKhPndhDY6U/PYxOWqgIZwKTooy2UkBfU7TNZNpRho0yLWPxlatQrFWk2mnTu71IZQ4+LRgKlQ==",
+      "dev": true
+    },
+    "@types/d3-shape": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.0.2.tgz",
+      "integrity": "sha512-5+ButCmIfNX8id5seZ7jKj3igdcxx+S9IDBiT35fQGTLZUfkFgTv+oBH34xgeoWDKpWcMITSzBILWQtBoN5Piw==",
+      "dev": true,
+      "requires": {
+        "@types/d3-path": "*"
+      }
+    },
+    "@types/d3-time": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.0.tgz",
+      "integrity": "sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==",
+      "dev": true
+    },
+    "@types/d3-time-format": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.0.tgz",
+      "integrity": "sha512-yjfBUe6DJBsDin2BMIulhSHmr5qNR5Pxs17+oW4DoVPyVIXZ+m6bs7j1UVKP08Emv6jRmYrYqxYzO63mQxy1rw==",
+      "dev": true
+    },
+    "@types/d3-timer": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.0.tgz",
+      "integrity": "sha512-HNB/9GHqu7Fo8AQiugyJbv6ZxYz58wef0esl4Mv828w1ZKpAshw/uFWVDUcIB9KKFeFKoxS3cHY07FFgtTRZ1g==",
+      "dev": true
+    },
+    "@types/d3-transition": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.1.tgz",
+      "integrity": "sha512-Sv4qEI9uq3bnZwlOANvYK853zvpdKEm1yz9rcc8ZTsxvRklcs9Fx4YFuGA3gXoQN/c/1T6QkVNjhaRO/cWj94g==",
+      "dev": true,
+      "requires": {
+        "@types/d3-selection": "*"
+      }
+    },
+    "@types/d3-zoom": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.1.tgz",
+      "integrity": "sha512-7s5L9TjfqIYQmQQEUcpMAcBOahem7TRoSO/+Gkz02GbMVuULiZzjF2BOdw291dbO2aNon4m2OdFsRGaCq2caLQ==",
+      "dev": true,
+      "requires": {
+        "@types/d3-interpolate": "*",
+        "@types/d3-selection": "*"
+      }
+    },
+    "@types/data-urls": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/@types/data-urls/-/data-urls-3.0.4.tgz",
+      "integrity": "sha512-XRY2WVaOFSTKpNMaplqY1unPgAGk/DosOJ+eFrB6LJcFFbRH3nVbwJuGqLmDwdTWWx+V7U614/kmrj1JmCDl2A==",
+      "dev": true,
+      "requires": {
+        "@types/whatwg-mimetype": "*",
+        "@types/whatwg-url": "*"
+      }
+    },
+    "@types/eslint": {
+      "version": "8.2.2",
+      "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.2.2.tgz",
+      "integrity": "sha512-nQxgB8/Sg+QKhnV8e0WzPpxjIGT3tuJDDzybkDi8ItE/IgTlHo07U0shaIjzhcvQxlq9SDRE42lsJ23uvEgJ2A==",
+      "dev": true,
+      "requires": {
+        "@types/estree": "*",
+        "@types/json-schema": "*"
+      }
+    },
+    "@types/eslint-scope": {
+      "version": "3.7.3",
+      "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz",
+      "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==",
+      "dev": true,
+      "requires": {
+        "@types/eslint": "*",
+        "@types/estree": "*"
+      }
+    },
+    "@types/estree": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz",
+      "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==",
+      "dev": true
+    },
+    "@types/express": {
+      "version": "4.17.17",
+      "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz",
+      "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==",
+      "dev": true,
+      "requires": {
+        "@types/body-parser": "*",
+        "@types/express-serve-static-core": "^4.17.33",
+        "@types/qs": "*",
+        "@types/serve-static": "*"
+      }
+    },
+    "@types/express-serve-static-core": {
+      "version": "4.17.35",
+      "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz",
+      "integrity": "sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==",
+      "dev": true,
+      "requires": {
+        "@types/node": "*",
+        "@types/qs": "*",
+        "@types/range-parser": "*",
+        "@types/send": "*"
+      }
+    },
+    "@types/filesystem": {
+      "version": "0.0.32",
+      "resolved": "https://registry.npmjs.org/@types/filesystem/-/filesystem-0.0.32.tgz",
+      "integrity": "sha512-Yuf4jR5YYMR2DVgwuCiP11s0xuVRyPKmz8vo6HBY3CGdeMj8af93CFZX+T82+VD1+UqHOxTq31lO7MI7lepBtQ==",
+      "dev": true,
+      "requires": {
+        "@types/filewriter": "*"
+      }
+    },
+    "@types/filewriter": {
+      "version": "0.0.29",
+      "resolved": "https://registry.npmjs.org/@types/filewriter/-/filewriter-0.0.29.tgz",
+      "integrity": "sha512-BsPXH/irW0ht0Ji6iw/jJaK8Lj3FJemon2gvEqHKpCdDCeemHa+rI3WBGq5z7cDMZgoLjY40oninGxqk+8NzNQ==",
+      "dev": true
+    },
+    "@types/geojson": {
+      "version": "7946.0.8",
+      "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.8.tgz",
+      "integrity": "sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==",
+      "dev": true
+    },
+    "@types/glob": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
+      "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==",
+      "dev": true,
+      "requires": {
+        "@types/minimatch": "*",
+        "@types/node": "*"
+      }
+    },
+    "@types/har-format": {
+      "version": "1.2.8",
+      "resolved": "https://registry.npmjs.org/@types/har-format/-/har-format-1.2.8.tgz",
+      "integrity": "sha512-OP6L9VuZNdskgNN3zFQQ54ceYD8OLq5IbqO4VK91ORLfOm7WdT/CiT/pHEBSQEqCInJ2y3O6iCm/zGtPElpgJQ==",
+      "dev": true
+    },
+    "@types/http-proxy": {
+      "version": "1.17.11",
+      "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz",
+      "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==",
+      "dev": true,
+      "requires": {
+        "@types/node": "*"
+      }
+    },
+    "@types/jasmine": {
+      "version": "4.3.1",
+      "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.3.1.tgz",
+      "integrity": "sha512-Vu8l+UGcshYmV1VWwULgnV/2RDbBaO6i2Ptx7nd//oJPIZGhoI1YLST4VKagD2Pq/Bc2/7zvtvhM7F3p4SN7kQ==",
+      "dev": true
+    },
+    "@types/jasminewd2": {
+      "version": "2.0.10",
+      "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.10.tgz",
+      "integrity": "sha512-J7mDz7ovjwjc+Y9rR9rY53hFWKATcIkrr9DwQWmOas4/pnIPJTXawnzjwpHm3RSxz/e3ZVUvQ7cRbd5UQLo10g==",
+      "dev": true,
+      "requires": {
+        "@types/jasmine": "*"
+      }
+    },
+    "@types/json-schema": {
+      "version": "7.0.9",
+      "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz",
+      "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==",
+      "dev": true
+    },
+    "@types/marked": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/@types/marked/-/marked-4.3.0.tgz",
+      "integrity": "sha512-zK4gSFMjgslsv5Lyvr3O1yCjgmnE4pr8jbG8qVn4QglMwtpvPCf4YT2Wma7Nk95OxUUJI8Z+kzdXohbM7mVpGw==",
+      "peer": true
+    },
+    "@types/mime": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
+      "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==",
+      "dev": true
+    },
+    "@types/minimatch": {
+      "version": "3.0.5",
+      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
+      "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==",
+      "dev": true
+    },
+    "@types/node": {
+      "version": "20.1.5",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-20.1.5.tgz",
+      "integrity": "sha512-IvGD1CD/nego63ySR7vrAKEX3AJTcmrAN2kn+/sDNLi1Ff5kBzDeEdqWDplK+0HAEoLYej137Sk0cUU8OLOlMg==",
+      "dev": true
+    },
+    "@types/psl": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@types/psl/-/psl-1.1.0.tgz",
+      "integrity": "sha512-HhZnoLAvI2koev3czVPzBNRYvdrzJGLjQbWZhqFmS9Q6a0yumc5qtfSahBGb5g+6qWvA8iiQktqGkwoIXa/BNQ==",
+      "dev": true
+    },
+    "@types/q": {
+      "version": "0.0.32",
+      "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz",
+      "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=",
+      "dev": true
+    },
+    "@types/qs": {
+      "version": "6.9.7",
+      "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
+      "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==",
+      "dev": true
+    },
+    "@types/range-parser": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz",
+      "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==",
+      "dev": true
+    },
+    "@types/resolve": {
+      "version": "1.20.2",
+      "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz",
+      "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==",
+      "dev": true
+    },
+    "@types/retry": {
+      "version": "0.12.0",
+      "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz",
+      "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==",
+      "dev": true
+    },
+    "@types/selenium-webdriver": {
+      "version": "3.0.19",
+      "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.19.tgz",
+      "integrity": "sha512-OFUilxQg+rWL2FMxtmIgCkUDlJB6pskkpvmew7yeXfzzsOBb5rc+y2+DjHm+r3r1ZPPcJefK3DveNSYWGiy68g==",
+      "dev": true
+    },
+    "@types/semver": {
+      "version": "7.5.0",
+      "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz",
+      "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==",
+      "dev": true
+    },
+    "@types/send": {
+      "version": "0.17.1",
+      "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz",
+      "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==",
+      "dev": true,
+      "requires": {
+        "@types/mime": "^1",
+        "@types/node": "*"
+      }
+    },
+    "@types/serve-index": {
+      "version": "1.9.1",
+      "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz",
+      "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==",
+      "dev": true,
+      "requires": {
+        "@types/express": "*"
+      }
+    },
+    "@types/serve-static": {
+      "version": "1.15.1",
+      "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.1.tgz",
+      "integrity": "sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==",
+      "dev": true,
+      "requires": {
+        "@types/mime": "*",
+        "@types/node": "*"
+      }
+    },
+    "@types/sockjs": {
+      "version": "0.3.33",
+      "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz",
+      "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==",
+      "dev": true,
+      "requires": {
+        "@types/node": "*"
+      }
+    },
+    "@types/source-list-map": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz",
+      "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==",
+      "dev": true
+    },
+    "@types/topojson-client": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/@types/topojson-client/-/topojson-client-3.1.1.tgz",
+      "integrity": "sha512-E4/Z2Xg56kVLRzYWem/6uOKVcVNqqxEqlWM9qCG2tCV1BxuzvvXC02/ELoGJWgtKkQhfycBPlMFEuTFdA/YiTg==",
+      "dev": true,
+      "requires": {
+        "@types/geojson": "*",
+        "@types/topojson-specification": "*"
+      }
+    },
+    "@types/topojson-simplify": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@types/topojson-simplify/-/topojson-simplify-3.0.1.tgz",
+      "integrity": "sha512-H7SS2X11Lo3iRT3e7R6jPTAazOoSLD0LKIGq1b+4m/76Md46JfeU3zVIhxfIX9FY7oiyEbXwGumjK1GUXwIIMA==",
+      "dev": true,
+      "requires": {
+        "@types/geojson": "*",
+        "@types/topojson-specification": "*"
+      }
+    },
+    "@types/topojson-specification": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/@types/topojson-specification/-/topojson-specification-1.0.2.tgz",
+      "integrity": "sha512-SGc1NdX9g3UGDp6S+p+uyG+Z8CehS51sUJ9bejA25Xgn2kkAguILk6J9nxXK+0M/mbTBN7ypMA7+4HVLNMJ8ag==",
+      "dev": true,
+      "requires": {
+        "@types/geojson": "*"
+      }
+    },
+    "@types/webextension-polyfill": {
+      "version": "0.8.3",
+      "resolved": "https://registry.npmjs.org/@types/webextension-polyfill/-/webextension-polyfill-0.8.3.tgz",
+      "integrity": "sha512-GN+Hjzy9mXjWoXKmaicTegv3FJ0WFZ3aYz77Wk8TMp1IY3vEzvzj1vnsa0ggV7vMI1i+PUxe4qqnIJKCzf9aTg==",
+      "dev": true
+    },
+    "@types/webidl-conversions": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz",
+      "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==",
+      "dev": true
+    },
+    "@types/webpack": {
+      "version": "5.28.0",
+      "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-5.28.0.tgz",
+      "integrity": "sha512-8cP0CzcxUiFuA9xGJkfeVpqmWTk9nx6CWwamRGCj95ph1SmlRRk9KlCZ6avhCbZd4L68LvYT6l1kpdEnQXrF8w==",
+      "dev": true,
+      "requires": {
+        "@types/node": "*",
+        "tapable": "^2.2.0",
+        "webpack": "^5"
+      }
+    },
+    "@types/webpack-sources": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz",
+      "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==",
+      "dev": true,
+      "requires": {
+        "@types/node": "*",
+        "@types/source-list-map": "*",
+        "source-map": "^0.7.3"
+      }
+    },
+    "@types/whatwg-encoding": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/@types/whatwg-encoding/-/whatwg-encoding-2.0.3.tgz",
+      "integrity": "sha512-7TJfeaSFIWAKQ4ZynOb5zV3xzJQEEmL0U0j+uH7tnqfL97apXDTwMo0dB2uAWXAbr2dRRi5/eO9jV9dK/1GkiA==",
+      "dev": true
+    },
+    "@types/whatwg-mimetype": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/@types/whatwg-mimetype/-/whatwg-mimetype-3.0.2.tgz",
+      "integrity": "sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA==",
+      "dev": true
+    },
+    "@types/whatwg-url": {
+      "version": "11.0.4",
+      "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-11.0.4.tgz",
+      "integrity": "sha512-lXCmTWSHJvf0TRSO58nm978b8HJ/EdsSsEKLd3ODHFjo+3VGAyyTp4v50nWvwtzBxSMQrVOK7tcuN0zGPLICMw==",
+      "dev": true,
+      "requires": {
+        "@types/webidl-conversions": "*"
+      }
+    },
+    "@types/ws": {
+      "version": "8.5.4",
+      "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz",
+      "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==",
+      "dev": true,
+      "requires": {
+        "@types/node": "*"
+      }
+    },
+    "@typescript-eslint/eslint-plugin": {
+      "version": "5.59.6",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.6.tgz",
+      "integrity": "sha512-sXtOgJNEuRU5RLwPUb1jxtToZbgvq3M6FPpY4QENxoOggK+UpTxUBpj6tD8+Qh2g46Pi9We87E+eHnUw8YcGsw==",
+      "dev": true,
+      "requires": {
+        "@eslint-community/regexpp": "^4.4.0",
+        "@typescript-eslint/scope-manager": "5.59.6",
+        "@typescript-eslint/type-utils": "5.59.6",
+        "@typescript-eslint/utils": "5.59.6",
+        "debug": "^4.3.4",
+        "grapheme-splitter": "^1.0.4",
+        "ignore": "^5.2.0",
+        "natural-compare-lite": "^1.4.0",
+        "semver": "^7.3.7",
+        "tsutils": "^3.21.0"
+      },
+      "dependencies": {
+        "tslib": {
+          "version": "1.14.1",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+          "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+          "dev": true
+        },
+        "tsutils": {
+          "version": "3.21.0",
+          "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
+          "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+          "dev": true,
+          "requires": {
+            "tslib": "^1.8.1"
+          }
+        }
+      }
+    },
+    "@typescript-eslint/parser": {
+      "version": "5.59.6",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.6.tgz",
+      "integrity": "sha512-7pCa6al03Pv1yf/dUg/s1pXz/yGMUBAw5EeWqNTFiSueKvRNonze3hma3lhdsOrQcaOXhbk5gKu2Fludiho9VA==",
+      "dev": true,
+      "requires": {
+        "@typescript-eslint/scope-manager": "5.59.6",
+        "@typescript-eslint/types": "5.59.6",
+        "@typescript-eslint/typescript-estree": "5.59.6",
+        "debug": "^4.3.4"
+      }
+    },
+    "@typescript-eslint/scope-manager": {
+      "version": "5.59.6",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.6.tgz",
+      "integrity": "sha512-gLbY3Le9Dxcb8KdpF0+SJr6EQ+hFGYFl6tVY8VxLPFDfUZC7BHFw+Vq7bM5lE9DwWPfx4vMWWTLGXgpc0mAYyQ==",
+      "dev": true,
+      "requires": {
+        "@typescript-eslint/types": "5.59.6",
+        "@typescript-eslint/visitor-keys": "5.59.6"
+      }
+    },
+    "@typescript-eslint/type-utils": {
+      "version": "5.59.6",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.6.tgz",
+      "integrity": "sha512-A4tms2Mp5yNvLDlySF+kAThV9VTBPCvGf0Rp8nl/eoDX9Okun8byTKoj3fJ52IJitjWOk0fKPNQhXEB++eNozQ==",
+      "dev": true,
+      "requires": {
+        "@typescript-eslint/typescript-estree": "5.59.6",
+        "@typescript-eslint/utils": "5.59.6",
+        "debug": "^4.3.4",
+        "tsutils": "^3.21.0"
+      },
+      "dependencies": {
+        "tslib": {
+          "version": "1.14.1",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+          "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+          "dev": true
+        },
+        "tsutils": {
+          "version": "3.21.0",
+          "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
+          "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+          "dev": true,
+          "requires": {
+            "tslib": "^1.8.1"
+          }
+        }
+      }
+    },
+    "@typescript-eslint/types": {
+      "version": "5.59.6",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.6.tgz",
+      "integrity": "sha512-tH5lBXZI7T2MOUgOWFdVNUILsI02shyQvfzG9EJkoONWugCG77NDDa1EeDGw7oJ5IvsTAAGVV8I3Tk2PNu9QfA==",
+      "dev": true
+    },
+    "@typescript-eslint/typescript-estree": {
+      "version": "5.59.6",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.6.tgz",
+      "integrity": "sha512-vW6JP3lMAs/Tq4KjdI/RiHaaJSO7IUsbkz17it/Rl9Q+WkQ77EOuOnlbaU8kKfVIOJxMhnRiBG+olE7f3M16DA==",
+      "dev": true,
+      "requires": {
+        "@typescript-eslint/types": "5.59.6",
+        "@typescript-eslint/visitor-keys": "5.59.6",
+        "debug": "^4.3.4",
+        "globby": "^11.1.0",
+        "is-glob": "^4.0.3",
+        "semver": "^7.3.7",
+        "tsutils": "^3.21.0"
+      },
+      "dependencies": {
+        "globby": {
+          "version": "11.1.0",
+          "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+          "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+          "dev": true,
+          "requires": {
+            "array-union": "^2.1.0",
+            "dir-glob": "^3.0.1",
+            "fast-glob": "^3.2.9",
+            "ignore": "^5.2.0",
+            "merge2": "^1.4.1",
+            "slash": "^3.0.0"
+          }
+        },
+        "slash": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+          "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+          "dev": true
+        },
+        "tslib": {
+          "version": "1.14.1",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+          "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+          "dev": true
+        },
+        "tsutils": {
+          "version": "3.21.0",
+          "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
+          "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+          "dev": true,
+          "requires": {
+            "tslib": "^1.8.1"
+          }
+        }
+      }
+    },
+    "@typescript-eslint/utils": {
+      "version": "5.59.6",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.6.tgz",
+      "integrity": "sha512-vzaaD6EXbTS29cVH0JjXBdzMt6VBlv+hE31XktDRMX1j3462wZCJa7VzO2AxXEXcIl8GQqZPcOPuW/Z1tZVogg==",
+      "dev": true,
+      "requires": {
+        "@eslint-community/eslint-utils": "^4.2.0",
+        "@types/json-schema": "^7.0.9",
+        "@types/semver": "^7.3.12",
+        "@typescript-eslint/scope-manager": "5.59.6",
+        "@typescript-eslint/types": "5.59.6",
+        "@typescript-eslint/typescript-estree": "5.59.6",
+        "eslint-scope": "^5.1.1",
+        "semver": "^7.3.7"
+      }
+    },
+    "@typescript-eslint/visitor-keys": {
+      "version": "5.59.6",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.6.tgz",
+      "integrity": "sha512-zEfbFLzB9ETcEJ4HZEEsCR9HHeNku5/Qw1jSS5McYJv5BR+ftYXwFFAH5Al+xkGaZEqowMwl7uoJjQb1YSPF8Q==",
+      "dev": true,
+      "requires": {
+        "@typescript-eslint/types": "5.59.6",
+        "eslint-visitor-keys": "^3.3.0"
+      }
+    },
+    "@vitejs/plugin-basic-ssl": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.0.1.tgz",
+      "integrity": "sha512-pcub+YbFtFhaGRTo1832FQHQSHvMrlb43974e2eS8EKleR3p1cDdkJFPci1UhwkEf1J9Bz+wKBSzqpKp7nNj2A==",
+      "dev": true,
+      "requires": {}
+    },
+    "@webassemblyjs/ast": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz",
+      "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==",
+      "dev": true,
+      "requires": {
+        "@webassemblyjs/helper-numbers": "1.11.6",
+        "@webassemblyjs/helper-wasm-bytecode": "1.11.6"
+      }
+    },
+    "@webassemblyjs/floating-point-hex-parser": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz",
+      "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==",
+      "dev": true
+    },
+    "@webassemblyjs/helper-api-error": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz",
+      "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==",
+      "dev": true
+    },
+    "@webassemblyjs/helper-buffer": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz",
+      "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==",
+      "dev": true
+    },
+    "@webassemblyjs/helper-numbers": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz",
+      "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==",
+      "dev": true,
+      "requires": {
+        "@webassemblyjs/floating-point-hex-parser": "1.11.6",
+        "@webassemblyjs/helper-api-error": "1.11.6",
+        "@xtuc/long": "4.2.2"
+      }
+    },
+    "@webassemblyjs/helper-wasm-bytecode": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz",
+      "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==",
+      "dev": true
+    },
+    "@webassemblyjs/helper-wasm-section": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz",
+      "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==",
+      "dev": true,
+      "requires": {
+        "@webassemblyjs/ast": "1.11.6",
+        "@webassemblyjs/helper-buffer": "1.11.6",
+        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+        "@webassemblyjs/wasm-gen": "1.11.6"
+      }
+    },
+    "@webassemblyjs/ieee754": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz",
+      "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==",
+      "dev": true,
+      "requires": {
+        "@xtuc/ieee754": "^1.2.0"
+      }
+    },
+    "@webassemblyjs/leb128": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz",
+      "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==",
+      "dev": true,
+      "requires": {
+        "@xtuc/long": "4.2.2"
+      }
+    },
+    "@webassemblyjs/utf8": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz",
+      "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==",
+      "dev": true
+    },
+    "@webassemblyjs/wasm-edit": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz",
+      "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==",
+      "dev": true,
+      "requires": {
+        "@webassemblyjs/ast": "1.11.6",
+        "@webassemblyjs/helper-buffer": "1.11.6",
+        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+        "@webassemblyjs/helper-wasm-section": "1.11.6",
+        "@webassemblyjs/wasm-gen": "1.11.6",
+        "@webassemblyjs/wasm-opt": "1.11.6",
+        "@webassemblyjs/wasm-parser": "1.11.6",
+        "@webassemblyjs/wast-printer": "1.11.6"
+      }
+    },
+    "@webassemblyjs/wasm-gen": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz",
+      "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==",
+      "dev": true,
+      "requires": {
+        "@webassemblyjs/ast": "1.11.6",
+        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+        "@webassemblyjs/ieee754": "1.11.6",
+        "@webassemblyjs/leb128": "1.11.6",
+        "@webassemblyjs/utf8": "1.11.6"
+      }
+    },
+    "@webassemblyjs/wasm-opt": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz",
+      "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==",
+      "dev": true,
+      "requires": {
+        "@webassemblyjs/ast": "1.11.6",
+        "@webassemblyjs/helper-buffer": "1.11.6",
+        "@webassemblyjs/wasm-gen": "1.11.6",
+        "@webassemblyjs/wasm-parser": "1.11.6"
+      }
+    },
+    "@webassemblyjs/wasm-parser": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz",
+      "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==",
+      "dev": true,
+      "requires": {
+        "@webassemblyjs/ast": "1.11.6",
+        "@webassemblyjs/helper-api-error": "1.11.6",
+        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+        "@webassemblyjs/ieee754": "1.11.6",
+        "@webassemblyjs/leb128": "1.11.6",
+        "@webassemblyjs/utf8": "1.11.6"
+      }
+    },
+    "@webassemblyjs/wast-printer": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz",
+      "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==",
+      "dev": true,
+      "requires": {
+        "@webassemblyjs/ast": "1.11.6",
+        "@xtuc/long": "4.2.2"
+      }
+    },
+    "@xtuc/ieee754": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
+      "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
+      "dev": true
+    },
+    "@xtuc/long": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
+      "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
+      "dev": true
+    },
+    "@yarnpkg/lockfile": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz",
+      "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
+      "dev": true
+    },
+    "@yarnpkg/parsers": {
+      "version": "3.0.0-rc.43",
+      "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.43.tgz",
+      "integrity": "sha512-AhFF3mIDfA+jEwQv2WMHmiYhOvmdbh2qhUkDVQfiqzQtUwS4BgoWwom5NpSPg4Ix5vOul+w1690Bt21CkVLpgg==",
+      "dev": true,
+      "requires": {
+        "js-yaml": "^3.10.0",
+        "tslib": "^2.4.0"
+      }
+    },
+    "@zkochan/js-yaml": {
+      "version": "0.0.6",
+      "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz",
+      "integrity": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==",
+      "dev": true,
+      "requires": {
+        "argparse": "^2.0.1"
+      },
+      "dependencies": {
+        "argparse": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+          "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+          "dev": true
+        }
+      }
+    },
+    "abab": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
+      "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==",
+      "dev": true
+    },
+    "abbrev": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+      "dev": true
+    },
+    "accepts": {
+      "version": "1.3.8",
+      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+      "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+      "dev": true,
+      "requires": {
+        "mime-types": "~2.1.34",
+        "negotiator": "0.6.3"
+      }
+    },
+    "acorn": {
+      "version": "7.4.1",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+      "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+      "dev": true,
+      "peer": true
+    },
+    "acorn-jsx": {
+      "version": "5.3.2",
+      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+      "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+      "dev": true,
+      "requires": {}
+    },
+    "adjust-sourcemap-loader": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz",
+      "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==",
+      "dev": true,
+      "requires": {
+        "loader-utils": "^2.0.0",
+        "regex-parser": "^2.2.11"
+      },
+      "dependencies": {
+        "loader-utils": {
+          "version": "2.0.4",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
+          "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
+          "dev": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^2.1.2"
+          }
+        }
+      }
+    },
+    "adm-zip": {
+      "version": "0.5.10",
+      "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz",
+      "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==",
+      "dev": true
+    },
+    "agent-base": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+      "dev": true,
+      "requires": {
+        "debug": "4"
+      }
+    },
+    "agentkeepalive": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz",
+      "integrity": "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==",
+      "dev": true,
+      "requires": {
+        "debug": "^4.1.0",
+        "depd": "^2.0.0",
+        "humanize-ms": "^1.2.1"
+      }
+    },
+    "aggregate-error": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
+      "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
+      "dev": true,
+      "requires": {
+        "clean-stack": "^2.0.0",
+        "indent-string": "^4.0.0"
+      }
+    },
+    "ajv": {
+      "version": "8.12.0",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+      "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
+      "dev": true,
+      "requires": {
+        "fast-deep-equal": "^3.1.1",
+        "json-schema-traverse": "^1.0.0",
+        "require-from-string": "^2.0.2",
+        "uri-js": "^4.2.2"
+      }
+    },
+    "ajv-formats": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
+      "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
+      "dev": true,
+      "requires": {
+        "ajv": "^8.0.0"
+      }
+    },
+    "ajv-keywords": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+      "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
+      "dev": true,
+      "requires": {
+        "fast-deep-equal": "^3.1.3"
+      }
+    },
+    "ansi-colors": {
+      "version": "4.1.3",
+      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
+      "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
+      "dev": true
+    },
+    "ansi-escapes": {
+      "version": "4.3.2",
+      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
+      "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
+      "dev": true,
+      "requires": {
+        "type-fest": "^0.21.3"
+      }
+    },
+    "ansi-html-community": {
+      "version": "0.0.8",
+      "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz",
+      "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==",
+      "dev": true
+    },
+    "ansi-regex": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
+    },
+    "ansi-styles": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+      "requires": {
+        "color-convert": "^1.9.0"
+      }
+    },
+    "any-promise": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
+      "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
+      "dev": true
+    },
+    "anymatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+      "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+      "requires": {
+        "normalize-path": "^3.0.0",
+        "picomatch": "^2.0.4"
+      }
+    },
+    "aproba": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
+      "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
+      "dev": true
+    },
+    "archiver": {
+      "version": "5.3.1",
+      "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.1.tgz",
+      "integrity": "sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==",
+      "dev": true,
+      "requires": {
+        "archiver-utils": "^2.1.0",
+        "async": "^3.2.3",
+        "buffer-crc32": "^0.2.1",
+        "readable-stream": "^3.6.0",
+        "readdir-glob": "^1.0.0",
+        "tar-stream": "^2.2.0",
+        "zip-stream": "^4.1.0"
+      }
+    },
+    "archiver-utils": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz",
+      "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==",
+      "dev": true,
+      "requires": {
+        "glob": "^7.1.4",
+        "graceful-fs": "^4.2.0",
+        "lazystream": "^1.0.0",
+        "lodash.defaults": "^4.2.0",
+        "lodash.difference": "^4.5.0",
+        "lodash.flatten": "^4.4.0",
+        "lodash.isplainobject": "^4.0.6",
+        "lodash.union": "^4.6.0",
+        "normalize-path": "^3.0.0",
+        "readable-stream": "^2.0.0"
+      },
+      "dependencies": {
+        "readable-stream": {
+          "version": "2.3.7",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+          "dev": true,
+          "requires": {
+            "core-util-is": "~1.0.0",
+            "inherits": "~2.0.3",
+            "isarray": "~1.0.0",
+            "process-nextick-args": "~2.0.0",
+            "safe-buffer": "~5.1.1",
+            "string_decoder": "~1.1.1",
+            "util-deprecate": "~1.0.1"
+          }
+        },
+        "string_decoder": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+          "dev": true,
+          "requires": {
+            "safe-buffer": "~5.1.0"
+          }
+        }
+      }
+    },
+    "are-we-there-yet": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz",
+      "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==",
+      "dev": true,
+      "requires": {
+        "delegates": "^1.0.0",
+        "readable-stream": "^3.6.0"
+      }
+    },
+    "arg": {
+      "version": "5.0.2",
+      "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
+      "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
+      "dev": true
+    },
+    "argparse": {
+      "version": "1.0.10",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+      "dev": true,
+      "requires": {
+        "sprintf-js": "~1.0.2"
+      },
+      "dependencies": {
+        "sprintf-js": {
+          "version": "1.0.3",
+          "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+          "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+          "dev": true
+        }
+      }
+    },
+    "array-buffer-byte-length": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
+      "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.5",
+        "is-array-buffer": "^3.0.4"
+      }
+    },
+    "array-flatten": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
+      "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==",
+      "dev": true
+    },
+    "array-union": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+      "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+      "dev": true
+    },
+    "array-uniq": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+      "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
+      "dev": true
+    },
+    "arraybuffer.prototype.slice": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz",
+      "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==",
+      "dev": true,
+      "requires": {
+        "array-buffer-byte-length": "^1.0.1",
+        "call-bind": "^1.0.5",
+        "define-properties": "^1.2.1",
+        "es-abstract": "^1.22.3",
+        "es-errors": "^1.2.1",
+        "get-intrinsic": "^1.2.3",
+        "is-array-buffer": "^3.0.4",
+        "is-shared-array-buffer": "^1.0.2"
+      }
+    },
+    "arrify": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+      "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+      "dev": true
+    },
+    "asn1": {
+      "version": "0.2.6",
+      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
+      "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
+      "dev": true,
+      "requires": {
+        "safer-buffer": "~2.1.0"
+      }
+    },
+    "assert-plus": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+      "dev": true
+    },
+    "async": {
+      "version": "3.2.4",
+      "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
+      "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==",
+      "dev": true
+    },
+    "asynckit": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+      "dev": true
+    },
+    "autoprefixer": {
+      "version": "10.4.14",
+      "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz",
+      "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==",
+      "requires": {
+        "browserslist": "^4.21.5",
+        "caniuse-lite": "^1.0.30001464",
+        "fraction.js": "^4.2.0",
+        "normalize-range": "^0.1.2",
+        "picocolors": "^1.0.0",
+        "postcss-value-parser": "^4.2.0"
+      }
+    },
+    "available-typed-arrays": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
+      "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
+      "dev": true,
+      "requires": {
+        "possible-typed-array-names": "^1.0.0"
+      }
+    },
+    "aws-sign2": {
+      "version": "0.7.0",
+      "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+      "dev": true
+    },
+    "aws4": {
+      "version": "1.11.0",
+      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
+      "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
+      "dev": true
+    },
+    "axios": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz",
+      "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==",
+      "dev": true,
+      "requires": {
+        "follow-redirects": "^1.15.0",
+        "form-data": "^4.0.0",
+        "proxy-from-env": "^1.1.0"
+      },
+      "dependencies": {
+        "form-data": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+          "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+          "dev": true,
+          "requires": {
+            "asynckit": "^0.4.0",
+            "combined-stream": "^1.0.8",
+            "mime-types": "^2.1.12"
+          }
+        }
+      }
+    },
+    "babel-loader": {
+      "version": "9.1.2",
+      "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.2.tgz",
+      "integrity": "sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==",
+      "dev": true,
+      "requires": {
+        "find-cache-dir": "^3.3.2",
+        "schema-utils": "^4.0.0"
+      }
+    },
+    "babel-plugin-istanbul": {
+      "version": "6.1.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz",
+      "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.0.0",
+        "@istanbuljs/load-nyc-config": "^1.0.0",
+        "@istanbuljs/schema": "^0.1.2",
+        "istanbul-lib-instrument": "^5.0.4",
+        "test-exclude": "^6.0.0"
+      }
+    },
+    "babel-plugin-polyfill-corejs2": {
+      "version": "0.3.3",
+      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz",
+      "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==",
+      "dev": true,
+      "requires": {
+        "@babel/compat-data": "^7.17.7",
+        "@babel/helper-define-polyfill-provider": "^0.3.3",
+        "semver": "^6.1.1"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+          "dev": true
+        }
+      }
+    },
+    "babel-plugin-polyfill-corejs3": {
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz",
+      "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-define-polyfill-provider": "^0.3.3",
+        "core-js-compat": "^3.25.1"
+      }
+    },
+    "babel-plugin-polyfill-regenerator": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz",
+      "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-define-polyfill-provider": "^0.3.3"
+      }
+    },
+    "balanced-match": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+    },
+    "base64-js": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+      "dev": true
+    },
+    "base64id": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
+      "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
+    "batch": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
+      "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==",
+      "dev": true
+    },
+    "bcrypt-pbkdf": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+      "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+      "dev": true,
+      "requires": {
+        "tweetnacl": "^0.14.3"
+      }
+    },
+    "big.js": {
+      "version": "5.2.2",
+      "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
+      "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
+      "dev": true
+    },
+    "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": "4.1.0",
+      "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
+      "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
+      "dev": true,
+      "requires": {
+        "buffer": "^5.5.0",
+        "inherits": "^2.0.4",
+        "readable-stream": "^3.4.0"
+      }
+    },
+    "blocking-proxy": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz",
+      "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==",
+      "dev": true,
+      "requires": {
+        "minimist": "^1.2.0"
+      }
+    },
+    "body-parser": {
+      "version": "1.20.1",
+      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
+      "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
+      "dev": true,
+      "requires": {
+        "bytes": "3.1.2",
+        "content-type": "~1.0.4",
+        "debug": "2.6.9",
+        "depd": "2.0.0",
+        "destroy": "1.2.0",
+        "http-errors": "2.0.0",
+        "iconv-lite": "0.4.24",
+        "on-finished": "2.4.1",
+        "qs": "6.11.0",
+        "raw-body": "2.5.1",
+        "type-is": "~1.6.18",
+        "unpipe": "1.0.0"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+          "dev": true,
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "iconv-lite": {
+          "version": "0.4.24",
+          "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+          "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+          "dev": true,
+          "requires": {
+            "safer-buffer": ">= 2.1.2 < 3"
+          }
+        },
+        "ms": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+          "dev": true
+        },
+        "on-finished": {
+          "version": "2.4.1",
+          "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+          "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+          "dev": true,
+          "requires": {
+            "ee-first": "1.1.1"
+          }
+        }
+      }
+    },
+    "bonjour-service": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz",
+      "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==",
+      "dev": true,
+      "requires": {
+        "array-flatten": "^2.1.2",
+        "dns-equal": "^1.0.0",
+        "fast-deep-equal": "^3.1.3",
+        "multicast-dns": "^7.2.5"
+      }
+    },
+    "boolbase": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+      "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
+      "dev": true
+    },
+    "brace-expansion": {
+      "version": "1.1.11",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+      "dev": true,
+      "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"
+      }
+    },
+    "browserslist": {
+      "version": "4.21.5",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz",
+      "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==",
+      "requires": {
+        "caniuse-lite": "^1.0.30001449",
+        "electron-to-chromium": "^1.4.284",
+        "node-releases": "^2.0.8",
+        "update-browserslist-db": "^1.0.10"
+      }
+    },
+    "browserstack": {
+      "version": "1.6.1",
+      "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.6.1.tgz",
+      "integrity": "sha512-GxtFjpIaKdbAyzHfFDKixKO8IBT7wR3NjbzrGc78nNs/Ciys9wU3/nBtsqsWv5nDSrdI5tz0peKuzCPuNXNUiw==",
+      "dev": true,
+      "requires": {
+        "https-proxy-agent": "^2.2.1"
+      },
+      "dependencies": {
+        "agent-base": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
+          "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
+          "dev": true,
+          "requires": {
+            "es6-promisify": "^5.0.0"
+          }
+        },
+        "debug": {
+          "version": "3.2.7",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+          "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+          "dev": true,
+          "requires": {
+            "ms": "^2.1.1"
+          }
+        },
+        "https-proxy-agent": {
+          "version": "2.2.4",
+          "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz",
+          "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==",
+          "dev": true,
+          "requires": {
+            "agent-base": "^4.3.0",
+            "debug": "^3.1.0"
+          }
+        }
+      }
+    },
+    "buffer": {
+      "version": "5.7.1",
+      "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+      "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+      "dev": true,
+      "requires": {
+        "base64-js": "^1.3.1",
+        "ieee754": "^1.1.13"
+      }
+    },
+    "buffer-crc32": {
+      "version": "0.2.13",
+      "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+      "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
+      "dev": true
+    },
+    "buffer-from": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+      "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+      "dev": true
+    },
+    "builtin-modules": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
+      "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
+      "dev": true
+    },
+    "builtins": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz",
+      "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==",
+      "dev": true,
+      "requires": {
+        "semver": "^7.0.0"
+      }
+    },
+    "bytes": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+      "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+      "dev": true
+    },
+    "cacache": {
+      "version": "17.0.6",
+      "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.6.tgz",
+      "integrity": "sha512-ixcYmEBExFa/+ajIPjcwypxL97CjJyOsH9A/W+4qgEPIpJvKlC+HmVY8nkIck6n3PwUTdgq9c489niJGwl+5Cw==",
+      "dev": true,
+      "requires": {
+        "@npmcli/fs": "^3.1.0",
+        "fs-minipass": "^3.0.0",
+        "glob": "^10.2.2",
+        "lru-cache": "^7.7.1",
+        "minipass": "^5.0.0",
+        "minipass-collect": "^1.0.2",
+        "minipass-flush": "^1.0.5",
+        "minipass-pipeline": "^1.2.4",
+        "p-map": "^4.0.0",
+        "promise-inflight": "^1.0.1",
+        "ssri": "^10.0.0",
+        "tar": "^6.1.11",
+        "unique-filename": "^3.0.0"
+      },
+      "dependencies": {
+        "brace-expansion": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+          "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+          "dev": true,
+          "requires": {
+            "balanced-match": "^1.0.0"
+          }
+        },
+        "glob": {
+          "version": "10.2.4",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.4.tgz",
+          "integrity": "sha512-fDboBse/sl1oXSLhIp0FcCJgzW9KmhC/q8ULTKC82zc+DL3TL7FNb8qlt5qqXN53MsKEUSIcb+7DLmEygOE5Yw==",
+          "dev": true,
+          "requires": {
+            "foreground-child": "^3.1.0",
+            "jackspeak": "^2.0.3",
+            "minimatch": "^9.0.0",
+            "minipass": "^5.0.0 || ^6.0.0",
+            "path-scurry": "^1.7.0"
+          }
+        },
+        "lru-cache": {
+          "version": "7.18.3",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+          "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+          "dev": true
+        },
+        "minimatch": {
+          "version": "9.0.0",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz",
+          "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "^2.0.1"
+          }
+        }
+      }
+    },
+    "call-bind": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
+      "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
+      "dev": true,
+      "requires": {
+        "es-define-property": "^1.0.0",
+        "es-errors": "^1.3.0",
+        "function-bind": "^1.1.2",
+        "get-intrinsic": "^1.2.4",
+        "set-function-length": "^1.2.1"
+      }
+    },
+    "callsites": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+      "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+      "dev": true
+    },
+    "camelcase": {
+      "version": "5.3.1",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+      "dev": true
+    },
+    "camelcase-css": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
+      "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
+      "dev": true
+    },
+    "caniuse-lite": {
+      "version": "1.0.30001487",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001487.tgz",
+      "integrity": "sha512-83564Z3yWGqXsh2vaH/mhXfEM0wX+NlBCm1jYHOb97TrTWJEmPTccZgeLTPBUUb0PNVo+oomb7wkimZBIERClA=="
+    },
+    "caseless": {
+      "version": "0.12.0",
+      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+      "dev": true
+    },
+    "chalk": {
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+      "requires": {
+        "ansi-styles": "^3.2.1",
+        "escape-string-regexp": "^1.0.5",
+        "supports-color": "^5.3.0"
+      }
+    },
+    "chardet": {
+      "version": "0.7.0",
+      "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
+      "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
+      "dev": true
+    },
+    "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"
+      }
+    },
+    "chownr": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+      "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+      "dev": true
+    },
+    "chrome-trace-event": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
+      "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
+      "dev": true
+    },
+    "clean-stack": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
+      "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
+      "dev": true
+    },
+    "clean-webpack-plugin": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-4.0.0.tgz",
+      "integrity": "sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==",
+      "dev": true,
+      "requires": {
+        "del": "^4.1.1"
+      },
+      "dependencies": {
+        "array-union": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+          "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==",
+          "dev": true,
+          "requires": {
+            "array-uniq": "^1.0.1"
+          }
+        },
+        "del": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz",
+          "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==",
+          "dev": true,
+          "requires": {
+            "@types/glob": "^7.1.1",
+            "globby": "^6.1.0",
+            "is-path-cwd": "^2.0.0",
+            "is-path-in-cwd": "^2.0.0",
+            "p-map": "^2.0.0",
+            "pify": "^4.0.1",
+            "rimraf": "^2.6.3"
+          },
+          "dependencies": {
+            "pify": {
+              "version": "4.0.1",
+              "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+              "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+              "dev": true
+            }
+          }
+        },
+        "globby": {
+          "version": "6.1.0",
+          "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
+          "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==",
+          "dev": true,
+          "requires": {
+            "array-union": "^1.0.1",
+            "glob": "^7.0.3",
+            "object-assign": "^4.0.1",
+            "pify": "^2.0.0",
+            "pinkie-promise": "^2.0.0"
+          }
+        },
+        "is-path-cwd": {
+          "version": "2.2.0",
+          "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
+          "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==",
+          "dev": true
+        },
+        "is-path-in-cwd": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz",
+          "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==",
+          "dev": true,
+          "requires": {
+            "is-path-inside": "^2.1.0"
+          }
+        },
+        "is-path-inside": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz",
+          "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==",
+          "dev": true,
+          "requires": {
+            "path-is-inside": "^1.0.2"
+          }
+        },
+        "p-map": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
+          "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
+          "dev": true
+        },
+        "rimraf": {
+          "version": "2.7.1",
+          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+          "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+          "dev": true,
+          "requires": {
+            "glob": "^7.1.3"
+          }
+        }
+      }
+    },
+    "cli-cursor": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
+      "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
+      "dev": true,
+      "requires": {
+        "restore-cursor": "^3.1.0"
+      }
+    },
+    "cli-spinners": {
+      "version": "2.6.1",
+      "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz",
+      "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==",
+      "dev": true
+    },
+    "cli-width": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
+      "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
+      "dev": true
+    },
+    "clipboard": {
+      "version": "2.0.11",
+      "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.11.tgz",
+      "integrity": "sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==",
+      "optional": true,
+      "requires": {
+        "good-listener": "^1.2.2",
+        "select": "^1.1.2",
+        "tiny-emitter": "^2.0.0"
+      }
+    },
+    "cliui": {
+      "version": "7.0.4",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+      "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+      "dev": true,
+      "requires": {
+        "string-width": "^4.2.0",
+        "strip-ansi": "^6.0.0",
+        "wrap-ansi": "^7.0.0"
+      }
+    },
+    "clone": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+      "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
+      "dev": true
+    },
+    "clone-deep": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
+      "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
+      "dev": true,
+      "requires": {
+        "is-plain-object": "^2.0.4",
+        "kind-of": "^6.0.2",
+        "shallow-clone": "^3.0.0"
+      }
+    },
+    "color-convert": {
+      "version": "1.9.3",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+      "requires": {
+        "color-name": "1.1.3"
+      }
+    },
+    "color-name": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+    },
+    "color-support": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+      "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
+      "dev": true
+    },
+    "colorette": {
+      "version": "2.0.20",
+      "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
+      "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
+      "dev": true
+    },
+    "colors": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
+      "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
+      "dev": true
+    },
+    "combined-stream": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+      "dev": true,
+      "requires": {
+        "delayed-stream": "~1.0.0"
+      }
+    },
+    "commander": {
+      "version": "2.20.3",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
+    },
+    "commondir": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+      "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
+      "dev": true
+    },
+    "compress-commons": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz",
+      "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==",
+      "dev": true,
+      "requires": {
+        "buffer-crc32": "^0.2.13",
+        "crc32-stream": "^4.0.2",
+        "normalize-path": "^3.0.0",
+        "readable-stream": "^3.6.0"
+      }
+    },
+    "compressible": {
+      "version": "2.0.18",
+      "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
+      "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
+      "dev": true,
+      "requires": {
+        "mime-db": ">= 1.43.0 < 2"
+      }
+    },
+    "compression": {
+      "version": "1.7.4",
+      "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
+      "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
+      "dev": true,
+      "requires": {
+        "accepts": "~1.3.5",
+        "bytes": "3.0.0",
+        "compressible": "~2.0.16",
+        "debug": "2.6.9",
+        "on-headers": "~1.0.2",
+        "safe-buffer": "5.1.2",
+        "vary": "~1.1.2"
+      },
+      "dependencies": {
+        "bytes": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+          "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==",
+          "dev": true
+        },
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+          "dev": true,
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "ms": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+          "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+          "dev": true
+        }
+      }
+    },
+    "concat-map": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+      "dev": true
+    },
+    "connect": {
+      "version": "3.7.0",
+      "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
+      "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "requires": {
+        "debug": "2.6.9",
+        "finalhandler": "1.1.2",
+        "parseurl": "~1.3.3",
+        "utils-merge": "1.0.1"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+          "dev": true,
+          "optional": true,
+          "peer": true,
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "ms": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+          "dev": true,
+          "optional": true,
+          "peer": true
+        }
+      }
+    },
+    "connect-history-api-fallback": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz",
+      "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==",
+      "dev": true
+    },
+    "console-control-strings": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+      "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
+      "dev": true
+    },
+    "content-disposition": {
+      "version": "0.5.4",
+      "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
+      "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
+      "dev": true,
+      "requires": {
+        "safe-buffer": "5.2.1"
+      },
+      "dependencies": {
+        "safe-buffer": {
+          "version": "5.2.1",
+          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+          "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+          "dev": true
+        }
+      }
+    },
+    "content-type": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+      "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
+      "dev": true
+    },
+    "convert-source-map": {
+      "version": "1.8.0",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
+      "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
+      "requires": {
+        "safe-buffer": "~5.1.1"
+      }
+    },
+    "cookie": {
+      "version": "0.4.2",
+      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
+      "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
+    "cookie-signature": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+      "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==",
+      "dev": true
+    },
+    "copy-anything": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz",
+      "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==",
+      "dev": true,
+      "requires": {
+        "is-what": "^3.14.1"
+      }
+    },
+    "copy-webpack-plugin": {
+      "version": "11.0.0",
+      "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz",
+      "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==",
+      "dev": true,
+      "requires": {
+        "fast-glob": "^3.2.11",
+        "glob-parent": "^6.0.1",
+        "globby": "^13.1.1",
+        "normalize-path": "^3.0.0",
+        "schema-utils": "^4.0.0",
+        "serialize-javascript": "^6.0.0"
+      },
+      "dependencies": {
+        "glob-parent": {
+          "version": "6.0.2",
+          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+          "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+          "dev": true,
+          "requires": {
+            "is-glob": "^4.0.3"
+          }
+        }
+      }
+    },
+    "core-js-compat": {
+      "version": "3.30.2",
+      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.2.tgz",
+      "integrity": "sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA==",
+      "dev": true,
+      "requires": {
+        "browserslist": "^4.21.5"
+      }
+    },
+    "core-util-is": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+      "dev": true
+    },
+    "cors": {
+      "version": "2.8.5",
+      "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
+      "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "requires": {
+        "object-assign": "^4",
+        "vary": "^1"
+      }
+    },
+    "cose-base": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-1.0.3.tgz",
+      "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==",
+      "optional": true,
+      "requires": {
+        "layout-base": "^1.0.0"
+      }
+    },
+    "cosmiconfig": {
+      "version": "8.1.3",
+      "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz",
+      "integrity": "sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==",
+      "dev": true,
+      "requires": {
+        "import-fresh": "^3.2.1",
+        "js-yaml": "^4.1.0",
+        "parse-json": "^5.0.0",
+        "path-type": "^4.0.0"
+      },
+      "dependencies": {
+        "argparse": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+          "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+          "dev": true
+        },
+        "js-yaml": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+          "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+          "dev": true,
+          "requires": {
+            "argparse": "^2.0.1"
+          }
+        }
+      }
+    },
+    "cosmiconfig-typescript-loader": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz",
+      "integrity": "sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==",
+      "dev": true,
+      "requires": {}
+    },
+    "crc-32": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz",
+      "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==",
+      "dev": true
+    },
+    "crc32-stream": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz",
+      "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==",
+      "dev": true,
+      "requires": {
+        "crc-32": "^1.2.0",
+        "readable-stream": "^3.4.0"
+      }
+    },
+    "create-require": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
+      "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
+      "dev": true
+    },
+    "critters": {
+      "version": "0.0.16",
+      "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz",
+      "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==",
+      "dev": true,
+      "requires": {
+        "chalk": "^4.1.0",
+        "css-select": "^4.2.0",
+        "parse5": "^6.0.1",
+        "parse5-htmlparser2-tree-adapter": "^6.0.1",
+        "postcss": "^8.3.7",
+        "pretty-bytes": "^5.3.0"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+          "dev": true,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "chalk": {
+          "version": "4.1.2",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+          "dev": true
+        },
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+          "dev": true
+        },
+        "parse5": {
+          "version": "6.0.1",
+          "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+          "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+          "dev": true
+        },
+        "supports-color": {
+          "version": "7.2.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+          "dev": true,
+          "requires": {
+            "has-flag": "^4.0.0"
+          }
+        }
+      }
+    },
+    "cross-env": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz",
+      "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==",
+      "dev": true,
+      "requires": {
+        "cross-spawn": "^7.0.1"
+      }
+    },
+    "cross-spawn": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+      "dev": true,
+      "requires": {
+        "path-key": "^3.1.0",
+        "shebang-command": "^2.0.0",
+        "which": "^2.0.1"
+      },
+      "dependencies": {
+        "which": {
+          "version": "2.0.2",
+          "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+          "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+          "dev": true,
+          "requires": {
+            "isexe": "^2.0.0"
+          }
+        }
+      }
+    },
+    "css-loader": {
+      "version": "6.7.3",
+      "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz",
+      "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==",
+      "dev": true,
+      "requires": {
+        "icss-utils": "^5.1.0",
+        "postcss": "^8.4.19",
+        "postcss-modules-extract-imports": "^3.0.0",
+        "postcss-modules-local-by-default": "^4.0.0",
+        "postcss-modules-scope": "^3.0.0",
+        "postcss-modules-values": "^4.0.0",
+        "postcss-value-parser": "^4.2.0",
+        "semver": "^7.3.8"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "7.5.1",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz",
+          "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==",
+          "dev": true,
+          "requires": {
+            "lru-cache": "^6.0.0"
+          }
+        }
+      }
+    },
+    "css-select": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz",
+      "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==",
+      "dev": true,
+      "requires": {
+        "boolbase": "^1.0.0",
+        "css-what": "^6.0.1",
+        "domhandler": "^4.3.1",
+        "domutils": "^2.8.0",
+        "nth-check": "^2.0.1"
+      }
+    },
+    "css-what": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
+      "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
+      "dev": true
+    },
+    "cssesc": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+      "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+      "dev": true
+    },
+    "cuint": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz",
+      "integrity": "sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==",
+      "dev": true
+    },
+    "custom-event": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
+      "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
+    "cytoscape": {
+      "version": "3.25.0",
+      "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.25.0.tgz",
+      "integrity": "sha512-7MW3Iz57mCUo6JQCho6CmPBCbTlJr7LzyEtIkutG255HLVd4XuBg2I9BkTZLI/e4HoaOB/BiAzXuQybQ95+r9Q==",
+      "optional": true,
+      "requires": {
+        "heap": "^0.2.6",
+        "lodash": "^4.17.21"
+      }
+    },
+    "cytoscape-cose-bilkent": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz",
+      "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==",
+      "optional": true,
+      "requires": {
+        "cose-base": "^1.0.0"
+      }
+    },
+    "cytoscape-fcose": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz",
+      "integrity": "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==",
+      "optional": true,
+      "requires": {
+        "cose-base": "^2.2.0"
+      },
+      "dependencies": {
+        "cose-base": {
+          "version": "2.2.0",
+          "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-2.2.0.tgz",
+          "integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==",
+          "optional": true,
+          "requires": {
+            "layout-base": "^2.0.0"
+          }
+        },
+        "layout-base": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-2.0.1.tgz",
+          "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==",
+          "optional": true
+        }
+      }
+    },
+    "d3": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/d3/-/d3-7.8.4.tgz",
+      "integrity": "sha512-q2WHStdhiBtD8DMmhDPyJmXUxr6VWRngKyiJ5EfXMxPw+tqT6BhNjhJZ4w3BHsNm3QoVfZLY8Orq/qPFczwKRA==",
+      "requires": {
+        "d3-array": "3",
+        "d3-axis": "3",
+        "d3-brush": "3",
+        "d3-chord": "3",
+        "d3-color": "3",
+        "d3-contour": "4",
+        "d3-delaunay": "6",
+        "d3-dispatch": "3",
+        "d3-drag": "3",
+        "d3-dsv": "3",
+        "d3-ease": "3",
+        "d3-fetch": "3",
+        "d3-force": "3",
+        "d3-format": "3",
+        "d3-geo": "3",
+        "d3-hierarchy": "3",
+        "d3-interpolate": "3",
+        "d3-path": "3",
+        "d3-polygon": "3",
+        "d3-quadtree": "3",
+        "d3-random": "3",
+        "d3-scale": "4",
+        "d3-scale-chromatic": "3",
+        "d3-selection": "3",
+        "d3-shape": "3",
+        "d3-time": "3",
+        "d3-time-format": "4",
+        "d3-timer": "3",
+        "d3-transition": "3",
+        "d3-zoom": "3"
+      }
+    },
+    "d3-array": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.0.tgz",
+      "integrity": "sha512-3yXFQo0oG3QCxbF06rMPFyGRMGJNS7NvsV1+2joOjbBE+9xvWQ8+GcMJAjRCzw06zQ3/arXeJgbPYcjUCuC+3g==",
+      "requires": {
+        "internmap": "1 - 2"
+      }
+    },
+    "d3-axis": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz",
+      "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw=="
+    },
+    "d3-brush": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz",
+      "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==",
+      "requires": {
+        "d3-dispatch": "1 - 3",
+        "d3-drag": "2 - 3",
+        "d3-interpolate": "1 - 3",
+        "d3-selection": "3",
+        "d3-transition": "3"
+      }
+    },
+    "d3-chord": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz",
+      "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==",
+      "requires": {
+        "d3-path": "1 - 3"
+      }
+    },
+    "d3-color": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
+      "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA=="
+    },
+    "d3-contour": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.0.tgz",
+      "integrity": "sha512-7aQo0QHUTu/Ko3cP9YK9yUTxtoDEiDGwnBHyLxG5M4vqlBkO/uixMRele3nfsfj6UXOcuReVpVXzAboGraYIJw==",
+      "requires": {
+        "d3-array": "^3.2.0"
+      }
+    },
+    "d3-delaunay": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.2.tgz",
+      "integrity": "sha512-IMLNldruDQScrcfT+MWnazhHbDJhcRJyOEBAJfwQnHle1RPh6WDuLvxNArUju2VSMSUuKlY5BGHRJ2cYyoFLQQ==",
+      "requires": {
+        "delaunator": "5"
+      }
+    },
+    "d3-dispatch": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz",
+      "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg=="
+    },
+    "d3-drag": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz",
+      "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==",
+      "requires": {
+        "d3-dispatch": "1 - 3",
+        "d3-selection": "3"
+      }
+    },
+    "d3-dsv": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz",
+      "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==",
+      "requires": {
+        "commander": "7",
+        "iconv-lite": "0.6",
+        "rw": "1"
+      },
+      "dependencies": {
+        "commander": {
+          "version": "7.2.0",
+          "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
+          "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw=="
+        }
+      }
+    },
+    "d3-ease": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz",
+      "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w=="
+    },
+    "d3-fetch": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz",
+      "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==",
+      "requires": {
+        "d3-dsv": "1 - 3"
+      }
+    },
+    "d3-force": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz",
+      "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==",
+      "requires": {
+        "d3-dispatch": "1 - 3",
+        "d3-quadtree": "1 - 3",
+        "d3-timer": "1 - 3"
+      }
+    },
+    "d3-format": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz",
+      "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA=="
+    },
+    "d3-geo": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.0.1.tgz",
+      "integrity": "sha512-Wt23xBych5tSy9IYAM1FR2rWIBFWa52B/oF/GYe5zbdHrg08FU8+BuI6X4PvTwPDdqdAdq04fuWJpELtsaEjeA==",
+      "requires": {
+        "d3-array": "2.5.0 - 3"
+      }
+    },
+    "d3-hierarchy": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.1.tgz",
+      "integrity": "sha512-LtAIu54UctRmhGKllleflmHalttH3zkfSi4NlKrTAoFKjC+AFBJohsCAdgCBYQwH0F8hIOGY89X1pPqAchlMkA=="
+    },
+    "d3-interpolate": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
+      "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
+      "requires": {
+        "d3-color": "1 - 3"
+      }
+    },
+    "d3-path": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.0.1.tgz",
+      "integrity": "sha512-gq6gZom9AFZby0YLduxT1qmrp4xpBA1YZr19OI717WIdKE2OM5ETq5qrHLb301IgxhLwcuxvGZVLeeWc/k1I6w=="
+    },
+    "d3-polygon": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz",
+      "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg=="
+    },
+    "d3-quadtree": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz",
+      "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw=="
+    },
+    "d3-random": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz",
+      "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ=="
+    },
+    "d3-scale": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz",
+      "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==",
+      "requires": {
+        "d3-array": "2.10.0 - 3",
+        "d3-format": "1 - 3",
+        "d3-interpolate": "1.2.0 - 3",
+        "d3-time": "2.1.1 - 3",
+        "d3-time-format": "2 - 4"
+      }
+    },
+    "d3-scale-chromatic": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz",
+      "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==",
+      "requires": {
+        "d3-color": "1 - 3",
+        "d3-interpolate": "1 - 3"
+      }
+    },
+    "d3-selection": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz",
+      "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ=="
+    },
+    "d3-shape": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.1.0.tgz",
+      "integrity": "sha512-tGDh1Muf8kWjEDT/LswZJ8WF85yDZLvVJpYU9Nq+8+yW1Z5enxrmXOhTArlkaElU+CTn0OTVNli+/i+HP45QEQ==",
+      "requires": {
+        "d3-path": "1 - 3"
+      }
+    },
+    "d3-time": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.0.0.tgz",
+      "integrity": "sha512-zmV3lRnlaLI08y9IMRXSDshQb5Nj77smnfpnd2LrBa/2K281Jijactokeak14QacHs/kKq0AQ121nidNYlarbQ==",
+      "requires": {
+        "d3-array": "2 - 3"
+      }
+    },
+    "d3-time-format": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz",
+      "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==",
+      "requires": {
+        "d3-time": "1 - 3"
+      }
+    },
+    "d3-timer": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz",
+      "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA=="
+    },
+    "d3-transition": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz",
+      "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==",
+      "requires": {
+        "d3-color": "1 - 3",
+        "d3-dispatch": "1 - 3",
+        "d3-ease": "1 - 3",
+        "d3-interpolate": "1 - 3",
+        "d3-timer": "1 - 3"
+      }
+    },
+    "d3-zoom": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz",
+      "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==",
+      "requires": {
+        "d3-dispatch": "1 - 3",
+        "d3-drag": "2 - 3",
+        "d3-interpolate": "1 - 3",
+        "d3-selection": "2 - 3",
+        "d3-transition": "2 - 3"
+      }
+    },
+    "dagre-d3-es": {
+      "version": "7.0.9",
+      "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.9.tgz",
+      "integrity": "sha512-rYR4QfVmy+sR44IBDvVtcAmOReGBvRCWDpO2QjYwqgh9yijw6eSHBqaPG/LIOEy7aBsniLvtMW6pg19qJhq60w==",
+      "optional": true,
+      "requires": {
+        "d3": "^7.8.2",
+        "lodash-es": "^4.17.21"
+      }
+    },
+    "dashdash": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+      "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+      "dev": true,
+      "requires": {
+        "assert-plus": "^1.0.0"
+      }
+    },
+    "data-urls": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz",
+      "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==",
+      "requires": {
+        "whatwg-mimetype": "^4.0.0",
+        "whatwg-url": "^14.0.0"
+      }
+    },
+    "date-fns": {
+      "version": "2.30.0",
+      "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz",
+      "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==",
+      "requires": {
+        "@babel/runtime": "^7.21.0"
+      }
+    },
+    "date-format": {
+      "version": "4.0.11",
+      "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.11.tgz",
+      "integrity": "sha512-VS20KRyorrbMCQmpdl2hg5KaOUsda1RbnsJg461FfrcyCUg+pkd0b40BSW4niQyTheww4DBXQnS7HwSrKkipLw==",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
+    "dayjs": {
+      "version": "1.11.7",
+      "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz",
+      "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==",
+      "optional": true
+    },
+    "debug": {
+      "version": "4.3.4",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+      "requires": {
+        "ms": "2.1.2"
+      }
+    },
+    "decamelize": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+      "dev": true
+    },
+    "deep-equal": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.1.tgz",
+      "integrity": "sha512-lKdkdV6EOGoVn65XaOsPdH4rMxTZOnmFyuIkMjM1i5HHCbfjC97dawgTAy0deYNfuqUqW+Q5VrVaQYtUpSd6yQ==",
+      "dev": true,
+      "requires": {
+        "array-buffer-byte-length": "^1.0.0",
+        "call-bind": "^1.0.2",
+        "es-get-iterator": "^1.1.3",
+        "get-intrinsic": "^1.2.0",
+        "is-arguments": "^1.1.1",
+        "is-array-buffer": "^3.0.2",
+        "is-date-object": "^1.0.5",
+        "is-regex": "^1.1.4",
+        "is-shared-array-buffer": "^1.0.2",
+        "isarray": "^2.0.5",
+        "object-is": "^1.1.5",
+        "object-keys": "^1.1.1",
+        "object.assign": "^4.1.4",
+        "regexp.prototype.flags": "^1.5.0",
+        "side-channel": "^1.0.4",
+        "which-boxed-primitive": "^1.0.2",
+        "which-collection": "^1.0.1",
+        "which-typed-array": "^1.1.9"
+      },
+      "dependencies": {
+        "isarray": {
+          "version": "2.0.5",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+          "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
+          "dev": true
+        }
+      }
+    },
+    "deep-is": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+      "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
+      "dev": true
+    },
+    "deepmerge": {
+      "version": "4.3.1",
+      "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
+      "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
+      "dev": true
+    },
+    "default-gateway": {
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz",
+      "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==",
+      "dev": true,
+      "requires": {
+        "execa": "^5.0.0"
+      }
+    },
+    "defaults": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
+      "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
+      "dev": true,
+      "requires": {
+        "clone": "^1.0.2"
+      }
+    },
+    "define-data-property": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+      "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
+      "dev": true,
+      "requires": {
+        "es-define-property": "^1.0.0",
+        "es-errors": "^1.3.0",
+        "gopd": "^1.0.1"
+      }
+    },
+    "define-lazy-prop": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
+      "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
+      "dev": true
+    },
+    "define-properties": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
+      "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
+      "dev": true,
+      "requires": {
+        "define-data-property": "^1.0.1",
+        "has-property-descriptors": "^1.0.0",
+        "object-keys": "^1.1.1"
+      }
+    },
+    "del": {
+      "version": "2.2.2",
+      "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
+      "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
+      "dev": true,
+      "requires": {
+        "globby": "^5.0.0",
+        "is-path-cwd": "^1.0.0",
+        "is-path-in-cwd": "^1.0.0",
+        "object-assign": "^4.0.1",
+        "pify": "^2.0.0",
+        "pinkie-promise": "^2.0.0",
+        "rimraf": "^2.2.8"
+      },
+      "dependencies": {
+        "array-union": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+          "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+          "dev": true,
+          "requires": {
+            "array-uniq": "^1.0.1"
+          }
+        },
+        "globby": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
+          "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
+          "dev": true,
+          "requires": {
+            "array-union": "^1.0.1",
+            "arrify": "^1.0.0",
+            "glob": "^7.0.3",
+            "object-assign": "^4.0.1",
+            "pify": "^2.0.0",
+            "pinkie-promise": "^2.0.0"
+          }
+        },
+        "rimraf": {
+          "version": "2.7.1",
+          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+          "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+          "dev": true,
+          "requires": {
+            "glob": "^7.1.3"
+          }
+        }
+      }
+    },
+    "delaunator": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz",
+      "integrity": "sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==",
+      "requires": {
+        "robust-predicates": "^3.0.0"
+      }
+    },
+    "delayed-stream": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+      "dev": true
+    },
+    "delegate": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz",
+      "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==",
+      "optional": true
+    },
+    "delegates": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+      "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
+      "dev": true
+    },
+    "depd": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+      "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+      "dev": true
+    },
+    "dependency-graph": {
+      "version": "0.11.0",
+      "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz",
+      "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==",
+      "dev": true
+    },
+    "destroy": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+      "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
+      "dev": true
+    },
+    "detect-node": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
+      "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
+      "dev": true
+    },
+    "di": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
+      "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
+    "didyoumean": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
+      "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
+      "dev": true
+    },
+    "diff": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
+      "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
+      "dev": true
+    },
+    "dir-glob": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+      "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+      "dev": true,
+      "requires": {
+        "path-type": "^4.0.0"
+      }
+    },
+    "dlv": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
+      "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
+      "dev": true
+    },
+    "dns-equal": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
+      "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==",
+      "dev": true
+    },
+    "dns-packet": {
+      "version": "5.6.0",
+      "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz",
+      "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==",
+      "dev": true,
+      "requires": {
+        "@leichtgewicht/ip-codec": "^2.0.1"
+      }
+    },
+    "doctrine": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+      "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+      "dev": true,
+      "requires": {
+        "esutils": "^2.0.2"
+      }
+    },
+    "dom-serialize": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
+      "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "requires": {
+        "custom-event": "~1.0.0",
+        "ent": "~2.2.0",
+        "extend": "^3.0.0",
+        "void-elements": "^2.0.0"
+      }
+    },
+    "dom-serializer": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
+      "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
+      "dev": true,
+      "requires": {
+        "domelementtype": "^2.0.1",
+        "domhandler": "^4.2.0",
+        "entities": "^2.0.0"
+      }
+    },
+    "domelementtype": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
+      "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
+      "dev": true
+    },
+    "domhandler": {
+      "version": "4.3.1",
+      "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
+      "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
+      "dev": true,
+      "requires": {
+        "domelementtype": "^2.2.0"
+      }
+    },
+    "dompurify": {
+      "version": "2.4.3",
+      "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.3.tgz",
+      "integrity": "sha512-q6QaLcakcRjebxjg8/+NP+h0rPfatOgOzc46Fst9VAA3jF2ApfKBNKMzdP4DYTqtUMXSCd5pRS/8Po/OmoCHZQ==",
+      "optional": true
+    },
+    "domutils": {
+      "version": "2.8.0",
+      "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
+      "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
+      "dev": true,
+      "requires": {
+        "dom-serializer": "^1.0.1",
+        "domelementtype": "^2.2.0",
+        "domhandler": "^4.2.0"
+      }
+    },
+    "dotenv": {
+      "version": "10.0.0",
+      "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz",
+      "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==",
+      "dev": true
+    },
+    "duplexer": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
+      "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
+      "dev": true
+    },
+    "eastasianwidth": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+      "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
+      "dev": true
+    },
+    "ecc-jsbn": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+      "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+      "dev": true,
+      "requires": {
+        "jsbn": "~0.1.0",
+        "safer-buffer": "^2.1.0"
+      }
+    },
+    "ee-first": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
+      "dev": true
+    },
+    "ejs": {
+      "version": "3.1.9",
+      "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz",
+      "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==",
+      "dev": true,
+      "requires": {
+        "jake": "^10.8.5"
+      }
+    },
+    "electron-to-chromium": {
+      "version": "1.4.396",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.396.tgz",
+      "integrity": "sha512-pqKTdqp/c5vsrc0xUPYXTDBo9ixZuGY8es4ZOjjd6HD6bFYbu5QA09VoW3fkY4LF1T0zYk86lN6bZnNlBuOpdQ=="
+    },
+    "elkjs": {
+      "version": "0.8.2",
+      "resolved": "https://registry.npmjs.org/elkjs/-/elkjs-0.8.2.tgz",
+      "integrity": "sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==",
+      "optional": true
+    },
+    "emoji-regex": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+    },
+    "emoji-toolkit": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/emoji-toolkit/-/emoji-toolkit-7.0.1.tgz",
+      "integrity": "sha512-l5aJyAhpC5s4mDuoVuqt4SzVjwIsIvakPh4ZGJJE4KWuWFCEHaXacQFkStVdD9zbRR+/BbRXob7u99o0lQFr8A=="
+    },
+    "emojis-list": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
+      "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
+      "dev": true
+    },
+    "encodeurl": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+      "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
+      "dev": true
+    },
+    "encoding": {
+      "version": "0.1.13",
+      "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
+      "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "iconv-lite": "^0.6.2"
+      }
+    },
+    "end-of-stream": {
+      "version": "1.4.4",
+      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+      "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+      "dev": true,
+      "requires": {
+        "once": "^1.4.0"
+      }
+    },
+    "engine.io": {
+      "version": "6.4.2",
+      "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.4.2.tgz",
+      "integrity": "sha512-FKn/3oMiJjrOEOeUub2WCox6JhxBXq/Zn3fZOMCBxKnNYtsdKjxhl7yR3fZhM9PV+rdE75SU5SYMc+2PGzo+Tg==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "requires": {
+        "@types/cookie": "^0.4.1",
+        "@types/cors": "^2.8.12",
+        "@types/node": ">=10.0.0",
+        "accepts": "~1.3.4",
+        "base64id": "2.0.0",
+        "cookie": "~0.4.1",
+        "cors": "~2.8.5",
+        "debug": "~4.3.1",
+        "engine.io-parser": "~5.0.3",
+        "ws": "~8.11.0"
+      }
+    },
+    "engine.io-parser": {
+      "version": "5.0.6",
+      "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz",
+      "integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
+    "enhanced-resolve": {
+      "version": "5.14.0",
+      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.14.0.tgz",
+      "integrity": "sha512-+DCows0XNwLDcUhbFJPdlQEVnT2zXlCv7hPxemTz86/O+B/hCQ+mb7ydkPKiflpVraqLPCAfu7lDy+hBXueojw==",
+      "dev": true,
+      "requires": {
+        "graceful-fs": "^4.2.4",
+        "tapable": "^2.2.0"
+      }
+    },
+    "enquirer": {
+      "version": "2.3.6",
+      "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
+      "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
+      "dev": true,
+      "requires": {
+        "ansi-colors": "^4.1.1"
+      }
+    },
+    "ent": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
+      "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
+    "entities": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+      "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
+      "dev": true
+    },
+    "env-paths": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
+      "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
+      "dev": true
+    },
+    "err-code": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
+      "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
+      "dev": true
+    },
+    "errno": {
+      "version": "0.1.8",
+      "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
+      "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "prr": "~1.0.1"
+      }
+    },
+    "error-ex": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+      "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+      "dev": true,
+      "requires": {
+        "is-arrayish": "^0.2.1"
+      }
+    },
+    "es-abstract": {
+      "version": "1.22.5",
+      "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.5.tgz",
+      "integrity": "sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w==",
+      "dev": true,
+      "requires": {
+        "array-buffer-byte-length": "^1.0.1",
+        "arraybuffer.prototype.slice": "^1.0.3",
+        "available-typed-arrays": "^1.0.7",
+        "call-bind": "^1.0.7",
+        "es-define-property": "^1.0.0",
+        "es-errors": "^1.3.0",
+        "es-set-tostringtag": "^2.0.3",
+        "es-to-primitive": "^1.2.1",
+        "function.prototype.name": "^1.1.6",
+        "get-intrinsic": "^1.2.4",
+        "get-symbol-description": "^1.0.2",
+        "globalthis": "^1.0.3",
+        "gopd": "^1.0.1",
+        "has-property-descriptors": "^1.0.2",
+        "has-proto": "^1.0.3",
+        "has-symbols": "^1.0.3",
+        "hasown": "^2.0.1",
+        "internal-slot": "^1.0.7",
+        "is-array-buffer": "^3.0.4",
+        "is-callable": "^1.2.7",
+        "is-negative-zero": "^2.0.3",
+        "is-regex": "^1.1.4",
+        "is-shared-array-buffer": "^1.0.3",
+        "is-string": "^1.0.7",
+        "is-typed-array": "^1.1.13",
+        "is-weakref": "^1.0.2",
+        "object-inspect": "^1.13.1",
+        "object-keys": "^1.1.1",
+        "object.assign": "^4.1.5",
+        "regexp.prototype.flags": "^1.5.2",
+        "safe-array-concat": "^1.1.0",
+        "safe-regex-test": "^1.0.3",
+        "string.prototype.trim": "^1.2.8",
+        "string.prototype.trimend": "^1.0.7",
+        "string.prototype.trimstart": "^1.0.7",
+        "typed-array-buffer": "^1.0.2",
+        "typed-array-byte-length": "^1.0.1",
+        "typed-array-byte-offset": "^1.0.2",
+        "typed-array-length": "^1.0.5",
+        "unbox-primitive": "^1.0.2",
+        "which-typed-array": "^1.1.14"
+      }
+    },
+    "es-define-property": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
+      "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
+      "dev": true,
+      "requires": {
+        "get-intrinsic": "^1.2.4"
+      }
+    },
+    "es-errors": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+      "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+      "dev": true
+    },
+    "es-get-iterator": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz",
+      "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.2",
+        "get-intrinsic": "^1.1.3",
+        "has-symbols": "^1.0.3",
+        "is-arguments": "^1.1.1",
+        "is-map": "^2.0.2",
+        "is-set": "^2.0.2",
+        "is-string": "^1.0.7",
+        "isarray": "^2.0.5",
+        "stop-iteration-iterator": "^1.0.0"
+      },
+      "dependencies": {
+        "isarray": {
+          "version": "2.0.5",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+          "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
+          "dev": true
+        }
+      }
+    },
+    "es-module-lexer": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz",
+      "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==",
+      "dev": true
+    },
+    "es-set-tostringtag": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz",
+      "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==",
+      "dev": true,
+      "requires": {
+        "get-intrinsic": "^1.2.4",
+        "has-tostringtag": "^1.0.2",
+        "hasown": "^2.0.1"
+      }
+    },
+    "es-to-primitive": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+      "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+      "dev": true,
+      "requires": {
+        "is-callable": "^1.1.4",
+        "is-date-object": "^1.0.1",
+        "is-symbol": "^1.0.2"
+      }
+    },
+    "es6-promise": {
+      "version": "4.2.8",
+      "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
+      "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==",
+      "dev": true
+    },
+    "es6-promisify": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
+      "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
+      "dev": true,
+      "requires": {
+        "es6-promise": "^4.0.3"
+      }
+    },
+    "esbuild": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.18.tgz",
+      "integrity": "sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==",
+      "dev": true,
+      "requires": {
+        "@esbuild/android-arm": "0.17.18",
+        "@esbuild/android-arm64": "0.17.18",
+        "@esbuild/android-x64": "0.17.18",
+        "@esbuild/darwin-arm64": "0.17.18",
+        "@esbuild/darwin-x64": "0.17.18",
+        "@esbuild/freebsd-arm64": "0.17.18",
+        "@esbuild/freebsd-x64": "0.17.18",
+        "@esbuild/linux-arm": "0.17.18",
+        "@esbuild/linux-arm64": "0.17.18",
+        "@esbuild/linux-ia32": "0.17.18",
+        "@esbuild/linux-loong64": "0.17.18",
+        "@esbuild/linux-mips64el": "0.17.18",
+        "@esbuild/linux-ppc64": "0.17.18",
+        "@esbuild/linux-riscv64": "0.17.18",
+        "@esbuild/linux-s390x": "0.17.18",
+        "@esbuild/linux-x64": "0.17.18",
+        "@esbuild/netbsd-x64": "0.17.18",
+        "@esbuild/openbsd-x64": "0.17.18",
+        "@esbuild/sunos-x64": "0.17.18",
+        "@esbuild/win32-arm64": "0.17.18",
+        "@esbuild/win32-ia32": "0.17.18",
+        "@esbuild/win32-x64": "0.17.18"
+      }
+    },
+    "esbuild-wasm": {
+      "version": "0.17.18",
+      "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.17.18.tgz",
+      "integrity": "sha512-h4m5zVa+KaDuRFIbH9dokMwovvkIjTQJS7/Ry+0Z1paVuS9aIkso2vdA2GmwH9GSvGX6w71WveJ3PfkoLuWaRw==",
+      "dev": true
+    },
+    "escalade": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+      "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
+    },
+    "escape-html": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
+      "dev": true
+    },
+    "escape-string-regexp": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+    },
+    "eslint": {
+      "version": "8.40.0",
+      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.40.0.tgz",
+      "integrity": "sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ==",
+      "dev": true,
+      "requires": {
+        "@eslint-community/eslint-utils": "^4.2.0",
+        "@eslint-community/regexpp": "^4.4.0",
+        "@eslint/eslintrc": "^2.0.3",
+        "@eslint/js": "8.40.0",
+        "@humanwhocodes/config-array": "^0.11.8",
+        "@humanwhocodes/module-importer": "^1.0.1",
+        "@nodelib/fs.walk": "^1.2.8",
+        "ajv": "^6.10.0",
+        "chalk": "^4.0.0",
+        "cross-spawn": "^7.0.2",
+        "debug": "^4.3.2",
+        "doctrine": "^3.0.0",
+        "escape-string-regexp": "^4.0.0",
+        "eslint-scope": "^7.2.0",
+        "eslint-visitor-keys": "^3.4.1",
+        "espree": "^9.5.2",
+        "esquery": "^1.4.2",
+        "esutils": "^2.0.2",
+        "fast-deep-equal": "^3.1.3",
+        "file-entry-cache": "^6.0.1",
+        "find-up": "^5.0.0",
+        "glob-parent": "^6.0.2",
+        "globals": "^13.19.0",
+        "grapheme-splitter": "^1.0.4",
+        "ignore": "^5.2.0",
+        "import-fresh": "^3.0.0",
+        "imurmurhash": "^0.1.4",
+        "is-glob": "^4.0.0",
+        "is-path-inside": "^3.0.3",
+        "js-sdsl": "^4.1.4",
+        "js-yaml": "^4.1.0",
+        "json-stable-stringify-without-jsonify": "^1.0.1",
+        "levn": "^0.4.1",
+        "lodash.merge": "^4.6.2",
+        "minimatch": "^3.1.2",
+        "natural-compare": "^1.4.0",
+        "optionator": "^0.9.1",
+        "strip-ansi": "^6.0.1",
+        "strip-json-comments": "^3.1.0",
+        "text-table": "^0.2.0"
+      },
+      "dependencies": {
+        "ajv": {
+          "version": "6.12.6",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+          "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+          "dev": true,
+          "requires": {
+            "fast-deep-equal": "^3.1.1",
+            "fast-json-stable-stringify": "^2.0.0",
+            "json-schema-traverse": "^0.4.1",
+            "uri-js": "^4.2.2"
+          }
+        },
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+          "dev": true,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "argparse": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+          "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+          "dev": true
+        },
+        "chalk": {
+          "version": "4.1.2",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+          "dev": true
+        },
+        "escape-string-regexp": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+          "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+          "dev": true
+        },
+        "eslint-scope": {
+          "version": "7.2.0",
+          "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz",
+          "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==",
+          "dev": true,
+          "requires": {
+            "esrecurse": "^4.3.0",
+            "estraverse": "^5.2.0"
+          }
+        },
+        "estraverse": {
+          "version": "5.3.0",
+          "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+          "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+          "dev": true
+        },
+        "find-up": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+          "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+          "dev": true,
+          "requires": {
+            "locate-path": "^6.0.0",
+            "path-exists": "^4.0.0"
+          }
+        },
+        "glob-parent": {
+          "version": "6.0.2",
+          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+          "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+          "dev": true,
+          "requires": {
+            "is-glob": "^4.0.3"
+          }
+        },
+        "globals": {
+          "version": "13.20.0",
+          "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz",
+          "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
+          "dev": true,
+          "requires": {
+            "type-fest": "^0.20.2"
+          }
+        },
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+          "dev": true
+        },
+        "is-path-inside": {
+          "version": "3.0.3",
+          "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
+          "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
+          "dev": true
+        },
+        "js-yaml": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+          "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+          "dev": true,
+          "requires": {
+            "argparse": "^2.0.1"
+          }
+        },
+        "json-schema-traverse": {
+          "version": "0.4.1",
+          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+          "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+          "dev": true
+        },
+        "locate-path": {
+          "version": "6.0.0",
+          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+          "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+          "dev": true,
+          "requires": {
+            "p-locate": "^5.0.0"
+          }
+        },
+        "minimatch": {
+          "version": "3.1.2",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+          "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "^1.1.7"
+          }
+        },
+        "p-locate": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+          "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+          "dev": true,
+          "requires": {
+            "p-limit": "^3.0.2"
+          }
+        },
+        "supports-color": {
+          "version": "7.2.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+          "dev": true,
+          "requires": {
+            "has-flag": "^4.0.0"
+          }
+        },
+        "type-fest": {
+          "version": "0.20.2",
+          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+          "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+          "dev": true
+        }
+      }
+    },
+    "eslint-scope": {
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+      "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+      "dev": true,
+      "requires": {
+        "esrecurse": "^4.3.0",
+        "estraverse": "^4.1.1"
+      }
+    },
+    "eslint-visitor-keys": {
+      "version": "3.4.1",
+      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz",
+      "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==",
+      "dev": true
+    },
+    "espree": {
+      "version": "9.5.2",
+      "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz",
+      "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==",
+      "dev": true,
+      "requires": {
+        "acorn": "^8.8.0",
+        "acorn-jsx": "^5.3.2",
+        "eslint-visitor-keys": "^3.4.1"
+      },
+      "dependencies": {
+        "acorn": {
+          "version": "8.8.2",
+          "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
+          "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
+          "dev": true
+        }
+      }
+    },
+    "esprima": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+      "dev": true
+    },
+    "esquery": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
+      "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
+      "dev": true,
+      "requires": {
+        "estraverse": "^5.1.0"
+      },
+      "dependencies": {
+        "estraverse": {
+          "version": "5.3.0",
+          "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+          "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+          "dev": true
+        }
+      }
+    },
+    "esrecurse": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+      "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+      "dev": true,
+      "requires": {
+        "estraverse": "^5.2.0"
+      },
+      "dependencies": {
+        "estraverse": {
+          "version": "5.3.0",
+          "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+          "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+          "dev": true
+        }
+      }
+    },
+    "estraverse": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+      "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+      "dev": true
+    },
+    "estree-walker": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+      "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+      "dev": true
+    },
+    "esutils": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+      "dev": true
+    },
+    "etag": {
+      "version": "1.8.1",
+      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+      "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+      "dev": true
+    },
+    "eventemitter-asyncresource": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz",
+      "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==",
+      "dev": true
+    },
+    "eventemitter3": {
+      "version": "4.0.7",
+      "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
+      "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
+      "dev": true
+    },
+    "events": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+      "dev": true
+    },
+    "execa": {
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+      "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+      "dev": true,
+      "requires": {
+        "cross-spawn": "^7.0.3",
+        "get-stream": "^6.0.0",
+        "human-signals": "^2.1.0",
+        "is-stream": "^2.0.0",
+        "merge-stream": "^2.0.0",
+        "npm-run-path": "^4.0.1",
+        "onetime": "^5.1.2",
+        "signal-exit": "^3.0.3",
+        "strip-final-newline": "^2.0.0"
+      }
+    },
+    "exit": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+      "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
+      "dev": true
+    },
+    "express": {
+      "version": "4.18.2",
+      "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
+      "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
+      "dev": true,
+      "requires": {
+        "accepts": "~1.3.8",
+        "array-flatten": "1.1.1",
+        "body-parser": "1.20.1",
+        "content-disposition": "0.5.4",
+        "content-type": "~1.0.4",
+        "cookie": "0.5.0",
+        "cookie-signature": "1.0.6",
+        "debug": "2.6.9",
+        "depd": "2.0.0",
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "etag": "~1.8.1",
+        "finalhandler": "1.2.0",
+        "fresh": "0.5.2",
+        "http-errors": "2.0.0",
+        "merge-descriptors": "1.0.1",
+        "methods": "~1.1.2",
+        "on-finished": "2.4.1",
+        "parseurl": "~1.3.3",
+        "path-to-regexp": "0.1.7",
+        "proxy-addr": "~2.0.7",
+        "qs": "6.11.0",
+        "range-parser": "~1.2.1",
+        "safe-buffer": "5.2.1",
+        "send": "0.18.0",
+        "serve-static": "1.15.0",
+        "setprototypeof": "1.2.0",
+        "statuses": "2.0.1",
+        "type-is": "~1.6.18",
+        "utils-merge": "1.0.1",
+        "vary": "~1.1.2"
+      },
+      "dependencies": {
+        "array-flatten": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+          "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
+          "dev": true
+        },
+        "cookie": {
+          "version": "0.5.0",
+          "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
+          "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
+          "dev": true
+        },
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+          "dev": true,
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "finalhandler": {
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
+          "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
+          "dev": true,
+          "requires": {
+            "debug": "2.6.9",
+            "encodeurl": "~1.0.2",
+            "escape-html": "~1.0.3",
+            "on-finished": "2.4.1",
+            "parseurl": "~1.3.3",
+            "statuses": "2.0.1",
+            "unpipe": "~1.0.0"
+          }
+        },
+        "ms": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+          "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+          "dev": true
+        },
+        "on-finished": {
+          "version": "2.4.1",
+          "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+          "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+          "dev": true,
+          "requires": {
+            "ee-first": "1.1.1"
+          }
+        },
+        "safe-buffer": {
+          "version": "5.2.1",
+          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+          "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+          "dev": true
+        },
+        "statuses": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+          "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+          "dev": true
+        }
+      }
+    },
+    "extend": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+      "dev": true
+    },
+    "external-editor": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
+      "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
+      "dev": true,
+      "requires": {
+        "chardet": "^0.7.0",
+        "iconv-lite": "^0.4.24",
+        "tmp": "^0.0.33"
+      },
+      "dependencies": {
+        "iconv-lite": {
+          "version": "0.4.24",
+          "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+          "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+          "dev": true,
+          "requires": {
+            "safer-buffer": ">= 2.1.2 < 3"
+          }
+        }
+      }
+    },
+    "extsprintf": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+      "dev": true
+    },
+    "fast-deep-equal": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+      "dev": true
+    },
+    "fast-glob": {
+      "version": "3.2.12",
+      "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
+      "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
+      "dev": true,
+      "requires": {
+        "@nodelib/fs.stat": "^2.0.2",
+        "@nodelib/fs.walk": "^1.2.3",
+        "glob-parent": "^5.1.2",
+        "merge2": "^1.3.0",
+        "micromatch": "^4.0.4"
+      }
+    },
+    "fast-json-stable-stringify": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+      "dev": true
+    },
+    "fast-levenshtein": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+      "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
+      "dev": true
+    },
+    "fastq": {
+      "version": "1.13.0",
+      "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
+      "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
+      "dev": true,
+      "requires": {
+        "reusify": "^1.0.4"
+      }
+    },
+    "faye-websocket": {
+      "version": "0.11.4",
+      "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz",
+      "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==",
+      "dev": true,
+      "requires": {
+        "websocket-driver": ">=0.5.1"
+      }
+    },
+    "figures": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
+      "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
+      "dev": true,
+      "requires": {
+        "escape-string-regexp": "^1.0.5"
+      }
+    },
+    "file-entry-cache": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
+      "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+      "dev": true,
+      "requires": {
+        "flat-cache": "^3.0.4"
+      }
+    },
+    "filelist": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
+      "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
+      "dev": true,
+      "requires": {
+        "minimatch": "^5.0.1"
+      },
+      "dependencies": {
+        "brace-expansion": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+          "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+          "dev": true,
+          "requires": {
+            "balanced-match": "^1.0.0"
+          }
+        },
+        "minimatch": {
+          "version": "5.1.6",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+          "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "^2.0.1"
+          }
+        }
+      }
+    },
+    "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",
+      "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "requires": {
+        "debug": "2.6.9",
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "on-finished": "~2.3.0",
+        "parseurl": "~1.3.3",
+        "statuses": "~1.5.0",
+        "unpipe": "~1.0.0"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+          "dev": true,
+          "optional": true,
+          "peer": true,
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "ms": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+          "dev": true,
+          "optional": true,
+          "peer": true
+        }
+      }
+    },
+    "find-cache-dir": {
+      "version": "3.3.2",
+      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
+      "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
+      "dev": true,
+      "requires": {
+        "commondir": "^1.0.1",
+        "make-dir": "^3.0.2",
+        "pkg-dir": "^4.1.0"
+      }
+    },
+    "find-up": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+      "dev": true,
+      "requires": {
+        "locate-path": "^5.0.0",
+        "path-exists": "^4.0.0"
+      }
+    },
+    "flat": {
+      "version": "5.0.2",
+      "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
+      "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
+      "dev": true
+    },
+    "flat-cache": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
+      "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+      "dev": true,
+      "requires": {
+        "flatted": "^3.1.0",
+        "rimraf": "^3.0.2"
+      }
+    },
+    "flatted": {
+      "version": "3.2.6",
+      "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.6.tgz",
+      "integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==",
+      "dev": true
+    },
+    "follow-redirects": {
+      "version": "1.15.1",
+      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz",
+      "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==",
+      "dev": true
+    },
+    "for-each": {
+      "version": "0.3.3",
+      "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
+      "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
+      "dev": true,
+      "requires": {
+        "is-callable": "^1.1.3"
+      }
+    },
+    "foreground-child": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
+      "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==",
+      "dev": true,
+      "requires": {
+        "cross-spawn": "^7.0.0",
+        "signal-exit": "^4.0.1"
+      },
+      "dependencies": {
+        "signal-exit": {
+          "version": "4.0.2",
+          "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz",
+          "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==",
+          "dev": true
+        }
+      }
+    },
+    "forever-agent": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+      "dev": true
+    },
+    "form-data": {
+      "version": "2.3.3",
+      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+      "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+      "dev": true,
+      "requires": {
+        "asynckit": "^0.4.0",
+        "combined-stream": "^1.0.6",
+        "mime-types": "^2.1.12"
+      }
+    },
+    "forwarded": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+      "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
+      "dev": true
+    },
+    "fraction.js": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
+      "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA=="
+    },
+    "fresh": {
+      "version": "0.5.2",
+      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+      "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
+      "dev": true
+    },
+    "fs-constants": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
+      "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
+      "dev": true
+    },
+    "fs-extra": {
+      "version": "10.1.0",
+      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
+      "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "requires": {
+        "graceful-fs": "^4.2.0",
+        "jsonfile": "^6.0.1",
+        "universalify": "^2.0.0"
+      }
+    },
+    "fs-minipass": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.2.tgz",
+      "integrity": "sha512-2GAfyfoaCDRrM6jaOS3UsBts8yJ55VioXdWcOL7dK9zdAuKT71+WBA4ifnNYqVjYv+4SsPxjK0JT4yIIn4cA/g==",
+      "dev": true,
+      "requires": {
+        "minipass": "^5.0.0"
+      }
+    },
+    "fs-monkey": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz",
+      "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==",
+      "dev": true
+    },
+    "fs.realpath": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+    },
+    "fsevents": {
+      "version": "2.3.2",
+      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+      "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+      "optional": true
+    },
+    "function-bind": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+      "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+      "dev": true
+    },
+    "function.prototype.name": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz",
+      "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1",
+        "functions-have-names": "^1.2.3"
+      }
+    },
+    "functions-have-names": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
+      "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
+      "dev": true
+    },
+    "fuse.js": {
+      "version": "6.6.2",
+      "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.6.2.tgz",
+      "integrity": "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA=="
+    },
+    "gauge": {
+      "version": "4.0.4",
+      "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
+      "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
+      "dev": true,
+      "requires": {
+        "aproba": "^1.0.3 || ^2.0.0",
+        "color-support": "^1.1.3",
+        "console-control-strings": "^1.1.0",
+        "has-unicode": "^2.0.1",
+        "signal-exit": "^3.0.7",
+        "string-width": "^4.2.3",
+        "strip-ansi": "^6.0.1",
+        "wide-align": "^1.1.5"
+      }
+    },
+    "gensync": {
+      "version": "1.0.0-beta.2",
+      "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+      "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="
+    },
+    "get-caller-file": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
+    },
+    "get-intrinsic": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
+      "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
+      "dev": true,
+      "requires": {
+        "es-errors": "^1.3.0",
+        "function-bind": "^1.1.2",
+        "has-proto": "^1.0.1",
+        "has-symbols": "^1.0.3",
+        "hasown": "^2.0.0"
+      }
+    },
+    "get-package-type": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
+      "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
+      "dev": true
+    },
+    "get-stream": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+      "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+      "dev": true
+    },
+    "get-symbol-description": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz",
+      "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.5",
+        "es-errors": "^1.3.0",
+        "get-intrinsic": "^1.2.4"
+      }
+    },
+    "getpass": {
+      "version": "0.1.7",
+      "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+      "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+      "dev": true,
+      "requires": {
+        "assert-plus": "^1.0.0"
+      }
+    },
+    "glob": {
+      "version": "7.1.7",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
+      "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
+      "dev": true,
+      "requires": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.0.4",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
+      }
+    },
+    "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"
+      }
+    },
+    "glob-to-regexp": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
+      "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
+      "dev": true
+    },
+    "globals": {
+      "version": "11.12.0",
+      "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
+    },
+    "globalthis": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
+      "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
+      "dev": true,
+      "requires": {
+        "define-properties": "^1.1.3"
+      }
+    },
+    "globby": {
+      "version": "13.1.4",
+      "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz",
+      "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==",
+      "dev": true,
+      "requires": {
+        "dir-glob": "^3.0.1",
+        "fast-glob": "^3.2.11",
+        "ignore": "^5.2.0",
+        "merge2": "^1.4.1",
+        "slash": "^4.0.0"
+      }
+    },
+    "good-listener": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz",
+      "integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==",
+      "optional": true,
+      "requires": {
+        "delegate": "^3.1.2"
+      }
+    },
+    "gopd": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
+      "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
+      "dev": true,
+      "requires": {
+        "get-intrinsic": "^1.1.3"
+      }
+    },
+    "graceful-fs": {
+      "version": "4.2.9",
+      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz",
+      "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==",
+      "dev": true
+    },
+    "grapheme-splitter": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
+      "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
+      "dev": true
+    },
+    "gzip-size": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz",
+      "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==",
+      "dev": true,
+      "requires": {
+        "duplexer": "^0.1.2"
+      }
+    },
+    "handle-thing": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz",
+      "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==",
+      "dev": true
+    },
+    "har-schema": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+      "dev": true
+    },
+    "har-validator": {
+      "version": "5.1.5",
+      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
+      "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
+      "dev": true,
+      "requires": {
+        "ajv": "^6.12.3",
+        "har-schema": "^2.0.0"
+      },
+      "dependencies": {
+        "ajv": {
+          "version": "6.12.6",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+          "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+          "dev": true,
+          "requires": {
+            "fast-deep-equal": "^3.1.1",
+            "fast-json-stable-stringify": "^2.0.0",
+            "json-schema-traverse": "^0.4.1",
+            "uri-js": "^4.2.2"
+          }
+        },
+        "json-schema-traverse": {
+          "version": "0.4.1",
+          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+          "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+          "dev": true
+        }
+      }
+    },
+    "has": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+      "dev": true,
+      "requires": {
+        "function-bind": "^1.1.1"
+      }
+    },
+    "has-ansi": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+      "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+      "dev": true,
+      "requires": {
+        "ansi-regex": "^2.0.0"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+          "dev": true
+        }
+      }
+    },
+    "has-bigints": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
+      "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
+      "dev": true
+    },
+    "has-flag": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+    },
+    "has-property-descriptors": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+      "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
+      "dev": true,
+      "requires": {
+        "es-define-property": "^1.0.0"
+      }
+    },
+    "has-proto": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
+      "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
+      "dev": true
+    },
+    "has-symbols": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+      "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+      "dev": true
+    },
+    "has-tostringtag": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+      "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
+      "dev": true,
+      "requires": {
+        "has-symbols": "^1.0.3"
+      }
+    },
+    "has-unicode": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+      "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
+      "dev": true
+    },
+    "hasown": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz",
+      "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==",
+      "dev": true,
+      "requires": {
+        "function-bind": "^1.1.2"
+      }
+    },
+    "hdr-histogram-js": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz",
+      "integrity": "sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==",
+      "dev": true,
+      "requires": {
+        "@assemblyscript/loader": "^0.10.1",
+        "base64-js": "^1.2.0",
+        "pako": "^1.0.3"
+      }
+    },
+    "hdr-histogram-percentiles-obj": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz",
+      "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==",
+      "dev": true
+    },
+    "heap": {
+      "version": "0.2.7",
+      "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz",
+      "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==",
+      "optional": true
+    },
+    "hosted-git-info": {
+      "version": "6.1.1",
+      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz",
+      "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==",
+      "dev": true,
+      "requires": {
+        "lru-cache": "^7.5.1"
+      },
+      "dependencies": {
+        "lru-cache": {
+          "version": "7.18.3",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+          "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+          "dev": true
+        }
+      }
+    },
+    "hpack.js": {
+      "version": "2.1.6",
+      "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
+      "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==",
+      "dev": true,
+      "requires": {
+        "inherits": "^2.0.1",
+        "obuf": "^1.0.0",
+        "readable-stream": "^2.0.1",
+        "wbuf": "^1.1.0"
+      },
+      "dependencies": {
+        "readable-stream": {
+          "version": "2.3.8",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+          "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+          "dev": true,
+          "requires": {
+            "core-util-is": "~1.0.0",
+            "inherits": "~2.0.3",
+            "isarray": "~1.0.0",
+            "process-nextick-args": "~2.0.0",
+            "safe-buffer": "~5.1.1",
+            "string_decoder": "~1.1.1",
+            "util-deprecate": "~1.0.1"
+          }
+        },
+        "string_decoder": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+          "dev": true,
+          "requires": {
+            "safe-buffer": "~5.1.0"
+          }
+        }
+      }
+    },
+    "html-entities": {
+      "version": "2.3.3",
+      "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz",
+      "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==",
+      "dev": true
+    },
+    "http-cache-semantics": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
+      "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==",
+      "dev": true
+    },
+    "http-deceiver": {
+      "version": "1.2.7",
+      "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
+      "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==",
+      "dev": true
+    },
+    "http-errors": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+      "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+      "dev": true,
+      "requires": {
+        "depd": "2.0.0",
+        "inherits": "2.0.4",
+        "setprototypeof": "1.2.0",
+        "statuses": "2.0.1",
+        "toidentifier": "1.0.1"
+      },
+      "dependencies": {
+        "statuses": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+          "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+          "dev": true
+        }
+      }
+    },
+    "http-parser-js": {
+      "version": "0.5.8",
+      "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz",
+      "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==",
+      "dev": true
+    },
+    "http-proxy": {
+      "version": "1.18.1",
+      "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
+      "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
+      "dev": true,
+      "requires": {
+        "eventemitter3": "^4.0.0",
+        "follow-redirects": "^1.0.0",
+        "requires-port": "^1.0.0"
+      }
+    },
+    "http-proxy-agent": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
+      "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
+      "dev": true,
+      "requires": {
+        "@tootallnate/once": "2",
+        "agent-base": "6",
+        "debug": "4"
+      }
+    },
+    "http-proxy-middleware": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz",
+      "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==",
+      "dev": true,
+      "requires": {
+        "@types/http-proxy": "^1.17.8",
+        "http-proxy": "^1.18.1",
+        "is-glob": "^4.0.1",
+        "is-plain-obj": "^3.0.0",
+        "micromatch": "^4.0.2"
+      }
+    },
+    "http-signature": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+      "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+      "dev": true,
+      "requires": {
+        "assert-plus": "^1.0.0",
+        "jsprim": "^1.2.2",
+        "sshpk": "^1.7.0"
+      }
+    },
+    "https-proxy-agent": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+      "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+      "dev": true,
+      "requires": {
+        "agent-base": "6",
+        "debug": "4"
+      }
+    },
+    "human-signals": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+      "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
+      "dev": true
+    },
+    "humanize-ms": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
+      "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
+      "dev": true,
+      "requires": {
+        "ms": "^2.0.0"
+      }
+    },
+    "iconv-lite": {
+      "version": "0.6.3",
+      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+      "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+      "requires": {
+        "safer-buffer": ">= 2.1.2 < 3.0.0"
+      }
+    },
+    "icss-utils": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
+      "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
+      "dev": true,
+      "requires": {}
+    },
+    "ieee754": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+      "dev": true
+    },
+    "ignore": {
+      "version": "5.2.4",
+      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
+      "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
+      "dev": true
+    },
+    "ignore-walk": {
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.3.tgz",
+      "integrity": "sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==",
+      "dev": true,
+      "requires": {
+        "minimatch": "^9.0.0"
+      },
+      "dependencies": {
+        "brace-expansion": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+          "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+          "dev": true,
+          "requires": {
+            "balanced-match": "^1.0.0"
+          }
+        },
+        "minimatch": {
+          "version": "9.0.0",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz",
+          "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "^2.0.1"
+          }
+        }
+      }
+    },
+    "image-size": {
+      "version": "0.5.5",
+      "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
+      "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==",
+      "dev": true,
+      "optional": true
+    },
+    "immediate": {
+      "version": "3.0.6",
+      "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
+      "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=",
+      "dev": true
+    },
+    "immutable": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz",
+      "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==",
+      "dev": true
+    },
+    "import-fresh": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+      "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+      "dev": true,
+      "requires": {
+        "parent-module": "^1.0.0",
+        "resolve-from": "^4.0.0"
+      }
+    },
+    "imurmurhash": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+      "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+      "dev": true
+    },
+    "indent-string": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+      "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+      "dev": true
+    },
+    "infer-owner": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
+      "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
+      "dev": true
+    },
+    "inflight": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+      "requires": {
+        "once": "^1.3.0",
+        "wrappy": "1"
+      }
+    },
+    "inherits": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+    },
+    "ini": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/ini/-/ini-4.0.0.tgz",
+      "integrity": "sha512-t0ikzf5qkSFqRl1e6ejKBe+Tk2bsQd8ivEkcisyGXsku2t8NvXZ1Y3RRz5vxrDgOrTBOi13CvGsVoI5wVpd7xg==",
+      "dev": true
+    },
+    "injection-js": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/injection-js/-/injection-js-2.4.0.tgz",
+      "integrity": "sha512-6jiJt0tCAo9zjHbcwLiPL+IuNe9SQ6a9g0PEzafThW3fOQi0mrmiJGBJvDD6tmhPh8cQHIQtCOrJuBfQME4kPA==",
+      "dev": true,
+      "requires": {
+        "tslib": "^2.0.0"
+      }
+    },
+    "inquirer": {
+      "version": "8.2.4",
+      "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz",
+      "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==",
+      "dev": true,
+      "requires": {
+        "ansi-escapes": "^4.2.1",
+        "chalk": "^4.1.1",
+        "cli-cursor": "^3.1.0",
+        "cli-width": "^3.0.0",
+        "external-editor": "^3.0.3",
+        "figures": "^3.0.0",
+        "lodash": "^4.17.21",
+        "mute-stream": "0.0.8",
+        "ora": "^5.4.1",
+        "run-async": "^2.4.0",
+        "rxjs": "^7.5.5",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0",
+        "through": "^2.3.6",
+        "wrap-ansi": "^7.0.0"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+          "dev": true,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "chalk": {
+          "version": "4.1.2",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+          "dev": true
+        },
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+          "dev": true
+        },
+        "supports-color": {
+          "version": "7.2.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+          "dev": true,
+          "requires": {
+            "has-flag": "^4.0.0"
+          }
+        }
+      }
+    },
+    "internal-slot": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz",
+      "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==",
+      "dev": true,
+      "requires": {
+        "es-errors": "^1.3.0",
+        "hasown": "^2.0.0",
+        "side-channel": "^1.0.4"
+      }
+    },
+    "internmap": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz",
+      "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg=="
+    },
+    "ip": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
+      "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==",
+      "dev": true
+    },
+    "ipaddr.js": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz",
+      "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==",
+      "dev": true
+    },
+    "is-arguments": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
+      "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.2",
+        "has-tostringtag": "^1.0.0"
+      }
+    },
+    "is-array-buffer": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz",
+      "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.2",
+        "get-intrinsic": "^1.2.1"
+      }
+    },
+    "is-arrayish": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+      "dev": true
+    },
+    "is-bigint": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
+      "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
+      "dev": true,
+      "requires": {
+        "has-bigints": "^1.0.1"
+      }
+    },
+    "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-boolean-object": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
+      "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.2",
+        "has-tostringtag": "^1.0.0"
+      }
+    },
+    "is-builtin-module": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz",
+      "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==",
+      "dev": true,
+      "requires": {
+        "builtin-modules": "^3.3.0"
+      },
+      "dependencies": {
+        "builtin-modules": {
+          "version": "3.3.0",
+          "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
+          "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
+          "dev": true
+        }
+      }
+    },
+    "is-callable": {
+      "version": "1.2.7",
+      "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
+      "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
+      "dev": true
+    },
+    "is-core-module": {
+      "version": "2.12.0",
+      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz",
+      "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==",
+      "dev": true,
+      "requires": {
+        "has": "^1.0.3"
+      }
+    },
+    "is-date-object": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
+      "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
+      "dev": true,
+      "requires": {
+        "has-tostringtag": "^1.0.0"
+      }
+    },
+    "is-docker": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+      "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
+      "dev": true
+    },
+    "is-extglob": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
+    },
+    "is-fullwidth-code-point": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
+    },
+    "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-interactive": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
+      "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
+      "dev": true
+    },
+    "is-lambda": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
+      "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==",
+      "dev": true
+    },
+    "is-map": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz",
+      "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==",
+      "dev": true
+    },
+    "is-module": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
+      "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==",
+      "dev": true
+    },
+    "is-negative-zero": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz",
+      "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==",
+      "dev": true
+    },
+    "is-number": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
+    },
+    "is-number-object": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
+      "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
+      "dev": true,
+      "requires": {
+        "has-tostringtag": "^1.0.0"
+      }
+    },
+    "is-path-cwd": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
+      "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
+      "dev": true
+    },
+    "is-path-in-cwd": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
+      "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
+      "dev": true,
+      "requires": {
+        "is-path-inside": "^1.0.0"
+      }
+    },
+    "is-path-inside": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
+      "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
+      "dev": true,
+      "requires": {
+        "path-is-inside": "^1.0.1"
+      }
+    },
+    "is-plain-obj": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz",
+      "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==",
+      "dev": true
+    },
+    "is-plain-object": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+      "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+      "dev": true,
+      "requires": {
+        "isobject": "^3.0.1"
+      }
+    },
+    "is-regex": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
+      "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.2",
+        "has-tostringtag": "^1.0.0"
+      }
+    },
+    "is-set": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz",
+      "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==",
+      "dev": true
+    },
+    "is-shared-array-buffer": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz",
+      "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.7"
+      }
+    },
+    "is-stream": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+      "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+      "dev": true
+    },
+    "is-string": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
+      "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
+      "dev": true,
+      "requires": {
+        "has-tostringtag": "^1.0.0"
+      }
+    },
+    "is-symbol": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
+      "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
+      "dev": true,
+      "requires": {
+        "has-symbols": "^1.0.2"
+      }
+    },
+    "is-typed-array": {
+      "version": "1.1.13",
+      "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz",
+      "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==",
+      "dev": true,
+      "requires": {
+        "which-typed-array": "^1.1.14"
+      }
+    },
+    "is-typedarray": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+      "dev": true
+    },
+    "is-unicode-supported": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
+      "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+      "dev": true
+    },
+    "is-weakmap": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz",
+      "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==",
+      "dev": true
+    },
+    "is-weakref": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
+      "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.2"
+      }
+    },
+    "is-weakset": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz",
+      "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.2",
+        "get-intrinsic": "^1.1.1"
+      }
+    },
+    "is-what": {
+      "version": "3.14.1",
+      "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz",
+      "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==",
+      "dev": true
+    },
+    "is-wsl": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+      "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+      "dev": true,
+      "requires": {
+        "is-docker": "^2.0.0"
+      }
+    },
+    "isarray": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+      "dev": true
+    },
+    "isbinaryfile": {
+      "version": "4.0.8",
+      "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz",
+      "integrity": "sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
+    "isexe": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+      "dev": true
+    },
+    "isobject": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+      "dev": true
+    },
+    "isstream": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+      "dev": true
+    },
+    "istanbul-lib-coverage": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
+      "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==",
+      "dev": true
+    },
+    "istanbul-lib-instrument": {
+      "version": "5.2.1",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
+      "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
+      "dev": true,
+      "requires": {
+        "@babel/core": "^7.12.3",
+        "@babel/parser": "^7.14.7",
+        "@istanbuljs/schema": "^0.1.2",
+        "istanbul-lib-coverage": "^3.2.0",
+        "semver": "^6.3.0"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+          "dev": true
+        }
+      }
+    },
+    "jackspeak": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.0.tgz",
+      "integrity": "sha512-r5XBrqIJfwRIjRt/Xr5fv9Wh09qyhHfKnYddDlpM+ibRR20qrYActpCAgU6U+d53EOEjzkvxPMVHSlgR7leXrQ==",
+      "dev": true,
+      "requires": {
+        "@isaacs/cliui": "^8.0.2",
+        "@pkgjs/parseargs": "^0.11.0"
+      }
+    },
+    "jake": {
+      "version": "10.8.6",
+      "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.6.tgz",
+      "integrity": "sha512-G43Ub9IYEFfu72sua6rzooi8V8Gz2lkfk48rW20vEWCGizeaEPlKB1Kh8JIA84yQbiAEfqlPmSpGgCKKxH3rDA==",
+      "dev": true,
+      "requires": {
+        "async": "^3.2.3",
+        "chalk": "^4.0.2",
+        "filelist": "^1.0.4",
+        "minimatch": "^3.1.2"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+          "dev": true,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "chalk": {
+          "version": "4.1.2",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+          "dev": true
+        },
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+          "dev": true
+        },
+        "minimatch": {
+          "version": "3.1.2",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+          "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "^1.1.7"
+          }
+        },
+        "supports-color": {
+          "version": "7.2.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+          "dev": true,
+          "requires": {
+            "has-flag": "^4.0.0"
+          }
+        }
+      }
+    },
+    "jasmine": {
+      "version": "2.8.0",
+      "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz",
+      "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=",
+      "dev": true,
+      "requires": {
+        "exit": "^0.1.2",
+        "glob": "^7.0.6",
+        "jasmine-core": "~2.8.0"
+      },
+      "dependencies": {
+        "jasmine-core": {
+          "version": "2.8.0",
+          "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz",
+          "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=",
+          "dev": true
+        }
+      }
+    },
+    "jasmine-core": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.0.0.tgz",
+      "integrity": "sha512-BJLxZlSVyWPN/oyaS1IIvIjChghI9/xWsLAIJqL9J5Fz47CN3JNr8Lmik3S2S7QS2RxclYjvSVSXP7IR35PAmg==",
+      "dev": true
+    },
+    "jasmine-spec-reporter": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-7.0.0.tgz",
+      "integrity": "sha512-OtC7JRasiTcjsaCBPtMO0Tl8glCejM4J4/dNuOJdA8lBjz4PmWjYQ6pzb0uzpBNAWJMDudYuj9OdXJWqM2QTJg==",
+      "dev": true,
+      "requires": {
+        "colors": "1.4.0"
+      }
+    },
+    "jasminewd2": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz",
+      "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=",
+      "dev": true
+    },
+    "jest-worker": {
+      "version": "27.4.6",
+      "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz",
+      "integrity": "sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==",
+      "dev": true,
+      "requires": {
+        "@types/node": "*",
+        "merge-stream": "^2.0.0",
+        "supports-color": "^8.0.0"
+      },
+      "dependencies": {
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+          "dev": true
+        },
+        "supports-color": {
+          "version": "8.1.1",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+          "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+          "dev": true,
+          "requires": {
+            "has-flag": "^4.0.0"
+          }
+        }
+      }
+    },
+    "jiti": {
+      "version": "1.18.2",
+      "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz",
+      "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==",
+      "dev": true
+    },
+    "js-sdsl": {
+      "version": "4.4.0",
+      "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz",
+      "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==",
+      "dev": true
+    },
+    "js-tokens": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+    },
+    "js-yaml": {
+      "version": "3.14.1",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+      "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+      "dev": true,
+      "requires": {
+        "argparse": "^1.0.7",
+        "esprima": "^4.0.0"
+      }
+    },
+    "js-yaml-loader": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/js-yaml-loader/-/js-yaml-loader-1.2.2.tgz",
+      "integrity": "sha512-H+NeuNrG6uOs/WMjna2SjkaCw13rMWiT/D7l9+9x5n8aq88BDsh2sRmdfxckWPIHtViYHWRG6XiCKYvS1dfyLg==",
+      "dev": true,
+      "requires": {
+        "js-yaml": "^3.13.1",
+        "loader-utils": "^1.2.3",
+        "un-eval": "^1.2.0"
+      },
+      "dependencies": {
+        "json5": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
+          "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.0"
+          }
+        },
+        "loader-utils": {
+          "version": "1.4.2",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz",
+          "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
+          "dev": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^1.0.1"
+          }
+        }
+      }
+    },
+    "jsbn": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+      "dev": true
+    },
+    "jsesc": {
+      "version": "2.5.2",
+      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
+    },
+    "json-parse-better-errors": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
+      "dev": true
+    },
+    "json-parse-even-better-errors": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+      "dev": true
+    },
+    "json-schema": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
+      "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
+      "dev": true
+    },
+    "json-schema-traverse": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+      "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+      "dev": true
+    },
+    "json-stable-stringify-without-jsonify": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+      "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+      "dev": true
+    },
+    "json-stringify-safe": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+      "dev": true
+    },
+    "json5": {
+      "version": "2.2.3",
+      "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+      "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="
+    },
+    "jsonc-parser": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
+      "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==",
+      "dev": true
+    },
+    "jsonfile": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+      "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+      "dev": true,
+      "requires": {
+        "graceful-fs": "^4.1.6",
+        "universalify": "^2.0.0"
+      }
+    },
+    "jsonparse": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
+      "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==",
+      "dev": true
+    },
+    "jsprim": {
+      "version": "1.4.2",
+      "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
+      "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
+      "dev": true,
+      "requires": {
+        "assert-plus": "1.0.0",
+        "extsprintf": "1.3.0",
+        "json-schema": "0.4.0",
+        "verror": "1.10.0"
+      }
+    },
+    "jszip": {
+      "version": "3.10.1",
+      "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz",
+      "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==",
+      "dev": true,
+      "requires": {
+        "lie": "~3.3.0",
+        "pako": "~1.0.2",
+        "readable-stream": "~2.3.6",
+        "setimmediate": "^1.0.5"
+      },
+      "dependencies": {
+        "readable-stream": {
+          "version": "2.3.7",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+          "dev": true,
+          "requires": {
+            "core-util-is": "~1.0.0",
+            "inherits": "~2.0.3",
+            "isarray": "~1.0.0",
+            "process-nextick-args": "~2.0.0",
+            "safe-buffer": "~5.1.1",
+            "string_decoder": "~1.1.1",
+            "util-deprecate": "~1.0.1"
+          }
+        },
+        "string_decoder": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+          "dev": true,
+          "requires": {
+            "safe-buffer": "~5.1.0"
+          }
+        }
+      }
+    },
+    "karma": {
+      "version": "6.4.2",
+      "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.2.tgz",
+      "integrity": "sha512-C6SU/53LB31BEgRg+omznBEMY4SjHU3ricV6zBcAe1EeILKkeScr+fZXtaI5WyDbkVowJxxAI6h73NcFPmXolQ==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "requires": {
+        "@colors/colors": "1.5.0",
+        "body-parser": "^1.19.0",
+        "braces": "^3.0.2",
+        "chokidar": "^3.5.1",
+        "connect": "^3.7.0",
+        "di": "^0.0.1",
+        "dom-serialize": "^2.2.1",
+        "glob": "^7.1.7",
+        "graceful-fs": "^4.2.6",
+        "http-proxy": "^1.18.1",
+        "isbinaryfile": "^4.0.8",
+        "lodash": "^4.17.21",
+        "log4js": "^6.4.1",
+        "mime": "^2.5.2",
+        "minimatch": "^3.0.4",
+        "mkdirp": "^0.5.5",
+        "qjobs": "^1.2.0",
+        "range-parser": "^1.2.1",
+        "rimraf": "^3.0.2",
+        "socket.io": "^4.4.1",
+        "source-map": "^0.6.1",
+        "tmp": "^0.2.1",
+        "ua-parser-js": "^0.7.30",
+        "yargs": "^16.1.1"
+      },
+      "dependencies": {
+        "mkdirp": {
+          "version": "0.5.6",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
+          "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+          "dev": true,
+          "optional": true,
+          "peer": true,
+          "requires": {
+            "minimist": "^1.2.6"
+          }
+        },
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+          "dev": true,
+          "optional": true,
+          "peer": true
+        },
+        "tmp": {
+          "version": "0.2.1",
+          "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+          "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+          "dev": true,
+          "optional": true,
+          "peer": true,
+          "requires": {
+            "rimraf": "^3.0.0"
+          }
+        },
+        "yargs": {
+          "version": "16.2.0",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+          "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+          "dev": true,
+          "optional": true,
+          "peer": true,
+          "requires": {
+            "cliui": "^7.0.2",
+            "escalade": "^3.1.1",
+            "get-caller-file": "^2.0.5",
+            "require-directory": "^2.1.1",
+            "string-width": "^4.2.0",
+            "y18n": "^5.0.5",
+            "yargs-parser": "^20.2.2"
+          }
+        },
+        "yargs-parser": {
+          "version": "20.2.9",
+          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
+          "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
+          "dev": true,
+          "optional": true,
+          "peer": true
+        }
+      }
+    },
+    "karma-source-map-support": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz",
+      "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==",
+      "dev": true,
+      "requires": {
+        "source-map-support": "^0.5.5"
+      }
+    },
+    "katex": {
+      "version": "0.16.0",
+      "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.0.tgz",
+      "integrity": "sha512-wPRB4iUPysfH97wTgG5/tRLYxmKVq6Q4jRAWRVOUxXB1dsiv4cvcNjqabHkrOvJHM1Bpk3WrgmllSO1vIvP24w==",
+      "optional": true,
+      "requires": {
+        "commander": "^8.0.0"
+      },
+      "dependencies": {
+        "commander": {
+          "version": "8.3.0",
+          "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
+          "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
+          "optional": true
+        }
+      }
+    },
+    "khroma": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.0.0.tgz",
+      "integrity": "sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==",
+      "optional": true
+    },
+    "kind-of": {
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+      "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+      "dev": true
+    },
+    "klona": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz",
+      "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==",
+      "dev": true
+    },
+    "launch-editor": {
+      "version": "2.6.0",
+      "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz",
+      "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==",
+      "dev": true,
+      "requires": {
+        "picocolors": "^1.0.0",
+        "shell-quote": "^1.7.3"
+      }
+    },
+    "layout-base": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz",
+      "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==",
+      "optional": true
+    },
+    "lazystream": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz",
+      "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==",
+      "dev": true,
+      "requires": {
+        "readable-stream": "^2.0.5"
+      },
+      "dependencies": {
+        "readable-stream": {
+          "version": "2.3.7",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+          "dev": true,
+          "requires": {
+            "core-util-is": "~1.0.0",
+            "inherits": "~2.0.3",
+            "isarray": "~1.0.0",
+            "process-nextick-args": "~2.0.0",
+            "safe-buffer": "~5.1.1",
+            "string_decoder": "~1.1.1",
+            "util-deprecate": "~1.0.1"
+          }
+        },
+        "string_decoder": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+          "dev": true,
+          "requires": {
+            "safe-buffer": "~5.1.0"
+          }
+        }
+      }
+    },
+    "less": {
+      "version": "4.1.3",
+      "resolved": "https://registry.npmjs.org/less/-/less-4.1.3.tgz",
+      "integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==",
+      "dev": true,
+      "requires": {
+        "copy-anything": "^2.0.1",
+        "errno": "^0.1.1",
+        "graceful-fs": "^4.1.2",
+        "image-size": "~0.5.0",
+        "make-dir": "^2.1.0",
+        "mime": "^1.4.1",
+        "needle": "^3.1.0",
+        "parse-node-version": "^1.0.1",
+        "source-map": "~0.6.0",
+        "tslib": "^2.3.0"
+      },
+      "dependencies": {
+        "make-dir": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+          "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "pify": "^4.0.1",
+            "semver": "^5.6.0"
+          }
+        },
+        "mime": {
+          "version": "1.6.0",
+          "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+          "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+          "dev": true,
+          "optional": true
+        },
+        "pify": {
+          "version": "4.0.1",
+          "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+          "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+          "dev": true,
+          "optional": true
+        },
+        "semver": {
+          "version": "5.7.1",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+          "dev": true,
+          "optional": true
+        },
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+          "dev": true,
+          "optional": true
+        }
+      }
+    },
+    "less-loader": {
+      "version": "11.1.0",
+      "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz",
+      "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==",
+      "dev": true,
+      "requires": {
+        "klona": "^2.0.4"
+      }
+    },
+    "levn": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+      "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+      "dev": true,
+      "requires": {
+        "prelude-ls": "^1.2.1",
+        "type-check": "~0.4.0"
+      }
+    },
+    "license-webpack-plugin": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz",
+      "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==",
+      "dev": true,
+      "requires": {
+        "webpack-sources": "^3.0.0"
+      }
+    },
+    "lie": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
+      "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
+      "dev": true,
+      "requires": {
+        "immediate": "~3.0.5"
+      }
+    },
+    "lilconfig": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
+      "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
+      "dev": true
+    },
+    "lines-and-columns": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+      "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
+      "dev": true
+    },
+    "load-json-file": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+      "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==",
+      "dev": true,
+      "requires": {
+        "graceful-fs": "^4.1.2",
+        "parse-json": "^4.0.0",
+        "pify": "^3.0.0",
+        "strip-bom": "^3.0.0"
+      },
+      "dependencies": {
+        "parse-json": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+          "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==",
+          "dev": true,
+          "requires": {
+            "error-ex": "^1.3.1",
+            "json-parse-better-errors": "^1.0.1"
+          }
+        },
+        "pify": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+          "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
+          "dev": true
+        }
+      }
+    },
+    "loader-runner": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz",
+      "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==",
+      "dev": true
+    },
+    "loader-utils": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz",
+      "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==",
+      "dev": true
+    },
+    "locate-path": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+      "dev": true,
+      "requires": {
+        "p-locate": "^4.1.0"
+      }
+    },
+    "lodash": {
+      "version": "4.17.21",
+      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+      "devOptional": true
+    },
+    "lodash-es": {
+      "version": "4.17.21",
+      "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
+      "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==",
+      "optional": true
+    },
+    "lodash.debounce": {
+      "version": "4.0.8",
+      "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+      "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
+      "dev": true
+    },
+    "lodash.defaults": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
+      "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==",
+      "dev": true
+    },
+    "lodash.difference": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz",
+      "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==",
+      "dev": true
+    },
+    "lodash.flatten": {
+      "version": "4.4.0",
+      "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
+      "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==",
+      "dev": true
+    },
+    "lodash.isplainobject": {
+      "version": "4.0.6",
+      "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+      "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==",
+      "dev": true
+    },
+    "lodash.merge": {
+      "version": "4.6.2",
+      "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+      "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+      "dev": true
+    },
+    "lodash.union": {
+      "version": "4.6.0",
+      "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz",
+      "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==",
+      "dev": true
+    },
+    "log-symbols": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+      "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+      "dev": true,
+      "requires": {
+        "chalk": "^4.1.0",
+        "is-unicode-supported": "^0.1.0"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+          "dev": true,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "chalk": {
+          "version": "4.1.2",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+          "dev": true
+        },
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+          "dev": true
+        },
+        "supports-color": {
+          "version": "7.2.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+          "dev": true,
+          "requires": {
+            "has-flag": "^4.0.0"
+          }
+        }
+      }
+    },
+    "log4js": {
+      "version": "6.6.0",
+      "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.6.0.tgz",
+      "integrity": "sha512-3v8R7fd45UB6THucSht6wN2/7AZEruQbXdjygPZcxt5TA/msO6si9CN5MefUuKXbYnJHTBnYcx4famwcyQd+sA==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "requires": {
+        "date-format": "^4.0.11",
+        "debug": "^4.3.4",
+        "flatted": "^3.2.5",
+        "rfdc": "^1.3.0",
+        "streamroller": "^3.1.1"
+      }
+    },
+    "lru-cache": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+      "requires": {
+        "yallist": "^4.0.0"
+      }
+    },
+    "magic-string": {
+      "version": "0.30.0",
+      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz",
+      "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==",
+      "dev": true,
+      "requires": {
+        "@jridgewell/sourcemap-codec": "^1.4.13"
+      }
+    },
+    "make-dir": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+      "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+      "dev": true,
+      "requires": {
+        "semver": "^6.0.0"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+          "dev": true
+        }
+      }
+    },
+    "make-error": {
+      "version": "1.3.6",
+      "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
+      "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
+      "dev": true
+    },
+    "make-fetch-happen": {
+      "version": "10.2.1",
+      "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz",
+      "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==",
+      "dev": true,
+      "requires": {
+        "agentkeepalive": "^4.2.1",
+        "cacache": "^16.1.0",
+        "http-cache-semantics": "^4.1.0",
+        "http-proxy-agent": "^5.0.0",
+        "https-proxy-agent": "^5.0.0",
+        "is-lambda": "^1.0.1",
+        "lru-cache": "^7.7.1",
+        "minipass": "^3.1.6",
+        "minipass-collect": "^1.0.2",
+        "minipass-fetch": "^2.0.3",
+        "minipass-flush": "^1.0.5",
+        "minipass-pipeline": "^1.2.4",
+        "negotiator": "^0.6.3",
+        "promise-retry": "^2.0.1",
+        "socks-proxy-agent": "^7.0.0",
+        "ssri": "^9.0.0"
+      },
+      "dependencies": {
+        "@npmcli/fs": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz",
+          "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==",
+          "dev": true,
+          "requires": {
+            "@gar/promisify": "^1.1.3",
+            "semver": "^7.3.5"
+          }
+        },
+        "brace-expansion": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+          "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+          "dev": true,
+          "requires": {
+            "balanced-match": "^1.0.0"
+          }
+        },
+        "cacache": {
+          "version": "16.1.3",
+          "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz",
+          "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==",
+          "dev": true,
+          "requires": {
+            "@npmcli/fs": "^2.1.0",
+            "@npmcli/move-file": "^2.0.0",
+            "chownr": "^2.0.0",
+            "fs-minipass": "^2.1.0",
+            "glob": "^8.0.1",
+            "infer-owner": "^1.0.4",
+            "lru-cache": "^7.7.1",
+            "minipass": "^3.1.6",
+            "minipass-collect": "^1.0.2",
+            "minipass-flush": "^1.0.5",
+            "minipass-pipeline": "^1.2.4",
+            "mkdirp": "^1.0.4",
+            "p-map": "^4.0.0",
+            "promise-inflight": "^1.0.1",
+            "rimraf": "^3.0.2",
+            "ssri": "^9.0.0",
+            "tar": "^6.1.11",
+            "unique-filename": "^2.0.0"
+          }
+        },
+        "fs-minipass": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+          "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+          "dev": true,
+          "requires": {
+            "minipass": "^3.0.0"
+          }
+        },
+        "glob": {
+          "version": "8.1.0",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+          "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+          "dev": true,
+          "requires": {
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^5.0.1",
+            "once": "^1.3.0"
+          }
+        },
+        "lru-cache": {
+          "version": "7.18.3",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+          "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+          "dev": true
+        },
+        "minimatch": {
+          "version": "5.1.6",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+          "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "^2.0.1"
+          }
+        },
+        "minipass": {
+          "version": "3.3.6",
+          "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+          "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+          "dev": true,
+          "requires": {
+            "yallist": "^4.0.0"
+          }
+        },
+        "ssri": {
+          "version": "9.0.1",
+          "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz",
+          "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==",
+          "dev": true,
+          "requires": {
+            "minipass": "^3.1.1"
+          }
+        },
+        "unique-filename": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz",
+          "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==",
+          "dev": true,
+          "requires": {
+            "unique-slug": "^3.0.0"
+          }
+        },
+        "unique-slug": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz",
+          "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==",
+          "dev": true,
+          "requires": {
+            "imurmurhash": "^0.1.4"
+          }
+        }
+      }
+    },
+    "marked": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz",
+      "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==",
+      "peer": true
+    },
+    "media-typer": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+      "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
+      "dev": true
+    },
+    "memfs": {
+      "version": "3.5.1",
+      "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.1.tgz",
+      "integrity": "sha512-UWbFJKvj5k+nETdteFndTpYxdeTMox/ULeqX5k/dpaQJCCFmj5EeKv3dBcyO2xmkRAx2vppRu5dVG7SOtsGOzA==",
+      "dev": true,
+      "requires": {
+        "fs-monkey": "^1.0.3"
+      }
+    },
+    "memorystream": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz",
+      "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==",
+      "dev": true
+    },
+    "merge-descriptors": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+      "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==",
+      "dev": true
+    },
+    "merge-stream": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+      "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
+      "dev": true
+    },
+    "merge2": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+      "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+      "dev": true
+    },
+    "mermaid": {
+      "version": "9.4.3",
+      "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-9.4.3.tgz",
+      "integrity": "sha512-TLkQEtqhRSuEHSE34lh5bCa94KATCyluAXmFnNI2PRZwOpXFeqiJWwZl+d2CcemE1RS6QbbueSSq9QIg8Uxcyw==",
+      "optional": true,
+      "requires": {
+        "@braintree/sanitize-url": "^6.0.0",
+        "cytoscape": "^3.23.0",
+        "cytoscape-cose-bilkent": "^4.1.0",
+        "cytoscape-fcose": "^2.1.0",
+        "d3": "^7.4.0",
+        "dagre-d3-es": "7.0.9",
+        "dayjs": "^1.11.7",
+        "dompurify": "2.4.3",
+        "elkjs": "^0.8.2",
+        "khroma": "^2.0.0",
+        "lodash-es": "^4.17.21",
+        "non-layered-tidy-tree-layout": "^2.0.2",
+        "stylis": "^4.1.2",
+        "ts-dedent": "^2.2.0",
+        "uuid": "^9.0.0",
+        "web-worker": "^1.2.0"
+      },
+      "dependencies": {
+        "uuid": {
+          "version": "9.0.0",
+          "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
+          "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
+          "optional": true
+        }
+      }
+    },
+    "methods": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+      "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
+      "dev": true
+    },
+    "micromatch": {
+      "version": "4.0.5",
+      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+      "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+      "dev": true,
+      "requires": {
+        "braces": "^3.0.2",
+        "picomatch": "^2.3.1"
+      }
+    },
+    "mime": {
+      "version": "2.6.0",
+      "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
+      "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
+    "mime-db": {
+      "version": "1.51.0",
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz",
+      "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==",
+      "dev": true
+    },
+    "mime-types": {
+      "version": "2.1.34",
+      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz",
+      "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==",
+      "dev": true,
+      "requires": {
+        "mime-db": "1.51.0"
+      }
+    },
+    "mimic-fn": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+      "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+      "dev": true
+    },
+    "mini-css-extract-plugin": {
+      "version": "2.7.5",
+      "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.5.tgz",
+      "integrity": "sha512-9HaR++0mlgom81s95vvNjxkg52n2b5s//3ZTI1EtzFb98awsLSivs2LMsVqnQ3ay0PVhqWcGNyDaTE961FOcjQ==",
+      "dev": true,
+      "requires": {
+        "schema-utils": "^4.0.0"
+      }
+    },
+    "minimalistic-assert": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
+      "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
+      "dev": true
+    },
+    "minimatch": {
+      "version": "3.0.5",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz",
+      "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==",
+      "dev": true,
+      "requires": {
+        "brace-expansion": "^1.1.7"
+      }
+    },
+    "minimist": {
+      "version": "1.2.6",
+      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
+      "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
+      "dev": true
+    },
+    "minipass": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
+      "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
+      "dev": true
+    },
+    "minipass-collect": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
+      "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
+      "dev": true,
+      "requires": {
+        "minipass": "^3.0.0"
+      },
+      "dependencies": {
+        "minipass": {
+          "version": "3.3.6",
+          "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+          "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+          "dev": true,
+          "requires": {
+            "yallist": "^4.0.0"
+          }
+        }
+      }
+    },
+    "minipass-fetch": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz",
+      "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==",
+      "dev": true,
+      "requires": {
+        "encoding": "^0.1.13",
+        "minipass": "^3.1.6",
+        "minipass-sized": "^1.0.3",
+        "minizlib": "^2.1.2"
+      },
+      "dependencies": {
+        "minipass": {
+          "version": "3.3.6",
+          "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+          "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+          "dev": true,
+          "requires": {
+            "yallist": "^4.0.0"
+          }
+        }
+      }
+    },
+    "minipass-flush": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
+      "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
+      "dev": true,
+      "requires": {
+        "minipass": "^3.0.0"
+      },
+      "dependencies": {
+        "minipass": {
+          "version": "3.3.6",
+          "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+          "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+          "dev": true,
+          "requires": {
+            "yallist": "^4.0.0"
+          }
+        }
+      }
+    },
+    "minipass-json-stream": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz",
+      "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==",
+      "dev": true,
+      "requires": {
+        "jsonparse": "^1.3.1",
+        "minipass": "^3.0.0"
+      },
+      "dependencies": {
+        "minipass": {
+          "version": "3.3.6",
+          "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+          "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+          "dev": true,
+          "requires": {
+            "yallist": "^4.0.0"
+          }
+        }
+      }
+    },
+    "minipass-pipeline": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
+      "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
+      "dev": true,
+      "requires": {
+        "minipass": "^3.0.0"
+      },
+      "dependencies": {
+        "minipass": {
+          "version": "3.3.6",
+          "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+          "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+          "dev": true,
+          "requires": {
+            "yallist": "^4.0.0"
+          }
+        }
+      }
+    },
+    "minipass-sized": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
+      "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
+      "dev": true,
+      "requires": {
+        "minipass": "^3.0.0"
+      },
+      "dependencies": {
+        "minipass": {
+          "version": "3.3.6",
+          "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+          "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+          "dev": true,
+          "requires": {
+            "yallist": "^4.0.0"
+          }
+        }
+      }
+    },
+    "minizlib": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
+      "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
+      "dev": true,
+      "requires": {
+        "minipass": "^3.0.0",
+        "yallist": "^4.0.0"
+      },
+      "dependencies": {
+        "minipass": {
+          "version": "3.3.6",
+          "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+          "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+          "dev": true,
+          "requires": {
+            "yallist": "^4.0.0"
+          }
+        }
+      }
+    },
+    "mkdirp": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+      "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+      "dev": true
+    },
+    "mrmime": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz",
+      "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==",
+      "dev": true
+    },
+    "ms": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+    },
+    "multicast-dns": {
+      "version": "7.2.5",
+      "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz",
+      "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==",
+      "dev": true,
+      "requires": {
+        "dns-packet": "^5.2.2",
+        "thunky": "^1.0.2"
+      }
+    },
+    "mute-stream": {
+      "version": "0.0.8",
+      "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
+      "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
+      "dev": true
+    },
+    "mz": {
+      "version": "2.7.0",
+      "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
+      "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
+      "dev": true,
+      "requires": {
+        "any-promise": "^1.0.0",
+        "object-assign": "^4.0.1",
+        "thenify-all": "^1.0.0"
+      }
+    },
+    "nanoid": {
+      "version": "3.3.6",
+      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
+      "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA=="
+    },
+    "natural-compare": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+      "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
+      "dev": true
+    },
+    "natural-compare-lite": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz",
+      "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==",
+      "dev": true
+    },
+    "needle": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz",
+      "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "debug": "^3.2.6",
+        "iconv-lite": "^0.6.3",
+        "sax": "^1.2.4"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "3.2.7",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+          "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "ms": "^2.1.1"
+          }
+        }
+      }
+    },
+    "negotiator": {
+      "version": "0.6.3",
+      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+      "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
+      "dev": true
+    },
+    "neo-async": {
+      "version": "2.6.2",
+      "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
+      "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
+      "dev": true
+    },
+    "ng-packagr": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-16.0.1.tgz",
+      "integrity": "sha512-MiJvSR+8olzCViwkQ6ihHLFWVNLdsfUNPCxrZqR7u1nOC/dXlWPf//l2IG0KLdVhHNCiM64mNdwaTpgDEBMD3w==",
+      "dev": true,
+      "requires": {
+        "@rollup/plugin-json": "^6.0.0",
+        "@rollup/plugin-node-resolve": "^15.0.0",
+        "ajv": "^8.11.0",
+        "ansi-colors": "^4.1.3",
+        "autoprefixer": "^10.4.12",
+        "browserslist": "^4.21.4",
+        "cacache": "^17.0.0",
+        "chokidar": "^3.5.3",
+        "commander": "^10.0.0",
+        "convert-source-map": "^2.0.0",
+        "dependency-graph": "^0.11.0",
+        "esbuild": "^0.17.0",
+        "esbuild-wasm": "^0.17.0",
+        "fast-glob": "^3.2.12",
+        "find-cache-dir": "^3.3.2",
+        "injection-js": "^2.4.0",
+        "jsonc-parser": "^3.2.0",
+        "less": "^4.1.3",
+        "ora": "^5.1.0",
+        "piscina": "^3.2.0",
+        "postcss": "^8.4.16",
+        "postcss-url": "^10.1.3",
+        "rollup": "^3.0.0",
+        "rxjs": "^7.5.6",
+        "sass": "^1.55.0"
+      },
+      "dependencies": {
+        "commander": {
+          "version": "10.0.1",
+          "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
+          "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
+          "dev": true
+        },
+        "convert-source-map": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+          "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+          "dev": true
+        }
+      }
+    },
+    "ng-zorro-antd": {
+      "version": "16.1.0",
+      "resolved": "https://registry.npmjs.org/ng-zorro-antd/-/ng-zorro-antd-16.1.0.tgz",
+      "integrity": "sha512-+KjXoA0+v/liTtVIHswmOAzB9UaGADrO1tL9AOZsTLq5sZM8+DmhtixGRoSMD8HkkhpMFhsgEIxoHlkxtn1SXg==",
+      "requires": {
+        "@angular/cdk": "^16.0.0",
+        "@ant-design/icons-angular": "^16.0.0",
+        "date-fns": "^2.16.1",
+        "tslib": "^2.3.0"
+      }
+    },
+    "ngx-markdown": {
+      "version": "16.0.0",
+      "resolved": "https://registry.npmjs.org/ngx-markdown/-/ngx-markdown-16.0.0.tgz",
+      "integrity": "sha512-/rlbXi+HBscJCDdwaTWIUrRkvwJicPnuAgeugOCZa0UbZ4VCWV3U0+uB1Zv6krRDF6FXJNXNLTUrMZV7yH8I6A==",
+      "requires": {
+        "clipboard": "^2.0.11",
+        "emoji-toolkit": "^7.0.0",
+        "katex": "^0.16.0",
+        "mermaid": "^9.1.2",
+        "prismjs": "^1.28.0",
+        "tslib": "^2.3.0"
+      }
+    },
+    "nice-napi": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz",
+      "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "node-addon-api": "^3.0.0",
+        "node-gyp-build": "^4.2.2"
+      }
+    },
+    "nice-try": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
+      "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
+      "dev": true
+    },
+    "node-addon-api": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz",
+      "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==",
+      "dev": true
+    },
+    "node-forge": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
+      "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
+      "dev": true
+    },
+    "node-gyp": {
+      "version": "9.3.1",
+      "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz",
+      "integrity": "sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==",
+      "dev": true,
+      "requires": {
+        "env-paths": "^2.2.0",
+        "glob": "^7.1.4",
+        "graceful-fs": "^4.2.6",
+        "make-fetch-happen": "^10.0.3",
+        "nopt": "^6.0.0",
+        "npmlog": "^6.0.0",
+        "rimraf": "^3.0.2",
+        "semver": "^7.3.5",
+        "tar": "^6.1.2",
+        "which": "^2.0.2"
+      },
+      "dependencies": {
+        "which": {
+          "version": "2.0.2",
+          "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+          "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+          "dev": true,
+          "requires": {
+            "isexe": "^2.0.0"
+          }
+        }
+      }
+    },
+    "node-gyp-build": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz",
+      "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==",
+      "dev": true
+    },
+    "node-releases": {
+      "version": "2.0.10",
+      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz",
+      "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w=="
+    },
+    "non-layered-tidy-tree-layout": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz",
+      "integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==",
+      "optional": true
+    },
+    "nopt": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz",
+      "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==",
+      "dev": true,
+      "requires": {
+        "abbrev": "^1.0.0"
+      }
+    },
+    "normalize-package-data": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz",
+      "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==",
+      "dev": true,
+      "requires": {
+        "hosted-git-info": "^6.0.0",
+        "is-core-module": "^2.8.1",
+        "semver": "^7.3.5",
+        "validate-npm-package-license": "^3.0.4"
+      }
+    },
+    "normalize-path": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
+    },
+    "normalize-range": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+      "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI="
+    },
+    "npm-bundled": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz",
+      "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==",
+      "dev": true,
+      "requires": {
+        "npm-normalize-package-bin": "^3.0.0"
+      }
+    },
+    "npm-install-checks": {
+      "version": "6.1.1",
+      "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.1.1.tgz",
+      "integrity": "sha512-dH3GmQL4vsPtld59cOn8uY0iOqRmqKvV+DLGwNXV/Q7MDgD2QfOADWd/mFXcIE5LVhYYGjA3baz6W9JneqnuCw==",
+      "dev": true,
+      "requires": {
+        "semver": "^7.1.1"
+      }
+    },
+    "npm-normalize-package-bin": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz",
+      "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==",
+      "dev": true
+    },
+    "npm-package-arg": {
+      "version": "10.1.0",
+      "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz",
+      "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==",
+      "dev": true,
+      "requires": {
+        "hosted-git-info": "^6.0.0",
+        "proc-log": "^3.0.0",
+        "semver": "^7.3.5",
+        "validate-npm-package-name": "^5.0.0"
+      }
+    },
+    "npm-packlist": {
+      "version": "7.0.4",
+      "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz",
+      "integrity": "sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==",
+      "dev": true,
+      "requires": {
+        "ignore-walk": "^6.0.0"
+      }
+    },
+    "npm-pick-manifest": {
+      "version": "8.0.1",
+      "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-8.0.1.tgz",
+      "integrity": "sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==",
+      "dev": true,
+      "requires": {
+        "npm-install-checks": "^6.0.0",
+        "npm-normalize-package-bin": "^3.0.0",
+        "npm-package-arg": "^10.0.0",
+        "semver": "^7.3.5"
+      }
+    },
+    "npm-registry-fetch": {
+      "version": "14.0.5",
+      "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.5.tgz",
+      "integrity": "sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==",
+      "dev": true,
+      "requires": {
+        "make-fetch-happen": "^11.0.0",
+        "minipass": "^5.0.0",
+        "minipass-fetch": "^3.0.0",
+        "minipass-json-stream": "^1.0.1",
+        "minizlib": "^2.1.2",
+        "npm-package-arg": "^10.0.0",
+        "proc-log": "^3.0.0"
+      },
+      "dependencies": {
+        "lru-cache": {
+          "version": "7.18.3",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+          "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+          "dev": true
+        },
+        "make-fetch-happen": {
+          "version": "11.1.1",
+          "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz",
+          "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==",
+          "dev": true,
+          "requires": {
+            "agentkeepalive": "^4.2.1",
+            "cacache": "^17.0.0",
+            "http-cache-semantics": "^4.1.1",
+            "http-proxy-agent": "^5.0.0",
+            "https-proxy-agent": "^5.0.0",
+            "is-lambda": "^1.0.1",
+            "lru-cache": "^7.7.1",
+            "minipass": "^5.0.0",
+            "minipass-fetch": "^3.0.0",
+            "minipass-flush": "^1.0.5",
+            "minipass-pipeline": "^1.2.4",
+            "negotiator": "^0.6.3",
+            "promise-retry": "^2.0.1",
+            "socks-proxy-agent": "^7.0.0",
+            "ssri": "^10.0.0"
+          }
+        },
+        "minipass-fetch": {
+          "version": "3.0.3",
+          "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz",
+          "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==",
+          "dev": true,
+          "requires": {
+            "encoding": "^0.1.13",
+            "minipass": "^5.0.0",
+            "minipass-sized": "^1.0.3",
+            "minizlib": "^2.1.2"
+          }
+        }
+      }
+    },
+    "npm-run-all": {
+      "version": "4.1.5",
+      "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz",
+      "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==",
+      "dev": true,
+      "requires": {
+        "ansi-styles": "^3.2.1",
+        "chalk": "^2.4.1",
+        "cross-spawn": "^6.0.5",
+        "memorystream": "^0.3.1",
+        "minimatch": "^3.0.4",
+        "pidtree": "^0.3.0",
+        "read-pkg": "^3.0.0",
+        "shell-quote": "^1.6.1",
+        "string.prototype.padend": "^3.0.0"
+      },
+      "dependencies": {
+        "cross-spawn": {
+          "version": "6.0.5",
+          "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+          "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+          "dev": true,
+          "requires": {
+            "nice-try": "^1.0.4",
+            "path-key": "^2.0.1",
+            "semver": "^5.5.0",
+            "shebang-command": "^1.2.0",
+            "which": "^1.2.9"
+          }
+        },
+        "path-key": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+          "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==",
+          "dev": true
+        },
+        "semver": {
+          "version": "5.7.2",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+          "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+          "dev": true
+        },
+        "shebang-command": {
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+          "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==",
+          "dev": true,
+          "requires": {
+            "shebang-regex": "^1.0.0"
+          }
+        },
+        "shebang-regex": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+          "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==",
+          "dev": true
+        }
+      }
+    },
+    "npm-run-path": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+      "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+      "dev": true,
+      "requires": {
+        "path-key": "^3.0.0"
+      }
+    },
+    "npmlog": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
+      "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
+      "dev": true,
+      "requires": {
+        "are-we-there-yet": "^3.0.0",
+        "console-control-strings": "^1.1.0",
+        "gauge": "^4.0.3",
+        "set-blocking": "^2.0.0"
+      }
+    },
+    "nth-check": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
+      "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
+      "dev": true,
+      "requires": {
+        "boolbase": "^1.0.0"
+      }
+    },
+    "nx": {
+      "version": "16.0.2",
+      "resolved": "https://registry.npmjs.org/nx/-/nx-16.0.2.tgz",
+      "integrity": "sha512-8Z9Bo1D2VbYjyC/F2ONensKjm10snz1UfkzURZiFA+oXikBPldiH1u67TOTpoCYZfyYQg4l6h6EpOaAvHF6Abg==",
+      "dev": true,
+      "requires": {
+        "@nrwl/tao": "16.0.2",
+        "@nx/nx-darwin-arm64": "16.0.2",
+        "@nx/nx-darwin-x64": "16.0.2",
+        "@nx/nx-linux-arm-gnueabihf": "16.0.2",
+        "@nx/nx-linux-arm64-gnu": "16.0.2",
+        "@nx/nx-linux-arm64-musl": "16.0.2",
+        "@nx/nx-linux-x64-gnu": "16.0.2",
+        "@nx/nx-linux-x64-musl": "16.0.2",
+        "@nx/nx-win32-arm64-msvc": "16.0.2",
+        "@nx/nx-win32-x64-msvc": "16.0.2",
+        "@parcel/watcher": "2.0.4",
+        "@yarnpkg/lockfile": "^1.1.0",
+        "@yarnpkg/parsers": "^3.0.0-rc.18",
+        "@zkochan/js-yaml": "0.0.6",
+        "axios": "^1.0.0",
+        "chalk": "^4.1.0",
+        "cli-cursor": "3.1.0",
+        "cli-spinners": "2.6.1",
+        "cliui": "^7.0.2",
+        "dotenv": "~10.0.0",
+        "enquirer": "~2.3.6",
+        "fast-glob": "3.2.7",
+        "figures": "3.2.0",
+        "flat": "^5.0.2",
+        "fs-extra": "^11.1.0",
+        "glob": "7.1.4",
+        "ignore": "^5.0.4",
+        "js-yaml": "4.1.0",
+        "jsonc-parser": "3.2.0",
+        "lines-and-columns": "~2.0.3",
+        "minimatch": "3.0.5",
+        "npm-run-path": "^4.0.1",
+        "open": "^8.4.0",
+        "semver": "7.3.4",
+        "string-width": "^4.2.3",
+        "strong-log-transformer": "^2.1.0",
+        "tar-stream": "~2.2.0",
+        "tmp": "~0.2.1",
+        "tsconfig-paths": "^4.1.2",
+        "tslib": "^2.3.0",
+        "v8-compile-cache": "2.3.0",
+        "yargs": "^17.6.2",
+        "yargs-parser": "21.1.1"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+          "dev": true,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "argparse": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+          "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+          "dev": true
+        },
+        "chalk": {
+          "version": "4.1.2",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+          "dev": true
+        },
+        "fast-glob": {
+          "version": "3.2.7",
+          "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz",
+          "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==",
+          "dev": true,
+          "requires": {
+            "@nodelib/fs.stat": "^2.0.2",
+            "@nodelib/fs.walk": "^1.2.3",
+            "glob-parent": "^5.1.2",
+            "merge2": "^1.3.0",
+            "micromatch": "^4.0.4"
+          }
+        },
+        "fs-extra": {
+          "version": "11.1.1",
+          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz",
+          "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.2.0",
+            "jsonfile": "^6.0.1",
+            "universalify": "^2.0.0"
+          }
+        },
+        "glob": {
+          "version": "7.1.4",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
+          "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
+          "dev": true,
+          "requires": {
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^3.0.4",
+            "once": "^1.3.0",
+            "path-is-absolute": "^1.0.0"
+          }
+        },
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+          "dev": true
+        },
+        "js-yaml": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+          "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+          "dev": true,
+          "requires": {
+            "argparse": "^2.0.1"
+          }
+        },
+        "lines-and-columns": {
+          "version": "2.0.3",
+          "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz",
+          "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==",
+          "dev": true
+        },
+        "semver": {
+          "version": "7.3.4",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+          "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+          "dev": true,
+          "requires": {
+            "lru-cache": "^6.0.0"
+          }
+        },
+        "supports-color": {
+          "version": "7.2.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+          "dev": true,
+          "requires": {
+            "has-flag": "^4.0.0"
+          }
+        },
+        "tmp": {
+          "version": "0.2.1",
+          "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+          "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+          "dev": true,
+          "requires": {
+            "rimraf": "^3.0.0"
+          }
+        }
+      }
+    },
+    "oauth-sign": {
+      "version": "0.9.0",
+      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+      "dev": true
+    },
+    "object-assign": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+      "dev": true
+    },
+    "object-hash": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
+      "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
+      "dev": true
+    },
+    "object-inspect": {
+      "version": "1.13.1",
+      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
+      "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
+      "dev": true
+    },
+    "object-is": {
+      "version": "1.1.5",
+      "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
+      "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.1.3"
+      }
+    },
+    "object-keys": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+      "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+      "dev": true
+    },
+    "object.assign": {
+      "version": "4.1.5",
+      "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz",
+      "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.5",
+        "define-properties": "^1.2.1",
+        "has-symbols": "^1.0.3",
+        "object-keys": "^1.1.1"
+      }
+    },
+    "obuf": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
+      "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
+      "dev": true
+    },
+    "on-finished": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+      "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "requires": {
+        "ee-first": "1.1.1"
+      }
+    },
+    "on-headers": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
+      "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
+      "dev": true
+    },
+    "once": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+      "requires": {
+        "wrappy": "1"
+      }
+    },
+    "onetime": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+      "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+      "dev": true,
+      "requires": {
+        "mimic-fn": "^2.1.0"
+      }
+    },
+    "open": {
+      "version": "8.4.2",
+      "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz",
+      "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
+      "dev": true,
+      "requires": {
+        "define-lazy-prop": "^2.0.0",
+        "is-docker": "^2.1.1",
+        "is-wsl": "^2.2.0"
+      }
+    },
+    "opener": {
+      "version": "1.5.2",
+      "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz",
+      "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==",
+      "dev": true
+    },
+    "optionator": {
+      "version": "0.9.1",
+      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
+      "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+      "dev": true,
+      "requires": {
+        "deep-is": "^0.1.3",
+        "fast-levenshtein": "^2.0.6",
+        "levn": "^0.4.1",
+        "prelude-ls": "^1.2.1",
+        "type-check": "^0.4.0",
+        "word-wrap": "^1.2.3"
+      }
+    },
+    "ora": {
+      "version": "5.4.1",
+      "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
+      "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
+      "dev": true,
+      "requires": {
+        "bl": "^4.1.0",
+        "chalk": "^4.1.0",
+        "cli-cursor": "^3.1.0",
+        "cli-spinners": "^2.5.0",
+        "is-interactive": "^1.0.0",
+        "is-unicode-supported": "^0.1.0",
+        "log-symbols": "^4.1.0",
+        "strip-ansi": "^6.0.0",
+        "wcwidth": "^1.0.1"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+          "dev": true,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "chalk": {
+          "version": "4.1.2",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+          "dev": true
+        },
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+          "dev": true
+        },
+        "supports-color": {
+          "version": "7.2.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+          "dev": true,
+          "requires": {
+            "has-flag": "^4.0.0"
+          }
+        }
+      }
+    },
+    "os-tmpdir": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+      "dev": true
+    },
+    "p-limit": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+      "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+      "dev": true,
+      "requires": {
+        "yocto-queue": "^0.1.0"
+      }
+    },
+    "p-locate": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+      "dev": true,
+      "requires": {
+        "p-limit": "^2.2.0"
+      },
+      "dependencies": {
+        "p-limit": {
+          "version": "2.3.0",
+          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+          "dev": true,
+          "requires": {
+            "p-try": "^2.0.0"
+          }
+        }
+      }
+    },
+    "p-map": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
+      "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
+      "dev": true,
+      "requires": {
+        "aggregate-error": "^3.0.0"
+      }
+    },
+    "p-retry": {
+      "version": "4.6.2",
+      "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz",
+      "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==",
+      "dev": true,
+      "requires": {
+        "@types/retry": "0.12.0",
+        "retry": "^0.13.1"
+      },
+      "dependencies": {
+        "retry": {
+          "version": "0.13.1",
+          "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
+          "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
+          "dev": true
+        }
+      }
+    },
+    "p-try": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+      "dev": true
+    },
+    "pacote": {
+      "version": "15.1.3",
+      "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.1.3.tgz",
+      "integrity": "sha512-aRts8cZqxiJVDitmAh+3z+FxuO3tLNWEmwDRPEpDDiZJaRz06clP4XX112ynMT5uF0QNoMPajBBHnaStUEPJXA==",
+      "dev": true,
+      "requires": {
+        "@npmcli/git": "^4.0.0",
+        "@npmcli/installed-package-contents": "^2.0.1",
+        "@npmcli/promise-spawn": "^6.0.1",
+        "@npmcli/run-script": "^6.0.0",
+        "cacache": "^17.0.0",
+        "fs-minipass": "^3.0.0",
+        "minipass": "^5.0.0",
+        "npm-package-arg": "^10.0.0",
+        "npm-packlist": "^7.0.0",
+        "npm-pick-manifest": "^8.0.0",
+        "npm-registry-fetch": "^14.0.0",
+        "proc-log": "^3.0.0",
+        "promise-retry": "^2.0.1",
+        "read-package-json": "^6.0.0",
+        "read-package-json-fast": "^3.0.0",
+        "sigstore": "^1.3.0",
+        "ssri": "^10.0.0",
+        "tar": "^6.1.11"
+      }
+    },
+    "pako": {
+      "version": "1.0.11",
+      "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
+      "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
+      "dev": true
+    },
+    "parent-module": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+      "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+      "dev": true,
+      "requires": {
+        "callsites": "^3.0.0"
+      }
+    },
+    "parse-json": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+      "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+      "dev": true,
+      "requires": {
+        "@babel/code-frame": "^7.0.0",
+        "error-ex": "^1.3.1",
+        "json-parse-even-better-errors": "^2.3.0",
+        "lines-and-columns": "^1.1.6"
+      }
+    },
+    "parse-node-version": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz",
+      "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==",
+      "dev": true
+    },
+    "parse5": {
+      "version": "7.1.2",
+      "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
+      "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
+      "devOptional": true,
+      "requires": {
+        "entities": "^4.4.0"
+      },
+      "dependencies": {
+        "entities": {
+          "version": "4.5.0",
+          "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+          "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+          "devOptional": true
+        }
+      }
+    },
+    "parse5-html-rewriting-stream": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz",
+      "integrity": "sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==",
+      "dev": true,
+      "requires": {
+        "entities": "^4.3.0",
+        "parse5": "^7.0.0",
+        "parse5-sax-parser": "^7.0.0"
+      },
+      "dependencies": {
+        "entities": {
+          "version": "4.5.0",
+          "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+          "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+          "dev": true
+        }
+      }
+    },
+    "parse5-htmlparser2-tree-adapter": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
+      "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
+      "dev": true,
+      "requires": {
+        "parse5": "^6.0.1"
+      },
+      "dependencies": {
+        "parse5": {
+          "version": "6.0.1",
+          "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+          "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+          "dev": true
+        }
+      }
+    },
+    "parse5-sax-parser": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz",
+      "integrity": "sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==",
+      "dev": true,
+      "requires": {
+        "parse5": "^7.0.0"
+      }
+    },
+    "parseurl": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+      "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+      "dev": true
+    },
+    "path-exists": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+      "dev": true
+    },
+    "path-is-absolute": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+      "dev": true
+    },
+    "path-is-inside": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
+      "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
+      "dev": true
+    },
+    "path-key": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+      "dev": true
+    },
+    "path-parse": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+      "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+      "dev": true
+    },
+    "path-scurry": {
+      "version": "1.9.1",
+      "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.1.tgz",
+      "integrity": "sha512-UgmoiySyjFxP6tscZDgWGEAgsW5ok8W3F5CJDnnH2pozwSTGE6eH7vwTotMwATWA2r5xqdkKdxYPkwlJjAI/3g==",
+      "dev": true,
+      "requires": {
+        "lru-cache": "^9.1.1",
+        "minipass": "^5.0.0 || ^6.0.0"
+      },
+      "dependencies": {
+        "lru-cache": {
+          "version": "9.1.1",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz",
+          "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==",
+          "dev": true
+        }
+      }
+    },
+    "path-to-regexp": {
+      "version": "0.1.7",
+      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+      "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==",
+      "dev": true
+    },
+    "path-type": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+      "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+      "dev": true
+    },
+    "performance-now": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+      "dev": true
+    },
+    "picocolors": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+    },
+    "picomatch": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
+    },
+    "pidtree": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz",
+      "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==",
+      "dev": true
+    },
+    "pify": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+      "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+      "dev": true
+    },
+    "pinkie": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+      "dev": true
+    },
+    "pinkie-promise": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+      "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+      "dev": true,
+      "requires": {
+        "pinkie": "^2.0.0"
+      }
+    },
+    "pirates": {
+      "version": "4.0.5",
+      "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz",
+      "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==",
+      "dev": true
+    },
+    "piscina": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/piscina/-/piscina-3.2.0.tgz",
+      "integrity": "sha512-yn/jMdHRw+q2ZJhFhyqsmANcbF6V2QwmD84c6xRau+QpQOmtrBCoRGdvTfeuFDYXB5W2m6MfLkjkvQa9lUSmIA==",
+      "dev": true,
+      "requires": {
+        "eventemitter-asyncresource": "^1.0.0",
+        "hdr-histogram-js": "^2.0.1",
+        "hdr-histogram-percentiles-obj": "^3.0.0",
+        "nice-napi": "^1.0.2"
+      }
+    },
+    "pkg-dir": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+      "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+      "dev": true,
+      "requires": {
+        "find-up": "^4.0.0"
+      }
+    },
+    "possible-typed-array-names": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
+      "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==",
+      "dev": true
+    },
+    "postcss": {
+      "version": "8.4.23",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz",
+      "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==",
+      "requires": {
+        "nanoid": "^3.3.6",
+        "picocolors": "^1.0.0",
+        "source-map-js": "^1.0.2"
+      }
+    },
+    "postcss-import": {
+      "version": "15.1.0",
+      "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
+      "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
+      "dev": true,
+      "requires": {
+        "postcss-value-parser": "^4.0.0",
+        "read-cache": "^1.0.0",
+        "resolve": "^1.1.7"
+      }
+    },
+    "postcss-js": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz",
+      "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==",
+      "dev": true,
+      "requires": {
+        "camelcase-css": "^2.0.1"
+      }
+    },
+    "postcss-load-config": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz",
+      "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==",
+      "dev": true,
+      "requires": {
+        "lilconfig": "^2.0.5",
+        "yaml": "^2.1.1"
+      }
+    },
+    "postcss-loader": {
+      "version": "7.3.0",
+      "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.0.tgz",
+      "integrity": "sha512-qLAFjvR2BFNz1H930P7mj1iuWJFjGey/nVhimfOAAQ1ZyPpcClAxP8+A55Sl8mBvM+K2a9Pjgdj10KpANWrNfw==",
+      "dev": true,
+      "requires": {
+        "cosmiconfig": "^8.1.3",
+        "jiti": "^1.18.2",
+        "klona": "^2.0.6",
+        "semver": "^7.3.8"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "7.5.1",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz",
+          "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==",
+          "dev": true,
+          "requires": {
+            "lru-cache": "^6.0.0"
+          }
+        }
+      }
+    },
+    "postcss-modules-extract-imports": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
+      "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
+      "dev": true,
+      "requires": {}
+    },
+    "postcss-modules-local-by-default": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz",
+      "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==",
+      "dev": true,
+      "requires": {
+        "icss-utils": "^5.0.0",
+        "postcss-selector-parser": "^6.0.2",
+        "postcss-value-parser": "^4.1.0"
+      }
+    },
+    "postcss-modules-scope": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz",
+      "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==",
+      "dev": true,
+      "requires": {
+        "postcss-selector-parser": "^6.0.4"
+      }
+    },
+    "postcss-modules-values": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
+      "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==",
+      "dev": true,
+      "requires": {
+        "icss-utils": "^5.0.0"
+      }
+    },
+    "postcss-nested": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz",
+      "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==",
+      "dev": true,
+      "requires": {
+        "postcss-selector-parser": "^6.0.11"
+      }
+    },
+    "postcss-scss": {
+      "version": "4.0.6",
+      "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.6.tgz",
+      "integrity": "sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ==",
+      "dev": true,
+      "requires": {}
+    },
+    "postcss-selector-parser": {
+      "version": "6.0.13",
+      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz",
+      "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==",
+      "dev": true,
+      "requires": {
+        "cssesc": "^3.0.0",
+        "util-deprecate": "^1.0.2"
+      }
+    },
+    "postcss-url": {
+      "version": "10.1.3",
+      "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-10.1.3.tgz",
+      "integrity": "sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==",
+      "dev": true,
+      "requires": {
+        "make-dir": "~3.1.0",
+        "mime": "~2.5.2",
+        "minimatch": "~3.0.4",
+        "xxhashjs": "~0.2.2"
+      },
+      "dependencies": {
+        "mime": {
+          "version": "2.5.2",
+          "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz",
+          "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==",
+          "dev": true
+        }
+      }
+    },
+    "postcss-value-parser": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+      "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
+    },
+    "prelude-ls": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+      "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+      "dev": true
+    },
+    "pretty-bytes": {
+      "version": "5.6.0",
+      "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
+      "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==",
+      "dev": true
+    },
+    "prismjs": {
+      "version": "1.29.0",
+      "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz",
+      "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q=="
+    },
+    "proc-log": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz",
+      "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==",
+      "dev": true
+    },
+    "process-nextick-args": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
+      "dev": true
+    },
+    "promise-inflight": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
+      "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==",
+      "dev": true
+    },
+    "promise-retry": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
+      "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
+      "dev": true,
+      "requires": {
+        "err-code": "^2.0.2",
+        "retry": "^0.12.0"
+      }
+    },
+    "protractor": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/protractor/-/protractor-7.0.0.tgz",
+      "integrity": "sha512-UqkFjivi4GcvUQYzqGYNe0mLzfn5jiLmO8w9nMhQoJRLhy2grJonpga2IWhI6yJO30LibWXJJtA4MOIZD2GgZw==",
+      "dev": true,
+      "requires": {
+        "@types/q": "^0.0.32",
+        "@types/selenium-webdriver": "^3.0.0",
+        "blocking-proxy": "^1.0.0",
+        "browserstack": "^1.5.1",
+        "chalk": "^1.1.3",
+        "glob": "^7.0.3",
+        "jasmine": "2.8.0",
+        "jasminewd2": "^2.1.0",
+        "q": "1.4.1",
+        "saucelabs": "^1.5.0",
+        "selenium-webdriver": "3.6.0",
+        "source-map-support": "~0.4.0",
+        "webdriver-js-extender": "2.1.0",
+        "webdriver-manager": "^12.1.7",
+        "yargs": "^15.3.1"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+          "dev": true
+        },
+        "ansi-styles": {
+          "version": "2.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+          "dev": true
+        },
+        "chalk": {
+          "version": "1.1.3",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^2.2.1",
+            "escape-string-regexp": "^1.0.2",
+            "has-ansi": "^2.0.0",
+            "strip-ansi": "^3.0.0",
+            "supports-color": "^2.0.0"
+          }
+        },
+        "cliui": {
+          "version": "6.0.0",
+          "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+          "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+          "dev": true,
+          "requires": {
+            "string-width": "^4.2.0",
+            "strip-ansi": "^6.0.0",
+            "wrap-ansi": "^6.2.0"
+          },
+          "dependencies": {
+            "ansi-regex": {
+              "version": "5.0.1",
+              "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+              "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+              "dev": true
+            },
+            "strip-ansi": {
+              "version": "6.0.1",
+              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+              "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+              "dev": true,
+              "requires": {
+                "ansi-regex": "^5.0.1"
+              }
+            }
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+          "dev": true
+        },
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+          "dev": true
+        },
+        "source-map-support": {
+          "version": "0.4.18",
+          "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
+          "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
+          "dev": true,
+          "requires": {
+            "source-map": "^0.5.6"
+          }
+        },
+        "strip-ansi": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+          "dev": true,
+          "requires": {
+            "ansi-regex": "^2.0.0"
+          }
+        },
+        "supports-color": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+          "dev": true
+        },
+        "wrap-ansi": {
+          "version": "6.2.0",
+          "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+          "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^4.0.0",
+            "string-width": "^4.1.0",
+            "strip-ansi": "^6.0.0"
+          },
+          "dependencies": {
+            "ansi-regex": {
+              "version": "5.0.1",
+              "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+              "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+              "dev": true
+            },
+            "ansi-styles": {
+              "version": "4.3.0",
+              "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+              "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+              "dev": true,
+              "requires": {
+                "color-convert": "^2.0.1"
+              }
+            },
+            "strip-ansi": {
+              "version": "6.0.1",
+              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+              "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+              "dev": true,
+              "requires": {
+                "ansi-regex": "^5.0.1"
+              }
+            }
+          }
+        },
+        "y18n": {
+          "version": "4.0.3",
+          "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
+          "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
+          "dev": true
+        },
+        "yargs": {
+          "version": "15.4.1",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
+          "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
+          "dev": true,
+          "requires": {
+            "cliui": "^6.0.0",
+            "decamelize": "^1.2.0",
+            "find-up": "^4.1.0",
+            "get-caller-file": "^2.0.1",
+            "require-directory": "^2.1.1",
+            "require-main-filename": "^2.0.0",
+            "set-blocking": "^2.0.0",
+            "string-width": "^4.2.0",
+            "which-module": "^2.0.0",
+            "y18n": "^4.0.0",
+            "yargs-parser": "^18.1.2"
+          }
+        },
+        "yargs-parser": {
+          "version": "18.1.3",
+          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
+          "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
+          "dev": true,
+          "requires": {
+            "camelcase": "^5.0.0",
+            "decamelize": "^1.2.0"
+          }
+        }
+      }
+    },
+    "proxy-addr": {
+      "version": "2.0.7",
+      "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
+      "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
+      "dev": true,
+      "requires": {
+        "forwarded": "0.2.0",
+        "ipaddr.js": "1.9.1"
+      },
+      "dependencies": {
+        "ipaddr.js": {
+          "version": "1.9.1",
+          "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+          "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
+          "dev": true
+        }
+      }
+    },
+    "proxy-from-env": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+      "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
+      "dev": true
+    },
+    "prr": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+      "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==",
+      "dev": true,
+      "optional": true
+    },
+    "pseudomap": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+      "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==",
+      "dev": true
+    },
+    "psl": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
+      "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
+    },
+    "punycode": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+      "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="
+    },
+    "purgecss": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-5.0.0.tgz",
+      "integrity": "sha512-RAnuxrGuVyLLTr8uMbKaxDRGWMgK5CCYDfRyUNNcaz5P3kGgD2b7ymQGYEyo2ST7Tl/ScwFgf5l3slKMxHSbrw==",
+      "dev": true,
+      "requires": {
+        "commander": "^9.0.0",
+        "glob": "^8.0.3",
+        "postcss": "^8.4.4",
+        "postcss-selector-parser": "^6.0.7"
+      },
+      "dependencies": {
+        "brace-expansion": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+          "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+          "dev": true,
+          "requires": {
+            "balanced-match": "^1.0.0"
+          }
+        },
+        "commander": {
+          "version": "9.5.0",
+          "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz",
+          "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==",
+          "dev": true
+        },
+        "glob": {
+          "version": "8.1.0",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+          "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+          "dev": true,
+          "requires": {
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^5.0.1",
+            "once": "^1.3.0"
+          }
+        },
+        "minimatch": {
+          "version": "5.1.6",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+          "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "^2.0.1"
+          }
+        }
+      }
+    },
+    "q": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
+      "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=",
+      "dev": true
+    },
+    "qjobs": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz",
+      "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
+    "qs": {
+      "version": "6.11.0",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
+      "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
+      "dev": true,
+      "requires": {
+        "side-channel": "^1.0.4"
+      }
+    },
+    "queue-microtask": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+      "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+      "dev": true
+    },
+    "randombytes": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+      "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+      "dev": true,
+      "requires": {
+        "safe-buffer": "^5.1.0"
+      }
+    },
+    "range-parser": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+      "dev": true
+    },
+    "raw-body": {
+      "version": "2.5.1",
+      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
+      "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
+      "dev": true,
+      "requires": {
+        "bytes": "3.1.2",
+        "http-errors": "2.0.0",
+        "iconv-lite": "0.4.24",
+        "unpipe": "1.0.0"
+      },
+      "dependencies": {
+        "iconv-lite": {
+          "version": "0.4.24",
+          "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+          "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+          "dev": true,
+          "requires": {
+            "safer-buffer": ">= 2.1.2 < 3"
+          }
+        }
+      }
+    },
+    "read-cache": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
+      "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=",
+      "dev": true,
+      "requires": {
+        "pify": "^2.3.0"
+      }
+    },
+    "read-package-json": {
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.3.tgz",
+      "integrity": "sha512-4QbpReW4kxFgeBQ0vPAqh2y8sXEB3D4t3jsXbJKIhBiF80KT6XRo45reqwtftju5J6ru1ax06A2Gb/wM1qCOEQ==",
+      "dev": true,
+      "requires": {
+        "glob": "^10.2.2",
+        "json-parse-even-better-errors": "^3.0.0",
+        "normalize-package-data": "^5.0.0",
+        "npm-normalize-package-bin": "^3.0.0"
+      },
+      "dependencies": {
+        "brace-expansion": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+          "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+          "dev": true,
+          "requires": {
+            "balanced-match": "^1.0.0"
+          }
+        },
+        "glob": {
+          "version": "10.2.4",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.4.tgz",
+          "integrity": "sha512-fDboBse/sl1oXSLhIp0FcCJgzW9KmhC/q8ULTKC82zc+DL3TL7FNb8qlt5qqXN53MsKEUSIcb+7DLmEygOE5Yw==",
+          "dev": true,
+          "requires": {
+            "foreground-child": "^3.1.0",
+            "jackspeak": "^2.0.3",
+            "minimatch": "^9.0.0",
+            "minipass": "^5.0.0 || ^6.0.0",
+            "path-scurry": "^1.7.0"
+          }
+        },
+        "json-parse-even-better-errors": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz",
+          "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==",
+          "dev": true
+        },
+        "minimatch": {
+          "version": "9.0.0",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz",
+          "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "^2.0.1"
+          }
+        }
+      }
+    },
+    "read-package-json-fast": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz",
+      "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==",
+      "dev": true,
+      "requires": {
+        "json-parse-even-better-errors": "^3.0.0",
+        "npm-normalize-package-bin": "^3.0.0"
+      },
+      "dependencies": {
+        "json-parse-even-better-errors": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz",
+          "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==",
+          "dev": true
+        }
+      }
+    },
+    "read-pkg": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
+      "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==",
+      "dev": true,
+      "requires": {
+        "load-json-file": "^4.0.0",
+        "normalize-package-data": "^2.3.2",
+        "path-type": "^3.0.0"
+      },
+      "dependencies": {
+        "hosted-git-info": {
+          "version": "2.8.9",
+          "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+          "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
+          "dev": true
+        },
+        "normalize-package-data": {
+          "version": "2.5.0",
+          "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+          "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+          "dev": true,
+          "requires": {
+            "hosted-git-info": "^2.1.4",
+            "resolve": "^1.10.0",
+            "semver": "2 || 3 || 4 || 5",
+            "validate-npm-package-license": "^3.0.1"
+          }
+        },
+        "path-type": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+          "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+          "dev": true,
+          "requires": {
+            "pify": "^3.0.0"
+          }
+        },
+        "pify": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+          "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
+          "dev": true
+        },
+        "semver": {
+          "version": "5.7.2",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+          "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+          "dev": true
+        }
+      }
+    },
+    "readable-stream": {
+      "version": "3.6.0",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+      "dev": true,
+      "requires": {
+        "inherits": "^2.0.3",
+        "string_decoder": "^1.1.1",
+        "util-deprecate": "^1.0.1"
+      }
+    },
+    "readdir-glob": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.2.tgz",
+      "integrity": "sha512-6RLVvwJtVwEDfPdn6X6Ille4/lxGl0ATOY4FN/B9nxQcgOazvvI0nodiD19ScKq0PvA/29VpaOQML36o5IzZWA==",
+      "dev": true,
+      "requires": {
+        "minimatch": "^5.1.0"
+      },
+      "dependencies": {
+        "brace-expansion": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+          "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+          "dev": true,
+          "requires": {
+            "balanced-match": "^1.0.0"
+          }
+        },
+        "minimatch": {
+          "version": "5.1.0",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+          "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "^2.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"
+      }
+    },
+    "reflect-metadata": {
+      "version": "0.1.13",
+      "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz",
+      "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg=="
+    },
+    "regenerate": {
+      "version": "1.4.2",
+      "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
+      "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
+      "dev": true
+    },
+    "regenerate-unicode-properties": {
+      "version": "10.1.0",
+      "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz",
+      "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==",
+      "dev": true,
+      "requires": {
+        "regenerate": "^1.4.2"
+      }
+    },
+    "regenerator-runtime": {
+      "version": "0.13.11",
+      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
+      "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
+    },
+    "regenerator-transform": {
+      "version": "0.15.1",
+      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz",
+      "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==",
+      "dev": true,
+      "requires": {
+        "@babel/runtime": "^7.8.4"
+      }
+    },
+    "regex-parser": {
+      "version": "2.2.11",
+      "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz",
+      "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==",
+      "dev": true
+    },
+    "regexp.prototype.flags": {
+      "version": "1.5.2",
+      "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz",
+      "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.6",
+        "define-properties": "^1.2.1",
+        "es-errors": "^1.3.0",
+        "set-function-name": "^2.0.1"
+      }
+    },
+    "regexpu-core": {
+      "version": "5.3.2",
+      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz",
+      "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==",
+      "dev": true,
+      "requires": {
+        "@babel/regjsgen": "^0.8.0",
+        "regenerate": "^1.4.2",
+        "regenerate-unicode-properties": "^10.1.0",
+        "regjsparser": "^0.9.1",
+        "unicode-match-property-ecmascript": "^2.0.0",
+        "unicode-match-property-value-ecmascript": "^2.1.0"
+      }
+    },
+    "regjsparser": {
+      "version": "0.9.1",
+      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz",
+      "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
+      "dev": true,
+      "requires": {
+        "jsesc": "~0.5.0"
+      },
+      "dependencies": {
+        "jsesc": {
+          "version": "0.5.0",
+          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+          "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==",
+          "dev": true
+        }
+      }
+    },
+    "request": {
+      "version": "2.88.2",
+      "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+      "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
+      "dev": true,
+      "requires": {
+        "aws-sign2": "~0.7.0",
+        "aws4": "^1.8.0",
+        "caseless": "~0.12.0",
+        "combined-stream": "~1.0.6",
+        "extend": "~3.0.2",
+        "forever-agent": "~0.6.1",
+        "form-data": "~2.3.2",
+        "har-validator": "~5.1.3",
+        "http-signature": "~1.2.0",
+        "is-typedarray": "~1.0.0",
+        "isstream": "~0.1.2",
+        "json-stringify-safe": "~5.0.1",
+        "mime-types": "~2.1.19",
+        "oauth-sign": "~0.9.0",
+        "performance-now": "^2.1.0",
+        "qs": "~6.5.2",
+        "safe-buffer": "^5.1.2",
+        "tough-cookie": "~2.5.0",
+        "tunnel-agent": "^0.6.0",
+        "uuid": "^3.3.2"
+      },
+      "dependencies": {
+        "qs": {
+          "version": "6.5.3",
+          "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
+          "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
+          "dev": true
+        },
+        "uuid": {
+          "version": "3.4.0",
+          "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+          "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+          "dev": true
+        }
+      }
+    },
+    "require-directory": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
+    },
+    "require-from-string": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+      "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+      "dev": true
+    },
+    "require-main-filename": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+      "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+      "dev": true
+    },
+    "requires-port": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+      "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
+      "dev": true
+    },
+    "resolve": {
+      "version": "1.22.2",
+      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz",
+      "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==",
+      "dev": true,
+      "requires": {
+        "is-core-module": "^2.11.0",
+        "path-parse": "^1.0.7",
+        "supports-preserve-symlinks-flag": "^1.0.0"
+      }
+    },
+    "resolve-from": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+      "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+      "dev": true
+    },
+    "resolve-url-loader": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz",
+      "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==",
+      "dev": true,
+      "requires": {
+        "adjust-sourcemap-loader": "^4.0.0",
+        "convert-source-map": "^1.7.0",
+        "loader-utils": "^2.0.0",
+        "postcss": "^8.2.14",
+        "source-map": "0.6.1"
+      },
+      "dependencies": {
+        "loader-utils": {
+          "version": "2.0.4",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
+          "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
+          "dev": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^2.1.2"
+          }
+        },
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+          "dev": true
+        }
+      }
+    },
+    "restore-cursor": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
+      "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
+      "dev": true,
+      "requires": {
+        "onetime": "^5.1.0",
+        "signal-exit": "^3.0.2"
+      }
+    },
+    "retry": {
+      "version": "0.12.0",
+      "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
+      "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==",
+      "dev": true
+    },
+    "reusify": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+      "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+      "dev": true
+    },
+    "rfdc": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz",
+      "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
+    "rimraf": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+      "dev": true,
+      "requires": {
+        "glob": "^7.1.3"
+      }
+    },
+    "robust-predicates": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.1.tgz",
+      "integrity": "sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g=="
+    },
+    "rollup": {
+      "version": "3.21.8",
+      "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.8.tgz",
+      "integrity": "sha512-SSFV2T2fWtQ/vvBip85u2Nr0GNKireabH9d7nXswBg+XSH+jbVDSYptRAEbCEsquhs503rpPA9POYAp0/Jhasw==",
+      "dev": true,
+      "requires": {
+        "fsevents": "~2.3.2"
+      }
+    },
+    "run-async": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
+      "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
+      "dev": true
+    },
+    "run-parallel": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+      "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+      "dev": true,
+      "requires": {
+        "queue-microtask": "^1.2.2"
+      }
+    },
+    "rw": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
+      "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q="
+    },
+    "rxjs": {
+      "version": "7.8.1",
+      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
+      "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
+      "requires": {
+        "tslib": "^2.1.0"
+      }
+    },
+    "safe-array-concat": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz",
+      "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.5",
+        "get-intrinsic": "^1.2.2",
+        "has-symbols": "^1.0.3",
+        "isarray": "^2.0.5"
+      },
+      "dependencies": {
+        "isarray": {
+          "version": "2.0.5",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+          "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
+          "dev": true
+        }
+      }
+    },
+    "safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+    },
+    "safe-regex-test": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz",
+      "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.6",
+        "es-errors": "^1.3.0",
+        "is-regex": "^1.1.4"
+      }
+    },
+    "safer-buffer": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+    },
+    "sass": {
+      "version": "1.62.1",
+      "resolved": "https://registry.npmjs.org/sass/-/sass-1.62.1.tgz",
+      "integrity": "sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A==",
+      "dev": true,
+      "requires": {
+        "chokidar": ">=3.0.0 <4.0.0",
+        "immutable": "^4.0.0",
+        "source-map-js": ">=0.6.2 <2.0.0"
+      }
+    },
+    "sass-loader": {
+      "version": "13.2.2",
+      "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.2.2.tgz",
+      "integrity": "sha512-nrIdVAAte3B9icfBiGWvmMhT/D+eCDwnk+yA7VE/76dp/WkHX+i44Q/pfo71NYbwj0Ap+PGsn0ekOuU1WFJ2AA==",
+      "dev": true,
+      "requires": {
+        "klona": "^2.0.6",
+        "neo-async": "^2.6.2"
+      }
+    },
+    "saucelabs": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz",
+      "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==",
+      "dev": true,
+      "requires": {
+        "https-proxy-agent": "^2.2.1"
+      },
+      "dependencies": {
+        "agent-base": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
+          "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
+          "dev": true,
+          "requires": {
+            "es6-promisify": "^5.0.0"
+          }
+        },
+        "debug": {
+          "version": "3.2.7",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+          "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+          "dev": true,
+          "requires": {
+            "ms": "^2.1.1"
+          }
+        },
+        "https-proxy-agent": {
+          "version": "2.2.4",
+          "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz",
+          "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==",
+          "dev": true,
+          "requires": {
+            "agent-base": "^4.3.0",
+            "debug": "^3.1.0"
+          }
+        }
+      }
+    },
+    "sax": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+      "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+      "dev": true
+    },
+    "schema-utils": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz",
+      "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==",
+      "dev": true,
+      "requires": {
+        "@types/json-schema": "^7.0.9",
+        "ajv": "^8.9.0",
+        "ajv-formats": "^2.1.1",
+        "ajv-keywords": "^5.1.0"
+      }
+    },
+    "select": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz",
+      "integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==",
+      "optional": true
+    },
+    "select-hose": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
+      "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==",
+      "dev": true
+    },
+    "selenium-webdriver": {
+      "version": "3.6.0",
+      "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz",
+      "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==",
+      "dev": true,
+      "requires": {
+        "jszip": "^3.1.3",
+        "rimraf": "^2.5.4",
+        "tmp": "0.0.30",
+        "xml2js": "^0.4.17"
+      },
+      "dependencies": {
+        "rimraf": {
+          "version": "2.7.1",
+          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+          "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+          "dev": true,
+          "requires": {
+            "glob": "^7.1.3"
+          }
+        },
+        "tmp": {
+          "version": "0.0.30",
+          "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz",
+          "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=",
+          "dev": true,
+          "requires": {
+            "os-tmpdir": "~1.0.1"
+          }
+        }
+      }
+    },
+    "selfsigned": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz",
+      "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==",
+      "dev": true,
+      "requires": {
+        "node-forge": "^1"
+      }
+    },
+    "semver": {
+      "version": "7.4.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz",
+      "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==",
+      "requires": {
+        "lru-cache": "^6.0.0"
+      }
+    },
+    "send": {
+      "version": "0.18.0",
+      "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
+      "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
+      "dev": true,
+      "requires": {
+        "debug": "2.6.9",
+        "depd": "2.0.0",
+        "destroy": "1.2.0",
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "etag": "~1.8.1",
+        "fresh": "0.5.2",
+        "http-errors": "2.0.0",
+        "mime": "1.6.0",
+        "ms": "2.1.3",
+        "on-finished": "2.4.1",
+        "range-parser": "~1.2.1",
+        "statuses": "2.0.1"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+          "dev": true,
+          "requires": {
+            "ms": "2.0.0"
+          },
+          "dependencies": {
+            "ms": {
+              "version": "2.0.0",
+              "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+              "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+              "dev": true
+            }
+          }
+        },
+        "mime": {
+          "version": "1.6.0",
+          "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+          "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+          "dev": true
+        },
+        "ms": {
+          "version": "2.1.3",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+          "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+          "dev": true
+        },
+        "on-finished": {
+          "version": "2.4.1",
+          "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+          "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+          "dev": true,
+          "requires": {
+            "ee-first": "1.1.1"
+          }
+        },
+        "statuses": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+          "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+          "dev": true
+        }
+      }
+    },
+    "serialize-javascript": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz",
+      "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==",
+      "dev": true,
+      "requires": {
+        "randombytes": "^2.1.0"
+      }
+    },
+    "serve-index": {
+      "version": "1.9.1",
+      "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
+      "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==",
+      "dev": true,
+      "requires": {
+        "accepts": "~1.3.4",
+        "batch": "0.6.1",
+        "debug": "2.6.9",
+        "escape-html": "~1.0.3",
+        "http-errors": "~1.6.2",
+        "mime-types": "~2.1.17",
+        "parseurl": "~1.3.2"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+          "dev": true,
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "depd": {
+          "version": "1.1.2",
+          "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+          "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
+          "dev": true
+        },
+        "http-errors": {
+          "version": "1.6.3",
+          "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
+          "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==",
+          "dev": true,
+          "requires": {
+            "depd": "~1.1.2",
+            "inherits": "2.0.3",
+            "setprototypeof": "1.1.0",
+            "statuses": ">= 1.4.0 < 2"
+          }
+        },
+        "inherits": {
+          "version": "2.0.3",
+          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+          "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==",
+          "dev": true
+        },
+        "ms": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+          "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+          "dev": true
+        },
+        "setprototypeof": {
+          "version": "1.1.0",
+          "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
+          "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
+          "dev": true
+        }
+      }
+    },
+    "serve-static": {
+      "version": "1.15.0",
+      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
+      "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
+      "dev": true,
+      "requires": {
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "parseurl": "~1.3.3",
+        "send": "0.18.0"
+      }
+    },
+    "set-blocking": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+      "dev": true
+    },
+    "set-function-length": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz",
+      "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==",
+      "dev": true,
+      "requires": {
+        "define-data-property": "^1.1.2",
+        "es-errors": "^1.3.0",
+        "function-bind": "^1.1.2",
+        "get-intrinsic": "^1.2.3",
+        "gopd": "^1.0.1",
+        "has-property-descriptors": "^1.0.1"
+      }
+    },
+    "set-function-name": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz",
+      "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
+      "dev": true,
+      "requires": {
+        "define-data-property": "^1.1.4",
+        "es-errors": "^1.3.0",
+        "functions-have-names": "^1.2.3",
+        "has-property-descriptors": "^1.0.2"
+      }
+    },
+    "setimmediate": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+      "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
+      "dev": true
+    },
+    "setprototypeof": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+      "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
+      "dev": true
+    },
+    "shallow-clone": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
+      "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
+      "dev": true,
+      "requires": {
+        "kind-of": "^6.0.2"
+      }
+    },
+    "shebang-command": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+      "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+      "dev": true,
+      "requires": {
+        "shebang-regex": "^3.0.0"
+      }
+    },
+    "shebang-regex": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+      "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+      "dev": true
+    },
+    "shell-quote": {
+      "version": "1.8.1",
+      "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz",
+      "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==",
+      "dev": true
+    },
+    "side-channel": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
+      "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.0",
+        "get-intrinsic": "^1.0.2",
+        "object-inspect": "^1.9.0"
+      }
+    },
+    "signal-exit": {
+      "version": "3.0.7",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+      "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+      "dev": true
+    },
+    "sigstore": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-1.5.1.tgz",
+      "integrity": "sha512-FIPThk7S1oeFXn8O8yh7gpyiQb6lYXzMIlOBzXhId/f81VvU587xNCHc4jd2lZ9724UkKUYYTuKSYcjhDSRD/Q==",
+      "dev": true,
+      "requires": {
+        "@sigstore/protobuf-specs": "^0.1.0",
+        "make-fetch-happen": "^11.0.1",
+        "tuf-js": "^1.1.3"
+      },
+      "dependencies": {
+        "lru-cache": {
+          "version": "7.18.3",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+          "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+          "dev": true
+        },
+        "make-fetch-happen": {
+          "version": "11.1.1",
+          "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz",
+          "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==",
+          "dev": true,
+          "requires": {
+            "agentkeepalive": "^4.2.1",
+            "cacache": "^17.0.0",
+            "http-cache-semantics": "^4.1.1",
+            "http-proxy-agent": "^5.0.0",
+            "https-proxy-agent": "^5.0.0",
+            "is-lambda": "^1.0.1",
+            "lru-cache": "^7.7.1",
+            "minipass": "^5.0.0",
+            "minipass-fetch": "^3.0.0",
+            "minipass-flush": "^1.0.5",
+            "minipass-pipeline": "^1.2.4",
+            "negotiator": "^0.6.3",
+            "promise-retry": "^2.0.1",
+            "socks-proxy-agent": "^7.0.0",
+            "ssri": "^10.0.0"
+          }
+        },
+        "minipass-fetch": {
+          "version": "3.0.3",
+          "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz",
+          "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==",
+          "dev": true,
+          "requires": {
+            "encoding": "^0.1.13",
+            "minipass": "^5.0.0",
+            "minipass-sized": "^1.0.3",
+            "minizlib": "^2.1.2"
+          }
+        }
+      }
+    },
+    "sirv": {
+      "version": "1.0.19",
+      "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz",
+      "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==",
+      "dev": true,
+      "requires": {
+        "@polka/url": "^1.0.0-next.20",
+        "mrmime": "^1.0.0",
+        "totalist": "^1.0.0"
+      }
+    },
+    "slash": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
+      "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
+      "dev": true
+    },
+    "smart-buffer": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
+      "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
+      "dev": true
+    },
+    "socket.io": {
+      "version": "4.6.1",
+      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.6.1.tgz",
+      "integrity": "sha512-KMcaAi4l/8+xEjkRICl6ak8ySoxsYG+gG6/XfRCPJPQ/haCRIJBTL4wIl8YCsmtaBovcAXGLOShyVWQ/FG8GZA==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "requires": {
+        "accepts": "~1.3.4",
+        "base64id": "~2.0.0",
+        "debug": "~4.3.2",
+        "engine.io": "~6.4.1",
+        "socket.io-adapter": "~2.5.2",
+        "socket.io-parser": "~4.2.1"
+      }
+    },
+    "socket.io-adapter": {
+      "version": "2.5.2",
+      "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz",
+      "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "requires": {
+        "ws": "~8.11.0"
+      }
+    },
+    "socket.io-parser": {
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.3.tgz",
+      "integrity": "sha512-JMafRntWVO2DCJimKsRTh/wnqVvO4hrfwOqtO7f+uzwsQMuxO6VwImtYxaQ+ieoyshWOTJyV0fA21lccEXRPpQ==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "requires": {
+        "@socket.io/component-emitter": "~3.1.0",
+        "debug": "~4.3.1"
+      }
+    },
+    "sockjs": {
+      "version": "0.3.24",
+      "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
+      "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==",
+      "dev": true,
+      "requires": {
+        "faye-websocket": "^0.11.3",
+        "uuid": "^8.3.2",
+        "websocket-driver": "^0.7.4"
+      }
+    },
+    "socks": {
+      "version": "2.7.1",
+      "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
+      "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
+      "dev": true,
+      "requires": {
+        "ip": "^2.0.0",
+        "smart-buffer": "^4.2.0"
+      }
+    },
+    "socks-proxy-agent": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz",
+      "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==",
+      "dev": true,
+      "requires": {
+        "agent-base": "^6.0.2",
+        "debug": "^4.3.3",
+        "socks": "^2.6.2"
+      }
+    },
+    "source-map": {
+      "version": "0.7.4",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+      "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+      "dev": true
+    },
+    "source-map-js": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
+      "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
+    },
+    "source-map-loader": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.1.tgz",
+      "integrity": "sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==",
+      "dev": true,
+      "requires": {
+        "abab": "^2.0.6",
+        "iconv-lite": "^0.6.3",
+        "source-map-js": "^1.0.2"
+      }
+    },
+    "source-map-support": {
+      "version": "0.5.21",
+      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
+      "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
+      "dev": true,
+      "requires": {
+        "buffer-from": "^1.0.0",
+        "source-map": "^0.6.0"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+          "dev": true
+        }
+      }
+    },
+    "spdx-correct": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
+      "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
+      "dev": true,
+      "requires": {
+        "spdx-expression-parse": "^3.0.0",
+        "spdx-license-ids": "^3.0.0"
+      }
+    },
+    "spdx-exceptions": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
+      "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
+      "dev": true
+    },
+    "spdx-expression-parse": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
+      "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+      "dev": true,
+      "requires": {
+        "spdx-exceptions": "^2.1.0",
+        "spdx-license-ids": "^3.0.0"
+      }
+    },
+    "spdx-license-ids": {
+      "version": "3.0.13",
+      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz",
+      "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==",
+      "dev": true
+    },
+    "spdy": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz",
+      "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==",
+      "dev": true,
+      "requires": {
+        "debug": "^4.1.0",
+        "handle-thing": "^2.0.0",
+        "http-deceiver": "^1.2.7",
+        "select-hose": "^2.0.0",
+        "spdy-transport": "^3.0.0"
+      }
+    },
+    "spdy-transport": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
+      "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
+      "dev": true,
+      "requires": {
+        "debug": "^4.1.0",
+        "detect-node": "^2.0.4",
+        "hpack.js": "^2.1.6",
+        "obuf": "^1.1.2",
+        "readable-stream": "^3.0.6",
+        "wbuf": "^1.7.3"
+      }
+    },
+    "sshpk": {
+      "version": "1.17.0",
+      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
+      "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
+      "dev": true,
+      "requires": {
+        "asn1": "~0.2.3",
+        "assert-plus": "^1.0.0",
+        "bcrypt-pbkdf": "^1.0.0",
+        "dashdash": "^1.12.0",
+        "ecc-jsbn": "~0.1.1",
+        "getpass": "^0.1.1",
+        "jsbn": "~0.1.0",
+        "safer-buffer": "^2.0.2",
+        "tweetnacl": "~0.14.0"
+      }
+    },
+    "ssri": {
+      "version": "10.0.4",
+      "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.4.tgz",
+      "integrity": "sha512-12+IR2CB2C28MMAw0Ncqwj5QbTcs0nGIhgJzYWzDkb21vWmfNI83KS4f3Ci6GI98WreIfG7o9UXp3C0qbpA8nQ==",
+      "dev": true,
+      "requires": {
+        "minipass": "^5.0.0"
+      }
+    },
+    "statuses": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+      "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
+      "dev": true
+    },
+    "stop-iteration-iterator": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz",
+      "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==",
+      "dev": true,
+      "requires": {
+        "internal-slot": "^1.0.4"
+      }
+    },
+    "streamroller": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.1.tgz",
+      "integrity": "sha512-iPhtd9unZ6zKdWgMeYGfSBuqCngyJy1B/GPi/lTpwGpa3bajuX30GjUVd0/Tn/Xhg0mr4DOSENozz9Y06qyonQ==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "requires": {
+        "date-format": "^4.0.10",
+        "debug": "^4.3.4",
+        "fs-extra": "^10.1.0"
+      }
+    },
+    "string_decoder": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+      "dev": true,
+      "requires": {
+        "safe-buffer": "~5.2.0"
+      },
+      "dependencies": {
+        "safe-buffer": {
+          "version": "5.2.1",
+          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+          "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+          "dev": true
+        }
+      }
+    },
+    "string-width": {
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+      "requires": {
+        "emoji-regex": "^8.0.0",
+        "is-fullwidth-code-point": "^3.0.0",
+        "strip-ansi": "^6.0.1"
+      }
+    },
+    "string-width-cjs": {
+      "version": "npm:string-width@4.2.3",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+      "dev": true,
+      "requires": {
+        "emoji-regex": "^8.0.0",
+        "is-fullwidth-code-point": "^3.0.0",
+        "strip-ansi": "^6.0.1"
+      }
+    },
+    "string.prototype.padend": {
+      "version": "3.1.5",
+      "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.5.tgz",
+      "integrity": "sha512-DOB27b/2UTTD+4myKUFh+/fXWcu/UDyASIXfg+7VzoCNNGOfWvoyU/x5pvVHr++ztyt/oSYI1BcWBBG/hmlNjA==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1"
+      }
+    },
+    "string.prototype.trim": {
+      "version": "1.2.8",
+      "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz",
+      "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1"
+      }
+    },
+    "string.prototype.trimend": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz",
+      "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1"
+      }
+    },
+    "string.prototype.trimstart": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz",
+      "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1"
+      }
+    },
+    "strip-ansi": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+      "requires": {
+        "ansi-regex": "^5.0.1"
+      }
+    },
+    "strip-ansi-cjs": {
+      "version": "npm:strip-ansi@6.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+      "dev": true,
+      "requires": {
+        "ansi-regex": "^5.0.1"
+      }
+    },
+    "strip-bom": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+      "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
+      "dev": true
+    },
+    "strip-final-newline": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+      "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+      "dev": true
+    },
+    "strip-json-comments": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+      "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+      "dev": true
+    },
+    "strong-log-transformer": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz",
+      "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==",
+      "dev": true,
+      "requires": {
+        "duplexer": "^0.1.1",
+        "minimist": "^1.2.0",
+        "through": "^2.3.4"
+      }
+    },
+    "stylis": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz",
+      "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==",
+      "optional": true
+    },
+    "stylus": {
+      "version": "0.59.0",
+      "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.59.0.tgz",
+      "integrity": "sha512-lQ9w/XIOH5ZHVNuNbWW8D822r+/wBSO/d6XvtyHLF7LW4KaCIDeVbvn5DF8fGCJAUCwVhVi/h6J0NUcnylUEjg==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "requires": {
+        "@adobe/css-tools": "^4.0.1",
+        "debug": "^4.3.2",
+        "glob": "^7.1.6",
+        "sax": "~1.2.4",
+        "source-map": "^0.7.3"
+      }
+    },
+    "sucrase": {
+      "version": "3.32.0",
+      "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz",
+      "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==",
+      "dev": true,
+      "requires": {
+        "@jridgewell/gen-mapping": "^0.3.2",
+        "commander": "^4.0.0",
+        "glob": "7.1.6",
+        "lines-and-columns": "^1.1.6",
+        "mz": "^2.7.0",
+        "pirates": "^4.0.1",
+        "ts-interface-checker": "^0.1.9"
+      },
+      "dependencies": {
+        "commander": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
+          "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
+          "dev": true
+        },
+        "glob": {
+          "version": "7.1.6",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+          "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+          "dev": true,
+          "requires": {
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^3.0.4",
+            "once": "^1.3.0",
+            "path-is-absolute": "^1.0.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"
+      }
+    },
+    "supports-preserve-symlinks-flag": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+      "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+      "dev": true
+    },
+    "symbol-observable": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz",
+      "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==",
+      "dev": true
+    },
+    "tailwindcss": {
+      "version": "3.3.2",
+      "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.2.tgz",
+      "integrity": "sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==",
+      "dev": true,
+      "requires": {
+        "@alloc/quick-lru": "^5.2.0",
+        "arg": "^5.0.2",
+        "chokidar": "^3.5.3",
+        "didyoumean": "^1.2.2",
+        "dlv": "^1.1.3",
+        "fast-glob": "^3.2.12",
+        "glob-parent": "^6.0.2",
+        "is-glob": "^4.0.3",
+        "jiti": "^1.18.2",
+        "lilconfig": "^2.1.0",
+        "micromatch": "^4.0.5",
+        "normalize-path": "^3.0.0",
+        "object-hash": "^3.0.0",
+        "picocolors": "^1.0.0",
+        "postcss": "^8.4.23",
+        "postcss-import": "^15.1.0",
+        "postcss-js": "^4.0.1",
+        "postcss-load-config": "^4.0.1",
+        "postcss-nested": "^6.0.1",
+        "postcss-selector-parser": "^6.0.11",
+        "postcss-value-parser": "^4.2.0",
+        "resolve": "^1.22.2",
+        "sucrase": "^3.32.0"
+      },
+      "dependencies": {
+        "glob-parent": {
+          "version": "6.0.2",
+          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+          "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+          "dev": true,
+          "requires": {
+            "is-glob": "^4.0.3"
+          }
+        }
+      }
+    },
+    "tapable": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+      "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+      "dev": true
+    },
+    "tar": {
+      "version": "6.1.14",
+      "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.14.tgz",
+      "integrity": "sha512-piERznXu0U7/pW7cdSn7hjqySIVTYT6F76icmFk7ptU7dDYlXTm5r9A6K04R2vU3olYgoKeo1Cg3eeu5nhftAw==",
+      "dev": true,
+      "requires": {
+        "chownr": "^2.0.0",
+        "fs-minipass": "^2.0.0",
+        "minipass": "^5.0.0",
+        "minizlib": "^2.1.1",
+        "mkdirp": "^1.0.3",
+        "yallist": "^4.0.0"
+      },
+      "dependencies": {
+        "fs-minipass": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+          "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+          "dev": true,
+          "requires": {
+            "minipass": "^3.0.0"
+          },
+          "dependencies": {
+            "minipass": {
+              "version": "3.3.6",
+              "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+              "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+              "dev": true,
+              "requires": {
+                "yallist": "^4.0.0"
+              }
+            }
+          }
+        }
+      }
+    },
+    "tar-stream": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+      "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+      "dev": true,
+      "requires": {
+        "bl": "^4.0.3",
+        "end-of-stream": "^1.4.1",
+        "fs-constants": "^1.0.0",
+        "inherits": "^2.0.3",
+        "readable-stream": "^3.1.1"
+      }
+    },
+    "terser": {
+      "version": "5.17.1",
+      "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz",
+      "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==",
+      "dev": true,
+      "requires": {
+        "@jridgewell/source-map": "^0.3.2",
+        "acorn": "^8.5.0",
+        "commander": "^2.20.0",
+        "source-map-support": "~0.5.20"
+      },
+      "dependencies": {
+        "acorn": {
+          "version": "8.7.1",
+          "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz",
+          "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==",
+          "dev": true
+        }
+      }
+    },
+    "terser-webpack-plugin": {
+      "version": "5.3.8",
+      "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.8.tgz",
+      "integrity": "sha512-WiHL3ElchZMsK27P8uIUh4604IgJyAW47LVXGbEoB21DbQcZ+OuMpGjVYnEUaqcWM6dO8uS2qUbA7LSCWqvsbg==",
+      "dev": true,
+      "requires": {
+        "@jridgewell/trace-mapping": "^0.3.17",
+        "jest-worker": "^27.4.5",
+        "schema-utils": "^3.1.1",
+        "serialize-javascript": "^6.0.1",
+        "terser": "^5.16.8"
+      },
+      "dependencies": {
+        "acorn": {
+          "version": "8.8.2",
+          "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
+          "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
+          "dev": true
+        },
+        "ajv": {
+          "version": "6.12.6",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+          "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+          "dev": true,
+          "requires": {
+            "fast-deep-equal": "^3.1.1",
+            "fast-json-stable-stringify": "^2.0.0",
+            "json-schema-traverse": "^0.4.1",
+            "uri-js": "^4.2.2"
+          }
+        },
+        "ajv-keywords": {
+          "version": "3.5.2",
+          "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+          "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
+          "dev": true,
+          "requires": {}
+        },
+        "json-schema-traverse": {
+          "version": "0.4.1",
+          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+          "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+          "dev": true
+        },
+        "schema-utils": {
+          "version": "3.1.1",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
+          "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+          "dev": true,
+          "requires": {
+            "@types/json-schema": "^7.0.8",
+            "ajv": "^6.12.5",
+            "ajv-keywords": "^3.5.2"
+          }
+        },
+        "terser": {
+          "version": "5.17.3",
+          "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.3.tgz",
+          "integrity": "sha512-AudpAZKmZHkG9jueayypz4duuCFJMMNGRMwaPvQKWfxKedh8Z2x3OCoDqIIi1xx5+iwx1u6Au8XQcc9Lke65Yg==",
+          "dev": true,
+          "requires": {
+            "@jridgewell/source-map": "^0.3.2",
+            "acorn": "^8.5.0",
+            "commander": "^2.20.0",
+            "source-map-support": "~0.5.20"
+          }
+        }
+      }
+    },
+    "test-exclude": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
+      "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
+      "dev": true,
+      "requires": {
+        "@istanbuljs/schema": "^0.1.2",
+        "glob": "^7.1.4",
+        "minimatch": "^3.0.4"
+      }
+    },
+    "text-table": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+      "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+      "dev": true
+    },
+    "thenify": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
+      "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
+      "dev": true,
+      "requires": {
+        "any-promise": "^1.0.0"
+      }
+    },
+    "thenify-all": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
+      "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
+      "dev": true,
+      "requires": {
+        "thenify": ">= 3.1.0 < 4"
+      }
+    },
+    "through": {
+      "version": "2.3.8",
+      "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+      "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+      "dev": true
+    },
+    "thunky": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
+      "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==",
+      "dev": true
+    },
+    "tiny-emitter": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
+      "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==",
+      "optional": true
+    },
+    "tmp": {
+      "version": "0.0.33",
+      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+      "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+      "dev": true,
+      "requires": {
+        "os-tmpdir": "~1.0.2"
+      }
+    },
+    "to-fast-properties": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+      "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog=="
+    },
+    "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.1",
+      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+      "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+      "dev": true
+    },
+    "topojson-client": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz",
+      "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==",
+      "requires": {
+        "commander": "2"
+      }
+    },
+    "topojson-simplify": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/topojson-simplify/-/topojson-simplify-3.0.3.tgz",
+      "integrity": "sha512-V+pBjLVzSQ3+hSOxBiV01OVXgFiCmMO8ia3huxKEyIMTC1ApQHBcdXdOqcQ6U2JJJD31TZduwY6KyF15R8sUgg==",
+      "requires": {
+        "commander": "2",
+        "topojson-client": "3"
+      }
+    },
+    "totalist": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz",
+      "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==",
+      "dev": true
+    },
+    "tough-cookie": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+      "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+      "dev": true,
+      "requires": {
+        "psl": "^1.1.28",
+        "punycode": "^2.1.1"
+      }
+    },
+    "tr46": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.0.0.tgz",
+      "integrity": "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==",
+      "requires": {
+        "punycode": "^2.3.1"
+      }
+    },
+    "tree-kill": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
+      "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
+      "dev": true
+    },
+    "ts-dedent": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz",
+      "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==",
+      "optional": true
+    },
+    "ts-interface-checker": {
+      "version": "0.1.13",
+      "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
+      "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
+      "dev": true
+    },
+    "ts-node": {
+      "version": "10.9.1",
+      "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz",
+      "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==",
+      "dev": true,
+      "requires": {
+        "@cspotcode/source-map-support": "^0.8.0",
+        "@tsconfig/node10": "^1.0.7",
+        "@tsconfig/node12": "^1.0.7",
+        "@tsconfig/node14": "^1.0.0",
+        "@tsconfig/node16": "^1.0.2",
+        "acorn": "^8.4.1",
+        "acorn-walk": "^8.1.1",
+        "arg": "^4.1.0",
+        "create-require": "^1.1.0",
+        "diff": "^4.0.1",
+        "make-error": "^1.1.1",
+        "v8-compile-cache-lib": "^3.0.1",
+        "yn": "3.1.1"
+      },
+      "dependencies": {
+        "acorn": {
+          "version": "8.7.0",
+          "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
+          "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==",
+          "dev": true
+        },
+        "acorn-walk": {
+          "version": "8.2.0",
+          "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
+          "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
+          "dev": true
+        },
+        "arg": {
+          "version": "4.1.3",
+          "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
+          "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
+          "dev": true
+        }
+      }
+    },
+    "tsconfig-paths": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz",
+      "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==",
+      "dev": true,
+      "requires": {
+        "json5": "^2.2.2",
+        "minimist": "^1.2.6",
+        "strip-bom": "^3.0.0"
+      }
+    },
+    "tslib": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz",
+      "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg=="
+    },
+    "tslint": {
+      "version": "6.1.3",
+      "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz",
+      "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==",
+      "dev": true,
+      "requires": {
+        "@babel/code-frame": "^7.0.0",
+        "builtin-modules": "^1.1.1",
+        "chalk": "^2.3.0",
+        "commander": "^2.12.1",
+        "diff": "^4.0.1",
+        "glob": "^7.1.1",
+        "js-yaml": "^3.13.1",
+        "minimatch": "^3.0.4",
+        "mkdirp": "^0.5.3",
+        "resolve": "^1.3.2",
+        "semver": "^5.3.0",
+        "tslib": "^1.13.0",
+        "tsutils": "^2.29.0"
+      },
+      "dependencies": {
+        "mkdirp": {
+          "version": "0.5.5",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+          "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.5"
+          }
+        },
+        "semver": {
+          "version": "5.7.1",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+          "dev": true
+        },
+        "tslib": {
+          "version": "1.14.1",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+          "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+          "dev": true
+        }
+      }
+    },
+    "tsutils": {
+      "version": "2.29.0",
+      "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz",
+      "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==",
+      "dev": true,
+      "requires": {
+        "tslib": "^1.8.1"
+      },
+      "dependencies": {
+        "tslib": {
+          "version": "1.14.1",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+          "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+          "dev": true
+        }
+      }
+    },
+    "tuf-js": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.6.tgz",
+      "integrity": "sha512-CXwFVIsXGbVY4vFiWF7TJKWmlKJAT8TWkH4RmiohJRcDJInix++F0dznDmoVbtJNzZ8yLprKUG4YrDIhv3nBMg==",
+      "dev": true,
+      "requires": {
+        "@tufjs/models": "1.0.4",
+        "debug": "^4.3.4",
+        "make-fetch-happen": "^11.1.0"
+      },
+      "dependencies": {
+        "lru-cache": {
+          "version": "7.18.3",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+          "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+          "dev": true
+        },
+        "make-fetch-happen": {
+          "version": "11.1.1",
+          "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz",
+          "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==",
+          "dev": true,
+          "requires": {
+            "agentkeepalive": "^4.2.1",
+            "cacache": "^17.0.0",
+            "http-cache-semantics": "^4.1.1",
+            "http-proxy-agent": "^5.0.0",
+            "https-proxy-agent": "^5.0.0",
+            "is-lambda": "^1.0.1",
+            "lru-cache": "^7.7.1",
+            "minipass": "^5.0.0",
+            "minipass-fetch": "^3.0.0",
+            "minipass-flush": "^1.0.5",
+            "minipass-pipeline": "^1.2.4",
+            "negotiator": "^0.6.3",
+            "promise-retry": "^2.0.1",
+            "socks-proxy-agent": "^7.0.0",
+            "ssri": "^10.0.0"
+          }
+        },
+        "minipass-fetch": {
+          "version": "3.0.3",
+          "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz",
+          "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==",
+          "dev": true,
+          "requires": {
+            "encoding": "^0.1.13",
+            "minipass": "^5.0.0",
+            "minipass-sized": "^1.0.3",
+            "minizlib": "^2.1.2"
+          }
+        }
+      }
+    },
+    "tunnel-agent": {
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+      "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+      "dev": true,
+      "requires": {
+        "safe-buffer": "^5.0.1"
+      }
+    },
+    "tweetnacl": {
+      "version": "0.14.5",
+      "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+      "dev": true
+    },
+    "type-check": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+      "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+      "dev": true,
+      "requires": {
+        "prelude-ls": "^1.2.1"
+      }
+    },
+    "type-fest": {
+      "version": "0.21.3",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
+      "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+      "dev": true
+    },
+    "type-is": {
+      "version": "1.6.18",
+      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+      "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+      "dev": true,
+      "requires": {
+        "media-typer": "0.3.0",
+        "mime-types": "~2.1.24"
+      }
+    },
+    "typed-array-buffer": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz",
+      "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.7",
+        "es-errors": "^1.3.0",
+        "is-typed-array": "^1.1.13"
+      }
+    },
+    "typed-array-byte-length": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz",
+      "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.7",
+        "for-each": "^0.3.3",
+        "gopd": "^1.0.1",
+        "has-proto": "^1.0.3",
+        "is-typed-array": "^1.1.13"
+      }
+    },
+    "typed-array-byte-offset": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz",
+      "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==",
+      "dev": true,
+      "requires": {
+        "available-typed-arrays": "^1.0.7",
+        "call-bind": "^1.0.7",
+        "for-each": "^0.3.3",
+        "gopd": "^1.0.1",
+        "has-proto": "^1.0.3",
+        "is-typed-array": "^1.1.13"
+      }
+    },
+    "typed-array-length": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.5.tgz",
+      "integrity": "sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.7",
+        "for-each": "^0.3.3",
+        "gopd": "^1.0.1",
+        "has-proto": "^1.0.3",
+        "is-typed-array": "^1.1.13",
+        "possible-typed-array-names": "^1.0.0"
+      }
+    },
+    "typed-assert": {
+      "version": "1.0.9",
+      "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz",
+      "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==",
+      "dev": true
+    },
+    "typescript": {
+      "version": "4.9.5",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
+      "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g=="
+    },
+    "ua-parser-js": {
+      "version": "0.7.35",
+      "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.35.tgz",
+      "integrity": "sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g==",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
+    "un-eval": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/un-eval/-/un-eval-1.2.0.tgz",
+      "integrity": "sha512-Wlj/pum6dQtGTPD/lclDtoVPkSfpjPfy1dwnnKw/sZP5DpBH9fLhBgQfsqNhe5/gS1D+vkZUuB771NRMUPA5CA==",
+      "dev": true
+    },
+    "unbox-primitive": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
+      "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.2",
+        "has-bigints": "^1.0.2",
+        "has-symbols": "^1.0.3",
+        "which-boxed-primitive": "^1.0.2"
+      }
+    },
+    "unicode-canonical-property-names-ecmascript": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
+      "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==",
+      "dev": true
+    },
+    "unicode-match-property-ecmascript": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
+      "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
+      "dev": true,
+      "requires": {
+        "unicode-canonical-property-names-ecmascript": "^2.0.0",
+        "unicode-property-aliases-ecmascript": "^2.0.0"
+      }
+    },
+    "unicode-match-property-value-ecmascript": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz",
+      "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==",
+      "dev": true
+    },
+    "unicode-property-aliases-ecmascript": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
+      "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
+      "dev": true
+    },
+    "unique-filename": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz",
+      "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==",
+      "dev": true,
+      "requires": {
+        "unique-slug": "^4.0.0"
+      }
+    },
+    "unique-slug": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz",
+      "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==",
+      "dev": true,
+      "requires": {
+        "imurmurhash": "^0.1.4"
+      }
+    },
+    "universalify": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+      "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+      "dev": true
+    },
+    "unpipe": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
+      "dev": true
+    },
+    "update-browserslist-db": {
+      "version": "1.0.11",
+      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz",
+      "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==",
+      "requires": {
+        "escalade": "^3.1.1",
+        "picocolors": "^1.0.0"
+      }
+    },
+    "uri-js": {
+      "version": "4.4.1",
+      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+      "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+      "dev": true,
+      "requires": {
+        "punycode": "^2.1.0"
+      }
+    },
+    "useragent": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz",
+      "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==",
+      "dev": true,
+      "requires": {
+        "lru-cache": "4.1.x",
+        "tmp": "0.0.x"
+      },
+      "dependencies": {
+        "lru-cache": {
+          "version": "4.1.5",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
+          "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+          "dev": true,
+          "requires": {
+            "pseudomap": "^1.0.2",
+            "yallist": "^2.1.2"
+          }
+        },
+        "yallist": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+          "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==",
+          "dev": true
+        }
+      }
+    },
+    "util-deprecate": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+      "dev": true
+    },
+    "utils-merge": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+      "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
+      "dev": true
+    },
+    "uuid": {
+      "version": "8.3.2",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+      "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+      "dev": true
+    },
+    "v8-compile-cache": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
+      "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
+      "dev": true
+    },
+    "v8-compile-cache-lib": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
+      "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
+      "dev": true
+    },
+    "validate-npm-package-license": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+      "dev": true,
+      "requires": {
+        "spdx-correct": "^3.0.0",
+        "spdx-expression-parse": "^3.0.0"
+      }
+    },
+    "validate-npm-package-name": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz",
+      "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==",
+      "dev": true,
+      "requires": {
+        "builtins": "^5.0.0"
+      }
+    },
+    "vary": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
+      "dev": true
+    },
+    "verror": {
+      "version": "1.10.0",
+      "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+      "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+      "dev": true,
+      "requires": {
+        "assert-plus": "^1.0.0",
+        "core-util-is": "1.0.2",
+        "extsprintf": "^1.2.0"
+      }
+    },
+    "vite": {
+      "version": "4.3.1",
+      "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.1.tgz",
+      "integrity": "sha512-EPmfPLAI79Z/RofuMvkIS0Yr091T2ReUoXQqc5ppBX/sjFRhHKiPPF/R46cTdoci/XgeQpB23diiJxq5w30vdg==",
+      "dev": true,
+      "requires": {
+        "esbuild": "^0.17.5",
+        "fsevents": "~2.3.2",
+        "postcss": "^8.4.21",
+        "rollup": "^3.20.2"
+      }
+    },
+    "void-elements": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
+      "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
+    "watchpack": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
+      "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
+      "dev": true,
+      "requires": {
+        "glob-to-regexp": "^0.4.1",
+        "graceful-fs": "^4.1.2"
+      }
+    },
+    "wbuf": {
+      "version": "1.7.3",
+      "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
+      "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
+      "dev": true,
+      "requires": {
+        "minimalistic-assert": "^1.0.0"
+      }
+    },
+    "wcwidth": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+      "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
+      "dev": true,
+      "requires": {
+        "defaults": "^1.0.3"
+      }
+    },
+    "web-worker": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz",
+      "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==",
+      "optional": true
+    },
+    "webdriver-js-extender": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz",
+      "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==",
+      "dev": true,
+      "requires": {
+        "@types/selenium-webdriver": "^3.0.0",
+        "selenium-webdriver": "^3.0.1"
+      }
+    },
+    "webdriver-manager": {
+      "version": "12.1.9",
+      "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.9.tgz",
+      "integrity": "sha512-Yl113uKm8z4m/KMUVWHq1Sjtla2uxEBtx2Ue3AmIlnlPAKloDn/Lvmy6pqWCUersVISpdMeVpAaGbNnvMuT2LQ==",
+      "dev": true,
+      "requires": {
+        "adm-zip": "^0.5.2",
+        "chalk": "^1.1.1",
+        "del": "^2.2.0",
+        "glob": "^7.0.3",
+        "ini": "^1.3.4",
+        "minimist": "^1.2.0",
+        "q": "^1.4.1",
+        "request": "^2.87.0",
+        "rimraf": "^2.5.2",
+        "semver": "^5.3.0",
+        "xml2js": "^0.4.17"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+          "dev": true
+        },
+        "ansi-styles": {
+          "version": "2.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+          "dev": true
+        },
+        "chalk": {
+          "version": "1.1.3",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^2.2.1",
+            "escape-string-regexp": "^1.0.2",
+            "has-ansi": "^2.0.0",
+            "strip-ansi": "^3.0.0",
+            "supports-color": "^2.0.0"
+          }
+        },
+        "ini": {
+          "version": "1.3.8",
+          "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+          "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+          "dev": true
+        },
+        "rimraf": {
+          "version": "2.7.1",
+          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+          "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+          "dev": true,
+          "requires": {
+            "glob": "^7.1.3"
+          }
+        },
+        "semver": {
+          "version": "5.7.1",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+          "dev": true
+        },
+        "strip-ansi": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+          "dev": true,
+          "requires": {
+            "ansi-regex": "^2.0.0"
+          }
+        },
+        "supports-color": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+          "dev": true
+        }
+      }
+    },
+    "webextension-polyfill": {
+      "version": "0.8.0",
+      "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.8.0.tgz",
+      "integrity": "sha512-a19+DzlT6Kp9/UI+mF9XQopeZ+n2ussjhxHJ4/pmIGge9ijCDz7Gn93mNnjpZAk95T4Tae8iHZ6sSf869txqiQ==",
+      "dev": true
+    },
+    "webidl-conversions": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+      "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="
+    },
+    "webpack": {
+      "version": "5.80.0",
+      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.80.0.tgz",
+      "integrity": "sha512-OIMiq37XK1rWO8mH9ssfFKZsXg4n6klTEDL7S8/HqbAOBBaiy8ABvXvz0dDCXeEF9gqwxSvVk611zFPjS8hJxA==",
+      "dev": true,
+      "requires": {
+        "@types/eslint-scope": "^3.7.3",
+        "@types/estree": "^1.0.0",
+        "@webassemblyjs/ast": "^1.11.5",
+        "@webassemblyjs/wasm-edit": "^1.11.5",
+        "@webassemblyjs/wasm-parser": "^1.11.5",
+        "acorn": "^8.7.1",
+        "acorn-import-assertions": "^1.7.6",
+        "browserslist": "^4.14.5",
+        "chrome-trace-event": "^1.0.2",
+        "enhanced-resolve": "^5.13.0",
+        "es-module-lexer": "^1.2.1",
+        "eslint-scope": "5.1.1",
+        "events": "^3.2.0",
+        "glob-to-regexp": "^0.4.1",
+        "graceful-fs": "^4.2.9",
+        "json-parse-even-better-errors": "^2.3.1",
+        "loader-runner": "^4.2.0",
+        "mime-types": "^2.1.27",
+        "neo-async": "^2.6.2",
+        "schema-utils": "^3.1.2",
+        "tapable": "^2.1.1",
+        "terser-webpack-plugin": "^5.3.7",
+        "watchpack": "^2.4.0",
+        "webpack-sources": "^3.2.3"
+      },
+      "dependencies": {
+        "acorn": {
+          "version": "8.8.2",
+          "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
+          "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
+          "dev": true
+        },
+        "acorn-import-assertions": {
+          "version": "1.8.0",
+          "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
+          "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
+          "dev": true,
+          "requires": {}
+        },
+        "ajv": {
+          "version": "6.12.6",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+          "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+          "dev": true,
+          "requires": {
+            "fast-deep-equal": "^3.1.1",
+            "fast-json-stable-stringify": "^2.0.0",
+            "json-schema-traverse": "^0.4.1",
+            "uri-js": "^4.2.2"
+          }
+        },
+        "ajv-keywords": {
+          "version": "3.5.2",
+          "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+          "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
+          "dev": true,
+          "requires": {}
+        },
+        "json-schema-traverse": {
+          "version": "0.4.1",
+          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+          "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+          "dev": true
+        },
+        "schema-utils": {
+          "version": "3.1.2",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz",
+          "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==",
+          "dev": true,
+          "requires": {
+            "@types/json-schema": "^7.0.8",
+            "ajv": "^6.12.5",
+            "ajv-keywords": "^3.5.2"
+          }
+        }
+      }
+    },
+    "webpack-bundle-analyzer": {
+      "version": "4.8.0",
+      "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.8.0.tgz",
+      "integrity": "sha512-ZzoSBePshOKhr+hd8u6oCkZVwpVaXgpw23ScGLFpR6SjYI7+7iIWYarjN6OEYOfRt8o7ZyZZQk0DuMizJ+LEIg==",
+      "dev": true,
+      "requires": {
+        "@discoveryjs/json-ext": "0.5.7",
+        "acorn": "^8.0.4",
+        "acorn-walk": "^8.0.0",
+        "chalk": "^4.1.0",
+        "commander": "^7.2.0",
+        "gzip-size": "^6.0.0",
+        "lodash": "^4.17.20",
+        "opener": "^1.5.2",
+        "sirv": "^1.0.7",
+        "ws": "^7.3.1"
+      },
+      "dependencies": {
+        "acorn": {
+          "version": "8.7.0",
+          "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
+          "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==",
+          "dev": true
+        },
+        "acorn-walk": {
+          "version": "8.2.0",
+          "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
+          "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
+          "dev": true
+        },
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+          "dev": true,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "chalk": {
+          "version": "4.1.2",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+          "dev": true
+        },
+        "commander": {
+          "version": "7.2.0",
+          "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
+          "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
+          "dev": true
+        },
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+          "dev": true
+        },
+        "supports-color": {
+          "version": "7.2.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+          "dev": true,
+          "requires": {
+            "has-flag": "^4.0.0"
+          }
+        },
+        "ws": {
+          "version": "7.5.6",
+          "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz",
+          "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==",
+          "dev": true,
+          "requires": {}
+        }
+      }
+    },
+    "webpack-dev-middleware": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.0.2.tgz",
+      "integrity": "sha512-iOddiJzPcQC6lwOIu60vscbGWth8PCRcWRCwoQcTQf9RMoOWBHg5EyzpGdtSmGMrSPd5vHEfFXmVErQEmkRngQ==",
+      "dev": true,
+      "requires": {
+        "colorette": "^2.0.10",
+        "memfs": "^3.4.12",
+        "mime-types": "^2.1.31",
+        "range-parser": "^1.2.1",
+        "schema-utils": "^4.0.0"
+      }
+    },
+    "webpack-dev-server": {
+      "version": "4.13.2",
+      "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.13.2.tgz",
+      "integrity": "sha512-5i6TrGBRxG4vnfDpB6qSQGfnB6skGBXNL5/542w2uRGLimX6qeE5BQMLrzIC3JYV/xlGOv+s+hTleI9AZKUQNw==",
+      "dev": true,
+      "requires": {
+        "@types/bonjour": "^3.5.9",
+        "@types/connect-history-api-fallback": "^1.3.5",
+        "@types/express": "^4.17.13",
+        "@types/serve-index": "^1.9.1",
+        "@types/serve-static": "^1.13.10",
+        "@types/sockjs": "^0.3.33",
+        "@types/ws": "^8.5.1",
+        "ansi-html-community": "^0.0.8",
+        "bonjour-service": "^1.0.11",
+        "chokidar": "^3.5.3",
+        "colorette": "^2.0.10",
+        "compression": "^1.7.4",
+        "connect-history-api-fallback": "^2.0.0",
+        "default-gateway": "^6.0.3",
+        "express": "^4.17.3",
+        "graceful-fs": "^4.2.6",
+        "html-entities": "^2.3.2",
+        "http-proxy-middleware": "^2.0.3",
+        "ipaddr.js": "^2.0.1",
+        "launch-editor": "^2.6.0",
+        "open": "^8.0.9",
+        "p-retry": "^4.5.0",
+        "rimraf": "^3.0.2",
+        "schema-utils": "^4.0.0",
+        "selfsigned": "^2.1.1",
+        "serve-index": "^1.9.1",
+        "sockjs": "^0.3.24",
+        "spdy": "^4.0.2",
+        "webpack-dev-middleware": "^5.3.1",
+        "ws": "^8.13.0"
+      },
+      "dependencies": {
+        "webpack-dev-middleware": {
+          "version": "5.3.3",
+          "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz",
+          "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==",
+          "dev": true,
+          "requires": {
+            "colorette": "^2.0.10",
+            "memfs": "^3.4.3",
+            "mime-types": "^2.1.31",
+            "range-parser": "^1.2.1",
+            "schema-utils": "^4.0.0"
+          }
+        },
+        "ws": {
+          "version": "8.13.0",
+          "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz",
+          "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==",
+          "dev": true,
+          "requires": {}
+        }
+      }
+    },
+    "webpack-ext-reloader": {
+      "version": "1.1.9",
+      "resolved": "https://registry.npmjs.org/webpack-ext-reloader/-/webpack-ext-reloader-1.1.9.tgz",
+      "integrity": "sha512-6AVXGrjcVHKtIQn4yGGghJpiIV2h9F7hNKLsh1oP8m+d6H3QLF3jTNu3vNdKu/8Lab3J/gwb7Bm7tjZLa+DS6g==",
+      "dev": true,
+      "requires": {
+        "@types/webextension-polyfill": "^0.8.2",
+        "@types/webpack": "^5.28.0",
+        "@types/webpack-sources": "^3.2.0",
+        "clean-webpack-plugin": "^4.0.0",
+        "colors": "^1.4.0",
+        "cross-env": "^7.0.3",
+        "lodash": "^4.17.21",
+        "minimist": "^1.2.5",
+        "useragent": "^2.3.0",
+        "webextension-polyfill": "^0.8.0",
+        "webpack-sources": "^3.2.3",
+        "ws": "^8.4.2"
+      }
+    },
+    "webpack-merge": {
+      "version": "5.8.0",
+      "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz",
+      "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==",
+      "dev": true,
+      "requires": {
+        "clone-deep": "^4.0.1",
+        "wildcard": "^2.0.0"
+      }
+    },
+    "webpack-sources": {
+      "version": "3.2.3",
+      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
+      "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
+      "dev": true
+    },
+    "webpack-subresource-integrity": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz",
+      "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==",
+      "dev": true,
+      "requires": {
+        "typed-assert": "^1.0.8"
+      }
+    },
+    "websocket-driver": {
+      "version": "0.7.4",
+      "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
+      "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==",
+      "dev": true,
+      "requires": {
+        "http-parser-js": ">=0.5.1",
+        "safe-buffer": ">=5.1.0",
+        "websocket-extensions": ">=0.1.1"
+      }
+    },
+    "websocket-extensions": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz",
+      "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
+      "dev": true
+    },
+    "whatwg-encoding": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz",
+      "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==",
+      "requires": {
+        "iconv-lite": "0.6.3"
+      }
+    },
+    "whatwg-mimetype": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz",
+      "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg=="
+    },
+    "whatwg-url": {
+      "version": "14.0.0",
+      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.0.0.tgz",
+      "integrity": "sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==",
+      "requires": {
+        "tr46": "^5.0.0",
+        "webidl-conversions": "^7.0.0"
+      }
+    },
+    "which": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+      "dev": true,
+      "requires": {
+        "isexe": "^2.0.0"
+      }
+    },
+    "which-boxed-primitive": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
+      "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
+      "dev": true,
+      "requires": {
+        "is-bigint": "^1.0.1",
+        "is-boolean-object": "^1.1.0",
+        "is-number-object": "^1.0.4",
+        "is-string": "^1.0.5",
+        "is-symbol": "^1.0.3"
+      }
+    },
+    "which-collection": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz",
+      "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==",
+      "dev": true,
+      "requires": {
+        "is-map": "^2.0.1",
+        "is-set": "^2.0.1",
+        "is-weakmap": "^2.0.1",
+        "is-weakset": "^2.0.1"
+      }
+    },
+    "which-module": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+      "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+      "dev": true
+    },
+    "which-typed-array": {
+      "version": "1.1.14",
+      "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz",
+      "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==",
+      "dev": true,
+      "requires": {
+        "available-typed-arrays": "^1.0.6",
+        "call-bind": "^1.0.5",
+        "for-each": "^0.3.3",
+        "gopd": "^1.0.1",
+        "has-tostringtag": "^1.0.1"
+      }
+    },
+    "wide-align": {
+      "version": "1.1.5",
+      "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
+      "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
+      "dev": true,
+      "requires": {
+        "string-width": "^1.0.2 || 2 || 3 || 4"
+      }
+    },
+    "wildcard": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz",
+      "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==",
+      "dev": true
+    },
+    "word-wrap": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+      "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+      "dev": true
+    },
+    "wrap-ansi": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+      "requires": {
+        "ansi-styles": "^4.0.0",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+        }
+      }
+    },
+    "wrap-ansi-cjs": {
+      "version": "npm:wrap-ansi@7.0.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+      "dev": true,
+      "requires": {
+        "ansi-styles": "^4.0.0",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+          "dev": true,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+          "dev": true
+        }
+      }
+    },
+    "wrappy": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+    },
+    "ws": {
+      "version": "8.11.0",
+      "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
+      "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
+      "dev": true,
+      "requires": {}
+    },
+    "xml2js": {
+      "version": "0.4.23",
+      "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
+      "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
+      "dev": true,
+      "requires": {
+        "sax": ">=0.6.0",
+        "xmlbuilder": "~11.0.0"
+      }
+    },
+    "xmlbuilder": {
+      "version": "11.0.1",
+      "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
+      "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
+      "dev": true
+    },
+    "xxhashjs": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/xxhashjs/-/xxhashjs-0.2.2.tgz",
+      "integrity": "sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==",
+      "dev": true,
+      "requires": {
+        "cuint": "^0.2.2"
+      }
+    },
+    "y18n": {
+      "version": "5.0.8",
+      "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+      "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="
+    },
+    "yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+    },
+    "yaml": {
+      "version": "2.2.2",
+      "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz",
+      "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==",
+      "dev": true
+    },
+    "yargs": {
+      "version": "17.7.2",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+      "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+      "requires": {
+        "cliui": "^8.0.1",
+        "escalade": "^3.1.1",
+        "get-caller-file": "^2.0.5",
+        "require-directory": "^2.1.1",
+        "string-width": "^4.2.3",
+        "y18n": "^5.0.5",
+        "yargs-parser": "^21.1.1"
+      },
+      "dependencies": {
+        "cliui": {
+          "version": "8.0.1",
+          "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+          "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+          "requires": {
+            "string-width": "^4.2.0",
+            "strip-ansi": "^6.0.1",
+            "wrap-ansi": "^7.0.0"
+          }
+        }
+      }
+    },
+    "yargs-parser": {
+      "version": "21.1.1",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+      "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="
+    },
+    "yn": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
+      "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
+      "dev": true
+    },
+    "yocto-queue": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+      "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+      "dev": true
+    },
+    "zip-a-folder": {
+      "version": "1.1.5",
+      "resolved": "https://registry.npmjs.org/zip-a-folder/-/zip-a-folder-1.1.5.tgz",
+      "integrity": "sha512-w6I4mvWc6D0Q4pdzCSFbQih/ezYBdjwGZVbWRRFMOYcOdtE9TONZ7YtXCPnHj4XJQmXQxTOWcRGnPYxRn+d0mw==",
+      "dev": true,
+      "requires": {
+        "archiver": "^5.3.1"
+      }
+    },
+    "zip-stream": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz",
+      "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==",
+      "dev": true,
+      "requires": {
+        "archiver-utils": "^2.1.0",
+        "compress-commons": "^4.1.0",
+        "readable-stream": "^3.6.0"
+      }
+    },
+    "zone.js": {
+      "version": "0.13.0",
+      "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.13.0.tgz",
+      "integrity": "sha512-7m3hNNyswsdoDobCkYNAy5WiUulkMd3+fWaGT9ij6iq3Zr/IwJo4RMCYPSDjT+r7tnPErmY9sZpKhWQ8S5k6XQ==",
+      "requires": {
+        "tslib": "^2.3.0"
+      }
+    }
+  }
+}
diff --git a/desktop/angular/package.json b/desktop/angular/package.json
new file mode 100644
index 00000000..4131e18f
--- /dev/null
+++ b/desktop/angular/package.json
@@ -0,0 +1,105 @@
+{
+  "name": "portmaster",
+  "version": "0.8.3",
+  "scripts": {
+    "ng": "ng",
+    "start": "npm install && npm run build-libs:dev && ng serve --proxy-config ./proxy.json",
+    "build-libs": "NODE_ENV=production ng build --configuration production @safing/ui && NODE_ENV=production ng build --configuration production @safing/portmaster-api",
+    "build-libs:dev": "ng build --configuration development @safing/ui && ng build --configuration development @safing/portmaster-api",
+    "serve": "npm run build-libs:dev && ng serve --proxy-config ./proxy.json",
+    "build:dev": "npm run build-libs:dev && ng build",
+    "test": "ng test",
+    "lint": "ng lint",
+    "e2e": "ng e2e",
+    "zip-dist": "node pack.js",
+    "chrome-extension": "NODE_ENV=production ng build --configuration production portmaster-chrome-extension",
+    "chrome-extension:dev": "ng build --configuration development portmaster-chrome-extension --watch",
+    "build": "npm run build-libs && NODE_ENV=production ng build --configuration production --base-href /ui/modules/portmaster/",
+    "build-tauri": "npm run build-libs && NODE_ENV=production ng build --configuration production",
+    "serve-tauri-builtin": "ng serve tauri-builtin --port 4100",
+    "serve-app": "ng serve --port 4200 --proxy-config ./proxy.json",
+    "tauri-dev": "npm install && run-s build-libs:dev && run-p serve-app serve-tauri-builtin"
+  },
+  "private": true,
+  "dependencies": {
+    "@angular/animations": "^16.0.1",
+    "@angular/cdk": "^16.0.1",
+    "@angular/common": "^16.0.1",
+    "@angular/compiler": "^16.0.1",
+    "@angular/core": "^16.0.1",
+    "@angular/forms": "^16.0.1",
+    "@angular/localize": "^16.0.1",
+    "@angular/platform-browser": "^16.0.1",
+    "@angular/platform-browser-dynamic": "^16.0.1",
+    "@angular/router": "^16.0.1",
+    "@fortawesome/angular-fontawesome": "^0.13.0",
+    "@fortawesome/fontawesome-svg-core": "^6.4.0",
+    "@fortawesome/free-brands-svg-icons": "^6.4.0",
+    "@fortawesome/free-regular-svg-icons": "^6.4.0",
+    "@fortawesome/free-solid-svg-icons": "^6.4.0",
+    "@tauri-apps/api": "^2.0.0-beta.3",
+    "@tauri-apps/plugin-cli": "^2.0.0-beta.1",
+    "@tauri-apps/plugin-clipboard-manager": "^2.0.0-alpha.4",
+    "@tauri-apps/plugin-dialog": "^2.0.0-alpha.4",
+    "@tauri-apps/plugin-notification": "^2.0.0-alpha.4",
+    "@tauri-apps/plugin-os": "^2.0.0-alpha.5",
+    "@tauri-apps/plugin-shell": "^2.0.0-alpha.4",
+    "autoprefixer": "^10.4.14",
+    "d3": "^7.8.4",
+    "data-urls": "^5.0.0",
+    "emoji-toolkit": "^7.0.1",
+    "fuse.js": "^6.6.2",
+    "ng-zorro-antd": "^16.1.0",
+    "ngx-markdown": "^16.0.0",
+    "postcss": "^8.4.23",
+    "prismjs": "^1.29.0",
+    "psl": "^1.9.0",
+    "rxjs": "~7.8.1",
+    "topojson-client": "^3.1.0",
+    "topojson-simplify": "^3.0.3",
+    "tslib": "^2.5.0",
+    "whatwg-encoding": "^3.1.1",
+    "zone.js": "^0.13.0"
+  },
+  "devDependencies": {
+    "@angular-builders/custom-webpack": "^16.0.0-beta.1",
+    "@angular-devkit/build-angular": "^16.0.1",
+    "@angular-eslint/builder": "16.0.1",
+    "@angular-eslint/eslint-plugin": "16.0.1",
+    "@angular-eslint/eslint-plugin-template": "16.0.1",
+    "@angular-eslint/schematics": "16.0.1",
+    "@angular-eslint/template-parser": "16.0.1",
+    "@angular/cli": "^16.0.1",
+    "@angular/compiler-cli": "^16.0.1",
+    "@fullhuman/postcss-purgecss": "^5.0.0",
+    "@types/chrome": "^0.0.236",
+    "@types/d3": "^7.4.0",
+    "@types/data-urls": "^3.0.4",
+    "@types/jasmine": "^4.3.1",
+    "@types/jasminewd2": "~2.0.10",
+    "@types/node": "^20.1.5",
+    "@types/psl": "^1.1.0",
+    "@types/topojson-client": "^3.1.1",
+    "@types/topojson-simplify": "^3.0.1",
+    "@types/whatwg-encoding": "^2.0.3",
+    "@typescript-eslint/eslint-plugin": "^5.59.6",
+    "@typescript-eslint/parser": "^5.59.6",
+    "eslint": "^8.40.0",
+    "jasmine-core": "^5.0.0",
+    "jasmine-spec-reporter": "^7.0.0",
+    "js-yaml-loader": "^1.2.2",
+    "ng-packagr": "^16.0.1",
+    "npm-run-all": "^4.1.5",
+    "postcss-import": "^15.1.0",
+    "postcss-loader": "^7.3.0",
+    "postcss-scss": "^4.0.6",
+    "protractor": "~7.0.0",
+    "tailwindcss": "^3.3.2",
+    "ts-node": "^10.9.1",
+    "tslint": "~6.1.0",
+    "typescript": "4.9",
+    "webpack-bundle-analyzer": "^4.8.0",
+    "webpack-ext-reloader": "^1.1.9",
+    "zip-a-folder": "^1.1.5"
+  }
+}
diff --git a/desktop/angular/projects/portmaster-chrome-extension/karma.conf.js b/desktop/angular/projects/portmaster-chrome-extension/karma.conf.js
new file mode 100644
index 00000000..eaac9a49
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/karma.conf.js
@@ -0,0 +1,44 @@
+// Karma configuration file, see link for more information
+// https://karma-runner.github.io/1.0/config/configuration-file.html
+
+module.exports = function (config) {
+  config.set({
+    basePath: '',
+    frameworks: ['jasmine', '@angular-devkit/build-angular'],
+    plugins: [
+      require('karma-jasmine'),
+      require('karma-chrome-launcher'),
+      require('karma-jasmine-html-reporter'),
+      require('karma-coverage'),
+      require('@angular-devkit/build-angular/plugins/karma')
+    ],
+    client: {
+      jasmine: {
+        // you can add configuration options for Jasmine here
+        // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html
+        // for example, you can disable the random execution with `random: false`
+        // or set a specific seed with `seed: 4321`
+      },
+      clearContext: false // leave Jasmine Spec Runner output visible in browser
+    },
+    jasmineHtmlReporter: {
+      suppressAll: true // removes the duplicated traces
+    },
+    coverageReporter: {
+      dir: require('path').join(__dirname, '../../coverage/portmaster-chrome-extension'),
+      subdir: '.',
+      reporters: [
+        { type: 'html' },
+        { type: 'text-summary' }
+      ]
+    },
+    reporters: ['progress', 'kjhtml'],
+    port: 9876,
+    colors: true,
+    logLevel: config.LOG_INFO,
+    autoWatch: true,
+    browsers: ['Chrome'],
+    singleRun: false,
+    restartOnFileChange: true
+  });
+};
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/app/app-routing.module.ts b/desktop/angular/projects/portmaster-chrome-extension/src/app/app-routing.module.ts
new file mode 100644
index 00000000..73a41af9
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/app/app-routing.module.ts
@@ -0,0 +1,15 @@
+import { NgModule } from '@angular/core';
+import { RouterModule, Routes } from '@angular/router';
+import { ExtDomainListComponent } from './domain-list';
+import { IntroComponent } from './welcome/intro.component';
+
+const routes: Routes = [
+  { path: '', pathMatch: 'full', component: ExtDomainListComponent },
+  { path: 'authorize', pathMatch: 'prefix', component: IntroComponent }
+];
+
+@NgModule({
+  imports: [RouterModule.forRoot(routes)],
+  exports: [RouterModule]
+})
+export class AppRoutingModule { }
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/app/app.component.html b/desktop/angular/projects/portmaster-chrome-extension/src/app/app.component.html
new file mode 100644
index 00000000..d1b1eb54
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/app/app.component.html
@@ -0,0 +1,3 @@
+<ext-header *ngIf="!isAuthorizeView"></ext-header>
+
+<router-outlet></router-outlet>
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/app/app.component.scss b/desktop/angular/projects/portmaster-chrome-extension/src/app/app.component.scss
new file mode 100644
index 00000000..b25b9d22
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/app/app.component.scss
@@ -0,0 +1,3 @@
+:host {
+  @apply bg-background text-white flex flex-col w-96 h-96;
+}
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/app/app.component.ts b/desktop/angular/projects/portmaster-chrome-extension/src/app/app.component.ts
new file mode 100644
index 00000000..e8d9a987
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/app/app.component.ts
@@ -0,0 +1,54 @@
+import { HttpErrorResponse } from '@angular/common/http';
+import { Component, OnInit } from '@angular/core';
+import { NavigationEnd, Router } from '@angular/router';
+import { MetaAPI, MyProfileResponse, retryPipeline } from '@safing/portmaster-api';
+import { catchError, filter, throwError } from 'rxjs';
+
+
+@Component({
+  selector: 'app-root',
+  templateUrl: './app.component.html',
+  styleUrls: ['./app.component.scss'],
+})
+export class AppComponent implements OnInit {
+  isAuthorizeView = false;
+
+  constructor(
+    private metaapi: MetaAPI,
+    private router: Router,
+  ) { }
+
+  profile: MyProfileResponse | null = null;
+
+  ngOnInit(): void {
+    this.router.events
+      .pipe(
+        filter(event => event instanceof NavigationEnd)
+      )
+      .subscribe(event => {
+        if (event instanceof NavigationEnd) {
+          this.isAuthorizeView = event.url.includes("/authorize")
+        }
+      })
+
+    this.metaapi.myProfile()
+      .pipe(
+        catchError(err => {
+          if (err instanceof HttpErrorResponse && err.status === 403) {
+            this.router.navigate(['/authorize'])
+          }
+
+          return throwError(() => err)
+        }),
+        retryPipeline()
+      )
+      .subscribe({
+        next: profile => {
+          this.profile = profile;
+
+          console.log(this.profile);
+        }
+      })
+  }
+
+}
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/app/app.module.ts b/desktop/angular/projects/portmaster-chrome-extension/src/app/app.module.ts
new file mode 100644
index 00000000..93c418a3
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/app/app.module.ts
@@ -0,0 +1,39 @@
+import { OverlayModule } from '@angular/cdk/overlay';
+import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
+import { NgModule } from '@angular/core';
+import { BrowserModule } from '@angular/platform-browser';
+import { PortmasterAPIModule } from '@safing/portmaster-api';
+import { TabModule } from '@safing/ui';
+import { AppRoutingModule } from './app-routing.module';
+import { AppComponent } from './app.component';
+import { ExtDomainListComponent } from './domain-list';
+import { ExtHeaderComponent } from './header';
+import { AuthIntercepter as AuthInterceptor } from './interceptor';
+import { WelcomeModule } from './welcome';
+
+
+@NgModule({
+  declarations: [
+    AppComponent,
+    ExtDomainListComponent,
+    ExtHeaderComponent,
+  ],
+  imports: [
+    BrowserModule,
+    AppRoutingModule,
+    HttpClientModule,
+    PortmasterAPIModule.forRoot(),
+    TabModule,
+    WelcomeModule,
+    OverlayModule,
+  ],
+  providers: [
+    {
+      provide: HTTP_INTERCEPTORS,
+      multi: true,
+      useClass: AuthInterceptor,
+    }
+  ],
+  bootstrap: [AppComponent]
+})
+export class AppModule { }
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/app/domain-list/domain-list.component.html b/desktop/angular/projects/portmaster-chrome-extension/src/app/domain-list/domain-list.component.html
new file mode 100644
index 00000000..44bc3f02
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/app/domain-list/domain-list.component.html
@@ -0,0 +1,27 @@
+<ul>
+  <li class="flex flex-col gap-1 px-2 py-1 hover:bg-gray-300" *ngFor="let req of requests">
+    <div class="flex flex-row items-center justify-start gap-2">
+      <svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4 text-green-300" viewBox="0 0 20 20" fill="currentColor"
+        *ngIf="!req.latestIsBlocked">
+        <path fill-rule="evenodd"
+          d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z"
+          clip-rule="evenodd" />
+      </svg>
+
+      <svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4 text-red-300" viewBox="0 0 20 20" fill="currentColor"
+        *ngIf="req.latestIsBlocked">
+        <path fill-rule="evenodd"
+          d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z"
+          clip-rule="evenodd" />
+      </svg>
+
+      <span>
+        {{ req.domain }}
+      </span>
+    </div>
+    <span *ngIf="req.latestIsBlocked && !!req.lastConn" class="flex flex-row gap-2 text-xs text-secondary">
+      <span class="w-4"></span>
+      {{ req.lastConn.extra_data?.reason?.Msg }}
+    </span>
+  </li>
+</ul>
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/app/domain-list/domain-list.component.ts b/desktop/angular/projects/portmaster-chrome-extension/src/app/domain-list/domain-list.component.ts
new file mode 100644
index 00000000..b0e78d45
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/app/domain-list/domain-list.component.ts
@@ -0,0 +1,129 @@
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from "@angular/core";
+import { Netquery, NetqueryConnection } from "@safing/portmaster-api";
+import { ListRequests, NotifyRequests } from "../../background/commands";
+import { Request } from '../../background/tab-tracker';
+
+interface DomainRequests {
+  domain: string;
+  requests: Request[];
+  latestIsBlocked: boolean;
+  lastConn?: NetqueryConnection;
+}
+
+@Component({
+  selector: 'ext-domain-list',
+  templateUrl: './domain-list.component.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  styles: [
+    `
+    :host {
+      @apply flex flex-grow flex-col overflow-auto;
+    }
+    `
+  ]
+})
+export class ExtDomainListComponent implements OnInit {
+  requests: DomainRequests[] = [];
+
+  constructor(
+    private netquery: Netquery,
+    private cdr: ChangeDetectorRef
+  ) { }
+
+  ngOnInit() {
+    // setup listening for requests sent from our background script
+    const self = this;
+    chrome.runtime.onMessage.addListener((msg: NotifyRequests) => {
+      if (typeof msg !== 'object') {
+        console.error('Received invalid message from background script')
+
+        return;
+      }
+
+      console.log(`DEBUG: received command ${msg.type} from background script`)
+
+      switch (msg.type) {
+        case 'notifyRequests':
+          self.updateRequests(msg.requests);
+          break;
+
+        default:
+          console.error('Received unknown command from background script')
+      }
+    })
+
+    this.loadRequests();
+  }
+
+  updateRequests(req: Request[]) {
+    let m = new Map<string, DomainRequests>();
+
+    this.requests.forEach(obj => {
+      obj.requests = [];
+      m.set(obj.domain, obj);
+    });
+
+    req.forEach(r => {
+      let obj = m.get(r.domain);
+      if (!obj) {
+        obj = {
+          domain: r.domain,
+          requests: [],
+          latestIsBlocked: false
+        }
+        m.set(r.domain, obj)
+      }
+
+      obj.requests.push(r);
+    })
+
+    this.requests = [];
+    Array.from(m.keys()).sort()
+      .map(key => m.get(key)!)
+      .forEach(obj => {
+        this.requests.push(obj)
+
+        this.netquery.query({
+          query: {
+            domain: obj.domain,
+          },
+          orderBy: [
+            {
+              field: 'started',
+              desc: true,
+            }
+          ],
+          page: 0,
+          pageSize: 1,
+        })
+          .subscribe(result => {
+            if (!result[0]) {
+              return;
+            }
+
+            obj.latestIsBlocked = !result[0].allowed;
+            obj.lastConn = result[0] as NetqueryConnection;
+          })
+      })
+
+    this.cdr.detectChanges();
+  }
+
+  private loadRequests() {
+    const cmd: ListRequests = {
+      type: 'listRequests',
+      tabId: 'current'
+    }
+
+    const self = this;
+    chrome.runtime.sendMessage(cmd, (response: any) => {
+      if (Array.isArray(response)) {
+        self.updateRequests(response)
+
+        return;
+      }
+
+      console.error(response);
+    })
+  }
+}
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/app/domain-list/index.ts b/desktop/angular/projects/portmaster-chrome-extension/src/app/domain-list/index.ts
new file mode 100644
index 00000000..c0b4110c
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/app/domain-list/index.ts
@@ -0,0 +1 @@
+export * from './domain-list.component';
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/app/header/header.component.html b/desktop/angular/projects/portmaster-chrome-extension/src/app/header/header.component.html
new file mode 100644
index 00000000..e61fb0e7
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/app/header/header.component.html
@@ -0,0 +1,22 @@
+<div class="flex flex-row items-center w-full p-4 text-xl bg-gray-200 h-28">
+  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="h-full ">
+    <path fill="currentColor" class="text-green-100 shield-three" stroke-linecap="round" stroke-linejoin="round"
+      stroke-width="1"
+      d="M20 11.242c0 4.368-3.157 8.462-7.48 9.686-.338.096-.702.096-1.04 0C7.157 19.705 4 15.61 4 11.242V7.214c0-.812.491-1.544 1.243-1.851l4.864-1.99c1.214-.497 2.574-.497 3.787 0l4.864 1.99C19.509 5.67 20 6.402 20 7.214v4.028z" />
+    <path fill="currentColor" class="text-green-200 shield-two" stroke-linecap="round" stroke-linejoin="round"
+      stroke-width="1"
+      d="M20 11.242c0 4.368-3.157 8.462-7.48 9.686-.338.096-.702.096-1.04 0C7.157 19.705 4 15.61 4 11.242V7.214c0-.812.491-1.544 1.243-1.851l4.864-1.99c1.214-.497 2.574-.497 3.787 0l4.864 1.99C19.509 5.67 20 6.402 20 7.214v4.028z" />
+    <path fill="currentColor" class="text-green-300 shield-one" stroke-linecap="round" stroke-linejoin="round"
+      stroke-width="1.4"
+      d="M20 11.242c0 4.368-3.157 8.462-7.48 9.686-.338.096-.702.096-1.04 0C7.157 19.705 4 15.61 4 11.242V7.214c0-.812.491-1.544 1.243-1.851l4.864-1.99c1.214-.497 2.574-.497 3.787 0l4.864 1.99C19.509 5.67 20 6.402 20 7.214v4.028z" />
+
+    <path stroke="currentColor" fill="transparent" class="text-background shield-ok" stroke-linecap="round"
+      stroke-linejoin="round" stroke-width="1" d="M8.712 12.566l2.193 2.193 4.787-4.788" />
+
+
+  </svg>
+
+  <span class="text-2xl font-thin text-white">
+    Secure
+  </span>
+</div>
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/app/header/header.component.scss b/desktop/angular/projects/portmaster-chrome-extension/src/app/header/header.component.scss
new file mode 100644
index 00000000..5c958f4e
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/app/header/header.component.scss
@@ -0,0 +1,29 @@
+svg {
+  transform: scale(0.95);
+
+  path {
+    top: 0px;
+    left: 0px;
+    transform-origin: center center;
+  }
+
+  .shield-one {
+    transform: scale(.62);
+  }
+
+  .shield-two {
+    animation-delay: -1.2s;
+    opacity: .6;
+    transform: scale(.8);
+  }
+
+  .shield-three {
+    animation-delay: -2.5s;
+    opacity: .4;
+    transform: scale(1);
+  }
+
+  .shield-ok {
+    transform: scale(.62);
+  }
+}
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/app/header/header.component.ts b/desktop/angular/projects/portmaster-chrome-extension/src/app/header/header.component.ts
new file mode 100644
index 00000000..3712f321
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/app/header/header.component.ts
@@ -0,0 +1,9 @@
+import { ChangeDetectionStrategy, Component } from "@angular/core";
+
+@Component({
+  selector: 'ext-header',
+  templateUrl: './header.component.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  styleUrls: ['./header.component.scss']
+})
+export class ExtHeaderComponent { }
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/app/header/index.ts b/desktop/angular/projects/portmaster-chrome-extension/src/app/header/index.ts
new file mode 100644
index 00000000..be62c26c
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/app/header/index.ts
@@ -0,0 +1 @@
+export * from './header.component';
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/app/interceptor.ts b/desktop/angular/projects/portmaster-chrome-extension/src/app/interceptor.ts
new file mode 100644
index 00000000..a33e1d04
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/app/interceptor.ts
@@ -0,0 +1,45 @@
+import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from "@angular/common/http";
+import { Injectable } from "@angular/core";
+import { BehaviorSubject, filter, Observable, switchMap } from "rxjs";
+
+
+@Injectable()
+export class AuthIntercepter implements HttpInterceptor {
+  /** Used to delay requests until we loaded the access token from the extension storage. */
+  private loaded$ = new BehaviorSubject<boolean>(false);
+
+  /** Holds the access token required to talk to the Portmaster API. */
+  private token: string | null = null;
+
+  constructor() {
+    // make sure we use the new access token once we get one.
+    chrome.storage.onChanged.addListener(changes => {
+      this.token = changes['key'].newValue || null;
+    })
+
+    // try to read the current access token from the extension storage.
+    chrome.storage.local.get('key', obj => {
+      this.token = obj.key || null;
+      console.log("got token", this.token)
+      this.loaded$.next(true);
+    })
+
+    chrome.runtime.sendMessage({ type: 'listRequests', tabId: 'current' }, (response: any) => {
+      console.log(response);
+    })
+  }
+
+  intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
+    return this.loaded$.pipe(
+      filter(loaded => loaded),
+      switchMap(() => {
+        if (!!this.token) {
+          req = req.clone({
+            headers: req.headers.set("Authorization", "Bearer " + this.token)
+          })
+        }
+        return next.handle(req)
+      })
+    )
+  }
+}
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/app/request-interceptor.service.ts b/desktop/angular/projects/portmaster-chrome-extension/src/app/request-interceptor.service.ts
new file mode 100644
index 00000000..159a5ea5
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/app/request-interceptor.service.ts
@@ -0,0 +1,49 @@
+import { Injectable } from "@angular/core";
+import { Subject } from "rxjs";
+
+
+
+@Injectable({
+  providedIn: 'root'
+})
+export class RequestInterceptorService {
+  /** Used to emit when a new URL was requested */
+  private onUrlRequested$ = new Subject<chrome.webRequest.WebRequestBodyDetails>();
+
+  /** Used to emit when a URL has likely been blocked by the portmaster */
+  private onUrlBlocked$ = new Subject<chrome.webRequest.WebResponseErrorDetails>();
+
+  /** Emits when a new URL was requested */
+  get onUrlRequested() {
+    return this.onUrlRequested$.asObservable();
+  }
+
+  /** Emits when a new URL was likely blocked by the portmaster */
+  get onUrlBlocked() {
+    return this.onUrlBlocked$.asObservable();
+  }
+
+  constructor() {
+    this.registerCallbacks()
+  }
+
+  private registerCallbacks() {
+    const filter = {
+      urls: [
+        "http://*/*",
+        "https://*/*",
+      ]
+    };
+
+    chrome.webRequest.onBeforeRequest.addListener(details => this.onUrlRequested$.next(details), filter)
+    chrome.webRequest.onErrorOccurred.addListener(details => {
+      if (details.error !== "net::ERR_ADDRESS_UNREACHABLE") {
+        // we don't care about errors other than UNREACHABLE because that's error caused
+        // by the portmaster.
+        return;
+      }
+
+      this.onUrlBlocked$.next(details);
+    }, filter)
+  }
+}
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/app/welcome/index.ts b/desktop/angular/projects/portmaster-chrome-extension/src/app/welcome/index.ts
new file mode 100644
index 00000000..a695cb02
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/app/welcome/index.ts
@@ -0,0 +1,2 @@
+export * from './welcome.module';
+
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/app/welcome/intro.component.html b/desktop/angular/projects/portmaster-chrome-extension/src/app/welcome/intro.component.html
new file mode 100644
index 00000000..017da699
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/app/welcome/intro.component.html
@@ -0,0 +1,48 @@
+<div class="flex flex-col items-center">
+
+  <h1 class="flex flex-row items-center gap-4 p-4 bg-gray-200 text-md">
+    <svg class="w-auto h-16 mr-4" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg"
+      xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 128 128">
+      <g data-name="Main" fill-rule="evenodd">
+        <path fill="#fff" d="M176.11 36.73l-5-8.61a41.53 41.53 0 00-14.73 57.22l8.55-5.12a31.58 31.58 0 0111.19-43.49z"
+          transform="translate(-127.99 .01)" style="isolation:isolate" opacity=".8"></path>
+        <path fill="#fff" d="M222.36 72.63a31.55 31.55 0 01-45 19.35l-4.62 8.84a41.54 41.54 0 0059.17-25.46z"
+          transform="translate(-127.99 .01)" style="isolation:isolate" opacity=".8"></path>
+        <path fill="#fff" d="M197 83a19.66 19.66 0 01-19.25-32.57l-4.5-4.27A25.87 25.87 0 00198.59 89z"
+          transform="translate(-127.99 .01)" style="isolation:isolate" opacity=".6"></path>
+        <path fill="#fff"
+          d="M192 112.64A48.64 48.64 0 11240.64 64 48.64 48.64 0 01192 112.64zM256 64a64 64 0 10-64 64 64 64 0 0064-64z"
+          transform="translate(-127.99 .1)"></path>
+      </g>
+    </svg>
+
+    <span class="inline-flex flex-col items-start">
+      <span class="text-secondary">Welcome to the</span>
+      <span class="text-lg font-semibold">
+        Portmaster Browser Extension
+      </span>
+    </span>
+  </h1>
+</div>
+<div class="flex flex-col items-center flex-grow p-4 justify-evenly">
+  <ng-container *ngIf="state === ''; else: authorizingTemplate">
+    <span class="text-sm text-center text-secondary">
+      This extension adds direct support for Portmaster to your Browser. For that, it needs to get access to the
+      Portmaster on your system. For security reasons, you first need to authorize the Browser Extension to talk to the
+      Portmaster.
+    </span>
+
+  </ng-container>
+
+  <ng-template #authorizingTemplate>
+    <h2 class="text-base text-primary">Waiting for Authorization</h2>
+    <span class="text-sm text-center text-secondary">
+      Please open the Portmaster and approve the authorization request.
+    </span>
+  </ng-template>
+
+  <button (click)="authorizeExtension()"
+    class="px-3 py-1.5 text-center text-white rounded-md cursor-pointer hover:bg-blue hover:bg-opacity-70 bg-blue outline-none text-sm"
+    type="button">{{ state === 'authorizing' ? 'Retry' : 'Authorize' }}
+  </button>
+</div>
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/app/welcome/intro.component.ts b/desktop/angular/projects/portmaster-chrome-extension/src/app/welcome/intro.component.ts
new file mode 100644
index 00000000..45d6b3d9
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/app/welcome/intro.component.ts
@@ -0,0 +1,44 @@
+import { Component } from "@angular/core";
+import { Router } from "@angular/router";
+import { MetaAPI } from "@safing/portmaster-api";
+import { Subject, takeUntil } from "rxjs";
+
+@Component({
+  templateUrl: './intro.component.html',
+  styles: [
+    `
+    :host {
+      @apply flex flex-col h-full;
+    }
+    `
+  ]
+})
+export class IntroComponent {
+  private cancelRequest$ = new Subject<void>();
+
+  state: 'authorizing' | 'failed' | '' = '';
+
+  constructor(
+    private meta: MetaAPI,
+    private router: Router,
+  ) { }
+
+  authorizeExtension() {
+    // cancel any pending request
+    this.cancelRequest$.next();
+
+    this.state = 'authorizing';
+    this.meta.requestApplicationAccess("Portmaster Browser Extension")
+      .pipe(takeUntil(this.cancelRequest$))
+      .subscribe({
+        next: token => {
+          chrome.storage.local.set(token);
+          console.log(token);
+          this.router.navigate(['/'])
+        },
+        error: err => {
+          this.state = 'failed';
+        }
+      })
+  }
+}
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/app/welcome/welcome.module.ts b/desktop/angular/projects/portmaster-chrome-extension/src/app/welcome/welcome.module.ts
new file mode 100644
index 00000000..a0de7207
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/app/welcome/welcome.module.ts
@@ -0,0 +1,19 @@
+import { CommonModule } from "@angular/common";
+import { NgModule } from "@angular/core";
+import { OverlayStepperModule } from "@safing/ui";
+import { IntroComponent } from "./intro.component";
+
+@NgModule({
+  imports: [
+    CommonModule,
+    OverlayStepperModule,
+  ],
+  declarations: [
+    IntroComponent,
+  ],
+  exports: [
+    IntroComponent,
+  ]
+})
+export class WelcomeModule { }
+
diff --git a/assets/.gitkeep b/desktop/angular/projects/portmaster-chrome-extension/src/assets/.gitkeep
similarity index 100%
rename from assets/.gitkeep
rename to desktop/angular/projects/portmaster-chrome-extension/src/assets/.gitkeep
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/assets/icon_128.png b/desktop/angular/projects/portmaster-chrome-extension/src/assets/icon_128.png
new file mode 100644
index 0000000000000000000000000000000000000000..063948f1789284627332181127d006f59e99d9b3
GIT binary patch
literal 11328
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

literal 0
HcmV?d00001

diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/background.ts b/desktop/angular/projects/portmaster-chrome-extension/src/background.ts
new file mode 100644
index 00000000..e6a0986c
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/background.ts
@@ -0,0 +1,133 @@
+import { debounceTime, Subject } from "rxjs";
+import { CallRequest, ListRequests, NotifyRequests } from "./background/commands";
+import { Request, TabTracker } from "./background/tab-tracker";
+import { getCurrentTab } from "./background/tab-utils";
+
+export class BackgroundService {
+  /** a lookup map for tab trackers by tab-id */
+  private trackers = new Map<number, TabTracker>();
+
+  /** used to signal the pop-up that new requests arrived */
+  private notifyRequests = new Subject<void>();
+
+  constructor() {
+    // register a navigation-completed listener. This is fired when the user switches to a new website
+    // by entering it in the browser address bar.
+    chrome.webNavigation.onCompleted.addListener((details) => {
+      console.log("event: webNavigation.onCompleted", details);
+    })
+
+    // request event listeners for new requests and errors that occured for them.
+    // We only care about http and https here.
+    const filter = {
+      urls: [
+        'http://*/*',
+        'https://*/*'
+      ]
+    }
+    chrome.webRequest.onBeforeRequest.addListener(details => this.handleOnBeforeRequest(details), filter)
+    chrome.webRequest.onErrorOccurred.addListener(details => this.handleOnErrorOccured(details), filter)
+
+    // make sure we can communicate with the extension popup
+    chrome.runtime.onMessage.addListener((msg, sender, sendResponse) => this.handleMessage(msg, sender, sendResponse))
+
+    // set-up signalling of new requests to the pop-up
+    this.notifyRequests
+      .pipe(debounceTime(500))
+      .subscribe(async () => {
+        const currentTab = await getCurrentTab();
+        if (!!currentTab && !!currentTab.id) {
+          const msg: NotifyRequests = {
+            type: 'notifyRequests',
+            requests: this.mustGetTab({ tabId: currentTab.id }).allRequests()
+          }
+
+          chrome.runtime.sendMessage(msg)
+        }
+      })
+  }
+
+  /** Callback for messages sent by the popup */
+  private handleMessage(msg: CallRequest, sender: chrome.runtime.MessageSender, sendResponse: (msg: any) => void) {
+    console.log(`DEBUG: got message from ${sender.origin} (tab=${sender.tab?.id})`)
+
+    if (typeof msg !== 'object') {
+      console.error(`Received invalid message from popup`, msg)
+
+      return;
+    }
+
+    let response: Promise<any>;
+    switch (msg.type) {
+      case 'listRequests':
+        response = this.handleListRequests(msg)
+        break;
+
+      default:
+        response = Promise.reject("unknown command")
+    }
+
+    response
+      .then(res => {
+        console.log(`DEBUG: sending response for command ${msg.type}`, res)
+        sendResponse(res);
+      })
+      .catch(err => {
+        console.error(`Failed to handle command ${msg.type}`, err)
+        sendResponse({
+          type: 'error',
+          details: err
+        });
+      })
+  }
+
+  /** Returns a list of all observed requests based on the filter in msg. */
+  private async handleListRequests(msg: ListRequests): Promise<Request[]> {
+    if (msg.tabId === 'current') {
+      const currentID = (await getCurrentTab()).id
+      if (!currentID) {
+        return [];
+      }
+
+      msg.tabId = currentID;
+    }
+
+    const tracker = this.mustGetTab({ tabId: msg.tabId as number })
+
+    if (!!msg.domain) {
+      return tracker.forDomain(msg.domain)
+    }
+
+    return tracker.allRequests()
+  }
+
+  /** Callback for chrome.webRequest.onBeforeRequest */
+  private handleOnBeforeRequest(details: chrome.webRequest.WebRequestDetails) {
+    this.mustGetTab(details).trackRequest(details)
+
+    this.notifyRequests.next();
+  }
+
+  /** Callback for chrome.webRequest.onErrorOccured */
+  private handleOnErrorOccured(details: chrome.webRequest.WebResponseErrorDetails) {
+    this.mustGetTab(details).trackError(details);
+
+    this.notifyRequests.next();
+  }
+
+  /** Returns the tab-tracker for tabId. Creates a new tracker if none exists. */
+  private mustGetTab({ tabId }: { tabId: number }): TabTracker {
+    let tracker = this.trackers.get(tabId);
+    if (!tracker) {
+      tracker = new TabTracker(tabId)
+      this.trackers.set(tabId, tracker)
+    }
+
+    return tracker;
+  }
+}
+
+/** start the background service once we got successfully installed. */
+chrome.runtime.onInstalled.addListener(() => {
+  new BackgroundService()
+});
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/background/commands.ts b/desktop/angular/projects/portmaster-chrome-extension/src/background/commands.ts
new file mode 100644
index 00000000..6bfdcd88
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/background/commands.ts
@@ -0,0 +1,14 @@
+import { Request } from "./tab-tracker";
+
+export interface ListRequests {
+  type: 'listRequests';
+  domain?: string;
+  tabId: number | 'current';
+}
+
+export interface NotifyRequests {
+  type: 'notifyRequests',
+  requests: Request[];
+}
+
+export type CallRequest = ListRequests;
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/background/tab-tracker.ts b/desktop/angular/projects/portmaster-chrome-extension/src/background/tab-tracker.ts
new file mode 100644
index 00000000..f5a0628e
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/background/tab-tracker.ts
@@ -0,0 +1,126 @@
+import { deepClone } from "@safing/portmaster-api";
+
+export interface Request {
+  /** The ID assigned by the browser */
+  id: string;
+
+  /** The domain this request was for */
+  domain: string;
+
+  /** The timestamp in milliseconds since epoch at which the request was initiated */
+  time: number;
+
+  /** Whether or not this request errored with net::ERR_ADDRESS_UNREACHABLE */
+  isUnreachable: boolean;
+}
+
+/**
+ * TabTracker tracks requests to domains made by a single browser tab.
+ */
+export class TabTracker {
+  /** A list of requests observed for this tab order by time they have been initiated */
+  private requests: Request[] = [];
+
+  /** A lookup map for requests to specific domains */
+  private byDomain = new Map<string, Request[]>();
+
+  /** A lookup map for requests by the chrome request ID */
+  private byRequestId = new Map<string, Request>;
+
+  constructor(public readonly tabId: number) { }
+
+  /** Returns an array of all requests observed in this tab. */
+  allRequests(): Request[] {
+    return deepClone(this.requests)
+  }
+
+  /** Returns a list of requests that have been observed for domain */
+  forDomain(domain: string): Request[] {
+    if (!domain.endsWith(".")) {
+      domain += "."
+    }
+
+    return this.byDomain.get(domain) || [];
+  }
+
+  /** Call to add the details of a web-request to this tab-tracker */
+  trackRequest(details: chrome.webRequest.WebRequestDetails) {
+    // If this is the wrong tab ID ignore the request details
+    if (details.tabId !== this.tabId) {
+      console.error(`TabTracker.trackRequest: called with wrong tab ID. Expected ${this.tabId} but got ${details.tabId}`)
+
+      return;
+    }
+
+    // if the type of the request is for the main_frame the user switched to a new website.
+    // In that case, we can wipe out all currently stored requests as the user will likely not
+    // care anymore.
+    if (details.type === "main_frame") {
+      this.clearState();
+    }
+
+    // get the domain of the request normalized to contain the trailing dot.
+    let domain = new URL(details.url).host;
+    if (!domain.endsWith(".")) {
+      domain += "."
+    }
+
+    const req: Request = {
+      id: details.requestId,
+      domain: domain,
+      time: details.timeStamp,
+      isUnreachable: false, // we don't actually know that yet
+    }
+
+    this.requests.push(req);
+    this.byRequestId.set(req.id, req)
+
+    // Add the request to the by-domain lookup map
+    let byDomainRequests = this.byDomain.get(req.domain);
+    if (!byDomainRequests) {
+      byDomainRequests = [];
+      this.byDomain.set(req.domain, byDomainRequests)
+    }
+    byDomainRequests.push(req)
+
+    console.log(`DEBUG: observed request ${req.id} to ${req.domain}`)
+  }
+
+  /** Call to notify the tab-tracker of a request error */
+  trackError(errorDetails: chrome.webRequest.WebResponseErrorDetails) {
+    // we only care about net::ERR_ADDRESS_UNREACHABLE here because that's how the
+    // Portmaster blocks the request.
+
+    // TODO(ppacher): docs say we must not rely on that value so we should figure out a better
+    // way to detect if the error is caused by the Portmaster.
+    if (errorDetails.error !== "net::ERR_ADDRESS_UNREACHABLE") {
+      return;
+    }
+
+    // the the previsouly observed request by the request ID.
+    const req = this.byRequestId.get(errorDetails.requestId)
+    if (!req) {
+      console.error("TabTracker.trackError: request has not been observed before")
+
+      return
+    }
+
+    // make sure the error details actually happend for the observed tab.
+    if (errorDetails.tabId !== this.tabId) {
+      console.error(`TabTracker.trackRequest: called with wrong tab ID. Expected ${this.tabId} but got ${errorDetails.tabId}`)
+
+      return;
+    }
+
+    // mark the request as unreachable.
+    req.isUnreachable = true;
+    console.log(`DEBUG: marked request ${req.id} to ${req.domain} as unreachable`)
+  }
+
+  /** Clears the current state of the tab tracker */
+  private clearState() {
+    this.requests = [];
+    this.byDomain = new Map();
+    this.byRequestId = new Map();
+  }
+}
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/background/tab-utils.ts b/desktop/angular/projects/portmaster-chrome-extension/src/background/tab-utils.ts
new file mode 100644
index 00000000..36635ca8
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/background/tab-utils.ts
@@ -0,0 +1,9 @@
+
+/** Queries and returns the currently active tab */
+export function getCurrentTab(): Promise<chrome.tabs.Tab> {
+  return new Promise((resolve) => {
+    chrome.tabs.query({ active: true, lastFocusedWindow: true }, ([tab]) => {
+      resolve(tab);
+    })
+  })
+}
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/environments/environment.prod.ts b/desktop/angular/projects/portmaster-chrome-extension/src/environments/environment.prod.ts
new file mode 100644
index 00000000..ffe8aed7
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/environments/environment.prod.ts
@@ -0,0 +1,3 @@
+export const environment = {
+  production: false
+};
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/environments/environment.ts b/desktop/angular/projects/portmaster-chrome-extension/src/environments/environment.ts
new file mode 100644
index 00000000..f56ff470
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/environments/environment.ts
@@ -0,0 +1,16 @@
+// This file can be replaced during build by using the `fileReplacements` array.
+// `ng build` replaces `environment.ts` with `environment.prod.ts`.
+// The list of file replacements can be found in `angular.json`.
+
+export const environment = {
+  production: false
+};
+
+/*
+ * For easier debugging in development mode, you can import the following file
+ * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.
+ *
+ * This import should be commented out in production mode because it will have a negative impact
+ * on performance if an error is thrown.
+ */
+// import 'zone.js/plugins/zone-error';  // Included with Angular CLI.
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/favicon.ico b/desktop/angular/projects/portmaster-chrome-extension/src/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..997406ad22c29aae95893fb3d666c30258a09537
GIT binary patch
literal 948
zcmV;l155mgP)<h;3K|Lk000e1NJLTq000~S0015c1^@s6KgE8Z00009a7bBm000XT
z000XT0n*)m`~Uz0W=TXrR7i=HS4&J2Q53!N>CBYU7IjCFmI-B}4sMJt3^s9NVg!P0
z6hDQy(L`XWMkB@zOLgN$4KYz;j0zZxq9KKdpZE#5@k0crP^5f9KO};h)ZDQ%ybhht
z%t<DF^WJ^$%)N8(nOiE8$$(XeL8%@9luMqDd3cT+XIb_^YH{kU)iX>9#h|nu0K(bJ
ztIkhEr!*UyrZWQ1k2+YkGqDi8Z<|mIN&$kzpKl{cNP=OQzXHz>vn+c)F)zO|Bou>E
z2|-d_=qY#Y+yOu1a}XI?cU}%04)zz%anD(XZC{#~WreV!a$7k2Ug`?&CUEc0EtrkZ
zL49MB)h!_K{H(*l_93D5tO0;BUnvYlo+;yss%n^&qjt6fZOa+}+FDO(<Bkhw>~2>G
z2dx@=JZ?DHP^;b7*Y1as5^uphBsh*s*z&MBd?e@I>-9kU>63PjP&^#5YTOb&x^6Cf
z?674rmSHB5Fk!{Gv7rv!?qX#ei_L(XtwVqLX3L}$MI|kJ*w(rhx~tc&L&xP#?cQow
zX_|gx$wMr3pRZIIr_;;O|8fAjd;1`nOeu5K(pCu7>^3E&D2OBBq?sY<UH^*#NTt${
zNF)_f745C&UQ!hOL6J5wC>a(%S?GwG&_0-s%_v$L@R!5H_fc)lOb9ZoOO#p`Nn`KU
z3LTTBtjwo`7(<AJG9luHgaE%Npo+H`lp+AIM{k6MKJszc@DM%lod&8TCER*o(XXcC
z8&nVTCXT+)%}_`PXo^}PJ?sF0i+ZEcPp`Gw`||ahk}N7#R#vq!${S`X0z(`KO6v$+
zMMZ<lOR*4Z^w4CXBMvpS<Pee{U^01BA?Uh&H@~OZ--v#JEQN=UdUMG1z|8D<@>HA6
z7gmO$yTR!5L>Bsg!X8616{JUngg_<CkvB3~uoT|Ddv8jJB0!diUI=K4ehj*vX2h(Q
zAz{=+<pcIMznABWNDpCr>@&85%>W=<KFI{w!MTfFH&rswzr*pd&s_k3#Fq-Gj~P%^
zungQTS7mB(`UGii*a&Ca#w!4DJm0!eNS%W4gXg%tYFns>mChTR;x4`P=?PJ~oPuy5
zU-L`C@_!34D21{fD~Y8NVnR3t;aqZI3fIhmgmx}$oc-dKDC6Ap$Gy>a!`A*x2L1v0
WcZ@i?LyX}70000<MNUMnLSTXxWwRmx

literal 0
HcmV?d00001

diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/index.html b/desktop/angular/projects/portmaster-chrome-extension/src/index.html
new file mode 100644
index 00000000..afb08c65
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/index.html
@@ -0,0 +1,13 @@
+<!doctype html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title>PortmasterChromeExtension</title>
+  <base href="/">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <link rel="icon" type="image/x-icon" href="favicon.ico">
+</head>
+<body>
+  <app-root></app-root>
+</body>
+</html>
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/main.ts b/desktop/angular/projects/portmaster-chrome-extension/src/main.ts
new file mode 100644
index 00000000..c7b673cf
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/main.ts
@@ -0,0 +1,12 @@
+import { enableProdMode } from '@angular/core';
+import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
+
+import { AppModule } from './app/app.module';
+import { environment } from './environments/environment';
+
+if (environment.production) {
+  enableProdMode();
+}
+
+platformBrowserDynamic().bootstrapModule(AppModule)
+  .catch(err => console.error(err));
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/manifest.json b/desktop/angular/projects/portmaster-chrome-extension/src/manifest.json
new file mode 100644
index 00000000..db045a05
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/manifest.json
@@ -0,0 +1,23 @@
+{
+  "name": "Portmaster Browser Extension",
+  "version": "0.1",
+  "description": "Browser Extension for even better Portmaster integration",
+  "manifest_version": 2,
+  "permissions": [
+      "activeTab",
+      "storage",
+      "webRequest",
+      "webNavigation",
+      "*://*/*"
+  ],
+  "browser_action": {
+    "default_popup": "index.html",
+    "default_icon": {
+      "128": "assets/icon_128.png"
+    }
+  },
+  "background": {
+    "scripts": ["background.js"],
+    "persistent": true
+  }
+}
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/polyfills.ts b/desktop/angular/projects/portmaster-chrome-extension/src/polyfills.ts
new file mode 100644
index 00000000..429bb9ef
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/polyfills.ts
@@ -0,0 +1,53 @@
+/**
+ * This file includes polyfills needed by Angular and is loaded before the app.
+ * You can add your own extra polyfills to this file.
+ *
+ * This file is divided into 2 sections:
+ *   1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
+ *   2. Application imports. Files imported after ZoneJS that should be loaded before your main
+ *      file.
+ *
+ * The current setup is for so-called "evergreen" browsers; the last versions of browsers that
+ * automatically update themselves. This includes recent versions of Safari, Chrome (including
+ * Opera), Edge on the desktop, and iOS and Chrome on mobile.
+ *
+ * Learn more in https://angular.io/guide/browser-support
+ */
+
+/***************************************************************************************************
+ * BROWSER POLYFILLS
+ */
+
+/**
+ * By default, zone.js will patch all possible macroTask and DomEvents
+ * user can disable parts of macroTask/DomEvents patch by setting following flags
+ * because those flags need to be set before `zone.js` being loaded, and webpack
+ * will put import in the top of bundle, so user need to create a separate file
+ * in this directory (for example: zone-flags.ts), and put the following flags
+ * into that file, and then add the following code before importing zone.js.
+ * import './zone-flags';
+ *
+ * The flags allowed in zone-flags.ts are listed here.
+ *
+ * The following flags will work for all browsers.
+ *
+ * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame
+ * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick
+ * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames
+ *
+ *  in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js
+ *  with the following flag, it will bypass `zone.js` patch for IE/Edge
+ *
+ *  (window as any).__Zone_enable_cross_context_check = true;
+ *
+ */
+
+/***************************************************************************************************
+ * Zone JS is required by default for Angular itself.
+ */
+import 'zone.js';  // Included with Angular CLI.
+
+
+/***************************************************************************************************
+ * APPLICATION IMPORTS
+ */
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/styles.scss b/desktop/angular/projects/portmaster-chrome-extension/src/styles.scss
new file mode 100644
index 00000000..e41283cd
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/styles.scss
@@ -0,0 +1,8 @@
+/* You can add global styles to this file, and also import other style files */
+
+@import 'tailwindcss/base';
+@import 'tailwindcss/components';
+@import 'tailwindcss/utilities';
+
+
+@import '@angular/cdk/overlay-prebuilt';
diff --git a/desktop/angular/projects/portmaster-chrome-extension/src/test.ts b/desktop/angular/projects/portmaster-chrome-extension/src/test.ts
new file mode 100644
index 00000000..51bb0206
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/src/test.ts
@@ -0,0 +1,14 @@
+// This file is required by karma.conf.js and loads recursively all the .spec and framework files
+
+import 'zone.js/testing';
+import { getTestBed } from '@angular/core/testing';
+import {
+  BrowserDynamicTestingModule,
+  platformBrowserDynamicTesting
+} from '@angular/platform-browser-dynamic/testing';
+
+// First, initialize the Angular testing environment.
+getTestBed().initTestEnvironment(
+  BrowserDynamicTestingModule,
+  platformBrowserDynamicTesting(),
+);
diff --git a/desktop/angular/projects/portmaster-chrome-extension/tsconfig.app.json b/desktop/angular/projects/portmaster-chrome-extension/tsconfig.app.json
new file mode 100644
index 00000000..28c28154
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/tsconfig.app.json
@@ -0,0 +1,18 @@
+/* To learn more about this file see: https://angular.io/config/tsconfig. */
+{
+  "extends": "../../tsconfig.json",
+  "compilerOptions": {
+    "outDir": "../../out-tsc/app",
+    "types": [
+      "chrome"
+    ]
+  },
+  "files": [
+    "src/main.ts",
+    "src/polyfills.ts",
+    "src/background.ts"
+  ],
+  "include": [
+    "src/**/*.d.ts"
+  ]
+}
diff --git a/desktop/angular/projects/portmaster-chrome-extension/tsconfig.spec.json b/desktop/angular/projects/portmaster-chrome-extension/tsconfig.spec.json
new file mode 100644
index 00000000..b66a2f0b
--- /dev/null
+++ b/desktop/angular/projects/portmaster-chrome-extension/tsconfig.spec.json
@@ -0,0 +1,18 @@
+/* To learn more about this file see: https://angular.io/config/tsconfig. */
+{
+  "extends": "../../tsconfig.json",
+  "compilerOptions": {
+    "outDir": "../../out-tsc/spec",
+    "types": [
+      "jasmine"
+    ]
+  },
+  "files": [
+    "src/test.ts",
+    "src/polyfills.ts"
+  ],
+  "include": [
+    "src/**/*.spec.ts",
+    "src/**/*.d.ts"
+  ]
+}
diff --git a/desktop/angular/projects/safing/portmaster-api/README.md b/desktop/angular/projects/safing/portmaster-api/README.md
new file mode 100644
index 00000000..fc4110d2
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/README.md
@@ -0,0 +1,24 @@
+# PortmasterApi
+
+This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 14.0.0.
+
+## Code scaffolding
+
+Run `ng generate component component-name --project portmaster-api` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project portmaster-api`.
+> Note: Don't forget to add `--project portmaster-api` or else it will be added to the default project in your `angular.json` file. 
+
+## Build
+
+Run `ng build portmaster-api` to build the project. The build artifacts will be stored in the `dist/` directory.
+
+## Publishing
+
+After building your library with `ng build portmaster-api`, go to the dist folder `cd dist/portmaster-api` and run `npm publish`.
+
+## Running unit tests
+
+Run `ng test portmaster-api` to execute the unit tests via [Karma](https://karma-runner.github.io).
+
+## Further help
+
+To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
diff --git a/desktop/angular/projects/safing/portmaster-api/karma.conf.js b/desktop/angular/projects/safing/portmaster-api/karma.conf.js
new file mode 100644
index 00000000..6f9bd935
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/karma.conf.js
@@ -0,0 +1,44 @@
+// Karma configuration file, see link for more information
+// https://karma-runner.github.io/1.0/config/configuration-file.html
+
+module.exports = function (config) {
+  config.set({
+    basePath: '',
+    frameworks: ['jasmine', '@angular-devkit/build-angular'],
+    plugins: [
+      require('karma-jasmine'),
+      require('karma-chrome-launcher'),
+      require('karma-jasmine-html-reporter'),
+      require('karma-coverage'),
+      require('@angular-devkit/build-angular/plugins/karma')
+    ],
+    client: {
+      jasmine: {
+        // you can add configuration options for Jasmine here
+        // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html
+        // for example, you can disable the random execution with `random: false`
+        // or set a specific seed with `seed: 4321`
+      },
+      clearContext: false // leave Jasmine Spec Runner output visible in browser
+    },
+    jasmineHtmlReporter: {
+      suppressAll: true // removes the duplicated traces
+    },
+    coverageReporter: {
+      dir: require('path').join(__dirname, '../../../coverage/safing/portmaster-api'),
+      subdir: '.',
+      reporters: [
+        { type: 'html' },
+        { type: 'text-summary' }
+      ]
+    },
+    reporters: ['progress', 'kjhtml'],
+    port: 9876,
+    colors: true,
+    logLevel: config.LOG_INFO,
+    autoWatch: true,
+    browsers: ['Chrome'],
+    singleRun: false,
+    restartOnFileChange: true
+  });
+};
diff --git a/desktop/angular/projects/safing/portmaster-api/ng-package.json b/desktop/angular/projects/safing/portmaster-api/ng-package.json
new file mode 100644
index 00000000..4ea94f9a
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/ng-package.json
@@ -0,0 +1,7 @@
+{
+  "$schema": "../../../node_modules/ng-packagr/ng-package.schema.json",
+  "dest": "../../../dist-lib/safing/portmaster-api",
+  "lib": {
+    "entryFile": "src/public-api.ts"
+  }
+}
diff --git a/desktop/angular/projects/safing/portmaster-api/package-lock.json b/desktop/angular/projects/safing/portmaster-api/package-lock.json
new file mode 100644
index 00000000..848065cc
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/package-lock.json
@@ -0,0 +1,132 @@
+{
+  "name": "@safing/portmaster-api",
+  "version": "0.0.1",
+  "lockfileVersion": 2,
+  "requires": true,
+  "packages": {
+    "": {
+      "name": "@safing/portmaster-api",
+      "version": "0.0.1",
+      "dependencies": {
+        "tslib": "^2.3.0"
+      },
+      "devDependencies": {
+        "@types/jasmine": "^4.0.3"
+      },
+      "peerDependencies": {
+        "@angular/common": "^14.0.0",
+        "@angular/core": "^14.0.0"
+      }
+    },
+    "node_modules/@angular/common": {
+      "version": "14.0.5",
+      "resolved": "https://registry.npmjs.org/@angular/common/-/common-14.0.5.tgz",
+      "integrity": "sha512-YFRPxx3yRLjk0gPL7tm/97mi8+Pjt3q6zWCjrLkAlDjniDvgmKNWIQ1h6crZQR0Cw7yNqK0QoFXQgTw0GJIWLQ==",
+      "peer": true,
+      "dependencies": {
+        "tslib": "^2.3.0"
+      },
+      "engines": {
+        "node": "^14.15.0 || >=16.10.0"
+      },
+      "peerDependencies": {
+        "@angular/core": "14.0.5",
+        "rxjs": "^6.5.3 || ^7.4.0"
+      }
+    },
+    "node_modules/@angular/core": {
+      "version": "14.0.5",
+      "resolved": "https://registry.npmjs.org/@angular/core/-/core-14.0.5.tgz",
+      "integrity": "sha512-4MIfFM2nD+N0/Dk8xKfKvbdS/zYRhQgdnKT6ZIIV7Y/XCfn5QAIa4+vB5BEAZpuzSsZHLVdBQQ0TkaiONLfL2Q==",
+      "peer": true,
+      "dependencies": {
+        "tslib": "^2.3.0"
+      },
+      "engines": {
+        "node": "^14.15.0 || >=16.10.0"
+      },
+      "peerDependencies": {
+        "rxjs": "^6.5.3 || ^7.4.0",
+        "zone.js": "~0.11.4"
+      }
+    },
+    "node_modules/@types/jasmine": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.0.3.tgz",
+      "integrity": "sha512-Opp1LvvEuZdk8fSSvchK2mZwhVrsNT0JgJE9Di6MjnaIpmEXM8TLCPPrVtNTYh8+5MPdY8j9bAHMu2SSfwpZJg==",
+      "dev": true
+    },
+    "node_modules/rxjs": {
+      "version": "7.5.6",
+      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.6.tgz",
+      "integrity": "sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==",
+      "peer": true,
+      "dependencies": {
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/tslib": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+      "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
+    },
+    "node_modules/zone.js": {
+      "version": "0.11.6",
+      "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.6.tgz",
+      "integrity": "sha512-umJqFtKyZlPli669gB1gOrRE9hxUUGkZr7mo878z+NEBJZZixJkKeVYfnoLa7g25SseUDc92OZrMKKHySyJrFg==",
+      "peer": true,
+      "dependencies": {
+        "tslib": "^2.3.0"
+      }
+    }
+  },
+  "dependencies": {
+    "@angular/common": {
+      "version": "14.0.5",
+      "resolved": "https://registry.npmjs.org/@angular/common/-/common-14.0.5.tgz",
+      "integrity": "sha512-YFRPxx3yRLjk0gPL7tm/97mi8+Pjt3q6zWCjrLkAlDjniDvgmKNWIQ1h6crZQR0Cw7yNqK0QoFXQgTw0GJIWLQ==",
+      "peer": true,
+      "requires": {
+        "tslib": "^2.3.0"
+      }
+    },
+    "@angular/core": {
+      "version": "14.0.5",
+      "resolved": "https://registry.npmjs.org/@angular/core/-/core-14.0.5.tgz",
+      "integrity": "sha512-4MIfFM2nD+N0/Dk8xKfKvbdS/zYRhQgdnKT6ZIIV7Y/XCfn5QAIa4+vB5BEAZpuzSsZHLVdBQQ0TkaiONLfL2Q==",
+      "peer": true,
+      "requires": {
+        "tslib": "^2.3.0"
+      }
+    },
+    "@types/jasmine": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.0.3.tgz",
+      "integrity": "sha512-Opp1LvvEuZdk8fSSvchK2mZwhVrsNT0JgJE9Di6MjnaIpmEXM8TLCPPrVtNTYh8+5MPdY8j9bAHMu2SSfwpZJg==",
+      "dev": true
+    },
+    "rxjs": {
+      "version": "7.5.6",
+      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.6.tgz",
+      "integrity": "sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==",
+      "peer": true,
+      "requires": {
+        "tslib": "^2.1.0"
+      }
+    },
+    "tslib": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+      "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
+    },
+    "zone.js": {
+      "version": "0.11.6",
+      "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.6.tgz",
+      "integrity": "sha512-umJqFtKyZlPli669gB1gOrRE9hxUUGkZr7mo878z+NEBJZZixJkKeVYfnoLa7g25SseUDc92OZrMKKHySyJrFg==",
+      "peer": true,
+      "requires": {
+        "tslib": "^2.3.0"
+      }
+    }
+  }
+}
diff --git a/desktop/angular/projects/safing/portmaster-api/package.json b/desktop/angular/projects/safing/portmaster-api/package.json
new file mode 100644
index 00000000..98483319
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/package.json
@@ -0,0 +1,14 @@
+{
+  "name": "@safing/portmaster-api",
+  "version": "0.0.1",
+  "peerDependencies": {
+    "@angular/common": "^14.0.0",
+    "@angular/core": "^14.0.0"
+  },
+  "dependencies": {
+    "tslib": "^2.3.0"
+  },
+  "devDependencies": {
+    "@types/jasmine": "^4.0.3"
+  }
+}
diff --git a/desktop/angular/projects/safing/portmaster-api/src/lib/app-profile.service.ts b/desktop/angular/projects/safing/portmaster-api/src/lib/app-profile.service.ts
new file mode 100644
index 00000000..814b67ff
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/src/lib/app-profile.service.ts
@@ -0,0 +1,262 @@
+import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
+import { Inject, Injectable } from '@angular/core';
+import { BehaviorSubject, Observable } from 'rxjs';
+import { filter, finalize, map, mergeMap, share, take } from 'rxjs/operators';
+import {
+  AppProfile,
+  FlatConfigObject,
+  LayeredProfile,
+  TagDescription,
+  flattenProfileConfig,
+} from './app-profile.types';
+import {
+  PORTMASTER_HTTP_API_ENDPOINT,
+  PortapiService,
+} from './portapi.service';
+import { Process } from './portapi.types';
+
+@Injectable({
+  providedIn: 'root',
+})
+export class AppProfileService {
+  private watchedProfiles = new Map<string, Observable<AppProfile>>();
+
+  constructor(
+    private portapi: PortapiService,
+    private http: HttpClient,
+    @Inject(PORTMASTER_HTTP_API_ENDPOINT) private httpAPI: string
+  ) { }
+
+  /**
+   * Returns the database key of a profile.
+   *
+   * @param source The source of the profile.
+   * @param id The profile ID.
+   */
+  getKey(source: string, id: string): string;
+
+  /**
+   * Returns the database key of a profile
+   *
+   * @param p The app-profile itself..
+   */
+  getKey(p: AppProfile): string;
+
+  getKey(idOrSourceOrProfile: string | AppProfile, id?: string): string {
+    if (typeof idOrSourceOrProfile === 'object') {
+      return this.getKey(idOrSourceOrProfile.Source, idOrSourceOrProfile.ID);
+    }
+
+    let key = idOrSourceOrProfile;
+
+    if (!!id) {
+      key = `core:profiles/${idOrSourceOrProfile}/${id}`;
+    }
+
+    return key;
+  }
+
+  /**
+   * Load an application profile.
+   *
+   * @param sourceAndId The full profile ID including source
+   */
+  getAppProfile(sourceAndId: string): Observable<AppProfile>;
+
+  /**
+   * Load an application profile.
+   *
+   * @param source The source of the profile
+   * @param id The ID of the profile
+   */
+  getAppProfile(source: string, id: string): Observable<AppProfile>;
+
+  getAppProfile(
+    sourceOrSourceAndID: string,
+    id?: string
+  ): Observable<AppProfile> {
+    let source = sourceOrSourceAndID;
+    if (id !== undefined) {
+      source += '/' + id;
+    }
+    const key = `core:profiles/${source}`;
+
+    if (this.watchedProfiles.has(key)) {
+      return this.watchedProfiles.get(key)!.pipe(take(1));
+    }
+
+    return this.getAppProfileFromKey(key);
+  }
+
+  setProfileIcon(
+    content: string | ArrayBuffer,
+    mimeType: string
+  ): Observable<{ filename: string }> {
+    return this.http.post<{ filename: string }>(
+      `${this.httpAPI}/v1/profile/icon`,
+      content,
+      {
+        headers: new HttpHeaders({
+          'Content-Type': mimeType,
+        }),
+      }
+    );
+  }
+
+  /**
+   * Loads an application profile by it's database key.
+   *
+   * @param key The key of the application profile.
+   */
+  getAppProfileFromKey(key: string): Observable<AppProfile> {
+    return this.portapi.get(key);
+  }
+
+  /**
+   * Loads the global-configuration profile.
+   */
+  globalConfig(): Observable<FlatConfigObject> {
+    return this.getAppProfile('special', 'global-config').pipe(
+      map((profile) => flattenProfileConfig(profile.Config))
+    );
+  }
+
+  /** Returns all possible process tags. */
+  tagDescriptions(): Observable<TagDescription[]> {
+    return this.http
+      .get<{ Tags: TagDescription[] }>(`${this.httpAPI}/v1/process/tags`)
+      .pipe(map((result) => result.Tags));
+  }
+
+  /**
+   * Watches an application profile for changes.
+   *
+   * @param source The source of the profile
+   * @param id The ID of the profile
+   */
+  watchAppProfile(sourceAndId: string): Observable<AppProfile>;
+  /**
+   * Watches an application profile for changes.
+   *
+   * @param source The source of the profile
+   * @param id The ID of the profile
+   */
+  watchAppProfile(source: string, id: string): Observable<AppProfile>;
+
+  watchAppProfile(sourceAndId: string, id?: string): Observable<AppProfile> {
+    let key = '';
+
+    if (id === undefined) {
+      key = sourceAndId;
+      if (!key.startsWith('core:profiles/')) {
+        key = `core:profiles/${key}`;
+      }
+    } else {
+      key = `core:profiles/${sourceAndId}/${id}`;
+    }
+
+    if (this.watchedProfiles.has(key)) {
+      return this.watchedProfiles.get(key)!;
+    }
+
+    const stream = this.portapi.get<AppProfile>(key).pipe(
+      mergeMap(() => this.portapi.watch<AppProfile>(key)),
+      finalize(() => {
+        console.log(
+          'watchAppProfile: removing cached profile stream for ' + key
+        );
+        this.watchedProfiles.delete(key);
+      }),
+      share({
+        connector: () => new BehaviorSubject<AppProfile | null>(null),
+        resetOnRefCountZero: true,
+      }),
+      filter((profile) => profile !== null)
+    ) as Observable<AppProfile>;
+
+    this.watchedProfiles.set(key, stream);
+
+    return stream;
+  }
+
+  /** @deprecated use saveProfile instead */
+  saveLocalProfile(profile: AppProfile): Observable<void> {
+    return this.saveProfile(profile);
+  }
+
+  /**
+   * Save an application profile.
+   *
+   * @param profile The profile to save
+   */
+  saveProfile(profile: AppProfile): Observable<void> {
+    profile.LastEdited = Math.floor(new Date().getTime() / 1000);
+    return this.portapi.update(
+      `core:profiles/${profile.Source}/${profile.ID}`,
+      profile
+    );
+  }
+
+  /**
+   * Watch all application profiles
+   */
+  watchProfiles(): Observable<AppProfile[]> {
+    return this.portapi.watchAll<AppProfile>('core:profiles/');
+  }
+
+  watchLayeredProfile(source: string, id: string): Observable<LayeredProfile>;
+
+  /**
+   * Watches the layered runtime profile for a given application
+   * profile.
+   *
+   * @param profile The app profile
+   */
+  watchLayeredProfile(profile: AppProfile): Observable<LayeredProfile>;
+
+  watchLayeredProfile(
+    profileOrSource: string | AppProfile,
+    id?: string
+  ): Observable<LayeredProfile> {
+    if (typeof profileOrSource == 'object') {
+      id = profileOrSource.ID;
+      profileOrSource = profileOrSource.Source;
+    }
+
+    const key = `runtime:layeredProfile/${profileOrSource}/${id}`;
+    return this.portapi.watch<LayeredProfile>(key);
+  }
+
+  /**
+   * Loads the layered runtime profile for a given application
+   * profile.
+   *
+   * @param profile The app profile
+   */
+  getLayeredProfile(profile: AppProfile): Observable<LayeredProfile> {
+    const key = `runtime:layeredProfile/${profile.Source}/${profile.ID}`;
+    return this.portapi.get<LayeredProfile>(key);
+  }
+
+  /**
+   * Delete an application profile.
+   *
+   * @param profile The profile to delete
+   */
+  deleteProfile(profile: AppProfile): Observable<void> {
+    return this.portapi.delete(`core:profiles/${profile.Source}/${profile.ID}`);
+  }
+
+  getProcessesByProfile(profileOrId: AppProfile | string): Observable<Process[]> {
+    if (typeof profileOrId === 'object') {
+      profileOrId = profileOrId.Source + "/" + profileOrId.ID
+    }
+
+    return this.http.get<Process[]>(`${this.httpAPI}/v1/process/list/by-profile/${profileOrId}`)
+  }
+
+  getProcessByPid(pid: number): Observable<Process> {
+    return this.http.get<Process>(`${this.httpAPI}/v1/process/group-leader/${pid}`)
+  }
+}
+
diff --git a/desktop/angular/projects/safing/portmaster-api/src/lib/app-profile.types.ts b/desktop/angular/projects/safing/portmaster-api/src/lib/app-profile.types.ts
new file mode 100644
index 00000000..986d62ff
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/src/lib/app-profile.types.ts
@@ -0,0 +1,215 @@
+import { BaseSetting, OptionValueType, SettingValueType } from './config.types';
+import { SecurityLevel } from './core.types';
+import { Record } from './portapi.types';
+
+export interface ConfigMap {
+  [key: string]: ConfigObject;
+}
+
+export type ConfigObject = OptionValueType | ConfigMap;
+
+export interface FlatConfigObject {
+  [key: string]: OptionValueType;
+}
+
+
+export interface LayeredProfile extends Record {
+  // LayerIDs is a list of all profiles that are used
+  // by this layered profile. Profiles are evaluated in
+  // order.
+  LayerIDs: string[];
+
+  // The current revision counter of the layered profile.
+  RevisionCounter: number;
+}
+
+export enum FingerprintType {
+  Tag = 'tag',
+  Cmdline = 'cmdline',
+  Env = 'env',
+  Path = 'path',
+}
+
+export enum FingerpringOperation {
+  Equal = 'equals',
+  Prefix = 'prefix',
+  Regex = 'regex',
+}
+
+export interface Fingerprint {
+  Type: FingerprintType;
+  Key: string;
+  Operation: FingerpringOperation;
+  Value: string;
+}
+
+export interface TagDescription {
+  ID: string;
+  Name: string;
+  Description: string;
+}
+
+export interface Icon {
+  Type: 'database' | 'path' | 'api';
+  Source: '' | 'user' | 'import' | 'core' | 'ui';
+  Value: string;
+}
+
+export interface AppProfile extends Record {
+  ID: string;
+  LinkedPath: string; // deprecated
+  PresentationPath: string;
+  Fingerprints: Fingerprint[];
+  Created: number;
+  LastEdited: number;
+  Config?: ConfigMap;
+  Description: string;
+  Warning: string;
+  WarningLastUpdated: string;
+  Homepage: string;
+  Icons: Icon[];
+  Name: string;
+  Internal: boolean;
+  SecurityLevel: SecurityLevel;
+  Source: 'local';
+}
+
+// flattenProfileConfig returns a flat version of a nested ConfigMap where each property
+// can be used as the database key for the associated setting.
+export function flattenProfileConfig(
+  p?: ConfigMap,
+  prefix = ''
+): FlatConfigObject {
+  if (p === null || p === undefined) {
+    return {}
+  }
+
+  let result: FlatConfigObject = {};
+
+  Object.keys(p).forEach((key) => {
+    const childPrefix = prefix === '' ? key : `${prefix}/${key}`;
+
+    const prop = p[key];
+
+    if (isConfigMap(prop)) {
+      const flattened = flattenProfileConfig(prop, childPrefix);
+      result = mergeObjects(result, flattened);
+      return;
+    }
+
+    result[childPrefix] = prop;
+  });
+
+  return result;
+}
+
+/**
+ * Returns the current value (or null) of a setting stored in a config
+ * map by path.
+ *
+ * @param obj The ConfigMap object
+ * @param path  The path of the setting separated by foward slashes.
+ */
+export function getAppSetting<T extends OptionValueType>(
+  obj: ConfigMap | null | undefined,
+  path: string
+): T | null {
+  if (obj === null || obj === undefined) {
+    return null
+  }
+
+  const parts = path.split('/');
+
+  let iter = obj;
+  for (let idx = 0; idx < parts.length; idx++) {
+    const propName = parts[idx];
+
+    if (iter[propName] === undefined) {
+      return null;
+    }
+
+    const value = iter[propName];
+    if (idx === parts.length - 1) {
+      return value as T;
+    }
+
+    if (!isConfigMap(value)) {
+      return null;
+    }
+
+    iter = value;
+  }
+  return null;
+}
+
+export function getActualValue<S extends BaseSetting<any, any>>(
+  s: S
+): SettingValueType<S> {
+  if (s.Value !== undefined) {
+    return s.Value;
+  }
+  if (s.GlobalDefault !== undefined) {
+    return s.GlobalDefault;
+  }
+  return s.DefaultValue;
+}
+
+/**
+ * Sets the value of a settings inside the nested config object.
+ *
+ * @param obj THe config object
+ * @param path  The path of the setting
+ * @param value The new value to set.
+ */
+export function setAppSetting(obj: ConfigObject, path: string, value: any) {
+  const parts = path.split('/');
+  if (typeof obj !== 'object' || Array.isArray(obj)) {
+    return;
+  }
+
+  let iter = obj;
+  for (let idx = 0; idx < parts.length; idx++) {
+    const propName = parts[idx];
+
+    if (idx === parts.length - 1) {
+      if (value === undefined) {
+        delete iter[propName];
+      } else {
+        iter[propName] = value;
+      }
+      return;
+    }
+
+    if (iter[propName] === undefined) {
+      iter[propName] = {};
+    }
+
+    iter = iter[propName] as ConfigMap;
+  }
+}
+
+/** Typeguard to ensure v is a ConfigMap */
+function isConfigMap(v: any): v is ConfigMap {
+  return typeof v === 'object' && !Array.isArray(v);
+}
+
+/**
+ * Returns a new flat-config object that contains values from both
+ * parameters.
+ *
+ * @param a The first config object
+ * @param b The second config object
+ */
+function mergeObjects(
+  a: FlatConfigObject,
+  b: FlatConfigObject
+): FlatConfigObject {
+  var res: FlatConfigObject = {};
+  Object.keys(a).forEach((key) => {
+    res[key] = a[key];
+  });
+  Object.keys(b).forEach((key) => {
+    res[key] = b[key];
+  });
+  return res;
+}
diff --git a/desktop/angular/projects/safing/portmaster-api/src/lib/config.service.ts b/desktop/angular/projects/safing/portmaster-api/src/lib/config.service.ts
new file mode 100644
index 00000000..58daeb28
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/src/lib/config.service.ts
@@ -0,0 +1,128 @@
+import { Injectable, TrackByFunction } from '@angular/core';
+import { BehaviorSubject, Observable } from 'rxjs';
+import { distinctUntilChanged, filter, map, share, toArray } from 'rxjs/operators';
+import { BaseSetting, BoolSetting, OptionType, Setting, SettingValueType } from './config.types';
+import { PortapiService } from './portapi.service';
+
+
+@Injectable({
+  providedIn: 'root'
+})
+export class ConfigService {
+  networkRatingEnabled$: Observable<boolean>;
+
+  /**
+   * A {@link TrackByFunction} for tracking settings.
+   */
+  static trackBy: TrackByFunction<Setting> = (_: number, obj: Setting) => obj.Name;
+  readonly trackBy = ConfigService.trackBy;
+
+  /** configPrefix is the database key prefix for the config db */
+  readonly configPrefix = "config:";
+
+  constructor(private portapi: PortapiService) {
+    this.networkRatingEnabled$ = this.watch<BoolSetting>("core/enableNetworkRating")
+      .pipe(
+        share({ connector: () => new BehaviorSubject(false) }),
+      )
+  }
+
+  /**
+   * Loads a configuration setting from the database.
+   *
+   * @param key The key of the configuration setting.
+   */
+  get(key: string): Observable<Setting> {
+    return this.portapi.get<Setting>(this.configPrefix + key);
+  }
+
+  /**
+   * Returns all configuration settings that match query. Note that in
+   * contrast to {@link PortAPI} settings values are collected into
+   * an array before being emitted. This allows simple usage in *ngFor
+   * and friends.
+   *
+   * @param query The query used to search for configuration settings.
+   */
+  query(query: string): Observable<Setting[]> {
+    return this.portapi.query<Setting>(this.configPrefix + query)
+      .pipe(
+        map(setting => setting.data),
+        toArray()
+      );
+  }
+
+  /**
+   * Save a setting.
+   *
+   * @param s The setting to save. Note that the new value should already be set to {@property Value}.
+   */
+  save(s: Setting): Observable<void>;
+
+  /**
+   * Save a setting.
+   *
+   * @param key The key of the configuration setting
+   * @param value The new value of the setting.
+   */
+  save(key: string, value: any): Observable<void>;
+
+  // save is overloaded, see above.
+  save(s: Setting | string, v?: any): Observable<void> {
+    if (typeof s === 'string') {
+      return this.portapi.update(this.configPrefix + s, {
+        Key: s,
+        Value: v,
+      });
+    }
+    return this.portapi.update(this.configPrefix + s.Key, s);
+  }
+
+  /**
+   * Watch a configuration setting.
+   *
+   * @param key The key of the setting to watch.
+   */
+  watch<T extends Setting>(key: string): Observable<SettingValueType<T>> {
+    return this.portapi.qsub<BaseSetting<SettingValueType<T>, any>>(this.configPrefix + key)
+      .pipe(
+        filter(value => value.key === this.configPrefix + key), // qsub does a query so filter for our key.
+        map(value => value.data),
+        map(value => value.Value !== undefined ? value.Value : value.DefaultValue),
+        distinctUntilChanged(),
+      )
+  }
+
+  /**
+   * Tests if a value is valid for a given option.
+   *
+   * @param spec The option specification (as returned by get()).
+   * @param value The value that should be tested.
+   */
+  validate<S extends Setting>(spec: S, value: SettingValueType<S>) {
+    if (!spec.ValidationRegex) {
+      return;
+    }
+
+    const re = new RegExp(spec.ValidationRegex);
+
+    switch (spec.OptType) {
+      case OptionType.Int:
+      case OptionType.Bool:
+        // todo(ppacher): do we validate that?
+        return
+      case OptionType.String:
+        if (!re.test(value as string)) {
+          throw new Error(`${value} does not match ${spec.ValidationRegex}`)
+        }
+        return;
+      case OptionType.StringArray:
+        (value as string[]).forEach(v => {
+          if (!re.test(v as string)) {
+            throw new Error(`${value} does not match ${spec.ValidationRegex}`)
+          }
+        });
+        return
+    }
+  }
+}
diff --git a/desktop/angular/projects/safing/portmaster-api/src/lib/config.types.ts b/desktop/angular/projects/safing/portmaster-api/src/lib/config.types.ts
new file mode 100644
index 00000000..99fe5d82
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/src/lib/config.types.ts
@@ -0,0 +1,348 @@
+import { FeatureID } from './features';
+import { Record } from './portapi.types';
+import { deepClone } from './utils';
+
+/**
+ * ExpertiseLevel defines all available expertise levels.
+ */
+export enum ExpertiseLevel {
+  User = 'user',
+  Expert = 'expert',
+  Developer = 'developer',
+}
+
+export enum ExpertiseLevelNumber {
+  user = 0,
+  expert = 1,
+  developer = 2
+}
+
+export function getExpertiseLevelNumber(lvl: ExpertiseLevel): ExpertiseLevelNumber {
+  switch (lvl) {
+    case ExpertiseLevel.User:
+      return ExpertiseLevelNumber.user;
+    case ExpertiseLevel.Expert:
+      return ExpertiseLevelNumber.expert;
+    case ExpertiseLevel.Developer:
+      return ExpertiseLevelNumber.developer
+  }
+}
+
+/**
+ * OptionType defines the type of an option as stored in
+ * the backend. Note that ExternalOptionHint may be used
+ * to request a different visual representation and edit
+ * menu on a per-option basis.
+ */
+export enum OptionType {
+  String = 1,
+  StringArray = 2,
+  Int = 3,
+  Bool = 4,
+}
+
+/**
+ * Converts an option type to it's string representation.
+ *
+ * @param opt The option type to convert
+ */
+export function optionTypeName(opt: OptionType): string {
+  switch (opt) {
+    case OptionType.String:
+      return 'string';
+    case OptionType.StringArray:
+      return '[]string';
+    case OptionType.Int:
+      return 'int'
+    case OptionType.Bool:
+      return 'bool'
+  }
+}
+
+/** The actual type an option value can be */
+export type OptionValueType = string | string[] | number | boolean;
+
+/** Type-guard for string option types */
+export function isStringType(opt: OptionType, vt: OptionValueType): vt is string {
+  return opt === OptionType.String;
+}
+
+/** Type-guard for string-array option types */
+export function isStringArrayType(opt: OptionType, vt: OptionValueType): vt is string[] {
+  return opt === OptionType.StringArray;
+}
+
+/** Type-guard for number option types */
+export function isNumberType(opt: OptionType, vt: OptionValueType): vt is number {
+  return opt === OptionType.Int;
+}
+
+/** Type-guard for boolean option types */
+export function isBooleanType(opt: OptionType, vt: OptionValueType): vt is boolean {
+  return opt === OptionType.Bool;
+}
+
+/**
+ * ReleaseLevel defines the available release and maturity
+ * levels.
+ */
+export enum ReleaseLevel {
+  Stable = 0,
+  Beta = 1,
+  Experimental = 2,
+}
+
+export function releaseLevelFromName(name: 'stable' | 'beta' | 'experimental'): ReleaseLevel {
+  switch (name) {
+    case 'stable':
+      return ReleaseLevel.Stable;
+    case 'beta':
+      return ReleaseLevel.Beta;
+    case 'experimental':
+      return ReleaseLevel.Experimental;
+  }
+}
+
+/**
+ * releaseLevelName returns a string representation of the
+ * release level.
+ *
+ * @args level The release level to convert.
+ */
+export function releaseLevelName(level: ReleaseLevel): string {
+  switch (level) {
+    case ReleaseLevel.Stable:
+      return 'stable'
+    case ReleaseLevel.Beta:
+      return 'beta'
+    case ReleaseLevel.Experimental:
+      return 'experimental'
+  }
+}
+
+/**
+ * ExternalOptionHint tells the UI to use a different visual
+ * representation and edit menu that the options value would
+ * imply.
+ */
+export enum ExternalOptionHint {
+  SecurityLevel = 'security level',
+  EndpointList = 'endpoint list',
+  FilterList = 'filter list',
+  OneOf = 'one-of',
+  OrderedList = 'ordered'
+}
+
+/** A list of well-known option annotation keys. */
+export enum WellKnown {
+  DisplayHint = "safing/portbase:ui:display-hint",
+  Order = "safing/portbase:ui:order",
+  Unit = "safing/portbase:ui:unit",
+  Category = "safing/portbase:ui:category",
+  Subsystem = "safing/portbase:module:subsystem",
+  Stackable = "safing/portbase:options:stackable",
+  QuickSetting = "safing/portbase:ui:quick-setting",
+  Requires = "safing/portbase:config:requires",
+  RestartPending = "safing/portbase:options:restart-pending",
+  EndpointListVerdictNames = "safing/portmaster:ui:endpoint-list:verdict-names",
+  RequiresFeatureID = "safing/portmaster:ui:config:requires-feature",
+  RequiresUIReload = "safing/portmaster:ui:requires-reload",
+}
+
+/**
+ * Annotations describes the annoations object of a configuration
+ * setting. Well-known annotations are stricktly typed.
+ */
+export interface Annotations<T extends OptionValueType> {
+  // Well known option annoations and their
+  // types.
+  [WellKnown.DisplayHint]?: ExternalOptionHint;
+  [WellKnown.Order]?: number;
+  [WellKnown.Unit]?: string;
+  [WellKnown.Category]?: string;
+  [WellKnown.Subsystem]?: string;
+  [WellKnown.Stackable]?: true;
+  [WellKnown.QuickSetting]?: QuickSetting<T> | QuickSetting<T>[] | CountrySelectionQuickSetting<T> | CountrySelectionQuickSetting<T>[];
+  [WellKnown.Requires]?: ValueRequirement | ValueRequirement[];
+  [WellKnown.RequiresFeatureID]?: FeatureID | FeatureID[];
+  [WellKnown.RequiresUIReload]?: unknown,
+  // Any thing else...
+  [key: string]: any;
+}
+
+export interface PossilbeValue<T = any> {
+  /** Name is the name of the value and should be displayed */
+  Name: string;
+  /** Description may hold an additional description of the value */
+  Description: string;
+  /** Value is the actual value expected by the portmaster */
+  Value: T;
+}
+
+export interface QuickSetting<T extends OptionValueType> {
+  // Name is the name of the quick setting.
+  Name: string;
+  // Value is the value that the quick-setting configures. It must match
+  // the expected value type of the annotated option.
+  Value: T;
+  // Action defines the action of the quick setting.
+  Action: 'replace' | 'merge-top' | 'merge-bottom';
+}
+
+export interface CountrySelectionQuickSetting<T extends OptionValueType> extends QuickSetting<T> {
+  // Filename of the flag to be used.
+  // In most cases this will be the 2-letter country code, but there are also special flags.
+  FlagID: string;
+}
+
+export interface ValueRequirement {
+  // Key is the configuration key of the required setting.
+  Key: string;
+  // Value is the required value of the linked setting.
+  Value: any;
+}
+
+/**
+ * BaseSetting describes the general shape of a portbase config setting.
+ */
+export interface BaseSetting<T extends OptionValueType, O extends OptionType> extends Record {
+  // Value is the value of a setting.
+  Value?: T;
+  // DefaultValue is the default value of a setting.
+  DefaultValue: T;
+  // Description is a short description.
+  Description?: string;
+  // ExpertiseLevel defines the required expertise level for
+  // this setting to show up.
+  ExpertiseLevel: ExpertiseLevelNumber;
+  // Help may contain a longer help text for this option.
+  Help?: string;
+  // Key is the database key.
+  Key: string;
+  // Name is the name of the option.
+  Name: string;
+  // OptType is the option's basic type.
+  OptType: O;
+  // Annotations holds option specific annotations.
+  Annotations: Annotations<T>;
+  // ReleaseLevel defines the release level of the feature
+  // or settings changed by this option.
+  ReleaseLevel: ReleaseLevel;
+  // RequiresRestart may be set to true if the service requires
+  // a restart after this option has been changed.
+  RequiresRestart?: boolean;
+  // ValidateRegex defines the regex used to validate this option.
+  // The regex is used in Golang but is expected to be valid in
+  // JavaScript as well.
+  ValidationRegex?: string;
+  PossibleValues?: PossilbeValue[];
+
+  // GlobalDefault holds the global default value and is used in the app settings
+  // This property is NOT defined inside the portmaster!
+  GlobalDefault?: T;
+}
+
+export type IntSetting = BaseSetting<number, OptionType.Int>;
+export type StringSetting = BaseSetting<string, OptionType.String>;
+export type StringArraySetting = BaseSetting<string[], OptionType.StringArray>;
+export type BoolSetting = BaseSetting<boolean, OptionType.Bool>;
+
+/**
+ * Apply a quick setting to a value.
+ *
+ * @param current The current value of the setting.
+ * @param qs The quick setting to apply.
+ */
+export function applyQuickSetting<V extends OptionValueType>(current: V | null, qs: QuickSetting<V>): V | null {
+  if (qs.Action === 'replace' || !qs.Action) {
+    return deepClone(qs.Value);
+  }
+
+  if ((!Array.isArray(current) && current !== null) || !Array.isArray(qs.Value)) {
+    console.warn(`Tried to ${qs.Action} quick-setting on non-array type`);
+    return current;
+  }
+
+  const clone = deepClone(current);
+  let missing: any[] = [];
+
+  qs.Value.forEach(val => {
+    if (clone.includes(val)) {
+      return
+    }
+    missing.push(val);
+  });
+
+  if (qs.Action === 'merge-bottom') {
+    return clone.concat(missing) as V;
+  }
+
+  return missing.concat(clone) as V;
+}
+
+/**
+ * Parses the ValidationRegex of a setting and returns a list
+ * of supported values.
+ *
+ * @param s The setting to extract support values from.
+ */
+export function parseSupportedValues<S extends Setting>(s: S): SettingValueType<S>[] {
+  if (!s.ValidationRegex) {
+    return [];
+  }
+
+  const values = s.ValidationRegex.match(/\w+/gmi);
+  const result: SettingValueType<S>[] = [];
+
+  let converter: (s: string) => any;
+
+  switch (s.OptType) {
+    case OptionType.Bool:
+      converter = s => s === 'true';
+      break;
+    case OptionType.Int:
+      converter = s => +s;
+      break;
+    case OptionType.String:
+    case OptionType.StringArray:
+      converter = s => s
+      break
+  }
+
+  values?.forEach(val => {
+    result.push(converter(val))
+  });
+
+  return result;
+}
+
+/**
+ * isDefaultValue checks if value is the settings default value.
+ * It supports all available settings type and fallsback to use
+ * JSON encoded string comparision (JS JSON.stringify is stable).
+ */
+export function isDefaultValue<T extends OptionValueType>(value: T | undefined | null, defaultValue: T): boolean {
+  if (value === undefined) {
+    return true;
+  }
+
+  const isObject = typeof value === 'object';
+  const isDefault = isObject
+    ? JSON.stringify(value) === JSON.stringify(defaultValue)
+    : value === defaultValue;
+
+  return isDefault;
+}
+
+/**
+ * SettingValueType is used to infer the type of a settings from it's default value.
+ * Use like this:
+ *
+ *      validate<S extends Setting>(spec: S, value SettingValueType<S>) { ... }
+ */
+export type SettingValueType<S extends Setting> = S extends { DefaultValue: infer T } ? T : any;
+
+export type Setting = IntSetting
+  | StringSetting
+  | StringArraySetting
+  | BoolSetting;
diff --git a/desktop/angular/projects/safing/portmaster-api/src/lib/core.types.ts b/desktop/angular/projects/safing/portmaster-api/src/lib/core.types.ts
new file mode 100644
index 00000000..5e5e1417
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/src/lib/core.types.ts
@@ -0,0 +1,34 @@
+import { TrackByFunction } from '@angular/core';
+
+export enum SecurityLevel {
+  Off = 0,
+  Normal = 1,
+  High = 2,
+  Extreme = 4,
+}
+
+export enum RiskLevel {
+  Off = 'off',
+  Auto = 'auto',
+  Low = 'low',
+  Medium = 'medium',
+  High = 'high'
+}
+
+/** Interface capturing any object that has an ID member. */
+export interface Identifyable {
+  ID: string | number;
+}
+
+/** A TrackByFunction for all Identifyable objects. */
+export const trackById: TrackByFunction<Identifyable> = (_: number, obj: Identifyable) => {
+  return obj.ID;
+}
+
+export function getEnumKey(enumLike: any, value: string | number): string {
+  if (typeof value === 'string') {
+    return value.toLowerCase()
+  }
+
+  return (enumLike[value] as string).toLowerCase()
+}
diff --git a/desktop/angular/projects/safing/portmaster-api/src/lib/debug-api.service.ts b/desktop/angular/projects/safing/portmaster-api/src/lib/debug-api.service.ts
new file mode 100644
index 00000000..f0617943
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/src/lib/debug-api.service.ts
@@ -0,0 +1,54 @@
+import { HttpClient } from '@angular/common/http';
+import { Inject, Injectable } from '@angular/core';
+import { Observable } from 'rxjs';
+import { PORTMASTER_HTTP_API_ENDPOINT } from './portapi.service';
+
+@Injectable({
+  providedIn: 'root',
+})
+export class DebugAPI {
+  constructor(
+    private http: HttpClient,
+    @Inject(PORTMASTER_HTTP_API_ENDPOINT) private httpAPI: string,
+  ) { }
+
+  ping(): Observable<string> {
+    return this.http.get(`${this.httpAPI}/v1/ping`, {
+      responseType: 'text'
+    })
+  }
+
+  getStack(): Observable<string> {
+    return this.http.get(`${this.httpAPI}/v1/debug/stack`, {
+      responseType: 'text'
+    })
+  }
+
+  getDebugInfo(style = 'github'): Observable<string> {
+    return this.http.get(`${this.httpAPI}/v1/debug/info`, {
+      params: {
+        style,
+      },
+      responseType: 'text',
+    })
+  }
+
+  getCoreDebugInfo(style = 'github'): Observable<string> {
+    return this.http.get(`${this.httpAPI}/v1/debug/core`, {
+      params: {
+        style,
+      },
+      responseType: 'text',
+    })
+  }
+
+  getProfileDebugInfo(source: string, id: string, style = 'github'): Observable<string> {
+    return this.http.get(`${this.httpAPI}/v1/debug/network`, {
+      params: {
+        profile: `${source}/${id}`,
+        style,
+      },
+      responseType: 'text',
+    })
+  }
+}
diff --git a/desktop/angular/projects/safing/portmaster-api/src/lib/features.ts b/desktop/angular/projects/safing/portmaster-api/src/lib/features.ts
new file mode 100644
index 00000000..658f1c1b
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/src/lib/features.ts
@@ -0,0 +1,8 @@
+export enum FeatureID {
+  None = "",
+  SPN = "spn",
+  PrioritySupport = "support",
+  History = "history",
+  Bandwidth = "bw-vis",
+  VPNCompat = "vpn-compat",
+}
diff --git a/desktop/angular/projects/safing/portmaster-api/src/lib/meta-api.service.ts b/desktop/angular/projects/safing/portmaster-api/src/lib/meta-api.service.ts
new file mode 100644
index 00000000..009848f4
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/src/lib/meta-api.service.ts
@@ -0,0 +1,106 @@
+import { HttpClient, HttpErrorResponse, HttpParams } from '@angular/common/http';
+import { Inject, Injectable, Optional } from '@angular/core';
+import { Observable, of, throwError } from 'rxjs';
+import { catchError, map } from 'rxjs/operators';
+import { PORTMASTER_HTTP_API_ENDPOINT } from './portapi.service';
+
+export interface MetaEndpointParameter {
+  Method: string;
+  Field: string;
+  Value: string;
+  Description: string;
+}
+
+export interface MetaEndpoint {
+  Path: string;
+  MimeType: string;
+  Read: number;
+  Write: number;
+  Name: string;
+  Description: string;
+  Parameters: MetaEndpointParameter[];
+}
+
+export interface AuthPermission {
+  Read: number;
+  Write: number;
+  ReadRole: string;
+  WriteRole: string;
+}
+
+export interface MyProfileResponse {
+  profile: string;
+  source: string;
+  name: string;
+}
+
+export interface AuthKeyResponse {
+  key: string;
+  validUntil: string;
+}
+
+@Injectable()
+export class MetaAPI {
+  constructor(
+    private http: HttpClient,
+    @Inject(PORTMASTER_HTTP_API_ENDPOINT) @Optional() private httpEndpoint: string = 'http://localhost:817/api',
+  ) { }
+
+  listEndpoints(): Observable<MetaEndpoint[]> {
+    return this.http.get<MetaEndpoint[]>(`${this.httpEndpoint}/v1/endpoints`)
+  }
+
+  permissions(): Observable<AuthPermission> {
+    return this.http.get<AuthPermission>(`${this.httpEndpoint}/v1/auth/permissions`)
+  }
+
+  myProfile(): Observable<MyProfileResponse> {
+    return this.http.get<MyProfileResponse>(`${this.httpEndpoint}/v1/app/profile`)
+  }
+
+  requestApplicationAccess(appName: string, read: 'user' | 'admin' = 'user', write: 'user' | 'admin' = 'user'): Observable<AuthKeyResponse> {
+    let params = new HttpParams()
+      .set("app-name", appName)
+      .set("read", read)
+      .set("write", write)
+
+    return this.http.get<AuthKeyResponse>(`${this.httpEndpoint}/v1/app/auth`, { params })
+  }
+
+  login(bearer: string): Observable<boolean>;
+  login(username: string, password: string): Observable<boolean>;
+  login(usernameOrBearer: string, password?: string): Observable<boolean> {
+    let login: Observable<void>;
+
+    if (!!password) {
+      login = this.http.get<void>(`${this.httpEndpoint}/v1/auth/basic`, {
+        headers: {
+          'Authorization': `Basic ${btoa(usernameOrBearer + ":" + password)}`
+        }
+      })
+    } else {
+      login = this.http.get<void>(`${this.httpEndpoint}/v1/auth/bearer`, {
+        headers: {
+          'Authorization': `Bearer ${usernameOrBearer}`
+        }
+      })
+    }
+
+    return login.pipe(
+      map(() => true),
+      catchError(err => {
+        if (err instanceof HttpErrorResponse) {
+          if (err.status === 401) {
+            return of(false);
+          }
+        }
+
+        return throwError(() => err)
+      })
+    )
+  }
+
+  logout(): Observable<void> {
+    return this.http.get<void>(`${this.httpEndpoint}/v1/auth/reset`);
+  }
+}
diff --git a/desktop/angular/projects/safing/portmaster-api/src/lib/module.ts b/desktop/angular/projects/safing/portmaster-api/src/lib/module.ts
new file mode 100644
index 00000000..0ed13363
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/src/lib/module.ts
@@ -0,0 +1,55 @@
+import { ModuleWithProviders, NgModule } from "@angular/core";
+import { AppProfileService } from "./app-profile.service";
+import { ConfigService } from "./config.service";
+import { DebugAPI } from "./debug-api.service";
+import { MetaAPI } from "./meta-api.service";
+import { Netquery } from "./netquery.service";
+import { PortapiService, PORTMASTER_HTTP_API_ENDPOINT, PORTMASTER_WS_API_ENDPOINT } from "./portapi.service";
+import { SPNService } from "./spn.service";
+import { WebsocketService } from "./websocket.service";
+
+export interface ModuleConfig {
+  httpAPI?: string;
+  websocketAPI?: string;
+}
+
+@NgModule({})
+export class PortmasterAPIModule {
+
+  /**
+   * Configures a module with additional providers.
+   *
+   * @param cfg The module configuration defining the Portmaster HTTP and Websocket API endpoints.
+   */
+  static forRoot(cfg: ModuleConfig = {}): ModuleWithProviders<PortmasterAPIModule> {
+    if (cfg.httpAPI === undefined) {
+      cfg.httpAPI = `http://${window.location.host}/api`;
+    }
+    if (cfg.websocketAPI === undefined) {
+      cfg.websocketAPI = `ws://${window.location.host}/api/database/v1`;
+    }
+
+    return {
+      ngModule: PortmasterAPIModule,
+      providers: [
+        PortapiService,
+        WebsocketService,
+        MetaAPI,
+        ConfigService,
+        AppProfileService,
+        DebugAPI,
+        Netquery,
+        SPNService,
+        {
+          provide: PORTMASTER_HTTP_API_ENDPOINT,
+          useValue: cfg.httpAPI,
+        },
+        {
+          provide: PORTMASTER_WS_API_ENDPOINT,
+          useValue: cfg.websocketAPI
+        }
+      ]
+    }
+  }
+
+}
diff --git a/desktop/angular/projects/safing/portmaster-api/src/lib/netquery.service.ts b/desktop/angular/projects/safing/portmaster-api/src/lib/netquery.service.ts
new file mode 100644
index 00000000..c0b1ec88
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/src/lib/netquery.service.ts
@@ -0,0 +1,543 @@
+import { HttpClient, HttpParams, HttpResponse } from "@angular/common/http";
+import { Inject, Injectable } from "@angular/core";
+import { Observable, forkJoin, of } from "rxjs";
+import { catchError, map, mergeMap } from "rxjs/operators";
+import { AppProfileService } from "./app-profile.service";
+import { AppProfile } from "./app-profile.types";
+import { DNSContext, IPScope, Reason, TLSContext, TunnelContext, Verdict } from "./network.types";
+import { PORTMASTER_HTTP_API_ENDPOINT, PortapiService } from "./portapi.service";
+import { Container } from "postcss";
+
+export interface FieldSelect {
+  field: string;
+}
+
+export interface FieldAsSelect {
+  $field: {
+    field: string;
+    as: string;
+  }
+}
+
+export interface Count {
+  $count: {
+    field: string;
+    distinct?: boolean;
+    as?: string;
+  }
+}
+
+export interface Sum {
+  $sum: {
+    condition: Condition;
+    as: string;
+    distinct?: boolean;
+  } | {
+    field: string;
+    as: string;
+    distinct?: boolean;
+  }
+}
+
+export interface Min {
+  $min: {
+    condition: Condition;
+    as: string;
+    distinct?: boolean;
+  } | {
+    field: string;
+    as: string;
+    distinct?: boolean;
+  }
+}
+
+export interface Distinct {
+  $distinct: string;
+}
+
+export type Select = FieldSelect | FieldAsSelect | Count | Distinct | Sum | Min;
+
+export interface Equal {
+  $eq: any;
+}
+
+export interface NotEqual {
+  $ne: any;
+}
+
+export interface Like {
+  $like: string;
+}
+
+export interface In {
+  $in: any[];
+}
+
+export interface NotIn {
+  $notin: string[];
+}
+
+export interface Greater {
+  $gt: number;
+}
+
+export interface GreaterOrEqual {
+  $ge: number;
+}
+
+export interface Less {
+  $lt: number;
+}
+
+export interface LessOrEqual {
+  $le: number;
+}
+
+export type Matcher = Equal | NotEqual | Like | In | NotIn | Greater | GreaterOrEqual | Less | LessOrEqual;
+
+export interface OrderBy {
+  field: string;
+  desc?: boolean;
+}
+
+export interface Condition {
+  [key: string]: string | Matcher | (string | Matcher)[];
+}
+
+export interface TextSearch {
+  fields: string[];
+  value: string;
+}
+
+export enum Database {
+  Live = "main",
+  History = "history"
+}
+
+export interface Query {
+  select?: string | Select | (Select | string)[];
+  query?: Condition;
+  orderBy?: string | OrderBy | (OrderBy | string)[];
+  textSearch?: TextSearch;
+  groupBy?: string[];
+  pageSize?: number;
+  page?: number;
+  databases?: Database[];
+}
+
+export interface NetqueryConnection {
+  id: string;
+  allowed: boolean | null;
+  profile: string;
+  path: string;
+  type: 'dns' | 'ip';
+  external: boolean;
+  ip_version: number;
+  ip_protocol: number;
+  local_ip: string;
+  local_port: number;
+  remote_ip: string;
+  remote_port: number;
+  domain: string;
+  country: string;
+  asn: number;
+  as_owner: string;
+  latitude: number;
+  longitude: number;
+  scope: IPScope;
+  verdict: Verdict;
+  started: string;
+  ended: string;
+  tunneled: boolean;
+  encrypted: boolean;
+  internal: boolean;
+  direction: 'inbound' | 'outbound';
+  profile_revision: number;
+  exit_node?: string;
+  extra_data?: {
+    pid?: number;
+    processCreatedAt?: number;
+    cname?: string[];
+    blockedByLists?: string[];
+    blockedEntities?: string[];
+    reason?: Reason;
+    tunnel?: TunnelContext;
+    dns?: DNSContext;
+    tls?: TLSContext;
+  };
+
+  profile_name: string;
+  active: boolean;
+  bytes_received: number;
+  bytes_sent: number;
+}
+
+export interface ChartResult {
+  timestamp: number;
+  value: number;
+  countBlocked: number;
+}
+
+export interface QueryResult extends Partial<NetqueryConnection> {
+  [key: string]: any;
+}
+
+export interface Identities {
+  exit_node: string;
+  count: number;
+}
+
+export interface IProfileStats {
+  ID: string;
+  Name: string;
+
+  size: number;
+  empty: boolean;
+  identities: Identities[];
+  countAllowed: number;
+  countUnpermitted: number;
+  countAliveConnections: number;
+  bytes_sent: number;
+  bytes_received: number;
+}
+
+type BatchResponse<T> = {
+  [key in keyof T]: QueryResult[]
+}
+
+interface BatchRequest {
+  [key: string]: Query
+}
+
+interface BandwidthBaseResult {
+  timestamp: number;
+  incoming: number;
+  outgoing: number;
+}
+
+export type ConnKeys = keyof NetqueryConnection
+
+export type BandwidthChartResult<K extends ConnKeys> = {
+  [key in K]: NetqueryConnection[K];
+} & BandwidthBaseResult
+
+export type ProfileBandwidthChartResult = BandwidthChartResult<'profile'>;
+
+export type ConnectionBandwidthChartResult = BandwidthChartResult<'id'>;
+
+@Injectable({ providedIn: 'root' })
+export class Netquery {
+  constructor(
+    private http: HttpClient,
+    private profileService: AppProfileService,
+    private portapi: PortapiService,
+    @Inject(PORTMASTER_HTTP_API_ENDPOINT) private httpAPI: string,
+  ) { }
+
+  query(query: Query, origin: string): Observable<QueryResult[]> {
+    return this.http.post<{ results: QueryResult[] }>(`${this.httpAPI}/v1/netquery/query`, query, {
+      params: new HttpParams().set("origin", origin)
+    })
+      .pipe(map(res => res.results || []));
+  }
+
+  batch<T extends BatchRequest>(queries: T): Observable<BatchResponse<T>> {
+    return this.http.post<BatchResponse<T>>(`${this.httpAPI}/v1/netquery/query/batch`, queries)
+  }
+
+  cleanProfileHistory(profileIDs: string | string[]): Observable<HttpResponse<any>> {
+    return this.http.post(`${this.httpAPI}/v1/netquery/history/clear`,
+      {
+        profileIDs: Array.isArray(profileIDs) ? profileIDs : [profileIDs]
+      },
+      {
+        observe: 'response',
+        responseType: 'text',
+        reportProgress: false,
+      }
+    )
+  }
+
+  profileBandwidthChart(profile?: string[], interval?: number): Observable<{ [profile: string]: ProfileBandwidthChartResult[] }> {
+    const cond: Condition = {}
+    if (!!profile) {
+      cond['profile'] = profile
+    }
+
+    return this.bandwidthChart(cond, ['profile'], interval)
+      .pipe(
+        map(results => {
+          const obj: {
+            [connId: string]: ProfileBandwidthChartResult[]
+          } = {};
+
+          results?.forEach(row => {
+            const arr = obj[row.profile] || []
+            arr.push(row)
+            obj[row.profile] = arr
+          })
+
+          return obj
+        })
+      )
+  }
+
+  bandwidthChart<K extends ConnKeys>(query: Condition, groupBy?: K[], interval?: number): Observable<BandwidthChartResult<K>[]> {
+    return this.http.post<{ results: BandwidthChartResult<K>[] }>(`${this.httpAPI}/v1/netquery/charts/bandwidth`, {
+      interval,
+      groupBy,
+      query,
+    })
+      .pipe(
+        map(response => response.results),
+      )
+  }
+
+  connectionBandwidthChart(connIds: string[], interval?: number): Observable<{ [connId: string]: ConnectionBandwidthChartResult[] }> {
+    const cond: Condition = {}
+    if (!!connIds) {
+      cond['id'] = connIds
+    }
+
+    return this.bandwidthChart(cond, ['id'], interval)
+      .pipe(
+        map(results => {
+          const obj: {
+            [connId: string]: ConnectionBandwidthChartResult[]
+          } = {};
+
+          results?.forEach(row => {
+            const arr = obj[row.id] || []
+            arr.push(row)
+            obj[row.id] = arr
+          })
+
+          return obj
+        })
+      )
+  }
+
+  activeConnectionChart(cond: Condition, textSearch?: TextSearch): Observable<ChartResult[]> {
+    return this.http.post<{ results: ChartResult[] }>(`${this.httpAPI}/v1/netquery/charts/connection-active`, {
+      query: cond,
+      textSearch,
+    })
+      .pipe(map(res => {
+        const now = new Date();
+
+        let data: ChartResult[] = [];
+
+        let lastPoint: ChartResult | null = {
+          timestamp: Math.floor(now.getTime() / 1000 - 600),
+          value: 0,
+          countBlocked: 0,
+        };
+        res.results?.forEach(point => {
+          if (!!lastPoint && lastPoint.timestamp < (point.timestamp - 10)) {
+            for (let i = lastPoint.timestamp; i < point.timestamp; i += 10) {
+              data.push({
+                timestamp: i,
+                value: 0,
+                countBlocked: 0,
+              })
+            }
+          }
+          data.push(point);
+          lastPoint = point;
+        })
+
+        const lastPointTs = Math.round(now.getTime() / 1000);
+        if (!!lastPoint && lastPoint.timestamp < (lastPointTs - 20)) {
+          for (let i = lastPoint.timestamp; i < lastPointTs; i += 20) {
+            data.push({
+              timestamp: i,
+              value: 0,
+              countBlocked: 0
+            })
+          }
+        }
+
+        return data;
+      }));
+  }
+
+  getActiveProfileIDs(): Observable<string[]> {
+    return this.query({
+      select: [
+        'profile',
+      ],
+      groupBy: [
+        'profile',
+      ],
+    }, 'get-active-profile-ids').pipe(
+      map(result => {
+        return result.map(res => res.profile!);
+      })
+    )
+  }
+
+  getActiveProfiles(): Observable<AppProfile[]> {
+    return this.getActiveProfileIDs()
+      .pipe(
+        mergeMap(profiles => forkJoin(profiles.map(pid => this.profileService.getAppProfile(pid))))
+      )
+  }
+
+  getProfileStats(query?: Condition): Observable<IProfileStats[]> {
+    let profileCache = new Map<string, AppProfile>();
+
+    return this.batch({
+      verdicts: {
+        select: [
+          'profile',
+          'verdict',
+          { $count: { field: '*', as: 'totalCount' } },
+        ],
+        groupBy: [
+          'profile',
+          'verdict',
+        ],
+        query: query,
+      },
+
+      conns: {
+        select: [
+          'profile',
+          { $count: { field: '*', as: 'totalCount' } },
+          { $count: { field: 'ended', as: 'countEnded' } },
+          { $sum: { field: 'bytes_sent', as: 'bytes_sent' } },
+          { $sum: { field: 'bytes_received', as: 'bytes_received' } },
+        ],
+        groupBy: [
+          'profile',
+        ],
+        query: query,
+      },
+
+      identities: {
+        select: [
+          'profile',
+          'exit_node',
+          { $count: { field: '*', as: 'totalCount' } }
+        ],
+        groupBy: [
+          'profile',
+          'exit_node',
+        ],
+        query: {
+          ...query,
+          exit_node: {
+            $ne: "",
+          },
+        },
+      }
+    }).pipe(
+      map(result => {
+        let statsMap = new Map<string, IProfileStats>();
+
+        const getOrCreate = (id: string) => {
+          let stats = statsMap.get(id) || {
+            ID: id,
+            Name: 'Deleted',
+            countAliveConnections: 0,
+            countAllowed: 0,
+            countUnpermitted: 0,
+            empty: true,
+            identities: [],
+            size: 0,
+            bytes_received: 0,
+            bytes_sent: 0
+          };
+
+          statsMap.set(id, stats);
+          return stats;
+        }
+        result.verdicts?.forEach(res => {
+          const stats = getOrCreate(res.profile!);
+
+          switch (res.verdict) {
+            case Verdict.Accept:
+            case Verdict.RerouteToNs:
+            case Verdict.RerouteToTunnel:
+            case Verdict.Undeterminable:
+              stats.size += res.totalCount
+              stats.countAllowed += res.totalCount;
+              break;
+
+            case Verdict.Block:
+            case Verdict.Drop:
+            case Verdict.Failed:
+            case Verdict.Undecided:
+              stats.size += res.totalCount
+              stats.countUnpermitted += res.totalCount;
+              break;
+          }
+
+          stats.empty = stats.size == 0;
+        })
+
+        result.conns?.forEach(res => {
+          const stats = getOrCreate(res.profile!);
+
+          stats.countAliveConnections = res.totalCount - res.countEnded;
+          stats.bytes_received += res.bytes_received!;
+          stats.bytes_sent += res.bytes_sent!;
+        })
+
+        result.identities?.forEach(res => {
+          const stats = getOrCreate(res.profile!);
+
+          let ident = stats.identities.find(value => value.exit_node === res.exit_node)
+          if (!ident) {
+            ident = {
+              count: 0,
+              exit_node: res.exit_node!,
+            }
+            stats.identities.push(ident);
+          }
+
+          ident.count += res.totalCount;
+        })
+
+        return Array.from(statsMap.values())
+      }),
+      mergeMap(stats => {
+        return forkJoin(stats.map(p => {
+          if (profileCache.has(p.ID)) {
+            return of(profileCache.get(p.ID)!);
+          }
+          return this.profileService.getAppProfile(p.ID)
+            .pipe(catchError(err => {
+              return of(null)
+            }))
+        }))
+          .pipe(
+            map((profiles: (AppProfile | null)[]) => {
+              profileCache = new Map();
+
+              let lm = new Map<string, IProfileStats>();
+              stats.forEach(stat => lm.set(stat.ID, stat));
+
+              profiles
+                .forEach(p => {
+                  if (!p) {
+                    return
+                  }
+
+                  profileCache.set(`${p.Source}/${p.ID}`, p)
+
+                  let stat = lm.get(`${p.Source}/${p.ID}`)
+                  if (!stat) {
+                    return;
+                  }
+
+                  stat.Name = p.Name
+                })
+
+              return Array.from(lm.values())
+            })
+          )
+      })
+    )
+  }
+}
diff --git a/desktop/angular/projects/safing/portmaster-api/src/lib/network.types.ts b/desktop/angular/projects/safing/portmaster-api/src/lib/network.types.ts
new file mode 100644
index 00000000..6cdef998
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/src/lib/network.types.ts
@@ -0,0 +1,314 @@
+import { Record } from './portapi.types';
+
+export enum Verdict {
+  Undecided = 0,
+  Undeterminable = 1,
+  Accept = 2,
+  Block = 3,
+  Drop = 4,
+  RerouteToNs = 5,
+  RerouteToTunnel = 6,
+  Failed = 7
+}
+
+export enum IPProtocol {
+  ICMP = 1,
+  IGMP = 2,
+  TCP = 6,
+  UDP = 17,
+  ICMPv6 = 58,
+  UDPLite = 136,
+  RAW = 255, // TODO(ppacher): what is RAW used for?
+}
+
+export enum IPVersion {
+  V4 = 4,
+  V6 = 6,
+}
+
+export enum IPScope {
+  Invalid = -1,
+  Undefined = 0,
+  HostLocal = 1,
+  LinkLocal = 2,
+  SiteLocal = 3,
+  Global = 4,
+  LocalMulticast = 5,
+  GlobalMulitcast = 6
+}
+
+let globalScopes = new Set([IPScope.GlobalMulitcast, IPScope.Global])
+let localScopes = new Set([IPScope.SiteLocal, IPScope.LinkLocal, IPScope.LocalMulticast])
+
+// IsGlobalScope returns true if scope represents a globally
+// routed destination.
+export function IsGlobalScope(scope: IPScope): scope is IPScope.GlobalMulitcast | IPScope.Global {
+  return globalScopes.has(scope);
+}
+
+// IsLocalScope returns true if scope represents a locally
+// routed destination.
+export function IsLANScope(scope: IPScope): scope is IPScope.SiteLocal | IPScope.LinkLocal | IPScope.LocalMulticast {
+  return localScopes.has(scope);
+}
+
+// IsLocalhost returns true if scope represents localhost.
+export function IsLocalhost(scope: IPScope): scope is IPScope.HostLocal {
+  return scope === IPScope.HostLocal;
+}
+
+const deniedVerdicts = new Set([
+  Verdict.Drop,
+  Verdict.Block,
+])
+// IsDenied returns true if the verdict v represents a
+// deny or block decision.
+export function IsDenied(v: Verdict): boolean {
+  return deniedVerdicts.has(v);
+}
+
+export interface CountryInfo {
+  Code: string;
+	Name: string;
+	Center: GeoCoordinates;
+  Continent: ContinentInfo;
+}
+
+export interface ContinentInfo {
+  Code: string;
+  Region: string;
+  Name: string;
+}
+
+export interface GeoCoordinates {
+  AccuracyRadius: number;
+  Latitude: number;
+  Longitude: number;
+}
+
+export const UnknownLocation: GeoCoordinates = {
+  AccuracyRadius: 0,
+  Latitude: 0,
+  Longitude: 0
+}
+
+export interface IntelEntity {
+  // Protocol is the IP protocol used to connect/communicate
+  // the the described entity.
+  Protocol: IPProtocol;
+  // Port is the remote port number used.
+  Port: number;
+  // Domain is the domain name of the entity. This may either
+  // be the domain name used in the DNS request or the
+  // named returned from reverse PTR lookup.
+  Domain: string;
+  // CNAME is a list of CNAMEs that have been used
+  // to resolve this entity.
+  CNAME: string[] | null;
+  // IP is the IP address of the entity.
+  IP: string;
+  // IPScope holds the classification of the IP address.
+  IPScope: IPScope;
+  // Country holds the country of residence of the IP address.
+  Country: string;
+  // ASN holds the number of the autonoumous system that operates
+  // the IP.
+  ASN: number;
+  // ASOrg holds the AS owner name.
+  ASOrg: string;
+  // Coordinates contains the geographic coordinates of the entity.
+  Coordinates: GeoCoordinates | null;
+  // BlockedByLists holds a list of filter list IDs that
+  // would have blocked the entity.
+  BlockedByLists: string[] | null;
+  // BlockedEntities holds a list of entities that have been
+  // blocked by filter lists. Those entities can be ASNs, domains,
+  // CNAMEs, IPs or Countries.
+  BlockedEntities: string[] | null;
+  // ListOccurences maps the blocked entity (see BlockedEntities)
+  // to a list of filter-list IDs that contains it.
+  ListOccurences: { [key: string]: string[] } | null;
+}
+
+export enum ScopeIdentifier {
+  IncomingHost = "IH",
+  IncomingLAN = "IL",
+  IncomingInternet = "II",
+  IncomingInvalid = "IX",
+  PeerHost = "PH",
+  PeerLAN = "PL",
+  PeerInternet = "PI",
+  PeerInvalid = "PX"
+}
+
+export const ScopeTranslation: { [key: string]: string } = {
+  [ScopeIdentifier.IncomingHost]: "Device-Local Incoming",
+  [ScopeIdentifier.IncomingLAN]: "LAN Incoming",
+  [ScopeIdentifier.IncomingInternet]: "Internet Incoming",
+  [ScopeIdentifier.PeerHost]: "Device-Local Outgoing",
+  [ScopeIdentifier.PeerLAN]: "LAN Peer-to-Peer",
+  [ScopeIdentifier.PeerInternet]: "Internet Peer-to-Peer",
+  [ScopeIdentifier.IncomingInvalid]: "N/A",
+  [ScopeIdentifier.PeerInvalid]: "N/A",
+}
+
+export interface ProcessContext {
+  BinaryPath: string;
+  ProcessName: string;
+  ProfileName: string;
+  PID: number;
+  Profile: string;
+  Source: string
+}
+
+// Reason justifies the decision on a connection
+// verdict.
+export interface Reason {
+  // Msg holds a human readable message of the reason.
+  Msg: string;
+  // OptionKey, if available, holds the key of the
+  // configuration option that caused the verdict.
+  OptionKey: string;
+  // Profile holds the profile the option setting has
+  // been configured in.
+  Profile: string;
+  // Context may holds additional data about the reason.
+  Context: any;
+}
+
+export enum ConnectionType {
+  Undefined = 0,
+  IPConnection = 1,
+  DNSRequest = 2
+}
+
+export function IsDNSRequest(t: ConnectionType): t is ConnectionType.DNSRequest {
+  return t === ConnectionType.DNSRequest;
+}
+
+export function IsIPConnection(t: ConnectionType): t is ConnectionType.IPConnection {
+  return t === ConnectionType.IPConnection;
+}
+
+export interface DNSContext {
+  Domain: string;
+  ServedFromCache: boolean;
+  RequestingNew: boolean;
+  IsBackup: boolean;
+  Filtered: boolean;
+  FilteredEntries: string[], // RR
+  Question: 'A' | 'AAAA' | 'MX' | 'TXT' | 'SOA' | 'SRV' | 'PTR' | 'NS' | string;
+  RCode: 'NOERROR' | 'SERVFAIL' | 'NXDOMAIN' | 'REFUSED' | string;
+  Modified: string;
+  Expires: string;
+}
+
+export interface TunnelContext {
+  Path: TunnelNode[];
+  PathCost: number;
+  RoutingAlg: 'default';
+}
+
+export interface GeoIPInfo {
+  IP: string;
+  Country: string;
+  ASN: number;
+  ASOwner: string;
+}
+
+export interface TunnelNode {
+  ID: string;
+  Name: string;
+  IPv4?: GeoIPInfo;
+  IPv6?: GeoIPInfo;
+
+}
+
+export interface CertInfo<dateType extends string | Date = string> {
+  Subject: string;
+  Issuer: string;
+  AlternateNames: string[];
+  NotBefore: dateType;
+  NotAfter: dateType;
+}
+
+export interface TLSContext {
+  Version: string;
+  VersionRaw: number;
+  SNI: string;
+  Chain: CertInfo[][];
+}
+
+export interface Connection extends Record {
+  // ID is a unique ID for the connection.
+  ID: string;
+  // Type defines the connection type.
+  Type: ConnectionType;
+  // TLS may holds additional data for the TLS
+  // session.
+  TLS: TLSContext | null;
+  // DNSContext holds additional data about the DNS request for
+  // this connection.
+  DNSContext: DNSContext | null;
+  // TunnelContext holds additional data about the SPN tunnel used for
+  // the connection.
+  TunnelContext: TunnelContext | null;
+  // Scope defines the scope of the connection. It's an somewhat
+  // weired field that may contain a ScopeIdentifier or a string.
+  // In case of a string it may eventually be interpreted as a
+  // domain name.
+  Scope: ScopeIdentifier | string;
+  // IPVersion is the version of the IP protocol used.
+  IPVersion: IPVersion;
+  // Inbound is true if the connection is incoming to
+  // hte local system.
+  Inbound: boolean;
+  // IPProtocol is the protocol used by the connection.
+  IPProtocol: IPProtocol;
+  // LocalIP is the local IP address that is involved into
+  // the connection.
+  LocalIP: string;
+  // LocalIPScope holds the classification of the local IP
+  // address;
+  LocalIPScope: IPScope;
+  // LocalPort is the local port that is involved into the
+  // connection.
+  LocalPort: number;
+  // Entity describes the remote entity that is part of the
+  // connection.
+  Entity: IntelEntity;
+  // Verdict defines the final verdict.
+  Verdict: Verdict;
+  // Reason is the reason justifying the verdict of the connection.
+  Reason: Reason;
+  // Started holds the number of seconds in UNIX epoch time at which
+  // the connection was initiated.
+  Started: number;
+  // End dholds the number of seconds in UNIX epoch time at which
+  // the connection was considered terminated.
+  Ended: number;
+  // Tunneled is set to true if the connection was tunneled through the
+  // SPN.
+  Tunneled: boolean;
+  // VerdictPermanent is set to true if the connection was marked and
+  // handed back to the operating system.
+  VerdictPermanent: boolean;
+  // Inspecting is set to true if the connection is being inspected.
+  Inspecting: boolean;
+  // Encrypted is set to true if the connection is estimated as being
+  // encrypted. Interpreting this field must be done with care!
+  Encrypted: boolean;
+  // Internal is set to true if this connection is done by the Portmaster
+  // or any associated helper processes/binaries itself.
+  Internal: boolean;
+  // ProcessContext holds additional information about the process
+  // that initated the connection.
+  ProcessContext: ProcessContext;
+  // ProfileRevisionCounter is used to track changes to the process
+  // profile.
+  ProfileRevisionCounter: number;
+}
+
+export interface ReasonContext {
+  [key: string]: any;
+}
diff --git a/desktop/angular/projects/safing/portmaster-api/src/lib/portapi.service.ts b/desktop/angular/projects/safing/portmaster-api/src/lib/portapi.service.ts
new file mode 100644
index 00000000..4f243ecd
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/src/lib/portapi.service.ts
@@ -0,0 +1,1011 @@
+import { HttpClient, HttpHeaders, HttpResponse } from '@angular/common/http';
+import {
+  Inject,
+  Injectable,
+  InjectionToken,
+  isDevMode,
+  NgZone,
+} from '@angular/core';
+import { BehaviorSubject, Observable, Observer, of } from 'rxjs';
+import {
+  concatMap,
+  delay,
+  filter,
+  map,
+  retryWhen,
+  takeWhile,
+  tap,
+} from 'rxjs/operators';
+import { WebSocketSubject } from 'rxjs/webSocket';
+import {
+  DataReply,
+  deserializeMessage,
+  DoneReply,
+  ImportResult,
+  InspectedActiveRequest,
+  isCancellable,
+  isDataReply,
+  ProfileImportResult,
+  Record,
+  ReplyMessage,
+  Requestable,
+  RequestMessage,
+  RequestType,
+  RetryableOpts,
+  retryPipeline,
+  serializeMessage,
+  WatchOpts,
+} from './portapi.types';
+import { WebsocketService } from './websocket.service';
+
+export const PORTMASTER_WS_API_ENDPOINT = new InjectionToken<string>(
+  'PortmasterWebsocketEndpoint'
+);
+export const PORTMASTER_HTTP_API_ENDPOINT = new InjectionToken<string>(
+  'PortmasterHttpApiEndpoint'
+);
+
+export const RECONNECT_INTERVAL = 2000;
+
+let uniqueRequestId = 0;
+
+interface PendingMethod {
+  observer: Observer<ReplyMessage>;
+  request: RequestMessage;
+}
+
+@Injectable()
+export class PortapiService {
+  /** The actual websocket connection, auto-(re)connects on subscription */
+  private ws$: WebSocketSubject<ReplyMessage | RequestMessage> | null;
+
+  /** used to emit changes to our "connection state" */
+  private connectedSubject = new BehaviorSubject(false);
+
+  /** A map to multiplex websocket messages to the actual observer/initator */
+  private _streams$ = new Map<string, Observer<ReplyMessage<any>>>();
+
+  /** Map to keep track of "still-to-send" requests when we are currently disconnected */
+  private _pendingCalls$ = new Map<string, PendingMethod>();
+
+  /** Whether or not we are currently connected. */
+  get connected$() {
+    return this.connectedSubject.asObservable();
+  }
+
+  /** @private DEBUGGING ONLY - keeps track of current requests and supports injecting messages  */
+  readonly activeRequests = new BehaviorSubject<{
+    [key: string]: InspectedActiveRequest;
+  }>({});
+
+  constructor(
+    private websocketFactory: WebsocketService,
+    private ngZone: NgZone,
+    private http: HttpClient,
+    @Inject(PORTMASTER_HTTP_API_ENDPOINT) private httpEndpoint: string,
+    @Inject(PORTMASTER_WS_API_ENDPOINT) private wsEndpoint: string
+  ) {
+    // create a new websocket connection that will auto-connect
+    // on the first subscription and will automatically reconnect
+    // with consecutive subscribers.
+    this.ws$ = this.createWebsocket();
+
+    // no need to keep a reference to the subscription as we're not going
+    // to unsubscribe ...
+    this.ws$
+      .pipe(
+        retryWhen((errors) =>
+          errors.pipe(
+            // use concatMap to keep the errors in order and make sure
+            // they don't execute in parallel.
+            concatMap((e, i) =>
+              of(e).pipe(
+                // We need to forward the error to all streams here because
+                // due to the retry feature the subscriber below won't see
+                // any error at all.
+                tap(() => {
+                  this._streams$.forEach((observer) => observer.error(e));
+                  this._streams$.clear();
+                }),
+                delay(1000)
+              )
+            )
+          )
+        )
+      )
+      .subscribe(
+        (msg) => {
+          const observer = this._streams$.get(msg.id);
+          if (!observer) {
+            // it's expected that we receive done messages from time to time here
+            // as portmaster sends a "done" message after we "cancel" a subscription
+            // and we already remove the observer from _streams$ if the subscription
+            // is unsubscribed. So just hide that warning message for "done"
+            if (msg.type !== 'done') {
+              console.warn(
+                `Received message for unknown request id ${msg.id} (type=${msg.type})`,
+                msg
+              );
+            }
+            return;
+          }
+
+          // forward the message to the actual stream.
+          observer.next(msg as ReplyMessage);
+        },
+        console.error,
+        () => {
+          // This should actually never happen but if, make sure
+          // we handle it ...
+          this._streams$.forEach((observer) => observer.complete());
+          this._streams$.clear();
+        }
+      );
+  }
+
+  /** Triggers a restart of the portmaster service */
+  restartPortmaster(): Observable<any> {
+    return this.http.post(`${this.httpEndpoint}/v1/core/restart`, undefined, {
+      observe: 'response',
+      responseType: 'arraybuffer',
+    });
+  }
+
+  /** Triggers a shutdown of the portmaster service */
+  shutdownPortmaster(): Observable<any> {
+    return this.http.post(`${this.httpEndpoint}/v1/core/shutdown`, undefined, {
+      observe: 'response',
+      responseType: 'arraybuffer',
+    });
+  }
+
+  /** Force the portmaster to check for updates */
+  checkForUpdates(): Observable<any> {
+    return this.http.post(`${this.httpEndpoint}/v1/updates/check`, undefined, {
+      observe: 'response',
+      responseType: 'arraybuffer',
+      reportProgress: false,
+    });
+  }
+
+  /** Force a reload of the UI assets */
+  reloadUI(): Observable<any> {
+    return this.http.post(`${this.httpEndpoint}/v1/ui/reload`, undefined, {
+      observe: 'response',
+      responseType: 'arraybuffer',
+    });
+  }
+
+  /** Clear DNS cache */
+  clearDNSCache(): Observable<any> {
+    return this.http.post(`${this.httpEndpoint}/v1/dns/clear`, undefined, {
+      observe: 'response',
+      responseType: 'arraybuffer',
+    });
+  }
+
+  /** Reset the broadcast notifications state */
+  resetBroadcastState(): Observable<any> {
+    return this.http.post(
+      `${this.httpEndpoint}/v1/broadcasts/reset-state`,
+      undefined,
+      { observe: 'response', responseType: 'arraybuffer' }
+    );
+  }
+
+  /** Re-initialize the SPN */
+  reinitSPN(): Observable<any> {
+    return this.http.post(`${this.httpEndpoint}/v1/spn/reinit`, undefined, {
+      observe: 'response',
+      responseType: 'arraybuffer',
+    });
+  }
+
+  /** Cleans up the history database by applying history retention settings */
+  cleanupHistory(): Observable<any> {
+    return this.http.post(
+      `${this.httpEndpoint}/v1/netquery/history/cleanup`,
+      undefined,
+      { observe: 'response', responseType: 'arraybuffer' }
+    );
+  }
+
+  /** Requests a resource from the portmaster as application/json and automatically parses the response body*/
+  getResource<T>(resource: string): Observable<T>;
+
+  /** Requests a resource from the portmaster as text */
+  getResource(resource: string, type: string): Observable<HttpResponse<string>>;
+
+  getResource(
+    resource: string,
+    type?: string
+  ): Observable<HttpResponse<string> | any> {
+    if (type !== undefined) {
+      return this.http.get(`${this.httpEndpoint}/v1/updates/get/${resource}`, {
+        headers: new HttpHeaders({ Accept: type }),
+        observe: 'response',
+        responseType: 'text',
+      });
+    }
+
+    return this.http.get<any>(
+      `${this.httpEndpoint}/v1/updates/get/${resource}`,
+      {
+        headers: new HttpHeaders({ Accept: 'application/json' }),
+        responseType: 'json',
+      }
+    );
+  }
+
+  /** Export one or more settings, either from global settings or a specific profile */
+  exportSettings(
+    keys: string[],
+    from: 'global' | string = 'global'
+  ): Observable<string> {
+    return this.http.post(
+      `${this.httpEndpoint}/v1/sync/settings/export`,
+      {
+        from,
+        keys,
+      },
+      {
+        headers: new HttpHeaders({ Accept: 'text/yaml' }),
+        responseType: 'text',
+        observe: 'body',
+      }
+    );
+  }
+
+  /** Validate a settings import for a given target */
+  validateSettingsImport(
+    blob: string | Blob,
+    target: string | 'global' = 'global',
+    mimeType: string = 'text/yaml'
+  ): Observable<ImportResult> {
+    return this.http.post<ImportResult>(
+      `${this.httpEndpoint}/v1/sync/settings/import`,
+      {
+        target,
+        rawExport: blob.toString(),
+        rawMime: mimeType,
+        validateOnly: true,
+      }
+    );
+  }
+
+  /** Import settings into a given target */
+  importSettings(
+    blob: string | Blob,
+    target: string | 'global' = 'global',
+    mimeType: string = 'text/yaml',
+    reset = false,
+    allowUnknown = false
+  ): Observable<ImportResult> {
+    return this.http.post<ImportResult>(
+      `${this.httpEndpoint}/v1/sync/settings/import`,
+      {
+        target,
+        rawExport: blob.toString(),
+        rawMime: mimeType,
+        validateOnly: false,
+        reset,
+        allowUnknown,
+      }
+    );
+  }
+
+  /** Import a profile */
+  importProfile(
+    blob: string | Blob,
+    mimeType: string = 'text/yaml',
+    reset = false,
+    allowUnknown = false,
+    allowReplaceProfiles = false
+  ): Observable<ImportResult> {
+    return this.http.post<ProfileImportResult>(
+      `${this.httpEndpoint}/v1/sync/profile/import`,
+      {
+        rawExport: blob.toString(),
+        rawMime: mimeType,
+        validateOnly: false,
+        reset,
+        allowUnknown,
+        allowReplaceProfiles,
+      }
+    );
+  }
+
+  /** Import a profile */
+  validateProfileImport(
+    blob: string | Blob,
+    mimeType: string = 'text/yaml'
+  ): Observable<ImportResult> {
+    return this.http.post<ProfileImportResult>(
+      `${this.httpEndpoint}/v1/sync/profile/import`,
+      {
+        rawExport: blob.toString(),
+        rawMime: mimeType,
+        validateOnly: true,
+      }
+    );
+  }
+
+  /** Export one or more settings, either from global settings or a specific profile */
+  exportProfile(id: string): Observable<string> {
+    return this.http.post(
+      `${this.httpEndpoint}/v1/sync/profile/export`,
+      {
+        id,
+      },
+      {
+        headers: new HttpHeaders({ Accept: 'text/yaml' }),
+        responseType: 'text',
+        observe: 'body',
+      }
+    );
+  }
+
+  /** Merge multiple profiles into one primary profile. */
+  mergeProfiles(
+    name: string,
+    primary: string,
+    secondaries: string[]
+  ): Observable<string> {
+    return this.http
+      .post<{ new: string }>(`${this.httpEndpoint}/v1/profile/merge`, {
+        name: name,
+        to: primary,
+        from: secondaries,
+      })
+      .pipe(map((response) => response.new));
+  }
+
+  /**
+   * Injects an event into a module to trigger certain backend
+   * behavior.
+   *
+   * @deprecated - Use the HTTP API instead.
+   *
+   * @param module The name of the module to inject
+   * @param kind The event kind to inject
+   */
+  bridgeAPI(call: string, method: string): Observable<void> {
+    return this.create(`api:${call}`, {
+      Method: method,
+    }).pipe(map(() => { }));
+  }
+
+  /**
+   * Flushes all pending method calls that have been collected
+   * while we were not connected to the portmaster API.
+   */
+  private _flushPendingMethods() {
+    const count = this._pendingCalls$.size;
+    try {
+      this._pendingCalls$.forEach((req, key) => {
+        // It's fine if we throw an error here!
+        this.ws$!.next(req.request);
+        this._streams$.set(req.request.id, req.observer);
+        this._pendingCalls$.delete(key);
+      });
+    } catch (err) {
+      // we failed to send the pending calls because the
+      // websocket connection just broke.
+      console.error(
+        `Failed to flush pending calls, ${this._pendingCalls$.size} left: `,
+        err
+      );
+    }
+
+    console.log(`Successfully flushed all (${count}) pending calles`);
+  }
+
+  /**
+   * Allows to inspect currently active requests.
+   */
+  inspectActiveRequests(): { [key: string]: InspectedActiveRequest } {
+    return this.activeRequests.getValue();
+  }
+
+  /**
+   * Loads a database entry. The returned observable completes
+   * after the entry has been loaded.
+   *
+   * @param key The database key of the entry to load.
+   */
+  get<T extends Record>(key: string): Observable<T> {
+    return this.request('get', { key }).pipe(map((res) => res.data));
+  }
+
+  /**
+   * Searches for multiple database entries at once. Each entry
+   * is streams via the returned observable. The observable is
+   * closed after the last entry has been published.
+   *
+   * @param query The query used to search the database.
+   */
+  query<T extends Record>(query: string): Observable<DataReply<T>> {
+    return this.request('query', { query });
+  }
+
+  /**
+   * Subscribes for updates on entries of the selected query.
+   *
+   * @param query The query use to subscribe.
+   */
+  sub<T extends Record>(
+    query: string,
+    opts: RetryableOpts = {}
+  ): Observable<DataReply<T>> {
+    return this.request('sub', { query }).pipe(retryPipeline(opts));
+  }
+
+  /**
+   * Subscribes for updates on entries of the selected query and
+   * ensures entries are stream once upon subscription.
+   *
+   * @param query The query use to subscribe.
+   * @todo(ppacher): check what a ok/done message mean here.
+   */
+  qsub<T extends Record>(
+    query: string,
+    opts?: RetryableOpts
+  ): Observable<DataReply<T>>;
+  qsub<T extends Record>(
+    query: string,
+    opts: RetryableOpts,
+    _: { forwardDone: true }
+  ): Observable<DataReply<T> | DoneReply>;
+  qsub<T extends Record>(
+    query: string,
+    opts: RetryableOpts = {},
+    { forwardDone }: { forwardDone?: true } = {}
+  ): Observable<DataReply<T>> {
+    return this.request('qsub', { query }, { forwardDone }).pipe(
+      retryPipeline(opts)
+    );
+  }
+
+  /**
+   * Creates a new database entry.
+   *
+   * @warn create operations do not validate the type of data
+   * to be overwritten (for keys that does already exist).
+   * Use {@function insert} for more validation.
+   *
+   * @param key The database key for the entry.
+   * @param data The actual data for the entry.
+   */
+  create(key: string, data: any): Observable<void> {
+    data = this.stripMeta(data);
+    return this.request('create', { key, data }).pipe(map(() => { }));
+  }
+
+  /**
+   * Updates an existing entry.
+   *
+   * @param key The database key for the entry
+   * @param data The actual, updated entry data.
+   */
+  update(key: string, data: any): Observable<void> {
+    data = this.stripMeta(data);
+    return this.request('update', { key, data }).pipe(map(() => { }));
+  }
+
+  /**
+   * Creates a new database entry.
+   *
+   * @param key The database key for the entry.
+   * @param data The actual data for the entry.
+   * @todo(ppacher): check what's different to create().
+   */
+  insert(key: string, data: any): Observable<void> {
+    data = this.stripMeta(data);
+    return this.request('insert', { key, data }).pipe(map(() => { }));
+  }
+
+  /**
+   * Deletes an existing database entry.
+   *
+   * @param key The key of the database entry to delete.
+   */
+  delete(key: string): Observable<void> {
+    return this.request('delete', { key }).pipe(map(() => { }));
+  }
+
+  /**
+   * Watch a database key for modifications. If the
+   * websocket connection is lost or an error is returned
+   * watch will automatically retry after retryDelay
+   * milliseconds. It stops retrying to watch key once
+   * maxRetries is exceeded. The returned observable completes
+   * when the watched key is deleted.
+   *
+   * @param key The database key to watch
+   * @param opts.retryDelay Number of milliseconds to wait
+   *        between retrying the request. Defaults to 1000
+   * @param opts.maxRetries Maximum number of tries before
+   *        giving up. Defaults to Infinity
+   * @param opts.ingoreNew Whether or not `new` notifications
+   *        will be ignored. Defaults to false
+   * @param opts.ignoreDelete Whether or not "delete" notification
+   *        will be ignored (and replaced by null)
+   * @param forwardDone: Whether or not the "done" message should be forwarded
+   */
+  watch<T extends Record>(key: string, opts?: WatchOpts): Observable<T>;
+  watch<T extends Record>(
+    key: string,
+    opts?: WatchOpts & { ignoreDelete: true }
+  ): Observable<T | null>;
+  watch<T extends Record>(
+    key: string,
+    opts: WatchOpts,
+    _: { forwardDone: true }
+  ): Observable<T | DoneReply>;
+  watch<T extends Record>(
+    key: string,
+    opts: WatchOpts & { ignoreDelete: true },
+    _: { forwardDone: true }
+  ): Observable<T | DoneReply | null>;
+  watch<T extends Record>(
+    key: string,
+    opts: WatchOpts = {},
+    { forwardDone }: { forwardDone?: boolean } = {}
+  ): Observable<T | DoneReply | null> {
+    return this.qsub<T>(key, opts, { forwardDone } as any).pipe(
+      filter((reply) => reply.type !== 'done' || forwardDone === true),
+      filter((reply) => reply.type === 'done' || reply.key === key),
+      takeWhile((reply) => opts.ignoreDelete || reply.type !== 'del'),
+      filter((reply) => {
+        return !opts.ingoreNew || reply.type !== 'new';
+      }),
+      map((reply) => {
+        if (reply.type === 'del') {
+          return null;
+        }
+
+        if (reply.type === 'done') {
+          return reply;
+        }
+        return reply.data;
+      })
+    );
+  }
+
+  watchAll<T extends Record>(
+    query: string,
+    opts?: RetryableOpts
+  ): Observable<T[]> {
+    return new Observable<T[]>((observer) => {
+      let values: T[] = [];
+      let keys: string[] = [];
+      let doneReceived = false;
+
+      const sub = this.request(
+        'qsub',
+        { query },
+        { forwardDone: true }
+      ).subscribe({
+        next: (value) => {
+          if ((value as any).type === 'done') {
+            doneReceived = true;
+            observer.next(values);
+            return;
+          }
+
+          if (!doneReceived) {
+            values.push(value.data);
+            keys.push(value.key);
+            return;
+          }
+
+          const idx = keys.findIndex((k) => k === value.key);
+          switch (value.type) {
+            case 'new':
+              if (idx < 0) {
+                values.push(value.data);
+                keys.push(value.key);
+              } else {
+                /*
+                                    const existing = values[idx]._meta!;
+                                    const existingTs = existing.Modified || existing.Created;
+                                    const newTs = (value.data as Record)?._meta?.Modified || (value.data as Record)?._meta?.Created || 0;
+
+                                    console.log(`Comparing ${newTs} against ${existingTs}`);
+
+                                    if (newTs > existingTs) {
+                                      console.log(`New record is ${newTs - existingTs} seconds newer`);
+                                      values[idx] = value.data;
+                                    } else {
+                                      return;
+                                    }
+                  */
+                values[idx] = value.data;
+              }
+              break;
+            case 'del':
+              if (idx >= 0) {
+                keys.splice(idx, 1);
+                values.splice(idx, 1);
+              }
+              break;
+            case 'upd':
+              if (idx >= 0) {
+                values[idx] = value.data;
+              }
+              break;
+          }
+
+          observer.next(values);
+        },
+        error: (err) => {
+          observer.error(err);
+        },
+        complete: () => {
+          observer.complete();
+        },
+      });
+
+      return () => {
+        sub.unsubscribe();
+      };
+    }).pipe(retryPipeline(opts));
+  }
+
+  /**
+   * Close the current websocket connection. A new subscription
+   * will _NOT_ trigger a reconnect.
+   */
+  close() {
+    if (!this.ws$) {
+      return;
+    }
+
+    this.ws$.complete();
+    this.ws$ = null;
+  }
+
+  request<M extends RequestType, R extends Record = any>(
+    method: M,
+    attrs: Partial<Requestable<M>>,
+    { forwardDone }: { forwardDone?: boolean } = {}
+  ): Observable<DataReply<R>> {
+    return new Observable((observer) => {
+      const id = `${++uniqueRequestId}`;
+      if (!this.ws$) {
+        observer.error('No websocket connection');
+        return;
+      }
+
+      let shouldCancel = isCancellable(method);
+      let unsub: () => RequestMessage | null = () => {
+        if (shouldCancel) {
+          return {
+            id: id,
+            type: 'cancel',
+          };
+        }
+
+        return null;
+      };
+
+      const request: any = {
+        ...attrs,
+        id: id,
+        type: method,
+      };
+
+      let inspected: InspectedActiveRequest = {
+        type: method,
+        messagesReceived: 0,
+        observer: observer,
+        payload: request,
+        lastData: null,
+        lastKey: '',
+      };
+
+      if (isDevMode()) {
+        this.activeRequests.next({
+          ...this.inspectActiveRequests(),
+          [id]: inspected,
+        });
+      }
+
+      let stream$: Observable<ReplyMessage<any>> = this.multiplex(
+        request,
+        unsub
+      );
+      if (isDevMode()) {
+        // in development mode we log all replys for the different
+        // methods. This also includes updates to subscriptions.
+        stream$ = stream$.pipe(
+          tap(
+            (msg) => { },
+            //msg => console.log(`[portapi] reply for ${method} ${id}: `, msg),
+            (err) => console.error(`[portapi] error in ${method} ${id}: `, err)
+          )
+        );
+      }
+
+      const subscription = stream$?.subscribe({
+        next: (data) => {
+          inspected.messagesReceived++;
+
+          // in all cases, an `error` message type
+          // terminates the data flow.
+          if (data.type === 'error') {
+            console.error(data.message, inspected);
+            shouldCancel = false;
+
+            observer.error(data.message);
+            return;
+          }
+
+          if (
+            method === 'create' ||
+            method === 'update' ||
+            method === 'insert' ||
+            method === 'delete'
+          ) {
+            // for data-manipulating methods success
+            // ends the stream.
+            if (data.type === 'success') {
+              observer.next();
+              observer.complete();
+              return;
+            }
+          }
+
+          if (method === 'query' || method === 'sub' || method === 'qsub') {
+            if (data.type === 'warning') {
+              console.warn(data.message);
+              return;
+            }
+
+            // query based methods send `done` once all
+            // results are sent at least once.
+            if (data.type === 'done') {
+              if (method === 'query') {
+                // done ends the query but does not end sub or qsub
+                shouldCancel = false;
+                observer.complete();
+                return;
+              }
+
+              if (!!forwardDone) {
+                // A done message in qsub does not actually represent
+                // a DataReply but we still want to forward that.
+                observer.next(data as any);
+              }
+              return;
+            }
+          }
+
+          if (!isDataReply(data)) {
+            console.error(
+              `Received unexpected message type ${data.type} in a ${method} operation`
+            );
+            return;
+          }
+
+          inspected.lastData = data.data;
+          inspected.lastKey = data.key;
+
+          observer.next(data);
+
+          // for a `get` method the first `ok` message
+          // also marks the end of the stream.
+          if (method === 'get' && data.type === 'ok') {
+            shouldCancel = false;
+            observer.complete();
+          }
+        },
+        error: (err) => {
+          console.error(err, attrs);
+          observer.error(err);
+        },
+        complete: () => {
+          observer.complete();
+        },
+      });
+
+      if (isDevMode()) {
+        // make sure we remove the "active" request when the subscription
+        // goes down
+        subscription.add(() => {
+          const active = this.inspectActiveRequests();
+          delete active[request.id];
+          this.activeRequests.next(active);
+        });
+      }
+
+      return () => {
+        subscription.unsubscribe();
+      };
+    });
+  }
+
+  private multiplex(
+    req: RequestMessage,
+    cancel: (() => RequestMessage | null) | null
+  ): Observable<ReplyMessage> {
+    return new Observable((observer) => {
+      if (this.connectedSubject.getValue()) {
+        // Try to directly send the request to the backend
+        this._streams$.set(req.id, observer);
+        this.ws$!.next(req);
+      } else {
+        // in case of an error we just add the request as
+        // "pending" and wait for the connection to be
+        // established.
+        console.warn(
+          `Failed to send request ${req.id}:${req.type}, marking as pending ...`
+        );
+        this._pendingCalls$.set(req.id, {
+          request: req,
+          observer: observer,
+        });
+      }
+
+      return () => {
+        // Try to cancel the request but ingore
+        // any errors here.
+        try {
+          if (cancel !== null) {
+            const cancelMsg = cancel();
+            if (!!cancelMsg) {
+              this.ws$!.next(cancelMsg);
+            }
+          }
+        } catch (err) { }
+
+        this._pendingCalls$.delete(req.id);
+        this._streams$.delete(req.id);
+      };
+    });
+  }
+
+  /**
+   * Inject a message into a PortAPI stream.
+   *
+   * @param id The request ID to inject msg into.
+   * @param msg The message to inject.
+   */
+  _injectMessage(id: string, msg: DataReply<any>) {
+    // we are using runTask here so change-detection is
+    // triggered as needed
+    this.ngZone.runTask(() => {
+      const req = this.activeRequests.getValue()[id];
+      if (!req) {
+        return;
+      }
+
+      req.observer.next(msg as DataReply<any>);
+    });
+  }
+
+  /**
+   * Injects a 'ok' type message
+   *
+   * @param id The ID of the request to inject into
+   * @param data The data blob to inject
+   * @param key [optional] The key of the entry to inject
+   */
+  _injectData(id: string, data: any, key: string = '') {
+    this._injectMessage(id, { type: 'ok', data: data, key, id: id });
+  }
+
+  /**
+   * Patches the last message received on id by deeply merging
+   * data and re-injects that message.
+   *
+   * @param id The ID of the request
+   * @param data The patch to apply and reinject
+   */
+  _patchLast(id: string, data: any) {
+    const req = this.activeRequests.getValue()[id];
+    if (!req || !req.lastData) {
+      return;
+    }
+
+    const newPayload = mergeDeep({}, req.lastData, data);
+    this._injectData(id, newPayload, req.lastKey);
+  }
+
+  private stripMeta<T extends Record>(obj: T): T {
+    let copy = {
+      ...obj,
+      _meta: undefined,
+    };
+    return copy;
+  }
+
+  /**
+   * Creates a new websocket subject and configures appropriate serializer
+   * and deserializer functions for PortAPI.
+   *
+   * @private
+   */
+  private createWebsocket(): WebSocketSubject<ReplyMessage | RequestMessage> {
+    return this.websocketFactory.createConnection<
+      ReplyMessage | RequestMessage
+    >({
+      url: this.wsEndpoint,
+      serializer: (msg) => {
+        try {
+          return serializeMessage(msg);
+        } catch (err) {
+          console.error('serialize message', err);
+          return {
+            type: 'error',
+          };
+        }
+      },
+      // deserializeMessage also supports RequestMessage so cast as any
+      deserializer: <any>((msg: any) => {
+        try {
+          const res = deserializeMessage(msg);
+          return res;
+        } catch (err) {
+          console.error('deserialize message', err);
+          return {
+            type: 'error',
+          };
+        }
+      }),
+      binaryType: 'arraybuffer',
+      openObserver: {
+        next: () => {
+          console.log('[portapi] connection to portmaster established');
+          this.connectedSubject.next(true);
+          this._flushPendingMethods();
+        },
+      },
+      closeObserver: {
+        next: () => {
+          console.log('[portapi] connection to portmaster closed');
+          this.connectedSubject.next(false);
+        },
+      },
+      closingObserver: {
+        next: () => {
+          console.log('[portapi] connection to portmaster closing');
+        },
+      },
+    });
+  }
+}
+
+// Counts the number of "truthy" datafields in obj.
+function countTruthyDataFields(obj: { [key: string]: any }): number {
+  let count = 0;
+  Object.keys(obj).forEach((key) => {
+    let value = obj[key];
+    if (!!value) {
+      count++;
+    }
+  });
+  return count;
+}
+
+function isObject(item: any): item is Object {
+  return item && typeof item === 'object' && !Array.isArray(item);
+}
+
+export function mergeDeep(target: any, ...sources: any): any {
+  if (!sources.length) return target;
+  const source = sources.shift();
+
+  if (isObject(target) && isObject(source)) {
+    for (const key in source) {
+      if (isObject(source[key])) {
+        if (!target[key]) Object.assign(target, { [key]: {} });
+        mergeDeep(target[key], source[key]);
+      } else {
+        Object.assign(target, { [key]: source[key] });
+      }
+    }
+  }
+
+  return mergeDeep(target, ...sources);
+}
diff --git a/desktop/angular/projects/safing/portmaster-api/src/lib/portapi.types.ts b/desktop/angular/projects/safing/portmaster-api/src/lib/portapi.types.ts
new file mode 100644
index 00000000..349c7b9f
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/src/lib/portapi.types.ts
@@ -0,0 +1,453 @@
+import { iif, MonoTypeOperatorFunction, of, Subscriber, throwError } from 'rxjs';
+import { concatMap, delay, retryWhen } from 'rxjs/operators';
+
+/**
+* ReplyType contains all possible message types of a reply.
+*/
+export type ReplyType = 'ok'
+  | 'upd'
+  | 'new'
+  | 'del'
+  | 'success'
+  | 'error'
+  | 'warning'
+  | 'done';
+
+/**
+* RequestType contains all possible message types of a request.
+*/
+export type RequestType = 'get'
+  | 'query'
+  | 'sub'
+  | 'qsub'
+  | 'create'
+  | 'update'
+  | 'insert'
+  | 'delete'
+  | 'cancel';
+
+// RecordMeta describes the meta-data object that is part of
+// every API resource.
+export interface RecordMeta {
+  // Created hold a unix-epoch timestamp when the record has been
+  // created.
+  Created: number;
+  // Deleted hold a unix-epoch timestamp when the record has been
+  // deleted.
+  Deleted: number;
+  // Expires hold a unix-epoch timestamp when the record has been
+  // expires.
+  Expires: number;
+  // Modified hold a unix-epoch timestamp when the record has been
+  // modified last.
+  Modified: number;
+  // Key holds the database record key.
+  Key: string;
+}
+
+export interface Process extends Record {
+  Name: string;
+  UserID: number;
+  UserName: string;
+  UserHome: string;
+  Pid: number;
+  Pgid: number;
+  CreatedAt: number;
+  ParentPid: number;
+  ParentCreatedAt: number;
+  Path: string;
+  ExecName: string;
+  Cwd: string;
+  CmdLine: string;
+  FirstArg: string;
+  Env: {
+    [key: string]: string
+  } | null;
+  Tags: {
+    Key: string;
+    Value: string;
+  }[] | null;
+  MatchingPath: string;
+  PrimaryProfileID: string;
+  FirstSeen: number;
+  LastSeen: number;
+  Error: string;
+  ExecHashes: {
+    [key: string]: string
+  } | null;
+}
+
+// Record describes the base record structure of all API resources.
+export interface Record {
+  _meta?: RecordMeta;
+}
+
+/**
+* All possible MessageType that are available in PortAPI.
+*/
+export type MessageType = RequestType | ReplyType;
+
+/**
+* BaseMessage describes the base message type that is exchanged
+* via PortAPI.
+*/
+export interface BaseMessage<M extends MessageType = MessageType> {
+  // ID of the request. Used to correlated (multiplex) requests and
+  // responses across a single websocket connection.
+  id: string;
+  // Type is the request/response message type.
+  type: M;
+}
+
+/**
+* DoneReply marks the end of a PortAPI stream.
+*/
+export interface DoneReply extends BaseMessage<'done'> { }
+
+/**
+* DataReply is either sent once as a result on a `get` request or
+* is sent multiple times in the course of a PortAPI stream.
+*/
+export interface DataReply<T extends Record> extends BaseMessage<'ok' | 'upd' | 'new' | 'del'> {
+  // Key is the database key including the database prefix.
+  key: string;
+  // Data is the actual data of the entry.
+  data: T;
+}
+
+/**
+ * Returns true if d is a DataReply message type.
+ *
+ * @param d The reply message to check
+ */
+export function isDataReply(d: ReplyMessage): d is DataReply<any> {
+  return d.type === 'ok'
+    || d.type === 'upd'
+    || d.type === 'new'
+    || d.type === 'del';
+  //|| d.type === 'done'; // done is actually not correct
+}
+
+/**
+* SuccessReply is used to mark an operation as successfully. It does not carry any
+* data. Think of it as a "201 No Content" in HTTP.
+*/
+export interface SuccessReply extends BaseMessage<'success'> { }
+
+/**
+* ErrorReply describes an error that happened while processing a
+* request. Note that an `error` type message may be sent for single
+* and response-stream requests. In case of a stream the `error` type
+* message marks the end of the stream. See WarningReply for a simple
+* warning message that can be transmitted via PortAPI.
+*/
+export interface ErrorReply extends BaseMessage<'error'> {
+  // Message is the error message from the backend.
+  message: string;
+}
+
+/**
+* WarningReply contains a warning message that describes an error
+* condition encountered when processing a single entitiy of a
+* response stream. In contrast to `error` type messages, a `warning`
+* can only occure during data streams and does not end the stream.
+*/
+export interface WarningReply extends BaseMessage<'warning'> {
+  // Message describes the warning/error condition the backend
+  // encountered.
+  message: string;
+}
+
+/**
+* QueryRequest defines the payload for `query`, `sub` and `qsub` message
+* types. The result of a query request is always a stream of responses.
+* See ErrorReply, WarningReply and DoneReply for more information.
+*/
+export interface QueryRequest extends BaseMessage<'query' | 'sub' | 'qsub'> {
+  // Query is the query for the database.
+  query: string;
+}
+
+/**
+* KeyRequests defines the payload for a `get` or `delete` request. Those
+* message type only carry the key of the database entry to delete. Note that
+* `delete` can only return a `success` or `error` type message while `get` will
+* receive a `ok` or `error` type message.
+*/
+export interface KeyRequest extends BaseMessage<'delete' | 'get'> {
+  // Key is the database entry key.
+  key: string;
+}
+
+
+/**
+* DataRequest is used during create, insert or update operations.
+* TODO(ppacher): check what's the difference between create and insert,
+*                both seem to error when trying to create a new entry.
+*/
+export interface DataRequest<T> extends BaseMessage<'update' | 'create' | 'insert'> {
+  // Key is the database entry key.
+  key: string;
+  // Data is the data to store.
+  data: T;
+}
+
+/**
+ * CancelRequest can be sent on stream operations to early-abort the request.
+ */
+export interface CancelRequest extends BaseMessage<'cancel'> { }
+
+/**
+* ReplyMessage is a union of all reply message types.
+*/
+export type ReplyMessage<T extends Record = any> = DataReply<T>
+  | DoneReply
+  | SuccessReply
+  | WarningReply
+  | ErrorReply;
+
+/**
+* RequestMessage is a union of all request message types.
+*/
+export type RequestMessage<T = any> = QueryRequest
+  | KeyRequest
+  | DataRequest<T>
+  | CancelRequest;
+
+/**
+* Requestable can be used to accept only properties that match
+* the request message type M.
+*/
+export type Requestable<M extends RequestType> = RequestMessage & { type: M };
+
+/**
+ * Returns true if m is a cancellable message type.
+ *
+ * @param m The message type to check.
+ */
+export function isCancellable(m: MessageType): boolean {
+  switch (m) {
+    case 'qsub':
+    case 'sub':
+      return true;
+    default:
+      return false;
+  }
+}
+
+/**
+ * Reflects a currently in-flight PortAPI request. Used to
+ * intercept and mangle with responses.
+ */
+export interface InspectedActiveRequest {
+  // The type of request.
+  type: RequestType;
+  // The actual request payload.
+  // @todo(ppacher): typings
+  payload: any;
+  // The request observer. Use to inject data
+  // or complete/error the subscriber. Use with
+  // care!
+  observer: Subscriber<DataReply<any>>;
+  // Counter for the number of messages received
+  // for this request.
+  messagesReceived: number;
+  // The last data received on the request
+  lastData: any;
+  // The last key received on the request
+  lastKey: string;
+}
+
+export interface RetryableOpts {
+  // A delay in milliseconds before retrying an operation.
+  retryDelay?: number;
+  // The maximum number of retries.
+  maxRetries?: number;
+}
+
+export interface ProfileImportResult extends ImportResult {
+  replacesProfiles: string[];
+}
+
+export interface ImportResult {
+  restartRequired: boolean;
+  replacesExisting: boolean;
+  containsUnknown: boolean;
+}
+
+/**
+ * Returns a RxJS operator function that implements a retry pipeline
+ * with a configurable retry delay and an optional maximum retry count.
+ * If maxRetries is reached the last error captured is thrown.
+ *
+ * @param opts  Configuration options for the retryPipeline.
+ *        see {@type RetryableOpts} for more information.
+ */
+export function retryPipeline<T>({ retryDelay, maxRetries }: RetryableOpts = {}): MonoTypeOperatorFunction<T> {
+  return retryWhen(errors => errors.pipe(
+    // use concatMap to keep the errors in order and make sure
+    // they don't execute in parallel.
+    concatMap((e, i) =>
+      iif(
+        // conditional observable seletion, throwError if i > maxRetries
+        // or a retryDelay otherwise
+        () => i > (maxRetries || Infinity),
+        throwError(() => e),
+        of(e).pipe(delay(retryDelay || 1000))
+      )
+    )
+  ))
+}
+
+export interface WatchOpts extends RetryableOpts {
+  // Whether or not `new` updates should be filtered
+  // or let through. See {@method PortAPI.watch} for
+  // more information.
+  ingoreNew?: boolean;
+
+  ignoreDelete?: boolean;
+}
+
+
+/**
+* Serializes a request or reply message into it's wire format.
+*
+* @param msg The request or reply messsage to serialize
+*/
+export function serializeMessage(msg: RequestMessage | ReplyMessage): any {
+  if (msg === undefined) {
+    return undefined;
+  }
+
+  let blob = `${msg.id}|${msg.type}`;
+
+  switch (msg.type) {
+    case 'done':        // reply
+    case 'success':     // reply
+    case 'cancel':      // request
+      break;
+
+    case 'error':       // reply
+    case 'warning':     // reply
+      blob += `|${msg.message}`
+      break;
+
+    case 'ok':          // reply
+    case 'upd':         // reply
+    case 'new':         // reply
+    case 'insert':      // request
+    case 'update':      // request
+    case 'create':      // request
+      blob += `|${msg.key}|J${JSON.stringify(msg.data)}`
+      break;
+
+
+    case 'del':         // reply
+    case 'get':         // request
+    case 'delete':      // request
+      blob += `|${msg.key}`
+      break;
+
+    case 'query':       // request
+    case 'sub':         // request
+    case 'qsub':        // request
+      blob += `|query ${msg.query}`
+      break;
+
+    default:
+      // We need (msg as any) here because typescript knows that we covered
+      // all possible values above and that .type can never be something else.
+      // Still, we want to guard against unexpected portmaster message
+      // types.
+      console.error(`Unknown message type ${(msg as any).type}`);
+  }
+
+  return blob;
+}
+
+/**
+* Deserializes (loads) a PortAPI message from a WebSocket message event.
+*
+* @param event The WebSocket MessageEvent to parse.
+*/
+export function deserializeMessage(event: MessageEvent): RequestMessage | ReplyMessage {
+  let data: string;
+
+  if (typeof event.data !== 'string') {
+    data = new TextDecoder("utf-8").decode(event.data)
+  } else {
+    data = event.data;
+  }
+
+  const parts = data.split("|");
+
+  if (parts.length < 2) {
+    throw new Error(`invalid number of message parts, expected 3-4 but got ${parts.length}`);
+  }
+
+  const id = parts[0];
+  const type = parts[1] as MessageType;
+
+  var msg: Partial<RequestMessage | ReplyMessage> = {
+    id,
+    type,
+  }
+
+  if (parts.length > 4) {
+    parts[3] = parts.slice(3).join('|')
+  }
+
+  switch (msg.type) {
+    case 'done':        // reply
+    case 'success':     // reply
+    case 'cancel':      // request
+      break;
+
+    case 'error':       // reply
+    case 'warning':     // reply
+      msg.message = parts[2];
+      break;
+
+    case 'ok':          // reply
+    case 'upd':         // reply
+    case 'new':         // reply
+    case 'insert':      // request
+    case 'update':      // request
+    case 'create':      // request
+      msg.key = parts[2];
+      try {
+        if (parts[3][0] === 'J') {
+          msg.data = JSON.parse(parts[3].slice(1));
+        } else {
+          msg.data = parts[3];
+        }
+      } catch (e) {
+        console.log(e, data)
+      }
+      break;
+
+    case 'del':         // reply
+    case 'get':         // request
+    case 'delete':      // request
+      msg.key = parts[2];
+      break;
+
+    case 'query':       // request
+    case 'sub':         // request
+    case 'qsub':        // request
+      msg.query = parts[2];
+      if (msg.query.startsWith("query ")) {
+        msg.query = msg.query.slice(6);
+      }
+      break;
+
+    default:
+      // We need (msg as any) here because typescript knows that we covered
+      // all possible values above and that .type can never be something else.
+      // Still, we want to guard against unexpected portmaster message
+      // types.
+      console.error(`Unknown message type ${(msg as any).type}`);
+  }
+
+  return msg as (ReplyMessage | RequestMessage); // it's not partitial anymore
+}
diff --git a/desktop/angular/projects/safing/portmaster-api/src/lib/spn.service.ts b/desktop/angular/projects/safing/portmaster-api/src/lib/spn.service.ts
new file mode 100644
index 00000000..fc0a6047
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/src/lib/spn.service.ts
@@ -0,0 +1,171 @@
+import { HttpClient, HttpParams, HttpResponse } from "@angular/common/http";
+import { Inject, Injectable } from "@angular/core";
+import { BehaviorSubject, Observable, of } from "rxjs";
+import { filter, map, share, switchMap } from "rxjs/operators";
+import { FeatureID } from "./features";
+import { PORTMASTER_HTTP_API_ENDPOINT, PortapiService } from './portapi.service';
+import { Feature, Pin, SPNStatus, UserProfile } from "./spn.types";
+
+@Injectable({ providedIn: 'root' })
+export class SPNService {
+
+  /** Emits the SPN status whenever it changes */
+  status$: Observable<SPNStatus>;
+
+  profile$ = this.watchProfile()
+    .pipe(
+      share({ connector: () => new BehaviorSubject<UserProfile | null | undefined>(undefined) }),
+      filter(val => val !== undefined)
+    ) as Observable<UserProfile | null>;
+
+  private pins$: Observable<Pin[]>;
+
+  constructor(
+    private portapi: PortapiService,
+    private http: HttpClient,
+    @Inject(PORTMASTER_HTTP_API_ENDPOINT) private httpAPI: string,
+  ) {
+    this.status$ = this.portapi.watch<SPNStatus>('runtime:spn/status', { ignoreDelete: true })
+      .pipe(
+        share({ connector: () => new BehaviorSubject<any | null>(null) }),
+        filter(val => val !== null),
+      )
+
+    this.pins$ = this.status$
+      .pipe(
+        switchMap(status => {
+          if (status.Status !== "disabled") {
+            return this.portapi.watchAll<Pin>("map:main/", { retryDelay: 50000 })
+          }
+
+          return of([] as Pin[]);
+        }),
+        share({ connector: () => new BehaviorSubject<Pin[] | undefined>(undefined) }),
+        filter(val => val !== undefined)
+      ) as Observable<Pin[]>;
+  }
+
+  /**
+   * Watches all pins of the "main" SPN map.
+   */
+  watchPins(): Observable<Pin[]> {
+    return this.pins$;
+  }
+
+  /**
+   * Encodes a unicode string to base64.
+   * See https://developer.mozilla.org/en-US/docs/Web/API/btoa
+   * and https://stackoverflow.com/questions/30106476/using-javascripts-atob-to-decode-base64-doesnt-properly-decode-utf-8-strings
+   */
+  b64EncodeUnicode(str: string): string {
+    return window.btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function (match, p1) {
+      return String.fromCharCode(parseInt(p1, 16))
+    }))
+  }
+
+  /**
+   *  Logs into the SPN user account
+   */
+  login({ username, password }: { username: string, password: string }): Observable<HttpResponse<string>> {
+    return this.http.post(`${this.httpAPI}/v1/spn/account/login`, undefined, {
+      headers: {
+        Authorization: `Basic ${this.b64EncodeUnicode(username + ':' + password)}`
+      },
+      responseType: 'text',
+      observe: 'response'
+    });
+  }
+
+  /**
+   * Log out of the SPN user account
+   *
+   * @param purge Whether or not the portmaster should keep user/device information for the next login
+   */
+  logout(purge = false): Observable<HttpResponse<string>> {
+    let params = new HttpParams();
+    if (!!purge) {
+      params = params.set("purge", "true")
+    }
+    return this.http.delete(`${this.httpAPI}/v1/spn/account/logout`, {
+      params,
+      responseType: 'text',
+      observe: 'response'
+    })
+  }
+
+  watchEnabledFeatures(): Observable<(Feature & { enabled: boolean })[]> {
+    return this.profile$
+      .pipe(
+        switchMap(profile => {
+          return this.loadFeaturePackages()
+            .pipe(
+              map(features => {
+                return features.map(feature => {
+                  // console.log(feature, profile?.current_plan?.feature_ids)
+                  return {
+                    ...feature,
+                    enabled: feature.RequiredFeatureID === FeatureID.None || profile?.current_plan?.feature_ids?.includes(feature.RequiredFeatureID) || false,
+                  }
+                })
+              })
+            )
+        })
+      );
+  }
+
+  /** Returns a list of all feature packages */
+  loadFeaturePackages(): Observable<Feature[]> {
+    return this.http.get<{ Features: Feature[] }>(`${this.httpAPI}/v1/account/features`)
+      .pipe(
+        map(response => response.Features.map(feature => {
+          return {
+            ...feature,
+            IconURL: `${this.httpAPI}/v1/account/features/${feature.ID}/icon`,
+          }
+        }))
+      );
+  }
+
+  /**
+   * Returns the current SPN user profile.
+   *
+   * @param refresh Whether or not the user profile should be refreshed from the ticket agent
+   * @returns
+   */
+  userProfile(refresh = false): Observable<UserProfile> {
+    let params = new HttpParams();
+    if (!!refresh) {
+      params = params.set("refresh", true)
+    }
+    return this.http.get<UserProfile>(`${this.httpAPI}/v1/spn/account/user/profile`, {
+      params
+    });
+  }
+
+  /**
+   * Watches the user profile. It will emit null if there is no profile available yet.
+   */
+  watchProfile(): Observable<UserProfile | null> {
+    let hasSent = false;
+    return this.portapi.watch<UserProfile>('core:spn/account/user', { ignoreDelete: true }, { forwardDone: true })
+      .pipe(
+        filter(result => {
+          if ('type' in result && result.type === 'done') {
+            if (hasSent) {
+              return false;
+            }
+          }
+
+          return true
+        }),
+        map(result => {
+          hasSent = true;
+          if ('type' in result) {
+            return null;
+          }
+
+          return result;
+        })
+      );
+  }
+}
diff --git a/desktop/angular/projects/safing/portmaster-api/src/lib/spn.types.ts b/desktop/angular/projects/safing/portmaster-api/src/lib/spn.types.ts
new file mode 100644
index 00000000..b2e7caaf
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/src/lib/spn.types.ts
@@ -0,0 +1,104 @@
+import { FeatureID } from './features';
+import { CountryInfo, GeoCoordinates, IntelEntity } from './network.types';
+import { Record } from './portapi.types';
+
+export interface SPNStatus extends Record {
+  Status: 'failed' | 'disabled' | 'connecting' | 'connected';
+  HomeHubID: string;
+  HomeHubName: string;
+  ConnectedIP: string;
+  ConnectedTransport: string;
+  ConnectedCountry: CountryInfo | null;
+  ConnectedSince: string | null;
+}
+
+export interface Pin extends Record {
+  ID: string;
+  Name: string;
+  FirstSeen: string;
+  EntityV4?: IntelEntity | null;
+  EntityV6?: IntelEntity | null;
+  States: string[];
+  SessionActive: boolean;
+  HopDistance: number;
+  ConnectedTo: {
+    [key: string]: Lane,
+  };
+  Route: string[] | null;
+  VerifiedOwner: string;
+}
+
+export interface Lane {
+  HubID: string;
+  Capacity: number;
+  Latency: number;
+}
+
+export function getPinCoords(p: Pin): GeoCoordinates | null {
+  if (p.EntityV4 && p.EntityV4.Coordinates) {
+    return p.EntityV4.Coordinates;
+  }
+  return p.EntityV6?.Coordinates || null;
+}
+
+export interface Device {
+  name: string;
+  id: string;
+}
+
+export interface Subscription {
+  ends_at: string;
+  state: 'manual' | 'active' | 'cancelled';
+  next_billing_date: string;
+  payment_provider: string;
+}
+
+export interface Plan {
+  name: string;
+  amount: number;
+  months: number;
+  renewable: boolean;
+  feature_ids: FeatureID[];
+}
+
+export interface View {
+  Message: string;
+  ShowAccountData: boolean;
+  ShowAccountButton: boolean;
+  ShowLoginButton: boolean;
+  ShowRefreshButton: boolean;
+  ShowLogoutButton: boolean;
+}
+
+export interface UserProfile extends Record {
+  username: string;
+  state: string;
+  balance: number;
+  device: Device | null;
+  subscription: Subscription | null;
+  current_plan: Plan | null;
+  next_plan: Plan | null;
+  view: View | null;
+  LastNotifiedOfEnd?: string;
+  LoggedInAt?: string;
+}
+
+export interface Package {
+  Name: string;
+  HexColor: string;
+}
+
+export interface Feature {
+  ID: string;
+  Name: string;
+  ConfigKey: string;
+  ConfigScope: string;
+  RequiredFeatureID: FeatureID;
+  InPackage: Package | null;
+  Comment: string;
+  Beta?: boolean;
+  ComingSoon?: boolean;
+
+  // does not come from the PM API but is set by SPNService
+  IconURL: string;
+}
diff --git a/desktop/angular/projects/safing/portmaster-api/src/lib/utils.ts b/desktop/angular/projects/safing/portmaster-api/src/lib/utils.ts
new file mode 100644
index 00000000..80b97573
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/src/lib/utils.ts
@@ -0,0 +1,13 @@
+
+export function deepClone<T = any>(o?: T | null): T {
+  if (o === null || o === undefined) {
+    return null as any as T;
+  }
+
+  let _out: T = (Array.isArray(o) ? [] : {}) as T;
+  for (let _key in (o as T)) {
+    let v = o[_key];
+    _out[_key] = (typeof v === "object") ? deepClone(v) : v;
+  }
+  return _out as T;
+}
diff --git a/desktop/angular/projects/safing/portmaster-api/src/lib/websocket.service.ts b/desktop/angular/projects/safing/portmaster-api/src/lib/websocket.service.ts
new file mode 100644
index 00000000..c42efa8d
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/src/lib/websocket.service.ts
@@ -0,0 +1,17 @@
+import { Injectable } from '@angular/core';
+import { webSocket, WebSocketSubject, WebSocketSubjectConfig } from 'rxjs/webSocket';
+
+@Injectable()
+export class WebsocketService {
+  constructor() { }
+
+  /**
+   * createConnection creates a new websocket connection using opts.
+   *
+   * @param opts Options for the websocket connection.
+   */
+  createConnection<T>(opts: WebSocketSubjectConfig<T>): WebSocketSubject<T> {
+    return webSocket(opts);
+  }
+}
+
diff --git a/desktop/angular/projects/safing/portmaster-api/src/public-api.ts b/desktop/angular/projects/safing/portmaster-api/src/public-api.ts
new file mode 100644
index 00000000..9097761e
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/src/public-api.ts
@@ -0,0 +1,22 @@
+/*
+ * Public API Surface of portmaster-api
+ */
+
+export * from './lib/app-profile.service';
+export * from './lib/app-profile.types';
+export * from './lib/config.service';
+export * from './lib/config.types';
+export * from './lib/core.types';
+export * from './lib/debug-api.service';
+export * from './lib/features';
+export * from './lib/meta-api.service';
+export * from './lib/module';
+export * from './lib/netquery.service';
+export * from './lib/network.types';
+export * from './lib/portapi.service';
+export * from './lib/portapi.types';
+export * from './lib/spn.service';
+export * from './lib/spn.types';
+export * from './lib/utils';
+export * from './lib/websocket.service';
+
diff --git a/desktop/angular/projects/safing/portmaster-api/src/test.ts b/desktop/angular/projects/safing/portmaster-api/src/test.ts
new file mode 100644
index 00000000..43808367
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/src/test.ts
@@ -0,0 +1,15 @@
+// This file is required by karma.conf.js and loads recursively all the .spec and framework files
+
+import 'zone.js';
+import 'zone.js/testing';
+import { getTestBed } from '@angular/core/testing';
+import {
+  BrowserDynamicTestingModule,
+  platformBrowserDynamicTesting
+} from '@angular/platform-browser-dynamic/testing';
+
+// First, initialize the Angular testing environment.
+getTestBed().initTestEnvironment(
+  BrowserDynamicTestingModule,
+  platformBrowserDynamicTesting(),
+);
diff --git a/desktop/angular/projects/safing/portmaster-api/tsconfig.lib.json b/desktop/angular/projects/safing/portmaster-api/tsconfig.lib.json
new file mode 100644
index 00000000..c9f14589
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/tsconfig.lib.json
@@ -0,0 +1,16 @@
+/* To learn more about this file see: https://angular.io/config/tsconfig. */
+{
+  "extends": "../../../tsconfig.json",
+  "compilerOptions": {
+    "outDir": "../../../out-tsc/lib",
+    "declaration": true,
+    "declarationMap": true,
+    "inlineSources": true,
+    "types": []
+  },
+  "exclude": [
+    "src/test.ts",
+    "testing/**/*",
+    "**/*.spec.ts"
+  ]
+}
diff --git a/desktop/angular/projects/safing/portmaster-api/tsconfig.lib.prod.json b/desktop/angular/projects/safing/portmaster-api/tsconfig.lib.prod.json
new file mode 100644
index 00000000..71b135f6
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/tsconfig.lib.prod.json
@@ -0,0 +1,7 @@
+/* To learn more about this file see: https://angular.io/config/tsconfig. */
+{
+  "extends": "./tsconfig.lib.json",
+  "compilerOptions": {
+    "declarationMap": false
+  },
+}
diff --git a/desktop/angular/projects/safing/portmaster-api/tsconfig.spec.json b/desktop/angular/projects/safing/portmaster-api/tsconfig.spec.json
new file mode 100644
index 00000000..258250d2
--- /dev/null
+++ b/desktop/angular/projects/safing/portmaster-api/tsconfig.spec.json
@@ -0,0 +1,18 @@
+/* To learn more about this file see: https://angular.io/config/tsconfig. */
+{
+  "extends": "../../../tsconfig.json",
+  "compilerOptions": {
+    "outDir": "../../../out-tsc/spec",
+    "types": [
+      "jasmine"
+    ]
+  },
+  "files": [
+    "testing/**/*.ts"
+  ],
+  "include": [
+    "testing/**/*.ts",
+    "**/*.spec.ts",
+    "**/*.d.ts"
+  ]
+}
diff --git a/desktop/angular/projects/safing/ui/.eslintrc.json b/desktop/angular/projects/safing/ui/.eslintrc.json
new file mode 100644
index 00000000..91e1f496
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/.eslintrc.json
@@ -0,0 +1,44 @@
+{
+  "extends": "../../../.eslintrc.json",
+  "ignorePatterns": [
+    "!**/*"
+  ],
+  "overrides": [
+    {
+      "files": [
+        "*.ts"
+      ],
+      "parserOptions": {
+        "project": [
+          "projects/safing/ui/tsconfig.lib.json",
+          "projects/safing/ui/tsconfig.spec.json"
+        ],
+        "createDefaultProgram": true
+      },
+      "rules": {
+        "@angular-eslint/directive-selector": [
+          "error",
+          {
+            "type": "attribute",
+            "prefix": "sfng",
+            "style": "camelCase"
+          }
+        ],
+        "@angular-eslint/component-selector": [
+          "error",
+          {
+            "type": "element",
+            "prefix": "sfng",
+            "style": "kebab-case"
+          }
+        ]
+      }
+    },
+    {
+      "files": [
+        "*.html"
+      ],
+      "rules": {}
+    }
+  ]
+}
diff --git a/desktop/angular/projects/safing/ui/README.md b/desktop/angular/projects/safing/ui/README.md
new file mode 100644
index 00000000..cf11e371
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/README.md
@@ -0,0 +1,24 @@
+# Ui
+
+This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 12.2.0.
+
+## Code scaffolding
+
+Run `ng generate component component-name --project ui` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project ui`.
+> Note: Don't forget to add `--project ui` or else it will be added to the default project in your `angular.json` file. 
+
+## Build
+
+Run `ng build ui` to build the project. The build artifacts will be stored in the `dist/` directory.
+
+## Publishing
+
+After building your library with `ng build ui`, go to the dist folder `cd dist/ui` and run `npm publish`.
+
+## Running unit tests
+
+Run `ng test ui` to execute the unit tests via [Karma](https://karma-runner.github.io).
+
+## Further help
+
+To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
diff --git a/desktop/angular/projects/safing/ui/karma.conf.js b/desktop/angular/projects/safing/ui/karma.conf.js
new file mode 100644
index 00000000..8975477b
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/karma.conf.js
@@ -0,0 +1,44 @@
+// Karma configuration file, see link for more information
+// https://karma-runner.github.io/1.0/config/configuration-file.html
+
+module.exports = function (config) {
+  config.set({
+    basePath: '',
+    frameworks: ['jasmine', '@angular-devkit/build-angular'],
+    plugins: [
+      require('karma-jasmine'),
+      require('karma-chrome-launcher'),
+      require('karma-jasmine-html-reporter'),
+      require('karma-coverage'),
+      require('@angular-devkit/build-angular/plugins/karma')
+    ],
+    client: {
+      jasmine: {
+        // you can add configuration options for Jasmine here
+        // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html
+        // for example, you can disable the random execution with `random: false`
+        // or set a specific seed with `seed: 4321`
+      },
+      clearContext: false // leave Jasmine Spec Runner output visible in browser
+    },
+    jasmineHtmlReporter: {
+      suppressAll: true // removes the duplicated traces
+    },
+    coverageReporter: {
+      dir: require('path').join(__dirname, '../../../coverage/safing/ui'),
+      subdir: '.',
+      reporters: [
+        { type: 'html' },
+        { type: 'text-summary' }
+      ]
+    },
+    reporters: ['progress', 'kjhtml'],
+    port: 9876,
+    colors: true,
+    logLevel: config.LOG_INFO,
+    autoWatch: true,
+    browsers: ['Chrome'],
+    singleRun: false,
+    restartOnFileChange: true
+  });
+};
diff --git a/desktop/angular/projects/safing/ui/ng-package.json b/desktop/angular/projects/safing/ui/ng-package.json
new file mode 100644
index 00000000..4a890c44
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/ng-package.json
@@ -0,0 +1,11 @@
+{
+  "$schema": "../../../node_modules/ng-packagr/ng-package.schema.json",
+  "dest": "../../../dist-lib/safing/ui",
+  "lib": {
+    "entryFile": "src/public-api.ts"
+  },
+  "assets": [
+    "theming.scss",
+    "**/_*.scss"
+  ]
+}
diff --git a/desktop/angular/projects/safing/ui/package.json b/desktop/angular/projects/safing/ui/package.json
new file mode 100644
index 00000000..52fa541a
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/package.json
@@ -0,0 +1,17 @@
+{
+  "name": "@safing/ui",
+  "version": "0.0.1",
+  "peerDependencies": {
+    "@angular/common": "~12.2.0",
+    "@angular/core": "~12.2.0",
+    "@angular/cdk": "~12.2.0"
+  },
+  "dependencies": {
+    "tslib": "^2.3.0"
+  },
+  "exports": {
+    "./theming": {
+      "sass": "./theming.scss"
+    }
+  }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/accordion/accordion-group.html b/desktop/angular/projects/safing/ui/src/lib/accordion/accordion-group.html
new file mode 100644
index 00000000..6dbc7430
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/accordion/accordion-group.html
@@ -0,0 +1 @@
+<ng-content></ng-content>
diff --git a/desktop/angular/projects/safing/ui/src/lib/accordion/accordion-group.ts b/desktop/angular/projects/safing/ui/src/lib/accordion/accordion-group.ts
new file mode 100644
index 00000000..3c152842
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/accordion/accordion-group.ts
@@ -0,0 +1,116 @@
+import { coerceBooleanProperty } from '@angular/cdk/coercion';
+import { ChangeDetectionStrategy, Component, Input, OnDestroy, TemplateRef } from '@angular/core';
+import { Subscription } from 'rxjs';
+import { SfngAccordionComponent } from './accordion';
+
+@Component({
+  selector: 'sfng-accordion-group',
+  templateUrl: './accordion-group.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class SfngAccordionGroupComponent implements OnDestroy {
+  /** @private Currently registered accordion components */
+  accordions: SfngAccordionComponent[] = [];
+
+  /**
+   * A template-ref to render as the header for each accordion-component.
+   * Receives the accordion data as an $implicit context.
+   */
+  @Input()
+  set headerTemplate(v: TemplateRef<any> | null) {
+    this._headerTemplate = v;
+
+    if (!!this.accordions.length) {
+      this.accordions.forEach(a => {
+        a.headerTemplate = v;
+        a.cdr.markForCheck();
+      })
+    }
+  }
+  get headerTemplate() { return this._headerTemplate }
+  private _headerTemplate: TemplateRef<any> | null = null;
+
+  /** Whether or not one or more components can be expanded. */
+  @Input()
+  set singleMode(v: any) {
+    this._singleMode = coerceBooleanProperty(v);
+  }
+  get singleMode() { return this._singleMode }
+  private _singleMode = false;
+
+  /** Whether or not the accordion is disabled and does not allow expanding */
+  @Input()
+  set disabled(v: any) {
+    this._disabled = coerceBooleanProperty(v);
+    if (this._disabled) {
+      this.accordions.forEach(a => a.active = false);
+    }
+  }
+  get disabled(): boolean { return this._disabled; }
+  private _disabled = false;
+
+  /** A list of subscriptions to the activeChange output of the registered accordion-components */
+  private subscriptions: Subscription[] = [];
+
+  /**
+   * Registeres an accordion component to be handled together with this
+   * accordion group.
+   *
+   * @param a The accordion component to register
+   */
+  register(a: SfngAccordionComponent) {
+    this.accordions.push(a);
+
+    // Tell the accordion-component about the default header-template.
+    if (!a.headerTemplate) {
+      a.headerTemplate = this.headerTemplate;
+    }
+
+    // Subscribe to the activeChange output of the registered
+    // accordion and call toggle() for each event emitted.
+    this.subscriptions.push(a.activeChange.subscribe(() => {
+      if (this.disabled) {
+        return;
+      }
+
+      this.toggle(a);
+    }))
+  }
+
+  /**
+   * Unregisters a accordion component
+   *
+   * @param a The accordion component to unregister
+   */
+  unregister(a: SfngAccordionComponent) {
+    const index = this.accordions.indexOf(a);
+    if (index === -1) return;
+  
+    const subscription = this.subscriptions[index];
+  
+    subscription.unsubscribe();
+    this.accordions = this.accordions.splice(index, 1);
+    this.subscriptions = this.subscriptions.splice(index, 1);
+  }
+
+  ngOnDestroy() {
+    this.subscriptions.forEach(s => s.unsubscribe());
+    this.subscriptions = [];
+    this.accordions = [];
+  }
+
+  /**
+   * Expand an accordion component and collaps all others if
+   * single-mode is selected.
+   *
+   * @param a The accordion component to toggle.
+   */
+  private toggle(a: SfngAccordionComponent) {
+    if (!a.active && this._singleMode) {
+      this.accordions?.forEach(a => a.active = false);
+    }
+
+    a.active = !a.active;
+  }
+
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/accordion/accordion.html b/desktop/angular/projects/safing/ui/src/lib/accordion/accordion.html
new file mode 100644
index 00000000..4d47b842
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/accordion/accordion.html
@@ -0,0 +1,10 @@
+<div [class.active]="active" [class.cursor-pointer]="!group || !group.disabled" (click)="toggle($event)">
+  <ng-container *ngTemplateOutlet="headerTemplate; context: {$implicit: data, active: active, accordion: component}">
+  </ng-container>
+</div>
+
+<div class="h-auto overflow-visible opacity-100" *ngIf="active" [@fadeIn] [@fadeOut]>
+  <ng-container>
+    <ng-content></ng-content>
+  </ng-container>
+</div>
diff --git a/desktop/angular/projects/safing/ui/src/lib/accordion/accordion.module.ts b/desktop/angular/projects/safing/ui/src/lib/accordion/accordion.module.ts
new file mode 100644
index 00000000..7de494f9
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/accordion/accordion.module.ts
@@ -0,0 +1,19 @@
+import { CommonModule } from "@angular/common";
+import { NgModule } from "@angular/core";
+import { SfngAccordionComponent } from "./accordion";
+import { SfngAccordionGroupComponent } from "./accordion-group";
+
+@NgModule({
+  imports: [
+    CommonModule,
+  ],
+  declarations: [
+    SfngAccordionGroupComponent,
+    SfngAccordionComponent,
+  ],
+  exports: [
+    SfngAccordionGroupComponent,
+    SfngAccordionComponent,
+  ]
+})
+export class SfngAccordionModule { }
diff --git a/desktop/angular/projects/safing/ui/src/lib/accordion/accordion.ts b/desktop/angular/projects/safing/ui/src/lib/accordion/accordion.ts
new file mode 100644
index 00000000..1c3f6ec5
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/accordion/accordion.ts
@@ -0,0 +1,88 @@
+import { coerceBooleanProperty } from '@angular/cdk/coercion';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostBinding, Input, OnDestroy, OnInit, Optional, Output, TemplateRef, TrackByFunction } from '@angular/core';
+import { fadeInAnimation, fadeOutAnimation } from '../animations';
+import { SfngAccordionGroupComponent } from './accordion-group';
+
+@Component({
+  selector: 'sfng-accordion',
+  templateUrl: './accordion.html',
+  exportAs: 'sfngAccordion',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  animations: [
+    fadeInAnimation,
+    fadeOutAnimation
+  ]
+})
+export class SfngAccordionComponent<T = any> implements OnInit, OnDestroy {
+  /** @deprecated in favor of [data] */
+  @Input()
+  title: string = '';
+
+  /** A reference to the component provided via the template context */
+  component = this;
+
+  /**
+   * The data the accordion component is used for. This is passed as an $implicit context
+   * to the header template.
+   */
+  @Input()
+  data: T | undefined = undefined;
+
+  @Input()
+  trackBy: TrackByFunction<T | null> = (_, c) => c
+
+  /** Whether or not the accordion component starts active. */
+  @Input()
+  set active(v: any) {
+    this._active = coerceBooleanProperty(v);
+  }
+  get active() {
+    return this._active;
+  }
+  private _active: boolean = false;
+
+  /** Emits whenever the active value changes. Supports two-way bindings. */
+  @Output()
+  activeChange = new EventEmitter<boolean>();
+
+  /**
+   * The header-template to render for this component. If null, the default template from
+   * the parent accordion-group will be used.
+   */
+  @Input()
+  headerTemplate: TemplateRef<any> | null = null;
+
+  @HostBinding('class.active')
+  /** @private Whether or not the accordion should have the 'active' class */
+  get activeClass(): string {
+    return this.active;
+  }
+
+  ngOnInit(): void {
+    // register at our parent group-component (if any).
+    this.group?.register(this);
+  }
+
+  ngOnDestroy(): void {
+    this.group?.unregister(this);
+  }
+
+  /**
+   * Toggle the active-state of the accordion-component.
+   *
+   * @param event The mouse event.
+   */
+  toggle(event?: Event) {
+    if (!!this.group && this.group.disabled) {
+      return;
+    }
+
+    event?.preventDefault();
+    this.activeChange.emit(!this.active);
+  }
+
+  constructor(
+    public cdr: ChangeDetectorRef,
+    @Optional() public group: SfngAccordionGroupComponent,
+  ) { }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/accordion/index.ts b/desktop/angular/projects/safing/ui/src/lib/accordion/index.ts
new file mode 100644
index 00000000..c06e6707
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/accordion/index.ts
@@ -0,0 +1,4 @@
+export { SfngAccordionComponent } from './accordion';
+export { SfngAccordionGroupComponent } from './accordion-group';
+export { SfngAccordionModule } from './accordion.module';
+
diff --git a/desktop/angular/projects/safing/ui/src/lib/animations/index.ts b/desktop/angular/projects/safing/ui/src/lib/animations/index.ts
new file mode 100644
index 00000000..e1613052
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/animations/index.ts
@@ -0,0 +1,88 @@
+import { animate, query, stagger, style, transition, trigger } from '@angular/animations';
+
+export const fadeInAnimation = trigger(
+  'fadeIn',
+  [
+    transition(
+      ':enter',
+      [
+        style({ opacity: 0, transform: 'translateY(-5px)' }),
+        animate('120ms cubic-bezier(0, 0, 0.2, 1)',
+          style({ opacity: 1, transform: 'translateY(0px)' }))
+      ]
+    ),
+  ]
+);
+
+export const fadeOutAnimation = trigger(
+  'fadeOut',
+  [
+    transition(
+      ':leave',
+      [
+        style({ opacity: 1, transform: 'translateY(0px)' }),
+        animate('120ms cubic-bezier(0, 0, 0.2, 1)',
+          style({ opacity: 0, transform: 'translateY(-5px)' }))
+      ]
+    ),
+  ]
+);
+
+export const fadeInListAnimation = trigger(
+  'fadeInList',
+  [
+    transition(':enter, * => 0, * => -1', []),
+    transition(':increment', [
+      query(':enter', [
+        style({ opacity: 0 }),
+        stagger(5, [
+          animate('300ms ease-out', style({ opacity: 1 })),
+        ]),
+      ], { optional: true })
+    ]),
+  ]
+)
+
+export const moveInOutAnimation = trigger(
+  'moveInOut',
+  [
+    transition(
+      ':enter',
+      [
+        style({ opacity: 0, transform: 'translateX(100%)' }),
+        animate('.2s ease-in',
+          style({ opacity: 1, transform: 'translateX(0%)' }))
+      ]
+    ),
+    transition(
+      ':leave',
+      [
+        style({ opacity: 1 }),
+        animate('.2s ease-out',
+          style({ opacity: 0, transform: 'translateX(100%)' }))
+      ]
+    )
+  ]
+)
+
+export const moveInOutListAnimation = trigger(
+  'moveInOutList',
+  [
+    transition(':enter, * => 0, * => -1', []),
+    transition(':increment', [
+      query(':enter', [
+        style({ opacity: 0, transform: 'translateX(100%)' }),
+        stagger(50, [
+          animate('200ms ease-out', style({ opacity: 1, transform: 'translateX(0%)' })),
+        ]),
+      ], { optional: true })
+    ]),
+    transition(':decrement', [
+      query(':leave', [
+        stagger(-50, [
+          animate('200ms ease-out', style({ opacity: 0, transform: 'translateX(100%)' })),
+        ]),
+      ], { optional: true })
+    ]),
+  ]
+)
diff --git a/desktop/angular/projects/safing/ui/src/lib/dialog/_confirm.dialog.scss b/desktop/angular/projects/safing/ui/src/lib/dialog/_confirm.dialog.scss
new file mode 100644
index 00000000..a0d459a8
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/dialog/_confirm.dialog.scss
@@ -0,0 +1,95 @@
+.sfng-confirm-dialog {
+  display: flex;
+  flex-direction: column;
+  align-items: flex-start;
+
+  caption {
+    @apply text-sm;
+    opacity: .6;
+    font-size: .6rem;
+  }
+
+  h1 {
+    font-size: 0.85rem;
+    font-weight: 500;
+    margin-bottom: 1rem;
+  }
+
+  .message,
+  h1 {
+    flex-shrink: 0;
+    text-overflow: ellipsis;
+    word-break: normal;
+  }
+
+  .message {
+    font-size: 0.75rem;
+    flex-grow: 1;
+    opacity: .6;
+    max-width: 300px;
+  }
+
+  .message~input {
+    margin-top: 0.5rem;
+    font-size: 95%;
+  }
+
+  .close-icon {
+    position: absolute;
+    top: 1rem;
+    right: 1rem;
+    opacity: .7;
+    cursor: pointer;
+
+    &:hover {
+      opacity: 1;
+    }
+  }
+
+  input[type="text"] {
+    @apply text-primary;
+    @apply bg-gray-500 border-gray-400 bg-opacity-75 border-opacity-75;
+
+    &::placeholder {
+      @apply text-tertiary;
+    }
+  }
+
+  .actions {
+    margin-top: 1rem;
+    width: 100%;
+    display: flex;
+    justify-content: flex-end;
+    align-items: center;
+
+    button.action-button {
+      &:not(:last-child) {
+        margin-right: 0.5rem;
+      }
+
+      &:not(.outline) {
+        @apply bg-blue;
+      }
+
+      &.danger {
+        @apply bg-red-300;
+      }
+
+      &.outline {
+        @apply outline-none;
+        @apply border;
+        @apply border-gray-400;
+      }
+    }
+
+    &>span {
+      display: flex;
+      align-items: center;
+
+      label {
+        margin-left: .5rem;
+        user-select: none;
+      }
+    }
+  }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/dialog/_dialog.scss b/desktop/angular/projects/safing/ui/src/lib/dialog/_dialog.scss
new file mode 100644
index 00000000..22300126
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/dialog/_dialog.scss
@@ -0,0 +1,28 @@
+sfng-dialog-container {
+  .container {
+    display: block;
+    box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.75);
+    @apply p-6;
+    @apply bg-gray-300;
+    @apply rounded;
+    min-width: 20rem;
+    width: fit-content;
+    position: relative;
+  }
+
+  #drag-handle {
+    display: block;
+    height: 6px;
+    background-color: white;
+    opacity: .4;
+    border-radius: 3px;
+    position: absolute;
+    bottom: calc(0.5rem - 2px);
+    width: 30%;
+    left: calc(50% - 15%);
+
+    &:hover {
+      opacity: .8;
+    }
+  }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/dialog/confirm.dialog.html b/desktop/angular/projects/safing/ui/src/lib/dialog/confirm.dialog.html
new file mode 100644
index 00000000..0bbcf275
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/dialog/confirm.dialog.html
@@ -0,0 +1,22 @@
+<div class="sfng-confirm-dialog">
+  <caption *ngIf="config.caption">{{config.caption}}</caption>
+  <svg xmlns="http://www.w3.org/2000/svg" *ngIf="config.canCancel" class="w-5 h-5 close-icon" viewBox="0 0 20 20"
+    fill="currentColor" (click)="select()">
+    <path fill-rule="evenodd"
+      d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z"
+      clip-rule="evenodd" />
+  </svg>
+
+
+  <h1 *ngIf="config.header">{{config.header}}</h1>
+
+  <span class="message" *ngIf="config.message">{{ config.message }}</span>
+
+  <input *ngIf="!!config.inputType" [attr.type]="config.inputType" [(ngModel)]="config.inputModel"
+    [attr.placeholder]="config.inputPlaceholder || null">
+
+  <div class="actions" *ngIf="!!config.buttons">
+    <button *ngFor="let button of config.buttons" (click)="select(button.id)" type="button"
+      class="action-button {{button.class}}">{{button.text}}</button>
+  </div>
+</div>
diff --git a/desktop/angular/projects/safing/ui/src/lib/dialog/confirm.dialog.ts b/desktop/angular/projects/safing/ui/src/lib/dialog/confirm.dialog.ts
new file mode 100644
index 00000000..c3c1f888
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/dialog/confirm.dialog.ts
@@ -0,0 +1,40 @@
+import { ChangeDetectionStrategy, Component, Inject, InjectionToken } from '@angular/core';
+import { SfngDialogRef, SFNG_DIALOG_REF } from './dialog.ref';
+
+export interface ConfirmDialogButton {
+  text: string;
+  id: string;
+  class?: 'danger' | 'outline';
+}
+
+export interface ConfirmDialogConfig {
+  buttons?: ConfirmDialogButton[];
+  canCancel?: boolean;
+  header?: string;
+  message?: string;
+  caption?: string;
+  inputType?: 'text' | 'password';
+  inputModel?: string;
+  inputPlaceholder?: string;
+}
+
+export const CONFIRM_DIALOG_CONFIG = new InjectionToken<ConfirmDialogConfig>('ConfirmDialogConfig');
+
+@Component({
+  templateUrl: './confirm.dialog.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class SfngConfirmDialogComponent {
+  constructor(
+    @Inject(SFNG_DIALOG_REF) private dialogRef: SfngDialogRef<any>,
+    @Inject(CONFIRM_DIALOG_CONFIG) public config: ConfirmDialogConfig,
+  ) {
+    if (config.inputType !== undefined && config.inputModel === undefined) {
+      config.inputModel = '';
+    }
+  }
+
+  select(action?: string) {
+    this.dialogRef.close(action || null);
+  }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/dialog/dialog.animations.ts b/desktop/angular/projects/safing/ui/src/lib/dialog/dialog.animations.ts
new file mode 100644
index 00000000..14e0fe29
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/dialog/dialog.animations.ts
@@ -0,0 +1,19 @@
+import { animate, state, style, transition, trigger } from "@angular/animations";
+
+export const dialogAnimation = trigger(
+  'dialogContainer',
+  [
+    state('void, exit', style({ opacity: 0, transform: 'scale(0.7)' })),
+    state('enter', style({ transform: 'none', opacity: 1 })),
+    transition(
+      '* => enter',
+      animate('120ms cubic-bezier(0, 0, 0.2, 1)',
+        style({ opacity: 1, transform: 'translateY(0px)' }))
+    ),
+    transition(
+      '* => void, * => exit',
+      animate('120ms cubic-bezier(0, 0, 0.2, 1)',
+        style({ opacity: 0, transform: 'scale(0.7)' }))
+    ),
+  ]
+);
diff --git a/desktop/angular/projects/safing/ui/src/lib/dialog/dialog.container.ts b/desktop/angular/projects/safing/ui/src/lib/dialog/dialog.container.ts
new file mode 100644
index 00000000..d3565f47
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/dialog/dialog.container.ts
@@ -0,0 +1,76 @@
+import { AnimationEvent } from '@angular/animations';
+import { CdkDrag } from '@angular/cdk/drag-drop';
+import { CdkPortalOutlet, ComponentPortal, Portal, TemplatePortal } from '@angular/cdk/portal';
+import { ChangeDetectorRef, Component, ComponentRef, EmbeddedViewRef, HostBinding, HostListener, InjectionToken, Input, ViewChild } from '@angular/core';
+import { Subject } from 'rxjs';
+import { dialogAnimation } from './dialog.animations';
+
+export const SFNG_DIALOG_PORTAL = new InjectionToken<Portal<any>>('SfngDialogPortal');
+
+export type SfngDialogState = 'opening' | 'open' | 'closing' | 'closed';
+
+@Component({
+  selector: 'sfng-dialog-container',
+  template: `
+  <div class="container" cdkDrag cdkDragRootElement=".cdk-overlay-pane" [cdkDragDisabled]="!dragable">
+    <div *ngIf="dragable" cdkDragHandle id="drag-handle"></div>
+    <ng-container cdkPortalOutlet></ng-container>
+  </div>
+  `,
+  animations: [dialogAnimation]
+})
+export class SfngDialogContainerComponent<T> {
+  onStateChange = new Subject<SfngDialogState>();
+
+  ref: ComponentRef<T> | EmbeddedViewRef<T> | null = null;
+
+  constructor(
+    private cdr: ChangeDetectorRef,
+  ) { }
+
+  @HostBinding('@dialogContainer')
+  state = 'enter';
+
+  @ViewChild(CdkPortalOutlet, { static: true })
+  _portalOutlet: CdkPortalOutlet | null = null;
+
+  @ViewChild(CdkDrag, { static: true })
+  drag!: CdkDrag;
+
+  attachComponentPortal(portal: ComponentPortal<T>): ComponentRef<T> {
+    this.ref = this._portalOutlet!.attachComponentPortal(portal)
+    return this.ref;
+  }
+
+  attachTemplatePortal(portal: TemplatePortal<T>): EmbeddedViewRef<T> {
+    this.ref = this._portalOutlet!.attachTemplatePortal(portal);
+    return this.ref;
+  }
+
+  @Input()
+  dragable: boolean = false;
+
+  @HostListener('@dialogContainer.start', ['$event'])
+  onAnimationStart({ toState }: AnimationEvent) {
+    if (toState === 'enter') {
+      this.onStateChange.next('opening');
+    } else if (toState === 'exit') {
+      this.onStateChange.next('closing');
+    }
+  }
+
+  @HostListener('@dialogContainer.done', ['$event'])
+  onAnimationEnd({ toState }: AnimationEvent) {
+    if (toState === 'enter') {
+      this.onStateChange.next('open');
+    } else if (toState === 'exit') {
+      this.onStateChange.next('closed');
+    }
+  }
+
+  /** Starts the exit animation */
+  _startExit() {
+    this.state = 'exit';
+    this.cdr.markForCheck();
+  }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/dialog/dialog.module.ts b/desktop/angular/projects/safing/ui/src/lib/dialog/dialog.module.ts
new file mode 100644
index 00000000..d47195b9
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/dialog/dialog.module.ts
@@ -0,0 +1,23 @@
+import { DragDropModule } from "@angular/cdk/drag-drop";
+import { OverlayModule } from "@angular/cdk/overlay";
+import { PortalModule } from "@angular/cdk/portal";
+import { CommonModule } from "@angular/common";
+import { NgModule } from "@angular/core";
+import { FormsModule } from "@angular/forms";
+import { SfngConfirmDialogComponent } from "./confirm.dialog";
+import { SfngDialogContainerComponent } from "./dialog.container";
+
+@NgModule({
+  imports: [
+    CommonModule,
+    OverlayModule,
+    PortalModule,
+    DragDropModule,
+    FormsModule,
+  ],
+  declarations: [
+    SfngDialogContainerComponent,
+    SfngConfirmDialogComponent,
+  ]
+})
+export class SfngDialogModule { }
diff --git a/desktop/angular/projects/safing/ui/src/lib/dialog/dialog.ref.ts b/desktop/angular/projects/safing/ui/src/lib/dialog/dialog.ref.ts
new file mode 100644
index 00000000..145c60ca
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/dialog/dialog.ref.ts
@@ -0,0 +1,62 @@
+import { OverlayRef } from "@angular/cdk/overlay";
+import { InjectionToken } from "@angular/core";
+import { Observable, PartialObserver, Subject } from "rxjs";
+import { filter, take } from "rxjs/operators";
+import { SfngDialogContainerComponent, SfngDialogState } from "./dialog.container";
+
+export const SFNG_DIALOG_REF = new InjectionToken<SfngDialogRef<any>>('SfngDialogRef');
+
+export class SfngDialogRef<T, R = any, D = any> {
+  constructor(
+    private _overlayRef: OverlayRef,
+    private container: SfngDialogContainerComponent<T>,
+    public readonly data: D,
+  ) {
+    this.container.onStateChange
+      .pipe(
+        filter(state => state === 'closed'),
+        take(1)
+      )
+      .subscribe(() => {
+        this._overlayRef.detach();
+        this._overlayRef.dispose();
+        this.onClose.next(this.value);
+        this.onClose.complete();
+      });
+  }
+
+  get onStateChange(): Observable<SfngDialogState> {
+    return this.container.onStateChange;
+  }
+
+
+  /**
+   * @returns The overlayref that holds the dialog container.
+   */
+  overlay() { return this._overlayRef }
+
+  /**
+   * @returns the instance attached to the dialog container
+   */
+  contentRef() { return this.container.ref! }
+
+  /** Value holds the value passed on close() */
+  private value: R | null = null;
+
+  /**
+   * Emits the result of the dialog and closes the overlay.
+   */
+  onClose = new Subject<R | null>()
+
+  /** onAction only emits if close() is called with action. */
+  onAction<T extends R>(action: T, observer: PartialObserver<T> | ((value: T) => void)): this {
+    (this.onClose.pipe(filter(val => val === action)) as Observable<T>)
+      .subscribe(observer as any); // typescript does not select the correct type overload here.
+    return this;
+  }
+
+  close(result?: R) {
+    this.value = result || null;
+    this.container._startExit();
+  }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/dialog/dialog.service.ts b/desktop/angular/projects/safing/ui/src/lib/dialog/dialog.service.ts
new file mode 100644
index 00000000..e7b80ffc
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/dialog/dialog.service.ts
@@ -0,0 +1,154 @@
+import { Overlay, OverlayConfig, OverlayPositionBuilder, PositionStrategy } from '@angular/cdk/overlay';
+import { ComponentPortal, ComponentType, TemplatePortal } from '@angular/cdk/portal';
+import { EmbeddedViewRef, Injectable, Injector } from '@angular/core';
+import { filter, take, takeUntil } from 'rxjs/operators';
+import { ConfirmDialogConfig, CONFIRM_DIALOG_CONFIG, SfngConfirmDialogComponent } from './confirm.dialog';
+import { SfngDialogContainerComponent } from './dialog.container';
+import { SfngDialogModule } from './dialog.module';
+import { SfngDialogRef, SFNG_DIALOG_REF } from './dialog.ref';
+
+export interface BaseDialogConfig {
+  /** whether or not the dialog should close on outside-clicks and ESC */
+  autoclose?: boolean;
+
+  /** whether or not a backdrop should be visible */
+  backdrop?: boolean | 'light';
+
+  /** whether or not the dialog should be dragable */
+  dragable?: boolean;
+
+  /**
+   * optional position strategy for the overlay. if omitted, the
+   * overlay will be centered on the screen
+   */
+  positionStrategy?: PositionStrategy;
+
+  /**
+   * Optional data for the dialog that is available either via the
+   * SfngDialogRef for ComponentPortals as an $implicit context value
+   * for TemplatePortals.
+   *
+   * Note, for template portals, data is only set as an $implicit context
+   * value if it is not yet set in the portal!
+   */
+  data?: any;
+}
+
+export interface ComponentPortalConfig {
+  injector?: Injector;
+}
+
+@Injectable({ providedIn: SfngDialogModule })
+export class SfngDialogService {
+
+  constructor(
+    private injector: Injector,
+    private overlay: Overlay,
+  ) { }
+
+  position(): OverlayPositionBuilder {
+    return this.overlay.position();
+  }
+
+  create<T>(template: TemplatePortal<T>, opts?: BaseDialogConfig): SfngDialogRef<EmbeddedViewRef<T>>;
+  create<T>(target: ComponentType<T>, opts?: BaseDialogConfig & ComponentPortalConfig): SfngDialogRef<T>;
+  create<T>(target: ComponentType<T> | TemplatePortal<T>, opts: BaseDialogConfig & ComponentPortalConfig = {}): SfngDialogRef<any> {
+    let position: PositionStrategy = opts?.positionStrategy || this.overlay
+      .position()
+      .global()
+      .centerVertically()
+      .centerHorizontally();
+
+    let hasBackdrop = true;
+    let backdropClass = 'dialog-screen-backdrop';
+    if (opts.backdrop !== undefined) {
+      if (opts.backdrop === false) {
+        hasBackdrop = false;
+      } else if (opts.backdrop === 'light') {
+        backdropClass = 'dialog-screen-backdrop-light';
+      }
+    }
+
+    const cfg = new OverlayConfig({
+      scrollStrategy: this.overlay.scrollStrategies.noop(),
+      positionStrategy: position,
+      hasBackdrop: hasBackdrop,
+      backdropClass: backdropClass,
+    });
+    const overlayref = this.overlay.create(cfg);
+
+    // create our dialog container and attach it to the
+    // overlay.
+    const containerPortal = new ComponentPortal<SfngDialogContainerComponent<T>>(
+      SfngDialogContainerComponent,
+      undefined,
+      this.injector,
+    )
+    const containerRef = containerPortal.attach(overlayref);
+
+    if (!!opts.dragable) {
+      containerRef.instance.dragable = true;
+    }
+
+    // create the dialog ref
+    const dialogRef = new SfngDialogRef<T>(overlayref, containerRef.instance, opts.data);
+
+    // prepare the content portal and attach it to the container
+    let result: any;
+    if (target instanceof TemplatePortal) {
+      let r = containerRef.instance.attachTemplatePortal(target)
+
+      if (!!r.context && typeof r.context === 'object' && !('$implicit' in r.context)) {
+        r.context = {
+          $implicit: opts.data,
+          ...r.context,
+        }
+      }
+
+      result = r
+    } else {
+      const contentPortal = new ComponentPortal(target, null, Injector.create({
+        providers: [
+          {
+            provide: SFNG_DIALOG_REF,
+            useValue: dialogRef,
+          }
+        ],
+        parent: opts?.injector || this.injector,
+      }));
+      result = containerRef.instance.attachComponentPortal(contentPortal);
+    }
+    // update the container position now that we have some content.
+    overlayref.updatePosition();
+
+    if (!!opts?.autoclose) {
+      overlayref.outsidePointerEvents()
+        .pipe(take(1))
+        .subscribe(() => dialogRef.close());
+      overlayref.keydownEvents()
+        .pipe(
+          takeUntil(overlayref.detachments()),
+          filter(event => event.key === 'Escape')
+        )
+        .subscribe(() => {
+          dialogRef.close();
+        })
+    }
+    return dialogRef;
+  }
+
+  confirm(opts: ConfirmDialogConfig): SfngDialogRef<SfngConfirmDialogComponent, string> {
+    return this.create(SfngConfirmDialogComponent, {
+      autoclose: opts.canCancel,
+      injector: Injector.create({
+        providers: [
+          {
+            provide: CONFIRM_DIALOG_CONFIG,
+            useValue: opts,
+          },
+        ],
+        parent: this.injector,
+      })
+    })
+  }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/dialog/index.ts b/desktop/angular/projects/safing/ui/src/lib/dialog/index.ts
new file mode 100644
index 00000000..538cb300
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/dialog/index.ts
@@ -0,0 +1,5 @@
+export { ConfirmDialogConfig } from './confirm.dialog';
+export * from './dialog.module';
+export * from './dialog.ref';
+export * from './dialog.service';
+
diff --git a/desktop/angular/projects/safing/ui/src/lib/dropdown/dropdown.html b/desktop/angular/projects/safing/ui/src/lib/dropdown/dropdown.html
new file mode 100644
index 00000000..33232ea0
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/dropdown/dropdown.html
@@ -0,0 +1,27 @@
+<div *ngIf="!externalTrigger" class="w-full" cdkOverlayOrigin #trigger="cdkOverlayOrigin" (click)="toggle(trigger)">
+  <ng-template [ngTemplateOutlet]="triggerTemplate || defaultTriggerTemplate"></ng-template>
+</div>
+
+<ng-template #defaultTriggerTemplate>
+  <!-- TODO(ppacher): use a button rather than a div but first fix the button styling -->
+  <div [class.rounded-b]="!isOpen"
+    class="flex flex-row items-center justify-between w-full px-4 py-2 mt-6 bg-gray-100 rounded-t cursor-pointer hover:bg-gray-100 hover:bg-opacity-75 text-secondary">
+    {{ label }}
+
+    <svg xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"
+      stroke-width="2">
+      <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7" />
+    </svg>
+  </div>
+</ng-template>
+
+<ng-template cdkConnectedOverlay [cdkConnectedOverlayOffsetY]="offsetY" [cdkConnectedOverlayOffsetX]="offsetX"
+  [cdkConnectedOverlayMinWidth]="minWidth" [cdkConnectedOverlayMinHeight]="minHeight"
+  [cdkConnectedOverlayOrigin]="trigger!" [cdkConnectedOverlayOpen]="isOpen" (detach)="onOverlayClosed()"
+  [cdkConnectedOverlayScrollStrategy]="scrollStrategy" (overlayOutsideClick)="onOutsideClick($event)"
+  [cdkConnectedOverlayPositions]="positions">
+  <div class="w-full overflow-hidden bg-gray-200 rounded-b shadow {{ overlayClass }}" [style.maxHeight]="maxHeight"
+    [style.maxWidth]="maxWidth" [@fadeIn] [@fadeOut]>
+    <ng-content></ng-content>
+  </div>
+</ng-template>
diff --git a/desktop/angular/projects/safing/ui/src/lib/dropdown/dropdown.module.ts b/desktop/angular/projects/safing/ui/src/lib/dropdown/dropdown.module.ts
new file mode 100644
index 00000000..1bfb6846
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/dropdown/dropdown.module.ts
@@ -0,0 +1,18 @@
+import { OverlayModule } from "@angular/cdk/overlay";
+import { CommonModule } from "@angular/common";
+import { NgModule } from "@angular/core";
+import { SfngDropdownComponent } from "./dropdown";
+
+@NgModule({
+  imports: [
+    CommonModule,
+    OverlayModule,
+  ],
+  declarations: [
+    SfngDropdownComponent,
+  ],
+  exports: [
+    SfngDropdownComponent,
+  ]
+})
+export class SfngDropDownModule { }
diff --git a/desktop/angular/projects/safing/ui/src/lib/dropdown/dropdown.ts b/desktop/angular/projects/safing/ui/src/lib/dropdown/dropdown.ts
new file mode 100644
index 00000000..3b50a8f5
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/dropdown/dropdown.ts
@@ -0,0 +1,216 @@
+import { coerceBooleanProperty, coerceCssPixelValue, coerceNumberProperty } from "@angular/cdk/coercion";
+import { CdkOverlayOrigin, ConnectedPosition, ScrollStrategy, ScrollStrategyOptions } from "@angular/cdk/overlay";
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2, TemplateRef, ViewChild } from "@angular/core";
+import { fadeInAnimation, fadeOutAnimation } from '../animations';
+
+@Component({
+  selector: 'sfng-dropdown',
+  exportAs: 'sfngDropdown',
+  templateUrl: './dropdown.html',
+  styles: [
+    `
+    :host {
+      display: block;
+    }
+    `
+  ],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  animations: [fadeInAnimation, fadeOutAnimation],
+})
+export class SfngDropdownComponent implements OnInit {
+  /** The trigger origin used to open the drop-down */
+  @ViewChild('trigger', { read: CdkOverlayOrigin })
+  trigger: CdkOverlayOrigin | null = null;
+
+  /**
+   * The button/drop-down label. Only when not using
+   * {@Link SfngDropdown.externalTrigger}
+   */
+  @Input()
+  label: string = '';
+
+  /** The trigger template to use when {@Link SfngDropdown.externalTrigger} */
+  @Input()
+  triggerTemplate: TemplateRef<any> | null = null;
+
+  /** Set to true to provide an external dropdown trigger template using {@Link SfngDropdown.triggerTemplate} */
+  @Input()
+  set externalTrigger(v: any) {
+    this._externalTrigger = coerceBooleanProperty(v)
+  }
+  get externalTrigger() {
+    return this._externalTrigger;
+  }
+  private _externalTrigger = false;
+
+  /** A list of classes to apply to the overlay element */
+  @Input()
+  overlayClass: string = '';
+
+  /** Whether or not the drop-down is disabled. */
+  @Input()
+  set disabled(v: any) {
+    this._disabled = coerceBooleanProperty(v)
+  }
+  get disabled() {
+    return this._disabled;
+  }
+  private _disabled = false;
+
+  /** The Y-offset of the drop-down overlay */
+  @Input()
+  set offsetY(v: any) {
+    this._offsetY = coerceNumberProperty(v);
+  }
+  get offsetY() { return this._offsetY }
+  private _offsetY = 4;
+
+  /** The X-offset of the drop-down overlay */
+  @Input()
+  set offsetX(v: any) {
+    this._offsetX = coerceNumberProperty(v);
+  }
+  get offsetX() { return this._offsetX }
+  private _offsetX = 0;
+
+  /** The scrollStrategy of the drop-down */
+  @Input()
+  scrollStrategy!: ScrollStrategy;
+
+  /** Whether or not the pop-over is currently shown. Do not modify this directly */
+  isOpen = false;
+
+  /** The minimum width of the drop-down */
+  @Input()
+  set minWidth(val: any) {
+    this._minWidth = coerceCssPixelValue(val)
+  }
+  get minWidth() { return this._minWidth }
+  private _minWidth: string | number = 0;
+
+  /** The maximum width of the drop-down */
+  @Input()
+  set maxWidth(val: any) {
+    this._maxWidth = coerceCssPixelValue(val)
+  }
+  get maxWidth() { return this._maxWidth }
+  private _maxWidth: string | number | null = null;
+
+  /** The minimum height of the drop-down */
+  @Input()
+  set minHeight(val: any) {
+    this._minHeight = coerceCssPixelValue(val)
+  }
+  get minHeight() { return this._minHeight }
+  private _minHeight: string | number | null = null;
+
+  /** The maximum width of the drop-down */
+  @Input()
+  set maxHeight(val: any) {
+    this._maxHeight = coerceCssPixelValue(val)
+  }
+  get maxHeight() { return this._maxHeight }
+  private _maxHeight: string | number | null = null;
+
+  /** Emits whenever the drop-down is opened */
+  @Output()
+  opened = new EventEmitter<void>();
+
+  /** Emits whenever the drop-down is closed. */
+  @Output()
+  closed = new EventEmitter<void>();
+
+  @Input()
+  positions: ConnectedPosition[] = [
+    {
+      originX: 'end',
+      originY: 'bottom',
+      overlayX: 'end',
+      overlayY: 'top',
+    },
+    {
+      originX: 'end',
+      originY: 'top',
+      overlayX: 'end',
+      overlayY: 'bottom',
+    },
+    {
+      originX: 'end',
+      originY: 'bottom',
+      overlayX: 'start',
+      overlayY: 'bottom',
+    },
+  ]
+
+  constructor(
+    public readonly elementRef: ElementRef,
+    private changeDetectorRef: ChangeDetectorRef,
+    private renderer: Renderer2,
+    private scrollOptions: ScrollStrategyOptions,
+  ) {
+  }
+
+  ngOnInit() {
+    this.scrollStrategy = this.scrollStrategy || this.scrollOptions.close();
+  }
+
+  onOutsideClick(event: MouseEvent) {
+    if (!!this.trigger) {
+      const triggerEl = this.trigger.elementRef.nativeElement;
+
+      let node = event.target;
+      while (!!node) {
+        if (node === triggerEl) {
+          return;
+        }
+        node = this.renderer.parentNode(node);
+      }
+    }
+
+    this.close();
+  }
+
+  onOverlayClosed() {
+    this.closed.next();
+  }
+
+  close() {
+    if (!this.isOpen) {
+      return;
+    }
+
+    this.isOpen = false;
+    this.changeDetectorRef.markForCheck();
+  }
+
+  toggle(t: CdkOverlayOrigin | null = this.trigger) {
+    if (this.isOpen) {
+      this.close();
+
+      return;
+    }
+
+    this.show(t);
+  }
+
+  show(t: CdkOverlayOrigin | null = this.trigger) {
+    if (t === null) {
+      return;
+    }
+
+    if (this.isOpen || this._disabled) {
+      return;
+    }
+
+    if (!!t) {
+      this.trigger = t;
+      const rect = (this.trigger.elementRef.nativeElement as HTMLElement).getBoundingClientRect()
+
+      this.minWidth = rect ? rect.width : this.trigger.elementRef.nativeElement.offsetWidth;
+
+    }
+    this.isOpen = true;
+    this.opened.next();
+    this.changeDetectorRef.markForCheck();
+  }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/dropdown/index.ts b/desktop/angular/projects/safing/ui/src/lib/dropdown/index.ts
new file mode 100644
index 00000000..ba7a9834
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/dropdown/index.ts
@@ -0,0 +1,3 @@
+export * from './dropdown';
+export * from './dropdown.module';
+
diff --git a/desktop/angular/projects/safing/ui/src/lib/overlay-stepper/index.ts b/desktop/angular/projects/safing/ui/src/lib/overlay-stepper/index.ts
new file mode 100644
index 00000000..8c797446
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/overlay-stepper/index.ts
@@ -0,0 +1,5 @@
+export * from './overlay-stepper';
+export * from './overlay-stepper.module';
+export * from './refs';
+export * from './step';
+
diff --git a/desktop/angular/projects/safing/ui/src/lib/overlay-stepper/overlay-stepper-container.html b/desktop/angular/projects/safing/ui/src/lib/overlay-stepper/overlay-stepper-container.html
new file mode 100644
index 00000000..5da1fb3e
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/overlay-stepper/overlay-stepper-container.html
@@ -0,0 +1,22 @@
+<svg xmlns="http://www.w3.org/2000/svg" *ngIf="canAbort" (click)="close()"
+  class="absolute top-0 right-0 w-5 h-5 -mt-2 -mr-2 opacity-75 cursor-pointer hover:opacity-100" fill="none"
+  viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
+  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" />
+</svg>
+
+<div class="flex-grow py-4 mb-4" [@moveInOut]="portal.hasAttached()">
+  <ng-container cdkPortalOutlet #portal="cdkPortalOutlet"></ng-container>
+</div>
+
+<ng-template [ngIf]="!!currentStep">
+  <ng-container *ngTemplateOutlet="currentStep?.buttonTemplate || defaultButtonTemplate"></ng-container>
+</ng-template>
+
+<ng-template #defaultButtonTemplate>
+  <div class="flex flex-row justify-between">
+    <button class="w-32 py-2" (click)="goBack()">Go Back</button>
+    <button class="w-32 py-2 custom bg-blue hover:bg-blue hover:bg-opacity-75 active:shadow-inner"
+      [disabled]="(currentStep?.validChange | async) === false" (click)="next()">
+      {{ currentStep?.nextButtonLabel ||  (!isLast ? 'Next' : 'Finish') }}</button>
+  </div>
+</ng-template>
diff --git a/desktop/angular/projects/safing/ui/src/lib/overlay-stepper/overlay-stepper-container.ts b/desktop/angular/projects/safing/ui/src/lib/overlay-stepper/overlay-stepper-container.ts
new file mode 100644
index 00000000..18492f21
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/overlay-stepper/overlay-stepper-container.ts
@@ -0,0 +1,261 @@
+import { animate, style, transition, trigger } from "@angular/animations";
+import { CdkPortalOutlet, ComponentPortal, ComponentType } from "@angular/cdk/portal";
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ComponentRef, Inject, InjectionToken, Injector, isDevMode, OnDestroy, OnInit, ViewChild } from "@angular/core";
+import { Subject } from "rxjs";
+import { SfngDialogRef, SFNG_DIALOG_REF } from "../dialog";
+import { StepperControl, StepRef, STEP_REF } from "./refs";
+import { Step, StepperConfig } from "./step";
+import { StepOutletComponent, STEP_ANIMATION_DIRECTION, STEP_PORTAL } from "./step-outlet";
+
+/**
+ * STEP_CONFIG is used to inject the StepperConfig into the OverlayStepperContainer.
+ */
+export const STEP_CONFIG = new InjectionToken<StepperConfig>('StepperConfig');
+
+@Component({
+  templateUrl: './overlay-stepper-container.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  styles: [
+    `
+    :host {
+      position: relative;
+      display: flex;
+      flex-direction: column;
+      width: 600px;
+    }
+    `
+  ],
+  animations: [
+    trigger(
+      'moveInOut',
+      [
+        transition(
+          ':enter',
+          [
+            style({ opacity: 0, transform: 'translateX({{ in }})' }),
+            animate('.2s cubic-bezier(0.4, 0, 0.2, 1)',
+              style({ opacity: 1, transform: 'translateX(0%)' }))
+          ],
+          { params: { in: '100%' } } // default parameters
+        ),
+        transition(
+          ':leave',
+          [
+            style({ opacity: 1 }),
+            animate('.2s cubic-bezier(0.4, 0, 0.2, 1)',
+              style({ opacity: 0, transform: 'translateX({{ out }})' }))
+          ],
+          { params: { out: '-100%' } } // default parameters
+        )
+      ]
+    )]
+})
+export class OverlayStepperContainerComponent implements OnInit, OnDestroy, StepperControl {
+  /** Used to keep cache the stepRef instances. See documentation for {@class StepRef} */
+  private stepRefCache = new Map<number, StepRef>();
+
+  /** Used to emit when the stepper finished. This is always folled by emitting on onClose$ */
+  private onFinish$ = new Subject<void>();
+
+  /** Emits when the stepper finished - also see {@link OverlayStepperContainerComponent.onClose}*/
+  get onFinish() {
+    return this.onFinish$.asObservable();
+  }
+
+  /**
+   * Emits when the stepper is closed.
+   * If the stepper if finished then onFinish will emit first
+   */
+  get onClose() {
+    return this.dialogRef.onClose;
+  }
+
+  /** The index of the currently displayed step */
+  currentStepIndex = -1;
+
+  /** The component instance of the current step */
+  currentStep: Step | null = null;
+
+  /** A reference to the portalOutlet used to render our steps */
+  @ViewChild(CdkPortalOutlet, { static: true })
+  portalOutlet!: CdkPortalOutlet;
+
+  /** Whether or not the user can go back */
+  canGoBack = false;
+
+  /** Whether or not the user can abort and close the stepper */
+  canAbort = false;
+
+  /** Whether the current step is the last step */
+  get isLast() {
+    return this.currentStepIndex + 1 >= this.config.steps.length;
+  }
+
+  constructor(
+    @Inject(STEP_CONFIG) public readonly config: StepperConfig,
+    @Inject(SFNG_DIALOG_REF) public readonly dialogRef: SfngDialogRef<void>,
+    private injector: Injector,
+    private cdr: ChangeDetectorRef
+  ) { }
+
+  /**
+   * Moves forward to the next step or closes the stepper
+   * when moving beyond the last one.
+   */
+  next(): Promise<void> {
+    if (this.isLast) {
+      this.onFinish$.next();
+      this.close();
+
+      return Promise.resolve();
+    }
+
+    return this.attachStep(this.currentStepIndex + 1, true)
+  }
+
+  /**
+   * Moves back to the previous step. This does not take canGoBack
+   * into account.
+   */
+  goBack(): Promise<void> {
+    return this.attachStep(this.currentStepIndex - 1, false)
+  }
+
+
+  /** Closes the stepper - this does not run the onFinish hooks of the steps */
+  async close(): Promise<void> {
+    this.dialogRef.close();
+  }
+
+  ngOnInit(): void {
+    this.next();
+  }
+
+  ngOnDestroy(): void {
+    this.onFinish$.complete();
+  }
+
+  /**
+   * Attaches a new step component in the current outlet. It detaches any previous
+   * step and calls onBeforeBack and onBeforeNext respectively.
+   *
+   * @param index The index of the new step to attach.
+   * @param forward Whether or not the new step is attached by going "forward" or "backward"
+   * @returns
+   */
+  private async attachStep(index: number, forward = true) {
+    if (index >= this.config.steps.length) {
+      if (isDevMode()) {
+        throw new Error(`Cannot attach step at ${index}: index out of range`)
+      }
+      return;
+    }
+
+    // call onBeforeNext or onBeforeBack of the current step
+    if (this.currentStep) {
+      if (forward) {
+        if (!!this.currentStep.onBeforeNext) {
+          try {
+            await this.currentStep.onBeforeNext();
+          } catch (err) {
+            console.error(`Failed to move to next step`, err)
+            // TODO(ppacher): display error
+
+            return;
+          }
+        }
+      } else {
+        if (!!this.currentStep.onBeforeBack) {
+          try {
+            await this.currentStep.onBeforeBack()
+          } catch (err) {
+            console.error(`Step onBeforeBack callback failed`, err)
+          }
+        }
+      }
+
+      // detach the current step component.
+      this.portalOutlet.detach();
+    }
+
+    const stepType = this.config.steps[index];
+    const contentPortal = this.createStepContentPortal(stepType, index)
+    const outletPortal = this.createStepOutletPortal(contentPortal, forward ? 'right' : 'left')
+
+    // attach the new step (which is wrapped in a StepOutletComponent).
+    const ref = this.portalOutlet.attachComponentPortal(outletPortal);
+
+    // We need to wait for the step to be actually attached in the outlet
+    // to get access to the actual step component instance.
+    ref.instance.portalOutlet!.attached
+      .subscribe((stepRef: ComponentRef<Step>) => {
+        this.currentStep = stepRef.instance;
+        this.currentStepIndex = index;
+
+        if (typeof this.config.canAbort === 'function') {
+          this.canAbort = this.config.canAbort(this.currentStepIndex, this.currentStep);
+        }
+
+        // make sure we trigger a change-detection cycle now
+        // markForCheck() is not enough here as we need a CD to run
+        // immediately for the Step.buttonTemplate to be accounted for correctly.
+        this.cdr.detectChanges();
+      })
+  }
+
+  /**
+   * Creates a new component portal for a step and provides access to the {@class StepRef}
+   * using dependency injection.
+   *
+   * @param stepType The component type of the step for which a new portal should be created.
+   * @param index The index of the current step. Used to create/cache the {@class StepRef}
+   */
+  private createStepContentPortal(stepType: ComponentType<Step>, index: number): ComponentPortal<Step> {
+    let stepRef = this.stepRefCache.get(index);
+    if (stepRef === undefined) {
+      stepRef = new StepRef(index, this)
+      this.stepRefCache.set(index, stepRef);
+    }
+
+    const injector = Injector.create({
+      providers: [
+        {
+          provide: STEP_REF,
+          useValue: stepRef,
+        }
+      ],
+      parent: this.config.injector || this.injector,
+    })
+
+    return new ComponentPortal(stepType, undefined, injector);
+  }
+
+  /**
+   * Creates a new component portal for a step outlet component that will attach another content
+   * portal and wrap the attachment in a "move in" animation for a given direction.
+   *
+   * @param contentPortal The portal of the actual content that should be attached in the outlet
+   * @param dir The direction for the animation of the step outlet.
+   */
+  private createStepOutletPortal(contentPortal: ComponentPortal<Step>, dir: 'left' | 'right'): ComponentPortal<StepOutletComponent> {
+    const injector = Injector.create({
+      providers: [
+        {
+          provide: STEP_PORTAL,
+          useValue: contentPortal,
+        },
+        {
+          provide: STEP_ANIMATION_DIRECTION,
+          useValue: dir,
+        },
+      ],
+      parent: this.injector,
+    })
+
+    return new ComponentPortal(
+      StepOutletComponent,
+      undefined,
+      injector,
+    )
+  }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/overlay-stepper/overlay-stepper.module.ts b/desktop/angular/projects/safing/ui/src/lib/overlay-stepper/overlay-stepper.module.ts
new file mode 100644
index 00000000..6bf5fa63
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/overlay-stepper/overlay-stepper.module.ts
@@ -0,0 +1,21 @@
+import { OverlayModule } from "@angular/cdk/overlay";
+import { PortalModule } from "@angular/cdk/portal";
+import { CommonModule } from "@angular/common";
+import { NgModule } from "@angular/core";
+import { SfngDialogModule } from "../dialog";
+import { OverlayStepperContainerComponent } from "./overlay-stepper-container";
+import { StepOutletComponent } from "./step-outlet";
+
+@NgModule({
+  imports: [
+    CommonModule,
+    PortalModule,
+    OverlayModule,
+    SfngDialogModule,
+  ],
+  declarations: [
+    OverlayStepperContainerComponent,
+    StepOutletComponent,
+  ]
+})
+export class OverlayStepperModule { }
diff --git a/desktop/angular/projects/safing/ui/src/lib/overlay-stepper/overlay-stepper.ts b/desktop/angular/projects/safing/ui/src/lib/overlay-stepper/overlay-stepper.ts
new file mode 100644
index 00000000..4795777a
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/overlay-stepper/overlay-stepper.ts
@@ -0,0 +1,57 @@
+import { ComponentRef, Injectable, Injector } from "@angular/core";
+import { SfngDialogService } from "../dialog";
+import { OverlayStepperContainerComponent, STEP_CONFIG } from "./overlay-stepper-container";
+import { OverlayStepperModule } from "./overlay-stepper.module";
+import { StepperRef } from "./refs";
+import { StepperConfig } from "./step";
+
+@Injectable({ providedIn: OverlayStepperModule })
+export class OverlayStepper {
+  constructor(
+    private injector: Injector,
+    private dialog: SfngDialogService,
+  ) { }
+
+  /**
+   * Creates a new overlay stepper given it's configuration and returns
+   * a reference to the stepper that can be used to wait for or control
+   * the stepper from outside.
+   *
+   * @param config The configuration for the overlay stepper.
+   */
+  create(config: StepperConfig): StepperRef {
+    // create a new injector for our OverlayStepperContainer
+    // that holds a reference to the StepperConfig.
+    const injector = this.createInjector(config);
+
+    const dialogRef = this.dialog.create(OverlayStepperContainerComponent, {
+      injector: injector,
+      autoclose: false,
+      backdrop: 'light',
+      dragable: false,
+    })
+
+    const containerComponentRef = dialogRef.contentRef() as ComponentRef<OverlayStepperContainerComponent>;
+
+    return new StepperRef(containerComponentRef.instance);
+  }
+
+  /**
+   * Creates a new dependency injector that provides access to the
+   * stepper configuration using the STEP_CONFIG injection token.
+   *
+   * @param config The stepper configuration to provide using DI
+   * @returns
+   */
+  private createInjector(config: StepperConfig): Injector {
+    return Injector.create({
+      providers: [
+        {
+          provide: STEP_CONFIG,
+          useValue: config,
+        },
+      ],
+      parent: this.injector,
+    })
+  }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/overlay-stepper/refs.ts b/desktop/angular/projects/safing/ui/src/lib/overlay-stepper/refs.ts
new file mode 100644
index 00000000..c5ce4433
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/overlay-stepper/refs.ts
@@ -0,0 +1,143 @@
+import { InjectionToken } from "@angular/core";
+import { Observable } from "rxjs";
+import { take } from "rxjs/operators";
+import { OverlayStepperContainerComponent } from "./overlay-stepper-container";
+
+/**
+ * STEP_REF is the injection token that is used to provide a reference to the
+ * Stepper to each step.
+ */
+export const STEP_REF = new InjectionToken<StepRef<any>>('StepRef')
+
+export interface StepperControl {
+  /**
+   * Next should move the stepper forward to the next
+   * step or close the stepper if no more steps are
+   * available.
+   * If the stepper is closed this way all onFinish hooks
+   * registered at {@link StepRef} are executed.
+   */
+  next(): Promise<void>;
+
+  /**
+   * goBack should move the stepper back to the previous
+   * step. This is a no-op if there's no previous step to
+   * display.
+   */
+  goBack(): Promise<void>;
+
+  /**
+   * close closes the stepper but does not run any onFinish hooks
+   * of {@link StepRef}.
+   */
+  close(): Promise<void>;
+}
+
+/**
+ * StepRef is a reference to the overlay stepper and can be used to control, abort
+ * or otherwise interact with the stepper.
+ *
+ * It is made available to individual steps using the STEP_REF injection token.
+ * Each step in the OverlayStepper receives it's own StepRef instance and will receive
+ * a reference to the same instance in case the user goes back and re-opens a step
+ * again.
+ *
+ * Steps should therefore store any configuration data that is needed to restore
+ * the previous view in the StepRef using it's save() and load() methods.
+ */
+export class StepRef<T = any> implements StepperControl {
+  private onFinishHooks: (() => PromiseLike<void> | void)[] = [];
+  private data: T | null = null;
+
+  constructor(
+    private currentStepIndex: number,
+    private stepContainerRef: OverlayStepperContainerComponent,
+  ) {
+    this.stepContainerRef.onFinish
+      .pipe(take(1))
+      .subscribe(() => this.runOnFinishHooks)
+  }
+
+  next(): Promise<void> {
+    return this.stepContainerRef.next();
+  }
+
+  goBack(): Promise<void> {
+    return this.stepContainerRef.goBack();
+  }
+
+  close(): Promise<void> {
+    return this.stepContainerRef.close();
+  }
+
+  /**
+   * Save saves data of the current step in the stepper session.
+   * This data is saved in case the user decides to "go back" to
+   * to a previous step so the old view can be restored.
+   *
+   * @param data The data to save in the stepper session.
+   */
+  save(data: T): void {
+    this.data = data;
+  }
+
+  /**
+   * Load returns the data previously stored using save(). The
+   * StepperRef automatically makes sure the correct data is returned
+   * for the current step.
+   */
+  load(): T | null {
+    return this.data;
+  }
+
+  /**
+   * registerOnFinish registers fn to be called when the last step
+   * completes and the stepper is going to finish.
+   */
+  registerOnFinish(fn: () => PromiseLike<void> | void) {
+    this.onFinishHooks.push(fn);
+  }
+
+  /**
+   * Executes all onFinishHooks in the order they have been defined
+   * and waits for each hook to complete.
+   */
+  private async runOnFinishHooks() {
+    for (let i = 0; i < this.onFinishHooks.length; i++) {
+      let res = this.onFinishHooks[i]();
+      if (typeof res === 'object' && 'then' in res) {
+        // res is a PromiseLike so wait for it
+        try {
+          await res;
+        } catch (err) {
+          console.error(`Failed to execute on-finish hook of step ${this.currentStepIndex}: `, err)
+        }
+      }
+    }
+  }
+}
+
+
+export class StepperRef implements StepperControl {
+  constructor(private stepContainerRef: OverlayStepperContainerComponent) { }
+
+  next(): Promise<void> {
+    return this.stepContainerRef.next();
+  }
+
+  goBack(): Promise<void> {
+    return this.stepContainerRef.goBack();
+  }
+
+  close(): Promise<void> {
+    return this.stepContainerRef.close();
+  }
+
+  get onFinish(): Observable<void> {
+    return this.stepContainerRef.onFinish;
+  }
+
+  get onClose(): Observable<void> {
+    return this.stepContainerRef.onClose;
+  }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/overlay-stepper/step-outlet.ts b/desktop/angular/projects/safing/ui/src/lib/overlay-stepper/step-outlet.ts
new file mode 100644
index 00000000..75bfab61
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/overlay-stepper/step-outlet.ts
@@ -0,0 +1,90 @@
+import { animate, style, transition, trigger } from "@angular/animations";
+import { CdkPortalOutlet, ComponentPortal } from "@angular/cdk/portal";
+import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ComponentRef, Inject, InjectionToken, ViewChild } from "@angular/core";
+import { Step } from "./step";
+
+export const STEP_PORTAL = new InjectionToken<ComponentPortal<Step>>('STEP_PORTAL')
+export const STEP_ANIMATION_DIRECTION = new InjectionToken<'left' | 'right'>('STEP_ANIMATION_DIRECTION');
+
+/**
+ * A simple wrapper component around CdkPortalOutlet to add nice
+ * move animations.
+ */
+@Component({
+  template: `
+    <div [@moveInOut]="{value: _appAnimate, params: {in: in, out: out}}" class="flex flex-col overflow-auto">
+      <ng-template [cdkPortalOutlet]="portal"></ng-template>
+    </div>
+  `,
+  styles: [
+    `
+    :host{
+      display: flex;
+      flex-direction: column;
+      overflow: hidden;
+    }
+    `
+  ],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  animations: [
+    trigger(
+      'moveInOut',
+      [
+        transition(
+          ':enter',
+          [
+            style({ opacity: 0, transform: 'translateX({{ in }})' }),
+            animate('.2s ease-in',
+              style({ opacity: 1, transform: 'translateX(0%)' }))
+          ],
+          { params: { in: '100%' } } // default parameters
+        ),
+        transition(
+          ':leave',
+          [
+            style({ opacity: 1 }),
+            animate('.2s ease-out',
+              style({ opacity: 0, transform: 'translateX({{ out }})' }))
+          ],
+          { params: { out: '-100%' } } // default parameters
+        )
+      ]
+    )]
+})
+export class StepOutletComponent implements AfterViewInit {
+  /** @private - Whether or not the animation should run. */
+  _appAnimate = false;
+
+  /** The actual step instance that has been attached. */
+  stepInstance: ComponentRef<Step> | null = null;
+
+  /** @private - used in animation interpolation for translateX  */
+  get in() {
+    return this._animateDirection == 'left' ? '-100%' : '100%'
+  }
+
+  /** @private - used in animation interpolation for traslateX  */
+  get out() {
+    return this._animateDirection == 'left' ? '100%' : '-100%'
+  }
+
+  /** The portal outlet in our view used to attach the step */
+  @ViewChild(CdkPortalOutlet, { static: true })
+  portalOutlet!: CdkPortalOutlet;
+
+  constructor(
+    @Inject(STEP_PORTAL) public portal: ComponentPortal<Step>,
+    @Inject(STEP_ANIMATION_DIRECTION) public _animateDirection: 'left' | 'right',
+    private cdr: ChangeDetectorRef
+  ) { }
+
+  ngAfterViewInit(): void {
+    this.portalOutlet?.attached
+      .subscribe(ref => {
+        this.stepInstance = ref as ComponentRef<Step>;
+
+        this._appAnimate = true;
+        this.cdr.detectChanges();
+      })
+  }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/overlay-stepper/step.ts b/desktop/angular/projects/safing/ui/src/lib/overlay-stepper/step.ts
new file mode 100644
index 00000000..1611ff15
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/overlay-stepper/step.ts
@@ -0,0 +1,64 @@
+import { Injector, TemplateRef, Type } from "@angular/core";
+import { Observable } from "rxjs";
+
+export interface Step {
+  /**
+   * validChange should emit true or false when the current step
+   * is valid and the "next" button should be visible.
+   */
+  validChange: Observable<boolean>;
+
+  /**
+   * onBeforeBack, if it exists, is called when the user
+   * clicks the "Go Back" button but before the current step
+   * is unloaded.
+   *
+   * The OverlayStepper will wait for the callback to resolve or
+   * reject but will not abort going back!
+   */
+  onBeforeBack?: () => Promise<void>;
+
+  /**
+   * onBeforeNext, if it exists, is called when the user
+   * clicks the "Next" button but before the current step
+   * is unloaded.
+   *
+   * The OverlayStepper willw ait for the callback to resolve
+   * or reject. If it rejects the current step will not be unloaded
+   * and the rejected error will be displayed to the user.
+   */
+  onBeforeNext?: () => Promise<void>;
+
+  /**
+   * nextButtonLabel can overwrite the label for the "Next" button.
+   */
+  nextButtonLabel?: string;
+
+  /**
+   * buttonTemplate may hold a tempalte ref that is rendered instead
+   * of the default button row with a "Go Back" and a "Next" button.
+   * Note that if set, the step component must make sure to handle
+   * navigation itself. See {@class StepRef} for more information on how
+   * to control the stepper.
+   */
+  buttonTemplate?: TemplateRef<any>;
+}
+
+export interface StepperConfig {
+  /**
+   * canAbort can be set to a function that is called
+   * for each step to determine if the stepper is abortable.
+   */
+  canAbort?: (idx: number, step: Step) => boolean;
+
+  /** steps holds the list of steps to execute */
+  steps: Array<Type<Step>>
+
+  /**
+   * injector, if set, defines the parent injector used to
+   * create dedicated instances of the step types.
+   */
+  injector?: Injector;
+}
+
+
diff --git a/desktop/angular/projects/safing/ui/src/lib/pagination/_pagination.scss b/desktop/angular/projects/safing/ui/src/lib/pagination/_pagination.scss
new file mode 100644
index 00000000..46b8bdaf
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/pagination/_pagination.scss
@@ -0,0 +1,22 @@
+sfng-pagination {
+  .pagination {
+    @apply my-2 w-full flex justify-between;
+
+    button {
+      @apply text-xxs px-2 flex items-center justify-start;
+
+      &.page {
+        @apply bg-cards-secondary;
+        @apply opacity-50;
+
+        &:hover {
+          @apply opacity-100;
+        }
+      }
+
+      &.active-page {
+        @apply text-blue font-medium opacity-100;
+      }
+    }
+  }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/pagination/dynamic-items-paginator.ts b/desktop/angular/projects/safing/ui/src/lib/pagination/dynamic-items-paginator.ts
new file mode 100644
index 00000000..b3f8a833
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/pagination/dynamic-items-paginator.ts
@@ -0,0 +1,64 @@
+
+import { BehaviorSubject, Observable, Subscription } from "rxjs";
+import { Pagination, clipPage } from "./pagination";
+
+export interface Datasource<T> {
+  // view should emit all items in the given page using the specified page number.
+  view(page: number, pageSize: number): Observable<T[]>;
+}
+
+export class DynamicItemsPaginator<T> implements Pagination<T> {
+  private _total = 0;
+  private _pageNumber$ = new BehaviorSubject<number>(1);
+  private _pageItems$ = new BehaviorSubject<T[]>([]);
+  private _pageLoading$ = new BehaviorSubject<boolean>(false);
+  private _pageSubscription = Subscription.EMPTY;
+
+  /** Returns the number of total pages. */
+  get total() { return this._total; }
+
+  /** Emits the current page number */
+  get pageNumber$() { return this._pageNumber$.asObservable() }
+
+  /** Emits all items of the current page */
+  get pageItems$() { return this._pageItems$.asObservable() }
+
+  /** Emits whether or not we're loading the next page */
+  get pageLoading$() { return this._pageLoading$.asObservable() }
+
+  constructor(
+    private source: Datasource<T>,
+    public readonly pageSize = 25,
+  ) { }
+
+  reset(newTotal: number) {
+    this._total = Math.ceil(newTotal / this.pageSize);
+    this.openPage(1);
+  }
+
+  /** Clear resets the current total and emits an empty item set. */
+  clear() {
+    this._total = 0;
+    this._pageItems$.next([]);
+    this._pageNumber$.next(1);
+    this._pageSubscription.unsubscribe();
+  }
+
+  openPage(pageNumber: number): void {
+    pageNumber = clipPage(pageNumber, this.total);
+    this._pageLoading$.next(true);
+
+    this._pageSubscription.unsubscribe()
+    this._pageSubscription = this.source.view(pageNumber, this.pageSize)
+      .subscribe({
+        next: results => {
+          this._pageLoading$.next(false);
+          this._pageItems$.next(results);
+          this._pageNumber$.next(pageNumber);
+        }
+      });
+  }
+
+  nextPage(): void { this.openPage(this._pageNumber$.getValue() + 1) }
+  prevPage(): void { this.openPage(this._pageNumber$.getValue() - 1) }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/pagination/index.ts b/desktop/angular/projects/safing/ui/src/lib/pagination/index.ts
new file mode 100644
index 00000000..fb2f898c
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/pagination/index.ts
@@ -0,0 +1,5 @@
+export * from './dynamic-items-paginator';
+export * from './pagination';
+export * from './pagination.module';
+export * from './snapshot-paginator';
+
diff --git a/desktop/angular/projects/safing/ui/src/lib/pagination/pagination.html b/desktop/angular/projects/safing/ui/src/lib/pagination/pagination.html
new file mode 100644
index 00000000..dec63df8
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/pagination/pagination.html
@@ -0,0 +1,33 @@
+<!-- Pagination template -->
+<ng-template #paginationTpl>
+  <div class="pagination" *ngIf="source!.total > 1">
+    <button class="btn-outline" [disabled]="currentPageIdx === 1" (click)="source!.prevPage()">
+      <svg xmlns="http://www.w3.org/2000/svg" class="inline-block w-5 h-5" viewBox="0 0 20 20" fill="currentColor">
+        <path fill-rule="evenodd"
+          d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z"
+          clip-rule="evenodd" />
+      </svg>
+      Previous
+    </button>
+    <span class="flex flex-row items-center gap-1">
+      <button class="page" *ngFor="let page of pageNumbers" [class.active-page]="page === currentPageIdx"
+        (click)="source!.openPage(page)">{{ page }}</button>
+    </span>
+    <button class="btn-outline" [disabled]="currentPageIdx+1 > source!.total" (click)="source!.nextPage()">
+      Next
+      <svg xmlns="http://www.w3.org/2000/svg" class="w-5 h-5" viewBox="0 0 20 20" fill="currentColor">
+        <path fill-rule="evenodd"
+          d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
+          clip-rule="evenodd" />
+      </svg>
+    </button>
+  </div>
+</ng-template>
+<!-- End Pagination Template -->
+
+<ng-container *ngIf="!!content && !!source">
+  <ng-container *ngTemplateOutlet="paginationTpl"></ng-container>
+  <ng-container *ngTemplateOutlet="content!.templateRef">
+  </ng-container>
+  <ng-container *ngTemplateOutlet="paginationTpl"></ng-container>
+</ng-container>
diff --git a/desktop/angular/projects/safing/ui/src/lib/pagination/pagination.module.ts b/desktop/angular/projects/safing/ui/src/lib/pagination/pagination.module.ts
new file mode 100644
index 00000000..508454ca
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/pagination/pagination.module.ts
@@ -0,0 +1,19 @@
+import { CommonModule } from "@angular/common";
+import { NgModule } from "@angular/core";
+import { SfngPaginationContentDirective } from ".";
+import { SfngPaginationWrapperComponent } from "./pagination";
+
+@NgModule({
+  imports: [
+    CommonModule,
+  ],
+  declarations: [
+    SfngPaginationContentDirective,
+    SfngPaginationWrapperComponent,
+  ],
+  exports: [
+    SfngPaginationContentDirective,
+    SfngPaginationWrapperComponent,
+  ],
+})
+export class SfngPaginationModule { }
diff --git a/desktop/angular/projects/safing/ui/src/lib/pagination/pagination.ts b/desktop/angular/projects/safing/ui/src/lib/pagination/pagination.ts
new file mode 100644
index 00000000..f3241cc9
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/pagination/pagination.ts
@@ -0,0 +1,132 @@
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, Directive, EventEmitter, Input, OnChanges, OnDestroy, Output, SimpleChanges, TemplateRef } from "@angular/core";
+import { Observable, Subscription } from "rxjs";
+
+export interface Pagination<T> {
+  /**
+   * Total should return the total number of pages
+   */
+  total: number;
+
+  /**
+   * pageNumber$ should emit the currently displayed page
+   */
+  pageNumber$: Observable<number>;
+
+  /**
+   * pageItems$ should emit all items of the current page
+   */
+  pageItems$: Observable<T[]>;
+
+  /**
+   * nextPage should progress to the next page. If there are no more
+   * pages than nextPage() should be a no-op.
+   */
+  nextPage(): void;
+
+  /**
+   * prevPage should move back the the previous page. If there is no
+   * previous page, prevPage should be a no-op.
+   */
+  prevPage(): void;
+
+  /**
+   * openPage opens the page @pageNumber. If pageNumber is greater than
+   * the total amount of pages it is clipped to the lastPage. If it is
+   * less than 1, it is clipped to 1.
+   */
+  openPage(pageNumber: number): void
+}
+
+
+
+@Directive({
+  selector: '[sfngPageContent]'
+})
+export class SfngPaginationContentDirective<T = any> {
+  constructor(public readonly templateRef: TemplateRef<T>) { }
+}
+
+export interface PageChangeEvent {
+  totalPages: number;
+  currentPage: number;
+}
+
+@Component({
+  selector: 'sfng-pagination',
+  templateUrl: './pagination.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class SfngPaginationWrapperComponent<T = any> implements OnChanges, OnDestroy {
+  private _sub: Subscription = Subscription.EMPTY;
+
+  @Input()
+  source: Pagination<T> | null = null;
+
+  @Output()
+  pageChange = new EventEmitter<PageChangeEvent>();
+
+  @ContentChild(SfngPaginationContentDirective)
+  content: SfngPaginationContentDirective | null = null;
+
+  currentPageIdx: number = 0;
+  pageNumbers: number[] = [];
+
+  ngOnChanges(changes: SimpleChanges) {
+    if ('source' in changes) {
+      this.subscribeToSource(changes.source.currentValue);
+    }
+  }
+
+  ngOnDestroy() {
+    this._sub.unsubscribe();
+  }
+
+  private subscribeToSource(source: Pagination<T>) {
+    // Unsubscribe from the previous pagination, if any
+    this._sub.unsubscribe();
+
+    this._sub = new Subscription();
+
+    this._sub.add(
+      source.pageNumber$
+        .subscribe(current => {
+          this.currentPageIdx = current;
+          this.pageNumbers = generatePageNumbers(current - 1, source.total);
+          this.cdr.markForCheck();
+
+          this.pageChange.next({
+            totalPages: source.total,
+            currentPage: current,
+          })
+        })
+    )
+  }
+
+  constructor(private cdr: ChangeDetectorRef) { }
+}
+
+/**
+ * Generates an array of page numbers that should be displayed in paginations.
+ *
+ * @param current The current page number
+ * @param countPages The total number of pages
+ * @returns An array of page numbers to display
+ */
+export function generatePageNumbers(current: number, countPages: number): number[] {
+  let delta = 2;
+  let leftRange = current - delta;
+  let rightRange = current + delta + 1;
+
+  return Array.from({ length: countPages }, (v, k) => k + 1)
+    .filter(i => i === 1 || i === countPages || (i >= leftRange && i < rightRange));
+}
+
+export function clipPage(pageNumber: number, total: number): number {
+  if (pageNumber < 1) {
+    return 1;
+  }
+  if (pageNumber > total) {
+    return total;
+  }
+  return pageNumber;
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/pagination/snapshot-paginator.ts b/desktop/angular/projects/safing/ui/src/lib/pagination/snapshot-paginator.ts
new file mode 100644
index 00000000..7f014254
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/pagination/snapshot-paginator.ts
@@ -0,0 +1,64 @@
+import { BehaviorSubject, Observable } from "rxjs";
+import { debounceTime, map } from "rxjs/operators";
+import { clipPage, Pagination } from "./pagination";
+
+export class SnapshotPaginator<T> implements Pagination<T> {
+  private _itemSnapshot: T[] = [];
+  private _activePageItems = new BehaviorSubject<T[]>([]);
+  private _totalPages = 1;
+  private _updatePending = false;
+
+  constructor(
+    public items$: Observable<T[]>,
+    public readonly pageSize: number,
+  ) {
+    items$
+      .pipe(debounceTime(100))
+      .subscribe(data => {
+        this._itemSnapshot = data;
+        this.openPage(this._currentPage.getValue());
+      });
+
+    this._currentPage
+      .subscribe(page => {
+        this._updatePending = false;
+        const start = this.pageSize * (page - 1);
+        const end = this.pageSize * page;
+        this._totalPages = Math.ceil(this._itemSnapshot.length / this.pageSize) || 1;
+        this._activePageItems.next(this._itemSnapshot.slice(start, end));
+      })
+  }
+
+  private _currentPage = new BehaviorSubject<number>(0);
+
+  get updatePending() {
+    return this._updatePending;
+  }
+  get pageNumber$(): Observable<number> {
+    return this._activePageItems.pipe(map(() => this._currentPage.getValue()));
+  }
+  get pageNumber(): number {
+    return this._currentPage.getValue();
+  }
+  get total(): number {
+    return this._totalPages
+  }
+  get pageItems$(): Observable<T[]> {
+    return this._activePageItems.asObservable();
+  }
+  get pageItems(): T[] {
+    return this._activePageItems.getValue();
+  }
+  get snapshot(): T[] { return this._itemSnapshot };
+
+  reload(): void { this.openPage(this._currentPage.getValue()) }
+
+  nextPage(): void { this.openPage(this._currentPage.getValue() + 1) }
+
+  prevPage(): void { this.openPage(this._currentPage.getValue() - 1) }
+
+  openPage(pageNumber: number): void {
+    pageNumber = clipPage(pageNumber, this.total);
+    this._currentPage.next(pageNumber);
+  }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/select/_select.scss b/desktop/angular/projects/safing/ui/src/lib/select/_select.scss
new file mode 100644
index 00000000..0d8cb345
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/select/_select.scss
@@ -0,0 +1,73 @@
+.sfng-select {
+  @apply cursor-pointer relative p-0 flex whitespace-nowrap w-full items-center outline-none self-center overflow-hidden;
+  @apply hover:bg-gray-400;
+  @apply bg-gray-300 border border-gray-300 transition ease-in-out duration-200;
+
+  &.disabled {
+    @apply cursor-not-allowed opacity-75 hover:bg-gray-400;
+  }
+
+  min-width: 6rem;
+  max-width: 12rem;
+
+  &.active {
+    @apply bg-gray-400;
+
+    div.arrow svg {
+      @apply transform -rotate-90;
+    }
+  }
+
+  & > span {
+    @apply flex-grow text-ellipsis inline-block overflow-hidden;
+    @apply px-2;
+  }
+
+  div.arrow {
+    @apply flex flex-row items-center justify-center bg-gray-200 rounded-r-sm;
+    @apply w-5 h-7;
+
+    svg {
+      @apply w-4 m-0 p-0 rotate-90 transform transition ease-in-out duration-100;
+
+      g {
+        @apply text-white;
+        stroke: currentColor;
+      }
+    }
+  }
+}
+
+.sfng-select-dropdown {
+  ul {
+    max-height: 12rem;
+    @apply relative py-1 overflow-auto;
+
+    li {
+      @apply py-2;
+      @apply flex flex-row items-center justify-start gap-1 transition duration-200 ease-in-out cursor-pointer hover:bg-gray-300;
+    }
+
+    li:not(.disabled) {
+      @apply hover:bg-gray-300;
+    }
+
+    li.disabled {
+      @apply cursor-not-allowed;
+    }
+  }
+}
+
+.sfng-select-dropdown.sfng-select-inline {
+  ul {
+    max-height: unset;
+  }
+}
+
+sfng-select-item {
+  @apply text-xxs w-full font-medium gap-3 text-primary flex flex-row items-center justify-start;
+
+  &.disabled {
+    @apply opacity-75 cursor-not-allowed;
+  }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/select/index.ts b/desktop/angular/projects/safing/ui/src/lib/select/index.ts
new file mode 100644
index 00000000..1342a276
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/select/index.ts
@@ -0,0 +1,4 @@
+export * from './item';
+export * from './select';
+export * from './select.module';
+
diff --git a/desktop/angular/projects/safing/ui/src/lib/select/item.ts b/desktop/angular/projects/safing/ui/src/lib/select/item.ts
new file mode 100644
index 00000000..b2eb5696
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/select/item.ts
@@ -0,0 +1,64 @@
+import { ListKeyManagerOption } from '@angular/cdk/a11y';
+import { coerceBooleanProperty } from '@angular/cdk/coercion';
+import { Component, Directive, HostBinding, Input, Optional, TemplateRef } from '@angular/core';
+
+export interface SelectOption<T = any> extends ListKeyManagerOption {
+  value: any;
+  selected: boolean;
+
+  data?: T;
+  label?: string;
+  description?: string;
+  templateRef?: TemplateRef<any>;
+  disabled?: boolean;
+}
+
+@Component({
+  selector: 'sfng-select-item',
+  template: `<ng-content></ng-content>`,
+})
+export class SfngSelectItemComponent implements ListKeyManagerOption {
+  @HostBinding('class.disabled')
+  get disabled() {
+    return this.sfngSelectValue?.disabled || false;
+  }
+
+  getLabel() {
+    return this.sfngSelectValue?.label || '';
+  }
+
+  constructor(@Optional() private sfngSelectValue: SfngSelectValueDirective) { }
+}
+
+@Directive({
+  selector: '[sfngSelectValue]',
+})
+export class SfngSelectValueDirective<T = any> implements SelectOption<T> {
+  @Input('sfngSelectValue')
+  value: any;
+
+  @Input('sfngSelectValueLabel')
+  label?: string;
+
+  @Input('sfngSelectValueData')
+  data?: T;
+
+  @Input('sfngSelectValueDescription')
+  description = '';
+
+  @Input('sfngSelectValueDisabled')
+  set disabled(v: any) {
+    this._disabled = coerceBooleanProperty(v)
+  }
+  get disabled() { return this._disabled }
+  private _disabled = false;
+
+  getLabel() {
+    return this.label || ('' + this.value);
+  }
+
+  /** Whether or not the item is currently selected */
+  selected = false;
+
+  constructor(public templateRef: TemplateRef<any>) { }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/select/select.html b/desktop/angular/projects/safing/ui/src/lib/select/select.html
new file mode 100644
index 00000000..bccf19af
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/select/select.html
@@ -0,0 +1,88 @@
+<ng-template #customTriggerTemplate>
+  <button [class.active]="dropdown?.isOpen" type="button" class="sfng-select" [class.disabled]="disabled">
+
+    <ng-template [ngIf]="mode !== 'multi' || (currentItems.length || 0) <= 1" [ngIfElse]="multiTemplate">
+      <span *ngIf="!currentItems.length; else: itemTemplate">
+        {{ placeholder }}
+      </span>
+      <ng-template #itemTemplate>
+        <span class="flex flex-row items-center justify-start">
+          <ng-template [ngIf]="!!currentItems[0].label" [ngIfElse]="renderTemplate">
+            {{ currentItems[0].label }}
+          </ng-template>
+          <ng-template #renderTemplate>
+            <ng-container
+              *ngTemplateOutlet="currentItems[0].templateRef || dynamicValueTemplate || defaultDynamicValueTemplate; context: {$implicit: currentItems[0]}">
+            </ng-container>
+          </ng-template>
+        </span>
+      </ng-template>
+    </ng-template>
+
+    <ng-template #multiTemplate>
+      <span>
+        {{ itemName ? itemName + ': ' : '' }}{{currentItems.length}} selected
+      </span>
+    </ng-template>
+
+    <div class="arrow">
+      <svg viewBox="0 0 24 24" class="arrow-icon">
+        <g fill="none" class="inner">
+          <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2.2" d="M10 16l4-4-4-4" />
+        </g>
+      </svg>
+    </div>
+  </button>
+</ng-template>
+
+<ng-template #content>
+  <input *ngIf="allowSearch && (userProvidedItems?.length || 0) >= searchItemThreshold" type="text"
+    class="w-full mb-2 rounded-t" [placeholder]="searchPlaceholder" [ngModel]="searchText"
+    (ngModelChange)="onSearch($event)" (keydown)="onKeyDown($event)" (keydown.enter)="onEnter($event)">
+
+  <ul #scrollable>
+    <li *ngFor="let item of items" (click)="selectItem(item)" [sfng-tooltip]="item.description || null"
+      snfgTooltipPosition="left" [class.disabled]="item.disabled" #renderedItem [sfngSelectRenderedListItem]="item"
+      class="pl-1 pr-5">
+
+      <svg xmlns="http://www.w3.org/2000/svg" class="flex-grow-0 flex-shrink-0 w-4 h-4 transition-all duration-200"
+        viewBox="0 0 20 20" fill="currentColor" [class.opacity-0]="!item.selected">
+        <path fill-rule="evenodd"
+          d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z"
+          clip-rule="evenodd" />
+      </svg>
+
+      <ng-container
+        *ngTemplateOutlet="item.templateRef || dynamicValueTemplate || defaultDynamicValueTemplate; context: {$implicit: item}">
+      </ng-container>
+    </li>
+
+    <!-- fake item for "dynamic" values -->
+    <li *ngIf="!!searchText && items.length === 0 && dynamicValues"
+      (click)="selectItem({selected: false, value: searchText})" class="pl-1 pr-5">
+      <sfng-select-item>
+        <span>
+          <span class="mx-2 text-tertiary">Add </span> {{ searchText }}
+        </span>
+      </sfng-select-item>
+    </li>
+  </ul>
+</ng-template>
+
+<!-- This template displays the overlay content and is connected to the button -->
+<ng-container [ngSwitch]="displayMode">
+  <sfng-dropdown *ngSwitchCase="'dropdown'" #dropdown="sfngDropdown" [triggerTemplate]="customTriggerTemplate"
+    overlayClass="sfng-select-dropdown" [disabled]="allItems.length === 0 && searchText === '' && disableWhenEmpty"
+    [minWidth]="minWidth" [minHeight]="minHeight" (opened)="onDropdownOpen()" (closed)="onDropdownClose()">
+    <ng-container *ngTemplateOutlet="content"></ng-container>
+  </sfng-dropdown>
+
+  <div *ngSwitchCase="'inline'" class="sfng-select-dropdown sfng-select-inline">
+    <ng-container *ngTemplateOutlet="content"></ng-container>
+  </div>
+</ng-container>
+
+
+<ng-template #defaultDynamicValueTemplate let-data>
+  <sfng-select-item>{{ data.label || data.value }}</sfng-select-item>
+</ng-template>
diff --git a/desktop/angular/projects/safing/ui/src/lib/select/select.module.ts b/desktop/angular/projects/safing/ui/src/lib/select/select.module.ts
new file mode 100644
index 00000000..d33fce4d
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/select/select.module.ts
@@ -0,0 +1,31 @@
+import { CdkScrollableModule } from "@angular/cdk/scrolling";
+import { CommonModule } from "@angular/common";
+import { NgModule } from "@angular/core";
+import { FormsModule, ReactiveFormsModule } from "@angular/forms";
+import { SfngDropDownModule } from "../dropdown";
+import { SfngTooltipModule } from "../tooltip";
+import { SfngSelectItemComponent, SfngSelectValueDirective } from "./item";
+import { SfngSelectComponent, SfngSelectRenderedItemDirective } from "./select";
+
+@NgModule({
+  imports: [
+    CommonModule,
+    FormsModule,
+    ReactiveFormsModule,
+    SfngDropDownModule,
+    SfngTooltipModule,
+    CdkScrollableModule
+  ],
+  declarations: [
+    SfngSelectComponent,
+    SfngSelectValueDirective,
+    SfngSelectItemComponent,
+    SfngSelectRenderedItemDirective
+  ],
+  exports: [
+    SfngSelectComponent,
+    SfngSelectValueDirective,
+    SfngSelectItemComponent,
+  ]
+})
+export class SfngSelectModule { }
diff --git a/desktop/angular/projects/safing/ui/src/lib/select/select.ts b/desktop/angular/projects/safing/ui/src/lib/select/select.ts
new file mode 100644
index 00000000..9375f21f
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/select/select.ts
@@ -0,0 +1,495 @@
+import { ListKeyManager, ListKeyManagerOption } from '@angular/cdk/a11y';
+import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
+import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, DestroyRef, Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnDestroy, Output, QueryList, TemplateRef, ViewChild, ViewChildren, forwardRef, inject } from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
+import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
+import { BehaviorSubject, combineLatest } from 'rxjs';
+import { startWith } from 'rxjs/operators';
+import { SfngDropdownComponent } from '../dropdown';
+import { SelectOption, SfngSelectValueDirective } from './item';
+
+
+export type SelectModes = 'single' | 'multi';
+
+type ModeInput = {
+  mode: SelectModes;
+}
+
+type SelectValue<T, S extends ModeInput> = S['mode'] extends 'single' ? T : T[];
+
+export type SortByFunc = (a: SelectOption, b: SelectOption) => number;
+
+export type SelectDisplayMode = 'dropdown' | 'inline';
+
+@Directive({
+  selector: '[sfngSelectRenderedListItem]'
+})
+export class SfngSelectRenderedItemDirective implements ListKeyManagerOption {
+  @Input('sfngSelectRenderedListItem')
+  option: SelectOption | null = null;
+
+  getLabel() {
+    return this.option?.label || '';
+  }
+
+  get disabled() {
+    return this.option?.disabled || false;
+  }
+
+  @HostBinding('class.bg-gray-300')
+  set focused(v: boolean) {
+    this._focused = v;
+  }
+  get focused() { return this._focused }
+  private _focused = false;
+
+  constructor(public readonly elementRef: ElementRef) { }
+}
+
+@Component({
+  selector: 'sfng-select',
+  templateUrl: './select.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  providers: [
+    {
+      provide: NG_VALUE_ACCESSOR,
+      useExisting: forwardRef(() => SfngSelectComponent),
+      multi: true,
+    },
+  ]
+})
+export class SfngSelectComponent<T> implements AfterViewInit, ControlValueAccessor, OnDestroy {
+  /** emits the search text entered by the user */
+  private search$ = new BehaviorSubject('');
+
+  /** emits and completes when the component is destroyed. */
+  private destroyRef = inject(DestroyRef);
+
+  /** the key manager used for keyboard support */
+  private keyManager!: ListKeyManager<SfngSelectRenderedItemDirective>;
+
+  @ViewChild(SfngDropdownComponent, { static: false })
+  dropdown: SfngDropdownComponent | null = null;
+
+  /** A reference to the cdk-scrollable directive that's placed on the item list */
+  @ViewChild('scrollable', { read: ElementRef })
+  scrollableList?: ElementRef;
+
+  @ContentChildren(SfngSelectValueDirective)
+  userProvidedItems!: QueryList<SfngSelectValueDirective>;
+
+  @ViewChildren('renderedItem', { read: SfngSelectRenderedItemDirective })
+  renderedItems!: QueryList<SfngSelectRenderedItemDirective>;
+
+  /** A list of all items available in the select box including dynamic ones. */
+  allItems: SelectOption[] = []
+
+  /** The acutally rendered list of items after applying search and item threshold */
+  items: SelectOption[] = [];
+
+  @Input()
+  @HostBinding('attr.tabindex')
+  readonly tabindex = 0;
+
+  @HostBinding('attr.role')
+  readonly role = 'listbox';
+
+  value?: SelectValue<T, this>;
+
+  /** A list of currently selected items */
+  currentItems: SelectOption[] = [];
+
+  /** The current search text. Used by ngModel */
+  searchText = '';
+
+  /** Whether or not the select operates in "single" or "multi" mode */
+  @Input()
+  mode: SelectModes = 'single';
+
+  @Input()
+  displayMode: SelectDisplayMode = 'dropdown';
+
+  /** The placehodler to show when nothing is selected */
+  @Input()
+  placeholder = 'Select'
+
+  /** The type of item to show in multi mode when more than one value is selected */
+  @Input()
+  itemName = '';
+
+  /** The maximum number of items to render. */
+  @Input()
+  set itemLimit(v: any) {
+    this._maxItemLimit = coerceNumberProperty(v)
+  }
+  get itemLimit(): number { return this._maxItemLimit }
+  private _maxItemLimit = Infinity;
+
+  /** The placeholder text for the search bar */
+  @Input()
+  searchPlaceholder = '';
+
+  /** Whether or not the search bar is visible */
+  @Input()
+  set allowSearch(v: any) {
+    this._allowSearch = coerceBooleanProperty(v);
+  }
+  get allowSearch(): boolean {
+    return this._allowSearch;
+  }
+  private _allowSearch = false;
+
+  /** The minimum number of items required for the search bar to be visible */
+  @Input()
+  set searchItemThreshold(v: any) {
+    this._searchItemThreshold = coerceNumberProperty(v);
+  }
+  get searchItemThreshold(): number {
+    return this._searchItemThreshold;
+  }
+  private _searchItemThreshold = 0;
+
+  /**
+   * Whether or not the select should be disabled when not options
+   * are available.
+   */
+  @Input()
+  set disableWhenEmpty(v: any) {
+    this._disableWhenEmpty = coerceBooleanProperty(v);
+  }
+  get disableWhenEmpty() {
+    return this._disableWhenEmpty;
+  }
+  private _disableWhenEmpty = false;
+
+  /** Whether or not the select component will add options for dynamic values as well. */
+  @Input()
+  set dynamicValues(v: any) {
+    this._dynamicValues = coerceBooleanProperty(v);
+  }
+  get dynamicValues() {
+    return this._dynamicValues
+  }
+  private _dynamicValues = false;
+
+  /** An optional template to use for dynamic values. */
+  @Input()
+  dynamicValueTemplate?: TemplateRef<any>;
+
+  /** The minimum-width of the drop-down. See {@link SfngDropdownComponent.minWidth} */
+  @Input()
+  minWidth: any;
+
+  /** The minimum-width of the drop-down. See {@link SfngDropdownComponent.minHeight} */
+  @Input()
+  minHeight: any;
+
+  /** Whether or not selected items should be sorted to the top */
+  @Input()
+  set sortValues(v: any) {
+    this._sortValues = coerceBooleanProperty(v);
+  }
+  get sortValues() {
+    if (this._sortValues === null) {
+      return this.mode === 'multi';
+    }
+    return this._sortValues;
+  }
+  private _sortValues: boolean | null = null;
+
+  /** The sort function to use. Defaults to sort by label/value */
+  @Input()
+  sortBy: SortByFunc = (a: SelectOption, b: SelectOption) => {
+    if ((a.label || a.value) < (b.label || b.value)) {
+      return 1;
+    }
+    if ((a.label || a.value) > (b.label || b.value)) {
+      return -1;
+    }
+
+    return 0;
+  }
+
+  @Input()
+  set disabled(v: any) {
+    const disabled = coerceBooleanProperty(v);
+    this.setDisabledState(disabled);
+  }
+  get disabled() {
+    return this._disabled;
+  }
+  private _disabled: boolean = false;
+
+  @HostListener('keydown.enter', ['$event'])
+  @HostListener('keydown.space', ['$event'])
+  onEnter(event: Event) {
+    if (!this.dropdown?.isOpen) {
+      this.dropdown?.toggle()
+
+      event.preventDefault();
+      event.stopPropagation();
+
+      return;
+    }
+
+    if (this.keyManager.activeItem !== null && !!this.keyManager.activeItem?.option) {
+      this.selectItem(this.keyManager.activeItem.option)
+
+      event.preventDefault();
+      event.stopPropagation();
+
+      return;
+    }
+  }
+
+  @HostListener('keydown', ['$event'])
+  onKeyDown(event: KeyboardEvent) {
+    this.keyManager.onKeydown(event);
+  }
+
+  @Output()
+  closed = new EventEmitter<void>();
+
+  @Output()
+  opened = new EventEmitter<void>();
+
+  trackItem(_: number, item: SelectOption) {
+    return item.value;
+  }
+
+  setDisabledState(disabled: boolean) {
+    this._disabled = disabled;
+    this.cdr.markForCheck();
+  }
+
+  constructor(private cdr: ChangeDetectorRef) { }
+
+  ngAfterViewInit(): void {
+    this.keyManager = new ListKeyManager(this.renderedItems)
+      .withVerticalOrientation()
+      .withHomeAndEnd()
+      .withWrap()
+      .withTypeAhead();
+
+    this.keyManager.change
+      .pipe(takeUntilDestroyed(this.destroyRef))
+      .subscribe(itemIdx => {
+        this.renderedItems.forEach(item => {
+          item.focused = false;
+        })
+
+        this.keyManager.activeItem!.focused = true;
+
+        // the item might be out-of-view so make sure
+        // we scroll enough to have it inside the view
+        const scrollable = this.scrollableList?.nativeElement;
+        if (!!scrollable) {
+          const active = this.keyManager.activeItem!.elementRef.nativeElement;
+          const activeHeight = active.getBoundingClientRect().height;
+          const bottom = scrollable.scrollTop + scrollable.getBoundingClientRect().height;
+          const top = scrollable.scrollTop;
+
+          let scrollTo = -1;
+          if (active.offsetTop >= bottom) {
+            scrollTo = top + active.offsetTop - bottom + activeHeight;
+          } else if (active.offsetTop < top) {
+            scrollTo = active.offsetTop;
+          }
+
+          if (scrollTo > -1) {
+            scrollable.scrollTo({
+              behavior: 'smooth',
+              top: scrollTo,
+            })
+          }
+        }
+
+        this.cdr.markForCheck();
+      })
+
+
+    combineLatest([
+      this.userProvidedItems!.changes
+        .pipe(startWith(undefined)),
+      this.search$
+    ])
+      .pipe(takeUntilDestroyed(this.destroyRef))
+      .subscribe(
+        ([_, search]) => {
+          this.updateItems();
+
+          search = (search || '').toLocaleLowerCase()
+          let items: SelectOption[] = [];
+          if (search === '') {
+            items = this.allItems!;
+          } else {
+            items = this.allItems!.filter(item => {
+              // we always count selected items as a "match" in search mode.
+              // this is to ensure the user always see all selected items.
+              if (item.selected) {
+                return true;
+              }
+
+              if (!!item.value && typeof item.value === 'string') {
+                if (item.value.toLocaleLowerCase().includes(search)) {
+                  return true;
+                }
+              }
+
+              if (!!item.label) {
+                if (item.label.toLocaleLowerCase().includes(search)) {
+                  return true
+                }
+              }
+              return false;
+            })
+          }
+
+          this.items = items.slice(0, this._maxItemLimit);
+          this.keyManager.setActiveItem(0);
+
+          this.cdr.detectChanges();
+        }
+      );
+  }
+
+  ngOnDestroy(): void {
+    this.search$.complete();
+  }
+
+  @HostListener('blur')
+  onBlur(): void {
+    this.onTouch();
+  }
+
+  /** @private - called when the internal dropdown opens */
+  onDropdownOpen() {
+    // emit the open event on this component as well
+    this.opened.next();
+
+    // reset the search. We do that when opened instead of closed
+    // to avoid flickering when the component height increases
+    // during the "close" animation
+    this.onSearch('');
+  }
+
+  /** @private - called when the internal dropdown closes */
+  onDropdownClose() {
+    this.closed.next();
+  }
+
+  onSearch(text: string) {
+    this.searchText = text;
+    this.search$.next(text);
+  }
+
+  selectItem(item: SelectOption) {
+    if (item.disabled) {
+      return;
+    }
+
+    const isSelected = this.currentItems.findIndex(selected => item.value === selected.value);
+    if (isSelected === -1) {
+      item.selected = true;
+
+      if (this.mode === 'single') {
+        this.currentItems.forEach(i => i.selected = false);
+        this.currentItems = [item];
+        this.value = item.value;
+      } else {
+        this.currentItems.push(item);
+        // TODO(ppacher): somehow typescript does not correctly pick up
+        // the type of this.value here although it can be infered from the
+        // mode === 'single' check above.
+        this.value = [
+          ...(this.value || []) as any,
+          item.value,
+        ] as any
+      }
+    } else if (this.mode !== 'single') { // "unselecting" a value is not allowed in single mode
+      this.currentItems.splice(isSelected, 1)
+      item.selected = false;
+      // same note about typescript as above.
+      this.value = (this.value as T[]).filter(val => val !== item.value) as any;
+    }
+
+    // only close the drop down in single mode. In multi-mode
+    // we keep it open as the user might want to select an additional
+    // item as well.
+    if (this.mode === 'single') {
+      this.dropdown?.close();
+    }
+    this.onChange(this.value!);
+  }
+
+  private updateItems() {
+    let values: T[] = [];
+    if (this.mode === 'single') {
+      values = [this.value as T];
+    } else {
+      values = (this.value as T[]) || [];
+    }
+
+    this.currentItems = [];
+    this.allItems = [];
+
+    // mark all user-selected items as "deselected" first
+    this.userProvidedItems?.forEach(item => {
+      item.selected = false;
+      this.allItems.push(item);
+    });
+
+    for (let i = 0; i < values.length; i++) {
+      const val = values[i];
+      let option: SelectOption | undefined = this.userProvidedItems?.find(item => item.value === val);
+      if (!option) {
+        if (!this._dynamicValues) {
+          continue
+        }
+
+        option = {
+          selected: true,
+          value: val,
+          label: `${val}`,
+        }
+        this.allItems.push(option);
+      } else {
+        option.selected = true
+      }
+
+      this.currentItems.push(option);
+    }
+
+    if (this.sortValues) {
+      this.allItems.sort((a, b) => {
+        if (b.selected && !a.selected) {
+          return 1;
+        }
+
+        if (a.selected && !b.selected) {
+          return -1;
+        }
+
+        return this.sortBy(a, b)
+      })
+    }
+  }
+
+  writeValue(value: SelectValue<T, this>): void {
+    this.value = value;
+
+    this.updateItems();
+
+    this.cdr.markForCheck();
+  }
+
+  onChange = (value: SelectValue<T, this>): void => { }
+  registerOnChange(fn: (value: SelectValue<T, this>) => void): void {
+    this.onChange = fn;
+  }
+
+  onTouch = (): void => { }
+  registerOnTouched(fn: () => void): void {
+    this.onTouch = fn;
+  }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/tabs/_tab-group.scss b/desktop/angular/projects/safing/ui/src/lib/tabs/_tab-group.scss
new file mode 100644
index 00000000..4d63b670
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/tabs/_tab-group.scss
@@ -0,0 +1,3 @@
+sfng-tab-group {
+  @apply flex flex-col overflow-hidden;
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/tabs/index.ts b/desktop/angular/projects/safing/ui/src/lib/tabs/index.ts
new file mode 100644
index 00000000..4fd3296a
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/tabs/index.ts
@@ -0,0 +1,4 @@
+export { SfngTabComponent, SfngTabContentDirective } from './tab';
+export { SfngTabContentScrollEvent, SfngTabGroupComponent } from './tab-group';
+export { SfngTabModule as TabModule } from './tabs.module';
+
diff --git a/desktop/angular/projects/safing/ui/src/lib/tabs/tab-group.html b/desktop/angular/projects/safing/ui/src/lib/tabs/tab-group.html
new file mode 100644
index 00000000..f78ff738
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/tabs/tab-group.html
@@ -0,0 +1,24 @@
+<div *ngIf="!customHeader" class="relative flex flex-row mb-2 border-b outline-none border-secondary" tabindex="0"
+  (keydown)="onKeydown($event)">
+
+  <!-- Tab Group Header -->
+  <div *ngFor="let tab of (tabs$ | async); let index=index"
+    class="flex flex-row items-center justify-center px-4 py-2 space-x-1 cursor-pointer hover:text-primary" #tabHeader
+    [ngClass]="{'text-primary': index === activeTabIndex, 'text-secondary': index !== activeTabIndex}"
+    (click)="activateTab(index)">
+
+    <span>{{ tab.title }}</span>
+    <svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4 text-yellow-300" fill="none" viewBox="0 0 24 24"
+      *ngIf="tab.warning" stroke="currentColor">
+      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
+        d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
+    </svg>
+    <sfng-tipup [key]="tab.tipUpKey" *ngIf="tab.tipUpKey"></sfng-tipup>
+
+  </div>
+
+  <!-- There are no "transition" classes yet because we add it AFTER the first animation -->
+  <div class="absolute top-0 left-0 border-t border-white opacity-0" #activeTabBar></div>
+</div>
+
+<ng-container cdkPortalOutlet></ng-container>
diff --git a/desktop/angular/projects/safing/ui/src/lib/tabs/tab-group.ts b/desktop/angular/projects/safing/ui/src/lib/tabs/tab-group.ts
new file mode 100644
index 00000000..e4a65f6e
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/tabs/tab-group.ts
@@ -0,0 +1,352 @@
+import { ListKeyManager } from "@angular/cdk/a11y";
+import { coerceBooleanProperty } from '@angular/cdk/coercion';
+import { CdkPortalOutlet, ComponentPortal } from "@angular/cdk/portal";
+import { AfterContentInit, AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ComponentRef, ContentChildren, DestroyRef, ElementRef, EventEmitter, Injector, Input, OnInit, Output, QueryList, ViewChild, ViewChildren, inject } from "@angular/core";
+import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
+import { ActivatedRoute, Router } from "@angular/router";
+import { Observable, Subject } from "rxjs";
+import { distinctUntilChanged, map, startWith } from "rxjs/operators";
+import { SfngTabComponent, TAB_ANIMATION_DIRECTION, TAB_PORTAL, TAB_SCROLL_HANDLER, TabOutletComponent } from "./tab";
+
+export interface SfngTabContentScrollEvent {
+  event?: Event;
+  scrollTop: number;
+  previousScrollTop: number;
+}
+
+/**
+ * Tab group component for rendering a tab-style navigation with support for
+ * keyboard navigation and type-ahead. Tab content are lazy loaded using a
+ * structural directive.
+ * The tab group component also supports adding the current active tab index
+ * to the active route so it is possible to navigate through tabs using back/forward
+ * keys (browser history) as well.
+ *
+ * Example:
+ *  <sfng-tab-group>
+ *
+ *    <sfng-tab id="tab1" title="Overview">
+ *      <div *sfngTabContent>
+ *        Some content
+ *      </div>
+ *    </sfng-tab>
+ *
+ *    <sfng-tab id="tab2" title="Settings">
+ *      <div *sfngTabContent>
+ *        Some different content
+ *      </div>
+ *    </sfng-tab>
+ *
+ *  </sfng-tab-group>
+ */
+@Component({
+  selector: 'sfng-tab-group',
+  templateUrl: './tab-group.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class SfngTabGroupComponent implements AfterContentInit, AfterViewInit, OnInit {
+  @ContentChildren(SfngTabComponent)
+  tabs: QueryList<SfngTabComponent> | null = null;
+
+  /** References to all tab header elements */
+  @ViewChildren('tabHeader', { read: ElementRef })
+  tabHeaders: QueryList<ElementRef<HTMLDivElement>> | null = null;
+
+  /** Reference to the active tab bar element */
+  @ViewChild('activeTabBar', { read: ElementRef, static: false })
+  activeTabBar: ElementRef<HTMLDivElement> | null = null;
+
+  /** Reference to the portal outlet that we will use to render a TabOutletComponent. */
+  @ViewChild(CdkPortalOutlet, { static: true })
+  portalOutlet: CdkPortalOutlet | null = null;
+
+  @Output()
+  tabContentScroll = new EventEmitter<SfngTabContentScrollEvent>();
+
+  /** The name of the tab group. Used to update the currently active tab in the route */
+  @Input()
+  name = 'tab'
+
+  @Input()
+  outletClass = '';
+
+  private scrollTop: number = 0;
+
+  /** Whether or not the current tab should be syncronized with the angular router using a query parameter */
+  @Input()
+  set linkRouter(v: any) {
+    this._linkRouter = coerceBooleanProperty(v)
+  }
+  get linkRouter() { return this._linkRouter }
+  private _linkRouter = true;
+
+  /** Whether or not the default tab header should be rendered */
+  @Input()
+  set customHeader(v: any) {
+    this._customHeader = coerceBooleanProperty(v)
+  }
+  get customHeader() { return this._customHeader }
+  private _customHeader = false;
+
+  private tabActivate$ = new Subject<string>();
+  private destroyRef = inject(DestroyRef);
+
+  /** Emits the tab QueryList every time there are changes to the content-children */
+  get tabs$() {
+    return this.tabs?.changes
+      .pipe(
+        map(() => this.tabs),
+        startWith(this.tabs)
+      )
+  }
+
+  /** onActivate fires when a tab has been activated. */
+  get onActivate(): Observable<string> { return this.tabActivate$.asObservable() }
+
+  /** the index of the currently active tab. */
+  activeTabIndex = -1;
+
+  /** The key manager used to support keyboard navigation and type-ahead in the tab group */
+  private keymanager: ListKeyManager<SfngTabComponent> | null = null;
+
+  /** Used to force the animation direction when calling activateTab. */
+  private forceAnimationDirection: 'left' | 'right' | null = null;
+
+  /**
+   * pendingTabIdx holds the id or the index of a tab that should be activated after the component
+   * has been bootstrapped. We need to cache this value here because the ActivatedRoute might emit
+   * before we are AfterViewInit.
+   */
+  private pendingTabIdx: string | null = null;
+
+  constructor(
+    private injector: Injector,
+    private route: ActivatedRoute,
+    private router: Router,
+    private cdr: ChangeDetectorRef
+  ) { }
+
+  /**
+   * @private
+   * Used to forward keyboard events to the keymanager.
+   */
+  onKeydown(v: KeyboardEvent) {
+    this.keymanager?.onKeydown(v);
+  }
+
+  ngOnInit(): void {
+    this.route.queryParamMap
+      .pipe(
+        takeUntilDestroyed(this.destroyRef),
+        map(params => params.get(this.name)),
+        distinctUntilChanged(),
+      )
+      .subscribe(newIdx => {
+        if (!this._linkRouter) {
+          return;
+        }
+
+        if (!!this.keymanager && !!this.tabs) {
+          const actualIndex = this.getIndex(newIdx);
+          if (actualIndex !== null) {
+            this.keymanager.setActiveItem(actualIndex);
+            this.cdr.markForCheck();
+          }
+        } else {
+          this.pendingTabIdx = newIdx;
+        }
+      })
+  }
+
+  ngAfterContentInit(): void {
+    this.keymanager = new ListKeyManager(this.tabs!)
+      .withHomeAndEnd()
+      .withHorizontalOrientation("ltr")
+      .withTypeAhead()
+      .withWrap()
+
+    this.tabs!.changes
+      .subscribe(() => {
+        if (this.portalOutlet?.hasAttached()) {
+          if (this.tabs!.length === 0) {
+            this.portalOutlet.detach();
+          }
+        } else {
+          if (this.tabs!.length > 0) {
+            this.activateTab(0)
+          }
+        }
+
+      })
+
+    this.keymanager.change
+      .pipe(takeUntilDestroyed(this.destroyRef))
+      .subscribe(change => {
+        const activeTab = this.tabs!.get(change);
+        if (!!activeTab && !!activeTab.tabContent) {
+          const prevIdx = this.activeTabIndex;
+
+          let animationDirection: 'left' | 'right' = prevIdx < change ? 'left' : 'right';
+          if (this.forceAnimationDirection !== null) {
+            animationDirection = this.forceAnimationDirection;
+            this.forceAnimationDirection = null;
+          }
+
+          if (this.portalOutlet?.attachedRef) {
+            // we know for sure that attachedRef is a ComponentRef of TabOutletComponent
+            const ref = (this.portalOutlet.attachedRef as ComponentRef<TabOutletComponent>)
+            ref.instance._animateDirection = animationDirection;
+            ref.instance.outletClass = this.outletClass;
+            ref.changeDetectorRef.detectChanges();
+          }
+
+          this.portalOutlet?.detach();
+
+          const newOutletPortal = this.createTabOutlet(activeTab, animationDirection);
+          this.activeTabIndex = change;
+          this.tabContentScroll.next({
+            scrollTop: 0,
+            previousScrollTop: this.scrollTop,
+          })
+
+          this.scrollTop = 0;
+
+          this.tabActivate$.next(activeTab.id);
+          this.portalOutlet?.attach(newOutletPortal);
+
+          this.repositionTabBar();
+
+          if (this._linkRouter) {
+            this.router.navigate([], {
+              queryParams: {
+                ...this.route.snapshot.queryParams,
+                [this.name]: this.activeTabIndex,
+              }
+            })
+          }
+          this.cdr.markForCheck();
+        }
+      });
+
+    if (this.pendingTabIdx === null) {
+      // active the first tab that is NOT disabled
+      const firstActivatable = this.tabs?.toArray().findIndex(tap => !tap.disabled);
+      if (firstActivatable !== undefined) {
+        this.keymanager.setActiveItem(firstActivatable);
+      }
+    } else {
+      const idx = this.getIndex(this.pendingTabIdx);
+      if (idx !== null) {
+        this.keymanager.setActiveItem(idx);
+        this.pendingTabIdx = null;
+      }
+    }
+  }
+
+  ngAfterViewInit(): void {
+    this.repositionTabBar();
+    this.tabHeaders?.changes.subscribe(() => this.repositionTabBar())
+    setTimeout(() => this.repositionTabBar(), 250)
+  }
+
+  /**
+   * @private
+   * Activates a new tab
+   *
+   * @param idx The index of the new tab.
+   */
+  activateTab(idx: number, forceDirection?: 'left' | 'right') {
+    if (forceDirection !== undefined) {
+      this.forceAnimationDirection = forceDirection;
+    }
+
+    this.keymanager?.setActiveItem(idx);
+  }
+
+  private getIndex(newIdx: string | null): number | null {
+    let actualIndex: number = -1;
+    if (!this.tabs) {
+      return null;
+    }
+
+    if (newIdx === undefined || newIdx === null) { // not present in the URL
+      return null;
+    }
+    if (isNaN(+newIdx)) { // likley the ID of a tab
+      actualIndex = this.tabs?.toArray().findIndex(tab => tab.id === newIdx) || -1;
+    } else { // it's a number as a string
+      actualIndex = +newIdx;
+    }
+
+    if (actualIndex < 0) {
+      return null;
+    }
+    return actualIndex;
+  }
+
+  private repositionTabBar() {
+    if (!this.tabHeaders) {
+      return;
+    }
+
+    requestAnimationFrame(() => {
+      const tabHeader = this.tabHeaders!.get(this.activeTabIndex);
+      if (!tabHeader || !this.activeTabBar) {
+        return;
+      }
+      const rect = tabHeader.nativeElement.getBoundingClientRect();
+      const transform = `translate(${tabHeader.nativeElement.offsetLeft}px, ${tabHeader.nativeElement.offsetTop + rect.height}px)`
+      this.activeTabBar.nativeElement.style.width = `${rect.width}px`
+      this.activeTabBar.nativeElement.style.transform = transform;
+      this.activeTabBar.nativeElement.style.opacity = '1';
+
+      // initialize animations on the active-tab-bar required
+      if (!this.activeTabBar.nativeElement.classList.contains("transition-all")) {
+        // only initialize the transitions if this is the very first "reposition"
+        // this is to prevent the bar from animating to the "bottom" line of the tab
+        // header the first time.
+        requestAnimationFrame(() => {
+          this.activeTabBar?.nativeElement.classList.add("transition-all", "duration-200");
+        })
+      }
+    })
+  }
+
+  private createTabOutlet(tab: SfngTabComponent, animationDir: 'left' | 'right'): ComponentPortal<TabOutletComponent> {
+    const injector = Injector.create({
+      providers: [
+        {
+          provide: TAB_PORTAL,
+          useValue: tab.tabContent!.portal,
+        },
+        {
+          provide: TAB_ANIMATION_DIRECTION,
+          useValue: animationDir,
+        },
+        {
+          provide: TAB_SCROLL_HANDLER,
+          useValue: (e: Event) => {
+            const newScrollTop = (e.target as HTMLElement).scrollTop;
+
+            tab.tabContentScroll.next(e);
+            this.tabContentScroll.next({
+              event: e,
+              scrollTop: newScrollTop,
+              previousScrollTop: this.scrollTop,
+            });
+
+            this.scrollTop = newScrollTop;
+          }
+        },
+      ],
+      parent: this.injector,
+      name: 'TabOutletInjectot',
+    })
+
+    return new ComponentPortal(
+      TabOutletComponent,
+      undefined,
+      injector
+    )
+  }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/tabs/tab.ts b/desktop/angular/projects/safing/ui/src/lib/tabs/tab.ts
new file mode 100644
index 00000000..31f71226
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/tabs/tab.ts
@@ -0,0 +1,167 @@
+import { animate, style, transition, trigger } from "@angular/animations";
+import { ListKeyManagerOption } from "@angular/cdk/a11y";
+import { coerceBooleanProperty } from "@angular/cdk/coercion";
+import { CdkPortalOutlet, TemplatePortal } from "@angular/cdk/portal";
+import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, Directive, EventEmitter, Inject, InjectionToken, Input, Output, TemplateRef, ViewChild, ViewContainerRef } from "@angular/core";
+
+/** TAB_PORTAL is the injection token used to inject the TabContentDirective portal into TabOutletComponent */
+export const TAB_PORTAL = new InjectionToken<TemplatePortal>('TAB_PORTAL');
+
+/** TAB_ANIMATION_DIRECTION is the injection token used to control the :enter animation origin of TabOutletComponent */
+export const TAB_ANIMATION_DIRECTION = new InjectionToken<'left' | 'right'>('TAB_ANIMATION_DIRECTION');
+
+/** TAB_SCROLL_HANDLER is called by the SfngTabOutletComponent when a scroll event occurs. */
+export const TAB_SCROLL_HANDLER = new InjectionToken<(_: Event) => void>('TAB_SCROLL_HANDLER')
+
+/**
+ * Structural directive (*sfngTabContent) to defined lazy-loaded tab content.
+ */
+@Directive({
+  selector: '[sfngTabContent]',
+})
+export class SfngTabContentDirective<T> {
+  portal: TemplatePortal;
+
+  constructor(
+    public readonly templateRef: TemplateRef<T>,
+    public readonly viewRef: ViewContainerRef,
+  ) {
+    this.portal = new TemplatePortal(this.templateRef, this.viewRef);
+  }
+}
+
+
+/**
+ * The tab component that is used to define a new tab as a part of a tab group.
+ * The content of the tab is lazy-loaded by using the TabContentDirective.
+ */
+@Component({
+  selector: 'sfng-tab',
+  template: '<ng-content></ng-content>',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class SfngTabComponent implements ListKeyManagerOption {
+  @ContentChild(SfngTabContentDirective, { static: false })
+  tabContent: SfngTabContentDirective<any> | null = null;
+
+  /** The ID of the tab used to programatically activate the tab. */
+  @Input()
+  id = '';
+
+  /** The title for the tab as displayed in the tab group header. */
+  @Input()
+  title = '';
+
+  /** The key for the tip up in the tab group header. */
+  @Input()
+  tipUpKey = '';
+
+  @Input()
+  set warning(v) {
+    this._warning = coerceBooleanProperty(v)
+  }
+  get warning() { return this._warning }
+  private _warning = false;
+
+  /** Emits when the tab content is scrolled */
+  @Output()
+  tabContentScroll = new EventEmitter<Event>();
+
+  /** Whether or not the tab is currently disabled. */
+  @Input()
+  set disabled(v: any) {
+    this._disabled = coerceBooleanProperty(v);
+  }
+  get disabled() {
+    return this._disabled;
+  }
+  private _disabled: boolean = false;
+
+  /** getLabel is used by the list key manager to support type-ahead */
+  getLabel() { return this.title }
+}
+
+
+/**
+ * A simple wrapper component around CdkPortalOutlet to add nice
+ * move animations.
+ */
+@Component({
+  selector: 'sfng-tab-outlet',
+  template: `
+    <div [@moveInOut]="{value: _appAnimate, params: {in: in, out: out}}" class="flex flex-col overflow-auto {{ outletClass }}" (scroll)="onTabContentScroll($event)">
+      <ng-template [cdkPortalOutlet]="portal"></ng-template>
+    </div>
+  `,
+  styles: [
+    `
+    :host{
+      display: flex;
+      flex-direction: column;
+      overflow: hidden;
+    }
+    `
+  ],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  animations: [
+    trigger(
+      'moveInOut',
+      [
+        transition(
+          ':enter',
+          [
+            style({ opacity: 0, transform: 'translateX({{ in }})' }),
+            animate('.2s ease-in',
+              style({ opacity: 1, transform: 'translateX(0%)' }))
+          ],
+          { params: { in: '100%' } } // default parameters
+        ),
+        transition(
+          ':leave',
+          [
+            style({ opacity: 1 }),
+            animate('.2s ease-out',
+              style({ opacity: 0, transform: 'translateX({{ out }})' }))
+          ],
+          { params: { out: '-100%' } } // default parameters
+        )
+      ]
+    )]
+})
+export class TabOutletComponent implements AfterViewInit {
+  _appAnimate = false;
+
+  @Input()
+  outletClass = ''
+
+  get in() {
+    return this._animateDirection == 'left' ? '100%' : '-100%'
+  }
+  get out() {
+    return this._animateDirection == 'left' ? '-100%' : '100%'
+  }
+
+  onTabContentScroll(event: Event) {
+    if (!!this.scrollHandler) {
+      this.scrollHandler(event)
+    }
+  }
+
+  @ViewChild(CdkPortalOutlet, { static: true })
+  portalOutlet!: CdkPortalOutlet;
+
+  constructor(
+    @Inject(TAB_PORTAL) public portal: TemplatePortal<any>,
+    @Inject(TAB_ANIMATION_DIRECTION) public _animateDirection: 'left' | 'right',
+    @Inject(TAB_SCROLL_HANDLER) public scrollHandler: (_: Event) => void,
+    private cdr: ChangeDetectorRef
+  ) { }
+
+  ngAfterViewInit(): void {
+    this.portalOutlet?.attached
+      .subscribe(() => {
+        this._appAnimate = true;
+        this.cdr.detectChanges();
+      })
+  }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/tabs/tabs.module.ts b/desktop/angular/projects/safing/ui/src/lib/tabs/tabs.module.ts
new file mode 100644
index 00000000..e1540cb4
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/tabs/tabs.module.ts
@@ -0,0 +1,28 @@
+import { PortalModule } from "@angular/cdk/portal";
+import { CommonModule } from "@angular/common";
+import { NgModule } from "@angular/core";
+import { BrowserAnimationsModule } from "@angular/platform-browser/animations";
+import { SfngTipUpModule } from "../tipup";
+import { SfngTabComponent, SfngTabContentDirective, TabOutletComponent } from "./tab";
+import { SfngTabGroupComponent } from "./tab-group";
+
+@NgModule({
+  imports: [
+    CommonModule,
+    PortalModule,
+    SfngTipUpModule,
+    BrowserAnimationsModule
+  ],
+  declarations: [
+    SfngTabContentDirective,
+    SfngTabComponent,
+    SfngTabGroupComponent,
+    TabOutletComponent,
+  ],
+  exports: [
+    SfngTabContentDirective,
+    SfngTabComponent,
+    SfngTabGroupComponent
+  ]
+})
+export class SfngTabModule { }
diff --git a/desktop/angular/projects/safing/ui/src/lib/tipup/_tipup.scss b/desktop/angular/projects/safing/ui/src/lib/tipup/_tipup.scss
new file mode 100644
index 00000000..b6b93040
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/tipup/_tipup.scss
@@ -0,0 +1,52 @@
+sfng-tipup-container {
+  display: block;
+
+  caption {
+    @apply text-sm;
+    opacity: .6;
+    font-size: .6rem;
+  }
+
+  h1 {
+    font-size: 0.85rem;
+    font-weight: 500;
+    margin-bottom: 1rem;
+  }
+
+  .message,
+  h1 {
+    flex-shrink: 0;
+    text-overflow: ellipsis;
+    word-break: normal;
+  }
+
+  .message {
+    font-size: 0.75rem;
+    flex-grow: 1;
+    opacity: .8;
+    max-width: 300px;
+    padding: 0;
+  }
+
+  .close-icon {
+    position: absolute;
+    top: 1rem;
+    right: 1rem;
+    opacity: .7;
+    cursor: pointer;
+
+    &:hover {
+      opacity: 1;
+    }
+  }
+
+  .buttons {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+  }
+
+  a {
+    text-decoration: underline;
+  }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/tipup/anchor.ts b/desktop/angular/projects/safing/ui/src/lib/tipup/anchor.ts
new file mode 100644
index 00000000..986d0378
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/tipup/anchor.ts
@@ -0,0 +1,43 @@
+import { Directive, ElementRef, HostBinding, Input, isDevMode } from "@angular/core";
+import { SfngTipUpPlacement } from "./utils";
+
+@Directive({
+  selector: '[sfngTipUpAnchor]',
+})
+export class SfngTipUpAnchorDirective implements SfngTipUpPlacement {
+  constructor(
+    public readonly elementRef: ElementRef,
+  ) { }
+
+  origin: 'left' | 'right' = 'right';
+  offset: number = 10;
+
+  @HostBinding('class.active-tipup-anchor')
+  isActiveAnchor = false;
+
+  @Input()
+  set sfngTipUpAnchor(posSpec: string | undefined) {
+    const parts = (posSpec || '').split(';')
+    if (parts.length > 2) {
+      if (isDevMode()) {
+        throw new Error(`Invalid value "${posSpec}" for [sfngTipUpAnchor]`);
+      }
+      return;
+    }
+
+    if (parts[0] === 'left') {
+      this.origin = 'left';
+    } else {
+      this.origin = 'right';
+    }
+
+    if (parts.length === 2) {
+      this.offset = +parts[1];
+      if (isNaN(this.offset)) {
+        this.offset = 10;
+      }
+    } else {
+      this.offset = 10;
+    }
+  }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/tipup/clone-node.ts b/desktop/angular/projects/safing/ui/src/lib/tipup/clone-node.ts
new file mode 100644
index 00000000..e0550060
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/tipup/clone-node.ts
@@ -0,0 +1,128 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+
+/** Creates a deep clone of an element. */
+export function deepCloneNode(node: HTMLElement): HTMLElement {
+  const clone = node.cloneNode(true) as HTMLElement;
+  const descendantsWithId = clone.querySelectorAll('[id]');
+  const nodeName = node.nodeName.toLowerCase();
+
+  // Remove the `id` to avoid having multiple elements with the same id on the page.
+  clone.removeAttribute('id');
+
+  for (let i = 0; i < descendantsWithId.length; i++) {
+    descendantsWithId[i].removeAttribute('id');
+  }
+
+  if (nodeName === 'canvas') {
+    transferCanvasData(node as HTMLCanvasElement, clone as HTMLCanvasElement);
+  } else if (nodeName === 'input' || nodeName === 'select' || nodeName === 'textarea') {
+    transferInputData(node as HTMLInputElement, clone as HTMLInputElement);
+  }
+
+  transferData('canvas', node, clone, transferCanvasData);
+  transferData('input, textarea, select', node, clone, transferInputData);
+  return clone;
+}
+
+/** Matches elements between an element and its clone and allows for their data to be cloned. */
+function transferData<T extends Element>(selector: string, node: HTMLElement, clone: HTMLElement,
+  callback: (source: T, clone: T) => void) {
+  const descendantElements = node.querySelectorAll<T>(selector);
+
+  if (descendantElements.length) {
+    const cloneElements = clone.querySelectorAll<T>(selector);
+
+    for (let i = 0; i < descendantElements.length; i++) {
+      callback(descendantElements[i], cloneElements[i]);
+    }
+  }
+}
+
+// Counter for unique cloned radio button names.
+let cloneUniqueId = 0;
+
+/** Transfers the data of one input element to another. */
+function transferInputData(source: Element & { value: string },
+  clone: Element & { value: string; name: string; type: string }) {
+  // Browsers throw an error when assigning the value of a file input programmatically.
+  if (clone.type !== 'file') {
+    clone.value = source.value;
+  }
+
+  // Radio button `name` attributes must be unique for radio button groups
+  // otherwise original radio buttons can lose their checked state
+  // once the clone is inserted in the DOM.
+  if (clone.type === 'radio' && clone.name) {
+    clone.name = `sfng-clone-${clone.name}-${cloneUniqueId++}`;
+  }
+}
+
+/** Transfers the data of one canvas element to another. */
+function transferCanvasData(source: HTMLCanvasElement, clone: HTMLCanvasElement) {
+  const context = clone.getContext('2d');
+
+  if (context) {
+    // In some cases `drawImage` can throw (e.g. if the canvas size is 0x0).
+    // We can't do much about it so just ignore the error.
+    try {
+      context.drawImage(source, 0, 0);
+    } catch { }
+  }
+}
+
+/**
+ * Gets a 3d `transform` that can be applied to an element.
+ * @param x Desired position of the element along the X axis.
+ * @param y Desired position of the element along the Y axis.
+ */
+export function getTransform(x: number, y: number): string {
+  // Round the transforms since some browsers will
+  // blur the elements for sub-pixel transforms.
+  return `translate3d(${Math.round(x)}px, ${Math.round(y)}px, 0)`;
+}
+
+/**
+ * Matches the target element's size to the source's size.
+ * @param target Element that needs to be resized.
+ * @param sourceRect Dimensions of the source element.
+ */
+export function matchElementSize(target: HTMLElement, sourceRect: ClientRect): void {
+  target.style.width = `${sourceRect.width}px`;
+  target.style.height = `${sourceRect.height}px`;
+  target.style.transform = getTransform(sourceRect.left, sourceRect.top);
+}
+
+/**
+ * Shallow-extends a stylesheet object with another stylesheet-like object.
+ * Note that the keys in `source` have to be dash-cased.
+ */
+export function extendStyles(dest: CSSStyleDeclaration,
+  source: Record<string, string>,
+  importantProperties?: Set<string>) {
+  for (let key in source) {
+    if (source.hasOwnProperty(key)) {
+      const value = source[key];
+
+      if (value) {
+        dest.setProperty(key, value, importantProperties?.has(key) ? 'important' : '');
+      } else {
+        dest.removeProperty(key);
+      }
+    }
+  }
+
+  return dest;
+}
+
+export function removeNode(node: Node | null) {
+  if (node && node.parentNode) {
+    node.parentNode.removeChild(node);
+  }
+}
+
diff --git a/desktop/angular/projects/safing/ui/src/lib/tipup/css-utils.ts b/desktop/angular/projects/safing/ui/src/lib/tipup/css-utils.ts
new file mode 100644
index 00000000..8f58dff2
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/tipup/css-utils.ts
@@ -0,0 +1,87 @@
+
+export function synchronizeCssStyles(src: HTMLElement, destination: HTMLElement, skipStyles: Set<string>) {
+  // Get a list of all the source and destination elements
+  const srcElements = <HTMLCollectionOf<HTMLElement>>src.getElementsByTagName('*');
+  const dstElements = <HTMLCollectionOf<HTMLElement>>destination.getElementsByTagName('*');
+
+  cloneStyle(src, destination, skipStyles);
+
+  // For each element
+  for (let i = srcElements.length; i--;) {
+    const srcElement = srcElements[i];
+    const dstElement = dstElements[i];
+    cloneStyle(srcElement, dstElement, skipStyles);
+  }
+}
+
+function cloneStyle(srcElement: HTMLElement, dstElement: HTMLElement, skipStyles: Set<string>) {
+  const sourceElementStyles = document.defaultView!.getComputedStyle(srcElement, '');
+  const styleAttributeKeyNumbers = Object.keys(sourceElementStyles);
+
+  // Copy the attribute
+  for (let j = 0; j < styleAttributeKeyNumbers.length; j++) {
+    const attributeKeyNumber = styleAttributeKeyNumbers[j];
+    const attributeKey: string = sourceElementStyles[attributeKeyNumber as any];
+    if (!isNaN(+attributeKey)) {
+      continue
+    }
+    if (attributeKey === 'cssText') {
+      continue
+    }
+
+    if (skipStyles.has(attributeKey)) {
+      continue
+    }
+
+    try {
+      dstElement.style[attributeKey as any] = sourceElementStyles[attributeKey as any];
+    } catch (e) {
+      console.error(attributeKey, e);
+    }
+  }
+}
+
+/**
+ * Returns a CSS selector for el from rootNode.
+ *
+ * @param el The source element to get the CSS path to
+ * @param rootNode The root node at which the CSS path should be applyable
+ * @returns A CSS selector to access el from rootNode.
+ */
+export function getCssSelector(el: HTMLElement, rootNode: HTMLElement | null): string {
+  if (!el) {
+    return '';
+  }
+  let stack = [];
+  let isShadow = false;
+  while (el !== rootNode && el.parentNode !== null) {
+    // console.log(el.nodeName);
+    let sibCount = 0;
+    let sibIndex = 0;
+    // get sibling indexes
+    for (let i = 0; i < (el.parentNode as HTMLElement).childNodes.length; i++) {
+      let sib = (el.parentNode as HTMLElement).childNodes[i];
+      if (sib.nodeName == el.nodeName) {
+        if (sib === el) {
+          sibIndex = sibCount;
+        }
+        sibCount++;
+      }
+    }
+    let nodeName = el.nodeName.toLowerCase();
+    if (isShadow) {
+      throw new Error(`cannot traverse into shadow dom.`)
+    }
+    if (sibCount > 1) {
+      stack.unshift(nodeName + ':nth-of-type(' + (sibIndex + 1) + ')');
+    } else {
+      stack.unshift(nodeName);
+    }
+    el = el.parentNode as HTMLElement;
+    if (el.nodeType === 11) { // for shadow dom, we
+      isShadow = true;
+      el = (el as any).host;
+    }
+  }
+  return stack.join(' > ');
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/tipup/index.ts b/desktop/angular/projects/safing/ui/src/lib/tipup/index.ts
new file mode 100644
index 00000000..bd600272
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/tipup/index.ts
@@ -0,0 +1,6 @@
+export * from './anchor';
+export * from './tipup';
+export * from './tipup-component';
+export * from './tipup.module';
+export * from './translations';
+
diff --git a/desktop/angular/projects/safing/ui/src/lib/tipup/safe.pipe.ts b/desktop/angular/projects/safing/ui/src/lib/tipup/safe.pipe.ts
new file mode 100644
index 00000000..0cbf2855
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/tipup/safe.pipe.ts
@@ -0,0 +1,21 @@
+import { Pipe, PipeTransform } from '@angular/core';
+import { DomSanitizer, SafeHtml, SafeStyle, SafeScript, SafeUrl, SafeResourceUrl } from '@angular/platform-browser';
+
+@Pipe({
+  name: 'safe'
+})
+export class SafePipe implements PipeTransform {
+
+  constructor(protected sanitizer: DomSanitizer) { }
+
+  public transform(value: any, type: string): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {
+    switch (type) {
+      case 'html': return this.sanitizer.bypassSecurityTrustHtml(value);
+      case 'style': return this.sanitizer.bypassSecurityTrustStyle(value);
+      case 'script': return this.sanitizer.bypassSecurityTrustScript(value);
+      case 'url': return this.sanitizer.bypassSecurityTrustUrl(value);
+      case 'resourceUrl': return this.sanitizer.bypassSecurityTrustResourceUrl(value);
+      default: throw new Error(`Invalid safe type specified: ${type}`);
+    }
+  }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/tipup/tipup-component.ts b/desktop/angular/projects/safing/ui/src/lib/tipup/tipup-component.ts
new file mode 100644
index 00000000..8747b098
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/tipup/tipup-component.ts
@@ -0,0 +1,67 @@
+import { ChangeDetectionStrategy, Component, Inject, OnInit } from "@angular/core";
+import { SfngDialogRef, SFNG_DIALOG_REF } from "../dialog";
+import { SfngTipUpService } from "./tipup";
+import { ActionRunner, Button, SFNG_TIP_UP_ACTION_RUNNER, TipUp } from './translations';
+import { TIPUP_TOKEN } from "./utils";
+
+@Component({
+  selector: 'sfng-tipup-container',
+  templateUrl: './tipup.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class SfngTipUpComponent implements OnInit, TipUp<any> {
+  title: string = 'N/A';
+  content: string = 'N/A';
+  nextKey?: string;
+  buttons?: Button<any>[];
+  url?: string;
+  urlText: string = 'Read More';
+
+  constructor(
+    @Inject(TIPUP_TOKEN) public readonly token: string,
+    @Inject(SFNG_DIALOG_REF) private readonly dialogRef: SfngDialogRef<SfngTipUpComponent>,
+    @Inject(SFNG_TIP_UP_ACTION_RUNNER) private runner: ActionRunner<any>,
+    private tipupService: SfngTipUpService,
+  ) { }
+
+  ngOnInit() {
+    const doc = this.tipupService.getTipUp(this.token);
+    if (!!doc) {
+      Object.assign(this, doc);
+      this.urlText = doc.urlText || 'Read More';
+    }
+  }
+
+  async next() {
+    if (!this.nextKey) {
+      return;
+    }
+
+    this.tipupService.open(this.nextKey);
+    this.dialogRef.close();
+  }
+
+  async runAction(btn: Button<any>) {
+    await this.runner.performAction(btn.action);
+
+    // if we have a nextKey for the button but do not do in-app
+    // routing we should be able to open the next tipup as soon
+    // as the action finished
+    if (!!btn.nextKey) {
+      this.tipupService.waitFor(btn.nextKey!)
+        .subscribe({
+          next: () => {
+            this.dialogRef.close();
+            this.tipupService.open(btn.nextKey!);
+          },
+          error: console.error
+        })
+    } else {
+      this.close();
+    }
+  }
+
+  close() {
+    this.dialogRef.close();
+  }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/tipup/tipup.html b/desktop/angular/projects/safing/ui/src/lib/tipup/tipup.html
new file mode 100644
index 00000000..ac54fe8a
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/tipup/tipup.html
@@ -0,0 +1,22 @@
+<div class="flex flex-col items-start">
+  <caption>Tip</caption>
+  <svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4 close-icon" viewBox="0 0 20 20" fill="currentColor"
+    (click)="close()">
+    <path fill-rule="evenodd"
+      d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z"
+      clip-rule="evenodd" />
+  </svg>
+
+  <h1 [innerHTML]="title | safe: 'html'"></h1>
+
+  <markdown emoji [data]="content" class="message"></markdown>
+
+  <a *ngIf="!!url" [href]="url" target="_blank">{{ urlText }}</a>
+
+  <div class="buttons">
+    <div class="actions">
+      <button *ngFor="let btn of buttons" (click)="runAction(btn)">{{ btn.name }}</button>
+    </div>
+    <button *ngIf="!!nextKey" class="btn" (click)="next()">Next</button>
+  </div>
+</div>
diff --git a/desktop/angular/projects/safing/ui/src/lib/tipup/tipup.module.ts b/desktop/angular/projects/safing/ui/src/lib/tipup/tipup.module.ts
new file mode 100644
index 00000000..42378c6f
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/tipup/tipup.module.ts
@@ -0,0 +1,47 @@
+import { CommonModule } from "@angular/common";
+import { ModuleWithProviders, NgModule, Type } from "@angular/core";
+import { MarkdownModule } from "ngx-markdown";
+import { SfngDialogModule } from "../dialog";
+import { SfngTipUpAnchorDirective } from './anchor';
+import { SfngsfngTipUpTriggerDirective, SfngTipUpIconComponent } from './tipup';
+import { SfngTipUpComponent } from './tipup-component';
+import { ActionRunner, HelpTexts, SFNG_TIP_UP_ACTION_RUNNER, SFNG_TIP_UP_CONTENTS } from "./translations";
+import { SafePipe } from "./safe.pipe";
+
+@NgModule({
+  imports: [
+    CommonModule,
+    MarkdownModule.forChild(),
+    SfngDialogModule,
+  ],
+  declarations: [
+    SfngTipUpIconComponent,
+    SfngsfngTipUpTriggerDirective,
+    SfngTipUpComponent,
+    SfngTipUpAnchorDirective,
+    SafePipe
+  ],
+  exports: [
+    SfngTipUpIconComponent,
+    SfngsfngTipUpTriggerDirective,
+    SfngTipUpComponent,
+    SfngTipUpAnchorDirective
+  ],
+})
+export class SfngTipUpModule {
+  static forRoot(text: HelpTexts<any>, runner: Type<ActionRunner<any>>): ModuleWithProviders<SfngTipUpModule> {
+    return {
+      ngModule: SfngTipUpModule,
+      providers: [
+        {
+          provide: SFNG_TIP_UP_CONTENTS,
+          useValue: text,
+        },
+        {
+          provide: SFNG_TIP_UP_ACTION_RUNNER,
+          useExisting: runner,
+        }
+      ]
+    }
+  }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/tipup/tipup.ts b/desktop/angular/projects/safing/ui/src/lib/tipup/tipup.ts
new file mode 100644
index 00000000..7f6fbd85
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/tipup/tipup.ts
@@ -0,0 +1,526 @@
+/* eslint-disable @angular-eslint/no-input-rename */
+import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
+import { ConnectedPosition } from '@angular/cdk/overlay';
+import { _getShadowRoot } from '@angular/cdk/platform';
+import { DOCUMENT } from '@angular/common';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Directive, ElementRef, HostBinding, HostListener, Inject, Injectable, Injector, Input, NgZone, OnDestroy, Optional, Renderer2, RendererFactory2 } from '@angular/core';
+import { Observable, of, Subject } from 'rxjs';
+import { debounce, debounceTime, filter, map, skip, take, timeout } from 'rxjs/operators';
+import { SfngDialogRef, SfngDialogService } from '../dialog';
+import { SfngTipUpAnchorDirective } from './anchor';
+import { deepCloneNode, extendStyles, matchElementSize, removeNode } from './clone-node';
+import { getCssSelector, synchronizeCssStyles } from './css-utils';
+import { SfngTipUpComponent } from './tipup-component';
+import { Button, HelpTexts, SFNG_TIP_UP_CONTENTS, TipUp } from './translations';
+import { SfngTipUpPlacement, TIPUP_TOKEN } from './utils';
+
+@Directive({
+  selector: '[sfngTipUpTrigger]',
+})
+export class SfngsfngTipUpTriggerDirective implements OnDestroy {
+  constructor(
+    public readonly elementRef: ElementRef,
+    public dialog: SfngDialogService,
+    @Optional() @Inject(SfngTipUpAnchorDirective) public anchor: SfngTipUpAnchorDirective | ElementRef<any> | HTMLElement,
+    @Inject(SFNG_TIP_UP_CONTENTS) private tipUpContents: HelpTexts<any>,
+    private tipupService: SfngTipUpService,
+    private cdr: ChangeDetectorRef,
+  ) { }
+
+  private dialogRef: SfngDialogRef<SfngTipUpComponent> | null = null;
+
+  /**
+   * The helptext token used to search for the tip up defintion.
+   */
+  @Input('sfngTipUpTrigger')
+  set textKey(s: string) {
+    if (!!this._textKey) {
+      this.tipupService.deregister(this._textKey, this);
+    }
+    this._textKey = s;
+    this.tipupService.register(this._textKey, this);
+  }
+  get textKey() { return this._textKey; }
+  private _textKey: string = '';
+
+  /**
+   * The text to display inside the tip up. If unset, the tipup definition
+   * will be loaded form helptexts.yaml.
+   * This input property is mainly designed for programatic/dynamic tip-up generation
+   */
+  @Input('sfngTipUpText')
+  text: string | undefined;
+
+  @Input('sfngTipUpTitle')
+  title: string | undefined;
+
+  @Input('sfngTipUpButtons')
+  buttons: Button<any>[] | undefined;
+
+  /**
+   * asTipUp returns a tip-up definition built from the input
+   * properties sfngTipUpText and sfngTipUpTitle. If none are set
+   * then null is returned.
+   */
+  asTipUp(): TipUp<any> | null {
+    // TODO(ppacher): we could also merge the defintions from MyYamlFile
+    // and the properties set on this directive....
+    if (!this.text) {
+      return this.tipUpContents[this.textKey];
+    }
+    return {
+      title: this.title || '',
+      content: this.text,
+      buttons: this.buttons,
+    }
+  }
+
+  /**
+   * The default anchor for the tipup if non is provided via Dependency-Injection
+   * or using sfngTipUpAnchorRef
+   */
+  @Input('sfngTipUpDefaultAnchor')
+  defaultAnchor: ElementRef<any> | HTMLElement | null = null;
+
+  /** Optionally overwrite the anchor element received via Dependency Injection */
+  @Input('sfngTipUpAnchorRef')
+  set anchorRef(ref: ElementRef<any> | HTMLElement | null) {
+    this.anchor = ref ?? this.anchor;
+  }
+
+  /** Used to ensure all tip-up triggers have a pointer cursor */
+  @HostBinding('style.cursor')
+  cursor = 'pointer';
+
+  /** De-register ourself upon destroy */
+  ngOnDestroy() {
+    this.tipupService.deregister(this.textKey, this);
+  }
+
+  /** Whether or not we're passive-only and thus do not handle click-events form the user */
+  @Input('sfngTipUpPassive')
+  set passive(v: any) {
+    this._passive = coerceBooleanProperty(v ?? true);
+  }
+  get passive() { return this._passive; }
+  private _passive = false;
+
+  @Input('sfngTipUpOffset')
+  set offset(v: any) {
+    this._defaultOffset = coerceNumberProperty(v)
+  }
+  get offset() { return this._defaultOffset }
+  private _defaultOffset = 20;
+
+  @Input('sfngTipUpPlacement')
+  placement: SfngTipUpPlacement | null = null;
+
+  @HostListener('click', ['$event'])
+  onClick(event?: MouseEvent): Promise<any> {
+    if (!!event) {
+      // if there's a click event the user actually clicked the element.
+      // we only handle this if we're not marked as passive.
+      if (this._passive) {
+        return Promise.resolve();
+      }
+
+      event.preventDefault();
+      event.stopPropagation();
+    }
+
+    if (!!this.dialogRef) {
+      this.dialogRef.close();
+      return Promise.resolve();
+    }
+
+    let anchorElement: ElementRef<any> | HTMLElement | null = this.defaultAnchor || this.elementRef;
+    let placement: SfngTipUpPlacement | null = this.placement;
+
+    if (!!this.anchor) {
+      if (this.anchor instanceof SfngTipUpAnchorDirective) {
+        anchorElement = this.anchor.elementRef;
+        placement = this.anchor;
+      } else {
+        anchorElement = this.anchor;
+      }
+    }
+
+    this.dialogRef = this.tipupService.createTipup(
+      anchorElement,
+      this.textKey,
+      this,
+      placement,
+    )
+
+    this.dialogRef.onClose
+      .pipe(take(1))
+      .subscribe(() => {
+        this.dialogRef = null;
+        this.cdr.markForCheck();
+      });
+
+    this.cdr.detectChanges();
+
+    return this.dialogRef.onStateChange
+      .pipe(
+        filter(state => state === 'opening'),
+        take(1),
+      )
+      .toPromise()
+  }
+}
+
+@Component({
+  selector: 'sfng-tipup',
+  template:
+    `<svg viewBox="0 0 24 24"
+    class="tipup"
+    [sfngTipUpTrigger]="key"
+    [sfngTipUpDefaultAnchor]="parent"
+    [sfngTipUpPlacement]="placement"
+    [sfngTipUpText]="text"
+    [sfngTipUpTitle]="title"
+    [sfngTipUpButtons]="buttons"
+    [sfngTipUpAnchorRef]="anchor">
+    <g fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" >
+      <path stroke="#ffff" shape-rendering="geometricPrecision" d="M12 21v0c-4.971 0-9-4.029-9-9v0c0-4.971 4.029-9 9-9v0c4.971 0 9 4.029 9 9v0c0 4.971-4.029 9-9 9z"/>
+      <path stroke="#ffff" shape-rendering="geometricPrecision" d="M12 17v-5h-1M11.749 8c-.138 0-.25.112-.249.25 0 .138.112.25.25.25s.25-.112.25-.25-.112-.25-.251-.25"/>
+    </g>
+  </svg>`,
+  styles: [
+    `
+      :host {
+        display: inline-block;
+        width   : 1rem;
+        position: relative;
+        opacity: 0.55;
+        cursor  : pointer;
+        align-self: center;
+      }
+
+      :host:hover {
+        opacity: 1;
+      }
+      `
+  ],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class SfngTipUpIconComponent implements SfngTipUpPlacement {
+  @Input()
+  key: string = '';
+
+  // see sfngTipUpTrigger sfngTipUpText and sfngTipUpTitle
+  @Input() text: string | undefined = undefined;
+  @Input() title: string | undefined = undefined;
+  @Input() buttons: Button<any>[] | undefined = undefined;
+
+  @Input()
+  anchor: ElementRef<any> | HTMLElement | null = null;
+
+  @Input('placement')
+  origin: 'left' | 'right' = 'right';
+
+  @Input()
+  set offset(v: any) {
+    this._offset = coerceNumberProperty(v);
+  }
+  get offset() { return this._offset; }
+  private _offset: number = 10;
+
+  constructor(private elementRef: ElementRef<any>) { }
+
+  get placement(): SfngTipUpPlacement {
+    return this
+  }
+
+  get parent(): HTMLElement | null {
+    return (this.elementRef?.nativeElement as HTMLElement)?.parentElement;
+  }
+}
+
+
+@Injectable({
+  providedIn: 'root'
+})
+export class SfngTipUpService {
+  tipups = new Map<string, SfngsfngTipUpTriggerDirective>();
+
+  private _onRegister = new Subject<string>();
+  private _onUnregister = new Subject<string>();
+
+  get onRegister(): Observable<string> {
+    return this._onRegister.asObservable();
+  }
+
+  get onUnregister(): Observable<string> {
+    return this._onUnregister.asObservable();
+  }
+
+  waitFor(key: string): Observable<void> {
+    if (this.tipups.has(key)) {
+      return of(undefined);
+    }
+
+    return this.onRegister
+      .pipe(
+        filter(val => val === key),
+        debounce(() => this.ngZone.onStable.pipe(skip(2))),
+        debounceTime(1000),
+        take(1),
+        map(() => { }),
+        timeout(5000),
+      );
+  }
+
+  private renderer: Renderer2;
+
+  constructor(
+    @Inject(DOCUMENT) private _document: Document,
+    private dialog: SfngDialogService,
+    private ngZone: NgZone,
+    private injector: Injector,
+    rendererFactory: RendererFactory2
+  ) {
+    this.renderer = rendererFactory.createRenderer(null, null)
+  }
+
+  register(key: string, trigger: SfngsfngTipUpTriggerDirective) {
+    if (this.tipups.has(key)) {
+      return;
+    }
+
+    this.tipups.set(key, trigger);
+    this._onRegister.next(key);
+  }
+
+  deregister(key: string, trigger: SfngsfngTipUpTriggerDirective) {
+    if (this.tipups.get(key) === trigger) {
+      this.tipups.delete(key);
+      this._onUnregister.next(key);
+    }
+  }
+
+  getTipUp(key: string): TipUp<any> | null {
+    return this.tipups.get(key)?.asTipUp() || null;
+  }
+
+  private _latestTipUp: SfngDialogRef<SfngTipUpComponent> | null = null;
+
+  createTipup(
+    anchor: HTMLElement | ElementRef<any>,
+    key: string,
+    origin?: SfngsfngTipUpTriggerDirective,
+    opts: SfngTipUpPlacement | null = {},
+    injector?: Injector): SfngDialogRef<SfngTipUpComponent> {
+
+    const lastTipUp = this._latestTipUp
+    let closePrevious = () => {
+      if (!!lastTipUp) {
+        lastTipUp.close();
+      }
+    }
+
+    // make sure we have an ElementRef to work with
+    if (!(anchor instanceof ElementRef)) {
+      anchor = new ElementRef(anchor)
+    }
+
+    // the the origin placement of the tipup
+    const positions: ConnectedPosition[] = [];
+    if (opts?.origin === 'left') {
+      positions.push({
+        originX: 'start',
+        originY: 'center',
+        overlayX: 'end',
+        overlayY: 'center',
+      })
+    } else {
+      positions.push({
+        originX: 'end',
+        originY: 'center',
+        overlayX: 'start',
+        overlayY: 'center',
+      })
+    }
+
+    // determine the offset to the tipup origin
+    let offset = opts?.offset ?? 10;
+    if (opts?.origin === 'left') {
+      offset *= -1;
+    }
+
+    let postitionStrategy = this.dialog.position()
+      .flexibleConnectedTo(anchor)
+      .withPositions(positions)
+      .withDefaultOffsetX(offset);
+
+    const inj = Injector.create({
+      providers: [
+        {
+          useValue: key,
+          provide: TIPUP_TOKEN,
+        }
+      ],
+      parent: injector || this.injector,
+    });
+
+
+    const newTipUp = this.dialog.create(SfngTipUpComponent, {
+      dragable: false,
+      autoclose: true,
+      backdrop: 'light',
+      injector: inj,
+      positionStrategy: postitionStrategy
+    });
+    this._latestTipUp = newTipUp;
+
+    const _preview = this._createPreview(anchor.nativeElement, _getShadowRoot(anchor.nativeElement));
+
+    // construct a CSS selector that targets the clicked origin (sfngTipUpTriggerDirective) from within
+    // the anchor. We use that path to highlight the copy of the trigger-directive in the preview.
+    if (!!origin) {
+      const originSelector = getCssSelector(origin.elementRef.nativeElement, anchor.nativeElement);
+      let target: HTMLElement | null = null;
+      if (!!originSelector) {
+        target = _preview.querySelector(originSelector);
+      } else {
+        target = _preview;
+      }
+
+      this.renderer.addClass(target, 'active-tipup-trigger')
+    }
+
+    newTipUp.onStateChange
+      .pipe(
+        filter(state => state === 'open'),
+        take(1)
+      )
+      .subscribe(() => {
+        closePrevious();
+        _preview.attach()
+      })
+
+    newTipUp.onStateChange
+      .pipe(
+        filter(state => state === 'closing'),
+        take(1)
+      )
+      .subscribe(() => {
+        if (this._latestTipUp === newTipUp) {
+          this._latestTipUp = null;
+        }
+        _preview.classList.remove('visible');
+        setTimeout(() => {
+          removeNode(_preview);
+        }, 300)
+      });
+
+    return newTipUp;
+  }
+
+  private _createPreview(element: HTMLElement, shadowRoot: ShadowRoot | null): HTMLElement & { attach: () => void } {
+    const preview = deepCloneNode(element);
+    // clone all CSS styles by applying them directly to the copied
+    // nodes. Though, we skip the opacity property because we use that
+    // a lot and it makes the preview strange ....
+    synchronizeCssStyles(element, preview, new Set([
+      'opacity'
+    ]));
+
+    // make sure the preview element is at the exact same position
+    // as the original one.
+    matchElementSize(preview, element.getBoundingClientRect());
+
+    extendStyles(preview.style, {
+      // We have to reset the margin, because it can throw off positioning relative to the viewport.
+      'margin': '0',
+      'position': 'fixed',
+      'top': '0',
+      'left': '0',
+      'z-index': '1000',
+      'opacity': 'unset',
+    }, new Set(['position']));
+
+    // We add a dedicated class to the preview element so
+    // it can handle special higlighting itself.
+    preview.classList.add('tipup-preview')
+
+    // since the user might want to click on the preview element we must
+    // intercept the click-event, determine the path to the target element inside
+    // the preview and eventually dispatch a click-event on the actual
+    // - real - target inside the cloned element.
+    preview.onclick = function (event: MouseEvent) {
+      let path = getCssSelector(event.target as HTMLElement, preview);
+      if (!!path) {
+        // find the target by it's CSS path
+        let actualTarget: HTMLElement | null = element.querySelector<HTMLElement>(path);
+
+        // some (SVG) elements don't have a direct click() listener so we need to search
+        // the parents upwards to find one that implements click().
+        // we're basically searching up until we reach the <html> tag.
+        //
+        // TODO(ppacher): stop searching at the respective root node.
+        if (!!actualTarget) {
+          let iter: HTMLElement = actualTarget;
+          while (iter != null) {
+            if ('click' in iter && typeof iter['click'] === 'function') {
+              iter.click();
+              break;
+            }
+            iter = iter.parentNode as HTMLElement;
+          }
+        }
+      } else {
+        // the user clicked the preview element directly
+        try {
+          element.click()
+        } catch (e) {
+          console.error(e);
+        }
+      }
+    }
+
+    let attach = () => {
+      const parent = this._getPreviewInserationPoint(shadowRoot)
+      const cdkOverlayContainer = parent.getElementsByClassName('cdk-overlay-container')[0]
+      // if we find a cdkOverlayContainer in our inseration point (which we expect to be there)
+      // we insert the preview element right after the overlay-backdrop. This way the tip-up
+      // dialog will still be on top of the preview.
+      if (!!cdkOverlayContainer) {
+        const reference = cdkOverlayContainer.getElementsByClassName("cdk-overlay-backdrop")[0].nextSibling;
+        cdkOverlayContainer.insertBefore(preview, reference)
+      } else {
+        parent.appendChild(preview);
+      }
+
+      setTimeout(() => {
+        preview.classList.add('visible');
+      })
+    }
+
+    Object.defineProperty(preview, 'attach', {
+      value: attach,
+    })
+
+    return preview as any;
+  }
+
+  private _getPreviewInserationPoint(shadowRoot: ShadowRoot | null): HTMLElement {
+    const documentRef = this._document;
+    return shadowRoot ||
+      documentRef.fullscreenElement ||
+      (documentRef as any).webkitFullscreenElement ||
+      (documentRef as any).mozFullScreenElement ||
+      (documentRef as any).msFullscreenElement ||
+      documentRef.body;
+  }
+
+  async open(key: string) {
+    const comp = this.tipups.get(key);
+    if (!comp) {
+      console.error('Tried to open unknown tip-up with key ' + key);
+      return;
+    }
+    comp.onClick()
+  }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/tipup/translations.ts b/desktop/angular/projects/safing/ui/src/lib/tipup/translations.ts
new file mode 100644
index 00000000..fdc0ecd5
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/tipup/translations.ts
@@ -0,0 +1,27 @@
+import { InjectionToken } from '@angular/core';
+
+export const SFNG_TIP_UP_CONTENTS = new InjectionToken<HelpTexts<any>>('SfngTipUpContents');
+export const SFNG_TIP_UP_ACTION_RUNNER = new InjectionToken<ActionRunner<any>>('SfngTipUpActionRunner')
+
+export interface Button<T> {
+  name: string;
+  action: T;
+  nextKey?: string;
+}
+
+export interface TipUp<T> {
+  title: string;
+  content: string;
+  url?: string;
+  urlText?: string;
+  buttons?: Button<T>[];
+  nextKey?: string;
+}
+
+export interface HelpTexts<T> {
+  [key: string]: TipUp<T>;
+}
+
+export interface ActionRunner<T> {
+  performAction(action: T): Promise<void>;
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/tipup/utils.ts b/desktop/angular/projects/safing/ui/src/lib/tipup/utils.ts
new file mode 100644
index 00000000..7ccffbd4
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/tipup/utils.ts
@@ -0,0 +1,8 @@
+import { InjectionToken } from "@angular/core";
+
+export const TIPUP_TOKEN = new InjectionToken<string>('TipUPJSONToken');
+
+export interface SfngTipUpPlacement {
+  origin?: 'left' | 'right';
+  offset?: number;
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/toggle-switch/_toggle-switch.scss b/desktop/angular/projects/safing/ui/src/lib/toggle-switch/_toggle-switch.scss
new file mode 100644
index 00000000..246a7953
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/toggle-switch/_toggle-switch.scss
@@ -0,0 +1,35 @@
+sfng-toggle {
+  @apply flex items-center;
+
+  label {
+    @apply inline-block w-10 h-5 relative bg-gray-500 rounded-full;
+  }
+
+  .slider {
+    @apply absolute cursor-pointer top-0 left-0 right-0 bottom-0 bg-gray-600 transition-all duration-100 rounded-full shadow-inner-xs;
+  }
+
+  .dot {
+    @apply absolute transition-all duration-200 rounded-full bg-white;
+    height: 18px;
+    width: 18px;
+    bottom: 1px;
+    left: 1px;
+  }
+
+  input:checked:not(:disabled)+.slider {
+    @apply bg-green-300 bg-opacity-50 text-green;
+  }
+
+  input:disabled+.slider {
+    @apply opacity-75 cursor-not-allowed;
+  }
+
+  .dot.checked {
+    transform: translateX(calc(2.5rem - 18px - 2px));
+  }
+
+  .dot.disabled {
+    transform: translateX(calc((2.5rem - 18px - 2px)/2));
+  }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/toggle-switch/index.ts b/desktop/angular/projects/safing/ui/src/lib/toggle-switch/index.ts
new file mode 100644
index 00000000..fbc94093
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/toggle-switch/index.ts
@@ -0,0 +1,3 @@
+export * from './toggle-switch';
+export * from './toggle.module';
+
diff --git a/desktop/angular/projects/safing/ui/src/lib/toggle-switch/toggle-switch.html b/desktop/angular/projects/safing/ui/src/lib/toggle-switch/toggle-switch.html
new file mode 100644
index 00000000..69320c3a
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/toggle-switch/toggle-switch.html
@@ -0,0 +1,20 @@
+<label>
+  <input type="checkbox" class="block w-0 h-0 opacity-0" [ngModel]="value" (ngModelChange)="onValueChange($event)" [disabled]="disabled">
+  <span class="slider">
+    <span class="flex items-center justify-center dot" [class.checked]="value && !disabled" [class.disabled]="disabled">
+      <svg xmlns="http://www.w3.org/2000/svg" class="w-3 h-3" viewBox="0 0 20 20" fill="currentColor" *ngIf="value && !disabled">
+        <path fill-rule="evenodd"
+          d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z"
+          clip-rule="evenodd" />
+      </svg>
+      <svg xmlns="http://www.w3.org/2000/svg" class="w-3 h-3" viewBox="0 0 20 20" fill="currentColor" *ngIf="!value && !disabled">
+        <path fill-rule="evenodd"
+          d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z"
+          clip-rule="evenodd" />
+      </svg>
+      <svg xmlns="http://www.w3.org/2000/svg" class="w-3 h-3" viewBox="0 0 20 20" fill="currentColor" *ngIf="disabled">
+        <path fill-rule="evenodd" d="M5 10a1 1 0 011-1h8a1 1 0 110 2H6a1 1 0 01-1-1z" clip-rule="evenodd" />
+      </svg>
+    </span>
+  </span>
+</label>
diff --git a/desktop/angular/projects/safing/ui/src/lib/toggle-switch/toggle-switch.ts b/desktop/angular/projects/safing/ui/src/lib/toggle-switch/toggle-switch.ts
new file mode 100644
index 00000000..6b90f961
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/toggle-switch/toggle-switch.ts
@@ -0,0 +1,59 @@
+import { coerceBooleanProperty } from '@angular/cdk/coercion';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, HostListener } from '@angular/core';
+import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
+
+@Component({
+  selector: 'sfng-toggle',
+  templateUrl: './toggle-switch.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  providers: [
+    {
+      provide: NG_VALUE_ACCESSOR,
+      useExisting: forwardRef(() => SfngToggleSwitchComponent),
+      multi: true,
+    }
+  ]
+})
+export class SfngToggleSwitchComponent implements ControlValueAccessor {
+  @HostListener('blur')
+  onBlur() {
+    this.onTouch();
+  }
+
+  set disabled(v: any) {
+    this.setDisabledState(coerceBooleanProperty(v))
+  }
+  get disabled() {
+    return this._disabled;
+  }
+  private _disabled = false;
+
+  value: boolean = false;
+
+  constructor(private _changeDetector: ChangeDetectorRef) { }
+
+  setDisabledState(isDisabled: boolean) {
+    this._disabled = isDisabled;
+    this._changeDetector.markForCheck();
+  }
+
+  onValueChange(value: boolean) {
+    this.value = value;
+    this.onChange(this.value);
+  }
+
+  writeValue(value: boolean) {
+    this.value = value;
+    this._changeDetector.markForCheck();
+  }
+
+  onChange = (_: any): void => { };
+  registerOnChange(fn: (value: any) => void) {
+    this.onChange = fn;
+  }
+
+  onTouch = (): void => { };
+  registerOnTouched(fn: () => void) {
+    this.onTouch = fn;
+  }
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/toggle-switch/toggle.module.ts b/desktop/angular/projects/safing/ui/src/lib/toggle-switch/toggle.module.ts
new file mode 100644
index 00000000..db27249b
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/toggle-switch/toggle.module.ts
@@ -0,0 +1,18 @@
+import { CommonModule } from "@angular/common";
+import { NgModule } from "@angular/core";
+import { FormsModule } from "@angular/forms";
+import { SfngToggleSwitchComponent } from "./toggle-switch";
+
+@NgModule({
+  imports: [
+    CommonModule,
+    FormsModule,
+  ],
+  declarations: [
+    SfngToggleSwitchComponent,
+  ],
+  exports: [
+    SfngToggleSwitchComponent,
+  ]
+})
+export class SfngToggleSwitchModule { }
diff --git a/desktop/angular/projects/safing/ui/src/lib/tooltip/_tooltip-component.scss b/desktop/angular/projects/safing/ui/src/lib/tooltip/_tooltip-component.scss
new file mode 100644
index 00000000..ff90d82a
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/tooltip/_tooltip-component.scss
@@ -0,0 +1,5 @@
+sfng-tooltip-container {
+  @apply relative block;
+
+  max-width: 16rem;
+}
diff --git a/desktop/angular/projects/safing/ui/src/lib/tooltip/index.ts b/desktop/angular/projects/safing/ui/src/lib/tooltip/index.ts
new file mode 100644
index 00000000..fb071730
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/tooltip/index.ts
@@ -0,0 +1,3 @@
+export * from './tooltip';
+export * from './tooltip.module';
+
diff --git a/desktop/angular/projects/safing/ui/src/lib/tooltip/tooltip-component.html b/desktop/angular/projects/safing/ui/src/lib/tooltip/tooltip-component.html
new file mode 100644
index 00000000..ad68d95c
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/tooltip/tooltip-component.html
@@ -0,0 +1,6 @@
+<div [@moveInOut]="{value: _appAnimate, params: {value: value, what: what}}" *ngIf="_appAnimate"
+  [style.transformOrigin]="transformOrigin" (@moveInOut.done)="animationDone($event)"
+  class="relative px-2 py-0.5 text-white bg-gray-100 text-xxs border rounded shadow-lg w-fit">
+  {{ message }}
+  <ng-container [cdkPortalOutlet]="portal"></ng-container>
+</div>
diff --git a/desktop/angular/projects/safing/ui/src/lib/tooltip/tooltip-component.ts b/desktop/angular/projects/safing/ui/src/lib/tooltip/tooltip-component.ts
new file mode 100644
index 00000000..a206d5b3
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/tooltip/tooltip-component.ts
@@ -0,0 +1,139 @@
+import { animate, AnimationEvent, style, transition, trigger } from "@angular/animations";
+import { OverlayRef } from "@angular/cdk/overlay";
+import { TemplatePortal } from "@angular/cdk/portal";
+import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, HostListener, Inject, InjectionToken, OnDestroy, TemplateRef, ViewContainerRef } from "@angular/core";
+import { SfngTooltipDirective } from "./tooltip";
+
+export const SFNG_TOOLTIP_CONTENT = new InjectionToken<string | TemplateRef<any>>('SFNG_TOOLTIP_CONTENT');
+export const SFNG_TOOLTIP_OVERLAY = new InjectionToken<OverlayRef>('SFNG_TOOLTIP_OVERLAY');
+
+@Component({
+  selector: 'sfng-tooltip-container',
+  templateUrl: './tooltip-component.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  animations: [
+    trigger(
+      'moveInOut',
+      [
+        transition(
+          ':enter',
+          [
+            style({ opacity: 0, transform: 'translate{{ what }}({{ value }}) scale(0.75)' }),
+            animate('.1s ease-in',
+              style({ opacity: 1, transform: 'translate{{ what }}(0%) scale(1)' }))
+          ],
+          { params: { what: 'Y', value: '-8px' } } // default parameters
+        ),
+        transition(
+          ':leave',
+          [
+            style({ opacity: 1 }),
+            animate('.1s ease-out',
+              style({ opacity: 0, transform: 'translate{{ what }}({{ value }}) scale(0.75)' }))
+          ],
+          { params: { what: 'Y', value: '8px' } } // default parameters
+        )
+      ]
+    )]
+
+})
+export class SfngTooltipComponent implements AfterViewInit, OnDestroy {
+  /**
+   * Adds snfg-tooltip-instance class to the host element.
+   * This is used as a selector in the FlexibleConnectedPosition stragegy
+   * to set a transform-origin. That origin is then used for the "arrow" anchor
+   * placement.
+   */
+  @HostBinding('class.sfng-tooltip-instance')
+  _hostClass = true;
+
+  /**
+   * Used to clear the "hide" timeout when the cursor moves from the the origin
+   * into the tooltip content.
+   * This is required if the tooltip contains rich and likely clickable content.
+   */
+  @HostListener('mouseenter')
+  onMouseEnter() { this.directive.show() }
+
+  /**
+   * If the tooltip is visible because the user moved inside the tooltip-component
+   * (see comment above) then we need to handle a mouse-leave event as well.
+   */
+  @HostListener('mouseleave')
+  onMouseLeave() { this.directive.hide() }
+
+  what = 'Y';
+  value = '8px'
+  transformOrigin = '';
+
+  _appAnimate = false;
+
+  private observer: MutationObserver | null = null;
+
+  /** Message is the tooltip message to display in case tooltipContent is a string */
+  message = '';
+
+  /** Portal is the tooltip content to display in case tooltipContent is a template reference */
+  portal: TemplatePortal<any> | null = null;
+
+  constructor(
+    @Inject(SFNG_TOOLTIP_CONTENT) tooltipContent: string | TemplateRef<any>,
+    @Inject(SFNG_TOOLTIP_OVERLAY) public overlayRef: OverlayRef,
+    private directive: SfngTooltipDirective,
+    private elementRef: ElementRef<HTMLElement>,
+    private cdr: ChangeDetectorRef,
+    private viewContainer: ViewContainerRef
+  ) {
+    if (tooltipContent instanceof TemplateRef) {
+      this.portal = new TemplatePortal(tooltipContent, this.viewContainer)
+    } else {
+      this.message = tooltipContent;
+    }
+  }
+
+  dispose() {
+    this._appAnimate = false;
+    this.cdr.markForCheck();
+  }
+
+  animationDone(event: AnimationEvent) {
+    if (event.toState === 'void') {
+      this.overlayRef.dispose();
+    }
+  }
+
+  ngOnDestroy(): void {
+    this.observer?.disconnect();
+  }
+
+  ngAfterViewInit(): void {
+    this.observer = new MutationObserver(mutations => {
+      this.transformOrigin = this.elementRef.nativeElement.style.transformOrigin;
+      if (!this.transformOrigin) {
+        return;
+      }
+
+      const [x, y] = this.transformOrigin.split(" ");
+      if (x === 'center') {
+        this.what = 'Y'
+        if (y === 'top') {
+          this.value = '-8px'
+        } else {
+          this.value = '8px'
+        }
+      } else {
+        this.what = 'X'
+        if (x === 'left') {
+          this.value = '-8px'
+        } else {
+          this.value = '8px'
+        }
+      }
+
+      this._appAnimate = true;
+      this.cdr.detectChanges();
+    });
+    this.observer.observe(this.elementRef.nativeElement, { attributes: true, attributeFilter: ['style'] })
+  }
+}
+
diff --git a/desktop/angular/projects/safing/ui/src/lib/tooltip/tooltip.module.ts b/desktop/angular/projects/safing/ui/src/lib/tooltip/tooltip.module.ts
new file mode 100644
index 00000000..49bd0a14
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/tooltip/tooltip.module.ts
@@ -0,0 +1,23 @@
+import { OverlayModule } from "@angular/cdk/overlay";
+import { PortalModule } from "@angular/cdk/portal";
+import { CommonModule } from "@angular/common";
+import { NgModule } from "@angular/core";
+import { SfngTooltipDirective } from "./tooltip";
+import { SfngTooltipComponent } from "./tooltip-component";
+
+@NgModule({
+  imports: [
+    PortalModule,
+    OverlayModule,
+    CommonModule,
+  ],
+  declarations: [
+    SfngTooltipDirective,
+    SfngTooltipComponent
+  ],
+  exports: [
+    SfngTooltipDirective
+  ]
+})
+export class SfngTooltipModule { }
+
diff --git a/desktop/angular/projects/safing/ui/src/lib/tooltip/tooltip.ts b/desktop/angular/projects/safing/ui/src/lib/tooltip/tooltip.ts
new file mode 100644
index 00000000..032e6bec
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/tooltip/tooltip.ts
@@ -0,0 +1,244 @@
+/* eslint-disable @angular-eslint/no-input-rename */
+import { coerceNumberProperty } from "@angular/cdk/coercion";
+import { ConnectedPosition, Overlay, OverlayRef, PositionStrategy } from "@angular/cdk/overlay";
+import { ComponentPortal } from "@angular/cdk/portal";
+import { ComponentRef, Directive, ElementRef, HostListener, Injector, Input, isDevMode, OnChanges, OnDestroy, OnInit, TemplateRef } from "@angular/core";
+import { Subject } from "rxjs";
+import { SfngTooltipComponent, SFNG_TOOLTIP_CONTENT, SFNG_TOOLTIP_OVERLAY } from "./tooltip-component";
+
+/** The allowed tooltip positions. */
+export type SfngTooltipPosition = 'left' | 'right' | 'bottom' | 'top';
+
+@Directive({
+  selector: '[sfng-tooltip],[snfgTooltip]',
+})
+export class SfngTooltipDirective implements OnInit, OnDestroy, OnChanges {
+  /** Used to control the visibility of the tooltip */
+  private attach$ = new Subject<boolean>();
+
+  /** Holds a reference to the tooltip overlay */
+  private tooltipRef: ComponentRef<SfngTooltipComponent> | null = null;
+
+  /**
+   * A reference to a timeout created by setTimeout used to debounce
+   * displaying the tooltip
+   */
+  private debouncer: any | null = null;
+
+  constructor(
+    private overlay: Overlay,
+    private injector: Injector,
+    private originRef: ElementRef<any>,
+  ) { }
+
+  @HostListener('mouseenter')
+  show(delay = this.delay) {
+    if (this.debouncer !== null) {
+      clearTimeout(this.debouncer);
+    }
+
+    this.debouncer = setTimeout(() => {
+      this.debouncer = null;
+      this.attach$.next(true);
+    }, delay);
+  }
+
+  @HostListener('mouseleave')
+  hide(delay = this.delay / 2) {
+    // if we're currently debouncing a "show" than
+    // we should clear that out to avoid re-attaching
+    // the tooltip right after we disposed it.
+    if (this.debouncer !== null) {
+      clearTimeout(this.debouncer);
+      this.debouncer = null;
+    }
+
+    this.debouncer = setTimeout(() => {
+      this.attach$.next(false);
+      this.debouncer = null;
+    }, delay);
+  }
+
+  /** Debounce delay before showing the tooltip */
+  @Input('sfngTooltipDelay')
+  set delay(v: any) {
+    this._delay = coerceNumberProperty(v);
+  }
+  get delay() { return this._delay }
+  private _delay = 500;
+
+  /** An additional offset between the tooltip overlay and the origin centers */
+  @Input('sfngTooltipOffset')
+  set offset(v: any) {
+    this._offset = coerceNumberProperty(v);
+  }
+  private _offset: number | null = 8;
+
+  /** The actual content that should be displayed in the tooltip overlay. */
+  @Input('sfngTooltip')
+  @Input('sfng-tooltip')
+  tooltipContent: string | TemplateRef<any> | null = null;
+
+  @Input('snfgTooltipPosition')
+  position: ConnectedPosition | SfngTooltipPosition | (SfngTooltipPosition | ConnectedPosition)[] | 'any' = 'any';
+
+  ngOnInit() {
+    this.attach$
+      .subscribe(attach => {
+        if (attach) {
+          this.createTooltip();
+          return;
+        }
+        if (!!this.tooltipRef) {
+          this.tooltipRef.instance.dispose();
+          this.tooltipRef = null;
+        }
+      })
+  }
+
+  ngOnDestroy(): void {
+    this.attach$.next(false);
+    this.attach$.complete();
+  }
+
+  ngOnChanges(): void {
+    // if the tooltip content has be set to null and we're still
+    // showing the tooltip we treat that as an attempt to hide.
+    if (this.tooltipContent === null && !!this.tooltipRef) {
+      this.hide();
+    }
+  }
+
+  /** Creates the actual tooltip overlay */
+  private createTooltip() {
+    // there's nothing to do if the tooltip is still active.
+    if (!!this.tooltipRef) {
+      return;
+    }
+
+    // support disabling the tooltip by passing "null" for
+    // the content.
+    if (this.tooltipContent === null) {
+      return;
+    }
+
+    const position = this.buildPositionStrategy();
+
+    const overlayRef = this.overlay.create({
+      positionStrategy: position,
+      scrollStrategy: this.overlay.scrollStrategies.close(),
+      disposeOnNavigation: true,
+    });
+
+    // make sure we close the tooltip if the user clicks on our
+    // originRef.
+    overlayRef.outsidePointerEvents()
+      .subscribe(() => this.hide());
+
+    overlayRef.attachments()
+      .subscribe(() => {
+        if (!overlayRef) {
+          return
+        }
+        overlayRef.updateSize({});
+        overlayRef.updatePosition();
+      })
+
+    // create a component portal for the tooltip component
+    // and attach it to our newly created overlay.
+    const portal = this.getOverlayPortal(overlayRef);
+    this.tooltipRef = overlayRef.attach(portal);
+  }
+
+  private getOverlayPortal(ref: OverlayRef): ComponentPortal<SfngTooltipComponent> {
+    const inj = Injector.create({
+      providers: [
+        { provide: SFNG_TOOLTIP_CONTENT, useValue: this.tooltipContent },
+        { provide: SFNG_TOOLTIP_OVERLAY, useValue: ref },
+      ],
+      parent: this.injector,
+      name: 'SfngTooltipDirective'
+    })
+
+    const portal = new ComponentPortal(
+      SfngTooltipComponent,
+      undefined,
+      inj
+    )
+
+    return portal;
+  }
+
+  /** Builds a FlexibleConnectedPositionStrategy for the tooltip overlay */
+  private buildPositionStrategy(): PositionStrategy {
+    let pos = this.position;
+    if (pos === 'any') {
+      pos = ['top', 'bottom', 'right', 'left']
+    } else if (!Array.isArray(pos)) {
+      pos = [pos];
+    }
+
+    let allowedPositions: ConnectedPosition[] =
+      pos.map(p => {
+        if (typeof p === 'string') {
+          return this.getAllowedConnectedPosition(p);
+        }
+        // this is already a ConnectedPosition
+        return p
+      });
+
+    let position = this.overlay.position()
+      .flexibleConnectedTo(this.originRef)
+      .withFlexibleDimensions(true)
+      .withPush(true)
+      .withPositions(allowedPositions)
+      .withGrowAfterOpen(true)
+      .withTransformOriginOn('.sfng-tooltip-instance')
+
+    return position;
+  }
+
+  private getAllowedConnectedPosition(type: SfngTooltipPosition): ConnectedPosition {
+    switch (type) {
+      case 'left':
+        return {
+          originX: 'start',
+          originY: 'center',
+          overlayX: 'end',
+          overlayY: 'center',
+          offsetX: - (this._offset || 0),
+        }
+      case 'right':
+        return {
+          originX: 'end',
+          originY: 'center',
+          overlayX: 'start',
+          overlayY: 'center',
+          offsetX: (this._offset || 0),
+        }
+      case 'top':
+        return {
+          originX: 'center',
+          originY: 'top',
+          overlayX: 'center',
+          overlayY: 'bottom',
+          offsetY: - (this._offset || 0),
+        }
+      case 'bottom':
+        return {
+          originX: 'center',
+          originY: 'bottom',
+          overlayX: 'center',
+          overlayY: 'top',
+          offsetY: (this._offset || 0),
+        }
+      default:
+        if (isDevMode()) {
+          throw new Error(`invalid value for SfngTooltipPosition: ${type}`)
+        }
+        // fallback to "right"
+        return this.getAllowedConnectedPosition('right')
+    }
+  }
+}
+
diff --git a/desktop/angular/projects/safing/ui/src/lib/ui.module.ts b/desktop/angular/projects/safing/ui/src/lib/ui.module.ts
new file mode 100644
index 00000000..e1f772ae
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/lib/ui.module.ts
@@ -0,0 +1,10 @@
+import { NgModule } from '@angular/core';
+import { SfngAccordionModule } from './accordion';
+
+
+@NgModule({
+  exports: [
+    SfngAccordionModule
+  ]
+})
+export class UiModule { }
diff --git a/desktop/angular/projects/safing/ui/src/public-api.ts b/desktop/angular/projects/safing/ui/src/public-api.ts
new file mode 100644
index 00000000..e07d6adf
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/public-api.ts
@@ -0,0 +1,16 @@
+/*
+ * Public API Surface of ui
+ */
+
+export * from './lib/accordion';
+export * from './lib/dialog';
+export * from './lib/dropdown';
+export * from './lib/overlay-stepper';
+export * from './lib/pagination';
+export * from './lib/select';
+export * from './lib/tabs';
+export * from './lib/tipup';
+export * from './lib/toggle-switch';
+export * from './lib/tooltip';
+export * from './lib/ui.module';
+
diff --git a/desktop/angular/projects/safing/ui/src/test.ts b/desktop/angular/projects/safing/ui/src/test.ts
new file mode 100644
index 00000000..ceee7e40
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/src/test.ts
@@ -0,0 +1,16 @@
+// This file is required by karma.conf.js and loads recursively all the .spec and framework files
+
+import { getTestBed } from '@angular/core/testing';
+import {
+  BrowserDynamicTestingModule,
+  platformBrowserDynamicTesting
+} from '@angular/platform-browser-dynamic/testing';
+import 'zone.js';
+import 'zone.js/testing';
+
+// First, initialize the Angular testing environment.
+getTestBed().initTestEnvironment(
+  BrowserDynamicTestingModule,
+  platformBrowserDynamicTesting(),
+  { teardown: { destroyAfterEach: true } },
+);
diff --git a/desktop/angular/projects/safing/ui/theming.scss b/desktop/angular/projects/safing/ui/theming.scss
new file mode 100644
index 00000000..9c5bb3c9
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/theming.scss
@@ -0,0 +1,8 @@
+@import "./src/lib/select/select";
+@import "./src/lib/dialog/dialog";
+@import "./src/lib/pagination/pagination";
+@import "./src/lib/tabs/tab-group";
+@import "./src/lib/tipup/tipup";
+@import "./src/lib/tooltip/tooltip-component";
+@import "./src/lib/toggle-switch/toggle-switch";
+@import "./src/lib/dialog/confirm.dialog";
diff --git a/desktop/angular/projects/safing/ui/tsconfig.lib.json b/desktop/angular/projects/safing/ui/tsconfig.lib.json
new file mode 100644
index 00000000..703cd4fd
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/tsconfig.lib.json
@@ -0,0 +1,18 @@
+{
+  "extends": "../../../tsconfig.json",
+  "compilerOptions": {
+    "outDir": "../../../out-tsc/lib",
+    "declaration": true,
+    "declarationMap": true,
+    "inlineSources": true,
+    "types": [],
+    "lib": [
+      "dom",
+      "es2018"
+    ]
+  },
+  "exclude": [
+    "src/test.ts",
+    "**/*.spec.ts"
+  ]
+}
diff --git a/desktop/angular/projects/safing/ui/tsconfig.lib.prod.json b/desktop/angular/projects/safing/ui/tsconfig.lib.prod.json
new file mode 100644
index 00000000..71b135f6
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/tsconfig.lib.prod.json
@@ -0,0 +1,7 @@
+/* To learn more about this file see: https://angular.io/config/tsconfig. */
+{
+  "extends": "./tsconfig.lib.json",
+  "compilerOptions": {
+    "declarationMap": false
+  },
+}
diff --git a/desktop/angular/projects/safing/ui/tsconfig.spec.json b/desktop/angular/projects/safing/ui/tsconfig.spec.json
new file mode 100644
index 00000000..85392ee8
--- /dev/null
+++ b/desktop/angular/projects/safing/ui/tsconfig.spec.json
@@ -0,0 +1,17 @@
+/* To learn more about this file see: https://angular.io/config/tsconfig. */
+{
+  "extends": "../../../tsconfig.json",
+  "compilerOptions": {
+    "outDir": "../../../out-tsc/spec",
+    "types": [
+      "jasmine"
+    ]
+  },
+  "files": [
+    "src/test.ts"
+  ],
+  "include": [
+    "**/*.spec.ts",
+    "**/*.d.ts"
+  ]
+}
diff --git a/desktop/angular/projects/tauri-builtin/src/app/app.component.html b/desktop/angular/projects/tauri-builtin/src/app/app.component.html
new file mode 100644
index 00000000..c8897e1e
--- /dev/null
+++ b/desktop/angular/projects/tauri-builtin/src/app/app.component.html
@@ -0,0 +1,105 @@
+<div class="flex flex-row items-center justify-start text-white w-full gap-2 p-2">
+  <!-- Logo -->
+  <div class="relative w-24 h-20 flex-grow-0 flex-shrink-0 block" id="logo">
+    <svg stroke="currentColor" data-name="Layer-1" viewBox="0 0 128 128" class="animate-spin">
+      <g data-name="Main" fill-rule="evenodd">
+        <path shape-rendering="geometricPrecision" fill="#fff"
+          d="M176.11 36.73l-5-8.61a41.53 41.53 0 00-14.73 57.22l8.55-5.12a31.58 31.58 0 0111.19-43.49z"
+          transform="translate(-127.99 .01)" style="isolation:isolate" opacity=".8"></path>
+        <path shape-rendering="geometricPrecision" fill="#fff" class="inner"
+          d="M222.36 72.63a31.55 31.55 0 01-45 19.35l-4.62 8.84a41.54 41.54 0 0059.17-25.46z"
+          transform="translate(-127.99 .01)" style="isolation:isolate" opacity=".8"></path>
+      </g>
+    </svg>
+    <svg data-name="layer-2" viewBox="0 0 128 128" class="animate-spin">
+      <g data-name="Main" fill-rule="evenodd">
+        <path shape-rendering="geometricPrecision" fill="#fff"
+          d="M197 83a19.66 19.66 0 01-19.25-32.57l-4.5-4.27A25.87 25.87 0 00198.59 89z"
+          transform="translate(-127.99 .01)" style="isolation:isolate" opacity=".6"></path>
+      </g>
+    </svg>
+    <svg data-name="layer-3" viewBox="0 0 128 128">
+      <g data-name="Main" fill-rule="evenodd">
+        <path shape-rendering="geometricPrecision" fill="#fff"
+          d="M192 112.64A48.64 48.64 0 11240.64 64 48.64 48.64 0 01192 112.64zM256 64a64 64 0 10-64 64 64 64 0 0064-64z"
+          transform="translate(-127.99 .1)"></path>
+      </g>
+    </svg>
+  </div>
+
+  <div class="flex flex-col leading-3">
+    <h2>Safing</h2>
+    <h1 class="text-2xl">
+      Portmaster
+    </h1>
+  </div>
+</div>
+
+<div [ngSwitch]="status" class="text-base flex flex-row gap-4 mx-2 text-white mt-2 items-center justify-evenly"
+  [ngClass]="{
+      'bg-red-300 p-2 rounded shadow-inner': status !== 'Running' && status !== null
+    }">
+
+  <ng-template [ngSwitchCase]="null">
+    Connecting to System Service ...
+  </ng-template>
+
+  <ng-template [ngSwitchCase]="'Running'">
+    Connecting to System Service ...
+  </ng-template>
+
+  <ng-template [ngSwitchCase]="'Stopped'">
+
+    Portmaster System Service is not running:
+
+    <button (click)="startService()"
+      class="px-2 py-1 rounded uppercase text-xs block self-end btn bg-white bg-opacity-25 text-white hover:bg-red-100 cursor-pointer">
+      Start Now
+    </button>
+
+  </ng-template>
+
+  <ng-template [ngSwitchCase]="'NotFound'">
+    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
+      class="w-12 h-12">
+      <path stroke-linecap="round" stroke-linejoin="round"
+        d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126ZM12 15.75h.007v.008H12v-.008Z" />
+    </svg>
+
+    <span>
+      Failed to find Portmaster System Service.
+      <br />
+      Please reinstall the application.
+    </span>
+
+    <button (click)="getHelp()"
+      class="px-2 py-1 rounded uppercase text-xs block self-end btn bg-white bg-opacity-25 text-white hover:bg-red-100 cursor-pointer">Get
+      Help</button>
+  </ng-template>
+
+  <ng-template [ngSwitchCase]="'unsupported service manager'">
+    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
+      class="w-12 h-12">
+      <path stroke-linecap="round" stroke-linejoin="round"
+        d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126ZM12 15.75h.007v.008H12v-.008Z" />
+    </svg>
+
+    <span>
+      Your System Service Manager is not supported. Please make sure Portmaster is running.
+    </span>
+  </ng-template>
+
+  <ng-template [ngSwitchCase]="'unsupported operating system'">
+    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
+      class="w-12 h-12">
+      <path stroke-linecap="round" stroke-linejoin="round"
+        d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126ZM12 15.75h.007v.008H12v-.008Z" />
+    </svg>
+
+    <span>
+      Your System Service Manager is not supported. Please make sure Portmaster is running.
+    </span>
+  </ng-template>
+
+  <span *ngSwitchDefault>Unknown error: {{ status }}</span>
+</div>
\ No newline at end of file
diff --git a/desktop/angular/projects/tauri-builtin/src/app/app.component.ts b/desktop/angular/projects/tauri-builtin/src/app/app.component.ts
new file mode 100644
index 00000000..b39cd515
--- /dev/null
+++ b/desktop/angular/projects/tauri-builtin/src/app/app.component.ts
@@ -0,0 +1,52 @@
+import { OnInit, Component, inject } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { ServiceManagerStatus, TauriIntegrationService } from 'src/app/integration/taur-app';
+
+@Component({
+  selector: 'app-root',
+  standalone: true,
+  imports: [CommonModule],
+  templateUrl: './app.component.html',
+  styles: [
+    `
+      :host {
+        @apply block w-screen h-screen bg-background;
+      }
+
+      #logo svg {
+        @apply absolute w-20;
+      }
+    `,
+  ],
+})
+export class AppComponent implements OnInit {
+  private tauri = inject(TauriIntegrationService);
+
+  status: ServiceManagerStatus | string | null = null;
+
+  getHelp() {
+    this.tauri.openExternal("https://wiki.safing.io/en/Portmaster/App")
+  }
+
+  startService() {
+    this.tauri.startService()
+      .then(() => this.getStatus())
+      .catch(err => {
+        this.status = err.error;
+      });
+  }
+
+  getStatus() {
+    this.tauri.getServiceManagerStatus()
+      .then(result => {
+        this.status = result;
+      })
+      .catch(err => {
+        this.status = err.error;
+      })
+  }
+
+  ngOnInit() {
+    this.getStatus();
+  }
+}
diff --git a/desktop/angular/projects/tauri-builtin/src/app/app.config.ts b/desktop/angular/projects/tauri-builtin/src/app/app.config.ts
new file mode 100644
index 00000000..2b4aa00c
--- /dev/null
+++ b/desktop/angular/projects/tauri-builtin/src/app/app.config.ts
@@ -0,0 +1,12 @@
+import { ApplicationConfig } from '@angular/core';
+import { TauriIntegrationService } from 'src/app/integration/taur-app';
+
+export const appConfig: ApplicationConfig = {
+  providers: [
+    {
+      provide: TauriIntegrationService,
+      useClass: TauriIntegrationService,
+      deps: []
+    },
+  ],
+};
diff --git a/desktop/angular/projects/tauri-builtin/src/assets b/desktop/angular/projects/tauri-builtin/src/assets
new file mode 120000
index 00000000..2978ef39
--- /dev/null
+++ b/desktop/angular/projects/tauri-builtin/src/assets
@@ -0,0 +1 @@
+../../../assets
\ No newline at end of file
diff --git a/desktop/angular/projects/tauri-builtin/src/favicon.ico b/desktop/angular/projects/tauri-builtin/src/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..997406ad22c29aae95893fb3d666c30258a09537
GIT binary patch
literal 948
zcmV;l155mgP)<h;3K|Lk000e1NJLTq000~S0015c1^@s6KgE8Z00009a7bBm000XT
z000XT0n*)m`~Uz0W=TXrR7i=HS4&J2Q53!N>CBYU7IjCFmI-B}4sMJt3^s9NVg!P0
z6hDQy(L`XWMkB@zOLgN$4KYz;j0zZxq9KKdpZE#5@k0crP^5f9KO};h)ZDQ%ybhht
z%t<DF^WJ^$%)N8(nOiE8$$(XeL8%@9luMqDd3cT+XIb_^YH{kU)iX>9#h|nu0K(bJ
ztIkhEr!*UyrZWQ1k2+YkGqDi8Z<|mIN&$kzpKl{cNP=OQzXHz>vn+c)F)zO|Bou>E
z2|-d_=qY#Y+yOu1a}XI?cU}%04)zz%anD(XZC{#~WreV!a$7k2Ug`?&CUEc0EtrkZ
zL49MB)h!_K{H(*l_93D5tO0;BUnvYlo+;yss%n^&qjt6fZOa+}+FDO(<Bkhw>~2>G
z2dx@=JZ?DHP^;b7*Y1as5^uphBsh*s*z&MBd?e@I>-9kU>63PjP&^#5YTOb&x^6Cf
z?674rmSHB5Fk!{Gv7rv!?qX#ei_L(XtwVqLX3L}$MI|kJ*w(rhx~tc&L&xP#?cQow
zX_|gx$wMr3pRZIIr_;;O|8fAjd;1`nOeu5K(pCu7>^3E&D2OBBq?sY<UH^*#NTt${
zNF)_f745C&UQ!hOL6J5wC>a(%S?GwG&_0-s%_v$L@R!5H_fc)lOb9ZoOO#p`Nn`KU
z3LTTBtjwo`7(<AJG9luHgaE%Npo+H`lp+AIM{k6MKJszc@DM%lod&8TCER*o(XXcC
z8&nVTCXT+)%}_`PXo^}PJ?sF0i+ZEcPp`Gw`||ahk}N7#R#vq!${S`X0z(`KO6v$+
zMMZ<lOR*4Z^w4CXBMvpS<Pee{U^01BA?Uh&H@~OZ--v#JEQN=UdUMG1z|8D<@>HA6
z7gmO$yTR!5L>Bsg!X8616{JUngg_<CkvB3~uoT|Ddv8jJB0!diUI=K4ehj*vX2h(Q
zAz{=+<pcIMznABWNDpCr>@&85%>W=<KFI{w!MTfFH&rswzr*pd&s_k3#Fq-Gj~P%^
zungQTS7mB(`UGii*a&Ca#w!4DJm0!eNS%W4gXg%tYFns>mChTR;x4`P=?PJ~oPuy5
zU-L`C@_!34D21{fD~Y8NVnR3t;aqZI3fIhmgmx}$oc-dKDC6Ap$Gy>a!`A*x2L1v0
WcZ@i?LyX}70000<MNUMnLSTXxWwRmx

literal 0
HcmV?d00001

diff --git a/desktop/angular/projects/tauri-builtin/src/index.html b/desktop/angular/projects/tauri-builtin/src/index.html
new file mode 100644
index 00000000..e99290a6
--- /dev/null
+++ b/desktop/angular/projects/tauri-builtin/src/index.html
@@ -0,0 +1,13 @@
+<!doctype html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title>TauriBuiltin</title>
+  <base href="/">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <link rel="icon" type="image/x-icon" href="favicon.ico">
+</head>
+<body>
+  <app-root></app-root>
+</body>
+</html>
diff --git a/desktop/angular/projects/tauri-builtin/src/main.ts b/desktop/angular/projects/tauri-builtin/src/main.ts
new file mode 100644
index 00000000..35b00f34
--- /dev/null
+++ b/desktop/angular/projects/tauri-builtin/src/main.ts
@@ -0,0 +1,6 @@
+import { bootstrapApplication } from '@angular/platform-browser';
+import { appConfig } from './app/app.config';
+import { AppComponent } from './app/app.component';
+
+bootstrapApplication(AppComponent, appConfig)
+  .catch((err) => console.error(err));
diff --git a/desktop/angular/projects/tauri-builtin/src/styles.scss b/desktop/angular/projects/tauri-builtin/src/styles.scss
new file mode 100644
index 00000000..66a2c66c
--- /dev/null
+++ b/desktop/angular/projects/tauri-builtin/src/styles.scss
@@ -0,0 +1,7 @@
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
+
+@import "safing/ui/theming";
+
+/** foboar **/
diff --git a/desktop/angular/projects/tauri-builtin/tsconfig.app.json b/desktop/angular/projects/tauri-builtin/tsconfig.app.json
new file mode 100644
index 00000000..f12c6239
--- /dev/null
+++ b/desktop/angular/projects/tauri-builtin/tsconfig.app.json
@@ -0,0 +1,10 @@
+/* To learn more about this file see: https://angular.io/config/tsconfig. */
+{
+  "extends": "../../tsconfig.json",
+  "compilerOptions": {
+    "outDir": "../../out-tsc/app",
+    "types": []
+  },
+  "files": ["src/main.ts"],
+  "include": ["src/**/*.d.ts", "../../src/electron-app.d.ts"]
+}
diff --git a/desktop/angular/proxy.json b/desktop/angular/proxy.json
new file mode 100644
index 00000000..c60a2a4c
--- /dev/null
+++ b/desktop/angular/proxy.json
@@ -0,0 +1,6 @@
+{
+  "/api": {
+    "target": "http://localhost:817/",
+    "secure": false
+  }
+}
diff --git a/desktop/angular/src/app/app-routing.module.ts b/desktop/angular/src/app/app-routing.module.ts
new file mode 100644
index 00000000..2324ae8b
--- /dev/null
+++ b/desktop/angular/src/app/app-routing.module.ts
@@ -0,0 +1,68 @@
+import { NgModule } from '@angular/core';
+import { RouterModule, Routes } from '@angular/router';
+import { AppViewComponent } from './pages/app-view';
+import { DashboardPageComponent } from './pages/dashboard/dashboard.component';
+import { MonitorPageComponent } from './pages/monitor';
+import { SettingsComponent } from './pages/settings/settings';
+import { SpnPageComponent } from './pages/spn';
+import { SupportPageComponent } from './pages/support';
+import { SupportFormComponent } from './pages/support/form';
+
+const routes: Routes = [
+  {
+    path: '',
+    pathMatch: 'full',
+    redirectTo: 'dashboard',
+  },
+  {
+    path: 'settings',
+    component: SettingsComponent,
+  },
+  {
+    path: 'app',
+    pathMatch: 'full',
+    redirectTo: 'app/overview',
+  },
+  {
+    path: 'app/overview',
+    component: AppViewComponent,
+  },
+  {
+    path: 'app/:source/:id',
+    component: AppViewComponent,
+  },
+  {
+    path: 'monitor',
+    component: MonitorPageComponent,
+  },
+  {
+    path: 'monitor/profile/:source/:profile',
+    redirectTo: 'monitor',
+  },
+  {
+    path: 'support',
+    component: SupportPageComponent,
+  },
+  {
+    path: 'support/:id',
+    component: SupportFormComponent,
+  },
+  {
+    path: 'spn',
+    component: SpnPageComponent,
+  },
+  {
+    path: '**',
+    redirectTo: 'dashboard'
+  },
+  {
+    path: 'dashboard',
+    component: DashboardPageComponent
+  }
+];
+
+@NgModule({
+  imports: [RouterModule.forRoot(routes, { anchorScrolling: 'enabled' })],
+  exports: [RouterModule]
+})
+export class AppRoutingModule { }
diff --git a/desktop/angular/src/app/app.component.html b/desktop/angular/src/app/app.component.html
new file mode 100644
index 00000000..401b4a49
--- /dev/null
+++ b/desktop/angular/src/app/app.component.html
@@ -0,0 +1,53 @@
+<app-navigation #navigation (sideDashChange)="onSideDashChange($event)" class="relative block bg-background">
+</app-navigation>
+
+<div *ngIf="sideDashStatus === 'expanded' && sideDashOverlay" (click)="navigation.toggleSideDash($event)" [@fadeIn]
+  [@fadeOut] class="absolute top-0 bottom-0 right-0 left-16 dialog-screen-backdrop-light" style="z-index: 100"></div>
+
+<app-side-dash class="flex-shrink-0" style="z-index: 100"
+  [ngClass]="{'absolute top-0 left-16 bg-gray-1002 h-full shadow-2xl': sideDashOverlay, 'relative': !sideDashOverlay}"
+  *ngIf="sideDashStatus === 'expanded'" [@fadeIn] (@fadeIn.done)="windowResizeChange.next()" [@fadeOut]
+  (@fadeOut.done)="windowResizeChange.next()">
+</app-side-dash>
+
+<div class="main" #mainContent>
+  <router-outlet></router-outlet>
+</div>
+
+<div class="loading" *ngIf="(showOverlay$ | async) as overlayText" [@fadeIn] [@fadeOut]>
+  <div class="message">
+    <div class="logo" routerLink="monitor">
+      <svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
+        viewBox="0 0 128 128" class="spin reverse">
+        <g data-name="Main" fill-rule="evenodd">
+          <path fill="#fff" class="inner"
+            d="M176.11 36.73l-5-8.61a41.53 41.53 0 00-14.73 57.22l8.55-5.12a31.58 31.58 0 0111.19-43.49z"
+            transform="translate(-127.99 .01)" style="isolation:isolate" opacity=".8"></path>
+          <path fill="#fff" class="inner"
+            d="M222.36 72.63a31.55 31.55 0 01-45 19.35l-4.62 8.84a41.54 41.54 0 0059.17-25.46z"
+            transform="translate(-127.99 .01)" style="isolation:isolate" opacity=".8"></path>
+        </g>
+      </svg>
+
+      <svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
+        viewBox="0 0 128 128" class="spin">
+        <g data-name="Main" fill-rule="evenodd">
+          <path fill="#fff" class="inner reverse"
+            d="M197 83a19.66 19.66 0 01-19.25-32.57l-4.5-4.27A25.87 25.87 0 00198.59 89z"
+            transform="translate(-127.99 .01)" style="isolation:isolate" opacity=".6"></path>
+        </g>
+      </svg>
+
+      <svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
+        viewBox="0 0 128 128">
+        <g data-name="Main" fill-rule="evenodd">
+          <path fill="#fff"
+            d="M192 112.64A48.64 48.64 0 11240.64 64 48.64 48.64 0 01192 112.64zM256 64a64 64 0 10-64 64 64 64 0 0064-64z"
+            transform="translate(-127.99 .1)"></path>
+        </g>
+      </svg>
+    </div>
+    <h1>{{overlayText}}</h1>
+    <h1>...</h1>
+  </div>
+</div>
diff --git a/desktop/angular/src/app/app.component.scss b/desktop/angular/src/app/app.component.scss
new file mode 100644
index 00000000..52cb3a92
--- /dev/null
+++ b/desktop/angular/src/app/app.component.scss
@@ -0,0 +1,114 @@
+:host {
+  display: flex;
+  @apply bg-background;
+  @apply h-screen overflow-hidden;
+
+  &>* {
+    flex-shrink: 0;
+  }
+}
+
+app-navigation,
+app-side-dash {
+  @apply border-r;
+  @apply border-cards-tertiary;
+  @apply bg-background;
+}
+
+app-navigation {
+  @apply w-16;
+}
+
+div.main {
+  flex-grow: 1;
+  flex-shrink: 1;
+
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  @apply bg-background;
+  height: 100vh;
+  overflow: hidden;
+}
+
+app-debug {
+  @apply border-l;
+  @apply border-cards-tertiary;
+  @apply bg-background;
+
+  width: 30vw;
+  height: 100vh;
+  min-width: 350px;
+  top: 0px;
+  position: sticky;
+}
+
+.loading {
+  z-index: 100;
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  flex-direction: column;
+  backdrop-filter: blur(10px);
+  background-color: rgba(#222222, 0.35);
+
+  .message {
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    width: 100%;
+    flex-direction: column;
+  }
+
+  svg {
+    width: 100%;
+    position: absolute;
+    top: 0;
+    left: 0;
+  }
+
+  div.logo {
+    opacity: 0.8;
+    position: relative;
+    width: 10vh;
+    height: 10vh;
+    @apply mt-4;
+  }
+
+  .spin {
+    animation-name: spin;
+    animation-duration: 3500ms;
+    animation-iteration-count: infinite;
+    animation-timing-function: linear;
+  }
+
+  .reverse {
+    animation-name: spin-reverse;
+  }
+}
+
+
+@keyframes spin {
+  0% {
+    transform: rotate(0deg);
+  }
+
+  100% {
+    transform: rotate(360deg);
+  }
+}
+
+@keyframes spin-reverse {
+  0% {
+    transform: rotate(360deg);
+  }
+
+  100% {
+    transform: rotate(0deg);
+  }
+}
diff --git a/desktop/angular/src/app/app.component.spec.ts b/desktop/angular/src/app/app.component.spec.ts
new file mode 100644
index 00000000..200892c0
--- /dev/null
+++ b/desktop/angular/src/app/app.component.spec.ts
@@ -0,0 +1,28 @@
+import { TestBed, waitForAsync } from '@angular/core/testing';
+import { RouterTestingModule } from '@angular/router/testing';
+import { AppComponent } from './app.component';
+
+describe('AppComponent', () => {
+  beforeEach(waitForAsync(() => {
+    TestBed.configureTestingModule({
+      imports: [
+        RouterTestingModule
+      ],
+      declarations: [
+        AppComponent
+      ],
+    }).compileComponents();
+  }));
+
+  it('should create the app', () => {
+    const fixture = TestBed.createComponent(AppComponent);
+    const app = fixture.componentInstance;
+    expect(app).toBeTruthy();
+  });
+
+  it(`should have as title 'portmaster'`, () => {
+    const fixture = TestBed.createComponent(AppComponent);
+    const app = fixture.componentInstance;
+    expect(app.title).toEqual('portmaster');
+  });
+});
diff --git a/desktop/angular/src/app/app.component.ts b/desktop/angular/src/app/app.component.ts
new file mode 100644
index 00000000..1ea813cd
--- /dev/null
+++ b/desktop/angular/src/app/app.component.ts
@@ -0,0 +1,234 @@
+import { Overlay } from '@angular/cdk/overlay';
+import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, HostListener, Inject, NgZone, OnInit, Renderer2, ViewChild } from '@angular/core';
+import { Params, Router } from '@angular/router';
+import { PortapiService } from '@safing/portmaster-api';
+import { OverlayStepper, SfngDialogService, StepperRef } from '@safing/ui';
+import { BehaviorSubject, merge, Subject } from 'rxjs';
+import { debounceTime, filter, mergeMap, skip, startWith, take } from 'rxjs/operators';
+import { IntroModule } from './intro';
+import { NotificationsService, UIStateService } from './services';
+import { ActionIndicatorService } from './shared/action-indicator';
+import { fadeInAnimation, fadeOutAnimation } from './shared/animations';
+import { ExitService } from './shared/exit-screen';
+import { SfngNetquerySearchOverlayComponent } from './shared/netquery/search-overlay';
+import { INTEGRATION_SERVICE, IntegrationService } from './integration';
+import { TauriIntegrationService } from './integration/taur-app';
+
+@Component({
+  selector: 'app-root',
+  templateUrl: './app.component.html',
+  styleUrls: ['./app.component.scss'],
+  animations: [
+    fadeInAnimation,
+    fadeOutAnimation,
+  ]
+})
+export class AppComponent implements OnInit, AfterViewInit {
+  readonly connected = this.portapi.connected$.pipe(
+    debounceTime(250),
+    startWith(false)
+  );
+  title = 'portmaster';
+
+  /** The current status of the side dash as emitted by the navigation component */
+  sideDashStatus: 'collapsed' | 'expanded' = 'expanded';
+
+  /** Whether or not the side-dash is in overlay mode */
+  sideDashOverlay = false;
+
+  /** The MQL to watch for screen size changes. */
+  private mql!: MediaQueryList;
+
+  /** Emits when the side-dash is opened or closed in non-overlay mode */
+  private sideDashOpen = new BehaviorSubject<boolean>(false);
+
+  /** Used to emit when the window size changed */
+  windowResizeChange = new Subject<void>();
+
+  get sideDashOpen$() { return this.sideDashOpen.asObservable() }
+
+  get showOverlay$() { return this.exitService.showOverlay$ }
+
+  get onContentSizeChange$() {
+    return merge(
+      this.windowResizeChange,
+      this.sideDashOpen$
+    )
+      .pipe(
+        startWith(undefined),
+        debounceTime(100),
+      )
+  }
+
+  @ViewChild('mainContent', { read: ElementRef, static: true })
+  mainContent!: ElementRef<HTMLDivElement>;
+
+  @HostListener('window:resize')
+  onWindowResize() {
+    this.windowResizeChange.next();
+  }
+
+  @HostListener('document:keydown', ['$event'])
+  onKeyDown(event: KeyboardEvent) {
+    if (event.key === ' ' && event.ctrlKey) {
+      this.dialog.create(
+        SfngNetquerySearchOverlayComponent,
+        {
+          positionStrategy: this.overlay
+            .position()
+            .global()
+            .centerHorizontally()
+            .top('1rem'),
+          backdrop: 'light',
+          autoclose: true,
+        }
+      )
+      return;
+    }
+  }
+
+  constructor(
+    public ngZone: NgZone,
+    public portapi: PortapiService,
+    public changeDetectorRef: ChangeDetectorRef,
+    private router: Router,
+    private exitService: ExitService,
+    private overlayStepper: OverlayStepper,
+    private dialog: SfngDialogService,
+    private overlay: Overlay,
+    private stateService: UIStateService,
+    private renderer2: Renderer2,
+    @Inject(INTEGRATION_SERVICE) private integration: IntegrationService,
+  ) {
+    (window as any).portapi = portapi;
+  }
+
+  onSideDashChange(state: 'expanded' | 'collapsed' | 'force-overlay') {
+    if (state === 'force-overlay') {
+      state = 'expanded';
+      if (!this.sideDashOverlay) {
+        this.sideDashOverlay = true;
+      }
+    } else {
+      this.sideDashOverlay = this.mql.matches;
+    }
+
+    this.sideDashStatus = state;
+
+    if (!this.sideDashOverlay) {
+      this.sideDashOpen.next(this.sideDashStatus === 'expanded')
+    }
+  }
+
+  ngOnInit() {
+    // default breakpoints used by tailwindcss
+    const minContentWithBp = [
+      640,  // sfng-sm:
+      768,  // sfng-md:
+      1024, // sfng-lg:
+      1280, // sfng-xl:
+      1536  // sfng-2xl:
+    ]
+
+    // prepare our breakpoint listeners and add the classes to our main element
+    merge(
+      this.windowResizeChange,
+      this.sideDashOpen$
+    )
+      .pipe(
+        startWith(undefined),
+        debounceTime(100),
+      )
+      .subscribe(() => {
+        const rect = (this.mainContent.nativeElement as HTMLElement).getBoundingClientRect();
+
+        minContentWithBp.forEach((bp, idx) => {
+          if (rect.width >= bp) {
+            this.renderer2.addClass(this.mainContent.nativeElement, `min-width-${bp}px`)
+          } else {
+            this.renderer2.removeClass(this.mainContent.nativeElement, `min-width-${bp}px`)
+          }
+        })
+
+        this.changeDetectorRef.markForCheck();
+      })
+
+    // force a reload of the current route if we reconnected to
+    // portmaster. This ensures we'll refresh any data that's currently
+    // displayed.
+    this.connected
+      .pipe(
+        filter(connected => !!connected),
+        skip(1),
+      )
+      .subscribe(async () => {
+        const location = new URL(window.location.toString());
+
+        const params: Params = {}
+        location.searchParams.forEach((value, key) => {
+          params[key] = [
+            ...(params[key] || []),
+            value,
+          ]
+        })
+
+        await this.router.navigateByUrl('/', { skipLocationChange: true })
+        this.router.navigate([location.pathname], {
+          queryParams: params,
+        });
+      })
+
+    this.stateService.uiState()
+      .pipe(take(1))
+      .subscribe(state => {
+        if (!state.introScreenFinished) {
+          this.showIntro();
+        }
+      })
+
+    this.mql = window.matchMedia('(max-width: 1200px)');
+    this.sideDashOverlay = this.mql.matches;
+
+    this.mql.addEventListener('change', () => {
+      this.sideDashOverlay = this.mql.matches;
+
+      if (!this.sideDashOverlay) {
+        this.sideDashOpen.next(this.sideDashStatus === 'expanded')
+      }
+    })
+  }
+
+  ngAfterViewInit(): void {
+    this.sideDashOpen.next(this.sideDashStatus !== 'collapsed')
+
+    if (this.integration instanceof TauriIntegrationService) {
+      let tauri = this.integration;
+
+      tauri.shouldShow()
+        .then(show => {
+          console.log("should open window: ", show)
+          if (show) {
+            tauri.openApp();
+          }
+        });
+    }
+  }
+
+  showIntro(): StepperRef {
+    const stepperRef = this.overlayStepper.create(IntroModule.Stepper)
+
+    stepperRef.onFinish.subscribe(() => {
+      this.stateService.uiState()
+        .pipe(
+          take(1),
+          mergeMap(state => this.stateService.saveState({
+            ...state,
+            introScreenFinished: true
+          }))
+        )
+        .subscribe();
+    })
+
+    return stepperRef;
+  }
+}
diff --git a/desktop/angular/src/app/app.module.ts b/desktop/angular/src/app/app.module.ts
new file mode 100644
index 00000000..c90aaec5
--- /dev/null
+++ b/desktop/angular/src/app/app.module.ts
@@ -0,0 +1,240 @@
+import { DragDropModule } from '@angular/cdk/drag-drop';
+import { OverlayModule } from '@angular/cdk/overlay';
+import { PortalModule } from '@angular/cdk/portal';
+import { ScrollingModule } from '@angular/cdk/scrolling';
+import { CdkTableModule } from '@angular/cdk/table';
+import { CommonModule, registerLocaleData } from '@angular/common';
+import { HttpClientModule } from '@angular/common/http';
+
+import { APP_INITIALIZER, LOCALE_ID, NgModule } from '@angular/core';
+import { FormsModule, ReactiveFormsModule } from '@angular/forms';
+import { BrowserModule } from '@angular/platform-browser';
+import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
+import { FaIconLibrary, FontAwesomeModule } from '@fortawesome/angular-fontawesome';
+import { faGithub } from '@fortawesome/free-brands-svg-icons';
+import { far } from '@fortawesome/free-regular-svg-icons';
+import { fas } from '@fortawesome/free-solid-svg-icons';
+import { ConfigService, PortmasterAPIModule, StringSetting, getActualValue } from '@safing/portmaster-api';
+import { OverlayStepperModule, SfngAccordionModule, SfngDialogModule, SfngDropDownModule, SfngPaginationModule, SfngSelectModule, SfngTipUpModule, SfngToggleSwitchModule, SfngTooltipModule, TabModule, UiModule } from '@safing/ui';
+import MyYamlFile from 'js-yaml-loader!../i18n/helptexts.yaml';
+import * as i18n from 'ng-zorro-antd/i18n';
+import { MarkdownModule } from 'ngx-markdown';
+import { firstValueFrom } from 'rxjs';
+import { environment } from 'src/environments/environment';
+import { AppRoutingModule } from './app-routing.module';
+import { AppComponent } from './app.component';
+import { IntroModule } from './intro';
+import { NavigationComponent } from './layout/navigation/navigation';
+import { SideDashComponent } from './layout/side-dash/side-dash';
+import { AppOverviewComponent, AppViewComponent, QuickSettingInternetButtonComponent } from './pages/app-view';
+import { QsHistoryComponent } from './pages/app-view/qs-history/qs-history.component';
+import { QuickSettingSelectExitButtonComponent } from './pages/app-view/qs-select-exit/qs-select-exit';
+import { QuickSettingUseSPNButtonComponent } from './pages/app-view/qs-use-spn/qs-use-spn';
+import { DashboardPageComponent } from './pages/dashboard/dashboard.component';
+import { FeatureCardComponent } from './pages/dashboard/feature-card/feature-card.component';
+import { MonitorPageComponent } from './pages/monitor';
+import { SettingsComponent } from './pages/settings/settings';
+import { SPNModule } from './pages/spn/spn.module';
+import { SupportPageComponent } from './pages/support';
+import { SupportFormComponent } from './pages/support/form';
+import { NotificationsService } from './services';
+import { ActionIndicatorModule } from './shared/action-indicator';
+import { SfngAppIconModule } from './shared/app-icon';
+import { ConfigModule } from './shared/config';
+import { CountIndicatorModule } from './shared/count-indicator';
+import { CountryFlagModule } from './shared/country-flag';
+import { EditProfileDialog } from './shared/edit-profile-dialog';
+import { ExitScreenComponent } from './shared/exit-screen/exit-screen';
+import { ExpertiseModule } from './shared/expertise/expertise.module';
+import { ExternalLinkDirective } from './shared/external-link.directive';
+import { FeatureScoutComponent } from './shared/feature-scout';
+import { SfngFocusModule } from './shared/focus';
+import { FuzzySearchPipe } from './shared/fuzzySearch';
+import { LoadingComponent } from './shared/loading';
+import { SfngMenuModule } from './shared/menu';
+import { SfngMultiSwitchModule } from './shared/multi-switch';
+import { NetqueryModule } from './shared/netquery';
+import { NetworkScoutComponent } from './shared/network-scout';
+import { NotificationListComponent } from './shared/notification-list/notification-list.component';
+import { NotificationComponent } from './shared/notification/notification';
+import { CommonPipesModule } from './shared/pipes';
+import { ProcessDetailsDialogComponent } from './shared/process-details-dialog';
+import { PromptListComponent } from './shared/prompt-list/prompt-list.component';
+import { SecurityLockComponent } from './shared/security-lock';
+import { SPNAccountDetailsComponent } from './shared/spn-account-details';
+import { SPNLoginComponent } from './shared/spn-login';
+import { SPNStatusComponent } from './shared/spn-status';
+import { PilotWidgetComponent } from './shared/status-pilot';
+import { PlaceholderComponent } from './shared/text-placeholder';
+import { DashboardWidgetComponent } from './pages/dashboard/dashboard-widget/dashboard-widget.component';
+import { MergeProfileDialogComponent } from './pages/app-view/merge-profile-dialog/merge-profile-dialog.component';
+import { AppInsightsComponent } from './pages/app-view/app-insights/app-insights.component';
+import { INTEGRATION_SERVICE, integrationServiceFactory } from './integration';
+import { SupportProgressDialogComponent } from './pages/support/progress-dialog';
+
+function loadAndSetLocaleInitializer(configService: ConfigService) {
+  return async function () {
+    let angularLocaleID = 'en-GB';
+    let nzLocaleID: string = 'en_GB';
+
+    try {
+      const setting = await firstValueFrom(configService.get("core/locale"))
+
+      const currentValue = getActualValue(setting as StringSetting);
+      switch (currentValue) {
+        case 'en-US':
+          angularLocaleID = 'en-US'
+          nzLocaleID = 'en_US'
+          break;
+        case 'en-GB':
+          angularLocaleID = 'en-GB'
+          nzLocaleID = 'en_GB'
+          break;
+
+        default:
+          console.error(`Unsupported locale value: ${currentValue}, defaulting to en-GB`)
+      }
+    } catch (err) {
+      console.error(`failed to get locale setting, using default en-GB:`, err)
+    }
+
+    try {
+      // Get name of module.
+      let localeModuleID = angularLocaleID;
+      if (localeModuleID == "en-US") {
+        localeModuleID = "en";
+      }
+
+      /* webpackInclude: /(en|en-GB)\.mjs$/ */
+      /* webpackChunkName: "./l10n-base/[request]"*/
+      await import(`../../node_modules/@angular/common/locales/${localeModuleID}.mjs`)
+        .then(locale => {
+          registerLocaleData(locale.default)
+
+          localeConfig.localeId = angularLocaleID;
+          localeConfig.nzLocale = (i18n as any)[nzLocaleID];
+        })
+    } catch (err) {
+      console.error(`failed to load locale module for ${angularLocaleID}:`, err)
+    }
+  }
+}
+
+const localeConfig = {
+  nzLocale: i18n.en_GB,
+  localeId: 'en-GB'
+}
+
+@NgModule({
+  declarations: [
+    AppComponent,
+    NotificationComponent,
+    SettingsComponent,
+    MonitorPageComponent,
+    SideDashComponent,
+    NavigationComponent,
+    PilotWidgetComponent,
+    NotificationListComponent,
+    PromptListComponent,
+    FuzzySearchPipe,
+    AppViewComponent,
+    QuickSettingInternetButtonComponent,
+    QuickSettingUseSPNButtonComponent,
+    QuickSettingSelectExitButtonComponent,
+    AppOverviewComponent,
+    PlaceholderComponent,
+    LoadingComponent,
+    ExternalLinkDirective,
+    ExitScreenComponent,
+    SupportPageComponent,
+    SupportFormComponent,
+    SecurityLockComponent,
+    SPNStatusComponent,
+    FeatureScoutComponent,
+    SPNLoginComponent,
+    SPNAccountDetailsComponent,
+    NetworkScoutComponent,
+    EditProfileDialog,
+    ProcessDetailsDialogComponent,
+    QsHistoryComponent,
+    DashboardPageComponent,
+    DashboardWidgetComponent,
+    FeatureCardComponent,
+    MergeProfileDialogComponent,
+    AppInsightsComponent,
+    SupportProgressDialogComponent
+  ],
+  imports: [
+    BrowserModule,
+    CommonModule,
+    BrowserAnimationsModule,
+    FormsModule,
+    ReactiveFormsModule,
+    AppRoutingModule,
+    FontAwesomeModule,
+    OverlayModule,
+    PortalModule,
+    CdkTableModule,
+    DragDropModule,
+    HttpClientModule,
+    MarkdownModule.forRoot(),
+    ScrollingModule,
+    SfngAccordionModule,
+    TabModule,
+    SfngTipUpModule.forRoot(MyYamlFile, NotificationsService),
+    SfngTooltipModule,
+    ActionIndicatorModule,
+    SfngDialogModule,
+    OverlayStepperModule,
+    IntroModule,
+    SfngDropDownModule,
+    SfngSelectModule,
+    SfngMultiSwitchModule,
+    SfngMenuModule,
+    SfngFocusModule,
+    SfngToggleSwitchModule,
+    SfngPaginationModule,
+    SfngAppIconModule,
+    ExpertiseModule,
+    ConfigModule,
+    CountryFlagModule,
+    CountIndicatorModule,
+    NetqueryModule,
+    CommonPipesModule,
+    UiModule,
+    SPNModule,
+    PortmasterAPIModule.forRoot({
+      httpAPI: environment.httpAPI,
+      websocketAPI: environment.portAPI,
+    }),
+  ],
+  bootstrap: [AppComponent],
+  providers: [
+    {
+      provide: APP_INITIALIZER, useFactory: loadAndSetLocaleInitializer, deps: [ConfigService], multi: true
+    },
+    {
+      provide: i18n.NZ_I18N, useFactory: () => {
+        console.log("nz-locale is set to", localeConfig.nzLocale)
+        return localeConfig.nzLocale
+      }
+    },
+    {
+      provide: LOCALE_ID, useFactory: () => {
+        console.log("locale-id is set to", localeConfig.localeId)
+        return localeConfig.localeId
+      }
+    },
+    {
+      provide: INTEGRATION_SERVICE,
+      useFactory: integrationServiceFactory
+    }
+  ]
+})
+export class AppModule {
+  constructor(library: FaIconLibrary) {
+    library.addIconPacks(fas, far);
+    library.addIcons(faGithub)
+  }
+}
+
diff --git a/desktop/angular/src/app/integration/browser.ts b/desktop/angular/src/app/integration/browser.ts
new file mode 100644
index 00000000..82504c3b
--- /dev/null
+++ b/desktop/angular/src/app/integration/browser.ts
@@ -0,0 +1,41 @@
+import { AppInfo, IntegrationService, ProcessInfo } from "./integration";
+
+export class BrowserIntegrationService implements IntegrationService {
+  writeToClipboard(text: string): Promise<void> {
+    if (!!navigator.clipboard) {
+      return navigator.clipboard.writeText(text);
+    }
+
+    return Promise.reject(new Error(`Clipboard API not supported`))
+  }
+
+  openExternal(pathOrUrl: string): Promise<void> {
+    window.open(pathOrUrl, '_blank')
+
+    return Promise.resolve();
+  }
+
+  getInstallDir(): Promise<string> {
+    return Promise.reject('Not supported in browser')
+  }
+
+  getAppIcon(_: ProcessInfo): Promise<string> {
+    return Promise.reject('Not supported in browser')
+  }
+
+  getAppInfo(_: ProcessInfo): Promise<AppInfo> {
+    return Promise.reject('Not supported in browser')
+  }
+
+  exitApp(): Promise<void> {
+    window.close();
+
+    return Promise.resolve();
+  }
+
+  onExitRequest(cb: () => void): () => void {
+    // nothing to do, there
+    return () => { }
+  }
+}
+
diff --git a/desktop/angular/src/app/integration/electron.ts b/desktop/angular/src/app/integration/electron.ts
new file mode 100644
index 00000000..71b63984
--- /dev/null
+++ b/desktop/angular/src/app/integration/electron.ts
@@ -0,0 +1,55 @@
+import { BrowserIntegrationService } from "./browser";
+import { AppInfo, ProcessInfo } from "./integration";
+
+export class ElectronIntegrationService extends BrowserIntegrationService {
+
+  openExternal(pathOrUrl: string): Promise<void> {
+    if (!!window.app) {
+      return window.app.openExternal(pathOrUrl);
+    }
+
+    return Promise.reject('No electron API available')
+  }
+
+  getInstallDir(): Promise<string> {
+    if (!!window.app) {
+      return window.app.getInstallDir()
+    }
+
+    return Promise.reject('No electron API available')
+  }
+
+  getAppIcon(info: ProcessInfo): Promise<string> {
+    if (!!window.app) {
+      return window.app.getFileIcon(info.execPath)
+    }
+
+    return Promise.reject('No electron API available')
+  }
+
+  getAppInfo(_: ProcessInfo): Promise<AppInfo> {
+    return Promise.reject('Not supported in electron')
+  }
+
+  exitApp(): Promise<void> {
+    if (!!window.app) {
+      window.app.exitApp();
+    }
+
+    return Promise.resolve();
+  }
+
+  onExitRequest(cb: () => void): () => void {
+    let listener = (event: MessageEvent<any>) => {
+      if (event.data === 'on-app-close') {
+        cb();
+      }
+    }
+
+    window.addEventListener('message', listener);
+
+    return () => {
+      window.removeEventListener('message', listener)
+    }
+  }
+}
diff --git a/desktop/angular/src/app/integration/factory.ts b/desktop/angular/src/app/integration/factory.ts
new file mode 100644
index 00000000..419f3ea9
--- /dev/null
+++ b/desktop/angular/src/app/integration/factory.ts
@@ -0,0 +1,22 @@
+import { InjectionToken } from "@angular/core";
+import { BrowserIntegrationService } from "./browser";
+import { ElectronIntegrationService } from "./electron";
+import { IntegrationService } from "./integration";
+import { TauriIntegrationService } from "./taur-app";
+
+export function integrationServiceFactory(): IntegrationService {
+  if ('__TAURI__' in window) {
+    console.log("[app] running under tauri")
+    return new TauriIntegrationService();
+  }
+
+  if ('app' in window) {
+    console.log("[app] running under electron")
+    return new ElectronIntegrationService();
+  }
+
+  console.log("[app] running in browser")
+  return new BrowserIntegrationService();
+}
+
+export const INTEGRATION_SERVICE = new InjectionToken<IntegrationService>('INTEGRATION_SERVICE');
diff --git a/desktop/angular/src/app/integration/index.ts b/desktop/angular/src/app/integration/index.ts
new file mode 100644
index 00000000..de9e8105
--- /dev/null
+++ b/desktop/angular/src/app/integration/index.ts
@@ -0,0 +1,2 @@
+export * from './integration';
+export * from './factory';
diff --git a/desktop/angular/src/app/integration/integration.ts b/desktop/angular/src/app/integration/integration.ts
new file mode 100644
index 00000000..ae426353
--- /dev/null
+++ b/desktop/angular/src/app/integration/integration.ts
@@ -0,0 +1,41 @@
+
+export interface AppInfo {
+  app_name: string;
+  comment: string;
+  icon_dataurl: string;
+  icon_path: string;
+}
+
+export interface ProcessInfo {
+  execPath: string;
+  cmdline: string;
+  pid: number;
+  matchingPath: string;
+}
+
+export interface IntegrationService {
+  /** writeToClipboard copies text to the system clipboard */
+  writeToClipboard(text: string): Promise<void>;
+
+  /** openExternal opens a file or URL in an external window */
+  openExternal(pathOrUrl: string): Promise<void>;
+
+  /** Gets the path to the portmaster installation directory */
+  getInstallDir(): Promise<string>;
+
+  /** Load application information (currently linux only) */
+  getAppInfo(info: ProcessInfo): Promise<AppInfo>;
+
+  /** Loads the application icon as a dataurl */
+  getAppIcon(info: ProcessInfo): Promise<string>;
+
+  /** Closes the application, does not return */
+  exitApp(): Promise<void>;
+
+  /** Registers a listener for on-close requests. */
+  onExitRequest(cb: () => void): () => void;
+}
+
+
+
+
diff --git a/desktop/angular/src/app/integration/taur-app.ts b/desktop/angular/src/app/integration/taur-app.ts
new file mode 100644
index 00000000..f48c3499
--- /dev/null
+++ b/desktop/angular/src/app/integration/taur-app.ts
@@ -0,0 +1,216 @@
+import { AppInfo, IntegrationService, ProcessInfo } from "./integration";
+import { writeText } from '@tauri-apps/plugin-clipboard-manager';
+import { open } from '@tauri-apps/plugin-shell';
+import { listen, once } from '@tauri-apps/api/event';
+import { invoke } from '@tauri-apps/api/core'
+import { getCurrent, Window } from '@tauri-apps/api/window';
+
+// Returns a new uuidv4. If crypto.randomUUID is not available it fals back to
+// using Math.random(). While this is not as random as it should be it's still
+// enough for our use-case here (which is just to generate a random response-id).
+function uuid(): string {
+  if (typeof crypto.randomUUID === 'function') {
+    return crypto.randomUUID();
+  }
+
+  // This one is not really random and not RFC compliant but serves enough for fallback
+  // purposes if the UI is opened in a browser that does not yet support randomUUID
+  console.warn('Using browser with lacking support for crypto.randomUUID()');
+
+  return Date.now().toString(36) + Math.random().toString(36).substring(2);
+}
+
+function asyncInvoke<T>(method: string, args: object): Promise<T> {
+  return new Promise<T>((resolve, reject) => {
+    const eventId = uuid();
+
+    once<T & { error: string }>(eventId, (event) => {
+      if (typeof event.payload === 'object' && 'error' in event.payload) {
+        reject(event.payload);
+        return
+      };
+
+      resolve(event.payload);
+    })
+
+    invoke<string>(method, {
+      ...args,
+      responseId: eventId,
+    }).catch((err: any) => {
+      console.error("tauri:invoke rejected: ", method, args, err);
+      reject(err)
+    });
+  })
+}
+
+export type ServiceManagerStatus = 'Running' | 'Stopped' | 'NotFound' | 'unsupported service manager' | 'unsupported operating system';
+
+export class TauriIntegrationService implements IntegrationService {
+  private withPrompts = false;
+
+  constructor() {
+    this.shouldHandlePrompts()
+      .then(result => {
+        this.withPrompts = result;
+      });
+
+    // listen for the portmaster:show event that is emitted
+    // when tauri want's to tell us that we should make our
+    // window visible.
+    listen("portmaster:show", () => {
+      this.openApp();
+    })
+  }
+
+  writeToClipboard(text: string): Promise<void> {
+    return writeText(text);
+  }
+
+  openExternal(pathOrUrl: string): Promise<void> {
+    return open(pathOrUrl);
+  }
+
+  getInstallDir(): Promise<string> {
+    return Promise.reject("not yet supported in tauri")
+  }
+
+  getAppInfo(info: ProcessInfo): Promise<AppInfo> {
+    return asyncInvoke("plugin:portmaster|get_app_info", {
+      ...info,
+    })
+  }
+
+  getAppIcon(info: ProcessInfo): Promise<string> {
+    return this.getAppInfo(info)
+      .then(info => info.icon_dataurl)
+  }
+
+  exitApp(): Promise<void> {
+    // we have two options here:
+    //  - close(): close the native tauri window and release all resources of it.
+    //             this has the disadvantage that if the user re-opens the window,
+    //             it will take slightly longer because angular need to re-bootstrap
+    //             the application.
+    //
+    //             IMPORTANT: the angular application will automatically launch prompt
+    //             windows via the tauri window interface. If we would call close(),
+    //             those prompts wouldn't work anymore because the angular app would not
+    //             be running in the background.
+    //
+    //  - hide(): just set the window visibility to false. The advantage is that angular
+    //            is still running and interacting with portmaster but it also means that
+    //            we waste some system resources due to tauri window objects and the angular
+    //            application.
+
+    getCurrent().hide()
+
+    return Promise.resolve();
+  }
+
+  // Tauri specific functions that are not defined in the IntegrationService interface.
+  // to use those methods you must check if integration instanceof TauriIntegrationService.
+
+  async shouldShow(): Promise<boolean> {
+    try {
+      const response = await invoke<string>("plugin:portmaster|should_show");
+      return response === "show";
+    } catch (err) {
+      console.error(err);
+      return true;
+    }
+  }
+
+  async shouldHandlePrompts(): Promise<boolean> {
+    try {
+      const response = await invoke<string>("plugin:portmaster|should_handle_prompts")
+      return response === "true"
+    } catch (err) {
+      console.error(err);
+      return false;
+    }
+  }
+
+  get_state(key: string): Promise<string> {
+    return invoke<string>("plugin:portmaster|get_state");
+  }
+
+  set_state(key: string, value: string): Promise<void> {
+    return invoke<void>("plugin:portmaster|set_state", {
+      key,
+      value
+    })
+  }
+
+  getServiceManagerStatus(): Promise<ServiceManagerStatus> {
+    return asyncInvoke("plugin:portmaster|get_service_manager_status", {})
+  }
+
+  startService(): Promise<any> {
+    return asyncInvoke("plugin:portmaster|start_service", {});
+  }
+
+  onExitRequest(cb: () => void): () => void {
+    let unlisten: () => void = () => { };
+
+    listen('exit-requested', () => {
+      cb();
+    }).then(cleanup => {
+      unlisten = cleanup;
+    })
+
+    return () => {
+      unlisten();
+    }
+  }
+
+  openApp() {
+    Window.getByLabel("splash")?.close();
+    const current = Window.getCurrent()
+
+    current.isVisible()
+      .then(visible => {
+        if (!visible) {
+          current.show();
+          current.setFocus();
+        }
+      });
+  }
+
+  closePrompt() {
+    Window.getByLabel("prompt")?.close();
+  }
+
+  openPrompt() {
+    if (!this.withPrompts) {
+      return;
+    }
+
+    if (Window.getByLabel("prompt")) {
+      return;
+    }
+
+    let promptWindow = new Window("prompt", {
+      alwaysOnTop: true,
+      decorations: false,
+      minimizable: false,
+      maximizable: false,
+      resizable: false,
+      title: 'Portmaster Prompt',
+      visible: false, // the prompt marks it self as visible.
+      skipTaskbar: true,
+      closable: false,
+      center: true,
+      width: 600,
+      height: 300,
+
+      // in src/main.ts we check the current location path
+      // and if it matches /prompt, we bootstrap the PromptEntryPointComponent
+      // instead of the AppComponent.
+      url: `http://${window.location.host}/prompt`,
+    } as any)
+
+    promptWindow.once("tauri://error", (err) => {
+      console.error(err);
+    });
+  }
+}
diff --git a/desktop/angular/src/app/intro/index.ts b/desktop/angular/src/app/intro/index.ts
new file mode 100644
index 00000000..b0328f4b
--- /dev/null
+++ b/desktop/angular/src/app/intro/index.ts
@@ -0,0 +1 @@
+export * from './intro.module';
diff --git a/desktop/angular/src/app/intro/intro.module.ts b/desktop/angular/src/app/intro/intro.module.ts
new file mode 100644
index 00000000..8be0f36b
--- /dev/null
+++ b/desktop/angular/src/app/intro/intro.module.ts
@@ -0,0 +1,36 @@
+import { OverlayModule } from "@angular/cdk/overlay";
+import { CommonModule } from "@angular/common";
+import { NgModule } from "@angular/core";
+import { FormsModule } from "@angular/forms";
+import { SfngDropDownModule, SfngTipUpModule, StepperConfig } from "@safing/ui";
+import { ConfigModule } from "../shared/config";
+import { Step1WelcomeComponent } from "./step-1-welcome";
+import { Step2TrackersComponent } from "./step-2-trackers";
+import { Step3DNSComponent } from "./step-3-dns";
+import { Step4TipupsComponent } from "./step-4-tipups";
+
+const steps = [
+  Step1WelcomeComponent,
+  Step2TrackersComponent,
+  Step3DNSComponent,
+  Step4TipupsComponent,
+]
+
+@NgModule({
+  imports: [
+    CommonModule,
+    OverlayModule,
+    FormsModule,
+    SfngDropDownModule,
+    ConfigModule,
+    SfngTipUpModule,
+  ],
+  declarations: steps
+})
+export class IntroModule {
+  static Stepper: StepperConfig = {
+    steps: steps,
+    canAbort: (idx) => idx === 0,
+  }
+}
+
diff --git a/desktop/angular/src/app/intro/step-1-welcome/index.ts b/desktop/angular/src/app/intro/step-1-welcome/index.ts
new file mode 100644
index 00000000..4261731e
--- /dev/null
+++ b/desktop/angular/src/app/intro/step-1-welcome/index.ts
@@ -0,0 +1 @@
+export * from './step-1-welcome';
diff --git a/desktop/angular/src/app/intro/step-1-welcome/step-1-welcome.html b/desktop/angular/src/app/intro/step-1-welcome/step-1-welcome.html
new file mode 100644
index 00000000..2c8010c6
--- /dev/null
+++ b/desktop/angular/src/app/intro/step-1-welcome/step-1-welcome.html
@@ -0,0 +1,14 @@
+<h1>Portmaster Protects Your Privacy</h1>
+
+<p>
+  Portmaster enhances your privacy with powerful defaults - no configuration needed! Of course you can customize
+  everything to your specific needs.
+</p>
+
+<!-- This card does not use the default button template -->
+<ng-template #buttonTemplate>
+  <button class="self-center w-56 py-2 mb-6 rounded-full bg-blue hover:bg-blue hover:bg-opacity-75"
+    (click)="stepRef.next()">
+    Quick Setup
+  </button>
+</ng-template>
diff --git a/desktop/angular/src/app/intro/step-1-welcome/step-1-welcome.ts b/desktop/angular/src/app/intro/step-1-welcome/step-1-welcome.ts
new file mode 100644
index 00000000..e6af4a15
--- /dev/null
+++ b/desktop/angular/src/app/intro/step-1-welcome/step-1-welcome.ts
@@ -0,0 +1,22 @@
+import { ChangeDetectionStrategy, Component, Inject, TemplateRef, ViewChild } from "@angular/core";
+import { Step, StepRef, STEP_REF } from "@safing/ui";
+import { of } from "rxjs";
+
+@Component({
+  templateUrl: './step-1-welcome.html',
+  styleUrls: ['../step.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class Step1WelcomeComponent implements Step {
+  validChange = of(true)
+
+  readonly nextButtonLabel = 'Quick Setup';
+
+  @ViewChild('buttonTemplate', { static: true })
+  buttonTemplate!: TemplateRef<any>;
+
+  constructor(
+    @Inject(STEP_REF) public stepRef: StepRef<void>,
+  ) { }
+}
+
diff --git a/desktop/angular/src/app/intro/step-2-trackers/index.ts b/desktop/angular/src/app/intro/step-2-trackers/index.ts
new file mode 100644
index 00000000..60b7451b
--- /dev/null
+++ b/desktop/angular/src/app/intro/step-2-trackers/index.ts
@@ -0,0 +1 @@
+export * from './step-2-trackers'
diff --git a/desktop/angular/src/app/intro/step-2-trackers/step-2-trackers.html b/desktop/angular/src/app/intro/step-2-trackers/step-2-trackers.html
new file mode 100644
index 00000000..bfd16cd1
--- /dev/null
+++ b/desktop/angular/src/app/intro/step-2-trackers/step-2-trackers.html
@@ -0,0 +1,11 @@
+<h1>Trackers Are Blocked System-Wide</h1>
+
+<p>Portmaster automatically blocks ads, trackers and malware hosts on your whole device. Portmaster knows what to block
+  through trusted domain lists, which are also used by Ad-Blockers in browsers, etc. You can always customize this in
+  the settings.</p>
+
+<sfng-dropdown label="Customize" class="w-full" maxHeight="300px" maxWidth="600px" offsetY="0">
+  <app-generic-setting class="h-full" [setting]="setting" [attr.id]="setting?.Key" (save)="saveSetting($event)"
+    enableActiveBorder="false" showHeader="false">
+  </app-generic-setting>
+</sfng-dropdown>
diff --git a/desktop/angular/src/app/intro/step-2-trackers/step-2-trackers.ts b/desktop/angular/src/app/intro/step-2-trackers/step-2-trackers.ts
new file mode 100644
index 00000000..82d5be4d
--- /dev/null
+++ b/desktop/angular/src/app/intro/step-2-trackers/step-2-trackers.ts
@@ -0,0 +1,48 @@
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, OnInit, inject } from "@angular/core";
+import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
+import { ConfigService, Setting } from "@safing/portmaster-api";
+import { Step } from "@safing/ui";
+import { of } from "rxjs";
+import { mergeMap } from "rxjs/operators";
+import { SaveSettingEvent } from "src/app/shared/config/generic-setting";
+
+@Component({
+  templateUrl: './step-2-trackers.html',
+  styleUrls: ['../step.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class Step2TrackersComponent implements Step, OnInit {
+  private destroyRef = inject(DestroyRef);
+
+  validChange = of(true)
+
+  setting: Setting | null = null;
+
+  constructor(
+    public configService: ConfigService,
+    public readonly elementRef: ElementRef,
+    private cdr: ChangeDetectorRef,
+  ) { }
+
+  ngOnInit(): void {
+    this.configService.get('filter/lists')
+      .pipe(
+        mergeMap(setting => {
+          this.setting = setting;
+
+          return this.configService.watch(setting.Key)
+        }),
+        takeUntilDestroyed(this.destroyRef),
+      )
+      .subscribe(value => {
+        this.setting!.Value = value;
+
+        this.cdr.markForCheck();
+      });
+  }
+
+  saveSetting(event: SaveSettingEvent) {
+    this.configService.save(event.key, event.value)
+      .subscribe()
+  }
+}
diff --git a/desktop/angular/src/app/intro/step-3-dns/index.ts b/desktop/angular/src/app/intro/step-3-dns/index.ts
new file mode 100644
index 00000000..85ccdb1a
--- /dev/null
+++ b/desktop/angular/src/app/intro/step-3-dns/index.ts
@@ -0,0 +1 @@
+export * from './step-3-dns'
diff --git a/desktop/angular/src/app/intro/step-3-dns/step-3-dns.html b/desktop/angular/src/app/intro/step-3-dns/step-3-dns.html
new file mode 100644
index 00000000..aa17288a
--- /dev/null
+++ b/desktop/angular/src/app/intro/step-3-dns/step-3-dns.html
@@ -0,0 +1,17 @@
+<h1>Secure DNS for All Connections</h1>
+
+<p>Portmaster automatically encrypts all your DNS queries to safeguard them from prying eyes. Portmaster sets a default
+  provider, but you can always switch to a custom DNS-over-TLS provider in the global settings.</p>
+
+<sfng-dropdown label="Customize" class="w-full" maxHeight="300px" maxWidth="600px" offsetY="0">
+  <div class="flex flex-wrap items-center justify-center w-full gap-6 px-8 py-8">
+    <button *ngFor="let button of quickSettings" [style.minWidth]="'6rem'" (click)="applyQuickSetting(button)"
+      [disabled]="isCustomValue" [class.bg-blue]="button.active" class="px-4 py-3">
+      {{ button.Name }}
+    </button>
+
+    <button class="w-24 px-4 py-3 bg-blue" *ngIf="isCustomValue">
+      Custom
+    </button>
+  </div>
+</sfng-dropdown>
diff --git a/desktop/angular/src/app/intro/step-3-dns/step-3-dns.ts b/desktop/angular/src/app/intro/step-3-dns/step-3-dns.ts
new file mode 100644
index 00000000..a1dddae6
--- /dev/null
+++ b/desktop/angular/src/app/intro/step-3-dns/step-3-dns.ts
@@ -0,0 +1,106 @@
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, OnInit, inject } from "@angular/core";
+import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
+import { ConfigService, QuickSetting, Setting, applyQuickSetting } from "@safing/portmaster-api";
+import { Step } from "@safing/ui";
+import { of } from "rxjs";
+import { mergeMap } from "rxjs/operators";
+import { SaveSettingEvent } from "src/app/shared/config/generic-setting";
+
+interface QuickSettingModel extends QuickSetting<any> {
+  active: boolean;
+}
+
+@Component({
+  templateUrl: './step-3-dns.html',
+  styleUrls: ['../step.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class Step3DNSComponent implements Step, OnInit {
+  private destroyRef = inject(DestroyRef);
+
+  validChange = of(true)
+
+  setting: Setting | null = null;
+  quickSettings: QuickSettingModel[] = [];
+  isCustomValue = false;
+
+  constructor(
+    public configService: ConfigService,
+    public readonly elementRef: ElementRef,
+    private cdr: ChangeDetectorRef,
+  ) { }
+
+  private getQuickSettings(): QuickSettingModel[] {
+    if (!this.setting) {
+      return [];
+    }
+
+    let val = this.setting.Annotations["safing/portbase:ui:quick-setting"];
+    if (val === undefined) {
+      return [];
+    }
+
+    if (!Array.isArray(val)) {
+      return [{
+        ...val,
+        active: false,
+      }]
+    }
+
+    return val.map(v => ({
+      ...v,
+      active: false,
+    }))
+  }
+
+  ngOnInit(): void {
+    this.configService.get('dns/nameservers')
+      .pipe(
+        mergeMap(setting => {
+          this.setting = setting;
+          this.quickSettings = this.getQuickSettings();
+          return this.configService.watch(setting.Key)
+        }),
+        takeUntilDestroyed(this.destroyRef),
+      )
+      .subscribe(value => {
+        this.setting!.Value = value;
+
+        let hasActive = false;
+        this.isCustomValue = false;
+
+        this.quickSettings.forEach(setting => {
+          if (this.setting?.Value !== undefined && JSON.stringify(this.setting.Value) === JSON.stringify(setting.Value)) {
+            setting.active = true;
+            hasActive = true;
+          } else {
+            setting.active = false;
+          }
+        });
+
+        if (!hasActive) {
+          if (this.setting?.Value !== undefined && JSON.stringify(this.setting!.Value) !== JSON.stringify(this.setting!.DefaultValue)) {
+            this.isCustomValue = true;
+          } else if (this.quickSettings.length > 0) {
+            this.quickSettings[0].active = true;
+          }
+        }
+
+        this.cdr.markForCheck();
+      });
+  }
+
+  saveSetting(event: SaveSettingEvent) {
+    this.configService.save(event.key, event.value)
+      .subscribe()
+  }
+
+  applyQuickSetting(action: QuickSetting<any>) {
+    const newValue = applyQuickSetting(
+      this.setting!.Value || this.setting!.DefaultValue,
+      action,
+    )
+    this.configService.save(this.setting!.Key, newValue)
+      .subscribe();
+  }
+}
diff --git a/desktop/angular/src/app/intro/step-4-tipups/index.ts b/desktop/angular/src/app/intro/step-4-tipups/index.ts
new file mode 100644
index 00000000..02886c50
--- /dev/null
+++ b/desktop/angular/src/app/intro/step-4-tipups/index.ts
@@ -0,0 +1 @@
+export * from './step-4-tipups'
diff --git a/desktop/angular/src/app/intro/step-4-tipups/step-4-tipups.html b/desktop/angular/src/app/intro/step-4-tipups/step-4-tipups.html
new file mode 100644
index 00000000..f15afd36
--- /dev/null
+++ b/desktop/angular/src/app/intro/step-4-tipups/step-4-tipups.html
@@ -0,0 +1,11 @@
+<h1>Learn More as You Explore</h1>
+
+<p>Portmaster has a lot more to offer. When you decide to dive deeper you can always click on an information icon to
+  learn more about a certain feature. Look out for those!</p>
+
+<div class="flex flex-col items-center justify-center gap-1 p-8 text-xxs">
+  <span class="text-tertiary">Click Me!</span>
+  <div class="flex items-center justify-center px-4 py-4 bg-gray-400 rounded">
+    <sfng-tipup class="transform scale-125" key="introTipup"></sfng-tipup>
+  </div>
+</div>
diff --git a/desktop/angular/src/app/intro/step-4-tipups/step-4-tipups.ts b/desktop/angular/src/app/intro/step-4-tipups/step-4-tipups.ts
new file mode 100644
index 00000000..5b0463a1
--- /dev/null
+++ b/desktop/angular/src/app/intro/step-4-tipups/step-4-tipups.ts
@@ -0,0 +1,12 @@
+import { ChangeDetectionStrategy, Component } from "@angular/core";
+import { Step } from "@safing/ui";
+import { of } from "rxjs";
+
+@Component({
+  templateUrl: './step-4-tipups.html',
+  styleUrls: ['../step.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class Step4TipupsComponent implements Step {
+  validChange = of(true)
+}
diff --git a/desktop/angular/src/app/intro/step.scss b/desktop/angular/src/app/intro/step.scss
new file mode 100644
index 00000000..1d17d9a2
--- /dev/null
+++ b/desktop/angular/src/app/intro/step.scss
@@ -0,0 +1,11 @@
+:host {
+  @apply flex flex-col items-center justify-center;
+}
+
+h1 {
+  @apply text-primary text-2xl font-medium capitalize text-center py-5;
+}
+
+p {
+  @apply text-tertiary text-sm font-medium text-center;
+}
diff --git a/desktop/angular/src/app/layout/navigation/navigation.html b/desktop/angular/src/app/layout/navigation/navigation.html
new file mode 100644
index 00000000..0359b2dd
--- /dev/null
+++ b/desktop/angular/src/app/layout/navigation/navigation.html
@@ -0,0 +1,230 @@
+<div class="flex flex-col items-center gap-1">
+  <div class="relative w-16 h-16">
+
+    <app-security-lock [@fadeIn] [@fadeOut] mode="small" class="absolute w-16 h-16" routerLink="dashboard"
+      *ngIf="sideDashStatus === 'collapsed'">
+    </app-security-lock>
+
+    <div class="absolute flex flex-col items-center justify-center w-16 h-16 outline-none" routerLink="dashboard"
+      [@fadeIn] [@fadeOut] *ngIf="sideDashStatus === 'expanded'">
+      <div class="relative">
+
+        <svg [class.connected]="(connected$ | async)" data-name="Layer 1" viewBox="0 0 128 128"
+          class="spin reverse logo-image">
+          <g data-name="Main" fill-rule="evenodd">
+            <path shape-rendering="geometricPrecision" fill="#fff" class="inner"
+              d="M176.11 36.73l-5-8.61a41.53 41.53 0 00-14.73 57.22l8.55-5.12a31.58 31.58 0 0111.19-43.49z"
+              transform="translate(-127.99 .01)" style="isolation:isolate" opacity=".8"></path>
+            <path shape-rendering="geometricPrecision" fill="#fff" class="inner"
+              d="M222.36 72.63a31.55 31.55 0 01-45 19.35l-4.62 8.84a41.54 41.54 0 0059.17-25.46z"
+              transform="translate(-127.99 .01)" style="isolation:isolate" opacity=".8"></path>
+          </g>
+        </svg>
+        <svg [class.connected]="(connected$ | async)" data-name="Layer 1" viewBox="0 0 128 128" class="spin logo-image">
+          <g data-name="Main" fill-rule="evenodd">
+            <path shape-rendering="geometricPrecision" fill="#fff" class="inner reverse"
+              d="M197 83a19.66 19.66 0 01-19.25-32.57l-4.5-4.27A25.87 25.87 0 00198.59 89z"
+              transform="translate(-127.99 .01)" style="isolation:isolate" opacity=".6"></path>
+          </g>
+        </svg>
+        <svg [class.connected]="(connected$ | async)" data-name="Layer 1" viewBox="0 0 128 128" class="logo-image">
+          <g data-name="Main" fill-rule="evenodd">
+            <path shape-rendering="geometricPrecision" fill="#fff"
+              d="M192 112.64A48.64 48.64 0 11240.64 64 48.64 48.64 0 01192 112.64zM256 64a64 64 0 10-64 64 64 64 0 0064-64z"
+              transform="translate(-127.99 .1)"></path>
+          </g>
+        </svg>
+      </div>
+    </div>
+  </div>
+
+  <div class="flex justify-center">
+    <sfng-tipup key="intro"></sfng-tipup>
+  </div>
+
+  <div class="nav-list">
+    <div class="relative link" (click)="toggleSideDash($event)">
+      <svg [class.-rotate-180]="sideDashStatus === 'expanded'" [class.bg-gray-400]="sideDashStatus === 'collapsed'"
+        xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"
+        class="w-5 h-5 transition-all duration-200 rounded">
+        <path fill-rule="evenodd"
+          d="M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z"
+          clip-rule="evenodd" />
+      </svg>
+    </div>
+  </div>
+
+  <div class="pt-1 border-t border-gray-400 nav-list">
+    <!-- The notification drop-down -->
+    <div sfngTipUpTrigger="navNotifications" sfngTipUpPassive class="relative mt-3" (click)="toggleSideDash($event)"
+      *ngIf="sideDashStatus !== 'expanded'">
+
+      <svg class="w-4 h-4 {{ hasNewNotifications ? notificationColor : 'text-tertiary' }}" xmlns="http://www.w3.org/2000/svg"
+        fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
+        <path stroke-linecap="round" stroke-linejoin="round"
+          d="M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9" />
+      </svg>
+    </div>
+
+    <!-- The prompt list drop-down -->
+    <div class="relative link" cdkOverlayOrigin #promptOrigin="cdkOverlayOrigin"
+      *ngIf="hasNewPrompts || globalPromptingEnabled" (click)="promptDropDown.toggle(promptOrigin)"
+      [class.active]="promptDropDown.isOpen">
+
+      <span *ngIf="hasNewPrompts" class="absolute w-1.5 h-1.5 bg-yellow-300 rounded-full top-1.5 right-1.5"></span>
+
+      <svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor"
+        stroke-width="2">
+        <path stroke-linecap="round" stroke-linejoin="round"
+          d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
+      </svg>
+    </div>
+    <sfng-dropdown [positions]="dropDownPositions" externalTrigger="true" #promptDropDown offsetY="0" offsetX="10"
+      overlayClass="rounded-t">
+      <app-prompt-list></app-prompt-list>
+    </sfng-dropdown>
+  </div>
+</div>
+
+
+<div class="nav-list">
+  <!-- Network Activity -->
+  <div sfng-tooltip="Network Activity" sfngTooltipDelay="1000" snfgTooltipPosition="right" routerLinkActive="active"
+    routerLink="monitor" class="link" sfngTipUpTrigger="navMonitor" sfngTipUpPassive>
+    <svg viewBox="0 0 24 24" class="monitor">
+      <g fill="none">
+        <path shape-rendering="geometricPrecision" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
+          d="M8.464 8.464c-1.953 1.953-1.953 5.118 0 7.071 1.953 1.953 5.118 1.953 7.071 0 1.953-1.953 1.953-5.119 0-7.071C14.559 7.488 13.28 7 12 7" />
+        <path shape-rendering="geometricPrecision" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
+          d="M5.636 5.636c-3.515 3.515-3.515 9.213 0 12.728 3.515 3.515 9.213 3.515 12.728 0 3.515-3.515 3.515-9.213 0-12.728-2.627-2.627-6.474-3.289-9.717-1.989M5.64 5.64L12 12" />
+      </g>
+    </svg>
+  </div>
+
+  <!-- App View -->
+  <div sfng-tooltip="Apps and Profiles" sfngTooltipDelay="1000" snfgTooltipPosition="right" routerLinkActive="active"
+    routerLink="app" class="link" sfngTipUpTrigger="navApps" sfngTipUpPassive>
+    <svg xmlns="http://www.w3.org/2000/svg" data-name="Layer 1" viewBox="0 0 24 24" class="app" fill="none">
+      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" fill="currentColor"
+        d="M19 21h-3a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2Z" />
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
+        d="M19 9h-3a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2ZM5 3h3a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2ZM5 15h3a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2a2 2 0 0 1 2-2Z" />
+    </svg>
+  </div>
+
+  <!-- SPN -->
+  <div sfng-tooltip="Safing Privacy Network" sfngTooltipDelay="1000" snfgTooltipPosition="right"
+    routerLinkActive="active" routerLink="spn" class="link" sfngTipUpTrigger="navMap" sfngTipUpPassive>
+    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="spn" stroke="currentColor">
+      <g fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="2">
+        <path
+          d="M6.488 15.581c.782.781.782 2.048 0 2.829-.782.781-2.049.781-2.83 0-.782-.781-.782-2.048 0-2.829.781-.781 2.048-.781 2.83 0M13.415 3.586c.782.781.782 2.048 0 2.829-.782.781-2.049.781-2.83 0-.782-.781-.782-2.048 0-2.829.781-.781 2.049-.781 2.83 0M20.343 15.58c.782.781.782 2.048 0 2.829-.782.781-2.049.781-2.83 0-.782-.781-.782-2.048 0-2.829.781-.781 2.048-.781 2.83 0" />
+        <path
+          d="M17.721 18.581C16.269 20.071 14.246 21 12 21c-1.146 0-2.231-.246-3.215-.68M4.293 15.152c-.56-1.999-.352-4.21.769-6.151.574-.995 1.334-1.814 2.205-2.449M13.975 5.254c2.017.512 3.834 1.799 4.957 3.743.569.985.899 2.041 1.018 3.103" />
+      </g>
+    </svg>
+  </div>
+
+  <!-- Global Settings -->
+  <div sfng-tooltip="Global Settings" sfngTooltipDelay="1000" snfgTooltipPosition="right" routerLinkActive="active"
+    routerLink="settings" class="link" sfngTipUpTrigger="navSettings" sfngTipUpPassive>
+    <svg viewBox="0 0 24 24" class="settings">
+      <g fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="2">
+        <path shape-rendering="geometricPrecision"
+          d="M13.7678 10.2322c.976311.976311.976311 2.55922 0 3.53553-.976311.976311-2.55922.976311-3.53553 0-.976311-.976311-.976311-2.55922 0-3.53553.976311-.976311 2.55922-.976311 3.53553 0" />
+        <path shape-rendering="geometricPrecision"
+          d="M14.849 4.12l.583.194c.534.178.895.678.895 1.241v.837c0 .712.568 1.293 1.28 1.308l.838.018c.485.01.925.289 1.142.723l.275.55c.252.504.153 1.112-.245 1.51l-.592.592c-.503.503-.512 1.316-.02 1.83l.58.606c.336.351.45.858.296 1.319l-.194.583c-.178.534-.678.895-1.241.895h-.837c-.712 0-1.293.568-1.308 1.28l-.018.838c-.01.485-.289.925-.723 1.142l-.55.275c-.504.252-1.112.153-1.51-.245l-.592-.592c-.503-.503-1.316-.512-1.83-.02l-.606.58c-.351.336-.858.45-1.319.296l-.583-.194c-.534-.178-.895-.678-.895-1.241v-.837c0-.712-.568-1.293-1.28-1.308l-.838-.018c-.485-.01-.925-.289-1.142-.723l-.275-.55c-.252-.504-.153-1.112.245-1.51l.592-.592c.503-.503.512-1.316.02-1.83l-.58-.606c-.337-.352-.451-.86-.297-1.32l.194-.583c.178-.534.678-.895 1.241-.895h.837c.712 0 1.293-.568 1.308-1.28l.018-.838c.012-.485.29-.925.724-1.142l.55-.275c.504-.252 1.112-.153 1.51.245l.592.592c.503.503 1.316.512 1.83.02l.606-.58c.351-.335.859-.449 1.319-.295z" />
+      </g>
+    </svg>
+  </div>
+
+  <div class="w-full border-t border-gray-400"></div>
+
+  <div sfng-tooltip="Get Help" sfngTooltipDelay="1000" snfgTooltipPosition="right" routerLink="support"
+    routerLinkActive="active" class="link" sfngTipUpTrigger="navSupport" sfngTipUpPassive>
+    <svg viewBox="0 0 24 24" class="help">
+      <g fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="2">
+        <path shape-rendering="geometricPrecision"
+          d="M12 21v0c-4.971 0-9-4.029-9-9v0c0-4.971 4.029-9 9-9v0c4.971 0 9 4.029 9 9v0c0 4.971-4.029 9-9 9z" />
+        <path shape-rendering="geometricPrecision"
+          d="M12 13.25V13c0-.817.505-1.26 1.011-1.6.494-.333.989-.767.989-1.567 0-1.105-.895-2-2-2s-2 .895-2 2M11.999 16c-.138 0-.25.112-.249.25 0 .138.112.25.25.25s.25-.112.25-.25-.112-.25-.251-.25" />
+      </g>
+    </svg>
+  </div>
+</div>
+<div class="nav-lower-list">
+  <div class="relative link" sfngTipUpTrigger="navTools" sfngTipUpPassive tooltip="Version and Tools"
+    sfngTooltipDelay="1000" snfgTooltipPosition="right" (click)="settingsMenu.dropdown.toggle(settingsMenuTrigger)"
+    cdkOverlayOrigin #settingsMenuTrigger="cdkOverlayOrigin" [class.active]="settingsMenu.dropdown.isOpen">
+
+    <span *ngIf="versions?.Channel !== 'stable'"
+      class="absolute w-1.5 h-1.5 bg-yellow-300 rounded-full top-1.5 right-1.5"></span>
+
+    <svg version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="help"
+      xmlns:xlink="http://www.w3.org/1999/xlink">
+      <g stroke-linecap="round" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linejoin="round">
+        <path d="M11.835,15l5,5c0.828,0.828 2.172,0.828 3,0v0c0.828,-0.828 0.828,-2.172 0,-3l-5,-5"></path>
+        <path
+          d="M20.916,5.847c0.024,0.023 0.042,0.053 0.051,0.085c0.47,1.567 0.106,3.33 -1.132,4.568c-1.251,1.251 -3.038,1.609 -4.617,1.117l-8.347,8.347c-0.813,0.813 -2.139,0.874 -2.98,0.09c-0.884,-0.823 -0.902,-2.207 -0.056,-3.054l8.383,-8.383c-0.492,-1.579 -0.134,-3.366 1.117,-4.617c1.238,-1.238 3.001,-1.602 4.568,-1.132c0.032,0.01 0.062,0.027 0.085,0.051l0.162,0.162c0.078,0.078 0.078,0.205 0,0.283l-2.635,2.636l2.32,2.32l2.636,-2.636c0.078,-0.078 0.205,-0.078 0.283,0l0.162,0.163Z">
+        </path>
+        <path
+          d="M2.933,4.293l0.674,2.023c0.136,0.409 0.518,0.684 0.949,0.684h2.279v-2.279c0,-0.43 -0.275,-0.813 -0.684,-0.949l-2.023,-0.674c-0.18,-0.06 -0.378,-0.013 -0.512,0.121l-0.562,0.562c-0.134,0.134 -0.181,0.332 -0.121,0.512Z">
+        </path>
+        <path d="M6.84,7l3.5,3.5"></path>
+      </g>
+    </svg>
+
+  </div>
+  <app-menu #settingsMenu offsetY="0" offsetX="10" overlayClass="rounded-t">
+    <div class="flex flex-col p-4 text-xxs">
+      <span class="text-secondary">
+        Version: <span class="text-primary">{{ versions?.Core?.Version }} </span>
+      </span>
+      <span class="text-secondary">
+        Release Channel:
+        <span class="uppercase text-primary"
+          [class.text-yellow-300]="versions?.Channel !== 'stable'">{{ versions?.Channel }}</span>
+      </span>
+    </div>
+
+    <app-menu-item (click)="downloadUpdates($event)">Check for Updates</app-menu-item>
+    <app-menu-item (click)="openChangeLog()">View Changelog</app-menu-item>
+    <app-menu-item (click)="reloadUI($event)">Reload UI</app-menu-item>
+    <app-menu-item *appExpertiseLevel="'developer'" (click)="showIntro()">
+      Show Intro Screen
+    </app-menu-item>
+    <app-menu-item (click)="reinitSPN($event)">Re-Initialize SPN</app-menu-item>
+    <app-menu-item (click)="logoutCompletely($event)">Logout Completely</app-menu-item>
+    <app-menu-item (click)="resetBroadcastState()">Reset Broadcast State</app-menu-item>
+    <app-menu-item (click)="clearDNSCache($event)">Clear DNS Cache</app-menu-item>
+    <app-menu-item (click)="openDataDir($event)">Open Data Directory</app-menu-item>
+    <app-menu-item (click)="copyDebugInfo($event)">Copy Debug Info</app-menu-item>
+    <app-menu-item (click)="cleanupHistory($event)">Cleanup Network History</app-menu-item>
+  </app-menu>
+
+  <!-- Power Menu -->
+  <div sfngTipUpTrigger="navPower" sfngTipUpPassive tooltip="Shutdown and Restart" sfngTooltipDelay="1000"
+    snfgTooltipPosition="right" class="link" (click)="powerMenu.dropdown.toggle(powerMenuTrigger)" cdkOverlayOrigin
+    #powerMenuTrigger="cdkOverlayOrigin" [class.active]="powerMenu.dropdown.isOpen">
+
+    <svg version="1.1" viewBox="0 0 24 24" class="help" xmlns="http://www.w3.org/2000/svg"
+      xmlns:xlink="http://www.w3.org/1999/xlink">
+      <g fill="none">
+        <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"
+          d="M18.364,5.63604c3.51472,3.51472 3.51472,9.2132 0,12.7279c-3.51472,3.51472 -9.2132,3.51472 -12.7279,0c-3.51472,-3.51472 -3.51472,-9.2132 -1.77636e-15,-12.7279c3.51472,-3.51472 9.2132,-3.51472 12.7279,-1.77636e-15">
+        </path>
+        <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12,7v5">
+        </path>
+        <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"
+          d="M15.534,8.466c1.952,1.952 1.952,5.117 0,7.069c-1.952,1.952 -5.117,1.952 -7.069,0c-1.952,-1.952 -1.952,-5.117 0,-7.069">
+        </path>
+      </g>
+    </svg>
+
+  </div>
+  <app-menu #powerMenu offsetY="0" offsetX="10" overlayClass="rounded-t">
+    <app-menu-item (click)="shutdown($event)">Shutdown</app-menu-item>
+    <app-menu-item (click)="restart($event)">Restart</app-menu-item>
+  </app-menu>
+
+</div>
diff --git a/desktop/angular/src/app/layout/navigation/navigation.scss b/desktop/angular/src/app/layout/navigation/navigation.scss
new file mode 100644
index 00000000..4683bec5
--- /dev/null
+++ b/desktop/angular/src/app/layout/navigation/navigation.scss
@@ -0,0 +1,98 @@
+:host {
+  height: 100vh;
+  top: 0px;
+  position: sticky;
+  display: flex;
+  flex-direction: column;
+  justify-content: space-between;
+  align-items: center;
+  user-select: none;
+
+  .logo-image {
+    @apply w-6 -top-3 -left-3 absolute;
+    position: absolute;
+  }
+
+  svg {
+    &:not(.connected) {
+      animation-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
+
+      path.inner {
+        fill: theme('colors.info.red');
+      }
+    }
+  }
+
+  div.nav-list {
+    display: flex;
+    flex-direction: column;
+    justify-content: flex-start;
+    align-items: center;
+  }
+
+  div.nav-lower-list {
+    display: flex;
+    flex-direction: column;
+    justify-content: flex-start;
+    align-items: center;
+    padding-bottom: 1.5rem;
+  }
+
+  div.link {
+    @apply my-2;
+
+    width: 2rem;
+    height: 2rem;
+    border-radius: 10px;
+
+    display: flex;
+    justify-content: space-around;
+    align-items: center;
+
+    cursor: pointer;
+
+    & {
+      outline: none;
+
+      svg,
+      fa-icon {
+        opacity: .5;
+      }
+    }
+
+    &:target,
+    &.active {
+      background-color: #2c2c2c;
+
+      svg,
+      fa-icon {
+        opacity: 1;
+        transform: scale(1.08);
+      }
+    }
+
+    &:hover {
+
+      svg,
+      fa-icon {
+        opacity: 1;
+      }
+    }
+
+    svg,
+    fa-icon {
+
+      &.dash,
+      &.spn,
+      &.monitor,
+      &.app,
+      &.help,
+      &.settings {
+        @apply text-white;
+        width: 1.1rem;
+        position: relative;
+        stroke: currentColor;
+      }
+    }
+  }
+}
diff --git a/desktop/angular/src/app/layout/navigation/navigation.ts b/desktop/angular/src/app/layout/navigation/navigation.ts
new file mode 100644
index 00000000..4752301f
--- /dev/null
+++ b/desktop/angular/src/app/layout/navigation/navigation.ts
@@ -0,0 +1,298 @@
+import { INTEGRATION_SERVICE, IntegrationService } from 'src/app/integration';
+import { ConnectedPosition } from '@angular/cdk/overlay';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Inject, OnInit, Output, inject } from '@angular/core';
+import { ConfigService, DebugAPI, PortapiService, SPNService, StringSetting } from '@safing/portmaster-api';
+import { tap } from 'rxjs/operators';
+import { AppComponent } from 'src/app/app.component';
+import { NotificationType, NotificationsService, StatusService, VersionStatus } from 'src/app/services';
+import { ActionIndicatorService } from 'src/app/shared/action-indicator';
+import { fadeInAnimation, fadeOutAnimation } from 'src/app/shared/animations';
+import { ExitService } from 'src/app/shared/exit-screen';
+import { TauriIntegrationService } from 'src/app/integration/taur-app';
+
+@Component({
+  selector: 'app-navigation',
+  templateUrl: './navigation.html',
+  styleUrls: ['./navigation.scss'],
+  exportAs: 'navigation',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  animations: [
+    fadeInAnimation,
+    fadeOutAnimation,
+  ]
+})
+export class NavigationComponent implements OnInit {
+  private readonly integration = inject(INTEGRATION_SERVICE);
+
+  /** Emits the current portapi connection state on changes. */
+  readonly connected$ = this.portapi.connected$;
+
+  /** @private The available and selected resource versions. */
+  versions: VersionStatus | null = null;
+
+  /** Whether or not we have new, unseen notifications */
+  hasNewNotifications = false;
+
+  /** The color to use for the notifcation-available hint (dot) */
+  notificationColor: string = 'text-green-300';
+
+  /** Whether or not we have new, unseen prompts */
+  hasNewPrompts = false;
+
+  /** Whether or not prompting is globally enabled. */
+  globalPromptingEnabled = false;
+
+  @Output()
+  sideDashChange = new EventEmitter<'collapsed' | 'expanded' | 'force-overlay'>();
+
+  /** Whether or not the side dash should be expanded or collapsed */
+  sideDashStatus: 'collapsed' | 'expanded' = 'expanded';
+
+  constructor(
+    private portapi: PortapiService,
+    private exitService: ExitService,
+    private statusService: StatusService,
+    private configService: ConfigService,
+    private appComponent: AppComponent,
+    private debugAPI: DebugAPI,
+    private actionIndicator: ActionIndicatorService,
+    private notificationService: NotificationsService,
+    private spnService: SPNService,
+    private cdr: ChangeDetectorRef
+  ) { }
+
+  dropDownPositions: ConnectedPosition[] = [
+    {
+      originX: 'end',
+      originY: 'top',
+      overlayX: 'start',
+      overlayY: 'top'
+    }
+  ]
+
+  ngOnInit() {
+    const mql = window.matchMedia('(max-width: 1200px)');
+
+    if (mql.matches) {
+      this.sideDashStatus = 'collapsed';
+      this.sideDashChange.next(this.sideDashStatus);
+    }
+
+    mql.addEventListener('change', () => {
+      if (mql.matches) {
+        this.sideDashStatus = 'collapsed';
+      } else {
+        this.sideDashStatus = 'expanded';
+      }
+      this.sideDashChange.next(this.sideDashStatus);
+    })
+
+    this.statusService.getVersions()
+      .subscribe(versions => {
+        this.versions = versions;
+        this.cdr.markForCheck();
+      });
+
+    this.configService.watch<StringSetting>('filter/defaultAction')
+      .subscribe(defaultAction => {
+        this.globalPromptingEnabled = defaultAction === 'ask';
+        this.cdr.markForCheck();
+      })
+
+    this.notificationService.new$
+      .subscribe(notif => {
+
+
+        if (notif.some(n => n.Type === NotificationType.Prompt && n.EventID.startsWith("filter:prompt"))) {
+          this.hasNewPrompts = true;
+
+          if (this.integration instanceof TauriIntegrationService) {
+            this.integration.openPrompt();
+          }
+        } else {
+          this.hasNewPrompts = false;
+
+          if (this.integration instanceof TauriIntegrationService) {
+            this.integration.closePrompt();
+          }
+        }
+
+        if (notif.some(n => !n.EventID.startsWith("filter:prompt"))) {
+          this.hasNewNotifications = true;
+        } else {
+          this.hasNewNotifications = false;
+        }
+
+        if (notif.some(n => n.Type === NotificationType.Error)) {
+          this.notificationColor = 'text-red-300';
+        } else if (notif.some(n => n.Type === NotificationType.Warning)) {
+          this.notificationColor = 'text-yellow-300';
+        } else {
+          this.notificationColor = 'text-green-300';
+        }
+
+        this.cdr.markForCheck();
+      })
+  }
+
+  toggleSideDash(event: MouseEvent) {
+    let notify: 'expanded' | 'collapsed' | 'force-overlay' = this.sideDashStatus;
+
+    if (this.sideDashStatus === 'collapsed') {
+      this.sideDashStatus = 'expanded';
+      notify = 'expanded';
+      if (event.shiftKey) {
+        notify = 'force-overlay'
+      }
+    } else {
+      this.sideDashStatus = 'collapsed';
+      notify = 'collapsed'
+    }
+
+    this.sideDashChange.next(notify);
+  }
+
+  /**
+   * @private
+   * Injects a ui/reload event and performs a complete
+   * reload of the window once the portmaster re-opened the
+   * UI bundle.
+   */
+  reloadUI(_: Event) {
+    this.portapi.reloadUI()
+      .pipe(
+        tap(() => {
+          setTimeout(() => window.location.reload(), 1000)
+        })
+      )
+      .subscribe(this.actionIndicator.httpObserver(
+        'Reloading UI ...',
+        'Failed to Reload UI',
+      ))
+  }
+
+  /** Re-initialize the SPN */
+  reinitSPN(_: Event) {
+    this.portapi.reinitSPN()
+      .subscribe(this.actionIndicator.httpObserver(
+        'Re-initialized SPN',
+        'Failed to re-initialize the SPN'
+      ))
+  }
+
+  /** Logs the user out of the SPN completely by purgin the user profile from the local storage */
+  logoutCompletely(_: Event) {
+    this.spnService.logout(true)
+      .subscribe(this.actionIndicator.httpObserver(
+        'Logout',
+        'You have been logged out of the SPN completely.'
+      ))
+  }
+
+  /**
+   * @private
+   * Clear the DNS name cache.
+   */
+  clearDNSCache(_: Event) {
+    this.portapi.clearDNSCache()
+      .subscribe(this.actionIndicator.httpObserver(
+        'DNS Cache Cleared',
+        'Failed to Clear DNS Cache.',
+      ))
+  }
+
+  cleanupHistory(_: Event) {
+    this.portapi.cleanupHistory()
+      .subscribe(this.actionIndicator.httpObserver(
+        'Network History Cleaned Up',
+        'Failed to Cleanup Network History.'
+      ))
+  }
+
+  /**
+   * @private
+   * Trigger downloading of updates
+   *
+   * @param event - The mouse event
+   */
+  downloadUpdates(event: Event) {
+    this.portapi.checkForUpdates()
+      .subscribe(this.actionIndicator.httpObserver(
+        'Downloading Updates ...',
+        'Failed to Check for Updates',
+      ))
+  }
+
+  /**
+   * @private
+   * Trigger a shutdown of the portmaster-core service
+   */
+  shutdown(_: Event) {
+    this.exitService.shutdownPortmaster();
+  }
+
+  /**
+   * @private
+   * Trigger a restart of the portmaster-core service. Requires
+   * that portmaster has been started with a service-wrapper.
+   *
+   * @param event The mouse event
+   */
+  restart(event: Event) {
+    // prevent default and stop-propagation to avoid
+    // expanding the accordion body.
+    event.preventDefault();
+    event.stopPropagation();
+
+    this.portapi.restartPortmaster()
+      .subscribe(this.actionIndicator.httpObserver(
+        'Restarting ...',
+        'Failed to Restart',
+      ))
+  }
+
+  /**
+   * @private
+   * Opens the data-directory of the portmaster installation.
+   * Requires the application to run inside electron.
+   */
+  async openDataDir(event: Event) {
+    const dir = await this.integration.getInstallDir()
+    await this.integration.openExternal(dir);
+  }
+
+  openChangeLog() {
+    const url = "https://github.com/safing/portmaster/releases";
+    this.integration.openExternal(url);
+  }
+
+  showIntro() {
+    this.appComponent.showIntro()
+  }
+
+  resetBroadcastState() {
+    this.portapi.resetBroadcastState()
+      .subscribe(this.actionIndicator.httpObserver(
+        'Broadcast State Cleared',
+        'Failed to Reset Broadcast State.',
+      ))
+  }
+
+  copyDebugInfo(event: Event) {
+    // prevent default and stop-propagation to avoid
+    // expanding the accordion body.
+    event.preventDefault();
+    event.stopPropagation();
+
+    this.debugAPI.getCoreDebugInfo()
+      .subscribe(
+        async info => {
+          await this.integration.writeToClipboard(info);
+        },
+        err => {
+          console.error(err);
+          this.actionIndicator.error('Failed loading debug data', err);
+        }
+      )
+  }
+}
diff --git a/desktop/angular/src/app/layout/side-dash/side-dash.html b/desktop/angular/src/app/layout/side-dash/side-dash.html
new file mode 100644
index 00000000..81e8b15f
--- /dev/null
+++ b/desktop/angular/src/app/layout/side-dash/side-dash.html
@@ -0,0 +1,10 @@
+<div sfngTipUpTrigger="navShield" sfngTipUpPassive class="relative flex flex-row w-full gap-2 px-2 pb-4 justify-evenly">
+  <app-status-pilot class="block w-32"></app-status-pilot>
+</div>
+
+<app-feature-scout></app-feature-scout>
+
+<app-notification-list></app-notification-list>
+
+<app-spn-login *ngIf="spnLoginRequired"></app-spn-login>
+<app-network-scout *ngIf="!spnLoginRequired" class="flex-grow overflow-auto"></app-network-scout>
diff --git a/desktop/angular/src/app/layout/side-dash/side-dash.scss b/desktop/angular/src/app/layout/side-dash/side-dash.scss
new file mode 100644
index 00000000..6862c275
--- /dev/null
+++ b/desktop/angular/src/app/layout/side-dash/side-dash.scss
@@ -0,0 +1,11 @@
+:host {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: flex-start;
+  overflow: hidden;
+  overflow-y: hidden;
+  width: 419px;
+
+  @apply pt-4;
+}
diff --git a/desktop/angular/src/app/layout/side-dash/side-dash.ts b/desktop/angular/src/app/layout/side-dash/side-dash.ts
new file mode 100644
index 00000000..c4836634
--- /dev/null
+++ b/desktop/angular/src/app/layout/side-dash/side-dash.ts
@@ -0,0 +1,13 @@
+import { ChangeDetectionStrategy, Component } from '@angular/core';
+
+@Component({
+  selector: 'app-side-dash',
+  templateUrl: './side-dash.html',
+  styleUrls: ['./side-dash.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class SideDashComponent {
+  /** Whether or not a SPN account login is required */
+  spnLoginRequired = false;
+
+}
diff --git a/desktop/angular/src/app/package-lock.json b/desktop/angular/src/app/package-lock.json
new file mode 100644
index 00000000..4ef966ec
--- /dev/null
+++ b/desktop/angular/src/app/package-lock.json
@@ -0,0 +1,27 @@
+{
+  "name": "portmaster",
+  "lockfileVersion": 2,
+  "requires": true,
+  "packages": {
+    "": {
+      "name": "portmaster",
+      "devDependencies": {
+        "@types/node": "^17.0.31"
+      }
+    },
+    "node_modules/@types/node": {
+      "version": "17.0.31",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.31.tgz",
+      "integrity": "sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==",
+      "dev": true
+    }
+  },
+  "dependencies": {
+    "@types/node": {
+      "version": "17.0.31",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.31.tgz",
+      "integrity": "sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==",
+      "dev": true
+    }
+  }
+}
diff --git a/desktop/angular/src/app/package.json b/desktop/angular/src/app/package.json
new file mode 100644
index 00000000..119f6216
--- /dev/null
+++ b/desktop/angular/src/app/package.json
@@ -0,0 +1,12 @@
+{
+  "name": "portmaster",
+  "private": true,
+  "description_1": "This is a special package.json file that is not used by package managers.",
+  "description_2": "It is used to tell the tools and bundlers whether the code under this directory is free of code with non-local side-effect. Any code that does have non-local side-effects can't be well optimized (tree-shaken) and will result in unnecessary increased payload size.",
+  "description_3": "It should be safe to set this option to 'false' for new applications, but existing code bases could be broken when built with the production config if the application code does contain non-local side-effects that the application depends on.",
+  "description_4": "To learn more about this file see: https://angular.io/config/app-package-json.",
+  "sideEffects": false,
+  "devDependencies": {
+    "@types/node": "^17.0.31"
+  }
+}
diff --git a/desktop/angular/src/app/pages/app-view/app-insights/app-insights.component.html b/desktop/angular/src/app/pages/app-view/app-insights/app-insights.component.html
new file mode 100644
index 00000000..32ab491c
--- /dev/null
+++ b/desktop/angular/src/app/pages/app-view/app-insights/app-insights.component.html
@@ -0,0 +1,13 @@
+<div class="grid grid-cols-2 gap-2">
+  <app-dashboard-widget label="Connections" style="min-height: 400px;">
+    <sfng-netquery-line-chart [data]="connectionChart"></sfng-netquery-line-chart>
+  </app-dashboard-widget>
+
+  <app-dashboard-widget label="Data Usage" beta="true" style="min-height: 400px;">
+    <sfng-netquery-line-chart [config]="bwChartConfig" [data]="bandwidthChart"></sfng-netquery-line-chart>
+  </app-dashboard-widget>
+
+  <app-dashboard-widget label="Countries" beta="true" style="min-height: 400px">
+    <sfng-netquery-circular-bar-chart class="block w-full h-full" [data]="countryData" [config]="countryBarConfig"></sfng-netquery-circular-bar-chart>
+  </app-dashboard-widget>
+</div>
diff --git a/desktop/angular/src/app/pages/app-view/app-insights/app-insights.component.ts b/desktop/angular/src/app/pages/app-view/app-insights/app-insights.component.ts
new file mode 100644
index 00000000..264a5615
--- /dev/null
+++ b/desktop/angular/src/app/pages/app-view/app-insights/app-insights.component.ts
@@ -0,0 +1,96 @@
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, Input, OnInit, inject } from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
+import { AppProfile, BandwidthChartResult, ChartResult, Netquery } from '@safing/portmaster-api';
+import { repeat } from 'rxjs';
+import { CircularBarChartConfig, splitQueryResult } from 'src/app/shared/netquery/circular-bar-chart/circular-bar-chart.component';
+import { DefaultBandwidthChartConfig } from 'src/app/shared/netquery/line-chart/line-chart';
+
+interface CountryBarData {
+  series: 'country';
+  value: number;
+  country: string;
+}
+
+@Component({
+  selector: 'app-app-insights',
+  templateUrl: './app-insights.component.html',
+  changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class AppInsightsComponent implements OnInit {
+  private readonly netquery = inject(Netquery);
+  private readonly destroyRef = inject(DestroyRef);
+  private readonly cdr = inject(ChangeDetectorRef);
+
+  @Input()
+  profile!: AppProfile;
+
+  connectionChart: ChartResult[] = [];
+
+  bandwidthChart: BandwidthChartResult<any>[] = [];
+
+  bwChartConfig = DefaultBandwidthChartConfig;
+
+  countryData: CountryBarData[] = [];
+
+  readonly countryBarConfig: CircularBarChartConfig<CountryBarData> = {
+    stack: 'country',
+    seriesKey: 'series',
+    value: 'value',
+    ticks: 3,
+    colorAsClass: true,
+    series: {
+      'count': {
+        color: 'text-green-300 text-opacity-50',
+      },
+    },
+  }
+
+  ngOnInit() {
+    const key = `${this.profile.Source}/${this.profile.ID}`
+
+    this.netquery.batch({
+      countryData: {
+        select: [
+          'country',
+          { $count: { field: '*', as: 'count' } },
+        ],
+        query: {
+          internal: { $eq: false },
+          country: { $ne: '' }
+        },
+        groupBy: ['country']
+      }
+    })
+      .pipe(
+        repeat({ delay: 10000 }),
+        takeUntilDestroyed(this.destroyRef)
+      )
+      .subscribe(result => {
+        this.countryData = splitQueryResult(result.countryData, ['count']) as CountryBarData[];
+        console.log(this.countryData)
+        this.cdr.markForCheck();
+      })
+
+    this.netquery.activeConnectionChart({ profile: key })
+      .pipe(
+        repeat({ delay: 10000 }),
+        takeUntilDestroyed(this.destroyRef)
+      )
+      .subscribe(data => {
+        this.connectionChart = data;
+        this.cdr.markForCheck();
+      })
+
+    this.netquery.bandwidthChart({ profile: key }, undefined, 60)
+      .pipe(
+        repeat({ delay: 10000 }),
+        takeUntilDestroyed(this.destroyRef)
+      )
+      .subscribe(data => {
+        this.bandwidthChart = data;
+        this.cdr.markForCheck();
+      })
+
+  }
+
+}
diff --git a/desktop/angular/src/app/pages/app-view/app-view.html b/desktop/angular/src/app/pages/app-view/app-view.html
new file mode 100644
index 00000000..8003881c
--- /dev/null
+++ b/desktop/angular/src/app/pages/app-view/app-view.html
@@ -0,0 +1,425 @@
+<ng-container *ngIf="!showOverview && !!appProfile">
+  <!-- Header -->
+  <div class="flex justify-between items-center p-4 px-12 text-xxs">
+    <!-- Breadcrumbs -->
+    <div class="flex items-center">
+      <a class="text-secondary hover:text-primary" [routerLink]="['/app/overview']">Apps</a>
+      <svg viewBox="0 0 24 24" class="inline-block w-4 h-4 text-secondary">
+        <g fill="none" class="inner" stroke="currentColor">
+          <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2.2" d="M10 16l4-4-4-4" />
+        </g>
+      </svg>
+      <span class="text-primary">{{ appProfile.Name }}</span>
+    </div>
+
+    <!-- Expertise level switch -->
+    <app-expertise></app-expertise>
+  </div>
+
+
+  <!-- Application Header -->
+  <div class="relative px-12 transition-all duration-200" [class.p-4]="!collapseHeader">
+    <div class="flex relative z-10 flex-row items-center w-full" [class.py-8]="!collapseHeader">
+      <!-- Application metadata -->
+      <div class="flex flex-col flex-grow items-start space-y-5">
+        <!-- App Name & Icon -->
+        <h1 class="flex flex-row gap-2 items-center mb-0 text-2xl whitespace-nowrap text-primary">
+          <app-icon [profile]="appProfile" style="--app-icon-size: 3rem"></app-icon>
+
+          <span>{{appProfile!.Name}}</span>
+        </h1>
+
+        <!-- App Metadata -->
+        <div class="text-tertiary text-xxs" *ngIf="!collapseHeader" [@fadeIn] [@fadeOut]>
+          <div class="space-x-2" *ngIf="!!applicationDirectory">
+            <span>Path:</span>
+            <span class="text-opacity-75 text-primary">
+              {{ applicationDirectory }}
+            </span>
+          </div>
+          <div class="space-x-2" *ngIf="!!binaryName">
+            <span>Binary:</span>
+            <span class="text-opacity-75 text-primary">
+              {{ binaryName }}
+            </span>
+          </div>
+          <div class="space-x-2">
+            <span>Active Connections:</span>
+            <span class="text-opacity-75 text-primary">{{stats?.countAliveConnections || 0}}</span>
+          </div>
+          <div class="space-x-2">
+            <span>Network History:</span>
+            <ng-container *ngIf="historyAvailableSince">
+              <span class="text-opacity-75 text-primary">As of {{ historyAvailableSince | date }}</span>
+              <span class="-mt-3 underline cursor-pointer text-primary hover:text-secondary text-xxs"
+                (click)="cleanProfileHistory()">Remove all {{ connectionsInHistory }} Connections</span>
+            </ng-container>
+            <ng-container *ngIf="!historyAvailableSince">
+              <span class="text-opacity-75 text-primary"
+                sfng-tooltip="Network History feature is available in Portmaster Plus">None</span>
+            </ng-container>
+          </div>
+        </div>
+
+        <!-- Quick Settings -->
+        <div class="flex flex-row flex-wrap gap-2 items-stretch whitespace-nowrap text-xxs" *ngIf="!collapseHeader" [@fadeIn]
+          [@fadeOut]>
+          <app-qs-internet [settings]="profileSettings" (save)="saveSetting($event)">
+          </app-qs-internet>
+
+          <app-qs-history [canUse]="canUseHistory" [settings]="profileSettings" (save)="saveSetting($event)">
+          </app-qs-history>
+
+          <app-qs-use-spn [canUse]="canUseSPN" [settings]="profileSettings" (save)="saveSetting($event)">
+          </app-qs-use-spn>
+
+          <app-qs-select-exit [canUse]="canUseSPN" [settings]="profileSettings" (save)="saveSetting($event)">
+          </app-qs-select-exit>
+
+          <button class="flex flex-row gap-2 items-center px-4 bg-gray-300 btn" cdkOverlayOrigin #overlayOrigin="cdkOverlayOrigin" (click)="profileMenu.dropdown.toggle(overlayOrigin)">
+            <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-4 h-4">
+              <path stroke-linecap="round" stroke-linejoin="round" d="M10.343 3.94c.09-.542.56-.94 1.11-.94h1.093c.55 0 1.02.398 1.11.94l.149.894c.07.424.384.764.78.93.398.164.855.142 1.205-.108l.737-.527a1.125 1.125 0 011.45.12l.773.774c.39.389.44 1.002.12 1.45l-.527.737c-.25.35-.272.806-.107 1.204.165.397.505.71.93.78l.893.15c.543.09.94.56.94 1.109v1.094c0 .55-.397 1.02-.94 1.11l-.893.149c-.425.07-.765.383-.93.78-.165.398-.143.854.107 1.204l.527.738c.32.447.269 1.06-.12 1.45l-.774.773a1.125 1.125 0 01-1.449.12l-.738-.527c-.35-.25-.806-.272-1.203-.107-.397.165-.71.505-.781.929l-.149.894c-.09.542-.56.94-1.11.94h-1.094c-.55 0-1.019-.398-1.11-.94l-.148-.894c-.071-.424-.384-.764-.781-.93-.398-.164-.854-.142-1.204.108l-.738.527c-.447.32-1.06.269-1.45-.12l-.773-.774a1.125 1.125 0 01-.12-1.45l.527-.737c.25-.35.273-.806.108-1.204-.165-.397-.505-.71-.93-.78l-.894-.15c-.542-.09-.94-.56-.94-1.109v-1.094c0-.55.398-1.02.94-1.11l.894-.149c.424-.07.765-.383.93-.78.165-.398.143-.854-.107-1.204l-.527-.738a1.125 1.125 0 01.12-1.45l.773-.773a1.125 1.125 0 011.45-.12l.737.527c.35.25.807.272 1.204.107.397-.165.71-.505.78-.929l.15-.894z" />
+              <path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z" />
+            </svg>
+
+            More
+          </button>
+
+          <app-menu #profileMenu>
+            <app-menu-item (click)="editProfile()">Edit App Profile</app-menu-item>
+            <app-menu-item (click)="exportProfile()">Export App Profile</app-menu-item>
+            <app-menu-item (click)="deleteProfile()">Delete App Profile</app-menu-item>
+          </app-menu>
+
+          <sfng-tipup key="appSettings-QuickSettings"></sfng-tipup>
+        </div>
+      </div>
+
+      <!-- Statistics -->
+      <div class="flex flex-row flex-wrap flex-grow gap-4 justify-end items-center pr-8"
+        *ngIf="!!stats && stats.size > 0">
+        <div [ngClass]="{
+            'h-20 sfng-lg:w-32 sfng-lg:h-24': !collapseHeader
+          }"
+          class="flex flex-col justify-center items-center px-4 py-1 w-24 bg-gray-300 bg-opacity-75 rounded border border-gray-300 shadow transition-all duration-200">
+          <h2 class="p-0 m-0 text-lg sfng-lg:text-xl text-primary">{{ stats!.size | prettyCount }}</h2>
+          <span class="text-secondary">Connections</span>
+        </div>
+
+        <div [ngClass]="{
+            'h-20 sfng-lg:w-32 sfng-lg:h-24': !collapseHeader
+          }"
+          class="flex flex-col justify-center items-center px-4 py-1 w-24 bg-gray-300 bg-opacity-75 rounded border border-gray-300 shadow transition-all duration-200">
+          <h2 class="p-0 m-0 text-lg sfng-lg:text-xl text-primary">{{ (100 / stats!.size) * (stats!.size
+            - stats!.countAllowed) | number:'1.0-1' }}%</h2>
+          <span class="text-secondary">Blocked</span>
+        </div>
+
+        <div [ngClass]="{
+            'h-20 sfng-lg:w-32 sfng-lg:h-24': !collapseHeader
+          }"
+          class="flex flex-col justify-center items-center px-4 py-1 w-24 bg-gray-300 bg-opacity-75 rounded border border-gray-300 shadow transition-all duration-200">
+          <h2 *ngIf="canViewBW; else: cannotViewBW"
+            class="p-0 m-0 text-lg whitespace-nowrap sfng-lg:text-xl text-primary">
+            {{ stats.bytes_received | bytes }}
+          </h2>
+          <ng-template #cannotViewBW>
+            <span routerLink="/dashboard"
+              class="p-0 pb-2.5 m-0 text-opacity-50 whitespace-nowrap text-xxs sfng-lg:text-xs text-tertiary hover:underline">
+              Available in Plus
+            </span>
+          </ng-template>
+          <span class="text-secondary">Received</span>
+        </div>
+
+        <div [ngClass]="{
+            'h-20 sfng-lg:w-32 sfng-lg:h-24': !collapseHeader
+          }"
+          class="flex flex-col justify-center items-center px-4 py-1 w-24 bg-gray-300 bg-opacity-75 rounded border border-gray-300 shadow transition-all duration-200">
+          <h2 *ngIf="canViewBW; else: cannotViewBW"
+            class="p-0 m-0 text-lg whitespace-nowrap sfng-lg:text-xl text-primary">
+            {{ stats.bytes_sent | bytes }}
+          </h2>
+          <span class="text-secondary">Sent</span>
+        </div>
+
+      </div>
+    </div>
+
+    <div class="absolute bottom-0 right-10 z-10 cursor-pointer hover:text-primary text-secondary"
+      (click)="collapseHeader = !collapseHeader">
+      <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
+        class="w-6 h-6 transition-all duration-200" [class.rotate-180]="collapseHeader">
+        <path stroke-linecap="round" stroke-linejoin="round" d="M4.5 15.75l7.5-7.5 7.5 7.5" />
+      </svg>
+    </div>
+  </div>
+
+  <sfng-tab-group class="flex overflow-hidden flex-col flex-grow p-4 px-12 w-full">
+    <!-- Connections -->
+    <sfng-tab id="connections" title="Connections">
+      <div *sfngTabContent>
+        <sfng-netquery-viewer [filters]="['allowed', 'as_owner', 'country', 'domain']"
+          [mergeFilter]="{profile: appProfile.Source + '/' + appProfile.ID}">
+        </sfng-netquery-viewer>
+      </div>
+    </sfng-tab>
+    <!-- App Settings -->
+    <sfng-tab id="settings" title="Settings">
+      <div *sfngTabContent class="overflow-auto py-4" cdkScrollable>
+
+        <div class="flex flex-row items-center pr-2 mb-4 space-x-4">
+          <input type="text" [(ngModel)]="searchTerm" placeholder="Search Settings">
+
+          <a href="https://docs.safing.io/portmaster/settings?source=Portmaster"
+            class="flex flex-row gap-1 justify-center items-center self-stretch px-2 whitespace-nowrap bg-gray-300 rounded hover:bg-gray-200 text-blue">
+            <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5"
+              stroke="currentColor" class="w-4 h-4">
+              <path stroke-linecap="round" stroke-linejoin="round"
+                d="M12 6.042A8.967 8.967 0 006 3.75c-1.052 0-2.062.18-3 .512v14.25A8.987 8.987 0 016 18c2.305 0 4.408.867 6 2.292m0-14.25a8.966 8.966 0 016-2.292c1.052 0 2.062.18 3 .512v14.25A8.987 8.987 0 0018 18a8.967 8.967 0 00-6 2.292m0-14.25v14.25" />
+            </svg>
+            Get Help
+          </a>
+
+          <div sfngTipUpAnchor="left" class="flex space-x-2 flex-rows">
+            <sfng-tipup key="appSettings-Filter"></sfng-tipup>
+            <sfng-select [ngModel]="viewSetting" (ngModelChange)="viewSettingChange.next($event)"
+              sfngTipUpTrigger="appSettings-Filter" sfngTipUpAnchor="left" sfngTipUpPassive>
+              <sfng-select-item *sfngSelectValue="'all'">
+                View All
+              </sfng-select-item>
+              <sfng-select-item *sfngSelectValue="'active'">
+                View Active
+              </sfng-select-item>
+            </sfng-select>
+          </div>
+        </div>
+
+        <div class="flex items-center text-tertiary">
+          <div class="inline-flex items-center" sfngTipUpAnchor=>
+            <span class="mr-3 text-xxs">App Specific Settings</span>
+            <sfng-tipup key="appSettings"></sfng-tipup>
+          </div>
+        </div>
+
+        <ng-container *ngIf="settings.length > 0; else: noSettingsTemplate">
+          <app-settings-view [searchTerm]="searchTerm" [availableSettings]="settings" compactView="true"
+            [highlightKey]="highlightSettingKey" userSettingsMarker="true" (save)="saveSetting($event)"
+            resetLabelText="Use global setting" lockDefaults="true" displayStackable="true" [scope]="appProfile.Source + '/' + appProfile.ID">
+          </app-settings-view>
+        </ng-container>
+
+        <ng-template #noSettingsTemplate>
+          <div class="flex flex-col items-center mt-32">
+            <svg xmlns="http://www.w3.org/2000/svg" class="w-32 h-32 text-opacity-50 text-tertiary" viewBox="0 0 20 20"
+              fill="currentColor">
+              <path fill-rule="evenodd"
+                d="M11.49 3.17c-.38-1.56-2.6-1.56-2.98 0a1.532 1.532 0 01-2.286.948c-1.372-.836-2.942.734-2.106 2.106.54.886.061 2.042-.947 2.287-1.561.379-1.561 2.6 0 2.978a1.532 1.532 0 01.947 2.287c-.836 1.372.734 2.942 2.106 2.106a1.532 1.532 0 012.287.947c.379 1.561 2.6 1.561 2.978 0a1.533 1.533 0 012.287-.947c1.372.836 2.942-.734 2.106-2.106a1.533 1.533 0 01.947-2.287c1.561-.379 1.561-2.6 0-2.978a1.532 1.532 0 01-.947-2.287c.836-1.372-.734-2.942-2.106-2.106a1.532 1.532 0 01-2.287-.947zM10 13a3 3 0 100-6 3 3 0 000 6z"
+                clip-rule="evenodd" />
+            </svg>
+
+            <p class="text-sm">
+              <span class="text-primary">
+                {{ appProfile!.Name }}
+              </span>
+              is fully using the global settings.
+            </p>
+            <p class="mb-4 text-sm">
+              Start creating exceptions for it now.
+            </p>
+            <button (click)="viewSettingChange.next('all')">Edit Settings</button>
+          </div>
+        </ng-template>
+      </div>
+    </sfng-tab>
+
+    <!-- Details -->
+    <sfng-tab id="details" title="Details" [warning]="displayWarning">
+      <div *sfngTabContent class="overflow-auto py-4 space-y-8" cdkScrollable>
+
+        <div class="grid grid-cols-2 gap-4 text-primary text-xxs">
+          <div class="flex flex-col justify-center p-4 bg-gray-200 rounded">
+            <p class="space-x-2">
+              <label class="text-secondary">Name:</label>
+              <span>{{appProfile!.Name}}</span>
+            </p>
+            <p class="space-x-2">
+              <label class="text-secondary">Path:</label>
+              <span>{{appProfile!.PresentationPath}}</span>
+            </p>
+          </div>
+
+          <div class="flex flex-col justify-center p-4 bg-gray-200 rounded">
+            <p class="space-x-2">
+              <label class="text-secondary">Created:</label>
+              <span>{{appProfile!.Created * 1000 | date:'medium'}}</span>
+            </p>
+            <p class="space-x-2">
+              <label class="text-secondary">Last Edited:</label>
+              <span *ngIf="!!appProfile.LastEdited">{{appProfile!.LastEdited * 1000 | date:'medium'}}</span>
+              <span *ngIf="!appProfile.LastEdited">N/A</span>
+            </p>
+          </div>
+
+          <ng-container *appExpertiseLevel="'developer'">
+            <div class="flex flex-col justify-center p-4 bg-gray-200 rounded">
+              <p class="space-x-2">
+                <label class="text-secondary">Internal:</label>
+                <span>{{!!appProfile!.Internal ? 'yes' : 'no'}}</span>
+              </p>
+              <p class="space-x-2">
+                <label class="text-secondary">Source:</label>
+                <span>{{appProfile!.Source}}</span>
+              </p>
+              <p class="space-x-2">
+                <label class="text-secondary">ID:</label>
+                <span>{{appProfile!.ID}}</span>
+              </p>
+            </div>
+
+            <div class="flex flex-col justify-center p-4 bg-gray-200 rounded">
+              <p class="space-x-2">
+                <label class="text-secondary">Revision:</label>
+                <span>{{layeredProfile?.RevisionCounter}}</span>
+              </p>
+              <p class="space-x-2">
+                <label class="text-secondary">Layers:</label>
+                <span>
+                  <ol class="inline-block">
+                    <li *ngFor="let layer of layeredProfile?.LayerIDs"
+                      [routerLink]="['/', 'app'].concat(layer.split('/'))">
+                      {{layer}}
+                    </li>
+                  </ol>
+                </span>
+              </p>
+            </div>
+          </ng-container>
+        </div>
+
+        <!-- Description Section -->
+        <div class="flex flex-col space-y-4" *ngIf="!!appProfile?.Description">
+          <h2 class="flex flex-row items-center p-0 m-0 mr-2 mb-4 text-opacity-75 text-primary">
+            <svg xmlns="http://www.w3.org/2000/svg" class="mr-1 w-5 h-5" fill="none" viewBox="0 0 24 24"
+              stroke="currentColor">
+              <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
+                d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" />
+            </svg>
+            <span class="mr-2 text-xxs">Description</span>
+            <span class="inline-block flex-grow border-b border-gray-400"></span>
+          </h2>
+
+          <markdown emoji [data]="appProfile.Description"
+            class="block self-stretch p-4 -mb-4 ml-2 w-auto h-auto text-secondary">
+          </markdown>
+        </div>
+
+        <!-- Warning Section -->
+        <div class="flex flex-col space-y-4" *ngIf="displayWarning">
+          <h2 class="flex flex-row items-center p-0 m-0 mr-2 mb-4 text-opacity-75 text-primary">
+            <svg xmlns="http://www.w3.org/2000/svg" class="mr-1 w-5 h-5" fill="none" viewBox="0 0 24 24"
+              stroke="currentColor">
+              <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
+                d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
+            </svg>
+            <span class="mr-2 text-xxs">Warning</span>
+            <span class="inline-block flex-grow border-b border-gray-400"></span>
+          </h2>
+
+          <markdown emoji [data]="appProfile.Warning"
+            class="block self-stretch p-4 ml-2 w-auto h-auto border-l text-secondary border-yellow">
+          </markdown>
+          <span class="text-tertiary text-xxs" *ngIf="appProfile?.WarningLastUpdated">updated
+            {{ appProfile.WarningLastUpdated | timeAgo }}</span>
+        </div>
+
+        <!-- Fingerprints -->
+        <div class="space-y-4 text-xxs">
+          <h2 class="flex flex-row items-center p-0 m-0 mr-2 mb-4 text-opacity-75 text-primary">
+            <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5"
+              stroke="currentColor" class="mr-1 w-5 h-5">
+              <path stroke-linecap="round" stroke-linejoin="round"
+                d="M7.864 4.243A7.5 7.5 0 0119.5 10.5c0 2.92-.556 5.709-1.568 8.268M5.742 6.364A7.465 7.465 0 004.5 10.5a7.464 7.464 0 01-1.15 3.993m1.989 3.559A11.209 11.209 0 008.25 10.5a3.75 3.75 0 117.5 0c0 .527-.021 1.049-.064 1.565M12 10.5a14.94 14.94 0 01-3.6 9.75m6.633-4.596a18.666 18.666 0 01-2.485 5.33" />
+            </svg>
+
+            <span class="mr-2 text-xxs">Fingerprints</span>
+            <span class="inline-block flex-grow border-b border-gray-400"></span>
+          </h2>
+
+          <span class="text-xs text-secondary">This profile will be applied to processes that match one of the following
+            fingerprints:</span>
+
+          <div
+            class="flex relative flex-row gap-2 items-center p-2 mx-3 bg-gray-200 border-r border-l border-gray-500 w-fit"
+            *ngFor="let fp of appProfile.Fingerprints">
+
+            <span class="block absolute top-0 left-0 w-2 border-b border-gray-500"></span>
+            <span class="block absolute bottom-0 left-0 w-2 border-b border-gray-500"></span>
+
+            <span class="block absolute top-0 right-0 w-2 border-b border-gray-500"></span>
+            <span class="block absolute right-0 bottom-0 w-2 border-b border-gray-500"></span>
+
+            <span class="inline-block px-2 py-1 bg-gray-400 rounded">{{ fp.Type }}</span>
+
+            <ng-container *ngIf="!!fp.Key">
+              <span class="text-secondary">where</span>
+              <span
+                class="inline-block px-2 py-1 bg-gray-400 rounded">{{ fp.Type === 'tag' ? (tagNames[fp.Key] || fp.Key) : fp.Key }}</span>
+            </ng-container>
+
+            <span class="inline-block px-2 py-1 bg-gray-400 rounded">{{ fp.Operation }}</span>
+            <span class="inline-block px-2 py-1 bg-gray-400 rounded">{{ fp.Value }}</span>
+          </div>
+        </div>
+
+        <!-- Delete Profile Section -->
+        <div class="space-y-4">
+          <h2 class="flex flex-row items-center p-0 m-0 mr-2 mb-4 text-opacity-75 text-primary">
+            <svg xmlns="http://www.w3.org/2000/svg" class="mr-1 w-5 h-5" fill="none" viewBox="0 0 24 24"
+              stroke="currentColor">
+              <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"
+                d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16" />
+            </svg>
+            <span class="mr-2 text-xxs">Delete Profile</span>
+            <span class="inline-block flex-grow border-b border-gray-400"></span>
+          </h2>
+
+          <span class="text-secondary">You can completely delete this profile to get rid of any settings. The profile
+            will
+            be automatically re-created with default settings as soon as the application starts to use the
+            network.</span>
+
+          <button class="block mt-2" (click)="deleteProfile()">Delete Profile</button>
+        </div>
+
+        <!-- Debug Section -->
+        <div class="space-y-4">
+          <h2 class="flex flex-row items-center p-0 m-0 mr-2 mb-4 text-opacity-75 text-primary">
+            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="mr-1 w-5 h-5">
+              <g fill="none">
+                <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"
+                  d="m18 7-1 2-1.333.917M5 12h3.11M15.89 12H19M6 3H5c-1.105 0-2 .895-2 2v1M18 21h1c1.105 0 2-.895 2-2v-1M3 18v1c0 1.105.895 2 2 2h1M21 6V5c0-1.105-.895-2-2-2h-1M6 7l1 2 1.333.917M12.444 17h-.889c-1.657 0-3-1.343-3-3v-3c0-1.105.895-2 2-2h2.889c1.105 0 2 .895 2 2v3c0 1.657-1.343 3-3 3ZM6 17l1-2 1.333-.917M18 17l-1-2-1.333-.917M14 9h-4V7c0-.552.448-1 1-1h2c.552 0 1 .448 1 1v2Z" />
+              </g>
+            </svg>
+
+            <span class="mr-2 text-xxs">Debugging</span>
+            <span class="inline-block flex-grow border-b border-gray-400"></span>
+          </h2>
+
+          <span class="text-secondary">When reporting issues with this app please make sure to include the
+            following
+            debug information:</span>
+
+          <button class="block mt-2" (click)="copyDebugInfo()">Copy Debug Information</button>
+        </div>
+      </div>
+    </sfng-tab>
+    <sfng-tab id="insights" title="Insights">
+      <div *sfngTabContent class="py-4 space-y-8 overflow-auto" cdkScrollable>
+        <app-app-insights [profile]="appProfile"></app-app-insights>
+      </div>
+    </sfng-tab>
+  </sfng-tab-group>
+</ng-container>
+
+<app-settings-overview *ngIf="showOverview" class="p-4 px-12"></app-settings-overview>
diff --git a/desktop/angular/src/app/pages/app-view/app-view.scss b/desktop/angular/src/app/pages/app-view/app-view.scss
new file mode 100644
index 00000000..977c3b72
--- /dev/null
+++ b/desktop/angular/src/app/pages/app-view/app-view.scss
@@ -0,0 +1,3 @@
+:host {
+  @apply flex flex-col h-screen max-h-screen;
+}
diff --git a/desktop/angular/src/app/pages/app-view/app-view.ts b/desktop/angular/src/app/pages/app-view/app-view.ts
new file mode 100644
index 00000000..85a365a2
--- /dev/null
+++ b/desktop/angular/src/app/pages/app-view/app-view.ts
@@ -0,0 +1,641 @@
+import {
+  ChangeDetectorRef,
+  Component,
+  DestroyRef,
+  OnDestroy,
+  OnInit,
+  ViewChild,
+  inject,
+} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
+import { ActivatedRoute, Router } from '@angular/router';
+import {
+  AppProfile,
+  AppProfileService,
+  Condition,
+  ConfigService,
+  Database,
+  DebugAPI,
+  ExpertiseLevel,
+  FeatureID,
+  FlatConfigObject,
+  IProfileStats,
+  LayeredProfile,
+  Netquery,
+  PortapiService,
+  SPNService,
+  Setting,
+  flattenProfileConfig,
+  setAppSetting
+} from '@safing/portmaster-api';
+import { SfngDialogService } from '@safing/ui';
+import {
+  BehaviorSubject,
+  Observable,
+  Subscription,
+  combineLatest,
+  interval,
+  of,
+  throwError,
+} from 'rxjs';
+import {
+  catchError,
+  distinctUntilChanged,
+  map,
+  mergeMap,
+  startWith,
+  switchMap,
+} from 'rxjs/operators';
+import { INTEGRATION_SERVICE } from 'src/app/integration';
+import { SessionDataService } from 'src/app/services';
+import { ActionIndicatorService } from 'src/app/shared/action-indicator';
+import { fadeInAnimation, fadeOutAnimation } from 'src/app/shared/animations';
+import {
+  ExportConfig,
+  ExportDialogComponent,
+} from 'src/app/shared/config/export-dialog/export-dialog.component';
+import { SaveSettingEvent } from 'src/app/shared/config/generic-setting/generic-setting';
+import { ExpertiseService } from 'src/app/shared/expertise';
+import { SfngNetqueryViewer } from 'src/app/shared/netquery';
+import { EditProfileDialog } from './../../shared/edit-profile-dialog/edit-profile-dialog';
+
+@Component({
+  templateUrl: './app-view.html',
+  styleUrls: ['../page.scss', './app-view.scss'],
+  animations: [fadeOutAnimation, fadeInAnimation],
+})
+export class AppViewComponent implements OnInit, OnDestroy {
+  private readonly integration = inject(INTEGRATION_SERVICE);
+
+  @ViewChild(SfngNetqueryViewer)
+  netqueryViewer?: SfngNetqueryViewer;
+
+  destroyRef = inject(DestroyRef);
+  spn = inject(SPNService);
+
+  canUseHistory = false;
+  canViewBW = false;
+  canUseSPN = false;
+
+  /** subscription to our update-process observable */
+  private subscription = Subscription.EMPTY;
+
+  /**
+   * @private
+   * historyAvailableSince holds the date of the oldes connection
+   * in the history database for this app.
+   */
+  historyAvailableSince: Date | null = null;
+
+  /**
+   * @private
+   * connectionsInHistory holds the total amount of connections
+   * in the history database for this app
+   */
+  connectionsInHistory = 0;
+
+  /**
+   * @private
+   * The current AppProfile we are showing.
+   */
+  appProfile: AppProfile | null = null;
+
+  /**
+   * @private
+   * Whether or not the overview componet should be rendered.
+   */
+  get showOverview() {
+    return this.appProfile == null && !this._loading;
+  }
+
+  /**
+   * @private
+   * The currently displayed list of settings
+   */
+  settings: Setting[] = [];
+
+  profileSettings: Setting[] = [];
+
+  /**
+   * @private
+   * All available settings.
+   */
+  allSettings: Setting[] = [];
+
+  /**
+   * @private
+   * The current search term displayed in the search-input.
+   */
+  searchTerm = '';
+
+  /**
+   * @private
+   * The key of the setting to highligh, if any ...
+   */
+  highlightSettingKey: string | null = null;
+
+  /**
+   * @private
+   * Emits whenever the currently used settings "view" changes.
+   */
+  viewSettingChange = new BehaviorSubject<'all' | 'active'>('all');
+
+  /**
+   * @private
+   * The path of the application binary
+   */
+  applicationDirectory = '';
+
+  /**
+   * @private
+   * The name of the binary
+   */
+  binaryName = '';
+
+  /**
+   * @private
+   * Whether or not the profile warning message should be displayed
+   */
+  displayWarning = false;
+
+  /**
+   * @private
+   * The current profile statistics
+   */
+  stats: IProfileStats | null = null;
+
+  /**
+   * @private
+   * The internal, layered profile if the app is active
+   */
+  layeredProfile: LayeredProfile | null = null;
+
+  /** Used to track whether we are already initialized */
+  private _loading = true;
+
+  /**
+   * @private
+   *
+   * Defines what "view" we are currently in
+   */
+  get viewSetting(): 'all' | 'active' {
+    return this.viewSettingChange.getValue();
+  }
+
+  /** A lookup map from tag ID to tag Name */
+  tagNames: {
+    [tagID: string]: string;
+  } = {};
+
+  collapseHeader = false;
+
+  constructor(
+    public sessionDataService: SessionDataService,
+    private profileService: AppProfileService,
+    private route: ActivatedRoute,
+    private netquery: Netquery,
+    private cdr: ChangeDetectorRef,
+    private configService: ConfigService,
+    private router: Router,
+    private actionIndicator: ActionIndicatorService,
+    private dialog: SfngDialogService,
+    private debugAPI: DebugAPI,
+    private expertiseService: ExpertiseService,
+    private portapi: PortapiService
+  ) { }
+
+  /**
+   * @private
+   * Used to save a change in the app settings. Emitted by the config-view
+   * component
+   *
+   * @param event The emitted save-settings-event.
+   */
+  saveSetting(event: SaveSettingEvent) {
+    // Guard against invalid usage and abort if there's not appProfile
+    // to save.
+    if (!this.appProfile) {
+      return;
+    }
+
+    if (!this.appProfile!.Config) {
+      this.appProfile.Config = {}
+    }
+
+    // If the value has been "reset to global value" we need to
+    // set the value to "undefined".
+    if (event.isDefault) {
+      setAppSetting(this.appProfile!.Config, event.key, undefined);
+    } else {
+      setAppSetting(this.appProfile!.Config, event.key, event.value);
+    }
+
+    // Actually safe the profile
+    this.profileService.saveProfile(this.appProfile!).subscribe({
+      next: () => {
+        if (!!event.accepted) {
+          event.accepted();
+        }
+      },
+      error: (err) => {
+        // if there's a callback function for errors call it.
+        if (!!event.rejected) {
+          event.rejected(err);
+        }
+
+        console.error(err);
+        this.actionIndicator.error('Failed to save setting', err);
+      },
+    });
+  }
+
+  exportProfile() {
+    if (!this.appProfile) {
+      return;
+    }
+
+    this.portapi
+      .exportProfile(`${this.appProfile.Source}/${this.appProfile.ID}`)
+      .subscribe((exportBlob) => {
+        const exportConfig: ExportConfig = {
+          type: 'profile',
+          content: exportBlob,
+        };
+
+        this.dialog.create(ExportDialogComponent, {
+          data: exportConfig,
+          autoclose: false,
+          backdrop: true,
+        });
+      });
+  }
+
+  editProfile() {
+    if (!this.appProfile) {
+      return;
+    }
+
+    this.dialog
+      .create(EditProfileDialog, {
+        backdrop: true,
+        autoclose: false,
+        data: `${this.appProfile.Source}/${this.appProfile.ID}`,
+      })
+      .onAction('deleted', () => {
+        // navigate to the app overview if it has been deleted.
+        this.router.navigate(['/app/']);
+      });
+  }
+
+  cleanProfileHistory() {
+    if (!this.appProfile) {
+      return;
+    }
+
+    const observer = this.actionIndicator.httpObserver(
+      'History successfully removed',
+      'Failed to remove history'
+    );
+
+    this.netquery
+      .cleanProfileHistory(this.appProfile.Source + '/' + this.appProfile.ID)
+      .subscribe({
+        next: (res) => {
+          observer.next!(res);
+          this.historyAvailableSince = null;
+          this.connectionsInHistory = 0;
+          this.cdr.markForCheck();
+        },
+        error: (err) => {
+          observer.error!(err);
+        },
+      });
+  }
+
+  ngOnInit() {
+    this.profileService.tagDescriptions().subscribe((tags) => {
+      tags.forEach((t) => {
+        this.tagNames[t.ID] = t.Name;
+        this.cdr.markForCheck();
+      });
+    });
+
+    // watch the route parameters and start watching the referenced
+    // application profile, it's layer profile and polling the stats.
+    const profileStream: Observable<
+      [AppProfile, LayeredProfile | null, IProfileStats | null] | null
+    > = this.route.paramMap.pipe(
+      switchMap((params) => {
+        // Get the profile source and id. If one is unset (null)
+        // than return a"null" emit-once stream.
+        const source = params.get('source');
+        const id = params.get('id');
+        if (source === null || id === null) {
+          this._loading = false;
+          return of(null);
+        }
+        this._loading = true;
+
+        this.historyAvailableSince = null;
+        this.connectionsInHistory = 0;
+        this.appProfile = null;
+        this.stats = null;
+
+        // Start watching the application profile.
+        // switchMap will unsubscribe automatically if
+        // we start watching a different profile.
+        return this.profileService.getAppProfile(source, id).pipe(
+          catchError((err) => {
+            if (typeof err === 'string') {
+              err = new Error(err);
+            }
+
+            this.router.navigate(['/app/overview'], {
+              onSameUrlNavigation: 'reload',
+            });
+
+            this.actionIndicator.error(
+              'Failed To Get Profile',
+              this.actionIndicator.getErrorMessgae(err)
+            );
+
+            return throwError(() => err);
+          }),
+          mergeMap(() => {
+            return combineLatest([
+              this.profileService.watchAppProfile(source, id),
+              this.profileService
+                .watchLayeredProfile(source, id)
+                .pipe(startWith(null)),
+              interval(10000).pipe(
+                startWith(-1),
+                mergeMap(() =>
+                  this.netquery
+                    .getProfileStats({
+                      profile: `${source}/${id}`,
+                    })
+                    .pipe(map((result) => result?.[0]))
+                ),
+                startWith(null)
+              ),
+            ]);
+          })
+        );
+      })
+    );
+
+    // used to track changes to the object identity of the global configuration
+    let prevousGlobal: FlatConfigObject = {};
+
+    this.subscription = combineLatest([
+      profileStream, // emits the current app profile everytime it changes
+      this.route.queryParamMap, // for changes to the settings= query parameter
+      this.profileService.globalConfig(), // for changes to ghe global profile
+      this.configService.query(''), // get ALL settings (once, only the defintion is of intereset)
+      this.viewSettingChange.pipe(
+        // watch the current "settings-view" setting, but only if it changes
+        distinctUntilChanged()
+      ),
+    ]).subscribe(
+      async ([profile, queryMap, global, allSettings, viewSetting]) => {
+        const previousProfile = this.appProfile;
+
+        if (!!profile) {
+          const key = profile![0].Source + '/' + profile![0].ID;
+
+          const query: Condition = {
+            profile: key,
+          };
+
+          // ignore internal connections if the user is not in developer mode.
+          if (this.expertiseService.currentLevel !== ExpertiseLevel.Developer) {
+            query.internal = {
+              $eq: false,
+            };
+          }
+
+          this.netquery
+            .query(
+              {
+                select: [
+                  {
+                    $min: {
+                      field: 'started',
+                      as: 'first_connection',
+                    },
+                  },
+                  {
+                    $count: {
+                      field: '*',
+                      as: 'totalCount',
+                    },
+                  },
+                ],
+                groupBy: ['profile'],
+                query: {
+                  profile: `${profile[0].Source}/${profile[0].ID}`,
+                },
+                databases: [Database.History],
+              },
+              'app-view-get-first-connection'
+            )
+            .subscribe((result) => {
+              if (result.length > 0) {
+                this.historyAvailableSince = new Date(
+                  result[0].first_connection!
+                );
+                this.connectionsInHistory = result[0].totalCount;
+              } else {
+                this.historyAvailableSince = null;
+                this.connectionsInHistory = 0;
+              }
+
+              this.cdr.markForCheck();
+            });
+
+          this.appProfile = profile[0] || null;
+          this.layeredProfile = profile[1] || null;
+          this.stats = profile[2] || null;
+        } else {
+          this.appProfile = null;
+          this.layeredProfile = null;
+          this.stats = null;
+        }
+
+        this.displayWarning = false;
+
+        if (this.appProfile?.WarningLastUpdated) {
+          const now = new Date().getTime();
+          const diff =
+            now - new Date(this.appProfile.WarningLastUpdated).getTime();
+          this.displayWarning = diff < 1000 * 60 * 60 * 24 * 7;
+        }
+
+        if (!!this.netqueryViewer && this._loading) {
+          this.netqueryViewer.performSearch();
+        }
+
+        this._loading = false;
+
+        if (!!this.appProfile?.PresentationPath) {
+          let parts: string[] = [];
+          let sep = '/';
+          if (this.appProfile.PresentationPath[0] === '/') {
+            // linux, darwin, bsd ...
+            sep = '/';
+          } else {
+            // windows ...
+            sep = '\\';
+          }
+          parts = this.appProfile.PresentationPath.split(sep);
+
+          this.binaryName = parts.pop()!;
+          this.applicationDirectory = parts.join(sep);
+        } else {
+          this.applicationDirectory = '';
+          this.binaryName = '';
+        }
+
+        this.highlightSettingKey = queryMap.get('setting');
+        let profileConfig: FlatConfigObject = {};
+
+        // if we have a profile flatten it's configuration map to something
+        // more useful.
+        if (!!this.appProfile) {
+          profileConfig = flattenProfileConfig(this.appProfile.Config);
+        }
+
+        // if we should highlight a setting make sure to switch the
+        // viewSetting to all if it's the "global" default (that is, no
+        // value is set). Otherwise the setting won't render and we cannot
+        // highlight it.
+        // We need to keep this even though we default to "all" now since
+        // the following might happen:
+        //  - user already navigated to an app-page and selected "View Active".
+        //  - a notification comes in that has a "show setting" action
+        //  - the user clicks the action button and the setting should be displayed
+        //  - since the requested setting has not been changed it is not available
+        //    in "View Active" so we need to switch back to "View All". Otherwise
+        //    the action button would fail and the user would not notice something
+        //    changing.
+        //
+        if (!!this.highlightSettingKey) {
+          if (profileConfig[this.highlightSettingKey] === undefined) {
+            this.viewSettingChange.next('all');
+          }
+        }
+
+        // check if we got new values for the profile or the settings. In both cases, we need to update the
+        // profile settings displayed as there might be new values to show.
+        const profileChanged = previousProfile !== this.appProfile;
+        const settingsChanged = allSettings !== this.allSettings;
+        const globalChanged = global !== prevousGlobal;
+
+        const settingsNeedUpdate =
+          profileChanged || settingsChanged || globalChanged;
+
+        // save the current global config object so we can compare for identity changes
+        // the next time we're executed
+        prevousGlobal = global;
+
+        if (!!this.appProfile && settingsNeedUpdate) {
+          // filter the settings and remove all settings that are not
+          // profile specific (i.e. not part of the global config). Also
+          // update the current settings value (from the app profile) and
+          // the default value (from the global profile).
+          this.profileSettings = allSettings.map((setting) => {
+            setting.Value = profileConfig[setting.Key];
+            setting.GlobalDefault = global[setting.Key];
+
+            return setting;
+          });
+
+          this.settings = this.profileSettings.filter((setting) => {
+            if (!(setting.Key in global)) {
+              return false;
+            }
+
+            const isModified = setting.Value !== undefined;
+            if (this.viewSetting === 'all') {
+              return true;
+            }
+            return isModified;
+          });
+
+          this.allSettings = allSettings;
+        }
+
+        this.cdr.markForCheck();
+      }
+    );
+
+    this.spn.profile$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe({
+      next: (profile) => {
+        this.canUseHistory =
+          profile?.current_plan?.feature_ids?.includes(FeatureID.History) ||
+          false;
+        this.canViewBW =
+          profile?.current_plan?.feature_ids?.includes(FeatureID.Bandwidth) ||
+          false;
+        this.canUseSPN =
+          profile?.current_plan?.feature_ids?.includes(FeatureID.SPN) || false;
+      },
+    });
+  }
+
+  /**
+   * @private
+   * Retrieves debug information from the current
+   * profile and copies it to the clipboard
+   */
+  copyDebugInfo() {
+    if (!this.appProfile) {
+      return;
+    }
+
+    this.debugAPI
+      .getProfileDebugInfo(this.appProfile.Source, this.appProfile.ID)
+      .subscribe(async (data) => {
+        console.log(data);
+        // Copy to clip-board if supported
+        await this.integration.writeToClipboard(data);
+        this.actionIndicator.success('Copied to Clipboard');
+      });
+  }
+
+  ngOnDestroy() {
+    this.subscription.unsubscribe();
+  }
+
+  /**
+   * @private
+   * Delete the current profile. Requires a two-step confirmation.
+   */
+  deleteProfile() {
+    if (!this.appProfile) {
+      return;
+    }
+
+    this.dialog
+      .confirm({
+        canCancel: true,
+        caption: 'Caution',
+        header: 'Deleting Profile ' + this.appProfile.Name,
+        message:
+          'Do you really want to delete this profile? All settings will be lost.',
+        buttons: [
+          { id: '', text: 'Cancel', class: 'outline' },
+          { id: 'delete', class: 'danger', text: 'Yes, delete it' },
+        ],
+      })
+      .onAction('delete', () => {
+        this.profileService.deleteProfile(this.appProfile!).subscribe(() => {
+          this.router.navigate(['/app/overview']);
+          this.actionIndicator.success(
+            'Profile Deleted',
+            'Successfully deleted profile ' + this.appProfile?.Name
+          );
+        });
+      });
+  }
+}
diff --git a/desktop/angular/src/app/pages/app-view/index.ts b/desktop/angular/src/app/pages/app-view/index.ts
new file mode 100644
index 00000000..54220c42
--- /dev/null
+++ b/desktop/angular/src/app/pages/app-view/index.ts
@@ -0,0 +1,3 @@
+export { AppViewComponent } from './app-view';
+export { AppOverviewComponent } from './overview';
+export { QuickSettingInternetButtonComponent } from './qs-internet';
diff --git a/desktop/angular/src/app/pages/app-view/merge-profile-dialog/merge-profile-dialog.component.html b/desktop/angular/src/app/pages/app-view/merge-profile-dialog/merge-profile-dialog.component.html
new file mode 100644
index 00000000..ef6d1829
--- /dev/null
+++ b/desktop/angular/src/app/pages/app-view/merge-profile-dialog/merge-profile-dialog.component.html
@@ -0,0 +1,36 @@
+<header class="flex flex-row items-center justify-between mb-2">
+  <h1 class="text-sm font-light m-0">
+    Merge Profiles
+  </h1>
+
+  <svg role="img" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" class="w-3 h-3 text-secondary hover:text-primary cursor-pointer" (click)="dialogRef.close()">
+    <path fill="currentColor" d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"></path>
+  </svg>
+</header>
+
+<span class="py-2 text-secondary text-xxs">
+  Please select the primary profile. All other selected profiles will be merged into the primary profile by copying metadata, fingerprints and icons into a new profile.
+  Only the settings of the primary profile will be kept.
+</span>
+
+<div class="flex flex-row gap-2 justify-between border-b border-gray-500 p-2 items-center">
+  <label class="text-primary text-xxs relative">Primary Profile:</label>
+  <sfng-select [(ngModel)]="primary" (ngModelChange)="newName = newName || primary?.Name || ''" class="border border-gray-500">
+    <ng-container *ngFor="let p of profiles; trackBy: trackProfile">
+      <sfng-select-item *sfngSelectValue="p; label:p.Name" class="flex flex-row items-center gap-2">
+        <app-icon [profile]="p"></app-icon>
+        {{ p.Name }}
+      </sfng-select-item>
+    </ng-container>
+  </sfng-select>
+</div>
+
+<div class="flex flex-row gap-2 justify-between items-center p-2">
+  <label class="text-primary text-xxs relative">Name for the new Profile</label>
+  <input type="text" [(ngModel)]="newName" placeholder="New Profile Name" class="!border !border-gray-500 flex-grow">
+</div>
+
+<div class="flex flex-row justify-end gap-2">
+  <button (click)="dialogRef.close()">Cancel</button>
+  <button class="bg-blue text-white" (click)="mergeProfiles()" [disabled]="!primary || !newName">Merge</button>
+</div>
diff --git a/desktop/angular/src/app/pages/app-view/merge-profile-dialog/merge-profile-dialog.component.ts b/desktop/angular/src/app/pages/app-view/merge-profile-dialog/merge-profile-dialog.component.ts
new file mode 100644
index 00000000..d609afb1
--- /dev/null
+++ b/desktop/angular/src/app/pages/app-view/merge-profile-dialog/merge-profile-dialog.component.ts
@@ -0,0 +1,62 @@
+import { AppProfile } from './../../../../../dist-lib/safing/portmaster-api/lib/app-profile.types.d';
+import { ChangeDetectionStrategy, Component, OnInit, TrackByFunction, inject } from "@angular/core";
+import { Router } from '@angular/router';
+import { PortapiService } from '@safing/portmaster-api';
+import { SFNG_DIALOG_REF, SfngDialogRef } from "@safing/ui";
+import { ActionIndicatorService } from 'src/app/shared/action-indicator';
+
+@Component({
+  templateUrl: './merge-profile-dialog.component.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  styles: [
+    `
+    :host {
+      @apply flex flex-col gap-2 justify-start h-96 w-96;
+    }
+    `
+  ]
+})
+export class MergeProfileDialogComponent implements OnInit {
+  readonly dialogRef: SfngDialogRef<MergeProfileDialogComponent, unknown, AppProfile[]> = inject(SFNG_DIALOG_REF);
+  private readonly portapi = inject(PortapiService);
+  private readonly router = inject(Router);
+  private readonly uai = inject(ActionIndicatorService);
+
+  get profiles(): AppProfile[] {
+    return this.dialogRef.data;
+  }
+
+  primary: AppProfile | null = null;
+  newName = '';
+
+  trackProfile: TrackByFunction<AppProfile> = (_, p) => `${p.Source}/${p.ID}`
+
+  ngOnInit(): void {
+    (() => { });
+  }
+
+  mergeProfiles() {
+    if (!this.primary) {
+      return
+    }
+
+    this.portapi.mergeProfiles(
+      this.newName,
+      `${this.primary.Source}/${this.primary.ID}`,
+      this.profiles
+        .filter(p => p !== this.primary)
+        .map(p => `${p.Source}/${p.ID}`)
+    )
+      .subscribe({
+        next: newID => {
+          this.router.navigate(['/app/' + newID])
+          this.uai.success('Profiles Merged Successfully', 'All selected profiles have been merged')
+
+          this.dialogRef.close()
+        },
+        error: err => {
+          this.uai.error('Failed To Merge Profiles', this.uai.getErrorMessgae(err))
+        }
+      })
+  }
+}
diff --git a/desktop/angular/src/app/pages/app-view/overview.html b/desktop/angular/src/app/pages/app-view/overview.html
new file mode 100644
index 00000000..defb9c85
--- /dev/null
+++ b/desktop/angular/src/app/pages/app-view/overview.html
@@ -0,0 +1,193 @@
+<div class="flex flex-row justify-between items-center mb-4">
+  <input
+    type="text"
+    placeholder="Search"
+    [ngModel]="searchTerm"
+    (ngModelChange)="searchApps($event)"
+    [autoFocus]="true"
+  />
+  <app-expertise></app-expertise>
+</div>
+
+<div class="header-title">
+  <h1>
+    All Apps
+    <sfng-tipup key="appsTitle"></sfng-tipup>
+  </h1>
+  <div class="flex-grow"></div>
+
+  <app-menu #profileMenu>
+    <app-menu-item (click)="createProfile()">Create profile</app-menu-item>
+    <app-menu-item (click)="importProfile()">Import Profile</app-menu-item>
+    <app-menu-item (click)="selectMode = true"
+      >Merge or Delete profiles</app-menu-item
+    >
+  </app-menu>
+
+  <div class="flex flex-row gap-2 items-center">
+    <app-menu-trigger
+      *ngIf="!selectMode"
+      [menu]="profileMenu"
+      useContent="true"
+    >
+      <div class="flex flex-row gap-2 items-center text-xs font-light">
+        Manage
+
+        <svg
+          xmlns="http://www.w3.org/2000/svg"
+          fill="none"
+          viewBox="0 0 24 24"
+          stroke-width="1.5"
+          stroke="currentColor"
+          class="w-3 h-3"
+        >
+          <path
+            stroke-linecap="round"
+            stroke-linejoin="round"
+            d="M11.42 15.17L17.25 21A2.652 2.652 0 0021 17.25l-5.877-5.877M11.42 15.17l2.496-3.03c.317-.384.74-.626 1.208-.766M11.42 15.17l-4.655 5.653a2.548 2.548 0 11-3.586-3.586l6.837-5.63m5.108-.233c.55-.164 1.163-.188 1.743-.14a4.5 4.5 0 004.486-6.336l-3.276 3.277a3.004 3.004 0 01-2.25-2.25l3.276-3.276a4.5 4.5 0 00-6.336 4.486c.091 1.076-.071 2.264-.904 2.95l-.102.085m-1.745 1.437L5.909 7.5H4.5L2.25 3.75l1.5-1.5L7.5 4.5v1.409l4.26 4.26m-1.745 1.437l1.745-1.437m6.615 8.206L15.75 15.75M4.867 19.125h.008v.008h-.008v-.008z"
+          />
+        </svg>
+      </div>
+    </app-menu-trigger>
+
+    <ng-container *ngIf="selectMode">
+      <app-menu #selectionMenu>
+        <app-menu-item (click)="openMergeDialog()"
+          >Merge Profiles</app-menu-item
+        >
+        <app-menu-item (click)="deleteSelectedProfiles()"
+          >Delete Profiles</app-menu-item
+        >
+        <app-menu-item (click)="selectMode = false">Cancel</app-menu-item>
+      </app-menu>
+
+      <app-menu-trigger [menu]="selectionMenu" useContent="true">
+        <div class="flex flex-row gap-2 items-center text-xs font-light">
+          {{ selectedProfileCount}} selected
+
+          <svg
+            xmlns="http://www.w3.org/2000/svg"
+            fill="none"
+            viewBox="0 0 24 24"
+            stroke-width="1.5"
+            stroke="currentColor"
+            class="w-3 h-3"
+          >
+            <path
+              stroke-linecap="round"
+              stroke-linejoin="round"
+              d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"
+            />
+          </svg>
+        </div>
+      </app-menu-trigger>
+    </ng-container>
+  </div>
+</div>
+
+<div class="scrollable" [@fadeInList]="total">
+  <ng-container *ngIf="runningProfiles.length > 0">
+    <div class="scrollable-header">
+      <h4>Active</h4>
+    </div>
+    <ng-container
+      *ngTemplateOutlet="profileList; context: {$implicit: runningProfiles}"
+    ></ng-container>
+  </ng-container>
+
+  <ng-container *ngIf="recentlyEdited.length > 0">
+    <div class="scrollable-header">
+      <h4>Recently Edited</h4>
+    </div>
+    <ng-container
+      *ngTemplateOutlet="profileList; context: {$implicit: recentlyEdited}"
+    ></ng-container>
+  </ng-container>
+
+  <ng-container *ngIf="profiles.length > 0">
+    <div class="scrollable-header">
+      <h4>All</h4>
+    </div>
+    <ng-container
+      *ngTemplateOutlet="profileList; context: {$implicit: profiles}"
+    ></ng-container>
+  </ng-container>
+
+  <ng-template #profileList let-list>
+    <ng-container *ngFor="let profile of list; trackBy: trackProfile">
+      <div
+        *appExpertiseLevel="profile.Internal ? 'developer' : 'user'"
+        class="relative card-header"
+        [ngClass]="{'ring-1 ring-inset ring-yellow-300': profile.selected}"
+        (click)="handleProfileClick(profile, $event)"
+        [routerLink]="selectMode ? null : ['/app', profile.Source,  profile.ID]"
+      >
+        <app-icon [profile]="profile"></app-icon>
+
+        <span class="card-title">
+          <span [innerHTML]="profile?.Name | safe:'html'"></span>
+          <span
+            class="card-sub-title"
+            *appExpertiseLevel="'expert'"
+            [innerHTML]="profile?.PresentationPath | safe:'html'"
+          ></span>
+        </span>
+
+        <input
+          type="checkbox"
+          *ngIf="selectMode"
+          [(ngModel)]="profile.selected"
+          (click)="$event.stopPropagation()"
+        />
+
+        <span
+          *ngIf="profile.hasConfigChanges"
+          sfng-tooltip="Settings Edited"
+          class="absolute top-1 right-1 w-2 h-2 rounded-full bg-blue"
+        ></span>
+      </div>
+    </ng-container>
+
+    <ng-container *ngIf="loading">
+      <div class="card-header">
+        <fa-icon class="card-icon loading" icon="square"></fa-icon>
+        <app-text-placeholder
+          mode="input"
+          width="small"
+          class="card-title"
+        ></app-text-placeholder>
+      </div>
+      <div class="card-header">
+        <fa-icon class="card-icon loading" icon="square"></fa-icon>
+        <app-text-placeholder
+          mode="input"
+          width="small"
+          class="card-title"
+        ></app-text-placeholder>
+      </div>
+      <div class="card-header">
+        <fa-icon class="card-icon loading" icon="square"></fa-icon>
+        <app-text-placeholder
+          mode="input"
+          width="7rem"
+          class="card-title"
+        ></app-text-placeholder>
+      </div>
+      <div class="card-header">
+        <fa-icon class="card-icon loading" icon="square"></fa-icon>
+        <app-text-placeholder
+          mode="input"
+          width="3rem"
+          class="card-title"
+        ></app-text-placeholder>
+      </div>
+    </ng-container>
+  </ng-template>
+</div>
+
+<div
+  *ngIf="total === 0 && searchTerm !== ''"
+  class="flex justify-center items-center p-2 bg-gray-200 text-secondary"
+>
+  No applications match your search term.
+</div>
diff --git a/desktop/angular/src/app/pages/app-view/overview.scss b/desktop/angular/src/app/pages/app-view/overview.scss
new file mode 100644
index 00000000..87462ccb
--- /dev/null
+++ b/desktop/angular/src/app/pages/app-view/overview.scss
@@ -0,0 +1,54 @@
+:host {
+  justify-content: flex-start;
+}
+
+.header-title {
+  display: flex;
+  width: 100%;
+  margin-bottom: 0.5rem;
+  align-items: center;
+  height: 3rem;
+  flex-shrink: 0;
+
+  h1 {
+    flex-grow: unset;
+  }
+
+  fa-icon[icon*="question-circle"] {
+    margin-left: 0.35rem;
+  }
+}
+
+.scrollable {
+  width: auto;
+  flex-grow: 0;
+  display: grid;
+  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
+  gap: 1rem;
+}
+
+
+.scrollable-header {
+
+  @apply bg-background;
+  @apply pt-4;
+  @apply pb-1;
+  width: 100%;
+  position: sticky;
+  top: 0px;
+  display: flex;
+
+  grid-column: 1 / -1;
+
+  fa-icon[icon*="question-circle"] {
+    margin-left: 0.35rem;
+  }
+}
+
+
+.card-header {
+  // Card headers have top-margin by default.
+  // Since we're using a grid-gap anyway we need
+  // to clear the margin.
+  @apply mt-0;
+}
diff --git a/desktop/angular/src/app/pages/app-view/overview.ts b/desktop/angular/src/app/pages/app-view/overview.ts
new file mode 100644
index 00000000..3c995621
--- /dev/null
+++ b/desktop/angular/src/app/pages/app-view/overview.ts
@@ -0,0 +1,305 @@
+import {
+  ChangeDetectorRef,
+  Component,
+  OnDestroy,
+  OnInit,
+  TrackByFunction,
+} from '@angular/core';
+import {
+  AppProfile,
+  AppProfileService,
+  Netquery,
+  trackById,
+} from '@safing/portmaster-api';
+import { SfngDialogService } from '@safing/ui';
+import { BehaviorSubject, Subscription, combineLatest, forkJoin } from 'rxjs';
+import { debounceTime, filter, startWith } from 'rxjs/operators';
+import {
+  fadeInAnimation,
+  fadeInListAnimation,
+  moveInOutListAnimation,
+} from 'src/app/shared/animations';
+import { FuzzySearchService } from 'src/app/shared/fuzzySearch';
+import { EditProfileDialog } from './../../shared/edit-profile-dialog/edit-profile-dialog';
+import { coerceBooleanProperty } from '@angular/cdk/coercion';
+import { MergeProfileDialogComponent } from './merge-profile-dialog/merge-profile-dialog.component';
+import { ActionIndicatorService } from 'src/app/shared/action-indicator';
+import { Router } from '@angular/router';
+import {
+  ImportConfig,
+  ImportDialogComponent,
+} from 'src/app/shared/config/import-dialog/import-dialog.component';
+
+interface LocalAppProfile extends AppProfile {
+  hasConfigChanges: boolean;
+  selected: boolean;
+}
+
+@Component({
+  selector: 'app-settings-overview',
+  templateUrl: './overview.html',
+  styleUrls: ['../page.scss', './overview.scss'],
+  animations: [fadeInAnimation, fadeInListAnimation, moveInOutListAnimation],
+})
+export class AppOverviewComponent implements OnInit, OnDestroy {
+  private subscription = Subscription.EMPTY;
+
+  /** Whether or not we are currently loading */
+  loading = true;
+
+  /** All application profiles that are actually running */
+  runningProfiles: LocalAppProfile[] = [];
+
+  /** All application profiles that have been edited recently */
+  recentlyEdited: LocalAppProfile[] = [];
+
+  /** All application profiles */
+  profiles: LocalAppProfile[] = [];
+
+  /** The current search term */
+  searchTerm: string = '';
+
+  /** total number of profiles */
+  total: number = 0;
+
+  /** Whether or not we are in profile-selection mode */
+  set selectMode(v: any) {
+    this._selectMode = coerceBooleanProperty(v);
+
+    // reset all previous profile selections
+    if (!this._selectMode) {
+      this.profiles.forEach((profile) => (profile.selected = false));
+    }
+  }
+  get selectMode() {
+    return this._selectMode;
+  }
+  private _selectMode = false;
+
+  get selectedProfileCount() {
+    return this.profiles.reduce(
+      (sum, profile) => (profile.selected ? sum + 1 : sum),
+      0
+    );
+  }
+
+  /** Observable emitting the search term */
+  private onSearch = new BehaviorSubject('');
+
+  /** TrackBy function for the profiles. */
+  trackProfile: TrackByFunction<LocalAppProfile> = trackById;
+
+  constructor(
+    private profileService: AppProfileService,
+    private changeDetector: ChangeDetectorRef,
+    private searchService: FuzzySearchService,
+    private netquery: Netquery,
+    private dialog: SfngDialogService,
+    private actionIndicator: ActionIndicatorService,
+    private router: Router
+  ) { }
+
+  handleProfileClick(profile: LocalAppProfile, event: MouseEvent) {
+    if (event.shiftKey) {
+      // stay on the same page as clicking the app actually triggers
+      // a navigation before this handler is executed.
+      this.router.navigate(['/app/overview']);
+
+      this.selectMode = true;
+
+      event.preventDefault();
+      event.stopImmediatePropagation();
+      event.stopPropagation();
+    }
+
+    if (this.selectMode) {
+      profile.selected = !profile.selected;
+    }
+
+    if (event.shiftKey && this.selectedProfileCount === 0) {
+      this.selectMode = false;
+    }
+  }
+
+  importProfile() {
+    const importConfig: ImportConfig = {
+      type: 'profile',
+      key: '',
+    };
+
+    this.dialog.create(ImportDialogComponent, {
+      data: importConfig,
+      autoclose: false,
+      backdrop: 'light',
+    });
+  }
+
+  openMergeDialog() {
+    this.dialog.create(MergeProfileDialogComponent, {
+      autoclose: true,
+      backdrop: 'light',
+      data: this.profiles.filter((p) => p.selected),
+    });
+
+    this.selectMode = false;
+  }
+
+  deleteSelectedProfiles() {
+    this.dialog
+      .confirm({
+        header: 'Confirm Profile Deletion',
+        message: `Are you sure you want to delete all ${this.selectedProfileCount} selected profiles?`,
+        caption: 'Attention',
+        buttons: [
+          {
+            id: 'no',
+            text: 'Cancel',
+            class: 'outline',
+          },
+          {
+            id: 'yes',
+            text: 'Delete',
+            class: 'danger',
+          },
+        ],
+      })
+      .onAction('yes', () => {
+        forkJoin(
+          this.profiles
+            .filter((profile) => profile.selected)
+            .map((p) => this.profileService.deleteProfile(p))
+        ).subscribe({
+          next: () => {
+            this.actionIndicator.success(
+              'Selected Profiles Delete',
+              'All selected profiles have been deleted'
+            );
+          },
+          error: (err) => {
+            this.actionIndicator.error(
+              'Failed To Delete Profiles',
+              `An error occured while deleting some profiles: ${this.actionIndicator.getErrorMessgae(
+                err
+              )}`
+            );
+          },
+        });
+      })
+      .onClose.subscribe(() => (this.selectMode = false));
+  }
+
+  ngOnInit() {
+    // watch all profiles and re-emit (debounced) when the user
+    // enters or chanages the search-text.
+    this.subscription = combineLatest([
+      this.profileService.watchProfiles(),
+      this.onSearch.pipe(debounceTime(100), startWith('')),
+      this.netquery.getActiveProfileIDs().pipe(startWith([] as string[])),
+    ]).subscribe(([profiles, searchTerm, activeProfiles]) => {
+      this.loading = false;
+
+      // find all profiles that match the search term. For searchTerm="" thsi
+      // will return all profiles.
+      const filtered = this.searchService.searchList(profiles, searchTerm, {
+        ignoreLocation: true,
+        ignoreFieldNorm: true,
+        threshold: 0.1,
+        minMatchCharLength: 3,
+        keys: ['Name', 'PresentationPath'],
+      });
+
+      // create a lookup map of all profiles we already loaded so we don't loose
+      // selection state when a profile has been updated.
+      const oldProfiles = new Map<string, LocalAppProfile>(
+        this.profiles.map((profile) => [
+          `${profile.Source}/${profile.ID}`,
+          profile,
+        ])
+      );
+
+      // Prepare new, empty lists for our groups
+      this.profiles = [];
+      this.runningProfiles = [];
+      this.recentlyEdited = [];
+
+      // calcualte the threshold for "recently-used" (1 week).
+      const recentlyUsedThreshold =
+        new Date().valueOf() / 1000 - 60 * 60 * 24 * 7;
+
+      // flatten the filtered profiles, sort them by name and group them into
+      // our "app-groups" (active, recentlyUsed, others)
+      this.total = filtered.length;
+      filtered
+        .map((item) => item.item)
+        .sort((a, b) => {
+          const aName = a.Name.toLocaleLowerCase();
+          const bName = b.Name.toLocaleLowerCase();
+
+          if (aName > bName) {
+            return 1;
+          }
+
+          if (aName < bName) {
+            return -1;
+          }
+
+          return 0;
+        })
+        .forEach((profile) => {
+          const local: LocalAppProfile = {
+            ...profile,
+            hasConfigChanges:
+              profile.LastEdited > 0 && Object.keys(profile.Config || {}).length > 0,
+            selected:
+              oldProfiles.get(`${profile.Source}/${profile.ID}`)?.selected ||
+              false,
+          };
+
+          if (activeProfiles.includes(profile.Source + '/' + profile.ID)) {
+            this.runningProfiles.push(local);
+          } else if (profile.LastEdited >= recentlyUsedThreshold) {
+            this.recentlyEdited.push(local);
+          }
+
+          // we always add the profile to "All Apps"
+          this.profiles.push(local);
+        });
+
+      this.changeDetector.markForCheck();
+    });
+  }
+
+  /**
+   * @private
+   *
+   * Used as an ngModelChange callback on the search-input.
+   *
+   * @param term The search term entered by the user
+   */
+  searchApps(term: string) {
+    this.searchTerm = term;
+    this.onSearch.next(term);
+  }
+
+  /**
+   * @private
+   *
+   * Opens the create profile dialog
+   */
+  createProfile() {
+    const ref = this.dialog.create(EditProfileDialog, {
+      backdrop: true,
+      autoclose: false,
+    });
+
+    ref.onClose.pipe(filter((action) => action === 'saved')).subscribe(() => {
+      // reset the search and reload to make sure the new
+      // profile shows up
+      this.searchApps('');
+    });
+  }
+
+  ngOnDestroy() {
+    this.subscription.unsubscribe();
+  }
+}
diff --git a/desktop/angular/src/app/pages/app-view/qs-history/qs-history.component.html b/desktop/angular/src/app/pages/app-view/qs-history/qs-history.component.html
new file mode 100644
index 00000000..77c34199
--- /dev/null
+++ b/desktop/angular/src/app/pages/app-view/qs-history/qs-history.component.html
@@ -0,0 +1,12 @@
+<div class="relative flex flex-wrap items-center justify-center w-full h-full gap-2 px-3 py-2 bg-gray-300 border border-gray-300 rounded shadow">
+  <span class="text-primary">
+    Keep History
+  </span>
+
+  <span *ngIf="!canUse" routerLink="/dashboard" class="cursor-pointer text-tertiary hover:underline">
+    Get Plus
+  </span>
+
+  <sfng-toggle *ngIf="canUse" [ngModel]="currentValue" (ngModelChange)="updateHistoryEnabled($event)"
+    [disabled]="(historyFeatureAllowed | async) === false"></sfng-toggle>
+</div>
diff --git a/desktop/angular/.gitkeep b/desktop/angular/src/app/pages/app-view/qs-history/qs-history.component.scss
similarity index 100%
rename from desktop/angular/.gitkeep
rename to desktop/angular/src/app/pages/app-view/qs-history/qs-history.component.scss
diff --git a/desktop/angular/src/app/pages/app-view/qs-history/qs-history.component.ts b/desktop/angular/src/app/pages/app-view/qs-history/qs-history.component.ts
new file mode 100644
index 00000000..24e6296a
--- /dev/null
+++ b/desktop/angular/src/app/pages/app-view/qs-history/qs-history.component.ts
@@ -0,0 +1,67 @@
+import {
+  ChangeDetectionStrategy,
+  Component,
+  EventEmitter,
+  Input,
+  OnChanges,
+  Output,
+  SimpleChanges,
+  inject,
+} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
+import {
+  BoolSetting,
+  FeatureID,
+  SPNService,
+  Setting,
+  getActualValue,
+} from '@safing/portmaster-api';
+import { BehaviorSubject, Observable, map } from 'rxjs';
+import { share } from 'rxjs/operators';
+import { SaveSettingEvent } from 'src/app/shared/config';
+
+@Component({
+  selector: 'app-qs-history',
+  templateUrl: './qs-history.component.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class QsHistoryComponent implements OnChanges {
+  currentValue = false;
+  historyFeatureAllowed: Observable<boolean> = inject(SPNService).profile$.pipe(
+    takeUntilDestroyed(),
+    map((profile) => {
+      return (
+        profile?.current_plan?.feature_ids?.includes(FeatureID.History) || false
+      );
+    }),
+    share({ connector: () => new BehaviorSubject<boolean>(false) })
+  );
+
+  @Input()
+  canUse: boolean = true;
+
+  @Input()
+  settings: Setting[] = [];
+
+  @Output()
+  save = new EventEmitter<SaveSettingEvent<any>>();
+
+  ngOnChanges(changes: SimpleChanges): void {
+    if ('settings' in changes) {
+      const historySetting = this.settings.find(
+        (s) => s.Key === 'history/enable'
+      ) as BoolSetting | undefined;
+      if (historySetting) {
+        this.currentValue = getActualValue(historySetting);
+      }
+    }
+  }
+
+  updateHistoryEnabled(enabled: boolean) {
+    this.save.next({
+      isDefault: false,
+      key: 'history/enable',
+      value: enabled,
+    });
+  }
+}
diff --git a/desktop/angular/src/app/pages/app-view/qs-internet/index.ts b/desktop/angular/src/app/pages/app-view/qs-internet/index.ts
new file mode 100644
index 00000000..7fd0d0c4
--- /dev/null
+++ b/desktop/angular/src/app/pages/app-view/qs-internet/index.ts
@@ -0,0 +1 @@
+export * from './qs-internet';
diff --git a/desktop/angular/src/app/pages/app-view/qs-internet/qs-internet.html b/desktop/angular/src/app/pages/app-view/qs-internet/qs-internet.html
new file mode 100644
index 00000000..cf87f254
--- /dev/null
+++ b/desktop/angular/src/app/pages/app-view/qs-internet/qs-internet.html
@@ -0,0 +1,30 @@
+<div
+  class="relative flex flex-wrap items-center justify-center w-full h-full gap-2 px-3 py-2 bg-gray-300 border border-gray-300 rounded shadow"
+  snfgTooltipPosition="right" [sfng-tooltip]="interferingSettings.length > 0 ? tooltipTemplate : null">
+  <span class="text-primary" [class.cursor-pointer]="interferingSettings.length > 0">
+    Block Connections
+  </span>
+
+  <sfng-toggle *ngIf="currentValue !== 'ask'; else: promptingTemplate" [ngModel]="currentValue === 'block'"
+    (ngModelChange)="updateUseInternet($event)"></sfng-toggle>
+
+  <span class="absolute right-0 block w-2 h-2 bg-yellow-300 border border-gray-100 rounded opacity-75"
+    style="top: 2px; transform: translateX(-2px)" *ngIf="interferingSettings.length > 0"></span>
+
+  <ng-template #promptingTemplate>
+    <span class="mr-2 outline-none cursor-pointer text-secondary hover:underline" [routerLink]="[]"
+      [queryParams]="{setting: 'filter/defaultAction', tab: 'settings'}">Prompting</span>
+  </ng-template>
+</div>
+
+<ng-template #tooltipTemplate>
+  The following enabled settings may interfere:
+  <ul class="pl-4 list-disc">
+    <ng-container *ngFor="let setting of interferingSettings">
+      <li class="cursor-pointer hover:underline" [routerLink]="[]"
+        [queryParams]="{setting: setting.Key, tab: 'settings'}">
+        {{ setting.Name }}
+      </li>
+    </ng-container>
+  </ul>
+</ng-template>
diff --git a/desktop/angular/src/app/pages/app-view/qs-internet/qs-internet.ts b/desktop/angular/src/app/pages/app-view/qs-internet/qs-internet.ts
new file mode 100644
index 00000000..7b606660
--- /dev/null
+++ b/desktop/angular/src/app/pages/app-view/qs-internet/qs-internet.ts
@@ -0,0 +1,79 @@
+import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from "@angular/core";
+import { Setting, StringSetting, getActualValue } from "@safing/portmaster-api";
+import { SaveSettingEvent } from "src/app/shared/config/generic-setting/generic-setting";
+
+const interferingSettings = {
+  'permit': [
+    'filter/blockInternet',
+    'filter/blockLAN',
+    'filter/blockLocal',
+    'filter/blockP2P',
+    'filter/blockInbound',
+    'filter/endpoints',
+  ],
+  'block': [
+    'filter/endpoints',
+  ],
+}
+
+@Component({
+  selector: 'app-qs-internet',
+  templateUrl: './qs-internet.html',
+  changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class QuickSettingInternetButtonComponent implements OnChanges {
+  @Input()
+  settings: Setting[] = [];
+
+  @Output()
+  save = new EventEmitter<SaveSettingEvent>();
+
+  currentValue = ''
+
+  interferingSettings: Setting[] = [];
+
+  ngOnChanges(changes: SimpleChanges): void {
+    if ('settings' in changes) {
+      this.currentValue = '';
+      const defaultActionSetting = this.settings.find(s => s.Key == 'filter/defaultAction') as (StringSetting | undefined);
+      if (!!defaultActionSetting) {
+        this.currentValue = getActualValue(defaultActionSetting);
+        this.updateInterfering();
+      }
+    }
+  }
+
+  updateUseInternet(blocked: boolean) {
+    const newValue = blocked ? 'block' : 'permit';
+    this.save.next({
+      isDefault: false,
+      key: 'filter/defaultAction',
+      value: newValue,
+    })
+  }
+
+  private updateInterfering() {
+    this.interferingSettings = [];
+    if (this.currentValue !== 'permit' && this.currentValue !== 'block') {
+      return;
+    }
+
+    // create a lookup map for setting key to setting
+    const lm = new Map<string, Setting>();
+    this.settings.forEach(s => lm.set(s.Key, s))
+
+    this.interferingSettings = interferingSettings[this.currentValue]
+      .map(key => lm.get(key))
+      .filter(setting => {
+        if (!setting) {
+          return false;
+        }
+        const value = getActualValue(setting);
+        if (Array.isArray(value)) {
+          return value.length > 0;
+        }
+
+        return !!value;
+      }) as Setting[];
+  }
+}
diff --git a/desktop/angular/src/app/pages/app-view/qs-select-exit/index.ts b/desktop/angular/src/app/pages/app-view/qs-select-exit/index.ts
new file mode 100644
index 00000000..56c7267e
--- /dev/null
+++ b/desktop/angular/src/app/pages/app-view/qs-select-exit/index.ts
@@ -0,0 +1 @@
+export * from './qs-select-exit';
diff --git a/desktop/angular/src/app/pages/app-view/qs-select-exit/qs-select-exit.html b/desktop/angular/src/app/pages/app-view/qs-select-exit/qs-select-exit.html
new file mode 100644
index 00000000..66f9fa13
--- /dev/null
+++ b/desktop/angular/src/app/pages/app-view/qs-select-exit/qs-select-exit.html
@@ -0,0 +1,39 @@
+<div class="qs-select-exit relative flex flex-wrap items-center justify-center w-full h-full gap-2 px-3 py-1 bg-gray-300 border border-gray-300 rounded shadow">
+  <span class="text-primary">
+    SPN Exit
+  </span>
+
+  <span *ngIf="!canUse" routerLink="/dashboard" class="cursor-pointer text-tertiary hover:underline">
+    Get Pro
+  </span>
+
+  <sfng-select *ngIf="canUse && spnEnabled === true && exitRuleSetting"
+    [ngModel]="selectedExitRules" (ngModelChange)="updateExitRules($event)" placeholder="Custom"
+    class="">
+    <sfng-select-item *sfngSelectValue="">
+      Automatic
+    </sfng-select-item>
+    <ng-container *ngFor="let option of availableExitRules">
+      <sfng-select-item *sfngSelectValue="option.Value.join(',')">
+        <span *ngIf="option.FlagID" [appCountryFlags]="option.FlagID"></span>
+        <span *ngIf="!option.FlagID" class="text-tertiary">
+          <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-globe" viewBox="0 0 16 16">
+            <path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm7.5-6.923c-.67.204-1.335.82-1.887 1.855A7.97 7.97 0 0 0 5.145 4H7.5V1.077zM4.09 4a9.267 9.267 0 0 1 .64-1.539 6.7 6.7 0 0 1 .597-.933A7.025 7.025 0 0 0 2.255 4H4.09zm-.582 3.5c.03-.877.138-1.718.312-2.5H1.674a6.958 6.958 0 0 0-.656 2.5h2.49zM4.847 5a12.5 12.5 0 0 0-.338 2.5H7.5V5H4.847zM8.5 5v2.5h2.99a12.495 12.495 0 0 0-.337-2.5H8.5zM4.51 8.5a12.5 12.5 0 0 0 .337 2.5H7.5V8.5H4.51zm3.99 0V11h2.653c.187-.765.306-1.608.338-2.5H8.5zM5.145 12c.138.386.295.744.468 1.068.552 1.035 1.218 1.65 1.887 1.855V12H5.145zm.182 2.472a6.696 6.696 0 0 1-.597-.933A9.268 9.268 0 0 1 4.09 12H2.255a7.024 7.024 0 0 0 3.072 2.472zM3.82 11a13.652 13.652 0 0 1-.312-2.5h-2.49c.062.89.291 1.733.656 2.5H3.82zm6.853 3.472A7.024 7.024 0 0 0 13.745 12H11.91a9.27 9.27 0 0 1-.64 1.539 6.688 6.688 0 0 1-.597.933zM8.5 12v2.923c.67-.204 1.335-.82 1.887-1.855.173-.324.33-.682.468-1.068H8.5zm3.68-1h2.146c.365-.767.594-1.61.656-2.5h-2.49a13.65 13.65 0 0 1-.312 2.5zm2.802-3.5a6.959 6.959 0 0 0-.656-2.5H12.18c.174.782.282 1.623.312 2.5h2.49zM11.27 2.461c.247.464.462.98.64 1.539h1.835a7.024 7.024 0 0 0-3.072-2.472c.218.284.418.598.597.933zM10.855 4a7.966 7.966 0 0 0-.468-1.068C9.835 1.897 9.17 1.282 8.5 1.077V4h2.355z"/>
+          </svg>
+        </span>
+        {{ option.Name }}
+      </sfng-select-item>
+    </ng-container>
+  </sfng-select>
+
+  <ng-template *ngIf="canUse && spnEnabled === true && exitRuleSetting === null">
+    <fa-icon icon="spinner" [spin]="true"></fa-icon>
+  </ng-template>
+
+  <span *ngIf="canUse && spnEnabled === false"
+    routerLink="/spn" class="cursor-pointer text-tertiary hover:underline"
+    sfng-tooltip="Enable SPN to start using.">
+      Disabled
+  </span>
+
+</div>
diff --git a/desktop/angular/src/app/pages/app-view/qs-select-exit/qs-select-exit.scss b/desktop/angular/src/app/pages/app-view/qs-select-exit/qs-select-exit.scss
new file mode 100644
index 00000000..e69de29b
diff --git a/desktop/angular/src/app/pages/app-view/qs-select-exit/qs-select-exit.ts b/desktop/angular/src/app/pages/app-view/qs-select-exit/qs-select-exit.ts
new file mode 100644
index 00000000..698607b6
--- /dev/null
+++ b/desktop/angular/src/app/pages/app-view/qs-select-exit/qs-select-exit.ts
@@ -0,0 +1,128 @@
+import {
+  ChangeDetectionStrategy,
+  ChangeDetectorRef,
+  Component,
+  DestroyRef,
+  EventEmitter,
+  Input,
+  OnChanges,
+  OnInit,
+  Output,
+  SimpleChanges,
+  inject,
+} from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
+import {
+  BoolSetting,
+  StringArraySetting,
+  CountrySelectionQuickSetting,
+  ConfigService,
+  Setting,
+  getActualValue,
+} from '@safing/portmaster-api';
+import { SaveSettingEvent } from 'src/app/shared/config/generic-setting/generic-setting';
+
+@Component({
+  selector: 'app-qs-select-exit',
+  templateUrl: './qs-select-exit.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class QuickSettingSelectExitButtonComponent
+  implements OnInit, OnChanges
+{
+  private destroyRef = inject(DestroyRef);
+
+  @Input()
+  canUse: boolean = true;
+
+  @Input()
+  settings: Setting[] = [];
+
+  @Output()
+  save = new EventEmitter<SaveSettingEvent>();
+
+  spnEnabled: boolean | null = null;
+  exitRuleSetting: StringArraySetting | null = null;
+
+  selectedExitRules: string | undefined = undefined;
+  availableExitRules: CountrySelectionQuickSetting<string[]>[] | null = null;
+
+  constructor(
+    private configService: ConfigService,
+    private cdr: ChangeDetectorRef
+  ) {}
+
+  updateExitRules(newExitRules: string) {
+    this.selectedExitRules = newExitRules;
+
+    let newConfigValue: string[] = [];
+    if (!!newExitRules) {
+      newConfigValue = newExitRules.split(',');
+    }
+
+    this.save.next({
+      isDefault: false,
+      key: 'spn/exitHubPolicy',
+      value: newConfigValue,
+    });
+  }
+
+  ngOnChanges(changes: SimpleChanges): void {
+    if ('settings' in changes) {
+      this.exitRuleSetting = null;
+      this.selectedExitRules = undefined;
+
+      const exitRuleSetting = this.settings.find(
+        (s) => s.Key == 'spn/exitHubPolicy'
+      ) as StringArraySetting | undefined;
+      if (exitRuleSetting) {
+        this.exitRuleSetting = exitRuleSetting;
+        this.updateOptions();
+      }
+    }
+  }
+
+  ngOnInit() {
+    this.configService
+      .watch<BoolSetting>('spn/enable')
+      .pipe(takeUntilDestroyed(this.destroyRef))
+      .subscribe((value) => {
+        this.spnEnabled = value;
+        this.updateOptions();
+      });
+  }
+
+  private updateOptions() {
+    if (!this.exitRuleSetting) {
+      this.selectedExitRules = undefined;
+      this.availableExitRules = null;
+      return;
+    }
+
+    if (!!this.exitRuleSetting.Value && this.exitRuleSetting.Value.length > 0) {
+      this.selectedExitRules = this.exitRuleSetting.Value.join(',');
+    }
+    this.availableExitRules = this.getQuickSettings();
+
+    this.cdr.markForCheck();
+  }
+
+  private getQuickSettings(): CountrySelectionQuickSetting<string[]>[] {
+    if (!this.exitRuleSetting) {
+      return [];
+    }
+
+    let val = this.exitRuleSetting.Annotations[
+      'safing/portbase:ui:quick-setting'
+    ] as CountrySelectionQuickSetting<string[]>[];
+    if (val === undefined) {
+      return [];
+    }
+
+    if (!Array.isArray(val)) {
+      return [];
+    }
+
+    return val;
+  }
+}
diff --git a/desktop/angular/src/app/pages/app-view/qs-use-spn/index.ts b/desktop/angular/src/app/pages/app-view/qs-use-spn/index.ts
new file mode 100644
index 00000000..aba9748a
--- /dev/null
+++ b/desktop/angular/src/app/pages/app-view/qs-use-spn/index.ts
@@ -0,0 +1 @@
+export * from './qs-use-spn';
diff --git a/desktop/angular/src/app/pages/app-view/qs-use-spn/qs-use-spn.html b/desktop/angular/src/app/pages/app-view/qs-use-spn/qs-use-spn.html
new file mode 100644
index 00000000..58ceb09d
--- /dev/null
+++ b/desktop/angular/src/app/pages/app-view/qs-use-spn/qs-use-spn.html
@@ -0,0 +1,42 @@
+<div
+  class="relative flex flex-wrap items-center justify-center w-full h-full gap-2 px-3 py-2 bg-gray-300 border border-gray-300 rounded shadow"
+  snfgTooltipPosition="right"
+  [sfng-tooltip]="interferingSettings.length > 0 ? tooltipTemplate : null">
+  <span class="text-primary" [class.cursor-pointer]="interferingSettings.length > 0">
+    Use SPN
+  </span>
+
+  <span *ngIf="!canUse" routerLink="/dashboard" class="cursor-pointer text-tertiary hover:underline">
+    Get Pro
+  </span>
+
+  <sfng-toggle *ngIf="canUse && spnDisabled === false"
+    [ngModel]="currentValue" (ngModelChange)="updateUseSpn($event)">
+  </sfng-toggle>
+
+  <span *ngIf="canUse && spnDisabled === true"
+    routerLink="/spn" class="cursor-pointer text-tertiary hover:underline"
+    sfng-tooltip="Enable SPN to start using.">
+      Disabled
+  </span>
+
+  <ng-template *ngIf="canUse && spnDisabled === null">
+    <fa-icon icon="spinner" [spin]="true"></fa-icon>
+  </ng-template>
+
+  <span class="absolute right-0 block w-2 h-2 bg-yellow-300 border border-gray-100 rounded opacity-75"
+    style="top: 2px; transform: translateX(-2px)" *ngIf="interferingSettings.length > 0"></span>
+
+</div>
+
+<ng-template #tooltipTemplate>
+  The following enabled settings may interfere:
+  <ul class="pl-4 list-disc">
+    <ng-container *ngFor="let setting of interferingSettings">
+      <li class="cursor-pointer hover:underline" [routerLink]="[]"
+        [queryParams]="{setting: setting.Key, tab: 'settings'}">
+        {{ setting.Name }}
+      </li>
+    </ng-container>
+  </ul>
+</ng-template>
diff --git a/desktop/angular/src/app/pages/app-view/qs-use-spn/qs-use-spn.ts b/desktop/angular/src/app/pages/app-view/qs-use-spn/qs-use-spn.ts
new file mode 100644
index 00000000..f4e5bb2e
--- /dev/null
+++ b/desktop/angular/src/app/pages/app-view/qs-use-spn/qs-use-spn.ts
@@ -0,0 +1,97 @@
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, inject } from "@angular/core";
+import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
+import { BoolSetting, ConfigService, Setting, getActualValue } from "@safing/portmaster-api";
+import { SaveSettingEvent } from "src/app/shared/config/generic-setting/generic-setting";
+
+const interferingSettingsWhenOn = [
+  'spn/usagePolicy'
+]
+
+@Component({
+  selector: 'app-qs-use-spn',
+  templateUrl: './qs-use-spn.html',
+  changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class QuickSettingUseSPNButtonComponent implements OnInit, OnChanges {
+  private destroyRef = inject(DestroyRef);
+
+  @Input()
+  canUse: boolean = true;
+
+  @Input()
+  settings: Setting[] = [];
+
+  @Output()
+  save = new EventEmitter<SaveSettingEvent>();
+
+  currentValue = false
+
+  interferingSettings: Setting[] = [];
+
+  /* Whether or not the SPN is currently disabled. null means we don't know yet ... */
+  spnDisabled: boolean | null = null;
+
+  constructor(
+    private configService: ConfigService,
+    private cdr: ChangeDetectorRef
+  ) { }
+
+  ngOnChanges(changes: SimpleChanges): void {
+    if ('settings' in changes) {
+      this.currentValue = false;
+
+      const useSpnSetting = this.settings.find(s => s.Key === 'spn/use') as (BoolSetting | undefined);
+      if (!!useSpnSetting) {
+        this.currentValue = getActualValue(useSpnSetting);
+        this.updateInterfering();
+      }
+    }
+  }
+
+  updateUseSpn(allowed: boolean) {
+    this.save.next({
+      isDefault: false,
+      key: 'spn/use',
+      value: allowed,
+    })
+  }
+
+  ngOnInit() {
+    this.configService.watch<BoolSetting>('spn/enable')
+      .pipe(takeUntilDestroyed(this.destroyRef))
+      .subscribe(value => {
+        this.spnDisabled = !value;
+        this.cdr.markForCheck();
+        this.updateInterfering();
+      })
+  }
+
+  private updateInterfering() {
+    this.interferingSettings = [];
+
+    // only "enabled" state has interfering settings
+    // only show if we already know if the SPN module is enabled
+    if (!this.currentValue || this.spnDisabled !== false) {
+      return
+    }
+
+    // create a lookup map for setting key to setting
+    const lm = new Map<string, Setting>();
+    this.settings.forEach(s => lm.set(s.Key, s))
+
+
+    this.interferingSettings = interferingSettingsWhenOn
+      .map(key => lm.get(key))
+      .filter(setting => {
+        if (!setting) {
+          return false;
+        }
+        const value = getActualValue(setting);
+        if (Array.isArray(value)) {
+          return value.length > 0;
+        }
+
+        return !!value;
+      }) as Setting[];
+  }
+}
diff --git a/desktop/angular/src/app/pages/dashboard/dashboard-widget/dashboard-widget.component.html b/desktop/angular/src/app/pages/dashboard/dashboard-widget/dashboard-widget.component.html
new file mode 100644
index 00000000..65fd80cf
--- /dev/null
+++ b/desktop/angular/src/app/pages/dashboard/dashboard-widget/dashboard-widget.component.html
@@ -0,0 +1,14 @@
+<label class="relative" *ngIf="label">
+  {{ label }}
+  <div *ngIf="beta" class="absolute top-0 right-0 flex flex-col items-center justify-center gap-0 text-yellow-200">
+    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
+      class="relative z-10 w-4 h-4">
+      <path stroke-linecap="round" stroke-linejoin="round"
+        d="M9.75 3.104v5.714a2.25 2.25 0 01-.659 1.591L5 14.5M9.75 3.104c-.251.023-.501.05-.75.082m.75-.082a24.301 24.301 0 014.5 0m0 0v5.714c0 .597.237 1.17.659 1.591L19.8 15.3M14.25 3.104c.251.023.501.05.75.082M19.8 15.3l-1.57.393A9.065 9.065 0 0112 15a9.065 9.065 0 00-6.23-.693L5 14.5m14.8.8l1.402 1.402c1.232 1.232.65 3.318-1.067 3.611A48.309 48.309 0 0112 21c-2.773 0-5.491-.235-8.135-.687-1.718-.293-2.3-2.379-1.067-3.61L5 14.5" />
+    </svg>
+    <span class="-mt-1 uppercase" style="font-size: 0.6rem">BETA</span>
+  </div>
+
+</label>
+
+<ng-content></ng-content>
diff --git a/desktop/angular/src/app/pages/dashboard/dashboard-widget/dashboard-widget.component.ts b/desktop/angular/src/app/pages/dashboard/dashboard-widget/dashboard-widget.component.ts
new file mode 100644
index 00000000..35d2668a
--- /dev/null
+++ b/desktop/angular/src/app/pages/dashboard/dashboard-widget/dashboard-widget.component.ts
@@ -0,0 +1,30 @@
+import { coerceBooleanProperty } from "@angular/cdk/coercion";
+import { ChangeDetectionStrategy, Component, Input } from "@angular/core";
+
+@Component({
+  selector: 'app-dashboard-widget',
+  templateUrl: './dashboard-widget.component.html',
+  styles: [
+    `
+      :host {
+        @apply bg-gray-200 p-4 self-stretch rounded-md flex flex-col gap-2;
+      }
+
+      label {
+        @apply text-xs uppercase text-secondary font-light flex flex-row items-center gap-2 pb-2;
+      }
+    `
+  ],
+  changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class DashboardWidgetComponent {
+  @Input()
+  set beta(v: any) {
+    this._beta = coerceBooleanProperty(v)
+  }
+  get beta() { return this._beta }
+  private _beta = false;
+
+  @Input()
+  label: string = '';
+}
diff --git a/desktop/angular/src/app/pages/dashboard/dashboard.component.html b/desktop/angular/src/app/pages/dashboard/dashboard.component.html
new file mode 100644
index 00000000..aaf3077c
--- /dev/null
+++ b/desktop/angular/src/app/pages/dashboard/dashboard.component.html
@@ -0,0 +1,281 @@
+<div class="w-full gap-4 p-4 dashboard-grid">
+  <header class="flex flex-row items-center justify-between w-full" id="header">
+    <div class="flex flex-col flex-grow text-lg font-light text-white">
+      <h1>
+        Dashboard
+        <sfng-tipup key="dashboardIntro" placement="left"></sfng-tipup>
+      </h1>
+
+      <span class="text-sm font-normal text-secondary">
+        <ng-container *ngIf="!!profile; else: noUsername">
+          Welcome back, <span class="text-primary">{{ profile.username }}</span>!
+          <a *ngIf="profile?.state === '' && !!profile?.username" class="text-xs underline cursor-pointer text-tertiary"
+            (click)="logoutCompletely($event)">Clear</a>
+        </ng-container>
+        <ng-template #noUsername>
+          Welcome back!
+        </ng-template>
+      </span>
+      <span class="mt-2 text-xs font-light text-green-300">
+        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor"
+          class="inline-block h-4 -mt-1 bi bi-caret-left-fill" viewBox="0 0 16 16">
+          <path
+            d="m3.86 8.753 5.482 4.796c.646.566 1.658.106 1.658-.753V3.204a1 1 0 0 0-1.659-.753l-5.48 4.796a1 1 0 0 0 0 1.506z" />
+        </svg>
+        New: Click shield to open dashboard
+      </span>
+    </div>
+
+    <div class="flex flex-row gap-8">
+      <div class="flex flex-col text-xs leading-4">
+        <span class="font-light text-secondary">
+          Your current plan is
+          <span class="font-normal text-primary">
+            {{ profile?.current_plan?.name || 'Portmaster Free' }}
+          </span>
+        </span>
+
+        <span class="font-light text-secondary" *ngIf="!profile?.subscription?.next_billing_date">
+          and ends
+          <ng-container *ngIf="profile?.subscription?.ends_at; else: endsNever">
+            in
+            <span class="font-normal text-primary">
+              {{ profile?.subscription?.ends_at! | timeAgo }}
+            </span>
+          </ng-container>
+          <ng-template #endsNever>
+            never
+          </ng-template>
+        </span>
+        <span class="font-light text-secondary" *ngIf="!!profile?.subscription?.next_billing_date">
+          and auto-renews in <span class="font-normal text-primary">
+            {{ profile?.subscription?.next_billing_date! | timeAgo }}
+          </span>
+        </span>
+      </div>
+
+      <ng-container *ngIf="!!profile && profile.state !== ''; else: loginButton">
+        <button (click)="openAccountDetails()"
+          class="text-sm font-normal text-white cursor-pointer btn bg-blue bg-opacity-80 hover:bg-opacity-100 hover:bg-blue">
+          Account Details
+        </button>
+      </ng-container>
+      <ng-template #loginButton>
+        <button (click)="openAccountDetails()"
+          class="text-sm font-normal text-white cursor-pointer btn bg-blue bg-opacity-80 hover:bg-opacity-100 hover:bg-blue">
+          Login / Subscribe
+        </button>
+      </ng-template>
+    </div>
+  </header>
+
+
+  <app-dashboard-widget id="features" label="Features">
+    <div class="feature-card-list">
+      <app-feature-card *ngFor="let feature of (features$ | async)" [feature]="feature" [disabled]="!feature.enabled">
+      </app-feature-card>
+    </div>
+  </app-dashboard-widget>
+
+
+  <app-dashboard-widget id="stats" label="Recent Activity">
+    <!-- Mini Stats -->
+    <div class="mini-stats-list">
+      <div class="mini-stat" routerLink="/monitor" [queryParams]="{q: 'verdict:3 verdict:4'}">
+        <label routerLink="/monitor" [queryParams]="{q: 'verdict:3 verdict:4'}">Connections Blocked</label>
+        <span>{{ blockedConnections }}</span>
+      </div>
+
+      <div class="mini-stat" routerLink="/monitor" [queryParams]="{q: 'active:true'}">
+        <label routerLink="/monitor" [queryParams]="{q: 'active:true'}">Active Connections</label>
+        <span>{{ activeConnections }}</span>
+      </div>
+
+      <div class="mini-stat" routerLink="/monitor" [queryParams]="{q: 'active:true groupby:profile'}">
+        <label routerLink="/monitor" [queryParams]="{q: 'active:true groupby:profile'}">Active Apps</label>
+        <span>{{ activeProfiles }}</span>
+      </div>
+
+      <div class="mini-stat">
+        <label>Data Received</label>
+        <span *ngIf="featureBw">
+          {{ dataIncoming | bytes }}
+        </span>
+        <span *ngIf="!featureBw"
+          class="!text-xxs !font-light !text-tertiary !text-opacity-50 w-full text-center !leading-3">
+          Available in<br />Portmaster Plus
+        </span>
+      </div>
+
+      <div class="mini-stat">
+        <label>Data Sent</label>
+        <span *ngIf="featureBw">
+          {{ dataOutgoing | bytes }}
+        </span>
+        <span *ngIf="!featureBw"
+          class="!text-xxs !font-light !text-tertiary !text-opacity-50 w-full text-center !leading-3">
+          Available in<br />Portmaster Plus
+        </span>
+      </div>
+
+      <div class="mini-stat" routerLink="/monitor" [queryParams]="{q: 'tunneled:true groupby:exit_node'}">
+        <label routerLink="/monitor" [queryParams]="{q: 'tunneled:true groupby:exit_node'}">SPN Identities</label>
+        <span *ngIf="featureSPN">{{ activeIdentities }}</span>
+        <span *ngIf="!featureSPN"
+          class="!text-xxs !font-light !text-tertiary !text-opacity-50 w-full text-center !leading-3">
+          Available in<br />Portmaster Pro
+        </span>
+      </div>
+    </div>
+  </app-dashboard-widget>
+
+  <app-dashboard-widget id="charts">
+    <div class="mini-stats-list">
+      <div class="mini-stat">
+        <label routerLink="/monitor">
+          Active/Blocked Connections
+        </label>
+        <sfng-netquery-line-chart activeConnectionColor="text-green-300 text-opacity-70" class="w-full !h-36"
+          [data]="connectionChart"></sfng-netquery-line-chart>
+      </div>
+      <div class="mini-stat" *ngIf="featureSPN">
+        <label routerLink="/monitor" [queryParams]="{q: 'tunneled:true'}">
+          Connections Tunneled through SPN
+        </label>
+        <sfng-netquery-line-chart
+          [config]="{
+            series: {
+              value: {
+                lineColor: 'text-blue text-opacity-80',
+                areaColor: 'text-blue text-opacity-20',
+              }
+            }
+          }"
+          class="w-full !h-36"
+          [data]="tunneldConnectionChart">
+        </sfng-netquery-line-chart>
+      </div>
+    </div>
+  </app-dashboard-widget>
+
+  <app-dashboard-widget class="flex-grow" id="countries" label="Recent Connections per Country">
+    <div class="block w-full">
+      <ul class="list-none auto-grid-4">
+        <li *ngFor="let country of (connectionsPerCountry | keyvalue); trackBy: trackCountry"
+          [routerLink]="['/monitor']" [queryParams]="{q: 'country:' + country.key}"
+          (mouseenter)="onCountryHover(country.key)" (mouseleave)="onCountryHover(null)"
+          class="flex flex-row items-center p-2 bg-gray-300 rounded-md cursor-pointer hover:bg-gray-400">
+          <div class="flex flex-row items-center flex-grow gap-2">
+            <span class="flex-shrink-0" *ngIf="!!country.key" [appCountryFlags]="country.key"></span>
+            <span
+              class="overflow-hidden text-xs text-secondary whitespace-nowrap">{{ countryNames[country.key] || country.key || 'N/A' }}</span>
+          </div>
+          <span class="ml-2">{{ country.value }}</span>
+        </li>
+      </ul>
+    </div>
+  </app-dashboard-widget>
+
+  <app-dashboard-widget class="flex-grow" id="blocked" label="Recently Blocked Applications">
+    <div class="block w-full h-full">
+      <span *ngIf="!blockedProfiles?.length"
+        class="flex flex-row items-center justify-center h-full gap-2 text-tertiary">
+        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
+          class="w-5 h-5">
+          <path stroke-linecap="round" stroke-linejoin="round"
+            d="M12 9v3.75m9-.75a9 9 0 11-18 0 9 9 0 0118 0zm-9 3.75h.008v.008H12v-.008z" />
+        </svg>
+
+        <span>
+          No applications have been blocked in the last 10 minutes.
+        </span>
+      </span>
+
+      <ul class="list-none auto-grid-3">
+        <ng-container *ngFor="let entry of blockedProfiles; trackBy: trackApp">
+          <li *ngIf="(entry.profileID | toAppProfile) as profile" (mouseenter)="onProfileHover(entry.profileID)"
+            (mouseleave)="onProfileHover(null)" [routerLink]="['/app', profile.Source, profile.ID]"
+            class="flex flex-row items-center p-2 bg-gray-300 rounded-md cursor-pointer hover:bg-gray-400">
+            <div class="flex flex-row items-center flex-grow gap-2">
+              <app-icon [profile]="profile"></app-icon>
+              <span class="text-xs text-secondary">{{ profile.Name }}</span>
+            </div>
+            {{ entry.count }}
+          </li>
+        </ng-container>
+      </ul>
+    </div>
+  </app-dashboard-widget>
+
+  <app-dashboard-widget class="flex-grow" id="connmap" style="min-height: 400px" label="Recent Connection Countries" beta="true">
+    <spn-map-renderer class="w-full h-full" mapId="dashboard-map"></spn-map-renderer>
+  </app-dashboard-widget>
+
+  <app-dashboard-widget class="flex-grow" id="bwvis-bar" [ngStyle]="{minHeight: featureBw ? '400px' : 'unset'}" label="Recent Top Consumers" beta="true">
+    <sfng-netquery-circular-bar-chart *ngIf="featureBw" class="block w-full h-full" [data]="bandwidthBarData" [config]="bandwidthBarConfig"></sfng-netquery-circular-bar-chart>
+
+    <span *ngIf="!featureBw"
+      class="!text-xxs !font-light !text-tertiary !text-opacity-50 w-full text-center !leading-3">
+      Available in Portmaster Plus
+    </span>
+  </app-dashboard-widget>
+
+  <app-dashboard-widget class="flex-grow" id="bwvis-line" [ngStyle]="{minHeight: featureBw ? '400px' : 'unset'}" label="Recent Bandwidth Usage" beta="true">
+    <sfng-netquery-line-chart class="block w-full h-full" *ngIf="featureBw" [data]="bandwidthLineChart" [config]="bwChartConfig"></sfng-netquery-line-chart>
+
+    <span *ngIf="!featureBw"
+      class="!text-xxs !font-light !text-tertiary !text-opacity-50 w-full text-center !leading-3">
+      Available in Portmaster Plus
+    </span>
+  </app-dashboard-widget>
+
+  <app-dashboard-widget class="flex-grow relative" id="news" label="News">
+
+    <div class="flex flex-col items-center justify-center w-full h-full gap-2 font-light" *ngIf="!news">
+      <span>News is only available if intel data updates are enabled</span>
+      <button [routerLink]="['/settings']" [queryParams]="{setting: 'core/automaticIntelUpdates'}">Open Settings</button>
+    </div>
+
+    <div class="flex flex-col items-center justify-center w-full h-full gap-2 font-light" *ngIf="news === 'pending'">
+      <span>Just a second, we're loading the latest news...</span>
+    </div>
+
+    <ng-container *ngIf="!!news && news !== 'pending'">
+      <sfng-tab-group linkRouter="false" [customHeader]="true" #carousel>
+        <sfng-tab *ngFor="let card of news?.cards" [id]="card.title" [title]="card.title">
+          <section *sfngTabContent class="flex flex-col gap-2 p-2 h-full" (mouseenter)="onCarouselTabHover(card)" (mouseleave)="onCarouselTabHover(null)">
+            <a [attr.href]="card.url">
+              <h1 class="flex flex-row gap-2 items-center w-full ml-2 mr-2">
+                {{ card.title }}
+                <svg *ngIf="card.url" role="img" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="text-white text-opacity-50 w-3 h-3">
+                  <path fill="currentColor" d="M352 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9L370.7 96 201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 141.3l41.4 41.4c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V32c0-17.7-14.3-32-32-32H352zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z"></path>
+                </svg>
+              </h1>
+            </a>
+
+            <markdown class="flex-grow" *ngIf="card.body" emoji [data]="card.body"></markdown>
+
+            <div *ngIf="card.progress as progress" class="ml-2 mr-2">
+              <div class="overflow-hidden rounded border bg-gray-400 border-gray-100 h-5 w-full relative">
+                <div class="h-full" [style]="progress.style" [style.width.%]="progress.percent"></div>
+                <div class="absolute top-0.5 bottom-0 left-0 right-0 flex flex-row justify-center items-center text-xxs text-background">
+                  <span>{{ progress.percent }}%</span>
+                </div>
+              </div>
+            </div>
+
+            <markdown *ngIf="card.footer" emoji [data]="card.footer" class="!text-secondary"></markdown>
+
+          </section>
+        </sfng-tab>
+      </sfng-tab-group>
+
+      <div class="absolute bottom-2 left-0 right-0 flex flex-row items-center justify-center gap-2">
+        <span *ngFor="let dot of carousel.tabs; let index=index"
+          class="block w-2 h-2 transition-all duration-150 ease-in-out bg-opacity-50 rounded-full cursor-pointer bg-background"
+          [class.bg-blue]="carousel.activeTabIndex === index" (click)="carousel.activateTab(index)"></span>
+      </div>
+    </ng-container>
+
+  </app-dashboard-widget>
+</div>
diff --git a/desktop/angular/src/app/pages/dashboard/dashboard.component.scss b/desktop/angular/src/app/pages/dashboard/dashboard.component.scss
new file mode 100644
index 00000000..ba37e527
--- /dev/null
+++ b/desktop/angular/src/app/pages/dashboard/dashboard.component.scss
@@ -0,0 +1,166 @@
+:host {
+  @apply flex flex-row w-full gap-3 p-4 overflow-auto;
+}
+
+.dashboard-grid {
+  @apply grid gap-4;
+
+  align-items: stretch;
+  justify-items: stretch;
+  grid-template-columns: 1fr 1fr 1fr 1fr;
+  grid-template-areas:
+    "header header header header"
+    "feature feature feature feature"
+    "feature feature feature feature"
+    "stats stats news news"
+    "stats stats news news"
+    "charts charts charts charts"
+    "charts charts charts charts"
+    "blocked blocked countries countries"
+    "map map map map"
+    "bwvis-bar bwvis-bar bwvis-line bwvis-line";
+}
+
+:host-context(.min-width-1024px) {
+  .dashboard-grid {
+    grid-template-areas:
+      "header header header header"
+      "feature feature feature news"
+      "feature feature feature news"
+      "stats stats stats news"
+      "stats stats stats news"
+      "charts charts charts charts"
+      "countries countries map map"
+      "blocked blocked map map"
+      "bwvis-bar bwvis-bar bwvis-line bwvis-line";
+  }
+}
+
+#header {
+  grid-area: header;
+}
+
+#features {
+  grid-area: feature;
+}
+
+#stats {
+  grid-area: stats;
+}
+
+#charts {
+  grid-area: charts;
+}
+
+#countries {
+  grid-area: countries;
+}
+
+#blocked {
+  grid-area: blocked;
+}
+
+#connmap {
+  grid-area: map;
+}
+
+#bwvis-bar {
+  grid-area: bwvis-bar;
+}
+
+#bwvis-line {
+  grid-area: bwvis-line;
+}
+
+#news {
+  grid-area: news;
+}
+
+.auto-grid-3 {
+  @apply grid gap-4;
+  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
+}
+
+.auto-grid-4 {
+  @apply grid gap-4;
+  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
+}
+
+app-dashboard-widget {
+  label {
+    @apply text-xs uppercase text-secondary font-light flex flex-row items-center gap-2 pb-2;
+  }
+
+  .feature-card-list {
+    @apply grid gap-3 w-full;
+    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
+  }
+
+  .mini-stats-list {
+    @apply grid gap-3 w-full;
+    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
+  }
+
+  &#news {
+
+    h1 {
+      @apply text-base;
+      @apply font-light;
+    }
+
+    ::ng-deep markdown {
+      @apply font-light;
+
+      a {
+        @apply underline text-blue;
+      }
+
+      strong {
+        @apply font-medium;
+      }
+    }
+  }
+
+}
+
+::ng-deep #dashboard-map {
+  #world-group {
+    --map-bg: #111112;
+    --map-country-active: #424141;
+    --map-country-inactive: #2a2a2a;
+    --map-country-border-width: 1px;
+    --map-country-border-color: #1e1e1e;
+    --map-country-border-color-selected: #858585;
+    --map-country-blocked-primary: #858585;
+    --map-country-blocked-secondary: #402323;
+
+    path {
+      fill: var(--map-country-active);
+      stroke: var(--map-bg);
+      stroke-width: var(--map-country-border-width);
+      stroke-linejoin: round;
+    }
+
+    path.active {
+      color: #1d3c24;
+      fill: currentColor;
+    }
+
+    path.hover {
+      color: #4fae4f;
+      fill: currentColor;
+    }
+  }
+}
+
+.mini-stat {
+  @apply flex flex-col items-center justify-center py-3 px-2 bg-gray-300 rounded shadow;
+
+  label {
+    @apply font-light uppercase text-xxs text-secondary -mb-2;
+  }
+
+  span {
+    @apply text-xl text-blue;
+  }
+}
diff --git a/desktop/angular/src/app/pages/dashboard/dashboard.component.ts b/desktop/angular/src/app/pages/dashboard/dashboard.component.ts
new file mode 100644
index 00000000..a07893aa
--- /dev/null
+++ b/desktop/angular/src/app/pages/dashboard/dashboard.component.ts
@@ -0,0 +1,481 @@
+import { KeyValue } from "@angular/common";
+import { AfterContentInit, AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, OnInit, QueryList, TrackByFunction, ViewChild, ViewChildren, forwardRef, inject } from "@angular/core";
+import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
+import { AppProfileService, BandwidthChartResult, ChartResult, Database, FeatureID, Netquery, PortapiService, SPNService, UserProfile, Verdict } from "@safing/portmaster-api";
+import { SfngDialogService, SfngTabGroupComponent } from "@safing/ui";
+import { Observable, catchError, filter, interval, map, repeat, retry, startWith, throwError } from "rxjs";
+import { ActionIndicatorService } from 'src/app/shared/action-indicator';
+import { DefaultBandwidthChartConfig, SfngNetqueryLineChartComponent } from "src/app/shared/netquery/line-chart/line-chart";
+import { SPNAccountDetailsComponent } from "src/app/shared/spn-account-details";
+import { MAP_HANDLER, MapRef } from "../spn/map-renderer";
+import { CircularBarChartConfig, splitQueryResult } from "src/app/shared/netquery/circular-bar-chart/circular-bar-chart.component";
+import { BytesPipe } from "src/app/shared/pipes/bytes.pipe";
+import { HttpErrorResponse } from "@angular/common/http";
+
+interface BlockedProfile {
+  profileID: string;
+  count: number;
+}
+
+interface BandwidthBarData {
+  profile: string;
+  profile_name: string;
+  series: 'sent' | 'received';
+  value: number;
+  sent: number;
+  received: number;
+}
+
+interface NewsCard {
+  title: string;
+  body: string;
+  url?: string;
+  footer?: string;
+  progress?: {
+    percent: number;
+    style: string;
+  }
+}
+
+interface News {
+  cards: NewsCard[];
+}
+
+const newsResourceIdentifier = "all/intel/portmaster/news.yaml"
+
+@Component({
+  selector: 'app-dashboard',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  styleUrls: ['./dashboard.component.scss'],
+  templateUrl: './dashboard.component.html',
+  providers: [
+    { provide: MAP_HANDLER, useExisting: forwardRef(() => DashboardPageComponent), multi: true },
+  ]
+})
+export class DashboardPageComponent implements OnInit, AfterViewInit {
+  @ViewChildren(SfngNetqueryLineChartComponent)
+  lineCharts!: QueryList<SfngNetqueryLineChartComponent>;
+
+  @ViewChild(SfngTabGroupComponent)
+  carouselTabGroup?: SfngTabGroupComponent;
+
+  private readonly destroyRef = inject(DestroyRef);
+  private readonly netquery = inject(Netquery);
+  private readonly spn = inject(SPNService);
+  private readonly actionIndicator = inject(ActionIndicatorService);
+  private readonly cdr = inject(ChangeDetectorRef);
+  private readonly dialog = inject(SfngDialogService);
+  private readonly portapi = inject(PortapiService)
+
+  resizeObserver!: ResizeObserver;
+
+  blockedProfiles: BlockedProfile[] = []
+
+  connectionsPerCountry: {
+    [country: string]: number
+  } = {};
+
+  get countryNames(): { [country: string]: string } {
+    return this.mapRef?.countryNames || {};
+  }
+
+  bandwidthLineChart: BandwidthChartResult<any>[] = [];
+
+  bandwidthBarData: BandwidthBarData[] = [];
+
+  readonly bandwidthBarConfig: CircularBarChartConfig<BandwidthBarData> = {
+    stack: 'profile_name',
+    seriesKey: 'series',
+    seriesLabel: d => {
+      if (d === 'sent') {
+        return 'Bytes Sent'
+      }
+      return 'Bytes Received'
+    },
+    value: 'value',
+    ticks: 3,
+    colorAsClass: true,
+    series: {
+      'sent': {
+        color: 'text-deepPurple-500 text-opacity-50',
+      },
+      'received': {
+        color: 'text-cyan-800 text-opacity-50',
+      }
+    },
+    formatTick: (tick: number) => {
+      return new BytesPipe().transform(tick, '1.0-0')
+    },
+    formatValue: (stack, series, value, data) => {
+      const bytes = new BytesPipe().transform
+      return `${stack}\nSent: ${bytes(data?.sent)}\nReceived: ${bytes(data?.received)}`
+    },
+    formatStack: (sel, data) => {
+      const bytes = new BytesPipe().transform
+
+      return sel
+        .call(sel => {
+          sel.append("text")
+            .attr("dy", "0")
+            .attr("y", "0")
+            .text(d => d)
+        })
+        .call(sel => {
+          sel.append("text")
+            .attr("y", 0)
+            .attr("dy", "0.8rem")
+            .style("font-size", "0.6rem")
+            .text(d => {
+              const first = data.find(result => result.profile_name === d);
+              return `${bytes(first?.sent)} / ${bytes(first?.received)}`
+            })
+        })
+    }
+  }
+
+  bwChartConfig = DefaultBandwidthChartConfig;
+
+  activeConnections: number = 0;
+  blockedConnections: number = 0;
+  activeProfiles: number = 0;
+  activeIdentities = 0;
+  dataIncoming = 0;
+  dataOutgoing = 0;
+  connectionChart: ChartResult[] = [];
+  tunneldConnectionChart: ChartResult[] = [];
+
+  countriesPerProfile: { [profile: string]: string[] } = {}
+
+  profile: UserProfile | null = null;
+
+  featureBw = false;
+  featureSPN = false;
+
+  hoveredCard: NewsCard | null = null;
+
+  features$ = this.spn.watchEnabledFeatures()
+    .pipe(takeUntilDestroyed());
+
+  trackCountry: TrackByFunction<KeyValue<string, any>> = (_, ctr) => ctr.key;
+  trackApp: TrackByFunction<BlockedProfile> = (_, bp) => bp.profileID;
+
+  data: any;
+
+  news?: News | 'pending' = 'pending';
+
+  private mapRef: MapRef | null = null;
+
+  registerMap(ref: MapRef): void {
+    this.mapRef = ref;
+
+    this.mapRef.onMapReady(() => {
+      this.updateMapCountries();
+    })
+  }
+
+  private updateMapCountries() {
+    // this check is basically to make typescript happy ...
+    if (!this.mapRef) {
+      return;
+    }
+
+    this.mapRef.worldGroup
+      .selectAll('path')
+      .classed('active', (d: any) => {
+        return !!this.connectionsPerCountry[d.properties.iso_a2];
+      });
+  }
+
+  unregisterMap(ref: MapRef): void {
+    this.mapRef = null;
+  }
+
+  onCarouselTabHover(card: NewsCard | null) {
+    this.hoveredCard = card;
+  }
+
+  openAccountDetails() {
+    this.dialog.create(SPNAccountDetailsComponent, {
+      autoclose: true,
+      backdrop: 'light'
+    })
+  }
+
+  onCountryHover(code: string | null) {
+    if (!this.mapRef) {
+      return
+    }
+
+    this.mapRef.worldGroup
+      .selectAll('path')
+      .classed('hover', (d: any) => {
+        return (d.properties.iso_a2 === code);
+      });
+  }
+
+  onProfileHover(profile: string | null) {
+    if (!this.mapRef) {
+      return
+    }
+
+    this.mapRef.worldGroup
+      .selectAll('path')
+      .classed('hover', (d: any) => {
+        if (!profile) {
+          return false;
+        }
+
+        return this.countriesPerProfile[profile]?.includes(d.properties.iso_a2);
+      });
+  }
+
+  ngAfterViewInit(): void {
+    interval(15000)
+      .pipe(
+        takeUntilDestroyed(this.destroyRef),
+        startWith(-1),
+        filter(() => this.hoveredCard === null)
+      )
+      .subscribe(() => {
+        if (!this.carouselTabGroup) {
+          return
+        }
+
+        let next = this.carouselTabGroup.activeTabIndex + 1
+        if (next >= this.carouselTabGroup.tabs!.length) {
+          next = 0
+        }
+
+        this.carouselTabGroup.activateTab(next, "left")
+      })
+  }
+
+  async ngOnInit() {
+    this.portapi.getResource<News>(newsResourceIdentifier)
+      .pipe(
+        repeat({ delay: 60000 }),
+        takeUntilDestroyed(this.destroyRef)
+      )
+      .subscribe({
+        next: response => {
+          this.news = response;
+          this.cdr.markForCheck();
+        },
+        error: () => {
+          this.news = undefined;
+          this.cdr.markForCheck();
+        }
+      });
+
+    this.netquery
+      .batch({
+        bwBarChart: {
+          query: {
+            internal: { $eq: false },
+          },
+          select: [
+            'profile',
+            'profile_name',
+            {
+              $sum: {
+                field: 'bytes_sent',
+                as: 'sent'
+              }
+            },
+            {
+              $sum: {
+                field: 'bytes_received',
+                as: 'received'
+              }
+            },
+          ],
+          groupBy: ['profile', 'profile_name'],
+        },
+
+        profileCount: {
+          select: [
+            'profile',
+            {
+              $count: {
+                field: '*',
+                as: 'totalCount'
+              }
+            }
+          ],
+          query: {
+            verdict: { $in: [Verdict.Block, Verdict.Drop] }
+          },
+          groupBy: ['profile'],
+          databases: [Database.Live]
+        },
+
+        countryStats: {
+          select: [
+            'country',
+            { $count: { field: '*', as: 'totalCount' } },
+            { $sum: { field: 'bytes_sent', as: 'bwout' } },
+            { $sum: { field: 'bytes_received', as: 'bwin' } },
+          ],
+          query: {
+            allowed: { $eq: true },
+          },
+          groupBy: ['country'],
+          databases: [Database.Live]
+        },
+
+        perCountryConns: {
+          select: ['profile', 'country', 'active', { $count: { field: '*', as: 'totalCount' } }],
+          query: {
+            allowed: { $eq: true },
+          },
+          groupBy: ['profile', 'country', 'active'],
+          databases: [Database.Live],
+        },
+
+        exitNodes: {
+          query: { tunneled: { $eq: true }, exit_node: { $ne: "" } },
+          groupBy: ['exit_node'],
+          select: [
+            'exit_node',
+            { $count: { field: '*', as: 'totalCount' } }
+          ],
+          databases: [Database.Live],
+        }
+      })
+      .pipe(
+        repeat({ delay: 10000 }),
+        takeUntilDestroyed(this.destroyRef),
+      )
+      .subscribe(response => {
+        // bandwidth bar chart
+        const barChartData = response.bwBarChart
+          .filter(value => (value.sent + value.received) > 0)
+          .sort((a, b) => (b.sent + b.received) - (a.sent + a.received))
+          .slice(0, 10);
+        this.bandwidthBarData = splitQueryResult(barChartData, ['sent', 'received']) as BandwidthBarData[]
+
+        // profileCount
+        this.blockedConnections = 0;
+        this.blockedProfiles = [];
+
+        response.profileCount?.forEach(row => {
+          this.blockedConnections += row.totalCount;
+          this.blockedProfiles.push({
+            profileID: row.profile!,
+            count: row.totalCount
+          })
+        });
+
+        // countryStats
+        this.connectionsPerCountry = {};
+        this.dataIncoming = 0;
+        this.dataOutgoing = 0;
+
+        response.countryStats?.forEach(row => {
+          this.dataIncoming += row.bwin;
+          this.dataOutgoing += row.bwout;
+
+          if (row.country === '') {
+            return
+          }
+
+          this.connectionsPerCountry[row.country!] = row.totalCount || 0;
+        })
+
+        this.updateMapCountries()
+
+        // perCountryConns
+        let profiles = new Set<string>();
+
+        this.activeConnections = 0;
+        this.countriesPerProfile = {};
+
+        response.perCountryConns?.forEach(row => {
+          profiles.add(row.profile!);
+
+          if (row.active) {
+            this.activeConnections += row.totalCount;
+          }
+
+          const arr = (this.countriesPerProfile[row.profile!] || []);
+          arr.push(row.country!)
+          this.countriesPerProfile[row.profile!] = arr;
+        });
+
+        this.activeProfiles = profiles.size;
+
+        // exitNodes
+        this.activeIdentities = response.exitNodes?.length || 0;
+        this.cdr.markForCheck();
+      })
+
+
+    // Charts
+
+    this.netquery
+      .activeConnectionChart({})
+      .pipe(
+        repeat({ delay: 10000 }),
+        takeUntilDestroyed(this.destroyRef),
+      )
+      .subscribe(result => {
+        this.connectionChart = result;
+        this.cdr.markForCheck();
+      })
+
+    this.netquery
+      .bandwidthChart({}, undefined, 60)
+      .pipe(
+        repeat({ delay: 10000 }),
+        takeUntilDestroyed(this.destroyRef),
+      )
+      .subscribe(bw => {
+        this.bandwidthLineChart = bw;
+        this.cdr.markForCheck();
+      })
+
+    this.netquery
+      .activeConnectionChart({ tunneled: { $eq: true } })
+      .pipe(
+        repeat({ delay: 10000 }),
+        takeUntilDestroyed(this.destroyRef),
+      )
+      .subscribe(result => {
+        this.tunneldConnectionChart = result;
+        this.cdr.markForCheck();
+      })
+
+    // SPN profile and enabled/allowed features
+
+    this.spn
+      .profile$
+      .pipe(
+        takeUntilDestroyed(this.destroyRef)
+      )
+      .subscribe({
+        next: (profile) => {
+          this.profile = profile || null;
+          this.featureBw = profile?.current_plan?.feature_ids?.includes(FeatureID.Bandwidth) || false;
+          this.featureSPN = profile?.current_plan?.feature_ids?.includes(FeatureID.SPN) || false;
+
+          // force a full change-detection cylce now!
+          this.cdr.detectChanges()
+
+          // force re-draw of the charts after change-detection because the
+          // width may change now.
+          this.lineCharts?.forEach(chart => chart.redraw())
+
+          this.cdr.markForCheck();
+        },
+      })
+  }
+
+  /** Logs the user out of the SPN completely by purgin the user profile from the local storage */
+  logoutCompletely(_: Event) {
+    this.spn.logout(true)
+      .subscribe(this.actionIndicator.httpObserver(
+        'Logout',
+        'You have been logged out of the SPN completely.'
+      ))
+  }
+}
diff --git a/desktop/angular/src/app/pages/dashboard/feature-card/feature-card.component.html b/desktop/angular/src/app/pages/dashboard/feature-card/feature-card.component.html
new file mode 100644
index 00000000..0695555e
--- /dev/null
+++ b/desktop/angular/src/app/pages/dashboard/feature-card/feature-card.component.html
@@ -0,0 +1,61 @@
+    <div class="feature-card"
+      [class.disabled]="disabled || comingSoon"
+      [class.clickable]="disabled || comingSoon || !!configValue || !!feature?.ConfigScope"
+      (click)="navigateToConfigScope()">
+      <ng-container *ngIf="disabled || comingSoon">
+        <svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" class="disabled-bg">
+          <defs>
+            <pattern id="pattern_63Hoo" patternUnits="userSpaceOnUse" width="9.5" height="9.5"
+              patternTransform="rotate(45)">
+              <line x1="0" y="0" x2="0" y2="9.5" stroke="currentColor" stroke-width="1" />
+            </pattern>
+          </defs>
+          <rect width="100%" height="100%" fill="url(#pattern_63Hoo)" :opacity="1" />
+        </svg>
+      </ng-container>
+
+      <header>
+        <img [attr.src]="feature?.IconURL">
+
+        <span>
+          {{ feature?.Name }}
+        </span>
+
+        <div class="relative flex flex-row self-start flex-grow" *ngIf="disabled || comingSoon || !!feature?.Beta">
+          <div class="flex-grow"></div>
+
+          <div *ngIf="!!feature?.Beta && !disabled"
+            class="absolute top-0 right-0 flex flex-col items-center justify-center gap-0 text-yellow-200">
+            <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5"
+              stroke="currentColor" class="relative z-10 w-4 h-4">
+              <path stroke-linecap="round" stroke-linejoin="round"
+                d="M9.75 3.104v5.714a2.25 2.25 0 01-.659 1.591L5 14.5M9.75 3.104c-.251.023-.501.05-.75.082m.75-.082a24.301 24.301 0 014.5 0m0 0v5.714c0 .597.237 1.17.659 1.591L19.8 15.3M14.25 3.104c.251.023.501.05.75.082M19.8 15.3l-1.57.393A9.065 9.065 0 0112 15a9.065 9.065 0 00-6.23-.693L5 14.5m14.8.8l1.402 1.402c1.232 1.232.65 3.318-1.067 3.611A48.309 48.309 0 0112 21c-2.773 0-5.491-.235-8.135-.687-1.718-.293-2.3-2.379-1.067-3.61L5 14.5" />
+            </svg>
+            <span class="-mt-1 uppercase" style="font-size: 0.6rem">BETA</span>
+          </div>
+        </div>
+      </header>
+      <div>
+        <span class="font-normal ml-7 text-xxs text-secondary">
+          {{ (disabled ? 'Available in ' : '') + 'Portmaster ' + feature?.InPackage?.Name}}
+          {{ comingSoon ? ' - coming soon' : '' }}
+          {{ feature?.Comment }}
+        </span>
+      </div>
+
+      <div *ngIf="!comingSoon && !disabled && configValue !== undefined" class="absolute right-4 bottom-4">
+        <sfng-toggle [ngModel]="configValue" (ngModelChange)="updateSettingsValue($event)"
+          (click)="$event.cancelBubble = true"></sfng-toggle>
+      </div>
+      <div *ngIf="!comingSoon && !disabled && configValue === undefined" class="absolute right-4 bottom-4">
+        <span class="text-light text-green text-opacity-80">
+          Active
+        </span>
+      </div>
+
+      <div class="ribbon" *ngIf="!!disabled && !!feature?.InPackage"><span class="ribbon__content"
+          [style.backgroundColor]="feature?.InPackage?.HexColor" [style.color]="planColor">
+          {{ feature?.InPackage?.Name }}
+        </span>
+      </div>
+    </div>
diff --git a/desktop/angular/src/app/pages/dashboard/feature-card/feature-card.component.scss b/desktop/angular/src/app/pages/dashboard/feature-card/feature-card.component.scss
new file mode 100644
index 00000000..88f5fc61
--- /dev/null
+++ b/desktop/angular/src/app/pages/dashboard/feature-card/feature-card.component.scss
@@ -0,0 +1,60 @@
+.feature-card {
+  @apply flex flex-col p-4 bg-gray-300 rounded shadow w-full relative gap-2 overflow-hidden;
+
+  .disabled-bg {
+    @apply absolute top-0 left-0 text-gray-500 opacity-50;
+  }
+
+  &.disabled {
+    @apply opacity-80 shadow-inner;
+  }
+
+  &.clickable {
+    @apply cursor-pointer;
+    &:hover {
+      @apply bg-gray-400;
+    }
+  }
+
+  header {
+    @apply flex flex-row items-center justify-start gap-2 w-full;
+
+    img {
+      @apply w-5 h-5;
+      filter: invert(1);
+    }
+
+    &>span {
+      @apply text-base font-light;
+    }
+  }
+}
+
+.ribbon {
+  width: 90px;
+  height: 100%;
+  overflow: hidden;
+  position: absolute;
+  top: 0px;
+  right: 0px;
+  z-index: 100;
+}
+
+.ribbon__content {
+  left: -7px;
+  top: 25px;
+  -webkit-transform: rotate(45deg);
+  -ms-transform: rotate(45deg);
+  transform: rotate(45deg);
+  position: absolute;
+  display: block;
+  width: 125px;
+  padding: 2px 0;
+  text-shadow: 0 1px 0px rgba(0, 0, 0, .2);
+  text-transform: uppercase;
+  text-align: center;
+  border: 2px dotted #fff;
+  outline-color: #fff;
+  outline-width: 1px;
+  outline-style: solid;
+}
diff --git a/desktop/angular/src/app/pages/dashboard/feature-card/feature-card.component.ts b/desktop/angular/src/app/pages/dashboard/feature-card/feature-card.component.ts
new file mode 100644
index 00000000..8355a3ba
--- /dev/null
+++ b/desktop/angular/src/app/pages/dashboard/feature-card/feature-card.component.ts
@@ -0,0 +1,128 @@
+import { coerceBooleanProperty } from '@angular/cdk/coercion';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnChanges, OnDestroy, SimpleChanges, inject } from '@angular/core';
+import { Router } from '@angular/router';
+import { BoolSetting, ConfigService, Feature } from '@safing/portmaster-api';
+import { Subscription } from 'rxjs';
+import { INTEGRATION_SERVICE } from 'src/app/integration';
+
+@Component({
+  selector: 'app-feature-card',
+  templateUrl: './feature-card.component.html',
+  styleUrls: ['./feature-card.component.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class FeatureCardComponent implements OnChanges, OnDestroy {
+  private readonly cdr = inject(ChangeDetectorRef);
+  private readonly configService = inject(ConfigService);
+  private readonly router = inject(Router);
+  private readonly integration = inject(INTEGRATION_SERVICE);
+
+  private configValueSubscription = Subscription.EMPTY;
+
+  @Input()
+  set disabled(v: any) {
+    this._disabled = coerceBooleanProperty(v)
+  }
+  get disabled() { return this._disabled }
+  _disabled = false;
+
+  get comingSoon() { return this.feature?.ComingSoon || false }
+
+  @Input()
+  feature?: Feature;
+
+  planColor: string | null = null;
+
+  configValue: boolean | undefined = undefined;
+
+  ngOnChanges(changes: SimpleChanges): void {
+    if ('feature' in changes) {
+      this.configValueSubscription.unsubscribe();
+      this.configValueSubscription = Subscription.EMPTY;
+
+      if (!!this.feature?.ConfigKey) {
+        this.configValueSubscription =
+          this.configService.watch<BoolSetting>(this.feature!.ConfigKey)
+            .subscribe(value => {
+              this.configValue = value;
+              this.cdr.markForCheck();
+            });
+      }
+
+      if (this.feature?.InPackage?.HexColor) {
+        this.planColor = getContrastFontColor(this.feature.InPackage.HexColor);
+        // console.log(this.feature.InPackage.HexColor, this.planColor)
+        this.cdr.markForCheck();
+      }
+    }
+  }
+
+  ngOnDestroy() {
+    this.configValueSubscription.unsubscribe();
+  }
+
+  updateSettingsValue(newValue: boolean) {
+    this.configService.save(this.feature!.ConfigKey, newValue)
+      .subscribe()
+  }
+
+  navigateToConfigScope() {
+    if (this.disabled) {
+      this.integration.openExternal("https://safing.io/pricing?source=Portmaster")
+      return;
+    }
+
+    let key: string | undefined;
+    if (this.feature?.ConfigScope) {
+      key = 'config:' + this.feature?.ConfigScope;
+    } else {
+      key = this.feature?.ConfigKey;
+    }
+
+    if (!key) {
+      return
+    }
+
+
+    this.router.navigate(['/settings'], {
+      queryParams: {
+        setting: key,
+      }
+    })
+  }
+}
+
+function parseColor(input: string): number[] {
+  if (input.substr(0, 1) === '#') {
+    const collen = (input.length - 1) / 3;
+    const fact = [17, 1, 0.062272][collen - 1];
+    return [
+      Math.round(parseInt(input.substr(1, collen), 16) * fact),
+      Math.round(parseInt(input.substr(1 + collen, collen), 16) * fact),
+      Math.round(parseInt(input.substr(1 + 2 * collen, collen), 16) * fact),
+    ];
+  }
+
+  return input
+    .split('(')[1]
+    .split(')')[0]
+    .split(',')
+    .map((x) => +x);
+}
+
+function getContrastFontColor(bgColor: string): string {
+  // if (red*0.299 + green*0.587 + blue*0.114) > 186 use #000000 else use #ffffff
+  // based on https://stackoverflow.com/a/3943023
+
+  let col = bgColor;
+  if (bgColor.startsWith('#') && bgColor.length > 7) {
+    col = bgColor.slice(0, 7);
+  }
+  const [r, g, b] = parseColor(col);
+
+  if (r * 0.299 + g * 0.587 + b * 0.114 > 186) {
+    return '#000000';
+  }
+
+  return '#ffffff';
+}
diff --git a/desktop/angular/src/app/pages/monitor/index.ts b/desktop/angular/src/app/pages/monitor/index.ts
new file mode 100644
index 00000000..c21908c8
--- /dev/null
+++ b/desktop/angular/src/app/pages/monitor/index.ts
@@ -0,0 +1 @@
+export { MonitorPageComponent } from './monitor';
diff --git a/desktop/angular/src/app/pages/monitor/monitor.html b/desktop/angular/src/app/pages/monitor/monitor.html
new file mode 100644
index 00000000..1d6fb177
--- /dev/null
+++ b/desktop/angular/src/app/pages/monitor/monitor.html
@@ -0,0 +1,46 @@
+<div class="header">
+  <div class="breadcrumbs">
+    <span routerLink="/monitor">Network Activity</span>
+  </div>
+  <app-expertise></app-expertise>
+</div>
+<div class="relative flex flex-col flex-grow overflow-auto" cdkScrollable>
+
+  <div class="flex flex-col items-start justify-center py-6">
+    <h1 class="flex flex-row items-center gap-2 text-xl font-semibold text-primary">
+      Network Activity
+      <sfng-tipup key="networkMonitor-App-Focus-connection-history"></sfng-tipup>
+    </h1>
+
+    <span class="flex flex-row items-center gap-2 p-0 mb-2 ml-0 text-secondary">
+      <ng-container *ngIf="(history | async) as data; else: noHistory">
+        <ng-container *ngIf="!!data">
+          <span>
+            Network history data available as of {{ data.first | date }}. ({{ data.count }} connections)
+          </span>
+          <a class="text-xs underline cursor-pointer text-primary" (click)="clearHistoryData()">Clear</a>
+        </ng-container>
+      </ng-container>
+      <ng-template #noHistory>
+        <span>
+          No network history data available.
+          <ng-container *ngIf="(canUseHistory | async) && (historyEnabled | async) === false">
+            <a class="text-xs underline cursor-pointer text-primary" (click)="enableHistory()">Enable</a>
+          </ng-container>
+          <ng-container *ngIf="(canUseHistory | async) === false">
+            <a class="text-xs underline cursor-pointer text-opacity-75" href="https://safing.io/pricing/?source=Portmaster">Available in Portmaster Plus</a>
+          </ng-container>
+        </span>
+      </ng-template>
+    </span>
+
+    <span class="text-secondary">
+      Use the search bar and drop downs to search and filter the last 10 minutes of network traffic.
+      Optionally, search all network history data if enabled.
+    </span>
+  </div>
+
+  <sfng-netquery-viewer [filterPreset]="session.get('monitor/global-filter') || 'scope:4'"
+    (filterChange)="session.set('monitor/global-filter', $event)"></sfng-netquery-viewer>
+
+</div>
diff --git a/desktop/angular/src/app/pages/monitor/monitor.scss b/desktop/angular/src/app/pages/monitor/monitor.scss
new file mode 100644
index 00000000..12345b56
--- /dev/null
+++ b/desktop/angular/src/app/pages/monitor/monitor.scss
@@ -0,0 +1,49 @@
+:host {
+  overflow: hidden;
+  flex-direction: row;
+  flex-grow: 1;
+  width: 100%;
+  overflow: hidden;
+  display: flex;
+  flex-direction: column;
+  padding-left: 1.7rem;
+  padding-right: 0.8rem;
+
+  .header,
+  .content {
+    padding: 0;
+    margin: 0;
+  }
+
+  .header {
+    padding-top: 0.9rem;
+
+    .breadcrumbs {
+      font-size: 0.715rem;
+      font-weight: 500;
+      color: #cacaca;
+      user-select: none;
+      display: flex;
+
+      span:first-child {
+        opacity: .55;
+        font-weight: 400;
+        margin-right: 4px;
+
+        &:hover {
+          opacity: 1;
+        }
+      }
+
+      svg.arrow {
+        width: 1rem;
+        padding: 0;
+        margin: 0;
+
+        .inner {
+          stroke: white;
+        }
+      }
+    }
+  }
+}
diff --git a/desktop/angular/src/app/pages/monitor/monitor.ts b/desktop/angular/src/app/pages/monitor/monitor.ts
new file mode 100644
index 00000000..d6ce3374
--- /dev/null
+++ b/desktop/angular/src/app/pages/monitor/monitor.ts
@@ -0,0 +1,77 @@
+import { Component, inject } from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
+import { BoolSetting, ConfigService, Database, FeatureID, Netquery, SPNService } from '@safing/portmaster-api';
+import { Subject, interval, map, merge, repeat } from 'rxjs';
+import { SessionDataService } from 'src/app/services';
+import { ActionIndicatorService } from 'src/app/shared/action-indicator';
+import { fadeInAnimation, moveInOutListAnimation } from 'src/app/shared/animations';
+
+@Component({
+  templateUrl: './monitor.html',
+  styleUrls: ['../page.scss', './monitor.scss'],
+  providers: [],
+  animations: [fadeInAnimation, moveInOutListAnimation],
+})
+export class MonitorPageComponent {
+  session = inject(SessionDataService);
+  netquery = inject(Netquery);
+  reload = new Subject<void>();
+
+  configService = inject(ConfigService);
+  uai = inject(ActionIndicatorService);
+
+  historyEnabled = inject(ConfigService)
+    .watch<BoolSetting>('history/enable');
+
+  canUseHistory = inject(SPNService).profile$
+    .pipe(
+      map(profile => {
+        return profile?.current_plan?.feature_ids?.includes(FeatureID.History) || false;
+      })
+    );
+
+  history = inject(Netquery)
+    .query({
+      select: [
+        {
+          $min: {
+            field: "started",
+            as: "first_connection",
+          },
+        },
+        {
+          $count: {
+            field: "*",
+            as: "totalCount"
+          }
+        }
+      ],
+      databases: [Database.History]
+    }, 'monitor-get-first-history-connection')
+    .pipe(
+      repeat({ delay: () => merge(interval(10000), this.reload) }),
+      map(result => {
+        if (!result.length || result[0].totalCount === 0) {
+          return null
+        }
+
+        return {
+          first: new Date(result[0].first_connection),
+          count: result[0].totalCount,
+        }
+      }),
+      takeUntilDestroyed()
+    );
+
+  enableHistory() {
+    this.configService.save('history/enable', true)
+      .subscribe();
+  }
+
+  clearHistoryData() {
+    this.netquery.cleanProfileHistory([])
+      .subscribe(() => {
+        this.reload.next();
+      })
+  }
+}
diff --git a/desktop/angular/src/app/pages/page.scss b/desktop/angular/src/app/pages/page.scss
new file mode 100644
index 00000000..1977b027
--- /dev/null
+++ b/desktop/angular/src/app/pages/page.scss
@@ -0,0 +1,6 @@
+:host {
+  display       : flex;
+  flex-direction: column;
+  width         : 100%;
+  height        : 100%;
+}
diff --git a/desktop/angular/src/app/pages/settings/settings.html b/desktop/angular/src/app/pages/settings/settings.html
new file mode 100644
index 00000000..f85c752b
--- /dev/null
+++ b/desktop/angular/src/app/pages/settings/settings.html
@@ -0,0 +1,26 @@
+<div class="gap-2 header">
+  <input type="text" placeholder="Search" [(ngModel)]="searchTerm">
+
+  <a href="https://docs.safing.io/portmaster/settings?source=Portmaster"
+    class="flex flex-row items-center justify-center gap-1 px-2 py-1.5 bg-gray-300 rounded hover:bg-gray-200 text-blue whitespace-nowrap">
+    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
+      class="w-4 h-4">
+      <path stroke-linecap="round" stroke-linejoin="round"
+        d="M12 6.042A8.967 8.967 0 006 3.75c-1.052 0-2.062.18-3 .512v14.25A8.987 8.987 0 016 18c2.305 0 4.408.867 6 2.292m0-14.25a8.966 8.966 0 016-2.292c1.052 0 2.062.18 3 .512v14.25A8.987 8.987 0 0018 18a8.967 8.967 0 00-6 2.292m0-14.25v14.25" />
+    </svg>
+    Get Help
+  </a>
+
+  <app-expertise></app-expertise>
+</div>
+
+<div class="header-title">
+  <h1>
+    Global Settings
+    <sfng-tipup key="globalSettings"></sfng-tipup>
+  </h1>
+</div>
+
+<app-settings-view [searchTerm]="searchTerm" [highlightKey]="highlightSettingKey" [availableSettings]="settings"
+  (save)="saveSetting($event)">
+</app-settings-view>
diff --git a/desktop/angular/src/app/pages/settings/settings.scss b/desktop/angular/src/app/pages/settings/settings.scss
new file mode 100644
index 00000000..bc178ab8
--- /dev/null
+++ b/desktop/angular/src/app/pages/settings/settings.scss
@@ -0,0 +1,83 @@
+.header-title {
+  display: flex;
+  width: 100%;
+  padding-left: 3rem;
+  padding-right: 1.25rem;
+  margin-bottom: 0.5rem;
+  align-items: center;
+  height: 3rem;
+  flex-shrink: 0;
+
+  h1{
+    flex-grow: unset;
+  }
+
+  fa-icon[icon*="question-circle"]{
+    margin-left: 0.35rem;
+  }
+}
+
+.card-title.meta {
+  div {
+    display: inline-block;
+    @apply mr-2;
+  }
+}
+
+.columns {
+  width         : 100%;
+  display       : flex;
+  flex-direction: row;
+}
+
+.meta {
+
+  span:first-of-type {
+    @apply text-secondary;
+    @apply mr-1;
+  }
+}
+
+.col {
+  flex-grow: 1;
+}
+
+.unstable {
+  @apply text-xs;
+  @apply uppercase;
+  color: theme('colors.info.yellow');
+}
+
+sfng-accordion-group {
+  @apply pl-12;
+  @apply pr-4; // align with the scroll bar on the right side
+  @apply my-4;
+}
+
+div.tableFixHead {
+  @apply mt-4;
+  @apply rounded-t;
+
+  &:not(.empty) {
+    @apply rounded;
+  }
+
+  max-height: 16rem;
+}
+
+.cdk-row.unused {
+  opacity: 0.4;
+}
+
+.card-actions {
+  display    : flex;
+  align-items: center;
+
+  * {
+    @apply ml-2;
+  }
+
+  app-menu-trigger {
+    display: inline-block;
+  }
+}
diff --git a/desktop/angular/src/app/pages/settings/settings.ts b/desktop/angular/src/app/pages/settings/settings.ts
new file mode 100644
index 00000000..3f36f9bd
--- /dev/null
+++ b/desktop/angular/src/app/pages/settings/settings.ts
@@ -0,0 +1,133 @@
+import { Component, OnDestroy, OnInit } from '@angular/core';
+import { ActivatedRoute } from '@angular/router';
+import { ConfigService, Setting } from '@safing/portmaster-api';
+import { Subscription } from 'rxjs';
+import { StatusService, VersionStatus } from 'src/app/services';
+import { ActionIndicatorService } from 'src/app/shared/action-indicator';
+import { fadeInAnimation } from 'src/app/shared/animations';
+import { SaveSettingEvent } from 'src/app/shared/config/generic-setting/generic-setting';
+
+@Component({
+  templateUrl: './settings.html',
+  styleUrls: [
+    '../page.scss',
+    './settings.scss'
+  ],
+  animations: [fadeInAnimation]
+})
+export class SettingsComponent implements OnInit, OnDestroy {
+  /** @private The current search term for the settings. */
+  searchTerm: string = '';
+
+  /** @private All settings currently displayed. */
+  settings: Setting[] = [];
+
+  /** @private The available and selected resource versions. */
+  versions: VersionStatus | null = null;
+
+  /**
+   * @private
+   * The key of the setting to highligh, if any ...
+   */
+  highlightSettingKey: string | null = null;
+
+  /** Subscription to watch all available settings. */
+  private subscription = Subscription.EMPTY;
+
+  constructor(
+    public configService: ConfigService,
+    public statusService: StatusService,
+    private actionIndicator: ActionIndicatorService,
+    private route: ActivatedRoute,
+  ) { }
+
+  ngOnInit(): void {
+    this.subscription = new Subscription();
+
+    this.loadSettings();
+
+    // Request the current resource versions once. We add
+    // it to the subscription to prevent a memory leak in
+    // case the user leaves the page before the versions
+    // have been loaded.
+    const versionSub = this.statusService.getVersions()
+      .subscribe(version => this.versions = version);
+
+    this.subscription.add(versionSub);
+
+    const querySub = this.route.queryParamMap
+      .subscribe(
+        params => {
+          this.highlightSettingKey = params.get('setting');
+        }
+      )
+    this.subscription.add(querySub);
+  }
+
+  ngOnDestroy() {
+    this.subscription.unsubscribe();
+  }
+
+  /**
+   * Loads all settings from the portmaster.
+   */
+  private loadSettings() {
+    const configSub = this.configService.query('')
+      .subscribe(settings => this.settings = settings);
+    this.subscription.add(configSub);
+  }
+
+  /**
+   * @private
+   * SaveSettingEvent is emitted by the settings-view
+   * component when a value has been changed and should be saved.
+   *
+   * @param event The save-settings event
+   */
+  saveSetting(event: SaveSettingEvent) {
+    let idx = this.settings.findIndex(setting => setting.Key === event.key);
+    if (idx < 0) {
+      return;
+    }
+
+    const setting = {
+      ...this.settings[idx],
+    }
+
+    if (event.isDefault) {
+      delete (setting['Value']);
+    } else {
+      setting.Value = event.value;
+    }
+
+    this.configService.save(setting)
+      .subscribe({
+        next: () => {
+          if (!!event.accepted) {
+            event.accepted();
+          }
+
+          this.settings[idx] = setting;
+
+          // copy the settings into a new array so we trigger
+          // an input update due to changed array identity.
+          this.settings = [...this.settings];
+
+          // for the release level setting we need to
+          // to a page-reload since portmaster will now
+          // return more settings.
+          if (setting.Key === 'core/releaseLevel') {
+            this.loadSettings();
+          }
+        },
+        error: err => {
+          if (!!event.rejected) {
+            event.rejected(err);
+          }
+
+          this.actionIndicator.error('Failed to save setting', err);
+          console.error(err);
+        }
+      })
+  }
+}
diff --git a/desktop/angular/src/app/pages/spn/country-details/country-details.html b/desktop/angular/src/app/pages/spn/country-details/country-details.html
new file mode 100644
index 00000000..f4e43963
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/country-details/country-details.html
@@ -0,0 +1,154 @@
+<h1 class="flex flex-row items-center gap-2" cdkDragHandle cdkDrag cdkDragRootElement=".cdk-overlay-pane">
+  <span [appCountryFlags]="countryCode"></span>
+  <span>{{ countryName }}</span>
+  <span class="flex-grow"></span>
+
+  <svg *ngIf="!!dialogRef" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"
+    stroke-width="2" class="w-4 h-4 ml-2 opacity-75 cursor-pointer hover:opacity-100" (click)="dialogRef.close()">
+    <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"></path>
+  </svg>
+</h1>
+
+<sfng-tab-group linkRouter="false" class="h-full">
+  <!-- Tab that displays all nodes in that country -->
+  <sfng-tab id="pins" title="Nodes">
+    <spn-pin-list *sfngTabContent [pins]="pins" (pinHover)="pinHover.next($event)" (pinClick)="openPinDetails($event)"
+      allowClick="true">
+    </spn-pin-list>
+  </sfng-tab>
+
+  <!-- Tab that displays generale statistics about the country -->
+  <sfng-tab id="Statistics" title="Statistics">
+    <div *sfngTabContent class="flex flex-col gap-3">
+      <table>
+        <tr>
+          <th>
+            <span class="text-primary">Total Nodes</span>
+          </th>
+          <td>{{ totalAliveCount }}</td>
+        </tr>
+        <tr *ngIf="totalAliveCount">
+          <th>
+            <span class="inline-block pl-4">
+              <spn-node-icon bySafing="true" isActive="true"></spn-node-icon>
+              by Safing
+            </span>
+          </th>
+          <td>{{ safingNodeCount }}</td>
+        </tr>
+        <tr *ngIf="totalAliveCount">
+          <th>
+            <span class="inline-block pl-4">
+              <spn-node-icon bySafing="false" isActive="true"></spn-node-icon>
+              by Community
+            </span>
+          </th>
+          <td>{{ communityNodeCount }}</td>
+        </tr>
+        <tr>
+          <th>
+            <span class="text-primary">Exit Nodes</span>
+          </th>
+          <td>{{ exitNodeCount }}</td>
+        </tr>
+        <tr *ngIf="!!exitNodeCount">
+          <th>
+            <span class="inline-block pl-4">
+              <spn-node-icon bySafing="true" isExit="true"></spn-node-icon>
+              by Safing
+            </span>
+          </th>
+          <td>{{ safingExitNodeCount }}</td>
+        </tr>
+        <tr *ngIf="!!exitNodeCount">
+          <th>
+            <span class="inline-block pl-4">
+              <spn-node-icon bySafing="false" isExit="true"></spn-node-icon>
+              by Community
+            </span>
+          </th>
+          <td>{{ communityExitNodeCount }}</td>
+        </tr>
+        <tr>
+          <th>
+            <span class="text-primary">Nodes In Use</span>
+          </th>
+          <td>{{ activeNodeCount }}</td>
+        </tr>
+        <tr *ngIf="activeNodeCount">
+          <th>
+            <span class="inline-block pl-4">
+              <spn-node-icon bySafing="true" isActive="true"></spn-node-icon>
+              by Safing
+            </span>
+          </th>
+          <td>{{ activeSafingNodeCount }}</td>
+        </tr>
+        <tr *ngIf="activeNodeCount">
+          <th>
+            <span class="inline-block pl-4">
+              <spn-node-icon bySafing="false" isActive="true"></spn-node-icon>
+              by Community
+            </span>
+          </th>
+          <td>{{ activeCommunityNodeCount }}</td>
+        </tr>
+      </table>
+    </div>
+  </sfng-tab>
+
+
+  <!-- Tab that displays all apps that exit in this country -->
+  <sfng-tab id="profiles" title="Apps">
+    <div *sfngTabContent>
+      <span class="inline-block p-2 mb-2 text-tertiary">The following Apps have connections that are routed through the
+        SPN and use an
+        exit node in {{ countryName }} ({{ countryCode }}):</span>
+      <table class="w-full custom ">
+        <tbody>
+          <tr *ngFor="let app of profiles; trackBy: trackProfile"
+            class="bg-transparent hover:bg-gray-500 hover:bg-opacity-50">
+            <td class="p-2">
+              <app-icon [profile]="app.profile"></app-icon>
+              {{ app.profile.Name }}
+            </td>
+            <td class="p-2">
+              {{ app.count }} <span class="text-tertiary">connections</span>
+            </td>
+            <td class="w-10 p-2">
+              <div class="flex flex-row items-center gap-2 ">
+                <div class="w-6 outline-none cursor-pointer hover:text-primary text-secondary"
+                  [routerLink]="['/app/', app.profile.Source, app.profile.ID]"
+                  [queryParams]="{tab: 0, q: filterConnectionsByCountryNodes}" (click)="$event.stopPropagation()">
+                  <svg viewBox="0 0 24 24" class="w-4 h-4">
+                    <g fill="none" stroke="currentColor">
+                      <path shape-rendering="geometricPrecision" stroke-linecap="round" stroke-linejoin="round"
+                        stroke-width="2"
+                        d="M8.464 8.464c-1.953 1.953-1.953 5.118 0 7.071 1.953 1.953 5.118 1.953 7.071 0 1.953-1.953 1.953-5.119 0-7.071C14.559 7.488 13.28 7 12 7" />
+                      <path shape-rendering="geometricPrecision" stroke-linecap="round" stroke-linejoin="round"
+                        stroke-width="2"
+                        d="M5.636 5.636c-3.515 3.515-3.515 9.213 0 12.728 3.515 3.515 9.213 3.515 12.728 0 3.515-3.515 3.515-9.213 0-12.728-2.627-2.627-6.474-3.289-9.717-1.989M5.64 5.64L12 12" />
+                    </g>
+                  </svg>
+                </div>
+
+                <div class="cursor-pointer w-6outline-none hover:text-primary text-secondary"
+                  [routerLink]="['/app/',  app.profile.Source, app.profile.ID]" [queryParams]="{tab: 'settings'}"
+                  (click)="$event.stopPropagation()">
+                  <svg xmlns="http://www.w3.org/2000/svg" data-name="Layer 1" viewBox="0 0 24 24" class="w-4 h-4"
+                    fill="none" stroke="currentColor">
+                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" fill="currentColor"
+                      d="M19 21h-3a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2Z" />
+                    <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
+                      d="M19 9h-3a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2ZM5 3h3a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2ZM5 15h3a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2a2 2 0 0 1 2-2Z" />
+                  </svg>
+                </div>
+              </div>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </sfng-tab>
+
+</sfng-tab-group>
diff --git a/desktop/angular/src/app/pages/spn/country-details/country-details.ts b/desktop/angular/src/app/pages/spn/country-details/country-details.ts
new file mode 100644
index 00000000..3fa34f1c
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/country-details/country-details.ts
@@ -0,0 +1,217 @@
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Inject, Input, OnChanges, OnDestroy, OnInit, Optional, Output, SimpleChanges, TrackByFunction } from "@angular/core";
+import { AppProfile, AppProfileService, Netquery } from '@safing/portmaster-api';
+import { SFNG_DIALOG_REF, SfngDialogRef, SfngDialogService } from "@safing/ui";
+import { Subscription, forkJoin, of, switchMap } from 'rxjs';
+import { repeat } from 'rxjs/operators';
+import { MapPin, MapService } from './../map.service';
+import { PinDetailsComponent } from './../pin-details/pin-details';
+
+@Component({
+  templateUrl: './country-details.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  styles: [
+    `:host{
+      display: block;
+      min-width: 630px;
+      height: 400px;
+      overflow: hidden;
+    }`
+  ]
+})
+export class CountryDetailsComponent implements OnInit, OnChanges, OnDestroy {
+  /** Subscription to poll map pins and profiles. */
+  private subscription = Subscription.EMPTY;
+
+  /** The two letter ISO country code */
+  @Input()
+  countryCode: string = '';
+
+  /** The name of the country */
+  @Input()
+  countryName: string = '';
+
+  /** Emits the ID of the pin that is hovered in the list. null if no pin is hovered */
+  @Output()
+  pinHover = new EventEmitter<string | null>();
+
+  /** @private - The list of pins available in this country */
+  pins: MapPin[] = [];
+
+  /** @private - A list of app profiles that use this country as an exit node */
+  profiles: { profile: AppProfile, count: number }[] = [];
+
+  /** @private - A {@link TrackByFunction} for all profiles that use this country for exit */
+  trackProfile: TrackByFunction<this['profiles'][0]> = (_: number, profile: this['profiles'][0]) => `${profile.profile.Source}/${profile.profile.ID}`;
+
+  /** The number of alive nodes in this country */
+  totalAliveCount = 0;
+
+  /** The number of exit nodes in this country */
+  exitNodeCount = 0;
+
+  /** The number of active (used) nodes in this country */
+  activeNodeCount = 0;
+
+  /** The number of active (used) nodes operated by safing */
+  activeSafingNodeCount = 0;
+
+  /** The number of active (used) nodes operated by the community */
+  activeCommunityNodeCount = 0;
+
+  /** The number of nodes operated by safing */
+  safingNodeCount = 0;
+
+  /** The number of exit nodes operated by safing */
+  safingExitNodeCount = 0;
+
+  /** The number of nodes operated by a community member */
+  communityNodeCount = 0;
+
+  /** The number of exit ndoes operated by the community */
+  communityExitNodeCount = 0;
+
+  /** holds the text format of a netquery search to show all connections that exit in this country */
+  filterConnectionsByCountryNodes = '';
+
+  constructor(
+    private mapService: MapService,
+    private netquery: Netquery,
+    private appService: AppProfileService,
+    private cdr: ChangeDetectorRef,
+    private dialog: SfngDialogService,
+    @Inject(SFNG_DIALOG_REF) @Optional() public dialogRef?: SfngDialogRef<CountryDetailsComponent, never, { code: string, name: string }>,
+  ) { }
+
+  openPinDetails(id: string) {
+    this.dialog.create(PinDetailsComponent, {
+      data: id,
+      backdrop: false,
+      autoclose: true,
+      dragable: true,
+    })
+  }
+
+  ngOnInit() {
+    // if we got opened as a dialog we get the code and name of the country
+    // from the dialogRef.data field.
+    if (!!this.dialogRef) {
+      this.countryCode = this.dialogRef.data.code;
+      this.countryName = this.dialogRef.data.name;
+    }
+
+    this.subscription.unsubscribe();
+
+    this.subscription =
+      this.mapService
+        .pins$
+        .pipe(
+          switchMap(pins => {
+            // get a list of pins in that country
+            const countryPins = pins.filter(pin => pin.entity.Country === this.countryCode);
+
+            // prepare a netquery query that loads the IDs of all profiles that use one of the countries
+            // pins as an exit node. Then, map those IDs to the actual app profile object
+            const profiles = this.netquery
+              .query({
+                select: [
+                  'profile',
+                  { $count: { field: '*', as: 'totalCount' } }
+                ],
+                groupBy: ['profile'],
+                query: {
+                  'exit_node': {
+                    $in: countryPins.map(pin => pin.pin.ID),
+                  }
+                }
+              }, 'get-connections-per-profile-in-country')
+              .pipe(
+                switchMap(queryResult => {
+                  if (queryResult.length === 0) {
+                    return of([]);
+                  }
+
+                  return forkJoin(
+                    queryResult.map(row => forkJoin({
+                      profile: this.appService.getAppProfile(row.profile!),
+                      count: of(row.totalCount),
+                    })
+                    )
+                  )
+                }),
+              );
+
+            return forkJoin({
+              pins: of(countryPins),
+              profiles: profiles,
+            })
+          }
+          ),
+          repeat({
+            delay: 5000
+          }),
+        )
+        .subscribe(result => {
+          this.pins = result.pins;
+          this.profiles = result.profiles
+
+          this.activeNodeCount = 0;
+          this.activeCommunityNodeCount = 0;
+          this.activeSafingNodeCount = 0;
+          this.exitNodeCount = 0;
+          this.safingNodeCount = 0;
+          this.communityNodeCount = 0;
+          this.safingExitNodeCount = 0;
+          this.communityExitNodeCount = 0;
+
+          this.pins.forEach(pin => {
+            if (pin.isOffline) {
+              return
+            }
+            this.totalAliveCount++;
+
+            if (pin.pin.VerifiedOwner === 'Safing') {
+              this.safingNodeCount++;
+
+              if (pin.isExit) {
+                this.exitNodeCount++;
+                this.safingExitNodeCount++;
+              }
+              if (pin.isActive) {
+                this.activeSafingNodeCount++;
+                this.activeNodeCount++;
+              }
+
+            } else {
+              this.communityNodeCount++;
+
+              if (pin.isExit) {
+                this.exitNodeCount++;
+                this.communityExitNodeCount++;
+              }
+              if (pin.isActive) {
+                this.activeCommunityNodeCount++;
+                this.activeNodeCount++;
+              }
+            }
+          })
+
+          // create a netquery text-query in the format of "exit_node:<id1> exit_node:<id2> ..."
+          this.filterConnectionsByCountryNodes = this.pins.map(pin => `exit_node:${pin.pin.ID}`).join(" ")
+
+          this.cdr.markForCheck();
+        })
+  }
+
+  ngOnChanges(changes: SimpleChanges): void {
+    // if we are rendered as a regular component (not as a dialog) we need to
+    // handle updates to our @Inputs().
+    // just let ngOnInit() do it's thing if the countryCode changed.
+    if (!!changes['countryCode']) {
+      this.ngOnInit();
+    }
+  }
+
+  ngOnDestroy() {
+    this.subscription.unsubscribe();
+  }
+}
diff --git a/desktop/angular/src/app/pages/spn/country-details/index.ts b/desktop/angular/src/app/pages/spn/country-details/index.ts
new file mode 100644
index 00000000..3ff2c685
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/country-details/index.ts
@@ -0,0 +1 @@
+export * from './country-details';
diff --git a/desktop/angular/src/app/pages/spn/country-overlay/country-overlay.html b/desktop/angular/src/app/pages/spn/country-overlay/country-overlay.html
new file mode 100644
index 00000000..6ea2166f
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/country-overlay/country-overlay.html
@@ -0,0 +1,25 @@
+<span class="country-content-wrapper">
+
+  <span class="country-name">
+    <span class="country-name-flag" [appCountryFlags]="countryCode"></span>
+    <span class="country-name-name">{{ countryName }}</span>
+  </span>
+
+  <span class="country-stats">
+    <span class="country-stats--safing">
+      <spn-node-icon bySafing="true" isActive="true"></spn-node-icon>
+      <span>Safing Nodes:</span>
+      <span class="count">{{ safingNodes.length }}</span>
+    </span>
+
+    <span class="country-stats--community">
+      <spn-node-icon bySafing="false" isActive="true"></spn-node-icon>
+      <span>Community Nodes:</span>
+      <span class="count">{{ communityNodes.length }}</span>
+    </span>
+  </span>
+
+  <span class="pb-2 text-xxs text-tertiary">
+    Click country for details
+  </span>
+</span>
diff --git a/desktop/angular/src/app/pages/spn/country-overlay/country-overlay.scss b/desktop/angular/src/app/pages/spn/country-overlay/country-overlay.scss
new file mode 100644
index 00000000..be98030c
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/country-overlay/country-overlay.scss
@@ -0,0 +1,40 @@
+:host {
+  @apply flex flex-row items-center justify-center;
+}
+
+.country-content-wrapper {
+  @apply flex flex-col gap-2 items-center justify-center bg-gray-200 border bg-opacity-50 border-gray-600 border-opacity-25;
+}
+
+.country-name {
+  @apply text-sm flex flex-row gap-1 items-center justify-center bg-gray-100 bg-opacity-50 py-2 w-full;
+}
+
+.country-stats {
+  @apply flex flex-col gap-2 items-start py-2 px-4;
+
+  &>span {
+    @apply flex flex-row gap-1 items-center;
+    @apply text-xs font-light;
+  }
+
+  .count {
+    @apply text-sm font-normal;
+  }
+}
+
+.country-stats--safing {
+  svg polygon {
+    fill: #0376bb;
+    stroke: #0376bb;
+    transform: scale(1.15)
+  }
+}
+
+.country-stats--community {
+  svg circle {
+    fill: #239215;
+    stroke: #239215;
+    transform: scale(1.15)
+  }
+}
diff --git a/desktop/angular/src/app/pages/spn/country-overlay/country-overlay.ts b/desktop/angular/src/app/pages/spn/country-overlay/country-overlay.ts
new file mode 100644
index 00000000..2af05a26
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/country-overlay/country-overlay.ts
@@ -0,0 +1,75 @@
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
+import { BehaviorSubject, combineLatest, map } from 'rxjs';
+import { takeWhile } from 'rxjs/operators';
+import { MapPin, MapService } from './../map.service';
+
+@Component({
+  // eslint-disable-next-line @angular-eslint/component-selector
+  selector: 'spn-map-country-overlay',
+  templateUrl: './country-overlay.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  styleUrls: [
+    './country-overlay.scss'
+  ]
+})
+export class CountryOverlayComponent implements OnInit, OnChanges, OnDestroy {
+  /** The two-letter ISO code of the country */
+  @Input()
+  countryCode!: string;
+
+  /** The (english) name of the country */
+  @Input()
+  countryName!: string;
+
+  /** all nodes in this country operated by Safing */
+  safingNodes: MapPin[] = [];
+
+  /** all nodes in this country operated by a community member */
+  communityNodes: MapPin[] = [];
+
+  /** used to trigger a reload onChanges */
+  private reload$ = new BehaviorSubject<void>(undefined);
+
+  constructor(
+    private mapService: MapService,
+    private cdr: ChangeDetectorRef,
+  ) { }
+
+  ngOnChanges(changes: SimpleChanges): void {
+    this.reload$.next();
+  }
+
+  ngOnInit(): void {
+    combineLatest([
+      this.mapService.pins$,
+      this.reload$
+    ])
+      .pipe(
+        takeWhile(() => !this.reload$.closed),
+        map(([pins]) => pins.filter(pin => pin.entity.Country === this.countryCode)),
+      )
+      .subscribe(pinsInCountry => {
+        this.safingNodes = [];
+        this.communityNodes = [];
+
+        pinsInCountry.forEach(pin => {
+          if (pin.isOffline && !pin.isActive) {
+            return
+          }
+
+          if (pin.pin.VerifiedOwner === 'Safing') {
+            this.safingNodes.push(pin)
+          } else {
+            this.communityNodes.push(pin)
+          }
+        })
+
+        this.cdr.markForCheck();
+      })
+  }
+
+  ngOnDestroy(): void {
+    this.reload$.complete();
+  }
+}
+
diff --git a/desktop/angular/src/app/pages/spn/country-overlay/index.ts b/desktop/angular/src/app/pages/spn/country-overlay/index.ts
new file mode 100644
index 00000000..2e61e978
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/country-overlay/index.ts
@@ -0,0 +1 @@
+export * from './country-overlay';
diff --git a/desktop/angular/src/app/pages/spn/index.ts b/desktop/angular/src/app/pages/spn/index.ts
new file mode 100644
index 00000000..cc24eeea
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/index.ts
@@ -0,0 +1 @@
+export * from './spn-page';
diff --git a/desktop/angular/src/app/pages/spn/map-legend/index.ts b/desktop/angular/src/app/pages/spn/map-legend/index.ts
new file mode 100644
index 00000000..111ec8c0
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/map-legend/index.ts
@@ -0,0 +1 @@
+export * from './map-legend';
diff --git a/desktop/angular/src/app/pages/spn/map-legend/map-legend.html b/desktop/angular/src/app/pages/spn/map-legend/map-legend.html
new file mode 100644
index 00000000..07cf2a9b
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/map-legend/map-legend.html
@@ -0,0 +1,54 @@
+  <div class="flex flex-col gap-2 bg-gray-200 bg-opacity-50 border border-gray-600 border-opacity-25">
+    <table class="p-2 font-thin custom">
+      <tr>
+        <td class="p-2 font-normal">
+          <spn-node-icon bySafing="true"></spn-node-icon>
+          Safing Nodes
+        </td>
+        <td class="p-2">{{ safingNodeCount }}</td>
+      </tr>
+      <tr>
+        <td class="p-2">
+          <span class="pl-5">
+            <spn-node-icon bySafing="true" isActive="true"></spn-node-icon>
+            used as Transit
+          </span>
+        </td>
+        <td class="p-2">{{ safingActiveCount }}</td>
+      </tr>
+      <tr>
+        <td class="p-2">
+          <span class="pl-5">
+            <spn-node-icon bySafing="true" isExit="true"></spn-node-icon>
+            used as Exit
+          </span>
+        </td>
+        <td class="p-2">{{ safingExitCount }}</td>
+      </tr>
+      <tr>
+        <td class="p-2 font-normal">
+          <spn-node-icon bySafing="false"></spn-node-icon>
+          Community Nodes
+        </td>
+        <td class="p-2">{{ communityNodeCount }}</td>
+      </tr>
+      <tr>
+        <td class="p-2">
+          <span class="pl-5">
+            <spn-node-icon bySafing="false" isActive="true"></spn-node-icon>
+            used as Transit
+          </span>
+        </td>
+        <td class="p-2">{{ communityActiveCount }}</td>
+      </tr>
+      <tr>
+        <td class="p-2">
+          <span class="pl-5">
+            <spn-node-icon bySafing="false" isExit="true"></spn-node-icon>
+            used as Exit
+          </span>
+        </td>
+        <td class="p-2">{{ communityExitCount }}</td>
+      </tr>
+    </table>
+  </div>
diff --git a/desktop/angular/src/app/pages/spn/map-legend/map-legend.ts b/desktop/angular/src/app/pages/spn/map-legend/map-legend.ts
new file mode 100644
index 00000000..e561111e
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/map-legend/map-legend.ts
@@ -0,0 +1,69 @@
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from "@angular/core";
+import { Subscription } from 'rxjs';
+import { MapService } from './../map.service';
+
+@Component({
+  // eslint-disable-next-line @angular-eslint/component-selector
+  selector: 'spn-map-legend',
+  templateUrl: './map-legend.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class SpnMapLegendComponent implements OnInit, OnDestroy {
+  private subscription = Subscription.EMPTY;
+
+  safingNodeCount = 0;
+  safingExitCount = 0;
+  safingActiveCount = 0;
+
+  communityNodeCount = 0;
+  communityExitCount = 0;
+  communityActiveCount = 0;
+
+  constructor(
+    private mapService: MapService,
+    private cdr: ChangeDetectorRef,
+  ) { }
+
+  ngOnInit() {
+    this.subscription = this.mapService
+      .pins$
+      .subscribe(pins => {
+        this.safingActiveCount = 0;
+        this.safingExitCount = 0;
+        this.safingNodeCount = 0;
+        this.communityActiveCount = 0;
+        this.communityExitCount = 0;
+        this.communityNodeCount = 0;
+
+        pins.forEach(pin => {
+          if (pin.pin.VerifiedOwner === 'Safing') {
+            if (pin.isActive) {
+              this.safingActiveCount++;
+            }
+
+            if (pin.isExit) {
+              this.safingExitCount++
+            }
+
+            this.safingNodeCount++
+          } else {
+            if (pin.isActive) {
+              this.communityActiveCount++;
+            }
+
+            if (pin.isExit) {
+              this.communityExitCount++;
+            }
+
+            this.communityNodeCount++;
+          }
+        })
+
+        this.cdr.markForCheck();
+      })
+  }
+
+  ngOnDestroy() {
+    this.subscription.unsubscribe();
+  }
+}
diff --git a/desktop/angular/src/app/pages/spn/map-renderer/index.ts b/desktop/angular/src/app/pages/spn/map-renderer/index.ts
new file mode 100644
index 00000000..60ff8a16
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/map-renderer/index.ts
@@ -0,0 +1 @@
+export * from './map-renderer';
diff --git a/desktop/angular/src/app/pages/spn/map-renderer/map-renderer.ts b/desktop/angular/src/app/pages/spn/map-renderer/map-renderer.ts
new file mode 100644
index 00000000..bea5ee57
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/map-renderer/map-renderer.ts
@@ -0,0 +1,383 @@
+import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, Inject, InjectionToken, Input, OnDestroy, OnInit, Optional, inject } from '@angular/core';
+import { GeoPath, GeoPermissibleObjects, GeoProjection, Selection, ZoomTransform, geoMercator, geoPath, json, pointer, select, zoom, zoomIdentity } from 'd3';
+import { feature } from 'topojson-client';
+
+
+export type MapRoot = Selection<SVGSVGElement, unknown, null, never>;
+export type WorldGroup = Selection<SVGGElement, unknown, null, unknown>
+
+export interface CountryEvent {
+  event?: MouseEvent;
+  countryCode: string;
+  countryName: string;
+}
+
+export interface MapRef {
+  onMapReady(cb: () => any): void;
+  onZoomPan(cb: () => any): void;
+  onCountryHover(cb: (_: CountryEvent | null) => void): void;
+  onCountryClick(cb: (_: CountryEvent) => void): void;
+  select(selection: string): Selection<any, any, any, any> | null;
+
+  countryNames: { [key: string]: string };
+  root: MapRoot;
+  projection: GeoProjection;
+  zoomScale: number;
+  worldGroup: WorldGroup;
+}
+
+export interface MapHandler {
+  registerMap(ref: MapRef): void;
+  unregisterMap(ref: MapRef): void;
+}
+
+export const MAP_HANDLER = new InjectionToken<MapHandler>('MAP_HANDLER');
+
+@Component({
+  // eslint-disable-next-line @angular-eslint/component-selector
+  selector: 'spn-map-renderer',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  template: '',
+  styleUrls: [
+    './map-style.scss'
+  ],
+})
+export class MapRendererComponent implements OnInit, AfterViewInit, OnDestroy {
+  static readonly Rotate = 0; // so [-0, 0] is the initial center of the projection
+  static readonly Maxlat = 83; // clip northern and southern pols (infinite in mercator)
+  static readonly MarkerSize = 4;
+  static readonly LineAnimationDuration = 200;
+
+  private readonly destroyRef = inject(DestroyRef);
+  private destroyed = false;
+
+  countryNames: {
+    [countryCode: string]: string
+  } = {}
+
+  // SVG group elements
+  private svg: MapRoot | null = null;
+  worldGroup!: WorldGroup;
+
+  // Projection and line rendering functions
+  projection!: GeoProjection;
+  zoomScale: number = 1
+
+  private pathFunc!: GeoPath<any, GeoPermissibleObjects>;
+
+  get root() {
+    return this.svg!
+  }
+
+  @Input()
+  mapId: string = 'map'
+
+  constructor(
+    private mapRoot: ElementRef<HTMLElement>,
+    private cdr: ChangeDetectorRef,
+    @Inject(MAP_HANDLER) @Optional() private overlays: MapHandler[],
+  ) { }
+
+  ngOnInit(): void {
+    this.overlays?.forEach(ov => {
+      ov.registerMap(this)
+    })
+
+    this.cdr.detach()
+  }
+
+  select(selector: string) {
+    if (!this.svg) {
+      return null
+    }
+
+    return this.svg.select(selector);
+  }
+
+  private _readyCb: (() => void)[] = [];
+  onMapReady(cb: () => void) {
+    this._readyCb.push(cb);
+  }
+
+  private _zoomCb: (() => void)[] = [];
+  onZoomPan(cb: () => void) {
+    this._zoomCb.push(cb)
+  }
+
+  private _countryHoverCb: ((e: CountryEvent | null) => void)[] = [];
+  onCountryHover(cb: (e: CountryEvent | null) => void) {
+    this._countryHoverCb.push(cb);
+  }
+
+  private _countryClickCb: ((e: CountryEvent) => void)[] = [];
+  onCountryClick(cb: (e: CountryEvent) => void) {
+    this._countryClickCb.push(cb)
+  }
+
+  async ngAfterViewInit() {
+    await this.renderMap()
+
+    const observer = new ResizeObserver(() => {
+      this.renderMap()
+    })
+
+    this.destroyRef.onDestroy(() => {
+      observer.unobserve(this.mapRoot.nativeElement)
+      observer.disconnect()
+    })
+
+    observer.observe(this.mapRoot.nativeElement);
+  }
+
+  async renderMap() {
+    if (this.destroyed) {
+      return;
+    }
+
+    if (!!this.svg) {
+      this.svg.remove()
+    }
+
+    const map = select(this.mapRoot.nativeElement);
+
+    // setup the basic SVG elements
+    this.svg = map
+      .append('svg')
+      .attr('id', this.mapId)
+      .attr("xmlns", "http://www.w3.org/2000/svg")
+      .attr('width', '100%')
+      .attr('preserveAspectRation', 'none')
+      .attr('height', '100%')
+
+    this.worldGroup = this.svg.append('g').attr('id', 'world-group')
+
+    // load the world-map data and start rendering
+    const world = await json<any>('/assets/world-50m.json');
+
+    // actually render the countries
+    const countries = (feature(world, world.objects.countries) as any);
+
+    this.setupProjection();
+    await this.setupZoom(countries);
+
+    // we need to await the initial world render here because otherwise
+    // the initial renderPins() will not be able to update the country attributes
+    // and cause a delay before the state of the country (has-nodes, is-blocked, ...)
+    // is visible.
+    this.renderWorld(countries);
+
+    this._readyCb.forEach(cb => cb());
+  }
+
+  ngOnDestroy() {
+    this.destroyed = true;
+
+    this.overlays?.forEach(ov => ov.unregisterMap(this));
+
+    this._countryClickCb = [];
+    this._countryHoverCb = [];
+    this._readyCb = [];
+    this._zoomCb = [];
+
+    if (!this.svg) {
+      return;
+    }
+
+    this.svg.remove();
+    this.svg = null;
+  }
+
+  private renderWorld(countries: any) {
+    // actually render the countries
+    const data = countries.features;
+    const self = this;
+
+    data.forEach((country: any) => {
+      this.countryNames[country.properties.iso_a2] = country.properties.name
+    })
+
+    this.worldGroup.selectAll()
+      .data<GeoPermissibleObjects>(data)
+      .enter()
+      .append('path')
+      .attr('countryCode', (d: any) => d.properties.iso_a2)
+      .attr('name', (d: any) => d.properties.name)
+      .attr('d', this.pathFunc)
+      .on('mouseenter', function (event: MouseEvent) {
+        const country = select(this).datum() as any;
+        const countryEvent: CountryEvent = {
+          event: event,
+          countryCode: country.properties.iso_a2,
+          countryName: country.properties.name,
+        }
+
+        self._countryHoverCb.forEach(cb => cb(countryEvent))
+      })
+      .on('mouseout', function (event: MouseEvent) {
+        self._countryHoverCb.forEach(cb => cb(null))
+      })
+      .on('click', function (event: MouseEvent) {
+        const country = select(this).datum() as any;
+        const countryEvent: CountryEvent = {
+          event: event,
+          countryCode: country.properties.iso_a2,
+          countryName: country.properties.name,
+        }
+
+        const loc = self.projection.invert!([event.clientX, event.clientY])
+
+        console.log(loc)
+
+        self._countryClickCb.forEach(cb => cb(countryEvent))
+      })
+  }
+
+  private setupProjection() {
+    const size = this.mapRoot.nativeElement.getBoundingClientRect();
+
+    this.projection = geoMercator()
+      .rotate([MapRendererComponent.Rotate, 0])
+      .scale(1)
+      .translate([size.width / 2, size.height / 2]);
+
+
+    // path is used to update the SVG path to match our mercator projection
+    this.pathFunc = geoPath().projection(this.projection);
+  }
+
+  private async setupZoom(countries: any) {
+    if (!this.svg) {
+      return
+    }
+
+    // create a copy of countries
+    countries = {
+      ...countries,
+      features: [...countries.features]
+    }
+
+    // remove Antarctica from the feature set so projection.fitSize ignores it
+    // and better aligns the rest of the world :)
+    const aqIdx = countries.features.findIndex((p: GeoJSON.Feature) => p.properties?.iso_a2 === "AQ");
+    if (aqIdx >= 0) {
+      countries.features.splice(aqIdx, 1)
+    }
+
+    const size = this.mapRoot.nativeElement.getBoundingClientRect();
+
+    this.projection.fitSize([size.width, size.height], countries)
+
+    //this.projection.fitWidth(size.width, countries)
+    //this.projection.fitHeight(size.height, countries)
+
+    // returns the top-left and the bottom-right of the current projection
+    const mercatorBounds = () => {
+      const yaw = this.projection.rotate()[0];
+      const xymax = this.projection([-yaw + 180 - 1e-6, -MapRendererComponent.Maxlat])!;
+      const xymin = this.projection([-yaw - 180 + 1e-6, MapRendererComponent.Maxlat])!;
+      return [xymin, xymax];
+    }
+
+    const s = this.projection.scale()
+    const scaleExtent = [s, s * 10]
+
+    const transform = zoomIdentity
+      .scale(this.projection.scale())
+      .translate(this.projection.translate()[0], this.projection.translate()[1]);
+
+    // whenever the users zooms we need to update our groups
+    // individually to apply the zoom effect.
+    let tlast = {
+      x: 0,
+      y: 0,
+      k: 0,
+    }
+
+    const self = this;
+
+    let z = zoom<SVGSVGElement, unknown>()
+      .scaleExtent(scaleExtent as [number, number])
+      .on('zoom', (e) => {
+        const t: ZoomTransform = e.transform;
+
+        if (t.k != tlast.k) {
+          let p = pointer(e)
+          let scrollToMouse = () => { };
+
+          if (!!p && !!p[0]) {
+            const tp = this.projection.translate();
+            const coords = this.projection!.invert!(p)
+            scrollToMouse = () => {
+              const newPos = this.projection(coords!)!;
+              const yaw = this.projection.rotate()[0];
+              this.projection.translate([tp[0], tp[1] + (p[1] - newPos[1])])
+              this.projection.rotate([yaw + 360.0 * (p[0] - newPos[0]) / size.width * scaleExtent[0] / t.k, 0, 0])
+            }
+          }
+
+          this.projection.scale(t.k);
+          scrollToMouse();
+
+        } else {
+          let dy = t.y - tlast.y;
+          const dx = t.x - tlast.x;
+          const yaw = this.projection.rotate()[0]
+          const tp = this.projection.translate();
+
+          // use x translation to rotate based on current scale
+          this.projection.rotate([yaw + 360.0 * dx / size.width * scaleExtent[0] / t.k, 0, 0])
+          // use y translation to translate projection clamped to bounds
+          let bounds = mercatorBounds();
+          if (bounds[0][1] + dy > 0) {
+            dy = -bounds[0][1];
+          } else if (bounds[1][1] + dy < size.height) {
+            dy = size.height - bounds[1][1];
+          }
+          this.projection.translate([tp[0], tp[1] + dy]);
+        }
+
+        tlast = {
+          x: t.x,
+          y: t.y,
+          k: t.k,
+        }
+
+        // finally, re-render the SVG shapes according to the new projection
+        this.worldGroup.selectAll<SVGPathElement, GeoPermissibleObjects>('path')
+          .attr('d', this.pathFunc)
+
+
+        this._zoomCb.forEach(cb => cb());
+      });
+
+    this.svg.call(z)
+    this.svg.call(z.transform, transform);
+  }
+
+  public getCoords(lat: number, lng: number) {
+    const loc = this.projection([lng, lat]);
+    if (!loc) {
+      return null;
+    }
+
+    const rootElem = this.mapRoot.nativeElement.getBoundingClientRect();
+    const x = rootElem.x + loc[0];
+    const y = rootElem.y + loc[1];
+
+    return [x, y];
+  }
+
+  public coordsInView(lat: number, lng: number) {
+    const loc = this.projection([lng, lat]);
+    if (!loc) {
+      return false
+    }
+
+    const rootElem = this.mapRoot.nativeElement.getBoundingClientRect();
+    const x = rootElem.x + loc[0];
+    const y = rootElem.y + loc[1];
+
+    return x >= rootElem.left && x <= rootElem.right && y >= rootElem.top && y <= rootElem.bottom;
+  }
+
+}
diff --git a/desktop/angular/src/app/pages/spn/map-renderer/map-style.scss b/desktop/angular/src/app/pages/spn/map-renderer/map-style.scss
new file mode 100644
index 00000000..0f319ba7
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/map-renderer/map-style.scss
@@ -0,0 +1,167 @@
+::ng-deep {
+  .pin {
+    opacity: 0;
+
+    &.in-view {
+      opacity: 1;
+    }
+  }
+}
+
+::ng-deep #spn-map {
+  --map-bg: #111112;
+  --map-country-active: #424141;
+  --map-country-inactive: #2a2a2a;
+  --map-country-border-width: 2px;
+  --map-country-border-color: #1e1e1e;
+  --map-country-border-color-selected: #858585;
+  --map-country-blocked-primary: #858585;
+  --map-country-blocked-secondary: #402323;
+
+  .overlay {
+    fill: none;
+    pointer-events: all;
+  }
+
+  g {
+
+    circle,
+    polygon {
+      fill: #626262;
+      stroke: #626262;
+      stroke-width: 1;
+      stroke-linejoin: round;
+      transition: all 200ms linear 0s;
+    }
+
+    circle:hover,
+    polygon:hover {
+      fill: theme('colors.yellow.200');
+      stroke: theme('colors.yellow.300');
+      stroke-width: 2;
+    }
+  }
+
+  g[in-use=true] {
+    circle {
+      fill: #239215;
+      stroke: #239215;
+      transform: scale(1.15)
+    }
+
+    polygon {
+      fill: #0376bb;
+      stroke: #0376bb;
+      transform: scale(1.15)
+    }
+  }
+
+  g[is-exit=true] {
+
+    circle,
+    polygon {
+      transform: scale(1.3);
+      stroke-width: 2;
+    }
+
+    polygon {
+      stroke: #039af4;
+      fill: #0376bb;
+    }
+
+    circle {
+      stroke: #30ae20;
+      fill: #239215;
+    }
+  }
+
+  g[is-home=true] circle {
+    stroke: white;
+    stroke-width: 4.5;
+    fill: black;
+    transform: scale(1);
+  }
+
+  g[raise=true] {
+
+    circle,
+    polygon {
+      fill: theme('colors.yellow.200');
+      stroke: theme('colors.yellow.300');
+      stroke-width: 2;
+      transform: scale(1.8);
+    }
+  }
+
+  .marker {
+    cursor: pointer;
+    fill: #252525;
+    stroke: rgba(151, 151, 151, 0.8);
+    transition: all 250ms 0s cubic-bezier(0.175, 0.885, 0.32, 1.275);
+  }
+
+  .marker-label {
+    fill: white;
+  }
+
+  path.lane {
+    stroke: rgba(151, 151, 151, 0.2);
+    fill: transparent;
+
+    &[in-use=true] {
+      stroke-width: 2;
+      stroke: #0376bb;
+    }
+
+    &[is-live=true] {
+      stroke-width: 1;
+      stroke: theme('colors.red.300');
+
+      &[is-encrypted=true] {
+        stroke: theme('colors.green.200');
+      }
+
+      &:hover {
+        stroke-width: 3;
+      }
+    }
+  }
+
+  #world-group {
+    path {
+      fill: var(--map-country-border-color);
+      stroke: var(--map-country-border-color);
+      stroke-width: var(--map-country-border-width);
+      stroke-linejoin: round;
+    }
+
+    path[has-nodes=true] {
+      fill: var(--map-country-inactive);
+    }
+
+    path[in-use=true] {
+      fill: var(--map-country-active);
+    }
+
+    path:hover {
+      cursor: pointer;
+      fill: var(--map-country-active);
+    }
+
+    path.selected {
+      stroke: var(--map-country-border-color-selected);
+    }
+  }
+}
+
+:host-context(.disabled) {
+  @apply bg-white;
+
+  #world-group {
+    path {
+      fill: #000000;
+      stroke: #111111;
+      stroke-width: .5px;
+    }
+  }
+}
diff --git a/desktop/angular/src/app/pages/spn/map.service.ts b/desktop/angular/src/app/pages/spn/map.service.ts
new file mode 100644
index 00000000..da8041a9
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/map.service.ts
@@ -0,0 +1,253 @@
+import { Injectable } from '@angular/core';
+import { AppProfile, GeoCoordinates, IntelEntity, Netquery, Pin, SPNService, UnknownLocation, getPinCoords } from '@safing/portmaster-api';
+import { BehaviorSubject, Observable, combineLatest, debounceTime, interval, of, startWith, switchMap } from 'rxjs';
+import { distinctUntilChanged, filter, map, share } from 'rxjs/operators';
+import { SPNStatus } from './../../../../projects/safing/portmaster-api/src/lib/spn.types';
+
+export interface MapPin {
+  pin: Pin;
+  // location is set to the geo-coordinates that should be used
+  // for that pin.
+  location: GeoCoordinates;
+  // entity is set to the intel entity that should be used for
+  // this pin.
+  entity: IntelEntity;
+
+  // whether the pin is regarded as offline / not available.
+  isOffline: boolean;
+
+  // whether or not the pin is currently used as an exit node
+  isExit: boolean;
+
+  // whether or not the pin is used as a transit node
+  isTransit: boolean;
+
+  // whether or not the pin is currently active.
+  isActive: boolean;
+
+  // whether or not the pin is used as the entry-node.
+  isHome: boolean;
+
+  // whether the pin has any known issues
+  hasIssues: boolean;
+
+  // FIXME: remove me
+  collapsed?: boolean;
+}
+
+@Injectable({ providedIn: 'root' })
+export class MapService {
+  /**
+   * activeSince$ emits the pre-formatted duration since the SPN is active
+   * it formats the duration as "HH:MM:SS" or null if the SPN is not enabled.
+   */
+  activeSince$: Observable<string | null>;
+
+  /** Emits the current status of the SPN */
+  status$: Observable<SPNStatus['Status']>;
+
+  /** Emits all map pins */
+  _pins$ = new BehaviorSubject<MapPin[]>([]);
+
+  get pins$(): Observable<MapPin[]> {
+    return this._pins$.asObservable();
+  }
+
+  pinsMap$ = this.pins$
+    .pipe(
+      filter(allPins => !!allPins.length),
+      map(allPins => {
+        const lm = new Map<string, MapPin>();
+        allPins.forEach(pin => lm.set(pin.pin.ID, pin));
+
+        return lm
+      }),
+      share(),
+    )
+
+  constructor(
+    private spnService: SPNService,
+    private netquery: Netquery,
+  ) {
+    this.status$ = this.spnService
+      .status$
+      .pipe(
+        map(status => !!status ? status.Status : 'disabled'),
+        distinctUntilChanged()
+      );
+
+    // setup the activeSince$ observable that emits every second how long the
+    // SPN has been active.
+    this.activeSince$ = combineLatest([
+      this.spnService.status$,
+      interval(1000).pipe(startWith(-1))
+    ]).pipe(
+      map(([status]) => !!status.ConnectedSince ? this.formatActiveSinceDate(status.ConnectedSince) : null),
+      share(),
+    );
+
+    let pinMap = new Map<string, MapPin>();
+    let pinResult: MapPin[] = [];
+
+    // create a stream of pin updates from the SPN service if it is enabled.
+    this.status$
+      .pipe(
+        switchMap(status => {
+          if (status !== 'disabled') {
+            return combineLatest([
+              this.spnService.watchPins(),
+              interval(5000)
+                .pipe(
+                  startWith(-1),
+                  switchMap(() => this.getPinIDsUsedAsExit())
+                )
+            ])
+          }
+          return of([[], []]);
+        }),
+        map(([pins, exitPinIDs]) => {
+          const exitPins = new Set(exitPinIDs);
+          const activePins = new Set<string>();
+          const transitPins = new Set<string>();
+          const seenPinIDs = new Set<string>();
+
+          let hasChanges = false;
+
+          pins.forEach(pin => pin.Route?.forEach((hop, index) => {
+            if (index < pin.Route!.length - 1) {
+              transitPins.add(hop)
+            }
+
+            activePins.add(hop);
+          }));
+
+          pins.forEach(pin => {
+            // Save Pin ID as seen.
+            seenPinIDs.add(pin.ID);
+
+            const oldPinModel = pinMap.get(pin.ID);
+
+            // Get states of new model.
+            const isOffline = pin.States.includes('Offline') || !pin.States.includes('Reachable');
+            const isHome = pin.HopDistance === 1;
+            const isTransit = transitPins.has(pin.ID);
+
+            const isExit = exitPins.has(pin.ID);
+            const isActive = activePins.has(pin.ID);
+            const hasIssues = pin.States.includes('ConnectivityIssues');
+
+            const pinHasChanged = !oldPinModel || oldPinModel.pin !== pin ||
+              oldPinModel.isOffline !== isOffline || oldPinModel.isHome !== isHome || oldPinModel.isTransit !== isTransit ||
+              oldPinModel.isExit !== isExit || oldPinModel.isActive !== isActive || oldPinModel.hasIssues !== hasIssues;
+
+            if (pinHasChanged) {
+              const newPinModel: MapPin = {
+                pin: pin,
+                location: getPinCoords(pin) || UnknownLocation,
+                entity: (pin.EntityV4 || pin.EntityV6)!,
+                isExit,
+                isTransit,
+                isActive,
+                isOffline,
+                isHome,
+                hasIssues,
+              }
+
+              pinMap.set(pin.ID, newPinModel);
+
+              hasChanges = true;
+            }
+          })
+
+          for (let key of pinMap.keys()) {
+            if (!seenPinIDs.has(key)) {
+              // this pin has been removed
+              pinMap.delete(key)
+              hasChanges = true;
+            }
+          }
+
+          if (hasChanges) {
+            pinResult = Array.from(pinMap.values());
+          }
+
+          return pinResult;
+        }),
+        debounceTime(10),
+        distinctUntilChanged(),
+      )
+      .subscribe(pins => this._pins$.next(pins))
+  }
+
+  getExitPinIDsForProfile(profile: AppProfile) {
+    return this.netquery
+      .query({
+        select: ['exit_node'],
+        groupBy: ['exit_node'],
+        query: {
+          profile: { $eq: `${profile.Source}/${profile.ID}` },
+        }
+      }, 'map-service-get-exit-pin-ids-for-profile')
+      .pipe(map(result => result.map(row => row.exit_node!)))
+  }
+
+  getPinIDsWithActiveSession() {
+    return this.pins$
+      .pipe(
+        map(result => result.filter(pin => pin.pin.SessionActive).map(pin => pin.pin.ID))
+      )
+  }
+
+  getPinIDsUsedAsExit() {
+    return this.netquery
+      .query({
+        select: ['exit_node'],
+        groupBy: ['exit_node']
+      }, 'map-service-get-pins-used-as-exit')
+      .pipe(
+        map(result => result.map(row => row.exit_node!))
+      )
+  }
+
+  getPinIDsWithActiveConnections() {
+    return this.netquery.query({
+      select: ['exit_node'],
+      groupBy: ['exit_node'],
+      query: {
+        active: { $eq: true }
+      }
+    }, 'map-service-get-pins-with-connections')
+      .pipe(
+        map(activeExitNodes => {
+          const pins = this._pins$.getValue();
+
+          const pinIDs = new Set<string>();
+          const pinLookupMap = new Map<string, MapPin>();
+
+          pins.forEach(p => pinLookupMap.set(p.pin.ID, p))
+
+          activeExitNodes.map(row => {
+            const pin = pinLookupMap.get(row.exit_node!);
+            if (!!pin) {
+              pin.pin.Route?.forEach(hop => {
+                pinIDs.add(hop)
+              })
+            }
+          })
+
+          return Array.from(pinIDs);
+        })
+      )
+  }
+
+  private formatActiveSinceDate(date: string): string {
+    const d = new Date(date);
+    const diff = Math.floor((new Date().getTime() - d.getTime()) / 1000);
+    const hours = Math.floor(diff / 3600);
+    const minutes = Math.floor((diff - (hours * 3600)) / 60);
+    const secs = diff - (hours * 3600) - (minutes * 60);
+    const pad = (d: number) => d < 10 ? `0${d}` : '' + d;
+
+    return `${pad(hours)}:${pad(minutes)}:${pad(secs)}`;
+  }
+}
diff --git a/desktop/angular/src/app/pages/spn/node-icon/index.ts b/desktop/angular/src/app/pages/spn/node-icon/index.ts
new file mode 100644
index 00000000..715f271d
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/node-icon/index.ts
@@ -0,0 +1 @@
+export * from './node-icon';
diff --git a/desktop/angular/src/app/pages/spn/node-icon/node-icon.html b/desktop/angular/src/app/pages/spn/node-icon/node-icon.html
new file mode 100644
index 00000000..faf8c684
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/node-icon/node-icon.html
@@ -0,0 +1,12 @@
+<svg *ngIf="bySafing" class="inline-block" xmlns="http://www.w3.org/2000/svg" width="16" preserveAspectRation="none"
+  height="16">
+  <g transform="translate(9, 7)">
+    <polygon class="{{ nodeClass }}" points="0,-4 -4,4 4,4"></polygon>
+  </g>
+</svg>
+<svg *ngIf="!bySafing" class="inline-block" xmlns="http://www.w3.org/2000/svg" width="16" preserveAspectRation="none"
+  height="16">
+  <g transform="translate(9, 7)">
+    <circle class="{{ nodeClass }}" r="4"></circle>
+  </g>
+</svg>
diff --git a/desktop/angular/src/app/pages/spn/node-icon/node-icon.scss b/desktop/angular/src/app/pages/spn/node-icon/node-icon.scss
new file mode 100644
index 00000000..b62c9bac
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/node-icon/node-icon.scss
@@ -0,0 +1,38 @@
+svg {
+
+  circle,
+  polygon {
+    fill: #626262;
+    stroke: #626262;
+    stroke-width: 1;
+    stroke-linejoin: round;
+    transition: all 200ms linear 0s;
+  }
+
+  polygon.active,
+  polygon.exit {
+    fill: #0376bb;
+    stroke: #0376bb;
+    transform: scale(1.15)
+  }
+
+  circle.active,
+  circle.exit {
+    fill: #239215;
+    stroke: #239215;
+    transform: scale(1.15)
+  }
+
+  circle.exit,
+  polygon.exit {
+    stroke-width: 2;
+  }
+
+  circle.exit {
+    stroke: #30ae20;
+  }
+
+  polygon.exit {
+    stroke: #039af4;
+  }
+}
diff --git a/desktop/angular/src/app/pages/spn/node-icon/node-icon.ts b/desktop/angular/src/app/pages/spn/node-icon/node-icon.ts
new file mode 100644
index 00000000..daad9a15
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/node-icon/node-icon.ts
@@ -0,0 +1,44 @@
+import { coerceBooleanProperty } from '@angular/cdk/coercion';
+import { ChangeDetectionStrategy, Component, Input } from "@angular/core";
+
+@Component({
+  // eslint-disable-next-line @angular-eslint/component-selector
+  selector: 'spn-node-icon',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  templateUrl: './node-icon.html',
+  styleUrls: ['./node-icon.scss'],
+})
+export class SpnNodeIconComponent {
+  @Input()
+  set bySafing(v: any) {
+    this._bySafing = coerceBooleanProperty(v);
+  }
+  get bySafing() { return this._bySafing }
+  private _bySafing = false;
+
+  @Input()
+  set isActive(v: any) {
+    this._isActive = coerceBooleanProperty(v);
+  }
+  get isActive() { return this._isActive }
+  private _isActive = false;
+
+  @Input()
+  set isExit(v: any) {
+    this._isExit = coerceBooleanProperty(v);
+  }
+  get isExit() { return this._isExit; }
+  private _isExit = false;
+
+  get nodeClass() {
+    if (this._isExit) {
+      return 'exit';
+    }
+
+    if (this.isActive) {
+      return 'active'
+    }
+
+    return '';
+  }
+}
diff --git a/desktop/angular/src/app/pages/spn/pin-details/index.ts b/desktop/angular/src/app/pages/spn/pin-details/index.ts
new file mode 100644
index 00000000..9a9851da
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/pin-details/index.ts
@@ -0,0 +1 @@
+export * from './pin-details';
diff --git a/desktop/angular/src/app/pages/spn/pin-details/pin-details.html b/desktop/angular/src/app/pages/spn/pin-details/pin-details.html
new file mode 100644
index 00000000..8e53befc
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/pin-details/pin-details.html
@@ -0,0 +1,127 @@
+<h1 class="flex flex-row items-center gap-2 text-base">
+  <span [appCountryFlags]="pin?.entity?.Country || ''"></span>
+  {{ pin?.pin?.Name || 'N/A' }}
+  <span class="flex-grow"></span>
+  <svg *ngIf="!!dialogRef" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"
+    stroke-width="2" class="w-4 h-4 ml-2 opacity-75 cursor-pointer hover:opacity-100" (click)="dialogRef.close()">
+    <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"></path>
+  </svg>
+</h1>
+
+<span class="text-sm inline-block mt-.5 mb-2 font-thin" *ngIf="pin as pin">
+  This SPN Node is run by
+  <svg sfng-tooltip="Verified operator: {{pin.pin.VerifiedOwner}}" *ngIf="!!pin.pin.VerifiedOwner"
+    xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
+    class="inline-block w-4 h-4 mx-1 -mt-1 text-green-300">
+    <path stroke-linecap="round" stroke-linejoin="round"
+      d="M9 12.75L11.25 15 15 9.75M21 12c0 1.268-.63 2.39-1.593 3.068a3.745 3.745 0 01-1.043 3.296 3.745 3.745 0 01-3.296 1.043A3.745 3.745 0 0112 21c-1.268 0-2.39-.63-3.068-1.593a3.746 3.746 0 01-3.296-1.043 3.745 3.745 0 01-1.043-3.296A3.745 3.745 0 013 12c0-1.268.63-2.39 1.593-3.068a3.745 3.745 0 011.043-3.296 3.746 3.746 0 013.296-1.043A3.746 3.746 0 0112 3c1.268 0 2.39.63 3.068 1.593a3.746 3.746 0 013.296 1.043 3.746 3.746 0 011.043 3.296A3.745 3.745 0 0121 12z" />
+  </svg>
+  <span class="font-normal">{{ pin.pin.VerifiedOwner || 'Community' }}</span>
+</span>
+
+<div *ngIf="pin?.isOffline" class="text-sm mt-.5 mb-2 font-thin text-red-300">
+  Node is Offline
+</div>
+<div *ngIf="pin?.hasIssues && !pin?.isOffline" class="text-sm mt-.5 mb-2 font-thin text-yellow-300">
+  Node has Issues
+</div>
+
+<sfng-tab-group *ngIf="pin as pin" linkRouter="false">
+  <sfng-tab id="details" title="Details">
+    <table *sfngTabContent class="custom">
+      <tr>
+        <td class="p-2 font-thin">ID</td>
+        <td>{{ pin.pin.ID }}</td>
+      </tr>
+      <tr>
+        <td class="p-2 font-thin">Verified Owner</td>
+        <td>
+          <pre>{{ pin.pin.VerifiedOwner }}</pre>
+        </td>
+      </tr>
+      <tr>
+        <td class="p-2 font-thin">First Seen</td>
+        <td>{{ pin.pin.FirstSeen | date:'medium' }}</td>
+      </tr>
+      <tr>
+        <td class="p-2 font-thin">IPv4</td>
+        <td *ngIf="pin.pin.EntityV4 as entity">
+          <div class="flex flex-col gap-1">
+            <span class="text-primary">
+              <span [appCountryFlags]="entity.Country"></span>
+              {{ entity.ASOrg }}
+              <span class="font-thin text-tertiary">({{ entity.ASN }})</span>
+            </span>
+            <span class="text-primary">
+              {{ entity.IP || 'N/A' }}
+            </span>
+          </div>
+        </td>
+      </tr>
+      <tr>
+        <td class="p-2 font-thin">IPv6</td>
+        <td *ngIf="pin.pin.EntityV6 as entity">
+          <div class="flex flex-col gap-1">
+            <span class="text-primary">
+              <span [appCountryFlags]="entity.Country"></span>
+              {{ entity.ASOrg }}
+              <span class="font-thin text-tertiary">({{ entity.ASN }})</span>
+            </span>
+            <span class="text-primary">
+              {{ entity.IP || 'N/A' }}
+            </span>
+          </div>
+        </td>
+      </tr>
+      <tr>
+        <td class="p-2 font-thin">States</td>
+        <td>
+          <pre>{{ pin.pin.States.join(", ") }}</pre>
+        </td>
+      </tr>
+      <tr>
+        <td class="p-2 font-thin">SessionActive</td>
+        <td>
+          <pre>{{ pin.pin.SessionActive }}</pre>
+        </td>
+      </tr>
+      <tr>
+        <td class="p-2 font-thin">HopDistance</td>
+        <td>
+          <pre>{{ pin.pin.HopDistance }}</pre>
+        </td>
+      </tr>
+      <tr>
+        <td class="p-2 font-thin">Exit Connections</td>
+        <td>
+          <div class="flex flex-row items-center gap-2 cursor-pointer" [routerLink]="['/monitor']"
+            [queryParams]="{q: 'exit_node:' + pin.pin.ID}" (click)="dialogRef?.close()">
+            <pre>{{ exitConnectionCount }}</pre>
+            <svg viewBox="0 0 24 24" class="w-4 h-4" sfng-tooltip="Show exit connections in monitor."
+              *ngIf="exitConnectionCount > 0">
+              <g fill="none" stroke="currentColor">
+                <path shape-rendering="geometricPrecision" stroke-linecap="round" stroke-linejoin="round"
+                  stroke-width="2"
+                  d="M8.464 8.464c-1.953 1.953-1.953 5.118 0 7.071 1.953 1.953 5.118 1.953 7.071 0 1.953-1.953 1.953-5.119 0-7.071C14.559 7.488 13.28 7 12 7" />
+                <path shape-rendering="geometricPrecision" stroke-linecap="round" stroke-linejoin="round"
+                  stroke-width="2"
+                  d="M5.636 5.636c-3.515 3.515-3.515 9.213 0 12.728 3.515 3.515 9.213 3.515 12.728 0 3.515-3.515 3.515-9.213 0-12.728-2.627-2.627-6.474-3.289-9.717-1.989M5.64 5.64L12 12" />
+              </g>
+            </svg>
+          </div>
+        </td>
+      </tr>
+    </table>
+  </sfng-tab>
+
+  <sfng-tab id="routeHome" title="Route" *ngIf="!!pin.pin.Route">
+    <div *sfngTabContent>
+      <sfng-spn-pin-route [route]="pin.pin.Route"></sfng-spn-pin-route>
+    </div>
+  </sfng-tab>
+
+  <sfng-tab id="connectedHubs" title="Connected Nodes">
+    <spn-pin-list *sfngTabContent [pins]="connectedPins" allowHover="false" allowClick="false"></spn-pin-list>
+  </sfng-tab>
+
+</sfng-tab-group>
diff --git a/desktop/angular/src/app/pages/spn/pin-details/pin-details.ts b/desktop/angular/src/app/pages/spn/pin-details/pin-details.ts
new file mode 100644
index 00000000..f7e83fae
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/pin-details/pin-details.ts
@@ -0,0 +1,100 @@
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Input, OnChanges, OnDestroy, OnInit, Optional, SimpleChanges } from '@angular/core';
+import { Netquery } from '@safing/portmaster-api';
+import { SFNG_DIALOG_REF, SfngDialogRef } from '@safing/ui';
+import { Subscription, forkJoin, map, of, switchMap } from 'rxjs';
+import { LaneModel } from '../pin-list/pin-list';
+import { MapPin, MapService } from './../map.service';
+
+@Component({
+  templateUrl: './pin-details.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class PinDetailsComponent implements OnInit, OnChanges, OnDestroy {
+  private subscription = Subscription.EMPTY;
+
+  @Input()
+  mapPinID!: string;
+
+  pin: MapPin | null = null;
+
+  /** Holds all pins this pin has a active connection to */
+  connectedPins: LaneModel[] = [];
+
+  /** The number of connections that exit at this pin */
+  exitConnectionCount: number = 0;
+
+  constructor(
+    private mapService: MapService,
+    private netquery: Netquery,
+    private cdr: ChangeDetectorRef,
+    @Optional() @Inject(SFNG_DIALOG_REF) public dialogRef?: SfngDialogRef<PinDetailsComponent, never, string>,
+  ) { }
+
+  ngOnInit(): void {
+    // if we got opened via a dialog we get the map pin ID from the dialog data.
+    if (!!this.dialogRef) {
+      this.mapPinID = this.dialogRef.data;
+    }
+
+    this.subscription.unsubscribe();
+
+    this.subscription = this.mapService
+      .pins$
+      .pipe(
+        map(pins => {
+          return [pins.find(p => p.pin.ID === this.mapPinID), pins] as [MapPin, MapPin[]];
+        }),
+        switchMap(([pin, allPins]) => forkJoin({
+          pin: of(pin),
+          allPins: of(allPins),
+          exitConnections: this.netquery.query({
+            select: [
+              { $count: { field: '*', as: 'totalCount', } },
+            ],
+            query: {
+              exit_node: pin.pin.ID,
+            },
+            groupBy: ['exit_node']
+          }, 'pin-details-get-connections-per-exit-node')
+        }))
+      )
+      .subscribe((result) => {
+        this.pin = result.pin || null;
+
+        const lm = new Map<string, MapPin>();
+        result.allPins.forEach(pin => lm.set(pin.pin.ID, pin))
+
+        const connectedTo = this.pin?.pin.ConnectedTo || {};
+        this.connectedPins = Object.keys(connectedTo)
+          .map(pinID => {
+            const pin = lm.get(pinID)!;
+            return {
+              ...connectedTo[pinID],
+              mapPin: pin,
+            }
+          });
+
+        if (result.exitConnections.length) {
+          // we expect only one row to be returned for the above query.
+          this.exitConnectionCount = result.exitConnections[0].totalCount;
+        } else {
+          this.exitConnectionCount = 0;
+        }
+
+        this.cdr.markForCheck();
+      })
+  }
+
+  ngOnChanges(changes: SimpleChanges) {
+    // if we got rendered directly (without a dialog) we need to
+    // handle updates to the mapPinID input field by re-loading the
+    // pin details. We do that by simply re-running ngOnInit
+    if (!!changes['mapPinID']) {
+      this.ngOnInit()
+    }
+  }
+
+  ngOnDestroy(): void {
+    this.subscription.unsubscribe();
+  }
+}
diff --git a/desktop/angular/src/app/pages/spn/pin-list/index.ts b/desktop/angular/src/app/pages/spn/pin-list/index.ts
new file mode 100644
index 00000000..e69de29b
diff --git a/desktop/angular/src/app/pages/spn/pin-list/pin-list.html b/desktop/angular/src/app/pages/spn/pin-list/pin-list.html
new file mode 100644
index 00000000..b21077e4
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/pin-list/pin-list.html
@@ -0,0 +1,84 @@
+<table>
+  <thead>
+    <th>Name</th>
+    <th><span class="pl-5">Operator</span></th>
+    <th>Used As</th>
+    <th *ngIf="!!lanes">Latency</th>
+    <th *ngIf="!!lanes">Capacity</th>
+    <th>IPv4</th>
+    <th>IPv6</th>
+    <th *ngIf="allowClick"></th>
+  </thead>
+  <tbody>
+    <tr class="border-l-2 border-transparent" [ngClass]="{'hover:border-l-yellow-300': allowHover}"
+      *ngFor="let pin of pins; trackBy: trackPin" (mouseenter)="pinHover.next(pin.pin.ID)"
+      (mouseleave)="pinHover.next(null)">
+      <td>
+        <spn-node-icon [bySafing]="pin.pin.VerifiedOwner === 'Safing'" [isExit]="pin.isExit" [isActive]="pin.isActive">
+        </spn-node-icon>
+        {{ pin.pin.Name }}
+      </td>
+
+      <td>
+        <div class="flex flex-row items-center gap-1 text-secondary">
+          <svg sfng-tooltip="Verified operator: {{pin.pin.VerifiedOwner}}" *ngIf="!!pin.pin.VerifiedOwner"
+            xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
+            class="inline-block w-4 h-4 -mt-1 text-green-300">
+            <path stroke-linecap="round" stroke-linejoin="round"
+              d="M9 12.75L11.25 15 15 9.75M21 12c0 1.268-.63 2.39-1.593 3.068a3.745 3.745 0 01-1.043 3.296 3.745 3.745 0 01-3.296 1.043A3.745 3.745 0 0112 21c-1.268 0-2.39-.63-3.068-1.593a3.746 3.746 0 01-3.296-1.043 3.745 3.745 0 01-1.043-3.296A3.745 3.745 0 013 12c0-1.268.63-2.39 1.593-3.068a3.745 3.745 0 011.043-3.296 3.746 3.746 0 013.296-1.043A3.746 3.746 0 0112 3c1.268 0 2.39.63 3.068 1.593a3.746 3.746 0 013.296 1.043 3.746 3.746 0 011.043 3.296A3.745 3.745 0 0121 12z" />
+          </svg>
+          <span [ngClass]="{'pl-5': !pin.pin.VerifiedOwner}">
+            {{ pin.pin.VerifiedOwner || 'Community' }}
+          </span>
+        </div>
+      </td>
+
+      <td>
+        <div class="flex flex-row items-center gap-2">
+
+          <!-- Home Node Icon -->
+          <svg sfng-tooltip="Home Node" *ngIf="pin.isHome" xmlns="http://www.w3.org/2000/svg" fill="none"
+            viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-4 h-4 text-blue">
+            <path stroke-linecap="round" stroke-linejoin="round" d="M15 10.5a3 3 0 11-6 0 3 3 0 016 0z" />
+            <path stroke-linecap="round" stroke-linejoin="round"
+              d="M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1115 0z" />
+          </svg>
+
+
+          <!-- Exit Node Icon -->
+          <svg sfng-tooltip="Exit Node" *ngIf="pin.isExit" xmlns="http://www.w3.org/2000/svg" fill="none"
+            viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-4 h-4 text-blue">
+            <path stroke-linecap="round" stroke-linejoin="round"
+              d="M12 16.5V9.75m0 0l3 3m-3-3l-3 3M6.75 19.5a4.5 4.5 0 01-1.41-8.775 5.25 5.25 0 0110.233-2.33 3 3 0 013.758 3.848A3.752 3.752 0 0118 19.5H6.75z" />
+          </svg>
+
+          <!-- Transit Node Icon -->
+          <svg sfng-tooltip="Transit Node" *ngIf="pin.isTransit && !pin.isHome" xmlns="http://www.w3.org/2000/svg"
+            fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-4 h-4 text-blue">
+            <path stroke-linecap="round" stroke-linejoin="round"
+              d="M3.98 8.223A10.477 10.477 0 001.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.45 10.45 0 0112 4.5c4.756 0 8.773 3.162 10.065 7.498a10.523 10.523 0 01-4.293 5.774M6.228 6.228L3 3m3.228 3.228l3.65 3.65m7.894 7.894L21 21m-3.228-3.228l-3.65-3.65m0 0a3 3 0 10-4.243-4.243m4.242 4.242L9.88 9.88" />
+          </svg>
+        </div>
+      </td>
+
+      <ng-container *ngIf="!!lanes && lanes.get(pin.pin.ID) as val">
+        <td>
+          {{ val.Latency / 1000 / 1000 | number:'1.0-2' }} ms
+        </td>
+        <td>
+          {{ val.Capacity / 1000 / 1000 | number:'1.0-2' }} Mbit/s
+        </td>
+      </ng-container>
+
+      <td>{{ pin.pin.EntityV4?.IP || 'N/A' }}</td>
+      <td>{{ pin.pin.EntityV6?.IP || 'N/A' }}</td>
+      <td *ngIf="allowClick">
+        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
+          class="w-4 h-4 cursor-pointer text-secondary hover:text-primary" (click)="pinClick.next(pin.pin.ID)">
+          <path stroke-linecap="round" stroke-linejoin="round"
+            d="M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z" />
+        </svg>
+      </td>
+    </tr>
+  </tbody>
+</table>
diff --git a/desktop/angular/src/app/pages/spn/pin-list/pin-list.ts b/desktop/angular/src/app/pages/spn/pin-list/pin-list.ts
new file mode 100644
index 00000000..6f3eeedf
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/pin-list/pin-list.ts
@@ -0,0 +1,87 @@
+import { coerceBooleanProperty } from '@angular/cdk/coercion';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, TrackByFunction } from '@angular/core';
+import { Lane } from '@safing/portmaster-api';
+import { take } from 'rxjs/operators';
+import { MapPin } from '../map.service';
+import { MapService } from './../map.service';
+
+export interface LaneModel extends Lane {
+  mapPin: MapPin;
+}
+
+@Component({
+  // eslint-disable-next-line @angular-eslint/component-selector
+  selector: 'spn-pin-list',
+  templateUrl: './pin-list.html',
+  changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class SpnPinListComponent {
+  @Input()
+  set allowHover(v: any) {
+    this._allowHover = coerceBooleanProperty(v);
+  }
+  get allowHover() { return this._allowHover }
+  private _allowHover = true;
+
+  @Input()
+  set allowClick(v: any) {
+    this._allowClick = coerceBooleanProperty(v);
+  }
+  get allowClick() { return this._allowClick }
+  private _allowClick = true;
+
+  @Input()
+  set pins(pins: (string | MapPin | LaneModel)[]) {
+    this.mapService
+      .pinsMap$
+      .pipe(take(1))
+      .subscribe(allPins => {
+        this.lanes = null;
+
+        this._pins = (pins || []).map(idOrPin => {
+          if (typeof idOrPin === 'string') {
+            return allPins.get(idOrPin)!;
+          }
+
+          if ('mapPin' in idOrPin) { // LaneModel
+            if (this.lanes === null) {
+              this.lanes = new Map();
+            }
+
+            this.lanes.set(idOrPin.HubID, {
+              Capacity: idOrPin.Capacity,
+              Latency: idOrPin.Latency,
+            })
+
+            return idOrPin.mapPin;
+          }
+
+          return idOrPin; // MapPin
+        })
+
+        this.cdr.markForCheck();
+      })
+  }
+  get pins(): MapPin[] {
+    return this._pins;
+  }
+  private _pins: MapPin[] = [];
+
+  /** If we got LaneModel in @Input() pins than this will contain a map with the capacity/latency */
+  lanes: Map<string, Pick<LaneModel, 'Capacity' | 'Latency'>> | null = null;
+
+  /** Emits the ID of the pin that got hovered, null if the mouse left a pin */
+  @Output()
+  pinHover = new EventEmitter<string | null>();
+
+  @Output()
+  pinClick = new EventEmitter<string>();
+
+  /** @private - A {@link TrackByFunction} for all pins available in this country */
+  trackPin: TrackByFunction<MapPin> = (_: number, pin: MapPin) => pin.pin.ID;
+
+  constructor(
+    private mapService: MapService,
+    private cdr: ChangeDetectorRef
+  ) { }
+}
diff --git a/desktop/angular/src/app/pages/spn/pin-overlay/index.ts b/desktop/angular/src/app/pages/spn/pin-overlay/index.ts
new file mode 100644
index 00000000..620c76d3
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/pin-overlay/index.ts
@@ -0,0 +1 @@
+export * from './pin-overlay';
diff --git a/desktop/angular/src/app/pages/spn/pin-overlay/pin-overlay.html b/desktop/angular/src/app/pages/spn/pin-overlay/pin-overlay.html
new file mode 100644
index 00000000..4bcd2f4c
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/pin-overlay/pin-overlay.html
@@ -0,0 +1,117 @@
+<div *ngIf="showContent" [@moveIn]="{value: ':enter', params: {delay: delay}}"
+  (@moveIn.done)="onAnimationComplete($event)"
+  class="flex flex-col items-start justify-start gap-2 p-2 bg-gray-200 border border-gray-500 border-opacity-50 rounded-sm {{ containerClass }}"
+  cdkDrag (cdkDragReleased)="onDragRelease($event)" (cdkDragStart)="onDragStart()">
+  <div class="flex flex-row items-center justify-start w-full gap-1">
+    <app-menu #pinUseMenu>
+      <app-menu-item (click)="openPinDetails()">Show Details</app-menu-item>
+      <app-menu-item (click)="showExitConnections()">Show exit connections</app-menu-item>
+      <app-menu-item (click)="copyNodeID()">Copy Node ID</app-menu-item>
+    </app-menu>
+    <app-menu-trigger class="mr-0 -ml-2" useContent="true" [menu]="pinUseMenu">
+      <span class="flex flex-row items-center gap-1 -ml-2 -mr-2">
+        <span [appCountryFlags]="mapPin.entity.Country"></span>
+        <span>{{ mapPin.pin.Name }}</span>
+
+        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4">
+          <path fill-rule="evenodd"
+            d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z"
+            clip-rule="evenodd" />
+        </svg>
+      </span>
+    </app-menu-trigger>
+
+    <span class="flex-grow">
+      <!-- flexible padding -->
+    </span>
+
+    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
+      class="w-4 h-4 opacity-75 hover:opacity-100" cdkDragHandle (dblclick)="onDragDblClick()">
+      <path stroke-linecap="round" stroke-linejoin="round"
+        d="M3.75 3.75v4.5m0-4.5h4.5m-4.5 0L9 9M3.75 20.25v-4.5m0 4.5h4.5m-4.5 0L9 15M20.25 3.75h-4.5m4.5 0v4.5m0-4.5L15 9m5.25 11.25h-4.5m4.5 0v-4.5m0 4.5L15 15" />
+    </svg>
+
+    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"
+      class="w-4 h-4 ml-2 opacity-75 cursor-pointer hover:opacity-100" (click)="disposeOverlay()">
+      <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"></path>
+    </svg>
+  </div>
+  <div class="space-x-2">
+    <span class="inline-block w-12 font-thin text-secondary">IPv4</span>
+    <span>{{ mapPin.pin.EntityV4?.IP  || 'N/A' }}</span>
+  </div>
+  <div class="space-x-2">
+    <span class="inline-block w-12 font-thin text-secondary">IPv6</span>
+    <span>{{ mapPin.pin.EntityV6?.IP  || 'N/A' }}</span>
+  </div>
+  <div class="flex flex-row items-center gap-2">
+    <span class="inline-block w-12 font-thin text-secondary">Run By</span>
+
+    <span class="inline-flex flex-row items-center gap-1">
+      <svg *ngIf="!!mapPin.pin.VerifiedOwner" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
+        stroke-width="1.5" stroke="currentColor" class="inline-block w-4 h-4 -mt-1 text-green-300">
+        <path stroke-linecap="round" stroke-linejoin="round"
+          d="M9 12.75L11.25 15 15 9.75M21 12c0 1.268-.63 2.39-1.593 3.068a3.745 3.745 0 01-1.043 3.296 3.745 3.745 0 01-3.296 1.043A3.745 3.745 0 0112 21c-1.268 0-2.39-.63-3.068-1.593a3.746 3.746 0 01-3.296-1.043 3.745 3.745 0 01-1.043-3.296A3.745 3.745 0 013 12c0-1.268.63-2.39 1.593-3.068a3.745 3.745 0 011.043-3.296 3.746 3.746 0 013.296-1.043A3.746 3.746 0 0112 3c1.268 0 2.39.63 3.068 1.593a3.746 3.746 0 013.296 1.043 3.746 3.746 0 011.043 3.296A3.745 3.745 0 0121 12z" />
+      </svg>
+
+      <span>{{ mapPin.pin.VerifiedOwner || 'Community' }}</span>
+    </span>
+  </div>
+  <div class="flex flex-row items-start w-full gap-2 " *ngIf="mapPin.isExit || mapPin.isHome || mapPin.isTransit">
+    <span class="inline-block w-12 font-thin text-secondary">Used As</span>
+
+    <div class="inline-flex flex-col flex-grow gap-1">
+      <span class="flex flex-row items-center w-full gap-1" *ngIf="mapPin.isHome">
+        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
+          class="w-4 h-4 text-blue">
+          <path stroke-linecap="round" stroke-linejoin="round" d="M15 10.5a3 3 0 11-6 0 3 3 0 016 0z" />
+          <path stroke-linecap="round" stroke-linejoin="round"
+            d="M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1115 0z" />
+        </svg>
+
+        <span class="flex-grow">Home Node</span>
+        <ng-container
+          *ngTemplateOutlet="helpText; context: {$implicit: 'This node does not know the destinations of you connections but may know where you are'}">
+        </ng-container>
+      </span>
+
+      <span class="flex flex-row items-center w-full gap-1" *ngIf="mapPin.isExit">
+        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
+          class="w-4 h-4 text-blue">
+          <path stroke-linecap="round" stroke-linejoin="round"
+            d="M12 16.5V9.75m0 0l3 3m-3-3l-3 3M6.75 19.5a4.5 4.5 0 01-1.41-8.775 5.25 5.25 0 0110.233-2.33 3 3 0 013.758 3.848A3.752 3.752 0 0118 19.5H6.75z" />
+        </svg>
+
+        <span class="flex-grow">Exit Node</span>
+        <ng-container
+          *ngTemplateOutlet="helpText; context: {$implicit: 'This node does not know who you are but knows the destination of connections for which it is used as an exit node'}">
+        </ng-container>
+      </span>
+
+      <span class="flex flex-row items-center w-full gap-1" *ngIf="mapPin.isTransit && !mapPin.isHome">
+        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
+          class="w-4 h-4 text-blue">
+          <path stroke-linecap="round" stroke-linejoin="round"
+            d="M3.98 8.223A10.477 10.477 0 001.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.45 10.45 0 0112 4.5c4.756 0 8.773 3.162 10.065 7.498a10.523 10.523 0 01-4.293 5.774M6.228 6.228L3 3m3.228 3.228l3.65 3.65m7.894 7.894L21 21m-3.228-3.228l-3.65-3.65m0 0a3 3 0 10-4.243-4.243m4.242 4.242L9.88 9.88" />
+        </svg>
+
+        <span class="flex-grow">Transit Node</span>
+        <ng-container
+          *ngTemplateOutlet="helpText; context: {$implicit: 'This node does not know who you are and where you are connecting to'}">
+        </ng-container>
+      </span>
+
+    </div>
+  </div>
+</div>
+
+<ng-template #helpText let-data>
+  <svg viewBox="0 0 24 24" [sfng-tooltip]="data" class="w-4 h-4 text-tertiary">
+    <g fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5">
+      <path stroke="#ffff" shape-rendering="geometricPrecision"
+        d="M12 21v0c-4.971 0-9-4.029-9-9v0c0-4.971 4.029-9 9-9v0c4.971 0 9 4.029 9 9v0c0 4.971-4.029 9-9 9z" />
+      <path stroke="#ffff" shape-rendering="geometricPrecision"
+        d="M12 17v-5h-1M11.749 8c-.138 0-.25.112-.249.25 0 .138.112.25.25.25s.25-.112.25-.25-.112-.25-.251-.25" />
+    </g>
+  </svg>
+</ng-template>
diff --git a/desktop/angular/src/app/pages/spn/pin-overlay/pin-overlay.scss b/desktop/angular/src/app/pages/spn/pin-overlay/pin-overlay.scss
new file mode 100644
index 00000000..68c4ea1f
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/pin-overlay/pin-overlay.scss
@@ -0,0 +1,4 @@
+:host {
+  min-width: 220px;
+  display: block;
+}
diff --git a/desktop/angular/src/app/pages/spn/pin-overlay/pin-overlay.ts b/desktop/angular/src/app/pages/spn/pin-overlay/pin-overlay.ts
new file mode 100644
index 00000000..00122703
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/pin-overlay/pin-overlay.ts
@@ -0,0 +1,190 @@
+import { AnimationEvent, animate, keyframes, style, transition, trigger } from '@angular/animations';
+import { CdkDrag, CdkDragHandle, CdkDragRelease } from '@angular/cdk/drag-drop';
+import { Overlay, OverlayRef, PositionStrategy } from '@angular/cdk/overlay';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostListener, Inject, Input, OnInit, Output, ViewChild, inject } from '@angular/core';
+import { Router } from '@angular/router';
+import { SfngDialogService } from '@safing/ui';
+import { PinDetailsComponent } from '../pin-details';
+import { MapOverlay, Path } from '../spn-page';
+import { ActionIndicatorService } from './../../../shared/action-indicator/action-indicator.service';
+import { MapPin } from './../map.service';
+import { OVERLAY_REF } from './../utils';
+import { INTEGRATION_SERVICE } from 'src/app/integration';
+
+export interface PinOverlayHoverEvent {
+  type: 'enter' | 'leave';
+  pinID: string;
+}
+
+@Component({
+  templateUrl: './pin-overlay.html',
+  styleUrls: [
+    './pin-overlay.scss'
+  ],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  animations: [
+    trigger('moveIn', [
+      transition(':enter', [
+        style({ transform: 'scale(0)', transformOrigin: 'top left' }),
+        animate('200ms {{ delay }}ms cubic-bezier(0, 0, 0.2, 1)',
+          keyframes([
+            style({ transform: 'scaleX(1) scaleY(0.1)', transformOrigin: 'top left', offset: 0.3 }),
+            style({ transform: 'scaleX(1) scaleY(1)', transformOrigin: 'top left', offset: 0.8 }),
+          ])
+        )
+      ], { params: { delay: "0" } }),
+      transition(':leave', [
+        style({ transform: 'scale(1)', opacity: 1, transformOrigin: 'top left' }),
+        animate('500ms cubic-bezier(0, 0, 0.2, 1)',
+          keyframes([
+            style({ transform: 'scaleX(1) scaleY(0.1)', opacity: 0.5, transformOrigin: 'top left', offset: 0.3 }),
+            style({ transform: 'scaleX(0) scaleY(0)', opacity: 0, transformOrigin: 'top left', offset: 0.8 }),
+          ])
+        )
+      ])
+    ])
+  ]
+})
+export class PinOverlayComponent implements OnInit {
+  private readonly integration = inject(INTEGRATION_SERVICE);
+
+  @Input()
+  mapPin!: MapPin;
+
+  @Input()
+  routeHome?: Path;
+
+  @Input()
+  additionalPaths?: Path[] = [];
+
+  @Input()
+  delay: number = 0;
+
+  @Output()
+  afterDispose = new EventEmitter<string>();
+
+  @Output()
+  overlayHover = new EventEmitter<PinOverlayHoverEvent>();
+
+  @ViewChild(CdkDrag)
+  dragContainer!: CdkDrag;
+
+  @ViewChild(CdkDragHandle)
+  dragHandle!: CdkDragHandle;
+
+  showContent = false;
+
+  /** Indicates whether or not the pin overlay has been moved by the user */
+  hasBeenMoved = false;
+
+  private oldPositionStrategy?: PositionStrategy;
+
+  @HostListener('mouseenter')
+  onHostElementMouseEnter(event: MouseEvent) {
+    this.overlayHover.next({
+      type: 'enter',
+      pinID: this.mapPin.pin.ID
+    })
+
+    this.containerClass = '';
+  }
+
+  @HostListener('mouseleave')
+  onHostElementMouseLeave(event: MouseEvent) {
+    this.overlayHover.next({
+      type: 'leave',
+      pinID: this.mapPin.pin.ID
+    })
+
+    this.containerClass = 'bg-opacity-90'
+  }
+
+  /** on double-click, restore the old pin overlay position (before being initialy dragged by the user) */
+  onDragDblClick() {
+    if (!!this.oldPositionStrategy) {
+      this.overlayRef.updatePositionStrategy(this.oldPositionStrategy);
+      this.overlayRef.updatePosition();
+      this.hasBeenMoved = false;
+    }
+  }
+
+  onDragStart() {
+    this.containerClass = 'outline'
+  }
+
+  openPinDetails() {
+    this.dialog.create(PinDetailsComponent, {
+      data: this.mapPin.pin.ID,
+      autoclose: true,
+      backdrop: false,
+      dragable: true,
+    })
+  }
+
+  onDragRelease(event: CdkDragRelease) {
+    if (!this.dragContainer || !this.overlayRef.hostElement || !this.overlayRef.hostElement.parentElement) {
+      return;
+    }
+
+    const bbox = this.dragContainer.element.nativeElement.getBoundingClientRect();
+    const parent = this.overlayRef.hostElement.parentElement!.getBoundingClientRect();
+
+    if (!this.oldPositionStrategy) {
+      this.oldPositionStrategy = this.overlayRef.getConfig().positionStrategy;
+    }
+
+    this.containerClass = '';
+
+    this.dragContainer.reset()
+
+    this.overlayRef.updatePositionStrategy(
+      this.overlay.position()
+        .global()
+        .top((bbox.top - parent.top) + 'px')
+        .left((bbox.left - parent.left) + 'px')
+    );
+
+    this.hasBeenMoved = true;
+  }
+
+  onAnimationComplete(event: AnimationEvent) {
+    if (event.toState === 'void') {
+      this.afterDispose.next(this.mapPin.pin.ID)
+      this.overlayRef.dispose();
+    }
+  }
+
+  containerClass = '';
+
+  constructor(
+    @Inject(OVERLAY_REF) public readonly overlayRef: OverlayRef,
+    @Inject(MapOverlay) public overlay: Overlay,
+    private dialog: SfngDialogService,
+    private actionIndicator: ActionIndicatorService,
+    private router: Router,
+    private cdr: ChangeDetectorRef,
+  ) { }
+
+  ngOnInit(): void {
+    this.showContent = true;
+    this.cdr.markForCheck();
+  }
+
+  disposeOverlay() {
+    this.showContent = false;
+    this.cdr.markForCheck();
+  }
+
+  showExitConnections() {
+    this.router.navigate(['/monitor'], {
+      queryParams: {
+        q: 'exit_node:' + this.mapPin.pin.ID
+      }
+    })
+  }
+
+  async copyNodeID() {
+    await this.integration.writeToClipboard(this.mapPin?.pin.ID)
+    this.actionIndicator.success("Copied to Clipboard")
+  }
+}
diff --git a/desktop/angular/src/app/pages/spn/pin-route/index.ts b/desktop/angular/src/app/pages/spn/pin-route/index.ts
new file mode 100644
index 00000000..f97ea758
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/pin-route/index.ts
@@ -0,0 +1 @@
+export * from './pin-route';
diff --git a/desktop/angular/src/app/pages/spn/pin-route/pin-route.html b/desktop/angular/src/app/pages/spn/pin-route/pin-route.html
new file mode 100644
index 00000000..1927c5cd
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/pin-route/pin-route.html
@@ -0,0 +1,53 @@
+<span class="tunnel-path">
+  <div class="line">
+    <!--<span class="arrow"></span>-->
+  </div>
+  <ul>
+    <li>
+      <span class="hop-icon">
+        <fa-icon far icon="dot-circle"></fa-icon>
+      </span>
+      <span class="hop-title text-tertiary">
+        Your Device
+      </span>
+    </li>
+
+    <li *ngFor="let node of route; let first=first; let last=last">
+      <span *ngIf="node.entity.Country as country; else: noCountry" class="country" [appCountryFlags]="country"></span>
+      <ng-template #noCountry>
+        <!-- TODO: use hop icon instead if unknown -->
+        <span class="country unknown"></span>
+      </ng-template>
+      <span>{{ node.entity.Country || 'No Location' }}</span>
+      <span class="ip text-tertiary">{{ node.entity.IP || ''
+        }}</span>
+      <span class="node-tag" *ngIf="first">Home</span>
+      <span class="node-tag" *ngIf="last">Exit</span>
+      <span *appExpertiseLevel="'expert'" class="text-tertiary"><br />{{ node.pin.Name }}
+
+        <span class="ml-2">
+          by
+          <spn-node-icon [bySafing]="node.pin.VerifiedOwner === 'Safing'" isActive="true" isExit="last"></spn-node-icon>
+          {{ node.pin.VerifiedOwner || 'Community' }}
+        </span>
+      </span>
+
+      <span *appExpertiseLevel="'expert'" class="text-tertiary"><br />AS{{ node.entity.ASN }} - {{ node.entity.ASOrg ||
+          'AS Organization not in DB'
+          }}</span>
+
+      <span *appExpertiseLevel="'developer'" class="text-tertiary"><br />{{ node.pin.ID }}</span>
+    </li>
+
+    <li>
+      <span class="hop-icon">
+        <fa-icon far icon="dot-circle"></fa-icon>
+        <!-- TODO: use destination country flag instead if known -->
+      </span>
+      <span class="hop-title text-tertiary">
+        Destination
+      </span>
+      <!-- TODO: add destination details? (Would be duplicate information from above.) -->
+    </li>
+  </ul>
+</span>
diff --git a/desktop/angular/src/app/pages/spn/pin-route/pin-route.scss b/desktop/angular/src/app/pages/spn/pin-route/pin-route.scss
new file mode 100644
index 00000000..2c66a8ee
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/pin-route/pin-route.scss
@@ -0,0 +1,67 @@
+.tunnel-path {
+  position: relative;
+
+  .line {
+    position: absolute;
+    top: 10px;
+    bottom: 10px;
+    left: 8px;
+    width: 1px;
+    background-color: rgba(255, 255, 255, 0.1);
+  }
+
+  .node-tag {
+    border-radius: 1px solid rgba(255, 255, 255, 0.2);
+    background-color: rgba(255, 255, 255, 0.1);
+    padding: 2px;
+    font-size: 85%;
+    border-radius: 2px;
+    transform: scale(0.85);
+    display: inline-block;
+  }
+
+  ul {
+    position: relative;
+    padding-left: 20px;
+
+    li:not(:last-of-type) {
+      padding-bottom: 0.35rem;
+    }
+
+    .ip {
+      margin-left: 0.35rem;
+    }
+
+    .hop-icon {
+      display: inline-block;
+      margin-left: -17px;
+      margin-right: 4px;
+      font-weight: 400;
+
+      &.country {
+        margin-left: -20px;
+      }
+    }
+
+    .hop-title {
+      margin-right: 2px;
+    }
+
+    .country {
+      display: inline-block;
+      margin-left: -20px;
+      margin-right: 4px;
+
+      &.unknown {
+        height: 14px;
+        width: 16px;
+        position: relative;
+        top: 3px;
+        border: 1px solid rgba(0, 0, 0, 0.25);
+        opacity: 0.5;
+        border-radius: 3px;
+        @apply bg-buttons-icon;
+      }
+    }
+  }
+}
diff --git a/desktop/angular/src/app/pages/spn/pin-route/pin-route.ts b/desktop/angular/src/app/pages/spn/pin-route/pin-route.ts
new file mode 100644
index 00000000..d862619d
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/pin-route/pin-route.ts
@@ -0,0 +1,46 @@
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from "@angular/core";
+import { TunnelNode } from "@safing/portmaster-api";
+import { take } from 'rxjs';
+import { MapPin, MapService } from './../map.service';
+
+@Component({
+  // eslint-disable-next-line @angular-eslint/component-selector
+  selector: 'sfng-spn-pin-route',
+  templateUrl: './pin-route.html',
+  styleUrls: ['./pin-route.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class SpnPinRouteComponent {
+  @Input()
+  set route(path: (string | MapPin | TunnelNode)[] | null) {
+    this.mapService
+      .pinsMap$
+      .pipe(
+        take(1),
+      )
+      .subscribe(lm => {
+        this._route = (path || []).map(idOrPin => {
+          if (typeof idOrPin === 'string') {
+            return lm.get(idOrPin)!;
+          }
+
+          if ('ID' in idOrPin) { // TunnelNode
+            return lm.get(idOrPin.ID)!
+          }
+
+          return idOrPin;
+        });
+
+        this.cdr.markForCheck();
+      })
+  }
+  get route(): MapPin[] {
+    return this._route
+  }
+  private _route: MapPin[] = [];
+
+  constructor(
+    private mapService: MapService,
+    private cdr: ChangeDetectorRef,
+  ) { }
+}
diff --git a/desktop/angular/src/app/pages/spn/spn-feature-carousel/index.ts b/desktop/angular/src/app/pages/spn/spn-feature-carousel/index.ts
new file mode 100644
index 00000000..d07cc9e1
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/spn-feature-carousel/index.ts
@@ -0,0 +1 @@
+export * from './spn-feature-carousel';
diff --git a/desktop/angular/src/app/pages/spn/spn-feature-carousel/spn-feature-carousel.html b/desktop/angular/src/app/pages/spn/spn-feature-carousel/spn-feature-carousel.html
new file mode 100644
index 00000000..b73683f4
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/spn-feature-carousel/spn-feature-carousel.html
@@ -0,0 +1,274 @@
+<div class="flex flex-row items-center self-stretch gap-2">
+  <svg (click)="showPrev()" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5"
+    stroke="currentColor"
+    class="flex-shrink-0 w-8 h-8 text-opacity-50 cursor-pointer text-background hover:text-background">
+    <path stroke-linecap="round" stroke-linejoin="round" d="M15.75 19.5L8.25 12l7.5-7.5" />
+  </svg>
+
+  <sfng-tab-group #tabs customHeader="true" outletClass="overflow-visible" class="flex-grow">
+    <sfng-tab>
+      <section *sfngTabContent>
+        <div>
+          <h1>Get
+            Multiple Identities for Each App</h1>
+          <span>
+            Automatically get a vast amount of identities (IP addresses). The SPN calculates an individual path for
+            every
+            connection through the privacy network. Spread your connections across the globe, without any effort.
+          </span>
+        </div>
+        <img src="/assets/img/spn-feature-carousel/multiple-identities-for-each-app.png">
+      </section>
+    </sfng-tab>
+
+    <!-- <sfng-tab>
+      <section *sfngTabContent class="reverse">
+        <div>
+          <h1>Simply Access Regional Content</h1>
+          <span>
+            Is a website blocked or restricted in your country? Because SPN makes that connection exit near the
+            destination server, it will automatically unblock the content. SPN has best coverage in Europe and North
+            America.
+          </span>
+        </div>
+        <img src="/assets/img/spn-feature-carousel/access-regional-content-easily.png">
+      </section>
+    </sfng-tab> -->
+
+    <sfng-tab>
+      <section *sfngTabContent>
+        <div>
+          <h1>Easily Adjust <span class="text-blue">Your Privacy</span></h1>
+          <span>
+            SPN just works and does the heavy lifting for you. But of course you can easily configure the settings, so
+            it fits your needs: Exclude certain apps and domains from the SPN. Or never exit in specific countries. And
+            so much more...
+          </span>
+        </div>
+        <img src="/assets/img/spn-feature-carousel/easily-control-your-privacy.png">
+      </section>
+    </sfng-tab>
+
+    <sfng-tab>
+      <section *sfngTabContent class="reverse">
+        <div>
+          <h1>Built from Scratch, for <span class="text-blue">Your Privacy</span></h1>
+          <span>
+            SPN is built from the ground up. Privacy is cooked right into it. Inspired by Tor, it comes with onion
+            routing and state of the art encryption. Fully open source so all our claims can be validated.
+          </span>
+        </div>
+        <img class="-top-16" src="/assets/img/spn-feature-carousel/built-from-the-ground-up.png">
+      </section>
+    </sfng-tab>
+
+    <sfng-tab>
+      <section *sfngTabContent>
+        <div>
+          <h1>Bye Bye, VPNs</h1>
+          <span>
+            VPN technology was NOT built for user privacy, but for company security. Because of that, you can only trust
+            a VPN provider's policy - and many have been caught abusing user data. Honestly, the best way forward: just
+            stop paying for outdated technology.
+          </span>
+        </div>
+        <img src="/assets/img/spn-feature-carousel/bye-bye-vpns.png">
+      </section>
+    </sfng-tab>
+
+    <sfng-tab>
+
+      <ng-template #tmplYes>
+        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
+          class="inline-block w-6 h-6 text-green-200">
+          <path stroke-linecap="round" stroke-linejoin="round"
+            d="M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
+        </svg>
+      </ng-template>
+
+      <ng-template #tmplNo>
+        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
+          class="inline-block w-6 h-6 text-red-200">
+          <path stroke-linecap="round" stroke-linejoin="round"
+            d="M9.75 9.75l4.5 4.5m0-4.5l-4.5 4.5M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
+        </svg>
+      </ng-template>
+
+      <ng-template #windows>
+        <svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 89.33 88.6" fill="currentColor"
+          class="w-5 h-5 text-blue">
+          <path
+            d="m0 11.4 35.69-4.86V41L0 41.17Zm35.67 35.53v34.45L0 76.48V46.7ZM42 5.91 89.31 0v40.53L42 40.9Zm47.33 41.34v41.34L42 81.92l-.07-34.74Z" />
+        </svg>
+      </ng-template>
+
+      <ng-template #linux>
+        <svg xmlns="http://www.w4.org/2000/svg" xml:space="preserve" viewBox="0 0 24 24"
+          class="w-5 h-5 text-background">
+          <path
+            d="M20.6 19c-.5-.4-.3-1.4-.9-1.9.6-3.4-1-6.3-2.8-8.2-1.6-1.6-1.1-3.1-1.1-4.5 0-2.1-.9-4.4-3.6-4.4-2.8 0-3.6 2.4-3.6 3.7-.1 3.3.6 4.1-1.3 6.5-2.2 2.8-2.6 5.6-2.1 7.1-.3.4-.7.7-1.2.8-1.7.7-.4 1.9-.9 2.8 0 .2-.1.5-.1.7 0 .8.6 1.4 1.7 1.3 1.5-.1 2.8.9 3.7.9.8 0 1.4-.4 1.7-1 1.4-.3 3.1-.3 4.5.1.2.7.9 1.1 1.7 1.1 1.6 0 1.9-1.8 3.8-2.5.7-.2 1-.9 1-1.5-.1-.4-.2-.7-.5-1zM11.4 8.6c-.3 0-.6-.3-1-.6-.5-.4-1-.6-1-1 0-.3.4-.4.9-.7.5-.3.7-.7 1.2-.7s.7.3 1.4.6 1.2.4 1.2.8-.7.6-1.2.9c-.6.3-.9.7-1.5.7zm1.7-5.2c.9.1 1 1.7.6 2.5l-.4-.1c.2-.5.2-1.4-.4-1.5-.4 0-.6.5-.7.9-.2-.2-.4-.2-.6-.2.1-.9.7-1.8 1.5-1.6zm-3.4.3c.7-.2 1.1.6 1.1 1.4l-.3.2c0-.3-.2-.9-.6-.8-.4.2-.4 1.1-.1 1.3l-.3.2c-.5-.7-.5-2.1.2-2.3zM7.6 22.9c-2-.9-2.6-.7-3-.7-.8 0-1-.6-.7-1.1.2-.5.2-1 .1-1.3-.1-.6-.1-.8.5-1.1.8-.3 1.2-.8 1.4-1.1.8-.9 1.5.5 2.1 1.9.4.9 1.2 1.3 1.5 2.2.2.9-.7 1.8-1.9 1.2zm7-1.8c-1.4.7-3.1 1-4.5.3-.2-.6-.5-.9-.8-1.3.5-.1.9-.8.5-1.5-.5-.7-1.6-1.2-2.6-2s-1.3-2.6 0-4.7c-.7 1.9-.3 3.6.1 4.1.1-1 .1-2.6 1.5-4.6.7-1 .7-2.3.7-3.1l.5.2c.5.3.8.7 1.4.7.8 0 1.3-.5 1.9-.9.2-.1.6-.3.9-.5.5 2.5 2.7 5.5 2.8 7.2.5-1-.1-3.5-.1-3.5.8 1.3.9 2.4.9 3.7.6.2 1.2.9 1.3 1.7h-.2c-.1-.9-2.6-2.3-2.8-.5-1.2.2-.8 2.1-1 3.3-.2.5-.4.9-.5 1.4zm4.8-.1c-1 .4-1.6 1.2-2.1 1.7-.9 1-2 .5-2.2-.4-.1-1 .4-1.5.6-2.6.2-1 0-2.5.4-2.7.3 1.8 2.1 1 2.5.5.7 0 .7.2.9.8.1.4.2.7.6 1.1.4.6.2 1.3-.7 1.6zm-8-13c-.7 0-1.1-.4-1.5-.8-.2-.2.1-.5.3-.3.4.3.8.7 1.3.7.6 0 1.1-.5 1.9-.8.2-.1.4.3.1.4-.8.3-1.3.8-2.1.8z" />
+        </svg>
+      </ng-template>
+
+      <ng-template #mac>
+        <svg xmlns="http://www.w3.org/2000/svg" class="w-5 h-5 text-gray-500" viewBox="0 0 1000 1187.198">
+          <path fill="currentColor"
+            d="M979.04184 925.18785c-17.95397 41.47737-39.20563 79.65705-63.82824 114.75895-33.56298 47.8528-61.04356 80.9761-82.22194 99.3698-32.83013 30.192-68.00529 45.6544-105.67203 46.5338-27.04089 0-59.6512-7.6946-97.61105-23.3035-38.08442-15.5358-73.08371-23.2303-105.08578-23.2303-33.56296 0-69.55888 7.6945-108.06101 23.2303-38.5608 15.6089-69.62484 23.7432-93.37541 24.5493-36.12049 1.5389-72.1237-14.3632-108.06101-47.7796-22.93711-20.0059-51.62684-54.3017-85.99592-102.8874-36.875274-51.88328-67.191862-112.04745-90.942422-180.639C12.750995 781.70252 0 709.95986 0 640.50361c0-79.5618 17.191859-148.18267 51.626869-205.68673 27.062885-46.18935 63.066121-82.62496 108.126941-109.37275 45.06086-26.74775 93.74914-40.37812 146.18212-41.25019 28.68971 0 66.3125 8.8744 113.06613 26.31542 46.62174 17.49964 76.55727 26.37404 89.68198 26.37404 9.8124 0 43.06758-10.37669 99.4431-31.06405 53.31237-19.18512 98.30724-27.12887 135.16787-23.99975 99.8828 8.06098 174.92313 47.43518 224.82789 118.37174-89.33023 54.12578-133.51903 129.93556-132.63966 227.18753.8061 75.75115 28.28668 138.78795 82.2952 188.8393 24.47603 23.23022 51.81008 41.18421 82.22186 53.93522-6.59525 19.12648-13.557 37.44688-20.95846 55.03446zM749.96366 23.751237c0 59.37343-21.69138 114.810233-64.92748 166.121963-52.17652 60.99961-115.28658 96.24803-183.72426 90.68597-.87204-7.12298-1.37769-14.61967-1.37769-22.49743 0-56.99843 24.81315-117.99801 68.87738-167.873453 21.99909-25.25281 49.978-46.25018 83.90738-63.00018 33.85608-16.50008 65.88014-25.6249796 95.99884-27.18757966.87944 7.93730006 1.24583 15.87509966 1.24583 23.74993966z" />
+        </svg>
+      </ng-template>
+
+      <ng-template #mobile>
+        <svg class="w-5 h-5" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"
+          xmlns:xlink="http://www.w3.org/1999/xlink">
+          <g fill="none">
+            <path d="M0,0h24v24h-24Z"></path>
+            <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M3,12v6">
+            </path>
+            <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M21,6v6">
+            </path>
+            <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"
+              d="M10.88,17.5h2.24"></path>
+            <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"
+              d="M9,4h6c1.105,0 2,0.895 2,2v12c0,1.105 -0.895,2 -2,2h-6c-1.105,0 -2,-0.895 -2,-2v-12c0,-1.105 0.895,-2 2,-2Z">
+            </path>
+          </g>
+        </svg>
+      </ng-template>
+
+      <section *sfngTabContent>
+        <table class="custom">
+          <colgroup>
+            <col class="w-fit">
+            <col class="w-40">
+            <col class="w-40 bg-gray bg-opacity-20">
+            <col class="w-40">
+          </colgroup>
+          <thead>
+            <tr>
+              <th></th>
+              <th>
+                <a href="https://safing.io/blog/2022/09/06/spn-vs-vpns/?source=Portmaster">
+                  Most VPNs
+                  <br>
+                  <span class="text-xs underline text-blue">Read Comparison Blog</span>
+                </a>
+              </th>
+              <th>SPN</th>
+              <th>Tor</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td>Multiple Identities (simultaneous)</td>
+              <td>
+                <ng-container *ngTemplateOutlet="tmplNo"></ng-container>
+              </td>
+              <td>
+                <ng-container *ngTemplateOutlet="tmplYes"></ng-container>
+              </td>
+              <td>
+                <ng-container *ngTemplateOutlet="tmplYes"></ng-container>
+              </td>
+            </tr>
+            <!-- <tr>
+              <td>Automatic Geo-Unblocking</td>
+              <td>
+                <ng-container *ngTemplateOutlet="tmplNo"></ng-container>
+              </td>
+              <td>
+                <ng-container *ngTemplateOutlet="tmplYes"></ng-container>
+              </td>
+              <td>
+                <ng-container *ngTemplateOutlet="tmplNo"></ng-container>
+              </td>
+            </tr> -->
+            <tr>
+              <td>Individual Apps Settings</td>
+              <td>
+                <ng-container *ngTemplateOutlet="tmplNo"></ng-container>
+              </td>
+              <td>
+                <ng-container *ngTemplateOutlet="tmplYes"></ng-container>
+              </td>
+              <td>
+                <ng-container *ngTemplateOutlet="tmplNo"></ng-container>
+              </td>
+            </tr>
+            <tr>
+              <td>Easy Setup</td>
+              <td>
+                <ng-container *ngTemplateOutlet="tmplYes"></ng-container>
+              </td>
+              <td>
+                <ng-container *ngTemplateOutlet="tmplYes"></ng-container>
+              </td>
+              <td><strong>Browser Only</strong></td>
+            </tr>
+            <tr>
+              <td>Availabilty</td>
+              <td>
+                <div class="flex flex-row items-center justify-center gap-2">
+                  <ng-container *ngTemplateOutlet="windows"></ng-container>
+                  <ng-container *ngTemplateOutlet="linux"></ng-container>
+                  <ng-container *ngTemplateOutlet="mac"></ng-container>
+                  <ng-container *ngTemplateOutlet="mobile"></ng-container>
+                </div>
+              </td>
+              <td>
+                <div class="flex flex-row items-center justify-center gap-2">
+                  <ng-container *ngTemplateOutlet="windows"></ng-container>
+                  <ng-container *ngTemplateOutlet="linux"></ng-container>
+                </div>
+              </td>
+              <td>
+                <div class="flex flex-row items-center justify-center gap-2">
+                  <ng-container *ngTemplateOutlet="windows"></ng-container>
+                  <ng-container *ngTemplateOutlet="linux"></ng-container>
+                  <ng-container *ngTemplateOutlet="mac"></ng-container>
+                  <ng-container *ngTemplateOutlet="mobile"></ng-container>
+                </div>
+              </td>
+            </tr>
+            <tr>
+              <td>Open Source</td>
+              <td>
+                <ng-container *ngTemplateOutlet="tmplNo"></ng-container>
+              </td>
+              <td>
+                <ng-container *ngTemplateOutlet="tmplYes"></ng-container>
+              </td>
+              <td>
+                <ng-container *ngTemplateOutlet="tmplYes"></ng-container>
+              </td>
+            </tr>
+            <tr>
+              <td>Built for Privacy</td>
+              <td>
+                <ng-container *ngTemplateOutlet="tmplNo"></ng-container>
+              </td>
+              <td>
+                <ng-container *ngTemplateOutlet="tmplYes"></ng-container>
+              </td>
+              <td>
+                <ng-container *ngTemplateOutlet="tmplYes"></ng-container>
+              </td>
+            </tr>
+          </tbody>
+        </table>
+      </section>
+    </sfng-tab>
+  </sfng-tab-group>
+
+  <svg (click)="showNext()" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5"
+    stroke="currentColor"
+    class="flex-shrink-0 w-8 h-8 text-opacity-50 cursor-pointer text-background hover:text-background">
+    <path stroke-linecap="round" stroke-linejoin="round" d="M8.25 4.5l7.5 7.5-7.5 7.5" />
+  </svg>
+
+</div>
+
+<div class="absolute bottom-0 left-0 right-0 flex flex-row items-center justify-center gap-2">
+  <span *ngFor="let dot of carousel; let index=index"
+    class="block w-3 h-3 transition-all duration-150 ease-in-out bg-opacity-50 rounded-full cursor-pointer bg-background"
+    [class.bg-blue]="currentIndex === index" (click)="openTab(index)"></span>
+</div>
diff --git a/desktop/angular/src/app/pages/spn/spn-feature-carousel/spn-feature-carousel.scss b/desktop/angular/src/app/pages/spn/spn-feature-carousel/spn-feature-carousel.scss
new file mode 100644
index 00000000..7ffa92a2
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/spn-feature-carousel/spn-feature-carousel.scss
@@ -0,0 +1,62 @@
+:host {
+  @apply flex flex-col gap-2 justify-center items-center relative;
+}
+
+section {
+  @apply flex flex-row items-start gap-4 justify-evenly text-background;
+
+  &.reverse {
+    @apply flex-row-reverse
+  }
+
+  &>div {
+    @apply flex flex-col w-1/3 gap-6;
+
+    span {
+      @apply text-base break-normal text-background text-opacity-80;
+    }
+
+    h1,
+    h1>span {
+      @apply text-2xl font-semibold break-normal md:text-3xl lg:text-4xl xl:text-5xl text-background;
+
+    }
+
+    h1>span {
+      &.text-blue {
+        color: theme('colors.blue.DEFAULT') !important;
+      }
+    }
+  }
+
+  img {
+    position: relative;
+    max-width: 50%;
+  }
+
+  table {
+    @apply mb-12;
+
+    th {
+      @apply text-base;
+    }
+
+    td {
+      @apply text-center p-2 leading-6;
+    }
+
+    tr>td:first-of-type {
+      @apply text-left p-2 font-semibold text-base whitespace-nowrap;
+    }
+  }
+}
+
+::ng-deep {
+  spn-feature-carousel {
+    sfng-tab-outlet {
+      &>div {
+        overflow: visible !important;
+      }
+    }
+  }
+}
diff --git a/desktop/angular/src/app/pages/spn/spn-feature-carousel/spn-feature-carousel.ts b/desktop/angular/src/app/pages/spn/spn-feature-carousel/spn-feature-carousel.ts
new file mode 100644
index 00000000..e68edbb3
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/spn-feature-carousel/spn-feature-carousel.ts
@@ -0,0 +1,83 @@
+import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, HostListener, OnDestroy, QueryList, ViewChild, ViewChildren } from "@angular/core";
+import { SfngTabComponent, SfngTabGroupComponent } from '@safing/ui';
+import { filter, interval, startWith, Subscription } from 'rxjs';
+
+@Component({
+  // eslint-disable-next-line @angular-eslint/component-selector
+  selector: 'spn-feature-carousel',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  templateUrl: './spn-feature-carousel.html',
+  styleUrls: [
+    './spn-feature-carousel.scss'
+  ]
+})
+export class SPNFeatureCarouselComponent implements AfterViewInit, OnDestroy {
+  private sub: Subscription = Subscription.EMPTY;
+
+  pause = false;
+  currentIndex = -1;
+
+  @HostListener('mouseenter')
+  onMouseEnter() {
+    this.pause = true
+  }
+
+  @HostListener('mouseleave')
+  onMouseLeave() {
+    this.pause = false;
+  }
+
+  /** A list of all carousel templates */
+  @ViewChildren(SfngTabComponent)
+  carousel!: QueryList<SfngTabComponent>;
+
+  @ViewChild(SfngTabGroupComponent)
+  tabGroup!: SfngTabGroupComponent;
+
+  constructor(
+    private cdr: ChangeDetectorRef
+  ) { }
+
+  ngAfterViewInit(): void {
+    this.sub = interval(5000)
+      .pipe(
+        startWith(-1),
+        filter(() => !this.pause),
+      )
+      .subscribe(() => {
+        this.openTab(this.currentIndex + 1, 'left')
+      })
+  }
+
+  ngOnDestroy(): void {
+    this.sub.unsubscribe()
+  }
+
+  openTab(idx: number, direction?: 'left' | 'right') {
+    // force animation to circle if we go before the first
+    // or after the last one.
+    if (idx < 0) {
+      idx = this.carousel.length - 1;
+      direction = 'right'
+    }
+    if (idx >= this.carousel.length) {
+      direction = 'left'
+    }
+
+    this.currentIndex = idx % this.carousel.length;
+    this.tabGroup.activateTab(this.currentIndex, direction)!;
+    this.cdr.markForCheck();
+  }
+
+  showNext() {
+    this.sub.unsubscribe()
+
+    this.openTab(this.currentIndex + 1)
+  }
+
+  showPrev() {
+    this.sub.unsubscribe()
+
+    this.openTab(this.currentIndex - 1)
+  }
+}
diff --git a/desktop/angular/src/app/pages/spn/spn-page.html b/desktop/angular/src/app/pages/spn/spn-page.html
new file mode 100644
index 00000000..28a61450
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/spn-page.html
@@ -0,0 +1,102 @@
+<ng-container *ngIf="(mapService.status$ | async) as status">
+  <div *ngIf="status === 'connected'"
+    class="absolute z-10 flex flex-col items-center justify-center gap-2 text-xs font-medium top-4 left-4 right-4">
+    <div class="flex flex-col items-center justify-center gap-2">
+
+      <div
+        class="flex flex-row items-center justify-center w-full gap-2 px-4 bg-gray-300 rounded-sm bg-opacity-90 text-xxs"
+        [@fadeIn] *ngIf="loading">
+        <fa-icon icon="circle-notch" [spin]="true" class="py-3"></fa-icon>
+        Loading data, please wait ...
+      </div>
+    </div>
+  </div>
+
+  <div class="absolute top-0 bottom-0 left-0 flex flex-row items-start justify-start w-full h-full"
+    [class.w-full]="currentUser === null || status === 'disabled'">
+    <div
+      class="z-10 flex flex-col items-center justify-center flex-grow h-full bg-white bg-opacity-90 backdrop-filter backdrop-blur-sm"
+      *ngIf="!currentUser || status === 'disabled'">
+
+      <spn-feature-carousel class="w-full p-10 mb-6 overflow-visible h-1/2">
+      </spn-feature-carousel>
+
+      <div class="flex flex-col items-center justify-center gap-4">
+        <button (click)="openAccountDetails()" *ngIf="!currentUser?.current_plan?.feature_ids?.includes(featureID)"
+          class="w-56 px-5 py-2 font-medium uppercase rounded-full bg-blue bg-opacity-90 hover:bg-blue text-primary">
+          Login
+        </button>
+
+        <button (click)="toggleSPN()" *ngIf="currentUser?.current_plan?.feature_ids?.includes(featureID)"
+          class="w-56 px-5 py-2 font-medium text-white uppercase rounded-full bg-blue bg-opacity-90 hover:bg-blue">
+          Enable the SPN
+        </button>
+
+        <a href="https://safing.io/pricing/?source=Portmaster"
+          class="w-56 px-5 py-2 font-medium text-center text-white uppercase rounded-full bg-background bg-opacity-90 hover:bg-background">
+          Pricing
+        </a>
+      </div>
+    </div>
+  </div>
+</ng-container>
+
+
+<div class="absolute top-0 right-0 z-10 flex gap-2 mt-4 mr-4">
+  <!-- DISABLED for now as it causes a lot of confusion ...
+
+  <sfng-toggle class="inline-block" [ngModel]="liveMode" (ngModelChange)="toggleLiveMode($event)"></sfng-toggle>
+
+  -->
+  <app-expertise></app-expertise>
+</div>
+
+<div class="relative flex-grow h-full">
+  <spn-map-renderer class="block w-full h-full" mapId="spn-map"
+    [class.disabled]="!currentUser || (mapService.status$ | async) === 'disabled'">
+  </spn-map-renderer>
+
+  <spn-map-country-overlay *ngIf="hoveredCountry as ctry" class="absolute right-10 bottom-10"
+    [countryCode]="ctry.countryCode" [countryName]="ctry.countryName"></spn-map-country-overlay>
+
+  <spn-map-legend *ngIf="!hoveredCountry" class="absolute right-10 bottom-10"></spn-map-legend>
+
+  <div class="absolute bottom-1.5 left-0 right-0 flex items-center justify-center gap-1 text-secondary"
+    *ngIf="!!proTipTemplate">
+    <svg xmlns="http://www.w3.org/2000/svg" class="w-3 h-3 -mt-0.5 " viewBox="0 0 20 20" fill="currentColor">
+      <path
+        d="M11 3a1 1 0 10-2 0v1a1 1 0 102 0V3zM15.657 5.757a1 1 0 00-1.414-1.414l-.707.707a1 1 0 001.414 1.414l.707-.707zM18 10a1 1 0 01-1 1h-1a1 1 0 110-2h1a1 1 0 011 1zM5.05 6.464A1 1 0 106.464 5.05l-.707-.707a1 1 0 00-1.414 1.414l.707.707zM5 10a1 1 0 01-1 1H3a1 1 0 110-2h1a1 1 0 011 1zM8 16v-1h4v1a2 2 0 11-4 0zM12 14c.015-.34.208-.646.477-.859a4 4 0 10-4.954 0c.27.213.462.519.476.859h4.002z" />
+    </svg>
+    <span class="font-semibold ">Pro Tip:</span>
+    <ng-container *ngTemplateOutlet="proTipTemplate"></ng-container>
+  </div>
+
+  <!-- we use a customer overlay container for all overlays created using the CdkOverlayService here -->
+  <div class="absolute top-0 bottom-0 left-0 right-0 pointer-events-none" #overlayContainer></div>
+</div>
+
+<ng-container>
+  <ng-template #proTip>
+    Hold <b>
+      <pre>CTRL</pre></b> key and click a node on the map to immediately open the node details dialog.
+  </ng-template>
+
+  <ng-template #proTip>
+    Hold <b>
+      <pre>SHIFT</pre></b> key to open more than one node overlay when clicking the node icon.
+  </ng-template>
+
+  <ng-template #proTip>
+    To keep node overlays open move them using
+    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
+      class="inline-block w-4 h-4 opacity-75 hover:opacity-100">
+      <path stroke-linecap="round" stroke-linejoin="round"
+        d="M3.75 3.75v4.5m0-4.5h4.5m-4.5 0L9 9M3.75 20.25v-4.5m0 4.5h4.5m-4.5 0L9 15M20.25 3.75h-4.5m4.5 0v4.5m0-4.5L15 9m5.25 11.25h-4.5m4.5 0v-4.5m0 4.5L15 15" />
+    </svg>. Double click to revert the overlay position on the map.
+  </ng-template>
+
+  <ng-template #proTip>
+    Click on a country to get more information about all nodes in that country and a list of Apps that use nodes in the
+    country as an identity.
+  </ng-template>
+</ng-container>
diff --git a/desktop/angular/src/app/pages/spn/spn-page.scss b/desktop/angular/src/app/pages/spn/spn-page.scss
new file mode 100644
index 00000000..40441ef4
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/spn-page.scss
@@ -0,0 +1,143 @@
+:host {
+  @apply flex flex-row w-full h-full justify-items-stretch items-stretch relative;
+}
+
+.text-info-red {
+  color: theme("colors.info.red");
+}
+
+.network-status-dialog {
+  width: 50vw;
+  height: 50vh;
+  min-height: 300px;
+  min-width: 400px;
+  padding: 12px;
+  overflow: auto;
+  display: flex;
+  flex-direction: column;
+
+  .issue {
+    flex-grow: 1;
+  }
+
+  .issue-list {
+    width: 100% !important;
+    flex-grow: 1;
+
+    ul {
+      overflow: auto;
+    }
+  }
+
+  .issue.expanded {
+    background-color: var(--button-light) !important;
+  }
+
+  .body {
+    background-color: var(--cards-primary) !important;
+  }
+}
+
+.connect-button {
+
+  &.spn-connected {
+    @apply bg-info-blue;
+  }
+
+  &.spn-connecting {
+    @apply bg-info-blue;
+  }
+
+  &.spn-failed {
+    @apply bg-info-red;
+  }
+
+  &:hover {
+    @apply bg-info-blue opacity-75;
+  }
+}
+
+.table {
+  @apply w-full font-normal;
+
+  &>div {
+    @apply text-xs border-buttons-dark flex flex-row justify-between py-1;
+
+    &:not(:last-child) {
+      @apply border-b;
+    }
+
+    span:first-child {
+      @apply text-tertiary;
+    }
+
+    span:last-child {
+      @apply text-primary;
+    }
+  }
+}
+
+
+table tr:nth-child(odd) {
+  background: none;
+}
+
+
+.tunnel-path {
+  position: relative;
+
+  .line {
+    position: absolute;
+    top: 10px;
+    bottom: 10px;
+    left: 8px;
+    width: 1px;
+    background-color: rgba(255, 255, 255, 0.1);
+  }
+
+
+  ul {
+    position: relative;
+    padding-left: 20px;
+
+    li:not(:last-of-type) {
+      padding-bottom: 0.35rem;
+    }
+
+    .ip {
+      margin-left: 0.35rem;
+    }
+
+    .hop-icon {
+      display: inline-block;
+      margin-left: -17px;
+      margin-right: 4px;
+      font-weight: 400;
+
+      &.country {
+        margin-left: -20px;
+      }
+    }
+
+    .hop-title {
+      margin-right: 2px;
+    }
+
+    .country {
+      display: inline-block;
+      margin-left: -20px;
+      margin-right: 4px;
+
+      &.unknown {
+        height: 14px;
+        width: 16px;
+        position: relative;
+        top: 3px;
+        border: 1px solid rgba(0, 0, 0, 0.25);
+        opacity: 0.5;
+        border-radius: 3px;
+        @apply bg-buttons-icon;
+      }
+    }
+  }
+}
diff --git a/desktop/angular/src/app/pages/spn/spn-page.ts b/desktop/angular/src/app/pages/spn/spn-page.ts
new file mode 100644
index 00000000..992dbe19
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/spn-page.ts
@@ -0,0 +1,1012 @@
+import { coerceElement } from "@angular/cdk/coercion";
+import { Overlay, OverlayContainer } from "@angular/cdk/overlay";
+import { ComponentPortal } from '@angular/cdk/portal';
+import { HttpClient } from '@angular/common/http';
+import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ComponentRef, DestroyRef, ElementRef, Inject, Injectable, InjectionToken, Injector, OnDestroy, OnInit, QueryList, TemplateRef, ViewChild, ViewChildren, forwardRef, inject } from "@angular/core";
+import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
+import { ActivatedRoute, ParamMap, Router } from "@angular/router";
+import { AppProfile, ConfigService, Connection, ExpertiseLevel, FeatureID, Netquery, PORTMASTER_HTTP_API_ENDPOINT, PortapiService, SPNService, SPNStatus, UserProfile } from "@safing/portmaster-api";
+import { SfngDialogService } from "@safing/ui";
+import { Line as D3Line, Selection, interpolateString, line, select } from 'd3';
+import { BehaviorSubject, Observable, Subscription, combineLatest, interval, of } from "rxjs";
+import { catchError, debounceTime, map, mergeMap, share, startWith, switchMap, take, takeUntil, withLatestFrom } from "rxjs/operators";
+import { fadeInAnimation, fadeInListAnimation, fadeOutAnimation } from "src/app/shared/animations";
+import { ExpertiseService } from "src/app/shared/expertise/expertise.service";
+import { SPNAccountDetailsComponent } from "src/app/shared/spn-account-details";
+import { CountryDetailsComponent } from "./country-details";
+import { CountryEvent, MAP_HANDLER, MapRef, MapRendererComponent } from "./map-renderer/map-renderer";
+import { MapPin, MapService } from "./map.service";
+import { PinDetailsComponent } from "./pin-details";
+import { PinOverlayComponent } from "./pin-overlay";
+import { OVERLAY_REF } from './utils';
+
+export const MapOverlay = new InjectionToken<Overlay>('MAP_OVERLAY')
+
+export type PinGroup = Selection<SVGGElement, unknown, null, unknown>;
+export type LaneGroup = Selection<SVGGElement, unknown, null, unknown>;
+
+export interface Path {
+  id: string;
+  points: (MapPin | [number, number])[];
+  attributes?: {
+    [key: string]: string;
+  }
+}
+
+export interface PinEvent {
+  event?: MouseEvent;
+  mapPin: MapPin;
+}
+
+
+/**
+ * A custom class that implements the OverlayContainer interface of CDK. This
+ * is used so we can configure a custom container element that will hold all overlays created
+ * by the map component. This way the overlays will be bound to the map container and not overflow
+ * the sidebar or other overlays that are created by the "root" app.
+ */
+@Injectable()
+class MapOverlayContainer {
+  private _overlayContainer?: HTMLElement;
+
+  setOverlayContainer(element: ElementRef<HTMLElement> | HTMLElement) {
+    this._overlayContainer = coerceElement(element);
+  }
+
+  getContainerElement(): HTMLElement {
+    if (!this._overlayContainer) {
+      throw new Error("Overlay container element not initialized. Call setOverlayContainer first.")
+    }
+
+    return this._overlayContainer;
+  }
+}
+
+@Component({
+  templateUrl: './spn-page.html',
+  styleUrls: ['./spn-page.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  providers: [
+    MapOverlayContainer,
+    { provide: MapOverlay, useClass: Overlay },
+    { provide: OverlayContainer, useExisting: MapOverlayContainer },
+    { provide: MAP_HANDLER, useExisting: forwardRef(() => SpnPageComponent), multi: true }
+  ],
+  animations: [
+    fadeInListAnimation,
+    fadeInAnimation,
+    fadeOutAnimation
+  ]
+})
+export class SpnPageComponent implements OnInit, OnDestroy, AfterViewInit {
+  private destroyRef = inject(DestroyRef);
+
+  private countryDebounceTimer: any | null = null;
+
+  /** a list of opened country details. required to close them on destry */
+  private openedCountryDetails: CountryDetailsComponent[] = [];
+
+  readonly featureID = FeatureID.SPN;
+
+  paths: Path[] = [];
+
+  @ViewChild('overlayContainer', { static: true, read: ElementRef })
+  overlayContainer!: ElementRef<HTMLElement>;
+
+  @ViewChild(MapRendererComponent, { static: true })
+  mapRenderer!: MapRendererComponent;
+
+  @ViewChild('accountDetails', { read: TemplateRef, static: true })
+  accountDetails: TemplateRef<any> | null = null;
+
+  /** A list of pro-tip templates in our view */
+  @ViewChildren('proTip', { read: TemplateRef })
+  proTipTemplates!: QueryList<TemplateRef<any>>;
+
+  /** The selected pro-tip template */
+  proTipTemplate: TemplateRef<any> | null = null;
+
+  /** currentUser holds the current SPN user profile if any */
+  currentUser: UserProfile | null = null;
+
+  /** An observable that emits all active processes. */
+  activeProfiles$: Observable<AppProfile[]>;
+
+  /** Whether or not we are still waiting for all data in order to satisfy a "show process/pin" request by query-params */
+  loading = true;
+
+  /** a list of currently selected pins */
+  selectedPins: PinOverlayComponent[] = [];
+
+  /** the currently hovered country, if any */
+  hoveredCountry: {
+    countryName: string;
+    countryCode: string;
+  } | null = null;
+
+  liveMode = false;
+  liveModePaths: Path[] = [];
+
+  private liveModeSubscription = Subscription.EMPTY;
+
+  /**
+   * spnStatusTranslation translates the spn status to the text that is displayed
+   * at the view
+   */
+  readonly spnStatusTranslation: Readonly<Record<SPNStatus['Status'], string>> = {
+    connected: 'Connected',
+    connecting: 'Connecting',
+    disabled: 'Disabled',
+    failed: 'Failure'
+  }
+
+
+  private mapRef: MapRef | null = null;
+  private lineFunc: D3Line<(MapPin | [number, number])> | null = null;
+  private highlightedPins = new Set<string>();
+
+  registerMap(ref: MapRef) {
+    this.mapRef = ref;
+
+    ref.onMapReady(() => {
+      // we want to have straight lines between our hubs so we use a custom
+      // path function that updates x and y coordinates based on the mercator projection
+      // without, points will no be at the correct geo-coordinates.
+      this.lineFunc = line<MapPin | [number, number]>()
+        .x(d => {
+          if (Array.isArray(d)) {
+            return this.mapRef!.projection([d[0], d[1]])![0];
+          }
+          return this.mapRef!.projection([d.location.Longitude, d.location.Latitude])![0];
+        })
+        .y(d => {
+          if (Array.isArray(d)) {
+            return this.mapRef!.projection([d[0], d[1]])![1];
+          }
+          return this.mapRef!.projection([d.location.Longitude, d.location.Latitude])![1];
+        })
+
+      this.mapRef!.root.append('g').attr('id', 'line-group')
+      this.mapRef!.root.append('g').attr('id', 'pin-group')
+
+      if (this.mapService._pins$.getValue().length > 0) {
+        this.renderPins(this.mapService._pins$.getValue())
+      }
+    })
+
+    ref.onCountryClick(event => this.onCountryClick(event))
+    ref.onCountryHover(event => this.onCountryHover(event))
+    ref.onZoomPan(() => this.onZoomAndPan())
+  }
+
+  unregisterMap(ref: MapRef) {
+    this.mapRef = null;
+    this.lineFunc = null;
+  }
+
+  constructor(
+    private configService: ConfigService,
+    private spnService: SPNService,
+    private netquery: Netquery,
+    private expertiseService: ExpertiseService,
+    private router: Router,
+    private route: ActivatedRoute,
+    private portapi: PortapiService,
+    @Inject(PORTMASTER_HTTP_API_ENDPOINT) private httpAPI: string,
+    private http: HttpClient,
+    public mapService: MapService,
+    @Inject(MapOverlay) private mapOverlay: Overlay,
+    private dialog: SfngDialogService,
+    private overlayContainerService: MapOverlayContainer,
+    private cdr: ChangeDetectorRef,
+    private injector: Injector,
+  ) {
+    this.activeProfiles$ = interval(5000)
+      .pipe(
+        startWith(-1),
+        switchMap(() => this.netquery.getActiveProfiles()),
+        share({ connector: () => new BehaviorSubject<AppProfile[]>([]) })
+      )
+  }
+
+  ngAfterViewInit() {
+    // configure our custom overlay container
+    this.overlayContainerService.setOverlayContainer(this.overlayContainer);
+
+    // Select a random "Pro-Tip" template and run change detection
+    this.proTipTemplate = this.proTipTemplates.get(Math.floor(Math.random() * this.proTipTemplates.length)) || null;
+    this.cdr.detectChanges();
+  }
+
+  openAccountDetails() {
+    this.dialog.create(SPNAccountDetailsComponent, {
+      autoclose: true,
+      backdrop: 'light'
+    })
+  }
+
+  ngOnInit() {
+    this.spnService
+      .profile$
+      .pipe(
+        takeUntilDestroyed(this.destroyRef),
+        catchError(() => of(null))
+      )
+      .subscribe((user: UserProfile | null) => {
+        if (user?.state !== '') {
+          this.currentUser = user || null;
+        } else {
+          this.currentUser = null;
+        }
+
+        this.cdr.markForCheck();
+      })
+
+    let previousQueryMap: ParamMap | null = null;
+
+    combineLatest([
+      this.route.queryParamMap,
+      this.mapService.pins$,
+      this.activeProfiles$,
+    ])
+      .pipe(
+        takeUntilDestroyed(this.destroyRef),
+      ).subscribe(([params, pins, profiles]) => {
+        if (params !== previousQueryMap) {
+          const app = params.get("app")
+          if (!!app) {
+            const profile = profiles.find(p => `${p.Source}/${p.ID}` === app);
+            if (!!profile) {
+              const pinID = params.get("pin")
+              const pin = pins.find(p => p.pin.ID === pinID);
+
+              this.selectGroup(profile, pin)
+            }
+          }
+
+          previousQueryMap = params;
+        }
+
+        this.renderPins(pins);
+
+        // we're done with everything now.
+        this.loading = false;
+      })
+
+  }
+
+  toggleLiveMode(enabled: boolean) {
+    this.liveMode = enabled;
+
+    if (!enabled) {
+      this.liveModeSubscription.unsubscribe();
+      this.liveModePaths = [];
+      this.updatePaths([]);
+      this.cdr.markForCheck();
+
+      return;
+    }
+
+    this.liveModeSubscription = this.portapi.watchAll<Connection>("network:tree")
+      .pipe(
+        withLatestFrom(this.mapService.pinsMap$),
+        takeUntilDestroyed(this.destroyRef),
+        debounceTime(100),
+      )
+      .subscribe(([connections, mapPins]) => {
+        connections = connections.filter(conn => conn.Ended === 0 && !!conn.TunnelContext);
+
+        this.liveModePaths = connections.map(conn => {
+          const points: (MapPin | [number, number])[] = conn.TunnelContext!.Path.map(hop => mapPins.get(hop.ID)!)
+
+          if (!!conn.Entity.Coordinates) {
+            points.push([conn.Entity.Coordinates.Longitude, conn.Entity.Coordinates.Latitude])
+          }
+
+          return {
+            id: conn.Entity.Domain || conn.ID,
+            points: points,
+            attributes: {
+              'is-live': 'true',
+              'is-encrypted': `${conn.Encrypted}`
+            }
+          }
+        })
+
+        this.updatePaths([])
+        this.cdr.markForCheck();
+      })
+  }
+
+  /**
+   * Toggle the spn/enable setting. This does NOT update the view as that
+   * will happen as soon as we get an update from the db qsub.
+   *
+   * @private - template only
+   */
+  toggleSPN() {
+    this.configService.get('spn/enable')
+      .pipe(
+        map(setting => setting.Value ?? setting.DefaultValue),
+        mergeMap(active => this.configService.save('spn/enable', !active))
+      )
+      .subscribe()
+  }
+
+  /**
+   * Select one or more pins by ID. If shift key is hold then all currently
+   * selected pin overlays will be cleared before selecting the new ones.
+   */
+  private selectPins(event: MouseEvent | undefined, pinIDs: Observable<string[]>) {
+    combineLatest([
+      this.mapService.pins$,
+      pinIDs,
+    ])
+      .pipe(take(1))
+      .subscribe(([allPins, pinIDs]) => {
+        if (event?.shiftKey !== true) {
+          this.selectedPins
+            .filter(overlay => !overlay.hasBeenMoved)
+            .forEach(selected => selected.disposeOverlay())
+        }
+
+        pinIDs
+          .filter(id => !this.selectedPins.find(selectedPin => selectedPin.mapPin.pin.ID === id))
+          .map(id => allPins.find(pin => pin.pin.ID === id))
+          .filter(mapPin => !!mapPin)
+          .forEach(mapPin => this.onPinClick({
+            mapPin: mapPin!,
+          }));
+      })
+  }
+
+  /**
+   * Select all pins that are used for transit.
+   *
+   * @private - template only
+   */
+  selectTransitNodes(event: MouseEvent) {
+    this.selectPins(event, this.mapService.getPinIDsWithActiveSession())
+  }
+
+  /**
+   * Select all pins that are used as an exit hub.
+   *
+   * @private - template only
+   */
+  selectExitNodes(event: MouseEvent) {
+    this.selectPins(event, this.mapService.getPinIDsUsedAsExit())
+  }
+
+  /**
+   * Select all pins that currently host alive connections.
+   *
+   * @private - template only
+   */
+  selectNodesWithAliveConnections(event: MouseEvent) {
+    this.selectPins(event, this.mapService.getPinIDsWithActiveConnections())
+  }
+
+  navigateToMonitor(process: AppProfile) {
+    this.router.navigate(['/app', process.Source, process.ID])
+  }
+
+  ngOnDestroy() {
+    this.openedCountryDetails.forEach(cmp => cmp.dialogRef!.close());
+  }
+
+  onZoomAndPan() {
+    this.updateOverlayPositions();
+
+    if (this.mapRef) {
+      this.mapRef.root
+        .select('#lines-group')
+        .selectAll<SVGPathElement, Path>('path')
+        .attr('d', d => this.lineFunc!(d.points))
+
+      this.mapRef.root
+        .select("#pin-group")
+        .selectAll<SVGGElement, MapPin>('g')
+        .attr('transform', d => `translate(${this.mapRef!.projection([d.location.Longitude, d.location.Latitude])})`)
+    }
+
+    this.cdr.markForCheck();
+  }
+
+  private createPinOverlay(pinEvent: PinEvent, lm: Map<string, MapPin>): PinOverlayComponent {
+    const paths = this.getRouteHome(pinEvent.mapPin, lm, false)
+    const overlayBoundingRect = this.overlayContainer.nativeElement.getBoundingClientRect();
+    const target = pinEvent.event?.target || this.getPinElem(pinEvent.mapPin.pin.ID)?.children[0];
+    let delay = 0;
+    if (paths.length > 0) {
+      delay = paths[0].points.length * MapRendererComponent.LineAnimationDuration;
+    }
+
+    const overlayRef = this.mapOverlay.create({
+      positionStrategy: this.mapOverlay.position()
+        .flexibleConnectedTo(new ElementRef(target))
+        .withDefaultOffsetY(-overlayBoundingRect.y - 10)
+        .withDefaultOffsetX(-overlayBoundingRect.x + 20)
+        .withPositions([
+          {
+            overlayX: 'start',
+            overlayY: 'top',
+            originX: 'start',
+            originY: 'top'
+          }
+        ]),
+      scrollStrategy: this.mapOverlay.scrollStrategies.reposition(),
+    })
+
+    const injector = Injector.create({
+      providers: [
+        {
+          provide: OVERLAY_REF,
+          useValue: overlayRef,
+        }
+      ],
+      parent: this.injector
+    })
+
+
+    const pinOverlay = overlayRef.attach(
+      new ComponentPortal(PinOverlayComponent, undefined, injector)
+    ).instance;
+
+    pinOverlay.delay = delay;
+    pinOverlay.mapPin = pinEvent.mapPin;
+    if (paths.length > 0) {
+      pinOverlay.routeHome = {
+        ...(paths[0]),
+      }
+      pinOverlay.additionalPaths = paths.slice(1);
+    }
+
+    return pinOverlay;
+  }
+
+
+  private openPinDetails(id: string) {
+    this.dialog.create(PinDetailsComponent, {
+      data: id,
+      backdrop: false,
+      autoclose: true,
+      dragable: true,
+    })
+  }
+
+  private openCountryDetails(event: CountryEvent) {
+    // abort if we already have the country details open.
+    if (this.openedCountryDetails.find(cmp => cmp.countryCode === event.countryCode)) {
+      return;
+    }
+
+    const ref = this.dialog.create(CountryDetailsComponent, {
+      data: {
+        name: event.countryName,
+        code: event.countryCode,
+      },
+      autoclose: false,
+      dragable: true,
+      backdrop: false,
+    })
+    const component = (ref.contentRef() as ComponentRef<CountryDetailsComponent>).instance;
+
+    // used to track whether we highlighted a map pin
+    let hasPinHighlightActive = false;
+
+    combineLatest([
+      component.pinHover,
+      this.mapService.pins$,
+    ])
+      .pipe(
+        takeUntil(ref.onClose),
+      )
+      .subscribe(([hovered, pins]) => {
+        hasPinHighlightActive = hovered !== null;
+
+        if (hovered !== null) {
+          this.onPinHover({
+            mapPin: pins.find(p => p.pin.ID === hovered)!,
+          })
+          this.highlightPin(hovered, true)
+        } else {
+          this.onPinHover(null);
+          this.clearPinHighlights();
+        }
+
+
+        this.cdr.markForCheck();
+      })
+
+    ref.onClose
+      .subscribe(() => {
+        if (hasPinHighlightActive) {
+          this.clearPinHighlights();
+        }
+
+        const index = this.openedCountryDetails.findIndex(cmp => cmp === component);
+        if (index >= 0) {
+          this.openedCountryDetails.splice(index, 1);
+        }
+      })
+
+    this.openedCountryDetails.push(component);
+  }
+
+  private updateOverlayPositions() {
+    this.mapService.pinsMap$
+      .pipe(take(1))
+      .subscribe(allPins => {
+        this.selectedPins.forEach(pin => {
+          const pinObj = allPins.get(pin.mapPin.pin.ID);
+          if (!pinObj) {
+            return;
+          }
+
+          pin.overlayRef.updatePosition();
+        })
+      })
+  }
+
+  onCountryClick(countryEvent: CountryEvent) {
+    this.openCountryDetails(countryEvent);
+  }
+
+  onCountryHover(countryEvent: CountryEvent | null) {
+    if (this.countryDebounceTimer !== null) {
+      clearTimeout(this.countryDebounceTimer);
+    }
+
+    if (!!countryEvent) {
+      this.hoveredCountry = {
+        countryCode: countryEvent.countryCode,
+        countryName: countryEvent.countryName,
+      }
+      this.cdr.markForCheck();
+
+      return;
+    }
+
+    this.countryDebounceTimer = setTimeout(() => {
+      this.hoveredCountry = null;
+      this.countryDebounceTimer = null;
+      this.cdr.markForCheck();
+    }, 200)
+  }
+
+  onPinClick(pinEvent: PinEvent) {
+    // if the control key hold when clicking a map pin, we immediately open the
+    // pin details instead of the overlay.
+    if (pinEvent.event?.ctrlKey) {
+      this.openPinDetails(pinEvent.mapPin.pin.ID);
+    }
+
+    const overlay = this.selectedPins.find(por => por.mapPin.pin.ID === pinEvent.mapPin.pin.ID);
+    if (!!overlay) {
+      overlay.disposeOverlay()
+      return;
+    }
+
+    // if shiftKey was not pressed during the pinClick we dispose all active overlays that have not been
+    // moved by the user
+    if (!pinEvent.event?.shiftKey) {
+      this.selectedPins
+        .filter(overlay => !overlay.hasBeenMoved)
+        .forEach(selected => selected.disposeOverlay())
+    }
+
+    this.mapService.pinsMap$
+      .pipe(take(1))
+      .subscribe(async lm => {
+        const overlayComp = this.createPinOverlay(pinEvent, lm);
+
+        // when the user wants to dispose a pin overlay (by clicking the X) we
+        //  - make sure the pin is not highlighted anymore
+        //  - remove the pin from the selectedPins list
+        //  - remove lines showing the route to the home hub
+        overlayComp.afterDispose
+          .subscribe(pinID => {
+            this.highlightPin(pinID, false);
+
+            const overlayIdx = this.selectedPins.findIndex(por => por.mapPin.pin.ID === pinEvent.mapPin.pin.ID);
+            this.selectedPins.splice(overlayIdx, 1)
+
+            this.updatePaths()
+            this.cdr.markForCheck();
+          })
+
+        // when the user hovers/leaves a pin overlay, we:
+        //   - move the pin-overlay to the top when the user hovers it so stacking order is correct
+        //   - (un)hightlight the pin element on the map
+        overlayComp.overlayHover
+          .subscribe(evt => {
+            this.highlightPin(evt.pinID, evt.type === 'enter')
+
+            // over the overlay component to the top
+            if (evt.type === 'enter') {
+              this.selectedPins.forEach(ref => {
+                if (ref !== overlayComp && ref.overlayRef.hostElement) {
+                  ref.overlayRef.hostElement.style.zIndex = '0';
+                }
+              })
+
+              overlayComp.overlayRef.hostElement.style.zIndex = '';
+            }
+          })
+
+        this.selectedPins.push(overlayComp)
+
+        this.updatePaths([]);
+        this.cdr.markForCheck();
+      })
+  }
+
+  private updatePaths(additional: Path[] = []) {
+    const paths = [
+      ...(this.selectedPins
+        .reduce((list, pin) => {
+          if (pin.routeHome) {
+            list.push(pin.routeHome)
+          }
+
+          return [
+            ...list,
+            ...(pin.additionalPaths || [])
+          ]
+        }, [] as Path[])),
+      ...this.liveModePaths,
+      ...additional
+    ]
+
+    this.paths = paths.map(p => {
+      return {
+        ...p,
+        attributes: {
+          class: 'lane',
+          ...(p.attributes || {})
+        }
+      }
+    });
+
+    this.renderPaths(this.paths)
+  }
+
+  onPinHover(pinEvent: PinEvent | null) {
+    if (!pinEvent) {
+      this.updatePaths([]);
+      this.onCountryHover(null);
+
+      return;
+    }
+
+    // we also emit a country hover event here to keep the country
+    // overlay open.
+    const countryName = this.mapRenderer.countryNames[pinEvent.mapPin.entity.Country]
+    this.onCountryHover({
+      event: pinEvent.event,
+      countryCode: pinEvent.mapPin.entity.Country,
+      countryName: countryName!,
+    })
+
+    // in developer mode, we show all connected lanes of the hovered pin.
+    if (this.expertiseService.currentLevel === ExpertiseLevel.Developer) {
+      this.mapService.pinsMap$
+        .pipe(take(1))
+        .subscribe(lm => {
+          const lanes = this.getConnectedLanes(pinEvent?.mapPin, lm)
+          this.updatePaths(lanes);
+          this.cdr.markForCheck();
+        })
+    }
+  }
+
+  /**
+   * Marks a process group as selected and either selects one or all exit pins
+   * of that group. If shiftKey is pressed during click, the ID(s) will be added
+   * to the list of selected pins instead of replacing it. If shiftKey is pressed
+   * the process group itself will NOT be displayed as selected.
+   *
+   * @private - template only
+   */
+  selectGroup(grp: AppProfile, pin?: MapPin | null, event?: MouseEvent) {
+    if (!!pin) {
+      this.selectPins(event, of([pin.pin.ID]))
+      return;
+    }
+
+    this.selectPins(event, this.mapService.getExitPinIDsForProfile(grp))
+  }
+
+  /** Returns a list of lines that represent the route from pin to home. */
+  private getRouteHome(pin: MapPin, lm: Map<string, MapPin>, includeAllRoutes = false): Path[] {
+    let pinsToEval: MapPin[] = [pin];
+
+    // decide whether to draw all connection routes that travel through pin.
+    if (includeAllRoutes) {
+      pinsToEval = [
+        ...pinsToEval,
+        ...Array.from(lm.values())
+          .filter(p => p.pin.Route?.includes(pin.pin.ID))
+      ]
+    }
+
+    return pinsToEval.map(pin => ({
+      id: `route-home-from-${pin.pin.ID}`,
+      points: (pin.pin.Route || []).map(hop => lm.get(hop)!),
+      attributes: {
+        'in-use': 'true'
+      }
+    }));
+  }
+
+  /** Returns a list of lines the represent all lanes to connected pins of pin */
+  private getConnectedLanes(pin: MapPin, lm: Map<string, MapPin>): Path[] {
+    let result: Path[] = [];
+
+    // add all lanes for connected hubs
+    Object.keys(pin.pin.ConnectedTo).forEach(target => {
+      const p = lm.get(target);
+      if (!!p) {
+        result.push({
+          id: lineID([pin, p]),
+          points: [
+            pin,
+            p
+          ]
+        })
+      }
+    });
+
+    return result;
+
+  }
+
+  private async renderPaths(paths: Path[]) {
+    if (!this.mapRef) {
+      return;
+    }
+
+    const ref = this.mapRef!
+
+    const linesGroup: LaneGroup = this.mapRef.select("#line-group")!
+
+    const self = this;
+    const renderedPaths = linesGroup.selectAll<SVGPathElement, Path>('path')
+      .data(paths, p => p.id);
+
+    renderedPaths
+      .enter()
+      .append('path')
+      .attr('d', path => {
+        return self.lineFunc!(path.points)
+      })
+      .attr("stroke-width", d => {
+        if (d.attributes) {
+          if (d.attributes['in-use']) {
+            return 2 / ref.zoomScale
+          }
+        }
+
+        return 1 / ref.zoomScale;
+      })
+      .call(sel => {
+        if (sel.empty()) {
+          return;
+        }
+        const data = sel.datum()?.attributes || {};
+        Object.keys(data)
+          .forEach(key => {
+            sel.attr(key, data[key])
+          })
+      })
+      .transition("enter-lane")
+      .duration(d => d.points.length * MapRendererComponent.LineAnimationDuration)
+      .attrTween('stroke-dasharray', tweenDashEnter)
+
+    renderedPaths.exit()
+      .interrupt("enter-lane")
+      .transition("leave-lane")
+      .duration(200)
+      .attrTween('stroke-dasharray', tweenDashExit)
+      .remove();
+  }
+
+  private async renderPins(pins: MapPin[]) {
+    pins = pins.filter(pin => !pin.isOffline || pin.isActive);
+
+    if (!this.mapRef) {
+      return
+    }
+
+    const ref = this.mapRef!;
+
+    const countriesWithNodes = new Set<string>();
+
+    pins.forEach(pin => {
+      countriesWithNodes.add(pin.entity.Country)
+    })
+
+    const pinsGroup = ref.select('#pin-group')!
+
+    const pinElements = pinsGroup
+      .selectAll<SVGGElement, MapPin>('g')
+      .data(pins, pin => pin.pin.ID)
+
+    const self = this;
+
+    // add new pins
+    pinElements
+      .enter()
+      .append('g')
+      .append(d => {
+        const val = MapRendererComponent.MarkerSize / ref.zoomScale;
+
+        if (d.isHome) {
+          const homeIcon = document.createElementNS('http://www.w3.org/2000/svg', 'circle')
+          homeIcon.setAttribute('r', `${val * 1.25}`)
+
+          return homeIcon;
+        }
+
+        if (d.pin.VerifiedOwner === 'Safing') {
+          const polygon = document.createElementNS('http://www.w3.org/2000/svg', 'polygon')
+          polygon.setAttribute('points', `0,-${val} -${val},${val} ${val},${val}`)
+
+          return polygon;
+        }
+
+        const circle = document.createElementNS('http://www.w3.org/2000/svg', 'circle')
+        circle.setAttribute('r', `${val}`)
+
+        return circle;
+      })
+      .attr("stroke-width", d => {
+        if (d.isExit || self.highlightedPins.has(d.pin.ID)) {
+          return 2 / ref.zoomScale
+        }
+
+        if (d.isHome) {
+          return 4.5 / ref.zoomScale
+        }
+
+        return 1 / ref.zoomScale
+      })
+      .call(selection => {
+        selection
+          .style('opacity', 0)
+          .attr('transform', d => 'scale(0)')
+          .transition('enter-marker')
+          /**/.duration(1000)
+          /**/.attr('transform', d => `scale(1)`)
+          /**/.style('opacity', 1)
+      })
+      .on('click', function (e: MouseEvent) {
+        const pin = select(this).datum() as MapPin;
+        self.onPinClick({
+          event: e,
+          mapPin: pin
+        });
+      })
+      .on('mouseenter', function (e: MouseEvent) {
+        const pin = select(this).datum() as MapPin;
+        self.onPinHover({
+          event: e,
+          mapPin: pin,
+        })
+      })
+      .on('mouseout', function (e: MouseEvent) {
+        self.onPinHover(null);
+      })
+
+    // remove pins from the map that disappeared
+    pinElements
+      .exit()
+      .remove()
+
+    // update all pins to their correct position and update their attributes
+    pinsGroup.selectAll<SVGGElement, MapPin>('g')
+      .attr('hub-id', d => d.pin.ID)
+      .attr('is-home', d => d.isHome)
+      .attr('transform', d => `translate(${ref.projection([d.location.Longitude, d.location.Latitude])})`)
+      .attr('in-use', d => d.isTransit)
+      .attr('is-exit', d => d.isExit)
+      .attr('raise', d => this.highlightedPins.has(d.pin.ID))
+
+    // update the attributes of the country shapes
+    ref.worldGroup.selectAll<SVGGElement, any>('path')
+      .attr('has-nodes', d => countriesWithNodes.has(d.properties.iso_a2))
+
+    // get all in-use pins and raise them to the top
+    pinsGroup.selectAll<SVGGElement, MapPin>('g[in-use=true]')
+      .raise()
+
+    // finally, re-raise all pins that are highlighted
+    pinsGroup.selectAll<SVGGElement, MapPin>('g[raise=true]')
+      .raise()
+
+    const activeCountrySet = new Set<string>();
+    pins.forEach(pin => {
+      if (pin.isTransit) {
+        activeCountrySet.add(pin.pin.ID)
+      }
+    })
+
+    // update the in-use attributes of the country shapes
+    ref.worldGroup.selectAll<SVGPathElement, any>('path')
+      .attr('in-use', d => activeCountrySet.has(d.properties.iso_a2))
+
+    this.cdr.detectChanges();
+  }
+
+  public getPinElem(pinID: string) {
+    if (!this.mapRef) {
+      return
+    }
+
+    return this.mapRef.root
+      .select("#pin-group")
+      .select<SVGGElement>(`g[hub-id=${pinID}]`)
+      .node()
+  }
+
+  public clearPinHighlights() {
+    if (!this.mapRef) {
+      return
+    }
+
+    this.mapRef.root
+      .select('#pin-group')
+      .select<SVGGElement>(`g[raise=true]`)
+      .attr('raise', false)
+
+    this.highlightedPins.clear();
+  }
+
+  public highlightPin(pinID: string, highlight: boolean) {
+    if (highlight) {
+      this.highlightedPins.add(pinID)
+    } else {
+      this.highlightedPins.delete(pinID);
+    }
+
+    if (!this.mapRef) {
+      return
+    }
+    const pinElemn = this.mapRef!.root
+      .select("#pin-group")
+      .select<SVGGElement>(`g[hub-id=${pinID}]`)
+      .attr('raise', highlight)
+
+    if (highlight) {
+      pinElemn
+        .raise()
+    }
+  }
+}
+
+function lineID(l: [MapPin, MapPin]): string {
+  return [l[0].pin.ID, l[1].pin.ID].sort().join("-")
+}
+
+const tweenDashEnter = function (this: SVGPathElement) {
+  const len = this.getTotalLength();
+  const interpolate = interpolateString(`0, ${len}`, `${len}, ${len}`);
+  return (t: number) => {
+    if (t === 1) {
+      return '0';
+    }
+    return interpolate(t);
+  }
+}
+
+const tweenDashExit = function (this: SVGPathElement) {
+  const len = this.getTotalLength();
+  const interpolate = interpolateString(`${len}, ${len}`, `0, ${len}`);
+  return (t: number) => {
+    if (t === 1) {
+      return `${len}`;
+    }
+    return interpolate(t);
+  }
+}
diff --git a/desktop/angular/src/app/pages/spn/spn.module.ts b/desktop/angular/src/app/pages/spn/spn.module.ts
new file mode 100644
index 00000000..737ae25f
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/spn.module.ts
@@ -0,0 +1,69 @@
+import { A11yModule } from '@angular/cdk/a11y';
+import { DragDropModule } from '@angular/cdk/drag-drop';
+import { OverlayModule } from '@angular/cdk/overlay';
+import { CommonModule } from '@angular/common';
+import { NgModule } from '@angular/core';
+import { FormsModule } from '@angular/forms';
+import { RouterModule } from '@angular/router';
+import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
+import { SfngToggleSwitchModule, SfngTooltipModule, TabModule } from '@safing/ui';
+import { SfngAppIconModule } from 'src/app/shared/app-icon';
+import { CountIndicatorModule } from 'src/app/shared/count-indicator';
+import { CountryFlagModule } from 'src/app/shared/country-flag';
+import { ExpertiseModule } from 'src/app/shared/expertise/expertise.module';
+import { SfngFocusModule } from 'src/app/shared/focus';
+import { SfngMenuModule } from 'src/app/shared/menu';
+import { CommonPipesModule } from 'src/app/shared/pipes';
+import { SpnPageComponent } from './';
+import { CountryDetailsComponent } from './country-details';
+import { CountryOverlayComponent } from './country-overlay';
+import { SpnMapLegendComponent } from './map-legend';
+import { MapRendererComponent } from './map-renderer';
+import { SpnNodeIconComponent } from './node-icon';
+import { PinDetailsComponent } from './pin-details';
+import { SpnPinListComponent } from './pin-list/pin-list';
+import { PinOverlayComponent } from './pin-overlay';
+import { SpnPinRouteComponent } from './pin-route';
+import { SPNFeatureCarouselComponent } from './spn-feature-carousel';
+
+@NgModule({
+  imports: [
+    CommonModule,
+    FormsModule,
+    CountryFlagModule,
+    SfngTooltipModule,
+    SfngMenuModule,
+    SfngFocusModule,
+    SfngAppIconModule,
+    SfngToggleSwitchModule,
+    TabModule,
+    A11yModule,
+    ExpertiseModule,
+    OverlayModule,
+    CountIndicatorModule,
+    FontAwesomeModule,
+    CommonPipesModule,
+    DragDropModule,
+    RouterModule,
+  ],
+  declarations: [
+    MapRendererComponent,
+    PinOverlayComponent,
+    CountryOverlayComponent,
+    CountryDetailsComponent,
+    SpnNodeIconComponent,
+    SpnMapLegendComponent,
+    PinDetailsComponent,
+    SpnPinRouteComponent,
+    SPNFeatureCarouselComponent,
+    SpnPageComponent,
+    SpnPinListComponent,
+  ],
+  exports: [
+    SpnPageComponent,
+    SpnPinRouteComponent,
+    SpnNodeIconComponent,
+    MapRendererComponent,
+  ]
+})
+export class SPNModule { }
diff --git a/desktop/angular/src/app/pages/spn/utils.ts b/desktop/angular/src/app/pages/spn/utils.ts
new file mode 100644
index 00000000..eaeefe49
--- /dev/null
+++ b/desktop/angular/src/app/pages/spn/utils.ts
@@ -0,0 +1,4 @@
+import { OverlayRef } from '@angular/cdk/overlay';
+import { InjectionToken } from '@angular/core';
+
+export const OVERLAY_REF = new InjectionToken<OverlayRef>('OVERLAY_REF');
diff --git a/desktop/angular/src/app/pages/support/form/index.ts b/desktop/angular/src/app/pages/support/form/index.ts
new file mode 100644
index 00000000..b28d7e24
--- /dev/null
+++ b/desktop/angular/src/app/pages/support/form/index.ts
@@ -0,0 +1 @@
+export * from './support-form';
diff --git a/desktop/angular/src/app/pages/support/form/support-form.html b/desktop/angular/src/app/pages/support/form/support-form.html
new file mode 100644
index 00000000..10685d99
--- /dev/null
+++ b/desktop/angular/src/app/pages/support/form/support-form.html
@@ -0,0 +1,107 @@
+<div class="header">
+  <h4 class="breadcrumbs">
+    <span routerLink="../">Get Help</span>
+    <fa-icon icon="chevron-right" [@moveInOut]></fa-icon>
+    <span [@moveInOut]>{{ page?.title }}</span>
+  </h4>
+  <app-expertise></app-expertise>
+</div>
+
+<div class=" scroll-container" cdkScrollable [@fadeIn]="true">
+  <div class="form-wrapper">
+    <div class="page-title">
+      <h1>{{ page?.title }}</h1>
+    </div>
+
+    <p class="prologue secondary-text" *ngIf="page?.prologue || page?.shortHelp">
+      {{ page?.prologue || page?.shortHelp }}
+    </p>
+
+    <div class="repo-list" *ngIf="page?.repositories?.length">
+      <h4>{{ page?.repoHelp }}</h4>
+      <button *ngFor="let repo of page?.repositories" [attr.id]="repo.repo"
+        [class.selected]="selectedRepo === repo.repo" (click)="selectRepo(repo.repo)">
+        {{ repo.name }}
+      </button>
+    </div>
+
+    <h3>Title</h3>
+    <div class="input-wrapper">
+      <input class="title" [class.missing]="titleMissing && title === ''" required type="text" [(ngModel)]="title"
+        (ngModelChange)="searchIssues($event)" placeholder="Summarize your report">
+      <span class="copy-button" (click)="copyToClipboard(title)">Copy</span>
+    </div>
+
+    <section *ngFor="let section of page?.sections">
+      <h3>{{section.title}}</h3>
+      <div class="input-wrapper">
+        <textarea [(ngModel)]="form[section.title]" (ngModelChange)="onModelChange()" rows="4"
+          [placeholder]="section.help || ''"></textarea>
+        <span class="copy-button" (click)="copyToClipboard(form[section.title])">Copy</span>
+      </div>
+      <!--
+      <span class="section-help" *ngIf="section.help">
+        {{section.help}}
+      </span>
+    -->
+    </section>
+
+    <ng-template [ngIf]="page?.includeDebugData">
+      <div class="page-title">
+        <h1>Included Debug Info</h1>
+      </div>
+
+      <p class="prologue secondary-text">
+        The following debug information will be sent together with your report. Please check it and remove potentially sensitive
+        information. The debug information sent with your reports will be saved on Safing's self-hosted pastebin server
+        and is viewable via its created url. The data is automatically destroyed after one month.
+      </p>
+      <div class="debug-header">
+        <div class="pl-4 secondary-text">
+          Portmaster Version: <u>{{version}}</u>
+          built on <u>{{buildDate}}</u>
+        </div>
+        <span class="copy-button" (click)="copyToClipboard(debugData)">Copy</span>
+      </div>
+      <textarea [(ngModel)]="debugData" rows="8"></textarea>
+    </ng-template>
+
+    <div class="actions">
+      <button *ngIf="!!page?.ghIssuePreset" class="primary" (click)="createOnGithub()">
+        <fa-icon [icon]="['fab', 'github']" class="mr-1"></fa-icon>
+        {{ haveGhAccount ? 'Open' : 'Create'}} on GitHub
+      </button>
+      <button *ngIf="page?.privateTicket" [class.primary]="!page?.ghIssuePreset" (click)="createPrivateTicket()">
+        Send private Ticket
+      </button>
+    </div>
+  </div>
+
+  <div *ngIf="page?.ghIssuePreset" class="issue-list" sfngTipUpAnchor="left">
+    <div class="page-title">
+      <h1>
+        Related Issues
+        <sfng-tipup key="support-page-related-issues"></sfng-tipup>
+      </h1>
+    </div>
+    <p class="prologue secondary-text">
+      Public issues related to your title:
+    </p>
+
+    <p class="prologue secondary-text" *ngIf="!relatedIssues.length">
+      No related issues were found.
+    </p>
+
+    <ul [@fadeInList]="relatedIssues.slice(0, 8).length">
+      <li *ngFor="let issue of relatedIssues.slice(0, 8); trackBy: trackIssue" (click)="openIssue(issue)" class="issue">
+        <span class="title">{{ issue.title }}</span>
+        <span class="meta">{{ issue.closed ? 'closed' : 'opened'}} in <u>{{ repos[issue.repository] || issue.repository
+            }}</u> by <u>{{ issue.user }}</u>
+          {{
+          issue.createdAt | timeAgo
+          }}</span>
+        <fa-icon icon="external-link-alt"></fa-icon>
+      </li>
+    </ul>
+  </div>
+</div>
diff --git a/desktop/angular/src/app/pages/support/form/support-form.scss b/desktop/angular/src/app/pages/support/form/support-form.scss
new file mode 100644
index 00000000..7555aa08
--- /dev/null
+++ b/desktop/angular/src/app/pages/support/form/support-form.scss
@@ -0,0 +1,253 @@
+:host {
+  width: 100%;
+  display: flex;
+  flex-grow: 1;
+  flex-direction: column;
+  height: 100%;
+}
+
+.scroll-container {
+  overflow: auto;
+  margin-right: 1rem;
+  display: flex;
+  flex-direction: row;
+  justify-content: center;
+  flex-grow: 1;
+
+  @apply p-8;
+
+  h3 {
+    opacity: .9;
+    font-size: 0.95rem;
+  }
+}
+
+.form-wrapper {
+  flex-grow: 2;
+
+  @media (min-width: 1250px) {
+    max-width: 800px;
+  }
+
+}
+
+.issue-list {
+  width: 400px;
+
+  margin-left: 2rem;
+
+  &,
+  ul {
+    overflow-y: hidden;
+  }
+
+  .issue {
+    @apply px-4;
+    @apply pr-8;
+    @apply py-4;
+    @apply rounded;
+    @apply bg-cards-secondary;
+
+    span {
+      word-break: keep-all;
+    }
+
+    display : flex;
+    flex-direction: column;
+    position : relative;
+    cursor : pointer;
+
+    &:not(:last-child) {
+      margin-bottom: 0.5rem;
+    }
+
+    .meta {
+      @apply text-tertiary;
+      @apply font-normal;
+      opacity: .7;
+      font-size: 95%;
+    }
+
+    &:hover {
+      @apply bg-cards-tertiary;
+    }
+
+    fa-icon {
+      position: absolute;
+      right: calc((2rem - 12px) / 2);
+      top: calc(50% - 8px); // actually the half height is 6px but that looks off for the icon we're using
+      opacity: .3;
+    }
+  }
+}
+
+p.prologue {
+  @apply mb-8;
+}
+
+.page-title {
+  margin-top: 20px;
+  margin-bottom: 40px;
+  position: relative;
+  border-bottom: 1px solid rgba(255, 255, 255, .2);
+
+  h1 {
+    position: absolute;
+    top: -1rem;
+    background-color: var(--background);
+    @apply pr-8;
+  }
+}
+
+.repo-list {
+  @apply mb-8;
+
+}
+
+button {
+  @apply p-2;
+  @apply bg-buttons-dark;
+  @apply border;
+  @apply border-buttons-dark;
+  opacity: .4;
+
+  &:not(:last-child) {
+    @apply mr-1;
+  }
+
+  &:hover {
+    @apply bg-buttons-light;
+    @apply border-buttons-light;
+  }
+
+  &.selected {
+    @apply bg-buttons-dark;
+    @apply border-buttons-light;
+    opacity: 1;
+  }
+}
+
+.actions {
+  @apply mt-8;
+  @apply pb-16;
+
+  button {
+    opacity: 1;
+    @apply bg-transparent;
+
+    &.primary {
+      @apply bg-buttons-dark;
+      opacity: 1;
+    }
+
+    &:hover {
+      @apply bg-buttons-light;
+    }
+  }
+
+}
+
+.debug-header {
+  height: 32px;
+  display: flex;
+  flex-direction: row;
+  justify-content: space-between;
+  align-items: center;
+  position: relative;
+  @apply bg-cards-primary;
+  @apply rounded-t;
+  top: 2px;
+}
+
+textarea {
+  @apply px-4;
+  @apply py-2;
+  min-height: 40px;
+}
+
+textarea,
+input[type="text"].title {
+  @apply font-medium;
+  @apply border;
+  @apply border-cards-secondary;
+  @apply bg-cards-secondary;
+  padding-right: 4.5rem; // copy button width
+
+  &:hover,
+  &:active,
+  &:focus {
+    @apply border-cards-primary;
+  }
+}
+
+input[type="text"].title {
+  padding-left: 1rem;
+}
+
+section {
+  @apply py-8;
+
+  &:not(:first-of-type) {
+    @apply pt-0;
+  }
+}
+
+.input-wrapper {
+  position: relative;
+  display: flex;
+}
+
+.copy-button {
+  user-select: none;
+  position: absolute;
+  top: 1px;
+  right: 0px;
+  width: 4rem;
+  height: 31px;
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+  cursor: pointer;
+  @apply bg-buttons-dark;
+  @apply rounded-sm;
+  opacity: .5;
+
+  &:hover {
+    opacity: .9;
+  }
+}
+
+.section-help {
+  @apply bg-cards-primary;
+  @apply border-t;
+  @apply border-dashed;
+  @apply border-buttons-light;
+  @apply p-2;
+  @apply px-4;
+  @apply rounded-sm;
+  color: rgba(255, 255, 255, .6);
+  font-size: 0.7rem;
+  position: relative;
+  width: 100%;
+  display: flex;
+  flex-direction: column;
+}
+
+.gh-author {
+  @apply mt-8;
+  display: flex;
+  flex-direction: row;
+  justify-content: flex-start;
+  align-items: flex-start;
+
+  .input-wrapper {
+    padding-top: 2px;
+    @apply pr-2;
+  }
+}
+
+input[type="text"].missing,
+textarea.missing {
+  @apply border-info-red;
+}
diff --git a/desktop/angular/src/app/pages/support/form/support-form.ts b/desktop/angular/src/app/pages/support/form/support-form.ts
new file mode 100644
index 00000000..1b2e8ed1
--- /dev/null
+++ b/desktop/angular/src/app/pages/support/form/support-form.ts
@@ -0,0 +1,258 @@
+import { CdkScrollable } from '@angular/cdk/scrolling';
+import { Component, DestroyRef, OnInit, TrackByFunction, ViewChild, inject } from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
+import { ActivatedRoute, Router } from '@angular/router';
+import { DebugAPI } from '@safing/portmaster-api';
+import { ConfirmDialogConfig, SfngDialogService } from '@safing/ui';
+import { BehaviorSubject, Observable, of } from 'rxjs';
+import { debounceTime, mergeMap } from 'rxjs/operators';
+import { SessionDataService, StatusService } from 'src/app/services';
+import { Issue, SupportHubService } from 'src/app/services/supporthub.service';
+import { ActionIndicatorService } from 'src/app/shared/action-indicator';
+import { fadeInAnimation, fadeInListAnimation, moveInOutAnimation } from 'src/app/shared/animations';
+import { FuzzySearchService } from 'src/app/shared/fuzzySearch';
+import { SupportPage, supportTypes } from '../pages';
+import { INTEGRATION_SERVICE } from 'src/app/integration';
+import { SupportProgressDialogComponent, TicketData, TicketInfo } from '../progress-dialog';
+
+@Component({
+  templateUrl: './support-form.html',
+  styleUrls: ['./support-form.scss'],
+  animations: [fadeInAnimation, moveInOutAnimation, fadeInListAnimation]
+})
+export class SupportFormComponent implements OnInit {
+  private readonly destroyRef = inject(DestroyRef);
+  private readonly search$ = new BehaviorSubject<string>('');
+  private readonly integration = inject(INTEGRATION_SERVICE);
+
+  page: SupportPage | null = null;
+
+  debugData: string = '';
+  title: string = '';
+  form: { [key: string]: string } = {}
+  selectedRepo: string = '';
+  haveGhAccount = false;
+  version: string = '';
+  buildDate: string = '';
+  titleMissing = false;
+
+  relatedIssues: Issue[] = [];
+  allIssues: Issue[] = [];
+  repos: { [repo: string]: string } = {};
+
+  @ViewChild(CdkScrollable)
+  scrollContainer: CdkScrollable | null = null;
+
+  trackIssue: TrackByFunction<Issue> = (_: number, issue: Issue) => issue.url;
+
+  constructor(
+    private route: ActivatedRoute,
+    private router: Router,
+    private uai: ActionIndicatorService,
+    private debugapi: DebugAPI,
+    private statusService: StatusService,
+    private dialog: SfngDialogService,
+    private supporthub: SupportHubService,
+    private searchService: FuzzySearchService,
+    private sessionService: SessionDataService,
+  ) { }
+
+  ngOnInit() {
+    this.supporthub.loadIssues().subscribe(issues => {
+      issues = issues.reverse();
+      this.allIssues = issues;
+      this.relatedIssues = issues;
+    })
+
+    this.search$.pipe(
+      takeUntilDestroyed(this.destroyRef),
+      debounceTime(200),
+    )
+      .subscribe((text) => {
+        this.relatedIssues = this.searchService.searchList(this.allIssues, text, {
+          disableHighlight: true,
+          shouldSort: true,
+          isCaseSensitive: false,
+          minMatchCharLength: 4,
+          keys: [
+            'title',
+            'body',
+          ],
+        }).map(res => res.item)
+      })
+
+    this.statusService.getVersions()
+      .subscribe(status => {
+        this.version = status.Core.Version;
+        this.buildDate = status.Core.BuildDate;
+      })
+
+    this.route.paramMap
+      .pipe(takeUntilDestroyed(this.destroyRef))
+      .subscribe(params => {
+        const id = params.get("id")
+        for (let pIdx = 0; pIdx < supportTypes.length; pIdx++) {
+          const pageSection = supportTypes[pIdx];
+          const page = pageSection.choices.find(choice => choice.type !== 'link' && choice.id === id);
+          if (!!page) {
+            this.page = page as SupportPage;
+            break;
+          }
+        }
+
+        if (!this.page) {
+          this.router.navigate(['..']);
+          return;
+        }
+        this.title = '';
+        this.form = {};
+        this.selectedRepo = 'portmaster';
+        this.debugData = '';
+        this.repos = {};
+        this.page.sections.forEach(section => this.form[section.title] = '');
+        this.page.repositories?.forEach(repo => this.repos[repo.repo] = repo.name)
+
+        // try to restore from session service
+        this.sessionService.restore(this.page.id, this);
+
+        if (this.page.includeDebugData) {
+          this.debugapi.getCoreDebugInfo('github')
+            .subscribe({
+              next: data => this.debugData = data,
+              error: err => this.uai.error('Failed to get Debug Data', this.uai.getErrorMessgae(err))
+            })
+        }
+      })
+  }
+
+  onModelChange() {
+    if (!this.page) {
+      return;
+    }
+    this.sessionService.save(this.page.id, this, ['title', 'form', 'selectedRepo', 'haveGhAccount']);
+  }
+
+  selectRepo(repo: string) {
+    this.selectedRepo = repo;
+    this.onModelChange();
+  }
+
+  searchIssues(text: string) {
+    this.onModelChange();
+    this.search$.next(text);
+  }
+
+  copyToClipboard(what: string) {
+    this.integration.writeToClipboard(what)
+      .then(() => this.uai.success("Copied to Clipboard"))
+      .catch(() => this.uai.error('Failed to Copy to Clipboard'));
+  }
+
+  validate(): boolean {
+    this.titleMissing = this.title === '';
+    const valid = !this.titleMissing;
+    if (!valid) {
+      this.scrollContainer?.scrollTo({ top: 0, behavior: 'smooth' })
+    }
+    return valid;
+  }
+
+  createIssue(type: 'github' | 'private', genUrl?: boolean, email?: string) {
+    const ticketData: TicketData = {
+      repo: this.selectedRepo || '',
+      title: this.title,
+      debugInfo: this.debugData,
+      sections: this.page?.sections.map(section => ({
+        title: section.title,
+        body: this.form[section.title],
+      })) || [],
+    }
+
+    let issue: TicketInfo;
+
+    switch (type) {
+      case 'github':
+        issue = {
+          type: 'github',
+          generateUrl: genUrl || false,
+          preset: this.page!.ghIssuePreset || '',
+          ...ticketData
+        };
+
+        break;
+
+      case 'private':
+        issue = {
+          type: 'private',
+          email: email,
+          ...ticketData
+        }
+
+        break;
+    }
+
+    SupportProgressDialogComponent.open(this.dialog, issue)
+      .subscribe(() => {
+        this.sessionService.delete(this.page?.id || '');
+      });
+  }
+
+  createOnGithub(genUrl?: boolean) {
+    if (!this.validate()) {
+      return;
+    }
+
+    if (genUrl === undefined && this.haveGhAccount) {
+      genUrl = true;
+    }
+
+    if (genUrl === undefined) {
+      this.dialog.confirm({
+        canCancel: true,
+        caption: 'Caution',
+        header: 'Create Issue on GitHub',
+        message: 'You can easily create the issue with your own GitHub account. Or create the GitHub issue privately, but then we will have no way to communicate with you for further information.',
+        buttons: [
+          { id: 'createWithout', text: 'Create Without Account', class: 'outline' },
+          { id: 'openGithub', text: 'Use My Account' },
+        ]
+      })
+        .onAction('openGithub', () => {
+          this.createIssue('github', true)
+        })
+        .onAction('createWithout', () => {
+          this.createIssue('github', false)
+        })
+      return;
+    }
+  }
+
+  openIssue(issue: Issue) {
+    this.integration.openExternal(issue.url);
+  }
+
+  createPrivateTicket() {
+    if (!this.validate()) {
+      return;
+    }
+
+    const opts: ConfirmDialogConfig = {
+      caption: 'Info',
+      canCancel: true,
+      header: 'How should we stay in touch?',
+      message: 'Please enter your email address so we can write back and forth until the issue is concluded.',
+      inputModel: '',
+      inputPlaceholder: 'Optional Email',
+      inputType: 'text',
+      buttons: [
+        { id: '', class: 'outline', text: 'Cancel' },
+        { id: 'create', text: 'Create Ticket' },
+      ],
+    }
+    this.dialog.confirm(opts)
+      .onAction('create', () => {
+        this.createIssue('private', undefined, opts.inputModel);
+      });
+  }
+
+}
diff --git a/desktop/angular/src/app/pages/support/index.ts b/desktop/angular/src/app/pages/support/index.ts
new file mode 100644
index 00000000..5f9360ad
--- /dev/null
+++ b/desktop/angular/src/app/pages/support/index.ts
@@ -0,0 +1 @@
+export * from './support';
diff --git a/desktop/angular/src/app/pages/support/pages.ts b/desktop/angular/src/app/pages/support/pages.ts
new file mode 100644
index 00000000..83cdcc67
--- /dev/null
+++ b/desktop/angular/src/app/pages/support/pages.ts
@@ -0,0 +1,175 @@
+export interface PageSections {
+  title?: string;
+  choices: SupportType[];
+  style?: 'small';
+}
+
+export interface QuestionSection {
+  title: string;
+  help?: string;
+}
+
+export interface SupportPage {
+  type?: undefined;
+  id: string;
+  title: string;
+  shortHelp: string;
+  repoHelp?: string;
+  prologue?: string;
+  epilogue?: string;
+  sections: QuestionSection[];
+  privateTicket?: boolean;
+  ghIssuePreset?: string;
+  includeDebugData?: boolean;
+  repositories?: { repo: string, name: string }[];
+}
+
+export interface ExternalLink {
+  type: 'link',
+  url: string;
+  title: string;
+  shortHelp: string;
+}
+
+export type SupportType = SupportPage | ExternalLink;
+
+export const supportTypes: PageSections[] = [
+  {
+    title: "Resources",
+    choices: [
+      {
+        type: 'link',
+        title: '📘 Portmaster Wiki & FAQ',
+        url: 'https://wiki.safing.io/?source=Portmaster',
+        shortHelp: 'Search the Portmaster knowledge base and FAQ.',
+      },
+      {
+        type: 'link',
+        title: '🔖 Settings Handbook',
+        url: 'https://docs.safing.io/portmaster/settings?source=Portmaster',
+        shortHelp: 'A reference document of all Portmaster settings.'
+      },
+      {
+        type: 'link',
+        title: '📑 Safing Blog',
+        url: 'https://safing.io/blog?source=Portmaster',
+        shortHelp: 'Read our blog posts and announcements.',
+      }
+    ]
+  },
+  {
+    title: "Communities & Support",
+    style: 'small',
+    choices: [
+      {
+        type: 'link',
+        title: 'Join us on Discord',
+        url: 'https://discord.gg/safing',
+        shortHelp: 'Get help from the community and our AI bot on Discord.'
+      },
+      {
+        type: 'link',
+        title: 'Follow us on Mastodon',
+        url: 'https://fosstodon.org/@safing',
+        shortHelp: 'Get updates and privacy jokes on Mastodon.'
+      },
+      {
+        type: 'link',
+        title: 'Follow us on Twitter',
+        url: 'https://twitter.com/SafingIO',
+        shortHelp: 'Get updates and privacy jokes on Twitter.'
+      },
+      {
+        type: 'link',
+        title: 'Safing Support via Email',
+        url: 'mailto:support@safing.io',
+        shortHelp: 'As a subscriber, reach out to the Safing team directly.'
+      }
+    ]
+  },
+  {
+    title: "Make a Report",
+    style: 'small',
+    choices: [
+      {
+        id: "report-bug",
+        title: "🐞 Report a Bug",
+        shortHelp: "Found a bug? Report your discovery and make the Portmaster better for everyone.",
+        repoHelp: "Where did the bug take place?",
+        sections: [
+          {
+            title: "What happened?",
+            help: "Describe what happened in detail"
+          },
+          {
+            title: "What did you expect to happen?",
+            help: "Describe what you expected to happen instead"
+          },
+          {
+            title: "How did you reproduce it?",
+            help: "Describe how to reproduce the issue"
+          },
+          {
+            title: "Additional information",
+            help: "Provide extra details if needed"
+          },
+        ],
+        includeDebugData: true,
+        privateTicket: true,
+        ghIssuePreset: "report-bug.md",
+        repositories: [
+          { repo: 'portmaster', name: 'Portmaster Core' },
+          { repo: 'portmaster-ui', name: 'User Interface' },
+          { repo: 'portmaster-packaging', name: 'Packaging & Installers' },
+          { repo: 'spn', name: 'SPN' },
+        ]
+      },
+      {
+        id: "give-feedback",
+        title: "💡 Suggest an Improvement",
+        shortHelp: "Suggest an enhancement or a new feature for Portmaster.",
+        repoHelp: "What would you would like to improve?",
+        sections: [
+          {
+            title: "What would you like to add or change?",
+          },
+          {
+            title: "Why do you and others need this?"
+          }
+        ],
+        includeDebugData: false,
+        privateTicket: true,
+        ghIssuePreset: "suggest-feature.md",
+        repositories: [
+          { repo: 'portmaster', name: 'Portmaster Core' },
+          { repo: 'portmaster-ui', name: 'User Interface' },
+          { repo: 'portmaster-packaging', name: 'Packaging & Installers' },
+          { repo: 'spn', name: 'SPN' },
+        ]
+      },
+      {
+        id: "compatibility-report",
+        title: "📝 Make a Compatibility Report",
+        shortHelp: "Report Portmaster in/compatibility with Linux Distros, VPN Clients or general Software.",
+        sections: [
+          {
+            title: "What worked?",
+            help: "Describe what worked"
+          },
+          {
+            title: "What did not work?",
+            help: "Describe what did not work in detail"
+          },
+          {
+            title: "Additional information",
+            help: "Provide extra details if needed"
+          },
+        ],
+        includeDebugData: true,
+        privateTicket: true,
+        ghIssuePreset: "report-compatibility.md",
+        repositories: [] // not needed with the default being "portmaster"
+      },
+    ],
+  }
+]
diff --git a/desktop/angular/src/app/pages/support/progress-dialog/index.ts b/desktop/angular/src/app/pages/support/progress-dialog/index.ts
new file mode 100644
index 00000000..0dfbf366
--- /dev/null
+++ b/desktop/angular/src/app/pages/support/progress-dialog/index.ts
@@ -0,0 +1 @@
+export * from './progress-dialog';
diff --git a/desktop/angular/src/app/pages/support/progress-dialog/progress-dialog.html b/desktop/angular/src/app/pages/support/progress-dialog/progress-dialog.html
new file mode 100644
index 00000000..2504a56e
--- /dev/null
+++ b/desktop/angular/src/app/pages/support/progress-dialog/progress-dialog.html
@@ -0,0 +1,114 @@
+<!-- Progress Indicator -->
+<div *ngIf="state !== 'error' && state !== 'done'">
+
+  <caption class="text-xxs text-secondary">Status</caption>
+
+  <div class="flex flex-row gap-2">
+    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
+      class="w-5 h-5 animate animate-spin">
+      <path stroke-linecap="round" stroke-linejoin="round"
+        d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99" />
+    </svg>
+
+    <div [ngSwitch]="state">
+      <!-- Uploading debug data -->
+      <ng-template ngSwitchCase="debug-info">
+        <span>Uploading debug data ....</span>
+      </ng-template>
+
+      <!-- Github Issue -->
+      <ng-template ngSwitchCase="create-issue">
+        <span>Creating GitHub issue ...</span>
+      </ng-template>
+
+      <!-- Private ticket -->
+      <ng-template ngSwitchCase="create-ticket">
+        <span>Creating private support ticket ...</span>
+      </ng-template>
+    </div>
+  </div>
+</div>
+
+
+<!-- Issue/ticket creation successfull -->
+<ng-template [ngIf]="state === 'done'">
+  <span class="flex flex-row gap-2 items-center justify-start">
+    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="0.75" stroke="currentColor"
+      class="text-green-300 w-10 h-10">
+      <path stroke-linecap="round" stroke-linejoin="round"
+        d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" />
+    </svg>
+
+    <span class="text-base text-primary">
+      <ng-template [ngIf]="dialogRef.data.type === 'github' && dialogRef.data.generateUrl">
+        Ticket prepared successfully
+      </ng-template>
+
+      <ng-template [ngIf]="dialogRef.data.type !== 'github' || !dialogRef.data.generateUrl">
+        Ticket created successfully!
+      </ng-template>
+    </span>
+  </span>
+
+  <div *ngIf="dialogRef.data.type === 'github' && dialogRef.data.generateUrl">
+    <span>Use the following button to open the pre-filled GitHub issue form:</span>
+
+    <br />
+
+    <div class="flex flex-row items-center justify-center p-4">
+      <button class="bg-blue" (click)="integration.openExternal(url)">Create Issue</button>
+    </div>
+  </div>
+
+  <div *ngIf="dialogRef.data.type === 'github' && !dialogRef.data.generateUrl" class="flex flex-col">
+    <span>
+      We successfully create the issue on GitHub for you.
+      <br />
+      Use the following link to check for updates:
+    </span>
+
+    <span class="inline-block w-full text-center mt-4 underline text-secondary"
+      (click)="integration.openExternal(url)">{{ url }}</span>
+  </div>
+
+  <span *ngIf="dialogRef.data.type === 'private' && dialogRef.data.email">
+    We will contact you as soon as possbile.
+  </span>
+</ng-template>
+
+<!-- An error occured -->
+<div *ngIf="state === 'error'" class="flex flex-col gap-2">
+
+  <span class="flex flex-row gap-2 items-center justify-start">
+    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="0.75" stroke="currentColor"
+      class="text-red-300 w-10 h-10">
+      <path stroke-linecap="round" stroke-linejoin="round"
+        d="m9.75 9.75 4.5 4.5m0-4.5-4.5 4.5M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" />
+    </svg>
+
+    <span class="text-base text-primary">
+      Failed to create Support Ticket
+    </span>
+  </span>
+
+
+  <span>
+    An error occured while creating your support ticket:
+  </span>
+
+  <span class="text-red block w-full text-center">
+    {{ error || 'Unknown Error' }}
+  </span>
+</div>
+
+
+<div class="flex flex-row justify-center items-center gap-2">
+
+  <button *ngIf="state === 'done' && !!url && dialogRef.data.type === 'github' && !dialogRef.data.generateUrl "
+    class="bg-blue" (click)="integration.openExternal(url)">Open Issue</button>
+
+  <button *ngIf="state === 'done' && !!url && dialogRef.data.type === 'github' && !dialogRef.data.generateUrl "
+    (click)="copyUrl()">Copy URL</button>
+
+  <button (click)="dialogRef.close()" class="btn">Close</button>
+</div>
diff --git a/desktop/angular/src/app/pages/support/progress-dialog/progress-dialog.ts b/desktop/angular/src/app/pages/support/progress-dialog/progress-dialog.ts
new file mode 100644
index 00000000..32deb205
--- /dev/null
+++ b/desktop/angular/src/app/pages/support/progress-dialog/progress-dialog.ts
@@ -0,0 +1,173 @@
+import { ComponentPortal } from "@angular/cdk/portal";
+import { HttpErrorResponse } from "@angular/common/http";
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ComponentRef, EventEmitter, OnInit, inject } from "@angular/core";
+import { SFNG_DIALOG_REF, SfngDialogRef, SfngDialogService } from "@safing/ui";
+import { Observable, map, mergeMap, of } from "rxjs";
+import { INTEGRATION_SERVICE } from "src/app/integration";
+import { SupportHubService, SupportSection } from "src/app/services";
+import { ActionIndicatorService } from "src/app/shared/action-indicator";
+
+export interface TicketData {
+  debugInfo: string;
+  repo: string;
+  title: string;
+  sections: SupportSection[];
+}
+
+export interface GithubIssue extends TicketData {
+  type: 'github',
+  generateUrl?: boolean;
+  preset?: string;
+}
+
+export interface PrivateTicket extends TicketData {
+  type: 'private',
+  email?: string,
+}
+
+export type TicketInfo = GithubIssue | PrivateTicket;
+
+
+@Component({
+  templateUrl: './progress-dialog.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  styles: [
+    `
+    :host {
+      @apply block flex flex-col gap-8 relative;
+    }
+    `,
+  ]
+})
+export class SupportProgressDialogComponent implements OnInit {
+
+  /** Static method to open the support-progress dialog. */
+  static open(dialog: SfngDialogService, data: TicketInfo): Observable<void> {
+    const ref = dialog.create(SupportProgressDialogComponent, {
+      data,
+      dragable: true,
+      backdrop: false,
+      autoclose: false,
+    });
+
+    return (ref.contentRef() as ComponentRef<SupportProgressDialogComponent>)
+      .instance
+      .done;
+  }
+
+
+  private readonly cdr = inject(ChangeDetectorRef);
+  private readonly supporthub = inject(SupportHubService);
+  private readonly uai = inject(ActionIndicatorService);
+
+  readonly integration = inject(INTEGRATION_SERVICE);
+
+  readonly dialogRef: SfngDialogRef<this, any, TicketInfo> = inject(SFNG_DIALOG_REF);
+
+  /** Holds the current state of the issue-creation */
+  state: '' | 'debug-info' | 'create-issue' | 'create-ticket' | 'done' | 'error' = '';
+
+  /** The URL to the github issue once it was created. */
+  url: string = '';
+
+  /** The error message if one occured */
+  error: string = '';
+
+  /** Emits once the issue has been created successfully */
+  done = new EventEmitter<void>;
+
+  ngOnInit(): void {
+    this.createSupportRequest();
+  }
+
+  setState(state: typeof this['state']) {
+    this.state = state;
+    this.cdr.detectChanges();
+  }
+
+  createSupportRequest(): void {
+    const data = this.dialogRef.data;
+    let stream = of('')
+
+    // Upload debug info
+    if (data.debugInfo) {
+      stream = new Observable((observer) => {
+        this.state = 'debug-info';
+        this.cdr.detectChanges();
+
+        this.supporthub.uploadText('debug-info', data.debugInfo)
+          .subscribe(observer);
+      })
+    }
+
+    // either create on github or create a private ticket through support-hub
+    if (data.type === 'github') {
+      stream = stream.pipe(
+        mergeMap((url) => {
+          this.state = 'create-issue';
+          this.cdr.detectChanges();
+
+          return this.supporthub.createIssue(
+            data.repo,
+            data.preset || '',
+            data.title,
+            data.sections,
+            url,
+            {
+              generateUrl: data.generateUrl || false
+            },
+          );
+        })
+      )
+    } else {
+      stream = stream.pipe(
+        mergeMap((url) => {
+          this.state = 'create-ticket';
+          this.cdr.markForCheck();
+
+          return this.supporthub.createTicket(
+            data.repo,
+            data.title,
+            data.email || '',
+            data.sections,
+            url
+          )
+        }),
+        map(() => '')
+      )
+    }
+
+    stream.subscribe({
+      next: (url) => {
+        this.state = 'done';
+        this.url = url;
+        this.cdr.markForCheck();
+
+        this.done.next();
+      },
+
+      error: (err) => {
+        console.error("error", err);
+
+        this.state = 'error';
+        if (err instanceof HttpErrorResponse && err.error instanceof ProgressEvent) {
+          this.error = err.statusText;
+        } else {
+          this.error = this.uai.getErrorMessage(err);
+        }
+
+        this.cdr.markForCheck();
+      }
+    });
+  }
+
+  copyUrl() {
+    if (!this.url) {
+      return
+    }
+
+    this.integration.writeToClipboard(this.url)
+      .then(() => this.uai.success('URL Copied To Clipboard'))
+      .catch(err => this.uai.error('Failed to Copy To Clipboard', this.uai.getErrorMessage(err)))
+  }
+}
diff --git a/desktop/angular/src/app/pages/support/support.html b/desktop/angular/src/app/pages/support/support.html
new file mode 100644
index 00000000..2ad9eca2
--- /dev/null
+++ b/desktop/angular/src/app/pages/support/support.html
@@ -0,0 +1,50 @@
+<div class="header">
+  <h4 class="breadcrumbs">
+    <span>Get Help</span>
+  </h4>
+  <app-expertise></app-expertise>
+</div>
+
+<div class="list-container" [@fadeIn]="true">
+  <div *ngFor="let section of supportTypes" class="page-section" [class.small]="section.style === 'small'">
+    <div *ngIf="!!section.title" class="section-title">
+      <h4 class="text-lg text-primary -mt-1.5">{{section.title}}</h4>
+    </div>
+
+    <div class="option-list">
+      <section *ngFor="let item of section.choices" (click)="openPage(item)" [@fadeInList]="section.choices.length">
+        <fa-icon *ngIf="!!item.type" icon="external-link-alt"></fa-icon>
+
+        <h3>{{item.title}}</h3>
+        <label *ngIf="!item.type" class="secondary-text">{{ item.shortHelp || item.prologue}}</label>
+        <label *ngIf="item.type" class="secondary-text">{{ item.shortHelp}}</label>
+      </section>
+    </div>
+  </div>
+</div>
+
+<!--
+TODO: Remove when not needed anymore.
+<div class="list-container">
+  <div class="page-section">
+    <div class="section-title">
+      <h4 class="text-lg text-primary -mt-1.5">FAQ</h4>
+    </div>
+
+    <input type="text" [(ngModel)]="searchTerm" (ngModelChange)="searchFaqs.next($event)" placeholder="Search FAQs"
+      class="mb-2">
+
+    <div class="flex flex-col gap-2">
+      <section *ngFor="let faq of faqEntries" [@fadeInList]="faqEntries.length" (click)="openIssue(faq)"
+        class="flex flex-row items-center w-full p-3 bg-gray-200 rounded cursor-pointer hover:bg-gray-300">
+        <span class="flex-grow">
+          {{ faq.title }}
+        </span>
+        <fa-icon icon="external-link-alt" class="text-secondary"></fa-icon>
+      </section>
+    </div>
+  </div>
+</div>
+-->
+
+<div class="flex-grow"></div>
diff --git a/desktop/angular/src/app/pages/support/support.scss b/desktop/angular/src/app/pages/support/support.scss
new file mode 100644
index 00000000..fd3ddd50
--- /dev/null
+++ b/desktop/angular/src/app/pages/support/support.scss
@@ -0,0 +1,77 @@
+:host {
+  width: 100%;
+  display: flex;
+  flex-direction: column;
+  height: 100%;
+  overflow: auto;
+}
+
+.list-container {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: flex-start;
+
+  .section-title {
+    margin-top: 20px;
+    margin-bottom: 40px;
+    position: relative;
+    border-bottom: 1px solid rgba(255, 255, 255, .2);
+
+    h4 {
+      position: absolute;
+      top: -0.5rem;
+      background-color: var(--background);
+      @apply pr-8;
+    }
+  }
+
+  .page-section {
+    width: 100%;
+    display: flex;
+    justify-content: stretch;
+    align-items: stretch;
+    flex-direction: column;
+    @apply px-4;
+
+    @media (min-width: 1250px) {
+      max-width: 800px;
+    }
+  }
+
+  .option-list {
+    display: grid;
+    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
+    grid-gap: 20px;
+    grid-auto-rows: 1fr;
+
+    width: 100%;
+    margin-bottom: 20px;
+
+    section {
+      @apply bg-cards-secondary;
+      @apply p-8;
+      @apply rounded;
+      transition: all 250ms ease-in-out;
+      position: relative;
+      cursor: pointer;
+
+      &:hover {
+        @apply bg-cards-tertiary;
+      }
+
+      fa-icon {
+        position: absolute;
+        top: 1rem;
+        right: 1rem;
+        opacity: .4;
+      }
+    }
+
+
+  }
+
+  .small .option-list section {
+    @apply p-4;
+  }
+}
diff --git a/desktop/angular/src/app/pages/support/support.ts b/desktop/angular/src/app/pages/support/support.ts
new file mode 100644
index 00000000..4bd89940
--- /dev/null
+++ b/desktop/angular/src/app/pages/support/support.ts
@@ -0,0 +1,97 @@
+import { Component, DestroyRef, OnInit, inject } from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
+import { Router } from '@angular/router';
+import { BehaviorSubject, combineLatest, debounceTime } from 'rxjs';
+import { Issue, SupportHubService } from 'src/app/services';
+import { fadeInAnimation, fadeInListAnimation } from 'src/app/shared/animations';
+import { FuzzySearchService } from 'src/app/shared/fuzzySearch';
+import { SupportType, supportTypes } from './pages';
+import { INTEGRATION_SERVICE } from 'src/app/integration';
+
+@Component({
+  templateUrl: './support.html',
+  styleUrls: ['./support.scss'],
+  animations: [
+    fadeInListAnimation,
+    fadeInAnimation,
+  ]
+})
+export class SupportPageComponent implements OnInit {
+  // make supportTypes available in the page template.
+  readonly supportTypes = supportTypes;
+
+  private readonly destroyRef = inject(DestroyRef);
+  private readonly integration = inject(INTEGRATION_SERVICE);
+
+  /** @private The current search term for the FAQ entries. */
+  searchFaqs = new BehaviorSubject<string>('');
+
+  searchTerm: string = '';
+
+  /** A list of all faq entries loaded from the Support Hub */
+  allFaqEntries: Issue<Date>[] = [];
+
+  /** A list of faq entries to show */
+  faqEntries: Issue<Date>[] = [];
+
+  constructor(
+    private router: Router,
+    private searchService: FuzzySearchService,
+    private supportHub: SupportHubService,
+  ) { }
+
+  ngOnInit(): void {
+    combineLatest([
+      this.searchFaqs,
+      this.supportHub.loadIssues()
+    ])
+      .pipe(
+        takeUntilDestroyed(this.destroyRef),
+        debounceTime(200),
+      )
+      .subscribe(([searchTerm, allFaqEntries]) => {
+        this.allFaqEntries = allFaqEntries
+          .filter(issue => issue.labels?.includes("faq"))
+          .map(issue => {
+            return {
+              ...issue,
+
+              title: issue.title.replace("FAQ: ", "")
+            }
+          })
+
+        if (searchTerm === '') {
+          this.faqEntries = [
+            ...this.allFaqEntries
+          ]
+
+          return;
+        }
+
+        this.faqEntries = this.searchService.searchList(this.allFaqEntries, searchTerm, {
+          disableHighlight: true,
+          shouldSort: true,
+          isCaseSensitive: false,
+          minMatchCharLength: 3,
+          keys: [
+            'title',
+            'body',
+          ],
+        }).map(res => res.item)
+      })
+  }
+
+  openIssue(issue: Issue<any>) {
+    this.integration.openExternal(issue.url);
+  }
+
+  openPage(item: SupportType) {
+    if (item.type === 'link') {
+      this.integration.openExternal(item.url);
+      return;
+    }
+
+    this.router.navigate(['/support', item.id]);
+  }
+}
+
diff --git a/desktop/angular/src/app/prompt-entrypoint/prompt-entrypoint.ts b/desktop/angular/src/app/prompt-entrypoint/prompt-entrypoint.ts
new file mode 100644
index 00000000..23bf9f01
--- /dev/null
+++ b/desktop/angular/src/app/prompt-entrypoint/prompt-entrypoint.ts
@@ -0,0 +1,78 @@
+import { CommonModule } from "@angular/common";
+import { Component, OnInit, TrackByFunction, inject } from "@angular/core";
+import { AppProfile, AppProfileService, PortapiService } from "@safing/portmaster-api";
+import { combineLatest, combineLatestAll, forkJoin, map, merge, mergeAll, of, switchMap } from "rxjs";
+import { ConnectionPrompt, NotificationType, NotificationsService } from "../services";
+import { SfngAppIconModule } from "../shared/app-icon";
+import { getCurrent } from '@tauri-apps/api/window';
+import { CountryFlagModule } from "../shared/country-flag";
+
+interface Prompt {
+  prompts: ConnectionPrompt[];
+  profile: AppProfile;
+}
+
+@Component({
+  standalone: true,
+  selector: 'app-root',
+  templateUrl: './prompt.html',
+  imports: [
+    CommonModule,
+    SfngAppIconModule,
+    CountryFlagModule
+  ]
+})
+export class PromptEntryPointComponent implements OnInit {
+  private readonly notificationService = inject(NotificationsService);
+  private readonly portapi = inject(PortapiService);
+  private readonly profileService = inject(AppProfileService);
+
+  prompts: Prompt[] = [];
+
+  trackPrompt: TrackByFunction<ConnectionPrompt> = (_, p) => p.EventID;
+  trackProfile: TrackByFunction<Prompt> = (_, p) => p.profile._meta!.Key;
+
+  ngOnInit(): void {
+
+    this.notificationService
+      .new$
+      .pipe(
+        map(notifs => {
+          return notifs.filter(n => n.Type === NotificationType.Prompt && n.EventID.startsWith("filter:prompt"))
+        }),
+        switchMap(notifications => {
+          const distictProfiles = new Map<string, ConnectionPrompt[]>();
+          notifications.forEach(n => {
+            const key = `${n.EventData!.Profile.Source}/${n.EventData!.Profile.ID}`
+            const arr = distictProfiles.get(key) || [];
+            arr.push(n);
+            distictProfiles.set(key, arr);
+          });
+
+          if (distictProfiles.size === 0) {
+            return of([]);
+          }
+
+          return combineLatest(Array.from(distictProfiles.entries()).map(([key, prompts]) => forkJoin({
+            profile: this.profileService.getAppProfile(key),
+            prompts: of(Array.from(prompts))
+          })));
+        })
+      )
+      .subscribe(result => {
+        this.prompts = result;
+
+        // show the prompt now since we're ready
+        if (this.prompts.length) {
+          getCurrent()!.show();
+        }
+      })
+  }
+
+  selectAction(prompt: ConnectionPrompt, action: string) {
+    prompt.SelectedActionID = action;
+
+    this.portapi.update(prompt._meta!.Key, prompt)
+      .subscribe();
+  }
+}
diff --git a/desktop/angular/src/app/prompt-entrypoint/prompt.html b/desktop/angular/src/app/prompt-entrypoint/prompt.html
new file mode 100644
index 00000000..8667398e
--- /dev/null
+++ b/desktop/angular/src/app/prompt-entrypoint/prompt.html
@@ -0,0 +1,65 @@
+<div class="w-full h-full flex flex-col p-4 gap-4">
+
+  <header class="flex flex-row justify-start items-center gap-4">
+    <img src="/assets/icons/pm_light_256.png" class="w-10 h-10">
+    <h1 class="m-0">Portmaster</h1>
+  </header>
+
+  <div class="flex flex-col gap-2">
+    <label class="text-xxs font-light text-white">Some applications want to establish connections:</label>
+
+    <ng-container *ngFor="let prompt of prompts; trackBy: trackProfile">
+
+      <div class="flex flex-row items-start justify-start gap-4 rounded bg-gray-100 shadow-inner p-2">
+        <div style="min-width: 200px"
+          class="flex flex-row items-center justify-start gap-3 flex-initial flex-shrink-0 flex-grow-0 pt-2">
+          <app-icon class="[--app-icon-size:48px]" [profile]="prompt.profile"></app-icon>
+          <span class="flex flex-col items-start justify-start">
+            <span>{{ prompt.profile.Name }}</span>
+            <span class="text-white text-xxs font-light">{{ prompt.profile.LinkedPath }}</span>
+          </span>
+        </div>
+
+        <div class="flex flex-col gap-2 flex-grow">
+          <table class="custom flex-grow">
+            <tbody>
+              <ng-container *ngFor="let prompt of prompt.prompts; trackBy: trackPrompt; let last=last">
+
+                <tr>
+                  <td class="text-secondary p-1 w-16">Domain:</td>
+                  <td class="p-1 text-left">
+                    <span [appCountryFlags]="prompt.EventData?.Entity?.Country || ''"></span>
+                    <span>
+                      {{ prompt.EventData?.Entity?.Domain || 'N/A' }}
+                    </span>
+                  </td>
+                  <td rowspan="2">
+                    <div class="flex flex-row gap-2 items-center justify-end">
+                      <button *ngFor="let action of prompt.AvailableActions"
+                        (click)="selectAction(prompt, action.ID)">{{action.Text}}</button>
+                    </div>
+                  </td>
+                </tr>
+
+                <tr>
+                  <td class="text-secondary p-1 w-16">IP:</td>
+                  <td class="p-1 text-left">{{ prompt.EventData?.Entity?.IP || 'N/A' }}</td>
+                </tr>
+
+
+                <tr *ngIf="!last">
+                  <td colspan="3">
+                    <div class="block h-2 mb-2 border-b border-dashed border-gray-300"></div>
+                  </td>
+                </tr>
+
+              </ng-container>
+
+            </tbody>
+          </table>
+        </div>
+      </div>
+    </ng-container>
+  </div>
+
+</div>
\ No newline at end of file
diff --git a/desktop/angular/src/app/services/index.ts b/desktop/angular/src/app/services/index.ts
new file mode 100644
index 00000000..d4b95f1d
--- /dev/null
+++ b/desktop/angular/src/app/services/index.ts
@@ -0,0 +1,8 @@
+export { NotificationsService } from './notifications.service';
+export * from './notifications.types';
+export * from './session-data.service';
+export { StatusService } from './status.service';
+export * from './status.types';
+export * from './supporthub.service';
+export * from './ui-state.service';
+
diff --git a/desktop/angular/src/app/services/notifications.service.spec.ts b/desktop/angular/src/app/services/notifications.service.spec.ts
new file mode 100644
index 00000000..8789bf32
--- /dev/null
+++ b/desktop/angular/src/app/services/notifications.service.spec.ts
@@ -0,0 +1,354 @@
+import { TestBed } from '@angular/core/testing';
+import { WebsocketService } from '@safing/portmaster-api';
+import { MockWebSocketSubject } from '@safing/portmaster-api/testing';
+import { PartialObserver } from 'rxjs';
+import { NotificationsService } from './notifications.service';
+import { Notification, NotificationType } from './notifications.types';
+
+describe('NotificationsService', () => {
+  let service: NotificationsService;
+  let mock: MockWebSocketSubject;
+
+  beforeEach(() => {
+    TestBed.configureTestingModule({
+      providers: [
+        {
+          provide: WebsocketService,
+          useValue: MockWebSocketSubject,
+        }
+      ]
+    });
+    service = TestBed.inject(NotificationsService);
+    mock = MockWebSocketSubject.lastMock!;
+  });
+
+  afterEach(() => {
+    mock.close();
+  })
+
+  it('should be created', () => {
+    expect(service).toBeTruthy();
+  });
+
+  it('should allow to query for notifications', () => {
+    const observer = createSpyObserver();
+    service.query("updates:").subscribe(observer);
+
+    mock.expectLastMessage()
+    mock.expectLastMessage('type').toBe('query')
+    mock.expectLastMessage('query').toBe('notifications:all/updates:')
+
+    mock.lastMultiplex!.next({
+      id: mock.lastRequestId!,
+      type: 'ok',
+      data: {
+        ID: 'updates:core-update-available',
+        Message: 'Update available',
+      },
+      key: 'notifications:all/updates:core-update-available'
+    })
+
+    mock.lastMultiplex!.next({
+      id: mock.lastRequestId!,
+      type: 'ok',
+      data: {
+        ID: 'updates:ui-reload-required',
+        Message: 'UI reload required',
+      },
+      key: 'notifications:all/updates:ui-reload-required'
+    })
+
+    // query collects all notifications using toArray
+    // so nothing should be nexted yet.
+    expect(observer.next).not.toHaveBeenCalled()
+    expect(observer.error).not.toHaveBeenCalled()
+    expect(observer.complete).not.toHaveBeenCalled()
+
+    // finish the strea
+    mock.lastMultiplex!.next({
+      id: mock.lastRequestId!,
+      type: 'done'
+    })
+
+    expect(observer.next).toHaveBeenCalledWith([
+      {
+        ID: 'updates:core-update-available',
+        Message: 'Update available',
+      },
+      {
+        ID: 'updates:ui-reload-required',
+        Message: 'UI reload required',
+      }
+    ])
+    expect(observer.error).not.toHaveBeenCalled()
+    expect(observer.complete).toHaveBeenCalled()
+  });
+
+  describe('execute notification actions', () => {
+    it('should work using a notif object', () => {
+      let observer = createSpyObserver();
+      let notif: any = {
+        ID: 'updates:core-update-available',
+        Message: 'An update is available',
+        Type: NotificationType.Info,
+        AvailableActions: [{ ID: "restart", Text: "Restart" }],
+      }
+
+      service.execute(notif, "restart").subscribe(observer);
+
+      expect(observer.error).not.toHaveBeenCalled()
+
+      mock.expectLastMessage('type').toBe('update');
+      mock.expectLastMessage('key').toBe('notifications:all/updates:core-update-available');
+      mock.expectLastMessage('data').toEqual({
+        ID: 'updates:core-update-available',
+        SelectedActionID: 'restart',
+      });
+
+      mock.lastMultiplex!.next({
+        id: mock.lastRequestId!,
+        type: 'success'
+      })
+
+      expect(observer.next).toHaveBeenCalledWith(undefined);
+      expect(observer.error).not.toHaveBeenCalled();
+      expect(observer.complete).toHaveBeenCalled();
+    });
+
+    it('should throw when executing an unknown action using a notif object', () => {
+      let observer = createSpyObserver();
+      let notif: any = {
+        ID: 'updates:core-update-available',
+        Message: 'An update is available',
+        Type: NotificationType.Info,
+        AvailableActions: [{ ID: "restart", Text: "Restart" }],
+      }
+
+      service.execute(notif, "restart-with-typo").subscribe(observer);
+
+      expect(observer.error).toHaveBeenCalled()
+      expect(mock.lastMessageSent).toBeUndefined();
+    });
+
+    it('should work using a key', () => {
+      let observer = createSpyObserver();
+      service.execute("updates:core-update-available", "restart").subscribe(observer);
+
+      expect(observer.error).not.toHaveBeenCalled()
+
+      mock.expectLastMessage('type').toBe('update');
+      mock.expectLastMessage('key').toBe('notifications:all/updates:core-update-available');
+      mock.expectLastMessage('data').toEqual({
+        ID: 'updates:core-update-available',
+        SelectedActionID: 'restart',
+      });
+
+      mock.lastMultiplex!.next({
+        id: mock.lastRequestId!,
+        type: 'success'
+      })
+
+      expect(observer.next).toHaveBeenCalledWith(undefined);
+      expect(observer.error).not.toHaveBeenCalled();
+      expect(observer.complete).toHaveBeenCalled();
+    });
+  })
+
+  describe('resolving pending actions', () => {
+    it('should work using a notif object', () => {
+      let observer = createSpyObserver();
+      let notif: any = {
+        ID: 'updates:core-update-available',
+        Message: 'An update is available',
+        Type: NotificationType.Info,
+        Responded: Math.round(Date.now() / 1000),
+        SelectedActionID: "restart",
+      }
+
+      service.resolvePending(notif, 100).subscribe(observer)
+
+      expect(observer.error).not.toHaveBeenCalled()
+
+      mock.expectLastMessage('type').toBe('update');
+      mock.expectLastMessage('key').toBe('notifications:all/updates:core-update-available');
+      mock.expectLastMessage('data').toEqual({
+        ID: 'updates:core-update-available',
+        Executed: 100,
+      });
+
+      mock.lastMultiplex!.next({
+        id: mock.lastRequestId!,
+        type: 'success'
+      })
+
+      expect(observer.next).toHaveBeenCalledWith(undefined);
+      expect(observer.error).not.toHaveBeenCalled();
+      expect(observer.complete).toHaveBeenCalled();
+    });
+
+    it('should throw on an executed notification using a notif object', () => {
+      let observer = createSpyObserver();
+      let notif: any = {
+        ID: 'updates:core-update-available',
+        Message: 'An update is available',
+        Type: NotificationType.Info,
+        SelectedActionID: 'restart',
+        Responded: Math.round(Date.now() / 1000),
+        Executed: Math.round(Date.now() / 1000),
+      }
+
+      service.resolvePending(notif).subscribe(observer);
+
+      expect(observer.error).toHaveBeenCalled()
+      expect(mock.lastMessageSent).toBeUndefined();
+    });
+
+    it('should work using a key', () => {
+      let observer = createSpyObserver();
+      service.resolvePending("updates:core-update-available", 100).subscribe(observer);
+
+      expect(observer.error).not.toHaveBeenCalled()
+
+      mock.expectLastMessage('type').toBe('update');
+      mock.expectLastMessage('key').toBe('notifications:all/updates:core-update-available');
+      mock.expectLastMessage('data').toEqual({
+        ID: 'updates:core-update-available',
+        Executed: 100,
+      });
+
+      mock.lastMultiplex!.next({
+        id: mock.lastRequestId!,
+        type: 'success'
+      })
+
+      expect(observer.next).toHaveBeenCalledWith(undefined);
+      expect(observer.error).not.toHaveBeenCalled();
+      expect(observer.complete).toHaveBeenCalled();
+    });
+  });
+
+  describe('watching notifications', () => {
+    it('should be possible to watch for new and action-required notifs only', () => {
+      const observer = createSpyObserver();
+      service.new$.subscribe(observer);
+
+      let send = (msg: any) => {
+        mock.lastMultiplex!.next({
+          id: mock.lastRequestId!,
+          data: msg,
+          type: 'ok',
+          key: "notifications:all/" + msg.ID,
+        })
+      }
+
+      let n1 = {
+        ID: "new-notif-1",
+        Message: "a new notification",
+        Responded: 0,
+        Executed: 0,
+        Expires: Math.round(Date.now() / 1000) + 60 * 60,
+      }
+      let n2 = {
+        ID: "new-notif-2",
+        Message: "a new notification",
+        Responded: 0,
+        Executed: 0,
+        Expires: 0,
+        AvailableActions: [{ ID: "action-id", Text: "some action" }],
+      }
+      let expired = {
+        ID: "new-notif-3",
+        Message: "a new notification",
+        Responded: 0,
+        Executed: 0,
+        Expires: 100,
+      }
+      let pending = {
+        ID: "new-notif-4",
+        Message: "a new notification",
+        Responded: Math.round(Date.now() / 1000),
+        Executed: 0,
+        SelectedActionID: "test",
+      }
+
+      send(n1)
+      send(expired)
+      send(n2)
+      send(pending)
+
+      expect(observer.complete).not.toHaveBeenCalled()
+      expect(observer.error).not.toHaveBeenCalled()
+      expect(observer.next).toHaveBeenCalledTimes(2)
+      expect(observer.next).toHaveBeenCalledWith(n1)
+      expect(observer.next).toHaveBeenCalledWith(n2)
+    })
+  })
+
+  describe('creating notifications', () => {
+    it('should be possible using an object', () => {
+      let notification: Partial<Notification<any>> = {
+        ID: 'my-awesome-notification',
+        AvailableActions: [
+          { ID: 'action-no', Text: 'No' },
+          { ID: 'force-no', Text: 'Hell No' }
+        ],
+        Message: 'Update complete, do you want to reboot?',
+        Persistent: true,
+        Type: NotificationType.Warning,
+      }
+
+      let observer = createSpyObserver();
+      service.create(notification).subscribe(observer);
+
+      expect(observer.error).not.toHaveBeenCalled();
+
+      mock.expectLastMessage('type').toBe('create')
+      mock.expectLastMessage('key').toBe('notifications:all/my-awesome-notification')
+      mock.expectLastMessage('data').toEqual(notification);
+      expect(notification.Created).toBeTruthy();
+
+      mock.lastMultiplex!.next({
+        type: 'success',
+        id: mock.lastRequestId!,
+      })
+
+      expect(observer.complete).toHaveBeenCalled()
+      expect(observer.error).not.toHaveBeenCalled()
+      expect(observer.next).toHaveBeenCalledWith(undefined)
+    })
+
+    it('should be possible using parameters', () => {
+      let observer = createSpyObserver();
+      service.create('my-param-notification', 'message', NotificationType.Prompt, {
+        Persistent: true,
+        Created: 100,
+      }).subscribe(observer);
+
+      expect(observer.error).not.toHaveBeenCalled();
+
+      mock.expectLastMessage('type').toBe('create')
+      mock.expectLastMessage('key').toBe('notifications:all/my-param-notification')
+      mock.expectLastMessage('data').toEqual({
+        Type: NotificationType.Prompt,
+        ID: 'my-param-notification',
+        Message: 'message',
+        Created: 100,
+        Persistent: true,
+      });
+
+      mock.lastMultiplex!.next({
+        type: 'success',
+        id: mock.lastRequestId!,
+      })
+
+      expect(observer.complete).toHaveBeenCalled()
+      expect(observer.error).not.toHaveBeenCalled()
+      expect(observer.next).toHaveBeenCalledWith(undefined)
+
+    })
+  })
+});
+
+function createSpyObserver(): PartialObserver<any> {
+  return jasmine.createSpyObj("observer", ["next", "error", "complete"])
+}
diff --git a/desktop/angular/src/app/services/notifications.service.ts b/desktop/angular/src/app/services/notifications.service.ts
new file mode 100644
index 00000000..b15949f2
--- /dev/null
+++ b/desktop/angular/src/app/services/notifications.service.ts
@@ -0,0 +1,395 @@
+import { HttpClient } from '@angular/common/http';
+import { Injectable, TrackByFunction, inject } from '@angular/core';
+import { Params, Router } from '@angular/router';
+import { PortapiService, RetryableOpts } from '@safing/portmaster-api';
+import { BehaviorSubject, Observable, combineLatest, defer, throwError } from 'rxjs';
+import { map, share, toArray } from 'rxjs/operators';
+import { environment } from 'src/environments/environment';
+import { ActionIndicatorService } from '../shared/action-indicator';
+import { Action, ActionHandler, NetqueryAction, Notification, NotificationState, NotificationType, OpenPageAction, OpenProfileAction, OpenSettingAction, OpenURLAction, PageIDs, WebhookAction } from './notifications.types';
+import { VirtualNotification } from './virtual-notification';
+import { INTEGRATION_SERVICE } from '../integration';
+
+@Injectable({
+  providedIn: 'root'
+})
+export class NotificationsService {
+  private readonly integration = inject(INTEGRATION_SERVICE);
+
+  /**
+   * A {@link TrackByFunction} from tracking notifications.
+   */
+  static trackBy: TrackByFunction<Notification<any>> = function (_: number, n: Notification<any>) {
+    return n.EventID;
+  };
+
+  /**
+   * This object contains handler methods for all
+   * notification action types we currently support.
+   */
+  private actionHandler: {
+    [key in Action['Type']]: (a: any) => Promise<any>;
+  } = {
+      '': async () => { },
+      'open-url': async (a: OpenURLAction) => {
+        await this.integration.openExternal(a.Payload);
+      },
+      'open-profile': (a: OpenProfileAction) => this.router.navigate([
+        '/app', ...a.Payload.split('/')
+      ]),
+      'open-setting': (a: OpenSettingAction) => {
+        if (a.Payload.Profile) {
+          return this.router.navigate(['/app', ...a.Payload.Profile.split('/')], {
+            queryParams: {
+              setting: a.Payload.Key,
+              tab: 'settings'
+            }
+          })
+        }
+        return this.router.navigate(['/settings'], {
+          queryParams: {
+            setting: a.Payload.Key
+          }
+        })
+      },
+      "open-page": (a: OpenPageAction) => {
+        let pageID: keyof typeof PageIDs | null = null;
+        let queryParams: Params | null = null;
+
+        if (typeof a.Payload === 'string') {
+          pageID = a.Payload;
+          queryParams = {};
+        } else {
+          pageID = a.Payload.id;
+          queryParams = a.Payload.query;
+        }
+
+        const url = PageIDs[pageID];
+        if (!!url) {
+          return this.router.navigate([url], {
+            queryParams,
+          })
+        }
+        return Promise.reject('not yet supported');
+      },
+      "ui": (a: ActionHandler<any>) => {
+        return a.Run(a);
+      },
+      "netquery": (a: NetqueryAction) => {
+        return this.router.navigate(['/monitor'], {
+          queryParams: {
+            q: a.Payload,
+          }
+        })
+      },
+      "call-webhook": (a: WebhookAction) => {
+        let method = a.Payload.Method;
+        if (method === '') {
+          if (a.Payload.Payload !== undefined && a.Payload.Payload !== null) {
+            method = 'PUT'
+          } else {
+            method = 'POST'
+          }
+        }
+        let req = this.http.request(
+          method,
+          `${environment.httpAPI}/v1/${a.Payload.URL}`,
+          {
+            body: a.Payload.Payload,
+            observe: 'response',
+            responseType: 'arraybuffer',
+          }
+        )
+        return new Promise((resolve, reject) => {
+          const observer = this.actionIndicator.httpObserver();
+          req.subscribe({
+            next: res => {
+              if (a.Payload.ResultAction === 'display') {
+                if (!!observer?.next) {
+                  observer.next(res)
+                }
+              }
+              resolve(res);
+            },
+            error: err => {
+              if (!!observer?.error) {
+                observer.error(err);
+              }
+              reject(err);
+            },
+          })
+        })
+      }
+    };
+
+  // For testing purposes only
+  VirtualNotification = VirtualNotification;
+
+  /** A map of virtual notifications */
+  private _virtualNotifications = new Map<string, VirtualNotification<any>>();
+
+  /* Emits all virtual notifications whenever they change */
+  private _virtualNotificationChange = new BehaviorSubject<VirtualNotification<any>[]>([]);
+
+  /* A copy of the static trackBy function. */
+  trackBy = NotificationsService.trackBy;
+
+  /** The prefix that all notifications have */
+  readonly notificationPrefix = "notifications:all/";
+
+  /** new$ emits new (active) notifications as they arrive */
+  readonly new$: Observable<Notification<any>[]>;
+
+  constructor(
+    private portapi: PortapiService,
+    private router: Router,
+    private http: HttpClient,
+    private actionIndicator: ActionIndicatorService,
+  ) {
+    this.new$ = this.watchAll().pipe(
+      src => this.injectVirtual(src),
+      map(msgs => {
+        return msgs.filter(msg => msg.State === NotificationState.Active || !msg.State)
+      }),
+      share({ connector: () => new BehaviorSubject<Notification<any>[]>([]) })
+    );
+  }
+
+  /**
+   * Inject a new virtual notification. If not configured otherwise,
+   * the notification is automatically removed when executed.
+   */
+  inject(notif: VirtualNotification<any>, { autoRemove } = { autoRemove: true }) {
+    this._virtualNotifications.set(notif.EventID, notif);
+    this._virtualNotificationChange.next(
+      Array.from(this._virtualNotifications.values())
+    )
+
+    if (autoRemove) {
+      notif.executed.subscribe({ complete: () => this.deject(notif) });
+    }
+  }
+
+  /** Deject (remove) a virtual notification. */
+  deject(notif: VirtualNotification<any>) {
+    this._virtualNotifications.delete(notif.EventID);
+
+    this._virtualNotificationChange.next(
+      Array.from(this._virtualNotifications.values())
+    )
+  }
+
+  /** A {@link MonoOperatorFunction} that injects all virtual observables into the source. */
+  private injectVirtual(obs: Observable<Notification<any>[]>): Observable<Notification[]> {
+    return combineLatest([
+      obs,
+      this._virtualNotificationChange,
+    ]).pipe(
+      map(([real, virtual]) => {
+        return [
+          ...real,
+          ...virtual,
+        ]
+      })
+    )
+  }
+
+  /**
+   * Watch all notifications that match a query.
+   *
+   *
+   * @param query The query to watch. Defaulta to all notifcations
+   * @param opts Optional retry configuration options.
+   */
+  watchAll<T = any>(query: string = '', opts?: RetryableOpts): Observable<Notification<T>[]> {
+    return this.portapi.watchAll<Notification<T>>(this.notificationPrefix + query, opts);
+  }
+
+  /**
+   * Query the backend for a list of notifications. In contrast
+   * to {@class PortAPI} query collects all results into an array
+   * first which makes it convenient to be used in *ngFor and
+   * friends. See {@function trackNotification} for a suitable track-by
+   * function.
+   *
+   * @param query The search query.
+   */
+  query(query: string): Observable<Notification<any>[]> {
+    return this.portapi.query<Notification<any>>(this.notificationPrefix + query)
+      .pipe(
+        map(value => value.data),
+        toArray()
+      )
+  }
+
+  /**
+   * Returns the notification by ID.
+   *
+   * @param id The ID of the notification
+   */
+  get<T>(id: string): Observable<Notification<T>> {
+    return this.portapi.get(this.notificationPrefix + id)
+  }
+
+  /**
+   * Execute an action attached to a notification.
+   *
+   * @param n The notification object.
+   * @param actionId The ID of the action to execute.
+   */
+  execute(n: Notification<any>, action: Action): Observable<void>;
+
+  /**
+   * Execute an action attached to a notification.
+   *
+   * @param notificationId The ID of the notification.
+   * @param actionId The ID of the action to execute.
+   */
+  execute(notificationId: string, action: Action): Observable<void>;
+
+  // overloaded implementation of execute
+  execute(notifOrId: Notification<any> | string, action: Action): Observable<void> {
+    const payload: Partial<Notification<any>> = {};
+    if (typeof notifOrId === 'string') {
+      payload.EventID = notifOrId;
+    } else {
+      payload.EventID = notifOrId.EventID;
+    }
+
+    // if it's a virtual notification we should let it handle the action
+    // on it's own.
+    if (!!this._virtualNotifications.get(payload.EventID)) {
+      return defer(async () => {
+        const notif = this._virtualNotifications.get(payload.EventID!);
+        if (!!notif) {
+          notif.selectAction(action.ID);
+        }
+      })
+    }
+
+    return defer(async () => {
+      try {
+        await this.performAction(action);
+
+        // finally, if there's an action ID, mark the notification as resolved.
+        if (!!action.ID) {
+          payload.SelectedActionID = action.ID;
+          const key = this.notificationPrefix + payload.EventID;
+          await this.portapi.update(key, payload).toPromise();
+        }
+      } catch (err: any) {
+        const msg = this.actionIndicator.getErrorMessgae(err);
+        this.actionIndicator.error('Internal Error', 'Failed to perform action: ' + msg)
+      }
+    })
+  }
+
+  async performAction(action: Action) {
+    // if there's an action type defined execute the handler.
+    if (!!action.Type) {
+      const handler = this.actionHandler[action.Type] as (a: Action) => Promise<any>;
+      if (!!handler) {
+        console.log(action);
+        await handler(action);
+      } else {
+        this.actionIndicator.error('Internal Error', 'Cannot handle action type ' + action.Type)
+      }
+    }
+  }
+
+  /**
+   * Resolve a pending notification execution.
+   *
+   * @param n The notification object to resolve the pending execution.
+   * @param time optional The time at which the pending execution took place
+   */
+  resolvePending(n: Notification<any>, time?: number): Observable<void>;
+
+  /**
+   * Resolve a pending notification execution.
+   *
+   * @param n The notification ID to resolve the pending execution.
+   * @param time optional The time at which the pending execution took place
+   */
+  resolvePending(n: string, time?: number): Observable<void>;
+
+  // overloaded implementation of resolvePending.
+  resolvePending(notifOrID: Notification<any> | string, time: number = (Math.round(Date.now() / 1000))): Observable<void> {
+    const payload: Partial<Notification<any>> = {};
+    if (typeof notifOrID === 'string') {
+      payload.EventID = notifOrID;
+    } else {
+      payload.EventID = notifOrID.EventID;
+      if (notifOrID.State === NotificationState.Executed) {
+        return throwError(`Notification ${notifOrID.EventID} already executed`);
+      }
+    }
+
+    payload.State = NotificationState.Responded;
+    const key = this.notificationPrefix + payload.EventID
+    return this.portapi.update(key, payload);
+  }
+
+  /**
+   * Delete a notification.
+   *
+   * @param n The notification to delete.
+   */
+  delete(n: Notification<any>): Observable<void>;
+
+  /**
+   * Delete a notification.
+   *
+   * @param n The notification to delete.
+   */
+  delete(id: string): Observable<void>;
+
+  // overloaded implementation of delete.
+  delete(notifOrId: Notification<any> | string): Observable<void> {
+    return this.portapi.delete(typeof notifOrId === 'string' ? notifOrId : notifOrId.EventID);
+  }
+
+  /**
+   * Create a new notification.
+   *
+   * @param n The notification to create.
+   */
+  create(n: Partial<Notification<any>>): Observable<void>;
+
+  /**
+   * Create a new notification.
+   *
+   * @param id The ID of the notificaiton.
+   * @param message The default message of the notificaiton.
+   * @param type The notification type
+   * @param args Additional arguments for the notification.
+   */
+  create(id: string, message: string, type: NotificationType, args?: Partial<Notification<any>>): Observable<void>;
+
+  // overloaded implementation of create.
+  create(notifOrId: Partial<Notification<any>> | string, message?: string, type?: NotificationType, args?: Partial<Notification<any>>): Observable<void> {
+    if (typeof notifOrId === 'string') {
+      notifOrId = {
+        ...args,
+        EventID: notifOrId,
+        State: NotificationState.Active,
+        Message: message,
+        Type: type,
+      } as Notification<any>; // it's actual Partial but that's fine.
+    }
+
+    if (!notifOrId.EventID) {
+      return throwError(`Notification ID is required`);
+    }
+
+    if (!notifOrId.Message) {
+      return throwError(`Notification message is required`);
+    }
+
+    if (typeof notifOrId.Type !== 'number') {
+      return throwError(`Notification type is required`);
+    }
+
+    return this.portapi.create(this.notificationPrefix + notifOrId.EventID, notifOrId);
+  }
+}
diff --git a/desktop/angular/src/app/services/notifications.types.ts b/desktop/angular/src/app/services/notifications.types.ts
new file mode 100644
index 00000000..7ddf7029
--- /dev/null
+++ b/desktop/angular/src/app/services/notifications.types.ts
@@ -0,0 +1,205 @@
+import { getEnumKey, IntelEntity, Record } from '@safing/portmaster-api';
+
+/**
+ * BaseAction defines a user selectable action and can
+ * be attached to a notification. Once selected,
+ * the action's ID is set as the SelectedActionID
+ * of the notification.
+ */
+export interface BaseAction {
+  // ID uniquely identifies the action. It's safe to
+  // use ID to select a localizable template to use
+  // instead of the Text property. If Type is set
+  // to None the ID may be empty, signifying that this
+  // action is merely to dismiss the notification.
+  ID: string;
+  // Text is the (default) text for the action label.
+  Text: string;
+}
+
+export interface GenericAction extends BaseAction {
+  Type: '';
+}
+
+export interface OpenURLAction extends BaseAction {
+  Type: 'open-url';
+  Payload: string;
+}
+
+export interface OpenPageAction extends BaseAction {
+  Type: 'open-page';
+  Payload: keyof typeof PageIDs | {
+    id: keyof typeof PageIDs,
+    query: {
+      [key: string]: string,
+    }
+  };
+}
+
+export interface NetqueryAction extends BaseAction {
+  Type: 'netquery';
+  Payload: string;
+}
+
+/**
+ * PageIDs holds a list of pages that can be opened using
+ * the OpenPageAction.
+ */
+export const PageIDs = {
+  'monitor': '/monitor',
+  'support': '/support',
+  'settings': '/settings',
+  'apps': '/app/overview',
+  'spn': '/spn',
+}
+
+export interface OpenSettingAction extends BaseAction {
+  Type: 'open-setting';
+  Payload: {
+    Key: string;
+    Profile?: string;
+  }
+}
+
+export interface OpenProfileAction extends BaseAction {
+  Type: 'open-profile';
+  Payload: string;
+}
+
+export interface WebhookAction extends BaseAction {
+  Type: 'call-webhook';
+  Payload: {
+    Method: string;
+    URL: string;
+    Payload: any;
+    ResultAction: 'ignore' | 'display';
+  }
+}
+
+export interface ActionHandler<T> extends BaseAction {
+  Type: 'ui'
+  Run: (vn: T) => Promise<void>;
+  Payload: T;
+}
+
+export type Action = GenericAction
+  | OpenURLAction
+  | OpenPageAction
+  | OpenSettingAction
+  | OpenProfileAction
+  | WebhookAction
+  | NetqueryAction
+  | ActionHandler<any>;
+
+/** All action types that perform in-application routing. */
+export const routingActions = new Set<Action['Type']>([
+  'open-page',
+  'open-profile',
+  'open-setting'
+])
+
+/**
+ * Available types of notifications. Notification
+ * types are mainly for filtering and style related
+ * decisions.
+ */
+export enum NotificationType {
+  // Info is an informational message only.
+  Info = 0,
+  // Warning is a warning message.
+  Warning = 1,
+  // Prompt asks the user for a decision.
+  Prompt = 2,
+  // Error is for error notifications and module
+  // failure status.
+  Error = 3,
+}
+
+export interface ConnectionPromptData {
+  Profile: {
+    ID: string;
+    LinkedPath: string;
+    Source: 'local';
+  };
+  Entity: IntelEntity;
+}
+
+/**
+ * Returns a string representation of the notifcation type.
+ *
+ * @param val The notifcation type
+ */
+export function getNotificationTypeString(val: NotificationType): string {
+  return getEnumKey(NotificationType, val)
+}
+
+/**
+ * Each notification can be in one of six different states
+ * that inform the client on how to handle the notification.
+ */
+export enum NotificationState {
+  // Active describes a notification that is active, no expired and,
+  // if actions are available, still waits for the user to select an
+  // action.
+  Active = "active",
+  // Responded describes a notification where the user has already
+  // selected which action to take but that action is still to be
+  // performed.
+  Responded = "responded",
+  // Responded describes a notification where the user has already
+  // selected which action to take but that action is still to be
+  // performed.
+  Executed = "executed",
+  // Invalid is a UI-only state that is used when the state of a
+  // notification is unknown.
+  Invalid = "invalid",
+}
+
+export interface Notification<T = any> extends Record {
+  // EventID is used to identify a specific notification. It consists of
+  // the module name and a per-module unique event id.
+  // The following format is recommended:
+  // 	<module-id>:<event-id>
+  EventID: string;
+  // GUID is a unique identifier for each notification instance. That is
+  // two notifications with the same EventID must still have unique GUIDs.
+  // The GUID is mainly used for system (Windows) integration and is
+  // automatically populated by the notification package. Average users
+  // don't need to care about this field.
+  GUID: string;
+  // Type is the notification type. It can be one of Info, Warning or Prompt.
+  Type: NotificationType;
+  // Message is the default message shown to the user if no localized version
+  // of the notification is available. Note that the message should already
+  // have any paramerized values replaced. Message may be formatted using
+  // markdown.
+  Message: string;
+  // Title holds a short notification title that quickly informs the user
+  // about the type of notification.
+  Title: string;
+  // Category holds an informative category for the notification and is mainly
+  // used for presentation purposes.
+  Category: string;
+  // EventData contains an additional payload for the notification. This payload
+  // may contain contextual data and may be used by a localization framework
+  // to populate the notification message template.
+  // If EventData implements sync.Locker it will be locked and unlocked together with the
+  // notification. Otherwise, EventData is expected to be immutable once the
+  // notification has been saved and handed over to the notification or database package.
+  EventData: T | null;
+  // Expires holds the unix epoch timestamp at which the notification expires
+  // and can be cleaned up.
+  // Users can safely ignore expired notifications and should handle expiry the
+  // same as deletion.
+  Expires: number;
+  // State describes the current state of a notification. See State for
+  // a list of available values and their meaning.
+  State: NotificationState;
+  // AvailableActions defines a list of actions that a user can choose from.
+  AvailableActions: Action[];
+  // SelectedActionID is updated to match the ID of one of the AvailableActions
+  // based on the user selection.
+  SelectedActionID: string;
+}
+
+export type ConnectionPrompt = Notification<ConnectionPromptData>;
diff --git a/desktop/angular/src/app/services/package.json b/desktop/angular/src/app/services/package.json
new file mode 100644
index 00000000..a4382915
--- /dev/null
+++ b/desktop/angular/src/app/services/package.json
@@ -0,0 +1,3 @@
+{
+  "sideEffects": false
+}
diff --git a/desktop/angular/src/app/services/session-data.service.ts b/desktop/angular/src/app/services/session-data.service.ts
new file mode 100644
index 00000000..cb88ea91
--- /dev/null
+++ b/desktop/angular/src/app/services/session-data.service.ts
@@ -0,0 +1,72 @@
+import { Injectable } from '@angular/core';
+import { BehaviorSubject, Observable } from 'rxjs';
+import { distinctUntilChanged, map } from 'rxjs/operators';
+
+/**
+ * SessionDataService is used to store transient data
+ * that are only important as long as the application is
+ * being used. Those data are not presisted and are
+ * removed once the application is restarted.
+ */
+@Injectable({
+  providedIn: 'root'
+})
+export class SessionDataService {
+  private data = new Map<string, any>();
+  private stream = new BehaviorSubject<void>(undefined);
+
+  /** Set sets a value in the session data service */
+  set<T>(key: string, value: T): void {
+    this.data.set(key, value);
+  }
+
+  get<T>(key: string): T | null;
+  get<T>(key: string, def: T): T;
+
+  /** Get retrieves a value from the session data service */
+  get(key: string, def?: any): any {
+    const value = this.data.get(key);
+    if (value !== undefined) {
+      return value;
+    }
+
+    if (def !== undefined) {
+      return def;
+    }
+    return null;
+  }
+
+  watch<T>(key: string): Observable<T | null>;
+  watch<T>(key: string, def: T): Observable<T>;
+
+  /** Watch a key for changes to it's identity. */
+  watch<T>(key: string, def?: any): Observable<T | null> {
+    return this.stream
+      .pipe(
+        map(() => this.get<T>(key, def)),
+        distinctUntilChanged()
+      );
+  }
+
+  delete<T>(key: string): T | null {
+    let value = this.get<T>(key);
+    if (value !== null) {
+      this.data.delete(key);
+    }
+    return value;
+  }
+
+  save<M, K extends keyof M>(id: string, model: M, keys: K[]) {
+    let copy: Partial<M> = {};
+    keys.forEach(key => copy[key] = model[key]);
+    this.set(id, copy);
+  }
+
+  restore<M extends object, K extends keyof M>(id: string, model: M) {
+    let copy: Partial<M> | null = this.get(id);
+    if (copy === null) {
+      return;
+    }
+    Object.assign(model, copy);
+  }
+}
diff --git a/desktop/angular/src/app/services/status.service.spec.ts b/desktop/angular/src/app/services/status.service.spec.ts
new file mode 100644
index 00000000..34ce8a6f
--- /dev/null
+++ b/desktop/angular/src/app/services/status.service.spec.ts
@@ -0,0 +1,16 @@
+import { TestBed } from '@angular/core/testing';
+
+import { StatusService } from './status.service';
+
+describe('StatusService', () => {
+  let service: StatusService;
+
+  beforeEach(() => {
+    TestBed.configureTestingModule({});
+    service = TestBed.inject(StatusService);
+  });
+
+  it('should be created', () => {
+    expect(service).toBeTruthy();
+  });
+});
diff --git a/desktop/angular/src/app/services/status.service.ts b/desktop/angular/src/app/services/status.service.ts
new file mode 100644
index 00000000..c52b73c7
--- /dev/null
+++ b/desktop/angular/src/app/services/status.service.ts
@@ -0,0 +1,95 @@
+import { Injectable, TrackByFunction } from '@angular/core';
+import { PortapiService, RetryableOpts, SecurityLevel, WatchOpts, trackById } from '@safing/portmaster-api';
+import { BehaviorSubject, Observable } from 'rxjs';
+import { filter, map, repeat, share, toArray } from 'rxjs/operators';
+import { CoreStatus, Subsystem, VersionStatus } from './status.types';
+
+@Injectable({
+  providedIn: 'root'
+})
+export class StatusService {
+  /**
+   * A {@link TrackByFunction} from tracking subsystems.
+   */
+  static trackSubsystem: TrackByFunction<Subsystem> = trackById;
+  readonly trackSubsystem = StatusService.trackSubsystem;
+
+  readonly statusPrefix = "runtime:"
+  readonly subsystemPrefix = this.statusPrefix + "subsystems/"
+
+  /**
+   * status$ watches the global core status. It's mutlicasted using a BehaviorSubject so new
+   * subscribers will automatically get the latest version while only one subscription
+   * to the backend is held.
+   */
+  readonly status$: Observable<CoreStatus> = this.portapi.qsub<CoreStatus>(`runtime:system/status`)
+    .pipe(
+      repeat({ delay: 2000 }),
+      map(reply => reply.data),
+      share({ connector: () => new BehaviorSubject<CoreStatus | null>(null) }),
+      filter(value => value !== null),
+    ) as Observable<CoreStatus>; // we filtered out the null values but we cannot make that typed with RxJS.
+
+  constructor(private portapi: PortapiService) { }
+
+  /** Returns the currently available versions for all resources. */
+  getVersions(): Observable<VersionStatus> {
+    return this.portapi.get<VersionStatus>('core:status/versions')
+  }
+
+  /**
+   * Selectes a new security level. SecurityLevel.Off means that
+   * the auto-pilot should take over.
+   *
+   * @param securityLevel The security level to select
+   */
+  selectLevel(securityLevel: SecurityLevel): Observable<void> {
+    return this.portapi.update(`runtime:system/security-level`, {
+      SelectedSecurityLevel: securityLevel,
+    });
+  }
+
+
+  /**
+   * Loads the current status of a subsystem.
+   *
+   * @param name The ID of the subsystem
+   */
+  getSubsystemStatus(id: string): Observable<Subsystem> {
+    return this.portapi.get(this.subsystemPrefix + id);
+  }
+
+  /**
+   * Loads the current status of all subsystems matching idPrefix.
+   * If idPrefix is an empty string all subsystems are returned.
+   *
+   * @param idPrefix An optional ID prefix to limit the returned subsystems
+   */
+  querySubsystem(idPrefix: string = ''): Observable<Subsystem[]> {
+    return this.portapi.query<Subsystem>(this.subsystemPrefix + idPrefix)
+      .pipe(
+        map(reply => reply.data),
+        toArray(),
+      )
+  }
+
+  /**
+   * Watch a subsystem for changes. Completes when the subsystem is
+   * deleted. See {@method PortAPI.watch} for more information.
+   *
+   * @param id The ID of the subsystem to watch.
+   * @param opts Additional options for portapi.watch().
+   */
+  watchSubsystem(id: string, opts?: WatchOpts): Observable<Subsystem> {
+    return this.portapi.watch(this.subsystemPrefix + id, opts);
+  }
+
+  /**
+   * Watch for subsystem changes
+   *
+   * @param opts Additional options for portapi.sub().
+   */
+  watchSubsystems(opts?: RetryableOpts): Observable<Subsystem[]> {
+    return this.portapi.watchAll<Subsystem>(this.subsystemPrefix, opts);
+  }
+}
diff --git a/desktop/angular/src/app/services/status.types.ts b/desktop/angular/src/app/services/status.types.ts
new file mode 100644
index 00000000..f5188366
--- /dev/null
+++ b/desktop/angular/src/app/services/status.types.ts
@@ -0,0 +1,132 @@
+import { getEnumKey, Record, ReleaseLevel, SecurityLevel } from '@safing/portmaster-api';
+
+export interface CaptivePortal {
+  URL: string;
+  IP: string;
+  Domain: string;
+}
+
+export enum ModuleStatus {
+  Off = 0,
+  Error = 1,
+  Warning = 2,
+  Operational = 3
+}
+
+/**
+ * Returns a string represetnation of the module status.
+ *
+ * @param stat The module status to translate
+ */
+export function getModuleStatusString(stat: ModuleStatus): string {
+  return getEnumKey(ModuleStatus, stat)
+}
+
+export enum OnlineStatus {
+  Unknown = 0,
+  Offline = 1,
+  Limited = 2, // local network only,
+  Portal = 3,
+  SemiOnline = 4,
+  Online = 5,
+}
+
+/**
+ * Converts a online status value to a string.
+ *
+ * @param stat The online status value to convert
+ */
+export function getOnlineStatusString(stat: OnlineStatus): string {
+  return getEnumKey(OnlineStatus, stat)
+}
+
+export interface Threat<T = any> {
+  ID: string;
+  Name: string;
+  Description: string;
+  AdditionalData: T;
+  MitigationLevel: SecurityLevel;
+  Started: number;
+  Ended: number;
+}
+
+export interface CoreStatus extends Record {
+  ActiveSecurityLevel: SecurityLevel;
+  SelectedSecurityLevel: SecurityLevel;
+  ThreatMitigationLevel: SecurityLevel;
+  OnlineStatus: OnlineStatus;
+  Threats: Threat[];
+  CaptivePortal: CaptivePortal;
+}
+
+export enum FailureStatus {
+  Operational = 0,
+  Hint = 1,
+  Warning = 2,
+  Error = 3
+}
+
+/**
+ * Returns a string representation of a failure status value.
+ *
+ * @param stat The failure status value.
+ */
+export function getFailureStatusString(stat: FailureStatus): string {
+  return getEnumKey(FailureStatus, stat)
+}
+
+export interface Module {
+  Enabled: boolean;
+  FailureID: string;
+  FailureMsg: string;
+  FailureStatus: FailureStatus;
+  Name: string;
+  Status: ModuleStatus;
+}
+
+export interface Subsystem extends Record {
+  ConfigKeySpace: string;
+  Description: string;
+  ExpertiseLevel: string;
+  FailureStatus: FailureStatus;
+  ID: string;
+  Modules: Module[];
+  Name: string;
+  ReleaseLevel: ReleaseLevel;
+  ToggleOptionKey: string;
+}
+
+export interface CoreVersion {
+  BuildDate: string;
+  BuildHost: string;
+  BuildOptions: string;
+  BuildSource: string;
+  BuildUser: string;
+  Commit: string;
+  License: string;
+  Name: string;
+  Version: string;
+}
+
+export interface ResourceVersion {
+  Available: boolean;
+  BetaRelease: boolean;
+  Blacklisted: boolean;
+  StableRelease: boolean;
+  VersionNumber: string;
+}
+
+export interface Resource {
+  ActiveVersion: ResourceVersion | null;
+  Identifier: string;
+  SelectedVersion: ResourceVersion;
+  Versions: ResourceVersion[];
+}
+
+export interface VersionStatus extends Record {
+  Channel: string;
+  Core: CoreVersion;
+  Resources: {
+    [key: string]: Resource
+  }
+}
diff --git a/desktop/angular/src/app/services/supporthub.service.ts b/desktop/angular/src/app/services/supporthub.service.ts
new file mode 100644
index 00000000..9b8cfd7c
--- /dev/null
+++ b/desktop/angular/src/app/services/supporthub.service.ts
@@ -0,0 +1,82 @@
+import { HttpClient, HttpParams } from '@angular/common/http';
+import { Injectable } from '@angular/core';
+import { Observable } from 'rxjs';
+import { map } from 'rxjs/operators';
+import { environment } from 'src/environments/environment';
+
+export interface SupportSection {
+  title: string;
+  body: string;
+}
+
+export interface Issue<CreatedAt = Date> {
+  title: string;
+  body: string;
+  createdAt: CreatedAt;
+  repository: string;
+  url: string;
+  user: string;
+  closed?: boolean;
+  labels: string[];
+}
+
+@Injectable({ providedIn: 'root' })
+export class SupportHubService {
+  constructor(private http: HttpClient) { }
+
+  loadIssues(): Observable<Issue[]> {
+    interface LoadIssuesResponse {
+      issues: Issue<string>[];
+    }
+    return this.http.get<LoadIssuesResponse>(`${environment.supportHub}/api/v1/issues`)
+      .pipe(map(res => res.issues.map(issue => ({
+        ...issue,
+        createdAt: new Date(issue.createdAt),
+      })).reverse()));
+  }
+
+  /** Uploads content under name */
+  uploadText(name: string, content: string): Observable<string> {
+    interface UploadResponse {
+      urls: {
+        [key: string]: string[];
+      }
+    }
+    const blob = new Blob([content], { type: 'text/plain' });
+    const data = new FormData();
+    data.set("file", blob, name);
+
+    return this.http.post<UploadResponse>(`${environment.supportHub}/api/v1/upload`, data)
+      .pipe(map(res => res.urls['file'][0]));
+  }
+
+  /** Create github issue */
+  createIssue(repo: string, preset: string, title: string, sections: SupportSection[], debugInfoUrl?: string, opts?: {
+    generateUrl: boolean,
+  }): Observable<string> {
+    interface CreateIssueResponse {
+      url: string;
+    }
+    const req = {
+      title,
+      sections,
+      debugInfoUrl
+    }
+    let params = new HttpParams();
+    if (!!opts?.generateUrl) {
+      params = params.set('generate-url', '')
+    }
+    return this.http.post<CreateIssueResponse>(`${environment.supportHub}/api/v1/issues/${repo}/${preset}`, req, { params }).pipe(map(r => r.url))
+  }
+
+  createTicket(repoName: string, title: string, email: string, sections: SupportSection[], debugInfoUrl?: string): Observable<void> {
+    const req = {
+      title,
+      sections,
+      debugInfoUrl,
+      email,
+      repoName,
+    }
+    return this.http.post<void>(`${environment.supportHub}/api/v1/ticket`, req)
+  }
+}
diff --git a/desktop/angular/src/app/services/ui-state.service.ts b/desktop/angular/src/app/services/ui-state.service.ts
new file mode 100644
index 00000000..25ad4d09
--- /dev/null
+++ b/desktop/angular/src/app/services/ui-state.service.ts
@@ -0,0 +1,57 @@
+import { Injectable } from "@angular/core";
+import { PortapiService, Record } from '@safing/portmaster-api';
+import { Observable, of } from "rxjs";
+import { catchError, map, switchMap } from "rxjs/operators";
+import { SortTypes } from './../shared/network-scout/network-scout';
+
+export interface UIState extends Record {
+  hideExitScreen?: boolean;
+  introScreenFinished?: boolean;
+  netscoutSortOrder: SortTypes;
+}
+
+const defaultState: UIState = {
+  hideExitScreen: false,
+  introScreenFinished: false,
+  netscoutSortOrder: SortTypes.static
+}
+
+@Injectable({ providedIn: 'root' })
+export class UIStateService {
+  constructor(private portapi: PortapiService) { }
+
+  uiState(): Observable<UIState> {
+    const key = 'core:ui/v1';
+    return this.portapi.get<UIState>(key)
+      .pipe(
+        catchError(err => of(defaultState)),
+        map(state => {
+          (Object.keys(defaultState) as (keyof UIState)[])
+            .forEach(key => {
+              if (state[key] === undefined) {
+                (state as any)[key] = defaultState[key]!
+              }
+            })
+
+          return state
+        })
+      )
+  }
+
+  saveState(state: UIState): Observable<void> {
+    const key = 'core:ui/v1';
+    return this.portapi.create(key, state);
+  }
+
+  set<K extends keyof UIState, V extends UIState[K]>(key: K, value: V): Observable<void> {
+    return this.uiState()
+      .pipe(
+        map(state => {
+          state[key] = value
+
+          return state;
+        }),
+        switchMap(newState => this.saveState(newState))
+      );
+  }
+}
diff --git a/desktop/angular/src/app/services/virtual-notification.ts b/desktop/angular/src/app/services/virtual-notification.ts
new file mode 100644
index 00000000..592d886a
--- /dev/null
+++ b/desktop/angular/src/app/services/virtual-notification.ts
@@ -0,0 +1,85 @@
+import { RecordMeta } from '@safing/portmaster-api';
+import { BehaviorSubject } from 'rxjs';
+import { filter } from 'rxjs/operators';
+import { ActionHandler, Notification, NotificationState, NotificationType } from './notifications.types';
+
+export class VirtualNotification<T> implements Notification<T> {
+  readonly AvailableActions: ActionHandler<T>[];
+  readonly Category: string;
+  readonly EventData: T | null;
+  readonly GUID: string = ''; // TODO(ppacher): should we fake it?
+  readonly Expires: number;
+  readonly _meta: RecordMeta;
+
+  get State() {
+    if (this.SelectedActionID === '') {
+      return NotificationState.Active
+    }
+
+    return NotificationState.Executed
+  }
+
+  get SelectedActionID() {
+    return this._selectedAction.getValue();
+  }
+
+  /** Emits as soon as the user selects one of the notification actions. */
+  get executed() {
+    return this._selectedAction.pipe(
+      filter(action => action !== '')
+    );
+  }
+
+  /* Used to emit the selected action */
+  private _selectedAction = new BehaviorSubject<string>('');
+
+  /**
+   * Select and execute the action by ID.
+   *
+   * @param aid The ID of the action to execute.
+   */
+  selectAction(aid: string) {
+    this._selectedAction.next(aid);
+    this._meta.Modified = new Date().valueOf() / 1000;
+
+    const action = this.AvailableActions.find(a => a.ID === aid);
+    if (!!action) {
+      action.Run(action.Payload);
+    }
+  }
+
+  constructor(
+    public readonly EventID: string,
+    public readonly Type: NotificationType,
+    public readonly Title: string,
+    public readonly Message: string,
+    {
+      AvailableActions,
+      EventData,
+      Category,
+      Expires,
+    }: {
+      AvailableActions?: ActionHandler<T>[];
+      EventData?: T | null;
+      Category?: string,
+      Expires?: number,
+    } = {}
+  ) {
+    this.AvailableActions = AvailableActions || [];
+    this.EventData = EventData || null;
+    this.Category = Category || '';
+    this.Expires = Expires || 0;
+
+    this._meta = {
+      Created: new Date().valueOf() / 1000,
+      Deleted: 0,
+      Expires: this.Expires,
+      Modified: new Date().valueOf() / 1000,
+      Key: `notifications:all/${EventID}`,
+    }
+  }
+
+  dispose() {
+    this._selectedAction.complete();
+  }
+}
diff --git a/desktop/angular/src/app/shared/action-indicator/action-indicator.module.ts b/desktop/angular/src/app/shared/action-indicator/action-indicator.module.ts
new file mode 100644
index 00000000..2f5dafcd
--- /dev/null
+++ b/desktop/angular/src/app/shared/action-indicator/action-indicator.module.ts
@@ -0,0 +1,13 @@
+import { CommonModule } from "@angular/common";
+import { NgModule } from "@angular/core";
+import { IndicatorComponent } from "./indicator";
+
+@NgModule({
+  imports: [
+    CommonModule,
+  ],
+  declarations: [
+    IndicatorComponent,
+  ]
+})
+export class ActionIndicatorModule { }
diff --git a/desktop/angular/src/app/shared/action-indicator/action-indicator.service.ts b/desktop/angular/src/app/shared/action-indicator/action-indicator.service.ts
new file mode 100644
index 00000000..143168e1
--- /dev/null
+++ b/desktop/angular/src/app/shared/action-indicator/action-indicator.service.ts
@@ -0,0 +1,284 @@
+import { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';
+import { ComponentPortal } from '@angular/cdk/portal';
+import { HttpErrorResponse, HttpResponse } from '@angular/common/http';
+import { Injectable, InjectionToken, Injector, isDevMode } from '@angular/core';
+import { interval, PartialObserver, Subject } from 'rxjs';
+import { take, takeUntil } from 'rxjs/operators';
+import { IndicatorComponent } from './indicator';
+
+export interface ActionIndicator {
+  title: string;
+  message?: string;
+  status: 'info' | 'success' | 'error';
+  timeout?: number;
+}
+
+export const ACTION_REF = new InjectionToken<ActionIndicatorRef>('ActionIndicatorRef')
+export class ActionIndicatorRef implements ActionIndicator {
+  title: string;
+  message?: string;
+  status: 'info' | 'success' | 'error';
+  timeout?: number;
+
+  onClose = new Subject<void>();
+  onCloseReplace = new Subject<void>();
+
+  constructor(opts: ActionIndicator, private _overlayRef: OverlayRef) {
+    this.title = opts.title;
+    this.message = opts.message;
+    this.status = opts.status;
+    this.timeout = opts.timeout;
+  }
+
+  close() {
+    this._overlayRef.detach();
+    this.onClose.next();
+    this.onClose.complete();
+  }
+}
+
+@Injectable({ providedIn: 'root' })
+export class ActionIndicatorService {
+  private _activeIndicatorRef: ActionIndicatorRef | null = null;
+
+  constructor(
+    private _injector: Injector,
+    private overlay: Overlay,
+  ) { }
+
+  /**
+   * Returns an observer that parses the HTTP API response
+   * and shows a success/error action indicator.
+   */
+  httpObserver(successTitle?: string, errorTitle?: string): PartialObserver<HttpResponse<ArrayBuffer | string>> {
+    return {
+      next: resp => {
+        let msg = this.getErrorMessgae(resp)
+        if (!successTitle) {
+          successTitle = msg;
+          msg = '';
+        }
+        this.success(successTitle || '', msg)
+      },
+      error: err => {
+        let msg = this.getErrorMessgae(err);
+        if (!errorTitle) {
+          errorTitle = msg;
+          msg = '';
+        }
+        this.error(errorTitle || '', msg);
+      }
+    }
+  }
+
+  info(title: string, message?: string, timeout?: number) {
+    this.create({
+      title,
+      message: this.ensureMessage(message),
+      timeout,
+      status: 'info'
+    })
+  }
+
+  error(title: string, message?: string | any, timeout?: number) {
+    this.create({
+      title,
+      message: this.ensureMessage(message),
+      timeout,
+      status: 'error'
+    })
+  }
+
+  success(title: string, message?: string, timeout?: number) {
+    this.create({
+      title,
+      message: this.ensureMessage(message),
+      timeout,
+      status: 'success'
+    })
+  }
+
+  /**
+   * Creates a new user action indicator.
+   *
+   * @param msg The action indicator message to show
+   */
+  async create(msg: ActionIndicator) {
+    if (!!this._activeIndicatorRef) {
+      this._activeIndicatorRef.onCloseReplace.next();
+      await this._activeIndicatorRef.onClose.toPromise();
+    }
+
+    const cfg = new OverlayConfig({
+      scrollStrategy: this.overlay
+        .scrollStrategies.noop(),
+      positionStrategy: this.overlay
+        .position()
+        .global()
+        .bottom('2rem')
+        .left('5rem'),
+    });
+    const overlayRef = this.overlay.create(cfg);
+
+    const ref = new ActionIndicatorRef(msg, overlayRef);
+    ref.onClose.pipe(take(1)).subscribe(() => {
+      if (ref === this._activeIndicatorRef) {
+        this._activeIndicatorRef = null;
+      }
+    })
+
+    // close after the specified time our (or 5000 seconds).
+    const timeout = msg.timeout || 5000;
+    interval(timeout).pipe(
+      takeUntil(ref.onClose),
+      take(1),
+    ).subscribe(() => {
+      ref.close();
+    })
+
+    const injector = this.createInjector(ref);
+    const portal = new ComponentPortal(
+      IndicatorComponent,
+      undefined,
+      injector
+    );
+    this._activeIndicatorRef = ref;
+    overlayRef.attach(portal);
+  }
+
+  /**
+   * Creates a new dependency injector that provides msg as
+   * ACTION_MESSAGE.
+   */
+  private createInjector(ref: ActionIndicatorRef): Injector {
+    return Injector.create({
+      providers: [
+        {
+          provide: ACTION_REF,
+          useValue: ref,
+        }
+      ],
+      parent: this._injector,
+    })
+  }
+
+  /**
+   * Tries to extract a meaningful error message from msg.
+   */
+  private ensureMessage(msg: string | any): string | undefined {
+    if (msg === undefined || msg === null) {
+      return undefined;
+    }
+
+    if (msg instanceof HttpErrorResponse) {
+      return msg.message;
+    }
+
+    if (typeof msg === 'string') {
+      return msg;
+    }
+
+    if (typeof msg === 'object') {
+      if ('message' in msg) {
+        return msg.message;
+      }
+      if ('error' in msg) {
+        return this.ensureMessage(msg.error);
+      }
+      if ('toString' in msg) {
+        return msg.toString();
+      }
+    }
+
+    return JSON.stringify(msg);
+  }
+
+  /**
+   * Coverts an untyped body received by the HTTP API to a string.
+   */
+  private stringifyBody(body: any): string {
+    if (typeof body === 'string') {
+      return body;
+    }
+
+    if (body instanceof ArrayBuffer) {
+      return new TextDecoder('utf-8').decode(body);
+    }
+
+    if (typeof body === 'object') {
+      return this.ensureMessage(body) || '';
+    }
+    console.error('unsupported body', body);
+
+    return '';
+  }
+
+  /**
+   *  @deprecated use the version without a typo ...
+   */
+  getErrorMessgae(resp: HttpResponse<ArrayBuffer | string> | HttpErrorResponse | Error): string {
+    return this.getErrorMessage(resp)
+  }
+
+  /**
+   * Parses a HTTP or HTTP Error response and returns a
+   * message that can be displayed to the user.
+   */
+  getErrorMessage(resp: HttpResponse<ArrayBuffer | string> | HttpErrorResponse | Error): string {
+    try {
+      let body: string | null = null;
+
+      if (typeof resp === 'string') {
+        return resp
+      }
+
+      if (resp instanceof Error) {
+        return resp.message;
+      }
+
+      if (resp instanceof HttpErrorResponse) {
+        // A client-side or network error occured.
+        if (resp.error instanceof Error) {
+          body = resp.error.message;
+        } else {
+          body = this.stringifyBody(resp.error);
+        }
+
+        if (!!body) {
+          body = body[0].toLocaleUpperCase() + body.slice(1)
+          return body
+        }
+      }
+
+
+      if (resp instanceof HttpResponse) {
+        let msg = '';
+        const ct = resp.headers.get('content-type') || '';
+
+        body = this.stringifyBody(resp.body);
+
+        if (/application\/json/.test(ct)) {
+          if (!!body) {
+            msg = body;
+          }
+        } else if (/text\/plain/.test(ct)) {
+          msg = body;
+        }
+
+        // Make the first letter uppercase
+        if (!!msg) {
+          msg = msg[0].toLocaleUpperCase() + msg.slice(1)
+          return msg;
+        }
+      }
+
+      console.error(`Unexpected error type`, resp)
+
+      return `Unknown error: ${resp}`
+
+    } catch (err: any) {
+      console.error(err)
+      return `Unknown error: ${resp}`
+    }
+  }
+}
diff --git a/desktop/angular/src/app/shared/action-indicator/index.ts b/desktop/angular/src/app/shared/action-indicator/index.ts
new file mode 100644
index 00000000..e243b7a0
--- /dev/null
+++ b/desktop/angular/src/app/shared/action-indicator/index.ts
@@ -0,0 +1,2 @@
+export * from './action-indicator.service';
+export * from './action-indicator.module';
diff --git a/desktop/angular/src/app/shared/action-indicator/indicator.html b/desktop/angular/src/app/shared/action-indicator/indicator.html
new file mode 100644
index 00000000..5691cd1e
--- /dev/null
+++ b/desktop/angular/src/app/shared/action-indicator/indicator.html
@@ -0,0 +1,30 @@
+<ng-container [ngSwitch]="ref.status">
+  <div class="icon" *ngSwitchCase="'success'">
+    <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" viewBox="0 0 20 20" fill="currentColor">
+      <path fill-rule="evenodd"
+        d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z"
+        clip-rule="evenodd" />
+    </svg>
+  </div>
+  <div class="icon error" *ngSwitchCase="'error'">
+    <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
+      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
+        d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
+    </svg>
+  </div>
+</ng-container>
+<div class="indicator-content">
+  <h1 *ngIf="!!ref.title">{{ ref.title }}</h1>
+
+  <svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 close-icon" viewBox="0 0 20 20" fill="currentColor">
+    <path fill-rule="evenodd"
+      d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z"
+      clip-rule="evenodd" />
+  </svg>
+
+  <div class="message" *ngIf="ref.message">
+    <span>
+      {{ ref.message }}
+    </span>
+  </div>
+</div>
diff --git a/desktop/angular/src/app/shared/action-indicator/indicator.scss b/desktop/angular/src/app/shared/action-indicator/indicator.scss
new file mode 100644
index 00000000..6189798c
--- /dev/null
+++ b/desktop/angular/src/app/shared/action-indicator/indicator.scss
@@ -0,0 +1,74 @@
+:host {
+  box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.75);
+  @apply bg-gray-200;
+  @apply p-4;
+  @apply rounded;
+  position: relative;
+  width: 20rem;
+  display: flex;
+  cursor: pointer;
+  border-left: 2px solid transparent;
+
+
+  .icon {
+    display: flex;
+    align-items: flex-start;
+    flex-shrink: 1;
+    margin-right: 1rem;
+    padding-top: 2px;
+  }
+
+  &.error {
+    @apply border-yellow;
+
+    .icon {
+      @apply text-yellow
+    }
+  }
+
+  .indicator-content {
+    display: flex;
+    flex-direction: column;
+    align-items: flex-start;
+
+    h1 {
+      font-size: 0.85rem;
+      font-weight: 500;
+      margin-bottom: 0;
+    }
+
+    .message,
+    h1 {
+      flex-shrink: 0;
+      text-overflow: ellipsis;
+    }
+
+    .message {
+      font-size: 0.7rem;
+      flex-grow: 1;
+      opacity: .5;
+
+      span {
+        display: block;
+        height: 100%;
+        word-break: keep-all;
+      }
+    }
+
+    .close-icon {
+      position: absolute;
+      top: 1rem;
+      right: 1rem;
+      opacity: .7;
+      cursor: pointer;
+
+      &:hover {
+        opacity: 1;
+      }
+    }
+
+    h1~.message {
+      margin-top: .5rem;
+    }
+  }
+}
diff --git a/desktop/angular/src/app/shared/action-indicator/indicator.ts b/desktop/angular/src/app/shared/action-indicator/indicator.ts
new file mode 100644
index 00000000..2f41d2c6
--- /dev/null
+++ b/desktop/angular/src/app/shared/action-indicator/indicator.ts
@@ -0,0 +1,78 @@
+import { animate, state, style, transition, trigger } from '@angular/animations';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, HostListener, Inject, OnInit } from '@angular/core';
+import { takeUntil } from 'rxjs/operators';
+import { ActionIndicatorRef, ACTION_REF } from './action-indicator.service';
+
+@Component({
+  templateUrl: './indicator.html',
+  styleUrls: ['./indicator.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  animations: [
+    trigger('slideIn', [
+      state('void', style({
+        opacity: 0,
+        transform: 'translateY(32px)'
+      })),
+
+      state('showing', style({
+        opacity: 1,
+        transform: 'translateY(0px)'
+      })),
+
+      state('replace', style({
+        transform: 'translateY(0px) rotate(-3deg)',
+        zIndex: -100,
+      })),
+
+      transition('showing => replace', animate('10ms cubic-bezier(0, 0, 0.2, 1)')),
+      transition('void => *', animate('220ms cubic-bezier(0, 0, 0.2, 1)')),
+
+      transition('showing => void', animate('220ms cubic-bezier(0, 0, 0.2, 1)', style({
+        opacity: 0,
+        transform: 'translateX(-100%)'
+      }))),
+
+      transition('replace => void', animate('220ms cubic-bezier(0, 0, 0.2, 1)', style({
+        opacity: 0,
+        transform: 'translateY(-64px) rotate(-3deg)'
+      })))
+    ])
+  ]
+})
+export class IndicatorComponent implements OnInit {
+  constructor(
+    @Inject(ACTION_REF)
+    public ref: ActionIndicatorRef,
+    public cdr: ChangeDetectorRef,
+  ) { }
+
+  @HostBinding('@slideIn')
+  state = 'showing';
+
+  @HostBinding('class.error')
+  isError = this.ref.status === 'error';
+
+  @HostListener('click')
+  closeIndicator() {
+    this.ref.close();
+  }
+
+  @HostListener('@slideIn.done', ['$event'])
+  onAnimationDone() {
+    if (this.state === 'replace') {
+      this.ref.close();
+    }
+  }
+
+  ngOnInit() {
+    this.ref.onCloseReplace
+      .pipe(
+        takeUntil(this.ref.onClose),
+      )
+      .subscribe(state => {
+        this.state = 'replace';
+        this.cdr.detectChanges();
+      })
+  }
+}
+
diff --git a/desktop/angular/src/app/shared/animations.ts b/desktop/angular/src/app/shared/animations.ts
new file mode 100644
index 00000000..32989217
--- /dev/null
+++ b/desktop/angular/src/app/shared/animations.ts
@@ -0,0 +1,111 @@
+import { animate, query, stagger, style, transition, trigger } from '@angular/animations';
+
+export const fadeInAnimation = trigger(
+  'fadeIn',
+  [
+    transition(
+      ':enter',
+      [
+        style({ opacity: 0, transform: 'translateY(-5px)' }),
+        animate('120ms cubic-bezier(0, 0, 0.2, 1)',
+          style({ opacity: 1, transform: 'translateY(0px)' }))
+      ]
+    ),
+  ]
+);
+
+export const fadeOutAnimation = trigger(
+  'fadeOut',
+  [
+    transition(
+      ':leave',
+      [
+        style({ opacity: 1, transform: 'translateY(0px)' }),
+        animate('120ms cubic-bezier(0, 0, 0.2, 1)',
+          style({ opacity: 0, transform: 'translateY(-5px)' }))
+      ]
+    ),
+  ]
+);
+
+export const fadeInListAnimation = trigger(
+  'fadeInList',
+  [
+    transition(':enter, * => 0, * => -1', []),
+    transition(':increment', [
+      query(':enter', [
+        style({ opacity: 0 }),
+        stagger(5, [
+          animate('300ms ease-out', style({ opacity: 1 })),
+        ]),
+      ], { optional: true })
+    ]),
+  ]
+)
+
+export const moveInOutLeftAnimation = trigger(
+  'moveInOutLeft',
+  [
+    transition(
+      ':enter',
+      [
+        style({ opacity: 0, transform: 'translateX(-100%)' }),
+        animate('.1s ease-in',
+          style({ opacity: 1, transform: 'translateX(0%)' }))
+      ]
+    ),
+    transition(
+      ':leave',
+      [
+        style({ opacity: 1, 'z-index': -100 }),
+        animate('.1s ease-out',
+          style({ opacity: 0, transform: 'translateX(-100%)' }))
+      ]
+    )
+  ]
+)
+
+
+export const moveInOutAnimation = trigger(
+  'moveInOut',
+  [
+    transition(
+      ':enter',
+      [
+        style({ opacity: 0, transform: 'translateX(100%)' }),
+        animate('.2s ease-in',
+          style({ opacity: 1, transform: 'translateX(0%)' }))
+      ]
+    ),
+    transition(
+      ':leave',
+      [
+        style({ opacity: 1 }),
+        animate('.2s ease-out',
+          style({ opacity: 0, transform: 'translateX(100%)' }))
+      ]
+    )
+  ]
+)
+
+export const moveInOutListAnimation = trigger(
+  'moveInOutList',
+  [
+    transition(':enter, * => 0, * => -1', []),
+    transition(':increment', [
+      query(':enter', [
+        style({ opacity: 0, transform: 'translateX(100%)' }),
+        stagger(50, [
+          animate('200ms ease-out', style({ opacity: 1, transform: 'translateX(0%)' })),
+        ]),
+      ], { optional: true })
+    ]),
+    transition(':decrement', [
+      query(':leave', [
+        stagger(-50, [
+          animate('200ms ease-out', style({ opacity: 0, transform: 'translateX(100%)' })),
+        ]),
+      ], { optional: true })
+    ]),
+  ]
+)
diff --git a/desktop/angular/src/app/shared/app-icon/app-icon-resolver.ts b/desktop/angular/src/app/shared/app-icon/app-icon-resolver.ts
new file mode 100644
index 00000000..0a7547ad
--- /dev/null
+++ b/desktop/angular/src/app/shared/app-icon/app-icon-resolver.ts
@@ -0,0 +1,118 @@
+import { Injectable, inject, isDevMode } from "@angular/core";
+import { AppProfile, AppProfileService, deepClone } from "@safing/portmaster-api";
+import { firstValueFrom, map, switchMap } from "rxjs";
+import { INTEGRATION_SERVICE, ProcessInfo } from "src/app/integration";
+import * as parseDataURL from 'data-urls';
+
+export abstract class AppIconResolver {
+  abstract resolveIcon(profile: AppProfile): void;
+}
+
+@Injectable()
+export class DefaultIconResolver extends AppIconResolver {
+  private integration = inject(INTEGRATION_SERVICE);
+  private profileService = inject(AppProfileService);
+
+  private pendingResolvers = new Map<string, Promise<void>>();
+
+  resolveIcon(profile: AppProfile): void {
+    const key = `${profile.Source}/${profile.ID}`;
+
+    // if there's already a promise in flight, abort.
+    if (this.pendingResolvers.has(key)) {
+      if (isDevMode()) {
+        console.log(`[icon:${profile.Name}] loading icon already in progress ...`)
+      }
+
+      return;
+    }
+
+    let promise = new Promise<void>((resolve) => {
+      this.profileService
+        .getProcessesByProfile(profile)
+        .pipe(
+          map(processes => {
+            // if we there are no running processes for this profile,
+            // we try to find the icon based on the information stored in
+            // the profile.
+            let info: ProcessInfo[] = [{
+              execPath: profile.LinkedPath,
+              cmdline: profile.PresentationPath,
+              pid: -1,
+              matchingPath: profile.PresentationPath,
+            }]
+
+            processes?.forEach(process => {
+              // BUG: Portmaster sometimes runs a null entry, skip it here.
+              if (!process) {
+                return;
+              }
+
+              // insert at the beginning since the process data might reveal
+              // better results than the profile one.
+              info.splice(0, 0, {
+                execPath: process.Path,
+                cmdline: process.CmdLine,
+                pid: process.Pid,
+                matchingPath: process.MatchingPath,
+              })
+            })
+
+            return info;
+          })
+        ).subscribe(async (processInfos) => {
+          for (const info of processInfos) {
+            try {
+              await this.loadAndSaveIcon(info, profile);
+
+              // success, abort now
+              resolve();
+              return;
+            } catch (err) {
+              // continue using the next one
+            }
+          }
+
+          // we failed to find an icon, still resolve the promise here
+          // because nobody actually cares ....
+          resolve();
+        })
+    });
+    this.pendingResolvers.set(key, promise);
+
+    promise.finally(() => this.pendingResolvers.delete(key));
+  }
+
+  private async loadAndSaveIcon(info: ProcessInfo, profile: AppProfile): Promise<void> {
+    const icon = await this.integration.getAppIcon(info);
+
+    const dataURL = parseDataURL(icon);
+    if (!dataURL) {
+      throw new Error("invalid data url");
+    }
+    const blob = new Blob([dataURL.body], {
+      type: dataURL.mimeType.essence,
+    })
+
+    const body = await blob.arrayBuffer();
+
+    const save$ = this.profileService
+      .setProfileIcon(body, blob.type)
+      .pipe(switchMap(result => {
+        // save the profile icon
+        profile = deepClone(profile);
+        profile.Icons = [
+          ...(profile.Icons || []),
+          {
+            Value: result.filename,
+            Type: 'api',
+            Source: 'ui'
+          }
+        ];
+
+        return this.profileService.saveProfile(profile)
+      }));
+
+    await firstValueFrom(save$);
+  }
+}
diff --git a/desktop/angular/src/app/shared/app-icon/app-icon.html b/desktop/angular/src/app/shared/app-icon/app-icon.html
new file mode 100644
index 00000000..bc81164d
--- /dev/null
+++ b/desktop/angular/src/app/shared/app-icon/app-icon.html
@@ -0,0 +1,9 @@
+<span *ngIf="!src && !isIgnoredProfile">
+  {{letter}}
+</span>
+<img [attr.src]="src" *ngIf="!!src" loading="lazy">
+<svg *ngIf="!src && isIgnoredProfile" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
+  stroke-width="1.5" stroke="currentColor" class="w-full h-full text-gray-700">
+  <path stroke-linecap="round" stroke-linejoin="round"
+    d="M9.879 7.519c1.171-1.025 3.071-1.025 4.242 0 1.172 1.025 1.172 2.687 0 3.712-.203.179-.43.326-.67.442-.745.361-1.45.999-1.45 1.827v.75M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9 5.25h.008v.008H12v-.008z" />
+</svg>
diff --git a/desktop/angular/src/app/shared/app-icon/app-icon.module.ts b/desktop/angular/src/app/shared/app-icon/app-icon.module.ts
new file mode 100644
index 00000000..939cac43
--- /dev/null
+++ b/desktop/angular/src/app/shared/app-icon/app-icon.module.ts
@@ -0,0 +1,23 @@
+import { CommonModule } from "@angular/common";
+import { NgModule } from "@angular/core";
+import { AppIconComponent } from "./app-icon";
+import { AppIconResolver, DefaultIconResolver } from "./app-icon-resolver";
+
+@NgModule({
+  imports: [
+    CommonModule
+  ],
+  declarations: [
+    AppIconComponent,
+  ],
+  exports: [
+    AppIconComponent,
+  ],
+  providers: [
+    {
+      provide: AppIconResolver,
+      useClass: DefaultIconResolver,
+    }
+  ]
+})
+export class SfngAppIconModule { }
diff --git a/desktop/angular/src/app/shared/app-icon/app-icon.scss b/desktop/angular/src/app/shared/app-icon/app-icon.scss
new file mode 100644
index 00000000..159cce02
--- /dev/null
+++ b/desktop/angular/src/app/shared/app-icon/app-icon.scss
@@ -0,0 +1,28 @@
+:host {
+  border-radius: 50%;
+  user-select: none;
+
+  height: var(--app-icon-size, 25px);
+  width: var(--app-icon-size, 25px);
+  flex-shrink: 0;
+  @apply mr-2;
+
+  display: inline-flex;
+  justify-content: center;
+  align-items: center;
+}
+
+span,
+img {
+  @apply text-primary;
+  @apply font-medium;
+  @apply rounded-full;
+  text-shadow: rgba(0, 0, 0, .8) 0px 0px 1px;
+
+  font-size: calc(var(--app-icon-size, 25px) / 6 * 4);
+}
+
+img {
+  width: 100%;
+  height: 100%;
+}
diff --git a/desktop/angular/src/app/shared/app-icon/app-icon.ts b/desktop/angular/src/app/shared/app-icon/app-icon.ts
new file mode 100644
index 00000000..f013f4e8
--- /dev/null
+++ b/desktop/angular/src/app/shared/app-icon/app-icon.ts
@@ -0,0 +1,312 @@
+import { Min } from './../../../../dist-lib/safing/portmaster-api/lib/netquery.service.d';
+import {
+  ChangeDetectionStrategy,
+  ChangeDetectorRef,
+  Component,
+  HostBinding,
+  Inject,
+  Input,
+  OnDestroy,
+  OnInit,
+  SkipSelf,
+  inject,
+} from '@angular/core';
+import { DomSanitizer, SafeUrl } from '@angular/platform-browser';
+import {
+  AppProfileService,
+  PORTMASTER_HTTP_API_ENDPOINT,
+  PortapiService,
+  Record,
+  deepClone,
+} from '@safing/portmaster-api';
+import { Subscription, map, of, throwError } from 'rxjs';
+import { catchError, switchMap } from 'rxjs/operators';
+import { INTEGRATION_SERVICE, ProcessInfo } from 'src/app/integration';
+import { AppIconResolver } from './app-icon-resolver';
+
+// Interface that must be satisfied for the profile-input
+// of app-icon.
+export interface IDandName {
+  // ID of the profile.
+  ID?: string;
+
+  // Source is the source of the profile.
+  Source?: string;
+
+  // Name of the profile.
+  Name: string;
+}
+
+// Some icons we don't want to show on the UI.
+// Note that this works on a best effort basis and might
+// start breaking with updates to the built-in icons...
+const iconsToIngore = [
+  'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABU0lEQVRYhe2WTUrEQBCF36i4ctm4FsdTKF5AEFxL0knuILgQXAy4ELxDfgTXguAFRG/hDXKCAbtcOB3aSVenMjPRTb5NvdCE97oq3QQYGflnJlbc3T/QXxrfXF9NAGBraKPTk2Nvtey4D1l8OUiIo8ODX/Xt/cMfQCk1SAAi8upWgLquWy8rpbB7+yk2m8+mYvNWAAB4fnlt9MX5WaP397ZhCPgygCFa1IUmwJifCgB5nrMBtdbhAK6pi9QcALIs8+5c1AEOqTmwZge4EUjNiQhpmjbarcvaG4AbgcTcUhSFfwFAHMfhABxScwBIkgRA9wnwBgiOQGBORCjLkl2PoigcgB2BwNzifmi97wEOqTkRoaoqdr2zA9wIJOYWrTW785VPQR+WO2B3vdYIpBBRc9Qkp2Cw/4GVR+BjPpt23u19tUXUgU2aBzuQPz5J8oyMjGyUb9+FOUOmulVPAAAAAElFTkSuQmCC',
+  'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACLElEQVR4nO2av07DMBDGP1DFxtaFmbeg6gtUqtQZtU3yDkgMSAxIDEi8Q/8gMVdC4m1YYO0TMNQspErdOG3Md25c7rc0st3E353v7EsLKIqiKIqiKMq/5MRueHx6NoeYSCjubm82NJ8eaiISdDtX6HauKq9tWsFmF4DPr6+d1zalBshG18RpNYfJy+tW21GFgA+lK6DdboeeBwVjyvO3qx1wGGC5XO71wCYZykc8QEqCZ/cfjNs4+X64rOz3FQ/sMMDi7R2Dfg+Lt/eN9kG/tzX24rwFA8AYYGXM+nr9aQADs9mG37FWW3HsqqBhMpnsFFRGkiTOvkoD5ELLBNtIiLcdmGXZ5jP/4Pkc2i4gIb5KRl3xrnbaQSiEeN8QGI/Hzj5aDgjh+SzLaJ7P4eWAiJZ9EVoIhBA/nU695uYdAnUI4fk0TUvbXeP3gZcDhMS7CLIL1DsHyIv3DYHRaOTs44YAZD2fpik9EfIOQohn2Rch5wBZ8bPZzOObfwiBurWAtOftoqaO511jaSEgJd4FQzwgmAQlxPuGwHA4dPbJ1QICnk+ShOb5HJlaoOHLvgi/FhAUP5/P9xpbteRtyDlA1vN2UVPH8+K7gJR45/MI4gHyK7HYxANsA7BuVvkcnniAXAtIwxYPRPTboIR4IBIDMMSL7wIhYZbF0RmgsS9EQtDY1+L5r7esCUrGvA3xHBCfeIBkgBjEi+0CMYsHHDmg7N9UiqIoiqIoiqIcFT++NKIXgDvowAAAAABJRU5ErkJggg==',
+  'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAABqUlEQVRYhe2XP2rDMBSHfymhU0dDD5BbJOQCgUDmEv+7Q6FDoUOgQ6F3cJxC50Agt+nSrD5BBr8OqVyrtfWkl8ShoG+SjJE+/95DwoDH4/nf9NTg+eWVLinym8eH+x4AXF1i8/FoiPFoaBwr+p3bAfjc7dixQhNMw7szatmTvb1XY00wCILOZYjIONcEi6JoXSgIAlw/fYhF9ouBsxzQ0IPrzRaz6QTrzbZ6NptOqvHtTR8EQklAWQIl4WdOQEkEqsaHefm9b5Zl7IfEcWwWVDJ1Ke0rHeXqmaRpeljDIrlWQQ5XufreNglGUWQW5EoslQOAJEm0uagHuRJL5YgIy+Wycc06bIIcEjmFStCUnPGYASxKLJQDYJVgGIZmQZsSS+SAv0eIKblWQQ6pHBEhz3N2fTZBrsQSOYVK0JQc24N2JXaXA2CV4Hw+NwtySOUA/QixvU1kPSiQIyKsViv2vaMTlMgpoihik2N7kEMqB6AxwXpiVlfduSAi7Qix7cGL/DS5XHWdC7rIAY4l3i8GTk1+zLsKpwS7lnMS7ErOeMzU/0c9Ho/nNHwBdUH2gB9vJRsAAAAASUVORK5CYII=',
+  'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAByElEQVRYhe1WQUoDQRCsmSh4CAreo3/w4CdE8JirLzCKGhRERPBqfISQx3j0BcaDJxHNRWS7PWRmtmdmJ9mNiSuYOmyYbOiqruoeAizw36G6p0e3WulOHeTE1NO/Qb6zu1f4qZXuqLPuMV9d38xbQyEuL86ha2EWWJKHfr+P4XAIAGg2m2i32wCA7fsXPH9kABjMgHkADP87cW6tNvCwvzG2biRAvpAYvH+54mCAmUcvmI0Yq4nM74DBG02sGwlIgqigS/ZEgdkcrSAuVbpUBEyjTiP7JSkDzKZrdo+xdSMBKas4y4K8befSiVxcLnR83UhACtYBV9TOgbBbOX4TF2YZQZY5Yi9/MYwkXQjy/3EEtjp7LgQzAeOUVSo0zCACcgOnwjUEC2LE7kxApS0AGFRgP4vZ8M5VBaQjoNGKuQ20Q2ney8Gr0H0kIAU7hK4zYiPCJxtFZYRMIyAdAQWrFgyicMSfj4oCkheRmQFyIoq2IRcy9T2QhNmCfN/FVcwMBSWu4XlsQUZe5tZmZW0HBXGU4o4FpCJorS3j6fXTEOVdUrgNApvrK9UFpPB4vlWq2DSo/S+Z6p4c9rRuHNRBTsR3dfAu8LfwDdGgu25Uax8RAAAAAElFTkSuQmCC',
+  'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAByUlEQVRYhe1WQUoDQRCs2UTwEBS8R//gwU+I4DFXX2AENRgQEcGr8RFCHuPRFxgPnkQ0F9Ht9rAzsz0zO8luTFzB1GHDZENXdVX3EGCJ/w7VO+3eJKrZrYOc+GuQ/Ab57t5+4Weiml111jvmy6vrRWsoxMV5H0ktzAJNeRgOhxiPxwCAVquFTqcDANi5e8bTewqAwQzoB8BwvxPn9loD9webE+sGAuQLidHbpy0OBpg5e8GsxRhNpH8HjF5pat1AQBREBV2yIwrM+mgEcanSpSJgyjoN7JekDDDrrtk+JtYNBMSs4jT18jadSydycbnQyXUDATEYB2xRMwfCbmX5dVyYZwRpaomd/MUwknTBy//HEZjq7LjgzQS0U0ap0DCHCMgOnPLXECyIEbozBZW2AGBQgf0sZsM5VxUQj4CyFbMbaIZSv5eDV6H7QEAMZghtZ8RahEuWRaWFzCIgHgF5q+YNonDEnY+KAqIXkZ4BsiKKtiEXMvM9EIXegnzfxVXMDAUlruFFbEFKTubGZmVsB3lxlOIOBcQiaK+v4PHlQxPlXZK/DQJbG6vVBcTw0N8uVWwW1P6XTPVOjgZJ0jisg5yIb+vgXeJv4RvrxrtwzfCUqAAAAABJRU5ErkJggg==',
+  'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADo0lEQVRYhe2Wu28cVRTGf+fcuzZeY0NCUqTgD3C8mzRU0KDQEgmqoBSGhoKWAlFEKYyQAAkrTRRqOpCQkOhAkUCio4D4IYSAzkkKB+wQbLy7c8+hmNmd2WecDQoFfNJodGfn7vc4Z84M/I9/GfLeB1cutdqH7zxSUli9fOntd4EsmrVXL1xcodVqAf6PEl37+AveWDk/dP78s08vA1eBvSgSDnd3bs49DJGKICIg+dod3J3XXn6Ogz9+49WXnu07F1gA9mOWJRqNBrNRcJ8mAQF8ZHYyuBYhI/DlV9cBAqARnBAj2agdjwARoBaETnK+/eY7NMwfaaPZPueefwaA73+4MfKeM80GAC+8+QkA19cukCQOC+ga1zDPR1//jIgjWhzBEQWNBupoNESdldNn2dm5w/FjT/SIpkEcvLAwX0PUQRwNXQGOBCvXoVpxZ31jc2ICEwWY+1y19AvzEQr3GgAtiLUUo8F690tB5DhC3sgiw800f2p/fAJ/tTtoyMOo1yOqnscdnINOIqNDO+vQbrdwMTRWEnBhfXNyAvOn9qmfOBgvwKxwC9TnAskTN3f32PnzHi1robEbv6HFUVGQJ+AOIvkQgL4U6icOqC9OSKCKu4cH/HT7Nh3P0GiEWkEcc+LBEhylB+qL+ywe+328gGrFNre3kWiE6EjsOi5EqPVS6EGEZrOJW0JVR5KMIy8TqCjQmlUcl7GLlvGrlgLcYWNzY2ICk1CUoFSgtdRPHAwtYteQeimUCuDsmebEMX7l3Pv3E1BCY+lUgqNaFZJ663ID3Fh/6ARKhFrqNVq15lVy1dRP1FjGRaZ6lQwnEKqkw+Si/QLMATwnHxhA7o65k2UJM0NwanOP30dATAPkhmjlmuYiuhCcja0fR7prNhqA4W5Fjwz3ydBTEGLZaKoV99p13y8AnGZjeeT4dfd8LrnnCYyoUQTQQsGtW7/y+tPnR7oZxPb2LywvncRd2dzaGnnP6aUlzBLJvKt1tIAsObUAF195kZ2dO0cSsLx0EgAz6yWQO3aSGeZOJ8swS5gNj+c+AeYwE4QgxlPHF6nNzkBKpGQ4EGMAnSksOGCA41nisJP/eTfuVIjAHQRCCITiPaPjBAC0kwMKMkvW7vuJTgZQffSkOBRCLqeL0cN4PKLA6trah2/FGB97wL05oSohKCEEzMBSRkpp4gf+3d3dq+SOTIAZ4Enyz+QwjYgpkIB7wF6RIxGo8eAJTgsDOpB/jP+38TcKdstukjAxWQAAAABJRU5ErkJggg==',
+];
+
+const profilesToIgnore = ['local/_unidentified', 'local/_unsolicited'];
+
+@Component({
+  selector: 'app-icon',
+  templateUrl: './app-icon.html',
+  styleUrls: ['./app-icon.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class AppIconComponent implements OnInit, OnDestroy {
+  private sub = Subscription.EMPTY;
+  private initDone = false;
+
+  private resovler = inject(AppIconResolver);
+
+  /** @private The data-URL for the app-icon if available */
+  src: SafeUrl | string = '';
+
+  /** The profile for which to show the app-icon */
+  @Input()
+  set profile(p: IDandName | null | undefined | string) {
+    if (typeof p === 'string') {
+      const parts = p.split("/")
+      p = {
+        Source: parts[0],
+        ID: parts[1],
+        Name: '',
+      }
+    }
+
+    if (!!this._profile && !!p && this._profile.ID === p.ID) {
+      // skip if this is the same profile
+      return;
+    }
+
+    this._profile = p || null;
+
+    if (this.initDone) {
+      this.updateView();
+    }
+  }
+  get profile(): IDandName | null | undefined {
+    return this._profile;
+  }
+  private _profile: IDandName | null = null;
+
+  /** isIgnoredProfile is set to true if the profile is part of profilesToIgnore */
+  isIgnoredProfile = false;
+
+  /** If not icon is available, this holds the first - uppercased - letter of the app - name */
+  letter: string = '';
+
+  /** @private The background color of the component, based on icon availability and generated by ID */
+  @HostBinding('style.background-color')
+  color: string = 'var(--text-tertiary)';
+
+  constructor(
+    private profileService: AppProfileService,
+    private changeDetectorRef: ChangeDetectorRef,
+    private portapi: PortapiService,
+    // @HostBinding() is not evaluated in our change-detection run but rather
+    // checked by the parent component during updateRenderer.
+    // Since we want the background color to change immediately after we set the
+    // src path we need to tell the parent (which ever it is) to update as wel.
+    @SkipSelf() private parentCdr: ChangeDetectorRef,
+    private sanitzier: DomSanitizer,
+    @Inject(PORTMASTER_HTTP_API_ENDPOINT) private httpAPI: string
+  ) { }
+
+  /** Updates the view of the app-icon and tries to find the actual application icon */
+  private requestedAnimationFrame: number | null = null;
+  private updateView(skipIcon = false) {
+    if (this.requestedAnimationFrame !== null) {
+      cancelAnimationFrame(this.requestedAnimationFrame);
+    }
+
+    this.requestedAnimationFrame = requestAnimationFrame(() => {
+      this.__updateView();
+    })
+  }
+
+  ngOnInit(): void {
+    this.updateView();
+    this.initDone = true;
+  }
+
+  private __updateView(skipIcon = false) {
+    this.requestedAnimationFrame = null;
+
+    const p = this.profile;
+    const sourceAndId = this.getIDAndSource();
+
+    if (!!p && sourceAndId !== null) {
+      let idx = 0;
+      for (let i = 0; i < (p.ID || p.Name).length; i++) {
+        idx += (p.ID || p.Name).charCodeAt(i);
+      }
+
+      const combinedID = `${sourceAndId[0]}/${sourceAndId[1]}`;
+      this.isIgnoredProfile = profilesToIgnore.includes(combinedID);
+
+      this.updateLetter(p);
+
+      if (!this.isIgnoredProfile) {
+        this.color = AppColors[idx % AppColors.length];
+      } else {
+        this.color = 'transparent';
+      }
+
+      if (!skipIcon) {
+        this.tryGetSystemIcon(p);
+      }
+
+    } else {
+      this.isIgnoredProfile = false;
+      this.color = 'var(--text-tertiary)';
+    }
+
+    this.changeDetectorRef.markForCheck();
+    this.parentCdr.markForCheck();
+  }
+
+  private updateLetter(p: IDandName) {
+    if (p.Name !== '') {
+      if (p.Name[0] === '<') {
+        // we might get the name with search-highlighting which
+        // will then include <em> tags. If the first character is a <
+        // make sure to strip all HTML tags before getting [0].
+        this.letter = p.Name.replace(
+          /(&nbsp;|<([^>]+)>)/gi,
+          ''
+        )[0].toLocaleUpperCase();
+      } else {
+        this.letter = p.Name[0];
+      }
+
+      this.letter = this.letter.toLocaleUpperCase();
+    } else {
+      this.letter = '?';
+    }
+  }
+
+  getIDAndSource(): [string, string] | null {
+    if (!this.profile) {
+      return null;
+    }
+
+    let id = this.profile.ID;
+    if (!id) {
+      return null;
+    }
+
+    // if there's a source ID only holds the profile ID
+    if (!!this.profile.Source) {
+      return [this.profile.Source, id];
+    }
+
+    // otherwise, ID likely contains the source
+    let [source, ...rest] = id.split('/');
+    if (rest.length > 0) {
+      return [source, rest.join('/')];
+    }
+
+    // id does not contain a forward-slash so we
+    // assume the source is local
+    return ['local', id];
+  }
+
+  /**
+   * Tries to get the application icon form the system.
+   * Requires the app to be running in the electron wrapper.
+   */
+  private tryGetSystemIcon(p: IDandName) {
+    const sourceAndId = this.getIDAndSource();
+    if (sourceAndId === null) {
+      return;
+    }
+
+    this.sub.unsubscribe();
+
+    this.sub = this.profileService
+      .watchAppProfile(sourceAndId[0], sourceAndId[1])
+      .pipe(
+        switchMap((profile) => {
+          this.updateLetter(profile);
+
+          if (!!profile.Icons?.length) {
+            const firstIcon = profile.Icons[0];
+
+            console.log(`profile ${profile.Name} has icon of from source ${firstIcon.Source} stored in ${firstIcon.Type}`)
+
+            switch (firstIcon.Type) {
+              case 'database':
+                return this.portapi
+                  .get<Record & { iconData: string }>(firstIcon.Value)
+                  .pipe(
+                    map((result) => {
+                      return result.iconData;
+                    })
+                  );
+
+              case 'api':
+                return of(`${this.httpAPI}/v1/profile/icon/${firstIcon.Value}`);
+
+              default:
+                console.error(`Icon type ${firstIcon.Type} not yet supported`);
+            }
+          }
+
+          this.resovler.resolveIcon(profile);
+
+          // return an empty icon here. If the resolver manages to find an icon
+          // the profle will get updated and we'll run again here.
+          return of('');
+        })
+      )
+      .subscribe({
+        next: (icon) => {
+          if (iconsToIngore.some((i) => i === icon)) {
+            icon = '';
+          }
+          if (icon !== '') {
+            this.src = this.sanitzier.bypassSecurityTrustUrl(icon);
+            this.color = 'unset';
+          } else {
+            this.src = '';
+            this.color =
+              this.color === 'unset' ? 'var(--text-tertiary)' : this.color;
+          }
+          this.changeDetectorRef.detectChanges();
+          this.parentCdr.markForCheck();
+        },
+        error: (err) => console.error(err),
+      });
+  }
+
+  ngOnDestroy(): void {
+    this.sub.unsubscribe();
+  }
+}
+
+export const AppColors: string[] = [
+  'rgba(244, 67, 54, .7)',
+  'rgba(233, 30, 99, .7)',
+  'rgba(156, 39, 176, .7)',
+  'rgba(103, 58, 183, .7)',
+  'rgba(63, 81, 181, .7)',
+  'rgba(33, 150, 243, .7)',
+  'rgba(3, 169, 244, .7)',
+  'rgba(0, 188, 212, .7)',
+  'rgba(0, 150, 136, .7)',
+  'rgba(76, 175, 80, .7)',
+  'rgba(139, 195, 74, .7)',
+  'rgba(205, 220, 57, .7)',
+  'rgba(255, 235, 59, .7)',
+  'rgba(255, 193, 7, .7)',
+  'rgba(255, 152, 0, .7)',
+  'rgba(255, 87, 34, .7)',
+  'rgba(121, 85, 72, .7)',
+  'rgba(158, 158, 158, .7)',
+  'rgba(96, 125, 139, .7)',
+];
diff --git a/desktop/angular/src/app/shared/app-icon/index.ts b/desktop/angular/src/app/shared/app-icon/index.ts
new file mode 100644
index 00000000..90675ee7
--- /dev/null
+++ b/desktop/angular/src/app/shared/app-icon/index.ts
@@ -0,0 +1,2 @@
+export { AppIconComponent } from './app-icon';
+export { SfngAppIconModule } from './app-icon.module';
diff --git a/desktop/angular/src/app/shared/config/basic-setting/basic-setting.html b/desktop/angular/src/app/shared/config/basic-setting/basic-setting.html
new file mode 100644
index 00000000..11e864a8
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/basic-setting/basic-setting.html
@@ -0,0 +1,69 @@
+<ng-container *ngIf="!!setting">
+  <ng-container [ngSwitch]="_type">
+    <ng-container *ngSwitchCase="'string'">
+      <!--
+        Dropdowns for a limited set of allowed values. Either using PossibleValues (the new way)
+        or by parsing the settings validation regex (deprecated)
+      -->
+      <sfng-select *ngIf="externalOptType(setting) === optionHints.OneOf; else: simpleTextInput" [ngModel]="_value"
+        (ngModelChange)="setInternalValue($event); touched()" [disabled]="_disabled">
+
+        <ng-container *ngIf="!!setting.PossibleValues; else: noPossibleValues">
+          <ng-container *ngFor="let opt of setting.PossibleValues">
+            <sfng-select-item *sfngSelectValue="opt.Value; description: opt.Description">{{opt.Name}}</sfng-select-item>
+          </ng-container>
+        </ng-container>
+
+        <ng-template #noPossibleValues>
+          <ng-container *ngFor="let opt of parseSupportedValues(setting)">
+            <sfng-select-item *sfngSelectValue="opt">{{opt}}</sfng-select-item>
+          </ng-container>
+        </ng-template>
+      </sfng-select>
+
+      <!--
+        A simple text input
+      -->
+      <ng-template #simpleTextInput>
+        <div class="input-container">
+          <input type="text" [ngModel]="_value" (ngModelChange)="setInternalValue($event)" [disabled]="_disabled" #input
+            (blur)="touched()" (click)="input.focus()">
+          <span *ngIf="!!unit" class="suffix" #suffixElement>
+            {{ unit }}
+          </span>
+        </div>
+      </ng-template>
+    </ng-container>
+
+    <!--
+      A number input
+    -->
+    <div class="input-container" *ngSwitchCase="'number'">
+      <input type="number" [ngModel]="_value" (ngModelChange)="setInternalValue($event)" [disabled]="_disabled" #input
+        (blur)="touched()">
+      <span *ngIf="!!unit" class="suffix" #suffixElement (click)="input.focus()">
+        {{ unit }}
+      </span>
+    </div>
+
+    <!--
+      Toggle switch (On/Off)
+    -->
+    <ng-container *ngSwitchCase="'boolean'">
+      <sfng-toggle id="check-{{setting.Key}}" name="check" [ngModel]="_value"
+        (ngModelChange)="setInternalValue($event); touched()" [disabled]="_disabled">
+      </sfng-toggle>
+    </ng-container>
+
+    <!--
+      Multi-line text input
+      Mainly used as a fallback if we don't support the given input type
+      yet.
+      This allows direct manipulatoin of the JSON encoded value
+    -->
+    <textarea *ngSwitchDefault [attr.rows]="lineCount(_value)" [ngModel]="_value"
+      (ngModelChange)="setInternalValue($event)" [disabled]="_disabled" (blur)="touched()">
+    </textarea>
+
+  </ng-container>
+</ng-container>
diff --git a/desktop/angular/src/app/shared/config/basic-setting/basic-setting.scss b/desktop/angular/src/app/shared/config/basic-setting/basic-setting.scss
new file mode 100644
index 00000000..0bb87370
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/basic-setting/basic-setting.scss
@@ -0,0 +1,28 @@
+label {
+  @apply text-sm;
+}
+
+input[type="checkbox"] {
+  float: right;
+  user-select: none;
+}
+
+.input-container {
+  display: block;
+  position: relative;
+  font-size: 0.75rem;
+
+  input {
+    font-size: inherit;
+  }
+
+  .suffix {
+    user-select: none;
+    position: absolute;
+    left: 0;
+    top: calc(50% - 0.55rem);
+    padding-left: 0.3rem;
+    color: #aaa;
+    font: inherit;
+  }
+}
diff --git a/desktop/angular/src/app/shared/config/basic-setting/basic-setting.ts b/desktop/angular/src/app/shared/config/basic-setting/basic-setting.ts
new file mode 100644
index 00000000..82433fb8
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/basic-setting/basic-setting.ts
@@ -0,0 +1,333 @@
+import { coerceBooleanProperty } from '@angular/cdk/coercion';
+import { DOCUMENT } from '@angular/common';
+import { AfterViewChecked, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, forwardRef, Inject, Input, Output, ViewChild } from '@angular/core';
+import { AbstractControl, ControlValueAccessor, NgModel, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';
+import { BaseSetting, ExternalOptionHint, OptionType, parseSupportedValues, SettingValueType, WellKnown } from '@safing/portmaster-api';
+
+@Component({
+  selector: 'app-basic-setting',
+  templateUrl: './basic-setting.html',
+  styleUrls: ['./basic-setting.scss'],
+  providers: [
+    {
+      provide: NG_VALUE_ACCESSOR,
+      multi: true,
+      useExisting: forwardRef(() => BasicSettingComponent),
+    },
+    {
+      provide: NG_VALIDATORS,
+      multi: true,
+      useExisting: forwardRef(() => BasicSettingComponent),
+    }
+  ],
+  changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class BasicSettingComponent<S extends BaseSetting<any, any>> implements ControlValueAccessor, Validator, AfterViewChecked {
+  /** @private template-access to all external option hits */
+  readonly optionHints = ExternalOptionHint;
+
+  /** @private template-access to parseSupportedValues */
+  readonly parseSupportedValues = parseSupportedValues;
+
+  @ViewChild('suffixElement', { static: false, read: ElementRef })
+  suffixElement?: ElementRef<HTMLSpanElement>;
+
+  /** Cached canvas element used by getTextWidth */
+  private cachedCanvas?: HTMLCanvasElement;
+
+  /** Returns the value of external-option hint annotation */
+  externalOptType(opt: S): ExternalOptionHint | null {
+    return opt.Annotations?.["safing/portbase:ui:display-hint"] || null;
+  }
+
+  /** Whether or not the input should be currently disabled. */
+  @Input()
+  set disabled(v: any) {
+    const disabled = coerceBooleanProperty(v);
+    this.setDisabledState(disabled);
+  }
+  get disabled() {
+    return this._disabled;
+  }
+
+  /** The setting to display */
+  @Input()
+  setting: S | null = null;
+
+  /** Emits when the user activates focus on this component */
+  @Output()
+  blured = new EventEmitter<void>();
+
+  /** @private The ngModel in our view used to display the value */
+  @ViewChild(NgModel)
+  model: NgModel | null = null;
+
+  /** The unit of the setting */
+  get unit() {
+    if (!this.setting) {
+      return '';
+    }
+    return this.setting.Annotations[WellKnown.Unit] || '';
+  }
+
+  /**
+   * Holds the value as it is presented to the user.
+   * That is, a JSON encoded object or array is dumped as a
+   * JSON string. Strings, numbers and booleans are presented
+   * as they are.
+   */
+  _value: string | number | boolean = "";
+
+  /**
+   * Describes the type of the original settings value
+   * as passed to writeValue().
+   * This may be anything that can be returned from `typeof v`.
+   * If set to "string", "number" or "boolean" then _value is emitted
+   * as it is.
+   * If it's set anything else (like "object") than _value is JSON.parse`d
+   * before being emitted.
+   */
+  _type: string = '';
+
+  /* Returns true if the current _type and _value is managed as JSON */
+  get isJSON(): boolean {
+    return this._type !== 'string'
+      && this._type !== 'number'
+      && this._type !== 'boolean'
+  }
+
+  /*
+   * _onChange is set using registerOnChange by @angular/forms
+   * and satisfies the ControlValueAccessor.
+   */
+  private _onChange: (_: SettingValueType<S>) => void = () => { };
+
+  /* _onTouch is set using registerOnTouched by @angular/forms
+   * and satisfies the ControlValueAccessor.
+   */
+  private _onTouch: () => void = () => { };
+
+  private _onValidatorChange: () => void = () => { };
+
+  /* Whether or not the input field is disabled. Set by setDisabledState
+   * from @angular/forms
+   */
+  _disabled: boolean = false;
+  private _valid: boolean = true;
+
+  // We are using ChangeDetectionStrategy.OnPush so angular does not
+  // update ourself when writeValue or setDisabledState is called.
+  // Using the changeDetectorRef we can take care of that ourself.
+  constructor(
+    @Inject(DOCUMENT) private document: Document,
+    private _changeDetectorRef: ChangeDetectorRef
+  ) { }
+
+  ngAfterViewChecked() {
+    // update the suffix position everytime angular has
+    // checked our view for changes.
+    this.updateUnitSuffixPosition();
+  }
+
+  /**
+   * Sets the user-presented value and emits a change.
+   * Used by our view. Not meant to be used from outside!
+   * Use writeValue instead.
+   * @private
+   *
+   * @param value The value to set
+   */
+  setInternalValue(value: string | number | boolean) {
+    let toEmit: any = value;
+    try {
+      if (!this.isJSON) {
+        toEmit = value;
+      } else {
+        toEmit = JSON.parse(value as string);
+      }
+    } catch (err) {
+      this._valid = false;
+      this._onValidatorChange();
+      return;
+    }
+
+    this._valid = true;
+    this._value = value;
+    this._onChange(toEmit);
+    this.updateUnitSuffixPosition();
+  }
+
+  /**
+   * Updates the position of the value's unit suffix element
+   */
+  private updateUnitSuffixPosition() {
+    if (!!this.unit && !!this.suffixElement) {
+      const input = this.suffixElement.nativeElement.previousSibling! as HTMLInputElement;
+      const style = window.getComputedStyle(input);
+      let paddingleft = parseInt(style.paddingLeft.slice(0, -2))
+      // we need to use `input.value` instead of `value` as we need to
+      // get preceding zeros of the number input as well, while still
+      // using the value as a fallback.
+      let value = input.value || (this._value as string);
+      const width = this.getTextWidth(value, style.font) + paddingleft;
+      this.suffixElement.nativeElement.style.left = `${width}px`;
+    }
+  }
+
+  /**
+   * Validates if "value" matches the settings requirements.
+   * It satisfies the NG_VALIDATORS interface and validates the
+   * value for THIS component.
+   *
+   * @param param0 The AbstractControl to validate
+   */
+  validate({ value }: AbstractControl): ValidationErrors | null {
+    if (!this._valid) {
+      return {
+        jsonParseError: true
+      }
+    }
+
+    if (this._type === 'string' || value === null) {
+      if (!!this.setting?.DefaultValue && !value) {
+        return {
+          required: true,
+        }
+      }
+    }
+
+    if (!!this.setting?.ValidationRegex) {
+      const re = new RegExp(this.setting.ValidationRegex);
+
+      if (!this.isJSON) {
+        if (!re.test(`${value}`)) {
+          return {
+            pattern: `"${value}"`
+          }
+        }
+      } else {
+        if (!Array.isArray(value)) {
+          return {
+            invalidType: true
+          }
+        }
+        const invalidLines = value.filter(v => !re.test(v));
+        if (invalidLines.length) {
+          return {
+            pattern: invalidLines
+          }
+        }
+      }
+    }
+
+    return null;
+  }
+
+  /**
+   * Writes a new value and satisfies the ControlValueAccessor
+   *
+   * @param v The new value to write
+   */
+  writeValue(v: SettingValueType<S>) {
+    // the following is a super ugly work-around for the migration
+    // from security-settings to booleans.
+    //
+    // In order to not mess and hide an actual portmaster issue
+    // we only convert v to a boolean if it's a number value and marked as a security setting.
+    // In all other cases we don't mangle it.
+    //
+    // TODO(ppacher): Remove in v1.8?
+    // BOM
+    if (this.setting?.OptType === OptionType.Bool && this.setting?.Annotations[WellKnown.DisplayHint] === ExternalOptionHint.SecurityLevel) {
+      if (typeof v === 'number') {
+        (v as any) = v === 7;
+      }
+    }
+    // EOM
+
+    let t = typeof v;
+    this._type = t;
+
+    if (this.isJSON) {
+      this._value = JSON.stringify(v, undefined, 2);
+    } else {
+      this._value = v;
+    }
+
+    this.updateUnitSuffixPosition();
+    this._changeDetectorRef.markForCheck();
+  }
+
+  registerOnValidatorChange(fn: () => void) {
+    this._onValidatorChange = fn;
+  }
+
+  /**
+   * Registers the onChange function requred by the
+   * ControlValueAccessor
+   *
+   * @param fn The fn to register
+   */
+  registerOnChange(fn: (_: SettingValueType<S>) => void) {
+    this._onChange = fn;
+  }
+
+  /**
+   * @private
+   * Called when the input-component used for the setting is touched/focused.
+   */
+  touched() {
+    this._onTouch();
+    this.blured.next();
+  }
+
+  /**
+   * Registers the onTouch function requred by the
+   * ControlValueAccessor
+   *
+   * @param fn The fn to register
+   */
+  registerOnTouched(fn: () => void) {
+    this._onTouch = fn;
+  }
+
+  /**
+   * Enable or disable the component. Required for the
+   * ControlValueAccessor.
+   *
+   * @param disable Whether or not the component is disabled
+   */
+  setDisabledState(disable: boolean) {
+    this._disabled = disable;
+    this._changeDetectorRef.markForCheck();
+  }
+
+  /**
+   * @private
+   * Returns the number of lines in value. If value is not
+   * a string 1 is returned.
+   */
+  lineCount(value: string | number | boolean) {
+    if (typeof value === 'string') {
+      return value.split('\n').length
+    }
+    return 1
+  }
+
+  /**
+   * Calculates the amount of pixel a text requires when being rendered.
+   * It uses canvas.measureText on a dummy (no attached) element
+   *
+   * @param text The text that would be rendered
+   * @param font The CSS font descriptor that would be used for the text
+   */
+  private getTextWidth(text: string, font: string): number {
+    let canvas = this.cachedCanvas || this.document.createElement('canvas');
+    this.cachedCanvas = canvas;
+
+    let context = canvas.getContext("2d")!;
+    context.font = font;
+    let metrics = context.measureText(text);
+    return metrics.width;
+  }
+}
diff --git a/desktop/angular/src/app/shared/config/basic-setting/index.ts b/desktop/angular/src/app/shared/config/basic-setting/index.ts
new file mode 100644
index 00000000..ec1ff492
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/basic-setting/index.ts
@@ -0,0 +1 @@
+export * from './basic-setting';
diff --git a/desktop/angular/src/app/shared/config/config-settings.html b/desktop/angular/src/app/shared/config/config-settings.html
new file mode 100644
index 00000000..f6c9253e
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/config-settings.html
@@ -0,0 +1,111 @@
+<!-- navigation for the settings -->
+<div class="settings-nav hidden sfng-md:block" *ngIf="!loading" [@fadeIn]
+  [ngClass]="{'w-48 pl-12': !compactView, 'w-36 pl-3': compactView}">
+  <ul>
+    <ng-container *ngFor="let subsys of subsystems; trackBy: trackSubsystem">
+      <ng-template [appExpertiseLevel]="subsys.minimumExpertise" [appExpertiseLevelData]="subsys"
+        [appExpertiseLevelOverwrite]="mustShowSubsystem">
+        <li [class.active]="activeSection === subsys.ConfigKeySpace" [class.separated]="subsys.ID === 'core'">
+          <span (click)="scrollTo(subsys.ConfigKeySpace)" class="relative">
+            {{subsys.Name}}
+            <span *ngIf="subsys.hasUserDefinedValues && userSettingsMarker" class="user-defined-value"></span>
+          </span>
+          <ul class="settings">
+            <ng-container *ngFor="let cat of settings.get(subsys.ConfigKeySpace); trackBy: trackCategory">
+              <li [class.active]="activeCategory === cat.name" class="category"
+                *appExpertiseLevel="cat.minimumExpertise; data: cat; overwrite: mustShowCategory"
+                (click)="scrollTo(subsys.ConfigKeySpace + ':' + cat.name, cat)">
+                <span class="relative">
+                  {{cat.name}}
+                  <span *ngIf="cat.hasUserDefinedValues && userSettingsMarker"
+                    class="user-defined-value category"></span>
+                </span>
+              </li>
+            </ng-container>
+          </ul>
+        </li>
+      </ng-template>
+    </ng-container>
+    <li *ngIf="!!others" (click)="scrollTo('config:other')" [class.active]="activeSection === 'config:other'">
+      Other
+    </li>
+  </ul>
+
+  <ul class="bottom-0 mb-7">
+    <li class="mt-3" *ngIf="!exportMode">
+      <button class="bg-grey text-white w-full" (click)="openImportDialog()">Import Settings</button>
+    </li>
+    <li *ngIf="exportMode" class="mt-3">
+      <button class="bg-grey text-white w-full" (click)="generateExport()">Save</button>
+    </li>
+    <li>
+      <button [ngClass]="{'bg-grey': !exportMode, 'bg-gray-400': exportMode}" class="text-white w-full" (click)="toggleExportMode()">{{ !exportMode ? 'Export Settings' : 'Cancel Export' }}</button>
+    </li>
+  </ul>
+
+</div>
+
+<div class="flex justify-center flex-grow px-0 pb-24 pr-4 overflow-auto whitespace-normal" cdkScrollable>
+  <fa-icon icon="spinner" [spin]="true" *ngIf="loading"></fa-icon>
+
+  <div class="w-full space-y-4" *ngIf="!loading">
+    <!-- actual settings -->
+    <ng-container *ngFor="let subsys of subsystems; trackBy: trackSubsystem">
+
+      <ng-template [appExpertiseLevel]="subsys.minimumExpertise" [appExpertiseLevelData]="subsys"
+        [appExpertiseLevelOverwrite]="mustShowSubsystem">
+
+        <h2 class="w-full px-0 ml-0 text-xl text-primary" [attr.id]="subsys.ConfigKeySpace">
+          {{subsys.Name}}
+        </h2>
+
+        <ng-container *ngFor="let cat of settings.get(subsys.ConfigKeySpace); trackBy: trackCategory; let index=index">
+          <div class="max-w-screen-lg space-y-4" #navLink anchor="top" [attr.subsystem]="subsys.ConfigKeySpace"
+            [attr.category]="cat.name"
+            *appExpertiseLevel="cat.minimumExpertise; data: cat; overwrite: mustShowCategory">
+
+            <div (click)="cat.collapsed = !cat.collapsed" [attr.id]="subsys.ConfigKeySpace +':' + cat.name"
+              class="flex items-center justify-between p-3 px-5 bg-gray-300 rounded cursor-pointer select-none">
+              <h4 class="text-md text-primary">{{cat.name}}</h4>
+
+              <svg xmlns="http://www.w3.org/2000/svg" class="w-6 h-6 transition-transform duration-150 transform"
+                [class.rotate-90]="!cat.collapsed" fill="none" viewBox="0 0 24 24" stroke="currentColor">
+                <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" />
+              </svg>
+
+            </div>
+
+            <div *ngIf="!cat.collapsed" [@fadeIn] [@fadeOut] class="space-y-4">
+              <ng-container *ngFor="let setting of cat.settings; trackBy: configService.trackBy">
+                <div class="ml-6"
+                  *appExpertiseLevel="setting.ExpertiseLevel; data: setting; overwrite: mustShowSetting">
+
+                  <app-generic-setting [class.highlighted]="highlightKey === setting.Key" [setting]="setting"
+                    [attr.id]="setting.Key" [resetLabelText]="resetLabelText" (save)="saveSetting($event, setting)"
+                    [lockDefaults]="lockDefaults" [displayStackable]="displayStackable" [selectMode]="exportMode" [(selected)]="selectedSettings[setting.Key]">
+                  </app-generic-setting>
+
+                </div>
+              </ng-container>
+            </div>
+          </div>
+        </ng-container>
+      </ng-template>
+    </ng-container>
+
+    <ng-container *ngIf="!!others">
+      <h2 id="config:other" #navLink>
+        Other
+      </h2>
+      <div class="category">
+        <ng-container *ngFor="let setting of others; trackBy: configService.trackBy">
+          <app-generic-setting *appExpertiseLevel="setting.ExpertiseLevel; data: setting; overwrite: mustShowSetting"
+            [setting]="setting" [resetLabelText]="resetLabelText" (save)="saveSetting($event, setting)"
+            [lockDefaults]="lockDefaults" [displayStackable]="displayStackable" [selectMode]="exportMode" [(selected)]="selectedSettings[setting.Key]">
+          </app-generic-setting>
+        </ng-container>
+      </div>
+    </ng-container>
+    <div class="pb-24"></div>
+  </div>
+</div>
diff --git a/desktop/angular/src/app/shared/config/config-settings.scss b/desktop/angular/src/app/shared/config/config-settings.scss
new file mode 100644
index 00000000..f839c341
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/config-settings.scss
@@ -0,0 +1,95 @@
+:host {
+  display: flex;
+  overflow: hidden;
+}
+
+
+fa-icon[icon="spinner"] {
+  @apply text-3xl;
+  display: block;
+  width: 100%;
+  text-align: center;
+  height: 6rem;
+}
+
+div.settings-nav {
+  @apply mt-4;
+  flex-shrink: 0;
+  overflow: visible;
+  white-space: nowrap;
+
+  transition: height cubic-bezier(0.25, 0.46, 0.45, 0.94) .5s;
+  @apply text-xs;
+
+
+  ul {
+    position: fixed;
+
+    li {
+      @apply font-medium;
+
+      &.separated {
+        margin-top: 1.25rem;
+      }
+
+    }
+
+    &>li {
+      @apply mb-1;
+      @apply text-tertiary;
+
+      span {
+        cursor: pointer;
+        display: block;
+      }
+
+      &:hover,
+      &.active {
+        @apply text-primary;
+      }
+
+      &.active {
+        &.category:before {
+          content: "";
+          width: 1px;
+          height: 1rem;
+          @apply bg-white block absolute;
+          left: 0.5rem;
+        }
+
+        ul.settings {
+          display: inline-block;
+        }
+      }
+
+      ul.settings {
+        position: unset;
+        @apply mt-2;
+        @apply ml-2;
+        @apply pl-3;
+        @apply text-xs;
+        @apply border-l;
+        @apply border-cards-tertiary;
+        display: none;
+
+        li {
+          cursor: pointer;
+          margin-top: 0;
+        }
+      }
+    }
+  }
+}
+
+.user-defined-value:before {
+  content: "";
+  height: 1rem;
+  @apply bg-blue block absolute rounded-full w-1 h-1;
+  top: 0.45rem;
+  left: -1rem;
+}
+
+.user-defined-value.category:before {
+  left: -2rem;
+  top: 0.35rem;
+}
diff --git a/desktop/angular/src/app/shared/config/config-settings.ts b/desktop/angular/src/app/shared/config/config-settings.ts
new file mode 100644
index 00000000..49301abf
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/config-settings.ts
@@ -0,0 +1,606 @@
+import { coerceBooleanProperty } from '@angular/cdk/coercion';
+import { ScrollDispatcher } from '@angular/cdk/overlay';
+import {
+  AfterViewInit,
+  ChangeDetectorRef,
+  Component,
+  ElementRef,
+  EventEmitter,
+  Input,
+  OnDestroy,
+  OnInit,
+  Output,
+  QueryList,
+  TrackByFunction,
+  ViewChildren,
+} from '@angular/core';
+import {
+  ConfigService,
+  ExpertiseLevelNumber,
+  PortapiService,
+  Setting,
+  StringSetting,
+  releaseLevelFromName,
+} from '@safing/portmaster-api';
+import { BehaviorSubject, Subscription, combineLatest } from 'rxjs';
+import { debounceTime } from 'rxjs/operators';
+import { StatusService, Subsystem } from 'src/app/services';
+import {
+  fadeInAnimation,
+  fadeInListAnimation,
+  fadeOutAnimation,
+} from 'src/app/shared/animations';
+import { FuzzySearchService } from 'src/app/shared/fuzzySearch';
+import { ExpertiseLevelOverwrite } from '../expertise/expertise-directive';
+import { SaveSettingEvent } from './generic-setting/generic-setting';
+import { ActionIndicatorService } from '../action-indicator';
+import { SfngDialogService } from '@safing/ui';
+import {
+  ExportConfig,
+  ExportDialogComponent,
+} from './export-dialog/export-dialog.component';
+import {
+  ImportConfig,
+  ImportDialogComponent,
+} from './import-dialog/import-dialog.component';
+
+interface Category {
+  name: string;
+  settings: Setting[];
+  minimumExpertise: ExpertiseLevelNumber;
+  collapsed: boolean;
+  hasUserDefinedValues: boolean;
+}
+
+interface SubsystemWithExpertise extends Subsystem {
+  minimumExpertise: ExpertiseLevelNumber;
+  isDisabled: boolean;
+  hasUserDefinedValues: boolean;
+}
+
+@Component({
+  selector: 'app-settings-view',
+  templateUrl: './config-settings.html',
+  styleUrls: ['./config-settings.scss'],
+  animations: [fadeInAnimation, fadeOutAnimation, fadeInListAnimation],
+})
+export class ConfigSettingsViewComponent
+  implements OnInit, OnDestroy, AfterViewInit {
+  subsystems: SubsystemWithExpertise[] = [];
+  others: Setting[] | null = null;
+  settings: Map<string, Category[]> = new Map();
+
+  /** A list of all selected settings for export */
+  selectedSettings: { [key: string]: boolean } = {};
+
+  /** Whether or not we are currently in "export" mode */
+  exportMode = false;
+
+  activeSection = '';
+  activeCategory = '';
+  loading = true;
+
+  @Input()
+  resetLabelText = 'Reset to system default';
+
+  @Input()
+  set compactView(v: any) {
+    this._compactView = coerceBooleanProperty(v);
+  }
+  get compactView() {
+    return this._compactView;
+  }
+  private _compactView = false;
+
+  @Input()
+  set lockDefaults(v: any) {
+    this._lockDefaults = coerceBooleanProperty(v);
+  }
+  get lockDefaults() {
+    return this._lockDefaults;
+  }
+  private _lockDefaults = false;
+
+  @Input()
+  set userSettingsMarker(v: any) {
+    this._userSettingsMarker = coerceBooleanProperty(v);
+  }
+  get userSettingsMarker() {
+    return this._userSettingsMarker;
+  }
+  private _userSettingsMarker = true;
+
+  @Input()
+  set searchTerm(v: string) {
+    this.onSearch.next(v);
+  }
+
+  @Input()
+  set availableSettings(v: Setting[]) {
+    this.onSettingsChange.next(v);
+  }
+
+  @Input()
+  set scope(scope: 'global' | string) {
+    this._scope = scope;
+  }
+  get scope() {
+    return this._scope;
+  }
+  private _scope: 'global' | string = 'global';
+
+  @Input()
+  displayStackable: string | boolean = false;
+
+  @Input()
+  set highlightKey(key: string | null) {
+    this._highlightKey = key || null;
+    this._scrolledToHighlighted = false;
+    // If we already loaded the settings then instruct the window
+    // to scroll the setting into the view.
+    if (!!key && !!this.settings && this.settings.size > 0) {
+      this.scrollTo(key);
+      this._scrolledToHighlighted = true;
+    }
+  }
+  get highlightKey() {
+    return this._highlightKey;
+  }
+  private _highlightKey: string | null = null;
+  private _scrolledToHighlighted = false;
+
+  mustShowSetting: ExpertiseLevelOverwrite<Setting> = (
+    lvl: ExpertiseLevelNumber,
+    s: Setting
+  ) => {
+    if (lvl >= s.ExpertiseLevel) {
+      // this setting is shown anyway.
+      return false;
+    }
+    if (s.Key === this.highlightKey) {
+      return true;
+    }
+    // the user is searching for settings so make sure we even show advanced or developer settings
+    if (this.onSearch.getValue() !== '') {
+      return true;
+    }
+    if (s.Value === undefined) {
+      // no value set
+      return false;
+    }
+    return true;
+  };
+
+  mustShowCategory: ExpertiseLevelOverwrite<Category> = (
+    lvl: ExpertiseLevelNumber,
+    cat: Category
+  ) => {
+    return cat.settings.some((setting) => this.mustShowSetting(lvl, setting));
+  };
+
+  mustShowSubsystem: ExpertiseLevelOverwrite<SubsystemWithExpertise> = (
+    lvl: ExpertiseLevelNumber,
+    subsys: SubsystemWithExpertise
+  ) => {
+    return !!this.settings
+      .get(subsys.ConfigKeySpace)
+      ?.some((cat) => this.mustShowCategory(lvl, cat));
+  };
+
+  @Output()
+  save = new EventEmitter<SaveSettingEvent>();
+
+  private onSearch = new BehaviorSubject<string>('');
+  private onSettingsChange = new BehaviorSubject<Setting[]>([]);
+
+  @ViewChildren('navLink', { read: ElementRef })
+  navLinks: QueryList<ElementRef> | null = null;
+
+  private subscription = Subscription.EMPTY;
+
+  constructor(
+    public statusService: StatusService,
+    public configService: ConfigService,
+    private elementRef: ElementRef,
+    private changeDetectorRef: ChangeDetectorRef,
+    private scrollDispatcher: ScrollDispatcher,
+    private searchService: FuzzySearchService,
+    private actionIndicator: ActionIndicatorService,
+    private portapi: PortapiService,
+    private dialog: SfngDialogService
+  ) { }
+
+  openImportDialog() {
+    const importConfig: ImportConfig = {
+      type: 'setting',
+      key: this.scope,
+    };
+    this.dialog.create(ImportDialogComponent, {
+      data: importConfig,
+      autoclose: false,
+      backdrop: 'light',
+    });
+  }
+
+  toggleExportMode() {
+    this.exportMode = !this.exportMode;
+
+    if (this.exportMode) {
+      this.actionIndicator.info(
+        'Settings Export',
+        'Please select all settings you want to export and press "Save" to generate the export. Note that settings with system defaults cannot be exported and are hidden.'
+      );
+    }
+  }
+
+  generateExport() {
+    let selectedKeys = Object.keys(this.selectedSettings).reduce((sum, key) => {
+      if (this.selectedSettings[key]) {
+        sum.push(key);
+      }
+
+      return sum;
+    }, [] as string[]);
+
+    if (selectedKeys.length === 0) {
+      selectedKeys = Array.from(this.settings.values()).reduce(
+        (sum, current) => {
+          current.forEach((cat) => {
+            cat.settings.forEach((s) => {
+              if (s.Value !== undefined) {
+                sum.push(s.Key);
+              }
+            });
+          });
+
+          return sum;
+        },
+        [] as string[]
+      );
+    }
+
+    this.portapi.exportSettings(selectedKeys, this.scope).subscribe({
+      next: (exportBlob) => {
+        const exportConfig: ExportConfig = {
+          type: 'setting',
+          content: exportBlob,
+        };
+
+        this.dialog.create(ExportDialogComponent, {
+          data: exportConfig,
+          backdrop: 'light',
+          autoclose: true,
+        });
+
+        this.exportMode = false;
+      },
+      error: (err) => {
+        const msg = this.actionIndicator.getErrorMessgae(err);
+        this.actionIndicator.error('Failed To Generate Export', msg);
+      },
+    });
+  }
+
+  saveSetting(event: SaveSettingEvent, s: Setting) {
+    this.save.next(event);
+    const subsys = this.subsystems.find(
+      (subsys) => s.Key === subsys.ToggleOptionKey
+    );
+    if (!!subsys) {
+      // trigger a reload of the page as we now might need to show more
+      // settings.
+      this.onSettingsChange.next(this.onSettingsChange.getValue());
+    }
+  }
+
+  trackSubsystem: TrackByFunction<SubsystemWithExpertise> =
+    this.statusService.trackSubsystem;
+
+  trackCategory(_: number, cat: Category) {
+    return cat.name;
+  }
+
+  ngOnInit(): void {
+    this.subscription = combineLatest([
+      this.onSettingsChange,
+      this.statusService.querySubsystem(),
+      this.onSearch.pipe(debounceTime(250)),
+      this.configService.watch<StringSetting>('core/releaseLevel'),
+    ])
+      .pipe(debounceTime(10))
+      .subscribe(
+        ([settings, subsystems, searchTerm, currentReleaseLevelSetting]) => {
+          this.subsystems = subsystems.map((s) => ({
+            ...s,
+            // we start with developer and decrease to the lowest number required
+            // while grouping the settings.
+            minimumExpertise: ExpertiseLevelNumber.developer,
+            isDisabled: false,
+            hasUserDefinedValues: false,
+          }));
+          this.others = [];
+          this.settings = new Map();
+
+          // Get the current release level as a number (fallback to 'stable' is something goes wrong)
+          const currentReleaseLevel = releaseLevelFromName(
+            currentReleaseLevelSetting || ('stable' as any)
+          );
+
+          // Make sure we only display settings that are allowed by the releaselevel setting.
+          settings = settings.filter(
+            (setting) => setting.ReleaseLevel <= currentReleaseLevel
+          );
+
+          // Use fuzzy-search to limit the number of settings shown.
+          const filtered = this.searchService.searchList(settings, searchTerm, {
+            ignoreLocation: true,
+            ignoreFieldNorm: true,
+            threshold: 0.1,
+            minMatchCharLength: 3,
+            keys: [
+              { name: 'Name', weight: 3 },
+              { name: 'Description', weight: 2 },
+            ],
+          });
+
+          // The search service wraps the items in a search-result object.
+          // Unwrap them now.
+          settings = filtered.map((res) => res.item);
+
+          // use order-annotations to sort the settings. This affects the order of
+          // the categories as well as the settings inside the categories.
+          settings.sort((a, b) => {
+            const orderA = a.Annotations?.['safing/portbase:ui:order'] || 0;
+            const orderB = b.Annotations?.['safing/portbase:ui:order'] || 0;
+            return orderA - orderB;
+          });
+
+          settings.forEach((setting) => {
+            let pushed = false;
+            this.subsystems.forEach((subsys) => {
+              if (
+                setting.Key.startsWith(
+                  subsys.ConfigKeySpace.slice('config:'.length)
+                )
+              ) {
+                // get the category name annotation and fallback to 'others'
+                let catName = 'other';
+                if (
+                  !!setting.Annotations &&
+                  !!setting.Annotations['safing/portbase:ui:category']
+                ) {
+                  catName = setting.Annotations['safing/portbase:ui:category'];
+                }
+
+                // ensure we have a category array for the subsystem.
+                let categories = this.settings.get(subsys.ConfigKeySpace);
+                if (!categories) {
+                  categories = [];
+                  this.settings.set(subsys.ConfigKeySpace, categories);
+                }
+
+                // find or create the appropriate category object.
+                let cat = categories.find((c) => c.name === catName);
+                if (!cat) {
+                  cat = {
+                    name: catName,
+                    minimumExpertise: ExpertiseLevelNumber.developer,
+                    settings: [],
+                    collapsed: false,
+                    hasUserDefinedValues: false,
+                  };
+                  categories.push(cat);
+                }
+
+                // add the setting to the category object and update
+                // the minimum expertise required for the category.
+                cat.settings.push(setting);
+                if (setting.ExpertiseLevel < cat.minimumExpertise) {
+                  cat.minimumExpertise = setting.ExpertiseLevel;
+                }
+
+                pushed = true;
+              }
+            });
+
+            // if we did not push the setting to some subsystem
+            // we need to push it to "others"
+            if (!pushed) {
+              this.others!.push(setting);
+            }
+          });
+
+          if (this.others.length === 0) {
+            this.others = null;
+          }
+
+          // Reduce the subsystem array to only contain subsystems that
+          // actually have settings to show.
+          // Also update the minimumExpertiseLevel for those subsystems
+          this.subsystems = this.subsystems
+            .filter((subsys) => {
+              return !!this.settings.get(subsys.ConfigKeySpace);
+            })
+            .map((subsys) => {
+              let categories = this.settings.get(subsys.ConfigKeySpace)!;
+              let hasUserDefinedValues = false;
+              categories.forEach((c) => {
+                c.hasUserDefinedValues = c.settings.some(
+                  (s) => s.Value !== undefined
+                );
+                hasUserDefinedValues =
+                  c.hasUserDefinedValues || hasUserDefinedValues;
+              });
+
+              subsys.hasUserDefinedValues = hasUserDefinedValues;
+
+              let toggleOption: Setting | undefined = undefined;
+              for (let c of categories) {
+                toggleOption = c.settings.find(
+                  (s) => s.Key === subsys.ToggleOptionKey
+                );
+                if (!!toggleOption) {
+                  if (
+                    (toggleOption.Value !== undefined && !toggleOption.Value) ||
+                    (toggleOption.Value === undefined &&
+                      !toggleOption.DefaultValue)
+                  ) {
+                    subsys.isDisabled = true;
+
+                    // remove all settings for all subsystem categories
+                    // except for the ToggleOption.
+                    categories = categories
+                      .map((c) => ({
+                        ...c,
+                        settings: c.settings.filter(
+                          (s) => s.Key === toggleOption!.Key
+                        ),
+                      }))
+                      .filter((cat) => cat.settings.length > 0);
+                    this.settings.set(subsys.ConfigKeySpace, categories);
+                  }
+                  break;
+                }
+              }
+
+              // reduce the categories to find the smallest expertise level requirement.
+              subsys.minimumExpertise = categories.reduce((min, current) => {
+                if (current.minimumExpertise < min) {
+                  return current.minimumExpertise;
+                }
+                return min;
+              }, ExpertiseLevelNumber.developer as ExpertiseLevelNumber);
+
+              return subsys;
+            });
+
+          // Force the core subsystem to the end.
+          if (this.subsystems.length >= 2 && this.subsystems[0].ID === 'core') {
+            this.subsystems.push(
+              this.subsystems.shift() as SubsystemWithExpertise
+            );
+          }
+
+          // Notify the user interface that we're done loading
+          // the settings.
+          this.loading = false;
+
+          // If there's a highlightKey set and we have not yet scrolled
+          // to it (because it was set during component bootstrap) we
+          // need to scroll there now.
+          if (this._highlightKey !== null && !this._scrolledToHighlighted) {
+            this._scrolledToHighlighted = true;
+
+            // Use the next animation frame for scrolling
+            window.requestAnimationFrame(() => {
+              this.scrollTo(this._highlightKey || '');
+            });
+          }
+        }
+      );
+  }
+
+  ngAfterViewInit() {
+    this.subscription = new Subscription();
+
+    // Whenever our scroll-container is scrolled we might
+    // need to update which setting is currently highlighted
+    // in the settings-navigation.
+    this.subscription.add(
+      this.scrollDispatcher
+        .scrolled(10)
+        .subscribe(() => this.intersectionCallback())
+    );
+
+    // Also, entries in the settings-navigation might become
+    // visible with expertise/release level changes so make
+    // sure to recalculate the current one whenever a change
+    // happens.
+    this.subscription.add(
+      this.navLinks?.changes.subscribe(() => {
+        this.intersectionCallback();
+        this.changeDetectorRef.detectChanges();
+      })
+    );
+  }
+
+  ngOnDestroy() {
+    this.subscription.unsubscribe();
+    this.onSearch.complete();
+  }
+
+  /**
+   * Calculates which navigation entry should be highlighted
+   * depending on the scroll position.
+   */
+  private intersectionCallback() {
+    // search our parents for the element that's scrollable
+    let elem: HTMLElement = this.elementRef.nativeElement;
+    while (!!elem) {
+      if (elem.scrollTop > 0) {
+        break;
+      }
+      elem = elem.parentElement!;
+    }
+
+    // if there's no scrolled/scrollable parent element
+    // our content itself is scrollable so use our own
+    // host element as the anchor for the calculation.
+    if (!elem) {
+      elem = this.elementRef.nativeElement;
+    }
+
+    // get the elements offset to page-top
+    var offsetTop = 0;
+    if (!!elem) {
+      const viewRect = elem.getBoundingClientRect();
+      offsetTop = viewRect.top;
+    }
+
+    this.navLinks?.some((link) => {
+      const subsystem = link.nativeElement.getAttribute('subsystem');
+      const category = link.nativeElement.getAttribute('category');
+
+      const lastChild = (link.nativeElement as HTMLElement)
+        .lastElementChild as HTMLElement;
+      if (!lastChild) {
+        return false;
+      }
+
+      const rect = lastChild.getBoundingClientRect();
+      const styleBox = getComputedStyle(lastChild);
+
+      const offset =
+        rect.top +
+        rect.height -
+        parseInt(styleBox.marginBottom) -
+        parseInt(styleBox.paddingBottom);
+
+      if (offset >= offsetTop) {
+        this.activeSection = subsystem;
+        this.activeCategory = category;
+        return true;
+      }
+
+      return false;
+    });
+    this.changeDetectorRef.detectChanges();
+  }
+
+  /**
+   * @private
+   * Performs a smooth-scroll to the given anchor element ID.
+   *
+   * @param id The ID of the anchor element to scroll to.
+   */
+  scrollTo(id: string, cat?: Category) {
+    if (!!cat) {
+      cat.collapsed = false;
+    }
+    document.getElementById(id)?.scrollIntoView({
+      behavior: 'smooth',
+      block: 'start',
+      inline: 'nearest',
+    });
+  }
+}
diff --git a/desktop/angular/src/app/shared/config/config.module.ts b/desktop/angular/src/app/shared/config/config.module.ts
new file mode 100644
index 00000000..127032af
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/config.module.ts
@@ -0,0 +1,77 @@
+import { DragDropModule } from '@angular/cdk/drag-drop';
+import { CommonModule } from '@angular/common';
+import { NgModule } from '@angular/core';
+import { FormsModule } from '@angular/forms';
+import { RouterModule } from '@angular/router';
+import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
+import {
+  SfngSelectModule,
+  SfngTipUpModule,
+  SfngToggleSwitchModule,
+  SfngTooltipModule,
+} from '@safing/ui';
+import { MarkdownModule } from 'ngx-markdown';
+import { ExpertiseModule } from '../expertise/expertise.module';
+import { SfngFocusModule } from '../focus';
+import { SfngMenuModule } from '../menu';
+import { SfngMultiSwitchModule } from '../multi-switch';
+import { BasicSettingComponent } from './basic-setting/basic-setting';
+import { ConfigSettingsViewComponent } from './config-settings';
+import { FilterListComponent } from './filter-lists';
+import { GenericSettingComponent } from './generic-setting';
+import {
+  OrderedListComponent,
+  OrderedListItemComponent,
+} from './ordererd-list';
+import { RuleListItemComponent } from './rule-list/list-item';
+import { RuleListComponent } from './rule-list/rule-list';
+import { SafePipe } from './safe.pipe';
+import { ExportDialogComponent } from './export-dialog/export-dialog.component';
+import { ImportDialogComponent } from './import-dialog/import-dialog.component';
+import { SfngAppIconModule } from '../app-icon';
+
+@NgModule({
+  imports: [
+    CommonModule,
+    FormsModule,
+    DragDropModule,
+    SfngTooltipModule,
+    SfngSelectModule,
+    SfngMultiSwitchModule,
+    SfngFocusModule,
+    SfngMenuModule,
+    SfngTipUpModule,
+    FontAwesomeModule,
+    MarkdownModule,
+    RouterModule,
+    ExpertiseModule,
+    SfngToggleSwitchModule,
+    MarkdownModule,
+    SfngAppIconModule
+  ],
+  declarations: [
+    BasicSettingComponent,
+    FilterListComponent,
+    OrderedListComponent,
+    OrderedListItemComponent,
+    RuleListComponent,
+    RuleListItemComponent,
+    ConfigSettingsViewComponent,
+    GenericSettingComponent,
+    SafePipe,
+    ExportDialogComponent,
+    ImportDialogComponent,
+  ],
+  exports: [
+    BasicSettingComponent,
+    FilterListComponent,
+    OrderedListComponent,
+    OrderedListItemComponent,
+    RuleListComponent,
+    RuleListItemComponent,
+    ConfigSettingsViewComponent,
+    GenericSettingComponent,
+    SafePipe,
+  ],
+})
+export class ConfigModule { }
diff --git a/desktop/angular/src/app/shared/config/export-dialog/export-dialog.component.html b/desktop/angular/src/app/shared/config/export-dialog/export-dialog.component.html
new file mode 100644
index 00000000..da8a3cb1
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/export-dialog/export-dialog.component.html
@@ -0,0 +1,19 @@
+<header class="flex flex-row items-center justify-between mb-4">
+  <h1 class="text-sm font-light m-0">
+    {{ dialogRef.data.type === "setting" ? "Settings" : "Profile" }} Export
+  </h1>
+
+  <svg role="img" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"
+    class="w-3 h-3 text-secondary hover:text-primary cursor-pointer" (click)="dialogRef.close()">
+    <path fill="currentColor"
+      d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z">
+    </path>
+  </svg>
+</header>
+
+<markdown lineNumbers [data]="content" emoji class="overflow-auto"></markdown>
+
+<div class="flex flex-row justify-end gap-2 items-center">
+  <button (click)="copyToClipboard()">Copy To Clipboard</button>
+  <button (click)="download()">Save</button>
+</div>
\ No newline at end of file
diff --git a/desktop/angular/src/app/shared/config/export-dialog/export-dialog.component.ts b/desktop/angular/src/app/shared/config/export-dialog/export-dialog.component.ts
new file mode 100644
index 00000000..f451732e
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/export-dialog/export-dialog.component.ts
@@ -0,0 +1,67 @@
+import { DOCUMENT } from '@angular/common';
+import {
+  ChangeDetectionStrategy,
+  Component,
+  ElementRef,
+  OnInit,
+  inject,
+} from '@angular/core';
+import { SFNG_DIALOG_REF, SfngDialogRef } from '@safing/ui';
+import { ActionIndicatorService } from '../../action-indicator';
+import { INTEGRATION_SERVICE } from 'src/app/integration';
+
+export interface ExportConfig {
+  content: string;
+  type: 'setting' | 'profile';
+}
+
+@Component({
+  templateUrl: './export-dialog.component.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  styles: [
+    `
+      :host {
+        @apply flex flex-col gap-2 overflow-hidden;
+        min-height: 24rem;
+        min-width: 24rem;
+        max-height: 40rem;
+        max-width: 40rem;
+      }
+    `,
+  ],
+})
+export class ExportDialogComponent implements OnInit {
+  readonly dialogRef: SfngDialogRef<
+    ExportDialogComponent,
+    unknown,
+    ExportConfig
+  > = inject(SFNG_DIALOG_REF);
+
+  private readonly elementRef: ElementRef<HTMLElement> = inject(ElementRef);
+  private readonly document = inject(DOCUMENT);
+  private readonly uai = inject(ActionIndicatorService);
+  private readonly integration = inject(INTEGRATION_SERVICE);
+
+  content = '';
+
+  ngOnInit(): void {
+    this.content = '```yaml\n' + this.dialogRef.data.content + '\n```';
+  }
+
+  download() {
+    const blob = new Blob([this.dialogRef.data.content], { type: 'text/yaml' });
+
+    const elem = this.document.createElement('a');
+    elem.href = window.URL.createObjectURL(blob);
+    elem.download = 'export.yaml';
+    this.elementRef.nativeElement.appendChild(elem);
+    elem.click();
+    this.elementRef.nativeElement.removeChild(elem);
+  }
+
+  copyToClipboard() {
+    this.integration.writeToClipboard(this.dialogRef.data.content)
+      .then(() => this.uai.success('Copied to Clipboard'))
+      .catch(() => this.uai.error('Failed to Copy to Clipboard'));
+  }
+}
diff --git a/desktop/angular/src/app/shared/config/filter-lists/filter-list.html b/desktop/angular/src/app/shared/config/filter-lists/filter-list.html
new file mode 100644
index 00000000..a6a72a87
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/filter-lists/filter-list.html
@@ -0,0 +1,55 @@
+<div class="scrollable">
+
+  <ng-template #treeNode let-node>
+    <div class="node">
+      <div class="relative head">
+        <span *ngIf="node.hasSelectedChildren"
+          class="relative block w-1 h-1 rounded-full -left-2.5 -mr-1 -top-0.5 bg-blue"></span>
+        <input type="checkbox" [ngModel]="node.selected" (ngModelChange)="updateNode(node, $event)">
+
+        <label>
+          <span class="flex flex-row items-center gap-2 name">
+            {{node.name}}
+            <span class="id">({{ node.id }})</span>
+          </span>
+          <span class="description">{{ node.description }}</span>
+        </label>
+
+        <span class="details">
+          {{ !!node.license ? 'License: ' + node.license : '' }}
+        </span>
+        <span class="details">
+          <a *ngIf="!!node.website" href="{{node.website}}">
+            <fa-icon icon="external-link-square-alt"></fa-icon>
+          </a>
+        </span>
+      </div>
+
+      <div class="children" *ngIf="node.children.length > 0">
+        <div class="expand" (click)="node.expanded = !node.expanded">
+          <ng-container *ngIf="!node.expanded">
+            <fa-icon icon="chevron-right"></fa-icon>
+            Expand
+          </ng-container>
+          <ng-container *ngIf="node.expanded">
+            <fa-icon icon="chevron-down"></fa-icon>
+            Collapse
+          </ng-container>
+        </div>
+      </div>
+
+      <div class="children" *ngIf="node.children.length > 0"
+        [@moveInOutList]="(node.expanded ? node.children : []).length">
+        <div class="border" *ngIf="node.expanded"></div>
+        <ng-container *ngFor="let child of (node.expanded ? node.children : []); trackBy: trackNode">
+          <ng-container *ngTemplateOutlet="treeNode; context: {$implicit: child}"></ng-container>
+        </ng-container>
+      </div>
+    </div>
+  </ng-template>
+
+  <ng-container *ngFor="let node of nodes; trackBy: trackNode">
+    <ng-container *ngTemplateOutlet="treeNode; context: {$implicit: node}"></ng-container>
+  </ng-container>
+
+</div>
diff --git a/desktop/angular/src/app/shared/config/filter-lists/filter-list.scss b/desktop/angular/src/app/shared/config/filter-lists/filter-list.scss
new file mode 100644
index 00000000..1b41d179
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/filter-lists/filter-list.scss
@@ -0,0 +1,101 @@
+:host {
+  display: block;
+  overflow: hidden;
+
+  @apply bg-cards-secondary;
+  @apply rounded;
+  @apply p-2;
+  @apply h-full;
+}
+
+.node {
+  position: relative;
+  display: flex;
+  flex-direction: column;
+
+  justify-content: flex-start;
+  @apply py-1;
+
+  .head {
+    display: flex;
+    flex-direction: row;
+    align-items: baseline;
+
+    input {
+      @apply mr-2;
+      position: relative;
+      top: 2px;
+    }
+
+    label {
+      display: flex;
+      flex-direction: column;
+      flex-grow: 1;
+    }
+
+    span.details {
+      opacity: 0;
+      text-transform: capitalize;
+      font-size: 0.9em;
+      white-space: nowrap;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      max-width: 6rem;
+      @apply text-tertiary;
+    }
+
+    &:hover {
+      span.details {
+        opacity: 1;
+
+      }
+    }
+  }
+
+  span.name {
+    @apply text-primary;
+
+    .id {
+      @apply text-tertiary;
+      font-style: italic;
+    }
+  }
+
+  .description {
+    position: relative;
+    top: -2px;
+
+    @apply text-tertiary;
+  }
+
+  div.expand {
+    cursor: pointer;
+    @apply text-secondary;
+    display: flex;
+    flex-direction: row;
+    align-items: center;
+    @apply pb-2;
+
+    fa-icon {
+      margin-right: 0.25rem;
+    }
+  }
+
+  .children {
+    display: flex;
+    flex-direction: column;
+    margin-left: 1.25rem;
+  }
+
+  .border {
+    position: absolute;
+    top: 1.2rem;
+    bottom: 0.5rem;
+    width: 0.7rem;
+    margin-left: -0.85rem;
+    border: 1px solid;
+    border-right: none;
+    border-top: none;
+    @apply border-cards-tertiary;
+  }
+}
diff --git a/desktop/angular/src/app/shared/config/filter-lists/filter-list.ts b/desktop/angular/src/app/shared/config/filter-lists/filter-list.ts
new file mode 100644
index 00000000..b39c45b4
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/filter-lists/filter-list.ts
@@ -0,0 +1,293 @@
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, HostListener, OnDestroy, OnInit } from '@angular/core';
+import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
+import { PortapiService, Record } from '@safing/portmaster-api';
+import { Subscription } from 'rxjs';
+import { moveInOutListAnimation } from '../../animations';
+
+interface Category {
+  name: string;
+  id: string;
+  description: string;
+  parent?: string | null;
+}
+
+interface Source {
+  name: string;
+  id: string;
+  description: string;
+  category: string;
+  // urls: Resource[]; // we don't care about the actual URLs here.
+  website: string;
+  contribute: string;
+  license: string;
+}
+
+interface FilterListIndex extends Record {
+  version: string;
+  schemaVersion: string;
+  categories: Category[];
+  sources: Source[];
+}
+
+interface TreeNode {
+  id: string;
+  name: string;
+  description: string;
+  children: TreeNode[];
+  expanded: boolean;
+  selected: boolean;
+  parent?: TreeNode;
+  website?: string;
+  license?: string;
+  hasSelectedChildren: boolean;
+}
+
+@Component({
+  selector: 'app-filter-list',
+  templateUrl: './filter-list.html',
+  styleUrls: ['./filter-list.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  providers: [
+    {
+      provide: NG_VALUE_ACCESSOR,
+      useExisting: forwardRef(() => FilterListComponent),
+      multi: true,
+    }
+  ],
+  animations: [
+    moveInOutListAnimation,
+  ]
+})
+export class FilterListComponent implements OnInit, OnDestroy, ControlValueAccessor {
+  /** The actual filter-list index as loaded from the portmaster. */
+  private index: FilterListIndex | null = null;
+
+  /** @private a list of "tree-nodes" to render */
+  nodes: TreeNode[] = [];
+
+  /** A lookup map for fast ID to TreeNode lookups */
+  private lookupMap: Map<string, TreeNode> = new Map();
+
+  /** @private forward blur events to the onTouch callback. */
+  @HostListener('blur')
+  onBlur() {
+    this.onTouch();
+  }
+
+  /** The currently selected IDs. */
+  private selectedIDs: string[] = [];
+
+  /** Subscription to watch the filterlist index. */
+  private watchSubscription = Subscription.EMPTY;
+
+  constructor(private portapi: PortapiService,
+    private changeDetectorRef: ChangeDetectorRef) { }
+
+  ngOnInit() {
+    this.watchSubscription =
+      this.portapi.watch<FilterListIndex>("cache:intel/filterlists/index")
+        .subscribe(
+          index => this.updateIndex(index),
+          err => {
+            // Filter list index not yet loaded.
+            console.error(`failed to get fitlerlist index`, err);
+          }
+        );
+  }
+
+  ngOnDestroy() {
+    this.watchSubscription.unsubscribe();
+  }
+
+  /** The onChange callback registered by ngModel or form controls */
+  private _onChange: (v: string[]) => void = () => { };
+
+  /** Registers the onChange callback required by ControlValueAccessor */
+  registerOnChange(fn: (v: string[]) => void) {
+    this._onChange = fn;
+  }
+
+  /** The _onTouch callback registered by ngModel and form controls */
+  private onTouch: () => void = () => { };
+
+  /** Registeres the onTouch callback required by ControlValueAccessor. */
+  registerOnTouched(fn: () => void) {
+    this.onTouch = fn;
+  }
+
+  /**
+   * Update the currently selected IDs. Used by ngModel
+   * and form controls. Implements ControlValueAccessor.
+   *
+   * @param ids A list of selected IDs
+   */
+  writeValue(ids: string[]) {
+    this.selectedIDs = ids;
+    if (!!this.index) {
+      this.updateIndex(this.index);
+    }
+  }
+
+  /**
+   *
+   * @param index The filter list index.
+   */
+  private updateIndex(index: FilterListIndex) {
+    this.index = index;
+
+    var nodes: TreeNode[] = [];
+    let lm = new Map<string, TreeNode>();
+    let childCategories: Category[] = [];
+
+    // Create a tree-node for each category
+    this.index.categories.forEach(category => {
+      let tn: TreeNode = {
+        id: category.id,
+        description: category.description,
+        name: category.name,
+        children: [],
+        expanded: this.lookupMap.get(category.id)?.expanded || false, // keep it expanded if the user did not change anything.
+        selected: false,
+        hasSelectedChildren: false,
+      };
+
+      lm.set(category.id, tn)
+
+      // if the category does not have a parent
+      // it's a root node.
+      if (!category.parent) {
+        nodes.push(tn);
+      } else {
+        // we need to handle child-categories later.
+        childCategories.push(category);
+      }
+    });
+
+    // iterate over all "child" categories and add
+    // them to the correct parent (which must be in lm already.)
+    childCategories.forEach(category => {
+      const tn = lm.get(category.id)!;
+      const parent = lm.get(category.parent!);
+      // if the parent category does not exist ignore it
+      if (!parent) {
+        return;
+      }
+
+      parent.children.push(tn);
+      tn.parent = parent;
+    });
+
+    this.index.sources.forEach(source => {
+      let category = lm.get(source.category);
+      if (!category) {
+        return;
+      }
+
+      let tn: TreeNode = {
+        id: source.id,
+        name: source.name,
+        description: source.description,
+        children: [],
+        expanded: false,
+        selected: false,
+        parent: category,
+        website: source.website,
+        license: source.license,
+        hasSelectedChildren: false
+      }
+
+      // Add the source to the lookup-map
+      lm.set(source.id, tn);
+
+      category.children.push(tn);
+    });
+
+    // make sure we expand all parent categories for
+    // all selected IDs so they are actually visible.
+    this.selectedIDs.forEach(id => {
+      const tn = lm.get(id);
+      if (!tn) {
+        return;
+      }
+
+      this.updateNode(tn, true, true, true, false);
+
+      let parent = tn.parent;
+      while (!!parent) {
+        parent.expanded = true;
+        parent.hasSelectedChildren = true;
+        parent = parent.parent;
+      }
+    });
+
+    this.nodes = nodes;
+    this.lookupMap = lm;
+
+    this.changeDetectorRef.markForCheck();
+  }
+
+  /** Returns all actually selected IDs. */
+  private getIDs() {
+    let ids: string[] = [];
+
+    let collectIds = (n: TreeNode) => {
+      if (n.selected) {
+        // If the parent is selected we can ignore the
+        // childs because they must be selected as well.
+        ids.push(n.id);
+        return;
+      }
+
+      n.children.forEach(child => collectIds(child));
+    }
+
+    this.nodes.forEach(node => collectIds(node))
+
+    return ids;
+  }
+
+  updateNode(node: TreeNode, selected: boolean, updateChildren = true, updateParents = true, emit = true) {
+    if (node.selected === selected) {
+      // Nothing changed
+      return;
+    }
+
+    // update the node an all children
+    node.selected = selected;
+    if (updateChildren) {
+      node.children.forEach(child => this.updateNode(child, selected, true, false, false));
+    }
+
+    // if we have a parent we might need to update
+    // the parent as well.
+    if (!!node.parent && updateParents) {
+      if (selected) {
+        // if we are now selected we might need to "select" the
+        // parent if all children are selected now.
+        const hasUnselected = node.parent.children.some(sibling => !sibling.selected);
+        if (!hasUnselected) {
+          // We need to update all parents but updating children
+          // is useless.
+          this.updateNode(node.parent, true, false, true, false);
+        }
+      } else if (node.parent.selected) {
+        // if we are unselected now we might need to "unselect" the parent
+        // but select siblings directly
+        const selectedSiblings = node.parent.children.filter(sibling => sibling.selected && sibling !== node);
+        this.updateNode(node.parent, false, false, true, false)
+      }
+    }
+
+    if (emit) {
+      const ids = this.getIDs();
+      this.selectedIDs = ids;
+      this._onChange(this.selectedIDs);
+    }
+  }
+
+  /** @private TrackByFunction for tree nodes. */
+  trackNode(_: number, node: TreeNode) {
+    return node.id;
+  }
+}
+
diff --git a/desktop/angular/src/app/shared/config/filter-lists/index.ts b/desktop/angular/src/app/shared/config/filter-lists/index.ts
new file mode 100644
index 00000000..07932b7e
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/filter-lists/index.ts
@@ -0,0 +1 @@
+export { FilterListComponent } from './filter-list';
diff --git a/desktop/angular/src/app/shared/config/generic-setting/generic-setting.html b/desktop/angular/src/app/shared/config/generic-setting/generic-setting.html
new file mode 100644
index 00000000..7c2f9bd1
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/generic-setting/generic-setting.html
@@ -0,0 +1,204 @@
+<div
+  class="relative flex flex-row flex-wrap items-center h-full px-5 py-5 bg-gray-200 border-l border-transparent rounded-r"
+  [class.pr-8]="lockDefaults" [ngClass]="{
+    'border-blue': enableActiveBorder && _setting?.Value !== undefined && !rejected,
+    'border-red': enableActiveBorder &&  rejected,
+    'border-yellow-300': selected,
+    'rounded-l': !rejected && _setting?.Value === undefined,
+    'hidden': selectMode && !userConfigured
+  }">
+
+  <input class="absolute -left-5 my-auto" type="checkbox" *ngIf="selectMode && userConfigured" [(ngModel)]="selected"
+    (ngModelChange)="selectedChange.next($event)">
+
+  <div class="flex flex-col flex-grow">
+    <div class="flex flex-row items-center justify-start space-x-2 w-fit" *ngIf="showHeader">
+      <h3 [innerHTML]="setting?.Name | safe:'html'" class="mb-0 name"></h3>
+      <sfng-tipup *ngIf="setting?.Description" [key]="setting!.Key" [text]="setting?.Description"
+        [buttons]="sfngTipUpButtons" [title]="setting?.Name"></sfng-tipup>
+
+      <span *ngIf="changeAccepted || restartPending || (changeAccepted && uiReloadRequired)" (click)="restartNow()"
+        class="px-1.5 py-0.5 border  rounded inline-flex justify-evenly items-center text-xxs mb-0.5" [ngClass]="{
+          'border-green-300 text-green-300': !_setting?.RequiresRestart,
+          'border-yellow text-yellow cursor-pointer hover:bg-yellow hover:text-gray-200': _setting?.RequiresRestart
+        }" [@fadeIn]>
+        <svg xmlns="http://www.w3.org/2000/svg" class="inline-block w-4 h-4 mr-1" viewBox="0 0 20 20"
+          fill="currentColor">
+          <path fill-rule="evenodd"
+            d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z"
+            clip-rule="evenodd" />
+        </svg>
+
+        Saved {{ _setting?.RequiresRestart ? ' - Restart required' : (uiReloadRequired ? ' - Reload required' : '') }}
+      </span>
+
+      <span *ngIf="rejected" (click)="abortChange()"
+        class="px-1.5 py-0.5 border-red-300 border text-red-300 rounded inline-flex justify-evenly items-center text-xxs hover:bg-red hover:text-white mb-0.5 cursor-pointer">
+        <svg xmlns="http://www.w3.org/2000/svg" class="inline-block w-4 h-4 mr-1" *ngIf="rejected" fill="none"
+          viewBox="0 0 24 24" stroke="currentColor">
+          <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
+            d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
+        </svg>
+        Invalid Value: {{ rejected }}
+      </span>
+
+      <span *ngIf="_upgradeRequired" (click)="openAccountDetails()"
+        class="px-1.5 py-0.5 border-red-300 border text-red-300 rounded inline-flex justify-evenly items-center text-xxs hover:bg-red hover:text-white mb-0.5 cursor-pointer">
+        <svg xmlns="http://www.w3.org/2000/svg" class="inline-block w-4 h-4 mr-1" fill="none" viewBox="0 0 24 24"
+          stroke="currentColor">
+          <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
+            d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
+        </svg>
+        This feature requires a subscription.
+      </span>
+    </div>
+
+    <span class="flex flex-row items-center justify-start space-x-2" *ngIf="setting?.ReleaseLevel !== releaseLevel.Stable ||
+        setting?.ExpertiseLevel !== expertise.user ||
+        (expertiseLevel|async) === expertiseNames.Developer">
+
+      <span class="inline-block px-1.5 py-0.5 bg-gray-400 rounded text-xxs text-secondary"
+        *appExpertiseLevel="'developer'">{{setting?.Key}}</span>
+
+      <span class="inline-block px-1.5 py-0.5 text-gray-100 bg-yellow-300 rounded text-xxs"
+        *ngIf="setting?.ReleaseLevel === releaseLevel.Beta">Beta</span>
+
+      <span class="inline-block px-1.5 py-0.5 text-white bg-red-300 rounded text-xxs"
+        *ngIf="setting?.ReleaseLevel === releaseLevel.Experimental">Experimental</span>
+
+      <span class="inline-block px-1.5 py-0.5 bg-gray-400 rounded text-xxs text-secondary"
+        *ngIf="setting?.ExpertiseLevel === expertise.expert">Advanced</span>
+
+      <span class="inline-block px-1.5 py-0.5 text-gray-100 bg-yellow-300 rounded text-xxs"
+        *ngIf="setting?.ExpertiseLevel === expertise.developer">Developer</span>
+
+    </span>
+  </div>
+
+
+  <!-- Quick Settings -->
+  <div *ngIf="(quickSettings || []).length > 0 && !disabled">
+    <app-menu-trigger [menu]="quickSettingsMenu" useContent="true" class="text-secondary hover:text-primary">
+      <svg xmlns="http://www.w3.org/2000/svg" class="inline-block w-4 h-4" fill="none" viewBox="0 0 24 24"
+        stroke="currentColor">
+        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
+          d="M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4" />
+      </svg>
+      <span class="ml-1 text-xs">Quick Settings</span>
+    </app-menu-trigger>
+
+    <app-menu #quickSettingsMenu>
+      <app-menu-item *ngFor="let quick of quickSettings" (click)="applyQuickSetting(quick)">
+        {{quick.Name}}
+      </app-menu-item>
+    </app-menu>
+  </div>
+
+  <!-- Actual settings input -->
+  <ng-container [ngSwitch]="externalOptType(setting)">
+
+    <!-- Rule lists -->
+    <ng-container *ngSwitchCase="optionHint.EndpointList">
+      <app-rule-list class="w-full mt-4" [readonly]="disabled" [ngModel]="_currentValue"
+        (ngModelChange)="updateValue($event, true)" [symbolMap]="symbolMap"></app-rule-list>
+
+      <div class="stacked-values" *ngIf="showStackable">
+        <h4>This setting stacks on top of the following <a class="underline text-tertiary hover:text-primary"
+            routerLink="/settings" [queryParams]="{setting: setting?.Key}">global setting</a>:</h4>
+        <app-rule-list class="w-full mt-4" [readonly]="true" [symbolMap]="symbolMap" [ngModel]="setting?.GlobalDefault">
+        </app-rule-list>
+      </div>
+    </ng-container>
+
+    <!-- Filter lists -->
+    <ng-container *ngSwitchCase="optionHint.FilterList">
+      <app-filter-list class="w-full" [class.mt-4]="showHeader" [ngModel]="_currentValue"
+        (ngModelChange)="updateValue($event, true)">
+      </app-filter-list>
+    </ng-container>
+
+    <!-- Ordered string lists -->
+    <ng-container *ngSwitchCase="optionHint.OrderedList">
+      <app-ordered-list class="w-full mt-4" [ngModel]="_currentValue" (ngModelChange)="updateValue($event, true)"
+        [readonly]="disabled"></app-ordered-list>
+
+      <div class="stacked-values" *ngIf="showStackable">
+        <h4>This setting stacks on top of the following <a class="underline text-tertiary hover:text-primary"
+            routerLink="/settings" [queryParams]="{setting: setting?.Key}">global setting</a>:</h4>
+        <app-ordered-list class="w-full mt-4" [ngModel]="setting?.GlobalDefault" [readonly]="true"></app-ordered-list>
+      </div>
+    </ng-container>
+
+    <!-- Default if no display hint is given -->
+    <ng-container *ngSwitchDefault>
+      <!-- basic string array with fixed order on optional stacking -->
+      <ng-container *ngIf="setting?.OptType === optionType.StringArray; else: basicSetting">
+        <app-ordered-list class="w-full mt-4" fixedOrder="true" [ngModel]="_currentValue"
+          (ngModelChange)="updateValue($event, true)" [readonly]="disabled">
+        </app-ordered-list>
+
+        <div class="stacked-values" *ngIf="showStackable">
+          <h4>This setting stacks on top of the following <a class="underline text-tertiary hover:text-primary"
+              routerLink="/settings" [queryParams]="{setting: setting?.Key}">global setting</a>:</h4>
+          <app-ordered-list class="w-full mt-4" fixedOrder="true" [ngModel]="setting?.GlobalDefault" [readonly]="true">
+          </app-ordered-list>
+        </div>
+      </ng-container>
+
+      <ng-template #basicSetting>
+        <!-- basic inputs -->
+        <app-basic-setting class="block" [setting]="_setting" [disabled]="disabled" [ngModel]="_currentValue"
+          (ngModelChange)="updateValue($event)"
+          (blured)="updateValue(_basicSettingsValueCache!, _currentValue !== _basicSettingsValueCache)">
+        </app-basic-setting>
+      </ng-template>
+    </ng-container>
+  </ng-container>
+
+  <span class="unlock-button" [class.bg-blue]="!isLocked" [class.bg-gray-500]="isLocked" *ngIf="lockDefaults"
+    snfgTooltipPosition="left" [sfng-tooltip]="lockTooltip" (click)="toggleLock()">
+
+    <svg viewBox="0 0 24 24" class="w-4 h-4 text-white" stroke="currentColor" *ngIf="isLocked">
+      <g fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="inner">
+        <path shape-rendering="geometricPrecision"
+          d="M13.7678 10.2322c.976311.976311.976311 2.55922 0 3.53553-.976311.976311-2.55922.976311-3.53553 0-.976311-.976311-.976311-2.55922 0-3.53553.976311-.976311 2.55922-.976311 3.53553 0" />
+        <path shape-rendering="geometricPrecision"
+          d="M14.849 4.12l.583.194c.534.178.895.678.895 1.241v.837c0 .712.568 1.293 1.28 1.308l.838.018c.485.01.925.289 1.142.723l.275.55c.252.504.153 1.112-.245 1.51l-.592.592c-.503.503-.512 1.316-.02 1.83l.58.606c.336.351.45.858.296 1.319l-.194.583c-.178.534-.678.895-1.241.895h-.837c-.712 0-1.293.568-1.308 1.28l-.018.838c-.01.485-.289.925-.723 1.142l-.55.275c-.504.252-1.112.153-1.51-.245l-.592-.592c-.503-.503-1.316-.512-1.83-.02l-.606.58c-.351.336-.858.45-1.319.296l-.583-.194c-.534-.178-.895-.678-.895-1.241v-.837c0-.712-.568-1.293-1.28-1.308l-.838-.018c-.485-.01-.925-.289-1.142-.723l-.275-.55c-.252-.504-.153-1.112.245-1.51l.592-.592c.503-.503.512-1.316.02-1.83l-.58-.606c-.337-.352-.451-.86-.297-1.32l.194-.583c.178-.534.678-.895 1.241-.895h.837c.712 0 1.293-.568 1.308-1.28l.018-.838c.012-.485.29-.925.724-1.142l.55-.275c.504-.252 1.112-.153 1.51.245l.592.592c.503.503 1.316.512 1.83.02l.606-.58c.351-.335.859-.449 1.319-.295z" />
+      </g>
+    </svg>
+
+    <svg xmlns="http://www.w3.org/2000/svg" data-name="Layer 1" viewBox="0 0 24 24" class="w-4 h-4 text-white"
+      fill="none" stroke=" currentColor" *ngIf="!isLocked">
+      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" fill="currentColor"
+        d="M19 21h-3a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2Z" />
+      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
+        d="M19 9h-3a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2ZM5 3h3a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2ZM5 15h3a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2a2 2 0 0 1 2-2Z" />
+    </svg>
+  </span>
+
+  <ng-template #lockTooltip>
+    <ng-template [ngIf]="isLocked" [ngIfElse]="unlockedTooltip">
+      Inherited from <a [routerLink]="['/settings']" [queryParams]="{setting: setting?.Key}"
+        class="cursor-pointer hover:underline">Global Settings</a>
+    </ng-template>
+    <ng-template #unlockedTooltip>
+      App specific configuration
+    </ng-template>
+  </ng-template>
+</div>
+
+<div *ngIf="userConfigured" class="flex justify-end mt-2" [@fadeIn] [@fadeOut]>
+  <span class="cursor-pointer text-tertiary hover:text-yellow" tabindex="0" (click)="resetValue()">
+    {{resetLabelText}}
+  </span>
+</div>
+
+<ng-template #helpTemplate>
+  <div class="relative flex flex-col overflow-hidden max-w-1/3vw">
+    <fa-icon class="absolute top-0 right-0 mt-2 mr-2 opacity-50 cursor-pointer hover:opacity" icon="times"
+      (click)="closeHelpDialog()"></fa-icon>
+    <h1>{{ _setting?.Name }}</h1>
+
+    <markdown emoji [data]="_setting?.Help" class="flex-grow block overflow-auto"></markdown>
+  </div>
+</ng-template>
\ No newline at end of file
diff --git a/desktop/angular/src/app/shared/config/generic-setting/generic-setting.scss b/desktop/angular/src/app/shared/config/generic-setting/generic-setting.scss
new file mode 100644
index 00000000..14e2c9e5
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/generic-setting/generic-setting.scss
@@ -0,0 +1,97 @@
+:host {
+  @apply block;
+
+  &.ng-invalid {
+    @apply border border-red border-opacity-50;
+  }
+
+  &.rejected {
+    .release-level.rejected {
+      opacity: 1;
+    }
+  }
+
+  &.highlighted:not(.touched) {
+    .name {
+      animation: fade-color 5s ease-out;
+    }
+  }
+}
+
+.stacked-values {
+  margin-top: 0.5rem;
+  opacity: 0.7;
+  @apply w-full;
+}
+
+.unlock-button {
+  @apply flex w-6 h-6 rounded-full;
+
+  justify-content: center;
+  align-items: center;
+  cursor: pointer;
+
+  position: absolute;
+  right: calc(-1.5rem/2);
+  top: calc(50% - 1.5rem/2);
+
+  &:hover {
+    @apply bg-blue;
+  }
+}
+
+.description,
+.help-text {
+  display: block;
+  @apply text-secondary;
+}
+
+.help-text {
+  @apply mb-2;
+}
+
+.notice {
+  display: block;
+  padding-left: 0.5rem;
+  padding-right: 0.5rem;
+  @apply mb-4;
+  @apply text-secondary;
+
+  fa-icon {
+    @apply mr-2;
+  }
+}
+
+.help-text {
+  @apply p-4;
+  @apply bg-cards-secondary;
+  @apply rounded;
+
+  .toggle {
+    position: relative;
+    left: -0.25rem;
+    cursor: pointer;
+
+    fa-icon {
+      @apply pr-1;
+    }
+
+    &:hover {
+      @apply text-primary;
+    }
+  }
+}
+
+@keyframes fade-color {
+  0% {
+    @apply text-blue;
+  }
+
+  90% {
+    @apply text-blue;
+  }
+
+  100% {
+    @apply text-primary;
+  }
+}
diff --git a/desktop/angular/src/app/shared/config/generic-setting/generic-setting.ts b/desktop/angular/src/app/shared/config/generic-setting/generic-setting.ts
new file mode 100644
index 00000000..4ff5a7f3
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/generic-setting/generic-setting.ts
@@ -0,0 +1,715 @@
+import { coerceBooleanProperty } from '@angular/cdk/coercion';
+import { TemplatePortal } from '@angular/cdk/portal';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, EventEmitter, HostBinding, Input, OnInit, Output, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
+import { NgModel } from '@angular/forms';
+import { BaseSetting, ConfigService, ExpertiseLevel, ExpertiseLevelNumber, ExternalOptionHint, OptionType, PortapiService, QuickSetting, ReleaseLevel, SPNService, SettingValueType, UserProfile, WellKnown, applyQuickSetting } from '@safing/portmaster-api';
+import { SfngDialogRef, SfngDialogService } from '@safing/ui';
+import { Button } from 'js-yaml-loader!../../../i18n/helptexts.yaml';
+import { Subject } from 'rxjs';
+import { debounceTime, tap } from 'rxjs/operators';
+import { ActionIndicatorService } from '../../action-indicator';
+import { fadeInAnimation, fadeOutAnimation } from '../../animations';
+import { ExpertiseService } from '../../expertise/expertise.service';
+import { SPNAccountDetailsComponent } from '../../spn-account-details';
+
+export interface SaveSettingEvent<S extends BaseSetting<any, any> = any> {
+  key: string;
+  value: SettingValueType<S>;
+  isDefault: boolean;
+  rejected?: (err: any) => void
+  accepted?: () => void
+}
+
+@Component({
+  selector: 'app-generic-setting',
+  templateUrl: './generic-setting.html',
+  exportAs: 'appGenericSetting',
+  styleUrls: ['./generic-setting.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  animations: [
+    fadeInAnimation,
+    fadeOutAnimation
+  ]
+})
+export class GenericSettingComponent<S extends BaseSetting<any, any>> implements OnInit {
+  //
+  // Constants used in the template.
+  //
+
+  readonly optionHint = ExternalOptionHint;
+  readonly expertiseNames = ExpertiseLevel
+  readonly expertise = ExpertiseLevelNumber;
+  readonly optionType = OptionType;
+  readonly releaseLevel = ReleaseLevel;
+  readonly wellKnown = WellKnown;
+
+  @ViewChild('helpTemplate', { read: TemplateRef, static: true })
+  helpTemplate: TemplateRef<any> | null = null;
+  private helpDialogRef: SfngDialogRef<any> | null = null;
+
+  // Whether or not the user needs to upgrade his/her account before
+  // this setting is valid.
+  _upgradeRequired = false;
+
+  /**
+   * Whether or not the component/setting is disabled and should
+   * be read-only.
+   */
+  @Input()
+  @HostBinding('class.disabled')
+  set disabled(v: any) {
+    this._disabled = coerceBooleanProperty(v);
+  }
+  get disabled() {
+    return this._disabled || this._upgradeRequired;
+  }
+  private _disabled: boolean = false;
+
+  /** Returns the symbolMap annoation for endpoint-lists */
+  get symbolMap() {
+    return this.setting?.Annotations[WellKnown.EndpointListVerdictNames] || {
+      '+': 'Allow',
+      '-': 'Block'
+    };
+  }
+
+  /** Whether or not the setting should be in select mode */
+  @Input()
+  set selectMode(v: any) {
+    this._selectMode = coerceBooleanProperty(v)
+
+    if (!this.selectMode) {
+      this.selected = false;
+      this.selectedChange.next(false);
+    }
+  }
+  get selectMode() { return this._selectMode }
+  private _selectMode = false;
+
+  /** Whether or not the setting has been selected */
+  @Input()
+  set selected(v: any) {
+    this._selected = coerceBooleanProperty(v)
+  }
+  get selected() { return this._selected }
+  private _selected = false;
+
+  /** Emits when the user (de-) selectes the setting. Can be used for two-way binding */
+  @Output()
+  selectedChange = new EventEmitter<boolean>();
+
+  /** Controls whether or not header with the setting name and success/failure markers is shown */
+  @Input()
+  set showHeader(v: any) {
+    this._showHeader = coerceBooleanProperty(v);
+  }
+  get showHeader() { return this._showHeader }
+  private _showHeader = true;
+
+  /** Controls whether or not the blue or red status borders are shown */
+  @Input()
+  set enableActiveBorder(v: any) {
+    this._enableActiveBorder = coerceBooleanProperty(v);
+  }
+  get enableActiveBorder() { return this._enableActiveBorder }
+  private _enableActiveBorder = true;
+
+  /**
+   * Whether or not the component should be displayed as "locked"
+   * when the default value is used (that is, no 'Value' property
+   * in the setting)
+   */
+  @Input()
+  set lockDefaults(v: any) {
+    this._lockDefaults = coerceBooleanProperty(v);
+  }
+  get lockDefaults() {
+    return this._lockDefaults;
+  }
+  private _lockDefaults: boolean = false;
+
+  /** The label to display in the reset-value button */
+  @Input()
+  resetLabelText = 'Reset';
+
+  /** Emits an event whenever the setting should be saved. */
+  @Output()
+  save = new EventEmitter<SaveSettingEvent<S>>();
+
+  /** Wether or not stackable values should be displayed. */
+  @Input()
+  set displayStackable(v: any) {
+    this._displayStackable = coerceBooleanProperty(v);
+  }
+  get displayStackable() {
+    return this._displayStackable;
+  }
+  private _displayStackable = false;
+
+  /**
+   * Whether or not the help text is currently shown
+   */
+  @Input()
+  set showHelp(v: any) {
+    this._showHelp = coerceBooleanProperty(v);
+  }
+  get showHelp() {
+    return this._showHelp;
+  }
+  private _showHelp = false;
+
+  /** Used internally to publish save events. */
+  private triggerSave = new Subject<void>();
+
+  /** Whether or not the value was reset. */
+  wasReset = false;
+
+  /** Whether or not a save request was rejected */
+  @HostBinding('class.rejected')
+  get rejected() {
+    return this._rejected;
+  }
+  private _rejected = null;
+
+  @HostBinding('class.saved')
+  get changeAccepted() {
+    return this._changeAccepted;
+  }
+  private _changeAccepted = false;
+
+  /**
+   * @private
+   * Returns the external option type hint from a setting.
+   *
+   * @param opt The setting for with to return the external option hint
+   */
+  externalOptType(opt: S | null): ExternalOptionHint | null {
+    return opt?.Annotations?.[WellKnown.DisplayHint] || null;
+  }
+
+  /**
+   * @private
+   * Returns whether or not a restart is pending for this setting
+   * to apply.
+   */
+  get restartPending(): boolean {
+    return !!this._setting?.Annotations?.[WellKnown.RestartPending];
+  }
+
+  /**
+   * @private
+   * Returns whether or not a UI reload is required for this setting
+   * to apply
+   */
+  get uiReloadRequired(): boolean {
+    return this._setting?.Annotations?.[WellKnown.RequiresUIReload] !== undefined;
+  }
+
+  /**
+   * Returns true if the setting has been touched (modified) by the user
+   * since the component has been rendered.
+   */
+  @HostBinding('class.touched')
+  get touched() {
+    return this._touched;
+  }
+  private _touched = false;
+
+  /**
+   * Returns true if the settings is currently locked.
+   */
+  @HostBinding('class.locked')
+  get isLocked() {
+    return (this.wasReset || !this.userConfigured) && this.lockDefaults;
+  }
+
+  /**
+   * Returns true if the user has configured the setting on their
+   * own or if the default value is being used.
+   */
+  @HostBinding('class.changed')
+  get userConfigured() {
+    return this.setting?.Value !== undefined;
+  }
+
+  /**
+   * Returns true if the setting is dirty. That is, the user
+   * has changed the setting in the view but it has not yet
+   * been saved.
+   */
+  @HostBinding('class.dirty')
+  get dirty() {
+    if (typeof this._currentValue !== 'object') {
+      return this._currentValue !== this._savedValue;
+    }
+    // JSON object (OptionType.StringArray) require will
+    // not be the same reference so we need to compare their
+    // string representations. That's a bit more costly but should
+    // still be fast enough.
+    // TODO(ppacher): calculate this only when required.
+    return JSON.stringify(this._currentValue) !== JSON.stringify(this._savedValue)
+  }
+
+  /**
+   * Returns true if the setting is pristine. That is, the
+   * settings default value is used and the user has not yet
+   * changed the value inside the view.
+   */
+  @HostBinding('class.pristine')
+  get pristine() {
+    return !this.dirty && !this.userConfigured
+  }
+
+  /** A list of buttons for the tip-up */
+  sfngTipUpButtons: Button[] = [];
+
+  /**
+   * Unlock the setting if it is locked. Unlocking will
+   * emit the default value to be safed for the setting.
+   */
+  unlock() {
+    if (!this.isLocked || !this.setting) {
+      return;
+    }
+
+    this._touched = true;
+    this.wasReset = false;
+    let value = this.defaultValue;
+
+    if (this.stackable) {
+      // TODO(ppacher): fix this one once string[] options can be
+      // stackable
+      value = [] as SettingValueType<S>;
+    }
+
+    this.updateValue(value, true);
+    // update the settings value now so the UI
+    // responds immediately.
+    this.setting!.Value = value;
+  }
+
+  /** True if the current setting is stackable */
+  get stackable() {
+    return !!this.setting?.Annotations[WellKnown.Stackable];
+  }
+
+  /** Wether or not stackable values should be shown right now */
+  get showStackable() {
+    return this.stackable && this.displayStackable;
+  }
+
+  /**
+   * @private
+   * Toggle Whether or not the help text is displayed
+   */
+  toggleHelp() {
+    this.showHelp = !this.showHelp;
+  }
+
+  /**
+   * @private
+   * Toggle Whether or not the setting is currently locked.
+   */
+  toggleLock() {
+    if (this.isLocked) {
+      this.unlock();
+      return;
+    }
+
+    this.resetValue();
+  }
+
+  /**
+   * @private
+   * Closes the help dialog.
+   */
+  closeHelpDialog() {
+    this.helpDialogRef?.close();
+  }
+
+  @ViewChild(NgModel, { static: false })
+  model: NgModel | null = null;
+
+  /**
+   * The actual setting that should be managed.
+   * The setter also updates the "currently" used
+   * value (which is either user configured or
+   * the default). See {@property userConfigured}.
+   */
+  @Input()
+  set setting(s: S | null) {
+    this.sfngTipUpButtons = [];
+
+    this._setting = s;
+    if (!s) {
+      this._currentValue = null;
+      return;
+    }
+
+    if (this._setting?.Help) {
+      this.sfngTipUpButtons = [
+        {
+          name: 'Show More',
+          action: {
+            ID: '',
+            Text: '',
+            Type: 'ui',
+            Run: async () => {
+              if (!this.helpTemplate) {
+                return;
+              }
+
+              // close any existing help dialog for THIS setting.
+              if (!!this.helpDialogRef) {
+                this.helpDialogRef.close();
+              }
+
+              // Create a new dialog form the helpTemplate
+              const portal = new TemplatePortal(this.helpTemplate, this.viewRef);
+              const ref = this.dialog.create(portal, {
+                // we don't use a backdrop and make the dialog dragable so the user can
+                // move it somewhere else and keep it open while configuring the setting.
+                backdrop: false,
+                dragable: true,
+              });
+
+              // make sure we reset the helpDialogRef to null once it get's clsoed.
+              this.helpDialogRef = ref;
+              this.helpDialogRef.onClose.subscribe(() => {
+                // but only if helpDialogRef still points to the same
+                // dialog reference. Otherwise we got closed because the user
+                // opened a new one and helpDialogRef already points to the new
+                // dialog.
+                if (this.helpDialogRef === ref) {
+                  this.helpDialogRef = null;
+                }
+              });
+            },
+            Payload: undefined,
+          },
+        },
+      ]
+    }
+    this.updateActualValue();
+  }
+  get setting(): S | null {
+    return this._setting;
+  }
+
+  /**
+   * The defaultValue input allows to overwrite the default
+   * value of the setting.
+   */
+  @Input()
+  set defaultValue(val: SettingValueType<S>) {
+    this._defaultValue = val;
+    this.updateActualValue();
+  }
+
+  get defaultValue() {
+    // Return cached value.
+    if (this._defaultValue !== null) {
+      return this._defaultValue;
+    }
+
+    // Stackable options are displayed differently.
+    if (this.stackable) {
+      if (this.setting?.GlobalDefault === undefined && this.setting?.DefaultValue !== null) {
+        return this.setting?.DefaultValue;
+      }
+      return [] as SettingValueType<S>;
+    }
+
+    // Return global, then default value.
+    if (this.setting?.GlobalDefault !== undefined) {
+      return this.setting.GlobalDefault
+    }
+    return this.setting?.DefaultValue
+  }
+
+  /* An optional default value overwrite */
+  _defaultValue: SettingValueType<S> | null = null;
+
+  /* Whether or not the setting has been saved */
+  saved = true;
+
+  /* The settings value, updated by the setting() setter */
+  _setting: S | null = null;
+
+  /* The currently configured value. Updated by the setting() setter */
+  _currentValue: SettingValueType<S> | null = null;
+
+  /* The currently saved value. Updated by the setting() setter */
+  _savedValue: SettingValueType<S> | null = null;
+
+  /* Used to cache the value of a basic-setting because we only want to save that on blur */
+  _basicSettingsValueCache: SettingValueType<S> | null = null
+
+  /** Whether or not the network rating system is enabled. */
+  networkRatingEnabled$ = this.configService.networkRatingEnabled$;
+
+  get expertiseLevel() {
+    return this.expertiseService.change;
+  }
+
+  constructor(
+    private expertiseService: ExpertiseService,
+    private configService: ConfigService,
+    private portapi: PortapiService,
+    private dialog: SfngDialogService,
+    private changeDetectorRef: ChangeDetectorRef,
+    private actionIndicator: ActionIndicatorService,
+    private spn: SPNService,
+    private viewRef: ViewContainerRef,
+    private destryoRef: DestroyRef,
+  ) { }
+
+  ngOnInit() {
+    this.triggerSave
+      .pipe(
+        debounceTime(500),
+        takeUntilDestroyed(this.destryoRef),
+      )
+      .subscribe(() => this.emitSaveRequest())
+
+    // watch the SPN user profile so we know which feature_ids
+    // are available for the user.
+    this.spn.profile$
+      .pipe(takeUntilDestroyed(this.destryoRef))
+      .subscribe((profile: UserProfile | null) => {
+        let value = this.setting?.Annotations[WellKnown.RequiresFeatureID]
+        if (value === undefined) {
+          this._upgradeRequired = false;
+        } else {
+          if (!Array.isArray(value)) {
+            value = [value];
+          }
+
+          this._upgradeRequired = value.some(val => !(profile?.current_plan?.feature_ids || []).includes(val))
+        }
+
+        this.changeDetectorRef.markForCheck();
+      })
+  }
+
+  /**
+   * @private
+   * Resets the value of setting by discarding any user
+   * configured values and reverting back to the default
+   * value.
+   */
+  resetValue() {
+    if (!this._setting) {
+      return;
+    }
+    this._touched = true;
+
+    this._currentValue = this.defaultValue;
+    this.wasReset = true;
+
+    this.triggerSave.next();
+  }
+
+  /**
+   * @private
+   * Aborts/reverts the current change to the value that's
+   * already saved.
+   */
+  abortChange() {
+    this._currentValue = this._savedValue;
+    this._touched = true;
+    this._rejected = null;
+  }
+
+  /**
+   * @private
+   * Update the current value by applying a quick-setting.
+   *
+   * @param qs The quick-settting to apply
+   */
+  applyQuickSetting(qs: QuickSetting<SettingValueType<S>>) {
+    if (this.disabled) {
+      return;
+    }
+
+    const value = applyQuickSetting(this._currentValue, qs);
+    if (value === null) {
+      return;
+    }
+
+    this.updateValue(value, true);
+  }
+
+  openAccountDetails() {
+    this.dialog.create(SPNAccountDetailsComponent, {
+      autoclose: true,
+      backdrop: 'light'
+    })
+  }
+
+  restartNow() {
+    if (this._setting?.RequiresRestart) {
+      this.dialog.confirm({
+        header: 'Restart Portmaster',
+        message: 'Do you want to restart the Portmaster now?',
+        buttons: [
+          {
+            id: 'no',
+            text: 'Maybe Later',
+            class: 'outline',
+          },
+          {
+            id: 'restart',
+            text: 'Restart',
+            class: 'danger'
+          }
+        ]
+      })
+        .onAction('restart', () =>
+          this.portapi.restartPortmaster()
+            .subscribe(this.actionIndicator.httpObserver(
+              'Restarting ...',
+              'Failed to Restart',
+            ))
+        )
+        .onAction('no', () => {
+          this._changeAccepted = false;
+          this.changeDetectorRef.markForCheck();
+        });
+
+      return;
+    }
+
+    if (this.uiReloadRequired) {
+      this.portapi.reloadUI()
+        .pipe(
+          tap(() => {
+            setTimeout(() => window.location.reload(), 1000)
+          })
+        )
+        .subscribe(this.actionIndicator.httpObserver(
+          'Reloading UI ...',
+          'Failed to Reload UI',
+        ))
+    }
+  }
+
+  /**
+   * Emits a save request to the parent component.
+   */
+  private _saveInterval: any;
+  private emitSaveRequest() {
+    const isDefault = this.wasReset;
+    let value = this._setting!['Value'];
+
+    if (isDefault) {
+      delete (this._setting!['Value']);
+    } else {
+      this._setting!.Value = this._currentValue;
+    }
+
+
+    let wasReset = this.wasReset;
+    this.wasReset = false;
+    this._rejected = null;
+    this._changeAccepted = false;
+    if (!!this._saveInterval) {
+      clearTimeout(this._saveInterval);
+    }
+
+    this.save.next({
+      key: this.setting!.Key,
+      isDefault: isDefault,
+      value: this._setting!.Value,
+      rejected: (err: any) => {
+        this._setting!['Value'] = value;
+        this._rejected = err;
+        this.changeDetectorRef.markForCheck();
+      },
+      accepted: () => {
+        if (!wasReset) {
+          this._changeAccepted = true;
+          // if no restart is required fade the "✔️ Saved" out after
+          // a few seconds.
+          if (!this._setting?.RequiresRestart) {
+            this._saveInterval = setTimeout(() => {
+              this._changeAccepted = false;
+              this._saveInterval = null;
+              this.changeDetectorRef.markForCheck();
+            }, 4000);
+          }
+        }
+
+        this.changeDetectorRef.markForCheck();
+
+      }
+    })
+  }
+
+  /**
+   * @private
+   * Used in our view as a ngModelChange callback to
+   * update the value.
+   *
+   * @param value The new value as emitted by the view
+   */
+  updateValue(value: SettingValueType<S>, save = false) {
+    this._touched = true;
+
+    this._changeAccepted = false;
+    this._rejected = null;
+    if (!!this._saveInterval) {
+      clearTimeout(this._saveInterval);
+    }
+
+    if (save) {
+
+      this._currentValue = value;
+      this.triggerSave.next();
+    } else {
+      this._basicSettingsValueCache = value;
+    }
+  }
+
+  /**
+   * @private
+   * A list of quick-settings available for the setting.
+   * The getter makes sure to always return an array.
+   */
+  get quickSettings(): QuickSetting<SettingValueType<S>>[] {
+    if (!this.setting || !this.setting.Annotations[WellKnown.QuickSetting]) {
+      return [];
+    }
+
+    const quickSettings = this.setting.Annotations[WellKnown.QuickSetting]!;
+
+    return Array.isArray(quickSettings)
+      ? quickSettings
+      : [quickSettings];
+  }
+
+  /**
+   * Determine the current, actual value of the setting
+   * by taking the settings Value, default Value or global
+   * default into account.
+   */
+  private updateActualValue() {
+    if (!this.setting) {
+      return
+    }
+
+    this.wasReset = false;
+
+    const s = this.setting;
+
+    const value = s.Value === undefined
+      ? this.defaultValue
+      : s.Value;
+
+
+    this._currentValue = value;
+    this._savedValue = value;
+    this._basicSettingsValueCache = value;
+  }
+}
diff --git a/desktop/angular/src/app/shared/config/generic-setting/index.ts b/desktop/angular/src/app/shared/config/generic-setting/index.ts
new file mode 100644
index 00000000..0fbe8492
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/generic-setting/index.ts
@@ -0,0 +1 @@
+export * from './generic-setting';
diff --git a/desktop/angular/src/app/shared/config/import-dialog/cursor.ts b/desktop/angular/src/app/shared/config/import-dialog/cursor.ts
new file mode 100644
index 00000000..1ab638ee
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/import-dialog/cursor.ts
@@ -0,0 +1,90 @@
+// Credit to Liam (Stack Overflow)
+// https://stackoverflow.com/a/41034697/3480193
+export class Cursor {
+  static getCurrentCursorPosition(parentElement: Node) {
+    var selection = window.getSelection(),
+      charCount = -1,
+      node;
+
+    if (selection?.focusNode) {
+      if (Cursor._isChildOf(selection.focusNode, parentElement)) {
+        node = selection.focusNode;
+        charCount = selection.focusOffset;
+
+        while (node) {
+          if (node === parentElement) {
+            break;
+          }
+
+          if (node.previousSibling) {
+            node = node.previousSibling;
+            charCount += node.textContent?.length || 0
+          } else {
+            node = node.parentNode;
+            if (node === null) {
+              break;
+            }
+          }
+        }
+      }
+    }
+
+    return charCount;
+  }
+
+  static setCurrentCursorPosition(chars: number, element: Node) {
+    if (chars >= 0) {
+      var selection = window.getSelection();
+
+      let range = Cursor._createRange(element, { count: chars });
+
+      if (range) {
+        range.collapse(false);
+        selection?.removeAllRanges();
+        selection?.addRange(range);
+      }
+    }
+  }
+
+  static _createRange(node: Node, chars: { count: number }, range?: Range): Range {
+    if (!range) {
+      range = document.createRange()
+      range.selectNode(node);
+      range.setStart(node, 0);
+    }
+
+    if (chars.count === 0) {
+      range.setEnd(node, chars.count);
+    } else if (node && chars.count > 0) {
+      if (node.nodeType === Node.TEXT_NODE) {
+        if (node.textContent!.length < chars.count) {
+          chars.count -= node.textContent!.length;
+        } else {
+          range.setEnd(node, chars.count);
+          chars.count = 0;
+        }
+      } else {
+        for (var lp = 0; lp < node.childNodes.length; lp++) {
+          range = Cursor._createRange(node.childNodes[lp], chars, range);
+
+          if (chars.count === 0) {
+            break;
+          }
+        }
+      }
+    }
+
+    return range;
+  }
+
+  static _isChildOf(node: Node, parentElement: Node) {
+    while (node !== null) {
+      if (node === parentElement) {
+        return true;
+      }
+      node = node.parentNode!;
+    }
+
+    return false;
+  }
+}
diff --git a/desktop/angular/src/app/shared/config/import-dialog/import-dialog.component.html b/desktop/angular/src/app/shared/config/import-dialog/import-dialog.component.html
new file mode 100644
index 00000000..c55709d4
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/import-dialog/import-dialog.component.html
@@ -0,0 +1,99 @@
+<header class="flex flex-row justify-between items-center mb-2">
+  <h1 class="m-0 text-sm font-light">
+    Import {{ dialogRef.data.type === "setting" ? "Settings" : "Profile" }}
+  </h1>
+
+  <svg role="img" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"
+    class="w-3 h-3 cursor-pointer text-secondary hover:text-primary" (click)="dialogRef.close()">
+    <path fill="currentColor"
+      d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z">
+    </path>
+  </svg>
+</header>
+
+<span class="text-xs font-light">Please paste the "Export Content" or use "Choose File" to select one from
+  your hard disk.</span>
+
+<pre tabindex="0" class="block flex-grow w-full rounded border border-gray-500 language-yaml overflow-auto outline-none"
+  #codeBlock id="yaml" contenteditable="true" (blur)="onBlur()" (mouseleave)="onBlur()" (paste)="onPaste($event)"></pre>
+
+<fieldset class="p-2 text-xs font-light bg-gray-400 rounded border border-gray-500 border-solid">
+  <legend class="px-2 py-1 m-0 text-xs w-fit">Configuration</legend>
+
+  <div class="p-2 space-y-2">
+    <div class="flex flex-row gap-2" *ngIf="dialogRef.data.type === 'setting'">
+      <input type="checkbox" [(ngModel)]="reset" id="reset" />
+      <label class="text-primary" for="reset">Reset all settings to default before importing</label>
+    </div>
+
+    <div class="flex flex-row gap-2" *ngIf="result?.containsUnknown">
+      <input type="checkbox" id="allowUnknown" [(ngModel)]="allowUnknown" />
+      <label class="text-primary" for="allowUnknown">Allow unknown settings</label>
+    </div>
+
+    <!-- Replacing existing profile must be explicitly accepted for profile (but not for settings...) -->
+    <div class="flex flex-row gap-2" *ngIf="result?.replacesExisting && dialogRef.data.type === 'profile'">
+      <input type="checkbox" id="allowUnknown" [(ngModel)]="allowReplace" />
+      <label class="text-primary" for="allowUnknown">Allow replacing an existing profile</label>
+    </div>
+
+    <div class="flex flex-row gap-2" *ngIf="result?.restartRequired">
+      <input type="checkbox" id="restart" [(ngModel)]="triggerRestart" />
+      <label class="text-primary" for="restart">Automatically restart Portmaster after a successfull import</label>
+    </div>
+  </div>
+</fieldset>
+
+<fieldset class="p-2 text-xs font-light bg-gray-400 rounded border border-gray-500 border-solid" *ngIf="
+    errorMessage ||
+    (result &&
+      (result.containsUnknown ||
+        result.replacesExisting ||
+        result.restartRequired))
+  ">
+  <legend class="px-2 py-1 m-0 text-xs w-fit">Warning</legend>
+
+  <div *ngIf="!!errorMessage" class="flex flex-row gap-2 items-center p-2 w-full text-xs font-normal">
+    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
+      class="w-6 h-6 text-red">
+      <path stroke-linecap="round" stroke-linejoin="round"
+        d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z" />
+    </svg>
+    <span>{{ errorMessage }}</span>
+  </div>
+
+  <ul *ngIf="result" class="px-2 py-2 pl-7 list-disc">
+    <li *ngIf="result.containsUnknown">
+      This export contains unknown settings. To import it, you must enable
+      "Allow unknown settings".
+    </li>
+
+    <li *ngIf="result.replacesExisting">
+      {{
+      dialogRef.data.type === "setting"
+      ? "This export will overwrite settings that have been changed by you."
+      : "This export will overwrite an existing profile."
+      }}
+
+      <ng-container *ngIf="replacedProfiles.length as count">
+        And deletes {{ count }} previously merged profile{{ count > 1 ? 's' : '' }}
+      </ng-container>
+    </li>
+
+    <li *ngIf="result.restartRequired">
+      This export will require a restart of the Portmaster to take effect.
+    </li>
+  </ul>
+</fieldset>
+
+<div class="flex flex-row justify-between">
+  <button>
+    <label class="block" for="avatarInput"> Choose File </label>
+  </button>
+
+  <button class="text-white bg-blue" (click)="import()" [disabled]="!result">
+    Import
+  </button>
+</div>
+
+<input name="avatarInput" id="avatarInput" class="!hidden" type="file" (change)="loadFile($event)" />
\ No newline at end of file
diff --git a/desktop/angular/src/app/shared/config/import-dialog/import-dialog.component.ts b/desktop/angular/src/app/shared/config/import-dialog/import-dialog.component.ts
new file mode 100644
index 00000000..57a5713c
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/import-dialog/import-dialog.component.ts
@@ -0,0 +1,201 @@
+import {
+  ChangeDetectionStrategy,
+  ChangeDetectorRef,
+  Component,
+  ElementRef,
+  ViewChild,
+  inject,
+} from '@angular/core';
+import { ImportResult, PortapiService, ProfileImportResult } from '@safing/portmaster-api';
+import { SFNG_DIALOG_REF, SfngDialogRef } from '@safing/ui';
+import { ActionIndicatorService } from '../../action-indicator';
+import { getSelectionOffset, setSelectionOffset } from './selection';
+import { Observable } from 'rxjs';
+
+export interface ImportConfig {
+  key: string;
+  type: 'setting' | 'profile';
+}
+
+@Component({
+  templateUrl: './import-dialog.component.html',
+  styles: [
+    `
+      :host {
+        @apply flex flex-col gap-2 overflow-hidden;
+        min-height: 24rem;
+        min-width: 24rem;
+        max-height: 40rem;
+        max-width: 40rem;
+      }
+    `,
+  ],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class ImportDialogComponent {
+  readonly dialogRef: SfngDialogRef<
+    ImportDialogComponent,
+    unknown,
+    ImportConfig
+  > = inject(SFNG_DIALOG_REF);
+
+  private readonly portapi = inject(PortapiService);
+  private readonly uai = inject(ActionIndicatorService);
+  private readonly cdr = inject(ChangeDetectorRef);
+
+  @ViewChild('codeBlock', { static: true, read: ElementRef })
+  codeBlockElement!: ElementRef<HTMLElement>;
+
+  result: ImportResult | ProfileImportResult | null = null;
+  reset = false;
+  allowUnknown = false;
+  triggerRestart = false;
+  allowReplace = false;
+
+  get replacedProfiles() {
+    if (this.result === null) {
+      return []
+    }
+
+    if ('replacesProfiles' in this.result) {
+      return this.result.replacesProfiles || [];
+    }
+
+    return [];
+  }
+
+  errorMessage: string = '';
+
+  get scope() {
+    return this.dialogRef.data;
+  }
+
+  onBlur() {
+    const text = this.codeBlockElement.nativeElement.innerText;
+    this.updateAndValidate(text);
+  }
+
+  onPaste(event: ClipboardEvent) {
+    event.stopPropagation();
+    event.preventDefault();
+
+    // Get pasted data via clipboard API
+    const clipboardData = event.clipboardData || (window as any).clipboardData;
+    const text = clipboardData.getData('Text');
+
+    this.updateAndValidate(text);
+  }
+
+  import() {
+    const text = this.codeBlockElement.nativeElement.innerText;
+
+    let saveFunc: Observable<ImportResult>;
+
+    if (this.dialogRef.data.type === 'setting') {
+      saveFunc = this.portapi.importSettings(
+        text,
+        this.dialogRef.data.key,
+        'text/yaml',
+        this.reset,
+        this.allowUnknown
+      );
+    } else {
+      saveFunc = this.portapi.importProfile(
+        text,
+        'text/yaml',
+        this.reset,
+        this.allowUnknown,
+        this.allowReplace
+      );
+    }
+
+    saveFunc.subscribe({
+      next: (result) => {
+        let msg = '';
+        if (result.restartRequired) {
+          if (this.triggerRestart) {
+            this.portapi.restartPortmaster().subscribe();
+            msg = 'Portmaster will be restarted now.';
+          } else {
+            msg = 'Please restart Portmaster to apply the new settings.';
+          }
+        }
+
+        this.uai.success('Settings Imported Successfully', msg);
+        this.dialogRef.close();
+      },
+      error: (err) => {
+        this.uai.error(
+          'Failed To Import Settings',
+          this.uai.getErrorMessgae(err)
+        );
+      },
+    });
+  }
+
+  updateAndValidate(content: string) {
+    const [start, end] = getSelectionOffset(
+      this.codeBlockElement.nativeElement
+    );
+
+    const p = (window as any).Prism;
+    const blob = p.highlight(content, p.languages.yaml, 'yaml');
+    this.codeBlockElement.nativeElement.innerHTML = blob;
+
+    setSelectionOffset(this.codeBlockElement.nativeElement, start, end);
+
+    if (content === '') {
+      return;
+    }
+
+    window.getSelection()?.removeAllRanges();
+
+    let validateFunc: Observable<ImportResult>;
+
+    if (this.dialogRef.data.type === 'setting') {
+      validateFunc = this.portapi.validateSettingsImport(
+        content,
+        this.dialogRef.data.key,
+        'text/yaml'
+      );
+    } else {
+      validateFunc = this.portapi.validateProfileImport(content, 'text/yaml');
+    }
+
+    validateFunc.subscribe({
+      next: (result) => {
+        this.result = result;
+        this.errorMessage = '';
+
+        this.cdr.markForCheck();
+      },
+      error: (err) => {
+        const msg = this.uai.getErrorMessgae(err);
+        this.errorMessage = msg;
+        this.result = null;
+
+        this.cdr.markForCheck();
+      },
+    });
+  }
+
+  loadFile(event: Event) {
+    const file: File = (event.target as any).files[0];
+    if (!file) {
+      this.updateAndValidate('');
+
+      return;
+    }
+
+    const reader = new FileReader();
+
+    reader.onload = (data) => {
+      (event.target as any).value = '';
+
+      let content = (data.target as any).result;
+      this.updateAndValidate(content);
+    };
+
+    reader.readAsText(file);
+  }
+}
diff --git a/desktop/angular/src/app/shared/config/import-dialog/selection.ts b/desktop/angular/src/app/shared/config/import-dialog/selection.ts
new file mode 100644
index 00000000..e7018115
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/import-dialog/selection.ts
@@ -0,0 +1,185 @@
+/** return true if node found */
+function searchNode(
+  container: Node,
+  startNode: Node,
+  predicate: (node: Node) => boolean,
+  excludeSibling?: boolean,
+): boolean {
+  if (predicate(startNode as Text)) {
+    return true
+  }
+
+  for (let i = 0, len = startNode.childNodes.length; i < len; i++) {
+    if (searchNode(startNode, startNode.childNodes[i], predicate, true)) {
+      return true
+    }
+  }
+
+  if (!excludeSibling) {
+    let parentNode = startNode
+    while (parentNode && parentNode !== container) {
+      let nextSibling = parentNode.nextSibling
+      while (nextSibling) {
+        if (searchNode(container, nextSibling, predicate, true)) {
+          return true
+        }
+        nextSibling = nextSibling.nextSibling
+      }
+      parentNode = parentNode.parentNode!
+    }
+  }
+
+  return false
+}
+
+function createRange(container: Node, start: number, end: number): Range {
+  let startNode: any;
+
+  searchNode(container, container, node => {
+    if (node.nodeType === Node.TEXT_NODE) {
+      const dataLength = (node as Text).data.length
+      if (start <= dataLength) {
+        startNode = node
+        return true
+      }
+      start -= dataLength
+      end -= dataLength
+    }
+
+    return false
+  })
+
+  let endNode: any;
+
+  if (startNode) {
+    searchNode(container, startNode, node => {
+      if (node.nodeType === Node.TEXT_NODE) {
+        const dataLength = (node as Text).data.length
+        if (end <= dataLength) {
+          endNode = node
+          return true
+        }
+        end -= dataLength
+      }
+
+      return false
+    })
+  }
+
+  const range = document.createRange()
+  if (startNode) {
+    if (start < startNode.data.length) {
+      range.setStart(startNode, start)
+    } else {
+      range.setStartAfter(startNode)
+    }
+  } else {
+    if (start === 0) {
+      range.setStart(container, 0)
+    } else {
+      range.setStartAfter(container)
+    }
+  }
+
+  if (endNode) {
+    if (end < endNode.data.length) {
+      range.setEnd(endNode, end)
+    } else {
+      range.setEndAfter(endNode)
+    }
+  } else {
+    if (end === 0) {
+      range.setEnd(container, 0)
+    } else {
+      range.setEndAfter(container)
+    }
+  }
+
+  return range
+}
+
+export function setSelectionOffset(node: Node, start: number, end: number) {
+  const range = createRange(node, start, end)
+  const selection = window.getSelection()!
+  selection.removeAllRanges()
+  selection.addRange(range)
+}
+
+
+function getAbsoluteOffset(container: Node, offset: number) {
+  if (container.nodeType === Node.TEXT_NODE) {
+    return offset
+  }
+
+  let absoluteOffset = 0
+  for (let i = 0, len = Math.min(container.childNodes.length, offset); i < len; i++) {
+    const childNode = container.childNodes[i]
+    searchNode(childNode, childNode, node => {
+      if (node.nodeType === Node.TEXT_NODE) {
+        absoluteOffset += (node as Text).data.length
+      }
+      return false
+    })
+  }
+
+  return absoluteOffset
+}
+
+export function getSelectionOffset(container: Node): [number, number] {
+  let start = 0
+  let end = 0
+
+  const selection = window.getSelection()!
+  for (let i = 0, len = selection.rangeCount; i < len; i++) {
+    const range = selection.getRangeAt(i)
+    if (range.intersectsNode(container)) {
+      const startNode = range.startContainer
+      searchNode(container, container, node => {
+        if (startNode === node) {
+          start += getAbsoluteOffset(node, range.startOffset)
+          return true
+        }
+
+        const dataLength = node.nodeType === Node.TEXT_NODE
+          ? (node as Text).data.length
+          : 0
+
+        start += dataLength
+        end += dataLength
+
+        return false
+      })
+
+      const endNode = range.endContainer
+      searchNode(container, startNode, node => {
+        if (endNode === node) {
+          end += getAbsoluteOffset(node, range.endOffset)
+          return true
+        }
+
+        const dataLength = node.nodeType === Node.TEXT_NODE
+          ? (node as Text).data.length
+          : 0
+
+        end += dataLength
+
+        return false
+      })
+
+      break
+    }
+  }
+
+  return [start, end]
+}
+
+export function getInnerText(container: Node): string {
+  const buffer: any = []
+  searchNode(container, container, node => {
+    if (node.nodeType === Node.TEXT_NODE) {
+      buffer.push((node as Text).data)
+    }
+    return false
+  })
+  return buffer.join('')
+}
diff --git a/desktop/angular/src/app/shared/config/index.ts b/desktop/angular/src/app/shared/config/index.ts
new file mode 100644
index 00000000..d71f0297
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/index.ts
@@ -0,0 +1,8 @@
+export * from './basic-setting';
+export * from './config-settings';
+export * from './config.module';
+export * from './filter-lists';
+export * from './generic-setting';
+export * from './ordererd-list';
+export * from './rule-list';
+export * from './safe.pipe';
diff --git a/desktop/angular/src/app/shared/config/ordererd-list/index.ts b/desktop/angular/src/app/shared/config/ordererd-list/index.ts
new file mode 100644
index 00000000..e8849b33
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/ordererd-list/index.ts
@@ -0,0 +1,2 @@
+export { OrderedListComponent } from './ordered-list';
+export { OrderedListItemComponent } from './item';
\ No newline at end of file
diff --git a/desktop/angular/src/app/shared/config/ordererd-list/item.html b/desktop/angular/src/app/shared/config/ordererd-list/item.html
new file mode 100644
index 00000000..8550145b
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/ordererd-list/item.html
@@ -0,0 +1,14 @@
+<div class="value" [class.edit]="_edit">
+  <span *ngIf="!_edit; else: editValue" class="flex-grow">
+    {{value}}
+  </span>
+
+  <ng-template #editValue>
+    <input type="text" [(ngModel)]="_value">
+  </ng-template>
+
+  <div class="buttons" *ngIf="!readonly">
+    <fa-icon [icon]="_edit ? 'check' : 'edit'" (click)="toggleEdit()"></fa-icon>
+    <fa-icon icon="times" (click)="reset()"></fa-icon>
+  </div>
+</div>
diff --git a/desktop/angular/src/app/shared/config/ordererd-list/item.scss b/desktop/angular/src/app/shared/config/ordererd-list/item.scss
new file mode 100644
index 00000000..169a61c5
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/ordererd-list/item.scss
@@ -0,0 +1,56 @@
+:host {
+  @apply flex outline-none;
+  @apply space-x-2;
+
+  &>* {
+    @apply rounded;
+    @apply bg-gray-300;
+  }
+}
+
+div.value {
+  @apply border-gray-500 border;
+  @apply p-1;
+  @apply px-2;
+
+  &.edit {
+    @apply p-0;
+    @apply bg-gray-400;
+
+    input {
+      margin: 0;
+      width: auto;
+      flex-grow: 1;
+      border: none;
+      @apply shadow-none;
+    }
+
+    input:focus+.buttons {
+      @apply bg-gray-500 border-gray-600 bg-opacity-75 border-opacity-75;
+    }
+  }
+
+  flex-grow : 1;
+  display : flex;
+  justify-content: space-between;
+  align-items : center;
+
+  .buttons {
+    flex-shrink: 0;
+    height: 100%;
+    width: 4rem;
+    @apply flex items-center justify-evenly;
+
+    fa-icon {
+      cursor: pointer;
+      @apply text-primary;
+      @apply p-1;
+      opacity: 0.7;
+      font-size: 0.6rem;
+
+      &:hover {
+        opacity: 1;
+      }
+    }
+  }
+}
diff --git a/desktop/angular/src/app/shared/config/ordererd-list/item.ts b/desktop/angular/src/app/shared/config/ordererd-list/item.ts
new file mode 100644
index 00000000..eefb4e3b
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/ordererd-list/item.ts
@@ -0,0 +1,87 @@
+import { coerceBooleanProperty } from '@angular/cdk/coercion';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
+
+@Component({
+  selector: 'app-ordered-list-item',
+  templateUrl: './item.html',
+  styleUrls: ['./item.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class OrderedListItemComponent implements OnInit {
+  @Input()
+  set readonly(v: any) {
+    this._readonly = coerceBooleanProperty(v);
+  }
+  get readonly() {
+    return this._readonly;
+  }
+  private _readonly = false;
+
+  @Input()
+  set value(v: string) {
+    this._value = v;
+    this._savedValue = v;
+  }
+  get value() {
+    return this._value;
+  }
+  _value = '';
+
+  private _savedValue = '';
+
+  @Output()
+  readonly valueChange = new EventEmitter<string>();
+
+  @Output()
+  readonly delete = new EventEmitter<void>();
+
+  @Input()
+  set edit(v: any) {
+    this._edit = coerceBooleanProperty(v);
+  }
+  get edit() {
+    return this._edit;
+  }
+  _edit = false;
+
+  @Output()
+  readonly editChange = new EventEmitter<boolean>();
+
+  ngOnInit() {
+    if (this._value === '' && this._savedValue === '') {
+      this.edit = true;
+    }
+  }
+
+  toggleEdit() {
+    const wasEdit = this._edit;
+    this._edit = !wasEdit;
+    this.editChange.next(this._edit);
+
+    if (!wasEdit) {
+      return;
+    }
+
+    if (this._value !== this._savedValue) {
+      this._value = this._value.trim()
+
+      this.valueChange.next(this.value);
+      this._savedValue = this._value;
+    }
+    this.changeDetectorRef.markForCheck();
+  }
+
+  reset() {
+    if (this._edit) {
+      if (this._value !== '' || this._savedValue !== '') {
+        this._value = this._savedValue;
+        this.changeDetectorRef.markForCheck();
+        return;
+      }
+    }
+
+    this.delete.next();
+  }
+
+  constructor(private changeDetectorRef: ChangeDetectorRef) { }
+}
diff --git a/desktop/angular/src/app/shared/config/ordererd-list/ordered-list.html b/desktop/angular/src/app/shared/config/ordererd-list/ordered-list.html
new file mode 100644
index 00000000..fa043cb5
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/ordererd-list/ordered-list.html
@@ -0,0 +1,23 @@
+<div class="list-items" cdkDropList (cdkDropListDropped)="drop($event)">
+  <div class="item" *ngFor="let entry of entries; let index=index; trackBy: trackBy" cdkDrag
+    [cdkDragDisabled]="readonly || fixedOrder">
+    <svg xmlns="http://www.w3.org/2000/svg" class="w-5 h-5 mr-2 text-secondary" fill="none" viewBox="0 0 24 24"
+      stroke="currentColor" cdkDragHandle [class.opacity-0]="readonly || fixedOrder"
+      [class.cusor-move]="!readonly && !fixedOrder">
+      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 9l4-4 4 4m0 6l-4 4-4-4" />
+    </svg>
+    <app-ordered-list-item [readonly]="readonly" [value]="entry" (valueChange)="updateValue(index, $event)"
+      (delete)="deleteEntry(index)">
+    </app-ordered-list-item>
+  </div>
+</div>
+
+<div class="button-list" *ngIf="!readonly">
+  <button class="new-entry" (click)="addEntry()">
+    <svg xmlns="http://www.w3.org/2000/svg" class="w-5 h-5" viewBox="0 0 20 20" fill="currentColor">
+      <path fill-rule="evenodd"
+        d="M10 5a1 1 0 011 1v3h3a1 1 0 110 2h-3v3a1 1 0 11-2 0v-3H6a1 1 0 110-2h3V6a1 1 0 011-1z" clip-rule="evenodd" />
+    </svg>
+    <span>Add</span>
+  </button>
+</div>
diff --git a/desktop/angular/src/app/shared/config/ordererd-list/ordered-list.scss b/desktop/angular/src/app/shared/config/ordererd-list/ordered-list.scss
new file mode 100644
index 00000000..d4c1c086
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/ordererd-list/ordered-list.scss
@@ -0,0 +1,77 @@
+:host {
+  outline: none;
+}
+
+.item,
+.cdk-drag-preview {
+  display: flex;
+  align-items: center;
+  padding: 3px;
+
+  fa-icon {
+    cursor: pointer;
+    @apply text-tertiary;
+    @apply text-lg;
+    @apply mr-2;
+  }
+
+  app-ordered-list-item {
+    flex-grow: 1;
+  }
+}
+
+.cdk-drag-placeholder {
+  left: -4px;
+  padding: 1px;
+  padding-left: 4px;
+}
+
+// TODO(ppacher9): move this transition to a mixin
+.list-items.cdk-drop-list-dragging .list:not(.cdk-drag-placeholder) {
+  transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
+}
+
+.cdk-drag-preview {
+  left: -4px;
+  padding: 1px;
+  padding-left: 4px;
+}
+
+.button-list {
+  @apply mt-2;
+  @apply ml-8;
+}
+
+.new-entry {
+  position: relative;
+  cursor: pointer;
+  @apply w-full;
+  @apply rounded;
+  @apply p-1;
+  @apply border-2;
+  @apply border-dashed;
+  @apply border-buttons-light;
+  @apply bg-background;
+  @apply text-secondary;
+
+  span {
+    @apply font-medium;
+  }
+
+  fa-icon {
+    font-size: 1rem;
+  }
+
+  &:hover {
+    @apply text-primary;
+    @apply bg-cards-secondary;
+
+    span {
+      @apply text-primary;
+    }
+  }
+
+  display : flex;
+  align-items : center;
+  justify-content: center;
+}
diff --git a/desktop/angular/src/app/shared/config/ordererd-list/ordered-list.ts b/desktop/angular/src/app/shared/config/ordererd-list/ordered-list.ts
new file mode 100644
index 00000000..0655ccb5
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/ordererd-list/ordered-list.ts
@@ -0,0 +1,111 @@
+import { coerceBooleanProperty } from '@angular/cdk/coercion';
+import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, HostBinding, HostListener, Input } from "@angular/core";
+import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
+
+
+@Component({
+  selector: 'app-ordered-list',
+  templateUrl: './ordered-list.html',
+  styleUrls: ['./ordered-list.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  providers: [
+    {
+      provide: NG_VALUE_ACCESSOR,
+      useExisting: forwardRef(() => OrderedListComponent),
+      multi: true,
+    }
+  ]
+})
+export class OrderedListComponent implements ControlValueAccessor {
+  @HostBinding('tabindex')
+  readonly tabindex = 0;
+
+  @HostListener('blur')
+  onBlur() {
+    this.onTouch();
+  }
+
+  @Input()
+  set readonly(v: any) {
+    this._readonly = coerceBooleanProperty(v);
+  }
+  get readonly() {
+    return this._readonly;
+  }
+  _readonly = false;
+
+  @Input()
+  set fixedOrder(v: any) {
+    this._fixedOrder = coerceBooleanProperty(v);
+  }
+  get fixedOrder() {
+    return this._fixedOrder;
+  }
+  private _fixedOrder = false;
+
+  entries: string[] = [];
+
+  constructor(private changeDetector: ChangeDetectorRef) { }
+
+  updateValue(index: number, newValue: string) {
+    // we need to make a new object copy here.
+    this.entries = [
+      ...this.entries,
+    ];
+
+    this.entries[index] = newValue;
+    this.onChange(this.entries);
+  }
+
+  deleteEntry(index: number) {
+    this.entries = [...this.entries];
+    this.entries.splice(index, 1);
+    this.onChange(this.entries);
+  }
+
+  addEntry() {
+    // if there's already one empty entry abort
+    if (this.entries.some(e => e.trim() === '')) {
+      return;
+    }
+
+    this.entries = [...this.entries];
+    this.entries.push('');
+    //this.onChange(this.entries);
+  }
+
+  writeValue(value: string[]) {
+    this.entries = value;
+
+    this.changeDetector.markForCheck();
+  }
+
+  onChange = (_: string[]): void => { };
+  registerOnChange(fn: (value: string[]) => void) {
+    this.onChange = fn;
+  }
+
+  onTouch = (): void => { };
+  registerOnTouched(fn: () => void) {
+    this.onTouch = fn;
+  }
+
+  drop(event: CdkDragDrop<string[]>) {
+    if (this._readonly) {
+      return;
+    }
+
+    // create a copy of the array
+    this.entries = [...this.entries];
+    moveItemInArray(this.entries, event.previousIndex, event.currentIndex);
+
+    this.changeDetector.markForCheck();
+    this.onChange(this.entries);
+  }
+
+  trackBy(idx: number, value: string) {
+    return `${value}`;
+  }
+}
+
diff --git a/desktop/angular/src/app/shared/config/rule-list/index.ts b/desktop/angular/src/app/shared/config/rule-list/index.ts
new file mode 100644
index 00000000..a2d41fde
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/rule-list/index.ts
@@ -0,0 +1,2 @@
+export * from './list-item';
+export * from './rule-list';
diff --git a/desktop/angular/src/app/shared/config/rule-list/list-item.html b/desktop/angular/src/app/shared/config/rule-list/list-item.html
new file mode 100644
index 00000000..34eeae30
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/rule-list/list-item.html
@@ -0,0 +1,29 @@
+<div class="flex items-center action justify-evenly" [class.text-green-300]="isAllow" [class.text-red]="isBlock">
+  <ng-container *ngIf="!edit; else: selectAction">
+    <span *ngIf="isAllow">{{ symbolMap["+"] }}</span>
+    <span *ngIf="isBlock">{{ symbolMap["-"] }}</span>
+  </ng-container>
+
+  <ng-template #selectAction>
+    <sfng-select [ngModel]="currentAction" (ngModelChange)="setAction($event)" mode="single" dynamicValues="false">
+      <sfng-select-item *sfngSelectValue="'+'">{{ symbolMap["+"] }}</sfng-select-item>
+      <sfng-select-item *sfngSelectValue="'-'">{{ symbolMap["-"] }}</sfng-select-item>
+    </sfng-select>
+  </ng-template>
+</div>
+<div class="value" [class.edit]="edit">
+  <ng-container *ngIf="!edit; else: editValue">
+    {{ display }}
+  </ng-container>
+
+  <ng-template #editValue>
+    <input type="text" [ngModel]="display" (ngModelChange)="setEntity($event)" (keydown.enter)="toggleEdit()">
+  </ng-template>
+
+  <div class="buttons" *ngIf="!readonly">
+    <fa-icon [icon]="edit ? 'check' : 'edit'" (click)="toggleEdit()"></fa-icon>
+    <fa-icon *ngIf="edit" icon="times" (click)="reset()"></fa-icon>
+    <input type="checkbox" *ngIf="!edit" [(ngModel)]="selected" (ngModelChange)="selectedChange.next($event)">
+  </div>
+
+</div>
diff --git a/desktop/angular/src/app/shared/config/rule-list/list-item.scss b/desktop/angular/src/app/shared/config/rule-list/list-item.scss
new file mode 100644
index 00000000..814d311b
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/rule-list/list-item.scss
@@ -0,0 +1,65 @@
+:host {
+  display: flex;
+  outline: none;
+  @apply space-x-2;
+
+  &>* {
+    @apply rounded;
+    @apply bg-gray-300;
+  }
+}
+
+div.action {
+  @apply border-gray-500 border;
+  flex-shrink: 0;
+  min-width: 6rem;
+  text-align: center;
+}
+
+div.value {
+  @apply border-gray-500 border;
+  @apply p-1.5;
+  @apply px-2;
+
+  &.edit {
+    @apply p-0;
+    @apply bg-gray-400;
+
+    input {
+      margin: 0;
+      width: auto;
+      height: 100%;
+      flex-grow: 1;
+      border: none;
+      @apply shadow-none;
+    }
+
+    input:focus+.buttons {
+      @apply bg-gray-500 border-gray-600 bg-opacity-75 border-opacity-75;
+    }
+  }
+
+  flex-grow : 1;
+  display : flex;
+  justify-content: space-between;
+  align-items : center;
+
+  .buttons {
+    flex-shrink: 0;
+    height: 100%;
+    width: 4rem;
+    @apply flex items-center justify-evenly;
+
+    fa-icon {
+      cursor: pointer;
+      @apply text-primary;
+      @apply p-1;
+      opacity: 0.7;
+      font-size: 0.6rem;
+
+      &:hover {
+        opacity: 1;
+      }
+    }
+  }
+}
diff --git a/desktop/angular/src/app/shared/config/rule-list/list-item.ts b/desktop/angular/src/app/shared/config/rule-list/list-item.ts
new file mode 100644
index 00000000..09a6beaf
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/rule-list/list-item.ts
@@ -0,0 +1,221 @@
+import { coerceBooleanProperty } from '@angular/cdk/coercion';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostBinding, Input, OnInit, Output } from '@angular/core';
+import { fadeInAnimation, fadeOutAnimation } from '../../animations';
+
+@Component({
+  selector: 'app-rule-list-item',
+  templateUrl: 'list-item.html',
+  styleUrls: ['list-item.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  animations: [
+    fadeInAnimation,
+    fadeOutAnimation
+  ]
+})
+export class RuleListItemComponent implements OnInit {
+  /** The host element is going to fade in/out */
+  @HostBinding('@fadeIn')
+  @HostBinding('@fadeOut')
+  readonly animation = true;
+
+  @Input()
+  symbolMap: { [key: string]: string } = {}
+
+  /**
+   * The current value (rule) displayed by this component.
+   * Supports two-way bindings.
+   */
+  @Input()
+  set value(v: string) {
+    this.updateValue(v);
+    this._savedValue = this._value;
+  }
+  private _value = '';
+
+  /** The last actually saved value of this rule. Required for resets */
+  private _savedValue = '';
+
+  /**
+   * Emits whenever the rule value changes.
+   * Supports two-way-bindings on ([value])
+   */
+  @Output()
+  valueChange = new EventEmitter<string>();
+
+  /** Whether or not the rule list item is selected */
+  @Input()
+  set selected(v: any) {
+    this._selected = coerceBooleanProperty(v)
+  }
+  get selected() {
+    return this._selected;
+  }
+  private _selected = false;
+
+  @Output()
+  selectedChange = new EventEmitter<boolean>();
+
+  /**
+   * Whether or not the component is in edit mode.
+   * Supports two-way-bindings on ([edit])
+   */
+  @Input()
+  set edit(v: any) {
+    this._edit = coerceBooleanProperty(v);
+  }
+  get edit() {
+    return this._edit;
+  }
+  private _edit: boolean = false;
+
+  /**
+   * Emits whenever the component switch to or away from edit
+   * mode.
+   * Supports two-way-bindings on ([edit])
+   */
+  @Output()
+  editChange = new EventEmitter<boolean>();
+
+  /**
+   * Whether or not the component should be in read-only mode.
+   */
+  @Input()
+  set readonly(v: any) {
+    this._readonly = coerceBooleanProperty(v);
+  }
+  get readonly() {
+    return this._readonly;
+  }
+  private _readonly: boolean = false;
+
+  /**
+   * Emits when the user presses the delete button of
+   * this rule component.
+   */
+  @Output()
+  delete = new EventEmitter<void>();
+
+  /** @private Whether or not this rule is a "Allow" rule - we default to allow since this is what most rules are used for */
+  isAllow = true;
+
+  /** @private Whether or not this rule is a "Deny" rule */
+  isBlock = false;
+
+  /** @private the actually displayed rule value (without the verdict) */
+  display = '';
+
+  /** @private the character representation of the current verdict */
+  get currentAction() {
+    if (this.isBlock) {
+      return '-';
+    }
+    if (this.isAllow) {
+      return '+';
+    }
+    return '';
+  }
+
+  constructor(private cdr: ChangeDetectorRef) { }
+
+  ngOnInit() {
+    // new entries always start in edit mode
+    if (!this.isAllow && !this.isBlock) {
+      this._edit = true;
+    }
+  }
+
+  /**
+   * @private
+   * Toggle between edit and view mode. When switching from
+   * edit to view mode, the current value is emitted to the
+   * parent element in case it has been changed.
+   */
+  toggleEdit() {
+    if (this._edit) {
+      // do nothing if the rule is obviously invalid (no verdict or value).
+      if (this.display === '' || !(this.isAllow || this.isBlock)) {
+        return;
+      }
+
+      if (this._value !== this._savedValue) {
+        this.valueChange.next(this._value);
+      }
+    }
+
+    this._edit = !this._edit;
+    this.editChange.next(this._edit);
+  }
+
+  toggleSelection() {
+    this.selected = !this.selected;
+    this.selectedChange.next(this.selected);
+
+    this.cdr.markForCheck();
+  }
+
+  /**
+   * @private
+   * Sets the new rule action. Used as a callback in the drop-down.
+   *
+   * @param action The new action
+   */
+  setAction(action: '+' | '-') {
+    this.updateValue(`${action} ${this.display}`);
+  }
+
+  /**
+   * @private
+   * Update the actual value of the rule.
+   *
+   * @param entity The new rule value
+   */
+  setEntity(entity: string) {
+    const action = this.isAllow ? '+' : '-';
+    this.updateValue(`${action} ${entity}`);
+  }
+
+  /**
+   * @private
+   *
+   * Reset the value to it's previously saved value if it was changed.
+   * If the value is unchanged a reset counts as a delete and triggers
+   * on our delete output.
+   */
+  reset() {
+    if (this._edit) {
+      // if the user did not change anything we can immediately
+      // delete it.
+      if (this._savedValue !== '') {
+        this.value = this._savedValue;
+        this._edit = false;
+        return;
+      }
+    }
+
+    this.delete.next();
+  }
+
+  /**
+   * Updates our internal states to correctly display the rule.
+   *
+   * @param v The actual rule value
+   */
+  private updateValue(v: string) {
+    this._value = v.trim();
+    switch (this._value[0]) {
+      case '+':
+        this.isAllow = true;
+        this.isBlock = false;
+        break;
+      case '-':
+        this.isAllow = false;
+        this.isBlock = true;
+        break;
+      default:
+        // not yet set
+        this.isBlock = this.isAllow = false;
+    }
+
+    this.display = this._value.slice(1).trim();
+  }
+}
diff --git a/desktop/angular/src/app/shared/config/rule-list/rule-list.html b/desktop/angular/src/app/shared/config/rule-list/rule-list.html
new file mode 100644
index 00000000..3f7115c3
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/rule-list/rule-list.html
@@ -0,0 +1,46 @@
+<div class="list-items" cdkDropList (cdkDropListDropped)="drop($event)">
+  <div class="item" *ngFor="let entry of entries; let index=index; trackBy: trackBy" cdkDrag
+    [cdkDragDisabled]="readonly">
+    <svg xmlns="http://www.w3.org/2000/svg" class="w-5 h-5 mr-2 text-secondary" fill="none" viewBox="0 0 24 24"
+      stroke="currentColor" cdkDragHandle [class.opacity-0]="readonly" [class.cusor-move]="!readonly">
+      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 9l4-4 4 4m0 6l-4 4-4-4" />
+    </svg>
+    <app-rule-list-item [symbolMap]="symbolMap" [readonly]="readonly" [value]="entry"
+      (valueChange)="updateValue(index, $event)" (selectedChange)="selectItem(index, $event)"
+      (delete)="deleteEntry(index)">
+    </app-rule-list-item>
+  </div>
+</div>
+
+<div class="button-list" *ngIf="selectedItems.length === 0">
+  <div class="dotted" *ngIf="!entries?.length && readonly">
+    No entries available
+  </div>
+
+  <button class="new-entry dotted" (click)="addEntry()"
+    *ngIf="!readonly && (!entries?.length || entries[entries.length-1] !== '')">
+    <svg xmlns="http://www.w3.org/2000/svg" class="w-5 h-5" viewBox="0 0 20 20" fill="currentColor">
+      <path fill-rule="evenodd"
+        d="M10 5a1 1 0 011 1v3h3a1 1 0 110 2h-3v3a1 1 0 11-2 0v-3H6a1 1 0 110-2h3V6a1 1 0 011-1z" clip-rule="evenodd" />
+    </svg>
+    <span>Add Rule</span>
+  </button>
+</div>
+
+<div class="flex justify-end button-list" *ngIf="selectedItems.length > 0">
+  <span>
+    <app-menu-trigger [menu]="selectionMenu" [useContent]="true">
+      {{ selectedItems.length }} Rule{{ selectedItems.length > 1 ? 's' : ''}} selected
+      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5">
+        <path fill-rule="evenodd"
+          d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z"
+          clip-rule="evenodd" />
+      </svg>
+    </app-menu-trigger>
+  </span>
+
+  <app-menu #selectionMenu>
+    <app-menu-item (click)="removeSelectedItems()">Remove Rules</app-menu-item>
+    <app-menu-item (click)="abortSelection()">Cancel</app-menu-item>
+  </app-menu>
+</div>
diff --git a/desktop/angular/src/app/shared/config/rule-list/rule-list.scss b/desktop/angular/src/app/shared/config/rule-list/rule-list.scss
new file mode 100644
index 00000000..23bf7034
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/rule-list/rule-list.scss
@@ -0,0 +1,75 @@
+:host {
+  outline: none;
+}
+
+.item,
+.cdk-drag-preview {
+  display: flex;
+  align-items: center;
+  padding: 3px;
+
+  fa-icon {
+    cursor: pointer;
+    @apply text-tertiary;
+    @apply text-lg;
+    @apply mr-2;
+  }
+
+  app-rule-list-item {
+    flex-grow: 1;
+  }
+}
+
+.cdk-drag-placeholder {
+  left: -4px;
+  padding: 1px;
+  padding-left: 4px;
+}
+
+// TODO(ppacher9): move this transition to a mixin
+.list-items.cdk-drop-list-dragging .list:not(.cdk-drag-placeholder) {
+  transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
+}
+
+.cdk-drag-preview {
+  left: -4px;
+  padding: 1px;
+  padding-left: 4px;
+}
+
+.button-list {
+  @apply mt-2;
+  @apply ml-8;
+}
+
+.dotted {
+  @apply w-full;
+  @apply rounded;
+  @apply p-1;
+  @apply border-2;
+  @apply border-dashed;
+  @apply border-buttons-light;
+  @apply bg-background;
+  @apply text-secondary;
+
+  display: flex;
+  align-items: center;
+  justify-content: center;
+
+  span {
+    @apply font-medium;
+  }
+}
+
+.new-entry {
+  cursor: pointer;
+
+  &:hover {
+    @apply text-primary;
+    @apply bg-gray-300;
+
+    span {
+      @apply text-primary;
+    }
+  }
+}
diff --git a/desktop/angular/src/app/shared/config/rule-list/rule-list.ts b/desktop/angular/src/app/shared/config/rule-list/rule-list.ts
new file mode 100644
index 00000000..f5ac6c86
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/rule-list/rule-list.ts
@@ -0,0 +1,226 @@
+import { coerceBooleanProperty } from '@angular/cdk/coercion';
+import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, HostBinding, HostListener, Input, QueryList, ViewChildren } from '@angular/core';
+import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
+import { SfngDialogService } from '@safing/ui';
+import { RuleListItemComponent } from './list-item';
+
+@Component({
+  selector: 'app-rule-list',
+  templateUrl: './rule-list.html',
+  styleUrls: ['./rule-list.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  providers: [
+    {
+      provide: NG_VALUE_ACCESSOR,
+      useExisting: forwardRef(() => RuleListComponent),
+      multi: true,
+    }
+  ],
+})
+export class RuleListComponent implements ControlValueAccessor {
+  /** Add the host element into the tab-sequence */
+  @HostBinding('tabindex')
+  readonly tabindex = 0;
+
+  @ViewChildren(RuleListItemComponent)
+  renderedRules!: QueryList<RuleListItemComponent>;
+
+  /** A list of selected rule indexes */
+  selectedItems: number[] = [];
+
+  /**
+   * @private
+   * Mark the component as dirty by calling the onTouch callback of the control-value accessor
+   */
+  @HostListener('blur')
+  onBlur() {
+    this.onTouch();
+  }
+
+  @Input()
+  symbolMap = {
+    '+': 'Allow',
+    '-': 'Block',
+  }
+
+  /**
+   * Whether or not the component should be displayed as read-only.
+   */
+  @Input()
+  set readonly(v: any) {
+    this._readonly = coerceBooleanProperty(v);
+  }
+  get readonly() {
+    return this._readonly;
+  }
+  private _readonly = false;
+
+  /**
+   * @private
+   * The actual rule entries. Displayed as RuleListItemComponent.
+   */
+  entries: string[] = [];
+
+  constructor(
+    private changeDetector: ChangeDetectorRef,
+    private dialog: SfngDialogService
+  ) { }
+
+  /**
+   * @private
+   * Update the value of a rule-list entry. Used as a callback function
+   * for the valueChange output of the RuleListItemComponent.
+   *
+   * @param index The index of the rule list entry to update
+   * @param newValue The new value of the rule
+   */
+  updateValue(index: number, newValue: string) {
+    // we need create a copy of the actual value as
+    // the parent component might still have a reference
+    // to the current values.
+    this.entries = [
+      ...this.entries,
+    ];
+    this.entries[index] = newValue;
+
+    // tell the control that we have a new value
+    this.onChange(this.entries);
+  }
+
+  /**
+   * @private
+   * Delete a rule list entry.
+   *
+   * @param index The index of the rule list entry to delete
+   */
+  deleteEntry(index: number) {
+    this.entries = [...this.entries];
+    this.entries.splice(index, 1);
+    this.onChange(this.entries);
+  }
+
+  /**
+   * @private
+   * Add a new, empty rule list entry at the end of the
+   * list.
+   *
+   * This is a no-op if there's already an empty item
+   * available.
+   */
+  addEntry() {
+    // if there's already one empty entry abort
+    if (this.entries.some(e => e.trim() === '')) {
+      return;
+    }
+
+    this.entries = [...this.entries];
+    this.entries.push('');
+  }
+
+  /**
+   * Set a new value for the rule list. This is the
+   * only way to configure the existing entries and is
+   * used by the control-value-accessor and ngModel.
+   *
+   * @param value The new value set via [ngModel]
+   */
+  writeValue(value: string[]) {
+    this.entries = value;
+
+    this.changeDetector.markForCheck();
+  }
+
+  /** Toggles selection of a rule item */
+  selectItem(index: number, selected: boolean) {
+    if (selected && !this.selectedItems.includes(index)) {
+      this.selectedItems = [
+        ...this.selectedItems,
+        index,
+      ]
+
+      return;
+    }
+
+    if (!selected && this.selectedItems.includes(index)) {
+      this.selectedItems = this.selectedItems.filter(idx => idx !== index)
+
+      return;
+    }
+  }
+
+  /** Removes all selected items after displaying a confirmation dialog. */
+  removeSelectedItems() {
+    this.dialog.confirm({
+      buttons: [
+        {
+          id: 'abort',
+          text: 'Cancel',
+          class: 'outline'
+        },
+        {
+          id: 'delete',
+          text: 'Delete Rules',
+          class: 'danger'
+        }
+      ],
+      canCancel: true,
+      caption: 'Caution',
+      header: 'Rule Deletion',
+      message: 'Do you want to delete the selected rules'
+    })
+      .onAction('delete', () => {
+        this.entries = this.entries.filter((_, idx: number) => !this.selectedItems.includes(idx))
+        this.abortSelection();
+        this.onChange(this.entries);
+      })
+
+  }
+
+  /** Aborts the current selection */
+  abortSelection() {
+    this.selectedItems.forEach(itemIdx => this.renderedRules.get(itemIdx)?.toggleSelection())
+    this.selectedItems = [];
+  }
+
+  /** @private onChange callback registered by ngModel and form controls */
+  onChange = (_: string[]): void => { };
+
+  /** Registers the onChange callback and required for the ControlValueAccessor interface */
+  registerOnChange(fn: (value: string[]) => void) {
+    this.onChange = fn;
+  }
+
+  /** @private onTouch callback registered by ngModel and form controls */
+  onTouch = (): void => { };
+
+  /** Registers the onChange callback and required for the ControlValueAccessor interface */
+  registerOnTouched(fn: () => void) {
+    this.onTouch = fn;
+  }
+
+  /**
+   * @private
+   * Used as a callback for the @angular/cdk drop component
+   * and used to update the actual order of the entries.
+   *
+   * @param event The drop-event
+   */
+  drop(event: CdkDragDrop<string[]>) {
+    if (this._readonly) {
+      return;
+    }
+
+    // create a copy of the array
+    this.entries = [...this.entries];
+    moveItemInArray(this.entries, event.previousIndex, event.currentIndex);
+
+    this.changeDetector.markForCheck();
+    this.onChange(this.entries);
+  }
+
+  /** @private TrackByFunction for entries */
+  trackBy(idx: number, value: string) {
+    return `${value}`;
+  }
+}
diff --git a/desktop/angular/src/app/shared/config/safe.pipe.ts b/desktop/angular/src/app/shared/config/safe.pipe.ts
new file mode 100644
index 00000000..0cbf2855
--- /dev/null
+++ b/desktop/angular/src/app/shared/config/safe.pipe.ts
@@ -0,0 +1,21 @@
+import { Pipe, PipeTransform } from '@angular/core';
+import { DomSanitizer, SafeHtml, SafeStyle, SafeScript, SafeUrl, SafeResourceUrl } from '@angular/platform-browser';
+
+@Pipe({
+  name: 'safe'
+})
+export class SafePipe implements PipeTransform {
+
+  constructor(protected sanitizer: DomSanitizer) { }
+
+  public transform(value: any, type: string): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {
+    switch (type) {
+      case 'html': return this.sanitizer.bypassSecurityTrustHtml(value);
+      case 'style': return this.sanitizer.bypassSecurityTrustStyle(value);
+      case 'script': return this.sanitizer.bypassSecurityTrustScript(value);
+      case 'url': return this.sanitizer.bypassSecurityTrustUrl(value);
+      case 'resourceUrl': return this.sanitizer.bypassSecurityTrustResourceUrl(value);
+      default: throw new Error(`Invalid safe type specified: ${type}`);
+    }
+  }
+}
diff --git a/desktop/angular/src/app/shared/count-indicator/count-indicator.html b/desktop/angular/src/app/shared/count-indicator/count-indicator.html
new file mode 100644
index 00000000..fdbb0c22
--- /dev/null
+++ b/desktop/angular/src/app/shared/count-indicator/count-indicator.html
@@ -0,0 +1,4 @@
+<span class="counter">{{ count | prettyCount }}</span>
+<div class="pill">
+  <div class="percentage" [style.width.%]="allowedPercentage"></div>
+</div>
diff --git a/desktop/angular/src/app/shared/count-indicator/count-indicator.module.ts b/desktop/angular/src/app/shared/count-indicator/count-indicator.module.ts
new file mode 100644
index 00000000..0961a129
--- /dev/null
+++ b/desktop/angular/src/app/shared/count-indicator/count-indicator.module.ts
@@ -0,0 +1,15 @@
+import { NgModule } from "@angular/core";
+import { CountIndicatorComponent } from "./count-indicator";
+import { PrettyCountPipe } from "./count.pipe";
+
+@NgModule({
+  declarations: [
+    CountIndicatorComponent,
+    PrettyCountPipe,
+  ],
+  exports: [
+    CountIndicatorComponent,
+    PrettyCountPipe,
+  ]
+})
+export class CountIndicatorModule { }
diff --git a/desktop/angular/src/app/shared/count-indicator/count-indicator.scss b/desktop/angular/src/app/shared/count-indicator/count-indicator.scss
new file mode 100644
index 00000000..3d97d2c9
--- /dev/null
+++ b/desktop/angular/src/app/shared/count-indicator/count-indicator.scss
@@ -0,0 +1,8 @@
+@import '../../../theme/mixins/_pill.scss';
+
+:host {
+  @include pill-container;
+  @apply pl-2;
+  @apply bg-buttons-dark;
+  @apply w-20;
+}
diff --git a/desktop/angular/src/app/shared/count-indicator/count-indicator.ts b/desktop/angular/src/app/shared/count-indicator/count-indicator.ts
new file mode 100644
index 00000000..8c49e098
--- /dev/null
+++ b/desktop/angular/src/app/shared/count-indicator/count-indicator.ts
@@ -0,0 +1,22 @@
+import { ChangeDetectionStrategy, Component, Input, OnChanges } from '@angular/core';
+
+@Component({
+  selector: 'app-count-indicator',
+  templateUrl: './count-indicator.html',
+  styleUrls: ['./count-indicator.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class CountIndicatorComponent implements OnChanges {
+  @Input()
+  count = 0;
+
+  @Input()
+  countAllowed: number = 0;
+
+  allowedPercentage: number = 0;
+
+  ngOnChanges() {
+    const ratio = (this.countAllowed / this.count) || 0;
+    this.allowedPercentage = Math.round(ratio * 100);
+  }
+}
diff --git a/desktop/angular/src/app/shared/count-indicator/count.pipe.ts b/desktop/angular/src/app/shared/count-indicator/count.pipe.ts
new file mode 100644
index 00000000..69140b3e
--- /dev/null
+++ b/desktop/angular/src/app/shared/count-indicator/count.pipe.ts
@@ -0,0 +1,18 @@
+import { Pipe, PipeTransform } from "@angular/core";
+
+@Pipe({
+  name: 'prettyCount',
+  pure: true
+})
+export class PrettyCountPipe implements PipeTransform {
+  transform(value: number) {
+    if (value > 999) {
+      const v = Math.floor(value / 1000);
+      if (value === v * 1000) {
+        return `${v}k`;
+      }
+      return `${v}k+`
+    }
+    return `${value}`
+  }
+}
diff --git a/desktop/angular/src/app/shared/count-indicator/index.ts b/desktop/angular/src/app/shared/count-indicator/index.ts
new file mode 100644
index 00000000..be4276b7
--- /dev/null
+++ b/desktop/angular/src/app/shared/count-indicator/index.ts
@@ -0,0 +1,2 @@
+export * from './count-indicator';
+export * from './count-indicator.module';
diff --git a/desktop/angular/src/app/shared/country-flag/country-flag.ts b/desktop/angular/src/app/shared/country-flag/country-flag.ts
new file mode 100644
index 00000000..df91a3c5
--- /dev/null
+++ b/desktop/angular/src/app/shared/country-flag/country-flag.ts
@@ -0,0 +1,45 @@
+import { AfterViewInit, Directive, ElementRef, HostBinding, Input, OnChanges, Renderer2, SimpleChanges } from '@angular/core';
+
+@Directive({
+  selector: 'span[appCountryFlags]',
+})
+export class CountryFlagDirective implements AfterViewInit, OnChanges {
+  private readonly flagDir = "/assets/img/flags/";
+  private readonly OFFSET = 127397;
+
+  @HostBinding('style.text-shadow')
+  textShadow = 'rgba(255, 255, 255, .5) 0px 0px 1px';
+
+  @Input()
+  appCountryFlags: string = '';
+
+  constructor(
+    private el: ElementRef,
+    private renderer: Renderer2
+  ) { }
+
+  ngOnChanges(changes: SimpleChanges): void {
+    if (!changes['appCountryFlags'].isFirstChange()) {
+      this.update();
+    }
+  }
+
+  ngAfterViewInit() {
+    this.update();
+  }
+
+  private update() {
+    const span = this.el.nativeElement as HTMLSpanElement;
+    const flag = this.toUnicodeFlag(this.appCountryFlags);
+    this.renderer.setAttribute(span, 'data-before', flag);
+
+    span.innerHTML = `<img style="display: inline" src="${this.flagDir}${this.appCountryFlags.toLocaleUpperCase()}.png">`;
+  }
+
+  private toUnicodeFlag(code: string) {
+    const base = 127462 - 65;
+    const cc = code.toUpperCase();
+    const res = String.fromCodePoint(...cc.split('').map(c => base + c.charCodeAt(0)));
+    return res;
+  }
+}
diff --git a/desktop/angular/src/app/shared/country-flag/country.module.ts b/desktop/angular/src/app/shared/country-flag/country.module.ts
new file mode 100644
index 00000000..2acdb3f8
--- /dev/null
+++ b/desktop/angular/src/app/shared/country-flag/country.module.ts
@@ -0,0 +1,12 @@
+import { NgModule } from '@angular/core';
+import { CountryFlagDirective } from './country-flag';
+
+@NgModule({
+  declarations: [
+    CountryFlagDirective
+  ],
+  exports: [
+    CountryFlagDirective,
+  ]
+})
+export class CountryFlagModule { }
diff --git a/desktop/angular/src/app/shared/country-flag/index.ts b/desktop/angular/src/app/shared/country-flag/index.ts
new file mode 100644
index 00000000..cc7d4306
--- /dev/null
+++ b/desktop/angular/src/app/shared/country-flag/index.ts
@@ -0,0 +1,2 @@
+export * from './country-flag';
+export * from './country.module';
diff --git a/desktop/angular/src/app/shared/edit-profile-dialog/edit-profile-dialog.html b/desktop/angular/src/app/shared/edit-profile-dialog/edit-profile-dialog.html
new file mode 100644
index 00000000..7b630621
--- /dev/null
+++ b/desktop/angular/src/app/shared/edit-profile-dialog/edit-profile-dialog.html
@@ -0,0 +1,322 @@
+<h1 class="flex flex-row gap-2 items-center">
+  <img
+    [src]="iconObjectURL"
+    *ngIf="imageError === null && !!iconData"
+    class="w-8 h-8 rounded-full border border-gray-400"
+  />
+
+  {{ isEditMode ? 'Edit App Profile' : 'Create New App Profile' }}
+</h1>
+
+<form #profileForm="ngForm">
+  <sfng-tab-group customHeader="false" linkRouter="false">
+    <sfng-tab title="General">
+      <div *sfngTabContent class="tab-content">
+        <span class="py-2 text-secondary">
+          Configure basic profile information like the profile name, it's
+          description and optionally the profile icon.
+        </span>
+
+        <div class="input" *appExpertiseLevel="'developer'">
+          <label>ID</label>
+          <input
+            type="text"
+            name="id"
+            pattern="[a-zA-Z0-9\-\._]*"
+            [(ngModel)]="profile.ID"
+            placeholder="A unique identifier for profile. Leave empty to generate a random one."
+          />
+        </div>
+
+        <div class="input">
+          <label>Name *</label>
+          <input
+            type="text"
+            required
+            name="name"
+            [(ngModel)]="profile.Name"
+            placeholder="A name for labele profile"
+          />
+        </div>
+
+        <div class="input">
+          <label>Description</label>
+          <input
+            type="text"
+            name="description"
+            [(ngModel)]="profile.Description"
+            placeholder="An optional description of the profile"
+          />
+        </div>
+
+        <div class="flex flex-row justify-between">
+          <div class="input">
+            <label>Icon</label>
+            <div class="flex flex-col gap-2 justify-start">
+              <div class="flex flex-row gap-3">
+                <label
+                  for="icon-upload"
+                  class="inline-block p-1 px-4 font-medium whitespace-nowrap bg-opacity-80 rounded-sm cursor-pointer outline-none bg-blue hover:bg-blue text-xxs w-fit"
+                >
+                  Choose Icon
+                </label>
+                <button
+                  *ngIf="!!iconData && profile.Icons?.length"
+                  (click)="resetIcon()"
+                  class="bg-red-300"
+                >
+                  Reset Icon
+                </button>
+              </div>
+              <span class="pl-2 break-normal text-tertiary"
+                >The icon must be smaller than 10kB and it's dimensions must not
+                exceed 512x512 px. Only JPG and PNG files are supported.</span
+              >
+            </div>
+            <input
+              id="icon-upload"
+              class="hidden"
+              type="file"
+              (change)="fileChangeEvent($event)"
+            />
+            <span *ngIf="imageError !== null" class="pl-2 text-red-300 text-xxs"
+              >{{ imageError }}</span
+            >
+          </div>
+
+          <img
+            [src]="iconObjectURL"
+            *ngIf="imageError === null && !!iconData"
+            class="w-12 h-12 rounded-full border border-gray-400"
+          />
+        </div>
+      </div>
+    </sfng-tab>
+
+    <sfng-tab title="Process Matching">
+      <div *sfngTabContent class="flex flex-col tab-content text-xxs">
+        <span class="text-xs text-secondary"
+          >This profile will be applied to processes that match one of the
+          following fingerprints:</span
+        >
+
+        <div *ngIf="!profile.Fingerprints?.length">
+          No fingerprints configured. Please press "Add New" to get started.
+        </div>
+        <div class="flex overflow-auto flex-col flex-grow gap-2 px-1">
+          <div
+            class="flex relative flex-row gap-2 justify-evenly items-center p-2 bg-gray-200 border-r border-l border-gray-500"
+            *ngFor="let fp of profile.Fingerprints; let index=index"
+          >
+            <span
+              class="block absolute top-0 left-0 w-2 border-b border-gray-500"
+            ></span>
+            <span
+              class="block absolute bottom-0 left-0 w-2 border-b border-gray-500"
+            ></span>
+
+            <span
+              class="block absolute top-0 right-0 w-2 border-b border-gray-500"
+            ></span>
+            <span
+              class="block absolute right-0 bottom-0 w-2 border-b border-gray-500"
+            ></span>
+
+            <sfng-select
+              [(ngModel)]="fp.Type"
+              [ngModelOptions]="{standalone: true}"
+            >
+              <sfng-select-item
+                *sfngSelectValue="fingerPrintTypes.Tag; label: 'Tag'"
+              >
+                Tag
+                <sfng-tipup key="process-tags"></sfng-tipup>
+              </sfng-select-item>
+              <sfng-select-item
+                *sfngSelectValue="fingerPrintTypes.Cmdline; label: 'Command Line'"
+                >Command Line
+              </sfng-select-item>
+              <sfng-select-item
+                *sfngSelectValue="fingerPrintTypes.Env; label: 'Environment'"
+                >Environment
+              </sfng-select-item>
+              <sfng-select-item
+                *sfngSelectValue="fingerPrintTypes.Path; label: 'Path'"
+                >Path</sfng-select-item
+              >
+            </sfng-select>
+
+            <input
+              type="text"
+              [(ngModel)]="fp.Key"
+              placeholder="Key"
+              [ngModelOptions]="{standalone: true}"
+              *ngIf="fp.Type === 'env'"
+            />
+
+            <sfng-select
+              [(ngModel)]="fp.Key"
+              placeholder="Key"
+              [ngModelOptions]="{standalone: true}"
+              *ngIf="fp.Type === 'tag'"
+            >
+              <ng-container *ngFor="let tag of processTags">
+                <sfng-select-item *sfngSelectValue="tag.ID; label: tag.Name"
+                  >{{ tag.Name }}</sfng-select-item
+                >
+              </ng-container>
+            </sfng-select>
+
+            <sfng-select
+              [(ngModel)]="fp.Operation"
+              [ngModelOptions]="{standalone: true}"
+            >
+              <sfng-select-item *sfngSelectValue="fingerPrintOperations.Equal"
+                >Equals</sfng-select-item
+              >
+              <sfng-select-item *sfngSelectValue="fingerPrintOperations.Prefix"
+                >Prefix</sfng-select-item
+              >
+              <sfng-select-item *sfngSelectValue="fingerPrintOperations.Regex"
+                >Regex</sfng-select-item
+              >
+            </sfng-select>
+
+            <input
+              type="text"
+              [(ngModel)]="fp.Value"
+              placeholder="Value"
+              [ngModelOptions]="{standalone: true}"
+            />
+
+            <button
+              class="bg-opacity-90 bg-red hover:bg-red"
+              (click)="removeFingerprint(index)"
+            >
+              <svg
+                xmlns="http://www.w3.org/2000/svg"
+                fill="none"
+                viewBox="0 0 24 24"
+                stroke-width="1.5"
+                stroke="currentColor"
+                class="my-0.5 w-4 h-4"
+              >
+                <path
+                  stroke-linecap="round"
+                  stroke-linejoin="round"
+                  d="M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0"
+                />
+              </svg>
+            </button>
+          </div>
+        </div>
+
+        <button (click)="addFingerprint()">Add New</button>
+      </div>
+    </sfng-tab>
+
+    <sfng-tab title="Copy Settings">
+      <div *sfngTabContent class="flex flex-col gap-2 tab-content">
+        <div class="flex flex-row gap-2 items-center p-2 bg-gray-200">
+          <span class="text-secondary"
+            >Select a Profile to copy settings from:</span
+          >
+          <div class="flex-grow"></div>
+          <sfng-select
+            [(ngModel)]="selectedCopyFrom"
+            [ngModelOptions]="{standalone: true}"
+            class="flex-grow"
+            [allowSearch]="true"
+            searchPlaceholder="Search Profiles"
+          >
+            <ng-container *ngFor="let p of allProfiles">
+              <sfng-select-item
+                *sfngSelectValue="p; label:p.Name"
+                class="flex flex-row gap-2 items-center"
+              >
+                <app-icon [profile]="p"></app-icon>
+                {{ p.Name }}
+              </sfng-select-item>
+            </ng-container>
+          </sfng-select>
+          <button
+            [disabled]="selectedCopyFrom === null"
+            (click)="addCopyFrom()"
+          >
+            Add
+          </button>
+        </div>
+
+        <div
+          class="flex overflow-auto flex-col flex-grow gap-2"
+          cdkDropList
+          (cdkDropListDropped)="drop($event)"
+        >
+          <div
+            *ngFor="let p of copySettingsFrom; let index=index"
+            cdkDrag
+            class="flex flex-row items-center p-2 bg-gray-200 rounded-sm"
+          >
+            <svg
+              xmlns="http://www.w3.org/2000/svg"
+              class="mr-2 w-5 h-5 cursor-move text-secondary"
+              fill="none"
+              viewBox="0 0 24 24"
+              stroke="currentColor"
+              cdkDragHandle
+            >
+              <path
+                stroke-linecap="round"
+                stroke-linejoin="round"
+                stroke-width="2"
+                d="M8 9l4-4 4 4m0 6l-4 4-4-4"
+              />
+            </svg>
+            <app-icon [profile]="p"></app-icon>
+            {{ p.Name }}
+            <div class="flex-grow"></div>
+            <button
+              class="bg-opacity-90 bg-red hover:bg-red"
+              (click)="removeCopyFrom(index)"
+            >
+              <svg
+                xmlns="http://www.w3.org/2000/svg"
+                fill="none"
+                viewBox="0 0 24 24"
+                stroke-width="1.5"
+                stroke="currentColor"
+                class="my-0.5 w-4 h-4"
+              >
+                <path
+                  stroke-linecap="round"
+                  stroke-linejoin="round"
+                  d="M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0"
+                />
+              </svg>
+            </button>
+          </div>
+        </div>
+        <span class="block text-center break-normal text-secondary text-xxs">
+          Settings will be copied from all specified profiles in order with
+          settings from higher profiles taking precedence. <br />
+          Existing settings may be overwritten.
+        </span>
+      </div>
+    </sfng-tab>
+  </sfng-tab-group>
+</form>
+
+<div class="flex flex-row gap-2 justify-end items-center">
+  <button *ngIf="isEditMode" (click)="deleteProfile()" class="bg-red">
+    Delete
+  </button>
+  <div class="flex-grow"></div>
+  <button (click)="abort()" class="">Cancel</button>
+  <button
+    (click)="save()"
+    [disabled]="!profileForm.valid"
+    class="bg-opacity-80 bg-blue hover:bg-blue"
+  >
+    Save
+  </button>
+</div>
diff --git a/desktop/angular/src/app/shared/edit-profile-dialog/edit-profile-dialog.scss b/desktop/angular/src/app/shared/edit-profile-dialog/edit-profile-dialog.scss
new file mode 100644
index 00000000..03e9ccea
--- /dev/null
+++ b/desktop/angular/src/app/shared/edit-profile-dialog/edit-profile-dialog.scss
@@ -0,0 +1,29 @@
+:host {
+  @apply flex flex-col gap-4 max-w-2xl;
+  min-width: 500px;
+  width: 60vw;
+}
+
+.tab-content {
+  @apply flex flex-col gap-4 overflow-x-hidden h-96 pt-2;
+}
+
+.input {
+  @apply flex flex-col gap-1;
+
+  label {
+    @apply text-primary uppercase text-xxs relative left-1.5;
+  }
+
+  input[type="text"] {
+    @apply border border-gray-500;
+
+    &.ng-invalid.ng-dirty {
+      @apply border-red-200;
+    }
+  }
+
+  input[type="file"] {
+    display: none;
+  }
+}
diff --git a/desktop/angular/src/app/shared/edit-profile-dialog/edit-profile-dialog.ts b/desktop/angular/src/app/shared/edit-profile-dialog/edit-profile-dialog.ts
new file mode 100644
index 00000000..60b5b514
--- /dev/null
+++ b/desktop/angular/src/app/shared/edit-profile-dialog/edit-profile-dialog.ts
@@ -0,0 +1,393 @@
+import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';
+import {
+  ChangeDetectorRef,
+  Component,
+  Inject,
+  OnDestroy,
+  OnInit,
+  TrackByFunction,
+} from '@angular/core';
+import {
+  AppProfile,
+  AppProfileService,
+  FingerpringOperation,
+  Fingerprint,
+  FingerprintType,
+  PORTMASTER_HTTP_API_ENDPOINT,
+  PortapiService,
+  Record,
+  TagDescription,
+  mergeDeep,
+} from '@safing/portmaster-api';
+import { SFNG_DIALOG_REF, SfngDialogRef, SfngDialogService } from '@safing/ui';
+import { Observable, Subject, map, of, switchMap, takeUntil } from 'rxjs';
+import { ActionIndicatorService } from 'src/app/shared/action-indicator';
+
+@Component({
+  templateUrl: './edit-profile-dialog.html',
+  //changeDetection: ChangeDetectionStrategy.OnPush,
+  styleUrls: ['./edit-profile-dialog.scss'],
+})
+// eslint-disable-next-line @angular-eslint/component-class-suffix
+export class EditProfileDialog implements OnInit, OnDestroy {
+  private destory$ = new Subject<void>();
+
+  profile: Partial<AppProfile> = {
+    ID: '',
+    Source: 'local',
+    Name: '',
+    Description: '',
+    Icons: [],
+    Fingerprints: [],
+  };
+
+  isEditMode = false;
+  iconData: string | ArrayBuffer = '';
+  iconType: string = '';
+  iconChanged = false;
+  iconObjectURL = '';
+  imageError: string | null = null;
+
+  allProfiles: AppProfile[] = [];
+
+  copySettingsFrom: AppProfile[] = [];
+
+  selectedCopyFrom: AppProfile | null = null;
+
+  fingerPrintTypes = FingerprintType;
+  fingerPrintOperations = FingerpringOperation;
+  processTags: TagDescription[] = [];
+
+  trackFingerPrint: TrackByFunction<Fingerprint> = (
+    _: number,
+    fp: Fingerprint
+  ) => `${fp.Type}-${fp.Key}-${fp.Operation}-${fp.Value}`;
+
+  constructor(
+    @Inject(SFNG_DIALOG_REF)
+    private dialgoRef: SfngDialogRef<
+      EditProfileDialog,
+      any,
+      string | null | AppProfile
+    >,
+    private profileService: AppProfileService,
+    private portapi: PortapiService,
+    private actionIndicator: ActionIndicatorService,
+    private dialog: SfngDialogService,
+    private cdr: ChangeDetectorRef,
+    @Inject(PORTMASTER_HTTP_API_ENDPOINT) private httpAPI: string
+  ) { }
+
+  ngOnInit(): void {
+    this.profileService.tagDescriptions().subscribe((result) => {
+      this.processTags = result;
+      this.cdr.markForCheck();
+    });
+
+    this.profileService
+      .watchProfiles()
+      .pipe(takeUntil(this.destory$))
+      .subscribe((profiles) => {
+        this.allProfiles = profiles;
+        this.cdr.markForCheck();
+      });
+
+    if (!!this.dialgoRef.data && typeof this.dialgoRef.data === 'string') {
+      this.isEditMode = true;
+      this.profileService
+        .getAppProfile(this.dialgoRef.data)
+        .subscribe((profile) => {
+          this.profile = profile;
+          this.loadIcon();
+        });
+    } else if (
+      !!this.dialgoRef.data &&
+      typeof this.dialgoRef.data === 'object'
+    ) {
+      this.profile = this.dialgoRef.data;
+      this.loadIcon();
+    }
+  }
+
+  private loadIcon() {
+    if (!this.profile.Icons?.length) {
+      return;
+    }
+
+    const firstIcon = this.profile.Icons[0];
+
+    // get the current icon of the profile
+    switch (firstIcon.Type) {
+      case 'database':
+        this.portapi
+          .get<Record & { iconData: string }>(firstIcon.Value)
+          .subscribe((data) => {
+            this.iconData = data.iconData;
+            this.iconObjectURL = this.iconData;
+            this.cdr.markForCheck();
+          });
+        break;
+
+      case 'api':
+        this.iconData = `${this.httpAPI}/v1/profile/icon/${firstIcon.Value}`;
+        this.iconObjectURL = this.iconData;
+
+        break;
+
+      default:
+        console.error(`Unsupported icon type ${firstIcon.Type}`);
+    }
+
+    this.cdr.markForCheck();
+  }
+
+  ngOnDestroy() {
+    this.destory$.next();
+    this.destory$.complete();
+  }
+
+  addFingerprint() {
+    this.profile.Fingerprints?.push({
+      Key: '',
+      Operation: FingerpringOperation.Equal,
+      Value: '',
+      Type: FingerprintType.Path,
+    });
+  }
+
+  removeFingerprint(idx: number) {
+    this.profile.Fingerprints?.splice(idx, 1);
+    this.profile.Fingerprints = [...this.profile.Fingerprints!];
+  }
+
+  removeCopyFrom(idx: number) {
+    this.copySettingsFrom.splice(idx, 1);
+    this.copySettingsFrom = [...this.copySettingsFrom];
+  }
+
+  addCopyFrom() {
+    this.copySettingsFrom = [...this.copySettingsFrom, this.selectedCopyFrom!];
+    this.selectedCopyFrom = null;
+  }
+
+  drop(event: CdkDragDrop<string[]>) {
+    // create a copy of the array
+    this.copySettingsFrom = [...this.copySettingsFrom];
+    moveItemInArray(
+      this.copySettingsFrom,
+      event.previousIndex,
+      event.currentIndex
+    );
+
+    this.cdr.markForCheck();
+  }
+
+  deleteProfile() {
+    this.dialog
+      .confirm({
+        caption: 'Caution',
+        header: 'Confirm Profile Deletion',
+        message: 'Do you want to delete this profile?',
+        buttons: [
+          {
+            id: 'delete',
+            class: 'danger',
+            text: 'Delete',
+          },
+          {
+            id: 'abort',
+            class: 'outline',
+            text: 'Cancel',
+          },
+        ],
+      })
+      .onAction('delete', () => {
+        this.profileService
+          .deleteProfile(this.profile as AppProfile)
+          .subscribe({
+            next: () => this.dialgoRef.close('deleted'),
+            error: (err) => {
+              this.actionIndicator.error('Failed to delete profile', err);
+            },
+          });
+      });
+  }
+
+  resetIcon() {
+    this.iconChanged = true;
+    this.iconData = '';
+    this.iconType = '';
+    this.iconObjectURL = '';
+  }
+
+  save() {
+    if (!this.profile.ID) {
+      this.profile.ID = this.uuidv4();
+    }
+
+    if (!this.profile.Source) {
+      this.profile.Source = 'local';
+    }
+
+    let updateIcon: Observable<any> = of(undefined);
+
+    if (this.iconChanged) {
+      // delete any previously set icon
+      this.profile.Icons?.forEach((icon) => {
+        if (icon.Type === 'database') {
+          this.portapi.delete(icon.Value).subscribe();
+        }
+
+        // FIXME(ppacher): we cannot yet delete API based icons ...
+      });
+
+      if (this.iconData !== '') {
+        // save the new icon in the cache database
+
+        // FIXME(ppacher): we currently need to calls because the icon API in portmaster
+        // does not update the profile but just saves the file and returns the filename.
+        // So we still need to update the profile manually.
+        updateIcon = this.profileService
+          .setProfileIcon(this.iconData, this.iconType)
+          .pipe(
+            map(({ filename }) => {
+              this.profile.Icons = [
+                {
+                  Type: 'api',
+                  Value: filename,
+                  Source: 'user',
+                },
+              ];
+            })
+          );
+
+        // FIXME(ppacher): reset presentationpath
+      } else {
+        // just clear out that there was an icon
+        this.profile.Icons = [];
+      }
+    }
+
+    if (this.profile.Fingerprints!.length > 1) {
+      this.profile.PresentationPath = '';
+    }
+    const oldConfig = this.profile.Config || {};
+    this.profile.Config = {};
+
+    mergeDeep(
+      this.profile.Config,
+      ...[...this.copySettingsFrom.map((p) => p.Config || {}), oldConfig]
+    );
+
+    updateIcon
+      .pipe(
+        switchMap(() => {
+          return this.profileService.saveProfile(this.profile as AppProfile);
+        })
+      )
+      .subscribe({
+        next: () => {
+          this.actionIndicator.success(
+            this.profile.Name!,
+            'Profile saved successfully'
+          );
+          this.dialgoRef.close('saved');
+        },
+        error: (err) => {
+          this.actionIndicator.error('Failed to save profile', err);
+        },
+      });
+  }
+
+  abort() {
+    this.dialgoRef.close('abort');
+  }
+
+  fileChangeEvent(fileInput: any) {
+    this.imageError = null;
+    this.iconData = '';
+    this.iconChanged = true;
+
+    if (fileInput.target.files && fileInput.target.files[0]) {
+      const max_size = 10 * 1024;
+      const allowed_types = [
+        'image/png',
+        'image/jpeg',
+        'image/svg',
+        'image/gif',
+        'image/tiff',
+      ];
+      const max_height = 512;
+      const max_width = 512;
+      const file: File = fileInput.target.files[0];
+
+      if (file.size > max_size) {
+        this.imageError = 'Maximum size allowed is ' + max_size / 1000 + 'KB';
+      }
+
+      if (!allowed_types.includes(file.type)) {
+        this.imageError = 'Only JPG, PNG, SVG, GIF or Tiff files are allowed';
+      }
+
+      this.iconType = file.type;
+
+      const reader = new FileReader();
+      reader.onload = (e: ProgressEvent<FileReader>) => {
+        const content: ArrayBuffer = e.target!.result! as ArrayBuffer;
+        const blob = new Blob([content], { type: file.type });
+
+        const image = new Image();
+        image.src = URL.createObjectURL(blob);
+        this.iconObjectURL = image.src;
+
+        image.onload = (rs: any) => {
+          const img_height = rs.currentTarget['height']!;
+          const img_width = rs.currentTarget['width'];
+
+          if (img_height > max_height && img_width > max_width) {
+            this.imageError =
+              'Maximum dimentions allowed ' +
+              max_height +
+              '*' +
+              max_width +
+              'px';
+          } else {
+            this.iconData = content;
+          }
+
+          this.cdr.markForCheck();
+        };
+
+        image.onerror = (err: any) => {
+          this.actionIndicator.error(
+            'Failed to get image',
+            this.actionIndicator.getErrorMessgae(err)
+          );
+        };
+
+        this.cdr.markForCheck();
+      };
+
+      reader.onerror = (err: any) => {
+        this.actionIndicator.error(
+          'Failed to get image',
+          this.actionIndicator.getErrorMessgae(err)
+        );
+      };
+
+      reader.readAsArrayBuffer(fileInput.target.files[0]);
+    }
+  }
+
+  private uuidv4(): string {
+    if (typeof crypto.randomUUID === 'function') {
+      return crypto.randomUUID();
+    }
+
+    // This one is not really random and not RFC compliant but serves enough for fallback
+    // purposes if the UI is opened in a browser that does not yet support randomUUID
+    console.warn('Using browser with lacking support for crypto.randomUUID()');
+
+    return Date.now().toString(36) + Math.random().toString(36).substring(2);
+  }
+}
diff --git a/desktop/angular/src/app/shared/edit-profile-dialog/index.ts b/desktop/angular/src/app/shared/edit-profile-dialog/index.ts
new file mode 100644
index 00000000..0a4c617d
--- /dev/null
+++ b/desktop/angular/src/app/shared/edit-profile-dialog/index.ts
@@ -0,0 +1 @@
+export * from './edit-profile-dialog';
diff --git a/desktop/angular/src/app/shared/exit-screen/exit-screen.html b/desktop/angular/src/app/shared/exit-screen/exit-screen.html
new file mode 100644
index 00000000..cff2a960
--- /dev/null
+++ b/desktop/angular/src/app/shared/exit-screen/exit-screen.html
@@ -0,0 +1,19 @@
+<div class="content-wrapper">
+  <caption>Tip</caption>
+  <fa-icon class="close-icon" icon="times" (click)="cancel()"></fa-icon>
+
+  <h1>Close User Interface</h1>
+
+  <span class="message">Closing the User Interface does not shut down the Portmaster. You can shut down the Portmaster
+    in the Settings or the Tray Notifier.</span>
+
+  <div class="actions">
+    <span>
+      <input name="neveragain" id="neveragain" [(ngModel)]="neveragain" type="checkbox"> <label for="neveragain">Never
+        Show
+        Again</label>
+    </span>
+
+    <button (click)="closeUI()" type="button">Close UI</button>
+  </div>
+</div>
diff --git a/desktop/angular/src/app/shared/exit-screen/exit-screen.scss b/desktop/angular/src/app/shared/exit-screen/exit-screen.scss
new file mode 100644
index 00000000..65e5dc8b
--- /dev/null
+++ b/desktop/angular/src/app/shared/exit-screen/exit-screen.scss
@@ -0,0 +1,68 @@
+caption {
+  @apply text-sm;
+  opacity  : .6;
+  font-size: .6rem;
+}
+
+.content-wrapper {
+  display       : flex;
+  flex-direction: column;
+  align-items   : flex-start;
+
+  h1 {
+    font-size    : 0.85rem;
+    font-weight  : 500;
+    margin-bottom: 1rem;
+  }
+
+  .message,
+  h1 {
+    flex-shrink  : 0;
+    text-overflow: ellipsis;
+    word-break   : normal;
+  }
+
+  .message {
+    font-size: 0.75rem;
+    flex-grow: 1;
+    opacity  : .6;
+  }
+
+  .close-icon {
+    position: absolute;
+    top     : 1rem;
+    right   : 1rem;
+    opacity : .7;
+    cursor  : pointer;
+
+    &:hover {
+      opacity: 1;
+    }
+  }
+
+  .actions {
+    margin-top     : 1rem;
+    width          : 100%;
+    display        : flex;
+    justify-content: space-between;
+    align-items    : center;
+
+    button {
+      @apply bg-info-blue;
+
+      &.danger {
+        @apply bg-info-red;
+      }
+    }
+
+    &>span {
+      display    : flex;
+      align-items: center;
+
+      label {
+        margin-left: .5rem;
+        user-select: none;
+      }
+    }
+  }
+}
diff --git a/desktop/angular/src/app/shared/exit-screen/exit-screen.ts b/desktop/angular/src/app/shared/exit-screen/exit-screen.ts
new file mode 100644
index 00000000..3dbda654
--- /dev/null
+++ b/desktop/angular/src/app/shared/exit-screen/exit-screen.ts
@@ -0,0 +1,52 @@
+import { OverlayRef } from '@angular/cdk/overlay';
+import { Component, Inject, InjectionToken } from '@angular/core';
+import { SfngDialogRef, SFNG_DIALOG_REF } from '@safing/ui';
+import { Observable, of } from 'rxjs';
+import { map, switchMap } from 'rxjs/operators';
+import { UIStateService } from 'src/app/services';
+import { fadeInAnimation, fadeOutAnimation } from '../animations';
+
+export const OVERLAYREF = new InjectionToken<OverlayRef>('OverlayRef');
+
+@Component({
+  templateUrl: './exit-screen.html',
+  styleUrls: ['./exit-screen.scss'],
+  animations: [
+    fadeInAnimation,
+    fadeOutAnimation,
+  ]
+})
+export class ExitScreenComponent {
+  constructor(
+    @Inject(SFNG_DIALOG_REF) private _dialogRef: SfngDialogRef<any>,
+    private stateService: UIStateService,
+  ) { }
+
+  /** @private - used as ngModel form the template */
+  neveragain: boolean = false;
+
+  closeUI() {
+    const closeObserver = {
+      next: () => {
+        this._dialogRef.close('exit');
+      }
+    }
+
+    let close: Observable<any> = of(null);
+    if (this.neveragain) {
+      close = this.stateService.uiState()
+        .pipe(
+          map(state => {
+            state.hideExitScreen = true;
+            return state;
+          }),
+          switchMap(state => this.stateService.saveState(state)),
+        )
+    }
+    close.subscribe(closeObserver)
+  }
+
+  cancel() {
+    this._dialogRef.close()
+  }
+}
diff --git a/desktop/angular/src/app/shared/exit-screen/exit.service.ts b/desktop/angular/src/app/shared/exit-screen/exit.service.ts
new file mode 100644
index 00000000..c1da5b92
--- /dev/null
+++ b/desktop/angular/src/app/shared/exit-screen/exit.service.ts
@@ -0,0 +1,146 @@
+import { IntegrationService } from './../../integration/integration';
+import { Injectable, inject } from '@angular/core';
+import { PortapiService } from '@safing/portmaster-api';
+import { SfngDialogService } from '@safing/ui';
+import { BehaviorSubject, merge, of } from 'rxjs';
+import { catchError, debounceTime, distinctUntilChanged, map, skip, switchMap, tap, timeout } from 'rxjs/operators';
+import { UIStateService } from 'src/app/services';
+import { ActionIndicatorService } from '../action-indicator';
+import { ExitScreenComponent } from './exit-screen';
+import { INTEGRATION_SERVICE } from 'src/app/integration';
+
+const MessageConnecting = 'Connecting to Portmaster';
+const MessageShutdown = 'Shutting Down Portmaster';
+const MessageRestart = 'Restarting Portmaster';
+const MessageHidden = '';
+
+export type OverlayMessage = typeof MessageConnecting
+  | typeof MessageShutdown
+  | typeof MessageRestart
+  | typeof MessageHidden;
+
+@Injectable({ providedIn: 'root' })
+export class ExitService {
+  private integration = inject(INTEGRATION_SERVICE);
+
+  private hasOverlay = false;
+
+  private _showOverlay = new BehaviorSubject<OverlayMessage>(MessageConnecting);
+
+  /**
+   * Emits whenever the "Connecting to ..." or "Restarting ..." overlays
+   * should be shown. It actually emits the message that should be shown.
+   * An empty string indicates the overlay should be closed.
+   */
+  get showOverlay$() { return this._showOverlay.asObservable() }
+
+  constructor(
+    private stateService: UIStateService,
+    private portapi: PortapiService,
+    private dialog: SfngDialogService,
+    private uai: ActionIndicatorService,
+  ) {
+
+    this.portapi.connected$
+      .pipe(
+        distinctUntilChanged(),
+      )
+      .subscribe(connected => {
+        if (connected) {
+          this._showOverlay.next(MessageHidden);
+        } else if (this._showOverlay.getValue() !== MessageShutdown) {
+          this._showOverlay.next(MessageConnecting)
+        }
+      })
+
+
+    let restartInProgress = false;
+    merge<OverlayMessage[]>(
+      this.portapi.sub('runtime:modules/core/event/shutdown')
+        .pipe(map(() => MessageShutdown)),
+      this.portapi.sub('runtime:modules/core/event/restart')
+        .pipe(
+          tap(() => restartInProgress = true),
+          map(() => MessageRestart)
+        ),
+    )
+      .pipe(
+        tap(msg => this._showOverlay.next(msg)),
+        switchMap(() => this.portapi.connected$),
+        distinctUntilChanged(),
+        skip(1),
+        debounceTime(1000), // make sure we display the "shutdown" overlay for at least a second
+      )
+      .subscribe(connected => {
+        if (this._showOverlay.getValue() === MessageShutdown) {
+          setTimeout(() => {
+            this.integration.exitApp();
+          }, 1000)
+        }
+
+        if (connected && restartInProgress) {
+          restartInProgress = false;
+          this.portapi.reloadUI()
+            .pipe(
+              tap(() => {
+                setTimeout(() => window.location.reload(), 1000)
+              })
+            )
+            .subscribe(this.uai.httpObserver(
+              'Reloading UI ...',
+              'Failed to Reload UI',
+            ))
+        }
+      })
+
+    window.addEventListener('beforeunload', () => {
+      // best effort. may not work all the time depending on
+      // the current websocket buffer state
+      this.portapi.bridgeAPI('ui/reload', 'POST').subscribe();
+    })
+
+    this.integration.onExitRequest(() => {
+      this.stateService.uiState()
+        // make sure to not wait for the portmaster to start
+        .pipe(timeout(1000), catchError(() => of(null)))
+        .subscribe(state => {
+          if (state?.hideExitScreen) {
+            this.integration.exitApp();
+            return
+          }
+
+          if (this.hasOverlay) {
+            return;
+          }
+          this.hasOverlay = true;
+
+          this.dialog.create(ExitScreenComponent, { autoclose: true })
+            .onAction('exit', () => this.integration.exitApp())
+            .onClose.subscribe(() => this.hasOverlay = false);
+        })
+    })
+  }
+
+  shutdownPortmaster() {
+    this.dialog.confirm({
+      canCancel: true,
+      header: 'Shutting Down Portmaster',
+      message: 'Shutting down the Portmaster will stop all Portmaster components and will leave your system unprotected!',
+      caption: 'Caution',
+      buttons: [
+        {
+          id: 'shutdown',
+          class: 'danger',
+          text: 'Shut Down Portmaster'
+        }
+      ]
+    })
+      .onAction('shutdown', () => {
+        this.portapi.shutdownPortmaster()
+          .subscribe(this.uai.httpObserver(
+            'Shutting Down ...',
+            'Failed to Shut Down',
+          ))
+      })
+  }
+}
diff --git a/desktop/angular/src/app/shared/exit-screen/index.ts b/desktop/angular/src/app/shared/exit-screen/index.ts
new file mode 100644
index 00000000..8ea5634d
--- /dev/null
+++ b/desktop/angular/src/app/shared/exit-screen/index.ts
@@ -0,0 +1,2 @@
+export * from './exit.service';
+export * from './exit-screen';
diff --git a/desktop/angular/src/app/shared/expertise/expertise-directive.ts b/desktop/angular/src/app/shared/expertise/expertise-directive.ts
new file mode 100644
index 00000000..379466af
--- /dev/null
+++ b/desktop/angular/src/app/shared/expertise/expertise-directive.ts
@@ -0,0 +1,93 @@
+import { Directive, EmbeddedViewRef, Input, isDevMode, OnDestroy, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';
+import { ExpertiseLevelNumber } from '@safing/portmaster-api';
+import { Subscription } from 'rxjs';
+import { ExpertiseService } from './expertise.service';
+
+// ExpertiseLevelOverwrite may be called to display a DOM node decorated
+// with [appExpertiseLevel] even if the current user setting does not
+// match the required expertise.
+export type ExpertiseLevelOverwrite<T> = (lvl: ExpertiseLevelNumber, data: T) => boolean;
+@Directive({
+  selector: '[appExpertiseLevel]',
+})
+export class ExpertiseDirective<T> implements OnInit, OnDestroy {
+  private allowedValue: ExpertiseLevelNumber = ExpertiseLevelNumber.user;
+  private subscription = Subscription.EMPTY;
+  private view: EmbeddedViewRef<any> | null = null;
+
+  @Input()
+  set appExpertiseLevelOverwrite(fn: ExpertiseLevelOverwrite<T>) {
+    this._levelOverwriteFn = fn;
+    this.update();
+  }
+  private _levelOverwriteFn: ExpertiseLevelOverwrite<T> | null = null;
+
+  @Input()
+  set appExpertiseLevelData(d: T) {
+    this._data = d;
+    this.update();
+  }
+  private _data: T | undefined = undefined;
+
+  @Input()
+  set appExpertiseLevel(lvl: ExpertiseLevelNumber | string) {
+    if (typeof lvl === 'string') {
+      lvl = ExpertiseLevelNumber[lvl as any];
+    }
+    if (lvl === undefined) {
+      if (isDevMode()) {
+        throw new Error(`[appExpertiseLevel] got undefined expertise-level value`);
+      }
+      return;
+    }
+    if (lvl !== this.allowedValue) {
+      this.allowedValue = lvl as ExpertiseLevelNumber;
+      this.update();
+    }
+  }
+
+  private update() {
+    const current = ExpertiseLevelNumber[this.expertiseService.currentLevel];
+    let hide = current < this.allowedValue;
+
+    // if there's an overwrite function defined make sue to check that.
+    if (hide && !!this._levelOverwriteFn) {
+      hide = !this._levelOverwriteFn(current, this._data!);
+      if (!hide) {
+        console.log("overwritten", current, this._data);
+      }
+    }
+
+    if (hide) {
+      if (!!this.view) {
+        this.view.destroy();
+        this.viewContainer.clear();
+        this.view = null;
+      }
+      return
+    }
+
+    if (!!this.view) {
+      this.view.markForCheck();
+      return;
+    }
+
+    this.view = this.viewContainer.createEmbeddedView(this.templateRef);
+    this.view.detectChanges();
+  }
+
+  constructor(
+    private expertiseService: ExpertiseService,
+    private templateRef: TemplateRef<any>,
+    private viewContainer: ViewContainerRef
+  ) { }
+
+  ngOnInit() {
+    this.subscription = this.expertiseService.change.subscribe(() => this.update())
+  }
+
+  ngOnDestroy() {
+    this.viewContainer.clear();
+    this.subscription.unsubscribe();
+  }
+}
diff --git a/desktop/angular/src/app/shared/expertise/expertise-switch.html b/desktop/angular/src/app/shared/expertise/expertise-switch.html
new file mode 100644
index 00000000..8ad8eca7
--- /dev/null
+++ b/desktop/angular/src/app/shared/expertise/expertise-switch.html
@@ -0,0 +1,16 @@
+<sfng-tipup key="uiMode" placement="left" [anchor]="host"></sfng-tipup>
+<sfng-select [ngModel]="(currentLevel | async)" (ngModelChange)="selectLevel($event)" mode="single" sortItems="false">
+  <sfng-select-item *sfngSelectValue="expertiseLevels.User">
+    Simple Interface
+  </sfng-select-item>
+
+  <sfng-select-item *sfngSelectValue="expertiseLevels.Expert">
+    Advanced Interface
+  </sfng-select-item>
+
+  <ng-container *ngIf="savedLevel === expertiseLevels.Developer">
+    <sfng-select-item *sfngSelectValue="expertiseLevels.Developer">
+      Developer Interface
+    </sfng-select-item>
+  </ng-container>
+</sfng-select>
diff --git a/desktop/angular/src/app/shared/expertise/expertise-switch.scss b/desktop/angular/src/app/shared/expertise/expertise-switch.scss
new file mode 100644
index 00000000..b795503d
--- /dev/null
+++ b/desktop/angular/src/app/shared/expertise/expertise-switch.scss
@@ -0,0 +1,12 @@
+:host {
+  display: flex;
+  @apply pl-2;
+  user-select: none;
+  flex-direction: row;
+  align-items: center;
+  justify-content: center;
+}
+
+sfng-tipup {
+  margin-right: 0.5rem;
+}
diff --git a/desktop/angular/src/app/shared/expertise/expertise-switch.ts b/desktop/angular/src/app/shared/expertise/expertise-switch.ts
new file mode 100644
index 00000000..1b822927
--- /dev/null
+++ b/desktop/angular/src/app/shared/expertise/expertise-switch.ts
@@ -0,0 +1,38 @@
+import { Component, ElementRef } from '@angular/core';
+import { ExpertiseLevel } from '@safing/portmaster-api';
+import { ExpertiseService } from './expertise.service';
+
+@Component({
+  selector: 'app-expertise',
+  templateUrl: './expertise-switch.html',
+  styleUrls: ['./expertise-switch.scss']
+})
+export class ExpertiseComponent {
+  /** @private provide the expertise-level enums to the template */
+  readonly expertiseLevels = ExpertiseLevel;
+
+  currentLevel = this.expertiseService.change;
+
+  /**
+   * @private
+   * Getter to access the expertise level as saved in the database
+   */
+  get savedLevel() {
+    return this.expertiseService.savedLevel;
+  }
+
+  constructor(
+    private expertiseService: ExpertiseService,
+    public host: ElementRef<any>,
+  ) { }
+
+  /**
+   * @private
+   * Configures a new expertise level
+   *
+   * @param lvl The new expertise level to use
+   */
+  selectLevel(lvl: ExpertiseLevel) {
+    this.expertiseService.setLevel(lvl);
+  }
+}
diff --git a/desktop/angular/src/app/shared/expertise/expertise.module.ts b/desktop/angular/src/app/shared/expertise/expertise.module.ts
new file mode 100644
index 00000000..7bf6a7fa
--- /dev/null
+++ b/desktop/angular/src/app/shared/expertise/expertise.module.ts
@@ -0,0 +1,24 @@
+import { CommonModule } from "@angular/common";
+import { NgModule } from "@angular/core";
+import { FormsModule } from "@angular/forms";
+import { SfngSelectModule, SfngTipUpModule } from "@safing/ui";
+import { ExpertiseDirective } from "./expertise-directive";
+import { ExpertiseComponent } from "./expertise-switch";
+
+@NgModule({
+  imports: [
+    SfngSelectModule,
+    CommonModule,
+    SfngTipUpModule,
+    FormsModule,
+  ],
+  declarations: [
+    ExpertiseComponent,
+    ExpertiseDirective,
+  ],
+  exports: [
+    ExpertiseComponent,
+    ExpertiseDirective,
+  ]
+})
+export class ExpertiseModule { }
diff --git a/desktop/angular/src/app/shared/expertise/expertise.service.ts b/desktop/angular/src/app/shared/expertise/expertise.service.ts
new file mode 100644
index 00000000..5b5d7a20
--- /dev/null
+++ b/desktop/angular/src/app/shared/expertise/expertise.service.ts
@@ -0,0 +1,63 @@
+import { Injectable } from '@angular/core';
+import { ConfigService, ExpertiseLevel, StringSetting } from '@safing/portmaster-api';
+import { BehaviorSubject, Observable } from 'rxjs';
+import { distinctUntilChanged, map, repeat, share } from 'rxjs/operators';
+
+@Injectable({
+  providedIn: 'root'
+})
+export class ExpertiseService {
+  /** If the user overwrites the expertise level on a per-page setting we track that here */
+  private _localOverwrite: ExpertiseLevel | null = null;
+  private _currentLevel: ExpertiseLevel = ExpertiseLevel.User;
+
+  /** Watches the expertise level as saved in the configuration */
+  private _savedLevel$ = this.configService.watch<StringSetting>('core/expertiseLevel')
+    .pipe(
+      repeat({ delay: 2000 }),
+      map(upd => {
+        return upd as ExpertiseLevel;
+      }),
+      distinctUntilChanged(),
+      share(),
+    );
+
+  private level$ = new BehaviorSubject(ExpertiseLevel.User);
+
+  get currentLevel() {
+    return this._localOverwrite === null
+      ? this._currentLevel
+      : this._localOverwrite;
+  }
+
+  get savedLevel() {
+    return this._currentLevel;
+  }
+
+  get change(): Observable<ExpertiseLevel> {
+    return this.level$.asObservable();
+  }
+
+  constructor(private configService: ConfigService) {
+    this._savedLevel$
+      .subscribe(lvl => {
+        this._currentLevel = lvl;
+        if (this._localOverwrite === null) {
+          this.level$.next(lvl);
+        }
+      });
+  }
+
+  setLevel(lvl: ExpertiseLevel | null) {
+    if (lvl === this._currentLevel) {
+      lvl = null;
+    }
+
+    this._localOverwrite = lvl;
+    if (!!lvl) {
+      this.level$.next(lvl);
+    } else {
+      this.level$.next(this._currentLevel!);
+    }
+  }
+}
diff --git a/desktop/angular/src/app/shared/expertise/index.ts b/desktop/angular/src/app/shared/expertise/index.ts
new file mode 100644
index 00000000..6c41ae61
--- /dev/null
+++ b/desktop/angular/src/app/shared/expertise/index.ts
@@ -0,0 +1,3 @@
+export * from './expertise-directive';
+export * from './expertise-switch';
+export * from './expertise.service';
diff --git a/desktop/angular/src/app/shared/external-link.directive.ts b/desktop/angular/src/app/shared/external-link.directive.ts
new file mode 100644
index 00000000..47a16c28
--- /dev/null
+++ b/desktop/angular/src/app/shared/external-link.directive.ts
@@ -0,0 +1,53 @@
+import { isPlatformBrowser } from '@angular/common';
+import {
+  Directive,
+  HostBinding, HostListener, Inject,
+  Input, OnChanges, PLATFORM_ID, inject
+} from '@angular/core';
+import { INTEGRATION_SERVICE } from '../integration';
+
+@Directive({
+  // eslint-disable-next-line @angular-eslint/directive-selector
+  selector: 'a[href]'
+})
+export class ExternalLinkDirective implements OnChanges {
+  private readonly integration = inject(INTEGRATION_SERVICE);
+
+  @HostBinding('attr.rel')
+  relAttr = '';
+
+  @HostBinding('attr.target')
+  targetAttr = '';
+
+  @HostBinding('attr.href')
+  hrefAttr = '';
+
+  @Input()
+  href: string = '';
+
+  constructor(@Inject(PLATFORM_ID) private platformId: string) { }
+
+  @HostListener('click', ['$event'])
+  onClick(event: Event) {
+    event.preventDefault();
+    event.stopPropagation();
+
+    this.integration.openExternal(this.href);
+  }
+
+  ngOnChanges() {
+    this.hrefAttr = this.href;
+
+    if (this.isLinkExternal()) {
+      this.relAttr = 'noopener';
+      this.targetAttr = '_blank';
+    }
+  }
+
+  private isLinkExternal() {
+    return (
+      isPlatformBrowser(this.platformId) &&
+      !this.href.includes(location.hostname)
+    );
+  }
+}
diff --git a/desktop/angular/src/app/shared/feature-scout/feature-scout.html b/desktop/angular/src/app/shared/feature-scout/feature-scout.html
new file mode 100644
index 00000000..f0ee7af7
--- /dev/null
+++ b/desktop/angular/src/app/shared/feature-scout/feature-scout.html
@@ -0,0 +1,106 @@
+<ng-container *appExpertiseLevel="'developer'">
+<div *ngIf="packageHasSPN || packageHasHistory" class="pb-4">
+
+  <div class="flex flex-row justify-center w-full gap-2" [routerLink]="['/dashboard']">
+    <span *ngIf="packageHasHistory">
+      <svg
+        xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
+        width="18px" class="feature-icon" [class.feature-icon-off]="!historyEnabled">
+        <path stroke-linecap="round" stroke-linejoin="round"
+          d="M12 6.042A8.967 8.967 0 006 3.75c-1.052 0-2.062.18-3 .512v14.25A8.987 8.987 0 016 18c2.305 0 4.408.867 6 2.292m0-14.25a8.966 8.966 0 016-2.292c1.052 0 2.062.18 3 .512v14.25A8.987 8.987 0 0018 18a8.967 8.967 0 00-6 2.292m0-14.25v14.25" />
+      </svg>
+    </span>
+
+    <span *ngIf="packageHasSPN">
+      <svg
+        xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" stroke="currentColor"
+        width="18px" class="feature-icon" [class.feature-icon-off]="!spnEnabled">
+        <g fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5">
+          <path
+            d="M6.488 15.581c.782.781.782 2.048 0 2.829-.782.781-2.049.781-2.83 0-.782-.781-.782-2.048 0-2.829.781-.781 2.048-.781 2.83 0M13.415 3.586c.782.781.782 2.048 0 2.829-.782.781-2.049.781-2.83 0-.782-.781-.782-2.048 0-2.829.781-.781 2.049-.781 2.83 0M20.343 15.58c.782.781.782 2.048 0 2.829-.782.781-2.049.781-2.83 0-.782-.781-.782-2.048 0-2.829.781-.781 2.048-.781 2.83 0">
+          </path>
+          <path
+            d="M17.721 18.581C16.269 20.071 14.246 21 12 21c-1.146 0-2.231-.246-3.215-.68M4.293 15.152c-.56-1.999-.352-4.21.769-6.151.574-.995 1.334-1.814 2.205-2.449M13.975 5.254c2.017.512 3.834 1.799 4.957 3.743.569.985.899 2.041 1.018 3.103">
+          </path>
+        </g>
+      </svg>
+    </span>
+  </div>
+
+  <div *ngIf="spnEnabled" class="flex flex-row justify-center w-full gap-2 pt-2">
+    <div class="status-info" [routerLink]="['/spn']">
+
+      <span [ngSwitch]="spnStatus?.Status" [sfng-tooltip]="spnStatus?.Status === 'connected' ? spnTooltipTemplate : null">
+        <ng-template ngSwitchCase="disabled">
+          SPN is connecting...<br>
+          Fail-safe blocking enabled
+        </ng-template>
+        <ng-template ngSwitchCase="failed">
+          <span class="text-red-300">SPN failed to connect</span><br>
+          Fail-safe blocking enabled
+        </ng-template>
+        <ng-template ngSwitchCase="connecting">
+          SPN is connecting...<br>
+          Fail-safe blocking enabled
+        </ng-template>
+        <ng-template ngSwitchCase="connected">
+          <svg xmlns="http://www.w3.org/2000/svg" width="12px" height="12px" fill="currentColor" viewBox="0 0 16 16"
+            class="text-tertiary" class="inline-block -mt-0.5">
+            <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-8 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"/>
+          </svg>
+          {{ spnStatus?.HomeHubName }}
+          <span class="text-tertiary">
+            in
+          </span>
+          <span *ngIf="!!spnStatus?.ConnectedCountry?.Code" [appCountryFlags]="spnStatus!.ConnectedCountry!.Code"></span>
+          {{ spnStatus?.ConnectedCountry?.Name }}
+        </ng-template>
+      </span>
+
+    </div>
+  </div>
+
+    <!-- </div>
+      <h2 class="p-0 m-0 font-light outline-none cursor-pointer test-base" [routerLink]="['/spn']">SPN</h2>
+      <sfng-toggle [ngModel]="spnEnabled" (ngModelChange)="setSPNEnabled($event)" class="absolute top-1 right-0"></sfng-toggle>
+
+      <ng-container *ngIf="spnEnabled">
+        <span [ngSwitch]="spnStatus?.Status" class="-mt-1 text-xs font-medium text-secondary">
+          <ng-template ngSwitchCase="disabled">
+            Disabled
+          </ng-template>
+          <ng-template ngSwitchCase="failed">
+            Failed to connect<br>
+            Fail-safe blocking enabled
+          </ng-template>
+          <ng-template ngSwitchCase="connecting">
+            Connecting...<br>
+            Fail-safe blocking enabled
+          </ng-template>
+          <ng-template ngSwitchCase="connected">
+            You're protected
+          </ng-template>
+        </span>
+        <br>
+        <span class="text-secondary text-xxs" *appExpertiseLevel="'advanced'">
+          Home: <u>{{ spnStatus?.ConnectedIP }}</u> via <u>{{ spnStatus?.ConnectedTransport}}</u>
+        </span>
+      </ng-container>
+    </div>
+
+    <div *ngIf="packageHasHistory" class="relative mt-3">
+      <h2 class="p-0 m-0 font-light outline-none cursor-pointer test-base" [routerLink]="['/monitor']">History</h2>
+      <sfng-toggle [ngModel]="historyEnabled" (ngModelChange)="setHistoryEnabled($event)" class="absolute top-1 right-0"></sfng-toggle>
+    </div> -->
+
+</div>
+</ng-container>
+
+<ng-template #spnTooltipTemplate>
+  SPN Home (Entry) Node
+  <ul class="pl-4 list-disc">
+    <li>Connected to {{ spnStatus?.ConnectedIP }}</li>
+    <li>Uplink is always encrypted</li>
+    <li>Built with transport/decoy {{ spnStatus?.ConnectedTransport }}</li>
+  </ul>
+</ng-template>
diff --git a/desktop/angular/src/app/shared/feature-scout/feature-scout.scss b/desktop/angular/src/app/shared/feature-scout/feature-scout.scss
new file mode 100644
index 00000000..5ae271f6
--- /dev/null
+++ b/desktop/angular/src/app/shared/feature-scout/feature-scout.scss
@@ -0,0 +1,15 @@
+.feature-icon {
+  @apply text-primary text-opacity-80;
+
+  &.feature-icon-off {
+    opacity: 0.25;
+  }
+}
+
+.status-info {
+  @apply text-primary text-opacity-80 text-xxs text-center;
+
+  &:hover {
+    cursor: default;
+  }
+}
diff --git a/desktop/angular/src/app/shared/feature-scout/feature-scout.ts b/desktop/angular/src/app/shared/feature-scout/feature-scout.ts
new file mode 100644
index 00000000..596edf14
--- /dev/null
+++ b/desktop/angular/src/app/shared/feature-scout/feature-scout.ts
@@ -0,0 +1,98 @@
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, OnInit, inject } from "@angular/core";
+import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
+import { BoolSetting, ConfigService, FeatureID, Netquery, SPNService, SPNStatus, UserProfile } from "@safing/portmaster-api";
+import { catchError, of } from "rxjs";
+import { fadeInAnimation, fadeOutAnimation } from "../animations";
+import { CountryFlagModule } from 'src/app/shared/country-flag';
+
+@Component({
+  selector: 'app-feature-scout',
+  templateUrl: './feature-scout.html',
+  styleUrls: [
+    './feature-scout.scss'
+  ],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  animations: [
+    fadeInAnimation,
+    fadeOutAnimation,
+  ]
+})
+export class FeatureScoutComponent implements OnInit {
+  private destroyRef = inject(DestroyRef);
+
+  /** The current SPN user profile */
+  profile: UserProfile | null = null;
+
+  /** Whether or not the SPN is currently enabled */
+  spnEnabled = false;
+
+  /** The current status of the SPN module */
+  spnStatus: SPNStatus | null = null;
+
+  /** Whether or not the Network History is currently enabled */
+  historyEnabled = false;
+
+  /** Returns whether or not the current package has the SPN feature */
+  get packageHasSPN() {
+    return this.profile?.current_plan?.feature_ids?.includes(FeatureID.SPN)
+  }
+
+  /** Returns whether or not the current package has the Network History feature */
+  get packageHasHistory() {
+    return this.profile?.current_plan?.feature_ids?.includes(FeatureID.History)
+  }
+
+  constructor(
+    private configService: ConfigService,
+    private spnService: SPNService,
+    private cdr: ChangeDetectorRef,
+  ) { }
+
+  ngOnInit(): void {
+    this.spnService
+      .profile$
+      .pipe(
+        takeUntilDestroyed(this.destroyRef),
+        catchError(() => of(null))
+      )
+      .subscribe(profile => {
+        this.profile = profile || null;
+
+        this.cdr.markForCheck();
+      });
+
+    this.spnService.status$
+      .pipe(takeUntilDestroyed(this.destroyRef))
+      .subscribe(status => {
+        this.spnStatus = status;
+
+        this.cdr.markForCheck();
+      })
+
+    this.configService.watch<BoolSetting>("spn/enable")
+      .pipe(takeUntilDestroyed(this.destroyRef))
+      .subscribe(value => {
+        this.spnEnabled = value;
+
+        this.cdr.markForCheck();
+      });
+
+    this.configService.watch<BoolSetting>("history/enable")
+    .pipe(takeUntilDestroyed(this.destroyRef))
+    .subscribe(value => {
+      this.historyEnabled = value;
+
+      this.cdr.markForCheck();
+    });
+  }
+
+  setSPNEnabled(v: boolean) {
+    this.configService.save(`spn/enable`, v)
+      .subscribe();
+  }
+
+  setHistoryEnabled(v: boolean) {
+    this.configService.save(`history/enable`, v)
+      .subscribe();
+  }
+}
diff --git a/desktop/angular/src/app/shared/feature-scout/index.ts b/desktop/angular/src/app/shared/feature-scout/index.ts
new file mode 100644
index 00000000..6fc7f610
--- /dev/null
+++ b/desktop/angular/src/app/shared/feature-scout/index.ts
@@ -0,0 +1 @@
+export * from './feature-scout';
diff --git a/desktop/angular/src/app/shared/focus/focus.directive.ts b/desktop/angular/src/app/shared/focus/focus.directive.ts
new file mode 100644
index 00000000..79b83f40
--- /dev/null
+++ b/desktop/angular/src/app/shared/focus/focus.directive.ts
@@ -0,0 +1,32 @@
+import { coerceBooleanProperty } from "@angular/cdk/coercion";
+import { Directive, ElementRef, Input, OnInit } from "@angular/core";
+
+@Directive({
+  // eslint-disable-next-line @angular-eslint/directive-selector
+  selector: '[autoFocus]',
+})
+export class AutoFocusDirective implements OnInit {
+  private _focus = true;
+  private _afterInit = false;
+
+  @Input('autoFocus')
+  set focus(v: any) {
+    this._focus = coerceBooleanProperty(v) !== false;
+
+    if (this._afterInit && this.elementRef) {
+      this.elementRef.nativeElement.focus()
+    }
+  }
+
+  constructor(private elementRef: ElementRef) { }
+
+  ngOnInit(): void {
+    setTimeout(() => {
+      if (this._focus) {
+        this.elementRef.nativeElement.focus();
+      }
+    }, 100)
+
+    this._afterInit = true;
+  }
+}
diff --git a/desktop/angular/src/app/shared/focus/focus.module.ts b/desktop/angular/src/app/shared/focus/focus.module.ts
new file mode 100644
index 00000000..29593994
--- /dev/null
+++ b/desktop/angular/src/app/shared/focus/focus.module.ts
@@ -0,0 +1,16 @@
+import { CommonModule } from "@angular/common";
+import { NgModule } from "@angular/core";
+import { AutoFocusDirective } from "./focus.directive";
+
+@NgModule({
+  imports: [
+    CommonModule,
+  ],
+  declarations: [
+    AutoFocusDirective,
+  ],
+  exports: [
+    AutoFocusDirective,
+  ]
+})
+export class SfngFocusModule { }
diff --git a/desktop/angular/src/app/shared/focus/index.ts b/desktop/angular/src/app/shared/focus/index.ts
new file mode 100644
index 00000000..f7f9cff0
--- /dev/null
+++ b/desktop/angular/src/app/shared/focus/index.ts
@@ -0,0 +1,2 @@
+export { AutoFocusDirective } from './focus.directive';
+export * from './focus.module';
diff --git a/desktop/angular/src/app/shared/fuzzySearch/fuse.service.ts b/desktop/angular/src/app/shared/fuzzySearch/fuse.service.ts
new file mode 100644
index 00000000..d7f3e192
--- /dev/null
+++ b/desktop/angular/src/app/shared/fuzzySearch/fuse.service.ts
@@ -0,0 +1,105 @@
+import { Injectable } from '@angular/core';
+import { deepClone } from '@safing/portmaster-api';
+import Fuse from 'fuse.js';
+
+export type FuseResult<T> = Fuse.FuseResult<T & {
+  highlighted?: string;
+}>;
+
+export interface FuseSearchOpts<T> extends Fuse.IFuseOptions<T> {
+  minSearchTermLength?: number;
+  maximumScore?: number;
+}
+
+@Injectable({
+  providedIn: 'root'
+})
+export class FuzzySearchService {
+
+  readonly defaultOptions: FuseSearchOpts<any> = {
+    minMatchCharLength: 2,
+    includeMatches: true,
+    includeScore: true,
+    minSearchTermLength: 3,
+  };
+
+  searchList<T extends {}>(list: Array<T>, searchTerms: string, options: FuseSearchOpts<T> & { disableHighlight?: boolean } = {}): Array<FuseResult<T>> {
+    const opts: FuseSearchOpts<T> = {
+      ...this.defaultOptions,
+      ...options,
+    }
+
+    let result: FuseResult<T>[] = [];
+
+
+    if (searchTerms && searchTerms.length >= (opts.minSearchTermLength || 0)) {
+      let fuse = new Fuse(list, opts);
+      result = fuse.search(searchTerms);
+
+    } else {
+      result = list.map((item, index) => ({
+        item: item,
+        refIndex: index,
+        score: 0,
+      }))
+    }
+
+    if (!!options.disableHighlight) {
+      return result;
+    }
+
+    return this.handleHighlight(result, options);
+  }
+
+  private handleHighlight<T extends {}>(result: FuseResult<T>[], options: FuseSearchOpts<T>): FuseResult<T>[] {
+    return result.map(matchObject => {
+      matchObject.item = deepClone(matchObject.item);
+
+      if (!matchObject.matches) {
+        return matchObject;
+      }
+
+      for (let match of matchObject.matches!) {
+        const indices = match.indices;
+
+        let highlightOffset: number = 0;
+
+        for (let indice of indices) {
+          let initialValue = getFromMatch(matchObject, match);
+
+          const startOffset = indice[0] + highlightOffset;
+          const endOffset = indice[1] + highlightOffset + 1;
+
+          if (endOffset - startOffset < 4) {
+            continue
+          }
+
+          let highlightedTerm = initialValue.substring(startOffset, endOffset);
+          let newValue = initialValue.substring(0, startOffset) + '<em class="search-result">' + highlightedTerm + '</em>' + initialValue.substring(endOffset);
+
+          highlightOffset += '<em class="search-result"></em>'.length;
+
+          setOnMatch(matchObject, match, newValue);
+        }
+      }
+
+      return matchObject;
+    });
+  }
+}
+
+function getFromMatch<T>(result: Fuse.FuseResult<T>, match: Fuse.FuseResultMatch): string {
+  if (match.refIndex === undefined) {
+    return (result.item as any)[match.key!];
+  }
+  return (result.item as any)[match.key!][match.refIndex];
+}
+
+function setOnMatch<T>(result: Fuse.FuseResult<T>, match: Fuse.FuseResultMatch, value: string) {
+  if (match.refIndex === undefined) {
+    (result.item as any)[match.key!] = value;
+    return;
+  }
+
+  (result.item as any)[match.key!][match.refIndex] = value;
+}
diff --git a/desktop/angular/src/app/shared/fuzzySearch/index.ts b/desktop/angular/src/app/shared/fuzzySearch/index.ts
new file mode 100644
index 00000000..d1194321
--- /dev/null
+++ b/desktop/angular/src/app/shared/fuzzySearch/index.ts
@@ -0,0 +1,4 @@
+import Fuse from 'fuse.js';
+
+export { FuseSearchOpts, FuzzySearchService } from './fuse.service';
+export { FuzzySearchPipe } from './search-pipe';
diff --git a/desktop/angular/src/app/shared/fuzzySearch/search-pipe.ts b/desktop/angular/src/app/shared/fuzzySearch/search-pipe.ts
new file mode 100644
index 00000000..4f6d7b1b
--- /dev/null
+++ b/desktop/angular/src/app/shared/fuzzySearch/search-pipe.ts
@@ -0,0 +1,19 @@
+import { Pipe, PipeTransform } from '@angular/core';
+import { FuseResult, FuseSearchOpts, FuzzySearchService } from './fuse.service';
+
+
+@Pipe({
+  name: 'fuzzySearch',
+})
+export class FuzzySearchPipe implements PipeTransform {
+  constructor(
+    private FusejsService: FuzzySearchService
+  ) { }
+
+  transform<T extends object>(elements: Array<T>,
+    searchTerms: string,
+    options: FuseSearchOpts<T> = {}): Array<FuseResult<T>> {
+
+    return this.FusejsService.searchList(elements, searchTerms, options);
+  }
+}
diff --git a/desktop/angular/src/app/shared/loading/index.ts b/desktop/angular/src/app/shared/loading/index.ts
new file mode 100644
index 00000000..68c5f495
--- /dev/null
+++ b/desktop/angular/src/app/shared/loading/index.ts
@@ -0,0 +1 @@
+export { LoadingComponent } from './loading';
diff --git a/desktop/angular/src/app/shared/loading/loading.html b/desktop/angular/src/app/shared/loading/loading.html
new file mode 100644
index 00000000..bfa7d9b6
--- /dev/null
+++ b/desktop/angular/src/app/shared/loading/loading.html
@@ -0,0 +1,3 @@
+<span class="dot"></span>
+<span class="dot"></span>
+<span class="dot"></span>
diff --git a/desktop/angular/src/app/shared/loading/loading.scss b/desktop/angular/src/app/shared/loading/loading.scss
new file mode 100644
index 00000000..fccdce9d
--- /dev/null
+++ b/desktop/angular/src/app/shared/loading/loading.scss
@@ -0,0 +1,52 @@
+:host {
+  --internal-dot-size       : var(--dot-size, 5px);
+  --internal-animation-speed: var(--animation-speed, 1.3s);
+
+  display        : flex;
+  position       : relative;
+  justify-content: space-evenly;
+  align-items    : flex-end;
+  width          : var(--animation-width, calc(var(--internal-dot-size) * 5));
+
+  height: calc(var(--internal-dot-size) * 3);
+
+  &.animate {
+    .dot {
+      display    : block;
+      flex-shrink: 0;
+      flex-grow  : 0;
+      width      : var(--internal-dot-size);
+      height     : var(--internal-dot-size);
+
+      @apply shadow-inner-xs;
+      @apply rounded-full;
+      @apply bg-buttons-icon;
+
+      animation: wave var(--internal-animation-speed) linear infinite;
+
+      &:nth-child(2) {
+        animation-delay: -1.1s;
+      }
+
+      &:nth-child(3) {
+        animation-delay: -0.9s;
+      }
+    }
+  }
+
+}
+
+@keyframes wave {
+
+  0%,
+  60%,
+  100% {
+    transform: initial;
+    @apply bg-buttons-light;
+  }
+
+  90% {
+    transform       : translateY(var(--loading-height, -9px));
+    background-color: white;
+  }
+}
diff --git a/desktop/angular/src/app/shared/loading/loading.ts b/desktop/angular/src/app/shared/loading/loading.ts
new file mode 100644
index 00000000..fb7f049d
--- /dev/null
+++ b/desktop/angular/src/app/shared/loading/loading.ts
@@ -0,0 +1,14 @@
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding } from '@angular/core';
+
+@Component({
+  selector: 'app-loading',
+  templateUrl: './loading.html',
+  styleUrls: ['./loading.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class LoadingComponent {
+  @HostBinding('class.animate')
+  _animate = true;
+
+  constructor(private changeDetectorRef: ChangeDetectorRef) { }
+}
diff --git a/desktop/angular/src/app/shared/menu/index.ts b/desktop/angular/src/app/shared/menu/index.ts
new file mode 100644
index 00000000..bb5dcd95
--- /dev/null
+++ b/desktop/angular/src/app/shared/menu/index.ts
@@ -0,0 +1,2 @@
+export { MenuComponent, MenuTriggerComponent, MenuItemComponent, MenuGroupComponent } from './menu';
+export * from './menu.module';
diff --git a/desktop/angular/src/app/shared/menu/menu-group.scss b/desktop/angular/src/app/shared/menu/menu-group.scss
new file mode 100644
index 00000000..c2cd7063
--- /dev/null
+++ b/desktop/angular/src/app/shared/menu/menu-group.scss
@@ -0,0 +1,13 @@
+:host {
+  display: block;
+  width: 100%;
+
+  @apply p-1;
+  @apply px-4;
+  @apply text-secondary;
+
+  display: block;
+  text-transform: uppercase;
+  font-size: 0.7rem;
+  opacity: .7;
+}
diff --git a/desktop/angular/src/app/shared/menu/menu-item.scss b/desktop/angular/src/app/shared/menu/menu-item.scss
new file mode 100644
index 00000000..fdba9c32
--- /dev/null
+++ b/desktop/angular/src/app/shared/menu/menu-item.scss
@@ -0,0 +1,17 @@
+:host {
+  @apply block w-full;
+
+  cursor: pointer;
+  @apply p-2;
+  @apply px-4 text-primary text-xxs;
+  font-weight: 500;
+
+  &:hover {
+    @apply bg-gray-300;
+  }
+
+  &.disabled {
+    cursor: not-allowed;
+    opacity: 0.5;
+  }
+}
diff --git a/desktop/angular/src/app/shared/menu/menu-trigger.html b/desktop/angular/src/app/shared/menu/menu-trigger.html
new file mode 100644
index 00000000..02642109
--- /dev/null
+++ b/desktop/angular/src/app/shared/menu/menu-trigger.html
@@ -0,0 +1,14 @@
+<div (click)="toggle($event)" cdkOverlayOrigin>
+  <div class="text-opacity-75 dropdown text-primary hover:text-primary hover:text-opacity-100">
+    <ng-container *ngIf="!useContent">
+      <svg xmlns="http://www.w3.org/2000/svg" data-name="Layer 2" viewBox="0 0 11.86 19.86" fill="currentColor">
+        <circle cx="1.93" cy="1.93" r="1.93" />
+        <circle cx="1.93" cy="9.93" r="1.93" />
+        <circle cx="1.93" cy="17.93" r="1.93" />
+      </svg>
+    </ng-container>
+    <ng-container *ngIf="useContent">
+      <ng-content></ng-content>
+    </ng-container>
+  </div>
+</div>
diff --git a/desktop/angular/src/app/shared/menu/menu-trigger.scss b/desktop/angular/src/app/shared/menu/menu-trigger.scss
new file mode 100644
index 00000000..77cc16b0
--- /dev/null
+++ b/desktop/angular/src/app/shared/menu/menu-trigger.scss
@@ -0,0 +1,41 @@
+:host {
+  user-select: none;
+  margin-right: .5rem;
+  display: block;
+  @apply rounded-t-sm;
+}
+
+div {
+  cursor: pointer;
+  display: flex;
+  @apply rounded-t;
+  flex-grow: 0;
+  transition: all .1s ease-in-out;
+  justify-content: center;
+  align-items: center;
+  @apply py-1;
+  @apply px-3;
+}
+
+.dropdown {
+  margin-left: 1px;
+  height: auto;
+  padding: 0;
+  margin: 0;
+
+  svg {
+    opacity: 0.7;
+    fill: var(--text-primary);
+    width: 0.51rem;
+    transition: all cubic-bezier(0.175, 0.885, 0.32, 1.275) .2s;
+
+    transform: rotate(90deg);
+    position: relative;
+    top: 3px;
+  }
+}
+
+:host.active {
+  @apply bg-gray-400;
+  color: white !important;
+}
diff --git a/desktop/angular/src/app/shared/menu/menu.html b/desktop/angular/src/app/shared/menu/menu.html
new file mode 100644
index 00000000..d33da3d7
--- /dev/null
+++ b/desktop/angular/src/app/shared/menu/menu.html
@@ -0,0 +1,6 @@
+<sfng-dropdown externalTrigger="true" #dropdown="sfngDropdown" [offsetY]="offsetY || 0" [offsetX]="offsetX"
+  [overlayClass]="overlayClass  || ''">
+  <div class="flex flex-col flex-grow w-full h-full bg-gray-400 shadow select-none">
+    <ng-content></ng-content>
+  </div>
+</sfng-dropdown>
diff --git a/desktop/angular/src/app/shared/menu/menu.module.ts b/desktop/angular/src/app/shared/menu/menu.module.ts
new file mode 100644
index 00000000..4f97a6c0
--- /dev/null
+++ b/desktop/angular/src/app/shared/menu/menu.module.ts
@@ -0,0 +1,26 @@
+import { OverlayModule } from "@angular/cdk/overlay";
+import { CommonModule } from "@angular/common";
+import { NgModule } from "@angular/core";
+import { SfngDropDownModule } from "@safing/ui";
+import { MenuComponent, MenuGroupComponent, MenuItemComponent, MenuTriggerComponent } from "./menu";
+
+@NgModule({
+  imports: [
+    SfngDropDownModule,
+    CommonModule,
+    OverlayModule,
+  ],
+  declarations: [
+    MenuComponent,
+    MenuGroupComponent,
+    MenuTriggerComponent,
+    MenuItemComponent,
+  ],
+  exports: [
+    MenuComponent,
+    MenuGroupComponent,
+    MenuTriggerComponent,
+    MenuItemComponent,
+  ],
+})
+export class SfngMenuModule { }
diff --git a/desktop/angular/src/app/shared/menu/menu.ts b/desktop/angular/src/app/shared/menu/menu.ts
new file mode 100644
index 00000000..f5467921
--- /dev/null
+++ b/desktop/angular/src/app/shared/menu/menu.ts
@@ -0,0 +1,111 @@
+import { coerceBooleanProperty } from '@angular/cdk/coercion';
+import { CdkOverlayOrigin } from '@angular/cdk/overlay';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, EventEmitter, HostBinding, HostListener, Input, Output, QueryList, ViewChild } from '@angular/core';
+import { SfngDropdownComponent } from '@safing/ui';
+
+@Component({
+  selector: 'app-menu-trigger',
+  templateUrl: './menu-trigger.html',
+  styleUrls: ['./menu-trigger.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class MenuTriggerComponent {
+  @ViewChild(CdkOverlayOrigin, { static: true })
+  origin!: CdkOverlayOrigin;
+
+  @Input()
+  menu: MenuComponent | null = null;
+
+  @Input()
+  set useContent(v: any) {
+    this._useContent = coerceBooleanProperty(v);
+  }
+  get useContent() { return this._useContent; }
+  private _useContent: boolean = false;
+
+  @HostBinding('class.active')
+  get isOpen() {
+    if (!this.menu) {
+      return false;
+    }
+
+    return this.menu.dropdown.isOpen;
+  }
+
+  constructor(
+    public changeDetectorRef: ChangeDetectorRef,
+  ) { }
+
+  toggle(event: MouseEvent) {
+    event.preventDefault();
+    event.stopPropagation();
+
+    this.menu?.dropdown.toggle(this.origin)
+  }
+}
+
+@Component({
+  selector: 'app-menu-item',
+  template: '<ng-content></ng-content>',
+  styleUrls: ['./menu-item.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class MenuItemComponent {
+  @Input()
+  @HostBinding('class.disabled')
+  set disabled(v: any) {
+    this._disabled = coerceBooleanProperty(v);
+  }
+  get disabled() { return this._disabled; }
+  private _disabled: boolean = false;
+
+  @HostListener('click', ['$event'])
+  closeMenu(event: MouseEvent) {
+    if (this.disabled) {
+      return;
+    }
+    this.activate.next(event);
+    this.menu.dropdown.close();
+  }
+
+  /**
+   * activate fires when the menu item is clicked.
+   * Use activate rather than (click)="" if you want
+   * [disabled] to be considered.
+   */
+  @Output()
+  activate = new EventEmitter<MouseEvent>();
+
+  constructor(private menu: MenuComponent) { }
+}
+
+@Component({
+  selector: 'app-menu-group',
+  template: '<ng-content></ng-content>',
+  styleUrls: ['./menu-group.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class MenuGroupComponent { }
+
+@Component({
+  selector: 'app-menu',
+  exportAs: 'appMenu',
+  templateUrl: './menu.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class MenuComponent {
+  @ContentChildren(MenuItemComponent)
+  items: QueryList<MenuItemComponent> | null = null;
+
+  @ViewChild(SfngDropdownComponent, { static: true })
+  dropdown!: SfngDropdownComponent;
+
+  @Input()
+  offsetY?: string | number;
+
+  @Input()
+  offsetX?: string | number;
+
+  @Input()
+  overlayClass?: string;
+}
diff --git a/desktop/angular/src/app/shared/multi-switch/index.ts b/desktop/angular/src/app/shared/multi-switch/index.ts
new file mode 100644
index 00000000..6009e482
--- /dev/null
+++ b/desktop/angular/src/app/shared/multi-switch/index.ts
@@ -0,0 +1,3 @@
+export { MultiSwitchComponent } from './multi-switch';
+export { SwitchItemComponent } from './switch-item';
+export * from './multi-switch.module';
diff --git a/desktop/angular/src/app/shared/multi-switch/multi-switch.html b/desktop/angular/src/app/shared/multi-switch/multi-switch.html
new file mode 100644
index 00000000..6af6d004
--- /dev/null
+++ b/desktop/angular/src/app/shared/multi-switch/multi-switch.html
@@ -0,0 +1,5 @@
+<div class="buttons">
+  <ng-content></ng-content>
+  <sfng-tipup style="margin-left: 1rem;" *ngIf="!!tipUpKey" [key]="tipUpKey" [anchor]="host"></sfng-tipup>
+</div>
+<span #marker class="marker" (mousedown)="dragStarted($event)"></span>
diff --git a/desktop/angular/src/app/shared/multi-switch/multi-switch.module.ts b/desktop/angular/src/app/shared/multi-switch/multi-switch.module.ts
new file mode 100644
index 00000000..a3404d52
--- /dev/null
+++ b/desktop/angular/src/app/shared/multi-switch/multi-switch.module.ts
@@ -0,0 +1,26 @@
+import { DragDropModule } from "@angular/cdk/drag-drop";
+import { CommonModule } from "@angular/common";
+import { NgModule } from "@angular/core";
+import { FormsModule } from "@angular/forms";
+import { SfngTipUpModule, SfngTooltipModule } from "@safing/ui";
+import { MultiSwitchComponent } from "./multi-switch";
+import { SwitchItemComponent } from "./switch-item";
+
+@NgModule({
+  imports: [
+    CommonModule,
+    FormsModule,
+    SfngTooltipModule,
+    SfngTipUpModule,
+    DragDropModule,
+  ],
+  declarations: [
+    MultiSwitchComponent,
+    SwitchItemComponent,
+  ],
+  exports: [
+    MultiSwitchComponent,
+    SwitchItemComponent,
+  ],
+})
+export class SfngMultiSwitchModule { }
diff --git a/desktop/angular/src/app/shared/multi-switch/multi-switch.scss b/desktop/angular/src/app/shared/multi-switch/multi-switch.scss
new file mode 100644
index 00000000..6b96e2f3
--- /dev/null
+++ b/desktop/angular/src/app/shared/multi-switch/multi-switch.scss
@@ -0,0 +1,46 @@
+.buttons {
+  display: flex;
+  align-items: flex-end;
+  position: relative;
+  height: 3rem;
+  flex-grow: 0;
+  width: fit-content;
+
+  fa-icon[icon*="question-circle"] {
+    height: 100%;
+    display: flex;
+    align-items: center;
+    margin-left: 1rem;
+  }
+}
+
+.marker {
+  display: block;
+  height: 16px;
+  width: 16px;
+  position: absolute;
+  bottom: -8px;
+  cursor: grab;
+  transition: all .5s cubic-bezier(0.175, 0.885, 0.32, 1.075);
+  @apply rounded-full;
+}
+
+:host {
+  flex-grow: 0;
+  width: fit-content;
+  display: block;
+  outline: none;
+  user-select: none;
+
+  &.disabled {
+    .marker {
+      cursor: unset;
+    }
+  }
+
+  &.grabbing {
+    .marker {
+      cursor: grabbing;
+    }
+  }
+}
diff --git a/desktop/angular/src/app/shared/multi-switch/multi-switch.ts b/desktop/angular/src/app/shared/multi-switch/multi-switch.ts
new file mode 100644
index 00000000..2726427c
--- /dev/null
+++ b/desktop/angular/src/app/shared/multi-switch/multi-switch.ts
@@ -0,0 +1,370 @@
+import { ListKeyManager } from '@angular/cdk/a11y';
+import { coerceBooleanProperty } from '@angular/cdk/coercion';
+import { DOCUMENT } from '@angular/common';
+import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, forwardRef, HostBinding, HostListener, Inject, Input, NgZone, OnDestroy, Output, QueryList, Renderer2, ViewChild } from '@angular/core';
+import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
+import { animationFrameScheduler, fromEvent, Subscription } from 'rxjs';
+import { map, startWith, subscribeOn, take, takeUntil } from 'rxjs/operators';
+import { SwitchItemComponent } from './switch-item';
+
+@Component({
+  selector: 'app-multi-switch',
+  templateUrl: './multi-switch.html',
+  styleUrls: ['./multi-switch.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  providers: [
+    {
+      provide: NG_VALUE_ACCESSOR,
+      useExisting: forwardRef(() => MultiSwitchComponent),
+      multi: true,
+    }
+  ]
+})
+export class MultiSwitchComponent<T> implements OnDestroy, AfterViewInit, ControlValueAccessor {
+  /** Subscription to all button-select changes */
+  private sub = Subscription.EMPTY;
+
+  /** Holds the current x-translation offset for the marker */
+  private markerOffset: number = 0;
+
+  /** Keymanager used for keyboard navigation support */
+  private keyManager: ListKeyManager<SwitchItemComponent<T>> | null = null;
+
+  /** Subscription to the key manager */
+  private keyManagerSub = Subscription.EMPTY;
+
+  @Input()
+  tipUpKey: string = '';
+
+  /** All buttons projected into the multi-switch */
+  @ContentChildren(SwitchItemComponent)
+  buttons: QueryList<SwitchItemComponent<T>> | null = null;
+
+  /** Emits whenever the selected button changes. */
+  @Output()
+  changed = new EventEmitter<T>();
+
+  /** Reference to the marker inside our view container */
+  @ViewChild('marker', { read: ElementRef, static: true })
+  marker: ElementRef | null = null;
+
+  @HostListener('blur')
+  onBlur() {
+    this._onTouch();
+  }
+
+  @HostBinding('attr.tabindex')
+  readonly tabindex = 0;
+
+  @HostListener('keyup', ['$event'])
+  onKeyUp(event: KeyboardEvent) {
+    if (this.disabled) {
+      return;
+    }
+    this.keyManager!.onKeydown(event);
+  }
+
+  /** Whether or not the switch button component is disabled */
+  @Input()
+  @HostBinding('class.disabled')
+  set disabled(v: any) {
+    this._disabled = coerceBooleanProperty(v);
+
+    // Update all buttons states as well.
+    if (!!this.buttons) {
+      this.buttons.forEach(btn => btn.disabled = this.disabled);
+    }
+  }
+  get disabled() { return this._disabled; }
+  private _disabled = false;
+
+  @HostBinding('class.grabbing')
+  isGrabbing = false;
+
+  /** External write tracks calls to writeValue so we don't end up re-emitting the values. */
+  private externalWrite = false;
+
+  /** Which button is currently active (and holds the marker) */
+  activeButton: T | null = null;
+
+  constructor(
+    public host: ElementRef,
+    private changeDetectorRef: ChangeDetectorRef,
+    private renderer: Renderer2,
+    private ngZone: NgZone,
+    @Inject(DOCUMENT) private document: Document,
+  ) { }
+
+  /** Registeres the change callback. Required for ControlValueAccessor */
+  registerOnChange(fn: (v: T) => void) {
+    this._onChange = fn;
+  }
+  private _onChange: (value: T) => void = () => { }
+
+  /** Registers the touch callback. Required for ControlValueAccessor */
+  registerOnTouched(fn: () => void) {
+    this._onTouch = fn;
+  }
+  private _onTouch: () => void = () => { };
+
+  /** Disable or enable the button. Required for ControlValueAccessor */
+  setDisabledState(disabled: boolean) {
+    this.disabled = disabled;
+  }
+
+  /** Writes a new value for the multi-line switch */
+  writeValue(value: T) {
+    this.activeButton = value;
+    if (!!this.buttons) {
+      // Set externalWrite to true while we iterate the buttons
+      // and eventually call `setActiveItem` so we don't re-emit
+      // the active item once the keyManager publishes the change
+      // to use.
+      // This workaround is required as we need to inform the
+      // keyManager about the new active item. Otherwise it would
+      // work with a stale internal state the next time the user
+      // uses the keyboard.
+      this.externalWrite = true;
+      this.buttons.forEach(btn => {
+        if (btn.id === value) {
+          this.keyManager!.setActiveItem(btn);
+          this.repositionMarker(btn);
+        }
+      })
+      this.externalWrite = false;
+    }
+  }
+
+  ngAfterViewInit() {
+    if (!this.buttons) {
+      return;
+    }
+
+    this.keyManager = new ListKeyManager(this.buttons)
+      .withHorizontalOrientation('ltr')
+      .withTypeAhead()
+      .withWrap();
+
+    this.keyManagerSub = this.keyManager.change
+      .subscribe(activeIndex => {
+        const active = Array.from(this.buttons!)[activeIndex];
+        this.selectButton(active, !this.externalWrite);
+      });
+
+    // Subscribe to all (clicked) and (selectedChange) events of
+    // all buttons projected into our content.
+    this.buttons.changes
+      .pipe(startWith(null))
+      .subscribe(() => {
+        this.sub.unsubscribe();
+        this.sub = new Subscription();
+
+        this.buttons!.forEach(btn => {
+          btn.disabled = this.disabled;
+          this.sub.add(
+            btn.clicked.subscribe((e: MouseEvent) => {
+              this.keyManager!.setActiveItem(btn);
+            })
+          );
+        });
+
+        // wait until the zone and change-detection stabilizes and
+        // reposition the marker afterwards. Doing it right now will
+        // likely position it wrongly since the DOM has not yet been
+        // fully updated.
+        this.ngZone.onStable.pipe(take(1))
+          .subscribe(() => this.repositionMarker())
+      });
+
+    this.buttons.forEach(btn => {
+      if (this.activeButton === btn.id) {
+        btn.selected = true;
+      }
+    })
+
+    this.repositionMarker();
+  }
+
+  ngOnDestroy() {
+    this.sub.unsubscribe();
+    this.keyManagerSub.unsubscribe();
+  }
+
+  /** Selects a new button and deselects all others. */
+  private selectButton(btn: SwitchItemComponent<T>, emit = true) {
+    if (this.disabled) {
+      return;
+    }
+
+    this.activeButton = btn.id;
+
+    if (emit) {
+      this.changed.next(btn.id!);
+      this._onChange(btn.id!);
+    }
+
+    this.repositionMarker(btn);
+  }
+
+  /** @private View-callback for (mousedown) to start dragging the marker. */
+  dragStarted(event: MouseEvent) {
+    if (this.disabled) {
+      return;
+    }
+
+    this.isGrabbing = true;
+    this.renderer.addClass(this.document.getElementsByTagName("body")[0], 'document-grabbing');
+
+    const mousemove$ = fromEvent<MouseEvent>(this.document, 'mousemove');
+    const hostRect = this.host.nativeElement.getBoundingClientRect();
+    const start = this.markerOffset;
+    const markerWidth = this.marker!.nativeElement.getBoundingClientRect().width;
+
+    // we don't want angular to run change detection all the time we move a pixel
+    // so detach the change-detector for now.
+    this.changeDetectorRef.detach();
+
+    mousemove$
+      .pipe(
+        map(move => {
+          move.preventDefault();
+          return move.clientX - event.clientX;
+        }),
+        takeUntil(fromEvent(document, 'mouseup')),
+        subscribeOn(animationFrameScheduler)
+      )
+      .subscribe({
+        next: diff => {
+          // clip the new offset inside our host-view.
+          let offset = start + diff;
+          if (offset < 0) {
+            offset = 0;
+          } else if (offset > hostRect.width) {
+            offset = hostRect.width;
+          }
+
+          // center the marker at the mouse position.
+          offset -= Math.round(markerWidth / 2);
+
+          this.markerOffset = offset;
+          this.updatePosition(offset);
+
+          let foundTarget = false;
+          let target = this.findTargetButton(offset);
+
+          if (!!target) {
+            this.marker!.nativeElement.style.backgroundColor = target.borderColorActive;
+
+            this.buttons!.forEach(btn => {
+              if (!foundTarget && btn.group === target!.group) {
+                this.renderer.addClass(btn.elementRef.nativeElement, 'selected');
+                btn.elementRef.nativeElement.style.borderColor = btn.borderColorActive;
+              } else {
+                this.renderer.removeClass(btn.elementRef.nativeElement, 'selected');
+                btn.elementRef.nativeElement.style.borderColor = btn.borderColorInactive;
+              }
+
+              if (target === btn) {
+                foundTarget = true;
+              }
+            });
+          }
+        },
+        complete: () => {
+          this.changeDetectorRef.reattach();
+          this.markerDropped();
+
+          // make sure we don't keep the selected class on buttons that
+          // are not selected anymore.
+          this.buttons!.forEach(btn => {
+            if (!btn.selected) {
+              this.renderer.removeClass(btn.elementRef.nativeElement, 'selected');
+              btn.elementRef.nativeElement.style.borderColor = btn.borderColorInactive;
+            }
+          });
+
+          this.isGrabbing = false;
+          this.renderer.removeClass(this.document.getElementsByTagName("body")[0], 'document-grabbing');
+        }
+      });
+  }
+
+  /** Update the markers position by applying a translate3d */
+  private updatePosition(x: number) {
+    this.marker!.nativeElement.style.transform = `translate3d(${x}px, 0px, 0px)`;
+  }
+
+  /** Find the button item that is below x */
+  private findTargetButton(x: number, cb?: (item: SwitchItemComponent<T>, target: boolean) => void): SwitchItemComponent<T> | null {
+    const host = this.host.nativeElement.getBoundingClientRect();
+    let newButton: SwitchItemComponent<T> | null = null;
+    this.buttons?.forEach(btn => {
+      const btnRect = btn.elementRef.nativeElement.getBoundingClientRect();
+      const min = btnRect.x - host.x;
+      const max = min + btnRect.width;
+
+      if (x >= min && x <= max) {
+        newButton = btn;
+
+        if (!!cb) {
+          cb(btn, true);
+        }
+      } else if (!!cb) {
+        cb(btn, false);
+      }
+    });
+
+    return newButton;
+  }
+
+  /** Calculates which button should be activated based on the drop-position of the marker */
+  private markerDropped() {
+    let newButton = this.findTargetButton(this.markerOffset);
+
+    if (!newButton) {
+      newButton = Array.from(this.buttons!)[0];
+    }
+
+    if (!!newButton) {
+      this.keyManager!.setActiveItem(newButton);
+    }
+  }
+
+  /**
+   * Calculates the new position required to center the
+   * marker at the currently selected button.
+   * If `selected` is unset the last button with selected == true is
+   * used.
+   *
+   * @param selected The switch item button to select (optional).
+   */
+  private repositionMarker(selected: SwitchItemComponent<T> | null = null) {
+    // If there's no selected button given search for the last one that
+    // matches selected === true.
+    if (selected === null) {
+      this.buttons?.forEach(btn => {
+        if (btn.selected) {
+          selected = btn;
+        }
+      });
+    }
+
+    // There's not button selected so we move the marker back to the
+    // start.
+    if (selected === null) {
+      this.markerOffset = 0;
+      this.updatePosition(0);
+      return;
+    }
+
+    // Calculate and reposition the marker.
+    const offsetLeft = selected!.elementRef.nativeElement.offsetLeft;
+    const clientWidth = selected!.elementRef.nativeElement.clientWidth;
+
+    this.markerOffset = Math.round(offsetLeft - 8 + clientWidth / 2);
+    this.marker!.nativeElement.style.backgroundColor = selected.borderColorActive;
+
+    this.updatePosition(this.markerOffset);
+    this.changeDetectorRef.markForCheck();
+  }
+}
diff --git a/desktop/angular/src/app/shared/multi-switch/switch-item.scss b/desktop/angular/src/app/shared/multi-switch/switch-item.scss
new file mode 100644
index 00000000..da737c13
--- /dev/null
+++ b/desktop/angular/src/app/shared/multi-switch/switch-item.scss
@@ -0,0 +1,35 @@
+:host {
+  display        : flex;
+  align-items    : center;
+  justify-content: center;
+  width          : 6rem;
+  height         : 2.7rem;
+  position       : relative;
+  bottom         : 0;
+  transition     : all .3s cubic-bezier(0.075, 0.82, 0.165, 1);
+
+  @apply bg-buttons-dark;
+
+  @apply border-b-2;
+
+  &.selected {
+    @apply bg-buttons-light;
+    height: 3rem;
+  }
+
+  &:not(.disabled) {
+    cursor: pointer;
+
+    &:hover {
+      @apply bg-buttons-light;
+    }
+  }
+
+  &:first-of-type {
+    @apply rounded-tl;
+  }
+
+  &:last-of-type {
+    @apply rounded-tr;
+  }
+}
diff --git a/desktop/angular/src/app/shared/multi-switch/switch-item.ts b/desktop/angular/src/app/shared/multi-switch/switch-item.ts
new file mode 100644
index 00000000..f70f3a2f
--- /dev/null
+++ b/desktop/angular/src/app/shared/multi-switch/switch-item.ts
@@ -0,0 +1,80 @@
+import { Component, ChangeDetectionStrategy, Input, isDevMode, OnInit, HostBinding, Output, EventEmitter, HostListener, ElementRef, ChangeDetectorRef } from '@angular/core';
+import { coerceBooleanProperty } from '@angular/cdk/coercion';
+
+@Component({
+  selector: 'app-switch-item',
+  template: '<ng-content></ng-content>',
+  styleUrls: ['./switch-item.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class SwitchItemComponent<T> implements OnInit {
+  @Input()
+  id: T | null = null;
+
+  @Input()
+  group = '';
+
+  @Output()
+  clicked = new EventEmitter<MouseEvent>();
+
+  @HostListener('click', ['$event'])
+  onClick(e: MouseEvent) {
+    this.clicked.next(e);
+  }
+
+  @Input()
+  borderColorActive: string = 'var(--info-green)';
+
+  @Input()
+  borderColorInactive: string = 'var(--button-light)';
+
+  @HostBinding('style.border-color')
+  get borderColor() {
+    if (this.selected) {
+      return this.borderColorActive;
+    }
+    return this.borderColorInactive;
+  }
+
+  @Input()
+  @HostBinding('class.disabled')
+  set disabled(v: any) {
+    this._disabled = coerceBooleanProperty(v);
+  }
+  get disabled() {
+    return this._disabled;
+  }
+  private _disabled = false;
+
+  @Input()
+  @HostBinding('class.selected')
+  set selected(v: any) {
+    const selected = coerceBooleanProperty(v);
+    if (selected !== this._selected) {
+      this._selected = selected;
+      this.selectedChange.next(selected);
+    }
+  }
+  get selected() {
+    return this._selected;
+  }
+  private _selected = false;
+
+  getLabel() {
+    return this.elementRef.nativeElement.innerText;
+  }
+
+  @Output()
+  selectedChange = new EventEmitter<boolean>();
+
+  ngOnInit() {
+    if (this.id === null && isDevMode()) {
+      throw new Error(`SwitchItemComponent must have an ID`);
+    }
+  }
+
+  constructor(
+    public readonly elementRef: ElementRef,
+    public readonly changeDetectorRef: ChangeDetectorRef,
+  ) { }
+}
diff --git a/desktop/angular/src/app/shared/netquery/.eslintrc.json b/desktop/angular/src/app/shared/netquery/.eslintrc.json
new file mode 100644
index 00000000..5ac41541
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/.eslintrc.json
@@ -0,0 +1,44 @@
+{
+  "extends": "../../../../.eslintrc.json",
+  "ignorePatterns": [
+    "!**/*"
+  ],
+  "overrides": [
+    {
+      "files": [
+        "*.ts"
+      ],
+      "parserOptions": {
+        "project": [
+          "projects/safing/ui/tsconfig.lib.json",
+          "projects/safing/ui/tsconfig.spec.json"
+        ],
+        "createDefaultProgram": true
+      },
+      "rules": {
+        "@angular-eslint/directive-selector": [
+          "error",
+          {
+            "type": "attribute",
+            "prefix": "sfng",
+            "style": "camelCase"
+          }
+        ],
+        "@angular-eslint/component-selector": [
+          "error",
+          {
+            "type": "element",
+            "prefix": "sfng",
+            "style": "kebab-case"
+          }
+        ]
+      }
+    },
+    {
+      "files": [
+        "*.html"
+      ],
+      "rules": {}
+    }
+  ]
+}
diff --git a/desktop/angular/src/app/shared/netquery/add-to-filter/add-to-filter.ts b/desktop/angular/src/app/shared/netquery/add-to-filter/add-to-filter.ts
new file mode 100644
index 00000000..f87d4910
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/add-to-filter/add-to-filter.ts
@@ -0,0 +1,93 @@
+import { ChangeDetectorRef, Directive, HostBinding, HostListener, Input, OnDestroy, OnInit, inject } from "@angular/core";
+import { NetqueryConnection } from "@safing/portmaster-api";
+import { Subscription, combineLatest } from "rxjs";
+import { ActionIndicatorService } from "../../action-indicator";
+import { NetqueryHelper } from "../connection-helper.service";
+import { INTEGRATION_SERVICE } from "src/app/integration";
+
+@Directive({
+  selector: '[sfngAddToFilter]'
+})
+export class SfngNetqueryAddToFilterDirective implements OnInit, OnDestroy {
+  private subscription = Subscription.EMPTY;
+  private readonly integration = inject(INTEGRATION_SERVICE);
+
+  @Input('sfngAddToFilter')
+  key: keyof NetqueryConnection | null = null;
+
+  @Input('sfngAddToFilterValue')
+  set value(v: any | any[]) {
+    if (!Array.isArray(v)) {
+      v = [v]
+    }
+    this._values = v;
+  }
+  private _values: any[] = [];
+
+  @HostListener('click', ['$event'])
+  onClick(evt: MouseEvent) {
+    if (!this.key) {
+      return
+    }
+
+    let prevent = false
+    if (evt.shiftKey) {
+      this.helper.addToFilter(this.key, this._values);
+      prevent = true
+    } else if (evt.ctrlKey) {
+      this.integration.writeToClipboard(this._values.join(', '))
+        .then(() => {
+          this.uai.success("Copied to clipboard", "Successfully copied " + this._values.join(", ") + " to your clipboard")
+        })
+        .catch(err => {
+          this.uai.error("Failed to copy to clipboard", this.uai.getErrorMessgae(err))
+        })
+
+      prevent = true
+    }
+
+    if (prevent) {
+      evt.preventDefault();
+      evt.stopPropagation();
+    }
+  }
+
+  @HostBinding('class.border-dashed')
+  @HostBinding('class.border-gray-500')
+  @HostBinding('class.hover:border-gray-700')
+  readonly _styleHost = true;
+
+  @HostBinding('class.cursor-pointer')
+  @HostBinding('class.hover:cursor-pointer')
+  @HostBinding('class.border-b')
+  @HostBinding('class.select-none')
+  get shouldHiglight() {
+    return this.isShiftKeyPressed || this.isCtrlKeyPressed
+  }
+
+  isShiftKeyPressed = false;
+  isCtrlKeyPressed = false;
+
+  constructor(
+    private helper: NetqueryHelper,
+    private uai: ActionIndicatorService,
+    private cdr: ChangeDetectorRef,
+  ) { }
+
+  ngOnInit(): void {
+    this.subscription = combineLatest([this.helper.onShiftKey, this.helper.onCtrlKey])
+      .subscribe(([isShiftKeyPressed, isCtrlKeyPressed]) => {
+        if (!this.key) {
+          return;
+        }
+
+        this.isShiftKeyPressed = isShiftKeyPressed;
+        this.isCtrlKeyPressed = isCtrlKeyPressed;
+        this.cdr.markForCheck();
+      })
+  }
+
+  ngOnDestroy(): void {
+    this.subscription.unsubscribe();
+  }
+}
diff --git a/desktop/angular/src/app/shared/netquery/add-to-filter/index.ts b/desktop/angular/src/app/shared/netquery/add-to-filter/index.ts
new file mode 100644
index 00000000..1dfab44f
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/add-to-filter/index.ts
@@ -0,0 +1 @@
+export * from './add-to-filter';
diff --git a/desktop/angular/src/app/shared/netquery/circular-bar-chart/circular-bar-chart.component.ts b/desktop/angular/src/app/shared/netquery/circular-bar-chart/circular-bar-chart.component.ts
new file mode 100644
index 00000000..f2b736d9
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/circular-bar-chart/circular-bar-chart.component.ts
@@ -0,0 +1,358 @@
+import { AfterViewInit, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, Input, OnInit, inject } from '@angular/core';
+import { QueryResult } from '@safing/portmaster-api';
+import * as d3 from 'd3';
+
+export interface CircularBarChartConfig<T> {
+  // stack either holds the attribute name or an accessor function
+  // to determine which serieses belong to the same stack.
+  stack: keyof T | ((d: T) => string);
+
+  // series either holds the attribute name of the key or an accessor function.
+  seriesKey: keyof T | ((d: T) => string);
+
+  seriesLabel?: (s: string) => string;
+
+  // value either holds the attribute name or an accessor function
+  // to get the value of the series.
+  value: keyof T | ((d: T) => number);
+
+  colorAsClass?: boolean;
+
+  // the actual series configuration
+  series?: {
+    [key: string]: {
+      color: string;
+    }
+  };
+
+  // The number of ticks for the y axis
+  ticks?: number;
+
+  formatTick?: (v: number) => string;
+
+  // an optional function to format the value
+  formatValue?: (stack: string, series: string, value: number, data?: T) => string;
+
+  formatStack?: (sel: d3.Selection<SVGGElement, string, SVGGElement, any>, data: T[]) => d3.Selection<any, any, any, any>;
+}
+
+
+export function splitQueryResult<T extends QueryResult, K extends keyof T>(results: T[], series: K[]): (QueryResult & { series: string, value: number })[] {
+  let mapped: (QueryResult & { series: string, value: number })[] = [];
+
+  results.forEach(row => {
+    series.forEach(seriesKey => {
+      mapped.push({
+        ...row,
+        value: row[seriesKey],
+        series: seriesKey as string,
+      })
+    })
+  })
+
+  return mapped
+}
+
+@Component({
+  selector: 'sfng-netquery-circular-bar-chart',
+  template: '',
+  changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class CircularBarChartComponent<T> implements OnInit, AfterViewInit {
+  private readonly elementRef = inject(ElementRef) as ElementRef<HTMLElement>;
+  private readonly destroyRef = inject(DestroyRef);
+
+  // D3 related members
+  private svg?: d3.Selection<SVGGElement, any, any, any>;
+  private x?: d3.ScaleBand<string>;
+  private y?: d3.ScaleRadial<any, any>;
+  private height = 0;
+  private width = 0;
+
+  @Input()
+  config: CircularBarChartConfig<T> | null = null;
+
+  @Input()
+  innerRadius?: number;
+
+  @Input()
+  set data(d: T[] | null) {
+    this._data = d || [];
+
+    this.prepareChart()
+    this.render();
+  }
+  private _data: T[] = [];
+
+  ngOnInit(): void {
+    this.prepareChart()
+    this.render()
+  }
+
+  ngAfterViewInit(): void {
+    const observer = new ResizeObserver(() => {
+      this.prepareChart()
+      this.render()
+    })
+
+    observer.observe(this.elementRef.nativeElement)
+
+    this.destroyRef.onDestroy(() => observer.disconnect())
+
+    this.prepareChart()
+    this.render();
+  }
+
+  private prepareChart() {
+    if (!!this.svg) {
+      const parent = this.svg.node()?.parentElement
+      parent?.remove()
+    }
+
+    const margin = 0.2
+    const bbox = this.elementRef.nativeElement.getBoundingClientRect();
+
+    const marginLeft = bbox.width * margin;
+    const marginTop = bbox.height * margin;
+    this.width = bbox.width - 2 * marginLeft;
+    this.height = bbox.height - 2 * marginTop;
+
+    this.svg = d3.select(this.elementRef.nativeElement)
+      .append('svg')
+      .attr('width', "100%")
+      .attr('height', "100%")
+      .append('g')
+      .attr('transform', `translate(${this.width / 2 + marginLeft}, ${this.height / 2 + marginTop})`);
+
+
+    this.x = d3.scaleBand()
+      .range([0, 2 * Math.PI])
+      .align(0);
+
+    this.y = d3.scaleRadial()
+
+    // prepare the SVGGElement that we use for rendering
+    this.svg.append("g")
+      .attr("id", "chart")
+
+    this.svg.append("g")
+      .attr("id", "text")
+
+    this.svg.append("g")
+      .attr("id", "legend")
+
+    this.svg.append("g")
+      .attr("id", "ticks")
+  }
+
+  private render() {
+    const x = this.x;
+    const y = this.y;
+
+    if (!this.svg || !x || !y) {
+      console.log("not yet ready")
+      return;
+    }
+
+    let stackName: (d: T) => string;
+    if (typeof this.config?.stack === 'function') {
+      stackName = this.config.stack;
+    } else {
+      stackName = (d: T) => {
+        return d[this.config!.stack as keyof T] + ''
+      }
+    }
+
+    let seriesKey: (d: T) => string;
+    if (typeof this.config?.seriesKey === 'function') {
+      seriesKey = this.config!.seriesKey
+    } else {
+      seriesKey = (d: T) => {
+        return d[this.config!.seriesKey as keyof T] + ''
+      }
+    }
+
+    let value: (d: T) => number;
+    if (typeof this.config?.value === 'function') {
+      value = this.config!.value
+    } else {
+      value = (d: T) => {
+        return +d[this.config!.value as keyof T]
+      }
+    }
+
+    let formatValue: Exclude<CircularBarChartConfig<T>["formatValue"], undefined> = (stack, series, value) => `${stack} ${series}\n${value}`
+    if (this.config?.formatValue) {
+      formatValue = this.config.formatValue;
+    }
+
+    // Prepare the stacked data
+    const indexed = d3.index(this._data, stackName, seriesKey)
+    const stackGenerator = d3.stack<[string, d3.InternMap<string, T>]>()
+      .keys(d3.union(this._data.map(seriesKey)))
+      .value((data, key) => {
+        const obj = data[1].get(key)
+        if (obj === undefined) {
+          return 0
+        }
+
+        return value(obj);
+      })
+
+    const series = stackGenerator(indexed)
+
+    // Prepare the x domain
+    const labels = new Set<string>();
+    this._data.forEach(d => labels.add(stackName(d)));
+    this.x!.domain(Array.from(labels))
+      .range([0, 2 * Math.PI])
+      .align(0);
+
+    const innerRadius = this.innerRadius || (() => {
+      return (series.length * 25) + 20
+    })()
+
+    // Prepare the x domain
+    const outerRadius = Math.min(this.width, this.height) / 2;
+    const highest = d3.max(series, point => d3.max(point, point => point[1])!)!
+    this.y!.domain([0, highest])
+      .range([innerRadius, outerRadius]);
+
+
+    const arc = d3.arc()
+      .innerRadius((d: any) => y(d[0]))
+      .outerRadius((d: any) => y(d[1]))
+      .startAngle((d: any) => x(d.data[0])!)
+      .endAngle((d: any) => x(d.data[0])! + x.bandwidth())
+      .padAngle(0.01)
+      .padRadius(innerRadius)
+
+    let color: (key: string) => string;
+
+    if (!this.config?.series) {
+      const colorScale: d3.ScaleOrdinal<string, any, any> = d3.scaleOrdinal()
+        .domain(series.map(d => d.key))
+        .range(d3.schemeSpectral)
+        .unknown("#ccc")
+
+      color = key => colorScale(key);
+    } else {
+      color = key => this.config!.series![key].color
+    }
+
+    this.svg.select("g#chart")
+      .selectAll()
+      .data(series)
+      .join("g")
+      .call(g => {
+        if (this.config?.colorAsClass) {
+          g.attr("fill", "currentColor")
+            .attr("class", d => color(d.key))
+        } else {
+          g.attr("fill", d => color(d.key))
+        }
+      })
+      .selectAll("path")
+      .data(D => D.map(d => ((d as any).key = D.key, d)))
+      .join("path")
+      .attr("d", arc as any)
+      .append("title")
+      .text(d => {
+        const stack = d.data[0]
+        const series = (d as any).key
+        const data = d.data[1].get(series);
+        const seriesValue = data ? value(data) : 0;
+
+        return formatValue(stack, series, seriesValue, data);
+      })
+
+    const sumPerLabel = this._data.reduce((map, current) => {
+      const stack = stackName(current)
+      let sum = map.get(stack) || 0
+      sum += value(current)
+      map.set(stack, sum)
+
+      return map
+    }, new Map<string, number>());
+
+    this.svg.select("g#text")
+      .attr("text-anchor", "middle")
+      .selectAll()
+      .data(x.domain())
+      .join("g")
+      .attr("text-anchor", d => (x(d)! + x.bandwidth() / 2 + Math.PI) % (2 * Math.PI) < Math.PI ? "end" : "start")
+      .attr("transform", d => "rotate(" + ((x(d)! + this.x!.bandwidth() / 2) * 180 / Math.PI - 90) + ")" + "translate(" + (y(sumPerLabel.get(d)!) + 10) + ",0)")
+      .append("g")
+      .attr("transform", d => (x(d)! + x.bandwidth() / 2 + Math.PI) % (2 * Math.PI) < Math.PI ? "rotate(180)" : "rotate(0)")
+      .style("font-size", "11px")
+      .attr("alignment-baseline", "middle")
+      .attr("fill", "currentColor")
+      .attr("class", "text-primary cursor-pointer")
+      .on("mouseenter", function (data) {
+        d3.select(this)
+          .classed("underline", true)
+      })
+      .on("mouseleave", function (data) {
+        d3.select(this)
+          .classed("underline", false)
+      })
+      .call(g => {
+        if (!this.config?.formatStack) {
+          return g.append("text")
+            .text(d => `${d}`)
+        }
+
+        return this.config.formatStack(g as any, this._data)
+      })
+
+    // y axis
+    const tickCount = this.config?.ticks || Math.floor((outerRadius - innerRadius) / 20)
+    const tickFormat = this.config?.formatTick || y.tickFormat(tickCount, "s")
+    this.svg.select("g#ticks")
+      .attr("text-anchor", "middle")
+      .selectAll("g")
+      .data(y.ticks(tickCount).slice(1))
+      .join("g")
+      .attr("fill", "none")
+      .call(g => g.append("circle")
+        .attr("stroke", "#fff")
+        .attr("stroke-opacity", 0.25)
+        .attr("r", y))
+      .call(g => g.append("text")
+        .style("font-size", "0.6rem")
+        .attr("y", d => -y(d))
+        .attr("dy", "0.35em")
+        .attr("fill", "currentColor")
+        .attr("class", "text-secondary")
+        .text(tickFormat))
+
+    // color legend
+    this.svg.select("g#legend")
+      .selectAll()
+      .data(series.map(s => s.key))
+      .join("g")
+      .attr("transform", (d, i, nodes) => `translate(-40,${(nodes.length / 2 - i - 1) * 20})`)
+      .call(g => g.append("circle")
+        .attr("r", 5)
+        .call(g => {
+          if (this.config?.colorAsClass) {
+            g.attr("fill", "currentColor")
+              .attr("class", d => color(d))
+          } else {
+            g.attr("fill", d => color(d))
+          }
+        }))
+      .call(g => g.append("text")
+        .attr("x", 12)
+        .attr("y", 4)
+        .attr("font-size", "0.6rem")
+        .attr("fill", "#fff")
+        .text(d => {
+          if (!!this.config?.seriesLabel) {
+            return this.config.seriesLabel(d)
+          }
+
+          return d
+        }));
+  }
+}
diff --git a/desktop/angular/src/app/shared/netquery/combined-menu.pipe.ts b/desktop/angular/src/app/shared/netquery/combined-menu.pipe.ts
new file mode 100644
index 00000000..610e15a1
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/combined-menu.pipe.ts
@@ -0,0 +1,16 @@
+import { KeyValue } from '@angular/common';
+import { Pipe, PipeTransform } from "@angular/core";
+
+interface Model {
+  visible: boolean | 'combinedMenu';
+}
+
+@Pipe({
+  pure: true,
+  name: 'combinedMenu'
+})
+export class CombinedMenuPipe implements PipeTransform {
+  transform<T extends Model>(value: KeyValue<any, T | undefined>[], ...args: any[]) {
+    return value.filter(entry => entry.value?.visible === 'combinedMenu')
+  }
+}
diff --git a/desktop/angular/src/app/shared/netquery/connection-details/conn-details.html b/desktop/angular/src/app/shared/netquery/connection-details/conn-details.html
new file mode 100644
index 00000000..80d604f6
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/connection-details/conn-details.html
@@ -0,0 +1,322 @@
+<section *ngIf="conn">
+  <div>
+    <span sfngAddToFilter="started" [sfngAddToFilterValue]="conn.started">
+      <span>Started:</span>
+      <span>
+        {{ conn.started | date:'medium'}}
+      </span>
+    </span>
+
+    <span sfngAddToFilter="ended" [sfngAddToFilterValue]="conn.ended">
+      <span>Ended:</span>
+      <span *ngIf="conn.ended">
+        {{ conn.ended | date:'medium'}}
+      </span>
+      <span *ngIf="!conn.ended">
+        <fa-icon icon="spinner" [spin]="true"></fa-icon>
+      </span>
+    </span>
+
+    <span *ngIf="conn.ended">
+      <span>Duration:</span>
+      <span >
+        {{ [conn.ended, conn.started] | duration }}
+      </span>
+    </span>
+
+    <span *appExpertiseLevel="'developer'" sfngAddToFilter="profile_revision"
+      [sfngAddToFilterValue]="conn.profile_revision">
+      <span>Profile Revision:</span>
+      <span>
+        {{ conn.profile_revision }}
+      </span>
+    </span>
+
+    <span *appExpertiseLevel="'developer'">
+      <span>Connection ID:</span>
+      <span>
+        {{ conn.id }}
+      </span>
+    </span>
+
+    <span *appExpertiseLevel="'expert'" sfngAddToFilter="verdict" [sfngAddToFilterValue]="conn.verdict">
+      <span>Verdict:</span>
+      <span>
+        {{ verdict[conn.verdict] || 'N/A' }}
+      </span>
+    </span>
+
+    <span *appExpertiseLevel="'developer'" sfngAddToFilter="internal" [sfngAddToFilterValue]="conn.internal">
+      <span>Internal Connection:</span>
+      <span>
+        {{ conn.internal ? 'Yes' : 'No' }}
+      </span>
+    </span>
+
+    <span *appExpertiseLevel="'expert'" sfngAddToFilter="local_ip" [sfngAddToFilterValue]="conn.local_ip">
+      <span>Local Address:</span>
+      <span>
+        {{ conn.local_ip }}
+        <span *ngIf="conn.local_port" class="text-tertiary">{{ ':'+conn.local_port }}</span>
+      </span>
+    </span>
+  </div>
+
+  <div *ngIf="conn.type === 'ip'; else: dnsTemplate">
+    <span sfngAddToFilter="direction" [sfngAddToFilterValue]="conn.direction">
+      <span>Direction:</span>
+      <span>
+        <fa-icon class="inline-block mr-1 transform rotate-45" [ngClass]="{'text-gray-600': !!conn.ended}"
+          [icon]="conn.direction === 'inbound' ? 'arrow-down' : 'arrow-up'">
+        </fa-icon>
+        {{ conn.direction === 'inbound' ? 'Incoming' : 'Outgoing' }}
+      </span>
+    </span>
+    <span sfngAddToFilter="ip_protocol" [sfngAddToFilterValue]="conn.ip_protocol">
+      <span>Protocol:</span>
+      <span>{{ Protocols[conn.ip_protocol] || 'N/A' }}</span>
+    </span>
+    <span sfngAddToFilter="encrypted" [sfngAddToFilterValue]="conn.encrypted">
+      <span>Encrypted:</span>
+      <span>{{ conn.encrypted ? 'yes' : 'no' }}</span>
+    </span>
+    <span sfngAddToFilter="tunneled" [sfngAddToFilterValue]="conn.tunneled">
+      <span>SPN Protected:</span>
+      <span>{{ conn.tunneled ? 'yes' : 'no' }}</span>
+    </span>
+
+    <span *ngIf="conn.bytes_received > 0">
+      <span>Data Received:</span>
+      <span>{{ conn.bytes_received  | bytes }}</span>
+    </span>
+    <span *ngIf="conn.bytes_sent > 0">
+      <span>Data Sent:</span>
+      <span>{{ conn.bytes_sent | bytes }}</span>
+    </span>
+
+    <ng-container *ngIf="conn.extra_data?.tls as tls">
+      <span>
+        <span>TLS Version:</span>
+        <span>{{ tls.Version }}</span>
+      </span>
+      <span>
+        <span>TLS SNI:</span>
+        <span>{{ tls.SNI }}</span>
+      </span>
+      <ng-container *ngIf="!!tls.Chain">
+        <ng-container *ngIf="tls.Chain[0] as firstChain">
+          <span>
+            <span>TLS Certificate:</span>
+            <span>{{ firstChain[0].Subject }} <i class="port">by</i> {{ firstChain[0].Issuer }}</span>
+          </span>
+          <span>
+            <span>Trust-Chain</span>
+            <span>
+              <ol>
+                <li *ngFor="let cert of firstChain.slice(1)">
+                  {{ cert.Subject }} <i class="port">by</i> {{ cert.Issuer }}
+                </li>
+              </ol>
+            </span>
+          </span>
+        </ng-container>
+      </ng-container>
+    </ng-container>
+  </div>
+
+  <ng-template #dnsTemplate>
+    <div *ngIf="conn.extra_data?.dns as dns">
+      <span sfngAddToFilter="domain" [sfngAddToFilterValue]="dns.Domain">
+        <span>Domain:</span>
+        <span>{{dns.Domain}}</span>
+      </span>
+      <span>
+        <span>Query:</span>
+        <span>{{dns.Question}}</span>
+      </span>
+
+      <span>
+        <span>Response:</span>
+        <span>{{dns.RCode}}</span>
+      </span>
+
+      <span *appExpertiseLevel="'expert'">
+        <span>Served from Cache:</span>
+        <span>{{dns.ServedFromCache ? 'yes' : 'no'}}</span>
+      </span>
+
+      <span *appExpertiseLevel="'expert'">
+        <span>Expires:</span>
+        <span>{{dns.Expires | date:'medium'}}</span>
+      </span>
+    </div>
+  </ng-template>
+
+  <div *ngIf="conn.type === 'ip'">
+    <span *ngIf="conn.domain" sfngAddToFilter="domain" [sfngAddToFilterValue]="conn.domain">
+      <span>Domain:</span>
+      <sfng-netquery-scope-label leftRightFix="true" [scope]="conn.domain">
+      </sfng-netquery-scope-label>
+    </span>
+
+    <span *ngIf="!conn.domain">
+      <span>Scope:</span>
+      <ng-container [ngSwitch]="conn.scope">
+        <span *ngSwitchCase="scopes.Global">Internet Peer-to-Peer</span>
+        <span *ngSwitchCase="scopes.GlobalMulitcast">Internet Multicast</span>
+        <span *ngSwitchCase="scopes.HostLocal">Device-Local</span>
+        <span *ngSwitchCase="scopes.LinkLocal">LAN Peer-to-Peer</span>
+        <span *ngSwitchCase="scopes.LocalMulticast">LAN Multicast</span>
+        <span *ngSwitchCase="scopes.SiteLocal">LAN Peer-to-Peer</span>
+
+        <span class="text-tertiary" *ngSwitchCase="scopes.Invalid">N/A</span>
+        <span class="text-tertiary" *ngSwitchCase="scopes.Undefined">N/A</span>
+        <span class="text-tertiary" *ngSwitchDefault>N/A</span>
+      </ng-container>
+
+      <span>{{ conn.direction === 'inbound' ? ' Incoming' : ' Outgoing'}}</span>
+    </span>
+
+    <span sfngAddToFilter="remote_ip" [sfngAddToFilterValue]="conn.remote_ip">
+      <span>Remote Peer:</span>
+      <span>
+        <span *ngIf="!!conn.country" [appCountryFlags]="conn.country"></span>
+        {{ conn.remote_ip || 'DNS Request'}}
+        <span *ngIf="conn.remote_port" class="text-tertiary">{{ ':'+conn.remote_port }}</span>
+      </span>
+    </span>
+    <span sfngAddToFilter="country" [sfngAddToFilterValue]="conn.country">
+      <span>Country:</span>
+      <span>{{ conn.country || 'N/A'}}</span>
+    </span>
+    <span sfngAddToFilter="asn" [sfngAddToFilterValue]="conn.asn">
+      <span>ASN:</span>
+      <span>{{ conn.asn || 'N/A' }}</span>
+    </span>
+    <span sfngAddToFilter="as_owner" [sfngAddToFilterValue]="conn.as_owner">
+      <span>AS Org:</span>
+      <span>{{ conn.as_owner || 'N/A' }}</span>
+    </span>
+  </div>
+
+  <div class="col-span-2">
+    <span sfngAddToFilter="path" [sfngAddToFilterValue]="conn.path">
+      <span>Binary Path:</span>
+      <span class="break-normal whitespace-normal">{{ conn.path }} </span>
+    </span>
+    <span>
+      <span>Reason:</span>
+      <span class="break-normal whitespace-normal">
+        {{conn.extra_data?.reason?.Msg}}
+      </span>
+    </span>
+    <span *ngIf="conn.extra_data?.reason?.OptionKey as option">
+      <span>Applied Setting:</span>
+      <span>
+        <span>{{ helper.settings[option] || '' }}&nbsp;</span>
+        <span class="de-emphasize" style="display: inline-block; text-align: left">&nbsp;from&nbsp;{{
+            !!conn.extra_data?.reason?.Profile ? "App" :
+            "Global" }} Settings</span>
+      </span>
+    </span>
+
+    <!-- FIXME
+      <span *ngIf="conn.profile_revision !== helper.profile?.currentProfileRevision">
+        <span>Notice:</span>
+        <span>
+          The settings used for this connection have been superseded.
+        </span>
+      </span>
+      -->
+  </div>
+
+  <div *ngIf="conn.scope === scopes.Global">
+    <h3 class="text-primary text-xxs">SPN Tunnel</h3>
+    <ng-container [ngSwitch]="true">
+      <span *ngSwitchCase="!conn.tunneled" class="inline-flex items-center gap-2 text-secondary">
+        This connection has not been routed through the Safing Privacy Network.
+        <sfng-tipup key="spn"></sfng-tipup>
+      </span>
+
+      <div *ngSwitchCase="!!conn.extra_data?.tunnel" class="meta">
+        <div *ngIf="conn.extra_data?.tunnel as tunnel">
+          <span>
+            <span></span>
+            <sfng-spn-pin-route [route]="tunnel.Path"></sfng-spn-pin-route>
+          </span>
+        </div>
+        <div *appExpertiseLevel="'developer'" class="flex flex-col items-start justify-start gap-1 mt-2">
+          <span class="flex flex-row items-center gap-2">
+            <span class="text-secondary">Path Costs:</span>
+            <span>{{ conn.extra_data?.tunnel?.PathCost }}</span>
+          </span>
+          <span class="flex flex-row items-center gap-2">
+            <span class="text-secondary">Routing Algorithm:</span>
+            <span>{{ conn.extra_data?.tunnel?.RoutingAlg }}</span>
+          </span>
+        </div>
+      </div>
+
+      <span *ngSwitchDefault class="inline-flex items-center gap-2 text-secondary">
+        The connection was routed through the Safing Privacy Network, but the tunnel information is not available. Try
+        reloading the connections.
+      </span>
+    </ng-container>
+  </div>
+
+  <div *ngIf="!!bwData.length" class="col-span-3 block border-t border-gray-400 py-2">
+    <h2 class="text-secondary uppercase w-full text-center text-xxs">Data Usage</h2>
+    <sfng-netquery-line-chart class="block w-full !h-36" [data]="bwData" [config]="{
+      series: {
+        incoming: {
+          lineColor: 'text-green-300',
+          areaColor: 'text-green-200 text-opacity-50',
+        },
+        outgoing: {
+          lineColor: 'text-yellow-300',
+          areaColor: 'text-yellow-200 text-opacity-50',
+        },
+      },
+      time: {
+        from: conn.started,
+        to: conn.ended,
+      },
+      fromMargin: 5,
+      toMargin: 5,
+      valueFormat: formatBytes,
+      timeFormat: formatTime,
+      showDataPoints: true,
+      fillEmptyTicks: {
+        interval: 1
+      },
+      tooltipFormat: tooltipFormat,
+      verticalMarkers: [
+        { text: 'started', time: conn.started },
+        { text: 'ended', time: conn.ended},
+      ]
+    }"></sfng-netquery-line-chart>
+  </div>
+</section>
+
+<div class="flex justify-end border-t border-gray-300 pt-0.5 mt-0.5" *ngIf="!!conn">
+  <button *ngIf="!!process" (click)="openProcessDetails()" class="btn-outline">Process
+    Details</button>
+  <button class="btn-outline" *appExpertiseLevel="'expert'" (click)="helper.dumpConnection(conn)">Copy JSON</button>
+  <button class="btn-outline" *ngIf="(conn | isBlocked); else blockAction"
+    (click)="helper.unblockAll(conn.domain || conn.remote_ip, conn)" [disabled]="!(conn | canUseRules)">
+    Allow {{ conn.domain ? 'Domain' : 'IP'}}
+  </button>
+  <ng-template #blockAction>
+    <button class="btn-outline" (click)="helper.blockAll(conn.domain || conn.remote_ip, conn)"
+      [disabled]="!(conn | canUseRules)">
+      Block {{ conn.domain ? 'Domain' : 'IP '}}
+    </button>
+  </ng-template>
+  <button class="btn-outline" (click)="helper.redirectToSetting('', conn)" *ngIf="!!conn.extra_data?.reason?.OptionKey">
+    App Setting
+  </button>
+  <button class="btn-outline" (click)="helper.redirectToSetting(conn.extra_data!.reason!.OptionKey, conn, true)"
+    *ngIf="!!conn.extra_data?.reason?.OptionKey">
+    Global Setting
+  </button>
+</div>
diff --git a/desktop/angular/src/app/shared/netquery/connection-details/conn-details.scss b/desktop/angular/src/app/shared/netquery/connection-details/conn-details.scss
new file mode 100644
index 00000000..f850b003
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/connection-details/conn-details.scss
@@ -0,0 +1,114 @@
+:host {
+  section {
+    display: grid;
+
+    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
+
+    width: 100%;
+    overflow: hidden;
+    gap: 1.5rem;
+  }
+}
+
+section {
+  &>div {
+    @apply flex flex-col gap-2 items-start justify-start text-xxs;
+
+    &>span {
+      @apply space-x-1 text-ellipsis block overflow-hidden w-full;
+
+      &>span:first-child {
+        @apply text-secondary whitespace-nowrap;
+      }
+
+      &>span:last-child {
+        @apply whitespace-nowrap;
+      }
+    }
+  }
+}
+
+
+.tunnel-path {
+  position: relative;
+
+  .line {
+    position: absolute;
+    top: 10px;
+    bottom: 10px;
+    left: 8px;
+    width: 1px;
+    background-color: rgba(255, 255, 255, 0.1);
+  }
+
+  .node-tag {
+    border-radius: 1px solid rgba(255, 255, 255, 0.2);
+    background-color: rgba(255, 255, 255, 0.1);
+    padding: 2px;
+    font-size: 85%;
+    border-radius: 2px;
+    transform: scale(0.85);
+  }
+
+  ul {
+    position: relative;
+    padding-left: 20px;
+
+    li:not(:last-of-type) {
+      padding-bottom: 0.35rem;
+    }
+
+    .ip {
+      margin-left: 0.35rem;
+    }
+
+    .hop-icon {
+      display: inline-block;
+      margin-left: -17px;
+      margin-right: 4px;
+      font-weight: 400;
+
+      &.country {
+        margin-left: -20px;
+      }
+    }
+
+    .hop-title {
+      margin-right: 2px;
+    }
+
+    .country {
+      display: inline-block;
+      margin-left: -20px;
+      margin-right: 4px;
+
+      &.unknown {
+        height: 14px;
+        width: 16px;
+        position: relative;
+        top: 3px;
+        border: 1px solid rgba(0, 0, 0, 0.25);
+        opacity: 0.5;
+        border-radius: 3px;
+        @apply bg-buttons-icon;
+      }
+    }
+  }
+}
+
+
+@keyframes arrow_move {
+  0% {
+    top: 0%;
+    opacity: 1;
+  }
+
+  85% {
+    opacity: 1;
+  }
+
+  100% {
+    top: 95%;
+    opacity: 0;
+  }
+}
diff --git a/desktop/angular/src/app/shared/netquery/connection-details/conn-details.ts b/desktop/angular/src/app/shared/netquery/connection-details/conn-details.ts
new file mode 100644
index 00000000..78dfecda
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/connection-details/conn-details.ts
@@ -0,0 +1,147 @@
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnChanges, OnDestroy, OnInit, SimpleChanges, inject } from "@angular/core";
+import { BandwidthChartResult, ConnectionBandwidthChartResult, IPProtocol, IPScope, IsDenied, IsDNSRequest, Netquery, NetqueryConnection, PortapiService, Process, Verdict } from "@safing/portmaster-api";
+import { SfngDialogService } from '@safing/ui';
+import { Subscription } from "rxjs";
+import { ProcessDetailsDialogComponent } from '../../process-details-dialog';
+import { NetqueryHelper } from "../connection-helper.service";
+import { BytesPipe } from "../../pipes/bytes.pipe";
+import { formatDuration } from "../../pipes";
+
+
+
+@Component({
+  selector: 'sfng-netquery-conn-details',
+  styleUrls: ['./conn-details.scss'],
+  templateUrl: './conn-details.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class SfngNetqueryConnectionDetailsComponent implements OnInit, OnDestroy, OnChanges {
+  helper = inject(NetqueryHelper)
+  private readonly portapi = inject(PortapiService)
+  private readonly dialog = inject(SfngDialogService)
+  private readonly cdr = inject(ChangeDetectorRef)
+  private readonly netquery = inject(Netquery)
+
+  @Input()
+  conn: NetqueryConnection | null = null;
+
+  process: Process | null = null;
+
+  readonly IsDNS = IsDNSRequest;
+  readonly verdict = Verdict;
+  readonly Protocols = IPProtocol;
+  readonly scopes = IPScope;
+  private _subscription = Subscription.EMPTY;
+
+  formatBytes = (n: d3.NumberValue, seriesKey?: string) => {
+    let prefix = '';
+    if (seriesKey !== undefined) {
+      prefix = seriesKey === 'incoming' ? 'Received: ' : 'Sent: '
+    }
+    return prefix + new BytesPipe().transform(n.valueOf())
+  }
+
+  formatTime = (n: Date) => {
+    const diff = Math.floor(new Date().getTime() - n.getTime())
+    return formatDuration(diff, false, true) + " ago"
+  }
+
+  tooltipFormat = (n: BandwidthChartResult<any>) => {
+    const bytes = new BytesPipe().transform
+    const received = `Received: ${bytes(n?.incoming || 0)}`;
+    const sent = `Sent: ${bytes(n?.outgoing || 0)}`
+
+    if ((n?.incoming || 0) > (n?.outgoing || 0)) {
+      return `${received}\n${sent}`
+    }
+    return `${sent}\n${received}`
+  }
+
+  connectionNotice: string = '';
+  bwData: ConnectionBandwidthChartResult[] = [];
+
+  ngOnChanges(changes: SimpleChanges) {
+    if (!!changes?.conn) {
+      this.updateConnectionNotice();
+      this.loadBandwidthChart();
+
+      if (this.conn?.extra_data?.pid !== undefined) {
+        this.portapi.get<Process>(`network:tree/${this.conn.extra_data.pid}-${this.conn.extra_data.processCreatedAt}`)
+          .subscribe({
+            next: p => {
+              this.process = p;
+              this.cdr.markForCheck();
+            },
+            error: () => {
+              this.process = null; // the process does not exist anymore
+              this.cdr.markForCheck();
+            }
+          })
+      } else {
+        this.process = null;
+      }
+    }
+  }
+
+  ngOnInit() {
+    this._subscription = this.helper.refresh.subscribe(() => {
+      this.updateConnectionNotice();
+      this.loadBandwidthChart();
+
+      this.cdr.markForCheck();
+    })
+  }
+
+  ngOnDestroy() {
+    this._subscription.unsubscribe();
+  }
+
+  openProcessDetails() {
+    this.dialog.create(ProcessDetailsDialogComponent, {
+      data: this.process,
+      backdrop: true,
+      autoclose: true,
+    })
+  }
+
+  private loadBandwidthChart() {
+    this.bwData = [];
+
+    if (!this.conn) {
+      this.cdr.markForCheck()
+
+      return;
+    }
+
+    this.netquery.connectionBandwidthChart([this.conn!.id], 1)
+      .subscribe(result => {
+        if (!result[this.conn!.id]?.length) {
+          return;
+        }
+
+        this.bwData = result[this.conn!.id];
+
+        this.cdr.markForCheck();
+      });
+  }
+
+  private updateConnectionNotice() {
+    this.connectionNotice = '';
+    if (!this.conn) {
+      return;
+    }
+
+    if (this.conn!.verdict === Verdict.Failed) {
+      this.connectionNotice = 'Failed with previous settings.'
+      return;
+    }
+
+    if (IsDenied(this.conn!.verdict)) {
+      this.connectionNotice = 'Blocked by previous settings.';
+    } else {
+      this.connectionNotice = 'Allowed by previous settings.';
+    }
+
+    this.connectionNotice += ' You current settings could decide differently.'
+  }
+}
diff --git a/desktop/angular/src/app/shared/netquery/connection-details/index.ts b/desktop/angular/src/app/shared/netquery/connection-details/index.ts
new file mode 100644
index 00000000..1740e308
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/connection-details/index.ts
@@ -0,0 +1 @@
+export * from './conn-details';
diff --git a/desktop/angular/src/app/shared/netquery/connection-helper.service.ts b/desktop/angular/src/app/shared/netquery/connection-helper.service.ts
new file mode 100644
index 00000000..fbe1b769
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/connection-helper.service.ts
@@ -0,0 +1,537 @@
+import { DOCUMENT } from '@angular/common';
+import { Inject, Injectable, Renderer2, inject } from '@angular/core';
+import { Router } from '@angular/router';
+import { AppProfile, AppProfileService, ConfigService, IPScope, NetqueryConnection, Pin, PossilbeValue, QueryResult, SPNService, Verdict, deepClone, flattenProfileConfig, getAppSetting, setAppSetting } from '@safing/portmaster-api';
+import { BehaviorSubject, Observable, OperatorFunction, Subject, combineLatest } from 'rxjs';
+import { distinctUntilChanged, filter, map, switchMap, take, takeUntil } from 'rxjs/operators';
+import { ActionIndicatorService } from '../action-indicator';
+import { objKeys } from '../utils';
+import { SfngSearchbarFields } from './searchbar';
+import { INTEGRATION_SERVICE } from 'src/app/integration';
+
+export const IPScopeNames: { [key in IPScope]: string } = {
+  [IPScope.Invalid]: "Invalid",
+  [IPScope.Undefined]: "Undefined",
+  [IPScope.HostLocal]: "Device Local",
+  [IPScope.LinkLocal]: "Link Local",
+  [IPScope.SiteLocal]: "LAN",
+  [IPScope.Global]: "Internet",
+  [IPScope.LocalMulticast]: "LAN Multicast",
+  [IPScope.GlobalMulitcast]: "Internet Multicast"
+}
+
+export interface LocalAppProfile extends AppProfile {
+  FlatConfig: { [key: string]: any }
+}
+
+@Injectable()
+export class NetqueryHelper {
+  readonly settings: { [key: string]: string } = {};
+
+  refresh = new Subject<void>();
+
+  private onShiftKey$ = new BehaviorSubject<boolean>(false);
+  private onCtrlKey$ = new BehaviorSubject<boolean>(false);
+  private addToFilter$ = new Subject<SfngSearchbarFields>();
+  private destroy$ = new Subject<void>();
+  private appProfiles$ = new BehaviorSubject<LocalAppProfile[]>([]);
+  private spnMapPins$ = new BehaviorSubject<Pin[] | null>(null);
+  private readonly integration = inject(INTEGRATION_SERVICE);
+
+  readonly onShiftKey: Observable<boolean>;
+  readonly onCtrlKey: Observable<boolean>;
+
+  constructor(
+    private router: Router,
+    private profileService: AppProfileService,
+    private configService: ConfigService,
+    private actionIndicator: ActionIndicatorService,
+    private renderer: Renderer2,
+    private spnService: SPNService,
+    @Inject(DOCUMENT) private document: Document,
+  ) {
+    const cleanupKeyDown = this.renderer.listen(this.document, 'keydown', (event: KeyboardEvent) => {
+      if (event.shiftKey) {
+        this.onShiftKey$.next(true)
+      }
+      if (event.ctrlKey) {
+        this.onCtrlKey$.next(true);
+      }
+    });
+
+    const cleanupKeyUp = this.renderer.listen(this.document, 'keyup', () => {
+      this.onShiftKey$.next(false);
+      this.onCtrlKey$.next(false);
+    })
+
+    const windowBlur = this.renderer.listen(window, 'blur', () => {
+      this.onShiftKey$.next(false);
+      this.onCtrlKey$.next(false);
+    })
+
+    this.destroy$.subscribe({
+      complete: () => {
+        cleanupKeyDown();
+        cleanupKeyUp();
+        windowBlur();
+      }
+    })
+
+    this.onShiftKey = this.onShiftKey$
+      .pipe(distinctUntilChanged());
+
+    this.onCtrlKey = this.onCtrlKey$
+      .pipe(distinctUntilChanged());
+
+    this.configService.query('')
+      .subscribe(settings => {
+        settings.forEach(setting => {
+          this.settings[setting.Key] = setting.Name;
+        });
+        this.refresh.next();
+      });
+
+    // watch all application profiles
+    this.profileService.watchProfiles()
+      .pipe(takeUntil(this.destroy$))
+      .subscribe(profiles => {
+        this.appProfiles$.next((profiles || []).map(p => {
+          return {
+            ...p,
+            FlatConfig: flattenProfileConfig(p.Config),
+          }
+        }))
+      });
+
+    this.spnService.watchPins()
+      .pipe(takeUntil(this.destroy$))
+      .subscribe(pins => {
+        this.spnMapPins$.next(pins);
+      })
+  }
+
+  decodePrettyValues(field: keyof NetqueryConnection, values: any[]): any[] {
+    if (field === 'verdict') {
+      return values.map(val => Verdict[val]).filter(value => value !== undefined);
+    }
+
+    if (field === 'scope') {
+      return values.map(val => {
+        // check if it's a value of the IPScope enum
+        const scopeValue = IPScope[val];
+        if (!!scopeValue) {
+          return scopeValue;
+        }
+
+        // otherwise check if it's pretty name of the scope translation
+        val = `${val}`.toLocaleLowerCase();
+        return objKeys(IPScopeNames).find(scope => IPScopeNames[scope].toLocaleLowerCase() === val)
+      }).filter(value => value !== undefined);
+    }
+
+    if (field === 'allowed') {
+      return values.map(val => {
+        if (typeof val !== 'string') {
+          return val
+        }
+
+        switch (val.toLocaleLowerCase()) {
+          case 'yes':
+            return true
+          case 'no':
+            return false
+          case 'n/a':
+          case 'null':
+            return null
+          default:
+            return val
+        }
+      })
+    }
+
+    if (field === 'exit_node') {
+      const lm = new Map<string, Pin>();
+      (this.spnMapPins$.getValue() || [])
+        .forEach(pin => lm.set(pin.Name, pin));
+
+      return values.map(val => lm.get(val)?.ID || val)
+    }
+
+    return values;
+  }
+
+  attachProfile(): OperatorFunction<QueryResult[], (QueryResult & { __profile?: LocalAppProfile })[]> {
+    return source => combineLatest([
+      source,
+      this.appProfiles$,
+    ]).pipe(
+      map(([items, profiles]) => {
+        let lm = new Map<string, LocalAppProfile>();
+        profiles.forEach(profile => {
+          lm.set(`${profile.Source}/${profile.ID}`, profile)
+        })
+
+        return items.map(item => {
+          if ('profile' in item) {
+            item.__profile = lm.get(item.profile!)
+          }
+
+          return item;
+        })
+      })
+    )
+  }
+
+  attachPins(): OperatorFunction<QueryResult[], (QueryResult & { __exitNode?: Pin })[]> {
+    return source => combineLatest([
+      source,
+      this.spnMapPins$
+        .pipe(
+          filter(result => result !== null),
+          take(1),
+        ),
+    ]).pipe(
+      map(([items, pins]) => {
+        let lm = new Map<string, Pin>();
+        pins!.forEach(pin => {
+          lm.set(pin.ID, pin)
+        })
+
+        return items.map(item => {
+          if ('exit_node' in item) {
+            item.__exitNode = lm.get(item.exit_node!)
+          }
+
+          return item;
+        })
+      })
+    )
+  }
+
+  encodeToPossibleValues(field: string): OperatorFunction<QueryResult[], (QueryResult & PossilbeValue)[]> {
+    return source => combineLatest([
+      source,
+      this.appProfiles$,
+      this.spnMapPins$,
+    ]).pipe(
+      map(([items, profiles, pins]) => {
+        // convert profile IDs to profile name
+        if (field === 'profile') {
+          let lm = new Map<string, AppProfile>();
+          profiles.forEach(profile => {
+            lm.set(`${profile.Source}/${profile.ID}`, profile)
+          })
+
+          return items.map((item: any) => {
+            const profile = lm.get(item.profile!)
+            return {
+              Name: profile?.Name || `${item.profile}`,
+              Value: item.profile!,
+              Description: '',
+              __profile: profile || null,
+              ...item,
+            }
+          })
+        }
+
+        // convert verdict identifiers to their pretty name.
+        if (field === 'verdict') {
+          return items.map(item => {
+            if (Verdict[item.verdict!] === undefined) {
+              return null
+            }
+
+            return {
+              Name: Verdict[item.verdict!],
+              Value: item.verdict,
+              Description: '',
+              ...item
+            }
+          })
+        }
+
+        // convert the IP scope identifier to a pretty name
+        if (field === 'scope') {
+          return items.map(item => {
+            if (IPScope[item.scope!] === undefined) {
+              return null
+            }
+
+            return {
+              Name: IPScopeNames[item.scope!],
+              Value: item.scope,
+              Description: '',
+              ...item
+            }
+          })
+        }
+
+        if (field === 'allowed') {
+          return items
+            // we remove any "null" value from allowed here as it may happen for a really short
+            // period of time and there's no reason to actually filter for them because
+            // from showing a "null" value to the user clicking it the connection will have been
+            // verdicted and thus no results will show up for "null".
+            .filter(item => typeof item.allowed === 'boolean')
+            .map(item => {
+              return {
+                Name: item.allowed ? 'Yes' : 'No',
+                Value: item.allowed,
+                Description: '',
+                ...item
+              }
+            })
+        }
+
+        if (field === 'exit_node') {
+          const lm = new Map<string, Pin>();
+          pins!.forEach(pin => lm.set(pin.ID, pin));
+
+          return items.map(item => {
+            const pin = lm.get(item.exit_node!);
+            return {
+              Name: pin?.Name || item.exit_node,
+              Value: item.exit_node,
+              Description: 'Operated by ' + (pin?.VerifiedOwner || 'N/A'),
+              ...item
+            }
+          })
+        }
+
+        // the rest is just converted into the {@link PossibleValue} form
+        // by using the value as the "Name".
+        return items.map(item => ({
+          Name: `${item[field]}`,
+          Value: item[field],
+          Description: '',
+          ...item,
+        }))
+      }),
+      // finally, remove any values that have been mapped to null in the above stage.
+      // this may happen for values that are not valid for the given model field (i.e. using "Foobar" for "verdict")
+      map(results => {
+        return results.filter(val => !!val)
+      })
+    )
+  }
+
+  dispose() {
+    this.onShiftKey$.complete();
+
+    this.destroy$.next();
+    this.destroy$.complete();
+  }
+
+  /** Emits added fields whenever addToFilter is called */
+  onFieldsAdded(): Observable<SfngSearchbarFields> {
+    return this.addToFilter$.asObservable();
+  }
+
+  /** Adds a new filter to the current query */
+  addToFilter(key: string, value: any[]) {
+    this.addToFilter$.next({
+      [key]: value,
+    })
+  }
+
+  /**
+   * @private
+   * Returns the class used to color the connection's
+   * verdict.
+   *
+   * @param conn The connection object
+   */
+  getVerdictClass(conn: NetqueryConnection): string {
+    return Verdict[conn.verdict]?.toLocaleLowerCase() || `unknown-verdict<${conn.verdict}>`;
+  }
+
+  /**
+   * @private
+   * Redirect the user to a settings key in the application
+   * profile.
+   *
+   * @param key The settings key to redirect to
+   */
+  redirectToSetting(setting: string, conn: NetqueryConnection, globalSettings = false) {
+    const reason = conn.extra_data?.reason;
+    if (!reason) {
+      return;
+    }
+
+    if (!setting) {
+      setting = reason.OptionKey;
+    }
+
+    if (!setting) {
+      return;
+    }
+
+    if (globalSettings) {
+      this.router.navigate(
+        ['/', 'settings'], {
+        queryParams: {
+          setting: setting,
+        }
+      })
+      return;
+    }
+
+    let profile = conn.profile
+
+    if (!!reason.Profile) {
+      profile = reason.Profile;
+    }
+
+    if (profile.startsWith("core:profiles/")) {
+      profile = profile.replace("core:profiles/", "")
+    }
+
+    this.router.navigate(
+      ['/', 'app', ...profile.split("/")], {
+      queryParams: {
+        tab: 'settings',
+        setting: setting,
+      }
+    })
+  }
+
+  /**
+   * @private
+   * Redirect the user to "outgoing rules" setting in the
+   * application profile/settings.
+   */
+  redirectToRules(conn: NetqueryConnection) {
+    if (conn.direction === 'inbound') {
+      this.redirectToSetting('filter/serviceEndpoints', conn);
+    } else {
+      this.redirectToSetting('filter/endpoints', conn);
+    }
+  }
+
+  /**
+   * @private
+   * Dump a connection to the console
+   *
+   * @param conn The connection to dump
+   */
+  async dumpConnection(conn: NetqueryConnection) {
+    // Copy to clip-board if supported
+    try {
+      await this.integration.writeToClipboard(JSON.stringify(conn, undefined, "    "))
+      this.actionIndicator.info("Copied to Clipboard")
+    } catch (err: any) {
+      this.actionIndicator.error("Copy to Clipboard Failed", err?.message || JSON.stringify(err))
+    }
+  }
+
+  /**
+   * @private
+   * Creates a new "block domain" outgoing rules
+   */
+  blockAll(domain: string, conn: NetqueryConnection) {
+    /* Deactivate until exact behavior is specified.
+    if (this.isDomainBlocked(domain)) {
+      this.actionIndicator.info(domain + ' already blocked')
+      return;
+    }
+    */
+
+    domain = domain.replace(/\.+$/, '');
+    const newRule = `- ${domain}`;
+    this.updateRules(newRule, true, conn)
+  }
+
+  /**
+   * @private
+   * Removes a "block domain" rule from the outgoing rules
+   */
+  unblockAll(domain: string, conn: NetqueryConnection) {
+    /* Deactivate until exact behavior is specified.
+    if (!this.isDomainBlocked(domain)) {
+      this.actionIndicator.info(domain + ' already allowed')
+      return;
+    }
+    */
+
+    domain = domain.replace(/\.+$/, '');
+    const newRule = `+ ${domain}`;
+    this.updateRules(newRule, true, conn);
+  }
+
+  /**
+   * Updates the outgoing rule set and either creates or deletes
+   * a rule. If a rule should be created but already exists
+   * it is moved to the top.
+   *
+   * @param newRule The new rule to create or delete.
+   * @param add  Whether or not to create or delete the rule.
+   */
+  private updateRules(newRule: string, add: boolean, conn: NetqueryConnection) {
+    if (!conn.profile) {
+      return
+    }
+
+    let key = 'filter/endpoints';
+    if (conn.direction === 'inbound') {
+      key = 'filter/serviceEndpoints'
+    }
+
+    this.profileService.getAppProfile(conn.profile)
+      .pipe(
+        switchMap(profile => {
+          let rules = getAppSetting<string[]>(profile.Config, key) || [];
+          rules = rules.filter(rule => rule !== newRule);
+
+          if (add) {
+            rules.splice(0, 0, newRule)
+          }
+
+          const newProfile = deepClone(profile);
+
+          if (newProfile.Config === null || newProfile.Config === undefined) {
+            newProfile.Config = {}
+          }
+
+          setAppSetting(newProfile.Config, key, rules);
+
+          return this.profileService.saveProfile(newProfile)
+        })
+      )
+      .subscribe({
+        next: () => {
+          if (add) {
+            this.actionIndicator.success('Rules Updated', 'Successfully created a new rule.')
+          } else {
+            this.actionIndicator.success('Rules Updated', 'Successfully removed matching rule.')
+          }
+        },
+        error: err => {
+          this.actionIndicator.error('Failed to update rules', JSON.stringify(err))
+        }
+      });
+  }
+
+  /**
+   * Iterates of all outgoing rules and collects which domains are blocked.
+   * It stops collecting domains as soon as the first "allow something" rule
+   * is hit.
+   */
+  // FIXME
+  /*
+  private collectBlockedDomains() {
+    let blockedDomains = new Set<string>();
+
+    const rules = getAppSetting<string[]>(this.profile!.profile!.Config, 'filter/endpoints') || [];
+    for (let i = 0; i < rules.length; i++) {
+      const rule = rules[i];
+      if (rule.startsWith('+ ')) {
+        break;
+      }
+
+      blockedDomains.add(rule.slice(2))
+    }
+
+    this.blockedDomains = Array.from(blockedDomains)
+  }
+  */
+}
diff --git a/desktop/angular/src/app/shared/netquery/connection-row/conn-row.html b/desktop/angular/src/app/shared/netquery/connection-row/conn-row.html
new file mode 100644
index 00000000..3c721b0b
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/connection-row/conn-row.html
@@ -0,0 +1,146 @@
+<div class="flex flex-row items-center gap-2" name="first">
+  <span class="flex-shrink-0 verdict" [class.outdated]="isOutdated" [ngClass]="helper.getVerdictClass(conn)"
+    [sfng-tooltip]="conn.extra_data?.reason?.Msg || null"></span>
+
+  <ng-container *ngIf="conn.domain as domain; else scopeTranslation">
+    <sfng-netquery-scope-label name="domain" [scope]="conn.domain"
+      class="inline-block overflow-hidden overflow-ellipsis" style="direction: rtl" sfngAddToFilter="domain"
+      [sfngAddToFilterValue]="conn.domain">
+    </sfng-netquery-scope-label>
+  </ng-container>
+
+  <svg xmlns="http://www.w3.org/2000/svg" name="internal" class="flex-grow-0 flex-shrink-0 w-4 h-4 text-tertiary"
+    fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" *ngIf="conn.internal"
+    sfng-tooltip="Internal connections are only displayed in Developer Mode">
+    <path stroke-linecap="round" stroke-linejoin="round"
+      d="M13.875 18.825A10.05 10.05 0 0112 19c-4.478 0-8.268-2.943-9.543-7a9.97 9.97 0 011.563-3.029m5.858.908a3 3 0 114.243 4.243M9.878 9.878l4.242 4.242M9.88 9.88l-3.29-3.29m7.532 7.532l3.29 3.29M3 3l3.59 3.59m0 0A9.953 9.953 0 0112 5c4.478 0 8.268 2.943 9.543 7a10.025 10.025 0 01-4.132 5.411m0 0L21 21" />
+  </svg>
+
+  <ng-template #scopeTranslation>
+    <span sfngAddToFilter="scope" [sfngAddToFilterValue]="conn.scope" name="scope"
+      class="overflow-hidden text-ellipsis">
+      <ng-container [ngSwitch]="conn.scope">
+        <span *ngSwitchCase="scopes.Global">Internet Peer-to-Peer</span>
+        <span *ngSwitchCase="scopes.GlobalMulitcast">Internet Multicast</span>
+        <span *ngSwitchCase="scopes.HostLocal">Device-Local</span>
+        <span *ngSwitchCase="scopes.LinkLocal">LAN Peer-to-Peer</span>
+        <span *ngSwitchCase="scopes.LocalMulticast">LAN Multicast</span>
+        <span *ngSwitchCase="scopes.SiteLocal">LAN Peer-to-Peer</span>
+
+        <span class="text-tertiary" *ngSwitchCase="scopes.Invalid">N/A</span>
+        <span class="text-tertiary" *ngSwitchCase="scopes.Undefined">N/A</span>
+        <span class="text-tertiary" *ngSwitchDefault>N/A</span>
+      </ng-container>
+
+      <span>{{ conn.direction === 'inbound' ? ' Incoming' : ' Outgoing'}}</span>
+    </span>
+  </ng-template>
+</div>
+
+<ng-template #countryTooltip>
+  <div class="flex flex-row gap-2 items-center justify-start">
+    <span *ngIf="conn.country && conn.type !== 'dns'" [appCountryFlags]="conn.country"></span>
+    <span>{{ conn.country | countryName }}</span>
+  </div>
+</ng-template>
+
+<div [class.text-tertiary]="!conn.country" class="flex-row items-center justify-start hidden gap-1 sfng-md:flex"
+  name="location" [sfngAddToFilter]="!!conn.country ? 'country' : null" [sfngAddToFilterValue]="conn.country"
+  [sfng-tooltip]="conn.country && conn.type !== 'dns' ? countryTooltip : null">
+  <span *ngIf="conn.country && conn.type !== 'dns'" [appCountryFlags]="conn.country"></span>
+  {{ conn | connectionLocation }}
+</div>
+
+<div>
+  <span *ngIf="!!conn.__profile" class="flex flex-row items-center gap-1" name="profile">
+    <app-icon [profile]="conn.__profile"></app-icon>
+    <span [sfngAddToFilter]="'profile'" [sfngAddToFilterValue]="conn.profile">{{ conn.__profile.Name }}</span>
+  </span>
+</div>
+
+<div class="flex flex-row items-center gap-2" name="remote">
+  <fa-icon class="w-4 h-4 transform rotate-45" [ngClass]="{'text-gray-600': !!conn.ended}"
+    [icon]="conn.direction === 'inbound' ? 'arrow-down' : 'arrow-up'">
+  </fa-icon>
+
+  <span *ngIf="conn.type === 'ip'; else dnsRequest" sfngAddToFilter="remote_ip" [sfngAddToFilterValue]="conn.remote_ip">
+    {{ conn.remote_ip }} <span *ngIf="conn.remote_port" class="text-secondary">:{{ conn.remote_port }}</span>
+  </span>
+  <ng-template #dnsRequest>
+    <span class="text-secondary" sfngAddToFilter="type" sfngAddToFilterValue="dns">
+      DNS Request
+    </span>
+  </ng-template>
+</div>
+
+<div class="hidden sfng-md:block text-secondary" [sfng-tooltip]="'Started ' + (conn.started | timeAgo:timeAgoTicker)">
+  <ng-container *ngIf="!!conn.ended">
+    <span class="hidden sfng-xl:inline">ended&nbsp;&nbsp;</span>
+    {{ conn.ended | timeAgo:timeAgoTicker }}
+  </ng-container>
+
+  <ng-container *ngIf="!conn.ended">
+    <span class="hidden sfng-xl:inline">started&nbsp;&nbsp;</span>
+    {{ conn.started | timeAgo:timeAgoTicker }}
+  </ng-container>
+</div>
+
+<div name="reason" class="flex-row items-center justify-start hidden gap-2 sfng-lg:flex">
+  <ng-container *ngIf="conn.extra_data?.reason as reason">
+    <ng-container *ngIf="reason.OptionKey">
+      <span class="hidden sfng-2xl:inline text-tertiary">applied</span>
+      <span class="text-primary">{{ helper.settings[reason.OptionKey] || '' }}</span>
+
+      <svg viewBox="0 0 24 24" class="w-4 h-4" *ngIf="!reason.Profile" sfng-tooltip="from Global Settings">
+        <g fill="none" stroke-linecap="round" stroke="currentColor" stroke-linejoin="round" stroke-width="2">
+          <path shape-rendering="geometricPrecision"
+            d="M13.7678 10.2322c.976311.976311.976311 2.55922 0 3.53553-.976311.976311-2.55922.976311-3.53553 0-.976311-.976311-.976311-2.55922 0-3.53553.976311-.976311 2.55922-.976311 3.53553 0" />
+          <path shape-rendering="geometricPrecision"
+            d="M14.849 4.12l.583.194c.534.178.895.678.895 1.241v.837c0 .712.568 1.293 1.28 1.308l.838.018c.485.01.925.289 1.142.723l.275.55c.252.504.153 1.112-.245 1.51l-.592.592c-.503.503-.512 1.316-.02 1.83l.58.606c.336.351.45.858.296 1.319l-.194.583c-.178.534-.678.895-1.241.895h-.837c-.712 0-1.293.568-1.308 1.28l-.018.838c-.01.485-.289.925-.723 1.142l-.55.275c-.504.252-1.112.153-1.51-.245l-.592-.592c-.503-.503-1.316-.512-1.83-.02l-.606.58c-.351.336-.858.45-1.319.296l-.583-.194c-.534-.178-.895-.678-.895-1.241v-.837c0-.712-.568-1.293-1.28-1.308l-.838-.018c-.485-.01-.925-.289-1.142-.723l-.275-.55c-.252-.504-.153-1.112.245-1.51l.592-.592c.503-.503.512-1.316.02-1.83l-.58-.606c-.337-.352-.451-.86-.297-1.32l.194-.583c.178-.534.678-.895 1.241-.895h.837c.712 0 1.293-.568 1.308-1.28l.018-.838c.012-.485.29-.925.724-1.142l.55-.275c.504-.252 1.112-.153 1.51.245l.592.592c.503.503 1.316.512 1.83.02l.606-.58c.351-.335.859-.449 1.319-.295z" />
+        </g>
+      </svg>
+
+      <svg *ngIf="!!reason.Profile" sfng-tooltip="from Application Settings" xmlns="http://www.w3.org/2000/svg"
+        data-name="Layer 1" viewBox="0 0 24 24" class="w-4 h-4" stroke="currentColor" fill="none">
+        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" fill="currentColor"
+          d="M19 21h-3a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2Z" />
+        <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
+          d="M19 9h-3a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2ZM5 3h3a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2ZM5 15h3a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2a2 2 0 0 1 2-2Z" />
+      </svg>
+
+      <span class="hidden sfng-xl:inline text-secondary">{{ reason.Profile ? 'App' : 'Global' }}</span>
+    </ng-container>
+  </ng-container>
+</div>
+
+<div class="flex-grow-0 flex-shrink-0 w-6">
+  <app-menu-trigger [menu]="ungroupedConnectionMenu"></app-menu-trigger>
+  <app-menu #ungroupedConnectionMenu>
+    <ng-container *ngIf="conn.extra_data?.reason as reason">
+      <app-menu-item (activate)="helper.redirectToSetting('', conn)" *ngIf="!!reason.OptionKey">
+        App Setting
+      </app-menu-item>
+
+      <app-menu-item (activate)="helper.redirectToSetting('', conn, true)" *ngIf="!!reason.OptionKey">
+        Global Setting
+      </app-menu-item>
+    </ng-container>
+
+    <app-menu-group class="separator"></app-menu-group>
+
+    <app-menu-item *ngIf="(conn | isBlocked); else blockAction"
+      (activate)="helper.unblockAll(conn.domain || conn.remote_ip, conn)" [disabled]="!(conn | canUseRules)">
+      Allow {{ conn.domain ? 'Domain' : 'IP'}}
+    </app-menu-item>
+
+    <ng-template #blockAction>
+      <app-menu-item (activate)="helper.blockAll(conn.domain || conn.remote_ip, conn)"
+        [disabled]="!(conn | canUseRules)">
+        Block {{ conn.domain ? 'Domain' : 'IP '}}
+      </app-menu-item>
+    </ng-template>
+
+
+    <app-menu-item *appExpertiseLevel="'expert'" (click)="helper.dumpConnection(conn)">Copy JSON</app-menu-item>
+  </app-menu>
+</div>
diff --git a/desktop/angular/src/app/shared/netquery/connection-row/conn-row.scss b/desktop/angular/src/app/shared/netquery/connection-row/conn-row.scss
new file mode 100644
index 00000000..0d737830
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/connection-row/conn-row.scss
@@ -0,0 +1,43 @@
+:host {
+  @apply w-full flex-grow gap-4 grid justify-start items-center overflow-hidden;
+
+  grid-template-columns:
+    1fr 1fr 1fr 2rem;
+
+  grid-auto-rows: 1.5rem;
+  grid-template-rows: none;
+
+  &>* {
+    @apply overflow-hidden whitespace-nowrap;
+
+    &>*:last-child {
+      @apply overflow-hidden text-ellipsis;
+    }
+  }
+
+  --app-icon-size: 20px;
+}
+
+:host-context(.min-width-768px) {
+  :host {
+    grid-template-columns:
+      1fr 4rem 1fr 1fr 5rem 2rem;
+    ;
+  }
+}
+
+:host-context(.min-width-1024px) {
+  :host {
+    grid-template-columns:
+      1fr 4rem 1fr 1fr 5rem 0.5fr 2rem;
+    ;
+  }
+}
+
+:host-context(.min-width-1280px) {
+  :host {
+    grid-template-columns:
+      1fr 4rem 1fr 1fr 8rem 1fr 2rem;
+    ;
+  }
+}
diff --git a/desktop/angular/src/app/shared/netquery/connection-row/conn-row.ts b/desktop/angular/src/app/shared/netquery/connection-row/conn-row.ts
new file mode 100644
index 00000000..b841d116
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/connection-row/conn-row.ts
@@ -0,0 +1,78 @@
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnDestroy, OnInit } from "@angular/core";
+import { AppProfile, IPScope, NetqueryConnection, Verdict } from "@safing/portmaster-api";
+import { interval, Subscription } from "rxjs";
+import { share, startWith } from "rxjs/operators";
+import { NetqueryHelper } from "../connection-helper.service";
+
+interface ProfileAttachedConnection extends NetqueryConnection {
+  __profile?: AppProfile;
+}
+
+@Component({
+  selector: 'sfng-netquery-connection-row',
+  templateUrl: './conn-row.html',
+  styleUrls: [
+    './conn-row.scss'
+  ],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class SfngNetqueryConnectionRowComponent implements OnInit, OnDestroy {
+  readonly scopes = IPScope;
+  readonly verdicts = Verdict;
+
+  @Input()
+  set conn(c: ProfileAttachedConnection) {
+    this._conn = c;
+  }
+  get conn() { return this._conn; }
+  _conn!: ProfileAttachedConnection;
+
+  @Input()
+  activeRevision: number | undefined = 0;
+
+  get isOutdated() {
+    // FIXME(ppacher)
+    return false;
+    /*
+        if (!this.conn || !this.helper.profile) {
+          return false;
+        }
+        if (this.helper.profile.currentProfileRevision === -1) {
+          // we don't know the revision counter yet ...
+          return false;
+        }
+        return this.conn.profile_revision !== this.helper.profile.currentProfileRevision;
+    */
+  }
+
+  /* timeAgoTicker ticks every 10000 seconds to force a refresh
+     of the timeAgo pipes */
+  timeAgoTicker: number = 0;
+
+  private _subscription = Subscription.EMPTY;
+
+  constructor(
+    public helper: NetqueryHelper,
+    private changeDetectorRef: ChangeDetectorRef,
+  ) { }
+
+  ngOnInit() {
+    this._subscription = new Subscription();
+
+    const tickerSub = interval(10000).pipe(
+      startWith(-1),
+      share()
+    ).subscribe(i => this.timeAgoTicker = i);
+
+    const helperSub = this.helper.refresh.subscribe(() => {
+      this.changeDetectorRef.markForCheck();
+    })
+
+    this._subscription.add(helperSub);
+    this._subscription.add(tickerSub);
+  }
+
+  ngOnDestroy() {
+    this._subscription.unsubscribe();
+  }
+}
diff --git a/desktop/angular/src/app/shared/netquery/connection-row/index.ts b/desktop/angular/src/app/shared/netquery/connection-row/index.ts
new file mode 100644
index 00000000..adbe1933
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/connection-row/index.ts
@@ -0,0 +1 @@
+export * from './conn-row';
diff --git a/desktop/angular/src/app/shared/netquery/index.ts b/desktop/angular/src/app/shared/netquery/index.ts
new file mode 100644
index 00000000..84660587
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/index.ts
@@ -0,0 +1,2 @@
+export * from './netquery.component';
+export * from './netquery.module';
diff --git a/desktop/angular/src/app/shared/netquery/line-chart/index.ts b/desktop/angular/src/app/shared/netquery/line-chart/index.ts
new file mode 100644
index 00000000..e69de29b
diff --git a/desktop/angular/src/app/shared/netquery/line-chart/line-chart.ts b/desktop/angular/src/app/shared/netquery/line-chart/line-chart.ts
new file mode 100644
index 00000000..5a12cb9d
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/line-chart/line-chart.ts
@@ -0,0 +1,592 @@
+import { coerceBooleanProperty, coerceNumberProperty, coerceStringArray } from '@angular/cdk/coercion';
+import { AfterViewInit, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, Input, OnChanges, OnInit, SimpleChanges, inject } from '@angular/core';
+import { BandwidthChartResult, ChartResult } from '@safing/portmaster-api';
+import * as d3 from 'd3';
+import { Selection } from 'd3';
+import { AppComponent } from 'src/app/app.component';
+import { formatDuration, timeAgo } from '../../pipes';
+import { objKeys } from '../../utils';
+import { BytesPipe } from '../../pipes/bytes.pipe';
+
+export interface SeriesConfig {
+  lineColor: string;
+  areaColor?: string;
+}
+
+export interface Marker {
+  text: string;
+  time: Date | number | string;
+}
+
+export interface ChartConfig<T extends SeriesData> {
+  series: {
+    [key in Exclude<keyof T, 'timestamp'>]?: SeriesConfig;
+  },
+  time?: {
+    from: number | string | Date;
+    to?: number | string | Date;
+  },
+  fromMargin?: number;
+  toMargin?: number;
+  valueFormat?: (n: d3.NumberValue, seriesKey?: string) => string,
+  tooltipFormat?: (data: T) => string;
+  timeFormat?: (n: Date) => string,
+  showDataPoints?: boolean;
+  fillEmptyTicks?: {
+    interval: number;
+  },
+  verticalMarkers?: Marker[];
+}
+
+function coerceDate(d: Date | number | string): Date {
+  if (typeof d === 'string') {
+    return new Date(d)
+  }
+
+  if (d instanceof Date) {
+    return d
+  }
+
+  if (d < 0) {
+    return new Date((new Date()).getTime() + d * 1000)
+  }
+
+  return new Date(d * 1000);
+}
+
+export const DefaultChartConfig: ChartConfig<ChartResult> = {
+  series: {
+    value: {
+      lineColor: 'text-green-200',
+      areaColor: 'text-green-100 text-opacity-25'
+    },
+    countBlocked: {
+      lineColor: 'text-red-200',
+      areaColor: 'text-red-100 text-opacity-25'
+    }
+  },
+}
+
+export const DefaultBandwidthChartConfig: ChartConfig<BandwidthChartResult<any>> = {
+  series: {
+    outgoing: {
+      lineColor: 'text-deepPurple-500',
+      areaColor: 'text-deepPurple-700 text-opacity-5',
+    },
+    incoming: {
+      lineColor: 'text-cyan-800',
+      areaColor: 'text-cyan-700 text-opacity-5',
+    },
+  },
+  time: {
+    from: -10 * 60,
+  },
+  valueFormat: (n: d3.NumberValue, seriesKey?: string) => {
+    let prefix = '';
+    if (seriesKey !== undefined) {
+      prefix = seriesKey === 'incoming' ? 'Received: ' : 'Sent: '
+    }
+    return prefix + new BytesPipe().transform(n.valueOf())
+  },
+  timeFormat: (n: Date) => {
+    const diff = Math.floor(new Date().getTime() - n.getTime())
+    return formatDuration(diff, false, true) + " ago"
+  },
+  tooltipFormat: (n: BandwidthChartResult<any>) => {
+    const bytes = new BytesPipe().transform
+    const received = `Received: ${bytes(n?.incoming || 0)}`;
+    const sent = `Sent: ${bytes(n?.outgoing || 0)}`
+
+    if ((n?.incoming || 0) > (n?.outgoing || 0)) {
+      return `${received}\n${sent}`
+    }
+    return `${sent}\n${received}`
+  },
+  showDataPoints: true,
+  fillEmptyTicks: {
+    interval: 60
+  },
+}
+
+export interface SeriesData {
+  timestamp: number;
+}
+
+@Component({
+  selector: 'sfng-netquery-line-chart',
+  styles: [
+    `
+    :host {
+      @apply block h-full w-full;
+    }
+    `
+  ],
+  template: '',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class SfngNetqueryLineChartComponent<D extends SeriesData = any> implements OnChanges, OnInit, AfterViewInit {
+  private destroyRef = inject(DestroyRef);
+
+  @Input()
+  data: D[] = [];
+
+  private preparedData: D[] = [];
+
+  private width = 700;
+  private height = 250;
+
+  @Input()
+  set margin(v: any) {
+    this._margin = coerceNumberProperty(v);
+  }
+  get margin() { return this._margin; }
+  private _margin = 0;
+
+  @Input()
+  config!: ChartConfig<D>;
+
+  svg!: Selection<any, any, any, any>;
+  svgInner!: Selection<SVGGElement, any, any, any>;
+  yScale!: d3.ScaleLinear<number, number, never>;
+  xScale!: d3.ScaleTime<number, number, never>;
+  xAxis!: Selection<SVGGElement, any, any, any>;
+  yAxis!: Selection<SVGGElement, any, any, any>;
+
+  @Input()
+  set showAxis(v: any) {
+    this._showAxis = coerceBooleanProperty(v);
+  }
+  get showAxis() {
+    return this._showAxis;
+  }
+  private _showAxis = true;
+
+  constructor(
+    public chartElem: ElementRef,
+    private app: AppComponent
+  ) { }
+
+  ngOnInit() {
+    if (!this.config) {
+      this.config = DefaultChartConfig as any;
+    }
+
+    const observer = new ResizeObserver(() => {
+      this.redraw();
+    })
+
+    observer.observe(this.chartElem.nativeElement)
+
+    this.destroyRef.onDestroy(() => observer.disconnect())
+
+  }
+
+  ngAfterViewInit(): void {
+    requestAnimationFrame(() => {
+      this.redraw()
+    })
+  }
+
+  ngOnChanges(changes: SimpleChanges): void {
+    if (changes.hasOwnProperty('config') && this.config) {
+      this.redraw()
+      return
+    }
+
+    if (changes.hasOwnProperty('data') && this.data) {
+      this.drawChart();
+    }
+  }
+
+  get yMargin() {
+    if (this.showAxis) {
+      return 16;
+    }
+    return 0;
+  }
+
+  redraw(event?: Event) {
+    if (!!this.svg) {
+      this.svg.remove();
+    }
+
+    this.initializeChart();
+    this.drawChart();
+  }
+
+  private initializeChart(): void {
+    this.width = this.chartElem.nativeElement.getBoundingClientRect().width;
+    this.height = this.chartElem.nativeElement.getBoundingClientRect().height;
+
+    this.svg = d3
+      .select(this.chartElem.nativeElement)
+      .append('svg')
+
+    this.svg.attr('width', this.width);
+    this.svg.attr('height', this.height);
+
+    this.svgInner = this.svg
+      .append('g')
+      .attr('height', '100%');
+
+    this.yScale = d3
+      .scaleLinear()
+
+    this.xScale = d3.scaleTime();
+
+    // setup event handlers to higlight the closest data points
+    let lastClosestIndex = -1;
+
+    if (this.config.showDataPoints) {
+      const self = this;
+      this.svg
+        .on("mousemove", function (event: MouseEvent) {
+          let x = d3.pointer(event)[0];
+
+          let closest = self.data.reduce((best, value, idx) => {
+            let absx = Math.abs(self.xScale(new Date(value.timestamp * 1000)) - x);
+            if (absx < best.value) {
+              return { index: idx, value: absx, timestamp: self.data[idx].timestamp }
+            }
+
+            return best
+
+          }, { index: 0, value: Number.MAX_SAFE_INTEGER, timestamp: 0 })
+
+          if (lastClosestIndex === closest.index) {
+            return;
+          }
+          lastClosestIndex = closest.index;
+
+          if (self.config.tooltipFormat) {
+            // append a title to the parent SVG, this is a quick-fix for showing some
+            // information on the highlighted points
+            // TODO(ppacher): actually render a nice tooltip there.
+            let tooltip = self.svg
+              .select<HTMLTitleElement>('title.tooltip')
+
+            if (tooltip.empty()) {
+              tooltip = self.svg.append("title")
+                .attr("class", "tooltip")
+            }
+
+            tooltip
+              .text(self.config.tooltipFormat!(self.data[closest.index]))
+          }
+
+          self.svgInner
+            .select(".vertical-marker")
+            .selectAll(".mouse-position")
+            .remove()
+
+          self.svgInner
+            .select(".vertical-marker")
+            .append("line")
+            .classed("mouse-position", true)
+            .attr("x1", d => self.xScale(closest.timestamp * 1000))
+            .attr("y1", -10)
+            .attr("x2", d => self.xScale(closest.timestamp * 1000))
+            .attr("y2", self.height - self.yMargin)
+            .classed("text-secondary text-opacity-50", true)
+            .attr("stroke", "currentColor")
+            .attr("stroke-width", 1)
+            .attr("stroke-dasharray", 2)
+
+          self.svgInner
+            .select(".points")
+            .selectAll<SVGCircleElement, [number, number]>("circle")
+            .classed("opacity-100", d => self.xScale.invert(d[0]).getTime() === closest.timestamp * 1000)
+        })
+        .on("mouseleave", function () {
+          lastClosestIndex = -1;
+
+          self.svg.select("title.tooltip")
+            .remove()
+
+          self.svg.select("line.mouse-position")
+            .remove()
+
+          self.svgInner
+            .select(".points")
+            .selectAll("circle")
+            .attr("r", 4)
+            .classed("opacity-100", false)
+        })
+    }
+
+    objKeys(this.config.series).forEach(seriesKey => {
+      const seriesConfig = this.config.series[seriesKey]!;
+
+      if (seriesConfig.areaColor) {
+        this.svgInner
+          .append('path')
+          .attr("fill", "currentColor")
+          .attr("class", `area-${String(seriesKey)} ${(seriesConfig.areaColor || '')}`)
+      }
+
+      this.svgInner
+        .append('g')
+        .append('path')
+        .style('fill', 'none')
+        .style('stroke', 'currentColor')
+        .style('stroke-width', '1')
+        .attr('class', `line-${String(seriesKey)} ${seriesConfig.lineColor}`)
+    })
+
+    this.svgInner.append("g")
+      .attr("class", "vertical-marker")
+
+    this.svgInner.append("g")
+      .attr("class", "points")
+
+    if (this.showAxis) {
+      this.yAxis = this.svgInner
+        .append('g')
+        .attr('id', 'y-axis')
+        .attr('class', 'text-secondary text-opacity-75 ')
+        .style('transform', 'translate(' + (this.width - this.yMargin) + 'px,  0)');
+
+      this.xAxis = this.svgInner
+        .append('g')
+        .attr('id', 'x-axis')
+        .attr('class', 'text-secondary text-opacity-50 ')
+        .style('transform', 'translate(0, ' + (this.height - this.yMargin) + 'px)');
+    }
+  }
+
+  private getTimeRange(): { from: Date, to: Date } {
+    const time = {
+      from: this.data[0]?.timestamp || 0,
+      to: this.data[this.data.length - 1]?.timestamp || 0,
+    };
+
+    if (!!this.config.time) {
+      time.from = coerceDate(this.config.time.from).getTime() / 1000
+
+      if (this.config.fromMargin) {
+        time.from = time.from - this.config.fromMargin
+      }
+
+      if (this.config.time.to) {
+        time.to = coerceDate(this.config.time.to).getTime() / 1000
+
+        if (this.config.toMargin) {
+          time.to = time.to + this.config.toMargin
+        }
+      }
+    }
+
+    return {
+      from: new Date(time.from * 1000),
+      to: new Date(time.to * 1000)
+    };
+  }
+
+  private prepareDataSet(data: D[], time: { from: Date, to: Date }) {
+    const toTimestamp = Math.round(time.to.getTime() / 1000)
+    const fromTimestamp = Math.round(time.from.getTime() / 1000)
+
+    // first, filter out all elements that are before or after the to date
+    data = data.filter(d => {
+      return d.timestamp >= fromTimestamp && d.timestamp <= toTimestamp
+    })
+
+    // check if we need to fill empty ticks
+    if (!this.config.fillEmptyTicks) {
+      return data;
+    }
+
+    const interval = this.config.fillEmptyTicks.interval;
+
+    let filledData: D[] = [];
+    const addEmpty = (ts: number) => {
+      let empty: any = {
+        timestamp: ts,
+      }
+
+      Object.keys(this.config.series)
+        .forEach(s => empty[s] = 0)
+
+      filledData.push(empty)
+    }
+
+    let firstElement = data[0]!.timestamp;
+    if (this.config.time?.from) {
+      firstElement = Math.round(coerceDate(this.config.time.from).getTime() / 1000)
+    }
+
+    // add empty values for the start-time until the first element / or the start tme
+    let lastTimeStamp = fromTimestamp - interval;
+    for (let ts = lastTimeStamp; ts <= firstElement; ts += interval) {
+      addEmpty(ts)
+    }
+
+    // add emepty vaues for each missing tick during the dataset
+    lastTimeStamp = firstElement;
+    for (let idx = 0; idx < data.length; idx++) {
+      const elem = data[idx]
+      const elemTs = elem.timestamp;
+
+      for (let ts = lastTimeStamp + interval; ts < elemTs; ts += interval) {
+        addEmpty(ts)
+      }
+
+      filledData.push(elem)
+      lastTimeStamp = elemTs
+    }
+
+    // if there's a specified end-time, add empty ticks from the last datapoint
+    // to the end-time
+    if (this.config.time?.to) {
+      for (let ts = lastTimeStamp + interval; ts <= toTimestamp; ts += interval) {
+        addEmpty(ts)
+      }
+    }
+
+    return filledData
+  }
+
+  private drawChart(): void {
+    if (!this.svg) {
+      return;
+    }
+
+    if (!this.data?.length) {
+      return;
+    }
+
+    this.data.sort((a, b) => a.timestamp - b.timestamp)
+
+    // determine the time range that should be displayed.
+    const time = this.getTimeRange();
+
+    // fill empty ticks depending on the configuration.
+    this.preparedData = this.prepareDataSet(this.data, time)
+
+    this.xScale
+      .range([0, this.width - this.yMargin])
+      .domain([time.from, time.to]);
+
+    this.yScale
+      .range([0, this.height - this.yMargin])
+      .domain([
+        d3.max(this.preparedData.map(d => {
+          return d3.max(
+            objKeys(this.config.series)
+              .map(series => {
+                return d[series] as number
+              })
+          )!
+        }))! * 1.3,  // 30% margin to top
+        0
+      ])
+
+    if (this.showAxis) {
+      const xAxis = d3
+        .axisBottom(this.xScale)
+        .ticks(5)
+        .tickFormat((val, idx) => {
+          if (!!this.config.timeFormat) {
+            return this.config.timeFormat(val as any)
+          }
+          return timeAgo(val as any);
+        })
+
+      this.xAxis.call(xAxis);
+
+      const yAxis = d3
+        .axisLeft(this.yScale)
+        .ticks(2)
+        .tickFormat(d => ((this.config.valueFormat || this.yScale.tickFormat(2)) as any)(d, undefined))
+
+      this.yAxis.call(yAxis);
+    }
+
+    const line = d3
+      .line()
+      .x(d => d[0])
+      .y(d => d[1])
+      .curve(d3.curveMonotoneX);
+
+    // define the area
+    const area = d3.area()
+      .x(d => d[0])
+      .y0(this.height - this.yMargin)
+      .y1(d => d[1])
+      .curve(d3.curveMonotoneX)
+
+    // render vertical markers
+    const markers = (this.config.verticalMarkers || [])
+      .filter(marker => !!marker.time)
+      .map(marker => ({
+        text: marker.text,
+        time: coerceDate(marker.time)
+      }));
+
+    this.svgInner.select('.vertical-marker')
+      .selectAll("line.marker")
+      .data(markers)
+      .join("line")
+      .classed("marker", true)
+      .attr("x1", d => this.xScale(d.time))
+      .attr("y1", -10)
+      .attr("x2", d => this.xScale(d.time))
+      .attr("y2", this.height - this.yMargin)
+      .classed("text-secondary text-opacity-50", true)
+      .attr("stroke", "currentColor")
+      .attr("stroke-width", 3)
+      .attr("stroke-dasharray", 4)
+      .append("title")
+      .text(d => d.text)
+
+    // FIXME(ppacher): somehow d3 does not recognize which data points must be removed
+    // or re-placed. For now, just remove them all
+    this.svgInner
+      .select('.points')
+      .selectAll("circle")
+      .remove()
+
+    objKeys(this.config.series)
+      .forEach(seriesKey => {
+        const config = this.config.series[seriesKey]!;
+
+        let points: [number, number][] = this.preparedData
+          .map(d => [
+            this.xScale(new Date(d.timestamp * 1000)),
+            this.yScale((d as any)[seriesKey] || 0),
+          ])
+
+        let data: [number, number][] = this.preparedData
+          .map(d => [
+            this.xScale(new Date(d.timestamp * 1000)),
+            this.yScale((d as any)[seriesKey] || 0),
+          ])
+
+        if (config.areaColor) {
+          this.svgInner.selectAll(`.area-${String(seriesKey)}`)
+            .data([data])
+            .attr('d', area(data))
+        }
+
+        this.svgInner.select(`.line-${String(seriesKey)}`)
+          .attr('d', line(data))
+
+        if (this.config?.showDataPoints) {
+          this.svgInner
+            .select('.points')
+            .selectAll(`circle.point-${String(seriesKey)}`)
+            .data(points)
+            .enter()
+            .append("circle")
+            .classed(`points-${String(seriesKey)}`, true)
+            .attr("r", "4")
+            .attr("fill", "currentColor")
+            .attr("class", `opacity-0 ${config.lineColor}`)
+            .attr("cx", d => d[0])
+            .attr("cy", d => d[1])
+            .append("title")
+            .text(d => ((this.config.valueFormat || this.yScale.tickFormat(2)) as any)(this.yScale.invert(d[1]), String(seriesKey)))
+        }
+      })
+  }
+}
diff --git a/desktop/angular/src/app/shared/netquery/netquery.component.html b/desktop/angular/src/app/shared/netquery/netquery.component.html
new file mode 100644
index 00000000..8a05984b
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/netquery.component.html
@@ -0,0 +1,388 @@
+<div class="sticky top-0 z-50 flex flex-row items-center w-full mb-2 bg-background" *ngIf="tagbarValues?.length">
+
+  <sfng-netquery-tagbar [(ngModel)]="tagbarValues" (ngModelChange)="onTagbarChange($event)" [labels]="keyTranslation"
+    class="p-2 bg-gray-300 rounded-l-sm">
+  </sfng-netquery-tagbar>
+
+  <div
+    class="flex items-center justify-center h-full px-3 py-2 bg-gray-200 rounded-r-sm cursor-pointer hover:text-primary text-tertiary"
+    (click)="copyQuery()" sfng-tooltip="Copy query to clipboard" snfgTooltipPosition="left">
+    <svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor"
+      stroke-width="2">
+      <path stroke-linecap="round" stroke-linejoin="round"
+        d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z" />
+    </svg>
+  </div>
+
+  <span class="ml-2 cursor-pointer text-tertiary text-xxs hover:text-primary" (click)="clearQuery()">
+    Clear All
+  </span>
+</div>
+
+<div class="flex flex-row items-center w-full gap-2">
+  <sfng-netquery-searchbar [(ngModel)]="textSearch" (ngModelChange)="performSearch()" class="block w-full"
+    [labels]="keyTranslation" (fieldsParsed)="onFieldsParsed($event)"></sfng-netquery-searchbar>
+  <button type="button" class="h-full rounded-r-sm btn" (click)="performSearch()">Reload</button>
+</div>
+
+<div class="flex flex-row flex-wrap items-center w-full gap-3">
+  <!--
+    Search / Suggestion boxes for most-commonly used filters
+  -->
+  <ng-container *ngFor="let field of (models | keyvalue)">
+    <ng-container *ngIf="field.value!.visible === true">
+      <sfng-select mode="multi" [itemName]="keyTranslation[field.key] || field.key" dynamicValues="true"
+        [placeholder]="keyTranslation[field.key] || field.key" [(ngModel)]="field.value!.searchValues"
+        allowSearch="true" searchItemThreshold="5" itemLimit="10"
+        [searchPlaceholder]="'Search' + (keyTranslation[field.key] || field.key)" minWidth="400" minHeight="300"
+        (ngModelChange)="performSearch()" (opened)="loadSuggestion(field.key)"
+        [dynamicValueTemplate]="dynamicValueTemplate" [sortBy]="sortByCount">
+        <ng-container *ngIf="field.value?.loading">
+          <sfng-select-item *sfngSelectValue="null; disabled: true" class="text-secondary">Loading ...
+          </sfng-select-item>
+        </ng-container>
+
+        <ng-container *ngFor="let value of field.value?.suggestions; trackBy: trackSuggestion">
+          <sfng-select-item
+            *sfngSelectValue="value.Value; data:value.count, label:value.Name || (value.Value === '' ? 'N/A' : value.Value)">
+            <span *ngIf="field.key === 'country' && !!value.Name" [appCountryFlags]="value.Name"></span>
+            <span class="flex-grow inline-block overflow-hidden overflow-ellipsis whitespace-nowrap"
+              style="max-width: 20rem; direction: rtl;">
+              <span style="direction: ltr; unicode-bidi: bidi-override;">
+                {{ value.Name || 'N/A' }}
+              </span>
+            </span>
+            <span class="pr-3 text-xxs text-tertiary whitespace-nowrap">
+              #{{ value.count }} connections
+            </span>
+          </sfng-select-item>
+
+        </ng-container>
+      </sfng-select>
+
+      <ng-template #dynamicValueTemplate let-item>
+        <sfng-select-item>
+          <span *ngIf="field.key === 'country' && !!item.value" [appCountryFlags]="item.value"></span>
+          <span class="flex-grow inline-block overflow-hidden overflow-ellipsis whitespace-nowrap"
+            style="max-width: 20rem; direction: rtl;">
+            <span style="direction: ltr; unicode-bidi: bidi-override;">
+              {{ item.value || 'N/A' }}
+            </span>
+          </span>
+        </sfng-select-item>
+      </ng-template>
+    </ng-container>
+  </ng-container>
+
+
+  <!-- The combinded "more" drop-down that should look like a select component -->
+  <ng-template #selectTemplate>
+    <button class="sfng-select" [class.active]="customDropdown.isOpen">
+      <span>More</span>
+      <div class="arrow">
+        <svg viewBox="0 0 24 24" class="arrow-icon">
+          <g fill="none" class="inner">
+            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2.2" d="M10 16l4-4-4-4" />
+          </g>
+        </svg>
+      </div>
+    </button>
+  </ng-template>
+
+  <sfng-dropdown #customDropdown [triggerTemplate]="selectTemplate" overlayClass="grid grid-cols-4">
+    <ng-container *ngFor="let model of (models | keyvalue | combinedMenu); let last=last">
+      <div class="border-gray-400 sfng-select-dropdown" [class.border-r]="!last">
+        <h3 class="flex items-center gap-2 px-3 py-0.5 mb-0 border-b border-gray-300 text-xxs text-secondary">
+          <span>Filter by {{ model.value!.menuTitle || model.key }}</span>
+          <sfng-tipup [key]="model.value!.tipupKey" *ngIf="!!model.value!.tipupKey"></sfng-tipup>
+        </h3>
+        <ul>
+          <li class="px-3" *ngFor="let value of model.value!.suggestions" [class.bg-gray-300]="value.selected">
+            <sfng-select-item (click)="toggleCombinedMenuFilter(model.key, value)" class="grid w-full grid-cols-3">
+              <span class="col-span-2">
+                {{ value.Name }}
+              </span>
+
+              <svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4 transition-all duration-200" viewBox="0 0 20 20"
+                fill="currentColor" [class.opacity-0]="!value.selected">
+                <path fill-rule="evenodd"
+                  d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z"
+                  clip-rule="evenodd" />
+              </svg>
+            </sfng-select-item>
+          </li>
+        </ul>
+      </div>
+    </ng-container>
+  </sfng-dropdown>
+
+
+  <div class="flex-grow"></div>
+
+  <div class="flex flex-row items-center gap-2 px-2 bg-gray-300 border border-gray-300 rounded text-xxs"
+    *ngIf="(canUseHistory$ | async)">
+    Search History:
+    <nz-range-picker [nzShowTime]="false" class="py-0" [nzRenderExtraFooter]="customTimeRange" [(ngModel)]="dateFilter"
+      [nzBorderless]="true" (ngModelChange)="onDateRangeChange($event)" [nzAllowClear]="true" [nzFormat]="dateFormat">
+    </nz-range-picker>
+
+    <ng-template #customTimeRange>
+      <span class="py-2 uppercase text-xxs text-secondary">Quick Settings</span>
+      <ul class="grid grid-flow-row grid-cols-3 py-2 text-xs">
+        <li *ngFor="let qds of quickDateSettings" (click)="applyQuickDateSetting(qds)"
+          class="cursor-pointer text-secondary hover:text-primary px-2 py-1.5 hover:bg-gray-500 hover:bg-opacity-50 rounded-md">
+          {{ qds.name }}
+        </li>
+      </ul>
+    </ng-template>
+  </div>
+
+  <div class="flex flex-row items-center gap-3">
+    <!--
+      Group-By selection
+    -->
+    <sfng-select mode="multi" itemName="Group By" placeholder="Group By" allowSearch="false" [(ngModel)]="groupByKeys"
+      (ngModelChange)="performSearch()">
+      <ng-container *ngFor="let value of allowedGroupBy">
+        <sfng-select-item *sfngSelectValue="value">
+          {{ keyTranslation[value] || value }}
+        </sfng-select-item>
+      </ng-container>
+    </sfng-select>
+
+    <!--
+      Order-By selection
+    -->
+    <sfng-select mode="multi" itemName="Sort" placeholder="Sort" allowSearch="false" [(ngModel)]="orderByKeys"
+      (ngModelChange)="performSearch()">
+      <ng-container *ngFor="let value of allowedOrderBy">
+        <sfng-select-item *sfngSelectValue="value">
+          {{ keyTranslation[value] || value }}
+        </sfng-select-item>
+      </ng-container>
+    </sfng-select>
+
+  </div>
+</div>
+
+<div class="relative flex-shrink-0 my-1 bg-gray-200 p-2 rounded grid" [class.grid-cols-2]="featureBw$ | async">
+  <div>
+    <h2 class="text-secondary text-xxs uppercase font-light p-0 m-0 mb-1 w-full text-center">Connections</h2>
+    <div class="h-32">
+      <sfng-netquery-line-chart [data]="connectionChartData" class="h-full" *ngIf="connectionChartData.length > 0" [@fadeIn]></sfng-netquery-line-chart>
+    </div>
+  </div>
+
+  <div *ngIf="featureBw$ | async">
+    <h2 class="text-secondary text-xxs uppercase font-light p-0 m-0 mb-1 w-full text-center">Data Usage</h2>
+    <div class="h-32">
+      <sfng-netquery-line-chart [config]="bwChartConfig" [data]="bwChartData" class="h-full" *ngIf="!!bwChartData?.length" [@fadeIn]></sfng-netquery-line-chart>
+    </div>
+  </div>
+
+  <div class="absolute top-0 bottom-0 left-0 right-0 flex items-center justify-center text-secondary"
+    *ngIf="loading || connectionChartData.length === 0">
+    Loading Chart
+  </div>
+</div>
+
+<ng-template #headerTemplate let-data let-active="active">
+  <div class="relative flex flex-row items-center w-full gap-3 px-3 bg-gray-200"
+    [ngClass]="{'rounded-sm': !active, 'rounded-t-sm': active, 'py-2': !!data._group, 'py-1': !data._group}">
+
+    <svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4 transition-all duration-150 transform"
+      [class.rotate-90]="active" viewBox="0 0 20 20" fill="currentColor">
+      <path fill-rule="evenodd"
+        d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
+        clip-rule="evenodd" />
+    </svg>
+
+    <!-- Group-By VIew -->
+    <ng-template [ngIf]="!!data._group" [ngIfElse]="connView">
+      <app-count-indicator [count]="data.totalCount" [countAllowed]="data.countAllowed">
+      </app-count-indicator>
+
+      <span *ngFor="let key of groupByKeys" class="flex flex-row items-center gap-1 overflow-hidden whitespace-nowrap">
+        <span class="text-xxs text-secondary" *ngIf="groupByKeys.length !== 1">{{ keyTranslation[key] || key }}</span>
+
+        <!-- Country specific colum rendering -->
+        <span class="text-primary" *ngIf="key === 'country' && !!data[key]"
+          [appCountryFlags]="data[key]">{{ data[key] || 'N/A' }}</span>
+
+
+        <!-- Profile specific column rendering -->
+        <span *ngIf="key === 'profile' && !!data.__profile" class="flex flex-row items-center gap-2">
+          <app-icon [profile]="data.__profile"></app-icon>
+          <span>{{ data.__profile.Name }}</span>
+        </span>
+
+        <!-- SPN Pin specific column rendering -->
+        <span *ngIf="key === 'exit_node' && !!data.__exitNode" class="flex flex-row items-center gap-2">
+          <span class="text-secondary text-xxs">
+            (
+            <span class="text-primary"
+              *ngIf="(data.__exitNode.EntityV4 || data.__exitNode.EntityV6)?.Country as country"
+              [appCountryFlags]="country"></span>
+            )
+          </span>
+          <span>{{ data.__exitNode.Name }}</span>
+        </span>
+
+        <!-- everything else -->
+        <span style="direction: rtl" *ngIf="key !== 'domain' && key !== 'profile' && key !== 'exit_node'"
+          class="overflow-hidden text-primary overflow-ellipsis">
+          <span style="direction: ltr; unicode-bidi: bidi-override;">
+            {{ data[key] || 'N/A' }}
+          </span>
+        </span>
+
+        <sfng-netquery-scope-label *ngIf="key === 'domain'" [scope]="data[key]" style="direction: rtl"
+          class="overflow-hidden text-primary overflow-ellipsis">
+        </sfng-netquery-scope-label>
+      </span>
+
+      <div class="flex-grow"></div>
+      <div>
+        <app-menu-trigger [menu]="groupedMenu"></app-menu-trigger>
+        <app-menu #groupedMenu>
+          <app-menu-item (activate)="useAsFilter(data)">Use as filter</app-menu-item>
+          <app-menu-item *ngIf="data.__profile"
+            (activate)="router.navigate(['/app', data.__profile.Source, data.__profile.ID])">App Settings
+          </app-menu-item>
+        </app-menu>
+      </div>
+
+      <ng-container *ngIf="(data._chart | async) as chartData" class="relative">
+        <sfng-netquery-line-chart [data]="$any(chartData)" showAxis="false" margin="0"
+          class="absolute top-0 bottom-0 right-0 w-64 bg-gray-100 bg-opacity-25 border border-gray-400 border-opacity-25 rounded-r opacity-75 shadow-inner-xs">
+        </sfng-netquery-line-chart>
+      </ng-container>
+      <!-- placeholder for the chart -->
+      <div style="flex-basis: 14.5rem"></div>
+    </ng-template>
+
+    <ng-template #connView>
+      <sfng-netquery-connection-row [conn]="data"></sfng-netquery-connection-row>
+    </ng-template>
+
+  </div>
+</ng-template>
+
+<div class="flex flex-row items-center justify-start gap-3 mt-3">
+  <span class="text-xxs text-primary" *ngIf="!loading">{{ totalResultCount }} Results
+    <span class="text-secondary">of {{totalConnCount}} total connections</span>
+  </span>
+  <span class="flex-grow"></span>
+  <span class="pr-3 text-xxs text-secondary" [ngClass]="{
+    'text-yellow-300': ((lastReloadTicker|async)||0) > 60,
+    'text-red-300': ((lastReloadTicker|async)||0) > 600
+  }">
+    Last Reload: {{ lastReload | timeAgo:(lastReloadTicker|async) }}
+  </span>
+</div>
+
+<sfng-pagination *ngIf="!loading; else: loadingTemplate" [source]="paginator" class="flex flex-col">
+  <ng-template [sfngPageContent]>
+    <sfng-accordion-group class="flex flex-col gap-2 pr-4"
+      *ngIf="(paginator.pageLoading$ | async) === false; else: loadingTemplate" [headerTemplate]="headerTemplate"
+      singleMode="false">
+
+      <sfng-accordion [data]="result" #accordion
+        *ngFor="let result of (paginator.pageItems$ | async); trackBy: trackPageItem">
+        <div *ngIf="accordion.active" class="p-3 bg-opacity-75 border-gray-300 rounded-b-sm"
+          [ngClass]="{'bg-gray-300 border-t': !result._group}">
+
+          <!-- nested accordion for connections inside a group -->
+          <ng-container *ngIf="result._group !== null; else: connectionDetails">
+            <sfng-accordion-group class="flex flex-col gap-2 ml-4"
+              *ngIf="(result._group | async) as connsPaginator; else: loadingTemplate" [headerTemplate]="headerTemplate"
+              singleMode="false">
+
+              <div class="flex flex-row items-center p-2 text-secondary" *ngIf="connsPaginator.total === 0">
+                All connections ended more than 10 minutes ago and have been removed.
+              </div>
+
+              <sfng-pagination [source]="connsPaginator" class="flex flex-col flex-grow gap-2">
+                <ng-template [sfngPageContent]>
+                  <sfng-accordion *ngFor="let conn of (connsPaginator.pageItems$ | async); trackBy: trackConnection"
+                    [data]="conn" #subAccordion>
+                    <div *ngIf="subAccordion.active"
+                      class="p-3 bg-gray-300 bg-opacity-75 border-t border-gray-300 rounded-b-sm">
+                      <ng-container *ngTemplateOutlet="connectionDetails; context: {$implicit: conn}"></ng-container>
+                    </div>
+                  </sfng-accordion>
+                </ng-template>
+              </sfng-pagination>
+            </sfng-accordion-group>
+          </ng-container>
+
+          <!-- connection template -->
+          <ng-template #connectionDetails let-conn>
+            <!-- ng-if used to delcare a local variable as an "alias" to (conn || result) -->
+            <ng-container *ngIf="(conn || result) as data">
+              <sfng-netquery-conn-details [conn]="data">
+              </sfng-netquery-conn-details>
+            </ng-container>
+          </ng-template>
+        </div>
+      </sfng-accordion>
+    </sfng-accordion-group>
+  </ng-template>
+</sfng-pagination>
+
+
+<ng-template #loadingTemplate>
+  <div class="flex flex-col items-center justify-center flex-grow gap-2 text-tertiary">
+    <svg class="w-6 h-6 text-secondary animate-spin" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24">
+      <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
+      <path class="opacity-75" fill="currentColor"
+        d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z">
+      </path>
+    </svg>
+    Loading connections ...
+  </div>
+</ng-template>
+
+<div class="flex flex-row items-center justify-center flex-shrink-0 w-full gap-1 text-xxs text-tertiary"
+  *appExpertiseLevel="'expert'">
+  <svg xmlns="http://www.w3.org/2000/svg" class="w-3 h-3 -mt-0.5 text-primary" viewBox="0 0 20 20" fill="currentColor">
+    <path
+      d="M11 3a1 1 0 10-2 0v1a1 1 0 102 0V3zM15.657 5.757a1 1 0 00-1.414-1.414l-.707.707a1 1 0 001.414 1.414l.707-.707zM18 10a1 1 0 01-1 1h-1a1 1 0 110-2h1a1 1 0 011 1zM5.05 6.464A1 1 0 106.464 5.05l-.707-.707a1 1 0 00-1.414 1.414l.707.707zM5 10a1 1 0 01-1 1H3a1 1 0 110-2h1a1 1 0 011 1zM8 16v-1h4v1a2 2 0 11-4 0zM12 14c.015-.34.208-.646.477-.859a4 4 0 10-4.954 0c.27.213.462.519.476.859h4.002z" />
+  </svg>
+  <span class="font-semibold text-primary">Pro Tip:</span>
+  <span class="protip">
+    <ng-container *ngTemplateOutlet="proTips?.get(proTipIdx) || null"></ng-container>
+  </span>
+</div>
+
+<ng-template #proTip>
+  Press
+  <pre>CTRL + Space</pre>
+  on any page to bring up the quick search box.
+</ng-template>
+
+<ng-template #proTip>
+  Use your keyboard arrows to navigate through the search suggestions. Press
+  <pre>ENTER</pre> to search for the suggestion or use
+  <pre>Shift + Enter</pre> to add it to the search text.
+</ng-template>
+
+<ng-template #proTip>
+  Inside the search box, use
+  <pre>Ctrl + Space</pre> to force loading suggestions.
+</ng-template>
+
+<ng-template #proTip>
+  Use
+  <pre>Shift + Click</pre> to add connection attributes to the current filter.
+</ng-template>
+
+<ng-template #proTip>
+  Hold
+  <pre>Shift</pre> to highlight attributes that can be used in the filter.
+</ng-template>
+
+<ng-template #proTip>
+  Hold
+  <pre>CTRL</pre> and click attributes to copy them to the clipboard.
+</ng-template>
diff --git a/desktop/angular/src/app/shared/netquery/netquery.component.ts b/desktop/angular/src/app/shared/netquery/netquery.component.ts
new file mode 100644
index 00000000..d4befb47
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/netquery.component.ts
@@ -0,0 +1,1270 @@
+import { coerceArray } from "@angular/cdk/coercion";
+import { FormatWidth, formatDate, getLocaleDateFormat, getLocaleId } from "@angular/common";
+import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, EventEmitter, Input, LOCALE_ID, OnDestroy, OnInit, Output, QueryList, TemplateRef, TrackByFunction, ViewChildren, inject, isDevMode } from "@angular/core";
+import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
+import { ActivatedRoute, Router } from "@angular/router";
+import { BandwidthChartResult, ChartResult, Condition, Database, FeatureID, GreaterOrEqual, IPScope, LessOrEqual, Netquery, NetqueryConnection, OrderBy, Pin, PossilbeValue, Query, QueryResult, SPNService, Select, Verdict } from "@safing/portmaster-api";
+import { Datasource, DynamicItemsPaginator, SelectOption } from "@safing/ui";
+import { BehaviorSubject, Observable, Subject, combineLatest, forkJoin, interval, of } from "rxjs";
+import { catchError, debounceTime, filter, map, share, skip, switchMap, take, takeUntil } from "rxjs/operators";
+import { ActionIndicatorService } from "../action-indicator";
+import { ExpertiseService } from "../expertise";
+import { objKeys } from "../utils";
+import { fadeInAnimation } from './../animations';
+import { IPScopeNames, LocalAppProfile, NetqueryHelper } from "./connection-helper.service";
+import { SfngSearchbarFields } from "./searchbar";
+import { SfngTagbarValue } from "./tag-bar";
+import { Parser } from "./textql";
+import { connectionFieldTranslation, mergeConditions } from "./utils";
+import { DefaultBandwidthChartConfig } from "./line-chart/line-chart";
+import { INTEGRATION_SERVICE } from "src/app/integration";
+
+interface Suggestion<T = any> extends PossilbeValue<T> {
+  count: number;
+  selected?: boolean;
+}
+
+interface Model<T> {
+  suggestions: Suggestion<T>[];
+  searchValues: any[];
+  visible: boolean | 'combinedMenu';
+  menuTitle?: string;
+  loading: boolean;
+  tipupKey?: string;
+  virtual?: boolean;
+}
+
+const freeTextSearchFields: (keyof Partial<NetqueryConnection>)[] = [
+  'domain',
+  'as_owner',
+  'path',
+  'profile_name',
+]
+
+const groupByKeys: (keyof Partial<NetqueryConnection>)[] = [
+  'domain',
+  'as_owner',
+  'country',
+  'direction',
+  'path',
+  'profile'
+]
+
+const orderByKeys: (keyof Partial<NetqueryConnection>)[] = [
+  'domain',
+  'as_owner',
+  'country',
+  'direction',
+  'path',
+  'started',
+  'ended',
+  'profile',
+]
+
+interface LocalQueryResult extends QueryResult {
+  _chart: Observable<ChartResult[]> | null;
+  _group: Observable<DynamicItemsPaginator<NetqueryConnection>> | null;
+  __profile?: LocalAppProfile;
+  __exitNode?: Pin;
+}
+
+interface QuickDateSetting {
+  name: string;
+  apply: () => [Date, Date];
+}
+
+/**
+ * Netquery Viewer
+ *
+ * This component is the actual viewer component for the netquery subsystem of the Portmaster.
+ * It allows the user to specify connection filters in multiple different ways and allows
+ * to do a deep-dive into all connections seen by the Portmaster (that are still stored in
+ * the in-memory SQLite database of the netquery subsystem).
+ *
+ * The user is able to modify the filter query by either:
+ *  - using the available drop-downs
+ *  - using the searchbar which
+ *    - supports typed searches for connection fields (i.e. country:AT domain:google.at)
+ *    - free-text search across the list of supported "full-text" search fields (see freeTextSearchFields)
+ *  - by shift-clicking any value that has a SfngAddToFilter directive
+ *  - by removing values from the tag bar.
+ */
+
+@Component({
+  // eslint-disable-next-line @angular-eslint/component-selector
+  selector: 'sfng-netquery-viewer',
+  templateUrl: './netquery.component.html',
+  providers: [
+    NetqueryHelper,
+  ],
+  styles: [
+    `
+    :host {
+      @apply flex flex-col gap-3 pr-3 min-h-full;
+    }
+
+    .protip pre {
+      @apply inline-block text-xxs uppercase rounded-sm bg-gray-500 bg-opacity-25 font-mono border-gray-500 border px-0.5;
+    }
+    `
+  ],
+  animations: [
+    fadeInAnimation
+  ],
+  changeDetection: ChangeDetectionStrategy.OnPush
+})
+// eslint-disable-next-line @angular-eslint/component-class-suffix
+export class SfngNetqueryViewer implements OnInit, OnDestroy, AfterViewInit {
+  /** @private Used to trigger a reload of the current filter */
+  private search$ = new Subject<void>();
+
+  /** @private The DestroyRef of the component, required for takeUntilDestroyed */
+  private destroyRef = inject(DestroyRef);
+
+  /** @private Used to trigger an update of all displayed values in the tag-bar. */
+  private updateTagBar$ = new BehaviorSubject<void>(undefined);
+
+  /** @private Whether or not the next update on ActivatedRoute should be ignored */
+  private skipNextRouteUpdate = false;
+
+  /** @private Whether or not we should update the URL when performSearch() finishes */
+  private skipUrlUpdate = false;
+
+  /** @private The LOCALE_ID to format dates. */
+  private localeId = inject(LOCALE_ID);
+
+  private integration = inject(INTEGRATION_SERVICE);
+
+  /** @private the date format for the nz-range-picker */
+  dateFormat = getLocaleDateFormat(getLocaleId(this.localeId), FormatWidth.Medium)
+
+  /** @private A list of quick-date settings for the nz-range-picker */
+  quickDateSettings: QuickDateSetting[] = [
+    {
+      name: 'Today',
+      apply: () => {
+        const now = new Date();
+        return [
+          new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0),
+          new Date(now.getFullYear(), now.getMonth(), now.getDate() + 1, 0, 0, -1),
+        ]
+      }
+    },
+    {
+      name: 'Last 24 Hours',
+      apply: () => {
+        const now = new Date();
+        return [
+          new Date(now.getFullYear(), now.getMonth(), now.getDate(), now.getHours() - 24, now.getMinutes(), now.getSeconds()),
+          now
+        ]
+      }
+    },
+    {
+      name: 'Last 7 Days',
+      apply: () => {
+        const now = new Date();
+        return [
+          new Date(now.getFullYear(), now.getMonth(), now.getDate() - 7, now.getHours(), now.getMinutes(), now.getSeconds()),
+          now,
+        ]
+      }
+    },
+    {
+      name: 'Last Month',
+      apply: () => {
+        const now = new Date();
+        return [
+          new Date(now.getFullYear(), now.getMonth() - 1, now.getDate(), now.getHours(), now.getMinutes(), now.getSeconds()),
+          now,
+        ]
+      }
+    },
+  ]
+
+  applyQuickDateSetting(qds: QuickDateSetting) {
+    const [from, to] = qds.apply()
+
+    const fromStr = formatDate(from, 'medium', this.localeId)
+    const toStr = formatDate(to, 'medium', this.localeId)
+
+    this.onFieldsParsed({
+      from: [fromStr],
+      to: [toStr]
+    }, true)
+  }
+
+  /** @private - The paginator used for the result set */
+  paginator!: DynamicItemsPaginator<LocalQueryResult>;
+
+  /** @private - The total amount of connections without the filter applied */
+  totalConnCount: number = 0;
+
+  /** @private - The total amount of connections with the filter applied */
+  totalResultCount: number = 0;
+
+  /** The value of the free-text search */
+  textSearch: string = '';
+
+  /** The date filter */
+  dateFilter: Date[] = []
+
+  /** a list of allowed group-by keys */
+  readonly allowedGroupBy = groupByKeys;
+
+  /** a list of allowed order-by keys */
+  readonly allowedOrderBy = orderByKeys;
+
+  /** @private Whether or not we are currently loading data */
+  loading = false;
+
+  /** @private The connection chart data */
+  connectionChartData: ChartResult[] = [];
+
+  /** @private The bandwidth chart data */
+  bwChartData: BandwidthChartResult<any>[] = [];
+
+  /** @private The configuration for the bandwidth chart */
+  readonly bwChartConfig = DefaultBandwidthChartConfig;
+
+  /** @private The list of "pro-tips" that are defined in the template. Only one pro-tip will be rendered depending on proTipIdx */
+  @ViewChildren('proTip', { read: TemplateRef })
+  proTips!: QueryList<TemplateRef<any>>
+
+  /** @private The index of the pro-tip that is currently rendered. */
+  proTipIdx = 0;
+
+  /** @private The last time the connections were loaded */
+  lastReload: Date = new Date();
+
+  /** @private Used to refresh the "Last reload xxx ago" message */
+  lastReloadTicker = interval(2000)
+    .pipe(
+      takeUntilDestroyed(this.destroyRef),
+      map(() => Math.floor((new Date()).getTime() - this.lastReload.getTime()) / 1000),
+      share()
+    )
+
+  // whether or not the history database should be queried as well.
+  get useHistory() {
+    return this.dateFilter?.length;
+  }
+
+  private get databases(): Database[] {
+    if (!this.useHistory) {
+      return [Database.Live];
+    }
+
+    return [Database.Live, Database.History];
+  }
+
+  // whether or not the current use has the history feature available.
+  canUseHistory$ = inject(SPNService).profile$
+    .pipe(
+      map(profile => {
+        if (!profile) {
+          return false;
+        }
+
+        return profile.current_plan?.feature_ids?.includes(FeatureID.History) || false;
+      })
+    );
+
+  featureBw$ = inject(SPNService).profile$
+    .pipe(
+      map(profile => {
+        if (!profile) {
+          return false;
+        }
+
+        return profile.current_plan?.feature_ids?.includes(FeatureID.Bandwidth) || false;
+      })
+    );
+
+  trackPageItem: TrackByFunction<LocalQueryResult> = (_, r) => {
+    if (this.groupByKeys?.length) {
+      return this.groupByKeys.map(key => r[key]).join('-')
+    }
+    return r.id!
+  }
+
+  trackConnection: TrackByFunction<NetqueryConnection> = (_, c) => c.id
+
+  constructor(
+    private netquery: Netquery,
+    private helper: NetqueryHelper,
+    private expertise: ExpertiseService,
+    private cdr: ChangeDetectorRef,
+    private actionIndicator: ActionIndicatorService,
+    private route: ActivatedRoute,
+    public router: Router,
+  ) { }
+
+  @Input()
+  set filters(v: any | keyof this['models'] | (keyof this['models'])[]) {
+    v = coerceArray(v);
+    objKeys(this.models).forEach(key => {
+      // ignore any models that are marked as being shown in the combined-menu.
+      if (this.models[key]?.visible !== 'combinedMenu') {
+        this.models[key]!.visible = false;
+      }
+    })
+
+    v.forEach((val: any) => {
+      if (typeof val !== 'string') {
+        throw new Error("invalid value for @Input() filters")
+      }
+
+      if (!this.isValidFilter(val)) {
+        throw new Error('invalid filter key ' + val)
+      }
+
+      this.models[val]!.visible = true;
+    })
+  }
+
+  /**
+   * mergeFilter input can be used to apply an additional filter condition that cannot be modified by
+   * the user (like forcing a "profile" filter for the App View)
+   */
+  @Input()
+  mergeFilter: Condition | null = null;
+
+  /** The filter preset that will be used if no filter is configured otherwise */
+  @Input()
+  filterPreset: string | null = null;
+
+  @Output()
+  filterChange: EventEmitter<string> = new EventEmitter();
+
+  /** @private Holds the value displayed in the tag-bar */
+  tagbarValues: SfngTagbarValue[] = [];
+
+  private updateDateRangeState() {
+    const values = [
+      this.models.from.searchValues[0],
+      this.models.to.searchValues[0],
+    ]
+
+    let fromValueTs = Date.parse(values[0])
+    let toValueTs = Date.parse(values[1])
+
+    // if we failed to parse the date from a string, the user might
+    // just entered the timestamp in seconds
+    if (isNaN(fromValueTs)) {
+      fromValueTs = Number(values[0]) * 1000
+    }
+    if (isNaN(toValueTs)) {
+      toValueTs = Number(values[1]) * 1000
+    }
+
+    const fromValid = !isNaN(fromValueTs)
+    const toValid = !isNaN(toValueTs)
+
+
+    let fromValue = new Date(fromValueTs)
+    let toValue = new Date(toValueTs);
+
+    if (fromValid && toValid && fromValue.getTime() === toValue.getTime()) {
+      fromValue = new Date(fromValue.getFullYear(), fromValue.getMonth(), fromValue.getDate(), 0, 0, 0)
+      toValue = new Date(toValue.getFullYear(), toValue.getMonth(), toValue.getDate() + 1, 0, 0, -1)
+    }
+
+    this.dateFilter = [];
+
+    if (fromValid) {
+      this.dateFilter.push(fromValue)
+      this.models.from.searchValues = [
+        formatDate(fromValue, 'medium', this.localeId)
+      ]
+    }
+
+    if (toValid) {
+      if (!fromValid) {
+        this.dateFilter.push(new Date(2000, 0, 1))
+      }
+
+      this.dateFilter.push(toValue)
+      this.models.to.searchValues = [
+        formatDate(toValue, 'medium', this.localeId)
+      ]
+    }
+
+    this.cdr.markForCheck();
+  }
+
+  private getDateRangeCondition(): Condition | null {
+    this.updateDateRangeState()
+
+    if (!this.dateFilter.length) {
+      return null
+    }
+
+    const cond: GreaterOrEqual & Partial<LessOrEqual> = {
+      $ge: Math.floor(this.dateFilter[0].getTime() / 1000),
+    }
+
+    if (this.dateFilter.length >= 2) {
+      cond['$le'] = Math.floor(this.dateFilter[1].getTime() / 1000)
+    }
+
+    return {
+      started: cond
+    }
+  }
+
+  models: { [key: string]: Model<any> } = initializeModels({
+    domain: {
+      visible: true,
+    },
+    as_owner: {
+      visible: true,
+    },
+    country: {
+      visible: true,
+    },
+    profile: {
+      visible: true
+    },
+    allowed: {
+      visible: true,
+    },
+    path: {},
+    internal: {},
+    type: {},
+    encrypted: {},
+    scope: {
+      visible: 'combinedMenu',
+      menuTitle: 'Network Scope',
+      suggestions: objKeys(IPScopeNames)
+        .sort()
+        .filter(key => key !== IPScope.Undefined)
+        .map(scope => {
+          return {
+            Name: IPScopeNames[scope],
+            Value: scope,
+            count: 0,
+            Description: ''
+          }
+        })
+    },
+    verdict: {},
+    started: {},
+    ended: {},
+    profile_revision: {},
+    remote_ip: {},
+    remote_port: {},
+    local_ip: {},
+    local_port: {},
+    ip_protocol: {},
+    direction: {
+      visible: 'combinedMenu',
+      menuTitle: 'Direction',
+      suggestions: [
+        {
+          Name: 'Inbound',
+          Value: 'inbound',
+          Description: '',
+          count: 0,
+        },
+        {
+          Name: 'Outbound',
+          Value: 'outbound',
+          Description: '',
+          count: 0,
+        }
+      ]
+    },
+    exit_node: {},
+    asn: {},
+    active: {
+      visible: 'combinedMenu',
+      menuTitle: 'Active',
+      suggestions: booleanSuggestionValues(),
+    },
+    tunneled: {
+      visible: 'combinedMenu',
+      menuTitle: 'SPN',
+      suggestions: booleanSuggestionValues(),
+      tipupKey: 'spn'
+    },
+    from: {
+      virtual: true
+    },
+    to: {
+      virtual: true,
+    },
+  })
+
+  /** Translations for the connection field names */
+  keyTranslation = connectionFieldTranslation;
+
+  /** A list of keys for group-by */
+  groupByKeys: string[] = [];
+
+  /** A list of keys for sorting */
+  orderByKeys: string[] = [];
+
+  ngOnInit(): void {
+    // Prepare the datasource that is used to initialize the DynamicItemPaginator.
+    // It basically has a "view" function that executes the current page query
+    // but with page-number and page-size applied.
+    // This is used by the paginator to support lazy-loading the different
+    // result pages.
+    const dataSource: Datasource<LocalQueryResult> = {
+      view: (page: number, pageSize: number) => {
+        const query = this.getQuery();
+        query.page = page - 1; // UI starts at page 1 while the backend is 0-based
+        query.pageSize = pageSize;
+
+        return this.netquery.query(query, 'netquery-viewer')
+          .pipe(
+            this.helper.attachProfile(),
+            this.helper.attachPins(),
+            map(results => {
+              return (results || []).map(r => {
+                const grpFilter: Condition = {
+                  ...query.query,
+                };
+                this.groupByKeys.forEach(key => {
+                  grpFilter[key] = r[key];
+                })
+
+                let page = {
+                  ...r,
+                  _chart: !!this.groupByKeys.length ? this.getGroupChart(grpFilter) : null,
+                  _group: !!this.groupByKeys.length ? this.lazyLoadGroup(grpFilter) : null,
+                }
+
+                return page;
+              });
+            })
+          );
+      }
+    }
+
+    // create a new paginator that will use the datasource from above.
+    this.paginator = new DynamicItemsPaginator(dataSource)
+
+    // subscribe to the search observable that emits a value each time we want to perform
+    // a new query.
+    // The actual searching is debounced by second so we don't flood the Portmaster service
+    // with queries while the user is still configuring their filters.
+    this.search$
+      .pipe(
+        debounceTime(1000),
+        switchMap(() => {
+          this.loading = true;
+          this.connectionChartData = [];
+          this.bwChartData = [];
+
+          this.cdr.detectChanges();
+
+          const query = this.getQuery();
+
+          // we only load the overall connection chart, the total connection count for the filter result
+          // as well the the total connection count without any filters here. The actual results are
+          // loaded by the DynamicItemsPaginator using the "view" function defined above.
+          return forkJoin({
+            query: of(query),
+            response: this.netquery.batch({
+              totalCount: {
+                ...query,
+                select: { $count: { field: '*', as: 'totalCount' } },
+              },
+
+              totalConnCount: {
+                ...query,
+                select: {
+                  $count: { field: '*', as: 'totalConnCount' }
+                },
+              }
+            })
+              .pipe(
+                map(response => {
+                  // the the correct resulsts here which depend on whether or not
+                  // we're applying a group by.
+                  let totalCount = 0;
+                  if (this.groupByKeys.length === 0) {
+                    totalCount = response.totalCount[0].totalCount;
+                  } else {
+                    totalCount = response.totalCount.length;
+                  }
+
+                  return {
+                    totalCount,
+                    totalConnCount: response.totalConnCount,
+                  }
+                })
+              ),
+          })
+        }),
+      )
+      .subscribe(result => {
+        this.paginator.pageLoading$
+          .pipe(
+            skip(1),
+            takeUntil(this.search$), // skip loading the chart if the user trigger a subsequent search
+            filter(loading => !loading),
+            take(1),
+            switchMap(() => forkJoin({
+              connectionChart: this.netquery.activeConnectionChart(result.query.query!)
+                .pipe(
+                  catchError(err => {
+                    this.actionIndicator.error(
+                      'Internal Error',
+                      'Failed to load chart: ' + this.actionIndicator.getErrorMessgae(err)
+                    );
+
+                    return of([] as ChartResult[]);
+                  }),
+                ),
+              bwChart: this.netquery.bandwidthChart(result.query.query!, [], 60)
+            })),
+          )
+          .subscribe(chart => {
+            this.connectionChartData = chart.connectionChart;
+            this.bwChartData = chart.bwChart;
+
+            this.cdr.markForCheck();
+          })
+
+        // reset the paginator with the new total result count and
+        // open the first page.
+        this.paginator.reset(result.response.totalCount);
+        this.totalConnCount = result.response.totalConnCount[0].totalConnCount;
+        this.totalResultCount = result.response.totalCount;
+
+        // update the current URL to include the new search
+        // query and make sure we skip the parameter-update emitted by
+        // router.
+        if (!this.skipUrlUpdate) {
+          this.skipNextRouteUpdate = true;
+
+          const queryText = this.getQueryString();
+
+          this.filterChange.next(queryText);
+
+          // note that since we only update the query parameters and stay on
+          // the current route this component will not get re-created but will
+          // rather receive an update on the queryParamMap (see below).
+          this.router.navigate([], {
+            relativeTo: this.route,
+            queryParams: {
+              ...this.route.snapshot.queryParams,
+              q: queryText,
+            },
+          })
+        }
+        this.skipUrlUpdate = false;
+
+        this.loading = false;
+        this.cdr.markForCheck();
+      })
+
+    // subscribe to router updates so we apply the filter that is part of
+    // the current query parameter "q".
+    // We might ignore updates here depending on the value of "skipNextRouterUpdate".
+    // This is required as we keep the route parameters in sync with the current filter.
+    this.route.queryParamMap
+      .pipe(
+        takeUntilDestroyed(this.destroyRef),
+      )
+      .subscribe(params => {
+        if (this.skipNextRouteUpdate) {
+          this.skipNextRouteUpdate = false;
+          return;
+        }
+
+        const query = params.get("q")
+
+        if (query !== null) {
+          objKeys(this.models).forEach(key => {
+            this.models[key]!.searchValues = [];
+          })
+
+          const result = Parser.parse(query!)
+
+          this.onFieldsParsed({
+            ...result.conditions,
+            groupBy: result.groupBy,
+            orderBy: result.orderBy,
+          });
+          this.textSearch = result.textQuery;
+        }
+
+        this.skipUrlUpdate = true;
+        this.performSearch();
+      })
+
+    // we might get new search values from our helper service
+    // in case the user "SHIFT-Clicks" a SfngAddToFilter directive.
+    this.helper.onFieldsAdded()
+      .pipe(takeUntilDestroyed(this.destroyRef))
+      .subscribe(fields => this.onFieldsParsed(fields))
+
+    // updateTagBar$ always emits a value when we need to update the current tag-bar values.
+    // This must always be done if the current search filter has been modified in either of
+    // the supported ways.
+    this.updateTagBar$
+      .pipe(
+        takeUntilDestroyed(this.destroyRef),
+        switchMap(() => {
+          const obs: Observable<{ [key: string]: (PossilbeValue & QueryResult)[] }>[] = [];
+
+          // for the tag bar we try to show some pretty names for values that are meant to be
+          // internal (like the number-constants for the verdicts or using the profile name instead
+          // of the profile ID). Since we might need to load data from the Portmaster for this (like
+          // for profile names) we construct a list of observables using helper.encodeToPossibleValues
+          // and use the result for the tagbar.
+          Object.keys(this.models)
+            .sort() // make sure we always output values in a constant order
+            .forEach(modelKey => {
+              const values = this.models[modelKey]!.searchValues;
+
+              if (values.length > 0) {
+                obs.push(
+                  of(values.map(val => ({
+                    [modelKey]: val,
+                  })))
+                    .pipe(
+                      this.helper.encodeToPossibleValues(modelKey),
+                      map(result => ({
+                        [modelKey]: result,
+                      }))
+                    )
+                )
+              }
+            })
+
+          if (obs.length === 0) {
+            return of([]);
+          }
+
+          return combineLatest(obs);
+        })
+      )
+      .subscribe(tagBarValues => {
+        this.tagbarValues = [];
+
+        // reset the "selected" field of each model that is shown in the "combinedMenu".
+        // we'll set the correct ones as "selected" again in the next step.
+        objKeys(this.models).forEach(key => {
+          if (this.models[key]?.visible === 'combinedMenu') {
+            this.models[key]?.suggestions.forEach(val => val.selected = false);
+          }
+        })
+
+        // finally construct a new list of tag-bar values and update the "selected" field of
+        // suggested-values for the "combinedMenu" items based on the actual search values.
+        tagBarValues.forEach(obj => {
+          objKeys(obj).forEach(key => {
+            if (obj[key].length > 0) {
+              this.tagbarValues.push({
+                key: key as string,
+                values: obj[key],
+              })
+
+              // update the `selected` field of suggested-values for each model that is displayed in the combined-menu
+              const modelsKey = key as keyof NetqueryConnection;
+              if (this.models[modelsKey]?.visible === 'combinedMenu')
+                this.models[modelsKey]?.suggestions.forEach(suggestedValue => {
+                  suggestedValue.selected = obj[key].some(val => val.Value === suggestedValue.Value);
+                })
+            }
+          })
+        })
+
+        this.cdr.markForCheck();
+      })
+
+    // handle any filter preset
+    //
+    if (!!this.filterPreset) {
+      try {
+        const result = Parser.parse(this.filterPreset);
+        this.onFieldsParsed({
+          ...result.conditions,
+          groupBy: result.groupBy,
+          orderBy: result.orderBy,
+        });
+      } catch (err) {
+        // only log the error in dev mode as this is most likely
+        // just bad user input
+        if (isDevMode()) {
+          console.error(err);
+        }
+      }
+    }
+  }
+
+  ngAfterViewInit(): void {
+    // once we are initialized decide which pro-tip we want to show this time...
+    this.proTipIdx = Math.floor(Math.random() * this.proTips.length);
+  }
+
+  ngOnDestroy() {
+    this.paginator.clear();
+    this.search$.complete();
+    this.helper.dispose();
+  }
+
+  // lazyLoadGroup returns an observable that will emit a DynamicItemsPaginator once subscribed.
+  // This is used in "group-by" views to lazy-load the content of the group once the user
+  // expands it.
+  lazyLoadGroup(groupFilter: Condition): Observable<DynamicItemsPaginator<NetqueryConnection>> {
+    return new Observable(observer => {
+      this.netquery.query({
+        query: groupFilter,
+        select: [
+          { $count: { field: "*", as: "totalCount" } }
+        ],
+        orderBy: [
+          { field: 'started', desc: true },
+          { field: 'ended', desc: true }
+        ],
+        databases: this.databases,
+      }, 'netquery-viewer-load-group')
+        .subscribe(result => {
+          const paginator = new DynamicItemsPaginator<NetqueryConnection>({
+            view: (pageNumber: number, pageSize: number) => {
+              return this.netquery.query({
+                query: groupFilter,
+                orderBy: [
+                  { field: 'started', desc: true },
+                  { field: 'ended', desc: true }
+                ],
+                page: pageNumber - 1,
+                pageSize: pageSize,
+                databases: this.databases,
+              }, 'netquery-viewer-group-paginator') as Observable<NetqueryConnection[]>;
+            }
+          }, 25)
+
+          paginator.reset(result[0]?.totalCount || 0)
+
+          observer.next(paginator)
+        })
+    })
+  }
+
+  // Returns an observable that loads the current active connection chart using the
+  // current page query but only for the condition of the displayed group.
+  getGroupChart(groupFilter: Condition): Observable<ChartResult[]> {
+    return this.netquery.activeConnectionChart(groupFilter)
+  }
+
+  // loadSuggestion loads possible values for a given connection field
+  // and updates the "suggestions" field of the correct models entry.
+  // It also uses helper.encodeToPossibleValues to make sure we show
+  // pretty names for otherwise "internal" values like verdict constants
+  // or profile IDs.
+  loadSuggestion(field: string): void;
+  loadSuggestion<T extends keyof NetqueryConnection>(field: T) {
+    const search = this.getQuery([field]);
+
+    this.models[field]!.loading = !this.models[field]!.suggestions?.length;
+
+    this.netquery.query({
+      select: [
+        field,
+        {
+          $count: {
+            field: "*",
+            as: "count"
+          },
+        }
+      ],
+      query: search.query,
+      groupBy: [
+        field,
+      ],
+      orderBy: [{ field: "count", desc: true }, { field, desc: true }],
+      databases: this.databases,
+    }, 'netquery-viewer-load-suggestions')
+      .pipe(this.helper.encodeToPossibleValues(field))
+      .subscribe(result => {
+        this.models[field]!.loading = false;
+
+        // create a set that we can use to lookup if a value
+        // is currently selected.
+        // This is needed to ensure selected values are sorted to the top.
+        let currentlySelected = new Set<any>();
+        this.models[field]!.searchValues.forEach(
+          val => currentlySelected.add(val)
+        );
+
+        this.models[field]!.suggestions =
+          result
+            .sort((a, b) => {
+              const hasA = currentlySelected.has(a.Value);
+              const hasB = currentlySelected.has(b.Value);
+
+              if (hasA && !hasB) {
+                return -1;
+              }
+              if (hasB && !hasA) {
+                return 1;
+              }
+
+              return b.count - a.count;
+            }) as any;
+
+        this.cdr.markForCheck();
+      })
+  }
+
+  sortByCount(a: SelectOption, b: SelectOption) {
+    return b.data - a.data
+  }
+
+  /** @private Callback for keyboard events on the search-input */
+  onFieldsParsed(fields: SfngSearchbarFields, replace = false) {
+    const allowedKeys = new Set<string>(Object.keys(this.models))
+
+    objKeys(fields).forEach(key => {
+      if (key === 'groupBy') {
+        this.groupByKeys = (fields.groupBy || this.groupByKeys)
+          .filter(val => {
+            // an empty value is just filtered out without an error as this is the only
+            // way to specify "I don't want grouping" via the filter
+            if (val === '') {
+              return false;
+            }
+
+            if (!allowedKeys.has(val as any)) {
+              this.actionIndicator.error("Invalid search query", "Column " + val + " is not allowed for groupby")
+              return false;
+            }
+            return true;
+          })
+
+        return;
+      }
+
+      if (key === 'orderBy') {
+        this.orderByKeys = (fields.orderBy || this.orderByKeys)
+          .filter(val => {
+            if (!allowedKeys.has(val as any)) {
+              this.actionIndicator.error("Invalid search query", "Column " + val + " is not allowed for orderby")
+              return false;
+            }
+            return true;
+          })
+
+        return;
+      }
+
+      if (!allowedKeys.has(key)) {
+        this.actionIndicator.error("Invalid search query", "Column " + key + " is not allowed for filtering");
+        return;
+      }
+
+      if (fields[key]?.length === 0 && replace) {
+        this.models[key].searchValues = [];
+      } else {
+        fields[key]!.forEach(val => {
+          // quick fix to make sure domains always end in a period.
+          if (key === 'domain' && typeof val === 'string' && val.length > 0 && !val.endsWith('.')) {
+            val = `${val}.`
+          }
+
+          if (typeof val === 'object' && '$ne' in val) {
+            this.actionIndicator.error("NOT conditions are not yet supported")
+            return;
+          }
+
+          // avoid duplicates
+          if (this.models[key]!.searchValues.includes(val)) {
+            return;
+          }
+
+          if (!replace) {
+            this.models[key]!.searchValues = [
+              ...this.models[key]!.searchValues,
+              val,
+            ]
+          } else {
+            this.models[key]!.searchValues = [val]
+          }
+        })
+      }
+
+      this.updateDateRangeState()
+    })
+
+    this.cdr.markForCheck();
+
+    this.performSearch();
+  }
+
+  /** @private Query the portmaster service for connections matching the current settings */
+  performSearch() {
+    this.loading = true;
+    this.lastReload = new Date();
+    this.paginator.clear()
+    this.search$.next();
+    this.updateTagbarValues();
+  }
+
+  /** @private Returns the current query in it's string representation */
+  getQueryString(): string {
+    let result = '';
+
+    objKeys(this.models).forEach(key => {
+      this.models[key]?.searchValues.forEach(val => {
+        // we use JSON.stringify here to make sure the value is
+        // correclty quoted.
+        result += `${key}:${JSON.stringify(val)} `;
+      })
+    })
+
+    if (result.length > 0 && this.textSearch.length > 0) {
+      result += ' '
+    }
+
+    this.groupByKeys.forEach(key => {
+      result += `groupby:"${key}" `
+    })
+    this.orderByKeys.forEach(key => {
+      result += `orderby:"${key}" `
+    })
+
+    if (result.length > 0 && this.textSearch.length > 0) {
+      result += ' '
+    }
+
+    result += `${this.textSearch}`
+
+    return result;
+  }
+
+  /** @private Copies the current query into the user clipboard */
+  copyQuery() {
+    this.integration.writeToClipboard(this.getQueryString())
+      .then(() => {
+        this.actionIndicator.success("Query copied to clipboard", 'Go ahead and share your query!')
+      })
+      .catch((err) => {
+        this.actionIndicator.error('Failed to copy to clipboard', this.actionIndicator.getErrorMessgae(err))
+      })
+  }
+
+  /** @private Clears the current query */
+  clearQuery() {
+    objKeys(this.models).forEach(key => {
+      this.models[key]!.searchValues = [];
+    })
+    this.textSearch = '';
+
+    this.updateTagbarValues();
+    this.performSearch();
+  }
+
+  /** @private Constructs a query from the current page settings. Supports excluding certain fields from the query. */
+  getQuery(excludeFields: string[] = []): Query {
+    let query: Condition = {}
+    let textSearch: Query['textSearch'];
+
+    const dateQuery = this.getDateRangeCondition()
+    if (dateQuery !== null) {
+      query = mergeConditions(query, dateQuery)
+    }
+
+    // create the query conditions for all keys on this.models
+    Object.keys(this.models).forEach((key: string) => {
+      if (excludeFields.includes(key)) {
+        return;
+      }
+
+      if (this.models[key]!.searchValues.length > 0) {
+        // check if model is virtual, and if, skip adding it to the query
+        if (this.models[key].virtual) {
+          return
+        }
+
+        query[key] = {
+          $in: this.models[key]!.searchValues,
+        }
+      }
+    })
+
+    if (this.expertise.currentLevel !== 'developer') {
+      query["internal"] = {
+        $eq: false,
+      }
+    }
+
+    if (this.textSearch !== '') {
+      textSearch = {
+        fields: freeTextSearchFields,
+        value: this.textSearch
+      }
+    }
+
+    let select: Query['select'] | undefined = undefined;
+    if (!!this.groupByKeys.length) {
+      // we always want to show the total and the number of allowed connections
+      // per group so we need to add those to the select part of the query
+      select = [
+        {
+          $count: {
+            field: "*",
+            as: "totalCount",
+          },
+        },
+        {
+          $sum: {
+            condition: {
+              verdict: {
+                $in: [
+                  Verdict.Accept,
+                  Verdict.RerouteToNs,
+                  Verdict.RerouteToTunnel
+                ],
+              }
+            },
+            as: "countAllowed"
+          }
+        },
+        ...this.groupByKeys,
+      ]
+    }
+
+    let normalizedQuery = mergeConditions(query, this.mergeFilter || {})
+
+    let orderBy: string[] | OrderBy[] = this.orderByKeys;
+    if (!orderBy || orderBy.length === 0) {
+      orderBy = [
+        {
+          field: 'started',
+          desc: true,
+        },
+        {
+          field: 'ended',
+          desc: true,
+        }
+      ]
+    }
+
+    return {
+      select: select,
+      query: normalizedQuery,
+      groupBy: this.groupByKeys,
+      orderBy: orderBy,
+      textSearch,
+      databases: this.databases,
+    }
+  }
+
+  /** @private Updates the current model form all values emited by the tag-bar. */
+  onTagbarChange(tagKinds: SfngTagbarValue[]) {
+    objKeys(this.models).forEach(key => {
+      this.models[key]!.searchValues = [];
+    });
+
+    tagKinds.forEach(kind => {
+      const key = kind.key as keyof NetqueryConnection;
+      this.models[key]!.searchValues = kind.values.map(possibleValue => possibleValue.Value);
+
+      if (this.models[key]?.visible === 'combinedMenu')
+        this.models[key]?.suggestions.forEach(val => {
+          val.selected = this.models[key]!.searchValues.find(searchValue => searchValue === val.Value)
+        })
+    })
+
+    this.updateDateRangeState();
+
+    this.performSearch();
+  }
+
+  onDateRangeChange(event: Date[]) {
+    if (event.length >= 1) {
+      event[0] = new Date(event[0].getFullYear(), event[0].getMonth(), event[0].getDate(), 0, 0, 0)
+      this.onFieldsParsed({ from: [formatDate(event[0], 'medium', this.localeId)] }, true)
+    } else {
+      this.onFieldsParsed({ from: [] }, true)
+    }
+
+    if (event.length >= 2) {
+      event[1] = new Date(event[1].getFullYear(), event[1].getMonth(), event[1].getDate() + 1, 0, 0, -1)
+      this.onFieldsParsed({ to: [formatDate(event[1], 'medium', this.localeId)] }, true)
+    } else {
+      this.onFieldsParsed({ to: [] }, true)
+    }
+  }
+
+  /** Updates the {@link tagbarValues} from {@link models}*/
+  private updateTagbarValues() {
+    this.updateTagBar$.next();
+  }
+
+  private isValidFilter(key: string): key is keyof NetqueryConnection {
+    return Object.keys(this.models).includes(key);
+  }
+
+  useAsFilter(rec: QueryResult) {
+    const keys = new Set(objKeys(this.models))
+
+    // reset the search values
+    keys.forEach(key => {
+      this.models[key]!.searchValues = [];
+    })
+
+    objKeys(rec).forEach(key => {
+      if (keys.has(key as keyof NetqueryConnection)) {
+        this.models[key as keyof NetqueryConnection]!.searchValues = [rec[key]];
+      }
+    })
+
+    // reset the group-by-keys since they don't make any sense anymore.
+    this.groupByKeys = [];
+    this.performSearch();
+  }
+
+  /** @private - used by the combined filter menu */
+  toggleCombinedMenuFilter(key: string, value: Suggestion) {
+    const k = key as keyof NetqueryConnection;
+    if (value.selected) {
+      this.models[k]!.searchValues = this.models[k]?.searchValues.filter(val => val !== value.Value) || [];
+    } else {
+      this.models[k]!.searchValues.push(value.Value)
+    }
+
+    this.updateTagbarValues();
+    this.performSearch();
+  }
+
+  trackSuggestion: TrackByFunction<Suggestion> = (_: number, s: Suggestion) => s.Name + '::' + s.Value;
+}
+
+function initializeModels(models: { [key: string]: Partial<Model<any>> }): { [key: string]: Model<any> } {
+  objKeys(models).forEach(key => {
+    models[key] = {
+      suggestions: [],
+      searchValues: [],
+      visible: false,
+      loading: false,
+      ...models[key],
+    }
+  })
+
+  return models as any;
+}
+
+function booleanSuggestionValues(): Suggestion<any>[] {
+  return [
+    {
+      Name: 'Yes',
+      Value: true,
+      Description: '',
+      count: 0,
+    },
+    {
+      Name: 'No',
+      Value: false,
+      Description: '',
+      count: 0,
+    },
+  ]
+}
diff --git a/desktop/angular/src/app/shared/netquery/netquery.module.ts b/desktop/angular/src/app/shared/netquery/netquery.module.ts
new file mode 100644
index 00000000..5a433666
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/netquery.module.ts
@@ -0,0 +1,88 @@
+import { A11yModule } from "@angular/cdk/a11y";
+import { OverlayModule } from "@angular/cdk/overlay";
+import { CommonModule } from "@angular/common";
+import { inject, NgModule } from "@angular/core";
+import { FormsModule } from "@angular/forms";
+import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
+import { SfngAccordionModule, SfngDropDownModule, SfngPaginationModule, SfngSelectModule, SfngTipUpModule, SfngToggleSwitchModule, SfngTooltipModule } from "@safing/ui";
+import { NzDatePickerModule } from 'ng-zorro-antd/date-picker';
+import { SfngAppIconModule } from "../app-icon";
+import { CountIndicatorModule } from "../count-indicator";
+import { CountryFlagModule } from "../country-flag";
+import { ExpertiseModule } from "../expertise/expertise.module";
+import { SfngFocusModule } from "../focus";
+import { SfngMenuModule } from "../menu";
+import { CommonPipesModule } from "../pipes";
+import { SPNModule } from './../../pages/spn/spn.module';
+import { SfngNetqueryAddToFilterDirective } from "./add-to-filter";
+import { CombinedMenuPipe } from "./combined-menu.pipe";
+import { SfngNetqueryConnectionDetailsComponent } from "./connection-details";
+import { SfngNetqueryConnectionRowComponent } from "./connection-row";
+import { SfngNetqueryLineChartComponent } from "./line-chart/line-chart";
+import { SfngNetqueryViewer } from "./netquery.component";
+import { CanShowConnection, CanUseRulesPipe, ConnectionLocationPipe, CountryNamePipe, CountryNameService, IsBlockedConnectionPipe } from "./pipes";
+import { SfngNetqueryScopeLabelComponent } from "./scope-label";
+import { SfngNetquerySearchOverlayComponent } from "./search-overlay";
+import { SfngNetquerySearchbarComponent, SfngNetquerySuggestionDirective } from "./searchbar";
+import { SfngNetqueryTagbarComponent } from "./tag-bar";
+import { CircularBarChartComponent } from './circular-bar-chart/circular-bar-chart.component';
+
+@NgModule({
+  imports: [
+    CommonModule,
+    FormsModule,
+    CountryFlagModule,
+    SfngDropDownModule,
+    SfngSelectModule,
+    SfngTooltipModule,
+    SfngAccordionModule,
+    SfngMenuModule,
+    SfngPaginationModule,
+    SfngFocusModule,
+    SfngAppIconModule,
+    SfngTipUpModule,
+    SfngToggleSwitchModule,
+    A11yModule,
+    ExpertiseModule,
+    OverlayModule,
+    CountIndicatorModule,
+    FontAwesomeModule,
+    CommonPipesModule,
+    SPNModule,
+    NzDatePickerModule,
+  ],
+  exports: [
+    SfngNetqueryViewer,
+    SfngNetqueryLineChartComponent,
+    SfngNetquerySearchOverlayComponent,
+    SfngNetqueryScopeLabelComponent,
+    CircularBarChartComponent,
+  ],
+  declarations: [
+    SfngNetqueryViewer,
+    SfngNetqueryConnectionRowComponent,
+    SfngNetqueryLineChartComponent,
+    SfngNetqueryTagbarComponent,
+    SfngNetquerySearchbarComponent,
+    SfngNetquerySearchOverlayComponent,
+    SfngNetquerySuggestionDirective,
+    SfngNetqueryScopeLabelComponent,
+    SfngNetqueryConnectionDetailsComponent,
+    SfngNetqueryAddToFilterDirective,
+    ConnectionLocationPipe,
+    IsBlockedConnectionPipe,
+    CanUseRulesPipe,
+    CanShowConnection,
+    CombinedMenuPipe,
+    CircularBarChartComponent,
+    CountryNamePipe,
+  ],
+  providers: [
+    CountryNameService
+  ]
+})
+export class NetqueryModule {
+  private _unusedBootstrap = [
+    inject(CountryNameService), // make sure country names are loaded on bootstrap
+  ]
+}
diff --git a/desktop/angular/src/app/shared/netquery/pipes/can-show.pipe.ts b/desktop/angular/src/app/shared/netquery/pipes/can-show.pipe.ts
new file mode 100644
index 00000000..35f93628
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/pipes/can-show.pipe.ts
@@ -0,0 +1,22 @@
+import { Pipe, PipeTransform } from "@angular/core";
+import { ExpertiseLevel, NetqueryConnection } from "@safing/portmaster-api";
+
+
+@Pipe({
+  name: "canShowConnection",
+  pure: true,
+})
+export class CanShowConnection implements PipeTransform {
+  transform(conn: NetqueryConnection, level: ExpertiseLevel) {
+    if (!conn) {
+      return false;
+    }
+    if (level === ExpertiseLevel.Developer) {
+      // we show all connections for developers
+      return true;
+    }
+    // if we are in advanced or simple mode we should
+    // hide internal connections.
+    return !conn.internal;
+  }
+}
diff --git a/desktop/angular/src/app/shared/netquery/pipes/can-use-rules.pipe.ts b/desktop/angular/src/app/shared/netquery/pipes/can-use-rules.pipe.ts
new file mode 100644
index 00000000..d4b5d4d3
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/pipes/can-use-rules.pipe.ts
@@ -0,0 +1,32 @@
+
+// the following settings are stronger than rules
+// and cannot be "fixed" by creating a new allow/deny
+
+import { Pipe, PipeTransform } from "@angular/core";
+import { IsDenied, NetqueryConnection } from "@safing/portmaster-api";
+
+// rule.
+let optionKeys = new Set([
+  "filter/blockInternet",
+  "filter/blockLAN",
+  "filter/blockLocal",
+  "filter/blockP2P",
+  "filter/blockInbound"
+])
+
+@Pipe({
+  name: "canUseRules",
+  pure: true,
+})
+export class CanUseRulesPipe implements PipeTransform {
+  transform(conn: NetqueryConnection): boolean {
+    if (!conn) {
+      return false;
+    }
+    if (!!conn.extra_data?.reason?.OptionKey && IsDenied(conn.verdict)) {
+      return !optionKeys.has(conn.extra_data.reason.OptionKey);
+    }
+    return true;
+  }
+}
+
diff --git a/desktop/angular/src/app/shared/netquery/pipes/country-name.pipe.ts b/desktop/angular/src/app/shared/netquery/pipes/country-name.pipe.ts
new file mode 100644
index 00000000..93e6bc61
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/pipes/country-name.pipe.ts
@@ -0,0 +1,59 @@
+import { HttpClient } from '@angular/common/http';
+import { Pipe, PipeTransform, Injectable, inject } from '@angular/core';
+import { GeoCoordinates, SPNService } from '@safing/portmaster-api';
+import { environment } from 'src/environments/environment';
+import { ActionIndicatorService } from '../../action-indicator';
+import { objKeys } from '../../utils';
+
+export interface CountryListResponse {
+  [countryKey: string]: {
+    Code: string;
+    Name: string;
+    Center: GeoCoordinates;
+    Continent: {
+      Code: string;
+      Region: string;
+      Name: string;
+    }
+  }
+}
+
+@Injectable()
+export class CountryNameService {
+  private readonly spn = inject(SPNService);
+  private readonly http = inject(HttpClient);
+  private readonly uai = inject(ActionIndicatorService);
+
+  private map: Map<string, string> = new Map();
+
+  constructor() {
+    this.http.get<CountryListResponse>(`${environment.httpAPI}/v1/intel/geoip/countries`)
+      .subscribe({
+        next: response => {
+          objKeys(response)
+            .forEach(key => {
+              this.map.set(key as string, response[key].Name);
+            });
+        },
+        error: err => {
+          this.uai.error('Failed to fetch country data', this.uai.getErrorMessage(err));
+        }
+      })
+  }
+
+  resolveName(code: string): string {
+    return this.map.get(code) || '';
+  }
+}
+
+@Pipe({
+  name: 'countryName',
+  pure: true,
+})
+export class CountryNamePipe implements PipeTransform {
+  private countryService = inject(CountryNameService);
+
+  transform(countryCode: string) {
+    return this.countryService.resolveName(countryCode);
+  }
+}
diff --git a/desktop/angular/src/app/shared/netquery/pipes/index.ts b/desktop/angular/src/app/shared/netquery/pipes/index.ts
new file mode 100644
index 00000000..9b429e59
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/pipes/index.ts
@@ -0,0 +1,5 @@
+export * from './location.pipe';
+export * from './can-show.pipe';
+export * from './can-use-rules.pipe';
+export * from './is-blocked.pipe';
+export * from './country-name.pipe';
diff --git a/desktop/angular/src/app/shared/netquery/pipes/is-blocked.pipe.ts b/desktop/angular/src/app/shared/netquery/pipes/is-blocked.pipe.ts
new file mode 100644
index 00000000..fcb6dc0d
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/pipes/is-blocked.pipe.ts
@@ -0,0 +1,12 @@
+import { Pipe, PipeTransform } from '@angular/core';
+import { IsDenied, NetqueryConnection } from '@safing/portmaster-api';
+
+@Pipe({
+  name: "isBlocked",
+  pure: true
+})
+export class IsBlockedConnectionPipe implements PipeTransform {
+  transform(conn: NetqueryConnection): boolean {
+    return IsDenied(conn?.verdict);
+  }
+}
diff --git a/desktop/angular/src/app/shared/netquery/pipes/location.pipe.ts b/desktop/angular/src/app/shared/netquery/pipes/location.pipe.ts
new file mode 100644
index 00000000..522ed86a
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/pipes/location.pipe.ts
@@ -0,0 +1,33 @@
+import { Pipe, PipeTransform } from '@angular/core';
+import { IsGlobalScope, IsLANScope, IsLocalhost, NetqueryConnection } from '@safing/portmaster-api';
+
+@Pipe({
+  name: 'connectionLocation',
+  pure: true,
+})
+export class ConnectionLocationPipe implements PipeTransform {
+  transform(conn: NetqueryConnection): string {
+    if (conn.type === 'dns') {
+      return '';
+    }
+    if (!!conn.country) {
+      return conn.country;
+    }
+
+    const scope = conn.scope;
+
+    if (IsGlobalScope(scope)) {
+      return 'Internet'
+    }
+
+    if (IsLANScope(scope)) {
+      return 'LAN';
+    }
+
+    if (IsLocalhost(scope)) {
+      return 'Device'
+    }
+
+    return '';
+  }
+}
diff --git a/desktop/angular/src/app/shared/netquery/scope-label/index.ts b/desktop/angular/src/app/shared/netquery/scope-label/index.ts
new file mode 100644
index 00000000..8f481940
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/scope-label/index.ts
@@ -0,0 +1 @@
+export * from './scope-label';
diff --git a/desktop/angular/src/app/shared/netquery/scope-label/scope-label.html b/desktop/angular/src/app/shared/netquery/scope-label/scope-label.html
new file mode 100644
index 00000000..0df11b57
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/scope-label/scope-label.html
@@ -0,0 +1,8 @@
+<ng-container *ngIf="!!domain; else: scopeTranslationTemplate">
+  <span *ngIf="!!subdomain" class="text-opacity-75 text-secondary"
+    style="direction: ltr; unicode-bidi: bidi-override;">{{subdomain}}.</span>
+  <span style="direction: ltr; unicode-bidi: bidi-override;">{{domain}}</span>
+</ng-container>
+<ng-template #scopeTranslationTemplate>
+  {{ scopeTranslation[scope || ''] || 'N/A' }}
+</ng-template>
diff --git a/desktop/angular/src/app/shared/netquery/scope-label/scope-label.ts b/desktop/angular/src/app/shared/netquery/scope-label/scope-label.ts
new file mode 100644
index 00000000..8bb64c83
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/scope-label/scope-label.ts
@@ -0,0 +1,34 @@
+import { ChangeDetectionStrategy, Component, Input, OnChanges, SimpleChanges } from '@angular/core';
+import { ScopeTranslation } from '@safing/portmaster-api';
+import { parseDomain } from '../../utils';
+
+@Component({
+  selector: 'sfng-netquery-scope-label',
+  templateUrl: 'scope-label.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class SfngNetqueryScopeLabelComponent implements OnChanges {
+  readonly scopeTranslation = ScopeTranslation;
+
+  @Input()
+  scope?: string = ''
+
+  @Input()
+  set leftRightFix(v: any) {
+    console.warn("deprecated @Input usage")
+  }
+  get leftRightFix() { return false }
+
+  domain: string = '';
+  subdomain: string = '';
+
+  ngOnChanges(change: SimpleChanges) {
+    if (!!change['scope']) {
+      //this.label = change.label.currentValue;
+      const result = parseDomain(change.scope.currentValue || '')
+
+      this.domain = result?.domain || '';
+      this.subdomain = result?.subdomain || '';
+    }
+  }
+}
diff --git a/desktop/angular/src/app/shared/netquery/search-overlay/index.ts b/desktop/angular/src/app/shared/netquery/search-overlay/index.ts
new file mode 100644
index 00000000..ffad6a32
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/search-overlay/index.ts
@@ -0,0 +1 @@
+export * from './search-overlay';
diff --git a/desktop/angular/src/app/shared/netquery/search-overlay/search-overlay.html b/desktop/angular/src/app/shared/netquery/search-overlay/search-overlay.html
new file mode 100644
index 00000000..49eaa84b
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/search-overlay/search-overlay.html
@@ -0,0 +1,2 @@
+<sfng-netquery-searchbar [(ngModel)]="textSearch" (ngModelChange)="performSearch()" class="block w-full"
+  [labels]="keyTranslation" (fieldsParsed)="onFieldsParsed($event)" mode="inline"></sfng-netquery-searchbar>
diff --git a/desktop/angular/src/app/shared/netquery/search-overlay/search-overlay.ts b/desktop/angular/src/app/shared/netquery/search-overlay/search-overlay.ts
new file mode 100644
index 00000000..eaae1a08
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/search-overlay/search-overlay.ts
@@ -0,0 +1,81 @@
+import { ChangeDetectionStrategy, Component, Inject } from "@angular/core";
+import { Router } from "@angular/router";
+import { SfngDialogRef, SFNG_DIALOG_REF } from "@safing/ui";
+import { objKeys } from "../../utils";
+import { NetqueryHelper } from "../connection-helper.service";
+import { SfngSearchbarFields } from "../searchbar";
+import { connectionFieldTranslation } from "../utils";
+
+@Component({
+  selector: 'sfng-netquery-search-overlay',
+  templateUrl: './search-overlay.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  providers: [
+    NetqueryHelper,
+  ],
+  styles: [
+    `
+    :host {
+      @apply block;
+      width: 700px;
+    }
+
+    ::ng-deep sfng-netquery-search-overlay sfng-netquery-searchbar input {
+      border: 1px solid theme("colors.gray.200") !important;
+    }
+    `
+  ]
+})
+export class SfngNetquerySearchOverlayComponent {
+  keyTranslation = connectionFieldTranslation;
+
+  textSearch = '';
+
+  fields: SfngSearchbarFields = {};
+
+  constructor(
+    @Inject(SFNG_DIALOG_REF) private dialogRef: SfngDialogRef<any>,
+    private router: Router,
+  ) { }
+
+  performSearch() {
+    let query = "";
+    const fields = objKeys(this.fields)
+
+    // if there's only one profile key directly navigate the user to the app view
+    if (fields.length === 1 && fields[0] === 'profile' && this.fields.profile!.length === 1) {
+      let profileName: string = this.fields.profile![0] || '';
+      if (!profileName.includes("/")) {
+        profileName = "local/" + profileName
+      }
+      this.router.navigate(['/app/' + profileName || ''])
+      this.dialogRef.close();
+      return;
+    }
+
+    fields.forEach(field => {
+      this.fields[field]?.forEach(value => {
+        query += `${field}:${JSON.stringify(value)} `
+      })
+    })
+
+    if (query !== '' && this.textSearch !== '') {
+      query += " "
+    }
+    query += this.textSearch;
+
+    this.router.navigate(['/monitor'], {
+      queryParams: {
+        q: query,
+      }
+    })
+
+    this.dialogRef.close();
+  }
+
+  onFieldsParsed(fields: SfngSearchbarFields) {
+    objKeys(fields).forEach(field => {
+      this.fields[field] = [...(this.fields[field] || []), ...(fields[field] || [])];
+    })
+  }
+}
diff --git a/desktop/angular/src/app/shared/netquery/searchbar/index.ts b/desktop/angular/src/app/shared/netquery/searchbar/index.ts
new file mode 100644
index 00000000..2520d4d6
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/searchbar/index.ts
@@ -0,0 +1 @@
+export * from './searchbar';
diff --git a/desktop/angular/src/app/shared/netquery/searchbar/searchbar.html b/desktop/angular/src/app/shared/netquery/searchbar/searchbar.html
new file mode 100644
index 00000000..ef2dedf4
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/searchbar/searchbar.html
@@ -0,0 +1,76 @@
+<div class="relative flex flex-row items-center bg-gray-300 rounded-sm" cdkOverlayOrigin>
+  <div class="absolute top-0 -mt-0.5 left-0 flex items-center p-2">
+    <svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4 text-secondary" viewBox="0 0 20 20" fill="currentColor">
+      <path fill-rule="evenodd"
+        d="M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z"
+        clip-rule="evenodd" />
+    </svg>
+  </div>
+  <input [cdkTrapFocus]="false" [cdkTrapFocusAutoCapture]="true" class="w-full !pl-7 rounded-tr-sm" type="text"
+    [(ngModel)]="textSearch" placeholder="Search for connections, press ENTER to apply"
+    (keydown)="onSearchKeyDown($event)" (blur)="onFocusLost($event)" (ngModelChange)="onSearchModelChange($event)"
+    #searchBar>
+</div>
+
+
+<sfng-dropdown externalTrigger="true" #suggestionDropdown *ngIf="mode === 'default'; else: suggestionTemplate"
+  offsetY="0">
+  <div class="bg-gray-300">
+    <ng-container *ngTemplateOutlet="suggestionTemplate"></ng-container>
+  </div>
+</sfng-dropdown>
+
+<ng-template #suggestionTemplate>
+  <ul class="self-stretch p-2" *ngIf="!!textSearch">
+    <li (click)="applySuggestion('_textsearch', null, $event)" [sfngNetquerySuggestion]="textSearch"
+      [sfngSuggestion]="{field: '_textsearch', values: []}" #suggestion="sfngNetquerySuggestion"
+      class="flex flex-row justify-between w-full gap-2 px-2 py-1 rounded-sm cursor-pointer hover:bg-gray-400"
+      [ngClass]="{'bg-gray-400': suggestion.active}">
+      <span class="text-secondary text-xxs">Full-Text Search: <span
+          class="text-xs text-primary">{{ textSearch }}</span></span>
+    </li>
+  </ul>
+
+  <div class="flex flex-col items-start justify-start w-full gap-4 p-3 px-4" (mouseenter)="cancelDropdownClose()"
+    [@fadeInList]="suggestions.length" (mousemove)="resetKeyboardSelection()">
+
+    <ng-container *ngFor="let sug of suggestions; trackBy: trackSuggestion">
+      <div class="flex flex-col items-start self-stretch justify-start gap-1">
+        <h3 class="flex flex-row items-center w-full gap-2 text-xxs text-tertiary">
+          Filter by {{ labels[sug.field] || sug.field }}
+        </h3>
+        <ul class="self-stretch">
+          <li *ngFor="let val of sug.values" (click)="applySuggestion(sug.field, val.value, $event, sug.start)"
+            [sfngNetquerySuggestion]="val.value" [sfngSuggestion]="sug" #suggestion="sfngNetquerySuggestion"
+            class="flex flex-row justify-between w-full gap-2 px-2 py-1 rounded-sm cursor-pointer hover:bg-gray-400"
+            [ngClass]="{'bg-gray-400': suggestion.active}">
+            <span class="text-primary">{{ val.display || (val.value === '' ? 'N/A' : val.value) }}</span>
+            <span class="text-secondary">#{{ val.count }} connections</span>
+          </li>
+        </ul>
+      </div>
+    </ng-container>
+
+    <div class="flex flex-row items-center justify-start w-full gap-2 text-xs border-gray-400 text-primary" [@fadeIn]
+      *ngIf="loading" [ngClass]="{'border-t pt-2': !!suggestions.length}">
+      <svg class="w-4 h-4 animate-spin text-secondary" xmlns="http://www.w3.org/2000/svg" fill="none"
+        viewBox="0 0 24 24">
+        <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
+        <path class="opacity-75" fill="currentColor"
+          d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z">
+        </path>
+      </svg>
+      Loading suggestions ...
+    </div>
+
+    <ng-container *ngIf="!suggestions?.length && !loading">
+      <span>
+        There are no suggestions for your query. Press
+        <pre
+          class="inline-block px-0.5 font-mono uppercase bg-gray-500 bg-opacity-25 rounded-sm border border-gray-500 text-xxs">Enter</pre>
+        to
+        perform a full text search.
+      </span>
+    </ng-container>
+  </div>
+</ng-template>
diff --git a/desktop/angular/src/app/shared/netquery/searchbar/searchbar.ts b/desktop/angular/src/app/shared/netquery/searchbar/searchbar.ts
new file mode 100644
index 00000000..46a42f51
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/searchbar/searchbar.ts
@@ -0,0 +1,437 @@
+import { ListKeyManager } from "@angular/cdk/a11y";
+import { coerceBooleanProperty } from "@angular/cdk/coercion";
+import { CdkOverlayOrigin } from "@angular/cdk/overlay";
+import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, Directive, ElementRef, EventEmitter, forwardRef, HostBinding, HostListener, inject, Input, OnDestroy, OnInit, Output, QueryList, TrackByFunction, ViewChild, ViewChildren } from "@angular/core";
+import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
+import { ControlValueAccessor, NG_VALUE_ACCESSOR } from "@angular/forms";
+import { Condition, ExpertiseLevel, Netquery, NetqueryConnection } from "@safing/portmaster-api";
+import { SfngDropdownComponent } from "@safing/ui";
+import { combineLatest, Observable, of, Subject } from "rxjs";
+import { catchError, debounceTime, map, switchMap } from "rxjs/operators";
+import { fadeInAnimation, fadeInListAnimation } from "../../animations";
+import { ExpertiseService } from "../../expertise";
+import { objKeys } from "../../utils";
+import { NetqueryHelper } from "../connection-helper.service";
+import { Parser, ParseResult } from "../textql";
+
+export type SfngSearchbarFields = {
+  [key in keyof Partial<NetqueryConnection>]: any[];
+} & {
+  groupBy?: string[];
+  orderBy?: string[];
+  from?: string[];
+  to?: string[];
+}
+
+export type SfngSearchbarSuggestionValue<K extends keyof NetqueryConnection> = {
+  value: NetqueryConnection[K];
+  display: string;
+  count: number;
+}
+
+export type SfngSearchbarSuggestion<K extends keyof NetqueryConnection> = {
+  start?: number;
+  field: K | '_textsearch';
+  values: SfngSearchbarSuggestionValue<K>[];
+}
+
+@Directive({
+  selector: '[sfngNetquerySuggestion]',
+  exportAs: 'sfngNetquerySuggestion'
+})
+export class SfngNetquerySuggestionDirective<K extends keyof NetqueryConnection> {
+  constructor() { }
+
+  @Input()
+  sfngSuggestion?: SfngSearchbarSuggestion<K>;
+
+  @Input()
+  sfngNetquerySuggestion?: SfngSearchbarSuggestionValue<K> | string;
+
+  set active(v: any) {
+    this._active = coerceBooleanProperty(v);
+  }
+  get active() {
+    return this._active;
+  }
+  private _active: boolean = false;
+
+  getLabel(): string {
+    if (typeof this.sfngNetquerySuggestion === 'string') {
+      return this.sfngNetquerySuggestion;
+    }
+    return '' + this.sfngNetquerySuggestion?.value;
+  }
+}
+
+@Component({
+  selector: 'sfng-netquery-searchbar',
+  templateUrl: './searchbar.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  animations: [
+    fadeInAnimation,
+    fadeInListAnimation
+  ],
+  providers: [
+    {
+      provide: NG_VALUE_ACCESSOR,
+      useExisting: forwardRef(() => SfngNetquerySearchbarComponent),
+      multi: true,
+    }
+  ]
+})
+export class SfngNetquerySearchbarComponent implements ControlValueAccessor, OnInit, OnDestroy, AfterViewInit {
+  private loadSuggestions$ = new Subject<void>();
+  private triggerDropdownClose$ = new Subject<boolean>();
+  private keyManager!: ListKeyManager<SfngNetquerySuggestionDirective<any>>;
+  private destroyRef = inject(DestroyRef);
+
+  /** Whether or not we are currently loading suggestions */
+  loading = false;
+
+  @ViewChild(CdkOverlayOrigin, { static: true })
+  searchBoxOverlayOrigin!: CdkOverlayOrigin;
+
+  @ViewChild(SfngDropdownComponent)
+  suggestionDropDown?: SfngDropdownComponent;
+
+  @ViewChild('searchBar', { static: true, read: ElementRef })
+  searchBar!: ElementRef;
+
+  @ViewChildren(SfngNetquerySuggestionDirective)
+  suggestionValues!: QueryList<SfngNetquerySuggestionDirective<any>>;
+
+  @Output()
+  fieldsParsed = new EventEmitter<SfngSearchbarFields>();
+
+  @Input()
+  labels: { [key: string]: string } = {}
+
+  /** Controls whether or not suggestions are shown as a drop-down or inline */
+  @Input()
+  mode: 'inline' | 'default' = 'default';
+
+  suggestions: SfngSearchbarSuggestion<any>[] = [];
+
+  textSearch = '';
+
+  @HostListener('focus')
+  onFocus() {
+    // move focus forward to the input element
+    this.searchBar.nativeElement.focus();
+  }
+
+  @Input()
+  @HostBinding('tabindex')
+  tabindex = 0;
+
+  writeValue(val: string): void {
+    if (typeof val === 'string') {
+      const result = Parser.parse(val);
+      this.textSearch = result.textQuery;
+    } else {
+      this.textSearch = '';
+    }
+    this.cdr.markForCheck();
+  }
+
+  _onChange: (val: string) => void = () => { }
+  registerOnChange(fn: any): void {
+    this._onChange = fn;
+  }
+
+  _onTouched: () => void = () => { }
+  registerOnTouched(fn: any): void {
+    this._onTouched = fn
+  }
+
+  ngAfterViewInit(): void {
+    this.keyManager = new ListKeyManager(this.suggestionValues)
+      .withVerticalOrientation()
+      .withTypeAhead()
+      .withHomeAndEnd()
+      .withWrap();
+
+    this.keyManager.change
+      .pipe(takeUntilDestroyed(this.destroyRef))
+      .subscribe(idx => {
+        if (!this.suggestionValues.length) {
+          return
+        }
+
+        this.suggestionValues.forEach(val => val.active = false);
+        this.suggestionValues.get(idx)!.active = true;
+        this.cdr.markForCheck();
+      });
+  }
+
+  ngOnInit(): void {
+    this.loadSuggestions$
+      .pipe(
+        debounceTime(500),
+        switchMap(() => {
+          let fields: (keyof NetqueryConnection)[] = [
+            'profile',
+            'domain',
+            'as_owner',
+            'remote_ip',
+          ];
+          let limit = 3;
+
+          const parser = new Parser(this.textSearch);
+          const parseResult = parser.process();
+
+          const queries: Observable<SfngSearchbarSuggestion<any>>[] = [];
+          const queryKeys: (keyof Partial<NetqueryConnection>)[] = [];
+
+          // FIXME(ppacher): confirm .type is an actually allowed field
+          if (!!parser.lastUnterminatedCondition) {
+            fields = [parser.lastUnterminatedCondition.type as keyof NetqueryConnection];
+            limit = 0;
+          }
+
+          fields.forEach(field => {
+            let queryField = field;
+
+            // if we are searching the profiles we use the profile name
+            // rather than the profile_id for searching.
+            if (field === 'profile') {
+              queryField = 'profile_name';
+            }
+
+            const query: Condition = {
+              [queryField]: {
+                $like: `%${!!parser.lastUnterminatedCondition ? parser.lastUnterminatedCondition.value : parseResult.textQuery}%`
+              },
+            }
+
+            // hide internal connections if the user is not a developer
+            if (this.expertiseService.currentLevel !== ExpertiseLevel.Developer) {
+              query.internal = {
+                $eq: false
+              }
+            }
+
+            const obs = this.netquery.query({
+              select: [
+                field,
+                {
+                  $count: {
+                    field: "*",
+                    as: "count"
+                  },
+                }
+              ],
+              query: query,
+              groupBy: [
+                field,
+              ],
+              page: 0,
+              pageSize: limit,
+              orderBy: [{ field: "count", desc: true }]
+            }, 'netquery-searchbar-get-counts')
+              .pipe(
+                this.helper.encodeToPossibleValues(field),
+                map(results => {
+                  let val: SfngSearchbarSuggestion<typeof field> = {
+                    field: field,
+                    values: [],
+                    start: parser.lastUnterminatedCondition ? parser.lastUnterminatedCondition.start : undefined,
+                  }
+
+                  results.forEach(res => {
+                    val.values.push({
+                      value: res.Value,
+                      display: res.Name,
+                      count: res.count,
+                    })
+                  })
+
+                  return val;
+                }),
+                catchError(err => {
+                  console.error(err);
+
+                  return of({
+                    field: field,
+                    values: [],
+                  })
+                })
+              )
+
+            queries.push(obs)
+            queryKeys.push(field)
+          })
+
+          return combineLatest(queries)
+        }),
+      )
+      .subscribe(result => {
+        this.loading = false;
+
+        this.suggestions = result
+          .filter((sug: SfngSearchbarSuggestion<any>) => sug.values?.length > 0)
+
+        this.keyManager.setActiveItem(0);
+
+        this.cdr.markForCheck();
+      })
+
+    this.triggerDropdownClose$
+      .pipe(debounceTime(100))
+      .subscribe(shouldClose => {
+        if (shouldClose) {
+          this.suggestionDropDown?.close();
+        }
+      })
+
+    if (this.mode === 'inline') {
+      this.loadSuggestions();
+    }
+  }
+
+  ngOnDestroy(): void {
+    this.loadSuggestions$.complete();
+    this.triggerDropdownClose$.complete();
+  }
+
+  cancelDropdownClose() {
+    this.triggerDropdownClose$.next(false);
+  }
+
+  onSearchModelChange(value: string) {
+    if (value.length >= 3 || this.mode === 'inline') {
+      this.loadSuggestions();
+    } else if (this.suggestionDropDown?.isOpen) {
+      // close the suggestion dropdown if the search input contains less than
+      // 3 characters and we're currently showing the dropdown
+      this.suggestionDropDown?.close();
+    }
+  }
+
+  /** @private Callback for keyboard events on the search-input */
+  onSearchKeyDown(event: KeyboardEvent) {
+    if (event.key === ' ' && event.ctrlKey) {
+      this.loadSuggestions();
+      event.preventDefault();
+      event.stopPropagation()
+      return;
+    }
+
+    if (event.key === 'Enter') {
+
+      const selectedSuggestion = this.suggestionValues.toArray().findIndex(val => val.active);
+      if (selectedSuggestion > 0) { // we must skip 0 here as well as that's the dummy element
+        const sug = this.suggestionValues.get(selectedSuggestion);
+        this.applySuggestion(sug?.sfngSuggestion?.field, sug?.sfngNetquerySuggestion, event, sug?.sfngSuggestion?.start)
+
+        return;
+      }
+
+      this.suggestionDropDown?.close();
+      this.parseAndEmit();
+      this.cdr.markForCheck();
+
+      return;
+    }
+
+    this.keyManager.onKeydown(event);
+  }
+
+  onFocusLost(event: FocusEvent) {
+    this._onTouched();
+  }
+
+  private parseAndEmit() {
+    const result = Parser.parse(this.textSearch);
+    this.textSearch = result.textQuery;
+
+    const keys = objKeys(result.conditions)
+    const meta = {
+      groupBy: result.groupBy || undefined,
+      orderBy: result.orderBy || undefined,
+    }
+    if (keys.length > 0 || meta.groupBy?.length || meta.orderBy?.length) {
+      let updatedConditions: ParseResult['conditions'] = {};
+      keys.forEach(key => {
+        updatedConditions[key] = this.helper.decodePrettyValues(key as keyof NetqueryConnection, result.conditions[key])
+      })
+      this.fieldsParsed.next({ ...updatedConditions, ...meta });
+    }
+
+    this._onChange(this.textSearch);
+  }
+
+  applySuggestion(field: keyof NetqueryConnection | '_textsearch', val: any, event: { shiftKey: boolean }, start?: number) {
+    // this is a full-text search so just emit the value, close the dropdown and we're done
+    if (field === '_textsearch') {
+      this._onChange(this.textSearch);
+      this.suggestionDropDown?.close();
+
+      return
+    }
+
+    if (start !== undefined) {
+      this.textSearch = this.textSearch.slice(0, start)
+    } else if (!event.shiftKey) {
+      this.textSearch = '';
+    } else {
+      // the user pressed shift-key and used free-text search so we remove
+      // the remaining part
+      const parseRes = Parser.parse(this.textSearch);
+      let query = "";
+      objKeys(parseRes.conditions).forEach(field => {
+        parseRes.conditions[field]?.forEach(value => {
+          query += `${field}:${JSON.stringify(value)} `
+        })
+      })
+      this.textSearch = query;
+    }
+
+    if (event.shiftKey) {
+      const textqlVal = `${field}:${JSON.stringify(val)}`
+      if (!this.textSearch.includes(textqlVal)) {
+        if (this.textSearch !== '') {
+          this.textSearch += " "
+        }
+        this.textSearch += textqlVal + " "
+        this.triggerDropdownClose$.next(false)
+        // load new suggestions based on the new input
+        this.loadSuggestions();
+      }
+
+      return;
+    }
+
+    // directly emit the new value and reset the text search
+    this.fieldsParsed.next({
+      [field]: [val]
+    })
+
+    // parse and emit the current search field but without the suggestion value
+    this.parseAndEmit();
+
+    this.suggestionDropDown?.close();
+
+    this.cdr.markForCheck();
+  }
+
+  resetKeyboardSelection() {
+    this.keyManager.setActiveItem(0);
+  }
+
+  loadSuggestions() {
+    this.loading = true;
+    this.loadSuggestions$.next();
+    this.suggestionDropDown?.show(this.searchBoxOverlayOrigin)
+  }
+
+  trackSuggestion: TrackByFunction<SfngSearchbarSuggestion<any>> = (_: number, val: SfngSearchbarSuggestion<any>) => val.field;
+
+  constructor(
+    private cdr: ChangeDetectorRef,
+    private expertiseService: ExpertiseService,
+    private netquery: Netquery,
+    private helper: NetqueryHelper,
+  ) { }
+}
diff --git a/desktop/angular/src/app/shared/netquery/tag-bar/index.ts b/desktop/angular/src/app/shared/netquery/tag-bar/index.ts
new file mode 100644
index 00000000..3439acb3
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/tag-bar/index.ts
@@ -0,0 +1 @@
+export * from './tag-bar';
diff --git a/desktop/angular/src/app/shared/netquery/tag-bar/tag-bar.html b/desktop/angular/src/app/shared/netquery/tag-bar/tag-bar.html
new file mode 100644
index 00000000..f1161e58
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/tag-bar/tag-bar.html
@@ -0,0 +1,26 @@
+<div *ngFor="let cat of values; trackBy: trackValue" class="flex flex-row items-center justify-start gap-1">
+  <ng-container *ngFor="let val of cat.values; let index=index">
+    <div class="flex flex-row gap-1 justify-between items-center pl-3 py-0.5 pr-0.5 bg-gray-500 rounded-full text-xxs">
+      <span class="flex flex-row items-center" [sfng-tooltip]="val.Value">
+        <span class="text-secondary">
+          {{labels[cat.key] || cat.key}}:
+        </span>
+
+        <span class="inline-block ml-1 overflow-hidden overflow-ellipsis whitespace-nowrap text-primary"
+          style="direction: rtl" [ngStyle]="{maxWidth: maxTagWidth}">
+          <span style="direction: ltr; unicode-bidi: bidi-override;">
+            {{ val.Name || (val.Value === '' ? 'N/A' : val) }}
+          </span>
+        </span>
+      </span>
+      <span class="p-0.5 rounded-full cursor-pointer hover:text-primary text-secondary hover:bg-gray-100">
+        <svg xmlns="http://www.w3.org/2000/svg" class="w-3 h-3" viewBox="0 0 20 20" fill="currentColor"
+          (click)="remove(cat.key, index)">
+          <path fill-rule="evenodd"
+            d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z"
+            clip-rule="evenodd" />
+        </svg>
+      </span>
+    </div>
+  </ng-container>
+</div>
diff --git a/desktop/angular/src/app/shared/netquery/tag-bar/tag-bar.ts b/desktop/angular/src/app/shared/netquery/tag-bar/tag-bar.ts
new file mode 100644
index 00000000..bbff7417
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/tag-bar/tag-bar.ts
@@ -0,0 +1,136 @@
+import { coerceBooleanProperty, coerceCssPixelValue } from '@angular/cdk/coercion';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, HostBinding, Input } from '@angular/core';
+import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
+import { PossilbeValue } from '@safing/portmaster-api';
+import { fadeInListAnimation } from '../../animations';
+import { NetqueryHelper } from '../connection-helper.service';
+
+export interface SfngTagbarValue {
+  key: string;
+  values: PossilbeValue[];
+}
+
+@Component({
+  selector: 'sfng-netquery-tagbar',
+  templateUrl: 'tag-bar.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  styles: [
+    `
+    :host {
+      @apply flex flex-row gap-3 w-auto items-center text-xxs flex-wrap;
+    }
+    `
+  ],
+  providers: [
+    {
+      provide: NG_VALUE_ACCESSOR,
+      useExisting: forwardRef(() => SfngNetqueryTagbarComponent),
+      multi: true
+    }
+  ],
+  animations: [
+    fadeInListAnimation
+  ]
+})
+export class SfngNetqueryTagbarComponent implements ControlValueAccessor {
+  @HostBinding('@fadeInList')
+  get itemsLength() {
+    return this.values?.length || 0;
+  }
+
+  /** @private the current tag bar values */
+  values: SfngTagbarValue[] = [];
+
+  /** Whether or not the user can interact with the component */
+  @Input()
+  set disabled(v: any) {
+    this.setDisabledState(v)
+  }
+  get disabled() {
+    return this._disabled;
+  }
+  private _disabled = false;
+
+  /** Translations for the value keys */
+  @Input()
+  labels: { [key: string]: string } = {}
+
+  /** The maximum width of the tag text before being truncated using left-side ellipsis */
+  @Input()
+  set maxTagWidth(width: any) {
+    this._maxTagWidth = coerceCssPixelValue(width)
+  }
+  get maxTagWidth() {
+    return this._maxTagWidth
+  }
+  private _maxTagWidth: string = '8rem'
+
+  /** @private A {@link TrackByFunction} for {@link SfngTagbarValue} */
+  trackValue(_: number, vl: SfngTagbarValue) {
+    return vl.key;
+  }
+
+  /** Implements the {@link ControlValueAccessor} */
+  writeValue(obj: SfngTagbarValue[]): void {
+    this.values = obj;
+    this.cdr.markForCheck();
+  }
+
+  /** Implements the {@link ControlValueAccessor} */
+  registerOnChange(fn: any): void {
+    this._onChange = fn;
+  }
+
+  /** @private - callback registered via registerOnChange */
+  _onChange: (val: SfngTagbarValue[]) => void = () => { }
+
+  /** Implements the {@link ControlValueAccessor} */
+  registerOnTouched(fn: any): void {
+    this._onTouched = fn
+  }
+
+  /** @private - callback registered via registerOnTouched */
+  _onTouched: () => void = () => { }
+
+  /** Implements the {@link ControlValueAccessor} */
+  setDisabledState(v: any) {
+    this._disabled = coerceBooleanProperty(v)
+    this.cdr.markForCheck();
+  }
+
+  /**
+   * remove removes the value at index from the {@link SfngTagbarValue}
+   * that matches key.
+   */
+  remove(key: string, index: number) {
+    if (this.disabled) {
+      return;
+    }
+
+    console.log(this.values);
+
+    let cpy: SfngTagbarValue[] = [];
+
+    this.values.forEach(val => {
+      if (val.key === key) {
+        val.values = [...val.values];
+        val.values.splice(index, 1)
+      }
+      cpy.push({
+        ...val,
+      })
+    });
+
+    this.values = cpy;
+
+    console.log(this.values);
+
+    this._onChange(this.values);
+    this.cdr.markForCheck();
+  }
+
+  constructor(
+    private cdr: ChangeDetectorRef,
+    private helper: NetqueryHelper,
+  ) { }
+}
diff --git a/desktop/angular/src/app/shared/netquery/textql/helper.ts b/desktop/angular/src/app/shared/netquery/textql/helper.ts
new file mode 100644
index 00000000..8f523aaa
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/textql/helper.ts
@@ -0,0 +1,21 @@
+import { Token, TokenType } from "./token";
+
+export function isValueToken(tok: Token<any>): tok is Token<TokenType.STRING | TokenType.BOOL | TokenType.NUMBER> {
+  return [TokenType.STRING, TokenType.BOOL, TokenType.NUMBER].includes(tok.type)
+}
+
+export function isDigit(x: string): boolean {
+  return /[0-9]+/.test(x);
+}
+
+export function isWhitespace(ch: string): boolean {
+  return /\s/.test(ch)
+}
+
+export function isLetter(ch: string): boolean {
+  return new RegExp('[\/a-zA-Z0-9\._-]').test(ch)
+}
+
+export function isIdentChar(ch: string): boolean {
+  return /[a-zA-Z_]/.test(ch);
+}
diff --git a/desktop/angular/src/app/shared/netquery/textql/index.ts b/desktop/angular/src/app/shared/netquery/textql/index.ts
new file mode 100644
index 00000000..75aa8b93
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/textql/index.ts
@@ -0,0 +1 @@
+export * from './parser';
diff --git a/desktop/angular/src/app/shared/netquery/textql/input.ts b/desktop/angular/src/app/shared/netquery/textql/input.ts
new file mode 100644
index 00000000..4180d193
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/textql/input.ts
@@ -0,0 +1,41 @@
+/** Input stream returns one character at a time */
+export class InputStream {
+  private _pos: number = 0;
+  private _line: number = 0;
+
+  constructor(private _input: string) { }
+
+  /** Returns the next character and removes it from the stream */
+  next(): string | null {
+    const ch = this._input.charAt(this._pos++);
+    return ch;
+  }
+
+  get pos() {
+    return this._pos;
+  }
+
+  /** Revert moves the current stream position back by `num` characters */
+  revert(num: number) {
+    this._pos -= num;
+  }
+
+  /** Returns the next character in the stream but does not remove it */
+  peek(): string {
+    return this._input.charAt(this._pos);
+  }
+
+  /** Returns true if we reached the end of the stream */
+  eof(): boolean {
+    return this.peek() == '';
+  }
+
+  get left(): string {
+    return this._input.slice(this._pos)
+  }
+
+  /** Throws an error with the current line and column */
+  croak(msg: string): never {
+    throw new Error(`${msg} at ${this._line}:${this.pos}`);
+  }
+}
diff --git a/desktop/angular/src/app/shared/netquery/textql/lexer.ts b/desktop/angular/src/app/shared/netquery/textql/lexer.ts
new file mode 100644
index 00000000..008cbd6e
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/textql/lexer.ts
@@ -0,0 +1,255 @@
+import { isDigit, isIdentChar, isLetter, isWhitespace } from "./helper";
+import { InputStream } from "./input";
+import { Token, TokenType } from "./token";
+
+export class Lexer {
+  private _current: Token<any> | null = null;
+  private _input: InputStream;
+
+  constructor(input: string) {
+    this._input = new InputStream(input);
+  }
+
+  /** peek returns the token at the current position in input. */
+  public peek(): Token<any> | null {
+    return this._current || (this._current = this.readNextToken());
+  }
+
+  /** next returns either the current token in input or reads the next one */
+  public next(): Token<any> | null {
+    let tok = this._current;
+    this._current = null;
+    return tok || this.readNextToken();
+  }
+
+  /** eof returns true if the lexer reached the end of the input stream */
+  public eof(): boolean {
+    return this.peek() === null;
+  }
+
+  /** croak throws and error message at the current position in the input stream */
+  public croak(msg: string): never {
+    return this._input.croak(`${msg}. Current token is "${!!this.peek() ? this.peek()!.literal : null}"`);
+  }
+
+  /** consumes the input stream as long as predicate returns true */
+  private readWhile(predicate: (ch: string) => boolean): string {
+    let str = '';
+    while (!this._input.eof() && predicate(this._input.peek())) {
+      str += this._input.next();
+    }
+
+    return str;
+  }
+
+  /** reads a number token */
+  private readNumber(): Token<TokenType.NUMBER> {
+    const start = this._input.pos;
+
+    let has_dot = false;
+    let number = this.readWhile((ch: string) => {
+      if (ch === '.') {
+        if (has_dot) {
+          return false;
+        }
+
+        has_dot = true;
+        return true;
+      }
+      return isDigit(ch);
+    });
+
+    if (!this._input.eof() && isIdentChar(this._input.peek())) {
+      this._input.revert(number.length + 1);
+      this._input.croak("invalid number character")
+    }
+
+    return {
+      type: TokenType.NUMBER,
+      literal: number,
+      value: has_dot ? parseFloat(number) : parseInt(number),
+      start
+    }
+  }
+
+  private readIdent(): Token<TokenType.IDENT | TokenType.BOOL | TokenType.GROUPBY | TokenType.ORDERBY> {
+    const start = this._input.pos;
+
+    const id = this.readWhile(ch => isIdentChar(ch));
+    if (id === 'true' || id === 'yes') {
+      return {
+        type: TokenType.BOOL,
+        literal: id,
+        value: true,
+        start
+      }
+    }
+    if (id === 'false' || id === 'no') {
+      return {
+        type: TokenType.BOOL,
+        literal: id,
+        value: false,
+        start
+      }
+    }
+    if (id === 'groupby') {
+      return {
+        type: TokenType.GROUPBY,
+        literal: id,
+        value: id,
+        start
+      }
+    }
+    if (id === 'orderby') {
+      return {
+        type: TokenType.ORDERBY,
+        literal: id,
+        value: id,
+        start
+      }
+    }
+
+    return {
+      type: TokenType.IDENT,
+      literal: id,
+      value: id,
+      start
+    };
+  }
+
+  private readEscaped(end: string | RegExp, skipStart: boolean): string {
+    let escaped = false;
+    let str = '';
+
+    if (skipStart) {
+      this._input.next();
+    }
+
+    while (!this._input.eof()) {
+      let ch = this._input.next()!;
+      if (escaped) {
+        str += ch;
+        escaped = false;
+      } else if (ch === '\\') {
+        escaped = true;
+      } else if ((typeof end === 'string' && ch === end) || (end instanceof RegExp && end.test(ch))) {
+        break;
+      } else {
+        str += ch;
+      }
+    }
+    return str;
+  }
+
+  private readString(quote: string | RegExp, skipStart: boolean): Token<TokenType.STRING> {
+    const start = this._input.pos;
+    const value = this.readEscaped(quote, skipStart)
+    return {
+      type: TokenType.STRING,
+      literal: value,
+      value: value,
+      start
+    }
+  }
+
+  private readWhitespace(): Token<TokenType.WHITESPACE> {
+    const start = this._input.pos;
+    const value = this.readWhile(ch => isWhitespace(ch));
+    return {
+      type: TokenType.WHITESPACE,
+      literal: value,
+      value: value,
+      start,
+    }
+  }
+
+  private readNextToken(): Token<any> | null {
+    const start = this._input.pos;
+    const ch = this._input.peek();
+    if (ch === '') {
+      return null;
+    }
+
+    if (isWhitespace(ch)) {
+      return this.readWhitespace()
+    }
+
+    if (ch === '"') {
+      return this.readString('"', true);
+    }
+
+    if (ch === '\'') {
+      return this.readString('\'', true);
+    }
+
+    try {
+      if (isDigit(ch)) {
+        return this.readNumber();
+      }
+    } catch (err) {
+      // we ignore that error here as it may only happen for unqoted strings
+      // that start with a number.
+    }
+
+    if (ch === ':') {
+      this._input.next();
+      return {
+        type: TokenType.COLON,
+        value: ':',
+        literal: ':',
+        start
+      }
+    }
+
+    if (ch === '!') {
+      this._input.next();
+      return {
+        type: TokenType.NOT,
+        value: '!',
+        literal: '!',
+        start
+      }
+    }
+
+    if (isIdentChar(ch)) {
+      const ident = this.readIdent();
+
+      const next = this._input.peek();
+      if (!this._input.eof() && (!isWhitespace(next) && next !== ':')) {
+
+        // identifiers should always end in a colon or with a whitespace.
+        // if neither is the case we are in the middle of a token and are
+        // likely parsing a string without quotes.
+        this._input.revert(ident.literal.length);
+
+        // read the string and revert by one as we terminate the string
+        // at the next WHITESPACE token
+        const tok = this.readString(new RegExp('\\s'), false)
+        this.revertWhitespace();
+
+        return tok;
+      }
+
+      return ident;
+    }
+
+    if (isLetter(ch)) {
+      const tok = this.readString(new RegExp('\\s'), false)
+      // read the string and revert by one as we terminate the string
+      // at the next WHITESPACE token
+      this.revertWhitespace();
+
+      return tok
+    }
+
+    // Failed to handle the input character
+    return this._input.croak(`Can't handle character: ${ch}`);
+  }
+
+  private revertWhitespace() {
+    this._input.revert(1)
+    if (!isWhitespace(this._input.peek())) {
+      this._input.next();
+    }
+  }
+}
diff --git a/desktop/angular/src/app/shared/netquery/textql/parser.ts b/desktop/angular/src/app/shared/netquery/textql/parser.ts
new file mode 100644
index 00000000..5cf492f7
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/textql/parser.ts
@@ -0,0 +1,204 @@
+import { isDevMode } from '@angular/core';
+import { isValueToken, isWhitespace } from './helper';
+import { Lexer } from './lexer';
+import { Token, TokenType } from './token';
+
+
+export interface ParseResult {
+  conditions: {
+    [key: string]: (any | { $ne: any })[];
+  };
+  textQuery: string;
+  groupBy?: string[];
+  orderBy?: string[];
+}
+
+export class Parser {
+  /** The underlying lexer used to tokenize the input */
+  private lexer: Lexer;
+
+  /** Holds the parsed conditions */
+  private conditions: {
+    [key: string]: any[];
+  } = {};
+
+  /** The last condition that has not yet been terminated. Used for scope-based suggestions */
+  private _lastUnterminatedCondition: {
+    start: number;
+    type: string;
+    value: any;
+  } | null = null;
+
+  /** A list of remaining strings/identifiers that are not part of a condition */
+  private remaining: string[] = [];
+
+  /** Returns the last condition that has not yet been terminated. */
+  get lastUnterminatedCondition() {
+    return this._lastUnterminatedCondition;
+  }
+
+  constructor(input: string) {
+    this.lexer = new Lexer(input);
+  }
+
+  static aliases: { [key: string]: string } = {
+    'provider': 'as_owner',
+    'app': 'profile',
+    'ip': 'remote_ip',
+    'port': 'remote_port'
+  }
+
+  /** parse is a shortcut for new Parser(input).process() */
+  static parse(input: string): ParseResult {
+    return new Parser(input).process();
+  }
+
+  /** Process the whole input stream and return the parsed result */
+  process(): ParseResult {
+    let lastIdent: Token<TokenType.IDENT | TokenType.GROUPBY | TokenType.ORDERBY> | null = null;
+    let hasColon = false;
+    let not = false;
+    let groupBy: string[] = [];
+    let orderBy: string[] = [];
+
+    while (true) {
+      const tok = this.lexer.next()
+      if (tok === null) {
+        break;
+      }
+
+      if (isDevMode()) {
+        console.log(tok)
+      }
+
+      // if we find a whitespace token we count it as a termination character
+      // for the last unterminated condition.
+      if (tok.type === TokenType.WHITESPACE) {
+        this._lastUnterminatedCondition = null;
+      }
+
+      // Since we allow the user to enter values without quotes the
+      // lexer might wrongly declare a "string value" as an IDENT.
+      // If we have the pattern <IDENT><COLON><IDENT> we re-classify
+      // the last IDENT as a STRING value
+      if (!!lastIdent && hasColon && tok.type === TokenType.IDENT) {
+        tok.type = TokenType.STRING;
+      }
+
+      if (tok.type === TokenType.IDENT || tok.type === TokenType.GROUPBY || tok.type === TokenType.ORDERBY) {
+        // if we had an IDENT token before and got a new one now the
+        // previous one is pushed to the remaining list
+        if (!!lastIdent) {
+          this._lastUnterminatedCondition = null;
+          this.remaining.push(lastIdent.value)
+        }
+        lastIdent = tok;
+        this._lastUnterminatedCondition = {
+          start: tok.start,
+          type: Parser.aliases[lastIdent.value] || lastIdent.value,
+          value: '',
+        }
+
+        continue
+      }
+
+      // if we don't have an preceding IDENT token
+      // this must be part of remaingin
+      if (!lastIdent) {
+        this.remaining.push(tok.literal);
+        this._lastUnterminatedCondition = null;
+
+        continue
+      }
+
+      // we would expect a colon now
+      if (!hasColon) {
+        if (tok.type !== TokenType.COLON) {
+          // we expected a colon but got something else.
+          // this means the last IDENT is part of remaining
+          this.remaining.push(lastIdent.value);
+          lastIdent = null;
+          this._lastUnterminatedCondition = null;
+
+          continue
+        }
+
+        // we have a colon now so proceed to the next token
+        hasColon = true;
+        not = false;
+
+        continue
+      }
+
+      if (lastIdent.type === TokenType.GROUPBY) {
+        groupBy.push(Parser.aliases[tok.literal] || tok.literal)
+        lastIdent = null
+        hasColon = false
+
+        continue
+      }
+
+      if (lastIdent.type == TokenType.ORDERBY) {
+        orderBy.push(Parser.aliases[tok.literal] || tok.literal)
+        lastIdent = null
+        hasColon = false
+
+        continue
+      }
+
+      if (tok.type === TokenType.NOT && not === false) {
+        not = true
+
+        continue
+      }
+
+      if (isValueToken(tok)) {
+        let identValue = Parser.aliases[lastIdent.value] || lastIdent.value;
+
+        if (!this.conditions[identValue]) {
+          this.conditions[identValue] = [];
+        }
+
+        if (!not) {
+          this.conditions[identValue].push(tok.value)
+        } else {
+          this.conditions[identValue].push({ $ne: tok.value })
+        }
+        this._lastUnterminatedCondition!.value = tok.value;
+
+        lastIdent = null
+        hasColon = false
+        not = false
+
+        continue
+      }
+
+      this.remaining.push(lastIdent.value);
+      lastIdent = null;
+      hasColon = false;
+      not = false;
+      this._lastUnterminatedCondition = null;
+    }
+
+    if (!!lastIdent) {
+      this.remaining.push(lastIdent.value);
+
+      if (hasColon) {
+        this._lastUnterminatedCondition = {
+          start: lastIdent.start,
+          type: Parser.aliases[lastIdent.value] || lastIdent.value,
+          value: ''
+        };
+      } else {
+        this._lastUnterminatedCondition = null;
+      }
+    }
+
+    return {
+      groupBy: groupBy.length > 0 ? groupBy : undefined,
+      orderBy: orderBy.length > 0 ? orderBy : undefined,
+      conditions: this.conditions,
+      textQuery: this.remaining.filter(tok => !isWhitespace(tok)).join(" "),
+    }
+  }
+}
diff --git a/desktop/angular/src/app/shared/netquery/textql/token.ts b/desktop/angular/src/app/shared/netquery/textql/token.ts
new file mode 100644
index 00000000..ae9039d7
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/textql/token.ts
@@ -0,0 +1,46 @@
+
+/**
+ * Language Definition:
+ *
+ * input:
+ *
+ *    [EXPR] [EXPR]...
+ *
+ * with:
+ *
+ *    EXPR = [IDENT][COLON][NOT?][VALUE]
+ *    NOT = "!"
+ *    VALUE = [STRING][BOOL][NUMBER]
+ *    STRING = [a-zA-Z\.0-9]
+ *    BOOL = true | false
+ *    NUMBER = [0-9]+
+ *    COLON = ":"
+ *
+ */
+
+export enum TokenType {
+  WHITESPACE = 'WHITESPACE',
+  IDENT = 'IDENT',
+  COLON = 'COLON',
+  STRING = 'STRING',
+  NUMBER = 'NUMBER',
+  BOOL = 'BOOL',
+  NOT = 'NOT',
+  GROUPBY = 'GROUPBY',
+  ORDERBY = 'ORDERBY'
+}
+
+export type TokenValue<T extends TokenType> =
+  T extends TokenType.NUMBER ? number :
+  T extends TokenType.STRING ? string :
+  T extends TokenType.BOOL ? boolean :
+  T extends TokenType.NOT ? '!' :
+  T extends TokenType.GROUPBY ? 'string' :
+  string;
+
+export interface Token<T extends TokenType> {
+  type: T;
+  literal: string;
+  value: TokenValue<T>;
+  start: number;
+}
diff --git a/desktop/angular/src/app/shared/netquery/utils.ts b/desktop/angular/src/app/shared/netquery/utils.ts
new file mode 100644
index 00000000..95f15034
--- /dev/null
+++ b/desktop/angular/src/app/shared/netquery/utils.ts
@@ -0,0 +1,63 @@
+import { Condition, Matcher } from "@safing/portmaster-api";
+import { objKeys } from "../utils";
+
+export const connectionFieldTranslation: { [key: string]: string } = {
+  domain: "Domain",
+  profile: "App",
+  path: 'Binary Path',
+  scope: 'Scope',
+  as_owner: "Provider",
+  country: "Country",
+  direction: 'Direction',
+  started: 'Started',
+  ended: 'Ended',
+  remote_ip: 'Remote IP',
+  verdict: 'Verdict',
+  encrypted: 'Encrypted',
+  internal: 'Internal',
+  asn: 'ASN',
+  tunneled: 'SPN Active',
+  active: 'Active',
+  allowed: 'Allowed',
+  from: 'From',
+  to: 'To',
+  remote_port: 'Port',
+  bytes_sent: 'Bytes Sent',
+  bytes_received: 'Bytes Received'
+}
+
+export function isMatcher(v: any | Matcher): v is Matcher {
+  return typeof v === 'object' && ('$eq' in v || '$ne' in v || '$like' in v || '$in' in v || '$notin' in v);
+}
+
+export function mergeConditions(cond1: Condition, cond2: Condition): Condition {
+  const result: Condition = {};
+
+  objKeys(cond1).forEach(key => {
+    let val = cond1[key];
+    if (Array.isArray(val)) {
+      result[key] = val;
+    } else {
+      result[key] = [val];
+    }
+  })
+
+  objKeys(cond2).forEach(key => {
+    let val = cond2[key];
+    if (!Array.isArray(val)) {
+      val = [val]
+    }
+
+    if (!(key in result)) {
+      result[key] = val;
+    } else {
+      result[key] = [
+        ...(result[key] as any), // this must be an array here
+        ...val,
+      ]
+    }
+  })
+
+
+  return result;
+}
diff --git a/desktop/angular/src/app/shared/network-scout/index.ts b/desktop/angular/src/app/shared/network-scout/index.ts
new file mode 100644
index 00000000..fa8417ee
--- /dev/null
+++ b/desktop/angular/src/app/shared/network-scout/index.ts
@@ -0,0 +1 @@
+export * from './network-scout';
diff --git a/desktop/angular/src/app/shared/network-scout/network-scout.html b/desktop/angular/src/app/shared/network-scout/network-scout.html
new file mode 100644
index 00000000..b314d86b
--- /dev/null
+++ b/desktop/angular/src/app/shared/network-scout/network-scout.html
@@ -0,0 +1,182 @@
+<div class="flex flex-row items-center gap-2">
+  <div class="relative w-full">
+    <input type="text" placeholder="SEARCH" [(ngModel)]="searchTerm" (ngModelChange)="triggerSearch.next($event)"
+      class="!pl-7 !pr-16">
+    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"
+      class="absolute w-4 h-4 top-1.5 left-1.5">
+      <path fill-rule="evenodd"
+        d="M9 3.5a5.5 5.5 0 100 11 5.5 5.5 0 000-11zM2 9a7 7 0 1112.452 4.391l3.328 3.329a.75.75 0 11-1.06 1.06l-3.329-3.328A7 7 0 012 9z"
+        clip-rule="evenodd" />
+    </svg>
+    <span class="text-xxs uppercase text-secondary absolute right-1.5 top-2 font-light">
+      {{allProfiles.length}} Apps
+    </span>
+  </div>
+
+  <ng-template #settingsTrigger>
+    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"
+      class="w-8 h-full p-1.5 bg-gray-300 rounded cursor-pointer text-secondary hover:text-primary">
+      <path fill-rule="evenodd"
+        d="M2.24 6.8a.75.75 0 001.06-.04l1.95-2.1v8.59a.75.75 0 001.5 0V4.66l1.95 2.1a.75.75 0 101.1-1.02l-3.25-3.5a.75.75 0 00-1.1 0L2.2 5.74a.75.75 0 00.04 1.06zm8 6.4a.75.75 0 00-.04 1.06l3.25 3.5a.75.75 0 001.1 0l3.25-3.5a.75.75 0 10-1.1-1.02l-1.95 2.1V6.75a.75.75 0 00-1.5 0v8.59l-1.95-2.1a.75.75 0 00-1.06-.04z"
+        clip-rule="evenodd" />
+    </svg>
+  </ng-template>
+
+  <sfng-dropdown [triggerTemplate]="settingsTrigger">
+    <div class="flex flex-col gap-2 p-2">
+      <h4>Sort By</h4>
+      <sfng-select displayMode="inline" [ngModel]="sortOrder" (ngModelChange)="updateSortOrder($event)">
+        <ng-container *ngFor="let sortMethod of sortTypes">
+          <sfng-select-item
+            *sfngSelectValue="sortMethod; description:(sortMethod === 'Static' ? 'The default sort order which adds new apps to the bottom' : '')">
+            {{ sortMethod }}</sfng-select-item>
+        </ng-container>
+      </sfng-select>
+    </div>
+  </sfng-dropdown>
+
+  <ng-container *ngIf="spnEnabled">
+    <svg *ngIf="expandCollapseState === 'expand'" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"
+      stroke-width="1.5" stroke="currentColor"
+      class="w-8 h-full p-1.5 bg-gray-300 rounded cursor-pointer text-secondary hover:text-primary"
+      (click)="collapseAll()">
+      <path stroke-linecap="round" stroke-linejoin="round"
+        d="M9 9V4.5M9 9H4.5M9 9L3.75 3.75M9 15v4.5M9 15H4.5M9 15l-5.25 5.25M15 9h4.5M15 9V4.5M15 9l5.25-5.25M15 15h4.5M15 15v4.5m0-4.5l5.25 5.25" />
+    </svg>
+    <svg *ngIf="expandCollapseState === 'collapse'" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"
+      stroke-width="1.5" stroke="currentColor"
+      class="w-8 h-full p-1.5 bg-gray-300 rounded cursor-pointer text-secondary hover:text-primary"
+      (click)="expandAll()">
+      <path stroke-linecap="round" stroke-linejoin="round"
+        d="M3.75 3.75v4.5m0-4.5h4.5m-4.5 0L9 9M3.75 20.25v-4.5m0 4.5h4.5m-4.5 0L9 15M20.25 3.75h-4.5m4.5 0v4.5m0-4.5L15 9m5.25 11.25h-4.5m4.5 0v-4.5m0 4.5L15 15" />
+    </svg>
+  </ng-container>
+</div>
+
+<sfng-accordion-group singleMode="false" [headerTemplate]="header" [@fadeInList]="profiles.length"
+  [disabled]="!spnEnabled" class="flex flex-col gap-2">
+  <sfng-accordion *ngFor="let profile of profiles; trackBy: trackProfile" [data]="profile"
+    [(active)]="profile.expanded">
+    <div class="relative my-3 border-t border-gray-300">
+      <span class="absolute right-0 block pl-2 bg-gray-100 text-tertiary -top-2 text-xxs"> {{ profile.exitPins.length }}
+        IDENTITIES</span>
+    </div>
+
+    <span class="block w-full p-2 text-center text-secondary text-xxs" *ngIf="profile.identities.length === 0">
+      Connections from {{ profile.Name }} have not been routed through the SPN.
+    </span>
+
+    <ul class="grid grid-cols-2 gap-3 p-3" [@fadeInList]="profile.exitPins.length">
+      <li
+        *ngFor="let identity of (profile.showMore ? profile.exitPins : profile.exitPins.slice(0, 4)); trackBy: trackPin"
+        class="flex flex-col bg-gray-200 rounded outline-none justify-items-stretch">
+        <span class="flex flex-row items-center p-2 bg-gray-300 rounded-t">
+          <ng-container class="flex-grow overflow-hidden" *ngIf="identity.EntityV4 || identity.EntityV6 as entity">
+            <span class="block w-6 text-left" [appCountryFlags]="entity.Country"></span>
+            <span class="overflow-hidden font-medium text-primary text-ellipsis"> {{ entity.IP }} </span>
+          </ng-container>
+        </span>
+        <div class="flex flex-row">
+          <span class="flex-grow p-2 rounded-bl outline-none cursor-pointer text-primary text-xxs hover:bg-gray-400"
+            [routerLink]="['/monitor']"
+            [queryParams]="{q: 'groupby:\'\' exit_node:' + identity.ID + ' profile:'+profile.ID}"
+            (click)="$event.stopPropagation()">
+            {{ identity.count }}
+            <span class="font-light text-secondary">Connections</span>
+          </span>
+          <span
+            class="p-2 bg-gray-300 bg-opacity-50 rounded-br outline-none cursor-pointer text-primary text-xxs hover:bg-gray-400"
+            [routerLink]="['/spn']" [queryParams]="{app: profile.ID, pin: identity.ID}">
+            <span class="font-light text-secondary">HOPS:</span>
+            {{ identity.HopDistance }}
+          </span>
+        </div>
+      </li>
+    </ul>
+
+    <span class="block w-full text-center text-secondary text-xxs" *ngIf="profile.exitPins.length > 4"
+      (click)="profile.showMore = !profile.showMore">
+      {{ profile.showMore ? 'Show Less Identities' : 'Show More Identities'}}
+    </span>
+  </sfng-accordion>
+</sfng-accordion-group>
+
+<ng-template #header let-data let-active="active" let-accordion="accordion">
+  <div class="flex flex-row items-center w-full gap-3 px-3 py-2 bg-gray-200 rounded-sm outline-none"
+    [ngClass]="{'cursor-pointer hover:bg-gray-300': !spnEnabled}" [routerLink]="['/app/' + data.ID]"
+    [queryParams]="{tab: 0}" (click)="$event.stopPropagation()">
+
+    <svg xmlns="http://www.w3.org/2000/svg" class="flex-shrink-0 w-4 h-4 transition-all duration-150 transform"
+      *ngIf="spnEnabled" [class.rotate-90]="active" viewBox="0 0 20 20" fill="currentColor"
+      (click)="accordion.toggle($event); $event.stopPropagation()">
+      <path fill-rule="evenodd"
+        d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
+        clip-rule="evenodd" />
+    </svg>
+
+    <span class="flex flex-row items-center flex-grow gap-2 overflow-hidden whitespace-nowrap">
+      <app-icon [profile]="data"></app-icon>
+      <span class="overflow-hidden text-ellipsis">
+        {{ data.Name }}
+      </span>
+    </span>
+
+    <span class="flex self-stretch -top-2 -bottom-2 text-tertiary">
+      <div class="flex items-center justify-center w-6 h-full outline-none cursor-pointer hover:text-primary"
+        [routerLink]="['/spn']" *ngIf="data.identities.length > 0" [queryParams]="{app: data.ID}"
+        (click)="$event.stopPropagation()">
+        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="w-3.5 h-3.5" stroke="currentColor">
+          <g fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="2">
+            <path
+              d="M6.488 15.581c.782.781.782 2.048 0 2.829-.782.781-2.049.781-2.83 0-.782-.781-.782-2.048 0-2.829.781-.781 2.048-.781 2.83 0M13.415 3.586c.782.781.782 2.048 0 2.829-.782.781-2.049.781-2.83 0-.782-.781-.782-2.048 0-2.829.781-.781 2.049-.781 2.83 0M20.343 15.58c.782.781.782 2.048 0 2.829-.782.781-2.049.781-2.83 0-.782-.781-.782-2.048 0-2.829.781-.781 2.048-.781 2.83 0" />
+            <path
+              d="M17.721 18.581C16.269 20.071 14.246 21 12 21c-1.146 0-2.231-.246-3.215-.68M4.293 15.152c-.56-1.999-.352-4.21.769-6.151.574-.995 1.334-1.814 2.205-2.449M13.975 5.254c2.017.512 3.834 1.799 4.957 3.743.569.985.899 2.041 1.018 3.103" />
+          </g>
+        </svg>
+      </div>
+
+      <div class="flex items-center justify-center w-6 h-full outline-none cursor-pointer hover:text-primary"
+        [routerLink]="['/app/' + data.ID]" [queryParams]="{tab: 0}" (click)="$event.stopPropagation()">
+        <svg viewBox="0 0 24 24" class="w-3.5 h-3.5">
+          <g fill="none" stroke="currentColor">
+            <path shape-rendering="geometricPrecision" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
+              d="M8.464 8.464c-1.953 1.953-1.953 5.118 0 7.071 1.953 1.953 5.118 1.953 7.071 0 1.953-1.953 1.953-5.119 0-7.071C14.559 7.488 13.28 7 12 7" />
+            <path shape-rendering="geometricPrecision" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
+              d="M5.636 5.636c-3.515 3.515-3.515 9.213 0 12.728 3.515 3.515 9.213 3.515 12.728 0 3.515-3.515 3.515-9.213 0-12.728-2.627-2.627-6.474-3.289-9.717-1.989M5.64 5.64L12 12" />
+          </g>
+        </svg>
+      </div>
+
+      <div class="flex items-center justify-center w-6 h-full outline-none cursor-pointer hover:text-primary"
+        [routerLink]="['/app/' + data.ID]" [queryParams]="{tab: 'settings'}" (click)="$event.stopPropagation()">
+        <svg xmlns="http://www.w3.org/2000/svg" data-name="Layer 1" viewBox="0 0 24 24" class="w-3.5 h-3.5" fill="none"
+          stroke="currentColor">
+          <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" fill="currentColor"
+            d="M19 21h-3a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2Z" />
+          <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
+            d="M19 9h-3a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2ZM5 3h3a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2ZM5 15h3a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2a2 2 0 0 1 2-2Z" />
+        </svg>
+      </div>
+
+    </span>
+
+    <app-count-indicator *ngIf="!isByteSortOrder; else: bytesTemplate" [count]="data.size" [countAllowed]="data.countAllowed"></app-count-indicator>
+    <ng-template #bytesTemplate>
+      <div style="font-size: 0.6rem" class="bg-gray-300 font-light p-0.5 pr-1 rounded-md w-14 flex-shrink-0 flex-grow-0 ">
+        <span class="flex flex-row leading-3 justify-between items-center text-deepPurple-200">
+          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-3 h-3">
+            <path fill-rule="evenodd" d="M10 15a.75.75 0 01-.75-.75V7.612L7.29 9.77a.75.75 0 01-1.08-1.04l3.25-3.5a.75.75 0 011.08 0l3.25 3.5a.75.75 0 11-1.08 1.04l-1.96-2.158v6.638A.75.75 0 0110 15z" clip-rule="evenodd" />
+          </svg>
+          {{ data.bytes_sent | bytes:"1.0-0" }}
+        </span>
+
+        <span class="flex flex-row leading-3 justify-between items-center text-cyan-700">
+          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-3 h-3">
+            <path fill-rule="evenodd" d="M10 5a.75.75 0 01.75.75v6.638l1.96-2.158a.75.75 0 111.08 1.04l-3.25 3.5a.75.75 0 01-1.08 0l-3.25-3.5a.75.75 0 111.08-1.04l1.96 2.158V5.75A.75.75 0 0110 5z" clip-rule="evenodd" />
+          </svg>
+          {{ data.bytes_received | bytes:"1.0-0" }}
+        </span>
+      </div>
+    </ng-template>
+  </div>
+</ng-template>
diff --git a/desktop/angular/src/app/shared/network-scout/network-scout.scss b/desktop/angular/src/app/shared/network-scout/network-scout.scss
new file mode 100644
index 00000000..9f24cfef
--- /dev/null
+++ b/desktop/angular/src/app/shared/network-scout/network-scout.scss
@@ -0,0 +1,3 @@
+:host {
+  @apply w-full p-2 flex flex-col gap-2;
+}
diff --git a/desktop/angular/src/app/shared/network-scout/network-scout.ts b/desktop/angular/src/app/shared/network-scout/network-scout.ts
new file mode 100644
index 00000000..8c3c7d88
--- /dev/null
+++ b/desktop/angular/src/app/shared/network-scout/network-scout.ts
@@ -0,0 +1,322 @@
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, OnInit, TrackByFunction, inject } from "@angular/core";
+import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
+import { BoolSetting, Condition, ConfigService, ExpertiseLevel, IProfileStats, Netquery, Pin, SPNService } from "@safing/portmaster-api";
+import { Subject, combineLatest, debounceTime, filter, finalize, interval, retry, startWith, switchMap, take, takeUntil } from "rxjs";
+import { UIStateService } from "src/app/services";
+import { fadeInListAnimation } from "../animations";
+import { ExpertiseService } from './../expertise/expertise.service';
+
+interface _Pin extends Pin {
+  count: number;
+}
+
+interface _Profile extends IProfileStats {
+  exitPins: _Pin[];
+  showMore: boolean;
+  expanded: boolean;
+}
+
+export enum SortTypes {
+  static = 'Static',
+  aToZ = "A-Z",
+  zToA = "Z-A",
+  totalConnections = "Total Connections",
+  connectionsDenied = "Denied Connections",
+  connectionsAllowed = "Allowed Connections",
+  spnIdentities = "SPN Identities",
+  bytesSent = "Bytes Sent",
+  bytesReceived = "Bytes Received",
+  totalBytes = "Total Bytes"
+}
+
+const bandwidthSorts: SortTypes[] = [
+  SortTypes.bytesReceived,
+  SortTypes.bytesSent,
+  SortTypes.totalBytes
+]
+
+@Component({
+  selector: 'app-network-scout',
+  templateUrl: './network-scout.html',
+  styleUrls: ['./network-scout.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  animations: [
+    fadeInListAnimation,
+  ]
+})
+export class NetworkScoutComponent implements OnInit {
+  private destroyRef = inject(DestroyRef);
+
+  sortTypes = [
+    SortTypes.static,
+    SortTypes.aToZ,
+    SortTypes.zToA,
+    SortTypes.totalConnections,
+    SortTypes.connectionsDenied,
+    SortTypes.connectionsAllowed,
+    SortTypes.spnIdentities
+  ]
+
+  readonly sortMethods = new Map<SortTypes, any>([
+    // there's not entry for "Static" here on purpose because we'll use the sort order
+    // returned by netquery.
+    [SortTypes.aToZ, (a: _Profile, b: _Profile) => a.Name.localeCompare(b.Name)],
+    [SortTypes.zToA, (a: _Profile, b: _Profile) => b.Name.localeCompare(a.Name)],
+    [SortTypes.totalConnections, (a: _Profile, b: _Profile) => (b.countAllowed + b.countUnpermitted) - (a.countAllowed + a.countUnpermitted)],
+    [SortTypes.connectionsAllowed, (a: _Profile, b: _Profile) => b.countAllowed - a.countAllowed],
+    [SortTypes.connectionsDenied, (a: _Profile, b: _Profile) => b.countUnpermitted - a.countUnpermitted],
+    [SortTypes.spnIdentities, (a: _Profile, b: _Profile) => a.identities.length - b.identities.length],
+    [SortTypes.bytesReceived, (a: _Profile, b: _Profile) => b.bytes_received - a.bytes_received],
+    [SortTypes.bytesSent, (a: _Profile, b: _Profile) => b.bytes_sent - a.bytes_sent],
+    [SortTypes.totalBytes, (a: _Profile, b: _Profile) => (b.bytes_received + b.bytes_sent) - (a.bytes_received + a.bytes_sent)]
+  ]);
+
+  /** The current sort order */
+  sortOrder: SortTypes = SortTypes.static;
+
+  get isByteSortOrder() {
+    return bandwidthSorts.includes(this.sortOrder);
+  }
+
+  /** Used to trigger a debounced search from the template */
+  triggerSearch = new Subject<string>();
+
+  /** The current search term as entered in the input[type="text"] */
+  searchTerm: string = '';
+
+  /** A list of all active profiles without any search applied */
+  allProfiles: _Profile[] = [];
+
+  /** Defines if new elements should be expanded or collapsed */
+  expandCollapseState: 'expand' | 'collapse' = 'expand';
+
+  /** Whether or not the SPN is enabled */
+  spnEnabled = false;
+
+  /**
+   * Emits when the user clicks the "expand all" or "collapse all" buttons.
+   * Once the user did that we stop updating the default state depending on whether the
+   * SPN is enabled or not.
+   */
+  private userChangedState = new Subject<void>();
+
+  /**
+   * A list of profiles that are currently displayed. This is basically allProfiles but with
+   * text search applied.
+   */
+  profiles: _Profile[] = [];
+
+  /** TrackByFunction for the profiles. */
+  trackProfile: TrackByFunction<_Profile> = (_, profile) => profile.ID;
+
+  /** TrackByFunction for the exit pins */
+  trackPin: TrackByFunction<_Pin> = (_, pin) => pin.ID;
+
+  constructor(
+    private netquery: Netquery,
+    private spn: SPNService,
+    private configService: ConfigService,
+    private stateService: UIStateService,
+    private expertise: ExpertiseService,
+    private cdr: ChangeDetectorRef,
+  ) { }
+
+  searchProfiles(term: string) {
+    term = term.trim();
+
+    if (term === '') {
+      this.profiles = [
+        ...this.allProfiles
+      ];
+
+      this.sortProfiles(this.profiles);
+
+      return;
+    }
+
+    const lowerCaseTerm = term.toLocaleLowerCase()
+    this.profiles = this.allProfiles.filter(p => {
+      if (p.ID.toLocaleLowerCase().includes(lowerCaseTerm)) {
+        return true;
+      }
+
+      if (p.Name.toLocaleLowerCase().includes(lowerCaseTerm)) {
+        return true;
+      }
+
+      if (p.exitPins.some(pin => pin.Name.toLocaleLowerCase().includes(lowerCaseTerm))) {
+        return true;
+      }
+
+      return false;
+    })
+
+    this.sortProfiles(this.profiles);
+  }
+
+  sortProfiles(profiles: _Profile[]) {
+    const method = this.sortMethods.get(this.sortOrder);
+    if (!method) {
+      return;
+    }
+
+    profiles.sort(method)
+
+    this.cdr.markForCheck();
+  }
+
+  updateSortOrder(newOrder: SortTypes) {
+    this.sortOrder = newOrder;
+    this.searchProfiles(this.searchTerm);
+
+    this.stateService.set('netscoutSortOrder', newOrder)
+      .subscribe({
+        error: err => {
+          console.error(err);
+        }
+      })
+  }
+
+  expandAll() {
+    this.expandCollapseState = 'expand';
+    this.allProfiles.forEach(profile => profile.expanded = profile.identities.length > 0)
+    this.searchProfiles(this.searchTerm)
+    this.userChangedState.next();
+
+    this.cdr.markForCheck()
+  }
+
+  collapseAll() {
+    this.expandCollapseState = 'collapse';
+    this.allProfiles.forEach(profile => profile.expanded = false)
+    this.searchProfiles(this.searchTerm)
+    this.userChangedState.next();
+
+    this.cdr.markForCheck()
+  }
+
+  ngOnInit(): void {
+    this.stateService.uiState()
+      .pipe(take(1))
+      .subscribe(state => {
+        this.sortOrder = state.netscoutSortOrder;
+
+        this.searchProfiles(this.searchTerm);
+      })
+
+    this.configService.watch<BoolSetting>('spn/enable')
+      .pipe(
+        takeUntilDestroyed(this.destroyRef),
+        takeUntil(this.userChangedState),
+      )
+      .subscribe(enabled => {
+        // if the SPN is enabled and the user did not yet change the
+        // collapse/expand state we switch to "expand" for the default.
+        // Otherwise, there will be no identities so there's no reason
+        // to expand them at all so we switch to collapse
+        if (enabled) {
+          this.expandCollapseState = 'expand'
+        } else {
+          this.expandCollapseState = 'collapse'
+        }
+
+        this.spnEnabled = enabled;
+      });
+
+    let updateInProgress = false;
+
+    combineLatest([
+      combineLatest([
+        interval(5000)
+          .pipe(
+            filter(() => !updateInProgress)
+          ),
+        this.expertise.change,
+      ])
+        .pipe(
+          startWith(-1),
+          switchMap(() => {
+            let query: Condition = {};
+            if (this.expertise.currentLevel !== ExpertiseLevel.Developer) {
+              query["internal"] = { $eq: false }
+            }
+
+            updateInProgress = true
+
+            return this.netquery.getProfileStats(query)
+              .pipe(
+                finalize(() => updateInProgress = false)
+              )
+          }),
+          retry({ delay: 5000 })
+        ),
+
+      this.spn.watchPins()
+        .pipe(
+          debounceTime(100),
+          startWith([]),
+        ),
+
+      this.triggerSearch
+        .pipe(
+          debounceTime(100),
+          startWith(''),
+        ),
+    ])
+      .pipe(
+        takeUntilDestroyed(this.destroyRef),
+      )
+      .subscribe(([res, pins, searchTerm]) => {
+        // create a lookup map for the the SPN map pins
+        const pinLookupMap = new Map<string, Pin>();
+        pins.forEach(p => pinLookupMap.set(p.ID, p))
+
+        // create a lookup map from already known profiles so we can
+        // inherit states like "showMore".
+        const profileLookupMap = new Map<string, _Profile>();
+        this.allProfiles.forEach(p => profileLookupMap.set(p.ID, p))
+
+        // map the list of profile statistics to include the exit Pin information
+        // as well.
+        this.allProfiles = res.map(s => {
+          const existing = profileLookupMap.get(s.ID);
+          return {
+            ...s,
+            exitPins: s.identities
+              .map(ident => {
+                const pin = pinLookupMap.get(ident.exit_node);
+                if (!pin) {
+                  return null;
+                }
+
+                return {
+                  count: ident.count,
+                  ...pin
+                }
+              })
+              .filter(pin => !!pin),
+            showMore: existing?.showMore ?? false,
+            expanded: existing?.expanded ?? (this.expandCollapseState === 'expand' && s.identities.length > 1 /* there's always the "direct" identity */),
+          } as _Profile
+        });
+
+        this.searchProfiles(searchTerm);
+
+        // check if we have profiles with bandwidth data and
+        // make sure our sort methods are updated.
+        if (this.profiles.some(p => p.bytes_received > 0 || p.bytes_sent > 0)) {
+          if (!this.sortTypes.includes(SortTypes.bytesReceived)) {
+            this.sortTypes.push.apply(this.sortTypes, bandwidthSorts)
+          }
+
+          this.sortTypes = [...this.sortTypes];
+        } else {
+          this.sortTypes = this.sortTypes.filter(type => {
+            return !bandwidthSorts.includes(type)
+          })
+        }
+
+        this.cdr.markForCheck();
+      })
+  }
+}
diff --git a/desktop/angular/src/app/shared/notification-list/index.ts b/desktop/angular/src/app/shared/notification-list/index.ts
new file mode 100644
index 00000000..3fa640e3
--- /dev/null
+++ b/desktop/angular/src/app/shared/notification-list/index.ts
@@ -0,0 +1 @@
+export { NotificationListComponent as NotificationWidgetComponent, NotificationWidgetConfig } from './notification-list.component';
diff --git a/desktop/angular/src/app/shared/notification-list/notification-list.component.html b/desktop/angular/src/app/shared/notification-list/notification-list.component.html
new file mode 100644
index 00000000..23f2cb08
--- /dev/null
+++ b/desktop/angular/src/app/shared/notification-list/notification-list.component.html
@@ -0,0 +1,24 @@
+<caption class="text-xs text-secondary" *ngIf="!!notifications.length">Notifications</caption>
+
+<div class="flex flex-col w-full gap-2">
+  <div class="row" (click)="toggelView(notif)" *ngFor="let notif of notifications; trackBy: trackBy">
+    <div class="type" [class.info]="notif.Type === types.Info" [class.warning]="notif.Type === types.Warning"
+      [class.error]="notif.Type === types.Error" [class.broadcast]="notif.isBroadcast">
+      <svg *ngIf="notif.isBroadcast" xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor"
+        viewBox="0 0 16 16">
+        <path
+          d="M13 2.5a1.5 1.5 0 0 1 3 0v11a1.5 1.5 0 0 1-3 0v-11zm-1 .724c-2.067.95-4.539 1.481-7 1.656v6.237a25.222 25.222 0 0 1 1.088.085c2.053.204 4.038.668 5.912 1.56V3.224zm-8 7.841V4.934c-.68.027-1.399.043-2.008.053A2.02 2.02 0 0 0 0 7v2c0 1.106.896 1.996 1.994 2.009a68.14 68.14 0 0 1 .496.008 64 64 0 0 1 1.51.048zm1.39 1.081c.285.021.569.047.85.078l.253 1.69a1 1 0 0 1-.983 1.187h-.548a1 1 0 0 1-.916-.599l-1.314-2.48a65.81 65.81 0 0 1 1.692.064c.327.017.65.037.966.06z" />
+      </svg>
+    </div>
+    <div class="preview">
+      <span>
+        {{notif.Title || notif.Message}}
+      </span>
+      <div class="buttons">
+        <button *ngFor="let action of notif!.AvailableActions" (click)="execute(notif!, action, $event)">
+          {{action.Text}}
+        </button>
+      </div>
+    </div>
+  </div>
+</div>
diff --git a/desktop/angular/src/app/shared/notification-list/notification-list.component.scss b/desktop/angular/src/app/shared/notification-list/notification-list.component.scss
new file mode 100644
index 00000000..e99c059e
--- /dev/null
+++ b/desktop/angular/src/app/shared/notification-list/notification-list.component.scss
@@ -0,0 +1,186 @@
+:host {
+  @apply flex flex-col justify-start items-center gap-2;
+  @apply w-full px-2;
+
+  @apply border-b border-gray-400 pb-2;
+
+  &>* {
+    /* do not allow to shrink  */
+    flex-shrink: 0;
+  }
+}
+
+.row,
+div.placeholder {
+  display: flex;
+  flex-direction: column;
+  width: 100%;
+  margin: 0;
+  border: none;
+}
+
+.row {
+  @apply overflow-hidden w-full flex flex-row rounded;
+  @apply h-8;
+
+  .type {
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    width: .5rem;
+    flex-shrink: 0;
+    flex-grow: 0;
+    background-color: #202020;
+
+    &.info {
+      background-color: #727272;
+    }
+
+    &.warning {
+      background-color: theme("colors.info.yellow");
+    }
+
+    &.error {
+      background-color: theme("colors.info.red");
+    }
+
+    &.broadcast {
+      width: 2rem;
+      color: #00000080;
+    }
+  }
+
+  .preview {
+    background-color: #292929;
+    cursor: pointer;
+    overflow: hidden;
+    flex-grow: 1;
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    padding-left: 1rem;
+    border-top-left-radius: 2px;
+    border-bottom-left-radius: 2px;
+    position: relative;
+
+    span {
+      flex-grow: 1;
+      text-overflow: ellipsis;
+      overflow: hidden;
+      word-wrap: none;
+      white-space: nowrap;
+
+      font-size: 0.7rem;
+      font-weight: 500;
+
+      color: #cacaca;
+
+      .category {
+        padding-left: 8px;
+        font-size: 0.65rem;
+        font-weight: 700;
+        text-transform: capitalize;
+        color: #999999c9;
+      }
+    }
+
+    &:hover {
+      background-color: #303030;
+
+      .buttons {
+        opacity: 1;
+        transition: all .05s ease-in-out;
+        transform: translateX(-100%);
+      }
+    }
+
+    .buttons {
+      opacity: 0;
+      transition: all .05s ease-in-out;
+      height: 100%;
+      position: absolute;
+      left: 100%;
+      display: flex;
+      white-space: nowrap;
+      background-color: #303030;
+
+      button {
+        outline: none;
+        @apply bg-transparent;
+        font-size: 0.6rem;
+        background-color: #3a3a3a;
+        padding-left: 1.25rem;
+        padding-right: 1.25rem;
+        text-transform: capitalize;
+        border-radius: 0;
+        font-weight: 500;
+        outline: none;
+        color: hsla(0, 0%, 100%, 0.548);
+        height: 100%;
+
+        &:hover {
+          background-color: #363636;
+          color: #ffffff;
+        }
+
+        &:first-of-type {
+          margin-left: .5rem;
+        }
+
+        &:last-of-type {
+          background: transparent;
+          color: hsla(0, 0%, 100%, 0.562);
+          @apply ml-1;
+          transition: all cubic-bezier(0.175, 0.885, 0.32, 1.275) .2s;
+
+          &:hover {
+            color: #ffffff;
+          }
+        }
+      }
+    }
+  }
+}
+
+/*
+.notification-body {
+  @apply bg-cards-tertiary;
+  flex-grow: 1;
+  @apply rounded-b;
+  position: absolute;
+  top: var(--slot-size);
+  bottom: 0;
+
+  .broadcast-info {
+    background-color: #00000040;
+    width: 100%;
+    padding: 0.5rem;
+    color: white !important;
+    font-weight: 400;
+    bottom: 0;
+    position: absolute;
+    flex-grow: 1;
+    @apply flex items-center justify-center gap-1;
+  }
+}
+*/
+
+div.placeholder {
+  @apply font-medium;
+  @apply text-tertiary;
+  @apply flex-grow;
+  position: relative;
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+  user-select: none;
+}
+
+app-loading {
+  opacity: .5;
+  margin-left: auto;
+  margin-right: auto;
+  position: relative;
+  top: 5px;
+}
diff --git a/desktop/angular/src/app/shared/notification-list/notification-list.component.ts b/desktop/angular/src/app/shared/notification-list/notification-list.component.ts
new file mode 100644
index 00000000..d54e2b98
--- /dev/null
+++ b/desktop/angular/src/app/shared/notification-list/notification-list.component.ts
@@ -0,0 +1,138 @@
+import { animate, style, transition, trigger } from '@angular/animations';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, OnDestroy, OnInit, TrackByFunction, inject } from '@angular/core';
+import { SfngDialogService } from '@safing/ui';
+import { Subscription } from 'rxjs';
+import { map } from 'rxjs/operators';
+import { Action, Notification, NotificationType, NotificationsService } from 'src/app/services';
+import { moveInOutAnimation, moveInOutListAnimation } from 'src/app/shared/animations';
+import { NotificationComponent } from '../notification/notification';
+
+export interface NotificationWidgetConfig {
+  markdown: boolean;
+}
+
+export interface _Notification<T = any> extends Notification<T> {
+  isBroadcast: boolean
+}
+
+@Component({
+  selector: 'app-notification-list',
+  templateUrl: './notification-list.component.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  styleUrls: [
+    './notification-list.component.scss'
+  ],
+  animations: [
+    trigger(
+      'fadeIn',
+      [
+        transition(
+          ':enter',
+          [
+            style({ opacity: 0 }),
+            animate('.2s .2s ease-in',
+              style({ opacity: 1 }))
+          ]
+        ),
+      ]
+    ),
+    moveInOutAnimation,
+    moveInOutListAnimation
+  ]
+})
+export class NotificationListComponent implements OnInit, OnDestroy {
+  readonly types = NotificationType;
+  readonly dialog = inject(SfngDialogService);
+  readonly cdr = inject(ChangeDetectorRef);
+
+  /** Used to set a fixed height when a notification is expanded. */
+  @HostBinding('style.height')
+  height: null | string = null;
+
+  /** Sets the overflow to hidden when a notification is expanded. */
+  @HostBinding('style.overflow')
+  get overflow() {
+    if (this.height === null) {
+      return null;
+    }
+    return 'hidden';
+  }
+
+  @HostBinding('class.empty')
+  get isEmpty() {
+    return this.notifications.length === 0;
+  }
+
+  @HostBinding('@moveInOutList')
+  get length() { return this.notifications.length }
+
+  /** Subscription to notification updates. */
+  private notifSub = Subscription.EMPTY;
+
+  /** All active notifications. */
+  notifications: _Notification<any>[] = [];
+
+  trackBy: TrackByFunction<_Notification> = this.notifsService.trackBy;
+
+  constructor(
+    public elementRef: ElementRef,
+    public notifsService: NotificationsService,
+  ) { }
+
+  ngOnInit(): void {
+    this.notifSub = this.notifsService
+      .new$
+      .pipe(
+        // filter out any prompts as they are handled by a different widget.
+        map(notifs => {
+          return notifs.filter(notif => !notif.SelectedActionID && !(notif.Type === NotificationType.Prompt && notif.EventID.startsWith("filter:prompt")))
+        })
+      )
+      .subscribe(list => {
+        this.notifications = list.map(notification => {
+          return {
+            ...notification,
+            isBroadcast: notification.EventID.startsWith("broadcasts:"),
+          }
+        });
+
+        this.cdr.markForCheck();
+      });
+  }
+
+  ngOnDestroy() {
+    this.notifSub.unsubscribe();
+  }
+
+  /**
+   * @private
+   *
+   * Executes a notification action and updates the "expanded-notification"
+   * view if required.
+   *
+   * @param n  The notification object.
+   * @param actionId  The ID of the action to execute.
+   * @param event The mouse click event.
+   */
+  execute(n: _Notification<any>, action: Action, event: MouseEvent) {
+    event.preventDefault();
+    event.stopPropagation();
+
+    this.notifsService.execute(n, action)
+      .subscribe()
+  }
+
+  /**
+   * @private
+   * Toggles between list mode and notification-view mode.
+   *
+   * @param notif The notification that has been clicked.
+   */
+  toggelView(notif: _Notification<any>) {
+    const ref = this.dialog.create(NotificationComponent, {
+      backdrop: 'light',
+      autoclose: true,
+      data: notif,
+    });
+  }
+}
diff --git a/desktop/angular/src/app/shared/notification/notification.html b/desktop/angular/src/app/shared/notification/notification.html
new file mode 100644
index 00000000..c3d7bcf6
--- /dev/null
+++ b/desktop/angular/src/app/shared/notification/notification.html
@@ -0,0 +1,27 @@
+<div class="flex flex-col items-start">
+  <caption *ngIf="!notification.isBroadcast">Notification</caption>
+
+  <caption *ngIf="notification.isBroadcast" sfngTipUpAnchor class="flex flex-row gap-2 items-center">
+    Broadcast Notification
+    <sfng-tipup key="broadcast-info"></sfng-tipup>
+  </caption>
+
+  <svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4 close-icon" viewBox="0 0 20 20" fill="currentColor"
+    (click)="ref.close()">
+    <path fill-rule="evenodd"
+      d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z"
+      clip-rule="evenodd" />
+  </svg>
+
+  <h1>{{notification.Title}}</h1>
+
+  <markdown emoji [data]="notification.Message" class="message"></markdown>
+
+  <div class="buttons">
+    <button *ngFor="let action of notification!.AvailableActions"
+      [class.selected]="action.ID === notification!.SelectedActionID" [disabled]="state === 'invalid'"
+      (click)="execute(notification!, action)">
+      {{action.Text}}
+    </button>
+  </div>
+</div>
diff --git a/desktop/angular/src/app/shared/notification/notification.scss b/desktop/angular/src/app/shared/notification/notification.scss
new file mode 100644
index 00000000..5142a8c0
--- /dev/null
+++ b/desktop/angular/src/app/shared/notification/notification.scss
@@ -0,0 +1,48 @@
+:host {
+  @apply block;
+  max-width: 24rem;
+}
+
+caption {
+  @apply text-xxs;
+  opacity: .6;
+}
+
+h1 {
+  @apply text-base font-normal my-4;
+}
+
+.message,
+h1 {
+  flex-shrink: 0;
+  text-overflow: ellipsis;
+  word-break: normal;
+}
+
+.message {
+  flex-grow: 1;
+  padding: 0;
+}
+
+.close-icon {
+  position: absolute;
+  top: 1rem;
+  right: 1rem;
+  opacity: .7;
+  cursor: pointer;
+
+  &:hover {
+    opacity: 1;
+  }
+}
+
+.buttons {
+  width: 100%;
+  display: flex;
+
+  @apply flex flex-row justify-end gap-2;
+}
+
+a {
+  text-decoration: underline;
+}
diff --git a/desktop/angular/src/app/shared/notification/notification.ts b/desktop/angular/src/app/shared/notification/notification.ts
new file mode 100644
index 00000000..a50dcdee
--- /dev/null
+++ b/desktop/angular/src/app/shared/notification/notification.ts
@@ -0,0 +1,65 @@
+import { coerceBooleanProperty } from '@angular/cdk/coercion';
+import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, OnInit, Output, inject } from '@angular/core';
+import { SFNG_DIALOG_REF } from '@safing/ui';
+import { Action, NotificationState, NotificationsService, getNotificationTypeString } from '../../services';
+import { _Notification } from '../notification-list/notification-list.component';
+
+@Component({
+  selector: 'app-notification',
+  templateUrl: './notification.html',
+  styleUrls: ['./notification.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class NotificationComponent implements OnInit {
+  readonly ref = inject(SFNG_DIALOG_REF);
+  readonly notification: _Notification<any> = inject(SFNG_DIALOG_REF).data;
+
+  /**
+   * The host tag of the notification component has the notification type
+   * and the notification state as a class name set.
+   * Examples:
+   *
+   *    notif-action-required notif-prompt
+   */
+  @HostBinding('class')
+  get hostClass(): string {
+    let cls = `notif-${this.state}`;
+    if (!!this.notification) {
+      cls = `${cls} notif-${getNotificationTypeString(this.notification.Type)}`
+    }
+    return cls
+  }
+
+  state: NotificationState = NotificationState.Invalid;
+
+  ngOnInit() {
+    if (!!this.notification) {
+      this.state = this.notification.State || NotificationState.Invalid;
+    } else {
+      this.state = NotificationState.Invalid;
+    }
+  }
+
+  @Input()
+  set allowMarkdown(v: any) {
+    this._markdown = coerceBooleanProperty(v);
+  }
+  get allowMarkdown() { return this._markdown; }
+  private _markdown: boolean = true;
+
+  @Output()
+  actionExecuted: EventEmitter<Action> = new EventEmitter();
+
+  constructor(private notifService: NotificationsService) { }
+
+  execute(n: _Notification<any>, action: Action) {
+    this.notifService.execute(n, action)
+      .subscribe(
+        () => {
+          this.actionExecuted.next(action)
+          this.ref.close();
+        },
+        err => console.error(err),
+      )
+  }
+}
diff --git a/desktop/angular/src/app/shared/pipes/bytes.pipe.ts b/desktop/angular/src/app/shared/pipes/bytes.pipe.ts
new file mode 100644
index 00000000..a0be5486
--- /dev/null
+++ b/desktop/angular/src/app/shared/pipes/bytes.pipe.ts
@@ -0,0 +1,28 @@
+import { DecimalPipe } from "@angular/common";
+import { Pipe, PipeTransform } from "@angular/core";
+
+@Pipe({
+  pure: true,
+  name: 'bytes',
+})
+export class BytesPipe implements PipeTransform {
+  transform(value: any, decimal: string = '1.0-2', ...args: any[]) {
+    value = +value; // convert to number
+
+    const ceilings = [
+      'B',
+      'kB',
+      'MB',
+      'GB',
+      'TB'
+    ]
+
+    let idx = 0;
+    while (value > 1024 && idx < ceilings.length - 1) {
+      value = value / 1024;
+      idx++
+    }
+
+    return (new DecimalPipe('en-US')).transform(value, decimal) + ' ' + ceilings[idx];
+  }
+}
diff --git a/desktop/angular/src/app/shared/pipes/common-pipes.module.ts b/desktop/angular/src/app/shared/pipes/common-pipes.module.ts
new file mode 100644
index 00000000..c64df8a1
--- /dev/null
+++ b/desktop/angular/src/app/shared/pipes/common-pipes.module.ts
@@ -0,0 +1,27 @@
+import { NgModule } from "@angular/core";
+import { BytesPipe } from "./bytes.pipe";
+import { TimeAgoPipe } from "./time-ago.pipe";
+import { ToAppProfilePipe } from "./to-profile.pipe";
+import { DurationPipe } from "./duration.pipe";
+import { RoundPipe } from "./round.pipe";
+import { ToSecondsPipe } from "./to-seconds.pipe";
+
+@NgModule({
+  declarations: [
+    TimeAgoPipe,
+    BytesPipe,
+    ToAppProfilePipe,
+    DurationPipe,
+    RoundPipe,
+    ToSecondsPipe
+  ],
+  exports: [
+    TimeAgoPipe,
+    BytesPipe,
+    ToAppProfilePipe,
+    DurationPipe,
+    RoundPipe,
+    ToSecondsPipe
+  ]
+})
+export class CommonPipesModule { }
diff --git a/desktop/angular/src/app/shared/pipes/duration.pipe.ts b/desktop/angular/src/app/shared/pipes/duration.pipe.ts
new file mode 100644
index 00000000..df33c283
--- /dev/null
+++ b/desktop/angular/src/app/shared/pipes/duration.pipe.ts
@@ -0,0 +1,103 @@
+import { Pipe, PipeTransform } from "@angular/core";
+
+const millisecond = 1;
+const second = 1000 * millisecond;
+const minute = 60 * second;
+const hour = 60 * minute;
+const day = 24 * hour;
+
+export function formatDuration(millis: number, skipDays = false, skipMillis = false): string {
+  const sign = millis < 0 ? '-' : '';
+  let val = Math.abs(millis);
+  let str = '';
+
+  if (millis === 0) {
+    return '0';
+  }
+
+  if (!skipDays) {
+    const days = Math.floor(val / day)
+    if (days > 0) {
+      str += days.toString() + 'd ';
+      val -= days * day;
+    }
+  }
+
+  const hours = Math.floor(val / hour);
+  if (hours > 0) {
+    str += hours.toString() + 'h ';
+    val -= hours * hour;
+  }
+
+  const minutes = Math.floor(val / minute);
+  if (minutes > 0) {
+    str += minutes.toString() + 'm ';
+    val -= minutes * minute;
+  }
+
+  const seconds = Math.floor(val / second);
+  if (seconds > 0) {
+    str += seconds.toString() + 's ';
+    val -= seconds * second;
+  }
+
+  if (!skipMillis) {
+    const ms = Math.floor(val / millisecond)
+    if (ms > 0) {
+      str += ms.toString() + 'ms '
+      val -= ms * millisecond
+    }
+  }
+
+  if (str.endsWith("")) {
+    str = str.substring(0, str.length - 1)
+  }
+
+  return sign + str;
+}
+
+@Pipe({
+  name: 'duration',
+  pure: true
+})
+export class DurationPipe implements PipeTransform {
+  transform(value: number | [string, string] | [Date, Date] | [number, number], ...args: any[]) {
+    if (Array.isArray(value)) {
+      let firstNum: number;
+      let secondNum: number;
+
+      let [first, second] = value;
+      if (first instanceof Date || typeof first === 'string') {
+        first = new Date(first)
+        firstNum = first.getTime()
+      } else {
+        firstNum = first
+      }
+      if (second instanceof Date || typeof second === 'string') {
+        second = new Date(second);
+        secondNum = second.getTime()
+      } else {
+        secondNum = second
+      }
+
+      if (secondNum < firstNum) {
+        const t = firstNum;
+        firstNum = secondNum
+        secondNum = t
+      }
+
+      value = secondNum - firstNum
+    }
+
+    if (value < second) {
+
+    }
+
+    const result = formatDuration(value);
+    if (result === '0') {
+      return '< 1s'
+    }
+
+    return result
+  }
+}
diff --git a/desktop/angular/src/app/shared/pipes/index.ts b/desktop/angular/src/app/shared/pipes/index.ts
new file mode 100644
index 00000000..6eddfdd2
--- /dev/null
+++ b/desktop/angular/src/app/shared/pipes/index.ts
@@ -0,0 +1,6 @@
+export * from './common-pipes.module';
+export * from './time-ago.pipe';
+export * from './to-profile.pipe';
+export * from './duration.pipe';
+export * from './to-seconds.pipe';
+export * from './round.pipe';
diff --git a/desktop/angular/src/app/shared/pipes/round.pipe.ts b/desktop/angular/src/app/shared/pipes/round.pipe.ts
new file mode 100644
index 00000000..104ca0ac
--- /dev/null
+++ b/desktop/angular/src/app/shared/pipes/round.pipe.ts
@@ -0,0 +1,15 @@
+import { Pipe, PipeTransform } from '@angular/core';
+
+@Pipe({
+  name: 'round',
+  pure: true,
+})
+export class RoundPipe implements PipeTransform {
+  transform(value: number, roundBy: number) {
+    if (isNaN(value)) {
+      return NaN
+    }
+
+    return Math.floor(value / roundBy) * roundBy
+  }
+}
diff --git a/desktop/angular/src/app/shared/pipes/time-ago.pipe.ts b/desktop/angular/src/app/shared/pipes/time-ago.pipe.ts
new file mode 100644
index 00000000..25f53ac7
--- /dev/null
+++ b/desktop/angular/src/app/shared/pipes/time-ago.pipe.ts
@@ -0,0 +1,56 @@
+import { Pipe, PipeTransform } from '@angular/core';
+
+@Pipe({
+  name: 'timeAgo',
+  pure: true
+})
+export class TimeAgoPipe implements PipeTransform {
+  transform(value: number | Date | string, ticker?: any): string {
+    return timeAgo(value);
+  }
+}
+
+export const timeCeilings = [
+  { ceiling: 1, text: "" },
+  { ceiling: 60, text: "sec" },
+  { ceiling: 3600, text: "min" },
+  { ceiling: 86400, text: "hour" },
+  { ceiling: 2629744, text: "day" },
+  { ceiling: 31556926, text: "month" },
+  { ceiling: Infinity, text: "year" }
+]
+
+export function timeAgo(value: number | Date | string) {
+  if (typeof value === 'string') {
+    value = new Date(value)
+  }
+
+  if (value instanceof Date) {
+    value = value.valueOf() / 1000;
+  }
+
+  let suffix = 'ago'
+
+  let diffInSeconds = Math.floor(((new Date()).valueOf() - (value * 1000)) / 1000);
+  if (diffInSeconds < 0) {
+    diffInSeconds = diffInSeconds * -1;
+    suffix = ''
+  }
+
+  for (let i = timeCeilings.length - 1; i >= 0; i--) {
+    const f = timeCeilings[i];
+    let n = Math.floor(diffInSeconds / f.ceiling);
+    if (n > 0) {
+      if (i < 1) {
+        return `< 1 min ` + suffix;
+      }
+      let text = timeCeilings[i + 1].text;
+      if (n > 1) {
+        text += 's';
+      }
+      return `${n} ${text} ` + suffix
+    }
+  }
+
+  return "< 1 min" + suffix // actually just now (diffInSeconds == 0)
+}
diff --git a/desktop/angular/src/app/shared/pipes/to-profile.pipe.ts b/desktop/angular/src/app/shared/pipes/to-profile.pipe.ts
new file mode 100644
index 00000000..217e3b35
--- /dev/null
+++ b/desktop/angular/src/app/shared/pipes/to-profile.pipe.ts
@@ -0,0 +1,35 @@
+import { ChangeDetectorRef, OnDestroy, Pipe, PipeTransform, inject } from "@angular/core";
+import { AppProfile, AppProfileService } from "@safing/portmaster-api";
+import { Subscription } from "rxjs";
+
+@Pipe({
+  name: 'toAppProfile',
+  pure: false
+})
+export class ToAppProfilePipe implements PipeTransform, OnDestroy {
+  profileService = inject(AppProfileService);
+  cdr = inject(ChangeDetectorRef);
+
+  private _lastProfile: AppProfile | null = null;
+  private _lastKey: string | null = null;
+  private _subscription = Subscription.EMPTY;
+
+  transform(key: string): AppProfile | null {
+    if (key !== this._lastKey) {
+      this._lastKey = key;
+
+      this._subscription.unsubscribe();
+      this._subscription = this.profileService.watchAppProfile(key)
+        .subscribe(value => {
+          this._lastProfile = value;
+          this.cdr.markForCheck();
+        })
+    }
+
+    return this._lastProfile || null;
+  }
+
+  ngOnDestroy(): void {
+    this._subscription.unsubscribe();
+  }
+}
diff --git a/desktop/angular/src/app/shared/pipes/to-seconds.pipe.ts b/desktop/angular/src/app/shared/pipes/to-seconds.pipe.ts
new file mode 100644
index 00000000..166fbf17
--- /dev/null
+++ b/desktop/angular/src/app/shared/pipes/to-seconds.pipe.ts
@@ -0,0 +1,19 @@
+import { Pipe, PipeTransform } from "@angular/core";
+
+@Pipe({
+  name: 'toSeconds',
+  pure: true,
+})
+export class ToSecondsPipe implements PipeTransform {
+  transform(value: Date | string, ...args: any[]) {
+    if (value === null || value === undefined) {
+      return NaN
+    }
+
+    if (typeof value === 'string') {
+      value = new Date(value);
+    }
+
+    return Math.floor(value.getTime() / 1000)
+  }
+}
diff --git a/desktop/angular/src/app/shared/process-details-dialog/index.ts b/desktop/angular/src/app/shared/process-details-dialog/index.ts
new file mode 100644
index 00000000..cceeb5f8
--- /dev/null
+++ b/desktop/angular/src/app/shared/process-details-dialog/index.ts
@@ -0,0 +1 @@
+export * from './process-details-dialog';
diff --git a/desktop/angular/src/app/shared/process-details-dialog/process-details-dialog.html b/desktop/angular/src/app/shared/process-details-dialog/process-details-dialog.html
new file mode 100644
index 00000000..85cfa1bb
--- /dev/null
+++ b/desktop/angular/src/app/shared/process-details-dialog/process-details-dialog.html
@@ -0,0 +1,131 @@
+<h1 class="flex flex-row items-center gap-2">
+  Process Details
+</h1>
+
+<sfng-tab-group linkRouter="false" class="flex-grow">
+  <sfng-tab title="General">
+    <div *sfngTabContent>
+      <table class="custom">
+        <tbody>
+          <tr>
+            <th>Name</th>
+            <td>
+              <div class="flex flex-row items-center gap-1">
+                <app-icon [profile]="process"></app-icon>
+                {{ process.Name }}
+              </div>
+            </td>
+            <td></td>
+          </tr>
+          <tr>
+            <th>User</th>
+            <td>{{ process.UserName }} <span class="text-tertiary" *appExpertiseLevel="'expert'">({{ process.UserID
+                }})</span></td>
+            <td></td>
+          </tr>
+          <tr *appExpertiseLevel="'expert'">
+            <th>Process ID</th>
+            <td>{{ process.Pid }}</td>
+            <td></td>
+          </tr>
+
+          <tr *appExpertiseLevel="'expert'">
+            <th>Process Group ID</th>
+            <td (click)="openGroup()">{{ process.Pgid }}</td>
+            <td></td>
+          </tr>
+
+          <tr *appExpertiseLevel="'expert'">
+            <th>Parent Process ID</th>
+            <td (click)="openParent()">{{ process.ParentPid }}</td>
+            <td></td>
+          </tr>
+          <tr>
+            <th>Path</th>
+            <td>{{ process.Path }} <span *ngIf="process.MatchingPath" class="text-tertiary">({{ process.MatchingPath
+                }})</span></td>
+            <td>
+              <button (click)="createProfileForPath()"
+                sfng-tooltip="Create a new profile for all processes with this path">
+                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5"
+                  stroke="currentColor" class="w-4 h-4">
+                  <path stroke-linecap="round" stroke-linejoin="round"
+                    d="M12 9v6m3-3H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z" />
+                </svg>
+              </button>
+            </td>
+          </tr>
+          <tr>
+            <th>Executable Name</th>
+            <td>{{ process.ExecName }}</td>
+            <td></td>
+          </tr>
+          <tr>
+            <th>Command Line</th>
+            <td>{{ process.CmdLine }}</td>
+            <td>
+              <button (click)="createProfileForCmdline()"
+                sfng-tooltip="Create a new profile for all processes with this command line">
+                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5"
+                  stroke="currentColor" class="w-4 h-4">
+                  <path stroke-linecap="round" stroke-linejoin="round"
+                    d="M12 9v6m3-3H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z" />
+                </svg>
+              </button>
+            </td>
+          </tr>
+          <tr>
+            <th>
+              <div class="flex flex-row items-center gap-2">
+                Tags
+                <sfng-tipup key="process-tags"></sfng-tipup>
+              </div>
+            </th>
+            <td>
+              <span *ngIf="!process.Tags?.length">This process does not have any tags.</span>
+              <ul>
+                <li *ngFor="let tag of process.Tags"
+                  class="flex flex-row bg-gray-100 border border-gray-500 rounded-sm text-xxs w-fit">
+                  <span class="block px-2 py-1 bg-gray-200 border-r border-gray-500 text-secondary">{{ tag.Key }}</span>
+                  <span class="block px-2 py-1">{{ tag.Value }}</span>
+                </li>
+              </ul>
+            </td>
+            <td></td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </sfng-tab>
+
+  <sfng-tab title="Environment">
+    <div *sfngTabContent>
+      <div *ngIf="!(process.Env | keyvalue)?.length" class="p-2 text-xs text-center">
+        <span class="text-secondary">This process does not have any environment variables.</span>
+      </div>
+
+      <table class="custom">
+        <tbody>
+          <tr *ngFor="let env of (process.Env | keyvalue)">
+            <th>{{ env.key }}</th>
+            <td>{{ env.value }}</td>
+            <td class="w-8">
+              <button (click)="createProfileForEnv(env)"
+                sfng-tooltip="Create a new profile for all processes with this environment variable">
+                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5"
+                  stroke="currentColor" class="w-4 h-4">
+                  <path stroke-linecap="round" stroke-linejoin="round"
+                    d="M12 9v6m3-3H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z" />
+                </svg>
+              </button>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </sfng-tab>
+</sfng-tab-group>
+
+<div class="flex flex-row justify-end gap-2">
+  <button (click)="close()">Close</button>
+</div>
\ No newline at end of file
diff --git a/desktop/angular/src/app/shared/process-details-dialog/process-details-dialog.scss b/desktop/angular/src/app/shared/process-details-dialog/process-details-dialog.scss
new file mode 100644
index 00000000..609e4e1f
--- /dev/null
+++ b/desktop/angular/src/app/shared/process-details-dialog/process-details-dialog.scss
@@ -0,0 +1,32 @@
+:host {
+  @apply flex flex-col gap-4 max-w-2xl;
+  min-width: 500px;
+  width: 60vw;
+
+  min-height: 500px;
+  height: 60vh;
+  max-height: 80vh;
+  overflow: hidden;
+}
+
+table.custom {
+  @apply w-full overflow-hidden;
+
+  th,
+  td {
+    @apply px-2 align-top py-2;
+  }
+
+  th {
+    text-align: left;
+    @apply w-32 text-secondary;
+  }
+
+  td {
+    @apply whitespace-normal break-all;
+  }
+
+  td:last-of-type {
+    @apply p-0;
+  }
+}
diff --git a/desktop/angular/src/app/shared/process-details-dialog/process-details-dialog.ts b/desktop/angular/src/app/shared/process-details-dialog/process-details-dialog.ts
new file mode 100644
index 00000000..1f0daa0c
--- /dev/null
+++ b/desktop/angular/src/app/shared/process-details-dialog/process-details-dialog.ts
@@ -0,0 +1,102 @@
+import { KeyValue } from '@angular/common';
+import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
+import { AppProfile, AppProfileService, FingerpringOperation, Fingerprint, FingerprintType, PortapiService, Process } from '@safing/portmaster-api';
+import { SfngDialogRef, SfngDialogService, SFNG_DIALOG_REF } from '@safing/ui';
+import { EditProfileDialog } from '../edit-profile-dialog';
+
+@Component({
+  selector: 'app-process-details',
+  templateUrl: './process-details-dialog.html',
+  styleUrls: ['./process-details-dialog.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class ProcessDetailsDialogComponent {
+  process: (Process & { ID: string });
+
+  constructor(
+    @Inject(SFNG_DIALOG_REF) private dialogRef: SfngDialogRef<any, any, Process>,
+    private dialog: SfngDialogService,
+    private portapi: PortapiService,
+    private profileService: AppProfileService
+  ) {
+    this.process = {
+      ...this.dialogRef.data,
+      ID: this.dialogRef.data.PrimaryProfileID,
+    }
+  }
+
+  close() {
+    this.dialogRef.close();
+  }
+
+  createProfileForPath() {
+    this.createProfileWithFingerprint({
+      Type: FingerprintType.Path,
+      Key: '',
+      Value: this.process.MatchingPath || this.process.Path,
+      Operation: FingerpringOperation.Equal,
+    })
+  }
+
+  createProfileForCmdline() {
+    this.createProfileWithFingerprint({
+      Type: FingerprintType.Cmdline,
+      Key: '',
+      Value: this.process.CmdLine,
+      Operation: FingerpringOperation.Equal,
+    })
+  }
+
+  createProfileForEnv(env: KeyValue<string, string>) {
+    const fp: Fingerprint = {
+      Type: FingerprintType.Env,
+      Key: env.key,
+      Value: env.value,
+      Operation: FingerpringOperation.Equal,
+    }
+
+    this.createProfileWithFingerprint(fp)
+  }
+
+  openParent() {
+    if (!!this.process.ParentPid) {
+      this.portapi.get<Process>(`network:tree/${this.process.ParentPid}-${this.process.ParentCreatedAt}`)
+        .subscribe(process => {
+          this.process = {
+            ...process,
+            ID: process.PrimaryProfileID,
+          };
+        })
+    }
+  }
+
+  openGroup() {
+    this.profileService.getProcessByPid(this.process.Pid)
+      .subscribe(result => {
+        if (!result) {
+          return;
+        }
+
+        this.process = {
+          ...result,
+          ID: result.PrimaryProfileID
+        };
+      })
+  }
+
+  private createProfileWithFingerprint(fp: Fingerprint) {
+    let profilePreset: Partial<AppProfile> = {
+      Fingerprints: [
+        fp
+      ]
+    };
+
+    this.dialog.create(EditProfileDialog, {
+      data: profilePreset,
+      backdrop: true,
+      autoclose: false,
+    })
+
+    this.dialogRef.close();
+  }
+}
diff --git a/desktop/angular/src/app/shared/prompt-list/index.ts b/desktop/angular/src/app/shared/prompt-list/index.ts
new file mode 100644
index 00000000..b76fae32
--- /dev/null
+++ b/desktop/angular/src/app/shared/prompt-list/index.ts
@@ -0,0 +1 @@
+export { PromptListComponent as PromptWidgetComponent } from './prompt-list.component';
diff --git a/desktop/angular/src/app/shared/prompt-list/prompt-list.component.html b/desktop/angular/src/app/shared/prompt-list/prompt-list.component.html
new file mode 100644
index 00000000..4d32a21e
--- /dev/null
+++ b/desktop/angular/src/app/shared/prompt-list/prompt-list.component.html
@@ -0,0 +1,68 @@
+<div class="flex flex-col scrollable" [@moveInOutList]="profiles.length">
+  <div class="group" *ngFor="let profile of profiles; trackBy: trackProfile">
+    <div class="group-header">
+      <app-icon [profile]="profile"></app-icon>
+      <span class="app-name">{{ profile.Name }}</span>
+      <span class="prompt-count info-circle">{{ profile.prompts.length }}</span>
+      <app-menu-trigger [menu]="menu"></app-menu-trigger>
+      <app-menu #menu>
+        <app-menu-group>Per Connection</app-menu-group>
+        <app-menu-item (click)="allowAll(profile)">Allow All</app-menu-item>
+        <app-menu-item (click)="denyAll(profile)">Block All</app-menu-item>
+
+        <app-menu-group>Default Action</app-menu-group>
+        <app-menu-item (click)="changeDefault(profile, 'permit')">Allow App</app-menu-item>
+        <app-menu-item (click)="changeDefault(profile, 'block')">Block App</app-menu-item>
+
+        <app-menu-item class="item-seperator" [routerLink]="['/', 'app', profile.Source, profile.ID]"
+          [queryParams]="{setting: 'filter/defaultAction', tab: 'settings'}">Change Default</app-menu-item>
+
+        <app-menu-item class="item-seperator" [routerLink]="['/', 'app', profile.Source, profile.ID]">
+          App Settings
+        </app-menu-item>
+      </app-menu>
+    </div>
+
+    <div class="prompts">
+      <div class="border"></div>
+      <div class="prompt-container"
+        [@moveInOutList]="(profile.showAll ? profile.prompts : profile.promptsLimited).length">
+        <div class="prompt"
+          *ngFor="let prompt of (profile.showAll ? profile.prompts : profile.promptsLimited); trackBy: trackPrompts">
+          <span class="entity">
+            <ng-container *ngIf="!prompt.domain; else: domainView">
+              {{ prompt.EventData?.Entity?.IP || 'N/A' }}
+            </ng-container>
+            <ng-template #domainView>
+              <span *ngIf="!!prompt.subdomain" class="subdomain">{{prompt.subdomain}}.</span>{{prompt.domain}}
+            </ng-template>
+          </span>
+
+          <span class="actions">
+            <button (click)="allow(prompt)">Allow</button>
+            <button (click)="block(prompt)">Block</button>
+          </span>
+        </div>
+        <div class="more-available" *ngIf="!profile.showAll" (click)="profile.showAll = true">
+          {{ profile.prompts.length - profile.promptsLimited.length }}
+          more
+        </div>
+
+        <div class="more-available" *ngIf="profile.showAll && profile.promptsLimited.length < profile.prompts.length"
+          (click)="profile.showAll = false">
+          Show less
+        </div>
+      </div>
+    </div>
+  </div>
+
+  <div class="no-prompts" *ngIf="profiles.length === 0">
+    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1" stroke="currentColor"
+      class="w-12 h-12">
+      <path stroke-linecap="round" stroke-linejoin="round"
+        d="M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
+    </svg>
+
+    No Prompts
+  </div>
+</div>
\ No newline at end of file
diff --git a/desktop/angular/src/app/shared/prompt-list/prompt-list.component.scss b/desktop/angular/src/app/shared/prompt-list/prompt-list.component.scss
new file mode 100644
index 00000000..90b34aad
--- /dev/null
+++ b/desktop/angular/src/app/shared/prompt-list/prompt-list.component.scss
@@ -0,0 +1,204 @@
+:host {
+  overflow: hidden;
+  max-height: 50vh;
+  display: flex;
+  flex-direction: column;
+  min-height: 10rem;
+  @apply w-80;
+  @apply bg-gray-300;
+
+  padding-top: 1px;
+  padding-bottom: 3px;
+}
+
+app-icon {
+  --app-icon-size: 13px;
+}
+
+.scrollable {
+  @apply p-0;
+}
+
+.group {
+  @apply mb-3;
+
+  .group-header {
+    @apply px-2;
+    display: flex;
+    align-items: center;
+    margin-left: 4px;
+    height: 2rem;
+
+    .app-name {
+      flex-grow: 1;
+      font-size: 0.7rem;
+      font-weight: 500;
+      color: #cacaca;
+    }
+
+    span.prompt-count {
+      @apply mr-1;
+      font-size: 0.6rem;
+      font-weight: 600;
+      color: #cacaca;
+      transform: scale(0.95);
+      user-select: none;
+    }
+  }
+}
+
+app-menu-item.item-seperator {
+  @apply border-t;
+  @apply border-buttons-dark
+}
+
+.no-prompts {
+  @apply text-tertiary flex-grow;
+  width: 100%;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  flex-direction: column;
+  user-select: none;
+}
+
+.prompts {
+  display: flex;
+
+  .border {
+    margin-left: calc(0.5rem + 9px);
+    width: 0.5rem;
+    border-left-width: 2px;
+    border-bottom-width: 2px;
+    border-color: #292929;
+  }
+
+  .prompt-container,
+  .prompt,
+  .actions {
+    display: flex;
+  }
+
+  .prompt-container {
+    flex-grow: 1;
+    flex-direction: column;
+    padding-left: 0.6rem;
+    padding-right: 0.5rem;
+    padding-top: 0.4rem;
+    padding-bottom: 1rem;
+
+    .prompt {
+      padding-left: 0.75rem;
+      margin-bottom: 4px;
+      background-color: #292929;
+      height: auto;
+      border-radius: 2px;
+      align-items: center;
+      overflow: hidden;
+      position: relative;
+
+      &:hover {
+        background-color: #303030;
+
+        .actions {
+          animation: .07s slidein-left ease-in-out;
+          opacity: 1;
+          transition: all .05s ease-in-out;
+        }
+      }
+
+      .entity {
+        flex-grow: 1;
+        word-break: break-all;
+        white-space: normal;
+        font-size: 0.7rem;
+        font-weight: 500;
+        padding-top: 0.6rem;
+        padding-bottom: 0.6rem;
+        padding-left: 2px;
+        padding-right: 9px;
+        color: #cacaca;
+
+        .subdomain {
+          font-size: 0.7rem;
+          font-weight: 500;
+          color: #999999;
+        }
+      }
+
+      .actions {
+        min-width: 5rem;
+        flex-wrap: wrap;
+        height: 100%;
+        opacity: 0;
+        transition: all .05s ease-in-out;
+        position: absolute;
+        right: 0;
+        background-color: #292929;
+
+        button {
+          outline: none;
+          @apply bg-transparent;
+          font-size: 0.6rem;
+          background-color: #3a3a3a;
+          padding-left: 1.25rem;
+          padding-right: 1.25rem;
+          text-transform: capitalize;
+          border-radius: 0;
+          font-weight: 500;
+          outline: none;
+          color: hsla(0, 0%, 100%, 0.548);
+
+          padding-left: 1.25rem;
+          padding-right: 1.25rem;
+          text-transform: capitalize;
+          border-radius: 0;
+          font-weight: 500;
+          outline: none;
+          color: hsla(0, 0%, 100%, 0.548);
+
+          &:hover {
+            background-color: #363636;
+            color: #ffffff;
+          }
+
+          &:last-of-type {
+            background: transparent;
+            color: hsla(0, 0%, 100%, 0.562);
+            @apply ml-1;
+            transition: all cubic-bezier(0.175, 0.885, 0.32, 1.275) .2s;
+
+            &:hover {
+              color: #ffffff;
+            }
+          }
+        }
+      }
+    }
+  }
+
+  .more-available {
+    position: relative;
+    top: 1.4rem;
+    margin-top: -1rem;
+    cursor: pointer;
+    font-size: 0.7rem;
+    font-weight: 500;
+    color: #999999;
+    user-select: none;
+
+    &:hover {
+      color: #cacaca;
+    }
+  }
+}
+
+@keyframes slidein-left {
+  0% {
+    transform: translateX(100%);
+  }
+
+  100% {
+    transform: translateX(0);
+  }
+}
diff --git a/desktop/angular/src/app/shared/prompt-list/prompt-list.component.ts b/desktop/angular/src/app/shared/prompt-list/prompt-list.component.ts
new file mode 100644
index 00000000..d6a3ca36
--- /dev/null
+++ b/desktop/angular/src/app/shared/prompt-list/prompt-list.component.ts
@@ -0,0 +1,236 @@
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, OnDestroy, OnInit, TrackByFunction } from '@angular/core';
+import { AppProfile, AppProfileService, deepClone, setAppSetting } from '@safing/portmaster-api';
+import { combineLatest, forkJoin, Observable, Subscription } from 'rxjs';
+import { map, switchMap } from 'rxjs/operators';
+import { Action, ConnectionPrompt, NotificationsService, NotificationType } from 'src/app/services';
+import { moveInOutAnimation, moveInOutListAnimation } from 'src/app/shared/animations';
+import { ParsedDomain, parseDomain } from 'src/app/shared/utils';
+import { ActionIndicatorService } from '../action-indicator';
+
+// ExtendedConnectionPrompt extends the normal connection prompt
+// with parsed domain information.
+interface ExtendedConnectionPrompt extends ConnectionPrompt, ParsedDomain { }
+
+// ProfilePrompts extends an application profile with prompt
+// information mainly used for paginagtion.
+interface ProfilePrompts extends AppProfile {
+  promptsLimited: ExtendedConnectionPrompt[];
+  prompts: ExtendedConnectionPrompt[];
+  showAll: boolean;
+}
+
+// Number of prompts to display per application profile
+// before we start to paginate the list of prompts.
+const PromptLimit = 3;
+
+@Component({
+  selector: 'app-prompt-list',
+  templateUrl: './prompt-list.component.html',
+  styleUrls: [
+    './prompt-list.component.scss'
+  ],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  animations: [
+    moveInOutAnimation,
+    moveInOutListAnimation
+  ]
+})
+export class PromptListComponent implements OnInit, OnDestroy {
+  profiles: ProfilePrompts[] = [];
+
+  /**
+   * @private
+   * Sets "empty" class on the host element if no prompts are displayed
+   */
+  @HostBinding('class.empty')
+  get isEmpty() {
+    return this.profiles.length === 0;
+  }
+
+  // Subscription to new prompts and profile updates.
+  private subscription = Subscription.EMPTY;
+
+  constructor(
+    private changeDetectorRef: ChangeDetectorRef,
+    private profileService: AppProfileService,
+    public notifService: NotificationsService,
+    public uai: ActionIndicatorService
+  ) { }
+
+  trackPrompts: TrackByFunction<ExtendedConnectionPrompt> = this.notifService.trackBy;
+
+  ngOnInit() {
+    // filter the stream of all notifications to only emit
+    // prompts that are used by the privacy filter (filter:prompt prefix).
+    const prompts$: Observable<ConnectionPrompt[]> = this.notifService
+      .new$
+      .pipe(
+        map(notifs => notifs.filter(notif => {
+          return notif.Type === NotificationType.Prompt &&
+            notif.EventID.startsWith("filter:prompt");
+        })),
+      );
+
+    // each time the notification list is emitted make sure we have an
+    // up-to-date copy of the linked application profile as well.
+    const profiles$ = prompts$
+      .pipe(
+        switchMap(notifs => {
+          // collect all profile keys in a distict set so we don't load
+          // them more that once.
+          var profileKeys = new Set<string>();
+          notifs.forEach(n => profileKeys.add(
+            this.profileService.getKey(n.EventData!.Profile.Source, n.EventData!.Profile.ID)
+          ));
+          // load all of them in parallel
+          return forkJoin(
+            Array.from(profileKeys).map(key => this.profileService.getAppProfileFromKey(key))
+          )
+        })
+      );
+
+    // subscribe to updates on the prompt list and the related profiles.
+    this.subscription =
+      combineLatest([
+        prompts$,
+        profiles$,
+      ]).subscribe(([prompts, profiles]) => {
+
+        let promptsByProfile = new Map<string, ExtendedConnectionPrompt[]>();
+
+        // for each prompt, make an "extended" connection prompt by parsing the
+        // domain and index them by profile key
+        prompts.forEach(prompt => {
+          // prompts must have the connection data attached. If not, ignore it
+          // here.
+          if (!prompt.EventData) {
+            return;
+          }
+
+          // get the list of prompts indexed by the profile ID. if this is
+          // the first prompt for that profile create a new array and place
+          // it at the index.
+          let entries = promptsByProfile.get(prompt.EventData.Profile.ID);
+          if (!entries) {
+            entries = [];
+            promptsByProfile.set(prompt.EventData.Profile.ID, entries);
+          }
+
+          // Create an "extended" version of the prompt by parsing
+          // and assigning the domain and subdomain values.
+          let copy: ExtendedConnectionPrompt = {
+            ...prompt,
+            domain: null,
+            subdomain: null,
+          }
+          Object.assign(copy, parseDomain(prompt.EventData.Entity.Domain))
+          entries.push(copy)
+        });
+
+        // Convert the list of application profiles into a set of ProfilePrompts
+        // objects that we can use to actually display the prompts with pagination
+        // applied.
+        this.profiles = profiles
+          .filter(profile => !!promptsByProfile.get(profile.ID))
+          .map(profile => {
+            const prompts = promptsByProfile.get(profile.ID)!;
+            return {
+              ...profile,
+              showAll: prompts.length < PromptLimit,
+              promptsLimited: prompts.slice(0, PromptLimit),
+              prompts: prompts,
+            };
+          })
+          .sort((a, b) => {
+            if (a.ID > b.ID) {
+              return 1;
+            }
+            if (a.ID < b.ID) {
+              return -1;
+            }
+            return 0;
+          });
+
+        this.changeDetectorRef.markForCheck();
+      })
+  }
+
+  allow(prompt: ConnectionPrompt) {
+    let allowActions = [
+      'allow-domain-all',
+      'allow-serving-ip',
+      'allow-ip',
+    ];
+
+    for (let i = 0; i < allowActions.length; i++) {
+      const action = prompt.AvailableActions.find(a => a.ID === allowActions[i])
+      if (!!action) {
+        this.execute(prompt, action);
+        return;
+      }
+    }
+  }
+
+  block(prompt: ConnectionPrompt) {
+    let permitActions = [
+      'block-domain-all',
+      'block-serving-ip',
+      'block-ip',
+    ];
+
+    for (let i = 0; i < permitActions.length; i++) {
+      const action = prompt.AvailableActions.find(a => a.ID === permitActions[i])
+      if (!!action) {
+        this.execute(prompt, action);
+        return;
+      }
+    }
+  }
+
+  changeDefault(profile: ProfilePrompts, newDefault: 'permit' | 'block') {
+
+    this.profileService
+      .getAppProfile(profile.Source, profile.ID)
+      .pipe(
+        map(rawProfile => {
+          const copy = deepClone(rawProfile);
+          setAppSetting(copy.Config || {}, 'filter/defaultAction', newDefault)
+
+          return copy
+        }),
+        switchMap(updatedProfile => this.profileService.saveProfile(updatedProfile)),
+      )
+      .subscribe({
+        error: (err) => {
+          this.uai.error('Failed to change App Settings', this.uai.getErrorMessage(err));
+        }
+      })
+
+
+    setAppSetting(profile.Config || {}, 'filter/defaultAction', newDefault)
+  }
+
+  allowAll(profile: ProfilePrompts) {
+    profile.prompts.forEach(prompt => this.allow(prompt));
+  }
+
+  denyAll(profile: ProfilePrompts) {
+    profile.prompts.forEach(prompt => this.block(prompt));
+  }
+
+  execute(prompt: ConnectionPrompt, action: Action) {
+    this.notifService.execute(prompt, action)
+      .subscribe({
+        error: console.error,
+      });
+  }
+
+  ngOnDestroy() {
+    this.subscription.unsubscribe();
+  }
+
+  /** @private - {@link TrackByFunction} for profile prompts */
+  trackProfile(_: number, p: ProfilePrompts) {
+    return p.ID;
+  }
+}
diff --git a/desktop/angular/src/app/shared/security-lock/index.ts b/desktop/angular/src/app/shared/security-lock/index.ts
new file mode 100644
index 00000000..71561750
--- /dev/null
+++ b/desktop/angular/src/app/shared/security-lock/index.ts
@@ -0,0 +1 @@
+export * from './security-lock';
diff --git a/desktop/angular/src/app/shared/security-lock/security-lock.html b/desktop/angular/src/app/shared/security-lock/security-lock.html
new file mode 100644
index 00000000..146fb34a
--- /dev/null
+++ b/desktop/angular/src/app/shared/security-lock/security-lock.html
@@ -0,0 +1,25 @@
+<div class="relative flex flex-col items-center justify-center w-full mr-2">
+  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"
+    class="transition-all duration-200 ease-in-out shield {{lockLevel?.class}}">
+    <path class="shield-three" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.4"
+      d="M20 11.242c0 4.368-3.157 8.462-7.48 9.686-.338.096-.702.096-1.04 0C7.157 19.705 4 15.61 4 11.242V7.214c0-.812.491-1.544 1.243-1.851l4.864-1.99c1.214-.497 2.574-.497 3.787 0l4.864 1.99C19.509 5.67 20 6.402 20 7.214v4.028z" />
+    <path class="shield-two" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.4"
+      d="M20 11.242c0 4.368-3.157 8.462-7.48 9.686-.338.096-.702.096-1.04 0C7.157 19.705 4 15.61 4 11.242V7.214c0-.812.491-1.544 1.243-1.851l4.864-1.99c1.214-.497 2.574-.497 3.787 0l4.864 1.99C19.509 5.67 20 6.402 20 7.214v4.028z" />
+    <path class="shield-one" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.4"
+      d="M20 11.242c0 4.368-3.157 8.462-7.48 9.686-.338.096-.702.096-1.04 0C7.157 19.705 4 15.61 4 11.242V7.214c0-.812.491-1.544 1.243-1.851l4.864-1.99c1.214-.497 2.574-.497 3.787 0l4.864 1.99C19.509 5.67 20 6.402 20 7.214v4.028z" />
+    <path class="shield-ok" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.8"
+      d="M8.712 12.566l2.193 2.193 4.787-4.788" />
+    <path class="shield-warn" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.8"
+      d="M12 11V7.75M12 14.63a.16.16 0 10.16.16.16.16 0 00-.16-.16" transform="translate(-11.09 -7)" />
+    <path class="shield-fail" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6"
+      d="M14.83 9.17l-5.66 5.66M14.83 14.83L9.17 9.17" />
+
+  </svg>
+  <ng-container *ngIf="mode === 'full'">
+    <h2 class="p-0 m-0 -mt-3.5 text-base font-light">{{lockLevel?.displayText}}</h2>
+    <span *ngIf="!!lockLevel?.class && lockLevel!.class !== 'text-green-300'" class="{{lockLevel?.class}}" [@fadeIn]
+      [@fadeOut]>
+      See Notifications
+    </span>
+  </ng-container>
+</div>
diff --git a/desktop/angular/src/app/shared/security-lock/security-lock.scss b/desktop/angular/src/app/shared/security-lock/security-lock.scss
new file mode 100644
index 00000000..12533ded
--- /dev/null
+++ b/desktop/angular/src/app/shared/security-lock/security-lock.scss
@@ -0,0 +1,120 @@
+svg.shield {
+  width: 100%;
+  max-width: 7.25rem;
+
+  transform: scale(0.95);
+
+  path {
+    top: 0px;
+    left: 0px;
+    transform-origin: center center;
+  }
+
+  .shield-one {
+    transform: scale(.62);
+  }
+
+  .shield-two {
+    animation-delay: -1.2s;
+    opacity: .6;
+    transform: scale(.8);
+  }
+
+  .shield-three {
+    animation-delay: -2.5s;
+    opacity: .4;
+    transform: scale(1);
+  }
+
+  &.text-green-300 {
+    filter: saturate(1.4);
+
+    .shield-one {
+      fill: var(--protection-ok-primary);
+    }
+
+
+    .shield-two {
+      fill: var(--protection-ok-secondary);
+    }
+
+    .shield-three {
+      fill: var(--protection-ok-tertiary);
+    }
+
+    .shield-warn,
+    .shield-fail {
+      display: none;
+    }
+
+    .shield-ok {
+      stroke: var(--background);
+      fill: none;
+      transform: scale(.5);
+    }
+  }
+
+  &.text-yellow-300 {
+    filter: saturate(1.3);
+
+    .shield-one {
+      fill: var(--protection-warn-primary);
+    }
+
+    .shield-three,
+    .shield-two {
+      //animation: shield-pulse 3s linear;
+    }
+
+    .shield-two {
+      fill: var(--protection-warn-secondary);
+    }
+
+    .shield-three {
+      fill: var(--protection-warn-tertiary);
+    }
+
+    .shield-ok,
+    .shield-fail {
+      display: none;
+    }
+
+    .shield-warn {
+      stroke: var(--background);
+      fill: none;
+      transform: scale(.5);
+    }
+  }
+
+  &.text-red-300 {
+    filter: saturate(1.3);
+
+    .shield-one {
+      fill: var(--protection-fail-primary);
+    }
+
+    .shield-three,
+    .shield-two {
+      //animation: shield-pulse 3s linear reverse;
+    }
+
+    .shield-two {
+      fill: var(--protection-fail-secondary);
+    }
+
+    .shield-three {
+      fill: var(--protection-fail-tertiary);
+    }
+
+    .shield-warn,
+    .shield-ok {
+      display: none;
+    }
+
+    .shield-fail {
+      stroke: var(--background);
+      fill: none;
+      transform: scale(.45);
+    }
+  }
+}
diff --git a/desktop/angular/src/app/shared/security-lock/security-lock.ts b/desktop/angular/src/app/shared/security-lock/security-lock.ts
new file mode 100644
index 00000000..7b6922c3
--- /dev/null
+++ b/desktop/angular/src/app/shared/security-lock/security-lock.ts
@@ -0,0 +1,97 @@
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, Input, OnInit, inject } from "@angular/core";
+import { SecurityLevel } from "@safing/portmaster-api";
+import { combineLatest } from "rxjs";
+import { FailureStatus, StatusService, Subsystem } from "src/app/services";
+import { fadeInAnimation, fadeOutAnimation } from "../animations";
+
+interface SecurityOption {
+  level: SecurityLevel;
+  displayText: string;
+  class: string;
+  subText?: string;
+}
+
+@Component({
+  selector: 'app-security-lock',
+  templateUrl: './security-lock.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  styleUrls: ['./security-lock.scss'],
+  animations: [
+    fadeInAnimation,
+    fadeOutAnimation
+  ]
+})
+export class SecurityLockComponent implements OnInit {
+  private destroyRef = inject(DestroyRef);
+
+  lockLevel: SecurityOption | null = null;
+
+  /** The display mode for the security lock */
+  @Input()
+  mode: 'small' | 'full' = 'full'
+
+  constructor(
+    private statusService: StatusService,
+    private cdr: ChangeDetectorRef,
+  ) { }
+
+  ngOnInit(): void {
+    combineLatest([
+      this.statusService.status$,
+      this.statusService.watchSubsystems()
+    ])
+      .subscribe(([status, subsystems]) => {
+        const activeLevel = status.ActiveSecurityLevel;
+        const suggestedLevel = status.ThreatMitigationLevel;
+
+        // By default the lock is green and we are "Secure"
+        this.lockLevel = {
+          level: SecurityLevel.Normal,
+          class: 'text-green-300',
+          displayText: 'Secure',
+        }
+
+        // Find the highest failure-status reported by any module
+        // of any subsystem.
+        const failureStatus = subsystems.reduce((value: FailureStatus, system: Subsystem) => {
+          if (system.FailureStatus != 0) {
+            console.log(system);
+          }
+          return system.FailureStatus > value
+            ? system.FailureStatus
+            : value;
+        }, FailureStatus.Operational)
+
+        // update the failure level depending on the  highest
+        // failure status.
+        switch (failureStatus) {
+          case FailureStatus.Warning:
+            this.lockLevel = {
+              level: SecurityLevel.High,
+              class: 'text-yellow-300',
+              displayText: 'Warning'
+            }
+            break;
+          case FailureStatus.Error:
+            this.lockLevel = {
+              level: SecurityLevel.Extreme,
+              class: 'text-red-300',
+              displayText: 'Insecure'
+            }
+            break;
+        }
+
+        // if the auto-pilot would suggest a higher (mitigation) level
+        // we are always Insecure
+        if (activeLevel < suggestedLevel) {
+          this.lockLevel = {
+            level: SecurityLevel.High,
+            class: 'high',
+            displayText: 'Insecure'
+          }
+        }
+
+        this.cdr.markForCheck();
+      });
+  }
+}
diff --git a/desktop/angular/src/app/shared/spn-account-details/index.ts b/desktop/angular/src/app/shared/spn-account-details/index.ts
new file mode 100644
index 00000000..623342d5
--- /dev/null
+++ b/desktop/angular/src/app/shared/spn-account-details/index.ts
@@ -0,0 +1 @@
+export * from './spn-account-details';
diff --git a/desktop/angular/src/app/shared/spn-account-details/spn-account-details.html b/desktop/angular/src/app/shared/spn-account-details/spn-account-details.html
new file mode 100644
index 00000000..3b594057
--- /dev/null
+++ b/desktop/angular/src/app/shared/spn-account-details/spn-account-details.html
@@ -0,0 +1,101 @@
+<ng-container *ngIf="!!currentUser && currentUser.state !== '' && currentUser.state !== 'loggedout'">
+  <h1 class="mb-4 text-xl">Account Details</h1>
+
+  <!-- TODO: update to fit style -->
+  <div *ngIf="currentUser.view?.Message" class="flex bg-yellow-100 rounded-lg p-4 mb-4 text-sm text-yellow-700 font-medium" role="alert">
+    <svg class="w-5 h-5 inline mr-3" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z" clip-rule="evenodd"></path></svg>
+    <div>
+      {{ currentUser.view?.Message }}
+    </div>
+  </div>
+
+  <table *ngIf="!currentUser.view || currentUser.view?.ShowAccountData" class="table-auto m-6">
+    <ng-container *ngIf="currentUser.subscription">
+      <ng-container *ngIf="currentUser.subscription.state === 'manual'; else: subscription">
+        <tr>
+          <th>Your Package</th>
+          <td>{{ currentUser.current_plan?.name }}</td>
+        </tr>
+        <tr *ngIf="currentUser.subscription.ends_at">
+          <th>Access Until</th>
+          <td>{{ currentUser.subscription.ends_at | date:'medium' }}</td>
+        </tr>
+      </ng-container>
+      <ng-template #subscription>
+        <tr>
+          <th>Your Subscription</th>
+          <td>{{ currentUser.current_plan?.name }}</td>
+        </tr>
+        <tr>
+          <th>Status</th>
+          <td class="capitalize">{{ currentUser.subscription.state }}</td>
+        </tr>
+        <tr *ngIf="currentUser.subscription.state === 'active'">
+          <th>Next Payment Date</th>
+          <td>
+            {{ currentUser.subscription.next_billing_date | date:'medium' }}
+            via
+            {{ currentUser.subscription.payment_provider }}
+          </td>
+        </tr>
+        <tr *ngIf="currentUser.subscription.state === 'cancelled'">
+          <th>Access Paid Until</th>
+          <td>{{ currentUser.subscription.ends_at | date:'medium' }}</td>
+        </tr>
+      </ng-template>
+    </ng-container>
+
+    <tr class="table-section-start">
+      <th>Username</th>
+      <td>{{ currentUser.username }} </td>
+    </tr>
+    <tr>
+      <th>Device Name</th>
+      <td>{{ currentUser.device?.name }}</td>
+    </tr>
+
+    <ng-container *appExpertiseLevel="'developer'">
+      <tr class="table-section-start">
+        <th>Account State</th>
+        <td>{{ currentUser.state }} </td>
+      </tr>
+      <tr>
+        <th>Features</th>
+        <td>{{ currentUser.current_plan?.feature_ids?.join(", ") }} </td>
+      </tr>
+      <tr>
+        <th>Device ID</th>
+        <td>{{currentUser.device?.id}}</td>
+      </tr>
+      <tr>
+        <th>Logged in Since</th>
+        <td>{{ currentUser.LoggedInAt | date:'medium' }} </td>
+      </tr>
+    </ng-container>
+  </table>
+
+  <div class="flex items-end justify-end w-full space-x-2">
+    <!-- Always show all buttons, no matter what the view says here. -->
+    <button *ngIf="dialogRef" (click)="dialogRef.close()" class="">Close</button>
+    <div class="flex-grow"></div>
+
+    <a href="https://account.safing.io/?source=Portmaster"
+      class="flex flex-row items-center self-stretch justify-center gap-1 px-2 bg-gray-300 rounded hover:bg-gray-200 text-blue whitespace-nowrap">
+      Open Account Page
+    </a>
+
+    <button (click)="logout()" class="bg-info-red">Logout</button>
+    <button (click)="refreshAccount()" style="width: 70px">
+      <ng-container *ngIf="!refreshing; else: loading">
+        Refresh
+      </ng-container>
+      <ng-template #loading>
+        <fa-icon icon="spinner" [spin]="true"></fa-icon>
+      </ng-template>
+    </button>
+  </div>
+</ng-container>
+
+<app-spn-login
+  *ngIf="!loadingProfile && (currentUser === null || currentUser.state === '' || currentUser.state === 'loggedout')"
+  [forcedLogout]="currentUser?.state === 'loggedout'"></app-spn-login>
diff --git a/desktop/angular/src/app/shared/spn-account-details/spn-account-details.scss b/desktop/angular/src/app/shared/spn-account-details/spn-account-details.scss
new file mode 100644
index 00000000..f1c7dc0d
--- /dev/null
+++ b/desktop/angular/src/app/shared/spn-account-details/spn-account-details.scss
@@ -0,0 +1,7 @@
+table tr {
+  background-color: transparent !important;
+}
+
+table .table-section-start {
+  border-top: 1.5rem solid transparent;
+}
diff --git a/desktop/angular/src/app/shared/spn-account-details/spn-account-details.ts b/desktop/angular/src/app/shared/spn-account-details/spn-account-details.ts
new file mode 100644
index 00000000..512f6674
--- /dev/null
+++ b/desktop/angular/src/app/shared/spn-account-details/spn-account-details.ts
@@ -0,0 +1,83 @@
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, Inject, OnInit, Optional, inject } from "@angular/core";
+import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
+import { SPNService, UserProfile } from "@safing/portmaster-api";
+import { SFNG_DIALOG_REF, SfngDialogRef } from "@safing/ui";
+import { catchError, delay, of, tap } from "rxjs";
+import { ActionIndicatorService } from "../action-indicator";
+
+@Component({
+  templateUrl: './spn-account-details.html',
+  styleUrls: ['./spn-account-details.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class SPNAccountDetailsComponent implements OnInit {
+  private destroyRef = inject(DestroyRef);
+
+  /** Whether or not we're currently refreshing the user profile from the customer agent */
+  refreshing = false;
+
+  /** Whether or not we're still waiting for the user profile to be fetched from the backend */
+  loadingProfile = true;
+
+  currentUser: UserProfile | null = null;
+
+  constructor(
+    private spnService: SPNService,
+    private cdr: ChangeDetectorRef,
+    private uai: ActionIndicatorService,
+    @Inject(SFNG_DIALOG_REF) @Optional() public dialogRef: SfngDialogRef<any>,
+  ) { }
+
+  /**
+   * Force a refresh of the local user account
+   *
+   * @private - template only
+   */
+  refreshAccount() {
+    this.refreshing = true;
+    this.spnService.userProfile(true)
+      .pipe(
+        delay(1000),
+        tap(() => {
+          this.refreshing = false;
+          this.cdr.markForCheck();
+        }),
+      )
+      .subscribe()
+  }
+
+  /**
+   * Logout of your safing account
+   *
+   * @private - template only
+   */
+  logout() {
+    this.spnService.logout()
+      .pipe(tap(() => this.dialogRef?.close()))
+      .subscribe(this.uai.httpObserver('SPN Logout', 'SPN Logout'))
+  }
+
+  ngOnInit(): void {
+    this.loadingProfile = false;
+    this.spnService.profile$
+      .pipe(
+        takeUntilDestroyed(this.destroyRef),
+        catchError(err => of(null)),
+      )
+      .subscribe({
+        next: (profile) => {
+          this.loadingProfile = false;
+          this.currentUser = profile || null;
+
+          this.cdr.markForCheck();
+        },
+        complete: () => {
+          // Database entry deletion will complete the observer.
+          this.loadingProfile = false;
+          this.currentUser = null;
+
+          this.cdr.markForCheck();
+        },
+      })
+  }
+}
diff --git a/desktop/angular/src/app/shared/spn-login/index.ts b/desktop/angular/src/app/shared/spn-login/index.ts
new file mode 100644
index 00000000..25850856
--- /dev/null
+++ b/desktop/angular/src/app/shared/spn-login/index.ts
@@ -0,0 +1 @@
+export * from './spn-login';
diff --git a/desktop/angular/src/app/shared/spn-login/spn-login.html b/desktop/angular/src/app/shared/spn-login/spn-login.html
new file mode 100644
index 00000000..8f59d86c
--- /dev/null
+++ b/desktop/angular/src/app/shared/spn-login/spn-login.html
@@ -0,0 +1,70 @@
+<!-- login View -->
+<div class="w-full px-5">
+  <h2 class="flex flex-row items-center justify-center w-full gap-4 p-0 pb-4 m-0">
+    <div class="flex flex-col items-center justify-center w-16 h-16 outline-none">
+      <svg data-name="Layer 1" viewBox="0 0 128 128" class="spin reverse logo-image">
+        <g data-name="Main" fill-rule="evenodd">
+          <path shape-rendering="geometricPrecision" fill="#fff" class="inner"
+            d="M176.11 36.73l-5-8.61a41.53 41.53 0 00-14.73 57.22l8.55-5.12a31.58 31.58 0 0111.19-43.49z"
+            transform="translate(-127.99 .01)" style="isolation:isolate" opacity=".8"></path>
+          <path shape-rendering="geometricPrecision" fill="#fff" class="inner"
+            d="M222.36 72.63a31.55 31.55 0 01-45 19.35l-4.62 8.84a41.54 41.54 0 0059.17-25.46z"
+            transform="translate(-127.99 .01)" style="isolation:isolate" opacity=".8"></path>
+        </g>
+      </svg>
+      <svg data-name="Layer 1" viewBox="0 0 128 128" class="spin logo-image">
+        <g data-name="Main" fill-rule="evenodd">
+          <path shape-rendering="geometricPrecision" fill="#fff" class="inner reverse"
+            d="M197 83a19.66 19.66 0 01-19.25-32.57l-4.5-4.27A25.87 25.87 0 00198.59 89z"
+            transform="translate(-127.99 .01)" style="isolation:isolate" opacity=".6"></path>
+        </g>
+      </svg>
+      <svg data-name="Layer 1" viewBox="0 0 128 128" class="logo-image">
+        <g data-name="Main" fill-rule="evenodd">
+          <path shape-rendering="geometricPrecision" fill="#fff"
+            d="M192 112.64A48.64 48.64 0 11240.64 64 48.64 48.64 0 01192 112.64zM256 64a64 64 0 10-64 64 64 64 0 0064-64z"
+            transform="translate(-127.99 .1)"></path>
+        </g>
+      </svg>
+    </div>
+    <span class="flex flex-col items-start justify-start">
+      Safing Account Login
+      <a class="text-xs font-medium text-tertiary" href="https://safing.io/spn?source=Portmaster" target="_blank">
+        Unlock powerful features.
+      </a>
+    </span>
+  </h2>
+
+
+  <div *ngIf="forcedLogout" class="w-full px-4 py-2 mb-4 text-center rounded bg-info-red">
+    You have been logged out by the account server.
+    <br />
+    Please check <a class="underline text-primary" href="https://account.safing.io/?source=Portmaster">your account</a>.
+  </div>
+
+  <form (ngSubmit)="login()">
+    <div class="flex flex-col items-stretch mt-4 space-y-6">
+      <div class="flex flex-col justify-items-start">
+        <label for="username" class="font-semibold text-primary">Username</label>
+        <input type="text" name="username" autocomplete="off" class="custom-form-input" [(ngModel)]="username">
+      </div>
+
+      <div class="flex flex-col justify-items-start">
+        <label for="password" class="font-semibold text-primary">Password</label>
+        <input type="password" name="password" autocomplete="off" class="custom-form-input" [(ngModel)]="password">
+      </div>
+
+      <div>
+        <button
+          class="relative w-full p-2 bg-opacity-75 rounded-full custom text-primary bg-blue hover:bg-blue bg-opacity-702"
+          [disabled]="!username || !password" type="submit">
+          SIGN IN
+        </button>
+        <div class="w-full mt-6 text-xs font-semibold text-center text-tertiary">
+          <span><a class="underline" href="https://account.safing.io/?source=Portmaster">Sign Up and
+              Subscribe</a></span>
+        </div>
+      </div>
+    </div>
+  </form>
+</div>
diff --git a/desktop/angular/src/app/shared/spn-login/spn-login.scss b/desktop/angular/src/app/shared/spn-login/spn-login.scss
new file mode 100644
index 00000000..232d51ee
--- /dev/null
+++ b/desktop/angular/src/app/shared/spn-login/spn-login.scss
@@ -0,0 +1,53 @@
+:host {
+  display: block;
+  width: 100%;
+}
+
+.custom-form-input {
+  background: none;
+  @apply border-0 border-b border-buttons-light text-secondary font-medium px-0;
+
+  &:active,
+  &:focus {
+    background: none;
+  }
+}
+
+.logo-image {
+  @apply w-16 absolute;
+}
+
+svg.logo-image {
+  animation-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
+}
+
+.spin {
+  animation-name: spin;
+  animation-duration: 3500ms;
+  animation-iteration-count: infinite;
+  animation-timing-function: linear;
+}
+
+.reverse {
+  animation-name: spin-reverse;
+}
+
+@keyframes spin {
+  0% {
+    transform: rotate(0deg);
+  }
+
+  100% {
+    transform: rotate(360deg);
+  }
+}
+
+@keyframes spin-reverse {
+  0% {
+    transform: rotate(360deg);
+  }
+
+  100% {
+    transform: rotate(0deg);
+  }
+}
diff --git a/desktop/angular/src/app/shared/spn-login/spn-login.ts b/desktop/angular/src/app/shared/spn-login/spn-login.ts
new file mode 100644
index 00000000..a5ae4172
--- /dev/null
+++ b/desktop/angular/src/app/shared/spn-login/spn-login.ts
@@ -0,0 +1,70 @@
+import { coerceBooleanProperty } from "@angular/cdk/coercion";
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, Input, OnInit, inject } from "@angular/core";
+import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
+import { SPNService, UserProfile } from "@safing/portmaster-api";
+import { catchError, finalize, of } from "rxjs";
+import { ActionIndicatorService } from "../action-indicator";
+
+@Component({
+  selector: 'app-spn-login',
+  templateUrl: './spn-login.html',
+  styleUrls: ['./spn-login.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class SPNLoginComponent implements OnInit {
+  private destroyRef = inject(DestroyRef);
+
+  /** The current user profile if the user is already logged in */
+  profile: UserProfile | null = null;
+
+  /** The value of the username text box */
+  username: string = '';
+
+  /** The value of the password text box */
+  password: string = '';
+
+  @Input()
+  set forcedLogout(v: any) {
+    this._forcedLogout = coerceBooleanProperty(v);
+  }
+  get forcedLogout() { return this._forcedLogout }
+  private _forcedLogout = false;
+
+  constructor(
+    private spnService: SPNService,
+    private uai: ActionIndicatorService,
+    private cdr: ChangeDetectorRef
+  ) { }
+
+  login(): void {
+    if (!this.username || !this.password) {
+      return;
+    }
+
+    this.spnService.login({
+      username: this.username,
+      password: this.password
+    })
+      .pipe(finalize(() => {
+        this.password = '';
+      }))
+      .subscribe(this.uai.httpObserver('SPN Login', 'SPN Login'))
+  }
+
+  ngOnInit(): void {
+    this.spnService.profile$
+      .pipe(
+        takeUntilDestroyed(this.destroyRef),
+        catchError(() => of(null))
+      )
+      .subscribe(profile => {
+        this.profile = profile || null;
+
+        if (!!this.profile) {
+          this.username = this.profile.username;
+        }
+
+        this.cdr.markForCheck();
+      });
+  }
+}
diff --git a/desktop/angular/src/app/shared/spn-network-status/index.ts b/desktop/angular/src/app/shared/spn-network-status/index.ts
new file mode 100644
index 00000000..bfa12d5d
--- /dev/null
+++ b/desktop/angular/src/app/shared/spn-network-status/index.ts
@@ -0,0 +1 @@
+export * from './spn-network-status';
diff --git a/desktop/angular/src/app/shared/spn-network-status/spn-network-status.html b/desktop/angular/src/app/shared/spn-network-status/spn-network-status.html
new file mode 100644
index 00000000..83196071
--- /dev/null
+++ b/desktop/angular/src/app/shared/spn-network-status/spn-network-status.html
@@ -0,0 +1,28 @@
+  <!-- What's new on the SPN -->
+  <div class="flex items-center mb-4 justify-items-center w-80">
+    <h4 class="mr-4">Network Status</h4>
+    <span class="flex-grow inline-block border-b border-buttons-light"></span>
+  </div>
+
+  <span class="text-secondary" *ngIf="!spnIssues.length">Loading Network Status ...</span>
+  <div class="issue-list">
+    <ul [@fadeInList]="spnIssues.slice(0, 8).length">
+      <li *ngFor="let issue of spnIssues.slice(0, 8); trackBy: trackIssue" (click)="issue.expanded = !issue.expanded"
+        class="issue" [class.expanded]="issue.expanded">
+        <div class="header">
+          <span class="title">{{ issue.title }}</span>
+          <span class="meta">{{ issue.closed ? 'closed' : 'opened'}} by <u>{{ issue.user }}</u>
+            {{
+            issue.createdAt | timeAgo
+            }}</span>
+        </div>
+        <fa-icon [icon]="issue.expanded ? 'chevron-up' : 'chevron-down'"></fa-icon>
+        <div class="body" *ngIf="issue.expanded">
+          <markdown emoji [data]="issue.body"></markdown>
+          <div>
+            <a class="underline text-primary" (click)="openIssue(issue)">Open on Github</a>
+          </div>
+        </div>
+      </li>
+    </ul>
+  </div>
diff --git a/desktop/angular/src/app/shared/spn-network-status/spn-network-status.scss b/desktop/angular/src/app/shared/spn-network-status/spn-network-status.scss
new file mode 100644
index 00000000..6c73c8bb
--- /dev/null
+++ b/desktop/angular/src/app/shared/spn-network-status/spn-network-status.scss
@@ -0,0 +1,71 @@
+:host {
+  @apply block;
+  min-width: 500px;
+  width: 50vw;
+}
+
+.issue-list {
+  width: 100%;
+
+  &,
+  ul {
+    overflow-y: auto;
+  }
+
+  .issue {
+    position: relative;
+    display: flex;
+    flex-direction: column;
+    cursor: pointer;
+    @apply mx-2;
+
+    .header {
+      @apply p-4;
+      display: flex;
+      flex-direction: column;
+      align-items: flex-start;
+      justify-content: center;
+      cursor: pointer;
+    }
+
+    @apply rounded;
+    @apply bg-cards-primary;
+
+    .title {
+      @apply mr-4;
+    }
+
+    span {
+      word-break: keep-all;
+    }
+
+    &:not(:last-child) {
+      margin-bottom: 0.5rem;
+    }
+
+    .body {
+      @apply bg-cards-secondary;
+      @apply rounded-b;
+      @apply p-4;
+    }
+
+    .meta {
+      @apply text-tertiary;
+      @apply font-normal;
+      opacity: .7;
+      font-size: 95%;
+    }
+
+    &:hover {
+      @apply bg-cards-tertiary;
+    }
+
+    fa-icon {
+      position: absolute;
+      right: 1rem;
+      top: 1rem;
+      opacity: .8;
+      cursor: pointer;
+    }
+  }
+}
diff --git a/desktop/angular/src/app/shared/spn-network-status/spn-network-status.ts b/desktop/angular/src/app/shared/spn-network-status/spn-network-status.ts
new file mode 100644
index 00000000..131c907f
--- /dev/null
+++ b/desktop/angular/src/app/shared/spn-network-status/spn-network-status.ts
@@ -0,0 +1,65 @@
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit, TrackByFunction, inject } from "@angular/core";
+import { map } from "rxjs";
+import { INTEGRATION_SERVICE } from "src/app/integration";
+import { Issue, SupportHubService } from "src/app/services";
+
+/** The name of the SPN repository used to filter SPN support hub issues. */
+const SPNRepository = "spn";
+
+/** A set of issue labels that are eligible to be displayed */
+const SPNTagSet = new Set<string>(["network status"])
+
+interface _Issue extends Issue {
+  expanded: boolean;
+}
+
+@Component({
+  selector: 'app-spn-network-status',
+  templateUrl: './spn-network-status.html',
+  styleUrls: ['./spn-network-status.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class SPNNetworkStatusComponent implements OnInit {
+  private readonly integration = inject(INTEGRATION_SERVICE);
+  private readonly supportHub = inject(SupportHubService);
+  private readonly cdr = inject(ChangeDetectorRef);
+
+  /** trackIssue is used as a track-by function when rendering SPN issues. */
+  trackIssue: TrackByFunction<_Issue> = (_: number, issue: _Issue) => issue.url;
+
+  spnIssues: _Issue[] = [];
+
+  ngOnInit(): void {
+    this.supportHub.loadIssues()
+      .pipe(
+        map(issues => {
+          return issues
+            .filter(issue => issue.repository === SPNRepository && issue.labels?.some(l => {
+              return SPNTagSet.has(l);
+            }))
+            .reverse()
+        })
+      )
+      .subscribe(issues => {
+        let spnIssues: _Issue[] = issues
+          .map(i => {
+            const existing = this.spnIssues.find(existing => existing.url === i.url);
+            return {
+              ...i,
+              expanded: existing !== undefined ? existing.expanded : false
+            }
+          })
+        this.spnIssues = spnIssues;
+        this.cdr.markForCheck();
+      })
+  }
+
+  /**
+   * Open a github issue in a new tab/window
+   *
+   * @private - template only
+   */
+  openIssue(issue: Issue) {
+    this.integration.openExternal(issue.url);
+  }
+}
diff --git a/desktop/angular/src/app/shared/spn-status/index.ts b/desktop/angular/src/app/shared/spn-status/index.ts
new file mode 100644
index 00000000..a996c3cf
--- /dev/null
+++ b/desktop/angular/src/app/shared/spn-status/index.ts
@@ -0,0 +1 @@
+export * from './spn-status';
diff --git a/desktop/angular/src/app/shared/spn-status/spn-status.html b/desktop/angular/src/app/shared/spn-status/spn-status.html
new file mode 100644
index 00000000..84006d46
--- /dev/null
+++ b/desktop/angular/src/app/shared/spn-status/spn-status.html
@@ -0,0 +1,54 @@
+<div class="relative flex flex-col justify-center w-full">
+  <sfng-netquery-line-chart  *ngIf="spnEnabled && !!spnConnChart.length" [@fadeIn] [@fadeOut]
+    [data]="spnConnChart" showAxis="false"
+          [config]="{
+            series: {
+              value: {
+                lineColor: 'text-blue',
+                areaColor: 'text-blue text-opacity-25',
+              }
+            }
+          }"
+    class="absolute bottom-0 left-0 right-0 h-16">
+  </sfng-netquery-line-chart>
+
+  <div class="relative flex flex-col justify-start gap-1 px-8 py-4">
+    <h2 class="p-0 m-0 font-light outline-none cursor-pointer test-base" [routerLink]="['/spn']">SPN</h2>
+
+    <span [ngSwitch]="spnStatus?.Status" class="-mt-1 text-xs font-medium text-secondary">
+      <ng-template ngSwitchCase="disabled">
+        Increase privacy protection
+      </ng-template>
+      <ng-template ngSwitchCase="failed">
+        Failed to connect
+      </ng-template>
+      <ng-template ngSwitchCase="connecting">
+        Connecting to the SPN ...
+      </ng-template>
+      <ng-template ngSwitchCase="connected">
+        You're protected
+      </ng-template>
+    </span>
+    <ng-container *ngIf="spnEnabled">
+      <span class="text-secondary text-xxs" *appExpertiseLevel="'developer'">
+        Home: <u>{{ spnStatus?.ConnectedIP }}</u> via <u>{{ spnStatus?.ConnectedTransport}}</u>
+      </span>
+    </ng-container>
+
+    <sfng-toggle [ngModel]="spnEnabled" (ngModelChange)="setSPNEnabled($event)"
+      *ngIf="spnEnabled || packageHasSPN"></sfng-toggle>
+
+    <div *ngIf="!packageHasSPN">
+      <button class="px-3 py-1.5 uppercase rounded outline-none text-xxs custom bg-blue hover:bg-blue bg-opacity-70"
+        (click)="openOrLogin()">
+        Upgrade
+      </button>
+    </div>
+  </div>
+  <div class="relative flex flex-col items-end justify-end flex-grow pb-4" *ngIf="spnEnabled">
+    <div class="flex flex-col items-center">
+      <span class="-mb-1 leading-3 uppercase text-xxs text-secondary">Identities</span>
+      <span class="text-lg text-primary">{{ identities }}</span>
+    </div>
+  </div>
+</div>
diff --git a/desktop/angular/src/app/shared/spn-status/spn-status.ts b/desktop/angular/src/app/shared/spn-status/spn-status.ts
new file mode 100644
index 00000000..5cc26478
--- /dev/null
+++ b/desktop/angular/src/app/shared/spn-status/spn-status.ts
@@ -0,0 +1,128 @@
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, OnInit, inject } from "@angular/core";
+import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
+import { ActivatedRoute, Router } from '@angular/router';
+import { BoolSetting, ChartResult, ConfigService, FeatureID, Netquery, SPNService, SPNStatus, UserProfile } from "@safing/portmaster-api";
+import { SfngDialogService } from '@safing/ui';
+import { catchError, forkJoin, interval, of, startWith, switchMap } from "rxjs";
+import { fadeInAnimation, fadeOutAnimation } from "../animations";
+import { SPNAccountDetailsComponent } from '../spn-account-details';
+
+@Component({
+  selector: 'app-spn-status',
+  templateUrl: './spn-status.html',
+  changeDetection: ChangeDetectionStrategy.OnPush,
+  animations: [
+    fadeInAnimation,
+    fadeOutAnimation,
+  ]
+})
+export class SPNStatusComponent implements OnInit {
+  private destroyRef = inject(DestroyRef);
+
+  /** Whether or not the SPN is currently enabled */
+  spnEnabled = false;
+
+  /** The chart data for the SPN connection chart */
+  spnConnChart: ChartResult[] = [];
+
+  /** The current amount of SPN identities used */
+  identities: number = 0;
+
+  /** The current SPN user profile */
+  profile: UserProfile | null = null;
+
+  /** The current status of the SPN module */
+  spnStatus: SPNStatus | null = null;
+
+  /** Returns whether or not the current package has the SPN feature */
+  get packageHasSPN() {
+    return this.profile?.current_plan?.feature_ids?.includes(FeatureID.SPN)
+  }
+
+  constructor(
+    private configService: ConfigService,
+    private spnService: SPNService,
+    private netquery: Netquery,
+    private cdr: ChangeDetectorRef,
+    private router: Router,
+    private activeRoute: ActivatedRoute,
+    private dialog: SfngDialogService
+  ) { }
+
+  ngOnInit(): void {
+    this.spnService
+      .profile$
+      .pipe(
+        takeUntilDestroyed(this.destroyRef),
+        catchError(() => of(null))
+      )
+      .subscribe(profile => {
+        this.profile = profile || null;
+
+        this.cdr.markForCheck();
+      });
+
+    this.spnService.status$
+      .pipe(takeUntilDestroyed(this.destroyRef))
+      .subscribe(status => {
+        this.spnStatus = status;
+
+        this.cdr.markForCheck();
+      })
+
+    this.configService.watch<BoolSetting>("spn/enable")
+      .pipe(takeUntilDestroyed(this.destroyRef))
+      .subscribe(value => {
+        this.spnEnabled = value;
+
+        // If the user disabled the SPN clear the connection chart
+        // as well.
+        if (!this.spnEnabled) {
+          this.spnConnChart = [];
+        }
+
+        this.cdr.markForCheck();
+      });
+
+    interval(5000)
+      .pipe(
+        startWith(-1),
+        takeUntilDestroyed(this.destroyRef),
+        switchMap(() => forkJoin({
+          chart: this.netquery.activeConnectionChart({ tunneled: { $eq: true } }),
+          identities: this.netquery.query({
+            query: { tunneled: { $eq: true }, exit_node: { $ne: "" } },
+            groupBy: ['exit_node'],
+            select: [
+              'exit_node',
+              { $count: { field: '*', as: 'totalCount' } }
+            ]
+          }, 'spn-status-get-connections-count-per-exit-node')
+        }))
+      )
+      .subscribe(data => {
+        this.spnConnChart = data.chart;
+        this.identities = data.identities.length;
+
+        this.cdr.markForCheck();
+      })
+  }
+
+  openOrLogin() {
+    if (this.activeRoute.snapshot.firstChild?.url[0]?.path === "spn") {
+      this.dialog.create(SPNAccountDetailsComponent, {
+        autoclose: true,
+        backdrop: 'light'
+      })
+
+      return
+    }
+
+    this.router.navigate(['/spn'])
+  }
+
+  setSPNEnabled(v: boolean) {
+    this.configService.save(`spn/enable`, v)
+      .subscribe();
+  }
+}
diff --git a/desktop/angular/src/app/shared/status-pilot/index.ts b/desktop/angular/src/app/shared/status-pilot/index.ts
new file mode 100644
index 00000000..1ec75e5b
--- /dev/null
+++ b/desktop/angular/src/app/shared/status-pilot/index.ts
@@ -0,0 +1 @@
+export { StatusPilotComponent as PilotWidgetComponent } from "./pilot-widget";
diff --git a/desktop/angular/src/app/shared/status-pilot/pilot-widget.html b/desktop/angular/src/app/shared/status-pilot/pilot-widget.html
new file mode 100644
index 00000000..52e41fbb
--- /dev/null
+++ b/desktop/angular/src/app/shared/status-pilot/pilot-widget.html
@@ -0,0 +1,57 @@
+<app-security-lock routerLink="/dashboard"></app-security-lock>
+
+
+<div *ngIf="networkRatingEnabled$ | async" (click)="levelDropdown.toggle(origin)" cdkOverlayOrigin
+  #origin="cdkOverlayOrigin"
+  class="flex flex-row items-center gap-0.5 px-2 py-1 -mt-1 rounded-md cursor-pointer text-xxs text-secondary hover:text-primary hover:bg-gray-200">
+  {{ activeLevelText }}
+
+  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5">
+    <path fill-rule="evenodd"
+      d="M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z"
+      clip-rule="evenodd" />
+  </svg>
+
+</div>
+
+<sfng-dropdown externalTrigger="true" #levelDropdown>
+  <div sfngTipUpAnchor class="network-rating-level-list" [class.auto-pilot]="mode === 'auto'">
+    <div class="rate-header">
+      <label style="white-space: nowrap; margin-right: 5px; opacity: 0.9; display: flex; width: 100%;">
+        Network Rating
+        <sfng-tipup style="margin-left: 0.5rem; align-items: center;display: flex;" key="pilot-widget-NetworkRating">
+        </sfng-tipup>
+      </label>
+      <sfng-select *appExpertiseLevel="'developer'" [ngModel]="mode" (ngModelChange)="updateMode($event)">
+        <sfng-select-item *sfngSelectValue="'auto'">
+          <span>
+            <span class="auto-detect low"></span>
+            <span>Auto Detect</span>
+          </span>
+        </sfng-select-item>
+        <sfng-select-item *sfngSelectValue="'manual'">
+          <span>
+            <span class="off"></span>
+            <span>Manual</span>
+          </span>
+        </sfng-select-item>
+      </sfng-select>
+    </div>
+
+    <ng-container *ngFor="let opt of options">
+      <div sfngTipUpAnchor class="level" [class.selected]="activeLevel === opt.level"
+        [class.suggested]="suggestedLevel === opt.level && suggestedLevel > activeLevel"
+        (click)="selectLevel(opt.level)">
+        <div style="display: flex;align-items: center;">
+          <span>
+            {{opt.displayText}}
+          </span>
+          <span class="situation">
+            {{opt.subText || ''}}
+          </span>
+          <sfng-tipup style="margin-left: auto;" [key]="'pilot-widget-NetworkRating-' + opt.displayText"></sfng-tipup>
+        </div>
+      </div>
+    </ng-container>
+  </div>
+</sfng-dropdown>
diff --git a/desktop/angular/src/app/shared/status-pilot/pilot-widget.scss b/desktop/angular/src/app/shared/status-pilot/pilot-widget.scss
new file mode 100644
index 00000000..3f1bcae7
--- /dev/null
+++ b/desktop/angular/src/app/shared/status-pilot/pilot-widget.scss
@@ -0,0 +1,208 @@
+:host {
+  overflow: visible;
+  position: relative;
+  display: flex;
+  justify-content: space-between;
+  background: none;
+  user-select: none;
+  align-items: center;
+  justify-content: space-evenly;
+  flex-direction: column;
+
+
+  @keyframes shield-pulse {
+    0% {
+      transform: scale(.62);
+      opacity: 1;
+    }
+
+    100% {
+      transform: scale(1.1);
+      opacity: 0;
+    }
+  }
+
+  @keyframes pulse-opacity {
+    0% {
+      opacity: 0.1;
+    }
+
+    100% {
+      opacity: 1;
+    }
+  }
+}
+
+.spn-status {
+  background-color: var(--info-blue);
+  border-radius: 100%;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  opacity: 1 !important;
+  padding: 0.2rem;
+  transform: scale(0.8);
+  position: absolute;
+  bottom: 42px;
+  right: 18px;
+
+  &.connected {
+    background-color: theme('colors.info.blue');
+  }
+
+  &.connecting,
+  &.failed {
+    background-color: theme('colors.info.gray');
+  }
+
+  svg {
+    stroke: white;
+  }
+}
+
+::ng-deep {
+
+  .network-rating-level-list {
+    @apply p-3 rounded;
+
+    flex-grow: 1;
+
+    label {
+      opacity: 0.6;
+      font-size: 0.75rem;
+      font-weight: 500;
+    }
+
+    div.rate-header {
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      padding: 0 0 0.3rem 0;
+      margin-right: 0.11rem;
+
+      .auto-detect {
+        height: 5px;
+        width: 5px;
+        margin-right: 10px;
+        margin-bottom: 1px;
+        background-color: #4995f3;
+        border-radius: 50%;
+        display: inline-block;
+      }
+    }
+
+    &:not(.auto-pilot) {
+      div.level.selected {
+        div {
+          background-color: #292929;
+        }
+
+        &:after {
+          transition: none;
+          opacity: 0 !important;
+        }
+      }
+    }
+
+    div.level {
+      position: relative;
+      padding: 2px;
+      margin-top: 0.155rem;
+      cursor: pointer;
+      overflow: hidden;
+      z-index: 1;
+
+      fa-icon[icon*="question-circle"] {
+        float: right;
+      }
+
+      &:after {
+        transition: all cubic-bezier(0.19, 1, 0.82, 1) .2s;
+        @apply rounded;
+        content: "";
+        filter: saturate(1.3);
+        background-image: linear-gradient(90deg, #226ab79f 0%, rgba(2, 0, 36, 0) 45%);
+        transform: translateX(100%);
+        position: absolute;
+        top: 0;
+        left: 0;
+        right: 0;
+        bottom: 0;
+        z-index: -1;
+        opacity: 0;
+      }
+
+      div {
+        background-color: #202020;
+        border-radius: 2px;
+        padding: 9px 17px 10px 18px;
+        display: block;
+        opacity: 0.55;
+
+        span {
+          font-size: 0.725rem;
+          font-weight: 400;
+        }
+
+        .situation {
+          @apply text-tertiary;
+          @apply ml-2;
+          font-size: 0.6rem;
+          font-weight: 600;
+        }
+
+        svg.help {
+          width: 0.95rem;
+          float: right;
+          padding: 0;
+          margin: 0;
+          margin-top: 1.5px;
+
+          .inner {
+            stroke: var(--text-secondary);
+          }
+
+          &:hover,
+          &:active {
+            .inner {
+              stroke: var(--text-primary);
+            }
+          }
+        }
+      }
+
+      &.selected {
+        div {
+          background-color: #292929;
+          opacity: 1;
+        }
+      }
+
+      &.selected,
+      &.suggested {
+        &:after {
+          transform: translateX(0%);
+          opacity: 1;
+        }
+
+      }
+
+      &.suggested {
+        &:after {
+          animation: pulse-opacity 1s ease-in-out infinite alternate;
+        }
+      }
+
+      &:hover,
+      &:active {
+        div {
+          opacity: 1;
+
+          span {
+            opacity: 1;
+          }
+        }
+      }
+    }
+  }
+}
diff --git a/desktop/angular/src/app/shared/status-pilot/pilot-widget.ts b/desktop/angular/src/app/shared/status-pilot/pilot-widget.ts
new file mode 100644
index 00000000..4fa01dd6
--- /dev/null
+++ b/desktop/angular/src/app/shared/status-pilot/pilot-widget.ts
@@ -0,0 +1,115 @@
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';
+import { ConfigService, SecurityLevel } from '@safing/portmaster-api';
+import { combineLatest } from 'rxjs';
+import { FailureStatus, StatusService, Subsystem } from 'src/app/services';
+
+interface SecurityOption {
+  level: SecurityLevel;
+  displayText: string;
+  class: string;
+  subText?: string;
+}
+
+@Component({
+  selector: 'app-status-pilot',
+  templateUrl: './pilot-widget.html',
+  styleUrls: [
+    './pilot-widget.scss'
+  ],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class StatusPilotComponent implements OnInit {
+  activeLevel: SecurityLevel = SecurityLevel.Off;
+  selectedLevel: SecurityLevel = SecurityLevel.Off;
+  suggestedLevel: SecurityLevel = SecurityLevel.Off;
+  activeOption: SecurityOption | null = null;
+  selectedOption: SecurityOption | null = null;
+
+  mode: 'auto' | 'manual' = 'auto';
+
+  get activeLevelText() {
+    return this.options.find(opt => opt.level === this.activeLevel)?.displayText || '';
+  }
+
+  readonly options: SecurityOption[] = [
+    {
+      level: SecurityLevel.Normal,
+      displayText: 'Trusted',
+      class: 'low',
+      subText: 'Home Network'
+    },
+    {
+      level: SecurityLevel.High,
+      displayText: 'Untrusted',
+      class: 'medium',
+      subText: 'Public Network'
+    },
+    {
+      level: SecurityLevel.Extreme,
+      displayText: 'Danger',
+      class: 'high',
+      subText: 'Hacked Network'
+    },
+  ];
+
+  get networkRatingEnabled$() { return this.configService.networkRatingEnabled$ }
+
+  constructor(
+    private statusService: StatusService,
+    private changeDetectorRef: ChangeDetectorRef,
+    private configService: ConfigService,
+  ) { }
+
+  ngOnInit() {
+
+    combineLatest([
+      this.statusService.status$,
+      this.statusService.watchSubsystems()
+    ])
+      .subscribe(([status, subsystems]) => {
+        this.activeLevel = status.ActiveSecurityLevel;
+        this.selectedLevel = status.SelectedSecurityLevel;
+        this.suggestedLevel = status.ThreatMitigationLevel;
+
+        if (this.selectedLevel === SecurityLevel.Off) {
+          this.mode = 'auto';
+        } else {
+          this.mode = 'manual';
+        }
+
+        this.selectedOption = this.options.find(opt => opt.level === this.selectedLevel) || null;
+        this.activeOption = this.options.find(opt => opt.level === this.activeLevel) || null;
+
+        // Find the highest failure-status reported by any module
+        // of any subsystem.
+        const failureStatus = subsystems.reduce((value: FailureStatus, system: Subsystem) => {
+          if (system.FailureStatus != 0) {
+            console.log(system);
+          }
+          return system.FailureStatus > value
+            ? system.FailureStatus
+            : value;
+        }, FailureStatus.Operational)
+
+        this.changeDetectorRef.markForCheck();
+      });
+  }
+
+  updateMode(mode: 'auto' | 'manual') {
+    this.mode = mode;
+
+    if (mode === 'auto') {
+      this.selectLevel(SecurityLevel.Off);
+    } else {
+      this.selectLevel(this.activeLevel);
+    }
+  }
+
+  selectLevel(level: SecurityLevel) {
+    if (this.mode === 'auto' && level !== SecurityLevel.Off) {
+      this.mode = 'manual';
+    }
+
+    this.statusService.selectLevel(level).subscribe();
+  }
+}
diff --git a/desktop/angular/src/app/shared/text-placeholder/index.ts b/desktop/angular/src/app/shared/text-placeholder/index.ts
new file mode 100644
index 00000000..8d04c94a
--- /dev/null
+++ b/desktop/angular/src/app/shared/text-placeholder/index.ts
@@ -0,0 +1 @@
+export { PlaceholderComponent } from './placeholder';
diff --git a/desktop/angular/src/app/shared/text-placeholder/placeholder.scss b/desktop/angular/src/app/shared/text-placeholder/placeholder.scss
new file mode 100644
index 00000000..88140deb
--- /dev/null
+++ b/desktop/angular/src/app/shared/text-placeholder/placeholder.scss
@@ -0,0 +1,32 @@
+.text-placeholder {
+  display : inline-block;
+  height  : 0.75rem;
+  position: relative;
+
+  .background {
+    @apply rounded;
+    opacity                  : 0.8;
+    animation-duration       : 6s;
+    animation-fill-mode      : forwards;
+    animation-iteration-count: infinite;
+    animation-name           : placeHolderShimmer;
+    animation-timing-function: linear;
+    background               : linear-gradient(to right, #4b4b4b 8%, #5a5a5a 18%, #4b4b4b 33%);
+    position                 : absolute;
+    backface-visibility      : hidden;
+    left                     : 0;
+    right                    : 0;
+    top                      : 2px;
+    bottom                   : 0;
+  }
+}
+
+@keyframes placeHolderShimmer {
+  0% {
+    background-position: 0px 0;
+  }
+
+  100% {
+    background-position: 100em 0;
+  }
+}
diff --git a/desktop/angular/src/app/shared/text-placeholder/placeholder.ts b/desktop/angular/src/app/shared/text-placeholder/placeholder.ts
new file mode 100644
index 00000000..0b9797a3
--- /dev/null
+++ b/desktop/angular/src/app/shared/text-placeholder/placeholder.ts
@@ -0,0 +1,61 @@
+import { AfterContentChecked, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input } from '@angular/core';
+
+@Component({
+  selector: 'app-text-placeholder',
+  template: `
+    <span class="text-placeholder" *ngIf="loading">
+      <div class="background" [style.width]="width" ></div>
+    </span>
+    <ng-content *ngIf="mode === 'auto' || !loading"></ng-content>
+  `,
+  styleUrls: ['./placeholder.scss'],
+  changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class PlaceholderComponent implements AfterContentChecked {
+  @Input()
+  set width(v: string | number) {
+    if (typeof v === 'number') {
+      this._width = `${v}px`;
+      return
+    }
+
+    switch (v) {
+      case 'small':
+        this._width = '5rem';
+        break;
+      case 'medium':
+        this._width = '10rem';
+        break;
+      case 'large':
+        this._width = '15rem';
+        break
+      default:
+        this._width = v;
+    }
+  }
+  get width() { return this._width; }
+  private _width: string = '10rem';
+
+  @Input()
+  mode: 'auto' | 'input' = 'auto';
+
+  @Input()
+  loading = true;
+
+  constructor(
+    private elementRef: ElementRef,
+    private changeDetector: ChangeDetectorRef,
+  ) { }
+
+  ngAfterContentChecked() {
+    if (this.mode === 'input') {
+      return;
+    }
+
+    const show = this.elementRef.nativeElement.innerText === '';
+    if (this.loading != show) {
+      this.loading = show;
+      this.changeDetector.detectChanges();
+    }
+  }
+}
diff --git a/desktop/angular/src/app/shared/utils.ts b/desktop/angular/src/app/shared/utils.ts
new file mode 100644
index 00000000..c36caa07
--- /dev/null
+++ b/desktop/angular/src/app/shared/utils.ts
@@ -0,0 +1,76 @@
+import { parse } from 'psl';
+
+export interface ParsedDomain {
+  domain: string | null;
+  subdomain: string | null;
+}
+export function parseDomain(scope: string): ParsedDomain {
+  // Due to https://github.com/lupomontero/psl/issues/185
+  // parse will throw an error for service-discovery lookups
+  // so make sure we split them apart.
+  const domainParts = scope.split(".")
+  const lastUnderscorePart = domainParts.length - [...domainParts].reverse().findIndex(dom => dom.startsWith("_"))
+  let result: ParsedDomain = {
+    domain: null,
+    subdomain: null,
+  }
+
+  let cleanedDomain = scope;
+  let removedPrefix = '';
+  if (lastUnderscorePart <= domainParts.length) {
+    removedPrefix = domainParts.slice(0, lastUnderscorePart).join('.')
+    cleanedDomain = domainParts.slice(lastUnderscorePart).join('.')
+  }
+
+  const parsed = parse(cleanedDomain);
+  if ('listed' in parsed) {
+    result.domain = parsed.domain || scope;
+    result.subdomain = removedPrefix;
+    if (!!parsed.subdomain) {
+      if (removedPrefix != '') {
+        result.subdomain += '.';
+      }
+      result.subdomain += parsed.subdomain;
+    }
+  }
+
+  return result
+}
+
+export function binarySearch<T>(array: T[], what: T, sortFunc: (a: T, b: T) => number): number {
+  let l = 0;
+  let h = array.length - 1;
+  let currentIndex: number = 0;
+
+  while (l <= h) {
+    currentIndex = (l + h) >>> 1;
+    const result = sortFunc(what, array[currentIndex]);
+    if (result < 0) {
+      l = currentIndex + 1;
+    } else if (result > 0) {
+      h = currentIndex - 1;
+    } else {
+      return currentIndex;
+    }
+  }
+  return ~currentIndex;
+}
+
+export function binaryInsert<T>(array: T[], what: T, sortFunc: (a: T, b: T) => number, duplicate = false): number {
+  let idx = binarySearch<T>(array, what, sortFunc);
+  if (idx >= 0) {
+    if (!duplicate) {
+      return idx;
+    }
+  } else {
+    // if `what` is not part of `array` than index is the bitwise complement
+    // of the expected index in array.
+    idx = ~idx;
+  }
+  array.splice(idx, 0, what)
+  return idx;
+}
+
+export function objKeys<T extends object>(obj: T): (keyof T)[] {
+  return Object.keys(obj) as any;
+}
diff --git a/desktop/angular/src/assets b/desktop/angular/src/assets
new file mode 120000
index 00000000..ec2e4be2
--- /dev/null
+++ b/desktop/angular/src/assets
@@ -0,0 +1 @@
+../assets
\ No newline at end of file
diff --git a/desktop/angular/src/electron-app.d.ts b/desktop/angular/src/electron-app.d.ts
new file mode 100644
index 00000000..febea42b
--- /dev/null
+++ b/desktop/angular/src/electron-app.d.ts
@@ -0,0 +1,41 @@
+declare global {
+  interface Window {
+    app: AppAPI;
+  }
+}
+
+export class AppAPI {
+  /** Returns the current platform */
+  getPlatform(): Promise<string>;
+
+  /** The installation directory of portmaster. */
+  getInstallDir(): Promise<string>;
+
+  /**
+   * Open an URL or path using an external application.
+   *
+   * @param pathOrUrl The path or URL to open.
+   */
+  openExternal(pathOrUrl: string): Promise<void>;
+
+  /**
+   * Creates a new URL with the file:// scheme. Works
+   * on any platform.
+   *
+   * @param path The path for the file URL.
+   */
+  createFileURL(path: string): Promise<string>;
+
+  /**
+   * Returns a dataURL for the icon that is used to represent
+   * the path on this platform.
+   * This method only works on windows for now. On all other
+   * platforms an empty string is returned.
+   *
+   * @param path The path the the binary
+   */
+  getFileIcon(path: string): Promise<string>;
+
+  /** Exit the electron appliction. */
+  exitApp(): Promise<void>;
+}
diff --git a/desktop/angular/src/environments/environment.prod.ts b/desktop/angular/src/environments/environment.prod.ts
new file mode 100644
index 00000000..71b53cec
--- /dev/null
+++ b/desktop/angular/src/environments/environment.prod.ts
@@ -0,0 +1,22 @@
+/*
+export const environment = new class {
+  readonly supportHub = "https://support.safing.io"
+  readonly production = true;
+
+  get httpAPI() {
+    return `http://${window.location.host}/api`
+  }
+
+  get portAPI() {
+    const result = `ws://${window.location.host}/api/database/v1`;
+    return result;
+  }
+}
+*/
+
+export const environment = {
+  production: false,
+  portAPI: "ws://127.0.0.1:817/api/database/v1",
+  httpAPI: "http://127.0.0.1:817/api",
+  supportHub: "https://support.safing.io"
+};
diff --git a/desktop/angular/src/environments/environment.ts b/desktop/angular/src/environments/environment.ts
new file mode 100644
index 00000000..5ef6df25
--- /dev/null
+++ b/desktop/angular/src/environments/environment.ts
@@ -0,0 +1,19 @@
+// This file can be replaced during build by using the `fileReplacements` array.
+// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.
+// The list of file replacements can be found in `angular.json`.
+
+export const environment = {
+  production: false,
+  portAPI: "ws://127.0.0.1:817/api/database/v1",
+  httpAPI: "http://127.0.0.1:817/api",
+  supportHub: "https://support.safing.io"
+};
+
+/*
+ * For easier debugging in development mode, you can import the following file
+ * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.
+ *
+ * This import should be commented out in production mode because it will have a negative impact
+ * on performance if an error is thrown.
+ */
+import 'zone.js/dist/zone-error';  // Included with Angular CLI.
diff --git a/desktop/angular/src/i18n/helptexts.yaml b/desktop/angular/src/i18n/helptexts.yaml
new file mode 100644
index 00000000..e00b6023
--- /dev/null
+++ b/desktop/angular/src/i18n/helptexts.yaml
@@ -0,0 +1,370 @@
+###########
+### Example
+
+myKey:
+  title: Tipup Example
+  content: |
+    This is the Markdown formatted content.
+
+    This is a super cool, new feature that you will love!
+    It even supports markdown features like:
+    - order lists
+    - with multiple items
+
+    And :rocket: emojis
+
+    ### :tada: :facepalm:
+  url: https://docs.safing.io/?source=Portmaster
+  urlText: Show me!
+  nextKey: navMonitor
+
+##############
+### Navigation
+
+introTipup:
+  title: Hey there!
+  content: |
+    Thanks for installing the Portmaster.
+
+intro:
+  title: Portmaster Tips
+  content: |
+    Open tips to learn how the Portmaster work.
+
+    Tips like this one are found throughout the Portmaster. With some tips you can tour an element or a feature, like this:
+  nextKey: navShield
+
+navShield:
+  title: Status Shield & Dashboard
+  content: |
+    The shield gives you a high level overview of Portmaster's status. If turns any other color than green, look for a notification that tells you what is going on.
+
+    __Click the shield in order to open the dashboard.__
+  nextKey: navMonitor
+
+navMonitor:
+  title: Network Monitor
+  content: |
+    Oversee and investigate everything happening on your device.
+  nextKey: navApps
+  buttons:
+    - name: Take the tour
+      action:
+        Type: open-page
+        Payload: monitor
+      nextKey: networkMonitor
+
+navApps:
+  title: Per-App Settings
+  content: |
+    Configure per-app settings which override the global default.
+  nextKey: navMap
+  buttons:
+    - name: Take the tour
+      action:
+        Type: open-page
+        Payload: apps
+      nextKey: appsTitle
+
+navMap:
+  title: SPN Map
+  content: |
+    View the SPN map and see how your connections are routed.
+  nextKey: navSettings
+
+navSettings:
+  title: Global Settings
+  content: |
+    Configure global Portmaster settings.
+  nextKey: navSupport
+  buttons:
+    - name: Take the tour
+      action:
+        Type: open-page
+        Payload: settings
+      nextKey: globalSettings
+
+navSupport:
+  title: Get Help
+  content: |
+    Report a bug, contact support or view the extended Portmaster docs.
+  nextKey: navTools
+  buttons:
+    - name: Open Page
+      action:
+        Type: open-page
+        Payload: support
+
+navTools:
+  title: Version and Tools
+  content: |
+    View the Portmaster's version and use special actions and tools.
+  nextKey: navPower
+
+navPower:
+  title: Shutdown and Restart
+  content: |
+    Shutdown or Restart Portmaster.
+  nextKey: uiMode
+
+uiMode:
+  title: UI Mode
+  content: |
+    Quickly change the amount of settings and information shown.
+
+    Hidden settings are still in effect. After closing the User Interface it changes back to the default.
+  buttons:
+    - name: Change Default UI Mode
+      action:
+        Type: "open-setting"
+        Payload:
+          Key: "core/expertiseLevel"
+
+############
+### Sidedash
+
+pilot-widget:
+  title: Portmaster Status
+  content: |
+    This shield shows you the current state of the Portmaster:
+
+    - 🟢 all is well
+    - 🟡 something is off, please investigate
+    - 🔴 dangerous condition, respond immediately
+
+    This color code is also displayed as part of the icon in the system tray.
+
+pilot-widget-NetworkRating:
+  title: Network Rating
+  content: |
+    Control your privacy even when connecting to new networks.
+
+    In the Portmaster you configure settings to be active in one environment but not in the other, like allowing sensitive connections at home but not at the public library.
+
+    The only thing you have to do is to change the network rating whenever you connect to a different network.
+  nextKey: pilot-widget-NetworkRating-Trusted
+
+pilot-widget-NetworkRating-Trusted:
+  title: "Network Rating: Trusted"
+  content: |
+    You trust the current network to be secure and protect you.
+
+    Examples:
+     - your home network
+     - network of a trusted friends
+  nextKey: pilot-widget-NetworkRating-Untrusted
+
+pilot-widget-NetworkRating-Untrusted:
+  title: "Network Rating: Untrusted"
+  content: |
+    You do not trust the current network and question if it will keep you secure and private.
+
+    Examples:
+     - public WiFi of a coffeeshop, a library, a train, a hotel, ...
+     - network of a non-tech-savvy relative
+  nextKey: pilot-widget-NetworkRating-Danger
+
+pilot-widget-NetworkRating-Danger:
+  title: "Network Rating: Danger"
+  content: |
+    You think that the current network is hacked or otherwise hostile towards you.
+
+    Examples:
+     - something suspicious is going on in your home network
+
+    <small>_Note: In the "Danger" rating the Portmaster will become very protective. This might break functionality of apps or render them useless._</small>
+
+broadcast-info:
+  title: Broadcast Notifications
+  content: |
+    Broadcast Notifications are public messages downloaded by the Portmaster when checking for updates.
+
+    The Portmaster then locally decides which messages should be displayed.
+  url: https://github.com/safing/portmaster/issues/703
+  urlText: Learn More
+
+# TODO
+# prompt-widget:
+#   title: Prompts
+#   content: |
+#     This is where you can more easily control the
+#     connections for the specific app for the time being.
+
+#     How to use? In App settings, search for "Default Action"
+#     and set it to "Prompt".
+
+#     Note: Don't set the "Prompt" setting in your browser,
+#     you will be spammed. You have been warned.
+#   nextKey: notification-widget
+
+# TODO
+# notification-widget:
+#   title: Notifications
+#   content: |
+#     This informs you with what's going on with portmaster.
+#     Ie, Updates, Errors, Warring etc
+
+#############
+### Dashboard
+
+dashboardIntro:
+  title: Dashboard
+  content: |
+    The Dashboard gives you a first overview of Portmaster's active features and what is happening on your device.
+
+    Unless noted otherwise, all graphs and statistics shown are based on what Portmaster has seen in the last 10 minutes and are refreshed every 10 seconds.
+
+########################
+### Network Monitor Page
+
+networkMonitor:
+  title: Network Activity
+  content: |
+    Oversee everything happening on your device.
+
+    Look at all network connections of all applications and processes that were active in the last 10 minutes. Click on any app or process to investigate further.
+
+# TODO: Wait for overview to be more useful.
+# networkMonitor-Overview:
+#   title: Monitor Overview
+#   content: |
+#     This is just a placeholder for the meantime, but this is
+#     just the Network Monitor with 3 stats on it.
+
+# TODO: Wait for revamp of status indication.
+# networkMonitor-App:
+#   title: App Activity
+#   content: |
+#     There are 3 colours. Ie, Green, Red, Gray.
+
+#     Allowed(Green)
+#     The colour green shows that all the connections are allowed in
+#     the app.
+
+#     Blocked(Red)
+#     The colour red shows that all the connections are blocked in
+#     the app.
+
+#     Allowed/Blocked(Gray)
+#     The colour gray shows that some connections are
+#     allowed and blocked in the app.
+
+networkMonitor-App-Focus-connection-history:
+  title: Network Activity
+  content: |
+    Monitor connections as they happen. Click on any connection to view details and to take action.
+    <br /><br />
+    <span class="inline-block">
+      <span class="pill-container">
+        <span class="counter">2k+</span>
+        <span class="pill">
+          <span class="percentage"></span>
+        </span>
+      </span>
+    </span> <b>Status Summary</b>
+    <br /><br />
+    Grouped connections have a colored bar showing the total amount of connections,
+    as well as the percentage between allowed (green) and blocked/failed connections (grey).
+    <br /><br />
+    An individual connection has three states:<br />
+    <span class="verdict accept"></span><span class="verdict accept outdated"></span> <b>Allowed</b> <br />
+    <span class="block verdict"></span><span class="block verdict outdated"></span> <b>Blocked</b> <br />
+    <span class="verdict failed"></span><span class="verdict failed outdated"></span> <b>Failed</b> <br />
+
+    If the circle is full, your _current_ settings allowed or blocked the connection.<br />
+    If the circle is empty, _previous_ settings allowed or blocked the connection.
+    Your current settings could decide differently.
+
+########################
+### Global Settings Page
+
+globalSettings:
+  title: Global Settings
+  content: |
+    Here you can set system-wide preferences and configure default rules for all your apps and connections.
+
+    It is easy to create a stricter global ruleset and then create exceptions in the app settings, which override the global default.
+
+#########################
+### Per-App Settings Page
+
+appsTitle:
+  title: Application Overview
+  content: |
+    All applications or processes that the Portmaster saw being active on the network are listed and can be configured here.
+
+    Apps are categorized and only appear once:
+
+    - **Active:** apps that are currently active and visible in the Network Monitor
+    - **Recently Used:** apps that were active some time within the last week
+    - **Recently Edited:** apps whose settings were edited within the last week
+    - **Other:** all other apps
+
+appSettings:
+  title: App Settings
+  content: |
+    Here you can configure app-specific settings which override the global settings.
+
+    It is easy to create a stricter global ruleset and then create exceptions in the app settings, which override the global default.
+  nextKey: appSettings-Filter
+
+appSettings-Filter:
+  title: Display Mode
+  content: |
+    Quickly change what settings are displayed:
+
+    **View Active:**<br>
+    Only show app-specific settings which override the global default.
+
+    **View All:**<br>
+    Show all settings. App-specific settings which override the global default are highlighted.
+
+appSettings-QuickSettings:
+  title: Quickly Change the Most Important Settings
+  content: |
+    __Block Connections__
+
+    Set the default action for when nothing else allows or blocks an outgoing connection.
+
+    When other settings might overwrite this, a yellow dot next to the toggle will inform you of possible exceptions.
+
+    __SPN__
+
+    Quickly enable or disable SPN for this app.
+
+    When other settings might overwrite this, a yellow dot next to the toggle will inform you of possible exceptions.
+
+    __Keep History__
+
+    Save connections in a database (on disk) in order to view and search them later.
+    
+    Changes might take a couple minutes to apply to all connections.
+
+#########################
+### Support Page
+
+support-page-related-issues:
+  title: Local Issue Search
+  content: |
+    Public issues are only searched for locally so no data leaves your device until you decide so.
+
+    The public GitHub issues are downloaded via our support system to prevent exposure to GitHub.
+
+#########################
+### Configuration Options
+
+spn:
+  title: Safing Privacy Network
+  content: |
+    The Safing Privacy Network (SPN) is a Portmaster Add-On that protects your identity
+    and Internet traffic from prying eyes. It spreads your connections over multiple server,
+    letting you access the Internet from many places at once in order to effectively hide
+    your tracks.
+  url: https://safing.io/spn/?source=Portmaster
+  urlText: Learn More
+
+###########################
+# Process Matching and Fingerprints
+process-tags:
+  title: Process Tags
+  content: Tags holds special metadata of processes and are gathered by Portmaster. You can use these tags in fingerprints to better match processes, which would otherwise be a lot more difficult or impossible to match correctly.
diff --git a/desktop/angular/src/i18n/helptexts.yaml.d.ts b/desktop/angular/src/i18n/helptexts.yaml.d.ts
new file mode 100644
index 00000000..979498e3
--- /dev/null
+++ b/desktop/angular/src/i18n/helptexts.yaml.d.ts
@@ -0,0 +1,24 @@
+
+declare module 'js-yaml-loader!*' {
+  import { Action } from "src/app/services/notifications.types";
+  export interface Button {
+    name: string;
+    action: Action;
+    nextKey?: string;
+  }
+
+  export interface TipUp {
+    title: string;
+    content: string;
+    url?: string;
+    urlText?: string;
+    buttons?: Button[];
+    nextKey?: string;
+  }
+  export interface HelpTexts {
+    [key: string]: TipUp;
+  }
+
+  const content: HelpTexts;
+  export default content;
+}
diff --git a/desktop/angular/src/index.html b/desktop/angular/src/index.html
new file mode 100644
index 00000000..8912951b
--- /dev/null
+++ b/desktop/angular/src/index.html
@@ -0,0 +1,34 @@
+<!doctype html>
+<html lang="en">
+
+<head>
+  <meta charset="utf-8">
+  <title>Portmaster</title>
+  <base href="/">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <meta http-equiv="x-dns-prefetch-control" content="off">
+
+  <link rel="apple-touch-icon" sizes="57x57" href="/assets/favicons/apple-icon-57x57.png">
+  <link rel="apple-touch-icon" sizes="60x60" href="/assets/favicons/apple-icon-60x60.png">
+  <link rel="apple-touch-icon" sizes="72x72" href="/assets/favicons/apple-icon-72x72.png">
+  <link rel="apple-touch-icon" sizes="76x76" href="/assets/favicons/apple-icon-76x76.png">
+  <link rel="apple-touch-icon" sizes="114x114" href="/assets/favicons/apple-icon-114x114.png">
+  <link rel="apple-touch-icon" sizes="120x120" href="/assets/favicons/apple-icon-120x120.png">
+  <link rel="apple-touch-icon" sizes="144x144" href="/assets/favicons/apple-icon-144x144.png">
+  <link rel="apple-touch-icon" sizes="152x152" href="/assets/favicons/apple-icon-152x152.png">
+  <link rel="apple-touch-icon" sizes="180x180" href="/assets/favicons/apple-icon-180x180.png">
+  <link rel="icon" type="image/png" sizes="192x192" href="/assets/favicons/android-icon-192x192.png">
+  <link rel="icon" type="image/png" sizes="32x32" href="/assets/favicons/favicon-32x32.png">
+  <link rel="icon" type="image/png" sizes="96x96" href="/assets/favicons/favicon-96x96.png">
+  <link rel="icon" type="image/png" sizes="16x16" href="/assets/favicons/favicon-16x16.png">
+  <link rel="manifest" href="/assets/favicons/manifest.json">
+  <meta name="msapplication-TileColor" content="#121213">
+  <meta name="msapplication-TileImage" content="/assets/favicons/ms-icon-144x144.png">
+  <meta name="theme-color" content="#121213">
+</head>
+
+<body>
+  <app-root></app-root>
+</body>
+
+</html>
diff --git a/desktop/angular/src/main.ts b/desktop/angular/src/main.ts
new file mode 100644
index 00000000..2b10a238
--- /dev/null
+++ b/desktop/angular/src/main.ts
@@ -0,0 +1,94 @@
+import { enableProdMode, importProvidersFrom } from '@angular/core';
+import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
+
+import { AppModule } from './app/app.module';
+import { environment } from './environments/environment';
+import { INTEGRATION_SERVICE, integrationServiceFactory } from './app/integration';
+import { bootstrapApplication } from '@angular/platform-browser';
+import { PromptWidgetComponent } from './app/shared/prompt-list';
+import { PromptEntryPointComponent } from './app/prompt-entrypoint/prompt-entrypoint';
+import { provideHttpClient } from '@angular/common/http';
+import { provideRouter } from '@angular/router';
+import { PortmasterAPIModule } from '@safing/portmaster-api';
+import { NotificationsService } from './app/services';
+import { TauriIntegrationService } from './app/integration/taur-app';
+
+if (environment.production) {
+  enableProdMode();
+}
+
+if (typeof (CSS as any)['registerProperty'] === 'function') {
+  (CSS as any).registerProperty({
+    name: '--lock-color',
+    syntax: '*',
+    inherits: true,
+    initialValue: '10, 10, 10'
+  })
+}
+
+function handleExternalResources(e: Event) {
+  // get click target
+  let target: HTMLElement | null = e.target as HTMLElement;
+  // traverse until we reach an a tag
+  while (!!target && target.tagName !== "A") {
+    target = target.parentElement;
+  }
+
+  if (!!target) {
+    let href = target.getAttribute("href");
+    if (href?.startsWith("blob")) {
+      return
+    }
+
+    if (!!href && !href.includes(location.hostname)) {
+      e.preventDefault();
+
+      integrationServiceFactory().openExternal(href);
+    }
+  }
+}
+
+if (document.addEventListener) {
+  document.addEventListener("click", handleExternalResources);
+}
+
+// load the font file but make sure to use the slimfix version
+// windows.
+{
+  // we cannot use document.writeXX here as it's not allowed to
+  // write to Document from an async loaded script.
+
+  let linkTag = document.createElement("link");
+  linkTag.rel = "stylesheet";
+  linkTag.href = "/assets/vendor/fonts/roboto.css";
+  if (navigator.platform.startsWith("Win")) {
+    linkTag.href = "/assets/vendor/fonts/roboto-slimfix.css"
+  }
+
+  document.head.appendChild(linkTag);
+}
+
+
+if (location.pathname !== "/prompt") {
+  // bootstrap our normal application
+  platformBrowserDynamic().bootstrapModule(AppModule)
+    .catch(err => console.error(err));
+
+} else {
+  // bootstrap the prompt interface
+  bootstrapApplication(PromptEntryPointComponent, {
+    providers: [
+      provideHttpClient(),
+      importProvidersFrom(PortmasterAPIModule.forRoot({
+        websocketAPI: "ws://localhost:817/api/database/v1",
+        httpAPI: "http://localhost:817/api"
+      })),
+      NotificationsService,
+      {
+        provide: INTEGRATION_SERVICE,
+        useClass: TauriIntegrationService
+      }
+    ],
+  })
+}
+
diff --git a/desktop/angular/src/polyfills.ts b/desktop/angular/src/polyfills.ts
new file mode 100644
index 00000000..576bf9d7
--- /dev/null
+++ b/desktop/angular/src/polyfills.ts
@@ -0,0 +1,57 @@
+/***************************************************************************************************
+ * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates.
+ */
+import '@angular/localize/init';
+/**
+ * This file includes polyfills needed by Angular and is loaded before the app.
+ * You can add your own extra polyfills to this file.
+ *
+ * This file is divided into 2 sections:
+ *   1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
+ *   2. Application imports. Files imported after ZoneJS that should be loaded before your main
+ *      file.
+ *
+ * The current setup is for so-called "evergreen" browsers; the last versions of browsers that
+ * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),
+ * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.
+ *
+ * Learn more in https://angular.io/guide/browser-support
+ */
+
+/***************************************************************************************************
+ * BROWSER POLYFILLS
+ */
+
+/**
+ * By default, zone.js will patch all possible macroTask and DomEvents
+ * user can disable parts of macroTask/DomEvents patch by setting following flags
+ * because those flags need to be set before `zone.js` being loaded, and webpack
+ * will put import in the top of bundle, so user need to create a separate file
+ * in this directory (for example: zone-flags.ts), and put the following flags
+ * into that file, and then add the following code before importing zone.js.
+ * import './zone-flags';
+ *
+ * The flags allowed in zone-flags.ts are listed here.
+ *
+ * The following flags will work for all browsers.
+ *
+ * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame
+ * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick
+ * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames
+ *
+ *  in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js
+ *  with the following flag, it will bypass `zone.js` patch for IE/Edge
+ *
+ *  (window as any).__Zone_enable_cross_context_check = true;
+ *
+ */
+
+/***************************************************************************************************
+ * Zone JS is required by default for Angular itself.
+ */
+import 'zone.js/dist/zone';  // Included with Angular CLI.
+
+
+/***************************************************************************************************
+ * APPLICATION IMPORTS
+ */
diff --git a/desktop/angular/src/styles.scss b/desktop/angular/src/styles.scss
new file mode 100644
index 00000000..52a47745
--- /dev/null
+++ b/desktop/angular/src/styles.scss
@@ -0,0 +1,120 @@
+//
+// Import our complete theme, order is important!
+//
+@import 'theme/_colors.scss';
+@import 'theme/_tailwind.scss';
+@import '@angular/cdk/overlay-prebuilt';
+@import 'theme/_button.scss';
+@import 'theme/_drag-n-drop.scss';
+@import 'theme/_inputs.scss';
+@import 'theme/_scroll.scss';
+@import 'theme/_search.scss';
+@import 'theme/_trust-level.scss';
+@import 'theme/_verdict.scss';
+@import 'theme/_typography.scss';
+@import 'theme/_markdown.scss';
+@import 'theme/_card.scss';
+@import 'theme/_breadcrumbs.scss';
+@import 'theme/_dialog.scss';
+@import 'theme/_table.scss';
+@import 'theme/_pill.scss';
+
+@import 'safing/ui/theming';
+
+*[routerlink] {
+  cursor: pointer;
+}
+
+.form-field {
+  display: flex;
+  justify-content: flext-start;
+  align-items: center;
+
+  *:not(:last-child) {
+    @apply mr-1;
+  }
+}
+
+.sidebar {
+  @apply bg-background;
+  height: 100vh;
+  flex-shrink: 0;
+  flex-grow: 0;
+  @apply px-2;
+  display: flex;
+  flex-direction: column;
+
+  &.no-scroll {
+    @apply px-0;
+  }
+}
+
+.main {
+  .content {
+    flex-grow: 1;
+    @apply pl-12;
+    @apply pr-16;
+    @apply mr-4;
+    overflow: auto;
+  }
+
+  .header {
+    display: flex;
+    width: 100%;
+    @apply pl-12;
+    @apply pr-5;
+    @apply mb-2;
+    align-items: center;
+    height: 3rem;
+    flex-shrink: 0;
+
+    &:first-of-type {
+      @apply mt-2;
+    }
+
+    >* {
+      flex-grow: 1;
+      margin: 0;
+    }
+
+    >app-expertise {
+      flex-grow: 0;
+      flex-shrink: 0;
+    }
+  }
+}
+
+.tableFixHead {
+  overflow-y: auto;
+}
+
+.tableFixHead thead th {
+  position: sticky;
+  top: 0;
+}
+
+
+fa-icon.tipup,
+fa-icon[icon="question-circle"],
+fa-icon[icon="question"] {
+  max-width: 10px;
+  max-height: 10px;
+  opacity: 0.8;
+  display: inline-block;
+  font-size: 0.75rem;
+  color: rgb(250 250 250 / 55%);
+  margin-left: 3px;
+
+  &:hover {
+    opacity: unset;
+  }
+}
+
+.tipup-preview {
+  transition: all .25s ease-in-out !important;
+  opacity: 0 !important;
+
+  &.visible {
+    opacity: 1 !important;
+  }
+}
diff --git a/desktop/angular/src/test.ts b/desktop/angular/src/test.ts
new file mode 100644
index 00000000..06aa8e41
--- /dev/null
+++ b/desktop/angular/src/test.ts
@@ -0,0 +1,14 @@
+// This file is required by karma.conf.js and loads recursively all the .spec and framework files
+
+import 'zone.js/dist/zone-testing';
+import { getTestBed } from '@angular/core/testing';
+import {
+  BrowserDynamicTestingModule,
+  platformBrowserDynamicTesting
+} from '@angular/platform-browser-dynamic/testing';
+
+// First, initialize the Angular testing environment.
+getTestBed().initTestEnvironment(
+  BrowserDynamicTestingModule,
+  platformBrowserDynamicTesting()
+);
diff --git a/desktop/angular/src/theme.less b/desktop/angular/src/theme.less
new file mode 100644
index 00000000..64154716
--- /dev/null
+++ b/desktop/angular/src/theme.less
@@ -0,0 +1,4 @@
+
+// Custom Theming for NG-ZORRO
+// For more information: https://ng.ant.design/docs/customize-theme/en
+@import "../node_modules/ng-zorro-antd/ng-zorro-antd.dark.less";
diff --git a/desktop/angular/src/theme/_breadcrumbs.scss b/desktop/angular/src/theme/_breadcrumbs.scss
new file mode 100644
index 00000000..42df118b
--- /dev/null
+++ b/desktop/angular/src/theme/_breadcrumbs.scss
@@ -0,0 +1,20 @@
+h4.breadcrumbs {
+  * {
+    margin-left : 0.125rem;
+    margin-right: 0.125rem;
+  }
+
+  span {
+    outline: none;
+    @apply text-secondary;
+
+    &:hover {
+      @apply text-primary;
+      text-decoration: underline;
+    }
+
+    &:last-of-type {
+      @apply text-primary;
+    }
+  }
+}
diff --git a/desktop/angular/src/theme/_button.scss b/desktop/angular/src/theme/_button.scss
new file mode 100644
index 00000000..39012ee7
--- /dev/null
+++ b/desktop/angular/src/theme/_button.scss
@@ -0,0 +1,58 @@
+@layer components {
+  button {
+    @apply text-xs;
+    @apply bg-buttons-dark;
+    @apply p-1;
+    @apply px-4;
+    @apply capitalize;
+    @apply rounded-sm;
+    @apply font-medium;
+    user-select: none;
+    outline: none;
+    cursor: pointer;
+    font-size: 0.7rem;
+
+    &.btn-outline {
+      background: transparent;
+      opacity: 0.6;
+    }
+
+    &:hover {
+      &:not(.outline):not(.bg-blue) {
+        @apply bg-buttons-light;
+      }
+
+      opacity: 1;
+    }
+
+    &:disabled {
+      @apply cursor-default;
+      opacity: 0.3;
+
+      &:not(.outline):hover {
+        @apply bg-buttons-dark;
+      }
+    }
+
+    &:active {
+      @apply bg-buttons-dark;
+    }
+
+    &:hover,
+    &:focus,
+    &:active {
+      outline: none;
+    }
+  }
+
+  .info-circle {
+    width: 18px;
+    height: 18px;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    font-size: 0.8em;
+    @apply rounded-full;
+    @apply bg-buttons-dark;
+  }
+}
diff --git a/desktop/angular/src/theme/_card.scss b/desktop/angular/src/theme/_card.scss
new file mode 100644
index 00000000..284a4bbe
--- /dev/null
+++ b/desktop/angular/src/theme/_card.scss
@@ -0,0 +1,110 @@
+.card-header {
+  display        : flex;
+  align-items    : center;
+  cursor         : pointer;
+  outline        : none;
+  justify-content: space-between;
+  @apply text-xs;
+  @apply font-medium;
+  margin-top             : 5px;
+  padding-top            : 0.65rem;
+  padding-bottom         : 0.65rem;
+  padding-left           : 0.65rem;
+  padding-right          : 0.65rem;
+  border-top-left-radius : 4px;
+  border-top-right-radius: 4px;
+  background-color       : #202020e0;
+
+  &:not(.open) {
+    border-radius: 4px;
+  }
+
+  &>*:not(:last-child) {
+    @apply mr-1;
+  }
+
+  &>app-icon:not(:last-child) {
+    @apply mr-2;
+  }
+
+  &:hover {
+    background-color: #292929b0;
+  }
+
+  &.active {
+    background-color: #303030;
+
+    app-count-indicator {
+      background-color: #474747;
+
+      div.state {
+        background-color: #5c5c5c;
+
+      }
+    }
+  }
+
+  &>app-icon {
+    --app-icon-size: 22px;
+  }
+
+  .card-title {
+    flex-grow    : 1;
+    overflow     : hidden;
+    white-space  : nowrap;
+    text-overflow: ellipsis;
+    font-size    : 0.7rem;
+    font-weight  : 600;
+    color        : #cacaca;
+    margin-left  : 3px;
+
+    .card-sub-title {
+      display   : block;
+      font-size : 0.8em;
+      margin-top: -3px;
+      @apply text-tertiary;
+      text-overflow: ellipsis;
+      overflow     : hidden;
+    }
+  }
+
+  .card-actions {
+    @apply mr-2;
+
+    span {
+      display   : inline-block;
+      text-align: center;
+      min-width : 5rem;
+      @apply px-2;
+      @apply rounded;
+      @apply text-xs;
+
+      padding-top   : 0.1rem;
+      padding-bottom: 0.1rem;
+
+      // TODO(ppacher): this is actually a "toggle-switch" / radio-button
+      // component. make it one.
+      &.selected {
+        @apply bg-buttons-dark;
+      }
+
+      &:hover {
+        @apply bg-buttons-light;
+      }
+    }
+  }
+}
+
+.card-content {
+  @apply bg-cards-secondary;
+  @apply rounded-b;
+
+  @apply py-2;
+  @apply px-4;
+  @apply mb-2;
+
+  display        : flex;
+  flex-direction : column;
+  flex           : 1 0;
+  justify-content: space-between;
+}
diff --git a/desktop/angular/src/theme/_colors.scss b/desktop/angular/src/theme/_colors.scss
new file mode 100644
index 00000000..65310698
--- /dev/null
+++ b/desktop/angular/src/theme/_colors.scss
@@ -0,0 +1,46 @@
+/**
+ * For debugging purposes, we define all our colors as
+ * CSS3 variables and make tailwind put a reference to those
+ * variables. This way we will see the variable name in the
+ * developer-tools instead of the hex/rgba values.
+ *
+ * You're welcome 🚀
+ */
+:root {
+  --background: #121213;
+
+  --text-primary  : #ffffff;
+  --text-secondary: #ababab;
+  --text-tertiary : #888888;
+
+  --cards-primary      : #222222;
+  --cards-secondary    : #1b1b1b;
+  --cards-secondary-rgb: 27, 27, 27;
+  --cards-tertiary     : #2c2c2c;
+
+  --button-icon : #ababab;
+  --button-dark : #343434;
+  --button-light: #474747;
+
+  --info-green     : #3df57f;
+  --info-red       : #d12e2e;
+  --info-gray      : #ababab;
+  --info-blue      : #4e97fa;
+  --info-yellow    : #e9d31d;
+  --info-yellow-rgb: 233, 211, 29;
+
+  --protection-ok-primary  : rgb(29, 233, 102);
+  --protection-ok-secondary: rgb(24, 130, 61);
+  --protection-ok-tertiary : rgb(20, 61, 36);
+
+  --protection-warn-primary  : rgb(233, 216, 29);
+  --protection-warn-secondary: rgb(130, 121, 24);
+  --protection-warn-tertiary : rgb(61, 58, 20);
+
+  --protection-fail-primary  : rgb(224, 29, 29);
+  --protection-fail-secondary: rgb(129, 24, 24);
+  --protection-fail-tertiary : rgb(61, 20, 20);
+
+  --portmaster-plus: #2fcfae;
+  --portmaster-pro: #029ad0;
+}
diff --git a/desktop/angular/src/theme/_dialog.scss b/desktop/angular/src/theme/_dialog.scss
new file mode 100644
index 00000000..c4eaaabe
--- /dev/null
+++ b/desktop/angular/src/theme/_dialog.scss
@@ -0,0 +1,9 @@
+.dialog-screen-backdrop {
+  backdrop-filter : blur(10px);
+  background-color: rgba(#000000, 0.7);
+}
+
+.dialog-screen-backdrop-light {
+  backdrop-filter : blur(3px);
+  background-color: rgba(#000000, 0.4);
+}
diff --git a/desktop/angular/src/theme/_drag-n-drop.scss b/desktop/angular/src/theme/_drag-n-drop.scss
new file mode 100644
index 00000000..e6c69add
--- /dev/null
+++ b/desktop/angular/src/theme/_drag-n-drop.scss
@@ -0,0 +1,46 @@
+.cdk-drag {
+  .widget {
+    user-select: none;
+
+    fa-icon {
+      opacity: 1;
+    }
+  }
+}
+
+.cdk-drag-placeholder {
+  user-select: none;
+  position: relative;
+  opacity: 0.5;
+  box-sizing: border-box;
+  cursor: grabbing !important;
+  @apply border-2;
+  @apply rounded;
+  @apply border-dashed;
+  border-color: #292929;
+}
+
+.cdk-drag-animating {
+  transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
+  user-select: none;
+}
+
+.cdk-drag-preview {
+  user-select: none;
+  box-sizing: border-box;
+  cursor: grabbing !important;
+
+  @apply rounded;
+  @apply border-2;
+  @apply border-dashed;
+  border-color: #292929;
+  @apply text-primary;
+}
+
+.cdk-drag-handle {
+  cursor: grab !important;
+}
+
+.document-grabbing {
+  cursor: grabbing !important;
+}
diff --git a/desktop/angular/src/theme/_inputs.scss b/desktop/angular/src/theme/_inputs.scss
new file mode 100644
index 00000000..a7baf154
--- /dev/null
+++ b/desktop/angular/src/theme/_inputs.scss
@@ -0,0 +1,35 @@
+input:not([type="checkbox"]),
+textarea,
+select {
+  @apply outline-none w-full block;
+  @apply bg-gray-300 rounded;
+  @apply text-xs text-primary;
+  @apply border border-gray-300;
+  @apply rounded-sm font-medium;
+  @apply p-1.5;
+
+  transition: border cubic-bezier(0.175, 0.885, 0.32, 1.275) .3s;
+
+  &::placeholder {
+    @apply text-secondary text-xxs;
+  }
+
+  &:active,
+  &:focus {
+    @apply text-primary;
+    @apply bg-gray-500 border-gray-400 bg-opacity-75 border-opacity-75;
+
+    &::placeholder {
+      @apply text-tertiary;
+    }
+  }
+}
+
+
+input,
+textarea,
+select {
+  .ng-invalid {
+    @apply border-red;
+  }
+}
diff --git a/desktop/angular/src/theme/_markdown.scss b/desktop/angular/src/theme/_markdown.scss
new file mode 100644
index 00000000..4bf2fa09
--- /dev/null
+++ b/desktop/angular/src/theme/_markdown.scss
@@ -0,0 +1,455 @@
+// Mostly taken from https://github.com/sindresorhus/github-markdown-css/blob/gh-pages/license
+
+markdown {
+  width: 100%;
+  @apply p-2;
+  color: white !important;
+  @apply font-normal;
+
+  details {
+    display: block;
+  }
+
+  summary {
+    display: list-item;
+  }
+
+  a {
+    background-color: initial;
+  }
+
+  a:active,
+  a:hover {
+    outline-width: 0;
+  }
+
+  strong {
+    font-weight: inherit;
+    font-weight: bolder;
+  }
+
+  h1 {
+    font-size: 2rem;
+    margin: .67rem 0;
+  }
+
+  img {
+    border-style: none;
+  }
+
+  code,
+  kbd,
+  pre {
+    font-family: monospace, monospace;
+    font-size: 1rem;
+  }
+
+  hr {
+    box-sizing: initial;
+    height: 0;
+    overflow: visible;
+  }
+
+  input {
+    font: inherit;
+    margin: 0;
+  }
+
+  input {
+    overflow: visible;
+  }
+
+  [type=checkbox] {
+    box-sizing: border-box;
+    padding: 0;
+  }
+
+  * {
+    box-sizing: border-box;
+  }
+
+  input {
+    font-family: inherit;
+    font-size: inherit;
+    line-height: inherit;
+  }
+
+  a {
+    text-decoration: none;
+  }
+
+  a:hover {
+    text-decoration: underline;
+  }
+
+  strong {
+    font-weight: 600;
+  }
+
+  hr {
+    height: 0;
+    margin: 15px 0;
+    overflow: hidden;
+    background: transparent;
+    border: 0;
+    border-bottom: 1px solid #dfe2e5;
+  }
+
+  hr:after,
+  hr:before {
+    display: table;
+    content: "";
+  }
+
+  hr:after {
+    clear: both;
+  }
+
+  table {
+    border-spacing: 0;
+    border-collapse: collapse;
+  }
+
+  td,
+  th {
+    padding: 0;
+  }
+
+  details summary {
+    cursor: pointer;
+  }
+
+  kbd {
+    display: inline-block;
+    padding: 3px 5px;
+    font: 11px SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
+    line-height: 10px;
+    vertical-align: middle;
+    background-color: #fafbfc;
+    border: 1px solid #d1d5da;
+    border-radius: 3px;
+    box-shadow: inset 0 -1px 0 #d1d5da;
+  }
+
+  h1,
+  h2,
+  h3,
+  h4,
+  h5,
+  h6 {
+    margin-top: 0;
+    margin-bottom: 0;
+  }
+
+  h1 {
+    font-size: 32px;
+  }
+
+  h1,
+  h2 {
+    font-weight: 600;
+  }
+
+  h2 {
+    font-size: 24px;
+  }
+
+  h3 {
+    font-size: 20px;
+  }
+
+  h3,
+  h4 {
+    font-weight: 600;
+  }
+
+  h4 {
+    font-size: 16px;
+  }
+
+  h5 {
+    font-size: 14px;
+  }
+
+  h5,
+  h6 {
+    font-weight: 600;
+  }
+
+  h6 {
+    font-size: 12px;
+  }
+
+  p {
+    margin-top: 0;
+    margin-bottom: 10px;
+  }
+
+  blockquote {
+    margin: 0;
+  }
+
+  ol,
+  ul {
+    padding-left: 0;
+    margin-top: 0;
+    margin-bottom: 0;
+  }
+
+  ol {
+    list-style-type: decimal;
+  }
+
+  ul {
+    list-style-type: circle;
+  }
+
+  ol ol,
+  ul ol {
+    list-style-type: lower-roman;
+  }
+
+  ol ol ol,
+  ol ul ol,
+  ul ol ol,
+  ul ul ol {
+    list-style-type: lower-alpha;
+  }
+
+  dd {
+    margin-left: 0;
+  }
+
+  code,
+  pre {
+    font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
+    font-size: 12px;
+  }
+
+  pre {
+    margin-top: 0;
+    margin-bottom: 0;
+  }
+
+  input::-webkit-inner-spin-button,
+  input::-webkit-outer-spin-button {
+    margin: 0;
+    -webkit-appearance: none;
+    appearance: none;
+  }
+
+  a:not([href]) {
+    color: inherit;
+    text-decoration: none;
+  }
+
+  blockquote,
+  details,
+  dl,
+  ol,
+  p,
+  pre,
+  table,
+  ul {
+    margin-top: 0;
+    // be carefully when ever changing this!
+    margin-bottom: 16px;
+  }
+
+  hr {
+    height: .25rem;
+    padding: 0;
+    margin: 24px 0;
+    background-color: #e1e4e8;
+    border: 0;
+  }
+
+  blockquote {
+    padding: 0 1rem;
+    border-left: .25rem solid #dfe2e5;
+  }
+
+  blockquote>:first-child {
+    margin-top: 0;
+  }
+
+  blockquote>:last-child {
+    margin-bottom: 0;
+  }
+
+  h1,
+  h2,
+  h3,
+  h4,
+  h5,
+  h6 {
+    margin-top: 24px;
+    margin-bottom: 16px;
+    font-weight: 600;
+    line-height: 1.25;
+  }
+
+  h1 {
+    font-size: 2rem;
+  }
+
+  h1,
+  h2 {
+    padding-bottom: .3rem;
+    border-bottom: 1px solid #eaecef;
+  }
+
+  h2 {
+    font-size: 1.5rem;
+  }
+
+  h3 {
+    font-size: 1.25rem;
+  }
+
+  h4 {
+    font-size: 1rem;
+  }
+
+  h5 {
+    font-size: .875rem;
+  }
+
+  h6 {
+    font-size: .85rem;
+  }
+
+  ol,
+  ul {
+    padding-left: 2rem;
+  }
+
+  ol ol,
+  ol ul,
+  ul ol,
+  ul ul {
+    margin-top: 0;
+    margin-bottom: 0;
+  }
+
+  li {
+    word-wrap: break-all;
+  }
+
+  li>p {
+    margin-top: 16px;
+  }
+
+  li+li {
+    margin-top: .25rem;
+  }
+
+  dl {
+    padding: 0;
+  }
+
+  dl dt {
+    padding: 0;
+    margin-top: 16px;
+    font-size: 1rem;
+    font-style: italic;
+    font-weight: 600;
+  }
+
+  dl dd {
+    padding: 0 16px;
+    margin-bottom: 16px;
+  }
+
+  table {
+    display: block;
+    width: 100%;
+    overflow: auto;
+  }
+
+  table th {
+    font-weight: 600;
+  }
+
+  table td,
+  table th {
+    padding: 6px 13px;
+    border: 1px solid #dfe2e5;
+  }
+
+  table tr {
+    background-color: #fff;
+    border-top: 1px solid #c6cbd1;
+  }
+
+  table tr:nth-child(2n) {
+    background-color: #f6f8fa;
+  }
+
+  img {
+    max-width: 100%;
+    box-sizing: initial;
+    background-color: #fff;
+  }
+
+  img[align=right] {
+    padding-left: 20px;
+  }
+
+  img[align=left] {
+    padding-right: 20px;
+  }
+
+  code {
+    padding: .2rem .4rem;
+    margin: 0;
+    font-size: 95%;
+    background-color: rgba(27, 31, 35, .05);
+    border-radius: 3px;
+  }
+
+  pre {
+    word-wrap: normal;
+  }
+
+  pre>code {
+    padding: 0;
+    margin: 0;
+    font-size: 100%;
+    word-break: normal;
+    white-space: pre;
+    background: transparent;
+    border: 0;
+  }
+
+  .highlight {
+    margin-bottom: 16px;
+  }
+
+  .highlight pre {
+    margin-bottom: 0;
+    word-break: normal;
+  }
+
+  .highlight pre,
+  pre {
+    padding: 16px;
+    overflow: auto;
+    font-size: 90%;
+    line-height: 1.45;
+    background-color: #f6f8fa;
+    border-radius: 3px;
+  }
+
+  pre code {
+    display: inline;
+    max-width: auto;
+    padding: 0;
+    margin: 0;
+    overflow: visible;
+    line-height: inherit;
+    word-wrap: normal;
+    background-color: initial;
+    border: 0;
+  }
+}
diff --git a/desktop/angular/src/theme/_pill.scss b/desktop/angular/src/theme/_pill.scss
new file mode 100644
index 00000000..e85d9ac3
--- /dev/null
+++ b/desktop/angular/src/theme/_pill.scss
@@ -0,0 +1,7 @@
+@import 'mixins/_pill.scss';
+
+.pill-container {
+  @include pill-container;
+  @apply pl-2;
+  @apply bg-buttons-dark;
+}
diff --git a/desktop/angular/src/theme/_scroll.scss b/desktop/angular/src/theme/_scroll.scss
new file mode 100644
index 00000000..36ea80b0
--- /dev/null
+++ b/desktop/angular/src/theme/_scroll.scss
@@ -0,0 +1,28 @@
+html,
+body {
+  scroll-behavior: smooth;
+}
+
+::-webkit-scrollbar {
+  @apply bg-buttons-dark;
+  width: 4px;
+}
+
+::-webkit-scrollbar-thumb {
+  @apply bg-buttons-light;
+  @apply rounded;
+  cursor: pointer;
+}
+
+.no-scroll {
+  overflow: hidden;
+}
+
+.scrollable {
+  width     : 100%;
+  max-height: 100%;
+  overflow  : auto;
+  overflow-x: hidden;
+  flex-grow : 1;
+  @apply px-3;
+}
diff --git a/desktop/angular/src/theme/_search.scss b/desktop/angular/src/theme/_search.scss
new file mode 100644
index 00000000..d950cafd
--- /dev/null
+++ b/desktop/angular/src/theme/_search.scss
@@ -0,0 +1,10 @@
+em.search-result {
+  @apply text-background;
+  @apply bg-yellow;
+  @apply border;
+  @apply border-yellow;
+  @apply rounded-sm;
+
+  text-decoration: none;
+  font-style: inherit;
+}
diff --git a/desktop/angular/src/theme/_table.scss b/desktop/angular/src/theme/_table.scss
new file mode 100644
index 00000000..035b5e17
--- /dev/null
+++ b/desktop/angular/src/theme/_table.scss
@@ -0,0 +1,41 @@
+table:not(.custom) {
+  width: 100%;
+
+  th,
+  tr,
+  td {
+    @apply text-xs;
+  }
+
+  th {
+    text-align: left;
+    @apply text-secondary;
+    z-index: 1;
+  }
+
+  td,
+  th {
+    @apply p-2;
+    @apply font-medium;
+  }
+
+  tr:nth-child(even) {
+    @apply bg-cards-secondary;
+    --bg-opacity: 0.5;
+  }
+
+  tr:nth-child(odd) {
+    @apply bg-cards-tertiary;
+    --bg-opacity: 0.6;
+  }
+
+  tr.cdk-header-row th {
+    @apply bg-cards-tertiary;
+    --bg-opacity: 1;
+
+    // we cannot use borders directly due to
+    // the sticky header. Use a box-shadow to
+    // simulate a border.
+    box-shadow: 0 2px rgba(0, 0, 0, 0.3);
+  }
+}
diff --git a/desktop/angular/src/theme/_tailwind.scss b/desktop/angular/src/theme/_tailwind.scss
new file mode 100644
index 00000000..28ccd29f
--- /dev/null
+++ b/desktop/angular/src/theme/_tailwind.scss
@@ -0,0 +1,4 @@
+/** The tailwind post-processor will inject all tailwind styles here **/
+@import 'tailwindcss/base';
+@import 'tailwindcss/components';
+@import 'tailwindcss/utilities';
diff --git a/desktop/angular/src/theme/_trust-level.scss b/desktop/angular/src/theme/_trust-level.scss
new file mode 100644
index 00000000..a4b00b51
--- /dev/null
+++ b/desktop/angular/src/theme/_trust-level.scss
@@ -0,0 +1,73 @@
+span.trust-level {
+  display    : inline-block;
+  position   : relative;
+  width      : 6px;
+  user-select: none;
+  overflow   : visible;
+
+  &~* {
+    @apply ml-2;
+  }
+
+  &:before {
+    content      : "";
+    display      : block;
+    position     : relative;
+    height       : 6px;
+    width        : 6px;
+    top          : -1px;
+    left         : 0px;
+    border-radius: 50%;
+  }
+
+  &.centered:before {
+    top: 0px;
+  }
+
+  &:before {
+    background-color: var(--bg-color);
+    @apply shadow-inner-xs;
+  }
+
+  &.pulse:before {
+    animation : pulsate-trust 1s ease-out infinite;
+    box-shadow: 0 0 10px var(--glow-color);
+  }
+
+  &.off {
+    --bg-color  : theme('colors.info.gray');
+    --glow-color: theme('colors.info.gray');
+  }
+
+  &.auto {
+    --bg-color  : theme('colors.info.blue');
+    --glow-color: theme('colors.info.blue');
+  }
+
+  &.low {
+    --bg-color  : theme('colors.info.green');
+    --glow-color: theme('colors.info.green');
+  }
+
+  &.medium {
+    --bg-color  : theme('colors.info.yellow');
+    --glow-color: theme('colors.info.yellow');
+  }
+
+  &.high {
+    --bg-color  : theme('colors.info.red');
+    --glow-color: theme('colors.info.red');
+  }
+}
+
+@keyframes pulsate-trust {
+  100% {
+    opacity: 0.8;
+  }
+
+  0% {
+    background: var(--glow-color);
+    box-shadow: 0 0 0 var(--glow-color);
+    opacity   : 1;
+  }
+}
diff --git a/desktop/angular/src/theme/_typography.scss b/desktop/angular/src/theme/_typography.scss
new file mode 100644
index 00000000..1c8a6d01
--- /dev/null
+++ b/desktop/angular/src/theme/_typography.scss
@@ -0,0 +1,61 @@
+html,
+body {
+  font-family: 'Roboto', sans-serif;
+  @apply text-primary;
+  @apply font-medium;
+}
+
+body,
+.primary-text,
+.secondary-text {
+  @apply text-xs;
+  @apply font-medium;
+}
+
+label,
+.secondary-text {
+  @apply text-secondary;
+}
+
+.primary-text {
+  @apply text-primary;
+}
+
+.tertiary-text {
+  @apply text-tertiary;
+}
+
+h1,
+h2,
+h3 {
+  @apply text-primary;
+}
+
+h1 {
+  display: block;
+
+  @apply mb-1;
+  @apply text-xl;
+  @apply font-normal;
+  @apply mb-2;
+}
+
+h2 {
+  @apply p-2;
+  @apply ml-2;
+  @apply text-lg;
+  @apply font-medium;
+  letter-spacing: -0.01rem;
+}
+
+h3 {
+  @apply mb-1;
+  @apply text-base;
+  @apply font-medium;
+}
+
+h4 {
+  @apply text-xs;
+  @apply font-medium;
+  @apply text-tertiary;
+}
diff --git a/desktop/angular/src/theme/_verdict.scss b/desktop/angular/src/theme/_verdict.scss
new file mode 100644
index 00000000..9f4a2730
--- /dev/null
+++ b/desktop/angular/src/theme/_verdict.scss
@@ -0,0 +1,47 @@
+span.verdict {
+  display     : inline-block;
+  position    : relative;
+  width       : 12px;
+  height      : 9px;
+  align-self  : center;
+  justify-self: center;
+  user-select : none;
+  overflow    : visible;
+
+  &:before {
+    content         : "";
+    display         : block;
+    position        : absolute;
+    height          : 8px;
+    width           : 8px;
+    top             : 0px;
+    left            : 0px;
+    border-radius   : 50%;
+    background-color: var(--bg-color);
+    border          : 1px solid var(--bg-color);
+    @apply shadow-inner-xs;
+  }
+
+  &.failed {
+    --bg-color: theme('colors.info.yellow');
+  }
+
+  &.accept,
+  &.reroutetons,
+  &.reroutetotunnel {
+    --bg-color: theme('colors.info.green');
+  }
+
+  &.block,
+  &.drop {
+    --bg-color: theme('colors.info.red');
+  }
+
+  &.outdated {
+    &:before {
+      background-color: transparent;
+      border-color    : var(--bg-color);
+      opacity         : .85;
+    }
+  }
+}
diff --git a/desktop/angular/src/theme/mixins/_pill.scss b/desktop/angular/src/theme/mixins/_pill.scss
new file mode 100644
index 00000000..130f5519
--- /dev/null
+++ b/desktop/angular/src/theme/mixins/_pill.scss
@@ -0,0 +1,42 @@
+@mixin pill-container {
+  display        : flex;
+  width          : auto;
+  height         : 18px;
+  align-items    : center;
+  justify-content: flex-end;
+  font-size      : 0.6rem;
+  line-height    : 18px;
+
+  border-radius: 0.5rem;
+  transform    : scale(0.95);
+
+  .counter {
+    flex-grow    : 1;
+    display      : inline-block;
+    text-align   : right;
+    padding-right: 4px;
+    padding-left : 2px;
+    color        : #999999ee;
+    font-size    : 0.65rem;
+    font-weight  : 800;
+    width        : max-content;
+  }
+
+  .pill {
+    display         : inline-block;
+    width           : 29px;
+    height          : 5px;
+    background-color: #686868;
+    border-radius   : 1rem;
+    overflow        : hidden;
+    margin-left     : 0.2rem;
+    margin-right    : 0.6rem;
+
+    .percentage {
+      display         : block;
+      height          : 100%;
+      width           : 75%;
+      background-color: #21ad58;
+    }
+  }
+}
diff --git a/desktop/angular/tailwind.config.js b/desktop/angular/tailwind.config.js
new file mode 100644
index 00000000..ba4e7f11
--- /dev/null
+++ b/desktop/angular/tailwind.config.js
@@ -0,0 +1,127 @@
+const plugin = require("tailwindcss/plugin");
+
+module.exports = {
+  content: [
+    "./src/**/*.{html,scss,css,ts}",
+    "./projects/**/*.{html,scss,css,ts}",
+  ],
+  theme: {
+    colors: {
+      transparent: "transparent",
+      current: "currentColor",
+      white: "#ffffff",
+      background: "#121213",
+
+      gray: {
+        100: "#131111",
+        200: "#1b1b1b",
+        300: "#222222",
+        400: "#2c2c2c",
+        500: "#474747",
+        600: "#888888",
+        700: "#ababab",
+        DEFAULT: "#ababab",
+      },
+
+      green: {
+        100: "#143d24",
+        200: "#18823d",
+        300: "#1de966",
+        DEFAULT: "#18823d",
+      },
+
+      red: {
+        100: "#3d1414",
+        200: "#811818",
+        300: "#e01d1d",
+        DEFAULT: "#d12e2e",
+      },
+
+      yellow: {
+        100: "#3d3a14",
+        200: "#827918",
+        300: "#e9d81d",
+        DEFAULT: "#e9d81d",
+      },
+
+      cyan: {
+        100: "#b2ebf2",
+        200: "#80deea",
+        300: "#4dd0e1",
+        400: "#26c6da",
+        500: "#00bcd4",
+        600: "#00acc1",
+        700: "#0097a7",
+        800: "#00838f",
+        900: "#006064",
+      },
+
+      deepPurple: {
+        50: "#ede7f6",
+        100: "#d1c4e9",
+        200: "#b39ddb",
+        300: "#9575cd",
+        400: "#7e57c2",
+        500: "#673ab7",
+        600: "#5e35b1",
+        700: "#512da8",
+        800: "#4527a0",
+        900: "#311b92",
+      },
+
+      blue: {
+        DEFAULT: "#4e97fa",
+      },
+
+      // Legacy color definitions
+
+      // The overall application background color
+
+      // Text shades
+      cards: {
+        primary: "var(--cards-primary)",
+        secondary: "var(--cards-secondary)",
+        tertiary: "var(--cards-tertiary)",
+      },
+
+      buttons: {
+        icon: "var(--button-icon)",
+        dark: "var(--button-dark)",
+        light: "var(--button-light)",
+      },
+
+      info: {
+        green: "var(--info-green)",
+        red: "var(--info-red)",
+        gray: "var(--info-gray)",
+        blue: "var(--info-blue)",
+        yellow: "var(--info-yellow)",
+      },
+    },
+    textColor: (theme) => {
+      return {
+        primary: theme("colors.white"),
+        secondary: theme("colors.gray.700"),
+        tertiary: theme("colors.gray.600"),
+
+        ...theme("colors"),
+      };
+    },
+    extend: {
+      boxShadow: {
+        xs: "0 0 0 1px rgba(0, 0, 0, 0.05)",
+        "inner-xs": "inset 0 2px 4px 0 rgba(0, 0, 0, 0.16)",
+      },
+      fontSize: {
+        xxs: "0.7rem",
+      },
+    },
+  },
+  plugins: [
+    plugin(function ({ addVariant, theme }) {
+      Object.keys(theme("screens")).forEach((key) => {
+        addVariant("sfng-" + key, ".min-width-" + theme("screens")[key] + " &");
+      });
+    }),
+  ],
+};
diff --git a/desktop/angular/tsconfig.app.json b/desktop/angular/tsconfig.app.json
new file mode 100644
index 00000000..f67c4660
--- /dev/null
+++ b/desktop/angular/tsconfig.app.json
@@ -0,0 +1,16 @@
+/* To learn more about this file see: https://angular.io/config/tsconfig. */
+{
+  "extends": "./tsconfig.json",
+  "compilerOptions": {
+    "outDir": "./out-tsc/app",
+    "types": [
+    ]
+  },
+  "files": [
+    "src/main.ts",
+    "src/polyfills.ts"
+  ],
+  "include": [
+    "src/**/*.d.ts"
+  ]
+}
diff --git a/desktop/angular/tsconfig.json b/desktop/angular/tsconfig.json
new file mode 100644
index 00000000..281e9628
--- /dev/null
+++ b/desktop/angular/tsconfig.json
@@ -0,0 +1,41 @@
+/* To learn more about this file see: https://angular.io/config/tsconfig. */
+{
+  "compileOnSave": false,
+  "compilerOptions": {
+    "paths": {
+      "@safing/portmaster-api": [
+        "dist-lib/safing/portmaster-api"
+      ],
+      "@safing/ui": [
+        "dist-lib/safing/ui"
+      ]
+    },
+    "baseUrl": "./",
+    "outDir": "./dist/out-tsc",
+    "forceConsistentCasingInFileNames": true,
+    "strict": true,
+    "noImplicitReturns": true,
+    "noFallthroughCasesInSwitch": true,
+    "sourceMap": true,
+    "declaration": false,
+    "downlevelIteration": true,
+    "experimentalDecorators": true,
+    "moduleResolution": "node",
+    "importHelpers": true,
+    "target": "ES2022",
+    "module": "es2020",
+    "lib": [
+      "es2018",
+      "dom"
+    ],
+    "types": [
+      "./src/electron-app.d.ts",
+      "chrome"
+    ],
+    "useDefineForClassFields": false
+  },
+  "angularCompilerOptions": {
+    "strictInjectionParameters": true,
+    "strictTemplates": true
+  }
+}
diff --git a/desktop/angular/tsconfig.spec.json b/desktop/angular/tsconfig.spec.json
new file mode 100644
index 00000000..800c6e2f
--- /dev/null
+++ b/desktop/angular/tsconfig.spec.json
@@ -0,0 +1,19 @@
+/* To learn more about this file see: https://angular.io/config/tsconfig. */
+{
+  "extends": "./tsconfig.json",
+  "compilerOptions": {
+    "outDir": "./out-tsc/spec",
+    "types": [
+      "jasmine"
+    ]
+  },
+  "files": [
+    "src/test.ts",
+    "src/polyfills.ts"
+  ],
+  "include": [
+    "src/**/*.spec.ts",
+    "src/**/*.d.ts",
+    "src/app/widgets/status-widget-factory/settings.ts"
+  ]
+}
diff --git a/desktop/angular/tslint.json b/desktop/angular/tslint.json
new file mode 100644
index 00000000..eba6f798
--- /dev/null
+++ b/desktop/angular/tslint.json
@@ -0,0 +1,153 @@
+{
+  "extends": "tslint:recommended",
+  "rules": {
+    "align": {
+      "options": [
+        "parameters",
+        "statements"
+      ]
+    },
+    "array-type": false,
+    "arrow-return-shorthand": true,
+    "curly": true,
+    "deprecation": {
+      "severity": "warning"
+    },
+    "component-class-suffix": true,
+    "contextual-lifecycle": true,
+    "directive-class-suffix": true,
+    "directive-selector": [
+      true,
+      "attribute",
+      "app",
+      "camelCase"
+    ],
+    "component-selector": [
+      true,
+      "element",
+      "app",
+      "kebab-case"
+    ],
+    "eofline": true,
+    "import-blacklist": [
+      true,
+      "rxjs/Rx"
+    ],
+    "import-spacing": true,
+    "indent": {
+      "options": [
+        "spaces"
+      ]
+    },
+    "max-classes-per-file": false,
+    "max-line-length": [
+      true,
+      140
+    ],
+    "member-ordering": [
+      true,
+      {
+        "order": [
+          "static-field",
+          "instance-field",
+          "static-method",
+          "instance-method"
+        ]
+      }
+    ],
+    "no-any": true,
+    "no-console": [
+      true,
+      "debug",
+      "info",
+      "time",
+      "timeEnd",
+      "trace"
+    ],
+    "no-empty": false,
+    "no-inferrable-types": [
+      true,
+      "ignore-params"
+    ],
+    "no-non-null-assertion": true,
+    "no-redundant-jsdoc": true,
+    "no-switch-case-fall-through": true,
+    "no-var-requires": false,
+    "object-literal-key-quotes": [
+      true,
+      "as-needed"
+    ],
+    "quotemark": [
+      true,
+      "single"
+    ],
+    "semicolon": {
+      "options": [
+        "always"
+      ]
+    },
+    "space-before-function-paren": {
+      "options": {
+        "anonymous": "never",
+        "asyncArrow": "always",
+        "constructor": "never",
+        "method": "never",
+        "named": "never"
+      }
+    },
+    "typedef": [
+      true,
+      "call-signature"
+    ],
+    "typedef-whitespace": {
+      "options": [
+        {
+          "call-signature": "nospace",
+          "index-signature": "nospace",
+          "parameter": "nospace",
+          "property-declaration": "nospace",
+          "variable-declaration": "nospace"
+        },
+        {
+          "call-signature": "onespace",
+          "index-signature": "onespace",
+          "parameter": "onespace",
+          "property-declaration": "onespace",
+          "variable-declaration": "onespace"
+        }
+      ]
+    },
+    "variable-name": {
+      "options": [
+        "ban-keywords",
+        "check-format",
+        "allow-pascal-case"
+      ]
+    },
+    "whitespace": {
+      "options": [
+        "check-branch",
+        "check-decl",
+        "check-operator",
+        "check-separator",
+        "check-type",
+        "check-typecast"
+      ]
+    },
+    "no-conflicting-lifecycle": true,
+    "no-host-metadata-property": true,
+    "no-input-rename": true,
+    "no-inputs-metadata-property": true,
+    "no-output-native": true,
+    "no-output-on-prefix": true,
+    "no-output-rename": true,
+    "no-outputs-metadata-property": true,
+    "template-banana-in-box": true,
+    "template-no-negated-async": true,
+    "use-lifecycle-interface": true,
+    "use-pipe-transform-interface": true
+  },
+  "rulesDirectory": [
+    "codelyzer"
+  ]
+}
\ No newline at end of file