From 6a23132628145b698541f579a1e7a24e62866e07 Mon Sep 17 00:00:00 2001 From: xwj Date: Mon, 26 Jan 2026 14:37:40 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .browserslistrc | 3 + .editorconfig | 5 + .eslintignore | 7 + .eslintrc.js | 41 + README.md | 0 logo.png | Bin 0 -> 17885 bytes package.json | 61 + public/config/echartTest.json | 3604 +++++++++++ public/config/jzx.json | 194 + public/config/menu.json | 165 + public/config/sys-config.json | 10 + public/config/td.json | 756 +++ public/country-img/AFG.png | Bin 0 -> 1904 bytes public/country-img/AGO.png | Bin 0 -> 1652 bytes public/country-img/AIA.png | Bin 0 -> 2180 bytes public/country-img/AKU.png | Bin 0 -> 3625 bytes public/country-img/ALB.png | Bin 0 -> 2582 bytes public/country-img/AND.png | Bin 0 -> 3468 bytes public/country-img/ARE.png | Bin 0 -> 1356 bytes public/country-img/ARG.png | Bin 0 -> 2455 bytes public/country-img/ARM.png | Bin 0 -> 1146 bytes public/country-img/ASM.png | Bin 0 -> 2152 bytes public/country-img/ATG.png | Bin 0 -> 1931 bytes public/country-img/AUS.png | Bin 0 -> 4963 bytes public/country-img/AUT.png | Bin 0 -> 1176 bytes public/country-img/AZE.png | Bin 0 -> 4180 bytes public/country-img/BDI.png | Bin 0 -> 2191 bytes public/country-img/BEL.png | Bin 0 -> 1210 bytes public/country-img/BEN.png | Bin 0 -> 1221 bytes public/country-img/BFA.png | Bin 0 -> 2589 bytes public/country-img/BGD.png | Bin 0 -> 1979 bytes public/country-img/BGR.png | Bin 0 -> 1263 bytes public/country-img/BHR.png | Bin 0 -> 1273 bytes public/country-img/BHS.png | Bin 0 -> 1661 bytes public/country-img/BIH.png | Bin 0 -> 3332 bytes public/country-img/BLR.png | Bin 0 -> 2800 bytes public/country-img/BLZ.png | Bin 0 -> 2906 bytes public/country-img/BMU.png | Bin 0 -> 2445 bytes public/country-img/BOL.png | Bin 0 -> 4029 bytes public/country-img/BRA.png | Bin 0 -> 5454 bytes public/country-img/BRB.png | Bin 0 -> 3703 bytes public/country-img/BRN.png | Bin 0 -> 2977 bytes public/country-img/BTN.png | Bin 0 -> 3910 bytes public/country-img/BWA.png | Bin 0 -> 1198 bytes public/country-img/CAF.png | Bin 0 -> 2788 bytes public/country-img/CAN.png | Bin 0 -> 1500 bytes public/country-img/CCK.png | Bin 0 -> 2502 bytes public/country-img/CHA.png | Bin 0 -> 5388 bytes public/country-img/CHE.png | Bin 0 -> 1339 bytes public/country-img/CHL.png | Bin 0 -> 2662 bytes public/country-img/CHN.gif | Bin 0 -> 35449 bytes public/country-img/CHN.png | Bin 0 -> 4172 bytes public/country-img/CIV.png | Bin 0 -> 1205 bytes public/country-img/CMR.png | Bin 0 -> 1268 bytes public/country-img/COD.png | Bin 0 -> 2081 bytes public/country-img/COG.png | Bin 0 -> 1525 bytes public/country-img/COK.png | Bin 0 -> 2000 bytes public/country-img/COL.png | Bin 0 -> 1202 bytes public/country-img/COM.png | Bin 0 -> 4184 bytes public/country-img/CPV.png | Bin 0 -> 2682 bytes public/country-img/CRI.png | Bin 0 -> 2166 bytes public/country-img/CUB.png | Bin 0 -> 2581 bytes public/country-img/CXI.png | Bin 0 -> 3737 bytes public/country-img/CYM.png | Bin 0 -> 2772 bytes public/country-img/CYP.png | Bin 0 -> 2359 bytes public/country-img/CZE.png | Bin 0 -> 1466 bytes public/country-img/DEU.png | Bin 0 -> 1113 bytes public/country-img/DJI.png | Bin 0 -> 1529 bytes public/country-img/DMA.png | Bin 0 -> 4040 bytes public/country-img/DNK.png | Bin 0 -> 1235 bytes public/country-img/DOM.png | Bin 0 -> 1275 bytes public/country-img/DZA.png | Bin 0 -> 3734 bytes public/country-img/ECU.png | Bin 0 -> 1145 bytes public/country-img/EGY.png | Bin 0 -> 1529 bytes public/country-img/ERI.png | Bin 0 -> 3579 bytes public/country-img/ESH.png | Bin 0 -> 2100 bytes public/country-img/ESP.png | Bin 0 -> 4412 bytes public/country-img/EST.png | Bin 0 -> 1150 bytes public/country-img/ETH.png | Bin 0 -> 2589 bytes public/country-img/FIN.png | Bin 0 -> 1253 bytes public/country-img/FJI.png | Bin 0 -> 2601 bytes public/country-img/FLK.png | Bin 0 -> 2619 bytes public/country-img/FRA.png | Bin 0 -> 1215 bytes public/country-img/FRO.png | Bin 0 -> 1804 bytes public/country-img/FSM.png | Bin 0 -> 2479 bytes public/country-img/GAB.png | Bin 0 -> 1255 bytes public/country-img/GAF.png | Bin 0 -> 1447 bytes public/country-img/GBR.png | Bin 0 -> 3368 bytes public/country-img/GEO.png | Bin 0 -> 1198 bytes public/country-img/GHA.png | Bin 0 -> 1364 bytes public/country-img/GIB.png | Bin 0 -> 2036 bytes public/country-img/GIN.png | Bin 0 -> 1171 bytes public/country-img/GLP.png | Bin 0 -> 3948 bytes public/country-img/GLP1.png | Bin 0 -> 4150 bytes public/country-img/GMB.png | Bin 0 -> 1219 bytes public/country-img/GNB.png | Bin 0 -> 1302 bytes public/country-img/GNQ.png | Bin 0 -> 3343 bytes public/country-img/GRC.png | Bin 0 -> 2351 bytes public/country-img/GRD.png | Bin 0 -> 1844 bytes public/country-img/GRL.png | Bin 0 -> 1219 bytes public/country-img/GTM.png | Bin 0 -> 5022 bytes public/country-img/GUY.png | Bin 0 -> 1796 bytes public/country-img/HKG.png | Bin 0 -> 2479 bytes public/country-img/HND.png | Bin 0 -> 1185 bytes public/country-img/HRV.png | Bin 0 -> 2808 bytes public/country-img/HTI.png | Bin 0 -> 2736 bytes public/country-img/HUN.png | Bin 0 -> 1186 bytes public/country-img/IDN.png | Bin 0 -> 1213 bytes public/country-img/IND.png | Bin 0 -> 1682 bytes public/country-img/IRL.png | Bin 0 -> 1134 bytes public/country-img/IRN.png | Bin 0 -> 3303 bytes public/country-img/IRQ.png | Bin 0 -> 2591 bytes public/country-img/ISL.png | Bin 0 -> 3068 bytes public/country-img/ISR.png | Bin 0 -> 3994 bytes public/country-img/ITA.png | Bin 0 -> 1177 bytes public/country-img/JAM.png | Bin 0 -> 1631 bytes public/country-img/JOR.png | Bin 0 -> 1421 bytes public/country-img/JPN.png | Bin 0 -> 1267 bytes public/country-img/KAZ.png | Bin 0 -> 2644 bytes public/country-img/KEN.png | Bin 0 -> 4335 bytes public/country-img/KGZ.png | Bin 0 -> 4982 bytes public/country-img/KHM.png | Bin 0 -> 3769 bytes public/country-img/KIR.png | Bin 0 -> 1982 bytes public/country-img/KNA.png | Bin 0 -> 4459 bytes public/country-img/KOR.png | Bin 0 -> 3131 bytes public/country-img/KWT.png | Bin 0 -> 1608 bytes public/country-img/LAO.png | Bin 0 -> 1363 bytes public/country-img/LBN.png | Bin 0 -> 3349 bytes public/country-img/LBR.png | Bin 0 -> 1965 bytes public/country-img/LBY.png | Bin 0 -> 1183 bytes public/country-img/LCA.png | Bin 0 -> 2806 bytes public/country-img/LIE.png | Bin 0 -> 3152 bytes public/country-img/LKA.png | Bin 0 -> 2728 bytes public/country-img/LSO.png | Bin 0 -> 4442 bytes public/country-img/LTU.png | Bin 0 -> 1218 bytes public/country-img/LUX.png | Bin 0 -> 1207 bytes public/country-img/LVA.png | Bin 0 -> 1164 bytes public/country-img/MAC.png | Bin 0 -> 2091 bytes public/country-img/MAR.png | Bin 0 -> 2502 bytes public/country-img/MCO.png | Bin 0 -> 1266 bytes public/country-img/MDA.png | Bin 0 -> 3853 bytes public/country-img/MDG.png | Bin 0 -> 1203 bytes public/country-img/MDV.png | Bin 0 -> 1927 bytes public/country-img/MEX.png | Bin 0 -> 4359 bytes public/country-img/MHL.png | Bin 0 -> 5190 bytes public/country-img/MKD.png | Bin 0 -> 1787 bytes public/country-img/MKD1.png | Bin 0 -> 1852 bytes public/country-img/MLI.png | Bin 0 -> 1200 bytes public/country-img/MLT.png | Bin 0 -> 2086 bytes public/country-img/MMR.png | Bin 0 -> 1933 bytes public/country-img/MNE.png | Bin 0 -> 3104 bytes public/country-img/MNG.png | Bin 0 -> 1706 bytes public/country-img/MNP.png | Bin 0 -> 3494 bytes public/country-img/MOZ.png | Bin 0 -> 3669 bytes public/country-img/MRT.png | Bin 0 -> 2678 bytes public/country-img/MSR.png | Bin 0 -> 2086 bytes public/country-img/MTQ.png | Bin 0 -> 1829 bytes public/country-img/MUS.png | Bin 0 -> 1222 bytes public/country-img/MWI.png | Bin 0 -> 3820 bytes public/country-img/MYS.png | Bin 0 -> 3157 bytes public/country-img/NAM.png | Bin 0 -> 5663 bytes public/country-img/NCL.png | Bin 0 -> 5569 bytes public/country-img/NER.png | Bin 0 -> 1676 bytes public/country-img/NGA.png | Bin 0 -> 1150 bytes public/country-img/NIC.png | Bin 0 -> 2893 bytes public/country-img/NIU.png | Bin 0 -> 3982 bytes public/country-img/NLD.png | Bin 0 -> 1203 bytes public/country-img/NOR.png | Bin 0 -> 1384 bytes public/country-img/NPL.png | Bin 0 -> 2794 bytes public/country-img/NRU.png | Bin 0 -> 1876 bytes public/country-img/NZL.png | Bin 0 -> 4296 bytes public/country-img/OMN.png | Bin 0 -> 1549 bytes public/country-img/PAK.png | Bin 0 -> 2905 bytes public/country-img/PAN.png | Bin 0 -> 2204 bytes public/country-img/PCN.png | Bin 0 -> 3095 bytes public/country-img/PER.png | Bin 0 -> 1211 bytes public/country-img/PHL.png | Bin 0 -> 3535 bytes public/country-img/PLW.png | Bin 0 -> 2369 bytes public/country-img/PNG.png | Bin 0 -> 1911 bytes public/country-img/POL.png | Bin 0 -> 1265 bytes public/country-img/PRK.png | Bin 0 -> 1379 bytes public/country-img/PRT.png | Bin 0 -> 7040 bytes public/country-img/PRY.png | Bin 0 -> 3194 bytes public/country-img/PSE.png | Bin 0 -> 1898 bytes public/country-img/PYF.png | Bin 0 -> 2175 bytes public/country-img/QAT.png | Bin 0 -> 1206 bytes public/country-img/REU.png | Bin 0 -> 1199 bytes public/country-img/ROU.png | Bin 0 -> 1202 bytes public/country-img/RUS.png | Bin 0 -> 1246 bytes public/country-img/RWA.png | Bin 0 -> 1992 bytes public/country-img/SAU.png | Bin 0 -> 2692 bytes public/country-img/SDN.png | Bin 0 -> 2020 bytes public/country-img/SEN.png | Bin 0 -> 1760 bytes public/country-img/SGP.png | Bin 0 -> 2636 bytes public/country-img/SLB.png | Bin 0 -> 3556 bytes public/country-img/SLE.png | Bin 0 -> 1204 bytes public/country-img/SLV.png | Bin 0 -> 3908 bytes public/country-img/SMR.png | Bin 0 -> 2820 bytes public/country-img/SOM.png | Bin 0 -> 2206 bytes public/country-img/SRB.png | Bin 0 -> 2684 bytes public/country-img/STP.png | Bin 0 -> 2316 bytes public/country-img/SUR.png | Bin 0 -> 2001 bytes public/country-img/SVK.png | Bin 0 -> 3205 bytes public/country-img/SVN.png | Bin 0 -> 2643 bytes public/country-img/SWE.png | Bin 0 -> 1294 bytes public/country-img/SWZ.png | Bin 0 -> 4492 bytes public/country-img/SYC.png | Bin 0 -> 2465 bytes public/country-img/SYR.png | Bin 0 -> 2225 bytes public/country-img/TCA.png | Bin 0 -> 2077 bytes public/country-img/TCD.png | Bin 0 -> 1182 bytes public/country-img/TGO.png | Bin 0 -> 1409 bytes public/country-img/THA.png | Bin 0 -> 2231 bytes public/country-img/TJK.png | Bin 0 -> 2145 bytes public/country-img/TKM.png | Bin 0 -> 2570 bytes public/country-img/TON.png | Bin 0 -> 1309 bytes public/country-img/TTO.png | Bin 0 -> 1822 bytes public/country-img/TUN.png | Bin 0 -> 2972 bytes public/country-img/TUR.png | Bin 0 -> 1325 bytes public/country-img/TUV.png | Bin 0 -> 4201 bytes public/country-img/TWN.png | Bin 0 -> 4028 bytes public/country-img/TZA.png | Bin 0 -> 3828 bytes public/country-img/UGA.png | Bin 0 -> 1732 bytes public/country-img/UKR.png | Bin 0 -> 1262 bytes public/country-img/URY.png | Bin 0 -> 4784 bytes public/country-img/USA.png | Bin 0 -> 4990 bytes public/country-img/UZB.png | Bin 0 -> 2308 bytes public/country-img/VAT.png | Bin 0 -> 3323 bytes public/country-img/VCT.png | Bin 0 -> 2418 bytes public/country-img/VEN.png | Bin 0 -> 3918 bytes public/country-img/VGB.png | Bin 0 -> 2630 bytes public/country-img/VIR.png | Bin 0 -> 4282 bytes public/country-img/VNM.png | Bin 0 -> 1261 bytes public/country-img/VUT.png | Bin 0 -> 4293 bytes public/country-img/WLF.png | Bin 0 -> 1199 bytes public/country-img/WSM.png | Bin 0 -> 1966 bytes public/country-img/YEM.png | Bin 0 -> 1842 bytes public/country-img/ZAF.png | Bin 0 -> 3078 bytes public/country-img/ZMB.png | Bin 0 -> 2879 bytes public/country-img/ZWE.png | Bin 0 -> 3221 bytes public/country-img/undefined.png | Bin 0 -> 2997 bytes public/drawArea/duobianxing.png | Bin 0 -> 376 bytes public/drawArea/juxing.png | Bin 0 -> 302 bytes public/drawArea/yuan.png | Bin 0 -> 296 bytes public/img/All-Fleets.png | Bin 0 -> 401 bytes public/img/Map-Selection.png | Bin 0 -> 364 bytes public/img/Search-History.png | Bin 0 -> 300 bytes public/img/Ship-Movement.png | Bin 0 -> 325 bytes public/img/Voyage-History.png | Bin 0 -> 370 bytes public/img/Voyage.png | Bin 0 -> 423 bytes public/img/Weather.png | Bin 0 -> 393 bytes public/img/add.png | Bin 0 -> 6264 bytes public/img/blue.png | Bin 0 -> 895 bytes public/img/car.svg | 1 + public/img/daosanjiao.svg | 12 + public/img/del.png | Bin 0 -> 5767 bytes public/img/delay.png | Bin 0 -> 8257 bytes public/img/draw-point.png | Bin 0 -> 9034 bytes public/img/duobianxing.png | Bin 0 -> 376 bytes public/img/end.png | Bin 0 -> 2360 bytes public/img/eye-close.png | Bin 0 -> 7712 bytes public/img/eye-open.png | Bin 0 -> 6154 bytes public/img/go-right.png | Bin 0 -> 3346 bytes public/img/guiji.png | Bin 0 -> 276 bytes public/img/guiji.svg | 37 + public/img/jiantou.png | Bin 0 -> 476 bytes public/img/jizhuangxiang.png | Bin 0 -> 297 bytes public/img/juxing.png | Bin 0 -> 302 bytes public/img/kuang.png | Bin 0 -> 186 bytes public/img/laba.png | Bin 0 -> 461 bytes public/img/line.png | Bin 0 -> 935 bytes public/img/logo.png | Bin 0 -> 17885 bytes public/img/logo.svg | 1 + public/img/logo1.png | Bin 0 -> 9694 bytes public/img/mao_ico.png | Bin 0 -> 520 bytes public/img/marineWeather.png | Bin 0 -> 289 bytes public/img/marineWeather.svg | 1 + public/img/point.png | Bin 0 -> 2114 bytes public/img/port.png | Bin 0 -> 1442 bytes public/img/portIcon.png | Bin 0 -> 6433 bytes public/img/portMenu.png | Bin 0 -> 362 bytes public/img/pos.png | Bin 0 -> 8260 bytes public/img/search-port.svg | 14 + public/img/search-ship.svg | 16 + public/img/select.png | Bin 0 -> 1084 bytes public/img/shipAgency.png | Bin 0 -> 18300 bytes public/img/shipAgencybak230302.png | Bin 0 -> 16624 bytes public/img/shipIcon.png | Bin 0 -> 7131 bytes public/img/ship_ico.png | Bin 0 -> 565 bytes public/img/start.png | Bin 0 -> 2349 bytes public/img/time.png | Bin 0 -> 292 bytes public/img/time.svg | 36 + public/img/tool.png | Bin 0 -> 364 bytes public/img/tool.svg | 35 + public/img/tt_b3.png | Bin 0 -> 1174 bytes public/img/typhoonLegend.png | Bin 0 -> 19308 bytes public/img/yuan.png | Bin 0 -> 296 bytes public/index.html | 13 + public/logo.png | Bin 0 -> 11347 bytes public/menu-icon/allShips.svg | 24 + public/menu-icon/areaList.svg | 25 + public/menu-icon/dataAnalysis.svg | 28 + public/menu-icon/guiji.svg | 27 + public/menu-icon/jizhuangxiang.png | Bin 0 -> 297 bytes public/menu-icon/mapTool.svg | 27 + public/menu-icon/port3.png | Bin 0 -> 403 bytes public/menu-icon/port4.png | Bin 0 -> 339 bytes public/menu-icon/portInfo.png | Bin 0 -> 310 bytes public/menu-icon/route.svg | 18 + public/menu-icon/searchHistory.svg | 25 + public/menu-icon/weather.png | Bin 0 -> 305 bytes public/menu-icon/weather.svg | 14 + public/real-info-icon/horn.svg | 43 + src/App.vue | 32 + src/ErrorApp.vue | 29 + src/api/data-analysis/index.ts | 25 + src/api/data-analysis/jsencrypt.js | 5372 +++++++++++++++++ src/api/index.ts | 674 +++ src/components/arrive-leave-query/index.vue | 1066 ++++ src/components/dialog/index.vue | 193 + src/components/header/index.vue | 179 + src/components/menu/analysis.ts | 96 + src/components/menu/index.vue | 68 + src/components/menu/menu-item/index.vue | 170 + src/components/menu/menu-temp/index.vue | 57 + src/components/menu/style.css | 6 + src/components/menu/submenu-item/index.vue | 57 + .../on-map-view/MapBottomMousePos.vue | 34 + .../on-map-view/MapBottomShipType.vue | 78 + src/components/on-map-view/MiniBox.vue | 91 + src/components/on-map-view/OnClickWeather.vue | 82 + src/components/on-map-view/PortHoverView.vue | 45 + src/components/on-map-view/ShipHoverView.vue | 52 + src/components/on-map-view/TrackHoverView.vue | 49 + src/components/on-map-view/ViewAllPort.vue | 147 + .../real-time-info/realTimeInfo.vue | 111 + src/components/search/index.vue | 338 ++ src/components/ship-fleet/index.vue | 89 + src/components/table/index.vue | 102 + src/css/element/index.scss | 454 ++ src/css/element/source-index.css | 1 + src/css/global/index.scss | 157 + src/css/index.css | 24 + src/css/message/index.scss | 3 + src/css/vxe-table/index.scss | 138 + src/css/vxe-table/source-index.css | 1 + src/font-icon/demo.css | 539 ++ src/font-icon/demo_index.html | 901 +++ src/font-icon/iconfont.css | 139 + src/font-icon/iconfont.js | 1 + src/font-icon/iconfont.json | 226 + src/font-icon/iconfont.ttf | Bin 0 -> 9644 bytes src/font-icon/iconfont.woff | Bin 0 -> 6444 bytes src/font-icon/iconfont.woff2 | Bin 0 -> 5496 bytes src/main.ts | 60 + src/module/menu.ts | 39 + src/router/index.ts | 25 + src/shims-tsx.d.ts | 11 + src/shims-vue.d.ts | 4 + src/store/index.ts | 38 + src/util/axios/index.ts | 12 + src/util/bus/index.ts | 5 + src/util/date/index.ts | 113 + src/util/drawMixin.js | 57 + src/util/excel/exporeExcel.ts | 34 + src/util/filters/filters.js | 78 + src/util/filters/index.js | 6 + src/util/fix/index.ts | 4 + src/util/format/index.ts | 30 + src/util/fun-switch/index.ts | 36 + src/util/init-data/index.ts | 99 + src/util/map/img/berth.png | Bin 0 -> 920 bytes src/util/map/img/blue.png | Bin 0 -> 895 bytes src/util/map/img/duobianxing.png | Bin 0 -> 376 bytes src/util/map/img/end.png | Bin 0 -> 2360 bytes src/util/map/img/guiji.png | Bin 0 -> 276 bytes src/util/map/img/juxing.png | Bin 0 -> 302 bytes src/util/map/img/kuang.png | Bin 0 -> 186 bytes src/util/map/img/laba.png | Bin 0 -> 461 bytes src/util/map/img/line.png | Bin 0 -> 935 bytes src/util/map/img/logo.png | Bin 0 -> 17885 bytes src/util/map/img/logo1.png | Bin 0 -> 9694 bytes src/util/map/img/marineWeather.png | Bin 0 -> 289 bytes src/util/map/img/marineWeather.svg | 1 + src/util/map/img/port.png | Bin 0 -> 1442 bytes src/util/map/img/select.png | Bin 0 -> 1084 bytes src/util/map/img/shipAgency.png | Bin 0 -> 16624 bytes src/util/map/img/shipWarningIcon.png | Bin 0 -> 7086 bytes src/util/map/img/start.png | Bin 0 -> 2349 bytes src/util/map/img/time.png | Bin 0 -> 292 bytes src/util/map/img/tool.png | Bin 0 -> 364 bytes src/util/map/img/tool.svg | 35 + src/util/map/img/tt_b3.png | Bin 0 -> 1174 bytes src/util/map/img/yuan.png | Bin 0 -> 296 bytes src/util/map/index.ts | 22 + src/util/map/map.d.ts | 4 + src/util/map/map.js | 3039 ++++++++++ src/util/map/style.js | 637 ++ src/util/message/index.ts | 45 + src/util/mini/index.ts | 46 + src/util/new-dialog/index.ts | 128 + src/util/store/index.ts | 107 + src/util/temp-interface/index.ts | 31 + src/util/tool/index.ts | 274 + src/util/translate/index.ts | 40 + src/util/translate/lang/en.json | 420 ++ src/util/translate/lang/zh.json | 420 ++ src/util/vue-global/index.ts | 47 + src/views/index-c.html | 72 + src/views/layout/Layout.vue | 84 + src/views/main/Main.vue | 444 ++ src/views/new-dialog/AreaListTemp.vue | 75 + src/views/new-dialog/ArriveLeaveQueryTemp.vue | 95 + src/views/new-dialog/CarInfoTemp.vue | 76 + src/views/new-dialog/CarListTemp.vue | 75 + src/views/new-dialog/CarTrackRecordTemp.vue | 68 + src/views/new-dialog/ContainerQueryTemp.vue | 75 + src/views/new-dialog/DataAnalysisTemp.vue | 75 + src/views/new-dialog/DepartureInquiryTemp.vue | 95 + src/views/new-dialog/ExpectedArrivalTemp.vue | 95 + src/views/new-dialog/MapToolTemp.vue | 76 + src/views/new-dialog/MessageListTemp.vue | 76 + src/views/new-dialog/NotanTemp.vue | 75 + src/views/new-dialog/NumberOfBerthsTemp.vue | 76 + src/views/new-dialog/PointToPointResTemp.vue | 75 + src/views/new-dialog/PortOfCallTemp.vue | 74 + src/views/new-dialog/PortQueryTemp.vue | 67 + src/views/new-dialog/RouteQueryTemp.vue | 75 + src/views/new-dialog/RouteYcTemp.vue | 74 + src/views/new-dialog/SearchListTemp.vue | 76 + src/views/new-dialog/ShipEventTemp.vue | 75 + src/views/new-dialog/ShipInBerthTemp.vue | 74 + src/views/new-dialog/ShipInfoTemp.vue | 76 + src/views/new-dialog/ShipRanksTemp.vue | 75 + src/views/new-dialog/TrackRecordLogTemp.vue | 77 + src/views/new-dialog/TrackRecordTemp.vue | 68 + src/views/new-dialog/WeatherImgTemp.vue | 74 + src/views/new-dialog/WeatherTemp.vue | 75 + src/views/on-map-view/AreaList.vue | 889 +++ src/views/on-map-view/CarInfo.vue | 127 + src/views/on-map-view/CarList.vue | 127 + src/views/on-map-view/CarTrackRecord.vue | 422 ++ src/views/on-map-view/ContainerQuery.vue | 769 +++ src/views/on-map-view/DataAnalysis.vue | 61 + src/views/on-map-view/MapTool.vue | 253 + src/views/on-map-view/MessageList.vue | 237 + src/views/on-map-view/Notan.vue | 343 ++ src/views/on-map-view/NumberOfBerths.vue | 308 + src/views/on-map-view/PointToPoint.vue | 219 + src/views/on-map-view/PointToPointRes.vue | 273 + src/views/on-map-view/PortOfCall.vue | 195 + src/views/on-map-view/PortQuery.vue | 896 +++ src/views/on-map-view/RouteQuery.vue | 759 +++ src/views/on-map-view/RouteYc.vue | 169 + src/views/on-map-view/SearchList.vue | 178 + src/views/on-map-view/ShipEvent.vue | 203 + src/views/on-map-view/ShipInBerth.vue | 163 + src/views/on-map-view/ShipInfo.vue | 1214 ++++ src/views/on-map-view/ShipRanks.vue | 393 ++ src/views/on-map-view/TrackRecord.vue | 432 ++ src/views/on-map-view/TrackRecordLog.vue | 186 + src/views/on-map-view/Weather.vue | 456 ++ src/views/on-map-view/WeatherImage.vue | 205 + tsconfig.json | 42 + vue.config.js | 50 + 464 files changed, 35252 insertions(+) create mode 100644 .browserslistrc create mode 100644 .editorconfig create mode 100644 .eslintignore create mode 100644 .eslintrc.js create mode 100644 README.md create mode 100644 logo.png create mode 100644 package.json create mode 100644 public/config/echartTest.json create mode 100644 public/config/jzx.json create mode 100644 public/config/menu.json create mode 100644 public/config/sys-config.json create mode 100644 public/config/td.json create mode 100644 public/country-img/AFG.png create mode 100644 public/country-img/AGO.png create mode 100644 public/country-img/AIA.png create mode 100644 public/country-img/AKU.png create mode 100644 public/country-img/ALB.png create mode 100644 public/country-img/AND.png create mode 100644 public/country-img/ARE.png create mode 100644 public/country-img/ARG.png create mode 100644 public/country-img/ARM.png create mode 100644 public/country-img/ASM.png create mode 100644 public/country-img/ATG.png create mode 100644 public/country-img/AUS.png create mode 100644 public/country-img/AUT.png create mode 100644 public/country-img/AZE.png create mode 100644 public/country-img/BDI.png create mode 100644 public/country-img/BEL.png create mode 100644 public/country-img/BEN.png create mode 100644 public/country-img/BFA.png create mode 100644 public/country-img/BGD.png create mode 100644 public/country-img/BGR.png create mode 100644 public/country-img/BHR.png create mode 100644 public/country-img/BHS.png create mode 100644 public/country-img/BIH.png create mode 100644 public/country-img/BLR.png create mode 100644 public/country-img/BLZ.png create mode 100644 public/country-img/BMU.png create mode 100644 public/country-img/BOL.png create mode 100644 public/country-img/BRA.png create mode 100644 public/country-img/BRB.png create mode 100644 public/country-img/BRN.png create mode 100644 public/country-img/BTN.png create mode 100644 public/country-img/BWA.png create mode 100644 public/country-img/CAF.png create mode 100644 public/country-img/CAN.png create mode 100644 public/country-img/CCK.png create mode 100644 public/country-img/CHA.png create mode 100644 public/country-img/CHE.png create mode 100644 public/country-img/CHL.png create mode 100644 public/country-img/CHN.gif create mode 100644 public/country-img/CHN.png create mode 100644 public/country-img/CIV.png create mode 100644 public/country-img/CMR.png create mode 100644 public/country-img/COD.png create mode 100644 public/country-img/COG.png create mode 100644 public/country-img/COK.png create mode 100644 public/country-img/COL.png create mode 100644 public/country-img/COM.png create mode 100644 public/country-img/CPV.png create mode 100644 public/country-img/CRI.png create mode 100644 public/country-img/CUB.png create mode 100644 public/country-img/CXI.png create mode 100644 public/country-img/CYM.png create mode 100644 public/country-img/CYP.png create mode 100644 public/country-img/CZE.png create mode 100644 public/country-img/DEU.png create mode 100644 public/country-img/DJI.png create mode 100644 public/country-img/DMA.png create mode 100644 public/country-img/DNK.png create mode 100644 public/country-img/DOM.png create mode 100644 public/country-img/DZA.png create mode 100644 public/country-img/ECU.png create mode 100644 public/country-img/EGY.png create mode 100644 public/country-img/ERI.png create mode 100644 public/country-img/ESH.png create mode 100644 public/country-img/ESP.png create mode 100644 public/country-img/EST.png create mode 100644 public/country-img/ETH.png create mode 100644 public/country-img/FIN.png create mode 100644 public/country-img/FJI.png create mode 100644 public/country-img/FLK.png create mode 100644 public/country-img/FRA.png create mode 100644 public/country-img/FRO.png create mode 100644 public/country-img/FSM.png create mode 100644 public/country-img/GAB.png create mode 100644 public/country-img/GAF.png create mode 100644 public/country-img/GBR.png create mode 100644 public/country-img/GEO.png create mode 100644 public/country-img/GHA.png create mode 100644 public/country-img/GIB.png create mode 100644 public/country-img/GIN.png create mode 100644 public/country-img/GLP.png create mode 100644 public/country-img/GLP1.png create mode 100644 public/country-img/GMB.png create mode 100644 public/country-img/GNB.png create mode 100644 public/country-img/GNQ.png create mode 100644 public/country-img/GRC.png create mode 100644 public/country-img/GRD.png create mode 100644 public/country-img/GRL.png create mode 100644 public/country-img/GTM.png create mode 100644 public/country-img/GUY.png create mode 100644 public/country-img/HKG.png create mode 100644 public/country-img/HND.png create mode 100644 public/country-img/HRV.png create mode 100644 public/country-img/HTI.png create mode 100644 public/country-img/HUN.png create mode 100644 public/country-img/IDN.png create mode 100644 public/country-img/IND.png create mode 100644 public/country-img/IRL.png create mode 100644 public/country-img/IRN.png create mode 100644 public/country-img/IRQ.png create mode 100644 public/country-img/ISL.png create mode 100644 public/country-img/ISR.png create mode 100644 public/country-img/ITA.png create mode 100644 public/country-img/JAM.png create mode 100644 public/country-img/JOR.png create mode 100644 public/country-img/JPN.png create mode 100644 public/country-img/KAZ.png create mode 100644 public/country-img/KEN.png create mode 100644 public/country-img/KGZ.png create mode 100644 public/country-img/KHM.png create mode 100644 public/country-img/KIR.png create mode 100644 public/country-img/KNA.png create mode 100644 public/country-img/KOR.png create mode 100644 public/country-img/KWT.png create mode 100644 public/country-img/LAO.png create mode 100644 public/country-img/LBN.png create mode 100644 public/country-img/LBR.png create mode 100644 public/country-img/LBY.png create mode 100644 public/country-img/LCA.png create mode 100644 public/country-img/LIE.png create mode 100644 public/country-img/LKA.png create mode 100644 public/country-img/LSO.png create mode 100644 public/country-img/LTU.png create mode 100644 public/country-img/LUX.png create mode 100644 public/country-img/LVA.png create mode 100644 public/country-img/MAC.png create mode 100644 public/country-img/MAR.png create mode 100644 public/country-img/MCO.png create mode 100644 public/country-img/MDA.png create mode 100644 public/country-img/MDG.png create mode 100644 public/country-img/MDV.png create mode 100644 public/country-img/MEX.png create mode 100644 public/country-img/MHL.png create mode 100644 public/country-img/MKD.png create mode 100644 public/country-img/MKD1.png create mode 100644 public/country-img/MLI.png create mode 100644 public/country-img/MLT.png create mode 100644 public/country-img/MMR.png create mode 100644 public/country-img/MNE.png create mode 100644 public/country-img/MNG.png create mode 100644 public/country-img/MNP.png create mode 100644 public/country-img/MOZ.png create mode 100644 public/country-img/MRT.png create mode 100644 public/country-img/MSR.png create mode 100644 public/country-img/MTQ.png create mode 100644 public/country-img/MUS.png create mode 100644 public/country-img/MWI.png create mode 100644 public/country-img/MYS.png create mode 100644 public/country-img/NAM.png create mode 100644 public/country-img/NCL.png create mode 100644 public/country-img/NER.png create mode 100644 public/country-img/NGA.png create mode 100644 public/country-img/NIC.png create mode 100644 public/country-img/NIU.png create mode 100644 public/country-img/NLD.png create mode 100644 public/country-img/NOR.png create mode 100644 public/country-img/NPL.png create mode 100644 public/country-img/NRU.png create mode 100644 public/country-img/NZL.png create mode 100644 public/country-img/OMN.png create mode 100644 public/country-img/PAK.png create mode 100644 public/country-img/PAN.png create mode 100644 public/country-img/PCN.png create mode 100644 public/country-img/PER.png create mode 100644 public/country-img/PHL.png create mode 100644 public/country-img/PLW.png create mode 100644 public/country-img/PNG.png create mode 100644 public/country-img/POL.png create mode 100644 public/country-img/PRK.png create mode 100644 public/country-img/PRT.png create mode 100644 public/country-img/PRY.png create mode 100644 public/country-img/PSE.png create mode 100644 public/country-img/PYF.png create mode 100644 public/country-img/QAT.png create mode 100644 public/country-img/REU.png create mode 100644 public/country-img/ROU.png create mode 100644 public/country-img/RUS.png create mode 100644 public/country-img/RWA.png create mode 100644 public/country-img/SAU.png create mode 100644 public/country-img/SDN.png create mode 100644 public/country-img/SEN.png create mode 100644 public/country-img/SGP.png create mode 100644 public/country-img/SLB.png create mode 100644 public/country-img/SLE.png create mode 100644 public/country-img/SLV.png create mode 100644 public/country-img/SMR.png create mode 100644 public/country-img/SOM.png create mode 100644 public/country-img/SRB.png create mode 100644 public/country-img/STP.png create mode 100644 public/country-img/SUR.png create mode 100644 public/country-img/SVK.png create mode 100644 public/country-img/SVN.png create mode 100644 public/country-img/SWE.png create mode 100644 public/country-img/SWZ.png create mode 100644 public/country-img/SYC.png create mode 100644 public/country-img/SYR.png create mode 100644 public/country-img/TCA.png create mode 100644 public/country-img/TCD.png create mode 100644 public/country-img/TGO.png create mode 100644 public/country-img/THA.png create mode 100644 public/country-img/TJK.png create mode 100644 public/country-img/TKM.png create mode 100644 public/country-img/TON.png create mode 100644 public/country-img/TTO.png create mode 100644 public/country-img/TUN.png create mode 100644 public/country-img/TUR.png create mode 100644 public/country-img/TUV.png create mode 100644 public/country-img/TWN.png create mode 100644 public/country-img/TZA.png create mode 100644 public/country-img/UGA.png create mode 100644 public/country-img/UKR.png create mode 100644 public/country-img/URY.png create mode 100644 public/country-img/USA.png create mode 100644 public/country-img/UZB.png create mode 100644 public/country-img/VAT.png create mode 100644 public/country-img/VCT.png create mode 100644 public/country-img/VEN.png create mode 100644 public/country-img/VGB.png create mode 100644 public/country-img/VIR.png create mode 100644 public/country-img/VNM.png create mode 100644 public/country-img/VUT.png create mode 100644 public/country-img/WLF.png create mode 100644 public/country-img/WSM.png create mode 100644 public/country-img/YEM.png create mode 100644 public/country-img/ZAF.png create mode 100644 public/country-img/ZMB.png create mode 100644 public/country-img/ZWE.png create mode 100644 public/country-img/undefined.png create mode 100644 public/drawArea/duobianxing.png create mode 100644 public/drawArea/juxing.png create mode 100644 public/drawArea/yuan.png create mode 100644 public/img/All-Fleets.png create mode 100644 public/img/Map-Selection.png create mode 100644 public/img/Search-History.png create mode 100644 public/img/Ship-Movement.png create mode 100644 public/img/Voyage-History.png create mode 100644 public/img/Voyage.png create mode 100644 public/img/Weather.png create mode 100644 public/img/add.png create mode 100644 public/img/blue.png create mode 100644 public/img/car.svg create mode 100644 public/img/daosanjiao.svg create mode 100644 public/img/del.png create mode 100644 public/img/delay.png create mode 100644 public/img/draw-point.png create mode 100644 public/img/duobianxing.png create mode 100644 public/img/end.png create mode 100644 public/img/eye-close.png create mode 100644 public/img/eye-open.png create mode 100644 public/img/go-right.png create mode 100644 public/img/guiji.png create mode 100644 public/img/guiji.svg create mode 100644 public/img/jiantou.png create mode 100644 public/img/jizhuangxiang.png create mode 100644 public/img/juxing.png create mode 100644 public/img/kuang.png create mode 100644 public/img/laba.png create mode 100644 public/img/line.png create mode 100644 public/img/logo.png create mode 100644 public/img/logo.svg create mode 100644 public/img/logo1.png create mode 100644 public/img/mao_ico.png create mode 100644 public/img/marineWeather.png create mode 100644 public/img/marineWeather.svg create mode 100644 public/img/point.png create mode 100644 public/img/port.png create mode 100644 public/img/portIcon.png create mode 100644 public/img/portMenu.png create mode 100644 public/img/pos.png create mode 100644 public/img/search-port.svg create mode 100644 public/img/search-ship.svg create mode 100644 public/img/select.png create mode 100644 public/img/shipAgency.png create mode 100644 public/img/shipAgencybak230302.png create mode 100644 public/img/shipIcon.png create mode 100644 public/img/ship_ico.png create mode 100644 public/img/start.png create mode 100644 public/img/time.png create mode 100644 public/img/time.svg create mode 100644 public/img/tool.png create mode 100644 public/img/tool.svg create mode 100644 public/img/tt_b3.png create mode 100644 public/img/typhoonLegend.png create mode 100644 public/img/yuan.png create mode 100644 public/index.html create mode 100644 public/logo.png create mode 100644 public/menu-icon/allShips.svg create mode 100644 public/menu-icon/areaList.svg create mode 100644 public/menu-icon/dataAnalysis.svg create mode 100644 public/menu-icon/guiji.svg create mode 100644 public/menu-icon/jizhuangxiang.png create mode 100644 public/menu-icon/mapTool.svg create mode 100644 public/menu-icon/port3.png create mode 100644 public/menu-icon/port4.png create mode 100644 public/menu-icon/portInfo.png create mode 100644 public/menu-icon/route.svg create mode 100644 public/menu-icon/searchHistory.svg create mode 100644 public/menu-icon/weather.png create mode 100644 public/menu-icon/weather.svg create mode 100644 public/real-info-icon/horn.svg create mode 100644 src/App.vue create mode 100644 src/ErrorApp.vue create mode 100644 src/api/data-analysis/index.ts create mode 100644 src/api/data-analysis/jsencrypt.js create mode 100644 src/api/index.ts create mode 100644 src/components/arrive-leave-query/index.vue create mode 100644 src/components/dialog/index.vue create mode 100644 src/components/header/index.vue create mode 100644 src/components/menu/analysis.ts create mode 100644 src/components/menu/index.vue create mode 100644 src/components/menu/menu-item/index.vue create mode 100644 src/components/menu/menu-temp/index.vue create mode 100644 src/components/menu/style.css create mode 100644 src/components/menu/submenu-item/index.vue create mode 100644 src/components/on-map-view/MapBottomMousePos.vue create mode 100644 src/components/on-map-view/MapBottomShipType.vue create mode 100644 src/components/on-map-view/MiniBox.vue create mode 100644 src/components/on-map-view/OnClickWeather.vue create mode 100644 src/components/on-map-view/PortHoverView.vue create mode 100644 src/components/on-map-view/ShipHoverView.vue create mode 100644 src/components/on-map-view/TrackHoverView.vue create mode 100644 src/components/on-map-view/ViewAllPort.vue create mode 100644 src/components/real-time-info/realTimeInfo.vue create mode 100644 src/components/search/index.vue create mode 100644 src/components/ship-fleet/index.vue create mode 100644 src/components/table/index.vue create mode 100644 src/css/element/index.scss create mode 100644 src/css/element/source-index.css create mode 100644 src/css/global/index.scss create mode 100644 src/css/index.css create mode 100644 src/css/message/index.scss create mode 100644 src/css/vxe-table/index.scss create mode 100644 src/css/vxe-table/source-index.css create mode 100644 src/font-icon/demo.css create mode 100644 src/font-icon/demo_index.html create mode 100644 src/font-icon/iconfont.css create mode 100644 src/font-icon/iconfont.js create mode 100644 src/font-icon/iconfont.json create mode 100644 src/font-icon/iconfont.ttf create mode 100644 src/font-icon/iconfont.woff create mode 100644 src/font-icon/iconfont.woff2 create mode 100644 src/main.ts create mode 100644 src/module/menu.ts create mode 100644 src/router/index.ts create mode 100644 src/shims-tsx.d.ts create mode 100644 src/shims-vue.d.ts create mode 100644 src/store/index.ts create mode 100644 src/util/axios/index.ts create mode 100644 src/util/bus/index.ts create mode 100644 src/util/date/index.ts create mode 100644 src/util/drawMixin.js create mode 100644 src/util/excel/exporeExcel.ts create mode 100644 src/util/filters/filters.js create mode 100644 src/util/filters/index.js create mode 100644 src/util/fix/index.ts create mode 100644 src/util/format/index.ts create mode 100644 src/util/fun-switch/index.ts create mode 100644 src/util/init-data/index.ts create mode 100644 src/util/map/img/berth.png create mode 100644 src/util/map/img/blue.png create mode 100644 src/util/map/img/duobianxing.png create mode 100644 src/util/map/img/end.png create mode 100644 src/util/map/img/guiji.png create mode 100644 src/util/map/img/juxing.png create mode 100644 src/util/map/img/kuang.png create mode 100644 src/util/map/img/laba.png create mode 100644 src/util/map/img/line.png create mode 100644 src/util/map/img/logo.png create mode 100644 src/util/map/img/logo1.png create mode 100644 src/util/map/img/marineWeather.png create mode 100644 src/util/map/img/marineWeather.svg create mode 100644 src/util/map/img/port.png create mode 100644 src/util/map/img/select.png create mode 100644 src/util/map/img/shipAgency.png create mode 100644 src/util/map/img/shipWarningIcon.png create mode 100644 src/util/map/img/start.png create mode 100644 src/util/map/img/time.png create mode 100644 src/util/map/img/tool.png create mode 100644 src/util/map/img/tool.svg create mode 100644 src/util/map/img/tt_b3.png create mode 100644 src/util/map/img/yuan.png create mode 100644 src/util/map/index.ts create mode 100644 src/util/map/map.d.ts create mode 100644 src/util/map/map.js create mode 100644 src/util/map/style.js create mode 100644 src/util/message/index.ts create mode 100644 src/util/mini/index.ts create mode 100644 src/util/new-dialog/index.ts create mode 100644 src/util/store/index.ts create mode 100644 src/util/temp-interface/index.ts create mode 100644 src/util/tool/index.ts create mode 100644 src/util/translate/index.ts create mode 100644 src/util/translate/lang/en.json create mode 100644 src/util/translate/lang/zh.json create mode 100644 src/util/vue-global/index.ts create mode 100644 src/views/index-c.html create mode 100644 src/views/layout/Layout.vue create mode 100644 src/views/main/Main.vue create mode 100644 src/views/new-dialog/AreaListTemp.vue create mode 100644 src/views/new-dialog/ArriveLeaveQueryTemp.vue create mode 100644 src/views/new-dialog/CarInfoTemp.vue create mode 100644 src/views/new-dialog/CarListTemp.vue create mode 100644 src/views/new-dialog/CarTrackRecordTemp.vue create mode 100644 src/views/new-dialog/ContainerQueryTemp.vue create mode 100644 src/views/new-dialog/DataAnalysisTemp.vue create mode 100644 src/views/new-dialog/DepartureInquiryTemp.vue create mode 100644 src/views/new-dialog/ExpectedArrivalTemp.vue create mode 100644 src/views/new-dialog/MapToolTemp.vue create mode 100644 src/views/new-dialog/MessageListTemp.vue create mode 100644 src/views/new-dialog/NotanTemp.vue create mode 100644 src/views/new-dialog/NumberOfBerthsTemp.vue create mode 100644 src/views/new-dialog/PointToPointResTemp.vue create mode 100644 src/views/new-dialog/PortOfCallTemp.vue create mode 100644 src/views/new-dialog/PortQueryTemp.vue create mode 100644 src/views/new-dialog/RouteQueryTemp.vue create mode 100644 src/views/new-dialog/RouteYcTemp.vue create mode 100644 src/views/new-dialog/SearchListTemp.vue create mode 100644 src/views/new-dialog/ShipEventTemp.vue create mode 100644 src/views/new-dialog/ShipInBerthTemp.vue create mode 100644 src/views/new-dialog/ShipInfoTemp.vue create mode 100644 src/views/new-dialog/ShipRanksTemp.vue create mode 100644 src/views/new-dialog/TrackRecordLogTemp.vue create mode 100644 src/views/new-dialog/TrackRecordTemp.vue create mode 100644 src/views/new-dialog/WeatherImgTemp.vue create mode 100644 src/views/new-dialog/WeatherTemp.vue create mode 100644 src/views/on-map-view/AreaList.vue create mode 100644 src/views/on-map-view/CarInfo.vue create mode 100644 src/views/on-map-view/CarList.vue create mode 100644 src/views/on-map-view/CarTrackRecord.vue create mode 100644 src/views/on-map-view/ContainerQuery.vue create mode 100644 src/views/on-map-view/DataAnalysis.vue create mode 100644 src/views/on-map-view/MapTool.vue create mode 100644 src/views/on-map-view/MessageList.vue create mode 100644 src/views/on-map-view/Notan.vue create mode 100644 src/views/on-map-view/NumberOfBerths.vue create mode 100644 src/views/on-map-view/PointToPoint.vue create mode 100644 src/views/on-map-view/PointToPointRes.vue create mode 100644 src/views/on-map-view/PortOfCall.vue create mode 100644 src/views/on-map-view/PortQuery.vue create mode 100644 src/views/on-map-view/RouteQuery.vue create mode 100644 src/views/on-map-view/RouteYc.vue create mode 100644 src/views/on-map-view/SearchList.vue create mode 100644 src/views/on-map-view/ShipEvent.vue create mode 100644 src/views/on-map-view/ShipInBerth.vue create mode 100644 src/views/on-map-view/ShipInfo.vue create mode 100644 src/views/on-map-view/ShipRanks.vue create mode 100644 src/views/on-map-view/TrackRecord.vue create mode 100644 src/views/on-map-view/TrackRecordLog.vue create mode 100644 src/views/on-map-view/Weather.vue create mode 100644 src/views/on-map-view/WeatherImage.vue create mode 100644 tsconfig.json create mode 100644 vue.config.js diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 0000000..214388f --- /dev/null +++ b/.browserslistrc @@ -0,0 +1,3 @@ +> 1% +last 2 versions +not dead diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..7053c49 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,5 @@ +[*.{js,jsx,ts,tsx,vue}] +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true +insert_final_newline = true diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..0235c61 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,7 @@ +/src/util/map/*.js +/src/util/map/*.ts +/src/util/dialog/*.js +/src/util/filters/*.js +/src/api/data-analysis/** +/node_modules +/dist diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..9ba8d47 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,41 @@ +module.exports = { + root: true, + env: { + node: true + }, + extends: ['plugin:vue/essential', '@vue/standard', '@vue/typescript/recommended'], + parserOptions: { + ecmaVersion: 2020, + sourceType: 'module' + }, + rules: { + // 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', + 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', + semi: 0, + 'comma-spacing': 0, + 'object-curly-spacing': 0, + indent: 0, + quotes: 0, + 'quote-props': 0, + 'key-spacing': 0, + 'object-curly-newline': 0, + 'object-property-newline': 0, + 'eol-last': 0, + noConsole: 0, + '@typescript-eslint/no-explicit-any': 0, + 'padded-blocks': 0, + 'no-trailing-spaces': 0, + '@typescript-eslint/no-unused-vars': 0, + '@typescript-eslint/ban-ts-comment': 0, + 'dot-notation': 'off', + 'prefer-const': 0, + 'spaced-comment': 0, + 'new-cap': 0, + "no-useless-escape": 0, + 'lines-between-class-members': 0, // 类成员之间应该空行 + '@typescript-eslint/no-non-null-assertion': 0, + '@typescript-eslint/no-var-requires': 0, + 'space-before-function-paren': 0, + 'no-multi-spaces': 0 + } +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/logo.png b/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..651689a170a26673d0da79e14d653c2a5f9b3d52 GIT binary patch literal 17885 zcmX7v1yEbx(}vMt!8KTeYoVmLyA-ErixZ$|3&q`C0>xY0-Q7LV;_hCcxI29O{@>i0 z++^yp7>e^$ zSukBxiTCZ63o-3GhSy_i#R;)B73R$uqQT3N6Q>*x&)TWNd%XXdo>I-vK2t;SwnCuW z5?w#cs(MsJPV9{dc4}2fHEy~9wK}`JvQL6DBa^L^k zG{uDztlPO!77gZ*8opDUL8>euwN@Z*L5AVtCxulKXE^~d5PosTzZ)E5j$ zBy@K^2n8`|wp1L@QB){hZx&3$+gbANCv?aBw}uAi?RaK62PZx`WP`v1DDDuubQ!yfvGt>EJalfR zS7&J2qJAk&;Y&FQHPP?KBy^r3vIqv6iUppe-zA+Ov(<~FRC z?fChF9>xAHmGVfgk1;@}Qx}>6<3Io%+%0;)e7-L9B$F08_m=*WApCwl6`7qBK6f>) z(OiDlvcY3|g72>5V3fK%Iwb0Qz!7WNp@+95p!IxOfM_O4bwn@iL#p=;af|&XG!67I zpzrHgB}z}!)yJ(U;Oa=DC+;UGRL!LymNdrl=KDCjl7OtaaXZ*8cqslfp4+mqTIwD6 zbBFYcFGK4sf@A#oAB4la@10eMW2X1s!phf$CA-Au5gU;$^EI& zu}L1vFM!WW^BtO|TiBuny&%F3MtI+}DV3$n_VSr7evNa`Hir~Ma(bl%@lu9nuZqg_< z=3sXU_VId{815uPD|I%~2adtZu%mng6yuGo!R=!qZ{lOy&#AN`mPe%VZAJ3@gLhn0vZx@!Z7ix_u+8;-Vvoqx5^N#q@ZxKt zes5dKXsrfhprZ00KY>k`0pgrn{Xn~Y$$8U)En~wwKyuD_p6~Lg6Q$%#h2a_f*}$pJ;@o@(-0q8uXB8$~ z@uCz{!$~l>Ohfmpv>UR3Z&7=8g{_C2Ky_VXWOfCkG!x7yW*^{YM4Y$MFX2sTL; zvFvB}8B07>=m?HkGy=q4eO~z`Kcv!E!z@&hdHd(`rl8u!qi5fDj#XpS=;}31^G6`{ zok&KfR%R$BXxcAI5CUtKX6`AsiW`2;$nTQEzQtc!be0biQfoMUXqm4OBQPX7H!N!Z zGRB;a)yJ8a9PlQG@S24z>{HHo8g?J^PsRlQDw&NpCuIp&ZNDRahTE6*L~;v%bsl)+ z%p7Op=7z(ezUjJa`DMT95zG{9i;rkOa_;F{>No%mN_D6u9m@gGY5(r`G@EAa6==XC zG`LHs*tNgYFW#Ty??t&CJ`$;Z9x%bt0%u`DP{!vo5tR~B*i$wT*xEjV)kqo&FgnnX zSl22eiJ$F94#LT>Jl=$`HU0ToWCG)==oSGL($Bkoq#t{ly&X+_NbdXLV3F8;o&QOk z4*d}XQ$P4&c>V6AKT7{*+%qg>d8`^Eo+=K&^CRdsKb5>l9Um1MMtbqZQ~VA2^A1f0 zX5pHnn92^nt!`kb^r2U~ll(C{u{}ilNap?%DvYZor1B+c;2NqcriiX@&oXi=zE|Jr z7o{d1$ZA3XQg-|^;ncGUVn1f0_QV<4LWppi{{^`qqse5Qu#Kc3^*b9({6vvi7} z-C&4#5Bb0HFr}0>HHqkN>>a+-erM3Du~;BVGzgaM`o#C)k`ypgCmN!*gZ;@XR-s_c z4VmzAdCum?*Z~zZ?98d&0`-s(8(xHUf{NnIPdvS#7hC1zLS)vj==eaa|1h2$W*Wdg z(;GZo*GYi{^?StN#DS>gko^!ix)qYwjmr;0T!x$Pjb88nty_ARr)36!_TfNGX*n2O zpIkN3pjDzO#BL@OR|MV(4ffcYGtC)vkn;YsNuD`JFmHB=2+!1o^ zw!N};n^#Vnoy%HCW~7t)+&pu<1T;w^Y`PmQLK%C45kW{nM;4adlpw0{>MUK(!tnyf zB^gm_Lu$@Sz+7>ieBUua38YLn7qVYpn#~-9Q>fUJ^Ek zm#Pj;9b?(P@Lljw*=dHKg-r5*9cxwfXOM(80ra#T*2n3@v#CZ#+@%7Y75~GQMrzGB z3qq{cgyScRj`j114b9a!xDX@S$90IT&3;ccFXdJVFCNiJQ6e31>qu>gKlW@;Q4(rR z=JJV00inmyIw2WQM(O2on4;;15BzKE5BS~y6g+Y&MTKl<$ET26rA#xxzp%D zL^p|o6vy3e4n8O!nez!LTGZYzuKda%;pJfFeuqLEo4ZGvAS=Kvu18|>78CxZW8=r4 zkub$yg`D0;(c@4xc#70$8(1hR!O&GXK{>-g(F_wDNRl&<^oPR$Cd-HkSsyAZ_slTl zfzb>TX$I7JNUa0_$*c|B4O|C2AWj7t)tF@e9GZ4Y=bEO#*%PoQs*~j`i{i%Hbj{`B z(3#0^MveU*`04;1A{dQdH)`8OWG@>XW0Oh$B9Y(?DjxH_8Ob2Z?`PQ=JBQ4S$S{d# z5943K0rzNdKS?_RFx^y5D86M=?N51q_AP<68cyBeC(u|^TjtUVbw73t7?<%LNsqJg zIvdH>zc9l3I=rSY6m4qKv{!_iraW4)LxeT^4&e`%u{S$Ep9X(O><0p%^th0qRptC+ zE<$o>UJV*CU+&Cb6bzMR4*-QacUly~Q&yRjJ~}z4s7r^&x_G8U0fx)6@xgtExHLCW zQEjWOpIqnl!F(jXvwsvOr0=(f=$u4&={;Lv()5Csb(GdKMyRC=kd9)!Cy~e1E4Y0T3QLmNYj&X>u+8*NSe^%U?1g3Rm)ohjCjp$e-%o+JEdu^YpL10``PdKGssl+Y1;aKih)Hi)5WQfzf^<0ECPl7eY zkT_s$KQDv5ZQL-^eaKBB`i|YWu1GL(C+iMj&UY`JFBmI`%}$r=ZK7i3(qjNWn%SaY z`r^56kkuvv$n*^V5ymfoqmLK;@Rc!CD8*oe{ZgmN%S%mOu>*^L6_s0D^!<;J?G=-n zuf7<`zl_CYH^E!>Lp=3Xd4(Jalm~AIAI~ev_^B<^6uMK)9I{C%^F|%}?v=jyZD3}D z1A}_$T<7(GY_yTC%|?Gf?4ty+a!k}Pn!FxQGXd?p_ElT4!ccx26q*tx`^prToxzq% zwVr~v*Q91Hp1w3b7QPwp;BJ%G1MP2n0-JYkqr@d4)s?t_A~>D>4qGOniFEbkc6rO>}t%~Mog=iDk>54 zQTimCdh-48Nt3g@8XMuFgSMmW;gQk6XS6qbJshGKFdD=2{T%+!`eTs*6IM^poZwXH zy}U-o55jyn@RZ@~w$mf7V5)61{IRpx691?GYMI-cLlT9=X*yc!P6$})xL1XCqmDV+tjhZ8;gLefebD9&4GrI64V-bIh=LnTgULU*sHcub^4d5jD z>;C1`kqiq1;^-U3A5)=&0Gg8#lADmS5SQf<2eicZZ@bPk5Jh+&@7KIp%U|!z+KMAc9^K3J~H( z{gdWxNI@;4CVu$uZI@X92rl?>(_Rg`gqh~Xw1BdtLgQ>C!MP+|bA65fDp@r01X{+X z*E`@BWgV=buXWh+r3+jBufB}d*zZR%DLrOzB1WPRlF&lu_e1>VF$qJQAY8v^#csv7 z{y>N5SV!j>V{k+L(NXh+i$jOSTWwp@YsL+@Bbqpv9dbjmIMukBRQ?98H? zJxy1m`De;yZwB>bL6@a-5HyHdt}a;s9@Mp9I(WRR63G6aHFS(H|GP5%^2yTjjd%g}KOgTJ=8GK(S|nw=qSpU`xu%gNzY^#MS5QI^AAz_RYB#*u=80_pEFSupcv8vYvL zDk)Txy$VZK#JCWyVmxU{x$w>*0QijoflPWpcGZHo6B<}R+D|Y3M37(B?&eNX%P2>% z3Ox2@)!r%TqJSh$_yLh2ZA^13_iy3Mnprp<&)GB;cQQi`Ow!08JS`_E!+l&vZy9H` zA8<+NtGKL8Fa2n;x8C;TKL}??*hqgVHA@d$VM3mxO6~U^(#6i$TAPwz{fh)JuEBuH z8oW|J;NB*kG;(mO)3Nc=X9phDX<9<#nDqJ!@<1BIs0<5?D`t8fRXp)}v>p}df4fbi zT=uiF6+oN+N&~|TV1-n-NterCYYdalo5PyFwO)&kL-k`=x5w;;`ZE6xB_G-D6LX&f4`=x4j*%ZJq0Z!kY}P_R7Si*eV5Pb*99}<5Y-R0YfYah zvU?m%mPcGP1?+d<970J9G|k4>E_yd#b@5JXO&WAjdU9kWmY|bJ+H3dqAF_#uNzaQgrXbv zG6wJd)8^vXi@4R}DmSXOP|$_Z{0$bs-2GIMUQdPw58I?6{MA^GIG9|7ejBS;ueGVYPlTnevpxUq-M?dFRppwEhH4JIO%2uf|KbN3EE_TitTDKfm>d82 zw_3a)=rrfLIOV?G)5<1(dtTAILh%hW>_S-^%Lvw?D&hysR-VrO_Gofm|E;f~8bjuu zJUPH6?ro{T-ri#nX)dVkKp7Jr)?}B_t9*u>$7F^E+HB&ypiS4$T%+4uniUOC4@^B( z(vLPwo%-K%Koa;&z=6-QY5Cy64Vf)BeKKyxdgJ~rwoF{KA_}IkvBfU|fFD>#p3|E9 zV636N9X(}6{^k}Ou!C9L8bVo#%QAiD&I_|)b_>is^hqroDOF!HaoqKcmvdR(-Fz%w z6J_+BX&AXXzz|)cpXR;Z_(kx=tTEI~?z4 z5q^ZX=l7`Z>W^TlvbT;g;YLqy{{*j3G|hU4Yil&E@Uj_nY_xS5+z5-koECN_8!gvq z^)KoPQK}2T{PDt*p>}Op|4y31G$4_C2~css^q#z_aB)dNfcok%p=LY{P~!U2_Nm3M z*=Zx?a+jf>ZSS#{f_}BxT3%V#eV1Rkc`e%*2KrApPCR}OWmtbA`XT&xVEv@4m6{KZ zchYSdd~g&#f*f5#^ct(w%?^-*4^%zNZa!lr{zVueEJ|Xm!b?iuzNCsB<-8x?WyO5Q ziUa9`*3+n)%f~UMDdA@{^*2SBy#M@{bb&McO5`ZzDP`--BYxC5AAKM_ZAlm0t7)QT z0CZ!LH+637Ep&77ccVfX%@+hQ=p)39@)x&p;I5F4#tqvIqFC-e>NX=;^$x=`OmpuW z9-FsA5-7KnhjvK;f8K0Jgz(>lN0?cuu(!xM1V%~11<3vwop7PqnplE|k3B_xll2iY zn$Q~RWt>+FQB|S>KZ(`b`Ru!h!8sp}SMTzT)_B(L@2JidpLZiWGL6pHjNp~eGctF? z`+rphIJ!pl+hkODp`VAsx`pK0Pk!^ z@y=Swk^@N<4g_`0XW&;=AT%sZ_eGOJwGN|_0Y+07({u3-LCJiPKBv7~oDaY`u#k_o zYVpE$e&TbB<)4*fm-+Yco~v=2PwYjbqtIJxb*iQ1+~8z%?5oFi_+#4IGsjwkj$r34 z-RFy&IYS5Uv-gUkXEVkylQgTRoShhz*Jw7;{5+9q@-fc_5gMj}T8@~xbold0O98gw z{j5loF=il1C|^P?_)Y-Uy_zgS{4dQmOom5S^CCvHVj3Yp3^(^gfT~z?3e|dy3m8$T zh%0zl8tC=9mLd9?=}q%y7C|0C&_hTt;sp&i3=ve2s*MO!r=Se@;2-tM&lsK>ZvqvSd~yZqt+2w28F!k8K$Ub4tzP^jB> z6jlT_)7wXUc@kT4Lk1!ti`cOtNl2fxT-`-)o&2s8Jp1z)f$SS^)UgyRKwtCs{NS8w zD&yuc=6^=ez~ZQ@yj1o zYLrLU^u@Gggm2L7yz(3vB-1N{Hcf6p;*=1gov~blQnG@&JC*r&XQ!{v1=f2ci2*yKTlMGLlh*>>3VY>xertI+5XghE3qSxQ2=@b$6x4({&af4tmA+#zmd>Q;eH*XgjauK_(dRBzyT> zZS!^fqAI=D*aZt-g`d|VKFq$R|4t0QgjYpf6KF_wM2UHo0MV|X5f3^2a(J>e+1dP; zA7nmP{)sKG%-Lb3>_Y&sTlJRi>^+AP46hUya_T!Sp?>xVcOyIf1K#d|Y$H@Gh}aI@ z(g_eMV#6;_T_u+vFMA{!$hd`Hx*hM4e533gqc z);8lyRw{KZ^-Yh^&G$)ax2xl&OePU}!-^^^AKI(Bj;&H;|TPor> z;C|E*X^+haN2Xp%>(8?DC?^ffV;xFd23qy?EgH$hhVwO=IfY`?xthk`@X39h+L*#o2iafHeW8D9>r(hCCX*=nH2XpNc3p!>*xp_Ek8#5QNJ@6 zI;?nN*P(Qh_BpE8_E~{fR{&_MaKJkqG%JaTfw2x^xo`3lIy$}P5Ie@)ckr41er{at zezNUsGV{4wNZ#gC`IT_ubyx3o(}R01!nSm=a?+l8@_6(4P8nA;&4|yId+i`T*1P!^ zv+^Uouy1EaDJHxKo}+;Xi#xnpV^+^XQS;1`t(U+l6@hhcP|ukD{HZ%#Mh>RCbI8Yn z;FNBB+tw604wZU&JU?n9ot?2XC`%|ezou@S^JT-|f43Kju#abdrD}q-jD5u=`7uOnr9V^s!LJn8)GnAggUhhV`Y z-J4`PGS}Fq(U%7mE^gxfEcZ#Dp33PA27e8sr-Xpr12M((^2~>V^Ld1Cm+f<{jHd#D z9k?(&C_-R)DPdn)$POUp}B1jA`o)Vq9C?CGhQG4CYH9&2K*0(V_PE z)xj4iOn4x>rc|odxZ6|rFQN9gOZ2>dh3HA+U4{FFh_e7x9JzHytCPQT`J>dX;r9ux z4g|BSO3uGd2AqDV{x#7zs-v#L&rThM&Z!U7N$fkQQwM?{-a8}kV`6*nTc*Ew2(QIb2TEG{#Vpn3*}@Z>w5!YMq_`vh;#y z2yYjk8t{A}0df~{E?x_VAu8y-OguFlxqkC;P)NZWbQEbsjXbyU`Oag6d|x|$%Dy48 zDEuTdb`ZeS=NA=%48naCVkL|I*yl2vq+8x}s9a0-1_G}werfiuMsc*WE;1K>cJxCN zyLb&bKSp(o<`xmnHUgKMIOb135#hU>8cd_xUfTadN9CSx7u!4CbX^DBJW{@uK9F76 z-aqpzVd>#C&wQyIt5%WUJ@_ifQ4;E}oGSF<`4Ax!dq3CzG5f+r_$87EQSvjN%V7qJ}beB z16F~+Q)x~4(HWbQQk{Ad_NmQe+~p(S%RK*E)A{@ZvQRajWVUl=O>%x56{#e}ao3jB zUq_|f5e9|aTlwogopx3Y9iPBu2wuJ=RU;dg{+%na$z@iwAP<)MiIo zy#~A2SVp#w2hyZ)@$cu>9@^zeoO^TwO{0-i?UUc>VKV|3GZ57TEasI{COcU5dDWKp zU>fH5{I@})$V{W_=#}AzX0SUae)NSM%3@bEiyP1S6$G5SAq>JLgW)&XtVOc1mljgI zXuJsUP{LFCX4F@_-R+~1qVl~{8EF(g+9!Bl+sq(>;8hO&dqZ^D9%2aODx7#dET}O6wi1G`y6s>3Vi5u^@Qo-^kI^S#N+fR`|wvdIWP@M9zUX7;X4(HLSwth6umlslR8o zvFbhYJwpRg8^;WC1aB?IifX0W1X%_?Um<6`c1>8|et(=6)4qs@B>T(3+U4okXua&B zJdi;0Lo(G|iGQ$}+mjYy*>67ntt)E8`Mhn1Q=eSKnYsRlXjE+|8fp)`=d>%obob4) zBDeLfzRbr!g}8w22YPT(PtdF1xhQ$7#7dxdARk?_Vnd+fQUHkfxzk&VZLaZ8lxRSQ z!NYLX93q!-1dxw11@tz^3KpH+Gvt?CcuTcp6UdIsYTeh!`&6tSOT0*c;$0(d;yy=0K_&kHj%c&m*E4z9s;OwS991iRFFz z6S2;o%4g8#z+>2q86wcBq@<^JTO+x?!o@O4TE3C|zP>JAkrMg`X+v!Wra;h#CXWOq zBGKl|!bgYfQO8YeaXy~T?*;}6Y$Qv8c zFm(Uh9kprON^ZB*bKl=B&X2p+X z%58Y)tN|m_s+!I%RWx@f70P`3eR`v}1x9XRkSwI7EUw`WqK|(+z~v@h4FR;6br2c; z{k*kMQ`id-du^=y1Xci{USBIC&xKB$vo)4HZ)z_tM9UbH>bJLyhAJsULr6Kau!c3m zFd<#Y7$ty%?Jp?)Kp0{BpCNZOE4Z+OhfWD9#0i@QcP{5JS3w<|O8dKi$WlBh)P`Mc z*isjUe_7VfPwo#!9{Z{JMabyEwMZ1nI3QH90Qx_r#Tgg!N<$DO(xxBD#8bUM>mJI~ zVTeeU!yfDfIpJG$Hy5ORIV6E7Kox3gap3BkpA5fB3t z(cT>Vrf@)d^$veq%t{-bAt*X66^R=aYleTGIN*|MoYXKQZ8G?~!7;9NRz#cVPouOM zG-`A=4+}T`lJgqI@KA6P5Gsy~0^L@|6)6C6L&1R(@8c4>h5kJoJ1|%Ii=w7LUd4(3 zg7qs_F!|mKvb}kSegULiv&8lX2H~!o;1Mf(ZtbW-lhuqe%M5PWRfM=7Fcz{(nc>V| ztid+o;lK|d8bgyG%wS|Ji{iz6%>VvadF87={I`>h^$!E7n_)6#))`S16*W-kXEnTyIA}b66v=#nC{<1pfcyM+e|evd@ENkQksu!=2%WfR&3(tZn9-x$ zF=Or!-XlZ)5kqy&tTsFAEIto-2;jr~gBjCBWXhMDzP2*(lKQ?%n9GEd0zVk8M+xIE zs6ot$+`rzS&S=aE{6Uj6NVoQjqE%};bIBi?XKUx?fMug_!`pG+MuRt*AZGfJk7Hxw z$VPQrF4pc~FAW|QKrl!@K&LLN<&qm6kA2BO)vl({rO1CYcXQ+v2{bGo*e095-^aS~ zh6&`dz~>8}ygofXO}W5}VKZFopCf~*tAcwC=<>QtrU*c4znRT~NC|Dsf-dZF5(_@5 zZV$<;nf5j2jjGJ!2|?Ms{5}3LE3TQ27jp*PVzUm&YAj0ngsLC z_m&dG8wg)s8aR+tD>(g)wH-aiYs^6|E(Qky{DGY6ER1#ln2y00(R-43(H30Ue{w8v42$$5X@F= zN!_|1! z{-F?g3MFzVk;}fJ<9fv>GHNh#L@G1F?qV^)t=eV@tZ@LtQSez*29&2s00m30C#F%> z-EKZ(Iva!UQT>XEL>;GXBqEB+nhfyZ%+N45g+R|#Lg;#jgrPR7Z-2Fn2TKMxu!;8R z_m8-CLkX|_Sf0c1=E7_VfChz>zZ_=m9&%de@YY>+=G5nSE*BNz0Ttf$H0|4xG#s)E ztCm&Y*$p>xMpO{$22GRC4+Jv#z=Rg~P~dY2K0NH`h=6Mkugm?fS|Xe55(-UR^Mgs$*M43Duv|(6<#2 zk-D0eHynoYU%zID_roB9!i?4u z>eFQ);`8|m(ZD$YH=AbH6|JYek3)erdU$uX6bA8XLDoHU{yH(ijn9Grt9UOd6py8W zTQkUE#ia}8NCiAk$;x`;ha&vW@E%m2xt87O0I}DeS676adhoyCHDz!*T{@$-(C?F&>`|_!PJR!QE>wFb;Be?T44#t|*h z<*qEWlgSJXX=7M7Z6JjeU1Ay^popPn zRXaR-cdUf|YcvESZ>!{)U0fxeI%CpWAbj@k{dp;&ofmT$%Tl&Q@Yb2#L4f%jCp#sTCS$Z_^VSj>n~U1J};VUxinKz6kzBwDrk;vTGkegbk_UE_q! z)9nwTr}0s{{%RN+9#0j$Ka}K!+}SmUTY%DEE-$U|-1a=S?26&q2ij|=0OZ$rBi_s6 z7JMpC6NCa=KfKW@%%Drw#f1+uXM|?RO?kATyr=ARY&43L>JUt7%WjBrp^i~mt!pgK?+Z{u6U%w!m;Je`Za zxDgvQEjDf=Z@I=I@Rt=wnOSEmD$`S+n?rDBma9+n!DsDX$zTP`xjbr?!ny8opi=;`WZ=c z?o23G2bsYN#$|{BHOB9=ClJI3u%}pj+WFKQ0OVnS>nRWXn_I6hVw|_`*vQ2+J8UR1 zSj)mUvIG-(c7AktKU-C$vMp)OPAM1Jj&S|aRuoTlA4eT; zXt6pJ*gSM?|RWWatQ`q*5}SV~LYY#_&vviQC@H@>)9 zdL>zla0@cRJ#`O)zk6jyUjU$oLmzFQ&Nt7C+*3-Wrb|9+uj0;sm$v+YQ%dj485b5` zI}xvZso#GeNBn^Q@u`F%)?X!9lSS?%k%l`2VDj zS+Uv8VS4%_#P+U3kjku-F784Z4RLAuQ;rjU&>r)Diz}Mhs0liOXAcsrTh;c>%=bmvAJGzoud+#$1Ap~C&6Vm zqK!gY+vMd~Zu9m(J9T?OCCEuw*KKm2j^8L;|C&{lT!&t2V`P{yzO`$inGTSTee7^||L<$dsM*b*Cb?1@`LM0-^aH?KOxFQif}nNjHUg+0)RA-+ z70&+(5tBLP*NCYWbcVCDw8@Rp3&ucZv11%A3z!BiUy077AW2P#wCH+|+VTlTh=+AI z4(Q4JeAKH{pOrEzHG_s1Wgq~X#u!jB?VEboRr74~$^&7$cA^LN2t_SYS=s1xoJ>~# z7(TLkS&LEfiRp=+Z0FGbVQq7HvuLGnm_a~Owg0>B(9p|po^0#om3?*FTKP8M(QMjp zFAac8s_-fAG$@UKCJ>E8F)$l6gV3c zFZ<*3@^Q9CM!7dAg*k7pubcfH)d3i!9^$uEL>#PSjdLEgaY=^>nPLAmn{MO_#H$=9 zU|u%H#j;Wj^CGF4;+jpi!#cUlQc5v{ua0Fw_?vK z=O^kGdd*J>pA4%-B$Zuv@2a*_S`X|r90wOp%)j z80opn(69XoXH3FFkvx?qrYPdMf&lHBIk}U0rVl-h0xal&D!h9+^~|ZXKHeST_i>5p z#|0|GGM=xfsmo&rk4q5m{5@?uH|f%2{KL^?bEKOjKKzu|rx?=wp6pwfOfaf?zfAB6 zG7Ocx`T3m{%@mE@(I7}j*S5b0(k)vP*~I>B(L?-Eg^-aXwCQ6Qe*C6S){3F&*1-2U z$Qa_Mr$uWI9M{R15&`udhjOw3{U)lSH@a>!$bIzKka3P8OnBD-Q@S^kf3OR-=VHKW z=W7QhuaU`<1AY35I|O?bKfB9O_bmlgR%*?2G0#{KDu@y%TbcbgPv5l{RGs$yv z1(lU!+OZnWm2XUfkX)6O%$@K1wW6dxz| zc6BhIP8v(CreI`4c%8G{W~3kqjV=E@6I_kX=Jzg~srO36Jc$7t(&rw+gb4}a?prhS zLitm2baoHL?0EOW~ zFOO_nQ2ZENjz0b8Ep^@{i{ z-mp8rbwe#&TE_5;58Wdl+Zf^wO9alni5WTEAx8xTWCc#vnHQ%U}2FB6fw< zDHAo#tt!_L;iyzy0)hj9s?rUVF6)PV%@kib&u znb}y7KF^Yx{d=_JGlZ1h2Lrb`iRVEJ5XA>XJjO~3Hock9D3v== zedWxe{~HquJR$wTX=JY_<`eay;G(zx!Rc4I-9K-?9}G799DAM@edd-plx(9$ZE*Dc zOXZb7B+HfEMz9rtPsbD(XGU!akD``417=6iL?d)2C%O!EZ~M zdV;*swK`xGM$Y?jZhL^!uN`!3|RfWloR67@?LTYOE0*?E@u zY`GHf{5x_era~1~EIfOGiw70*Efz`P4b@V+=_b?;$49o2NJ2^9i`@TTE0x)X#YMdQ zgI#=&>9wgX$HeQj#Z7ZqVUCU6{v?6R>lLzIE-b~h{emw$##-WnbBp^vzsZQA$lEUy z%%-J5n9JS9XSILyT5>Eet2Kr>)V7B>qpp^|$r{!bn?eDdw*0;1b#7RAWf(KJ*lzApc4wXhr;>Bftu1D7BU zfqaVA{d-^D+E&W=@mF1*QMY!nLe_zBp%gMShT%nIP*Gmw?bT=Hja$%-wLcJFFq*I7 z=*gB^Gi*gnmk%t3iWd%q&BSj#iVk=lb6~ZjpLOsmWWFK9f{TY_V-`t;2B8?r3licRUjaQ%I z3Y1u&r*(27X}>%v$&YYInz+g+{^G#)gSQ1k_9X%)aLy(WGqRwC$#Do3mu0!xsEi-$ zu=W)BaO7eRQ!mP)TwaaZZLT`3eFW{bm1?1a42wyhlIK)tWZ!JwB zW*xfY{1YgHBedy=Ni`VBm^(TGwB3BSO?P1&1^0gym@$KRfq8BjgGs+cwup}7RLa=T zoohKU6so#TuHEnlc$^I4=&_Mh@2RmZKlhCZFkdDE;biLPdTw}0@}e(7gJ)m0(LnJs ziux~WX6}rVC;2)iXRE~=;<9zu^2}CWZ7BnX0kr|`?rU5@uF_+ z>_IEZcSTHW9G4IhIWOw(w<1TlJ0xC!*7pa{z$Gm?Kgm-Xi^Kzd=A%(xDBE;>zbuNm zxthl}b(anGSDfY^drgOuSSQ%hR73Aj9d!7OVfnY-9(+IClnRHV*Ko84pwPIMbC3f3 zgmXw`dezHJIBpvIp+q4dYGRa6lYn>Mnsrw%N*w@Vmrj7`Cfv|6R5BnlY!9G-4)j>T z?6^e>_p;!P_wv%1X76qnwOP*gkR)V}ji@)Gc7|)V_L8emCt)>gn#sAdoT)!k$Sjm8 zHlK5Z>pj&FF(UXcrExw6DKGe!#!4a7T?`t>bR4WHwBhBcs$;{t9V9BaJ*2ih@xdDz zrVXllq9H;s(|};lfS;pOMn~wH1l$E*C0QRnExpIjo(++s3W17;km8>*4!N!tXs;jX zX9FRcmt32Ze)wKU%}i2-A!@JuPsQV{#DI;y6tgXvUQrf6xDWxialOC}CcOKD&I7V~ z=_V=`cd5V^dgzwEMVq`)S{3o|SfYISIvxS%&`H~3PeKl7&h%@Li~C6_-HBH=B@19e z@~F-3Wa}xsSIA_BIoA&;VQm0PtqQ?FOjMLH>Lk*up{O3KyGlxzUEcY?^gC*KE-N4? zDw82jD42gb02cg%qXGfmG_m!s`uDH5cZM`Ut}U`n+s3G{Ge=<>_9U<5xfZqJas5ni zuIiwqs|pc?IjGF;e!YWmRAlj5Q-TW zrG3(1mDm!j*vJqvvT>}aQ;mc}5`6nqjp>zG%y&U!taZq(HY1zp+ zHh5ct9@3{#@6J7JKEzpx2t)im0DuI=A6W-`Hu887t@?Jywir&#yf_uPHYQ1gkVT$* zyyZ`Rp}c(`d{!U2N-47tc+S1)O@IjUranK`6_*`uiQ;vV`!ZGo&T;)}T6_Gq89npmtCa7e!-5FX%Inle)^H13uRYb^e`7WR-$e}&hL3BOF@Btq8Posw)f3l>21a_0k60=#iF!8gQRLByi@yS8Q$ zVrD+az83!sf78p4VJ0NBQp&FU2<|Qmjo9~c8*(<<6h#`Jx*m0iSH5*OQc|MVWne7g zB<~W{LEX9{~=%Q!v`7cvi}SB1PJ@2KnB9osu>>sRaj3^(z_6)IW~nL z!5(cURHc^?gPdKKYdxzg3YSqv+f|9;V0~${%UEB-UpIeOTjKj68!${4nK8NZ`P_^y zF`yL?Ilu%wC_;kvL>m!5V1tk8qQV|k^Yg6}VjV!|eXeAuJ61avTDX?4WuY;@U0zhu zt+9|GLsDisa(bU*j8-3Hs2oonWQg7KAs#i8lE`Fup{y)+)2+EFmBsQy;s4#xo1Da3@( zjwn7i*=MKM%N`cwU>mEBvHW{TQdzL;c%!e(aBYAL*q>qp88D&FIXR(8d^K-6;?Rbv z2ar+BdJ9}YN4V!!sWkTN2w+@+>p`Ag=jJm`kkJQdd$mD^@YHWkU~H~39*oFg6pBlU zVmWX6>$X#x5n_p|FDEndncL9bm;a6M2f4GtN{UA{yc|Mc=}#pfNN`DX81h2+Y^<-> zLfq>(R*y7RT@z}m@5eadY!IH20KP!&fDFWrUyluB^erm;**nJW=>3V(+PP~YOa0dy z$PmR9Wp#7rmwCxRu9ctvn$Z0wKunwb91b0yxIur zp%j$XkFg4cObGD7)hohi3pFMhgwNg<9xx&~tMGipxZfPyTtxy8rPl7zR!0CC zFnH!R#tJe@UE2`(6M&;lgZDCp!?hr2%ZT3L=CJFf{U4^@P@Et`EToq!gpUp``TS&i z)8^lza9M;mBPTtFQ-M`%*!({GcF2wI7J|>C87?Wvg=2$@B7S4Hc6`RmZBt0Z! z3Wn5H5ZX{CKA1o=lS3ewFiIz2p$YL;DCzJ@8i$OySkLq_Qj@6ucRFW*h*VgAod6I{ z`94h<_WJVPp)egy;>ZFj)|+7FKQYmBgE)=ZOf>3-(4^3&Ig&k==+AWSIOb}>QwVLI zD6;<5HUJ{*YJ-~2c){jHdOVZf9{pWM7=?H$2#+KCsqn6|v_S4~e%C>$HDw&CxeKHR zkjW0^3=bI+6zt$hysO8Kt}Z4IdXYsb;03hE+^Z17rwoMbeH^EYDlcx#m@#9*W5$dbGiJ985=N})dhLS^<@JCriVmK0xNdob2JQsLS; zb*?Be&ca%caJC1CoJc1HgBY0~s2pq9!^VsmGiEHJ{XbQ)bJd}S`2PR^002ovPDHLk FV1kl}7a;%u literal 0 HcmV?d00001 diff --git a/package.json b/package.json new file mode 100644 index 0000000..ce5f6ba --- /dev/null +++ b/package.json @@ -0,0 +1,61 @@ +{ + "name": "myships_base", + "version": "0.1.0", + "private": true, + "scripts": { + "serve": "vue-cli-service serve", + "build": "vue-cli-service build", + "lint": "vue-cli-service lint" + }, + "dependencies": { + "@types/jquery": "^3.3.1", + "axios": "^0.26.1", + "core-js": "^3.21.1", + "crypto-js": "^4.0.0", + "dayjs": "^1.11.4", + "default-passive-events": "^2.0.0", + "echarts": "^5.3.3", + "element-resize-detector": "^1.2.4", + "element-ui": "2.15.8", + "file-saver": "^2.0.5", + "jquery": "^3.5.1", + "md5": "^2.3.0", + "moment": "^2.29.2", + "ol": "^6.13.0", + "proj4": "^2.7.2", + "toastr": "^2.1.4", + "vue": "2.6.14", + "vue-class-component": "^7.2.3", + "vue-i18n": "^8.27.2", + "vue-property-decorator": "^9.1.2", + "vue-router": "^3.5.1", + "vuex": "^3.6.2", + "vxe-table": "^3.5.9", + "weatherv": "^0.1.12", + "xe-utils": "^3.5.6", + "xlsx": "^0.18.5" + }, + "devDependencies": { + "@types/crypto-js": "^4.1.1", + "@types/file-saver": "^2.0.5", + "@types/md5": "^2.3.2", + "@typescript-eslint/eslint-plugin": "^5.4.0", + "@typescript-eslint/parser": "^5.4.0", + "@vue/cli-plugin-eslint": "~5.0.0", + "@vue/cli-plugin-router": "~5.0.0", + "@vue/cli-plugin-typescript": "~5.0.0", + "@vue/cli-plugin-vuex": "~5.0.0", + "@vue/cli-service": "~5.0.0", + "@vue/eslint-config-standard": "^6.1.0", + "@vue/eslint-config-typescript": "^9.1.0", + "eslint": "^7.32.0", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^5.1.0", + "eslint-plugin-vue": "^8.0.3", + "sass": "^1.32.7", + "sass-loader": "^12.0.0", + "typescript": "~4.5.5", + "vue-template-compiler": "2.6.14" + } +} diff --git a/public/config/echartTest.json b/public/config/echartTest.json new file mode 100644 index 0000000..925dc4b --- /dev/null +++ b/public/config/echartTest.json @@ -0,0 +1,3604 @@ +{ + "data": [ + [ + "2015-10-16", + 18.4, + 18.58, + 18.33, + 18.79, + 67.00, + 1, + 0.04, + 0.11, + 0.09 + ], + [ + "2015-10-19", + 18.56, + 18.25, + 18.19, + 18.56, + 55.00, + 0, + -0.00, + 0.08, + 0.09 + ], + [ + "2015-10-20", + 18.3, + 18.22, + 18.05, + 18.41, + 37.00, + 0, + 0.01, + 0.09, + 0.09 + ], + [ + "2015-10-21", + 18.18, + 18.69, + 18.02, + 18.98, + 89.00, + 0, + 0.03, + 0.10, + 0.08 + ], + [ + "2015-10-22", + 18.42, + 18.29, + 18.22, + 18.48, + 43.00, + 0, + -0.06, + 0.05, + 0.08 + ], + [ + "2015-10-23", + 18.26, + 18.19, + 18.08, + 18.36, + 46.00, + 0, + -0.10, + 0.03, + 0.09 + ], + [ + "2015-10-26", + 18.33, + 18.07, + 17.98, + 18.35, + 65.00, + 0, + -0.15, + 0.03, + 0.10 + ], + [ + "2015-10-27", + 18.08, + 18.04, + 17.88, + 18.13, + 37.00, + 0, + -0.19, + 0.03, + 0.12 + ], + [ + "2015-10-28", + 17.96, + 17.86, + 17.82, + 17.99, + 35.00, + 0, + -0.24, + 0.03, + 0.15 + ], + [ + "2015-10-29", + 17.85, + 17.81, + 17.8, + 17.93, + 27.00, + 0, + -0.24, + 0.06, + 0.18 + ], + [ + "2015-10-30", + 17.79, + 17.93, + 17.78, + 18.08, + 43.00, + 0, + -0.22, + 0.11, + 0.22 + ], + [ + "2015-11-02", + 17.78, + 17.83, + 17.78, + 18.04, + 27.00, + 0, + -0.20, + 0.15, + 0.25 + ], + [ + "2015-11-03", + 17.84, + 17.9, + 17.84, + 18.06, + 34.00, + 0, + -0.12, + 0.22, + 0.28 + ], + [ + "2015-11-04", + 17.97, + 18.36, + 17.85, + 18.39, + 62.00, + 0, + -0.00, + 0.30, + 0.30 + ], + [ + "2015-11-05", + 18.3, + 18.57, + 18.18, + 19.08, + 177.00, + 0, + 0.07, + 0.33, + 0.30 + ], + [ + "2015-11-06", + 18.53, + 18.68, + 18.3, + 18.71, + 95.00, + 0, + 0.12, + 0.35, + 0.29 + ], + [ + "2015-11-09", + 18.75, + 19.08, + 18.75, + 19.98, + 202.00, + 1, + 0.16, + 0.35, + 0.27 + ], + [ + "2015-11-10", + 18.85, + 18.64, + 18.56, + 18.99, + 85.00, + 0, + 0.09, + 0.29, + 0.25 + ], + [ + "2015-11-11", + 18.64, + 18.44, + 18.31, + 18.64, + 50.00, + 0, + 0.06, + 0.27, + 0.23 + ], + [ + "2015-11-12", + 18.55, + 18.27, + 18.17, + 18.57, + 43.00, + 0, + 0.05, + 0.25, + 0.23 + ], + [ + "2015-11-13", + 18.13, + 18.14, + 18.09, + 18.34, + 35.00, + 0, + 0.05, + 0.24, + 0.22 + ], + [ + "2015-11-16", + 18.01, + 18.1, + 17.93, + 18.17, + 34.00, + 0, + 0.07, + 0.25, + 0.21 + ], + [ + "2015-11-17", + 18.2, + 18.14, + 18.08, + 18.45, + 58.00, + 0, + 0.11, + 0.25, + 0.20 + ], + [ + "2015-11-18", + 18.23, + 18.16, + 18.0, + 18.45, + 47.00, + 0, + 0.13, + 0.25, + 0.19 + ], + [ + "2015-11-19", + 18.08, + 18.2, + 18.05, + 18.25, + 32.00, + 0, + 0.15, + 0.24, + 0.17 + ], + [ + "2015-11-20", + 18.15, + 18.15, + 18.11, + 18.29, + 36.00, + 0, + 0.13, + 0.21, + 0.15 + ], + [ + "2015-11-23", + 18.16, + 18.19, + 18.12, + 18.34, + 47.00, + 0, + 0.11, + 0.18, + 0.13 + ], + [ + "2015-11-24", + 18.23, + 17.88, + 17.7, + 18.23, + 62.00, + 0, + 0.03, + 0.13, + 0.11 + ], + [ + "2015-11-25", + 17.85, + 17.73, + 17.56, + 17.85, + 66.00, + 0, + -0.03, + 0.09, + 0.11 + ], + [ + "2015-11-26", + 17.79, + 17.53, + 17.5, + 17.92, + 63.00, + 0, + -0.10, + 0.06, + 0.11 + ], + [ + "2015-11-27", + 17.51, + 17.04, + 16.9, + 17.51, + 67.00, + 0, + -0.16, + 0.05, + 0.13 + ], + [ + "2015-11-30", + 17.07, + 17.2, + 16.98, + 17.32, + 55.00, + 0, + -0.12, + 0.09, + 0.15 + ], + [ + "2015-12-01", + 17.28, + 17.11, + 16.91, + 17.28, + 39.00, + 0, + -0.09, + 0.12, + 0.16 + ], + [ + "2015-12-02", + 17.13, + 17.91, + 17.05, + 17.99, + 102.00, + 0, + -0.01, + 0.17, + 0.18 + ], + [ + "2015-12-03", + 17.8, + 17.78, + 17.61, + 17.98, + 71.00, + 0, + -0.09, + 0.14, + 0.18 + ], + [ + "2015-12-04", + 17.6, + 17.25, + 17.13, + 17.69, + 51.00, + 0, + -0.18, + 0.10, + 0.19 + ], + [ + "2015-12-07", + 17.2, + 17.39, + 17.15, + 17.45, + 43.00, + 0, + -0.19, + 0.12, + 0.22 + ], + [ + "2015-12-08", + 17.3, + 17.42, + 17.18, + 17.62, + 45.00, + 0, + -0.23, + 0.13, + 0.24 + ], + [ + "2015-12-09", + 17.33, + 17.39, + 17.32, + 17.59, + 44.00, + 0, + -0.29, + 0.13, + 0.28 + ], + [ + "2015-12-10", + 17.39, + 17.26, + 17.21, + 17.65, + 44.00, + 0, + -0.37, + 0.13, + 0.32 + ], + [ + "2015-12-11", + 17.23, + 16.92, + 16.66, + 17.26, + 114.00, + 1, + -0.44, + 0.15, + 0.37 + ], + [ + "2015-12-14", + 16.75, + 17.06, + 16.5, + 17.09, + 94.00, + 0, + -0.44, + 0.21, + 0.44 + ], + [ + "2015-12-15", + 17.03, + 17.03, + 16.9, + 17.06, + 46.00, + 0, + -0.44, + 0.28, + 0.50 + ], + [ + "2015-12-16", + 17.08, + 16.96, + 16.87, + 17.09, + 30.00, + 0, + -0.40, + 0.36, + 0.56 + ], + [ + "2015-12-17", + 17.0, + 17.1, + 16.95, + 17.12, + 50.00, + 0, + -0.30, + 0.47, + 0.62 + ], + [ + "2015-12-18", + 17.09, + 17.52, + 17.04, + 18.06, + 156.00, + 0, + -0.14, + 0.59, + 0.66 + ], + [ + "2015-12-21", + 17.43, + 18.23, + 17.35, + 18.45, + 152.00, + 1, + 0.02, + 0.69, + 0.68 + ], + [ + "2015-12-22", + 18.14, + 18.27, + 18.06, + 18.32, + 94.00, + 0, + 0.08, + 0.72, + 0.68 + ], + [ + "2015-12-23", + 18.28, + 18.19, + 18.17, + 18.71, + 108.00, + 0, + 0.13, + 0.73, + 0.67 + ], + [ + "2015-12-24", + 18.18, + 18.14, + 18.01, + 18.31, + 37.00, + 0, + 0.19, + 0.74, + 0.65 + ], + [ + "2015-12-25", + 18.22, + 18.33, + 18.2, + 18.36, + 48.00, + 0, + 0.26, + 0.75, + 0.62 + ], + [ + "2015-12-28", + 18.35, + 17.84, + 17.8, + 18.39, + 48.00, + 0, + 0.27, + 0.72, + 0.59 + ], + [ + "2015-12-29", + 17.83, + 17.94, + 17.71, + 17.97, + 36.00, + 0, + 0.36, + 0.73, + 0.55 + ], + [ + "2015-12-30", + 17.9, + 18.26, + 17.55, + 18.3, + 71.00, + 1, + 0.43, + 0.71, + 0.50 + ], + [ + "2015-12-31", + 18.12, + 17.99, + 17.91, + 18.33, + 72.00, + 0, + 0.40, + 0.63, + 0.43 + ], + [ + "2016-01-04", + 17.91, + 17.28, + 17.16, + 17.95, + 37.00, + 1, + 0.34, + 0.55, + 0.38 + ], + [ + "2016-01-05", + 17.17, + 17.23, + 17.0, + 17.55, + 51.00, + 0, + 0.37, + 0.51, + 0.33 + ], + [ + "2016-01-06", + 17.2, + 17.31, + 17.06, + 17.33, + 31.00, + 0, + 0.37, + 0.46, + 0.28 + ], + [ + "2016-01-07", + 17.15, + 16.67, + 16.51, + 17.15, + 19.00, + 0, + 0.30, + 0.37, + 0.22 + ], + [ + "2016-01-08", + 16.8, + 16.81, + 16.61, + 17.06, + 60.00, + 0, + 0.29, + 0.32, + 0.18 + ], + [ + "2016-01-11", + 16.68, + 16.04, + 16.0, + 16.68, + 65.00, + 0, + 0.20, + 0.24, + 0.14 + ], + [ + "2016-01-12", + 16.03, + 15.98, + 15.88, + 16.25, + 46.00, + 0, + 0.20, + 0.21, + 0.11 + ], + [ + "2016-01-13", + 16.21, + 15.87, + 15.78, + 16.21, + 57.00, + 0, + 0.20, + 0.18, + 0.08 + ], + [ + "2016-01-14", + 15.55, + 15.89, + 15.52, + 15.96, + 42.00, + 0, + 0.20, + 0.16, + 0.05 + ], + [ + "2016-01-15", + 15.87, + 15.48, + 15.45, + 15.92, + 34.00, + 1, + 0.17, + 0.11, + 0.02 + ], + [ + "2016-01-18", + 15.39, + 15.42, + 15.36, + 15.7, + 26.00, + 0, + 0.21, + 0.10, + -0.00 + ], + [ + "2016-01-19", + 15.58, + 15.71, + 15.35, + 15.77, + 38.00, + 0, + 0.25, + 0.09, + -0.03 + ], + [ + "2016-01-20", + 15.56, + 15.52, + 15.24, + 15.68, + 38.00, + 0, + 0.23, + 0.05, + -0.07 + ], + [ + "2016-01-21", + 15.41, + 15.3, + 15.28, + 15.68, + 35.00, + 0, + 0.21, + 0.00, + -0.10 + ], + [ + "2016-01-22", + 15.48, + 15.28, + 15.13, + 15.49, + 30.00, + 0, + 0.21, + -0.02, + -0.13 + ], + [ + "2016-01-25", + 15.29, + 15.48, + 15.2, + 15.49, + 21.00, + 0, + 0.20, + -0.06, + -0.16 + ], + [ + "2016-01-26", + 15.33, + 14.86, + 14.78, + 15.39, + 30.00, + 0, + 0.12, + -0.13, + -0.19 + ], + [ + "2016-01-27", + 14.96, + 15.0, + 14.84, + 15.22, + 51.00, + 0, + 0.13, + -0.14, + -0.20 + ], + [ + "2016-01-28", + 14.96, + 14.72, + 14.62, + 15.06, + 25.00, + 0, + 0.10, + -0.17, + -0.22 + ], + [ + "2016-01-29", + 14.75, + 14.99, + 14.62, + 15.08, + 36.00, + 0, + 0.13, + -0.17, + -0.24 + ], + [ + "2016-02-01", + 14.98, + 14.72, + 14.48, + 15.18, + 27.00, + 0, + 0.10, + -0.21, + -0.26 + ], + [ + "2016-02-02", + 14.65, + 14.85, + 14.65, + 14.95, + 18.00, + 0, + 0.11, + -0.21, + -0.27 + ], + [ + "2016-02-03", + 14.72, + 14.67, + 14.55, + 14.8, + 23.00, + 0, + 0.10, + -0.24, + -0.29 + ], + [ + "2016-02-04", + 14.79, + 14.88, + 14.69, + 14.93, + 22.00, + 0, + 0.13, + -0.24, + -0.30 + ], + [ + "2016-02-05", + 14.9, + 14.86, + 14.78, + 14.93, + 16.00, + 0, + 0.12, + -0.26, + -0.32 + ], + [ + "2016-02-15", + 14.5, + 14.66, + 14.47, + 14.82, + 19.00, + 0, + 0.11, + -0.28, + -0.34 + ], + [ + "2016-02-16", + 14.77, + 14.94, + 14.72, + 15.05, + 26.00, + 0, + 0.14, + -0.28, + -0.35 + ], + [ + "2016-02-17", + 14.95, + 15.03, + 14.88, + 15.07, + 38.00, + 0, + 0.12, + -0.31, + -0.37 + ], + [ + "2016-02-18", + 14.95, + 14.9, + 14.87, + 15.06, + 28.00, + 0, + 0.07, + -0.35, + -0.39 + ], + [ + "2016-02-19", + 14.9, + 14.75, + 14.68, + 14.94, + 22.00, + 0, + 0.03, + -0.38, + -0.40 + ], + [ + "2016-02-22", + 14.88, + 15.01, + 14.79, + 15.11, + 38.00, + 1, + 0.01, + -0.40, + -0.40 + ], + [ + "2016-02-23", + 15.01, + 14.83, + 14.72, + 15.01, + 24.00, + 0, + -0.09, + -0.45, + -0.40 + ], + [ + "2016-02-24", + 14.75, + 14.81, + 14.67, + 14.87, + 21.00, + 0, + -0.17, + -0.48, + -0.39 + ], + [ + "2016-02-25", + 14.81, + 14.25, + 14.21, + 14.81, + 51.00, + 1, + -0.27, + -0.50, + -0.37 + ], + [ + "2016-02-26", + 14.35, + 14.45, + 14.28, + 14.57, + 28.00, + 0, + -0.26, + -0.46, + -0.33 + ], + [ + "2016-02-29", + 14.43, + 14.56, + 14.04, + 14.6, + 48.00, + 0, + -0.25, + -0.41, + -0.29 + ], + [ + "2016-03-01", + 14.56, + 14.65, + 14.36, + 14.78, + 32.00, + 0, + -0.21, + -0.36, + -0.25 + ], + [ + "2016-03-02", + 14.79, + 14.96, + 14.72, + 14.97, + 60.00, + 0, + -0.13, + -0.29, + -0.22 + ], + [ + "2016-03-03", + 14.95, + 15.15, + 14.91, + 15.19, + 53.00, + 1, + -0.05, + -0.23, + -0.21 + ], + [ + "2016-03-04", + 15.14, + 15.97, + 15.02, + 16.02, + 164.00, + 1, + 0.06, + -0.17, + -0.20 + ], + [ + "2016-03-07", + 15.9, + 15.78, + 15.65, + 16.0, + 41.00, + 0, + 0.04, + -0.19, + -0.21 + ], + [ + "2016-03-08", + 15.78, + 15.96, + 15.21, + 15.99, + 45.00, + 0, + 0.05, + -0.19, + -0.21 + ], + [ + "2016-03-09", + 15.73, + 16.05, + 15.41, + 16.08, + 74.00, + 0, + 0.03, + -0.20, + -0.22 + ], + [ + "2016-03-10", + 15.82, + 15.66, + 15.65, + 15.98, + 19.00, + 0, + -0.02, + -0.23, + -0.22 + ], + [ + "2016-03-11", + 15.59, + 15.76, + 15.42, + 15.78, + 32.00, + 0, + 0.01, + -0.22, + -0.22 + ], + [ + "2016-03-14", + 15.78, + 15.72, + 15.65, + 16.04, + 31.00, + 0, + 0.03, + -0.20, + -0.22 + ], + [ + "2016-03-15", + 15.81, + 15.86, + 15.6, + 15.99, + 35.00, + 0, + 0.10, + -0.18, + -0.23 + ], + [ + "2016-03-16", + 15.88, + 16.42, + 15.79, + 16.45, + 123.00, + 0, + 0.17, + -0.16, + -0.24 + ], + [ + "2016-03-17", + 16.39, + 16.23, + 16.11, + 16.4, + 46.00, + 0, + 0.14, + -0.20, + -0.26 + ], + [ + "2016-03-18", + 16.39, + 16.17, + 16.04, + 16.4, + 59.00, + 0, + 0.13, + -0.22, + -0.28 + ], + [ + "2016-03-21", + 16.21, + 16.22, + 16.11, + 16.44, + 50.00, + 0, + 0.12, + -0.24, + -0.30 + ], + [ + "2016-03-22", + 16.27, + 16.19, + 16.16, + 16.42, + 33.00, + 0, + 0.10, + -0.27, + -0.32 + ], + [ + "2016-03-23", + 16.26, + 16.18, + 16.18, + 16.29, + 19.00, + 0, + 0.08, + -0.30, + -0.33 + ], + [ + "2016-03-24", + 16.18, + 16.11, + 16.01, + 16.23, + 23.00, + 0, + 0.04, + -0.33, + -0.35 + ], + [ + "2016-03-25", + 16.12, + 16.13, + 16.1, + 16.2, + 15.00, + 0, + 0.00, + -0.35, + -0.35 + ], + [ + "2016-03-28", + 16.15, + 15.85, + 15.81, + 16.2, + 22.00, + 0, + -0.06, + -0.38, + -0.35 + ], + [ + "2016-03-29", + 15.9, + 15.79, + 15.76, + 16.05, + 19.00, + 0, + -0.06, + -0.37, + -0.34 + ], + [ + "2016-03-30", + 15.79, + 16.24, + 15.78, + 16.3, + 29.00, + 0, + -0.03, + -0.35, + -0.33 + ], + [ + "2016-03-31", + 16.3, + 16.09, + 16.02, + 16.35, + 25.00, + 0, + -0.07, + -0.37, + -0.33 + ], + [ + "2016-04-01", + 16.18, + 16.27, + 15.98, + 16.3, + 38.00, + 0, + -0.08, + -0.36, + -0.32 + ], + [ + "2016-04-05", + 16.13, + 16.34, + 16.07, + 16.37, + 39.00, + 0, + -0.13, + -0.37, + -0.31 + ], + [ + "2016-04-06", + 16.21, + 16.26, + 16.19, + 16.35, + 30.00, + 0, + -0.20, + -0.39, + -0.29 + ], + [ + "2016-04-07", + 16.32, + 16.1, + 16.05, + 16.35, + 29.00, + 1, + -0.26, + -0.39, + -0.26 + ], + [ + "2016-04-08", + 16.0, + 16.16, + 15.98, + 16.21, + 22.00, + 0, + -0.28, + -0.37, + -0.23 + ], + [ + "2016-04-11", + 16.16, + 16.31, + 16.15, + 16.57, + 31.00, + 0, + -0.30, + -0.33, + -0.19 + ], + [ + "2016-04-12", + 16.41, + 16.29, + 16.12, + 16.41, + 17.00, + 0, + -0.31, + -0.30, + -0.14 + ], + [ + "2016-04-13", + 16.39, + 16.48, + 16.0, + 16.68, + 40.00, + 0, + -0.30, + -0.25, + -0.10 + ], + [ + "2016-04-14", + 16.5, + 16.46, + 16.37, + 16.68, + 22.00, + 0, + -0.27, + -0.19, + -0.06 + ], + [ + "2016-04-15", + 16.56, + 16.93, + 16.46, + 17.04, + 58.00, + 0, + -0.20, + -0.12, + -0.02 + ], + [ + "2016-04-18", + 16.76, + 17.06, + 16.72, + 17.27, + 50.00, + 0, + -0.16, + -0.07, + 0.01 + ], + [ + "2016-04-19", + 17.21, + 17.11, + 17.02, + 17.23, + 30.00, + 0, + -0.12, + -0.02, + 0.03 + ], + [ + "2016-04-20", + 17.11, + 17.33, + 16.8, + 17.36, + 78.00, + 0, + -0.04, + 0.03, + 0.05 + ], + [ + "2016-04-21", + 17.27, + 17.69, + 17.17, + 17.93, + 79.00, + 0, + 0.05, + 0.08, + 0.06 + ], + [ + "2016-04-22", + 17.6, + 17.87, + 17.56, + 18.02, + 55.00, + 0, + 0.09, + 0.10, + 0.05 + ], + [ + "2016-04-25", + 17.75, + 17.9, + 17.41, + 17.96, + 39.00, + 1, + 0.11, + 0.09, + 0.04 + ], + [ + "2016-04-26", + 17.81, + 17.91, + 17.6, + 17.95, + 39.00, + 0, + 0.12, + 0.08, + 0.02 + ], + [ + "2016-04-27", + 17.9, + 17.88, + 17.81, + 17.95, + 25.00, + 0, + 0.12, + 0.06, + 0.00 + ], + [ + "2016-04-28", + 17.93, + 17.88, + 17.67, + 17.93, + 28.00, + 0, + 0.11, + 0.04, + -0.01 + ], + [ + "2016-04-29", + 17.87, + 17.75, + 17.73, + 17.92, + 19.00, + 0, + 0.08, + 0.01, + -0.03 + ], + [ + "2016-05-03", + 17.79, + 17.7, + 17.56, + 17.85, + 35.00, + 0, + 0.05, + -0.01, + -0.04 + ], + [ + "2016-05-04", + 17.7, + 17.65, + 17.59, + 17.71, + 24.00, + 0, + 0.02, + -0.04, + -0.05 + ], + [ + "2016-05-05", + 17.65, + 17.62, + 17.46, + 17.7, + 20.00, + 0, + -0.03, + -0.06, + -0.05 + ], + [ + "2016-05-06", + 17.62, + 17.32, + 17.3, + 17.65, + 29.00, + 0, + -0.10, + -0.09, + -0.05 + ], + [ + "2016-05-09", + 17.33, + 17.3, + 17.21, + 17.45, + 23.00, + 0, + -0.13, + -0.10, + -0.03 + ], + [ + "2016-05-10", + 17.11, + 17.04, + 16.98, + 17.41, + 28.00, + 0, + -0.15, + -0.09, + -0.01 + ], + [ + "2016-05-11", + 17.06, + 17.15, + 17.06, + 17.32, + 20.00, + 0, + -0.12, + -0.05, + 0.01 + ], + [ + "2016-05-12", + 17.02, + 17.46, + 17.02, + 17.58, + 26.00, + 0, + -0.07, + -0.01, + 0.03 + ], + [ + "2016-05-13", + 17.41, + 17.57, + 17.34, + 17.62, + 23.00, + 0, + -0.06, + 0.01, + 0.03 + ], + [ + "2016-05-16", + 17.55, + 17.5, + 17.48, + 17.64, + 37.00, + 0, + -0.06, + 0.01, + 0.04 + ], + [ + "2016-05-17", + 17.49, + 17.48, + 17.39, + 17.53, + 13.00, + 0, + -0.03, + 0.03, + 0.05 + ], + [ + "2016-05-18", + 17.41, + 17.82, + 17.39, + 17.87, + 46.00, + 0, + 0.01, + 0.06, + 0.06 + ], + [ + "2016-05-19", + 17.74, + 17.81, + 17.67, + 17.86, + 17.00, + 0, + -0.01, + 0.05, + 0.05 + ], + [ + "2016-05-20", + 17.76, + 17.88, + 17.7, + 17.93, + 14.00, + 0, + -0.03, + 0.04, + 0.06 + ], + [ + "2016-05-23", + 17.88, + 17.52, + 17.48, + 17.97, + 16.00, + 0, + -0.09, + 0.02, + 0.06 + ], + [ + "2016-05-24", + 17.51, + 17.33, + 17.32, + 17.51, + 8.00, + 0, + -0.09, + 0.03, + 0.07 + ], + [ + "2016-05-25", + 17.59, + 17.55, + 17.44, + 17.59, + 10.00, + 0, + -0.03, + 0.07, + 0.08 + ], + [ + "2016-05-26", + 17.5, + 17.69, + 17.5, + 17.8, + 12.00, + 0, + 0.00, + 0.09, + 0.09 + ], + [ + "2016-05-27", + 17.77, + 17.66, + 17.62, + 17.77, + 7.00, + 0, + 0.03, + 0.10, + 0.09 + ], + [ + "2016-05-30", + 17.75, + 17.84, + 17.62, + 17.87, + 20.00, + 0, + 0.08, + 0.12, + 0.08 + ], + [ + "2016-05-31", + 17.88, + 18.0, + 17.81, + 18.03, + 41.00, + 0, + 0.10, + 0.12, + 0.07 + ], + [ + "2016-06-01", + 18.09, + 17.83, + 17.73, + 18.09, + 22.00, + 0, + 0.08, + 0.10, + 0.06 + ], + [ + "2016-06-02", + 17.82, + 17.73, + 17.66, + 17.88, + 10.00, + 0, + 0.07, + 0.08, + 0.05 + ], + [ + "2016-06-03", + 17.8, + 17.78, + 17.71, + 17.83, + 9.00, + 0, + 0.08, + 0.08, + 0.04 + ], + [ + "2016-06-06", + 17.73, + 17.64, + 17.56, + 17.83, + 12.00, + 0, + 0.07, + 0.06, + 0.03 + ], + [ + "2016-06-07", + 17.76, + 17.8, + 17.59, + 17.87, + 11.00, + 0, + 0.08, + 0.06, + 0.02 + ], + [ + "2016-06-08", + 17.75, + 17.77, + 17.65, + 17.84, + 9.00, + 0, + 0.04, + 0.03, + 0.01 + ], + [ + "2016-06-13", + 17.58, + 17.32, + 17.29, + 17.79, + 16.00, + 0, + -0.02, + -0.01, + 0.00 + ], + [ + "2016-06-14", + 17.33, + 17.38, + 17.29, + 17.5, + 10.00, + 0, + -0.01, + 0.00, + 0.00 + ], + [ + "2016-06-15", + 17.25, + 17.39, + 17.25, + 17.46, + 18.00, + 0, + 0.00, + 0.01, + 0.00 + ], + [ + "2016-06-16", + 17.26, + 17.4, + 17.26, + 17.46, + 22.00, + 0, + 0.01, + 0.01, + 0.00 + ], + [ + "2016-06-17", + 17.38, + 17.5, + 17.37, + 17.67, + 13.00, + 0, + 0.03, + 0.02, + 0.00 + ], + [ + "2016-06-20", + 17.62, + 17.51, + 17.42, + 17.63, + 15.00, + 0, + 0.03, + 0.01, + -0.00 + ], + [ + "2016-06-21", + 17.53, + 17.54, + 17.5, + 17.7, + 11.00, + 0, + 0.02, + 0.00, + -0.01 + ], + [ + "2016-06-22", + 17.5, + 17.5, + 17.46, + 17.6, + 10.00, + 0, + -0.01, + -0.01, + -0.01 + ], + [ + "2016-06-23", + 17.52, + 17.26, + 17.24, + 17.53, + 16.00, + 0, + -0.04, + -0.03, + -0.01 + ], + [ + "2016-06-24", + 17.26, + 17.25, + 17.18, + 17.38, + 60.00, + 0, + -0.03, + -0.02, + -0.00 + ], + [ + "2016-06-27", + 17.25, + 17.28, + 17.18, + 17.33, + 19.00, + 0, + -0.01, + -0.00, + 0.00 + ], + [ + "2016-06-28", + 17.25, + 17.29, + 17.21, + 17.32, + 13.00, + 0, + 0.02, + 0.01, + 0.00 + ], + [ + "2016-06-29", + 17.31, + 17.45, + 17.27, + 17.49, + 21.00, + 0, + 0.07, + 0.04, + 0.00 + ], + [ + "2016-06-30", + 17.47, + 17.5, + 17.39, + 17.55, + 17.00, + 0, + 0.11, + 0.04, + -0.01 + ], + [ + "2016-07-01", + 17.5, + 17.63, + 17.49, + 17.66, + 10.00, + 0, + 0.14, + 0.05, + -0.03 + ], + [ + "2016-07-04", + 17.63, + 17.72, + 17.63, + 17.92, + 17.00, + 0, + 0.16, + 0.03, + -0.05 + ], + [ + "2016-07-05", + 17.79, + 17.56, + 17.45, + 17.79, + 18.00, + 0, + 0.14, + 0.00, + -0.07 + ], + [ + "2016-07-06", + 17.53, + 17.42, + 17.31, + 17.54, + 20.00, + 0, + 0.14, + -0.02, + -0.09 + ], + [ + "2016-07-07", + 17.41, + 17.51, + 17.35, + 17.52, + 15.00, + 0, + 0.16, + -0.03, + -0.11 + ], + [ + "2016-07-08", + 17.5, + 17.39, + 17.35, + 17.51, + 15.00, + 0, + 0.16, + -0.05, + -0.13 + ], + [ + "2016-07-11", + 17.49, + 17.48, + 17.4, + 17.55, + 16.00, + 0, + 0.17, + -0.07, + -0.15 + ], + [ + "2016-07-12", + 17.48, + 17.71, + 17.46, + 17.75, + 25.00, + 0, + 0.16, + -0.10, + -0.18 + ], + [ + "2016-07-13", + 17.13, + 17.05, + 17.02, + 17.39, + 28.00, + 0, + 0.07, + -0.17, + -0.20 + ], + [ + "2016-07-14", + 17.07, + 17.09, + 17.0, + 17.16, + 12.00, + 0, + 0.08, + -0.17, + -0.21 + ], + [ + "2016-07-15", + 17.08, + 17.14, + 17.08, + 17.17, + 11.00, + 0, + 0.09, + -0.18, + -0.22 + ], + [ + "2016-07-18", + 17.15, + 17.26, + 17.13, + 17.49, + 24.00, + 0, + 0.10, + -0.19, + -0.23 + ], + [ + "2016-07-19", + 17.26, + 17.12, + 17.09, + 17.33, + 13.00, + 0, + 0.07, + -0.21, + -0.25 + ], + [ + "2016-07-20", + 17.1, + 17.07, + 17.02, + 17.14, + 11.00, + 0, + 0.06, + -0.23, + -0.26 + ], + [ + "2016-07-21", + 17.07, + 17.24, + 17.07, + 17.27, + 14.00, + 0, + 0.07, + -0.23, + -0.27 + ], + [ + "2016-07-22", + 17.25, + 17.08, + 17.03, + 17.25, + 10.00, + 0, + 0.04, + -0.26, + -0.28 + ], + [ + "2016-07-25", + 17.09, + 17.12, + 17.01, + 17.18, + 8.00, + 0, + 0.04, + -0.26, + -0.28 + ], + [ + "2016-07-26", + 17.05, + 17.17, + 17.05, + 17.2, + 11.00, + 0, + 0.04, + -0.27, + -0.29 + ], + [ + "2016-07-27", + 17.2, + 17.37, + 16.89, + 17.38, + 32.00, + 0, + 0.02, + -0.28, + -0.29 + ], + [ + "2016-07-28", + 17.19, + 17.14, + 17.09, + 17.29, + 19.00, + 0, + -0.04, + -0.32, + -0.30 + ], + [ + "2016-07-29", + 17.15, + 17.16, + 17.04, + 17.23, + 12.00, + 0, + -0.08, + -0.33, + -0.29 + ], + [ + "2016-08-01", + 17.15, + 17.18, + 17.1, + 17.24, + 19.00, + 0, + -0.13, + -0.34, + -0.28 + ], + [ + "2016-08-02", + 17.21, + 17.15, + 17.12, + 17.25, + 9.00, + 0, + -0.19, + -0.36, + -0.26 + ], + [ + "2016-08-03", + 17.08, + 17.07, + 17.01, + 17.16, + 9.00, + 0, + -0.25, + -0.36, + -0.24 + ], + [ + "2016-08-04", + 17.11, + 17.06, + 16.98, + 17.12, + 11.00, + 1, + -0.29, + -0.35, + -0.20 + ], + [ + "2016-08-05", + 17.06, + 17.1, + 17.05, + 17.15, + 16.00, + 0, + -0.33, + -0.32, + -0.16 + ], + [ + "2016-08-08", + 17.14, + 17.13, + 17.07, + 17.15, + 13.00, + 0, + -0.35, + -0.29, + -0.11 + ], + [ + "2016-08-09", + 17.13, + 17.17, + 17.1, + 17.2, + 25.00, + 0, + -0.35, + -0.24, + -0.06 + ], + [ + "2016-08-10", + 17.17, + 17.28, + 17.15, + 17.29, + 18.00, + 0, + -0.31, + -0.17, + -0.01 + ], + [ + "2016-08-11", + 17.3, + 17.45, + 17.26, + 17.87, + 31.00, + 0, + -0.24, + -0.09, + 0.03 + ], + [ + "2016-08-12", + 17.51, + 17.99, + 17.47, + 18.0, + 44.00, + 0, + -0.14, + -0.00, + 0.07 + ], + [ + "2016-08-15", + 18.1, + 18.42, + 18.02, + 18.99, + 81.00, + 0, + -0.09, + 0.04, + 0.09 + ], + [ + "2016-08-16", + 18.64, + 18.31, + 18.12, + 18.87, + 60.00, + 0, + -0.10, + 0.05, + 0.10 + ], + [ + "2016-08-17", + 18.43, + 18.4, + 18.31, + 18.68, + 21.00, + 0, + -0.08, + 0.08, + 0.11 + ], + [ + "2016-08-18", + 18.33, + 18.23, + 18.13, + 18.65, + 32.00, + 0, + -0.07, + 0.09, + 0.13 + ], + [ + "2016-08-19", + 18.34, + 18.62, + 18.31, + 18.75, + 39.00, + 0, + 0.00, + 0.14, + 0.14 + ], + [ + "2016-08-22", + 18.62, + 18.69, + 18.51, + 18.8, + 20.00, + 0, + 0.01, + 0.14, + 0.13 + ], + [ + "2016-08-23", + 18.61, + 18.66, + 18.52, + 19.0, + 28.00, + 0, + 0.01, + 0.14, + 0.13 + ], + [ + "2016-08-24", + 18.66, + 18.62, + 18.43, + 18.7, + 19.00, + 0, + 0.00, + 0.13, + 0.13 + ], + [ + "2016-08-25", + 18.57, + 18.51, + 18.19, + 18.64, + 19.00, + 0, + -0.00, + 0.13, + 0.13 + ], + [ + "2016-08-26", + 18.49, + 18.55, + 18.44, + 18.6, + 16.00, + 0, + 0.01, + 0.13, + 0.13 + ], + [ + "2016-08-29", + 18.46, + 18.27, + 18.03, + 18.48, + 20.00, + 0, + 0.01, + 0.13, + 0.13 + ], + [ + "2016-08-30", + 18.24, + 18.44, + 18.23, + 18.52, + 19.00, + 0, + 0.07, + 0.17, + 0.13 + ], + [ + "2016-08-31", + 18.36, + 18.63, + 18.36, + 18.76, + 15.00, + 0, + 0.13, + 0.18, + 0.12 + ], + [ + "2016-09-01", + 18.6, + 18.62, + 18.55, + 18.78, + 15.00, + 0, + 0.16, + 0.18, + 0.10 + ], + [ + "2016-09-02", + 18.52, + 18.68, + 18.48, + 18.72, + 17.00, + 0, + 0.19, + 0.17, + 0.08 + ], + [ + "2016-09-05", + 18.68, + 18.75, + 18.57, + 18.82, + 19.00, + 0, + 0.20, + 0.15, + 0.05 + ], + [ + "2016-09-06", + 18.75, + 18.51, + 18.43, + 18.78, + 17.00, + 0, + 0.18, + 0.11, + 0.02 + ], + [ + "2016-09-07", + 18.51, + 18.56, + 18.4, + 18.62, + 17.00, + 0, + 0.17, + 0.08, + -0.00 + ], + [ + "2016-09-08", + 18.58, + 18.53, + 18.48, + 18.63, + 8.00, + 0, + 0.13, + 0.04, + -0.03 + ], + [ + "2016-09-09", + 18.52, + 18.33, + 18.31, + 18.57, + 8.00, + 0, + 0.06, + -0.02, + -0.05 + ], + [ + "2016-09-12", + 18.16, + 17.9, + 17.81, + 18.18, + 28.00, + 0, + -0.02, + -0.07, + -0.06 + ], + [ + "2016-09-13", + 17.91, + 17.91, + 17.9, + 18.08, + 13.00, + 0, + -0.05, + -0.08, + -0.05 + ], + [ + "2016-09-14", + 17.99, + 17.54, + 17.48, + 17.99, + 22.00, + 0, + -0.09, + -0.09, + -0.05 + ], + [ + "2016-09-19", + 17.55, + 17.81, + 17.55, + 17.88, + 16.00, + 0, + -0.06, + -0.06, + -0.03 + ], + [ + "2016-09-20", + 17.8, + 17.74, + 17.67, + 17.85, + 10.00, + 0, + -0.06, + -0.05, + -0.02 + ], + [ + "2016-09-21", + 17.75, + 17.88, + 17.75, + 17.95, + 7.00, + 0, + -0.03, + -0.03, + -0.02 + ], + [ + "2016-09-22", + 17.99, + 17.97, + 17.88, + 18.17, + 12.00, + 0, + -0.02, + -0.02, + -0.01 + ], + [ + "2016-09-23", + 17.99, + 17.98, + 17.93, + 18.09, + 13.00, + 0, + -0.01, + -0.01, + -0.01 + ], + [ + "2016-09-26", + 17.91, + 18.0, + 17.85, + 18.09, + 14.00, + 0, + -0.00, + -0.01, + -0.01 + ], + [ + "2016-09-27", + 17.97, + 18.07, + 17.94, + 18.1, + 10.00, + 0, + 0.00, + -0.01, + -0.01 + ], + [ + "2016-09-28", + 18.06, + 17.89, + 17.83, + 18.06, + 10.00, + 0, + -0.00, + -0.01, + -0.01 + ], + [ + "2016-09-29", + 17.96, + 18.0, + 17.92, + 18.07, + 10.00, + 0, + 0.03, + 0.01, + -0.01 + ], + [ + "2016-09-30", + 17.96, + 18.0, + 17.95, + 18.1, + 8.00, + 0, + 0.06, + 0.02, + -0.01 + ], + [ + "2016-10-10", + 18.03, + 18.3, + 18.03, + 18.38, + 19.00, + 0, + 0.11, + 0.04, + -0.02 + ], + [ + "2016-10-11", + 18.33, + 18.33, + 18.26, + 18.49, + 12.00, + 0, + 0.10, + 0.02, + -0.04 + ], + [ + "2016-10-12", + 18.28, + 18.15, + 18.1, + 18.31, + 10.00, + 0, + 0.07, + -0.02, + -0.05 + ], + [ + "2016-10-13", + 18.15, + 18.09, + 18.05, + 18.21, + 10.00, + 0, + 0.06, + -0.03, + -0.06 + ], + [ + "2016-10-14", + 18.1, + 18.1, + 18.0, + 18.15, + 12.00, + 0, + 0.04, + -0.05, + -0.07 + ], + [ + "2016-10-17", + 18.07, + 17.86, + 17.83, + 18.1, + 12.00, + 0, + 0.01, + -0.07, + -0.08 + ], + [ + "2016-10-18", + 17.86, + 17.93, + 17.84, + 17.99, + 14.00, + 0, + 0.03, + -0.07, + -0.08 + ], + [ + "2016-10-19", + 17.93, + 17.88, + 17.83, + 18.05, + 11.00, + 0, + 0.03, + -0.07, + -0.08 + ], + [ + "2016-10-20", + 17.9, + 17.89, + 17.83, + 17.98, + 12.00, + 0, + 0.05, + -0.06, + -0.09 + ], + [ + "2016-10-21", + 17.91, + 17.91, + 17.82, + 17.93, + 12.00, + 0, + 0.07, + -0.06, + -0.09 + ], + [ + "2016-10-24", + 17.93, + 18.31, + 17.86, + 18.42, + 29.00, + 0, + 0.11, + -0.05, + -0.10 + ], + [ + "2016-10-25", + 18.31, + 18.13, + 18.09, + 18.46, + 19.00, + 0, + 0.06, + -0.09, + -0.12 + ], + [ + "2016-10-26", + 18.12, + 17.97, + 17.95, + 18.15, + 14.00, + 0, + 0.02, + -0.12, + -0.13 + ], + [ + "2016-10-27", + 18.06, + 17.81, + 17.77, + 18.06, + 21.00, + 0, + -0.01, + -0.13, + -0.13 + ], + [ + "2016-10-28", + 17.8, + 17.9, + 17.8, + 18.05, + 20.00, + 0, + -0.01, + -0.13, + -0.13 + ], + [ + "2016-10-31", + 17.87, + 17.86, + 17.72, + 17.96, + 12.00, + 0, + -0.02, + -0.14, + -0.13 + ], + [ + "2016-11-01", + 17.87, + 17.98, + 17.79, + 17.99, + 18.00, + 0, + -0.03, + -0.14, + -0.12 + ], + [ + "2016-11-02", + 17.86, + 17.84, + 17.76, + 17.94, + 30.00, + 0, + -0.06, + -0.15, + -0.12 + ], + [ + "2016-11-03", + 17.83, + 17.93, + 17.79, + 17.97, + 27.00, + 0, + -0.07, + -0.14, + -0.11 + ], + [ + "2016-11-04", + 17.9, + 17.91, + 17.87, + 18.0, + 26.00, + 0, + -0.09, + -0.15, + -0.10 + ], + [ + "2016-11-07", + 17.91, + 17.89, + 17.85, + 17.93, + 20.00, + 0, + -0.11, + -0.14, + -0.09 + ], + [ + "2016-11-08", + 17.92, + 17.99, + 17.89, + 18.06, + 26.00, + 0, + -0.12, + -0.13, + -0.07 + ], + [ + "2016-11-09", + 18.0, + 17.89, + 17.77, + 18.08, + 34.00, + 0, + -0.15, + -0.13, + -0.06 + ], + [ + "2016-11-10", + 17.95, + 18.0, + 17.94, + 18.11, + 27.00, + 0, + -0.15, + -0.11, + -0.03 + ], + [ + "2016-11-11", + 17.95, + 18.02, + 17.93, + 18.08, + 27.00, + 0, + -0.17, + -0.10, + -0.01 + ], + [ + "2016-11-14", + 18.0, + 18.04, + 17.95, + 18.25, + 35.00, + 0, + -0.18, + -0.08, + 0.01 + ], + [ + "2016-11-15", + 18.1, + 18.18, + 18.03, + 18.24, + 25.00, + 0, + -0.18, + -0.06, + 0.04 + ], + [ + "2016-11-16", + 18.23, + 18.12, + 18.05, + 18.29, + 23.00, + 0, + -0.21, + -0.04, + 0.06 + ], + [ + "2016-11-17", + 18.11, + 18.12, + 18.01, + 18.14, + 27.00, + 0, + -0.21, + -0.01, + 0.09 + ], + [ + "2016-11-18", + 18.12, + 18.1, + 18.03, + 18.16, + 18.00, + 0, + -0.19, + 0.03, + 0.12 + ], + [ + "2016-11-21", + 18.08, + 18.34, + 18.08, + 18.68, + 41.00, + 0, + -0.13, + 0.08, + 0.15 + ], + [ + "2016-11-22", + 18.37, + 18.37, + 18.28, + 18.49, + 52.00, + 0, + -0.09, + 0.12, + 0.17 + ], + [ + "2016-11-23", + 18.4, + 18.84, + 18.37, + 18.9, + 66.00, + 0, + -0.02, + 0.17, + 0.18 + ], + [ + "2016-11-24", + 18.77, + 18.74, + 18.61, + 18.97, + 26.00, + 0, + -0.02, + 0.17, + 0.18 + ], + [ + "2016-11-25", + 18.8, + 18.99, + 18.66, + 19.02, + 40.00, + 0, + -0.01, + 0.18, + 0.19 + ], + [ + "2016-11-28", + 19.1, + 18.65, + 18.52, + 19.2, + 85.00, + 0, + -0.06, + 0.16, + 0.19 + ], + [ + "2016-11-29", + 18.65, + 18.75, + 18.51, + 18.76, + 49.00, + 0, + -0.06, + 0.17, + 0.20 + ], + [ + "2016-11-30", + 18.76, + 18.55, + 18.47, + 18.82, + 39.00, + 0, + -0.08, + 0.17, + 0.21 + ], + [ + "2016-12-01", + 18.55, + 18.49, + 18.41, + 18.64, + 53.00, + 0, + -0.06, + 0.19, + 0.22 + ], + [ + "2016-12-02", + 18.53, + 18.49, + 18.24, + 18.54, + 48.00, + 0, + -0.02, + 0.21, + 0.23 + ], + [ + "2016-12-05", + 18.39, + 18.66, + 18.34, + 18.67, + 50.00, + 0, + 0.03, + 0.25, + 0.23 + ], + [ + "2016-12-06", + 18.66, + 18.6, + 18.57, + 18.78, + 31.00, + 0, + 0.08, + 0.26, + 0.23 + ], + [ + "2016-12-07", + 18.65, + 18.62, + 18.58, + 18.71, + 12.00, + 0, + 0.15, + 0.29, + 0.21 + ], + [ + "2016-12-08", + 18.67, + 18.76, + 18.62, + 18.88, + 26.00, + 0, + 0.25, + 0.32, + 0.19 + ], + [ + "2016-12-09", + 18.76, + 19.2, + 18.75, + 19.34, + 62.00, + 0, + 0.34, + 0.33, + 0.16 + ], + [ + "2016-12-12", + 19.16, + 19.25, + 18.9, + 19.65, + 79.00, + 1, + 0.34, + 0.28, + 0.11 + ], + [ + "2016-12-13", + 19.09, + 18.88, + 18.81, + 19.2, + 24.00, + 0, + 0.27, + 0.20, + 0.06 + ], + [ + "2016-12-14", + 18.8, + 18.82, + 18.8, + 19.14, + 32.00, + 0, + 0.23, + 0.13, + 0.02 + ], + [ + "2016-12-15", + 18.73, + 18.24, + 18.2, + 18.73, + 36.00, + 0, + 0.13, + 0.05, + -0.01 + ], + [ + "2016-12-16", + 18.24, + 18.18, + 18.12, + 18.4, + 24.00, + 0, + 0.10, + 0.02, + -0.03 + ], + [ + "2016-12-19", + 18.15, + 18.01, + 17.93, + 18.18, + 24.00, + 0, + 0.06, + -0.02, + -0.05 + ], + [ + "2016-12-20", + 17.99, + 17.79, + 17.7, + 17.99, + 29.00, + 1, + 0.02, + -0.05, + -0.05 + ], + [ + "2016-12-21", + 17.83, + 17.81, + 17.77, + 17.98, + 30.00, + 0, + 0.00, + -0.05, + -0.06 + ], + [ + "2016-12-22", + 17.85, + 17.72, + 17.65, + 17.85, + 21.00, + 0, + -0.03, + -0.07, + -0.06 + ], + [ + "2016-12-23", + 17.77, + 17.6, + 17.54, + 17.77, + 18.00, + 0, + -0.04, + -0.08, + -0.05 + ], + [ + "2016-12-26", + 17.56, + 17.75, + 17.39, + 17.77, + 16.00, + 0, + -0.04, + -0.07, + -0.05 + ], + [ + "2016-12-27", + 17.73, + 17.71, + 17.65, + 17.82, + 10.00, + 0, + -0.06, + -0.07, + -0.04 + ], + [ + "2016-12-28", + 17.72, + 17.62, + 17.49, + 17.77, + 26.00, + 0, + -0.09, + -0.07, + -0.03 + ], + [ + "2016-12-29", + 17.6, + 17.49, + 17.43, + 17.62, + 28.00, + 0, + -0.09, + -0.06, + -0.02 + ], + [ + "2016-12-30", + 17.53, + 17.6, + 17.47, + 17.61, + 22.00, + 0, + -0.05, + -0.03, + -0.01 + ], + [ + "2017-01-03", + 17.6, + 17.92, + 17.57, + 17.98, + 28.00, + 1, + 0.00, + 0.00, + 0.00 + ] + ] +} diff --git a/public/config/jzx.json b/public/config/jzx.json new file mode 100644 index 0000000..eb41f90 --- /dev/null +++ b/public/config/jzx.json @@ -0,0 +1,194 @@ +{ + "status": "success", + "message": "OK", + "data": { + "locations": [ + { + "id": 1, + "name": "Corinto", + "state": "Departamento de Chinandega", + "country": "Nicaragua", + "country_code": "NI", + "locode": null, + "lat": 12.4825, + "lng": -87.17304 + }, + { + "id": 2, + "name": "Managua", + "state": "Departamento de Managua", + "country": "Nicaragua", + "country_code": "NI", + "locode": "NIMGA", + "lat": 12.13282, + "lng": -86.2504 + }, + { + "id": 3, + "name": "Shekou", + "state": "Guangdong Sheng", + "country": "China", + "country_code": "CN", + "locode": "CNSHK", + "lat": 22.49359, + "lng": 113.9156 + }, + { + "id": 4, + "name": "Manzanillo", + "state": "Estado de Colima", + "country": "Mexico", + "country_code": "MX", + "locode": "MXZLO", + "lat": 19.11695, + "lng": -104.34214 + }, + { + "id": 5, + "name": "Balboa", + "state": "Provincia de Panama", + "country": "Panama", + "country_code": "PA", + "locode": "PABLB", + "lat": 8.94814, + "lng": -79.56672 + } + ], + "vessels": [ + { + "id": 1, + "name": "MSC PHOENIX", + "imo": "9267649", + "call_sign": "D5HF8", + "mmsi": "636016672", + "flag": "LR" + }, + { + "id": 2, + "name": "MELBOURNE STRAIT", + "imo": "9362736", + "call_sign": "D5GX2", + "mmsi": "636016590", + "flag": "LR" + }, + { + "id": 3, + "name": "VARAMO", + "imo": "9395044", + "call_sign": "C4SQ2", + "mmsi": "210950000", + "flag": "CY" + } + ], + "container": { + "number": "MSCU4634930", + "iso_code": "42V0", + "events": [ + { + "id": 1, + "location": 3, + "description": "Empty to Shipper", + "status": "CEP", + "date": "2021-10-22T00:00:00", + "actual": true, + "type": "land", + "vessel": null, + "voyage": null, + "vesselCompliance": null, + "locationCompliance": 0 + }, + { + "id": 2, + "location": 3, + "description": "Export received at CY", + "status": "LTS", + "date": "2021-10-24T00:00:00", + "actual": true, + "type": "land", + "vessel": null, + "voyage": null, + "vesselCompliance": null, + "locationCompliance": 0 + }, + { + "id": 3, + "location": 3, + "description": "Export Loaded on Vessel", + "status": "CLL", + "date": "2021-11-04T00:00:00", + "actual": true, + "type": "sea", + "vessel": 1, + "voyage": "XA142A", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "id": 4, + "location": 4, + "description": "Full Transshipment Discharged", + "status": "CDT", + "date": "2021-11-28T00:00:00", + "actual": true, + "type": "sea", + "vessel": 1, + "voyage": "XA142A", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "id": 5, + "location": 4, + "description": "Full Transshipment Loaded", + "status": "CLT", + "date": "2021-12-20T00:00:00", + "actual": true, + "type": "sea", + "vessel": 2, + "voyage": "419S", + "vesselCompliance": 1, + "locationCompliance": 0 + }, + { + "id": 6, + "location": 5, + "description": "Full Transshipment Discharged", + "status": "CDT", + "date": "2022-01-03T00:00:00", + "actual": true, + "type": "sea", + "vessel": 2, + "voyage": "419N", + "vesselCompliance": 1, + "locationCompliance": 0 + }, + { + "id": 7, + "location": 5, + "description": "Full Transshipment Loaded", + "status": "CLT", + "date": "2022-01-04T00:00:00", + "actual": true, + "type": "sea", + "vessel": 3, + "voyage": "21025N", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "id": 8, + "location": 1, + "description": "Import Discharged from Vessel", + "status": "CDD", + "date": "2022-01-10T00:00:00", + "actual": true, + "type": "sea", + "vessel": 3, + "voyage": "21025R", + "vesselCompliance": 0, + "locationCompliance": 0 + } + ] + } + } +} diff --git a/public/config/menu.json b/public/config/menu.json new file mode 100644 index 0000000..dac54b3 --- /dev/null +++ b/public/config/menu.json @@ -0,0 +1,165 @@ +{ + "menu": [ + { + "index": "1", + "name": "轨迹记录", + "nameEn": "Voyage History", + "title": "轨迹记录", + "icon": "/img/Voyage-History.png", + "type": "TrackRecordLogTemp", + "open": false, + "children": [] + }, + { + "index": "2", + "name": "区域列表", + "nameEn": "Area List", + "title": "区域列表", + "icon": "/menu-icon/areaList.svg", + "type": "AreaListTemp", + "open": true, + "children": [] + }, + { + "index": "3", + "name": "搜索记录", + "nameEn": "Search History", + "title": "搜索记录", + "icon": "/img/Search-History.png", + "type": "SearchListTemp", + "open": false, + "children": [] + }, + { + "index": "4", + "name": "数据分析", + "nameEn": "Data Analysis", + "title": "数据分析", + "icon": "/menu-icon/dataAnalysis.svg", + "type": "DataAnalysisTemp", + "open": false, + "children": [] + }, + { + "index": "5", + "name": "地图工具", + "nameEn": "Map Selection", + "title": "地图工具", + "icon": "/img/Map-Selection.png", + "type": "MapToolTemp", + "open": false, + "children": [] + }, + { + "index": "6", + "name": "全部船队", + "nameEn": "My Fleets", + "title": "全部船队", + "icon": "/img/All-Fleets.png", + "type": "ShipRanksTemp", + "open": true, + "children": [] + }, + { + "index": "7", + "name": "海况天气", + "nameEn": "Marine Weather", + "title": "海况天气", + "icon": "/img/Weather.png", + "type": "WeatherTemp", + "open": false, + "children": [] + }, + { + "index": "8", + "name": "航线查询", + "nameEn": "Voyage", + "title": "航线查询", + "icon": "/img/Voyage.png", + "type": "RouteQueryTemp", + "open": false, + "children": [] + }, + { + "index": "9", + "name": "集装箱查询", + "nameEn": "Container Module", + "title": "集装箱查询", + "icon": "/menu-icon/jizhuangxiang.png", + "type": "ContainerQueryTemp", + "open": false, + "children": [] + }, + { + "index": "10", + "name": "港口信息", + "nameEn": "Ship Movement", + "title": "在港动态", + "icon": "/img/Ship-Movement.png", + "type": "ArriveLeaveQueryTemp", + "open": false, + "children": [ + { + "index": "10-3", + "name": "预计到港", + "nameEn": "Arriving", + "title": "预计到港", + "icon": "/menu-icon/port4.png", + "type": "ExpectedArrivalTemp", + "open": true, + "children": [] + }, + { + "index": "10-1", + "name": "到港查询", + "nameEn": "Arrived", + "title": "到港查询", + "icon": "/menu-icon/port4.png", + "type": "ArriveLeaveQueryTemp", + "open": true, + "children": [] + }, + { + "index": "10-2", + "name": "离港查询", + "nameEn": "Departured", + "title": "离港查询", + "icon": "/menu-icon/port4.png", + "type": "DepartureInquiryTemp", + "open": true, + "children": [] + }, + { + "index": "10-5", + "name": "在泊统计", + "nameEn": "Ship at Berths", + "title": "在泊统计", + "icon": "/menu-icon/mapTool.svg", + "type": "NumberOfBerthsTemp", + "open": true, + "children": [] + }, + { + "index": "10-4", + "name": "原油港口", + "nameEn": "Crude Oil Port", + "title": "原油港口", + "icon": "/menu-icon/mapTool.svg", + "type": "ArriveLeaveQueryTemp", + "open": false, + "children": [] + } + ] + }, + { + "index": "11", + "name": "航行通告", + "nameEn": "Voyage Notices", + "title": "航行通告", + "icon": "/menu-icon/port3.png", + "type": "NotanTemp", + "open": false, + "children": [] + } + ] +} diff --git a/public/config/sys-config.json b/public/config/sys-config.json new file mode 100644 index 0000000..acad9a8 --- /dev/null +++ b/public/config/sys-config.json @@ -0,0 +1,10 @@ +{ + "projectName": "zero2", + "title": "海南零关税交通工具监管系统", + "appKey": "4b9d580cc20f41398959c18ac1561350", + "publicKey": "MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAKSETfiTgz/BfdoOHsalLwT9Ovyb4eLL8OLLcs7c5pEaL3/FQG44L806IyWBzKlkYZHzb/qXC4I6paaW3hRIXYrurdAd7Yh72Rk4s/+k/M7kbQllaFs+xbHRfQr0ztuk2ezPNJP4LlBsyPlOYU0fD3hDS2WVH27gUECZhTgxk58dAgMBAAECgYA3B9KVDbLfhre0UvjUdbiusI4kpXf/xzxCgM9chuPRMbMlyDNvKvhCa+oJx8tP9jX0/js81X2SCFAU025h1nsDTX64p7VqfZyiknQVDzapBLpkYT16EjOJ4Fj640IoGjLEmVNkuq/QJxG2QSSDFqSIlhmJMDpWuNZ3b57r7kBQQQJBAOxChIa9JN1AVlnJKaJlrBf1/mlqfhSXJQnwy8TfoeJ1NMiTwKa2QXZsrA/YMiO4ZwyYMevr1eDGfvz5MOv+pekCQQCyQz0g5HU9rnTTxOOQhnUWXmnJ60ftOnvTH0dh2z2h2VjZ2xLSLMwP0dWtZTSK6TY5jEbEvkWO+VKOD/gTtwsVAkBcpPzY5SSmigsSbDqiTuI8Bx97cOH96wMAMeeFzPfrGHDZUm8SMJfc+2JBWFLZBP+LxcaVr8YPvWaghorzj8i5AkBWTy3iphqJ0dToz7Rqvl8khHPt+sfpeV6ImuVh4NfXbDeTy3kyX9QxeKRfftfQxhemB2AgVAuzrM2m0N6JFR/9AkAU9WQUI5wK5DkQxxinQf7bWt7adORSMPK7dANUtWeTAog985g9bwXhiYHrvA3DW0Ca3DVZkfqMdblekciO9XSH", + "defaultLanguage": "Chinese", + "map": { + "weatherLayerOpacity": 0.8 + } +} diff --git a/public/config/td.json b/public/config/td.json new file mode 100644 index 0000000..d3217db --- /dev/null +++ b/public/config/td.json @@ -0,0 +1,756 @@ +{ + "status": "success", + "message": "OK", + "data": { + "locations": [ + { + "id": 1, + "name": "Busan", + "state": "Busan", + "country": "South Korea", + "country_code": "KR", + "locode": "KRPUS", + "lat": 35.10168, + "lng": 129.03004 + }, + { + "id": 2, + "name": "Shanghai", + "state": "Shanghai Shi", + "country": "China", + "country_code": "CN", + "locode": "CNSHG", + "lat": 31.366365, + "lng": 121.61475 + }, + { + "id": 3, + "name": "Gumi", + "state": "Gyeongsangbuk-do", + "country": "South Korea", + "country_code": "KR", + "locode": "KRKUI", + "lat": 36.1136, + "lng": 128.336 + } + ], + "vessels": [ + { + "id": 1, + "name": "SEABREEZE", + "imo": "9472579", + "call_sign": "5LCI2", + "mmsi": "636021108", + "flag": "LR" + } + ], + "containers": [ + { + "number": "BSIU9807691", + "iso_code": "42V0", + "events": [ + { + "location": 3, + "description": "Empty Container Release to Shipper", + "status": "CEP", + "date": "2021-12-20T13:39:00", + "actual": true, + "type": "land", + "vessel": null, + "voyage": null, + "vesselCompliance": null, + "locationCompliance": 0 + }, + { + "location": 1, + "description": "Gate In to Outbound Terminal", + "status": "CGI", + "date": "2021-12-29T21:00:00", + "actual": true, + "type": "land", + "vessel": null, + "voyage": null, + "vesselCompliance": null, + "locationCompliance": 0 + }, + { + "location": 1, + "description": "Loaded on at Port of Loading", + "status": "CLL", + "date": "2021-12-31T16:14:00", + "actual": true, + "type": "sea", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 1, + "description": "Departure from Port of Loading", + "status": "VDL", + "date": "2022-01-01T00:00:00", + "actual": true, + "type": "sea", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "Arrival at Port of Discharging", + "status": "VAD", + "date": "2022-01-02T04:30:00", + "actual": true, + "type": "sea", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "POD Berthing Destination", + "status": "UNK", + "date": "2022-01-02T09:30:00", + "actual": true, + "type": "land", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "Unloaded from at Port of Discharging", + "status": "CDD", + "date": "2022-01-02T10:22:00", + "actual": true, + "type": "sea", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "Gate Out from Inbound Terminal for Delivery to Consignee (or Port Shuttle)", + "status": "CGO", + "date": "2022-01-07T06:38:00", + "actual": true, + "type": "land", + "vessel": null, + "voyage": null, + "vesselCompliance": null, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "Empty Container Returned from Customer", + "status": "CER", + "date": "2022-01-07T12:49:00", + "actual": true, + "type": "land", + "vessel": null, + "voyage": null, + "vesselCompliance": null, + "locationCompliance": 0 + } + ] + }, + { + "number": "GAOU6639366", + "iso_code": "42V0", + "events": [ + { + "location": 3, + "description": "Empty Container Release to Shipper", + "status": "CEP", + "date": "2021-12-17T11:37:00", + "actual": true, + "type": "land", + "vessel": null, + "voyage": null, + "vesselCompliance": null, + "locationCompliance": 0 + }, + { + "location": 1, + "description": "Gate In to Outbound Terminal", + "status": "CGI", + "date": "2021-12-29T16:53:00", + "actual": true, + "type": "land", + "vessel": null, + "voyage": null, + "vesselCompliance": null, + "locationCompliance": 0 + }, + { + "location": 1, + "description": "Loaded on at Port of Loading", + "status": "CLL", + "date": "2021-12-31T16:51:00", + "actual": true, + "type": "sea", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 1, + "description": "Departure from Port of Loading", + "status": "VDL", + "date": "2022-01-01T00:00:00", + "actual": true, + "type": "sea", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "Arrival at Port of Discharging", + "status": "VAD", + "date": "2022-01-02T04:30:00", + "actual": true, + "type": "sea", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "POD Berthing Destination", + "status": "UNK", + "date": "2022-01-02T09:30:00", + "actual": true, + "type": "land", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "Unloaded from at Port of Discharging", + "status": "CDD", + "date": "2022-01-02T10:00:00", + "actual": true, + "type": "sea", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "Gate Out from Inbound Terminal for Delivery to Consignee (or Port Shuttle)", + "status": "CGO", + "date": "2022-01-08T05:56:00", + "actual": true, + "type": "land", + "vessel": null, + "voyage": null, + "vesselCompliance": null, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "Empty Container Returned from Customer", + "status": "CER", + "date": "2022-01-08T11:28:00", + "actual": true, + "type": "land", + "vessel": null, + "voyage": null, + "vesselCompliance": null, + "locationCompliance": 0 + } + ] + }, + { + "number": "TRHU8216084", + "iso_code": "42V0", + "events": [ + { + "location": 3, + "description": "Empty Container Release to Shipper", + "status": "CEP", + "date": "2021-12-17T11:37:00", + "actual": true, + "type": "land", + "vessel": null, + "voyage": null, + "vesselCompliance": null, + "locationCompliance": 0 + }, + { + "location": 1, + "description": "Gate In to Outbound Terminal", + "status": "CGI", + "date": "2021-12-29T18:21:00", + "actual": true, + "type": "land", + "vessel": null, + "voyage": null, + "vesselCompliance": null, + "locationCompliance": 0 + }, + { + "location": 1, + "description": "Loaded on at Port of Loading", + "status": "CLL", + "date": "2021-12-31T16:57:00", + "actual": true, + "type": "sea", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 1, + "description": "Departure from Port of Loading", + "status": "VDL", + "date": "2022-01-01T00:00:00", + "actual": true, + "type": "sea", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "Arrival at Port of Discharging", + "status": "VAD", + "date": "2022-01-02T04:30:00", + "actual": true, + "type": "sea", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "POD Berthing Destination", + "status": "UNK", + "date": "2022-01-02T09:30:00", + "actual": true, + "type": "land", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "Unloaded from at Port of Discharging", + "status": "CDD", + "date": "2022-01-02T09:57:00", + "actual": true, + "type": "sea", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "Gate Out from Inbound Terminal for Delivery to Consignee (or Port Shuttle)", + "status": "CGO", + "date": "2022-01-08T09:28:00", + "actual": true, + "type": "land", + "vessel": null, + "voyage": null, + "vesselCompliance": null, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "Empty Container Returned from Customer", + "status": "CER", + "date": "2022-01-08T14:08:00", + "actual": true, + "type": "land", + "vessel": null, + "voyage": null, + "vesselCompliance": null, + "locationCompliance": 0 + } + ] + }, + { + "number": "TRHU7278950", + "iso_code": "42V0", + "events": [ + { + "location": 3, + "description": "Empty Container Release to Shipper", + "status": "CEP", + "date": "2021-12-20T13:40:00", + "actual": true, + "type": "land", + "vessel": null, + "voyage": null, + "vesselCompliance": null, + "locationCompliance": 0 + }, + { + "location": 1, + "description": "Gate In to Outbound Terminal", + "status": "CGI", + "date": "2021-12-29T21:28:00", + "actual": true, + "type": "land", + "vessel": null, + "voyage": null, + "vesselCompliance": null, + "locationCompliance": 0 + }, + { + "location": 1, + "description": "Loaded on at Port of Loading", + "status": "CLL", + "date": "2021-12-31T16:05:00", + "actual": true, + "type": "sea", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 1, + "description": "Departure from Port of Loading", + "status": "VDL", + "date": "2022-01-01T00:00:00", + "actual": true, + "type": "sea", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "Arrival at Port of Discharging", + "status": "VAD", + "date": "2022-01-02T04:30:00", + "actual": true, + "type": "sea", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "POD Berthing Destination", + "status": "UNK", + "date": "2022-01-02T09:30:00", + "actual": true, + "type": "land", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "Unloaded from at Port of Discharging", + "status": "CDD", + "date": "2022-01-02T10:26:00", + "actual": true, + "type": "sea", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "Gate Out from Inbound Terminal for Delivery to Consignee (or Port Shuttle)", + "status": "CGO", + "date": "2022-01-08T06:54:00", + "actual": true, + "type": "land", + "vessel": null, + "voyage": null, + "vesselCompliance": null, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "Empty Container Returned from Customer", + "status": "CER", + "date": "2022-01-08T13:29:00", + "actual": true, + "type": "land", + "vessel": null, + "voyage": null, + "vesselCompliance": null, + "locationCompliance": 0 + } + ] + }, + { + "number": "TRHU8041896", + "iso_code": "42V0", + "events": [ + { + "location": 3, + "description": "Empty Container Release to Shipper", + "status": "CEP", + "date": "2021-12-17T11:37:00", + "actual": true, + "type": "land", + "vessel": null, + "voyage": null, + "vesselCompliance": null, + "locationCompliance": 0 + }, + { + "location": 1, + "description": "Gate In to Outbound Terminal", + "status": "CGI", + "date": "2021-12-29T17:41:00", + "actual": true, + "type": "land", + "vessel": null, + "voyage": null, + "vesselCompliance": null, + "locationCompliance": 0 + }, + { + "location": 1, + "description": "Loaded on at Port of Loading", + "status": "CLL", + "date": "2021-12-31T19:29:00", + "actual": true, + "type": "sea", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 1, + "description": "Departure from Port of Loading", + "status": "VDL", + "date": "2022-01-01T00:00:00", + "actual": true, + "type": "sea", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "Arrival at Port of Discharging", + "status": "VAD", + "date": "2022-01-02T04:30:00", + "actual": true, + "type": "sea", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "POD Berthing Destination", + "status": "UNK", + "date": "2022-01-02T09:30:00", + "actual": true, + "type": "land", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "Unloaded from at Port of Discharging", + "status": "CDD", + "date": "2022-01-02T10:30:00", + "actual": true, + "type": "sea", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "Gate Out from Inbound Terminal for Delivery to Consignee (or Port Shuttle)", + "status": "CGO", + "date": "2022-01-07T14:30:00", + "actual": true, + "type": "land", + "vessel": null, + "voyage": null, + "vesselCompliance": null, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "Empty Container Returned from Customer", + "status": "CER", + "date": "2022-01-08T06:57:00", + "actual": true, + "type": "land", + "vessel": null, + "voyage": null, + "vesselCompliance": null, + "locationCompliance": 0 + } + ] + }, + { + "number": "TGBU5312141", + "iso_code": "42V0", + "events": [ + { + "location": 3, + "description": "Empty Container Release to Shipper", + "status": "CEP", + "date": "2021-12-20T13:39:00", + "actual": true, + "type": "land", + "vessel": null, + "voyage": null, + "vesselCompliance": null, + "locationCompliance": 0 + }, + { + "location": 1, + "description": "Gate In to Outbound Terminal", + "status": "CGI", + "date": "2021-12-29T19:27:00", + "actual": true, + "type": "land", + "vessel": null, + "voyage": null, + "vesselCompliance": null, + "locationCompliance": 0 + }, + { + "location": 1, + "description": "Loaded on at Port of Loading", + "status": "CLL", + "date": "2021-12-31T16:43:00", + "actual": true, + "type": "sea", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 1, + "description": "Departure from Port of Loading", + "status": "VDL", + "date": "2022-01-01T00:00:00", + "actual": true, + "type": "sea", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "Arrival at Port of Discharging", + "status": "VAD", + "date": "2022-01-02T04:30:00", + "actual": true, + "type": "sea", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "POD Berthing Destination", + "status": "UNK", + "date": "2022-01-02T09:30:00", + "actual": true, + "type": "land", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "Unloaded from at Port of Discharging", + "status": "CDD", + "date": "2022-01-02T10:06:00", + "actual": true, + "type": "sea", + "vessel": 1, + "voyage": "170S", + "vesselCompliance": 0, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "Gate Out from Inbound Terminal for Delivery to Consignee (or Port Shuttle)", + "status": "CGO", + "date": "2022-01-07T07:28:00", + "actual": true, + "type": "land", + "vessel": null, + "voyage": null, + "vesselCompliance": null, + "locationCompliance": 0 + }, + { + "location": 2, + "description": "Empty Container Returned from Customer", + "status": "CER", + "date": "2022-01-07T12:49:00", + "actual": true, + "type": "land", + "vessel": null, + "voyage": null, + "vesselCompliance": null, + "locationCompliance": 0 + } + ] + } + ], + "route": { + "prepol": { + "location": 3, + "date": "2021-12-20T13:39:00", + "actual": true + }, + "pol": { + "location": 1, + "date": "2022-01-01T00:00:00", + "actual": true + }, + "pod": { + "location": 2, + "date": "2022-01-02T04:30:00", + "actual": true + }, + "postpod": { + "location": 2, + "date": "2022-01-02T04:30:00", + "actual": true + } + } + } +} diff --git a/public/country-img/AFG.png b/public/country-img/AFG.png new file mode 100644 index 0000000000000000000000000000000000000000..8f43ed96253af61c5ad20d3c72db04dec836b139 GIT binary patch literal 1904 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 Be_H?m literal 0 HcmV?d00001 diff --git a/public/country-img/AIA.png b/public/country-img/AIA.png new file mode 100644 index 0000000000000000000000000000000000000000..bcae48c833b7b4aa6e4acd2bef2212ce9af33764 GIT binary patch literal 2180 zcmaJ@3pkYN9v`_hh}f|1z6M^E)N^PJ~6-}8Lm`~Sbs@Avy(-v9eN-w|eH zsELuS5ex=1p@&hUpj8dMJh(3Oone>wL5q!o##Tg25)^4183-fsB=I0X7jgJt6v*MF zC*KDHU@%=k7{gYu84(1oM1J3`Bg?B|x@z8;t-y zLKKOCh~JZ9GnfEHA_D;*6vl&#!C?R#7KQcl#^dqsfF}lvL1R48SWgcup5Wz4z+iw+ z4+4rN<0TNHs3D(XL0%w2pioE&Xmnay8Y;~TC6V#bSU*2Mt%j$k2ZZpDr;8OFrH5GV zysSV4zEGw3OY7^8jw2~u5V^J7wNy|V6aA|O6WDC7~y-Z(skilzB@({NZU&D+n5jHQst zcyA0YgzOpOz09RbxG5q~tXSsq{@{kJ$kh&lND4)!f-+$$$P1B4M8L;_3Br|gp{%I) ziOX9#7wU>!G?WZld#wL)%*$KQ>}bu;Lkl^d#~u_zvo3>%y2t(z9l8)0W<(6_-PHJe zBj6O@pPE|nU~%~V?qA2Rve`#QT5pt}3hwNAK0Yw`0H(9Fw4?(|s4i}i!(e)M z=~PmTvVWqo`1l224ULtN+h4S_)M7_;M21QC+1Ka1K6OkaZ{1}`dQ$S}p2UZ#7X|wnyi$ zvA}3)Gv2Wi1Gv%4-!xeM@?EaARbF+sW!ODC4M(YJM+!?8FXMZFTSgZHrn?3Tvv<{f zF}35+aq7Kas`HEQ$41PorOh-sxI~_f9zHU5>IV|9 zk5tg$d$x+vvLW_E!1+r5m)w(GHq}*()6S3A|HE!wokQW+%^dfL-EG!45@}zzHB=7O z=)}r`dVU(s>g+v`kjky~&%d(vMT1g!t%!PJt!an*Uk*gxFF3d*=*%(RNb@Yy+ztLW zxY}Z-F-p}at8%U1g>X>xP8x(?Dm3T4*(%tdzRo4K2}5e3u2W#&Pj0^FT`(1y?cxgb z?RG6+c;AG~M%3^xuT7BJ+;PcSb3E~x0vGhe!8pdy!aUYI0kxB4T3~d1)*$(-mv@o5 z`Z`$u5)AiUR`NO2%!PK+&Zhb7?G}a8Ib#*L+u`lj$uqIpi0j`A#3ui`i8SI(r}B*rmea)zqmKMoaBbs)KR#W<*RXBO0NhXN=&_y^(;8j zt{+cHvcO1g<5njl)lOFO_bJYM&F<$KzkX>6NGlyG-#R=Du{+nU)2Tn**hiV;1SOV+ z6K4->`8tBcNO>^^?{Fjji9TUZMY}q82|C=1Xh@xh9>K-wRo&C{uKk)?-C@;v`L|Ez z2xg9qxi)tGNM@`nu;B7yv-wuD3sx$fy9Lwexd^S9GXG(V6#$Piffu+K(pCG2jq;0r zar)OH4H;n$bsNlFj*OFrE*ZLnkY8Og8h(CTmHUnPa2UDoJkHD|JJbF~_TaXsr9{Kf z6u{RrXJk{G%?dAcBbT#9QMrxM2TIyen-9vobwQ--}GaskXs>c(65|N)Dj7a~94+W<2Wo(E!>LNH}s3^#|J05{4jAX&90_9$};h;_y`n1RP8Q4nJ#b2-nt7H_}j5 zg{vE=8A6Pq8ql+vnyQ+d=ufT@**$=WC((X#asTET{F1wG1fm}&vk{&`2*l%zDP$t> z$ADpkU)Q4bOTE9jxL?y{#yiVbmT1LZb z1_0pAK^Pg>(#Jn!1^YU;o@}3bRsZEt)*CwUOb@1=MIDX28*xMW#_I#}_l3EXQ3j8_ zOL#t?aP1?J&>DhU3;l4-L3-N0H8402ZKyOOOu`%>xv_h6bEh z`VjzNf7=fL1o?ghuA$#TA4)cBw{XE3{sYG}ap{IiNDGV1*G-Mpg~NhV=arC;PoLFG zdFnpKVDKM$ktfI}8Wo2iI~?1v^-Qa7neAPQRIFLSBgRwU_qGaz22RYy#Xcx~5X(?3 zzaFh3U;7Y#Xp>-3B#FI#sU1@=;B(azzPElmT^*+?Y>R7jj>dOL=WHwxJwqY`P;;l4 z4sjp!MfE3_ZOjFi4oxa5nOBSVnC@(4uhf>ySVx-0nL221qH=YT`#RngL~TR`YUphn z$3qfRfPF8s5y~|p`2Ug{7>nMG((=~0qmq@BcR~J3jLt+dDSoz1i0__kK6pP#Am9ZOp*ming=G%gE2Z z%PdnvykBoXSg0E^nY1cVEK|F5+&#IiC1-~n0V2SEFFP?8ANjrNg_({GFRM#@LVEDV zTx6k;+PzSA`k0Rtd7{dFcd_#NnA#n454lRYYr1Y!EFIR0dgbFGw;NjHxZX8@Qnt`aA-7@+^0g=R7Cy!-g(nSu{!^1F-$a<~xHl*k zi8yo}{g$(LcIBthu}$k#p>c*Qs39$I;o1pg#p<5*(mS+efwdE3Rp39p@Jn-um?&im zIpd>IA95}h)G6HYui;_EMy+<1Y9Aqf_*5L{@9Z6oIwm`{D;#+@S}`8;uJokg6Q&2~ z-f8|Z11B1P>(%sTnyF7%h|3ivQispDd&X4VRpL~PYfjN>TH=9o$JP~~T}NB$LUCP} zjs#x_-%cWWQXZ5SrqtVQOgL<UQCAWP{ zc@%PGyGP4sBbk`N?JP7YKP^1lZ8HG!JNdO8*Xr4ul_4(GtPqWQOGonZl+8W#-?aHm znw;FdnPr(NZnSeMDxbeDGPwZ@ZpnBb5P^7ebMo3s!K1a;_tQ-;bjAf$USmzmuBA`3 zN>I&5{rpF4UrO`NzN_-4Jj*kxyN#SqEp@`^dmz$QS`{0mf}WXWuJb0E}owHVEl^kgxkDyh1>Rw-ihg5cIy4b8i@ zH0CYUJWT(61GUuVFR6c${^$!q2y4H|XR+qvK+Pt?3Ms_{j{X*SVFboFNRndynHX0r0s+*#~m!Rc5q;RlX2>C9g)0LB>E|aU2TQZLo$oPY0tkPG;&|BBmS&{UnPnXGE4 z=(ntn?@v$dJ=MvCT|!+xwL!&kNhzMebvdpxMV{wN@eI429C|9yKRQ`mTCJiTu^WUq^bxtXi@#GemO}AM2+PC{>pnl1=`eC6Y7O#xY9rA1SKB-T>VU)>XAJ9aq zOYs9uV>R9)>wez$L_ZUIx(jpT-Mr_Qw)LAXsK25bN}3Otpp-^0(7_*$c4S$Z!wn@B zts>zXjJ@`oz-xAAv-1KLSqVAMg%WeWztG`4im^HMvPnZEqQ$l_~o*l{8i_#j~Y8K`+W<(+yg$z$S{q3%I)6Qyk z7-wv%q) zj^F)9>G&zrOL*%`x0{z7`RG;;50b;coYHm{s*_&Ew0lhXz=NZo%Q2r3Jw-cdPW( zog>*_n{N~^#Dg1M>j~|liOtS6kLlZFIOra*)vWQ+kZOvK@b}zNEgrx=fxhevpkH z`K?m38x7j+IN6;aKdn^VT5LI>v4S##w!a_AN=sw}Ho%y3zNzf+I=puuZN5kgpUI+! z+vnHAA}ffoXAa|+AMsr%av=|S@h(fO#+)aj<+S7H2e{Xdory!N=$hpFmeO`tA!}Wq za!v44&Ql_5POjaxo?+~DWFTATUL3;w@%Ro0{>OBMURL4VzfMHJSSf4mJsGVVi`tbU z$z78nL2DW9<1z>_^EaF=6X4_6=d7s}-cYJQ=(v?J(;bk$VgM%TD%fFOsAsy4-0h25 zXS#KVZC!R5CHvIIkFQb$ny+A@S#CAWrzBDE5BJoo6CPI#NOu0gm{%O^%%aD`KUeUv zk2*~woyA_L3+2I6#0~UQt@)~-V{l_-5wVusE{drsQ-7_`K$P98+sNF#Y3HM2q|fY4 zm(M#E;h^GTIhWNAYQ>_IBJ}E-!z3zw>*yX!b3FZW@rNc(&lol(z}Hn?qTwwR)3Cnp zt!bBf)06E)^<{kTCKB=qa#>8N(KlbW4lwJuo;s^3D0!PRjR(x;7h~c4orTK&oq5-< zy^$Jf+IwB5#X9i2BStzJbJ@O${nyp>By%TylY!C1FX{~;O3^Y9pq&u95+Y$aEU!>l1V``?9c_EBS}Br=-A)>|Ia-L>suOt8<4B; WM+8a2=GFes8v=gOsN%xq8~+10iev-; literal 0 HcmV?d00001 diff --git a/public/country-img/ALB.png b/public/country-img/ALB.png new file mode 100644 index 0000000000000000000000000000000000000000..e9349a035db6a299673b9838e702ecf8d78c8ea6 GIT binary patch literal 2582 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 H#zp@dl#v#R literal 0 HcmV?d00001 diff --git a/public/country-img/ARE.png b/public/country-img/ARE.png new file mode 100644 index 0000000000000000000000000000000000000000..8ff7122f54963828482e14babca7e0639e0d4685 GIT binary patch literal 1356 zcmeAS@N?(olHy`uVBq!ia0vp^CxEzug9%7le9+nhq$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~;1Ffc1*hD4M^`1)8S=jZArg4F0$^BXQ!4Z zB&DWj=GiK}-@RW+Av48RDcsc8z_-9TH6zobswg$M$}c3jDm&RSMakYy!KT6rXh3di zNuokUZcbjYRfVk**jy_h8zii+qySb@l5ML5aa4qFfP!;=QL2Keo`G(%fti7VnW3Jc zv5C34xsHO7fuVuEfswwUk*=Y+m9dePfq?=PC;@FNN=dT{a&d#&1?1T(Wt5Z@Sn2DR zmzV368|&p4rRy77T3Uk4Ff!5ws?aU2%qvN((9J7WhMC}!TAW;zSx}OhpQivaF)=B> zw8T~k=u(Imatq+b<`qMO2^e7d6^RA6ScR<15XA9#zUSijv*Dd z-rP0xV{#N}cxcY79dTpEji9Ir89q5SQ>2gn5iV1-rZQX^_ZfUA&^;{zS~u1`}ezBK?Ypn6+g1WNI7vUulDf* z(J!vEH%PsYSS~7;XnJj`QA=v2cv$q#d6QNh5(<00<=-BqHDT6aR(Dl>-idOpURmpR zxNmB!>Y8O@ZOUtk3xa%SU6ml#Gfm#Sryn~k%h_YU@%{GOx4sA3Udx|!>^D1;{^_S` z>C>~+!;)|B`@USHY|UnwC_Ev9JE#z0`oq1BRf6HsOq;DSyk6fy<(sFgpUXO@geCx& C9MTg2 literal 0 HcmV?d00001 diff --git a/public/country-img/ARG.png b/public/country-img/ARG.png new file mode 100644 index 0000000000000000000000000000000000000000..a409835b89d0e414880c717fbf52958fcec05d44 GIT binary patch literal 2455 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 literal 0 HcmV?d00001 diff --git a/public/country-img/ASM.png b/public/country-img/ASM.png new file mode 100644 index 0000000000000000000000000000000000000000..354bf3ac2827bbf3b6c0678a3edb0ceb6e9b946a GIT binary patch literal 2152 zcmaJ?Yg7|w8Xibi5)2pwDfw=~Nn(LZwq^bXOXS&7iZX zRPgOXMx&{vGIl60;B72)#UUpmh>A_2q@<*{r7+x->I4eS%gbv?gHCrv5w4nD3Phah zs?azrEASwVL@ie#a-{-XQWVE4lMxOXb^3b>u#r9W2VnnG9S1NZbS5cIxM3kCD zr3&;9V}g-#g;bfMd4m=T*#d{sklrP%B~ZO~P#X%3i!y z)O*X7uIz=oBA0@ip)4Kie;xDk7TP;Y(|1jaF5b00q(FOJjW%^LbG#hA5Z0pLaQ=|N z5D!}3Z?V<0F!kvXKM+Z;U%v(b*^v(YrvQNcUclpqrw)%)O&|ISB=}nP3@_}N%q1#D z14<6hT`E@mlkx272PDzD%v$T`Yt8~4Jw*55OBrW@%#ne+zvjzHiBLQ!ef zNFJba9N3n~;U<>d#SW*o5OV0&ceo+AJe(n0D8XY%fI}i;W!}A*BzoamwW;T>?mg0A zU_nz2n9FFzJM{xt^4HO~d`*RcMP&s;``34t;HQj2hra;uyv#-J>IT10wBGlt*Ag~D zSjr+M*0+x|vvUfIp>3P^7DK}~$-rVTraA~755kw$XJ5hIq3JeOtSa00B=2y5oe2}$ zXlzl0wTQk|w&}!`v^rZ|(lPp%#8_JM(caEuAL*tA`w5S$1v%Mft=eP$fnPNIOO0tNgiHI#3ST1e^I|bZMAdZHCBR@^JoZKy0Z3t=BB00oO zi}`r{BhTobsW=j1R_DU25~RXy30;Gt@ADQnNO8LE@n2lBb`vADvEe7nHF_>F$M8PW zBr^Cvr(i>Eq3`;b1n@`j1JRS!$? zmq^$fB<()aDvsYsDzz z3-rYE%0YemxtrUA1@q?rvcBd`R=zA%v0;7aiy4V0M);NzpZ)s;QhDsxy_{ zI~_Ii_sY|5W9dW8*Rl<{vU}}a-*xo2uirT4&RBrPS^fQc#IN{_*|xuS{)sVrdRO=R zveD$tC6#+(R`9l-c|=Ku_FwR7NE?1j$DOaFcW LKZMup7nk!J2Ebpl literal 0 HcmV?d00001 diff --git a/public/country-img/ATG.png b/public/country-img/ATG.png new file mode 100644 index 0000000000000000000000000000000000000000..3570ae9c08ca11c2064f76b371ee992ebadfb38f GIT binary patch literal 1931 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
(XS;Pu8qjU}S`!~hs}&8p-h67uj9pFwx; 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 literal 0 HcmV?d00001 diff --git a/public/country-img/BDI.png b/public/country-img/BDI.png new file mode 100644 index 0000000000000000000000000000000000000000..43d1708810a13842fcaa30ac4155262aa87d7523 GIT binary patch literal 2191 zcmaJ@c~nzZ9u5Ms$);tqgFM5cvgCyj2xM3U!V)DM2)wWXZK0Hatbzm6#qi=jf@sY(?ZB>gok6TV{j6l0A*t^o<0%*i=7IKfdn{-%lE>*=#^su zF2@TS)4~9ML-BL=uVQ2oUhjco0tjoe56PB(e*E zjK>4-9xR$o$VnvADS_{Dp))URvREu2gJ5Q6CN9$jhX|8EXAcjLbqxZ+2}L-Gq$;1ro(^u{hz|3NT~n@>97dN5VFyOOSE23B_R6?VU`#XMj}Ys#x8~>BVt69 zj0gb#2v;DA%jY1OqPJ)ojZEc>#4J7=rc%7HC?Ch=a>yi-y9>qFm*`3iaCdeNAbL<- zD1m->7hexN$Oc);6&$=uDo z5H{6&$K`D9#br}2h?)V{kM&Q-ys?D#&U*O1Y0=61wukv>uM5$pHkh+jp%(%l77`gS zG5zb!t(LOMt2^49pVwa=r9iPac&`5p&HGnbEeOP3j^XeeA4`gcjqP?_A+N2i>3lfp zhQVkks1)Bw$=I_`KRzP^jP`3qYRt{8b8go+>m+%c!5j1)O;+`p z&YyNtwT-vddRv&Me{g+kP&Q4KR!b_u9_WTqFrh%&-jYF=*Hf^hPzkMCLniaEAO%YR{$bPc739ezLl_dOyA72?)tVu0l zwuR>O-8~7F0Lk*7Pd#Z3YK>*oJuTe*vj18vtjO{?l;uiMTsGLsv3eLl`)ZTvod&vt_<8$SN(zf$0nsZ zRdvv@G}V@UfY@Qb!$tw#8qvFYB9Q?f|6@|It2W_Y59RcT~hT~$OZG{U5?FY`qCqSA; zmCVG;nzZJ|ErlgaIv)+x6T;djyL#uQmD%BHoML*JeeGT=qc#)L58;^d37|qldre(> z@wrXt(Y;y)K4mpPoMu@$W+<9P>5?0B|B9{nXljWPq%k~m@4;aFr%_*1KCjlEZ2g`P zU#2m7*htO&XWNGZH_xkXhN*U6OvCo&9?o2ev*7$xKl-dx8uL=x!}sn=mArEBHK5Eg zjz6n%Gaepztg>4j_TJeso-W^?XWI@`N+K(MA?8};v4l$tLkc^fyLIfM&7rmXrWr}0 zMMB$MRL2ZM#Yg{^j*p(R&SBwt2ds;q^zXK`8TUF|uc8vZMuuMOD9!xxc+aB1?xcb^ zXv&KpwgA0rO0Vb)FGXoB&W7BQ(qrw2`z#K4lGVpf?~6bx!W+X{kP4bj#`H55Pha@{N41ph`#lg}{~kp0S1GMxO}(BJ5IdhL3k$9@ zOqMk}n|kUSCb!GR&Uyqi&zoM58lE%}cJ1|a*r&Mw)!Yx)J?Zqu@;_78ECdD9@fP#&98$!A7fTeY>FFqeg98}{v;!sao)1sk|`rn>aTBYd`< z$VQ;=cxFy+eXTR3z6b28(up=#9XFNPcul0a{O|3M?fJoK)ANI~qq|~rUd1z-8aqJZ zT`-vgDem8jjXNag+)igTH5OIOnuWDD4z#o!i|pgIH3qJ35i;PFMV_JLGb5Suk=dhcRCjgkG=5_fk9!b_7XL zl-NU-lfX!Z2Ocw{q!%uY9CQ*|f#WlWdN_78TeQnG4w4>k!S%>I zcuOOqVf>xyx?^_8>f|KvAC1Gtflq`w328U5;Nsd#aVcLd1;k`DXi&O0I>lOtG8%TM zk4sw_yzO{4?S%ujVW<@^WTt14imq{>=N-pZ3v#h2>&0Rwtt*nWmR4lBP|lX+R5mST z_0*M-R;O0iB_11T?GtTjqBd>>*N4hF37mammjmkJ!G=|5au#Kx-%x8$&Qh4D6(Ecd zU+ZtzJc6Ki;_0|)VKHud;z6$m(A4tN8$S`65-WP45qwq_6SJzrQ%%$b)~78Z|+O}qlY^(Fv!06&@r{O~m3iMfA6TzGW;|3rwY aXzC1F@6Y5mUw?fW|4k}uRsC7<=G|Xf-f(>Y literal 0 HcmV?d00001 diff --git a/public/country-img/BEN.png b/public/country-img/BEN.png new file mode 100644 index 0000000000000000000000000000000000000000..7469631c6c9f23083c27639b3304eb2b2eb04425 GIT binary patch literal 1221 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 hnJ#>9{m+IwAT@g}`f|?5gS9_wo^C$GV%Ht(* literal 0 HcmV?d00001 diff --git a/public/country-img/BGD.png b/public/country-img/BGD.png new file mode 100644 index 0000000000000000000000000000000000000000..3e6fcbf2c78fb8fd1e540f809804724fd6ec2094 GIT binary patch literal 1979 zcmaJ?X;c$e6b>#x11MTR(V|0KkR>|_5J?e8(1>A6NP-}mWdad06DETps1=LUASfah z+|a5hqAUfqSfQd4khmXF+-j|Y3$l1rToA3DplE*-=boAS?mOT2-TU6X=S+4)*jzjO zBs>m>v*XRjR9Mz zzrtFfUIUV&KrNh#$g##Lr1dLBosT8art~V`+&J1RFbNr}Ou6H1v<`+U`GJLtrU|KN4XNb#z z<*8~ALWj7DFI>*BT=O8PHCSd2h^UrE;o(%$06y=eovK z*S-AdfThJ;>$=*zJ$bctH|WQQLFV}fF8;ygo;9aeUAo@?(_?U9`9C*SZMix?UT5q{4K>n? z=--nE7WeGr)}CLF&uc!xJER<+cd7p9K=PjE`8K;AMV6E-h+Dch#XC~Yl|`Qv7dcAo zU8;?FZze%+L=NoM-ol6bDSgST=z3EtTbV4qCK$J=^q8PZP+kz(Em~CPxanYxHM3xm zI_62<`+;4usDZatx8H8x0gDZebFS|^Pmhp}}xm8h|qu3%cIJ&g1zFXkm zj92fOS-TniE7i7YN&{q7-NqBOOdMG$c}fsDlyt@O9W!I`4_7F1Qki|flMX3owQNqV zepNcg-e!u(d74v%v*-BGxAc|dJ@Q#mP5AbiFI~#R9(0TuyKmh-gmS=rJE4g+Y4WY@ zm(Q_f3}b1wOVytqv)_-iDF?#6Dndy`mnYolJNIp9>-Y@E{9`Q(wn!`wdG7wXkWw8l zWd4D`B^6SKnT0oF5>lLtrWa-vcjn?P>}~9mzS%o<^8}fNjCV>r=q&&zvl;Wsv#pHd z8#!009)sjky-yDQ7eRbO(2KzP@ks z)yR7-&3zZkZj9L{toE`Un`3n8DKcF1R*ChQH|HggvQE?n^qjmJUdsdUp{hNm$dK92~(q{ z!krbsvE+ie;sj)T@d8hPKo>mu~S#M+AcF&kAK72+_%=nJQm_&Hu?!x=}I?Q4NST)z9m zQ%{P+OI426bfUk#rzmYohsg%HxJ{Dub5%_%E(93dH~b literal 0 HcmV?d00001 diff --git a/public/country-img/BGR.png b/public/country-img/BGR.png new file mode 100644 index 0000000000000000000000000000000000000000..68d8cc0f3dee2c0081df3d23e483a4bbefd0c1ec GIT binary patch literal 1263 zcmb7ET}TvB6dsMp48ugCqTo6bKD0Z3>$>jX>bg5?E;MHAhD%U5&fL{WXYM$2ZC5M$ z(}xJ3f~;r3dMGLIrOX1s=m+X4gg^-Lp@)8`mtMQG>#jbykpnaL-oy8O=R4;f=4N-- z@v6#0l@vu)#XF@0SznX)ZbdoyGV^>ZSq|b@3iqHi&L}pd+BMV70Vh(SLb(9ID2bKxZobS*^p`ejbGqHs{} z9JgW5cvn&#A5w!F-PQ_PvLX>MAXY%u7&aX-8=`Z%BH6oPmIgTp9tzQUQz^L{M3D`F zpW(bJ*TjJ)p5c9sfk40m1diuePGEV#%LhcCAaWd7e`u1;*3x1^>R8W3P9b^_V@qV& zOeVu*dKN`g$nmEmuU|2<2 z(^+p5X&9STES6_Dx1<74mj4Ykj3U~>3Ao{ROJOHDWuu<5Gwwd`8zbF&Y)P=9s_9-zWun zKGqm%_HmJ5L=b|}W+~|R7q}8qM-6D=0$1DM21;_>K`<j z8xB{8PaPYd9-%JU4c380tyVhOG4Z@tuYL7l_~}vlytiuY-t5=+4PU_Wi~DD8eBQkj zNmcAou05{azf`W&c_wz|0uz%YK;m^C5|5;ShXlg^1w8k0^%6SU`upY+Me^yxD{q(kYS$jjOij*I=lyTX=N6iqD!-LE();Jf%A?4g fntik3XY$oDs-LUL?3(@l(ESC)V_ni*r0@D)9s-fZ literal 0 HcmV?d00001 diff --git a/public/country-img/BHR.png b/public/country-img/BHR.png new file mode 100644 index 0000000000000000000000000000000000000000..f8b76314e3a5b76387e46dcc3eca722c4b0becee GIT binary patch literal 1273 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 literal 0 HcmV?d00001 diff --git a/public/country-img/BLR.png b/public/country-img/BLR.png new file mode 100644 index 0000000000000000000000000000000000000000..00f0ebf76b21325d6946f8ff09f704a62da9cd59 GIT binary patch literal 2800 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 Iq30IyFCu+1WdHyG literal 0 HcmV?d00001 diff --git a/public/country-img/BRA.png b/public/country-img/BRA.png new file mode 100644 index 0000000000000000000000000000000000000000..c96396333d1dc049cb9dd5fbbbf3595e9bf5da86 GIT binary patch literal 5454 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 Qwtoe2woaG|Ywyed0@Q$Rxc~qF literal 0 HcmV?d00001 diff --git a/public/country-img/BRN.png b/public/country-img/BRN.png new file mode 100644 index 0000000000000000000000000000000000000000..6b430f22e078d5e98f4e8f3043e3d30a946402f1 GIT binary patch literal 2977 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 literal 0 HcmV?d00001 diff --git a/public/country-img/BWA.png b/public/country-img/BWA.png new file mode 100644 index 0000000000000000000000000000000000000000..5d6b6314b8a147d25bdff61ef17e86e021e2b1cd GIT binary patch literal 1198 zcmbtTJ8#oa7HNDL%?Bn zgb))`C4K``tiXU22?;h3ONBrb1{RRYz}SK7G)Wmq2e9P(I6CKi-*@kK@6XRo#|F*} zP!tu*&u9fQzb5}ye=iw7f4%daOsDZ=2```}TsM43$rdU@kavs%LVAaJ&m~ey9wu1%()3-frBNs%DMj5SOi6)sIl;C(BTQ_JO6FD$8 zG(47PxTvHyQP+>AI!=cj-~v3%_pio5an*xt0S0KrH_62sic}q zXS0H=@)?zDYc*u9IMBsyt#zo?x@x0Fa6A%OgT8$mT2nr9K(k=c?w*U>)vu+sy62*F z)v_cRHoDe7uDK17-iel-rX`zB+e4T1x=)(=@u$W!it0I=*W_aO;m5~!F=}{dLLRDJ zy?Esb*!Q;Z`nOm2HVeBOkKRw0j#o10CrbT;#`@FYQ;l9@B))l~p%7s6E&&KW5+}G) z0&xQTBk{)NfNs!Ux#Qh@v8`cecdu{z=YABZ8F_#Cy724E^PY468};Zq9-N%*>7yRT U2CrpC-tI)X`HV1=S6mWqAXP__-9Nq?v zx3&hBAGju(kjcVRNgm6wG&?6a8-fIQBvK-gAS5;jzAzGrvbVQi@_|NMX%JQ-DG#E@ zS@A^XD;`Loh#}+%AP%1gEP13y@Wqf5T$AY=30%Qjw>;5unKT7M#?b{x6vBE*(hAVe z@Bc%&+_z{EL*4r1AMND^>Jo^C7;7 z%@+V}fmk4z!(;L#qSt6YKRlTyg6KR3NG3VKHGBkz!^FGU+u^WSR}>aQ!lF>_7#DY2 zjElX8Es2D2Be`NoD_jzvA?AWSXobuCgNuGAcWDr~0!?HRDC8UfnI1wu7kDig&v|Dq zE*|gnx6Ea}I~VJBa*>*3kV|d-Q=3yoRK3+G;oetha)HbLQlZpk{yKoeWHrZ?j&Mqci7DX^K0! zxhNndj&$wAt??P9TLQk{R9%`CqN~r~aK7niu9dfWh&Z^uvIiNOLK^Dq za%`S*uo+y%m60y#-|S-)Vby{%m9bLyx4v03X6aOP_KGB-VBA12BS_t#%HQ?*-$GX^6D)0OOA;i>0H|2nM|rpgYZ&94}|*s`3E0i8R`2ndreIQq{MJ$2>E}Cq#-5LN%OcutQ|bNt)CrcjoRZFGcK@+k zqZR9_;8N!16xDa>aI(Gb$EWrfd(kmvoLymG1QhE|PvN@eydE8$bEnTg_+W5DE@8AF zdHl+*z>A!DV&?(7%&|v_IjxJ` zJ?p95=NPhULy8VnN9PtQVt^G7tbx*oI;dp%e2#Z`IzjERrq)?BM zGn>XcW{GBD+PW8`evZvkAJXsdP4wK*G`}`ZedEKMhDtHOTAzbDkh*H~?V0uq!Br&pPkl<+XE>6;&7>LKff=9NStv_@Gl-e(B{Zr^`{b zxnHT$4{lq;MDNcV_YGO}6eTXK`Ch-QsCk#T9eeg%@bIjyb12TTabbQatS%}V*}H4! zt^RB2xB8C`C#h~;3709bkq>2vNqD+8Dq(*9gKdV@F$N>ub(X`e5emxQLrM3r2KoqX zU7Wf|zvan+w5Uxc<1I)}FLzad^6S_@ z&}9Dmbcm3&yaQ{~0^`Q)7tF})%hREKl<8>GCiw9dc4sPyHY8|`s6L+=Ov}mZ9vh?e zhuYLN{kSdE!Y1nA*Nvw4H&o?09vRNqN(eTo_}`1H3SEYojcg6RsFk7+tk*U7X|&9` zYkcSC%e(A;Fv=Z(CBk&HjP!_ajKf5j*1z<00HePe%eQY~uZhaYrVFkkZe6xB` z1k_4>vkzVVvL(YpotF=hPygj@p_>cwUTepOw9=IJ^36SJ0DJ_PM&kS-IrG zMzpd}-udmhL51!ZyQvT_gjgPvr62j7F^G2dAE^1wyFEsSy4(Loc!vkDR;`n!JmApv z70Gq&36rc`;%~PC@BK}KkzNz*?*f)`{j<(LDS0ipqx?y@+ylK~0h0K5OM@s4ZMDt& zms+q>(nAHrKXE6LzV7ig_8jQ@hFxZclD#sQF;cZ(8{=I<+xFK{Ku< zTE|om&-H%0dnleYqR5-d8He1;tvLM)PYH@Gema?HL}jgU?YiU&=b9aR6BwtS&lu^Y zLVvBcp3YyJvYhNcY0?mvZ{;2X&AXct{AwHy7jPH0eFtl+U3BrjCIpuLJIU@8QkCoe GBfkR{AC6@J literal 0 HcmV?d00001 diff --git a/public/country-img/CAN.png b/public/country-img/CAN.png new file mode 100644 index 0000000000000000000000000000000000000000..ae26c25da6ba67e12bca7f535a650619ec7d4b10 GIT binary patch literal 1500 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 literal 0 HcmV?d00001 diff --git a/public/country-img/CHA.png b/public/country-img/CHA.png new file mode 100644 index 0000000000000000000000000000000000000000..3b4e5e2b11e54eae264252ea9a734429ab3ffb83 GIT binary patch literal 5388 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 literal 0 HcmV?d00001 diff --git a/public/country-img/CHE.png b/public/country-img/CHE.png new file mode 100644 index 0000000000000000000000000000000000000000..73d5fbbcb965c75f2b37edf74dd40800b97815bb GIT binary patch literal 1339 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 literal 0 HcmV?d00001 diff --git a/public/country-img/CHN.gif b/public/country-img/CHN.gif new file mode 100644 index 0000000000000000000000000000000000000000..e988c0128083e8087c0f7d4ffbd14ab7de1e7872 GIT binary patch literal 35449 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 bGs_*!A+6`Zr>;nM@FOYYCY6U{=dS(&++29B literal 0 HcmV?d00001 diff --git a/public/country-img/CMR.png b/public/country-img/CMR.png new file mode 100644 index 0000000000000000000000000000000000000000..23c973e3079305f494d220ca0b7c08ebd6d19090 GIT binary patch literal 1268 zcmbtUTWHfz7|y)l+)&4afg*Cu&<9Kuj!W2QgJ&7mVI(@Jr8c5DLKi~KL-~XSV z47IgxUQ)5Lf}*G;(JgYEtoO)!pnM+rc8(k!Bg+choW|`agR_basU{6|K@c^RZWxD( z*1zjMtf#2?Ku@G`I<{3%k>OQbj5lXkgiTTP4LM6udm#p0uv<4p`op!GG|)AXP6cCZ z%#vV_zGc9M?E|d|b)Z)bYjndVP@fZsfB~@ra>h>65pp6utt*hd8)j%Q4Z*!4J!2{z zYXcIpAqaX|kIM2a;5jen4}?OYI^bhDmSKGi=kstO!S54T7R)|0$!2RAAuhMf<{~GN z?!nj+7$%#|db55nvbz~B91go0KA(pmJWjufm7K?PYKsaobW~fnu#QaNDk@#54~sN$ zI#YsS&B>b1Y@0~Kn4DrUoR@V=DgtA%KSK>;4(;GL{OR|%!cL;!f=nDbsLxi(#bs*U zRF)vwP{GJfAhfgC#kL-Vk<)`LAhicUN;fr>b*9m=m=HA`te7f{$|6npUR~FOFwce~ zJQoZGWQpUN17S8OwfOij9|;9R{*93$S4L`|0Zm-wYCpMrNv=BxhD9>V(AIZDt;I$L zm@Zh*OMCH`)SKmMrM(17av5TVaj*54Yc7V!?6}*xp(Tg8v4O0vug1?($ZoT(!~6qozgY3RTJW$=%Xa z;bqOK4Vm{33q$LY12rSn6UkL)*DE&^JUEgcK7H_fez@UkV(sYUi%)}}dp|#^B_2+% zPCb~qe)h`UGhc6KFSZR2_3hbyr^EVKo&26XvrJOnq%L^=%XA)A{#_@&9on|HjJkYe U`D!sBEp-1w(dJfpEYi9E2U^{p82|tP literal 0 HcmV?d00001 diff --git a/public/country-img/COD.png b/public/country-img/COD.png new file mode 100644 index 0000000000000000000000000000000000000000..e5bcb10b1a028e7f3aceefd13b3d89bb6bfb93a3 GIT binary patch literal 2081 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 M*vhTLX78cD0pr**zW@LL literal 0 HcmV?d00001 diff --git a/public/country-img/COK.png b/public/country-img/COK.png new file mode 100644 index 0000000000000000000000000000000000000000..13a3ff16ca6e52d2f14caac45390ddac69c7c5ff GIT binary patch literal 2000 zcmaJ?c~lek8V#!nn`~kbJd6p|vL!PK2}vMq34x$VIgkR9>LVl*h>%R23=$Bn6cMDL z#8-<-Unvw+Z~;VGRFH=P4@&LB7Fz3ub**(pTsS_EH&Lnt z6Qr?@c1!FC1cIYDPMC;~gZQH&TH)`fsXMv&;EBbgVo8V^%Tu5*Axed0z<^k*$b=JN zg(`pj5FADzSOFSYDwZl)#Zw|$n!=2s8MS(xO(29t81)KeHjDuoaHdAbr#w2mgG5#d0Xk%tRtVN3xSwK+Ni&&a2|*5%=I^ERCV zyoO-ee9D`oQY8t106}4ZMFWGBAR7eO5Dj7mhlGR#0t^rW=^%p+F@m5F9+SZXLE!C0 z!K0xnH7`*pdK(L0@hMptrsvV=d3kxXJSGi6GwBeQ%Qb5-7(qB9$dIqY6viN(fjXxk zgbhkmqsKIe4lpY!GLT%1Pr);NQ-W6iPF81ldrbI&(Txf{9ioBelIDOC$^VCHweQdd zED`=Q-~TCWkmc)PdLnEw`57Q(1z1FRCEh!%KVFi$goF06U=-f~s*=fa+s zOUIL;o7?)AHqUM0-Z4+#nHFEXvpuZCy^i9hZha+7#Xks#gjKSbZyLL=`jKa6XNlY| z7;8(85eU{au`o(zym(*!sqQRD?AkRud#6LQZ_2_pBIB^1=^M?ucus8*b3hb5X!B%#h}MmEZN}HjJ=D28eZ(8M^eWiOok=}ac`bb3zselT9f=Hbk|zYT zL9Wu~pRRk0I#;yonj`<&2JLiVP|kZUo7{8R^5#8ir^z>zN)&YY*euzfyf4d_US0u+ zJGb8%%$?YDx6U$->@$`z8gqA zsjPXA3OM_RPr3I62Oqa9MmTABgXe{^qAx7mHc6YaFq=<&PmYt1j$1fKDy$d%V$*P2 zo*;O7@BLEp_`_*$UR;!H4N!O?tqdaYXNJC5=3t zEA`RX61}js6~5v{1Ly*1qY*+ox6(+h)>OH`CTLTCrKteglA%C{)3oL46J&0(MV6^L zc5L;*W8Yf11f2T%=OuQ1f|;~Kv82%Cgq~3+>+SJBrIg)G^RNNV$4`8&-l;48RJfy< zL0y){v1n_ZkkeY%d{&SwI^NM<+E5Xf^VpH+M2e5w!uM~R)m|lW*?|MThY+o(<@~KTI zHR(+A{=Ozf?V4*Fs?q~5PC*&N?18^8^b44L{%gBGt-)@1wfnZ+ev#?^O8FRc;P~Yi z+OSLPwulPyt+oC6M^u}ySo=QlP>-eMJ`P;|UiImJJPFZgkr|Jga>h2<^FBM!XK;&^ z;Kc4Ih_=4I3y2Ne+}`oAGms72@p0sSireCE_cWW z8Q(b|{|<4EgR@PoS%h_ogS+*KZV^-remN9zXu9`F^i$Vuy#b)0lB( zP_wONU}MJ*VOuYTR-aGXyB2CORm*y6-@7{Tqy6ZOV|N~w8V>|epPwOin5^#*wr@;2 zR@{7WVuxv}-;`Jy<&tUNS72PeY;wrS`YOk{n~Tm=cgv#tyKaTIJ0C7^=@Gf^w*ck$ z?4eycbw4R^y7u_`za4DZePqjt(TWe-lYbY#+?F_YJ-bP&boc03ai=;O%~|YSNgoZa z{P~ZW{hLz`Q&W@;AKqvgh&%Q16#YMT|9&-i_RU?knA-9nVtSec62fwaEsIZ1v&{ck Nag0=WG&=p0{{k}&26+Gg literal 0 HcmV?d00001 diff --git a/public/country-img/COL.png b/public/country-img/COL.png new file mode 100644 index 0000000000000000000000000000000000000000..732da94677a338a2d4fd6c44cb8d4a829c389e50 GIT binary patch literal 1202 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 literal 0 HcmV?d00001 diff --git a/public/country-img/CPV.png b/public/country-img/CPV.png new file mode 100644 index 0000000000000000000000000000000000000000..c78637f60aa6ce9f58e8ff6ab2e1ed17d1cd704a GIT binary patch literal 2682 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 literal 0 HcmV?d00001 diff --git a/public/country-img/CUB.png b/public/country-img/CUB.png new file mode 100644 index 0000000000000000000000000000000000000000..bf15a77be38af69f9ee2a7dddde31e41bc55a449 GIT binary patch literal 2581 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 literal 0 HcmV?d00001 diff --git a/public/country-img/CYM.png b/public/country-img/CYM.png new file mode 100644 index 0000000000000000000000000000000000000000..d7ab5626200e55fdb34b41040ab2343a24599de7 GIT binary patch literal 2772 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 literal 0 HcmV?d00001 diff --git a/public/country-img/CYP.png b/public/country-img/CYP.png new file mode 100644 index 0000000000000000000000000000000000000000..8ca3b27ce2be1ab155b3ae8ffd8bcf78cc074fdf GIT binary patch literal 2359 zcmbtWdpK0<8lR(7M=9HOo!Ye;B^>4=48tUhVK7K8GeT!B3sYv+STmDx*`&66Y$}(M zv_rz!n}dWwVVxzV~~6zu)_Q-}`>gvr;_W zom5rODkv06mF7(GLdF}&o3Kg=`DQHu(a4}Hc4UZmL&4$*77U{7xDXozXna-(=moO4 zk>NK%8x(38!1HE^8FV)i2jXK{3Jg}t7b0vF%EneIWO4R`Vt@^X@C0Pc>!wx=z~hoJ ze&%#MUFZOY@|>e!aCeluHz#U8$BK)w-2vE0Nr(U+6te&+KTIGZNy(Uxx+G+-SjJ(1 zj}Y;GGUiiK47w-a0Kp(&j>VgB@D_N$f`BD#HzN{>#(*iFfXCrYaRgHn0+F=cl!V6v zpC1eo4dw=uyeQPqu@H}p2^EWlBpfaxA_5z+9SgxBID(axl|sYR)C578h$01ImefQb z(pyrXfFcge6N-6|08l8h*pNg_#vqw~+5%trMOGmCd`!rJ;iN1fj)280wzLGK)Bih^ z&;NoJiM_x-^Zk#)BJW5ci1PwPkObx+g$veGgc6b*V2~w-U~dQtTRKJ0P)H1kLLnjG zu-hE);|aJ>gyA~8$A0cjL62H|6QJT3`uPPH_nI1$0(ag%ug5qdy zhNn7E362i-)Fmzj;z;iocDp%16d?6B<0>ZolAeRb5eBk4TNxZM;V*XXV z&s^@;bFug;7l$N+Q61@{~D7gh6W{+(si;!ev?=9QCF1|w$oT)|F=`6OdkJ@Hu!_z z^rpkCX1AiQ(Zp$QlAUZ;^_t~WY9+c-7Q5JgJAWo4Af3^)%kV=#|GsPYspZAiX0OsS zRo0j1cI_Ys2BdQ0J-X6LlssN)^}6kCiT!nE*^G68#Y~`Db$R>THI%2Tp(|WpF_HL7 zyHDr+@1veoyt@<|+Oa~P{rz)!Py6AnsB`{C8{MxS=wy9Uae?cVV_34HW?S)vq`Mc+ z^@j5L4>-u2{!!ZU!bQy|cQ}9BU9+&7Tj=Ur4YP{@p1RZ4aSOvnuLjUG-4g2RhaXf; zQW)78?y9>^;&1Pd&;%D{levGPZj5b7taqCasJS(d9-~G#(&)=WDyPR^aeRjH#4)CF zvQK|yq7!hvJv+Os>N}S@Fa0zgnCD|(%9EhRH; z2aQ}?=2O{YX|r)7^nLvPG{KYeneW~6?F|X9+T{<<=-Od?A3A71eMMpqnD~DCdt13Y z^`_}WG~j?EqcAp_Qs{_iwzu&V&HrBhN-jAZ%6W@ ze$R_{d0AEyRkxX)P$aY-l&knNp*Y4K+nCYZxT{7pVve@$rcjUc?EW3>CUn={d6#Y` ziKhSl-t2L0e^|=F$eSkt4d!OQm=`Yx^6#!W(;ay6q~&~ga5TF3XtGliJXvcYD#*KjS1eM z{ne|D1lh*j9Za^3@ockn!!Ikx3M*TQ6PiiOM%{CJW}3SCX`PQPs$1?&xLHo{*Oq2x zI?se!GG*HJFZ+^eqt~Q|>)?8}vg@3T%g%3^o%mZQA3Jn08au!v&J8lBMAL>-ckit0 z?KqKrXozNzcIPVI+jT9QOVYH`U&^6|0W2ek& zuaDRUGH|x?*-@r3QQW4tc4A0)lz0A!YErGvil@QS=M>lLiLrSJk*BSLj@VX3?rF7^ zS8E21*pd6PH`K4QoqLmZJ^#>XZKBJmnRP^!eQ$hA+oG+yTB}^z`XX~Q;?Ej4P6?ZF zc_dcp*^CBefSmv2hHUb@eVn||B)C*ZWZ^TO(F8AQJixYRKib+x%Q>~R27Vk-u4}gI zR$sD&Yvd?pHfWE)EyUZTy(`-R6-){(+li)r{CZhUYG7)md#|B(o~BaAJIS}KV^HzN zAB&`W!qU!O#NO#BpNon$s*3Sgco!bmcjehoL%U7~^U@=1XG?rb3WJ>;mh2+wD?GWN z`<=&|@z?Ve4^_L>s#|^{j&}B>HPcE?8I>m0YMxfF-k>=a1ldPk$7*M)#1&xLAB?9o zjtzZ?^;-q7hxB!n=L|xuGgacfSFJtB_+%)>omAXPh5ZjlaE18O)6oUoWz>rriSDnL SJbV?uGBihb%Fp(HKlBF*N8^kD literal 0 HcmV?d00001 diff --git a/public/country-img/CZE.png b/public/country-img/CZE.png new file mode 100644 index 0000000000000000000000000000000000000000..b02840af95c77a22595e5e9af40e7074de25f86a GIT binary patch literal 1466 zcmaKse@q)?7{{AVBLfj#pp$LtQTE5cYwxbm)>aCkv_OF(9EaT0A$Qk<9?)LBJ8Vl9 zv{N*UEHkb^TrxGRCH!z$mPj%%10jt9{^9nI6HO3fXN)FpI5XWA@ok~ZKg3J!-sgSu z{eGV3ecvb7S65q+o_ZivCX=PxDlIq|zW{GviX42e7k>}FvTVspN)3Fgv+t|gf64#wb6mJ~xpJ|h6QSc!ssu1>dT^qG_it`WrX zWkd-jBvOY-xm6TtuY<~XfrYecRK=h=6w+a8te{Y@*Tawo#ZUy*Aecsl>5T;%BZ@-X zj}l}P9IZy&QofxF%uGtBBzcSo;`Msf-U2l*v>}+mV2Cp`8Wm8eM88|2d@8q?nCSfgwK1gJ5bjzNMtlZvTI&%eA8xC7iuq z?|*_t!tY@boE7;lfdLoSnj25$F_sA|CGi5m^PS04taI`bFFJV-RMwz{nmD(E_lgO% z-EOqGMTv4Vtj%Il0>7H$97eRftQac3!tfk6|*@qnH;rQN(tZUuiss1mt&dME7?n%n;R)7hd+db z$sf;t^15Qy2`(N=<{{%NT_}7xr{X*bh4}at?PkNnc~GNZSxcF-0m3q z>HJspQDk6oW_6+3PmWagMrww}Ti#P=Ezs4Ck!yGs+@x;&Omi&%O?Kwi&*|yo_#&N+MqY?DXAJ%H zpPrYt9eo#ki@AS>nAr%O_7R$ANF9^+=U3$57fIqM9D)ZOQ=M64WuP}W|HD%3Tz=$m zYq z^2Mn7a1lJ7d6~%xABNu#mH^U|ipJ%|;VM5#5LZ7*1OX+PVlm*y=%s^l0-j=_c6?8_RaHwF{<{?MfHCbT*lG!#0_iOx?72 zsGyxiOF|-4Yp2Ui3c4DZJGR8QgwS7lt_euD$0T*YckNF z2xqgpuFn8PhO#6p5>y1J8?%Zb%b@%5EL!BQ8&zwe8;k8szDa3lNK(7q7TdETi8dsd z&*xJQMG+W7h_?fZ5+R7Edkz+koyZHRM*@&Kq6XQbCeJcGE5Q%@wn5xICU#&_fT5F$IApl<_yXe9 ny?ggZkA=(sAsOT?tnLnR)8B5XrxPDPq$yX*OV+#jwI{y;PFYu? literal 0 HcmV?d00001 diff --git a/public/country-img/DJI.png b/public/country-img/DJI.png new file mode 100644 index 0000000000000000000000000000000000000000..237aca450e8647dbce49b9958879e03e9a0e3770 GIT binary patch literal 1529 zcmeAS@N?(olHy`uVBq!ia0vp^CxAGUg9%7}sQTRmq$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~;1Ffc1*hD4M^`1)8S=jZArg4F0$^BXQ!4Z zB&DWj=GiK}-@RW+Av48RDcsc8z_-9TH6zobswg$M$}c3jDm&RSMakYy!KT6rXh3di zNuokUZcbjYRfVk**jy_h8zii+qySb@l5ML5aa4qFfP!;=QL2Keo`G(%fti7VnW3Jc zv5C34xsHO7fuVuEfswwUk*=Y+m9dePfq?=PC;@FNN=dT{a&d#&1?1T(Wt5Z@Sn2DR zmzV368|&p4rRy77T3Uk4Ff!5ws?aU2%qvN((9J7WhMC}!TAW;zSx}OhpQivaF)=B> zw8T~k=u(Imatq+b<`qMO2^e7d6^RA$CrY0^fhK8;tmWHN=j?PYQrf!Zd z#s;p2FugAM$)&lec_lEtDG0rmIQ4=OLT&-jW|!2W%(B!Jx1#)91+a&$GI6`b45xWe zy(zfeVvbX6ZM((TzeT9nDRYc978H@ zy}5ha@34V@>%}Ff+7C}}_j(v4+TvxE+<*3#zl}p<+VeRZlMkjwPOH5yt}x~8W9B@? z312_06J0-HazuRI+SS`x&li0ZTQD&qOE9vtw6r_!#44vM#lmBY#ChJYIP~qo^P4>m zc}Xi>Q$iKD3xu`K5^O8)(VupfLq$z&?}UifFHVnoT=gaHO*}g7%dT(ADq(uFCPsWY zG{abIZ^zWt;vGkIdz8htFH3*@V{iW5P1=eZ8w!tXN>CBoYmg>-sXJm?ufd+hiqTKy z&k1sNE)|=o8|Jr1M%ebS%Cs*^V%q~^*DPlL+@8BtW21}s##8+t7I`Oa?bE9g^fngC zZZUfj=D6*m@2{h}{7oSXLF$3-Tkiezp#GUX|E^!Z))^|S{r-^oP4x|uffW_@>wF&U zz5geu{XbjB?2U`w{jFnE+Iwq*p87xaFO$n_-*fNY=e0H^?%Z0g`G(D*s|@x9Mx<8o z&uibUb#!^5Q1$}NNukEwS2L%cUuC$uVC8Oomz4*P{+it6tETJKtAFkLj#ss5t)ZLG zN7znlTr+D6*ZY*L(sd2~#j4lln%KKdIbI~Bz4~jOdEnyb<&mayBjy)=U7&F>Jxs&& z>xVj}I;A^FSC=Ho7L`FNogN0LOd!WHKW%#T>( zQ~(tF*m+dzNcT}KmoOy3w{7JQYLZTBv2?p?!mz}>K)a1BqK|~TLp#KQIQ@J2Kf$xJ b8JHQ4D?Jkt+rsh}R2X}@`njxgN@xNAO1D1B literal 0 HcmV?d00001 diff --git a/public/country-img/DMA.png b/public/country-img/DMA.png new file mode 100644 index 0000000000000000000000000000000000000000..c6723e927ac1c9f778720555d89632ef8da417b4 GIT binary patch literal 4040 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 LNBhLZ@TsZa9GHwx literal 0 HcmV?d00001 diff --git a/public/country-img/DOM.png b/public/country-img/DOM.png new file mode 100644 index 0000000000000000000000000000000000000000..b3f7da23dd6d0f94149c31db7357a00018aa06a3 GIT binary patch literal 1275 zcma)6TWHfz7>@J8a0(MdyfM!*1a)nb^s?HpZnjOQ0aIsJwJ(ZUa<+z=oGdw8+qogi z=5){c;0;mHp^PDdh)xtHilPttpuz?s3i=`lUO-gPlWmrl?y3~S}bl6l4N~I-k$O@^1UEuu8?H~j;C=8YQs6%f>cCBtq_R1+zyjaRtp`E zU_C|61zIYN)6!O6LApnFIG((25;aBDH|9-Q$wCZTVY_C8>5rp#X`rcLdRIVVB{K#y z+Lmq$wsa>_N_SQXsdQrlsL%7nK!;ccd3~Q@^Z776>C2P712Z(3q~L6ro=Pe$HG>$k zAP9I^x5C!3ppNr!K7TM6bOA5Ru?*{FIIo)v@;)!mvS9k5Ni<7sLZOi3;q|%+!)+G~Ea%;ZT~l-rpsiS%i8W*Z$5C!Yoj6RBOs7iF z%^6$6p1vk>VN6~&8P3BxB^8O1^na?Z&#-Nrgn#n=r?H(Xn246UyXc z7L+lvQV8uU-ePkGVPt2J31Te)uuC&kl(Q$h!Mt|Jz4@B6g5UCTIidq3FojNpdQLFyZHkH&mgP@xvvH&fu3#v^P(!pfG zyjD7wSV_NWty(%4p`?}}$uLe^|7vp)BD3RcXNHy>X2u>GWY#S*)QR`Ct0`(uhbTl+ z`SA}g&UM_|v^4%~$Aj0W#3!ldr|#toc-Fsm-le5O{cOdpMXLq}Mc3nF^fljt{fRki zZr}8cO8lPW*TZ*4d+%0_uQRh}hHls=tB!B`ettt=|JBN6`G!0w?*pw!~ zL4uE!5xj3c!OJUVMSOFjYkhmI3vT|l`}4J(4Vr!PRsZw&>21B2vxU|6NW-u`(bwNN zyFl9q-o08`eV_gE)_r~8*V&UVdwPDI7`pgL%spFQd$IS?l3PbYV=d*gPi|IK3=jSI f_R|}U94K2v6(%+`UO97Bb$&-;JRyuk_a6EUKnSC9 literal 0 HcmV?d00001 diff --git a/public/country-img/DZA.png b/public/country-img/DZA.png new file mode 100644 index 0000000000000000000000000000000000000000..d921c08fe177aa9ec4747dfc54839da7cf19edd5 GIT binary patch literal 3734 zcmaJ^c{r4N8@6s_I)-eXrjG2*P#!NHASVK%5TTzzNVhJTn z_UvVgIF_PF5~2l1BwMuj#`#X?`~LX)-s^hb-*Vme{oK#Mgy>Sk9R#M{f;sOE! zQfO7V~0B_1^YJidIVq>!^fJ!z}bv=fG zVwmO>U#fK|i{cz=hb4vjlMKkJCdL56U<6-)PT>#%!E{;x8xd@z`j;+(Ki}Slr~>|i zaQux_|7{A7aR8VzSQNl9FjR{Kg+l>w7#OCbtEZ<20%${FPzY2T0@K!l=^=Eq5l|@L z??;s%jYalBIH4^6j>TUYsrqs_OauhN<#NGX9WaA+8UiygFxb}6*4E-9wAdj59AdCm z09);c0*b;Wv8YTAl@S2gRwQ~e0y##ie5e0TfzJF#Hh}$infL{R1QVGM7#O;p(hnd8 z^Z%iA`aftk$BFVEzyDL1jSXQ^AWjrEBalVnADoZcb|@yooJApW7%VJYE_ z7pbkQheTQG>%jGN3@l*CA6yiJ6iBB8aDH&f|KXbbl)K#sbS6JCio&7>QOK4o1|9HM z!U*cmz3BZ^?{6;o=U()G%7yUFK(>$dzmECG7Qc74r~fo9fALS-Qv&$C&f+)qs^2hC zKtMtgjWWXqkIsAE$4w)4ryEG;#(l~rzQ@g@=~pykMY zH50F*e=&@xv(6GaZt%9AH0vd!O{(~O8q|fBxFKz(rur)sIStUVB3N?Cpzg$uK}FJP zdh(H+48=<=Q$nEj`6?i}_n!8+8@@qY&l<-Aos~<_;->GCOQ3^fx8SnnV1m|*6xTbM zW;GRfcR|}A_$y*!OWSLa^en-IyRPYWQ5~D-crGdu!U??Sjlkly6 zXi=_Bw=%(HuTM^7odMo>*eQRlc=?fE$Bx^==^IP2;w9b&TCwX{u72*Mh5TF0K$}pJ zn?-H6W@cU&Y|O|1Rw3hGXSQiJ6uwpPfTg^+n5Q=`_2+S@%S_Q1_(t~@MT4|k1lh8Ui;D-v>7q&IRz0Sl(@oPjot*tJhP@6o9vlJhIySl zIW{rgnImhzddXpddraP#bj#zo#~kb0rJ#k71`}gr)q(TY8?JI5xr#2onI}a_eX`B> zKm6)&QqbW92~tS-h*j!T!blEqc@kJEnfJ$G5>F-FaW#K$2(i;oC0f*a;)Y{Ky}7ZR zX3o%26$$W(nLF21tNS=_lPYpjm-L?SBxF@IDR+Bjjcs9`f&L^ZZpHWfT))Ter)T3U z-h9lUoqf-Eb7$!7oujnZ5YI3}B`Zc#Po|QBLR)^YM>0mU!^M>>TE*+Vf|71L4HMFo zZug%0m<7JBZc_FfqKYtpEp6@Qg#$l#CMunxNioCNRbe|Fg^INYSjlHjhw85kHpS;F z3;VN!);2c3ufcIHVs*EnTMnE)LCbPv3wC{A^67D$O?gR1vx&(g`G7nA=2JM1{U^Wl zXJwg$H~IHOZFC4}xYfcP)4TM#BD@cr)U|b|P5OFk?tPr4_3it&Z$=Vf>fIV>Fc@57 z48^$|;k=C%j@OS$GSMGumEgpB`bTbEzI}<9WDKQCkX!NNjAQ!ZX8!F-otSF=* zEK$yjlQkp!smmau8_Q+xez%og=7uZgNQw_kCW)LXj!7M{9a~zcO`=d{{l{}%B0CM8 zZtWgAG)QzhS;(2mXl%T|n242xzbsCF1)%EBxaG8NhQ@6@R|qd8b!44QrL5%`KCG$= zQK~w!J|;fUDHNW2fzY(CstE4BBK9yB*j_Bm>ZV2BLNfx|G}}!I!6)5bDhX6wUMWkzl;v97Yw4UU-XC9(>3SePDyiK!N^GyjG1ED9OpN_Ei79ft zkZ4}egPRAJMsoZN<&U0?&%Zi=UbaybA1&>21t;O8H{MJ=`Vyu&wSmY^@I6Fbdlu%^ z;oe~MC&o8SlnC*oxGBRls)ZzXxS)~H@eAI;DO{X}%)}Fyox@9r$Ib^(S+35JJwc5! z16^_5<%+R;zpgCyug7GMpW7!db%gb_$kge)iUo;^=>AZk3e%7X9Htd6FE0m2@$U~G zme|L0Am#JE2bz!4XEty7*xQRcl@+Ije)DGgw%qFr3e0J_+@5IGdk33JZFkLpC&!m6 zv4FYc7V^~ySoBUoSpc#9COP??TJP+ckMs}4drW=qWo8t1bcyE#wiLY~q@7w1*(blY z5M(AY?2%#_`TY>E-#yd$ib$-|zWB$N5Z_Q;P(WU481l&X!qA9q<2LBfSj!#?P02=d)NhG z2P`o`ct@oZ%Hqm^0)XjM8;OZy+)w*9dVy>+y*I^tH*G{&#r+b7_*uBd!sOp1{8I zZ?Zh^lq1L9gzRbTD#ERwDf0*$cuSHhM(5Y8khsekZw}qneI9o;`$!XS|(#lY@s-z%@}X^%TqBHmq;oP6y>NySp`GxrC!5@lCC!R<6n*}Y48ZYQxSBUN1k z=8{p&5604Pc;5Gl+H(elbDvw<+WPMEGH9RRL0yeED4DghjjdFri9bF$?l)dsU;1u* zd=P$7w)XI$2+a?QacMR>0Bjxr`UA^cC{b zJn{}$I9dqzps@pvnEo$OAgz~kU)m(I;~>r%xu12nUd%UKy7n027^!8KXTAL920Hvf z{>2K@=i{Z>iR#^vLm$-hdunPOL}qH`_ndz|7t@b7$MHUx)ibdP(l1bGY#mVYSJTl6 z>G@+lik3aWJ9wR)c>{+Q9Of=o$gjRCpNieZZS1;z6NB)=A(p-?#XWsgRK9w7gjWf? zvZ4+_Cp|e^DVnZgQB_OTc~`oUc1Wva84e?)TmYUe!PUCDp0G_%beV`1k*~QZ1ai}K zyJ9&wxE4EnQJ`t(D_MNO%)GNkgFn(w!E87^`n7h6`2LU8wDIVmH0MFJc^%SD)>&^) z8TmP@-%fT7N`m4D)|a*Js=2>S{l=oTntnJw9F_|Wbo*oHtl)~yP3(elG!-1J3rVzL zEt`!dTejl~hULF*UI0dOC)93Jt;arkLql-9-x(u%G{FFdT&c>a*N9HpqdV`uJa}-d zs(VNrZ%$253~ZZS5ZK{UiEGg|$$DMto-=U3wzef#Gu3Red!t4!+E@TAA%^P9&koAq~0Anh>h0?gNA#h1+691)&Ta$c396Gx5^ zFx{OH$}h?qTD#omAutENMry&xcz1_^2;Dcy&F>+te>4#hNEcBF^N>+|5? z+=$ODJ$+H7Wrrpiud`Bm@lySONkpj~;qubM7S{5YeDHO1RWFtHgy^A3v~^z4(@Ocg z_-Njo+0A8yRLF{?hDf?ZS1;T+WgI^m%8M=(F5md$hQve})7(BQmM+^|{UY0kS}bnz zt8Y%`$<6h;#lpV(pbrzsX12Yy(j`HC>?mkU0xIAN1K1BATqxZBQ$$RJ CH-2LP literal 0 HcmV?d00001 diff --git a/public/country-img/ECU.png b/public/country-img/ECU.png new file mode 100644 index 0000000000000000000000000000000000000000..4a56ffdf289f376e8d2ba5413f0a8292daa4e4ac GIT binary patch literal 1145 zcma)6PiWIn91fe}=r){!lX-e(N89}ApVh?Gt!+A2SW0P&tLVWjd0Ru5yqLVM*+6hI z!67)@!JS2r9YnUHC^`p%UM5~V3>gRt9)vLj51xGK+RlTO1(Nsj@qOR#d++^{#cbwM zx9^OPqNwilsFWk)J929sZR9!j_4_q4^x;$y=g}mtDmJ9z8k&G0Z75SP2NiAh#(OwO zQSCr46md}=6IEm|ipODG!y;;m8XR&hMJ+=NCg7BA#^~J_uW6ubF?u{AbF!6$C4F?x zhWWWnL7gkBf<_Nr1cRC&+zXZc-+L}&% zo5+T-u41t~!+A?;5M}xQRKsYp9h`#)dH-qb6lN{R=AeTrwn`3evfnFZiAftO7}*7c zrW?DMEg_7Y60$%t9|7aKsiCS(Dojf;n&=r_*TirtB}fS&90^Mj&!@ry z7Z=WllUzs`iN_OMvZ0lbS}~xB8(Qr^8)>Qa8o{tgWeM8)4Ae$!WPsX&MZI;FU`xNc zR%@Ll)KbfmFsyg1e;soJBE92Hn@vkznr#nF((5*9>eZk5W%5Dnrlokn-Tv|EQTMHE zSL)+Ku(7_mGWrWL{^b)JZ+v%sC%5{(e0!qrTpfPCb)=(HIqUD~-AojLf8oyBaFGD> zYXoQ`_`*?wcXSfGr}xmrmk-vTUfy_n7~!69v+MDx)#K$?Gv~6*(!iDZ-}frp)Q1a) einDimiE5|N=VSMc#hn%JXOK>1q-TlixBmbsjBM5b literal 0 HcmV?d00001 diff --git a/public/country-img/EGY.png b/public/country-img/EGY.png new file mode 100644 index 0000000000000000000000000000000000000000..597d381938f50b138944490b7caefa881db8c4a4 GIT binary patch literal 1529 zcmeAS@N?(olHy`uVBq!ia0vp^CxEz-g9%7-DSr z1<%~X^wgl##FWaylc_cg49p6dArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8 zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb> zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XP}#GU}m6TW~gUq zY+`P1uA^XNU}&IkV5Dzoq-$tyWo%?+V4wg6Nh+i#(Mch>H3D2mX;thjEr=FDs+o0^GXscbn}XpVJ5hw7AF^F7L;V>=P7_pOiaoz zEwNPsx)kDt+yc06!V;*iRM zRQ;gT;{4L0WMIUlDTAykuyQU+O)SYT3dzsUfrVl~Mt(_taYlZDf^)E`LU?9gN`84U zShcUOm1kaYNn&1ds;7&s5>UThW@d_&shNS3i;1y;sfmk=p`ojZg@v)Di<5z=p|P8V ziMfk2Os`9Ra%paAUI|QZ3PP_TPQ9RnkXrz>*(J3ovn(~mttdZN0qkL`Oq^~pa>Z#L zRBsASw-~wM)TklMZiRD;=pXdz`&I6>Eakt zaqG?9i+)Ou0uF&UKHPsby?@5dFVjM=p4CuMIc;gkB3P?ne)a5y*|z!W6?^RCm|9vl z2#9fTCo1X)h#hi@P|yJiI79#i8iC@6n1JFftUz%NZoCTruRNXkdH%eFB(U8sP3*lrW6GYEtx<1+G_JF!Pt-jo zacGvhO zLz^o9-*%Dl(46(H=tYIiS>y1{EnBM=n-@i%S^Mip#gQYMj_=Aov*c=Us9M ztAwt-JW*FuW|Ovey42#+a^4Z{<*{#5R=sE0t1S|CKcK2TLc3GC#&hl7U!`ldT<-cV zE`IrS>BX-zb%ncY4(`o+d;IsoFAJ9VthxHM?dF{<^XRvoY{zBx{gAPnn-?*^e1@(1 zyoQ2f53{2xId47ITe;*)*x$_R*Ef1f4enn%ylAs-_?-kx_bkmhers-C3VVMge&%0U z?}yrIr5|E4ZrRJ;EaLPI{kwhZHjz2bCl6UkMM_^dD;gYk=-0v0_HVs$)n6ThfNa-IfRQe@$8`?iJB*8KSJ2_|OIv q>mPe~uigB~2QFr@5%b;!H!w2%F1dGLqwV8WAQhgjelF{r5}E+saYbbS literal 0 HcmV?d00001 diff --git a/public/country-img/ERI.png b/public/country-img/ERI.png new file mode 100644 index 0000000000000000000000000000000000000000..635cf09dc3e418491c81ae18225d14e72fa6d130 GIT binary patch literal 3579 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 literal 0 HcmV?d00001 diff --git a/public/country-img/ESH.png b/public/country-img/ESH.png new file mode 100644 index 0000000000000000000000000000000000000000..42bc3ba2cc4efd9945d48349d923f30757e58faf GIT binary patch literal 2100 zcmaJ?Yg7|w8V)G31+5?w>IyQO;w|I~gw$XfkVHU8U@;^Cgf*7|Qb;Bw6B0ld0Y&8| zvJ|Ubyufl05-fKxN>K>!#Lk`aU^3_&YXAZ!$BCqt_cisL~T5P`8$IUV!-N*e}{ zO6V9qg-v2Be8D)We~J>^o5JCWQ{u%tBpAl$z)md<5s-nf5YWmJ^0)h7~j-QKQiiH0}gQ8A~MZ*s;T;;pT=%5O`Ix92RQv za@D6x3QSNXR!SAH6p{lbMWF~%!*mRi>2F7nDL%-`RqxA$6pW}9Du`qP$#kS8Ae;UF zp)%PAv6(S zfbU)kz?aG;kVf?m&1TaAk#Oq4L)IO^46)4oossN@BS3B~w zgvh-Yvi@j21EW4}?bdQDy{t}k%ia%sMB_VlO%;?MvyHYmXEYp42a6XlcVOzwF9H2xQwfU)6r%fD<(wSv%W1W?GYDv^Ylf3zP4v& zoJ~*o7FXN9U6c01>E{vDSkf^<0ooOOQ}Kgn&|9EiKa$*!8Tx9}+(}g4-21YS@EHtw6YXcvJg(RM$K1Y#i{pG4&ZkG?Pm}8*BotEh(#< zYa6D}plvOj806KKcXjNw>$IWCaJj;P^NEt~j}xLFZ=EONFIkGZ=i@yL_tbZ+YvCD? zW$Tc&De&x-;DwR#3qPqt9td+vU#B!Uo=9UgH|`I zXTMFZqz*r6Gvl596L08_*Mh;mXu|IMi3d{?byrf_7*Xd>3XzJ|u6BSZ7ej8=Jfi<< zm^CD}wN=IjZ>e(Sh3DtczsvcuxRcG{^7V6;9jDUbD-DazW41lHqoK_ii&dksFSq`a z@6~qq@zB$M4myeXRi|WS8E{3si|C)8V6P6pD$VvTHl`f0iK2#R{^^^TiQ^X~G zX?@B}p^H_!YAw(Cx>Vz@AFzv$47z!+XQ1!y>6WZ* z`H>d7rd@itsin>JZB5VJsC@pSvoh`9=Lm(QRQ$8-)qEq?bv7k%BR2bNWX?BE9)pZ9 z7hRJdPTdQ;q_=7c?8K8Vbi|ki4y5SR_ixKMn6_{FQT5|9FSpLiA?2+8!Mdy0Mb8dw zeBE(Qr}B7Ke`NktN@e(BV&nb!di!sz2-i2d@@gRJ$JDu7IXZ{Q*th+2i<8}BUpG{t zBOo>xE3M-4>}|67Wxoo(_m6%cu2}f7b&`i~xMipNq`dBJ6nlC|aN+ff`)gDyLsdDA zn_{iCc3I;yjT=>(t4_5?)Q5ec zTYvUwP}cFVS91w{-SG_ss4|51ND3^*g$Q`r^k;^R@v)#Zl)rv>LawAas_ zw|rr2$J%gkbykNvvt_#BYgpu_N&=iDouxmg*9fY9w&em0*PY|7i~=_9rgPWUA$5%r zTM&dR=RPmUTnk{)M;p8axFT~r9nDJzx+}K0TLFEL*(%h-?%YE#=gLFVe>{N2VP4v` GKjS|@Mrqjq literal 0 HcmV?d00001 diff --git a/public/country-img/ESP.png b/public/country-img/ESP.png new file mode 100644 index 0000000000000000000000000000000000000000..73b7e471aa731326d3b252e425c160f39c55513c GIT binary patch literal 4412 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 ZD6Vx;?r2s$%>4d8LtDc@y-d|U^k1^d?nVFr literal 0 HcmV?d00001 diff --git a/public/country-img/EST.png b/public/country-img/EST.png new file mode 100644 index 0000000000000000000000000000000000000000..697a46b31250f7592c592a7cf5a5dc7243f73f22 GIT binary patch literal 1150 zcma)5&rj1(9Ip@(1W`{!jfY2x@v`;Tel%;SxUQSbSh9>6cGJ>6SOe`V?VBs}0t618 z5aXY)n8-o7n<#Qp!@;A$a8xfO#>B)62VciFJTPLDz8{}_KA-RR``-6GDNNoO8n`w< zQPfa=LM@W{1Nqncd&szX1Rj&=D$bVi6q>~~-GfxxL^BZNZG8?Fp>8fMeuQHb)eEdr z8JD$tl7VbS4>?R=yF^VFEVU`9>3Z9qgTolC!5ICM=If3PcC@)GeLE<>j`e+i(GiRlunrp=(JDILv>`E+KtJRoVj6vQU z%coMQ&_fWSgc0?Z9IOXX#~*DwsL(e&%f%LQKv zMt%jkATyN!)0ShRn%`t=nv{2ZtUCtGt1?aWjAfaUDk#ZZJjNyBs><`(xROgNYElu> zqL_*$V_aLSBBN?U2e-B6iI(rG4I9CBNn{mz)+1=} zYFUyD8(!-_*W89k?}W=v(~?c6?V&?@-6Kuic(HkfJc!?UHC+n!4-e8q%Y_SSdiZ8} zXSlw--q&~zRvPltz3Xq6zkhomeqD@ywyQn+2S1p|QMrFmU)jDqyxXIXMArIt6#}fS z6M*0&5rQja5Fx`!%Yf9vkvCq6X)f7jE)uWl?9x%Xer_ujv; ZLG@Cve_eVxda)me!SmTk^_B8)^)JX0Vx0g0 literal 0 HcmV?d00001 diff --git a/public/country-img/ETH.png b/public/country-img/ETH.png new file mode 100644 index 0000000000000000000000000000000000000000..fa99311e71c19e773fd741167e0fa5c12c6589f3 GIT binary patch literal 2589 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 literal 0 HcmV?d00001 diff --git a/public/country-img/FJI.png b/public/country-img/FJI.png new file mode 100644 index 0000000000000000000000000000000000000000..9f9d49c23b6fc6f3182c19f7c00c9ad3e0cdfd27 GIT binary patch literal 2601 zcmaJ@dpy(YA78>Lat_rhsjSJ}Y^GtG$z_s?7%@b4`A)+&wqa9Je&m|2l&&I`+iH|s zqBIpsh1{c>j%&v~a`JP&oOI3~Kfmwm_5D20=Xt%~@6YG?JfGL|dg7fN?UWQYDnK9* zCHq}O5;(p9f7%Ke&^mu??Ewc>zAc&W!eQ{kC|m$yMdwffm_3W)2ao^?T^L*gm_s1T zVN6#tpX{&~N8_*zDf1XZ0V@b(Lm=im1VI#90KkV)0Y4_203Uu>35PN11h_lK0p$>6 z0~})R3g-eY;f}7f@BkW?4&Pw`GZ)}M0T#fgzyz#7HV-Etz!!9J;Cy}=35P8}_yGj? z-${`joM1K_E&#(Aq7XEc2?}OnWN2i(-PF|70ER{xp^zvv(g=+(GQ}CAaVQk*#|HkiMaDeEYKss5ApdyI3zMGEX**>*pS2ZLmFYR*m(^!8UZ2@JRzG;5g^z+jYS0_ zz@u@QL3}2M4Vzb_P&pxd0vycr?=7%`e#)|WKgt9a3@M-lA&m@C^IKX3Iyn4)D2w$I z&Eu1RfAamG!aP@D5P&2BJWdFg1|A$kV?I<6&V~z6_#Cb)hZDG1MW;g?K8JUR69lty z!NA;^Y&s{5w}5tVz}d5TdTZxD$5b$g-~UucPE8B|1K!w za0TgAg=Lv#wvR+%vLt74B-rKcfwC=D1!P}D&4g~+cVkE2mu(_th=^qHCvG4t+`TMk z0F%zww4S8gokH*XY@(*$pzj)1WR!DF>U2^}+jE>mI60N&DE0EmXc@URYx+Bu{H|7i z@6EcRC%p|J?uy4rv{*GVLc6FX=T&l>Pku*Ww{-dS4^SDTd)|;D;e79kQ^SOWl>2s? z8Lda1blOR6!=APBZb~9DrmXfo0^P;;-A`kes73t_E z(s_3Snr8Nmn8Q<$%m7s9WcB+E+O=^mL#hPDl!OamL!#E`cjH=~1l@@PC)`FEyf1^v zKtRN3`PDJ;t)>mdUmHpOcMr_WWo=}zoP?KD@q5HL7(Q`#g1s>G?8PL+K89bXS@Y3r z!MdDjHEkgV&pO=uD5?3aRx{&3>8r+G=oG7^~jAFru60^R>DvAVMy$l&Xu|&+BV1xFO3u;r^!R@$C|6?|<|npT@s$!<~I4 z<2N=;O~Jhx_0C=Qpnmk;vG~!3kGdDTdP<;&33a;MULCE~wQ;HG+d3b2uk8QRErYUl zaJ82n66138PbS5N`SLtvRQ7qauF%dM&eJ*4v2pjQ$&V)UB3^gV`A30r;cXg>Rq9 z8D8^MC-I1Y9FqTE1N%Pd}Z=(xF3dZpK+fY+_gWl?uzW#q)-4!Frf{e7iXO% zJ)_*&?qK=oO-;2)t&B=SVG=yoO}EbEsXx9{xX0j$*7xWhtGV1%m!Y>;GF9sI_FoA+ zm!l{qR^r4mJE|F%?!8W1CO+!FUyZ7YX1Fr&#qft0C2p;qp0I?;!qH+_^C^`?qII6- zdUnX>t*PEB647PoYCDhhE2*>e*bUQ9Vl&QZ0MvNC)-|fWq8uZNTv>}qZ93g5J?1J1?v5I74s77krdL`j?7tgKhibZ5? zo$wlH9H!!MpGH>b*?PSu4>tpage}p0B(4{dF$vU9nlPj&s5SZt;m{ z>QzS|=hHsGJvKgEcQe~u%Xn~duJg*<&pmD4?fWg#$*U Pf4te-Iub?JzEOVxU&vRF literal 0 HcmV?d00001 diff --git a/public/country-img/FLK.png b/public/country-img/FLK.png new file mode 100644 index 0000000000000000000000000000000000000000..3048d51271a7c72699216936bb278b2bf810e764 GIT binary patch literal 2619 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 Vc1pFoBG&YO^7HYBFL-TB`xleM(AWR~ literal 0 HcmV?d00001 diff --git a/public/country-img/FSM.png b/public/country-img/FSM.png new file mode 100644 index 0000000000000000000000000000000000000000..2f4d6aa8c300fd187c3dab6f40275c84a263280d GIT binary patch literal 2479 zcmaJ@4K!5i8s3LUlqRl1x{ZlbjWItMKf}^V~zB5-^Af8jBc=k{W$PeC<>Nyr652NKs*ph7jvUQCdd^e z?`i_Q06-rpWN}~)V-txFiLu;S3^qwD(Xj!*%O^>~<%>WV$pfQ>@nqCU)h!fKC?KOk zhzvYKLIq=l8&jm<)|AaGeu{|iAwcUiHw@lCF$m~+c*?* z4g!nFs6Ue8FoKX&ND3l}SiB=2?}|sd60ihk7dJOI4AKctz~k^vID(TS!HwkXM8e~d zpC6Pinp6-)V$%FS$I`9Hs2CWQkZ?G;T#l7HVl@5)j7(Wl(~YuPa>Cn%Phi5>*OvVMxk?pt$*442pqZNEQQ0 zkkqY2WQZ_c0Lf)@Xa<8skC(yRcs@v{kx@E6RwxvZ{C$00U5V~~L>C&3K=5<%pio>W zE;JW6ccQbui-+qxmj>|@#9%x;&lUX1_5Uh&)(B#WE;0?23KKzrzZ4Q9=MGE~emxiJ zSM@$~1z*pF_Ej!Umke&UtbZx<{Fcr;v(qo8)h)i*9*oy{U8*y6>EWbc05G(t(Vw_ly36eX;8-)xQV%Ex z>h%yNK&An5`92P?0W-G&@b;MAd1|>JlkLQB(fhg9eS_wxkSMTZ-8EeEO?jaGoBHRg zGY!fEu@@t>4gryN$Zc5$T{#=xPv5PJ*`OK4%h+D~IQ3!vCMZuTwS^w?^RFFITwbV*rI zW2C=+)V!#DK$RPL4ex+4WWRhJQRY^j#zu(3Sf2v+o1HR6h(vljHOGBZ%+w|bk!Sg6 zi83uW@#X1MPQ!Ik;DyQMxz>-L{~LX_UCZ!Xy3B-U5pWG+AM4t*{+ZF0pw=R?$^9h_ zmZEQWT7%eL!X8E-!>6pNz$)>k=14}L@2Z?k_CfcDKe0{PoKGq8)|m&D(b~4(UDVpR z-K=bJF7{{XZ?R|UEZS{RT^a7U)kAUZsyF8%E$Y!PyZmu=HxayVW(xu!Oy&xrD-3TM zGwz7Hc}$^5PQ_t{Usi-_;JB{g{z=T;6X~g!lis}El0Nloa?sKrE~a!o`M!Kok$kW* zfzd-A3JAWbOr7#JUsid$TFjOQD;ZY~?P$JPWFJ!5-g_t5WwJBPxVrIi%~8`^reIfX z0K8CJQ7kC_7-vO}9XvkuN;~#b;ufK}Wzj_j& z-ne2=I!JOjyCYbmsDrz!wXnUK%6c~5e81wJ^NyvL)K#xKoYdj9ClUtl6LWvBsyQ*H z8u@-bFF{qzyAY}tSR6lXyva(`S3$v?=u4-7@49~pi}A*L1^LDiyKJibEFO)$s`a@s zb6Ben6<;m9+dk>BIi|U?B;SqR;%E1FpWe0rh+2R8I+^?^r?WH#={2aim%)^5F-D8L zkueYL9m$`d<&!%fTAg+6r}V~ZhO!3(NMK+= z=yJcIpI}$C2jejEK5^4ib^hkoeSb5Bx&`df5w{3AUc2P}3@e(sJ)s8NiNn|%5zsEm zbk5X$(6ivA-yw!*pzZjM-72ank@R+I0XdYB$xPwQWED=A1__7Kl$@${=Rb@Z^`s+> z%S{&zU#!mF#&-^_N#iWcvT{a07=PDe(>he+bD*U`p}yMv;-b2Pv%7BFki&w%*iPp| zpuT6V#8Z*UUQBdy<0do^sAoC^tM{~|hauEJnrzGHHtIm~FRJU^M5_k=L5unxU);C$ zJ0%XiRpAO@*QE;~)fmb6h5p0Xz?JJK#v*fmR39%m^W42^A!3^?&jNR8V4T;XPf1m= z^DV71-*3IFh`j*S7wGw#f5B{uav zda85h%9^Kyk1uE@*5B6PyH%ah*r0Mhc79-P;{pd$gnDstRMR2lzno_Hhb%piH4`;6 z@FxrXx7JFVPtniZ#=Ci89R1&RP0%$3_;_4RcMIa#)!P^pD;G^nsLD6z0*={p8tSD7xQfTA6QT+J6A|_6z#} literal 0 HcmV?d00001 diff --git a/public/country-img/GAB.png b/public/country-img/GAB.png new file mode 100644 index 0000000000000000000000000000000000000000..5366f4b07de777ce80c06195b3927140a504b2a5 GIT binary patch literal 1255 zcmbVMO-L0{6rL0zEJZg$Zn};H3BET!?|*Piee=o(jmYzXuSjj2x$2-Zcbd8OMsuN( zRNy9Bv}zYoEyCJ_r1T4Fi^?`d)T&KX(2o$565Uasws2ZBFmvxceBXDzbI)New6`58 zE3Gc2D5@;oDrLyJNZzU4MdW*N4V)p%KAg(o4%CP9iVdk|4fR5hHk5vtfr>VAY6&(_ zR58%AIh>P^3Mw*!iiZihhDF#E)o{qQ6m<|{&4G#yH5jM6Y0)~%*s|04(P3; zHtZN}%c`S;YC@wAHG&3LAOZ%&3UG}f(-B;eUe^`K-U~A{Scl+2k=`(sliNWO*$_m6 zY(QnBEQoSJE)DsVpIBLj@x{ zi_lQv7TX69M$Q1TK(ZqOI(1V+d1oCh%R<_8uwtq(Er~SY2X$Q&Sc#9PqLFYUETuRu z6^TPm0e=i|lE8U}fi7AzZCsS=07?>3@Ln2Bde0{8v^Ko2Tt~skz|cV7z)0WFNY~KZ%Gk)tz(4^Clz_GsrKDK}xwt{?0`hE?GD=Dctn~HE z%ggo3jrH=2()A53EiFN27#ZmTRp=I1=9MH?=;jqG!%T2VElw`VEGWs$&r<-In3$Ab zT4JjNbScCOxdm`z^NOLt1Pn0!io^naLp=kKmtYEgeeo;J&4sHjE(uCSxEHIz#UYgi zsro^w#rdU0$-sz9QwCX8VC7ttnpl!w6q28x0}I7~jQo=P;*9(P1?ON>h49S0l>G8y zuxejlE6=>*lEl2^R8JRMC7^!2%*+%kLsMrHLo+vXQxg|gLqk^+OA9wACsPYU3v+Wv zCvyW=m|mCsATTyALtl;P_!aNGfW7Wc0f#cq6Ko`$v!m?nAVGciTY~Hj7A0qCRtAx$B>F! zZ|?YJ9deLpc<328Bf0dZ@D5Fp{)>-24)&@Syxhok$3$UC(88Xd*@wQ{WaoPPGBTdI z!q@A!h>vG`CEt|CvA558GbJkOw3zm;|9tVQ=(QhZ>#qm#>22J=6Ru;orff&hj16j6 zMB6r;Y1T2)SuFBxV}xhKGsm6?pVZ6mbN%1e{QLW8&i8-3ZfoXC`AvWO;c)*a_lN~) z51wyqv)S@<{l-(zH->FE_DZ&0G9W_Pzx!=>XzItfr;p#-&h0n-y=anAlI{IzORW~S zhaO%mmw3?V(5gG-9}c)jG~dblE0-^Ew(T9)@7?>qW{ZEdo?m00^tIUjplzPUAF1tU z+5}A&*Bsp!o$zanm zf@*hdPuR`a(z+pH;<711@0JwLd+ETqeyt!k(E9>nhnyl5bbyiq)4Urt0J-2mVFikE zaDzm}I8c>2L~wK)nEf<%w|;)JE=~WzR?{S4Afl_s5J1=iG=Mv?5omCs$X3#jPyboFyt I=akR{01I9T@c;k- literal 0 HcmV?d00001 diff --git a/public/country-img/GBR.png b/public/country-img/GBR.png new file mode 100644 index 0000000000000000000000000000000000000000..47c03e4167b722dd5eff036d3c624f307ecb6cc4 GIT binary patch literal 3368 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 JN{7P<{{f*l_6`65 literal 0 HcmV?d00001 diff --git a/public/country-img/GEO.png b/public/country-img/GEO.png new file mode 100644 index 0000000000000000000000000000000000000000..80cbd1248622fffda52b665df47bf64cbc1c4617 GIT binary patch literal 1198 zcma)6Pe>F|9G)z}6hpy8i{d$YsoeRuyRJL9+3wD)E;eH8f(r#UJM+{@XWlsTbVrFW zu`s-Js!OL1ohlTH4h4aAsEZvs1ks^mhyH<3RF~eUyH>c;z|4E^rMCSSrX zirNc|Y!2s?)1rnCgFGBHtQh^}@lzTYdW;?lE1Y5{;h51o z>%hU;{;W1Tu0?ga`y}Y{L}Fk@WmA_syn z!v!?1g99Br!v{l=NTeMI9M7?w!16+XkBC7*^@7y)<2!m1ar+}5Il1YONBY-}J4_>O8GP2m_#l5TFnv`e;@ zyLC+Dz*tYUS)SqiEftB1vOCo@OKcZs;C9{}jos{w4cQEI(UhZ+iyLY6OW9)5fhtB$ z7NLpaDGrPwjNCC~gXCZs3>lV=3hoA5QN*<6V%5@MT8hy`&lrX-3UNLp2ZM4rB*{E4 zhdLwikR)*_S(dm&SPmDp64ItjXyKw(-`1weYW+qqZBki+jxi1Ol!HvLv0>3DpCwt= zZ%eC}&mxu8vLp=aU+W*&T!cvP_|sC;l0~WQp+$P#Ax%A6zm}k=J#A?zp7q{-e7CZH zj%$$596bDH`E~udXZ6C>hnmjxoqe=8IoB}1xEj4)dGzM+odYe;n@&{UxbWewJ*-tM zTv@Jbtg2C4+Upuu6FJaMfKxdFTqgKx1;H0830_sRNnAq4df&0;+il<0SJ1S*vJ+=F zvrC_Unj`mmlJE2X81E+fE5Uygm%cyv@ktf-y%H;%sI^ literal 0 HcmV?d00001 diff --git a/public/country-img/GHA.png b/public/country-img/GHA.png new file mode 100644 index 0000000000000000000000000000000000000000..a4f71aafe1ba39a88669c1402d51650d4ba77907 GIT binary patch literal 1364 zcmeAS@N?(olHy`uVBq!ia0vp^CxEz}g9%99F=;FSQj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS=07?>3@Ln2Bde0{8v^Kc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPAEg{v+u2}(t{7puX=A(aKG z`a!A1`K3k4z=%sz23b{L zw_7Z5>eUB2MjsTdNYM-v0;U}h6P{>+9C)%%%>$`x1*u0YiepjyE<~hO0?xop8$*An)=A`Bg0%C`pB7lg4JFyYO zVMRfZ~ceU_}Z#KmiBb3cHP4mg=msm0>(&Rkerz98l$Jr^lx*2#Fmk zDpv&=vFn`N7O_^Kq0_!MZ(F$G)#^*rfEJibf75+gxyJa-`U#iM&5CG`zcOe4!yTa& z50>^;1(|=j_+)N*(gV)+dwbqjE;Y6fn(%vF!Ti^MXs)H_>Hsmd zYogDl8JleEu}V~2^ThUrpcKd_t+^UHEv2(o8u$JEuPG6A=-1gfS7z-I2&=!RGi`}( z;#Hni^Y$WW94Hx`B~ls&5ZZ T(9EArpmNUB)z4*}Q$iB}Uh3br literal 0 HcmV?d00001 diff --git a/public/country-img/GIB.png b/public/country-img/GIB.png new file mode 100644 index 0000000000000000000000000000000000000000..f49a6ce87bd7a4fff10c0164d896e0eee0803612 GIT binary patch literal 2036 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 literal 0 HcmV?d00001 diff --git a/public/country-img/GLP1.png b/public/country-img/GLP1.png new file mode 100644 index 0000000000000000000000000000000000000000..1b76808c96d72430c10ac0b9a6d9504a5907ecfa GIT binary patch literal 4150 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 E2SEKFcmMzZ literal 0 HcmV?d00001 diff --git a/public/country-img/GMB.png b/public/country-img/GMB.png new file mode 100644 index 0000000000000000000000000000000000000000..e897a19225572d29ed82f0c303bcdba45dc832fa GIT binary patch literal 1219 zcmbtU&ui2`6pmG)tromk(9<+UWMMbIch`i*+HQ93LQ~3iu{kzPrn|9CCMHuitrwLF z7C~k4si+Y=KELUu)N?ywgf{oA6TSuGyQQWU&#f~#3(2uG}pYv z@hZY7tRf%eCemQi@oZEJ>ugj4?+;~$sTDe8b+)P~B@>(AR8T@*NaXhU0j zb@5AL1>9sGB!*V5Y^`1Wb?@{!qw|P)?a{H`%?`6Kxpa7Qm;g&R2te?@B*BLbkR-tV zh#ME~eBVCPyVv5`s<8E=+t`=a+tHQx>wijCU;1x)Z~b?I?MnW3`_xlP{MnVL$cbwF OTPfzpw1>k}*M9?!JAP*X literal 0 HcmV?d00001 diff --git a/public/country-img/GNB.png b/public/country-img/GNB.png new file mode 100644 index 0000000000000000000000000000000000000000..76828f13986db02a2c8814bc5cb1e73b015e9a70 GIT binary patch literal 1302 zcmeAS@N?(olHy`uVBq!ia0vp^CxEz>g9%7Z{G(6}q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~;1Ffc1*hD4M^`1)8S=jZArg4F0$^BXQ!4Z zB&DWj=GiK}-@RW+Av48RDcsc8z_-9TH6zobswg$M$}c3jDm&RSMakYy!KT6rXh3di zNuokUZcbjYRfVk**jy_h8zii+qySb@l5ML5aa4qFfP!;=QL2Keo`G(%fti7VnW3Jc zv5C34xsHO7fuVuEfswwUk*=Y+m9dePfq?=PC;@FNN=dT{a&d#&1?1T(Wt5Z@Sn2DR zmzV368|&p4rRy77T3Uk4Ff!5ws?aU2%qvN((9J7WhMC}!TAW;zSx}OhpQivaF)=B> zw8T~k=u(Imatq+b<`qMO2^e7d6^RAnl^Ax*+zVYaubn%--=pPVS%`F>ekMDeGtFYFqUVR6xh zUkzW~-MGjv^hf9lt?$K$!;gjbbnqv}o>%qJ zPkhR&xcIcJw~Wu6h=typ-lKb&{4hWcEY_Tt$_E&xv}iWWe3|bEDyckO{an^LB{Ts5 DN{hMA literal 0 HcmV?d00001 diff --git a/public/country-img/GNQ.png b/public/country-img/GNQ.png new file mode 100644 index 0000000000000000000000000000000000000000..cec9e4f998661eec0d4d6c5a68806e47b1f9e197 GIT binary patch literal 3343 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 literal 0 HcmV?d00001 diff --git a/public/country-img/GRC.png b/public/country-img/GRC.png new file mode 100644 index 0000000000000000000000000000000000000000..ad5f6bdcf891dd1947509e33f15d8d0b76f3a250 GIT binary patch literal 2351 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 HT$T1W2bSFI literal 0 HcmV?d00001 diff --git a/public/country-img/GRL.png b/public/country-img/GRL.png new file mode 100644 index 0000000000000000000000000000000000000000..c3323e806058ed4b4dfc9c2431d09a729c66d121 GIT binary patch literal 1219 zcmeAS@N?(olHy`uVBq!ia0vp^CxEz(gBeJ!zhb%pNJ*BsMwA5Srr5%(GQ`zk9!uLS~AsQn;zFfp39xYDT62(s|s5su(?)1Hb_`sNdc^+B->UA;;0DU00rm#qErP_JpbIoy?p~jSL-K z9W53gQU2WAMi0G|-o ze}8}fV_>+FHp`5Gfl=Ml#WAGf)|=aoc`XJaEP=27P50Z>DdKvP;c(3@+fZ-)33Ai+ zKHQv}1_x!CIe%UhC%PV$FVzs+{9%L8F(Hw%@IxHa9avirZ?#ZTowMesW4CgT6DNz8 z$`lWcMu*N8A49@;Hp?))r@iG6Y$PKRV{1zI=+l~Od1+X}=fKb$sQcK^{m zk}1XR&(`su?+{RI6v%5mdKI;Vst0EJzZa{vGU literal 0 HcmV?d00001 diff --git a/public/country-img/GTM.png b/public/country-img/GTM.png new file mode 100644 index 0000000000000000000000000000000000000000..9b721a1a2c5f5f6b93f56ee257801c018003e6ea GIT binary patch literal 5022 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 J7i!uE{})A8CJq1q literal 0 HcmV?d00001 diff --git a/public/country-img/GUY.png b/public/country-img/GUY.png new file mode 100644 index 0000000000000000000000000000000000000000..f5ff1a094abc932a3dd6a2fc3841ea339e2c913d GIT binary patch literal 1796 zcmaJ?c~BE)91Yqihk%0|f_7Ykik6VOEMAEi69-}&DAojaQs8nV^e z(#4WMAXxJQc|v@?hQC_#Mfm7F{!t@7Ib;4X7LLYYX%aO;;Kld zCcSeC7K8#^RE+>$6wpHoGC+U zOUMhDwT184qy!98v8dFvv@}W@or0?4sgRG4k4b|@^S}`vnsg;5(RwH~u5$`JL?czp zRhS%A0wzUCESiF`Nw}x)LQtsYWtE!QG~o%OY9%TvL;+19%>f01|A#6R^JonwMBe-R zpTZhZx(cBR5e=H6mg0qrb2XV#vAAkPf}v^=iYCuxF*E_iP)!1=0=VH`K$Ki5L(?=f zXn}ymS86bcQi||-Y!c3=$mKGYw-?8o#`J=`JbC^Q^+yZAlK9g3Keddhp6SLh%7*jDu9`QS@H#a@eEi{Zhu-s@_-srhfFrTDj^I^?Sp9z3b>|2luD9ON@!B#;-wfp^{o*b{gGPTV$40s=MBBZ}_S)Xl3M) z7OO;~3v*3Rt4Ly9L&?g!?9v-;9=;o?aB9xD@-5`J3ABbMbp~ZsI69TFcX%Em)bun~LBAVrj!uo|o8QRT1-Y}Y&<1vxPcFOhr*NNPxgjRPsX6BI zlb#*TZ7-4t$aXuVLM z`E=Sg=D^Ozgp?_=p@2b7p0Zm)K7WSNtS6qOG@6Ds$|=2kEIN7uJ9<&?AC=Nmr$0B1 zC55mnynV?p%D|j* zuZmrI+i$Any<|Y9OmlH2wfv>Py3^to|yhieE$&M89(vv Fe*iVs%A^1Q literal 0 HcmV?d00001 diff --git a/public/country-img/HKG.png b/public/country-img/HKG.png new file mode 100644 index 0000000000000000000000000000000000000000..910ccac6af28d672d40c9aa6030be4b7c737d62d GIT binary patch literal 2479 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 literal 0 HcmV?d00001 diff --git a/public/country-img/HRV.png b/public/country-img/HRV.png new file mode 100644 index 0000000000000000000000000000000000000000..730360b053097ae6950dd26fcea479cab12d9c37 GIT binary patch literal 2808 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 literal 0 HcmV?d00001 diff --git a/public/country-img/IDN.png b/public/country-img/IDN.png new file mode 100644 index 0000000000000000000000000000000000000000..6edc05dc811f2f2370b7b02e63d276a5a67661d5 GIT binary patch literal 1213 zcmcgsO-~a+7#=_kf<(NKNMbT9CzE!+%C_ms7TfMtYFt7}m7a*p?m#!NJIm}~m+D16 z4*Ub-$(xB9gNgCt0b@Mq%^11(8;trBoGoqPU_BW(*`1ju&-1+RJMWv_pP#!iGBiE} z02nFH>J_$rWbdQFe)i>GOF6b&rbdk};1$}i2m*NrFC$p?tW{J&mb10-2~7hq0NrYh z*34U~jXmCqIeg>=Obx*FOcYr58lrF+t-8L({d{}KLD$i^Ma2}&por@3Y?Gjc=3Lco zuGv|Ko5{iHNM!~dq85z2bw5-ijcfU;Y#+k{2U`@nrg6tf)y#QV!~{Ww7n8P_7GYZA zrPNd=lSx2Xlte+41xZdy88s!Vq6pg$$D$EuMXl(ib}V+%xH_eQDhQ26gKwmGOjZRc zo6W`^vYcd$WVq#1D@yv|WXC~Ap-tR?y4Z)YqqU4Tsm8HPk4x}^uB{)ouZdll5LtmB z@nT$3hiICAr+QwO9nuOq$@h=OVRb7&LIs6*lh~|rE0b}kKrIqvQB0~BuXk>7zK$sl z>o|bL1qCj;zJnWKi*1@}*$=7Z+o-H-9Mkiz>!^8MPZuOfRHk%8l8mXWo>oeQl#waQ zvQjE39j%V-O%M6BqjgTSQcrC>2wuP<>xj7bkW(VqgRO#9w`VS*(bKQ3b$aF^mU?Oh zmW&X$^;DZX5SyKN+Z|eV=#D+|*{l;b)JIFd_5tWimGyiz`u6?k)p-Cf82QN`hve&* z+|}J{pZjtbuMCWT$hzmAJ%4=X$Kt%ottZ%rh2&oX>)nBk*i z44+8+dt&tBJ{sS?d1)!}VDCSNK3&Yar*FUjxP9&nztP-@e^8)o%;_%+cej570i<-R literal 0 HcmV?d00001 diff --git a/public/country-img/IND.png b/public/country-img/IND.png new file mode 100644 index 0000000000000000000000000000000000000000..5ad57a6676bcb703ec50366e6db0c9e04745eaa6 GIT binary patch literal 1682 zcmeAS@N?(olHy`uVBq!ia0vp^CxEz>gBeI_I=IULDajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_cg49p6dArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8 zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb> zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XP}#GU}m6TW~gUq zY+`P1uA^XNU}&IkV5Dzoq-$tyWo%?+V4wg6Nh+i#(Mch>H3D2mX;thjEr=FDs+o0^GXscbn}XpVJ5hw7AF^F7L;V>=P7_pOiaoz zEwNPsx)kDt+yc06!V;*iRM zRQ;gT;{4L0WMIUlDTAykuyQU+O)SYT3dzsUfrVl~Mt(_taYlZDf^)E`LU?9gN`84U zShcUOm1kaYNn&1ds;7&s5>UThW@d_&p_!49xuu1%sfnw(p`ojZrG=%lqnok0xuu!8 zfsvyHOs`9Ra%paAUI|QZ3PP_5PQ9RnkXrz>*(J3ovn(~mttdZN0qkL`Ox$iU#AzN> zZwhX=7~#~b4|I$^C|Z%C872fwJ0K=J(E>T}WS^P`OzTC!MBS&Bavzu>Bm#UwT#X8> zj$XU={BWg^U}1Ur*8l(iGd3{%Z)M16jq_k&V0z-|;uunK>&?vWqQ?dtt_Pi7{{R26 z$Z^|aHS5bW+wM--X;CV@{qlhW2r^%CZxZeL_v7Jv*R-WC zCYMKj4h%Z8U|aXJyqh{#J8td}HolOlFL1Q(=!OGwu9 z$!-d>*Z#fE(pZ1sv9t3nHW%@>{QayQeE%nPB>r%f7FZKjd;jRN{Qu9&8#F4moC3tdrFFgyLB!zq@?a~*g0kYN4-x~tDc>8+)$#yWL>ZO zc%jnfP~m9q3CEf0=6svF?JCoeFDth1o9tq8`2LCA&1;U#P2!g^(4WpGb+#jD}OWpQyV(o_n|C+l-#(iq%@@`(WYr8*ph5L`MzrrqE-~aka4`V+6 zqTSjlS@kF0MEaI#1oGX!WZbg$#_YY*QpU#dd^tb5Yo~Seb+8KE+snwg4zt`1D zM!aC;>HRe^$72ysS!+r+w`^q89KYO)iswq28Tsbk3|!bT=b+Hz4x!d7XSQD2dQmCq zqEuGlwB4Fsiy33xG}hc_vCrrWNSo;N%3*@Rk-08?jIj|>vpti4b@tuewaDK-ZNKZ? zM9C9zXS4s*`#fefknHK^6I*r8y=1O}3!97X8p-vi`l`76*KBfT?~^f|{>^%0)vbuF zHqLW??>txf;ewC~(~Vh-qV;~3C+vkU@(X(I-213(_nuF?Cf~jvufOBuTW4a@9wKr6 dkNwACz_3~`>W*fqWge)O@O1TaS?83{1OUS#b58&O literal 0 HcmV?d00001 diff --git a/public/country-img/IRL.png b/public/country-img/IRL.png new file mode 100644 index 0000000000000000000000000000000000000000..7d93b1c8591da96c1bdec06ff82d7c89d8d87d18 GIT binary patch literal 1134 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 Pe?1)WF1T{LfcSp_IH8=B literal 0 HcmV?d00001 diff --git a/public/country-img/IRQ.png b/public/country-img/IRQ.png new file mode 100644 index 0000000000000000000000000000000000000000..e77952e3266f530aa55222a3923d2726f267114f GIT binary patch literal 2591 zcmb7G3pCW*9-iBS9yfY;_nIbm%3vOtFiaj}Xv&~rm^>RZe+?1wa;bwl@GKFsZ%(382yi zC))s15NI`+;Y8t6h_)CSn+d1NIPhR5N2&&aOwEEhR9XPQ2YUm)3>FqLUEc%&Gw4`| z3z~=|a&Ukj<4_0}a160?qJ;#|jOh@wgJ9EOjMRV$@TuTn<_Q)L6O4r{`(mV6HjRLQ zmnr-JEaZ=*C`1P^j?D$YXgE@rhCF}-A3(uT`UZxEhB{z9BnpW@>LE~ix+p`8z8(gN z1b_V?(r8?|4~ArA{WX?!goXI=`5X)a5fl^z57LLTxxNULv9YntLr+gv%FyKrSbS=* zE{nH!#lZ^T(YOo_pTTB1PS1=1GzNm!TIc!h2mgvT!6}FbDh}i6Dzyu;K$~( zd46mT80UxvyD(UEb`WowO(bFnEFPcAq5%XeEJUh@GZ=IX(n23+WMOEGHn6frq3{Nl zc(j4h0i1y~ULS3Mv&64xt=P0cCcxsaXz71yExxOj6#|nZjcf&Q8K(fcHJ8ldrGGycqwi`F(qs^_WBsRNUYU~CjtqV)TIt|h*#j(Tt#hSCZ9EGz0fFR% z1S<=t;C^wone7f6rE~KTQXz^QrmI;kUbP!b5^vS&rYgNuD7<+-PpKg88YT;p>W$w6 zSjktfbHP{FH*dwNZYbMt9%>h8a0#;I&3m`e>U42#AC@9H&^o{VTK(Xi>^l7>!F2nJ z=89R<(~E+0dq6R3*KORa0(!Vg20+xm$iV5!WnfNO24J0KuvtY0Kr%L1=YNzT^DYRm zzx}f9KJDLqEi9fe2bU&im8cd^4U!dGSOex1ocYGPF##CF73k3RnJAd3@}7TWNpAJA z+QDNT`;_c@Z9;!I4Aaqlki9f|a%{ZBWPuxG_r^{l(H1%L-UKZyy=h=sPpVTlq^gt*f9V_*7_Iz^h>GO!m_KdR2Dv05^hf~6VXSI#1kC82l$QWv)@nHC^ z-UfdgvcSDBD?qHXco};>;`XogrH@}gqegQ+w80X$KjfaxOv??;F1>pjO1?}I8-?|2 zJZJLDhGTDQGw^aIF&{q9^Q1G9$KKc3SDrXyGC6N1_;l2N zN7a0E+Q9Y_QQMeMQ+{uEM8nHTLQjwH^?{tZSC6!H3*i@8HBB9_F{I>C#>i^>4|K## ze|z!k^o4$LP)n5Y$KuAFpBKCjZJw%=CsE3NNOUiN6`n3WD@?5#;e8Mv4!JexUN+^= zsZA0BnQBT6NYTw#WKu_O?QSBCDff9_NsbTv-8O~k=WoS*QP!e5|9}tOh4h^yd#GB0amGi9PZLUKwm5Ek z=Pe1GxX4gci!sZ;Hf}=~UN=5it*M@RT(~&Wkx-r>(9mjD2-71|F$V=2k4kvWugVi< zBk>zco8X9S225Tt%b_HNCU3xZzxna)m6;>1!jd^n+6m^=mwQc=&pLjok2&f0F+cCp zPPyTE9B!DVp&le2T_8+pCu=wE9+~zik|W=lQo@}yyBHT%bf(^O%~D2^IC(NIY)F(a zcoDPI@fIzwdrEWgA94GpHB8z=^5&D88;@)thcB)voJgnpAxoms_9Wq%dy-8LE_GhX z0z0Ne#wXdTS%DDt|wPG z>9w~$G6QVGyL9r&5!v3w=z*QDuNt1XFwAvXHF&;g_xqk!oa4BeMn4N$?mFz|fwx?UQ<34?WF00YNcBZ%}?o1P>#WHZ_lK9Rf%J87mCdz z#=EzA;LjrPu>}`HoMC@;Ql5h^O$RuAaYO_=WGbQ)tXsM)aqG2WEBo1wr?8Tn3HwK1 z=p2q}cOU9k%MJ5HnG_co?PqTZRF0NRe!Lgo7yC)QAhz+&m0py6ZN8BTt|c(8a-ra0 zhC{RifWCTks-?YEIF!*Xsw-CQ%1gc*@0Y`WZxc@@thN0-GTN70vnwTKwm%ujz6vT& zd7P~@;V=2M>zUpYZZs`aG&8racAMAvnbNWBA2GxlB_+2bM|3Ov7n)Zkru+>k^1vz% z#zm^ytnSi!lG@{8yFRV9#FL-Ek<^$hPIt{8K0W_vW5fZ)?NzO~B8B?$*UsT1ZXE%^ zbM0D<-4?CBN{<46wF0 zwuQ0m&atAb_0^z6!Lz3#J4c2){lMc5I77kJn1GJz7K`4d@vWJ8}h%6#o0wNHS0aD095+KC2#2{c$%nJx1^AgEU6oi{A+?k671!w?=1n1I{=xi+41@TrF3%<)?YXtml z2q)16@h&N%e<0kG!2;m+NR$;B<$!`appj@>J4Z)HOSlaRjj~4BSfg#M(2iJJ8!QS1 ze}5rBHx?xh8-&BZ_X2k=hy)IYiM6&)OG`th*&-RNcx$wilapM-#>NVauwtjvIV7$X zoxS6O0uEr4SyU#6%AmvLilkUZ3daQjX8NuK8uOzpo&CN|V8g7rB&IbQiISJ}A<*Cd ze}~d&AEVivAmE>T|En-NB%KLZ2LWtG3X2RLT-*-16%*^p0!SPND}=#F`q0I|1O|t} zPGB(Mp27BT0+mi-q_N*d`}<>k=xh#&P6m8%E(nm1q*5tZv@O~bjX`_b+u`tNw3i*m z9)t6;cl2_{*xBQ49q}KyI0iX|2GBVlxRigmxKDEBgFs_~&NzTYO$8`;7J~+VTQHXT z>0I1DsrQ~s`E)KGpX6GD$ym#e^*@gJ0|d^F{Pp9|f}4+H575C`XMsb_@BU#H0#RZ4 z;M_yFWAmjAsrrsu{STc~+peQBGtCmiRegt(?s%K3w^Uw}sdNJ?JG8FU*_|xtX|!Y? ze$2DFcl64r&~9`-t-EZ#cu9z7&pv)_l+W3Ggr{;~Y~jR<+r>3KMcCTec?#wqX0$M!nwi;_VVqfyoTh_(FcTR?yJQ z14k`Mc+?XaZtsxlzKR4BsmBgNTsE=%7vh`tG)|4IZR+#TxU{WR%oADS96M%!agEWf zzly~t45E@H(b*n3?QZxGFn&>D*?>?_3(EFQG+mn=2%F-@nD#B;50zwkjG1~Gx|*2Z zEHX$I!pe(ZibWXmf?=ppSVYOxGsfm%HRI*GrxW~k09L`hiP|lu`)f<%($}+R4*5JR zFyCxZ?`KHD2d{4`*Az`nM{D6Madmq%EmE(fCuf?5&&^uK87&TRy8YmmeI*kb6zO*} zEj4BVZ-k61^%U2GTX>N%DZEK{L4`-4Aj_ zSi{(FpzZ>GAnEknsn^QYsWJmuG>mFHl!_GWU7Oh(5K~x0lXpPv*fg$e0u$Z-rCL(Y zh5D@fk$IyCOuWm%zC9(^WO1h~ZkEFbJcRFTG@HJ9>km4~T{57j$c6(Oz|~!lMSP!v zin;zV=zi(8@6k~2);!J2FDIn8YbixZ+ATFZcP%S-GSAc(e;L-E$xO1JUDtEorY>X)wlvfe1}c;(tJF6h=D00~sI)^4@{qXW~HHreXpgw)z@5egDA) zx>c&|EIS@Z5V&MH-RN@ZrGV!Di8sJ`rgtYCMN6mOeTw-nrO%8%}GSa1=4y zj4P%ErY_L*AG3pY#XfXkuZ7mqj42JR46~8Lkly@lcGXens=@$U-1EEBhxjzJ&vTcv zXU?&!efph^gF0*kYbQhnk>|y}OMz9%zmNkQ}*oPNNNFj$qGL_HrVv@)Z(p^5u??$H{h+`tD{AM zAzbCUzhS%PMl~%yyX+I;kpERL^jBnbYDg}NFAx?K*Q|N zA@a6)g6WfTmEPssd|jo8eU(2`leq0ZSd-#0vLG2*r0){B5hmm3>Y_e-fOq`TV#bib zX{~0}{j17jZ(A=vWBa1Ej)h<5Ew9m)3P$M_S97)Qsvbq1##LhF4^BBtwTIobNhL-m zLW3r5)nT|I(l%`OSjuSm$mxY`Erko&N46nPHP`c@_8L;x*4U@V{ha2`A+IlwU(FSH zwW0?GuaLiTQ^OPmGds(ry8M?T&<4Db>h2gVBe{_Gr&?jC7f+x@S`lJ-)o%;%-Y{X~S}s zvFjIS^HnR?bk7wo9cIT1s83C}jq7viNkEc*seB86OK}cyo1*YpR3#?xKB?=Q ze(1(3kJAd?yoQ4EV^2$y_l#IR?}rxpdgVyOnuV{7x{=}b<&yN z2TRmvPKyBn^Z5#E)jgMW8h>i)sn{zS=IyI-fnkS|A?9at6^dzh-)#2#%}9* zkaBeo2h0J6(jUovViSAbr2QSg&XoGfy}F7kz5<_4Jx*Pq9#^WZueIr(Fhhw}-BPWW zqCQ&p(k|95O!j1ReDkh?!E(FZExX^$LPCgL$94!|aVf)F^ORb*--n<|i33@=+UdfQ+vn-WH(m0@NL`O>_}Rjp)AI(ePpO6uAs4F=QsT}|N`;xy zts9pQX6@mOnhmd77+6G>Gg5GZb%$j_V{5iFnIs~ literal 0 HcmV?d00001 diff --git a/public/country-img/ISR.png b/public/country-img/ISR.png new file mode 100644 index 0000000000000000000000000000000000000000..e21c7f3b5f405699dae6dd893aaab91035c17c68 GIT binary patch literal 3994 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 literal 0 HcmV?d00001 diff --git a/public/country-img/ITA.png b/public/country-img/ITA.png new file mode 100644 index 0000000000000000000000000000000000000000..351de901db948d33b76747e8c8c50ca1770955b1 GIT binary patch literal 1177 zcmcgsPixdb9G$jSme$gq3VM(+1y9{1lg)PB(6sJuwl-i&*)DW1LZ`{J8`@-IGBs%h zq0$~iJb3XS`1b>d-UJb`Cq?k!u}1|@f?vQxC)?ev2iKDrNM`2o-uu0o`H?$|3s**l z&J6(oM$CDm#>Wr*-Ou#%@BLr!CLhkSYJ)A&H5TKLfRaO32{b*tPHF@@+t)vmX#fVG zTW_$2byc&eC*qVNCSJhR08Gy&0k$^?gR5lS^>yLrn|A_q9bH(?Te1~YNYkC)3CYsV zLfziku#1i`I|HW^jT?A`VVHQEexxP3(DK#zJcT6zwkT{v7mhH!}cTaYN4~H)r`4zExyu)CS!pnNpT#DaZaS+ zx`c|wV(OtNSc0i;WiRe~n^NU-XNJ|A;B_x>9uukb_=M)#4 zl+mb316Wzg!)4cZXdJcJmZh0~#ISD@)6fO37hTuUP<0BGm0TsS8gmF$)uLKK<$_u; zR25Z=%B7Chp!SwWeAdxACt9PYHf;ni;FS#$x;Kb37g7(lHmte5vy^)JwY5&~EajeB ziHDKWYyIt-I}q=kblPoNzUa0+@p-R@ys2lN-#Y}LZ`3qO_2lr!m(mD;XHLC8|KQc` z%B|{YGxzQ3TkFxoXYuIkuNQOQ8-oYsMrL?#|K-?tW*A?X92@5VoaDe|j^ka9AM|s4 k?>`YUpN9W!gu723g8^V%8|?cmduIBxFslp3i}K3tBdh~xO#lD@ literal 0 HcmV?d00001 diff --git a/public/country-img/JAM.png b/public/country-img/JAM.png new file mode 100644 index 0000000000000000000000000000000000000000..a63cc0f7d52367e2607eecb353b8034be41b1f59 GIT binary patch literal 1631 zcmaJ>eNfYO7%p`vqBwQZp_46En1{AaT8c;nv@|WCRH3vGaRQ+YQXx%k()9!N1)tn3+4bK`t-` zq0>XS?~+0l(SVdR;y{1^;%lIl5U^4x5c-P)0|R-02ogddBm#vZzAzB>7r_t&j6Yl^ zno*kyD-rp4EM^tLO`~Z841#8}Szz`TkjAZ`FeoUS@fv*HcR;6cC)! z7AMmL!=$X98owsy!axgV0EGg`S<(bhq4<9&K}@14T8Y2U z_dkUxmDPZQN}M81Mh(-r)TPc)23TsuF`6{0NHSyM7NgThnxxW510anJ0OECeEor94 z&RcpK>Wy=?Q|A&kB^P9p0iA9A zSDPoc81Fczlcr@BleWk8jMt5fsc*Ml>SwXoosoz{W%+fe+eMkPb}kZ=-`6vEU8qj@ z5z$=Dy?bQfEyd0aC#4^x^d5Y)tfw^fMZ3Hw;LnaqpE+5bs28>PD1vrnt2jK%56kCq zn!i<7Uk*FudDPM9{+CBo>%tNgIT#tO$Z-X&N`GugROhYp8d=oa!!=1|-cMez9F6C4 z9?x$|hO0YeiLJAgH;S7gPCnsFy{gKiO=Wv>Txu?>yQ5CR12WoFaJ;u86W{E1;$C%m zb{-Vby>Ul)DiprTa*XwuWzO-ldd{R2nm*yEG!wQ}a zzHV#~@jMdC)03v5iVGi?+gi3=={UdMl&9XYJy%7d0oI0B1ue_Zg!TNz59ByH5zn6oPX@qJO$yZI@*k%AO%V znn@&AWV&<=SJ=tXgqW*u+;}ydik$*t==SPkZH-BLn&Q_Ex~M7Zk#k?oh{LmM%j)vN zhh9d^+d?GIZ0`OLvy*{PiMjB5uD!kW=B|Kqb^KeS&0wmd@6)e~_FnyCBQNyW{l?Hm zJF5yn@tz01Z|!Y)WV>R%{94KzAC5#e+NZhSweEM%ecAE(b-Ndw6_kw0ohHLp;<^*s(J$rLZoM%-+_#Io}g40hj#K(#a!`9ca>+47M zV+&o*HjD`UW|Wk0n?(74U#r+P)0gAt``MOCOwyivCmKEeeBMeoPSrij!?w2Kx;h@Z vPxR;jdzKnl?Zv68H~H{_vxc_yxO%Z_ze{>?3h%FQ{_-Pb8<10B$=Uw^+!J~9 literal 0 HcmV?d00001 diff --git a/public/country-img/JOR.png b/public/country-img/JOR.png new file mode 100644 index 0000000000000000000000000000000000000000..08579d42ef2d1c8a749dc762ad4304e78fe4dd60 GIT binary patch literal 1421 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 IhW8)%2h~8UsQ>@~ literal 0 HcmV?d00001 diff --git a/public/country-img/KAZ.png b/public/country-img/KAZ.png new file mode 100644 index 0000000000000000000000000000000000000000..4624989b2d6b264d8866ac7bfc8acd070eeeb3cd GIT binary patch literal 2644 zcmaJ@dpuNmA0C$qk)b6~IVS8-%ms~^OlBCvs44HbmCG__4kqTZGn2u}wU$s(v1^yM zRbtBsMV2(1#*oN$jazI=u}y5)71r9(R{Q?(_MXq@oZsd1JkR&}et+L{KIfFzL3bT3 zV=V{-qC@c@(UfDW@@8tNDWCI)&tjFsR-xNrp*J^ND5CR02$9JR0|5$~9s$xoIy3I` z2cQ!Kq6V;h4hs)c58xPFwk>@PV;jrnDcKN+lXEPO&WHkqKo}Uo;^1L34H6i@V&Y-` z4pbzS=L$x$JmUGFcl<#gMtl?l%Y-@a1Ds-UN&z+~qyw?+XpR6Ei-*0{#VO}&+Xxu& z79xzo!~QXKnCb<%a`_f;f(l9&5u9 z?0m040tE~{izj4pIl!7CJ&b!yh=(bi{*wZm_d%8;cvmK6!4R=@9s*^HTubRakV^gk zP&WGmS|Fr>|N8x(!UCT-9*CfU0`4(BLwRuFJJ&+-aISoiF68okxZLRXRrHGF3b}$v zE)Q_^b^!cY941#Jc#Eb|aTJa~Narv>3JDKW@@-ixCJya_vL`u`(GK=*jwqCyy^8}0 zMaGisk#Ip)`Y7JJ$a?=J#95-dUS|Xj{xe7Ir?WYKtv+1` zADq6zj~?`?&O91UD-e!+8LM(-WcHAA{zB1L=Fpmop1OG5$3`A{~Uxg-F)hWfp(oCxwSlAcezSK#iR$XLVeAG9VUr3p(KlgrGl4mo3unTi zSO~z}-(7^*NLI!{s$^iM~C?7lKM8? zcUC`F{NwE#DM%t>z5dzYtlxk80+=XSDTb#-;foHl+Kw#iXNZ#Y8lUG8mMF%i&qeor z|1<#-s5v^Ph3vekEi`|%svR-jXX;NUeZP(uF{VOC?zncvP(y6?EI@Rg(YovO0ym6w zT&9tk@UnzpRBUzZ>1WKKeBn|%h7eXM8?=Dy{4tnNS!bZ|Qh_dO2cBKcPb5y$3gMnr zelm?~@pVT8lJg|;;yqK1;f&Q#y^83AMwm;rME4e#x-tEX=wOfflIKem)t&w+gRg`4 zr(`_YHxO4pQQa*a?%VnU`7T=1D!4sl_Llxu@0AX#Zq2n>g=!K1y@q6J#Xeqx6QZWGhrj?m#Lah6OCuI zKkv*gA`D<|Oa#cn;I_9d{j$Yz-o za({Nm5vR)?qyDP7L!qUg&@YWPl)o+~zKIU%SYLE}(qFTGlL0odwE9f@odM1{S*Z9f z8SCA3*Y{5LrR(6)_K=JRw4PY0$4GXr74cCO@u#^#>GPAFF;kOW5lKLm%(3Q0385*P zDXx<*ADg{y*1s6MXUVbc=H<*N^h$YNk@~2>KD?*Auclf*@C-N|?)u1Y_igEND`jxO zOa~;9x<~}H_l%GZ>uxh5_K#<8pD|oWuAIt0H4arR+`PA7zsd7>OqDUEnbYzNR^ia> z_N85%+$+2C%$coWs$2aW^@X)+B^8>l`!i$L0!Y9$S=zR<^2WpkiDD(ZDj)On&=QK*ppeBKV4Ex(&0o4W1wXVd z(}poo4t>23yO=o#|9LL=Ww<-BCrwfDnOy4mb=7<*5tOg~kS0xc%Z$iK_a8I?5MqN6 zHPRrx?Q(LDr|#nUq{eN%KlY6m--N#?47Og-8e$!_zA0DRKBwNTpEWSK`3%{!0Q+Zq zEdojEU%%HXq`!Iy2MPn8oGNlks%)m;6Y!hcJIxNR;#ax1(t-4)3M z<>HjGEWaYwpTSwlE7oZ9=IPP1GX~!+uebrID;#bW2D*V#;62k}N*%wnjR3%6k~V#Q zZ*HeVUAih`{L*6QcYLn2R8z{IWCp4|cmZWNrPnR=_QpZKB?OF_v@Vucyjm%rjz0au z72i-gHW&BDt2F$ZCk8@shqJZW3q{f|cBbYp6lK#@Sb6=vE#McKsTVAsogO|flgthh wTdaB?_s)bYCWtRGt{xB6RiAb5m#At(mg|>%sS`7^YyWu^w}Ye#m(bL|0Y%eu@&Et; literal 0 HcmV?d00001 diff --git a/public/country-img/KEN.png b/public/country-img/KEN.png new file mode 100644 index 0000000000000000000000000000000000000000..f9e8b75c6d9aa81dc978fb8455bf5b5189c2672e GIT binary patch literal 4335 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 h#bFtN2Y!lp0oEq2$C)X}bP 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 literal 0 HcmV?d00001 diff --git a/public/country-img/KHM.png b/public/country-img/KHM.png new file mode 100644 index 0000000000000000000000000000000000000000..5244a58f6168d3c45bdbd179a46c411e5524818f GIT binary patch literal 3769 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 literal 0 HcmV?d00001 diff --git a/public/country-img/KIR.png b/public/country-img/KIR.png new file mode 100644 index 0000000000000000000000000000000000000000..758f44158f416a70831e4db01a87fdc5cf7a3a27 GIT binary patch literal 1982 zcmaJ?dsI{R9gory6oF()!Bp`YhBE{5B!omFiFrUef&l_yVAMP=kkZ^6k_!oBz|wel zX%So6x}u;|C=}XS)KVUfHl+?))Pf4)L@S+@0OBfm02SSh6}vyi?m74V9_RDO5DRufiZFc>dMj4%ORd(l_x;f8)^Qx3AxWj!KFK@#C~#H=!c7`_%(gMdV@$^a8U zl{PQC4~)cM+yI?C1xb;{ax}1>ta4$<7QF#wV=$3X7K2KY1tNeN%+Ntx;=RspBB0Z9 zi3+BaDm4heOkGUA5lqaFlWX#`G;A#~YC8~V;h+L~5K#dZ{Tq;pW8o5?>2lD$>zYCY zoc22*uBBp(ide6G03d3dL+Tlg$h=Y|Nn0*le~-gH8`c5uv6$2vJ!=AyeRz zf)F%mj5-6NgCW4Bs8Yi@2$zU@`fCV!!wXr+^gK;y!YCG%fkGowT_G(2rPBWo)$3oN zO-KUxo4@~4*d)(0fRqH#1m_qvXyMWWU8W2ife}<8uu%@fZ!Bd|mI))UDHApTf zL}JIA_%fIM{d@o)K7D!tzXe(-Fr#xeFA?(PmTOZV zlo{;+uGmjD9C&!H=%2>@_;=&7Tal|e`q6pC;!10(<>^|x`yh|tA;oRR9op(qhZ~-Q zVpjl);y0(tuRanKv|&B0Ge;PU>H{}njemrEfca(tk%+?ddzbAB2DC?5pDL|K;+~Sf;Y4 z_>bppjskg!%ual5 zf50aPV8H8yZQafT+neM8h3!ofNdpOt(jWSi-Nz?3(0144^I{J*-#_-+g!{f~ch9>e zOxt0J&;2$XKFQ_?!_5UJUMg>N7j`?(xTZlV}BEoywyiW3Li;uw`uviOJ@0qPmrTQT{!zCvnx~M zpNHE<^$Ku2K0&suD$+*CZ$#Jm{s^t^cl#jC@Avlt9XoeALaeXuf;VhA?|BXA5X`MT zc5!6r=dGpReuVc~C^eU!ZC`b^T7T(fd`(ZgyC(W~QGBNOm7XZM=X4EFR^dCUltu2< zuL_j3o{cY@E&iNx@|~dUNq*$(zij0lt&DWUUypWtn3l^Q3wU?%0shgx@}t(?Y22+l zQw{0;ZlovsI_6Eewcelcu1`O@Fx1iAh%3xc&Oe;q8>e{N(=)h#X7b^lnB6liS~KU$ zx|J>8Roy4_O#ZyybJy_16zPFvkM2rVZuw1Ta>P&bmA;+ip44of^5A>TX~Wyf>xM^b z^J@x1@Spj$eDq$kJyUh;s|7Mr3Dn+M7}IuNArX4tUcB4Ee!tQ2#3!bE%_vglme>}u zxFfCYt41k#v?`f&XoDR;WD9F3oGh{D67q9|VzB~i)nhkbMg&pQ7saXAO{q~yS^xZy-~R_Hjx!_XHu7J8t*9k0y5$W4JS%QQdVU5ZfUk(I-DU} zJ5b%|z5Uew+0Of6*n!Jm$6xmvrAo~rf2Ojzu+KJ*GYj1E*-ewcH(x)Djeh*G_n^({ z_xFFyV0K1honr~jv3Yrk`vwR2tsye&rx!_^Je^Z~45t$xf(ltn%)< z*^5|78lMka?9Ih{(!JfcjswbFH!Ak_I)ALZi)HwBZYsxLIy3S9hTei;P15BY&Z#-S zZ|j38w_}u8GOeNf`-}9d)82J2wFi@P2&oke|JIIz2f==$L&4QsxW4cFBuV1Qu+fGy wr1~z>m2oHU$=WQ}EQD2}Bm6`iwQ>zcf9v*&oR^L$Tz^!FC{Fn4j=gXG2k+DyX8-^I literal 0 HcmV?d00001 diff --git a/public/country-img/KNA.png b/public/country-img/KNA.png new file mode 100644 index 0000000000000000000000000000000000000000..fb726989a0bd8d7f1cec9a2d49f14ff83043ef74 GIT binary patch literal 4459 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 literal 0 HcmV?d00001 diff --git a/public/country-img/KOR.png b/public/country-img/KOR.png new file mode 100644 index 0000000000000000000000000000000000000000..bcc44bf0285093716d3de54a3bc269a368f25308 GIT binary patch literal 3131 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 literal 0 HcmV?d00001 diff --git a/public/country-img/LBN.png b/public/country-img/LBN.png new file mode 100644 index 0000000000000000000000000000000000000000..c98880e84668612823f890f4141c6fd6b08b09f4 GIT binary patch literal 3349 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 literal 0 HcmV?d00001 diff --git a/public/country-img/LBR.png b/public/country-img/LBR.png new file mode 100644 index 0000000000000000000000000000000000000000..86e18b99dca2ad85980c9020b1d61df11bf5cf84 GIT binary patch literal 1965 zcmaJ?3s4hR6b)#rfT%@V#Y$O%gPO_zO9DY4F~~@448PdoXOk=tA=!}KkbqKD5Wyef z2MhSYiGUy|k!nGUXaxinsY1o-Xlu1%YbBKuqoB6CDA?(g?w#Ft-`jJ}z4yJlvw5;5 zVeYQ8TnPk%d-x);92?uPd-X(T?3vn^N5%$EbfE%`gyT^YXn+VIYFG&Y;aV^Ol0%?6 zEu|d_BoM{{nkWUTkVXhpu$Btq7^+#T$Jhiy-~zKAR3$+upo9`MIw8?^riln>)Iwq` zM@pCKMNpz5Vp)x-rsK%iNG31}e{1kBoG9U?FbiNm@A%*U5$L|_<# zCJBjel2S-zfCx4~0EbGasOVfez-3SwEH;nFBLhr2gHEF}X$&TX!4t5U0y-Uddl9i{ z26enZE|$EFh0TP-L=@EvXf%__L^ZLfupxoQ;Pd&o29rs_5ELX$hk|B`4)GmP5JQN{ zpwXimSO?&Wpb|EsLL!#wn-aA8QCS`GcAKybqnSZHjX|a3C5-^3(*K8QwWDYRl|%3H z{ZC;eDoqd3qx*+)L?c`= ztTJjL9Xi5QzvJ@8E>)nk#xkU^6QsU-$j3k(-5(2Si6drZBzT=m$waK_})uw-cX zvHs(jN0zYO!QIiO#U`U|59zR8H(*U2_JJMy!p8fCi$kK!w|?JGk=+lTz7FBdmG2c0 zW6P;?eSIt4`bfU#mzoM%PEMY^N7y6SQE+~FTuN*avV3pbZT8E7`oh<9_WxR7E15iQ z`mBdfc(6AOzPHOZWI0or%C0Z|Mt7C-yz@oGM1pnLw#Slv#$U_c+;aMp@m+~x_93P9 z>JqO|m&rLEj8ia6wK-5MX6yKCO7|(w+G>uRwflh^<;rD8b@#VQda^&PYI31uhZnt<>9D4HD5YQDIYj|)*ZJRd zlqH_Y^tT57IIXuCzv%tHU_@*WtJAlAyLO({ z@4l>2y6eOp#MT|1zip*o8M~${y7Msk%7kj`m6(9Fxl=Ok(YI16E;x5vT1g)5Ywte0 zT5(O?P_}|XsbH0KENW; zlA795Q{#}X{!e$!tv>s-%dbxV`M|1i$?=++B`-iH*<+cMu<7ZiK^kp3z;;K$|QeDejvm!1>dtb^Vkvft2 zbyJf#->$Gu$#H;(x=&ur&MBCa_Wp1C8l+jG>+0&J$0_!CNKu8-yG=pJeGfNTmAUB~|H6{yWyKjBV;6JT zm-#@9Eud?{xtNLg`*jN3hQXXU@Q!#N%Q-#4y3US!X@Hkp{q9h4b+nxy8r+H literal 0 HcmV?d00001 diff --git a/public/country-img/LBY.png b/public/country-img/LBY.png new file mode 100644 index 0000000000000000000000000000000000000000..13b396b217e6e10b4a0646271b51d34372411977 GIT binary patch literal 1183 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 literal 0 HcmV?d00001 diff --git a/public/country-img/LIE.png b/public/country-img/LIE.png new file mode 100644 index 0000000000000000000000000000000000000000..1ca09e6decc59fd8a7b12adb80544e9a4f9dd6a7 GIT binary patch literal 3152 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 Y1(i$N-`+J$Uj4@>nb{J{2!~Go8+_qeT>t<8 literal 0 HcmV?d00001 diff --git a/public/country-img/LKA.png b/public/country-img/LKA.png new file mode 100644 index 0000000000000000000000000000000000000000..2f148e87a06b40deff0519f3e31e933c01cbaca7 GIT binary patch literal 2728 zcmaJ@cUV*B9u5Qq1w>>Bq7nj9Kp+VrjIcA5VU%K&5N1eDh9ScwNLZEONTn*EAgfqG zplX0yY#43?D>92{1d&mw0|e0mvP5oh-TTM&p6@y58_)Z`zj@Acehk>PLu<{(H6Rd3 z%hv}NsF<4-H%%R^cutc}xhN(h5uPO4!=sC0DFOiGP2)uY5MK_30R#dRTHJyAfEx$| zhOmev5s9!9P33XyC@UB{F^8{UgFtScVm^h+21Jl3fWhLrLnp7@fHBeom7jVK6a;4@20&S3>#%BoO{Tl*9Ro z7K#Fa|M>eqg@wd8J^%{@guEC5RZ%#)*@`JX8Y=)OBA$TA<3)eTVgQpT;t82NJ_Nf5 z1qottX}nnBM>K(e_T>si6fPC;#koTjd^;A4hIYa`WAOIK?I;JlGXjBk@J8U^cnrqd z#RZPX;Sk6#TpW)Y!vVOWFI?JJt^@p=+?7V)@D-MEfPi%npluiMIFOG4qgmhf1@}$8 z&s^F!eL>>C$%QGLfvuGFzsmgONYOhh%dbtV*nDk!fUD?rfugCY+PM3Q7XluzlZY=g z+1wIgkk3<#hODc}R0Rq^<0se1E7X&As(0ioEf1(;)~gvF22Cb_Zdh3@cYvr1vHBp; zs$pN8H&Og#JT(1a30jkAj>;mWFE8_|qQj3yVm98skuV(HdB4o}4N1;4PshydSe2Ok zX}tGLNlZ#g+VI0%_@>74$=Y}OUJQ1EGbV@Ymh^TkQ|4Lh6Mf2(>#F8YL)OHM4H1~Z$WD!RinAju%-uKfMGESJ|r(VA-toV@Ef+mq`~g_c?}Wu-YHxH3!Ix~Mo%fW>6-+xKXCi#IoC8pMe@xQtOPdev3uw=@-8jz`qug(o=Og2fjd zF>dVa!(+H+C^`YvhaWJ6cAV4lS=c%=87bCjHkIyGQD!;y9zI`k`0kc9%_+|9=y<~W zpUC0=^1u3XBYB&v#xc^lBGePav_lW#DidkKJwt+U+$K=jQfHFBiD@3L_0Fp2=1WAZ zn)$*(WlYym>kf78_LB%*V$jeCGMH_!!2*)ecsnvgtxJmQ*}7r9b7|7X7*l*r$-e9U z3A)2j{@(OR3$t>|2Fdz*zw#u5G)ZKZDj_sc(iS;zfu-~`*XL1`ZCj1O;(SL|M!iN1 z*_L2ZmaOE5Ei>C2>`%W_6vSp9FDuILh+0GvHdlRK}m?t2Z{8Zr0l|7nVNl)nkFHsX5OG3rRpN{G;uq zX`H$1K`WSe$}9^YXX)9BQk|WrG|zO+nymxxtT+B~G_Glp?mc2HZ%M(Kz6_QP@;AP( zYlQ~}UfPtZJ8DRHofB(#)8bC)6Y@5t2Gf(0i=hSOCTIJLLLlQaZ%M@x)$el?@&ka1 zY!}`kE0Y^(r%yNi!Yugi5AURX{M)yN%pPXS4dpI=y4{u%tK2^S>M;6Wg85-bDrSPg%HiEx6D*V249NvOBCFY3 zEIoH7c`gPbL*gKV6%5a*^Ll5_jSbJ46g%4Yk<3~Kz>knkJv|v0?`CrzhFtU<7~NGl zKYQ_Y9z#Nqe>W#FpV94l@9bLlbL9^l)E4B@%`JXI=Vt;BY5Z*?FJ6S7XfP-<6<&il zmhQW?#-Mjv$LVqrQ*SEwXF|i+#gV5Lk6caks4u|N)*kfq{@-=5_5E>ew^2P72kJDzN(1ILW zEs8=$*`e5WyHOkc}M4b_5@Ch$jinq~}fWLIccjp1x>Xw5NAiKp$G0iHRA2 zML3cj;TBL70jKEs6QdZ4BQn@bOxn7kL{F4Inhfwl`(p7h;6`f)5Pk8AQX2E9|#SF0sqp4GUh+cNvW0 zK!!Jxw-40T(D-j(j1>%sA(M$vC8dy%5XBHxMFPoJ2@HWierl+wC@>HTfnj*EXQ%=` zP~w+@AvzF6!V<|?0v_;F(bJ0%M1}zwk^UzI9PuAneBj^P#Mm&UP*0)~SW)?BO22?` z`2P>Z;r>Afl5Nrdjrac)4n%|z(Mq=HKtd1+#VDMQ#7|d5r~wJ>NhXjG1j4mnyJ(Fe zkO_ep0uf+frw(wy;=KtWfq$XlaHttRknD*^q0J0oKn7nCi}i*YsHv%F7(>+6)eMcn zU?Vksh^D%pA@~v)VqlS}8O~MAFy^To( z9N@2nq1b5_9$m9!$!ZFi z`{RI_sh8|bX~3hm7s57QbJ%~NSvxBLuNU@N%d9tlcDMy%&uWmkcFx+L=ee5VrpE=2 zQht>!*+_P55*6CfQ+$!l*J{&V53KaS9q%54yqZVb3YD*YZTdN3c$)sW4F|lxz|ycb zl=andwUgTiA20URRc`-y}f%-i%eNiJJHpG zvNhqznU_$?qxky`CVweH(QoD*alFEn)TZhWZsJcz(i6{f)g`PiX10ml`wd}Q%^r_M zQb5t&7U~v!irFWQ1uf%>kg??XAYCM_h6n^EYSlxKXIxKk&t6mjX^S&5ozF1$F9|fnH=Uu)vas_a1Be zP0Dpu%z7oPq^}l_WNnm^KYe}CY+O-)g>B`nKsarY=FbaF8cs-AuHF^kY!!V1>{q}v zT!Mb>8-ugIunE?ZXtQNEx)Z1x>z94-<;XqX26Xccy?(qy3-2_%+!G-)P&M80XN$O# zEJn?E<)B}-g1%5cwX+1@lb>Ox-+g(gl|>t{=zkgDT>ZE_J@|6`=*1uT1t1-dZR4Rk z1t%u38Pv)ukdFzGf|!);3n>+P$|-g?x?RL=(hkFF`(rd0-<#r>#2oi(xq{Ba5zv&g z^{2}~9-i++WQ|3k7&G=nK3n0}hKu2?jE1C%NXA=ShkYdUG{{3!k$^mXNs;^mkTe^s=4a)OUOxS<=!HesBA} zsPs%ut@ByZ!_4=3j|!D=L*?%Q#v>LEaH9&qOl&bIH5`VEs=T1xud-ZsT2tF#-(oz# zgH_d`q3Wve$nKx9RL(*2@rcwFA3m+AEoW(*=W zF6;4-{VS9W&!;7hcbkd02=5u#=G5gR3346xo!EuG;olMwW1JCgY>6Pa$bwzatsdwl z6nxwzzqPyy=B&3eP*1A_8(AGIU7Bxhaviq2ji|5mN#cliE~wKjKjZnau128+^iGs- zYh>!6)yn8oS0U27GJ0Dq{hN*BqX^YfyD?Vvmn& zngqL`&n5{h&*toRsTI{B_`k`NW zT?AJ%AT9ZIZDg5VZgE|Iu)J=rb9A{MVUuHGgG8WGKYsGcjQ%DkWZW`VOwD3xhdHgU z#ZMO;6VKSzrW=gKoUQFA&4R}o69n{5BWz;Y8_93xH|X5doOo>nsv2F zfwkbhmk~B3ammvbl$#}>BrrY{N!3T@%5HA+N@ixTIEfz6>OeEU>r}sFHbgoXTs~c0 zDTACo(k-pd0^pDrvUZp6O~y zB`s8zyo~2#k%d=-Ml1c~s~$UtS5h_T7k`_GE(}b2p}GG%phw%ujpuu(Bp*4`cdZgO z{oV=Z*5L;oFfR-FBvl48K3{8A>=U=OmB$~XE6q1$yy+6;b~i0!t0Ct{`-+PBEvUm)#gtd?!)BWn8YqYuip3X}m@5zcX zq1!kI^gRb1k9-fPsju3&i)#fn zNrg46Wg-7#1?05be71XU{UniCqsDJRDa%~}ExOQ1O#UmvqAr$NiU=`uxs7Um6}w%AddR~_4TxpA_Vhi}7k4)y@NJi(@aEl5QQm1?mdSVX-eoUe)CB#wqPda(@vEY3k z%7=jLXx{+DrM!Hmfh)`?Owxv5?cqW12XwoFpMNo*voaQONo-BKAH?mIQJO_N%hW zl6;=)y8rew_;a2NXY=|~*B;s#uMHXKT+Qs{C}&jdnRJK=%_hhKV=HlGx%Np ze@mZ|;M&}a5Py1q_?eZo%hR8#GJ@lwYwy4 z=Ma^z?l6kF5Z+o!#Vov1IRwc`=b%TY_!=Utx9eQ~>+RWAQ^w(#!2yKxV-#Z4`jgI4)&s8Fsj<1Te=k1FaAACFYY zpBas4JQvBqk>#5sG%^@4mz6L77_;@VEehc zn4H#%oQj*Y0YS$hjj)*Is?Y;1JH&O2w3f%38gVP_F86Vrt2$1v+;ZIEd(+1y zQvnZ6LBy}t13`$sp6zo&r$o{@fR%QM-}4pLieT#-5EcUV{} zm-YRE-#AYHu4P(B+XE31$JV!7IqKMq2EmuGJS(*8VdDh?$In?%hP&@AJUem9>sWwF zib3FqQLC$USED$SXb4Jws$jaw+>Tb~$njyocT4=UUok*{@vaVC1bgD}x z5^D-i$A$%KNxrA*d*!W4!zS=sW^=2fZ7LVK^;D7OxXJ$5b- zQFo%u*L3c=1r&7lSuuF?+-d}-2krXyGM9(PlS4V%PRn3xZL{&^>ZS7~@Kc;>E>gZz zFUAYAMNiQ$bKTO1Z`ZU9xnk;xmRls%1xyX-M|RSfwhM lrA#%o8H`?f+j0CflY6ZL!Nu;1;LpDuW=58VHToVg{{ssI21ft@ literal 0 HcmV?d00001 diff --git a/public/country-img/LTU.png b/public/country-img/LTU.png new file mode 100644 index 0000000000000000000000000000000000000000..da23d8dba3bf2a2bab42ff31f3a483ef7d8fd4da GIT binary patch literal 1218 zcmbVMO-vI(6kbJRQ__S)LeSH&oHT9sr+;+Q3T>B4#gfuCq2Zt|y93?8?yS3mUC@Il zARdWl4kmI?6T`{Ga4@0=2p8i~V#QQIsdsC+5kzPTo1!LGoSv2`-c68160M0vg2?$%IrwK_d`kG-(Xxp`=V*+<-BP zY65DpgiG18f{Zl3yz0q3&NbA3j`yPh!^lI$1*I>aJ-L;2mxMTSx|jwlFd{`g}j)q<|3y!UB=iD7^YIG z_$vWFGRGJ$8jU&{Jnth2pEadp$@b}1XH7wbmTam9R*?=IMQH?0;y6v5?v|h#by?l2 zUK6=6#+D3*^RrG#HDEToKUCA|Xbb1zp5MO;Tg52@GI?mBNmC|`8|`#b8A8g05=Leb zp^4fp=E?{otBeegDulq0sw=2s?Vz(+A){MZ(q)(t<22#>RaFsE(KH_j@!?QVOmkds zFd2xZ(~(e+V?(KEFxge(ib$T+ppI)?WsghH4YnFLQ}m2m9&X8uv4(0Hue&1 zs8{7GjlF~#av5TVaoYM@n`OT#s%9zrO4LY;G^Kub#Mm$9)udXXjRW zO0H&UW~HTV?V!}*ojtskBmoj{X(RCtFNr5h`vSk;-M+G^A35i`fBw_e!ot53_s#Ha z=?Am)h(GlH>Ai@w)k^=5vp*8NS^Thh>$d7i4Bw!dsKJsu{^H5oSI%E0(>owONM5-1 E3;k$=sQ>@~ literal 0 HcmV?d00001 diff --git a/public/country-img/LUX.png b/public/country-img/LUX.png new file mode 100644 index 0000000000000000000000000000000000000000..b88e7ffd4847630e5aaf6770a26949495bb16c43 GIT binary patch literal 1207 zcma)6Pe>F|93IX5i(z1rMfMsmQSSU%cir8=%|APCuC=o5F1d86aptW%=*$~up6)0f zEc8%x3A|^W!o%XBgH#X&Q6d#y1A{sQQB)ul7*TK3T|2nqz|4E^h7Knicu>@>wM7IPxNN@TIWbVK$4K^uwI7n}WN=0KJgiHv$ z4Cj)$HV(A$4BzVU`Ft(F&G8(|xmn)r;(bD^Ti`gb{m`VEsicLt7~ZZ$RzW(0u_3T* zHk)O#tqd}USUwO4I38}di!fZ)gpMWKrCZH;2N7DbsTx>CI&d7NK{SSgG)cO(1elu#kpp9G$zXYgbGDQxMx%REHLbw5a2)RB-PPDiP8g7lLko?WGP$^Pvs20tLMD_j zGLs06$}>2;Gdb>IA-3`Lc=B4St4e)o0l zS=BT+I=y3qSJn``u3>lLgYKoDuj@~ryxg~3Zycfbq1eOv{v|2M zB<815Yac60m#Po%H^lCis|z1iF041+ZF({KX5;-z{O`)zRBqwW@AXc-q@23?tv>eU S?8cn)D~a^4nYt6Q72uCR{URaT~gS@O1qE_pF|v)#ah zV;04O9+ce_4_)s z#xHjHPx~o~>Pn3&Su%biuiow>-?4Asuacn;C-Qg#&ES&iKq{uAX$VrLIt#N<)faAT z!Xb(}4vbtL=hI`7hD=8FI852JiJGE@hRe396(I)GaMrM*^v}2NXkh43dQwPpX&fNUU72w>8%bX0O{>~va6SuR#B4W^VRP4tXm=#nxh3LzmO3t=V6 z^NDaICJV9{Ovo`Y9OlJjL#rTd-h>uzX!QfF(o*X+f@zb=3UrK{P)|C@1hoxIM(ZrG zmVR}u-a1RXrIsaOSnpc@x#k8$ddHhKo0cq^Z4WKd>ket^55KAriaO>?DY0C6_s8y9 z*GT46<&yI3Rb|`1llii9Zt8i@qp9=xj?kNqjmYMeuUjkC$!d`PW3u2f^ex|6?e1;w zRL>4{_pZnDV1NK4c>>%f__~ka%WVX2?>wBi7r*tCNy-n;>~LF^_m}S;Wws4)r literal 0 HcmV?d00001 diff --git a/public/country-img/MAC.png b/public/country-img/MAC.png new file mode 100644 index 0000000000000000000000000000000000000000..181ee9cf829de69df0ed3518b372902ec2978ab8 GIT binary patch literal 2091 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 literal 0 HcmV?d00001 diff --git a/public/country-img/MDA.png b/public/country-img/MDA.png new file mode 100644 index 0000000000000000000000000000000000000000..a67d145aecf699d9890dd985c40d8206bb799948 GIT binary patch literal 3853 zcmbVPXIPWjx{XLcN+==$VU&VhXbMVIEGWnf+~CnU_s8-6xZm@9d+&EYYpu8J_s8CeHdZG<{8Ib?003le zhO^_$PdGpM02gOGHNWV_nGUl|@GN_VH!F?lNXM9@=;9ssZ( zLUX{g@Rp}^NDR6vaSx*!P7ma;0RTP2@IWHTkHUg@QG93t`q1|cEl>!JtPgcYTOuq2 zu@oxJERspFkF;_iMf#Dn$xuTBh+eo3M}SUY5h3Ap|A1hfaDC`^T^-JPZyOGUe21|7 z^r8O_3U6rx!7`W>2wD{ZBOx>p5Dla%QcYb`Q&R5J;bCE6s$puX45kkpsjaQOr-4GjI0#s9L;#Bz4hsnW z{igzs5=>&!0$DUh0Ax>*=*0+O=|ee@{yPPF;6Jhf!9U8xDHuGQ7zjtIBKA`H3AD8Q zzoB&cKj>hV9pyjq{#W5(hloH5+>R2=2w{>q2j~6!o~u9|ER#ZHF_;bvhX2nh+E5uR zMlh8T2*KK;Ac-j_&I*IY;&50s&iIpyV~|4VlmOOGF8M!PUjI=6r6&FEzOdo^PwJlX1~DeN(r+i0 zv|4VJZ>Nb()=tH%ZGPEUc^J&So4n}OYP%TL>V?Fs@FaJ6R^kQ0$!&WUIJV2HV$b4i zN`ANgJEZw|1iLY4O9O#F?f6NX%CC1$5X)CIFa1%P)l)Z{_X=MO2-*LN+em_)5-#ey zsRAr?!aeBGOoWa8S>jC&RX(o{ocZ&Uh|0;ud;|z8P>H?v*sG!$PcixI#-(gNYrs8u z{+e*rwB26-6)_RG;_<>&=(u?Fqx+HEPJ)3eZE>I$p77P6jb$>IIB4tjb|-j6;J6r9 z2|aPVto8AgqxO>4+%v~{{G18%xRlioHKGaM#W(g@CJY z$yX^!uBCC+X6d*!dkA&?EAT|@hmz@-M0yxzHyv;5BYp-)wDbnB4)(#H##;kA_^} zzal^Z8Ni6fLRaT6FYniD)8XyB_$^b^0(a}|aNOiG+gBTDYBj`k^Y^`;N2)Ja>`NtP zV~@$ltqE+mDn8-;X7P-BurX1v2onC_)05oZoJUY@NB-*dCOw%bsB3AiljGff={2$F zdF2Q3^Rr(@hd+4s#p54;yl9%b*3XSS-0hmKD7e@(Fsld@m=oX~jd~c6`$);J6EoR! zwKJ(xFm2t%JAoaaZAKQt454+#R<8}VyD=m>TPmt{^>u6s@BVbVo(Et!`bxp&4t&_o#53lKsym;GEzg{P#U9|4A zIT&vd_c-J2C!YdPOmVVI!N-E#))TVqT>*5^x8LrtV|XcAW$9Ki?AtpZhnKz@376sE zM41HZrmVM-CVw0%m}{}#wTTGb`zWR7ge6kmaXicR*04#?({67I@+

T=VTV^F`Ke>5Rs(B3QuEL(Gh%X)jntrINw~bOj zgPr*8+a0Be#eJQ#F0H^B4W5-$B^?J)(LGnWMVb<%g!J^7AN)9~JO1yjW+XoTBTD>& z2wE)Xa^jjs!eZ=0Bsb6ImxJ1$VD@oy4eP7;bE|S7hz8K9^CK1fj24*Yq{!;__nc+<`eLWr$r%l3Qn;_a5iD$>aj}#A zpJKyh?KTsjTJM&GP6&-goSxWM_`U+fr_k{+WSAan+{-lWd3YK5CO z?VI1$|KuZC%D@!koSl%e5l`fl8uQi5+R1Alp?pbFy*<;-!nWQac6=_ki#M`_Si3Vu zClUFwHBxbf`QZJfxK4M`u^fXqHO!rr=7l0^53c5%t-+CK^;(Zm5cJ^(*t69?1l#M< z?7qgi)fvPsXY!(pj%IC$P+V84>Dl9WK5xDE7XixDv${~C&^ zk3O7|BG>ayX-QplJLy2NMfDw;zKPxSwmVSJQuY*AQMb)k;+e}}#~bT+I~+4=tz4W_ z&0Or$d=iqFelgQ-a@NTacKcIOa@rJ>%3xqqZ>#Q4-ttK&n^UMb^P} zG5-0vF1NX3`|83NzN8x0Y)6g#@ZqthOH&yzx}%jNUr~E-hL`}jY|`@4F+D8Db@Ox`vih@9x+DhZ4opxR8x)u1IYQa*k* z$b*a*66HhPcgmdB@U|Tf%Pl0{Wb8)y*3&Ii#0O=1`aPr(%bA8+Wyp=EzugHa9Smv; zvCX|NqYzlprK5CH4#)QyTKI?@xvFBH)lXXy3N!8+@D{suKd@fy?DzoCT`aE;(2(i7 zdtX;0E0-dv`iHgm$p(e@!)h_{l`lw{N7SiB#iS0B-9ufsMVgv7zXe+Qb#LfuM!%?H zPVv3=H>xJ#1L{Kp!+ULzw3&2i(5gB^aL5UE2jR@nqjR|V0=>jS*VaVr@ zy#1+?M?)sa?gKuA(TnJh$Dvil=u%&Ygo$_R@VLG;4cg16X(xuu^5=H)Dg;NSZ$c>}kuFX`6jJwOc%X;YS3=2Kl@)7FfVoM-}(_ z6=cH>NN^%>xqb98#j%5x?S#^iey+wBQwOk2B>Mn8xBmvOWc=Ex4ZlnWkN!Bqy{l!<+C(fH zqd(;QeeehzKUHcZ0#>IM_N1MhoGn%wndz`e*Id3u&GVKWm%TLn8t>J}_)0CLR$H~b z0+wv^VYAe&B?xo9Gb)KFZl7v@8jnlSg*30^jewN#S|{19SI(!LY@KUkQI_Oc=`Qd} zT}i+}*W^n>1-0Yz4ej6+KRmoQ=brEp8DrDAnD(%^wr>_n?U}I9xc}#c^~ardCxzuT isWAf_b$+?aEeQyr_YniOz9{cKP|Z!OaQBTp&;JjgYpr|$ literal 0 HcmV?d00001 diff --git a/public/country-img/MDG.png b/public/country-img/MDG.png new file mode 100644 index 0000000000000000000000000000000000000000..84829ae29ba6e2a2063e2a954255aee32de4cb9b GIT binary patch literal 1203 zcmb_cPfXKL94`1LWP}7SB$#NPg^LO6pOrCMskp5jEYbzHCEL-`K3K!rSK9|GkSG#} zF)>CG6O9KWo{i#F4~iEwUOaH};DL)5qVev**Rc%`&Wko_-+N!a@B4l4yvkV=|p27;`u&%r#@&82G};21?6 z16Hw&%i5G=Ae+%c4infeQB%~|c;M>BJj7rI&RLF3e}Dak29_z)rMSjvZW>ms$z=}~ zmUBg8dEO9Bdi)|73nXG-L#%_qt~$OH$aLLTBJ&VtX;7!&d6_;8Ro13K8hH@J87^vY zBODmv8D1DpBoad)#_=4>#aKQTy81licAwdV_Bw@NhU_qDJ~TsRx&)V4yQyx zRYwFtRK6c@8@=+yOEE_ySnvrL%n_PQe`l- zzOj9&On{r)1n4CA`U!$}brZa|@85}QCI8Wb>dJ)|-=1Fo&(`&@8{1Q>ZIb^OkJHcI cem&c9lG?3)67CeFTj6gctLBvFsjF+h02N+&&j0`b literal 0 HcmV?d00001 diff --git a/public/country-img/MDV.png b/public/country-img/MDV.png new file mode 100644 index 0000000000000000000000000000000000000000..fa04158e0edcf3db9ad6453c4ac0327960258341 GIT binary patch literal 1927 zcmbVNYfuwc7>zhmUkGEx7b;6Y)R82c@Q4Irlmt!0poSm|D!OD>5-_`KvY3EU0kILN zqP62VB3jXayd&Ua6tJMJDD?r#Lm*&V>kEa_f>u%N#sd1I^oKjM-@SL|ob!G6yXVfP ztPWgmGk)fH8jWTn5sPHhSVO(L$68VGz*}HDHOwIWAuA zg^}2;*HK>@Z8V^gLnI_!$y4BJCTzhl^=g7*(`dc|Jpn7CQ4)wiBUKom-hJsZ9Z(^B zdWfeKloCQzsS?L&(4e?LxgsuF;f>G*iveFfj}lO$Bn;@)TQDt8&!>OThxcU{Qo4@EDR$rz-t-3u24-+gl6SQn;2q=~QKUA$AMr%nK z`mx^s6xPaP36v#6wRnt1K^@#?XGJ4&{k!$f9k;|fr zVOfs#lVcwGM0v+D9X2hs7`8o%QC`hoe0w)jCujSYi4MjP*4;CKE;r|m+A)SF^C z@BN8sC+3y)1eS*P=G*2s%8fyd{-?{*A%3$W(X<2t+!6*OVS^pELc8v0SL&4QjmHC= z&iNm4Ja6E1%zkymE_wH)q@FjoW*#4?oPw65{pwaEaPW-)3Ie^pf}i~Kw0qk1?@l!< zVuDg1EqIJP$titSmiK)Bj`U2#u}QMVKBQn$*3(ixvCeQbIQ{i6sYXp<-ucHRc}WjX zJe=)b1ewRyajk26Zk#Q@TLn%?LaJJpLz$tC8y*@9g{wmCTm=)`8O{Z_$PH^7=0BNH zent#M_2=EYJy$q4+A%}-W1b&wj*|sD7+ixyP-@t!hG+xl@d6uoLHoE{M`Jt1+r;I{ ztBt89`P8b58TZX4F=UVL?;3w7Z~4S*h66A4+gf`#cYV>+F4?xL50c}v_n4-{mp-n4 zt|x?0RQsaLD9m~(6xp$Xk4>AEI{8pmrE7dYy0hl6W3`N)j81x*V7e6_&^*g!di}FJ z=M=j`S*?lA4pD)Yz7|X<;h(CHufRY-vawou%xXoGPsOz}K5%YbUwQN0QE+C*ntVif zCGqB4idVk>SkmG)W~^KcrM8PBH$gw!!nxaTSUv4JX4su<)GJO$*COn_t?81W<5zUm zZv;Mtk37;s4vq_WkrkX%8W&o&kJ;@UE_HPazF4`URTuX1hrKyInC-X#b3o+*^PG~D zd2W4U>eA;KAMX8n??%u++1TE=sKiBRo$mx!?6Ql!KhR5XiJ`M4CG)V?~&<_@d0i~1M|v5zU;gbZP3{ZtYpfiA=Ro6^e&W|9(1kEZa!JdVVa6WQ zZ}i@)k>hIHJFPpu(MbyY-cN)>(RWua1w21Pqi$8A>GNX3&O18 W$-%Qn@1uU2G@8UeP*mi%Dd`_mAO=kU literal 0 HcmV?d00001 diff --git a/public/country-img/MEX.png b/public/country-img/MEX.png new file mode 100644 index 0000000000000000000000000000000000000000..e75824ec56ace297ea4a23612ff454b35053f90a GIT binary patch literal 4359 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 R{2k{1nUEL4J;~mX{SSfr+|2+0 literal 0 HcmV?d00001 diff --git a/public/country-img/MLI.png b/public/country-img/MLI.png new file mode 100644 index 0000000000000000000000000000000000000000..68e645c7d9d8d3e9dbc66b9418ad499b8045c739 GIT binary patch literal 1200 zcmcgsL1@!Z7|trf=p0PYfqHq%KoHvGC2iLwtZr-5ZIxxzuCRC!v*dM+Tk>M^X0z?! zCfh;q;=!9#Ipz#Y<&)ukZvyBc#nn{ z<`}Tb8qw5A*}yiZhZrufUCL&dq2a*Qjd?`CESj^N4EycXTNYSmhMh^NP<3;tYE3MA zXnJ|7Y%I?klF1HV1Ve#L1#Cog5ZDWjF9#X6t}D}h80J|}hmiRUduU2iiy((R1X3J~ z8*l)E0f7?|$#gm$10ob44@F)O<3d_ah%$tr@vtpx6nQ*p(DS46!yzYF5*kb$BUjp8&~NMQ@L`^Lps4;8RLcK zEf%YoV84o8keg0{8Ot$o&99?XRW3L_(H#R7lnhJxoMoA^kQb9V35uy?9tuJ}Ihazi zQd)pXMa&8bNosNxY%JQyAx*A%#7(s2hJ#?cG_!&{>n1YCJZyt{!Lrrf3v8>`;F|5d z2yMAMHN%H({jJT-5S^WH+ZtMWXpKE`=&XBmsK4x-oMD)b^95zJ9DM%zsqggaNKgLb zl~aS8#f_-(RC#h=yMFg^B=X|H%DIDESNA@=c_?geZh!x=_EUTI?)8abGuqR;lhr_M zePe4x>+I6kwrC)t_r=za(|BhWjra7@cwg-Q0J9qRPkro{_9prLm*cA)%>$Vi%7iyuj&%O0}a_k0%Rp1kZ1w~Fhqzt9!Yj%f+QP~jY&W$#ZeIt z#DdlWk!rm-RTM`N(Gf(vsM>(YB_7Zc6$LR!1-n7PcBb@q_nqDEnCE%k=l#BSW_N^z zEFEV(&6+?UjN`DGJbb)?zgx$Q#J{N@fH-`Zim?P(I4Z%kLKQ;rgHaIzaOA@E2oDj$ z`j{%jn?M)^$oK+Gzzv4PsN79x!MN$C&A3))f)tPpQppr5iQ)+@q(UGFe13>{ zHWe&^c+4fAbKxrnQHo(oh)mXMwQkylZm4QKnL?-2EgDoR2}h9BdIcubkrZmDK?NqF z7OP}ROol1|i=t43YA^;7clxOWxpGKWq5gbK_<@miLM55v23krQ1ai6m4VBA>&}xi_ zeDV9Q!fL)=iI91S8r7)8_{B+_EUA=GfC>>}sEUuG(SxTLCPgt+Ek%_;KsXJElqq0T zs~$jexe!O8#)Jwn!eKIqINwbsgCQ!7LSqH6ylCz$kV0X(`_ThfEH4&)p+D&7=Rt8F zWl_ys2UH3N3+PmC0fH@pX@0WIFDB!k)aXE_c#Z z7hBlbOF6v?s+q8ZnV6Bve#VI)(!a8W;ky$&Q&S%&O@G!`Rgbjg?75=2QxkF3yn`Ql z{O1#f!lt-JS>o!a2wrdCwS-=31#Q+Y zeFNz?t~THQF??pXLw&2tg!xc!C3TOw;aXiHP`?PhO*%QAaC#udkF~^OZF2gtLJs!y zVW0HIWTzTUh^edy^wNaf^R0aw)Omwp%oM+SKdES!AW~%PztvNRUN3zQy^1xQuYY-F zK~e6jSt*sqsB=N#=lUYZCIljl@PqkClH85{Vj!n-C?W(L4Q}@MMQZ~4TZH1JGaJ;-f}e>GJ?%!4XIiEab^9-j*Le^EryDT#`X4{-iF}W zHO1L3rMF3CHf)|NXJVXJetcur9m%qTbICPwy?ZO6ym9C9%@V)!9vQozFACbE3W}sV zA4sq6GH$=V`TWR|Q|-Dmp7rWujZ$~f;Rz<|oSW4rx#^c1_AyrW z9*k*P>gVB}b_{n@l}E9@qoR%n7Qva{Dr-3zA#&Yl0Txu8EUKfYd@u++hn zw$yIX{+JK62U(hBn_Q{l68Zdc_2|6xP@Ap?9ER-Ti5@F%+m*7G{)%>TvE7lUA!|=^ z3xbb7xVlc+6b9xtjh?fpGn-=S?w$8&&HKrD(>hk=wVt_|(5K6Ex!3h#r+?}uo?Z7w zz1Ixe1GkP|IGUc#Xt~Fx8Tj{7j)&+Uj+nVDuf6cvpKla(?+#bI{@vC&Y`j&>42N&@ zKXGfj_GfVCjEU|l^LitEb=w`)tR?1D? z^V)`(;Tah RO=*@tH-{C%Ebw2K_!pFbM$Z5M literal 0 HcmV?d00001 diff --git a/public/country-img/MMR.png b/public/country-img/MMR.png new file mode 100644 index 0000000000000000000000000000000000000000..81ed70142283097d01dfce84e400796b9ac4b655 GIT binary patch literal 1933 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 literal 0 HcmV?d00001 diff --git a/public/country-img/MNG.png b/public/country-img/MNG.png new file mode 100644 index 0000000000000000000000000000000000000000..e87100c6fe0c44c5f598a824a5c04e3802a78f99 GIT binary patch literal 1706 zcmaJ?c~BE)99;qB=zxN9dCi)X8H*;_+{rc^At8{KP>xWkR3&5=2r=1^ED|W%3WzWU z6oe79T4CWta$GrD`$M?S3qNvC) zSC^$O006j3!^JVgXeD06$)5O*$M5D7gD)N$kH=!kc&0*+0zw2!LP4oUk%Gpc3M4DN z9Tfn8J*bk$*fuO($69O6(SAa&%W~~7>29Tz7VPbCErjfuY2(Atw zy-6xw76pnhJqog^5Jd@bAdo|+(wQtSm%A2ZKy-)(F=%uKh0cYU3>bpI>4!u_(<8}n zj94-qi&zDaQgK`d(`cEQnbb@s71O8C=zKokromuP2n5BDrNtFSiq=4$Q4pgBrCz1O zRhSmEDJqh%3_O5DWcsEAjc!&}YnW~m(J-1(p`+2MkgcQ{piK7vP>p65ZNOvDxB0$P z*dWi+p|lv(fMw{F#K9$#ZJ~6qNRKLTOfSc<%`;t$O2u%@kc#O*Q7ju=r_v%=reO*# zlfhE00as|1s8k$4BKTC53W1qSCZ8c>aM`R-9-SV_3K6roJduzt4B;`vp-k2cSBxn$ zG^iGz;UaIjyg9ixBWQF)WHG8&Z9x%<9@BtR1;eVjb79Y^H_b)n&V@54mqsK*vmNVy zj(KK_@Q!UdYg%G4YkO2ncwJAJ8r|es0exJt09*zKhKq#gB(#zH$D5Or_qw!f4A-O-~CzhlJ zhk1Gn89i+^h@&ut@^^4WXq+>w_5?3T^DA!px=UYvh33P1%JV$q$V+llT7Ng?$OZY5 zBOw2igdfyx4SQ>Y-nYB8t}a=v`~5LOssc=)%GAy)I%0^Q9Y9gg>2;+bymxH$TCVZ~yH-WLkA zXjOY%#lgsvC(lW)_}64n#_E0O>Nvmh4AkqQSO2ofMt^eNo_~faxA`6^`N>>j5eW_k zu5Bo7++X-Ir=U@{;^@a6!$;5F4IE=HY_K|2JQL-l#eDg=>q*azG>SERENFDY(_PnE z%^k9dTvL~@ds|1ie^__5_0`g<$&u~i!ST#=u+=TZ*mlBCQT#x#oV=ljdP@rdMMz2#xVzPtp=JY{Xz13|jNW)+-+zI_fJM88wy5<8D2#zwmuV|Xof~^ko$tIvZa!CXZ=@aPdu(#Ovu3s6MfQXf1dLg( VZVfK*x?%f!NJAsV^&yG5{{r=smd^kH literal 0 HcmV?d00001 diff --git a/public/country-img/MNP.png b/public/country-img/MNP.png new file mode 100644 index 0000000000000000000000000000000000000000..792e9a06ef68694b6a91fb652993b2ab9bec9bb6 GIT binary patch literal 3494 zcmaJ^dpy&7A0H#PTxR)bW(<+rSt8MK=afpM zD@8}5()DI_~9NpVGS001CK zID&QHkFEThEDGd57hTVr@Q3{@oGZ(b;m2ZoGbsQIGQ)=gBGA13DGn5Ga%9L0iYWj9 z1W}z_S*}D|lrMv(=e>i`i=YMb*#Lm4c|@?cZxDqA@}c-s>1gom{YPLBm5c_vAc-(y zuq7pcdL)WTag4Ha@{J1eH6eq|%|NCRD82xV!tw@1&`!}qQ4whHpSmdid}kX92K@

BHbKC`=y;*N4E3PzL%a7!36H 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 SMa6-gKPLjt4qJWLE8*W1cKwzB literal 0 HcmV?d00001 diff --git a/public/country-img/MOZ.png b/public/country-img/MOZ.png new file mode 100644 index 0000000000000000000000000000000000000000..31016946353cf06dd108a6c8e6274119b319fe15 GIT binary patch literal 3669 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 literal 0 HcmV?d00001 diff --git a/public/country-img/MRT.png b/public/country-img/MRT.png new file mode 100644 index 0000000000000000000000000000000000000000..a74b58ff16b9997129cb0f8424c68ae0b924eb6c GIT binary patch literal 2678 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 literal 0 HcmV?d00001 diff --git a/public/country-img/MTQ.png b/public/country-img/MTQ.png new file mode 100644 index 0000000000000000000000000000000000000000..78c0e6ac883b524d0bcac734e92e55e0601a6739 GIT binary patch literal 1829 zcmaJ?3s4hR6b&^}s=$z{ouHsgf(1WGc0&S9Fd&iu5rh0eC`z(fLJY}A?SBPy-R$VV*Df{Frz)%s;9bc0|!ozk7%z3;s_=iGbWy>DJ_ zXh@*loP~1;1cIF~h#!vIX8hY_GYkJOTOGILILDb z9wmk?0!3EnKT?h(;8HmSWi=FsnZI4 zL6pn&!gacx?C>h`mDsD&Gs;4p2t3#50<&@X^(Tizr0&_{889N zPDi873iFdBqG4Oz`Lnw8fY<#G7b&7#-SvJeU3Na((%3sOlq5CmNcBuV%C)*i>+wxH zope0*reVa!?xNMwwRvb|t1jxsGBKI@L)Y?C#1!enz7ZGu7t#{y$><)kb4N=IEB2D2 zWjJL{{P42=^4kqVyn3&(#xYuB{ZZ1L!aJGC1@@%h+n@8CB`R{{%eIbc-$l2TyFwP8 zH-oCy&M%VgzKOdWF^?*7%`2)a`AHUL&UqSKy4@z{-|tvFaLF;}wEJO2E(v;3lJ8Vw zy5wi9pRJas1*2}K+Fn`t#rKS_k4pexQCz~7y#3J~M_ek%MbWwg(J^t|d7D}X*BZU| zljLdM+k=dX5X!+ClgQBYsqE{vT8#W>ZK-o^jj46e+Dg1P<8^}YaI-s)|z_0U0S7jx`OCMo$xc>D!e!NqM}Vye4=%bzN;}auDhfp z>%!Kmk+D5--H%cqb8Lf+@r8MF|93Cw}G)05_N5N}^ytwmc|L?Gyt~+Zkv?A-`F6g0g=IIVP^QM`%?r0s- zwD1sAcoQOuPDSWVN(iJV>(Z%1M4*>0L3E9x-srAd&`J%=y!XEMec$i*d+*0A4-KAc zsOzYsD5@bbAg0Lpio8p;)#Q8YJGexKb{x;*VKjjYk_oA(g2o|8XwoE1K}ngtxDCS; zbp)vCEY2p+3o_Ce$>A`zW)L++g?ns6lBXaB<8V^dBlMT2&uE}35jx{ba!DfwbLzmH z35Vwf)AHPu98&0>vmk5>#6W{s0=71-TY?>-_k0C1cVLzVdlWnsq4$%@CWk-_nGpCG z&Lwkx4)}S7_jm(=KsRu6JjZfwmUp}OfZ%Zp90!UIO`@5~gpd;Zi?PTmLgz3x1ePrn z3QWPnAaj!CL!pr4;dZ+S!)49tSh8KZ)md^7p(UHDfmNgf$59$bc^sihru!vm#(}MF z6_1G=7;8%g%QKu)Qi+&M9!}M?1Ga@zu$=E-jji;o0ofF^P~Mcu#Z7cNp$s8rLJ1=? zjnH)I6o+yMBP)jt5F7S^jH)ZBVC}J!Ng<(ISkh&f5F<3vGpecx-l!)i2IDcGH_q{V z+#3vfgK~Q7 zZ|Lo9yC!vI#?+e5jr__8zYuzK@4n}1>Sd#O{Pw5zoj0pL(_0_?CssyQDd}|gV$D`x zwzht8X|1WHww?e@Ed&7F1n4EWG*9rY>N4@pvh{l8?#9h0+jVwbv$OT}`r5b6Y*p(& zh|5vzGh+{%jrBjh%iD(}vFq8LX`64|>iA*b$T08JqnG9XuVV4Vj-mRaE1H VhS9E>oo?sPl86tAkNYkx`~sT~fg%6^ literal 0 HcmV?d00001 diff --git a/public/country-img/MWI.png b/public/country-img/MWI.png new file mode 100644 index 0000000000000000000000000000000000000000..81efcd4b67829e55cded19c2653184cc43cefe86 GIT binary patch literal 3820 zcma)9dpML^`zD8cq!Q8z(@>!?W`;2g5;^2B(!@B1!5CxAVKZX}$^IO3?nEV%9deFw z*c&4uO14epG^7Y&5K83iH`=@X{r>pc*Y{r6`>toLb>H`MueF}*dfzwB*2Y{?{D`=K zfPkdMc@s3heaXM0#dh(ZH#PvF{N^yt)RA_H;zMI#18@RH-V{$9z=DLu-f9MtV_5VC)VC%p_6yYykm%LnamLMa0nno;W;#Yyh0Etp@@K-UdJi zI0}NIp2PVP&W8lxE``|Gd4&+YbiILwX8`(4Bwv7pqhSF|l0P{R$ut0d(?#;*onZ|i z;2VTSGywi-$`NG?I7bP<0pMVWx)($n0?>wnp_*C<1OfzrL7)%~2uuSCQ->munlK~; z0{H6!^0Nha`ykOKW`E`4_Y8o(G#VADp}}A=Ah)z#JA(SX6!`3UvEU@{HM zR3`^2eOEBS1$qS#s5AnF4A@b`dQ#{#10dh&pGzQ7|CS{O{>TU=JLd00{My+G|1Mg7=kKz|k@>YAz%OdH z*}B2^4gfx*mVlPG6@EIHIoL8!v=9etv5)OfNe%CF)7@vc>1^ z6lhWJoZq8W-gekxdm?Koq%JXQ&e?rY=@+qsrfkebUBg`wOIC5K@6wxwrj}ctk)zsY zfmPfW6n{g+g!A%@;7X$^w;uOLT!z@vn9cNzdB?3n$be1vmvl_k!{mFP%HD~YYme>q z*BYzf)|2pZpu|SH_O(8x-9&B&R-gBt8@iHo>m$i)Q1hmBmUzQse6AU~k7SqEP(_XY zB2zM?Ej$C|DObhiSVsU}9=h;MVWr)cJEe`faqp_I$eWOkmw48-(FXk6hK$2J)ue{5 z-sbQHC-LO{z}fX9Plbu_=-c^k#DdCYo9;cMO+R@7d&_H1D)HN!^PAT18#;5fU);tf zqBDv90Vm~;eRY7~x{8{|C%|uRvmJfz zP1v{ArNjN`*@=0x2FbHqWk1t9VN_KuKfjTz8%rY6!Y0*nqjJ8TB*_~X&?$>J(4^!Z zxvoeFT?xZS%^3d?zZzHNpJMLnkS9yig^8;oN(K1N!Td;zC2AGTz7YH|92w+irz7A^ zQ_eWi&56FP_Q*y)I5oShrHu|hnY?*VIq(<1?HAEoUS4T$g@$|Q^hxKp-l$&oe54s*`jWH9e}aD4U(|6n75p5gJhmi|?m5b*L=59SD`Ph{iQrj^{D|VW-T-h)~r9J%exR_sdD`?nw1{vqX6w?#j?OYu} z_;(C?G}~>L#pdJX{@9ihW64i4VP^Y-luLW1Tn6Q9kauEN_jJRS&AvVd3vR9tO$ZZJ zpA83T+BKE^^q~+W{>EG?`hmCeI>HV6x+IfhHT>N5Dw_23OPO_k@Va6B(qx~co7U}8EgiQ+`Gzpo(Q&_#162?E zO}NjSA~DRU&OLpv#P5@1Jk(2i_WXWC{5(53n-ErN1}}-v5;wY_?S|}^bFfm?@0d=Z zAeKF@nk%$D6bnxe5WJM})E)B(gqpamhWfmJiF!)sP;4Y!#LgX>08fzZ`rZ1Al~+@G z=NAdRG^wMNCnCDcgY)(4?mYZ3sjWP_?eD;oOzy%jzOr;Dxa!g&-8Vw0g%z0}PO{FV zoz6TT_i&4Yyq0s6Y1wTQ=9enUc4#R>>w35xNN*YuzlmzOctn2|emeZwynJ=Sq5~Sx z>1rv>qOppco)j(Tlw(2)GYlKN?OA)?WuFn&Y_hV$g~f$jO9?LaKmM} z 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 Ll@qGWf)Mi`fj(aT literal 0 HcmV?d00001 diff --git a/public/country-img/NAM.png b/public/country-img/NAM.png new file mode 100644 index 0000000000000000000000000000000000000000..7bc9bfd458ae274524e1ad8e8ccd5206d0d214e3 GIT binary patch literal 5663 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 literal 0 HcmV?d00001 diff --git a/public/country-img/NCL.png b/public/country-img/NCL.png new file mode 100644 index 0000000000000000000000000000000000000000..0b362481ac241ca85d2b7a6cb3081ca1b57c0b7f GIT binary patch literal 5569 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 literal 0 HcmV?d00001 diff --git a/public/country-img/NER.png b/public/country-img/NER.png new file mode 100644 index 0000000000000000000000000000000000000000..a566f1222e0ec99708efa028f1854dc84b3ece6a GIT binary patch literal 1676 zcmeAS@N?(olHy`uVBq!ia0vp^CxEz>g9%7Z{G(6}q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~;1Ffc1*hD4M^`1)8S=jZArg4F0$^BXQ!4Z zB&DWj=GiK}-@RW+Av48RDcsc8z_-9TH6zobswg$M$}c3jDm&RSMakYy!KT6rXh3di zNuokUZcbjYRfVk**jy_h8zii+qySb@l5ML5aa4qFfP!;=QL2Keo`G(%fti7VnW3Jc zv5C34xsHO7fuVuEfswwUk*=Y+m9dePfq?=PC;@FNN=dT{a&d#&1?1T(Wt5Z@Sn2DR zmzV368|&p4rRy77T3Uk4Ff!5ws?aU2%qvN((9J7WhMC}!TAW;zSx}OhpQivaF)=B> zw8T~k=u(Imatq+b<`qMO2^e7d6^RA|Gy9x$yJ0TVTk!h%#_USaZdaSW-r z_2!OZ!0iNyhKC0fji&EX(hfiVL`6u(BSp1TVdB)IqLG~}k&%%*cPS~a%ubQXepqI` z?e>B#FWK&YzLVP&eS3HQ`@i**Cgt3ne@!@Id#ztv~+q;7rb&T+;*Y#hppk>i%Q;f5$yZ)yTsaTE1RVx|%=z@$98>litau zubp?1^Y!`Ax#p*fzHPgn=03M%e`?#Is&{!7Z)McB<{aI=az5{*WAiq&eBJS#_xEb` zub0=X`2PMm`wu;H7CS%r7`?s~S=qe{rujzip154fZq4pQ!xv$n&V3I0ym3QPUSnlp zZQ#S(@pCz}7ro5z7Y61B2ySVP~SVbY8XjgM(pL zHhlWHDgM@)vUiqZVH{5@HeBrYPCL}Kk)O}}Uu)rp%g*fY<%@eo!e(sv)VX0r%5PCI z(HUo3Tv@YBfd<{{%rIx;&JIpw{hj*s?TY_rrQ_|_L6S2=h`A)i&tSYu3kPi z{cP=>Jm-i)v9-u?4zpCa*>}qT@O`# z{rTv}wmmQZ{e8&ydET@7P4ABEXxaMY)zy6U^21C1e7$$TH7Ii0)^#>}{3CYUY1r_f z-1_aog_;}wZE*W}KxBic64_}AHSzuNzRxPb@G|T4U#W}}>7e?-)78&qol`;+0GrO0 AX8-^I literal 0 HcmV?d00001 diff --git a/public/country-img/NGA.png b/public/country-img/NGA.png new file mode 100644 index 0000000000000000000000000000000000000000..17d192b29a49bee271e68fa456a8a917b2cee8d5 GIT binary patch literal 1150 zcmcgs&ui0A91oj9-5hL}fjd3ZqicS3{S_9sG-+L78KW((h~Tp1Z4F!UV)ACQdU0bS zBKkK7im;1%86H%Go%Et8dhy~x2NRVYHt^s0Ib*h`Kt1`^%y70En=SsFAbcu}GcLRGYBpdb%|1jEG) zF3Eu;&+ze)R4O$L1diuePGET<#;3%%AaWdNUNouZne$>%%{Ob2H;Jxd?20T~tJRoV zoI&0K%V#o~&_fVngc0*s9IOX1$B(ugROlO?+9%_}2+OQF9msD1vXI+72-a|HMELgNUXUTN*YiiBT zS>%pdmV{x$WBu!xTM+4;aN2HK^3ra5=#XCbNKabaQkQ;uc>VZRwi4-G zzy7#?Fw#qa{y_qOVFHX3Twf*l)_)?dZy!49=3=`ULrT1zer3MfRH^b9s>j@9C`rg3es8O zA7J0vKQbn`;RhmDj@nHp>#W z--L>$@@>IDwta*Ebc=9wXGR1u%~>#OE5JfRPz!KC5gm|lg1JJ1#1gisOHj`j%qSSJ z2oVKY!u|@%i|P#6@&q7Yf$7;|&;1r03LNR2QOhI2)9i4j-$ z!zTqIC}axQd=Z<+1r`+P3|^?n5~hyyuM{}^&$3+M$750-7)nCtqcBMHLQ0>2RO


oQ0 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 SGvB)KgG(Vf5@j}rj{F-fo94m* literal 0 HcmV?d00001 diff --git a/public/country-img/NIU.png b/public/country-img/NIU.png new file mode 100644 index 0000000000000000000000000000000000000000..d533114561905189ec41e1eddaa1e248ff681296 GIT binary patch literal 3982 zcmcgvc|4SB|8^2tPg&wrWQ=5=#cpg3qc8@IVGzR1V9LxeGt5}Bl~7UIWT(u*P^dVv zOIgC`9HvlYE3%Yb*4}a6(|Lb?{LcI5`+PpnbKl?lb6wYWxvzhoBuD#G;v$Dd`1tt5 zZLAS!-rCN4@j`oeU%QDZ58iT!ZskgMqWIAnK2!o998d8j0BlG;{sc6^2Ok#PK``Ot z;|CBiu5?$F9SlbyfqZr`ASNk@$L8ZRF=qz(;La210AGSXk!%Y5TH6Q&5b>r!tR4!2 z3bG^w5Us?A1L<?5eS9e)bWI6tM`R6#IHD#3?Np<*bMz#mg|44}{{ zv;ayFz|u(%fF+Xg6b9{2GztZ?A=BtSWE{Z;VG88&K|~@RW?-lXH-aM!^>nQuP^guz zp$;5jWvBx&ItkS^(uG+4;36ov5E6k*|G~xohimkY++8D(f_Rw`1S&C&}lKq9VJr6tEQ+*in2= zAG5xg76Wtm&gVRjoq#pWBtHDPvh?~eo7+jz8J}ieh<#%n50D-Lhd~sAUB2VQ zW|zx5G2uS$=|fr9D|HXehc{5}B3TNTq@Nmvla(~y}jjCiH6wuP#sZRA34lhp9un9+&PhFubF@PbE9B8oah&ar{_ zU73Q}-4bHa$L~OkMHLR7^44HB#H%>U8DCsizhd^``0pbom-InG_5XJzIGpX5iIYUhe;%|JH9Ny%zbsIfcbI`e8{3|S=oPSS5lb~tCy-C@& z(~ZN9W#w}=cX|&uia0yfu5egY7nNtjgJ!0=Ck8R26>m537nnP9iPFL(t zoPPS@jO;F7#U3vQ&~JZ)rgfgko47xE`KH}eQ04cU^aI1a$b=))2Z^vg{e`Rw=Q4h0 z@WFzym28gvT@%CU9Fyqt4AyVy983HsleR(ArR^Z^M$mSp^Nq>~w+Bzt5^ryI_Se@D zcc=>C=T4P*4ra{9FU_e+=1S&GqthPOoHKJ?aBt^U_og8ajt2)vQ_~Wy;cePtEm0_n zZ~Hh26*Wci^8X@*FT;Rr-XkAhKBlp$U|SRBE-+dVLHPN`tD|S!5P25Qy0Lyni|fR; zICkNyCv7Ah!!scfqc1o?YW~#6l|#*uv+IX^B;-rx4c|l^Ir)2gSW>cow@fv*j*_)7 zdcb$gD|X(!&aj5 zjSahr#R*hlC*oLr2I`r!m7sLwN@M(x=$5x`Sa)!#Sf951`EIB0E(2-Q$~}1s{aZuPHJAU?8yi%>F|J zFN;fK$d`SGFs6no#nZ!W!rSWn%0-=W=YKQaWK??9W*~4vUZYd7jhx=vTehq#?op9l zXC%kLNEe_*y?aA@1>jLg^7PT-Qd(q00d-D_eH34Oq3~xwJl23g?FqLt+7N7@@B zG6PKK&g-1?P7|rp?W@DmVrXx8xT7tpHzoDM_>;nhInZQTGod8e+f(rFqT}qXgf9n| zSo-;ge@#%qf3&L$^}h41!S>`Oxr+ytxO0n;IbGkSyP-Af*2(Wbw!5|R2gWad3Xv$K zMZ{lkIa%Rw1u<{wH58-V**kD9AgTerAK^K#t?VJ=8ow{(=H-|kS(eNAw`Ke@f8pg9 z)oBQuQ&^#5nSfs=f%|K%yPl=2tgfzV4d(wG+A~9KGISH%9Q&p}6Mgkz<+qo?fUzs} z&&?mk)*EgWy0}%HyNXeN?zz$;rx8%uu(&Cl7OA)5j?X;s6tNA@`wEg4ok*W&rNFgh zlZ*^-gjMeMjIkmw7aeBjm`aG=##xyctB+N^ncv4*2lRt&V*9+dYOz^GPc4zZkK+Cq zqAO>dm zfu*h2bp(qSCJ@J_jpLNv?DC+lHY52DnGo z<@MPwx`drPW>p;|eMQJOK_aYoWN~8=(*Vd%man6@i11&vNF8hoP#bpGT7=thtPCR}Ue(8V%Jz>92)*R;+wCkCna)e=lw# zS!Z}}mIF*H!8-?<=BK_R7sX&Mtj&Won;Z7B7kn?Ubd|sElhq!NikCGxVrhKdT&yZg ze1+6fTSnsKTGz+DZKAISR;W94-XXb14^$)hLfdajB%JAvSkz~gxA?XBGdUre2?$Uu ze@tnD7^E@Usm*p3wJ3D?rN&jQ*#x;$C$}PXA0j=GeOlI@!AY1j%wQ8;rOUPs@S>v| zFYI8=J^Q+BYW=E;uWI_jK;|i2X^Cj}bk{cNp}TCWL60tpG!jD;PIcaXb=e}~_HjuX zSt;)JO7xpS*F?Ea~oM$Yx(IC+Q7mYJR@U}qmBv9!RC zaHVlMgd@n`Br;ga?UeV_K=$iwwH%tcUrRUph~DS)=GuFfj#rB2+#j1F8YBaJCmP!}|H$-d=A zX&Y`W?$gU;yJ1TkL#{+z*-yw+ME{0Pp@7w~4@FHO&o{k9iqXh@jW$J8Qw5-BDkg0) zMU_33LSK48r9=u;jg(l`r-jQO7Dl1w_f!r036^?)C<2H_3u~Sb(chST!RyXtnSg8zs>yqHYHp0cR3QQ}rZ?JqPy@6Xq1KKPj#l9Bi}cklT? zqA)tlx#z+n*IgfdMMkNzA^UY^8R&$%4g9#2@$A-GZo*qgYYErr(KV>oIdPYL^WjrU zURaT@#m4!$Uo-XMKb?`LuURm%(piXyr$hB86YV*rSvk@OnF61T!V`ri)!t)zO=I{2 z9_d5v-LGbE0#~{xFnhfR4{?TvVy=(Y-^2ZcF2@3_KhFNruIy<1JT=7b&V(H<&D|-) zZS>vSzHe8AA1`H}@RoVD%K)oU-CM8n9f4EF5UhQa~Pll7~{P z>(u9O2VReyR&jVEbu{GgViK-(4SNy(bSE{1G2`k?TqB!HNakqNy$NbLg=ywo4%|s$ z4}_3i{5avj14S2)D&{goZ0$Oo1`El$cRn(QSxRdn^~E1*jEqLrr(M5C>c-uG>YS$T zUF#~Ce)&Yb2DyKXUpaE?zT|9rqZUEfcx+WPRgpO4RGYP?W>zf-N6u!@yV9SFA6L z?f_{@c_99odF&B1D8w+%J4L1w@IJkH{~1r)yoIEQm1Ns9PG+!4)gG^#xND}*iiPi; zo?H_#-{D^7XODQk9(w1r(js8m*825xWGch_&?W13FW=sF!^y-~jM51PcMP|FL)}dk zo+CfFC;tHKZd6g`(eXOANAG>1Xo*l7G%~9=Ch7%)QUUqb})KBeTl`kt|~?^ zj=J>rptcig`KZlxip literal 0 HcmV?d00001 diff --git a/public/country-img/NLD.png b/public/country-img/NLD.png new file mode 100644 index 0000000000000000000000000000000000000000..d5afde574367800130e0bb04fedb55cc7cf53ea5 GIT binary patch literal 1203 zcmb7EO>5LZ7>@nG?HBZ*1w~;@FACjcvLD@UY;3!mtX*(R*)DXkNX;g*-OwfzlUX-y zL2PLc>Os5;{sN^~uO76;L%sNMQ7DMLE7+4>JUH3zZas9129lY1c;4rI-g#egZ*t;l zPv_ZAhGBZr<8qd+JM>)-w9xOP-(Z<8XNZy~Q@BVfs)Lv@9TyNto9Z0OB2{0!^%e~? zOe-*Qd6Lgu6E$pds?Xs()27i3Gd$wisy2@ZD4;pRlGqr+OvvR7Ii=HI5M2Ic&e5F$1 zDq#*gbG#6b$9;`ZC`cJWchMrM7qr~|x`K>c%`t3ZU<>$)Y5|vt#8RgRC75@29fGq=Qs~ogBss z^;?`QVS?Qfwn1_#3Z@N9#}&8A&Sb>2P+FE)8qXPqE)GTF(RfsV(TD;CL5U0r zLop>4jX;=)jLAx(9xG$5Y$A))WA(#Wp=qo?2&PRl%g8ZqBR%C{6I2Tpjiz3p(p0Y& zt2gxmsq-dv@YD?NxAm_!*C9GP{uq4-*RQ{vu}pJAnVy-j+0-`?Cm#U97~XHiOgF#Gu1 on>+b7&iD9#mX1ub7k8U}fi7AzZCsS=07?>3@Ln2Bde0{8v^Ko2Tt~skz|cV7z)0WFNY~KZ%Gk)tz(4^Clz_GsrKDK}xwt{?0`hE?GD=Dctn~HE z%ggo3jrH=2()A53EiFN27#ZmTRp=I1=9MH?=;jqG!%T2VElw`VEGWs$&r<-In3$Ab zT4JjNbScCOxdm`z^NOLt1Pn0!io^naLp=kKmtYEgeeo;J&4sHjE(uCSxEHIz#UYgi zsro^w#rdU0$-sz9QwCX8VC7ttnpl!w6q28x0}I7~jQo=P;*9(P1?ON>h49S0l>G8y zuxejlE6=>*lEl2^R8JRMC7^!2%*+%k3nwFIH&<6PQxjJMLqk^+CnsYkS4T@{7Yj>M z12YRtm|mCsATTyie!!QnQni1>N#93pbLKLKN1wb?aN_E=}(`f{_Wo^wtjwK=+2wZ`LbuH z9hNJaEpsO`S`nvX7ES+Gx1q}V_35JSU3%Tu?z6tV*wD=NdPC)l(?yqS?c&vP&%e6Z zu+0hP!J`Z&{nDF$@8*t)yk5^9Ubja)Kby5gB5X=}vdmr$cdH$11@QQuqTq0fxNu3O g<$+c~kv$U+!<>IM5ywTp9|4tpp00i_>zopr0Hd|obpQYW literal 0 HcmV?d00001 diff --git a/public/country-img/NPL.png b/public/country-img/NPL.png new file mode 100644 index 0000000000000000000000000000000000000000..584079d3478c6d369682355214864e8f0f99b2b0 GIT binary patch literal 2794 zcmaJ?dpy&7AD_eIQZBiqvdlQ8xomS=8zXGYaXB`_BC#8W?YFkcCAT9gDT+!;>WB;> zB%EC0q#P&2aXGr6)FaJ_IV2>{bgJk1}MHWQ1nFeg}AIyhTd5-d?Df+fb< z8HqvT36@R{Xe&!|hc8?_z=-0oxWX@7=2xyG@|)cCM&R(Ip7AU``w)xi%m+BoPZ!3r zza0zyn|hzQ%x}ixK=>vXAq@txUe^CA^B0q}ch;9*n^wB{+V(82wAcC4rVh+l43>Tn z8@=2q1O-g~+S=MEYPWPmoVUIwwaW>~p5D?eXfM2U9t7I3#})5DiFy3=vN*eFm%`DX zn%55Z2uoDQWHhzZ9_Q(mGQ9_TQ<_A3Wo1AwTIa;7vI^C9O136*5560ujn}D_9U0&L z>N&00)KTx+hkeB@5$6`GsvO2O?#^!5`-ZF4V0xo8>zHT(rAV1aG^`9+Bx}j3`&wxa zL4mbp@acLV_%GT=@KIiwjoLmc9YIcND8ne2q%SMxEX?KHOwZL}`fB;+&SNhN5`6xg z=S_+lr!X0_0pB;0s2Mz?3%1FZg+-_4HaMj_cw+lye!dp~#*e{wo{omFbG#DO3R2xN zz2%Xwd9yXy>T;pP&7(2{9- zUb;VIu}rgWbB()mMZC-NCDA#PbEzy9iEm9lf!|biftu=fj=CYBPknHoj@#?w^kIe; zWU7$Tr%w2&Mc29{8r10gfmD8wqKFyV?p)FAqV>C|&W8fhHE9n&QJZwi*|cf($j3^s z1)&0=;Q2#BrYP-7uf6Px-3z~J$I2M(q0h8BFD@&~kz6)Mx5fRT{<2;o1Ip61Red+A zhuZ6s+WN*ou_cCBqkKqDEGxvzw`pu>>HhWO^I4@6cQT1RSs(g&_{hUM!_%*D!S_}x z!FyB&1Xo|Db>$%A2o;wIYBNtJI@_kT+H3;F*Dp*jE-$8^_`Wk~d=)<1lEyI12Or6T z?|*0G&PNA-C`RW-DC+gJL!0dUr!~!n+a0n|DjzF5dSPSnfiyK;S;?NVnoQ*gj+Sw=gb6Bgk-pHjSZ=4FvLo42j7oTsu#3%N)pRYF>?zOy$li%Z> z1^frGS?NHHu4OB9_uE7En8kaq>;s@W2?@5 z9ou4S?lvckVX@yeOYXL74nrz|rWszy&VEm}^qhR049p$XQ87=TOf~B}Gdg?W4eyWY z^q^uXq$d5NjN_*Ga)hr$H(O-VN+mFeWpuA4Xu1-Hwo%XLC|u9c1hrIVPF><5H-eLI z)@SQ4_{$hMf-l5251Fl{%Cy;AZ@sv`aZ zNdGv+*<%2kFl$T{|Ay0)i_*s2O0wwqmtrbOqwf8Qq_#f1=43VT;!KA
1)0o%J+Z;Vo zKqO`C*Vi4r1$xnAP+46byC{Bk9%!7nRvU!A6j^`_F4-j+smh7Y3u!GkWZFs|{w)$; z-*u+msB#-nVerHsf`_E*rZAOj1Q&CD^0-k#&Pz43Jn3HzE!qZClhD(cQ-Kk`&T~T# zwLgF0Rm48+gWD&HpUt1R^<7O8xtlz#6dRiLTD8;4CX59ShGpz`9Hx#IS6#g`1XjbG zei&*Tp(T9hoqC;-+mcf0^G6uQIm|q;PplBcdZSFYC?WZoxeY;cCN(aHS{YX>LR_Xw zopNE}fd>ZOSLs91n#Iw(3$<^L`Z%DSC&8w_WF6B(DFt3YEt>3u7)_Z6*{BJzBc=%El=nvZi1)MBgC-;>ymM&aoI|`z>Qm`OkFOW4zfp z1EdJUzq%lG@{!*yCAe+5)8D(oifq4b3@-V7&g!XG%0%3TrK%f*DD@Iv~gOY_LekNi)v*;#o=k}PnxyIg>Dph zc%4dXi3n_!NZl-I8J+M=F3V|ZDO61i#*O{xDd_q=+g5&jc(Gz_#&;Y&bdVdrkTAF1 laGn`!M4K8r7PPwSE~w0g?UCQkgh>CXAXkDXzS1!`<==Qtt*QV3 literal 0 HcmV?d00001 diff --git a/public/country-img/NRU.png b/public/country-img/NRU.png new file mode 100644 index 0000000000000000000000000000000000000000..3241de4a6df127537041819dd868402d1bf92d43 GIT binary patch literal 1876 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 literal 0 HcmV?d00001 diff --git a/public/country-img/PAK.png b/public/country-img/PAK.png new file mode 100644 index 0000000000000000000000000000000000000000..09d670ffd94e84cf3233c7698c72b9750a85abfb GIT binary patch literal 2905 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 a0XS zq9P(8k#*>h+{thHR^RU*zkZ+3 zs8AXOMp(nZSdBv6?ImI0Na{YwE&VuaGk zF-$Uz3alv-LTGVJYcSu_zeAwJ{FbFMex`|^Fhdq0#?S}`Ukm9M(B1w2Ln)NsXa>`Z z^pC&)Q<#BIh#?tzkr=c%dMLkeVcKh^Vo;8B5`jsh<7u?$Us=RO(3mtv1T6+|^fm+h z$W$UNp78_i?vBDz8B78-l!QfFgZX?InM_2X;YedMV>5)ADaOpm2xE#cH8MwIkj5sC z2)MC>y~Qssnid*IAyJvXxWs?B$Ukz|8i5kSw~Qvy$$LmdCpwJ+{0JCD{^oEHSv_vtbFZ~^ki)(XHuk>f=R|BCH>XaRgg|{g73^B5J=1u zi?+wJo==@Vu;)BN4s*a$+!LC)x;j*W5hQ4*6#nNh5B;{=eBe@NWw4vYp3#IjA+!D_ zzo06W#pb<>nR9*Lt_R<`eO~3_$Hazwh@#t&r0~S4084H(G$bbg7dT7Ux z9d6y*XG4N>*$Snm=$ken;8>o3z$9(LDV1OA>`fIRnxhbwa zaYun=PQ1F$G5^i%IK9@^Tjb!XHrtN$g{C%TF`5)Z$Mtpbtj}O#i3xT@(ev(dj>&5F zwtUssU&a-5BM02)U~%Ng6sVsHt~NL&F?U4i@bl7~^}b<-w+9qYXkCy$ zAS7_mKC3Z%Gxn(pxgQsiGAlIqx!;CYBnkmPMniVJPd;C&L{vGhcjF4aa8J7bI~0PgImrwH5?zvn#L$$*NX%4SxiboKj4 zyCk*Md}y79`A(-<>9^Qo{Z7aBzJTkOm#Q6FEI1W}8FopA*V(Qvom#cy^hHw3W#g)C z9lGUD?fU1L;x{TinKSnzdz)@uhenY4I0m1GJu1?7j9eI$??ibw!~2}d+(!|tjD`Hm z18GB0@r2+rPZh1t4UZ6D^hWfn<~BG}xa&qsZyUKOJqls*NFd)WoqU3}9q zW|wHROFifP^w%mi(MN-o+*+5Kv8cxJustI3Lp7UpNNUOtHBXoZhUWEX-eqjJ!Q+dr zZ(*LCSdPyD`_D(hJ@*qL{to#{M&VGCT8k`Iz_yc06B)mg3IudJTQ2YBl1&GUIbpC|t^;f2JyP ztW#xo%{fTdm$3)xcHDXRdwImo@Rx6`*#Mhn9iD~Ce=3KE=b=hQl zPA2hS{ij0WeJ_PPsDJBDLS0|-mIG%3o`AD@PuWR~ezUYpd+D{=hq$Fv8`teh7RO2S zVCr1*WIep+N{*yl&^fVL*OcdQ++G>maW~Dhxm+lB5zI0yx+bS{QrWp&BXu_L;}wT| zu*n%&^yI;kX^38N>Itw~>WZMCCr`<~TcumHc(b;iV8>(iFZ*EIylh}{qkb#q$Q$&p zUWz^7EXnR27DshYK1#1mw9*m_a8@WCG@xsxl|&rVu_wn>KC-&4Da>%0ZOpC+3`#4x z$g+UgsAhHK`olA~ZkfrmIr~0Qk0;Kll9*-#L8OGjO^F}m+~w{(CShH&F9)v>Qsyn| z&s-*Fq#=oe3;DL0TgBJgOO`X743ge#$-F$cZ|MqqXm8j4fTXI~Nh^nnQ@WB3@xX|O zw5&6Am z$Gu!NbzO{`uFT-(RPBI=c>@z#Y3b~btz66kC?{fA|J}*$?KbzsZ6p;wU@u)wi+R!) zdP*+9w{|-{kW|ujm8+QIW@Gj$?^(E90<%*?8!sZmPj*o8)n2SL6p|(7;prXrxIERy zLB6o5<*9Xb^ESfSjl*Sj)80zhq-*lIbv-J)kVDBU45bIteUl$rddFrri<+!y76j~R4@RjyIgh-ZXM^(T4usUO#yt&;3^HsC`-}kEI#NL|kin~E3 Xs=T^G+_D#Izv@_w2fE5(cj|uu?w2mk literal 0 HcmV?d00001 diff --git a/public/country-img/PER.png b/public/country-img/PER.png new file mode 100644 index 0000000000000000000000000000000000000000..715800ebc40ac89ff60d4f57fb2ade5255e820c0 GIT binary patch literal 1211 zcmcIk&ubGw7+otusaB$Bu_|=BJt@ilNSnqiiEXl*w1IA|X`sQA+udoiw!5>=PR+I+ z)c&#_1yB9~ikH$tDWZZ>5UK}ndMF6qya?5kmmDD<0gF<8XM^M{tmcFhgOm0No-dc6LRh(I5y5qQDDbUJQrCsMHyj1OZeYmS)4on3Pj8m0Wa{V2gw}63>@P zC9c%TAw15Du~^L42!}%y5pt((qIn_P?Wig!(ABZ&5EI$JSJXz)6iKku>23*@Q1d4@ba=X&b2ImeHyzWo?&ewhpsOf~9=UG!03PbVrqBG8O4c3!<3r ziV2ZqN{&XwOhm~fFDO;6g7hg1+N8=g_PBCguHOijLo+K7n>V15!N>yTf+e%QmsnlB z3fHLbC0UotQ!~7Ot-oAzHAH*IpVpd|E^2KLZQARYHuXy1*9C?-AZC?h-rM@}e)U*y z?}_wf#kdl?&RZ`NanVPtTm6HDZtFzJGqVgSWTXTjw7ASZX_k7r$+-KYQY~ zl=MQb9Xn@88Ei~R9r14aN0$=xRJiPm<=|$UzHE#L# p$kP7(e-`>5zB}tZ?A|Hw(VeFG89A#^< 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 Tm|vc2_^F}$2GL5qBa;3GH6H8; literal 0 HcmV?d00001 diff --git a/public/country-img/PNG.png b/public/country-img/PNG.png new file mode 100644 index 0000000000000000000000000000000000000000..e9da9041878e1a06aae7eaa8193e9f310f483388 GIT binary patch literal 1911 zcmaJ?Yfuwc7>&X}P@oBdh#=i0fV4nfgd{|wB-ucM1Y)3o)?)KmNd}XR$!Y?Q4yGue z;KUGNXsw7+3!+vLRKO|K`T%UPC@3f+g3u{dYwcA z<*aXqVlWsdK$Dt*WJnS@N?1#lJ1}IkR*$kVn3!c|yaQLHm2t2A&Lw#!W#@q^y1c%9HI0afdP^uupt$O*G-?IR1G7rQ4Q+>K}r;m zuF24)wYLH8rvL%q_Ga+@*=B!dG4MCnqO6@geBM zJ{M9ZT0=czke6z{)!*M&b{=qdxoe$#J&@CR=G4Y3a~OAu<0+S}Vk9!_Pf>x+_O1Kf ztDQ&Ocz)Q9SY7f2U+Q9^TR%^^fpe@3pRz|dLqMogQ!w-~J(1sKrFk7Nw_)bw1T4n& zcdU2enc`(&vnnTs>al)& z>87JEGFOW4`2_JFZ!Y)whER<26cMXSWqax%E$YWwsEpB_McL zTE}F!Z3L#<_22gl;`|~1YB!)PlXd^Por-l$=(V!9^Hz0Ux}7|Bf9vtO(uE{~CP(;K z*XTObv|@2fsBPk)Hi7KfnsT~dcGq$|1Sr>yXa_3O^5+V=qv(06UiuzUBuXugQm+8;Q?MX>o@i z{L)=073^~!yZHJ^u~Tq|&mcpt`fO;tW$;j4J~;v3qaJOFlzs7MXU{qRTf$M2pNHGQ z;)4C|s3~dj(J_;iA+|G2>ggiI&{j3&WvzF8n7v|C{e?ih&DY8e8unW`Sk%kLN=Rd| zYyvBg7T`jEWZGRVg zMdh!$X>Ch(O_FZQ7kRfXvZrqYMMIuDJr1e2IM>#mazVem9U95Rd5s1zdo9($w2!;bR}=nc>!k8ig|k^%l9`reuZLT5_pXNrR5)sp4fN* literal 0 HcmV?d00001 diff --git a/public/country-img/POL.png b/public/country-img/POL.png new file mode 100644 index 0000000000000000000000000000000000000000..1bf6ae8376bb823f8afedf46bcd46697f29eef6e GIT binary patch literal 1265 zcmb_cPiWIn9L{vgm{#VWi`&6RdYsLl{)-K(BW+q&F=KRv6+CE`ytQFVUQFI>J5Z#` zRK$ZGCJY5ZcJLzpg@Ft`c=6;;qQk2vMV&iL@Zw9Cb_!Nd3?%P+kMH|_-+S*zE{_Z! z33T^%Qxp}*4as>jej)E%*B0_c^VjQS*pD+sJc=f8MRg!0>1Z5+oT-*z9;$ln)Jr%( zQCopgDB_}WOw^Fcs2+!@nl@2W)WBfXR<%ip!8j}#R+9ew^cf8dJxPzn6i%_zuxt#? zIB;}kxS-8UY6+blJPZb^A~7%_RzcOAvRtv6q#M2>!QL`Ug9ZgpCh3h(MP&q}kpn@D z;X)c0=Rlli_()U`go7Z=@f^#ASw0-%1u+s9IS%*_O{zKigqWAJel0Rf(q)Wok!35D z3R8(N$SJXWB9ZVs!r>5Mgxs2i)oRFcgG~n+x|(Cy*gzKW9My3&jgvGpn|Xh0>=tS^Wb@EP(~d?iZX)QFvcAVl?+kMy>@FC%Cz}=q2ga1Rl@?u@g-`{qt^9*AgeH8k(^x^CK z=LdfA57e`My1xqQr~4=MY<%^5?S#;`+PCm-%TDU;*&UA)>^0H*3FR`w^1al_`VS~a BjJ^N> literal 0 HcmV?d00001 diff --git a/public/country-img/PRK.png b/public/country-img/PRK.png new file mode 100644 index 0000000000000000000000000000000000000000..0eeb4751b0057cab990a45613fd804176ed8611a GIT binary patch literal 1379 zcmeAS@N?(olHy`uVBq!ia0vp^CxAGGgBeJEiRiZkQj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS=07?>3@Ln2Bde0{8v^Ko2Tt~skz|cV7z)0WFNY~KZ%Gk)tz(4^Clz_GsrKDK}xwt{?0`hE?GD=Dctn~HE z%ggo3jrH=2()A53EiFN27#ZmTRp=I1=9MH?=;jqG!%T2VElw`VEGWs$&r<-In3$Ab zT4JjNbScCOxdm`z^NOLt1Pn0!io^naLp=kKmtYEgeeo;J&4sHjE(uCSxEHIz#UYgi zsro^w#rdU0$-sz9QwCX8VC7ttnpl!w6q28x0}I7~jQo=P;*9(P1?ON>h49S0l>G8y zuxejlE6=>*lEl2^R8JRMC7^!2%*+%kBSS}LOLHevQxjKnLqk^+M<-WDM`KGPLqiio zXID!@m|mCsATTyvaecmS zA*12k|NsBr)0B{T$6>|5z|5 z9n70Nl@%Q-^lv|qXgPi8`DM2(J&|^)Oc$mK=7pm79&kOeS$pnQWR6y{SC0OU{yJoXXZa?4D`Zj-%@LSur{aCoJTv$54 z*`;4+4Fwqee+s_))*F|zWXjcJ?_T+vBq_SR?A`jy(I)fByJcS^UYoVHDo+RrzKuWOj!IRvR?3r?;$mA&`q{aHINPrZ5n;}p%* zw2rN_4<}A=j+r%AA#c;ivqe)|gU%=LZoJ#Pd6$aSpRc+Trp#%)vU=C+)4Pm?Vgh|c zZauFGJQ2~e#m?ZrW#8n93+r@?6$*cC?J(M;)cdQBRcXQr-KUOmRg2u=ArFp(6Gjsp h{vQ%#e(K)9$iUM-uULaW=^v=r^K|udS?83{1OOX`^@9Ka literal 0 HcmV?d00001 diff --git a/public/country-img/PRT.png b/public/country-img/PRT.png new file mode 100644 index 0000000000000000000000000000000000000000..f6e928ce18d65cfd200679de138cbe3ffc24e857 GIT binary patch literal 7040 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

P#P zLVJhAd2NxBhAp!-kOIy#gY2b}7rgd}SMn(H)|W1rHbB3H0_W=Ly}TsUPmQ{I>ZEr? zqo9X+LgOIGosiPfntrUn;??iHOe>!W>Z1rfhf-f1N?T6dt>;f=M;bb(=b{jgMmL`V zI}2qfDcrq@-nDcq`eBiwOKY{Nf&WcO=#`A!5g_??rDsY@OG49u(bv(U0NZYR@!Ytv zS>Zo~GMV%Vr&+Per6Nn5x-(jg+t#d)^hDWjSvufdNq;J%q4Xke3Y@(p?x{vy`%9)? zUv7OYYb1izY=Hz6Y1Ux05 z<&Pk_M^6{S6W6MfD7{!Q=xz|z7=cC8B4ygf0d{$PpQjkx}S-n%8n z0irv!p*fZ9Q~rjZj|I7--muE{@n^|1mv4L01}YhsHwq6D-G?u6B~u4Vli&qPo1 z&%ah@-GA=dLi2Yw^L_q!Oq@JGHFq8o?JNjHR+{wmMHi3H*Jull_pGWF0?>Am3gQfd;vu*P#T>->u-s#;Qf zOhpFE(0n+fZ8+C}+SqT{y>Hx#xZyQ)nB1qHb;ZRBH#*x(oJdgAjo?A@6ol zq0*~gth&BObmkK@9l!sygNY6Px#+Xx7;$^_s6ht*JmDv zEv(p1?ApX{cVTu){iBoM~ eGBq-1^c#ejQLGg}!>BF%4Up`~b~kq&I{t4Yb9==A literal 0 HcmV?d00001 diff --git a/public/country-img/PSE.png b/public/country-img/PSE.png new file mode 100644 index 0000000000000000000000000000000000000000..6d4ba3dcf017736299610892f16fe09c2e05ece4 GIT binary patch literal 1898 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 literal 0 HcmV?d00001 diff --git a/public/country-img/QAT.png b/public/country-img/QAT.png new file mode 100644 index 0000000000000000000000000000000000000000..4e13b773651b864de3f94616ac9c04acec1ab02e GIT binary patch literal 1206 zcmeAS@N?(olHy`uVBq!ia0vp^CxAGGgBeJEiRiZkQj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS=07?>3@Ln2Bde0{8v^Ko2Tt~skz|cV7z)0WFNY~KZ%Gk)tz(4^Clz_GsrKDK}xwt{?0`hE?GD=Dctn~HE z%ggo3jrH=2()A53EiFN27#ZmTRp=I1=9MH?=;jqG!%T2VElw`VEGWs$&r<-In3$Ab zT4JjNbScCOxdm`z^NOLt1Pn0!io^naLp=kKmtYEgeeo;J&4sHjE(uCSxEHIz#UYgi zsro^w#rdU0$-sz9QwCX8VC7ttnpl!w6q28x0}I7~jQo=P;*9(P1?ON>h49S0l>G8y zuxejlE6=>*lEl2^R8JRMC7^!2%*+%kH*;54GeZM2QxjKnLqk^+M`sf!M@Ls@6H_BM zLpNtPm|mCsATTykD zzlXz8%g}fh0|TR!r;B4q#jQ894)Pv0;5oA7@AP+UwMR4$Tq;o$(EBtusgmBBLgJMNZ|X*N3kQaM z%8!hC;vm@BZ!t$!GEgT`yQ`^N!?$BY)*_7^9YOtTn*Kg}le+fO`}?NV!i%!f!~;dx zuXp{OBy#fR>8QXd(s8AYg{#lDmj%w~I#Ty}V!3Fcg|$)E+X$7N|3a^uD7pnM(y$LX za#6V}`t(EPK#{oqj7`(B-e2F^z360=T-T!;e3QNa9oV(V1*p*c3rE3fwXR3Ef9w8D z63KL8(NrodOLN&7DR@_}OEtSPW6!CZy82<0bP0l+XkK1Yn$? literal 0 HcmV?d00001 diff --git a/public/country-img/REU.png b/public/country-img/REU.png new file mode 100644 index 0000000000000000000000000000000000000000..bdb8ecb57d4b3d3b709157d38b6138c030b49e67 GIT binary patch literal 1199 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 + + + + + + diff --git a/public/img/search-ship.svg b/public/img/search-ship.svg new file mode 100644 index 0000000..7c45376 --- /dev/null +++ b/public/img/search-ship.svg @@ -0,0 +1,16 @@ + + + + + + + + diff --git a/public/img/select.png b/public/img/select.png new file mode 100644 index 0000000000000000000000000000000000000000..c2574d21b2bb1c25271776fedbeb3eeff8b1d584 GIT binary patch literal 1084 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 literal 0 HcmV?d00001 diff --git a/public/img/shipIcon.png b/public/img/shipIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..d6d2b390d1542b165918b1f955db5434b0985575 GIT binary patch literal 7131 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 K6dx00002VoOIv0RM-N z%)bBt0NqJMK~xyiWzaiL0s#=l@!7Sp@(e;kyp5f_uHZd%TU$fo;{ZnB7(8wuXaNa= zODh)sEP!2zQ-1&XX1zn&A*VB?lS*pgEdXl;KhLLIsKjj*Ghs2eoh01p9 zSgsaFrDka;4Q;e`;yJ^cfJaonCOPNheA5Q5jtjJt2i%Fx3X})@2wc( q!?R4s1Ot`BVX3CBnT?s(^8bH}V8}w4mMI|s0000 + + 搜索记录 + Created with Sketch. + + + + + + + + diff --git a/public/img/tool.png b/public/img/tool.png new file mode 100644 index 0000000000000000000000000000000000000000..c103157de7863599cee45474cc7c15d30daf62c9 GIT binary patch literal 364 zcmV-y0h9iTP)6dx00002VoOIv0RM-N z%)bBt0VPR9K~xyiZO*YvlmP(7;kOhCC6|UkaJWSRAsnhdp>Pfwn?k~dhz1+vtEC|j zoCE`hYPdlNbCwoqY)MYi2Cwg=!y3+WvEewMhQ2F^=I8gqo5YYeo;jZ+iE+z5`(n*h z62sPYoO)|4F|OfI;k%ZbrlPK6##P@uO)P4gu;I`xEo<@EPcw;!PSk8!HmUSMOV>f1 zv##xtOSY8utR!lhwk_IEVpQS8dzUpFyPhN_O*pWW>TgZc$KPn$YcG@D?Z}1)dhS-ilD+t< zsPLVU#M~gTY9|V(7980$QmyXkd2UtDY!Zdi%K;{d+jf02oBRS1nGEG@wz2*I0000< KMNUMnLSTY&bEe$@ literal 0 HcmV?d00001 diff --git a/public/img/tool.svg b/public/img/tool.svg new file mode 100644 index 0000000..7be008c --- /dev/null +++ b/public/img/tool.svg @@ -0,0 +1,35 @@ + + 工具 + Created with Sketch. + + + + + + + + + diff --git a/public/img/tt_b3.png b/public/img/tt_b3.png new file mode 100644 index 0000000000000000000000000000000000000000..7642f9ebd8b1fb6f761c600065fbab2f579b21d0 GIT binary patch literal 1174 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 VA+&&pJca-O002ovPDHLkV1lOWk*5Fv literal 0 HcmV?d00001 diff --git a/public/img/yuan.png b/public/img/yuan.png new file mode 100644 index 0000000000000000000000000000000000000000..c8688f5a6eaf5f3b478ff6a69b6b2311d3c7b047 GIT binary patch literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-_wP}Vx62-RZJnd5TiczkWjF{mmb`c3xp1(dELOi@qwxZB#f=R+t;(45 z>Qb3@i7Z#1pwgQ5qFh_r#=z6#Tv{vdo3{*U(fWMS!Yx7>fxE0^c)YG}_z;ujE_5KS swC1SSM?MkddsC)mAFx{WEd3L!xvsIO+xv)jK(8}+y85}Sb4q9e0DKm2AOHXW literal 0 HcmV?d00001 diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..d82c8ea --- /dev/null +++ b/public/index.html @@ -0,0 +1,13 @@ + + + + + + + + <%= htmlWebpackPlugin.options.title %> + + +
+ + diff --git a/public/logo.png b/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f27edbb7772ce4c783b930ed47eb50a005d5f2c6 GIT binary patch literal 11347 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 LBdsb8M8y997LCR1 literal 0 HcmV?d00001 diff --git a/public/menu-icon/allShips.svg b/public/menu-icon/allShips.svg new file mode 100644 index 0000000..af44973 --- /dev/null +++ b/public/menu-icon/allShips.svg @@ -0,0 +1,24 @@ + + 编组 + Created with Sketch. + + + + + + + + + diff --git a/public/menu-icon/areaList.svg b/public/menu-icon/areaList.svg new file mode 100644 index 0000000..3ddff77 --- /dev/null +++ b/public/menu-icon/areaList.svg @@ -0,0 +1,25 @@ + + 区域 + Created with Sketch. + + + + + + + + + diff --git a/public/menu-icon/dataAnalysis.svg b/public/menu-icon/dataAnalysis.svg new file mode 100644 index 0000000..e5caa36 --- /dev/null +++ b/public/menu-icon/dataAnalysis.svg @@ -0,0 +1,28 @@ + + 数据分析 + Created with Sketch. + + + + + + + + + + + diff --git a/public/menu-icon/guiji.svg b/public/menu-icon/guiji.svg new file mode 100644 index 0000000..5ec4cdb --- /dev/null +++ b/public/menu-icon/guiji.svg @@ -0,0 +1,27 @@ + + 轨迹 + Created with Sketch. + + + + + + + + + diff --git a/public/menu-icon/jizhuangxiang.png b/public/menu-icon/jizhuangxiang.png new file mode 100644 index 0000000000000000000000000000000000000000..75ebd9a0e8750103829b41f5ec0a3f454dbc114e GIT binary patch literal 297 zcmV+^0oMMBP)Px#<4Ht8R5(xVld&#DQ4~ejQi#wgRWv$3AdwJXpqWPD6DUwgW>nKsX-A?FwOS)S zLMa+wvE{zZn_R()8Ri&`2t vQR@x&59d}rtrqmIZddtCpDnEKbM$H7U`(@Zt+ro<00000NkvXXu0mjfz^->U literal 0 HcmV?d00001 diff --git a/public/menu-icon/mapTool.svg b/public/menu-icon/mapTool.svg new file mode 100644 index 0000000..e178d37 --- /dev/null +++ b/public/menu-icon/mapTool.svg @@ -0,0 +1,27 @@ + + 工具 + Created with Sketch. + + + + + + + + + + + diff --git a/public/menu-icon/port3.png b/public/menu-icon/port3.png new file mode 100644 index 0000000000000000000000000000000000000000..46031747f98f52ec6dd015de836cabddbe33bc3f GIT binary patch literal 403 zcmV;E0c`$>P)Px$O-V#SR5(w~l;KSRK@f%C>wpsIK&?Pa&)4^_@b zc!uF+WyP2H7!jx=-Fnn`yOZ?Tj9?AK@F%7rjc3Ov?l+u|3y?uk$q1HytbwG^s3R(8 xCV?F==bsi!_>RKAz^+1EdOzsj<`U@Wz+c!+ixoDerRo3x002ovPDHLkV1ghPx$4M{{nR5(x7l+jVcFc3udbpRbe2b7Q!Qi4lJ2ZRbp3D5y0gbGLpKnHZN%z7k` zaPZhL{>gnwvhL~b_ReT!V`ZK$5NP{K(wn3`@ch@3{7BjMR??wBUL<9|1F~LZ1JL$f z(*2Cr1CV=@HWi_P+eIObE}f}dYIp)}RsjZL`v`0*(Dp8Cpw@R;$_=0g+79$d(nmu` z7bJtucFs4z@cq}ut`QcY64@X`c_b~B2alx-PW8b#U{d@_L~$%mfj>6;9Dmj*=YWB2 zfke`q?TFQlir7^V=YVG^jnyc_kmm12oC7B12sAk`p>wvKHqxsffct-%ys|(002ovPDHLkV1hNzlD_}| literal 0 HcmV?d00001 diff --git a/public/menu-icon/portInfo.png b/public/menu-icon/portInfo.png new file mode 100644 index 0000000000000000000000000000000000000000..8b74f316945a989b861be51803d2a4f0c522fc95 GIT binary patch literal 310 zcmV-60m=S}P)Px#@JU2LR5(wilHpMTQ4oW_bO05o6@V3J36?+!mOuwW1z-hIf+f%alpqzv$(ubm z@tncA{qt^il5946Vnk^Kmz&A9pMft)`)=T$#wU@j?ds~_Y7Wm4?D7I6Z604Lzs^@qqu;1E$sv7V`U7ZEJc z)*rNeeLCB5a0g7w_WVEOq?_5QqwrkpKVy07*qo IM6N<$f~PQn0ssI2 literal 0 HcmV?d00001 diff --git a/public/menu-icon/route.svg b/public/menu-icon/route.svg new file mode 100644 index 0000000..e8e5e55 --- /dev/null +++ b/public/menu-icon/route.svg @@ -0,0 +1,18 @@ + + + + + + + + + diff --git a/public/menu-icon/searchHistory.svg b/public/menu-icon/searchHistory.svg new file mode 100644 index 0000000..f1ccba4 --- /dev/null +++ b/public/menu-icon/searchHistory.svg @@ -0,0 +1,25 @@ + + 搜索记录 + Created with Sketch. + + + + + + + + + diff --git a/public/menu-icon/weather.png b/public/menu-icon/weather.png new file mode 100644 index 0000000000000000000000000000000000000000..ea51e1d907e2f783e6a3168a49bf11329efd8ddb GIT binary patch literal 305 zcmV-10nYx3P)Px#>q$gGR5(wik|AyaVGxDCcK{3t2dKf2U=fg%3smAr8Vo1E(+hA21g4^<^+nK2 z6oV<3Ks+*=-R6hD^3#soee?bA&5ZbG=~}<-HZTPmz`LZ6OWHbsfp6ddbbx`RuX9Kp zU?^!F4Ys$yO43UuFLEVp(nK00000NkvXXu0mjf Dv?F~o literal 0 HcmV?d00001 diff --git a/public/menu-icon/weather.svg b/public/menu-icon/weather.svg new file mode 100644 index 0000000..106a977 --- /dev/null +++ b/public/menu-icon/weather.svg @@ -0,0 +1,14 @@ + + + + + + + diff --git a/public/real-info-icon/horn.svg b/public/real-info-icon/horn.svg new file mode 100644 index 0000000..3b37d81 --- /dev/null +++ b/public/real-info-icon/horn.svg @@ -0,0 +1,43 @@ + + 编组 + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..89722aa --- /dev/null +++ b/src/App.vue @@ -0,0 +1,32 @@ + + diff --git a/src/ErrorApp.vue b/src/ErrorApp.vue new file mode 100644 index 0000000..08d2482 --- /dev/null +++ b/src/ErrorApp.vue @@ -0,0 +1,29 @@ + + + + + diff --git a/src/api/data-analysis/index.ts b/src/api/data-analysis/index.ts new file mode 100644 index 0000000..0c2621c --- /dev/null +++ b/src/api/data-analysis/index.ts @@ -0,0 +1,25 @@ +import CryptoJS from 'crypto-js' +// @ts-ignore +import { JSEncrypt } from './jsencrypt' +const sysConfig = require('../../../public/config/sys-config.json') + +// DES 解密 +function decryptByDES (ciphertext: string, key: string) { + const keyHex = CryptoJS.enc.Utf8.parse(key) + const decrypted = CryptoJS.DES.decrypt( + ({ ciphertext: CryptoJS.enc.Base64.parse(ciphertext) }) as any, + keyHex, { + mode: CryptoJS.mode.ECB, + padding: CryptoJS.pad.Pkcs7 + }) + return decrypted.toString(CryptoJS.enc.Utf8) +} + +export function decrypt (encrypted: any, DesKey: any) { + const publicKey = sysConfig.publicKey + const decrypt = new JSEncrypt() + decrypt.setPublicKey(publicKey) + const desKey = decrypt.decrypt(DesKey) // 解密 + const message = decryptByDES(encrypted.replace(/[\r\n]/g, ''), desKey) + return JSON.parse(message) +} diff --git a/src/api/data-analysis/jsencrypt.js b/src/api/data-analysis/jsencrypt.js new file mode 100644 index 0000000..559f0bd --- /dev/null +++ b/src/api/data-analysis/jsencrypt.js @@ -0,0 +1,5372 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (factory((global.JSEncrypt = {}))); +}(this, (function (exports) { + 'use strict'; + + var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz"; + function int2char (n) { + return BI_RM.charAt(n); + } + //#region BIT_OPERATIONS + // (public) this & a + function op_and (x, y) { + return x & y; + } + // (public) this | a + function op_or (x, y) { + return x | y; + } + // (public) this ^ a + function op_xor (x, y) { + return x ^ y; + } + // (public) this & ~a + function op_andnot (x, y) { + return x & ~y; + } + // return index of lowest 1-bit in x, x < 2^31 + function lbit (x) { + if (x == 0) { + return -1; + } + var r = 0; + if ((x & 0xffff) == 0) { + x >>= 16; + r += 16; + } + if ((x & 0xff) == 0) { + x >>= 8; + r += 8; + } + if ((x & 0xf) == 0) { + x >>= 4; + r += 4; + } + if ((x & 3) == 0) { + x >>= 2; + r += 2; + } + if ((x & 1) == 0) { + ++r; + } + return r; + } + // return number of 1 bits in x + function cbit (x) { + var r = 0; + while (x != 0) { + x &= x - 1; + ++r; + } + return r; + } + //#endregion BIT_OPERATIONS + + var b64map = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + var b64pad = "="; + function hex2b64 (h) { + var i; + var c; + var ret = ""; + for (i = 0; i + 3 <= h.length; i += 3) { + c = parseInt(h.substring(i, i + 3), 16); + ret += b64map.charAt(c >> 6) + b64map.charAt(c & 63); + } + if (i + 1 == h.length) { + c = parseInt(h.substring(i, i + 1), 16); + ret += b64map.charAt(c << 2); + } + else if (i + 2 == h.length) { + c = parseInt(h.substring(i, i + 2), 16); + ret += b64map.charAt(c >> 2) + b64map.charAt((c & 3) << 4); + } + while ((ret.length & 3) > 0) { + ret += b64pad; + } + return ret; + } + // convert a base64 string to hex + function b64tohex (s) { + var ret = ""; + var i; + var k = 0; // b64 state, 0-3 + var slop = 0; + for (i = 0; i < s.length; ++i) { + if (s.charAt(i) == b64pad) { + break; + } + var v = b64map.indexOf(s.charAt(i)); + if (v < 0) { + continue; + } + if (k == 0) { + ret += int2char(v >> 2); + slop = v & 3; + k = 1; + } + else if (k == 1) { + ret += int2char((slop << 2) | (v >> 4)); + slop = v & 0xf; + k = 2; + } + else if (k == 2) { + ret += int2char(slop); + ret += int2char(v >> 2); + slop = v & 3; + k = 3; + } + else { + ret += int2char((slop << 2) | (v >> 4)); + ret += int2char(v & 0xf); + k = 0; + } + } + if (k == 1) { + ret += int2char(slop << 2); + } + return ret; + } + + /*! ***************************************************************************** + Copyright (c) Microsoft Corporation. All rights reserved. + 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 + THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED + WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, + MERCHANTABLITY OR NON-INFRINGEMENT. + See the Apache Version 2.0 License for specific language governing permissions + and limitations under the License. + ***************************************************************************** */ + /* global Reflect, Promise */ + + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + + function __extends (d, b) { + extendStatics(d, b); + function __ () { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + } + + // Hex JavaScript decoder + // Copyright (c) 2008-2013 Lapo Luchini + // Permission to use, copy, modify, and/or distribute this software for any + // purpose with or without fee is hereby granted, provided that the above + // copyright notice and this permission notice appear in all copies. + // + // THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + // WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + // MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + // ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + // ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + // OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + /*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */ + var decoder; + var Hex = { + decode: function (a) { + var i; + if (decoder === undefined) { + var hex = "0123456789ABCDEF"; + var ignore = " \f\n\r\t\u00A0\u2028\u2029"; + decoder = {}; + for (i = 0; i < 16; ++i) { + decoder[hex.charAt(i)] = i; + } + hex = hex.toLowerCase(); + for (i = 10; i < 16; ++i) { + decoder[hex.charAt(i)] = i; + } + for (i = 0; i < ignore.length; ++i) { + decoder[ignore.charAt(i)] = -1; + } + } + var out = []; + var bits = 0; + var char_count = 0; + for (i = 0; i < a.length; ++i) { + var c = a.charAt(i); + if (c == "=") { + break; + } + c = decoder[c]; + if (c == -1) { + continue; + } + if (c === undefined) { + throw new Error("Illegal character at offset " + i); + } + bits |= c; + if (++char_count >= 2) { + out[out.length] = bits; + bits = 0; + char_count = 0; + } + else { + bits <<= 4; + } + } + if (char_count) { + throw new Error("Hex encoding incomplete: 4 bits missing"); + } + return out; + } + }; + + // Base64 JavaScript decoder + // Copyright (c) 2008-2013 Lapo Luchini + // Permission to use, copy, modify, and/or distribute this software for any + // purpose with or without fee is hereby granted, provided that the above + // copyright notice and this permission notice appear in all copies. + // + // THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + // WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + // MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + // ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + // ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + // OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + /*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */ + var decoder$1; + var Base64 = { + decode: function (a) { + var i; + if (decoder$1 === undefined) { + var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + var ignore = "= \f\n\r\t\u00A0\u2028\u2029"; + decoder$1 = Object.create(null); + for (i = 0; i < 64; ++i) { + decoder$1[b64.charAt(i)] = i; + } + for (i = 0; i < ignore.length; ++i) { + decoder$1[ignore.charAt(i)] = -1; + } + } + var out = []; + var bits = 0; + var char_count = 0; + for (i = 0; i < a.length; ++i) { + var c = a.charAt(i); + if (c == "=") { + break; + } + c = decoder$1[c]; + if (c == -1) { + continue; + } + if (c === undefined) { + throw new Error("Illegal character at offset " + i); + } + bits |= c; + if (++char_count >= 4) { + out[out.length] = (bits >> 16); + out[out.length] = (bits >> 8) & 0xFF; + out[out.length] = bits & 0xFF; + bits = 0; + char_count = 0; + } + else { + bits <<= 6; + } + } + switch (char_count) { + case 1: + throw new Error("Base64 encoding incomplete: at least 2 bits missing"); + case 2: + out[out.length] = (bits >> 10); + break; + case 3: + out[out.length] = (bits >> 16); + out[out.length] = (bits >> 8) & 0xFF; + break; + } + return out; + }, + re: /-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+\/=\s]+)====/, + unarmor: function (a) { + var m = Base64.re.exec(a); + if (m) { + if (m[1]) { + a = m[1]; + } + else if (m[2]) { + a = m[2]; + } + else { + throw new Error("RegExp out of sync"); + } + } + return Base64.decode(a); + } + }; + + // Big integer base-10 printing library + // Copyright (c) 2014 Lapo Luchini + // Permission to use, copy, modify, and/or distribute this software for any + // purpose with or without fee is hereby granted, provided that the above + // copyright notice and this permission notice appear in all copies. + // + // THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + // WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + // MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + // ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + // ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + // OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + /*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */ + var max = 10000000000000; // biggest integer that can still fit 2^53 when multiplied by 256 + var Int10 = /** @class */ (function () { + function Int10 (value) { + this.buf = [+value || 0]; + } + Int10.prototype.mulAdd = function (m, c) { + // assert(m <= 256) + var b = this.buf; + var l = b.length; + var i; + var t; + for (i = 0; i < l; ++i) { + t = b[i] * m + c; + if (t < max) { + c = 0; + } + else { + c = 0 | (t / max); + t -= c * max; + } + b[i] = t; + } + if (c > 0) { + b[i] = c; + } + }; + Int10.prototype.sub = function (c) { + // assert(m <= 256) + var b = this.buf; + var l = b.length; + var i; + var t; + for (i = 0; i < l; ++i) { + t = b[i] - c; + if (t < 0) { + t += max; + c = 1; + } + else { + c = 0; + } + b[i] = t; + } + while (b[b.length - 1] === 0) { + b.pop(); + } + }; + Int10.prototype.toString = function (base) { + if ((base || 10) != 10) { + throw new Error("only base 10 is supported"); + } + var b = this.buf; + var s = b[b.length - 1].toString(); + for (var i = b.length - 2; i >= 0; --i) { + s += (max + b[i]).toString().substring(1); + } + return s; + }; + Int10.prototype.valueOf = function () { + var b = this.buf; + var v = 0; + for (var i = b.length - 1; i >= 0; --i) { + v = v * max + b[i]; + } + return v; + }; + Int10.prototype.simplify = function () { + var b = this.buf; + return (b.length == 1) ? b[0] : this; + }; + return Int10; + }()); + + // ASN.1 JavaScript decoder + var ellipsis = "\u2026"; + var reTimeS = /^(\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/; + var reTimeL = /^(\d\d\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/; + function stringCut (str, len) { + if (str.length > len) { + str = str.substring(0, len) + ellipsis; + } + return str; + } + var Stream = /** @class */ (function () { + function Stream (enc, pos) { + this.hexDigits = "0123456789ABCDEF"; + if (enc instanceof Stream) { + this.enc = enc.enc; + this.pos = enc.pos; + } + else { + // enc should be an array or a binary string + this.enc = enc; + this.pos = pos; + } + } + Stream.prototype.get = function (pos) { + if (pos === undefined) { + pos = this.pos++; + } + if (pos >= this.enc.length) { + throw new Error("Requesting byte offset " + pos + " on a stream of length " + this.enc.length); + } + return ("string" === typeof this.enc) ? this.enc.charCodeAt(pos) : this.enc[pos]; + }; + Stream.prototype.hexByte = function (b) { + return this.hexDigits.charAt((b >> 4) & 0xF) + this.hexDigits.charAt(b & 0xF); + }; + Stream.prototype.hexDump = function (start, end, raw) { + var s = ""; + for (var i = start; i < end; ++i) { + s += this.hexByte(this.get(i)); + if (raw !== true) { + switch (i & 0xF) { + case 0x7: + s += " "; + break; + case 0xF: + s += "\n"; + break; + default: + s += " "; + } + } + } + return s; + }; + Stream.prototype.isASCII = function (start, end) { + for (var i = start; i < end; ++i) { + var c = this.get(i); + if (c < 32 || c > 176) { + return false; + } + } + return true; + }; + Stream.prototype.parseStringISO = function (start, end) { + var s = ""; + for (var i = start; i < end; ++i) { + s += String.fromCharCode(this.get(i)); + } + return s; + }; + Stream.prototype.parseStringUTF = function (start, end) { + var s = ""; + for (var i = start; i < end;) { + var c = this.get(i++); + if (c < 128) { + s += String.fromCharCode(c); + } + else if ((c > 191) && (c < 224)) { + s += String.fromCharCode(((c & 0x1F) << 6) | (this.get(i++) & 0x3F)); + } + else { + s += String.fromCharCode(((c & 0x0F) << 12) | ((this.get(i++) & 0x3F) << 6) | (this.get(i++) & 0x3F)); + } + } + return s; + }; + Stream.prototype.parseStringBMP = function (start, end) { + var str = ""; + var hi; + var lo; + for (var i = start; i < end;) { + hi = this.get(i++); + lo = this.get(i++); + str += String.fromCharCode((hi << 8) | lo); + } + return str; + }; + Stream.prototype.parseTime = function (start, end, shortYear) { + var s = this.parseStringISO(start, end); + var m = (shortYear ? reTimeS : reTimeL).exec(s); + if (!m) { + return "Unrecognized time: " + s; + } + if (shortYear) { + // to avoid querying the timer, use the fixed range [1970, 2069] + // it will conform with ITU X.400 [-10, +40] sliding window until 2030 + m[1] = +m[1]; + m[1] += (+m[1] < 70) ? 2000 : 1900; + } + s = m[1] + "-" + m[2] + "-" + m[3] + " " + m[4]; + if (m[5]) { + s += ":" + m[5]; + if (m[6]) { + s += ":" + m[6]; + if (m[7]) { + s += "." + m[7]; + } + } + } + if (m[8]) { + s += " UTC"; + if (m[8] != "Z") { + s += m[8]; + if (m[9]) { + s += ":" + m[9]; + } + } + } + return s; + }; + Stream.prototype.parseInteger = function (start, end) { + var v = this.get(start); + var neg = (v > 127); + var pad = neg ? 255 : 0; + var len; + var s = ""; + // skip unuseful bits (not allowed in DER) + while (v == pad && ++start < end) { + v = this.get(start); + } + len = end - start; + if (len === 0) { + return neg ? -1 : 0; + } + // show bit length of huge integers + if (len > 4) { + s = v; + len <<= 3; + while (((+s ^ pad) & 0x80) == 0) { + s = +s << 1; + --len; + } + s = "(" + len + " bit)\n"; + } + // decode the integer + if (neg) { + v = v - 256; + } + var n = new Int10(v); + for (var i = start + 1; i < end; ++i) { + n.mulAdd(256, this.get(i)); + } + return s + n.toString(); + }; + Stream.prototype.parseBitString = function (start, end, maxLength) { + var unusedBit = this.get(start); + var lenBit = ((end - start - 1) << 3) - unusedBit; + var intro = "(" + lenBit + " bit)\n"; + var s = ""; + for (var i = start + 1; i < end; ++i) { + var b = this.get(i); + var skip = (i == end - 1) ? unusedBit : 0; + for (var j = 7; j >= skip; --j) { + s += (b >> j) & 1 ? "1" : "0"; + } + if (s.length > maxLength) { + return intro + stringCut(s, maxLength); + } + } + return intro + s; + }; + Stream.prototype.parseOctetString = function (start, end, maxLength) { + if (this.isASCII(start, end)) { + return stringCut(this.parseStringISO(start, end), maxLength); + } + var len = end - start; + var s = "(" + len + " byte)\n"; + maxLength /= 2; // we work in bytes + if (len > maxLength) { + end = start + maxLength; + } + for (var i = start; i < end; ++i) { + s += this.hexByte(this.get(i)); + } + if (len > maxLength) { + s += ellipsis; + } + return s; + }; + Stream.prototype.parseOID = function (start, end, maxLength) { + var s = ""; + var n = new Int10(); + var bits = 0; + for (var i = start; i < end; ++i) { + var v = this.get(i); + n.mulAdd(128, v & 0x7F); + bits += 7; + if (!(v & 0x80)) { // finished + if (s === "") { + n = n.simplify(); + if (n instanceof Int10) { + n.sub(80); + s = "2." + n.toString(); + } + else { + var m = n < 80 ? n < 40 ? 0 : 1 : 2; + s = m + "." + (n - m * 40); + } + } + else { + s += "." + n.toString(); + } + if (s.length > maxLength) { + return stringCut(s, maxLength); + } + n = new Int10(); + bits = 0; + } + } + if (bits > 0) { + s += ".incomplete"; + } + return s; + }; + return Stream; + }()); + var ASN1 = /** @class */ (function () { + function ASN1 (stream, header, length, tag, sub) { + if (!(tag instanceof ASN1Tag)) { + throw new Error("Invalid tag value."); + } + this.stream = stream; + this.header = header; + this.length = length; + this.tag = tag; + this.sub = sub; + } + ASN1.prototype.typeName = function () { + switch (this.tag.tagClass) { + case 0: // universal + switch (this.tag.tagNumber) { + case 0x00: + return "EOC"; + case 0x01: + return "BOOLEAN"; + case 0x02: + return "INTEGER"; + case 0x03: + return "BIT_STRING"; + case 0x04: + return "OCTET_STRING"; + case 0x05: + return "NULL"; + case 0x06: + return "OBJECT_IDENTIFIER"; + case 0x07: + return "ObjectDescriptor"; + case 0x08: + return "EXTERNAL"; + case 0x09: + return "REAL"; + case 0x0A: + return "ENUMERATED"; + case 0x0B: + return "EMBEDDED_PDV"; + case 0x0C: + return "UTF8String"; + case 0x10: + return "SEQUENCE"; + case 0x11: + return "SET"; + case 0x12: + return "NumericString"; + case 0x13: + return "PrintableString"; // ASCII subset + case 0x14: + return "TeletexString"; // aka T61String + case 0x15: + return "VideotexString"; + case 0x16: + return "IA5String"; // ASCII + case 0x17: + return "UTCTime"; + case 0x18: + return "GeneralizedTime"; + case 0x19: + return "GraphicString"; + case 0x1A: + return "VisibleString"; // ASCII subset + case 0x1B: + return "GeneralString"; + case 0x1C: + return "UniversalString"; + case 0x1E: + return "BMPString"; + } + return "Universal_" + this.tag.tagNumber.toString(); + case 1: + return "Application_" + this.tag.tagNumber.toString(); + case 2: + return "[" + this.tag.tagNumber.toString() + "]"; // Context + case 3: + return "Private_" + this.tag.tagNumber.toString(); + } + }; + ASN1.prototype.content = function (maxLength) { + if (this.tag === undefined) { + return null; + } + if (maxLength === undefined) { + maxLength = Infinity; + } + var content = this.posContent(); + var len = Math.abs(this.length); + if (!this.tag.isUniversal()) { + if (this.sub !== null) { + return "(" + this.sub.length + " elem)"; + } + return this.stream.parseOctetString(content, content + len, maxLength); + } + switch (this.tag.tagNumber) { + case 0x01: // BOOLEAN + return (this.stream.get(content) === 0) ? "false" : "true"; + case 0x02: // INTEGER + return this.stream.parseInteger(content, content + len); + case 0x03: // BIT_STRING + return this.sub ? "(" + this.sub.length + " elem)" : + this.stream.parseBitString(content, content + len, maxLength); + case 0x04: // OCTET_STRING + return this.sub ? "(" + this.sub.length + " elem)" : + this.stream.parseOctetString(content, content + len, maxLength); + // case 0x05: // NULL + case 0x06: // OBJECT_IDENTIFIER + return this.stream.parseOID(content, content + len, maxLength); + // case 0x07: // ObjectDescriptor + // case 0x08: // EXTERNAL + // case 0x09: // REAL + // case 0x0A: // ENUMERATED + // case 0x0B: // EMBEDDED_PDV + case 0x10: // SEQUENCE + case 0x11: // SET + if (this.sub !== null) { + return "(" + this.sub.length + " elem)"; + } + else { + return "(no elem)"; + } + case 0x0C: // UTF8String + return stringCut(this.stream.parseStringUTF(content, content + len), maxLength); + case 0x12: // NumericString + case 0x13: // PrintableString + case 0x14: // TeletexString + case 0x15: // VideotexString + case 0x16: // IA5String + // case 0x19: // GraphicString + case 0x1A: // VisibleString + // case 0x1B: // GeneralString + // case 0x1C: // UniversalString + return stringCut(this.stream.parseStringISO(content, content + len), maxLength); + case 0x1E: // BMPString + return stringCut(this.stream.parseStringBMP(content, content + len), maxLength); + case 0x17: // UTCTime + case 0x18: // GeneralizedTime + return this.stream.parseTime(content, content + len, (this.tag.tagNumber == 0x17)); + } + return null; + }; + ASN1.prototype.toString = function () { + return this.typeName() + "@" + this.stream.pos + "[header:" + this.header + ",length:" + this.length + ",sub:" + ((this.sub === null) ? "null" : this.sub.length) + "]"; + }; + ASN1.prototype.toPrettyString = function (indent) { + if (indent === undefined) { + indent = ""; + } + var s = indent + this.typeName() + " @" + this.stream.pos; + if (this.length >= 0) { + s += "+"; + } + s += this.length; + if (this.tag.tagConstructed) { + s += " (constructed)"; + } + else if ((this.tag.isUniversal() && ((this.tag.tagNumber == 0x03) || (this.tag.tagNumber == 0x04))) && (this.sub !== null)) { + s += " (encapsulates)"; + } + s += "\n"; + if (this.sub !== null) { + indent += " "; + for (var i = 0, max = this.sub.length; i < max; ++i) { + s += this.sub[i].toPrettyString(indent); + } + } + return s; + }; + ASN1.prototype.posStart = function () { + return this.stream.pos; + }; + ASN1.prototype.posContent = function () { + return this.stream.pos + this.header; + }; + ASN1.prototype.posEnd = function () { + return this.stream.pos + this.header + Math.abs(this.length); + }; + ASN1.prototype.toHexString = function () { + return this.stream.hexDump(this.posStart(), this.posEnd(), true); + }; + ASN1.decodeLength = function (stream) { + var buf = stream.get(); + var len = buf & 0x7F; + if (len == buf) { + return len; + } + // no reason to use Int10, as it would be a huge buffer anyways + if (len > 6) { + throw new Error("Length over 48 bits not supported at position " + (stream.pos - 1)); + } + if (len === 0) { + return null; + } // undefined + buf = 0; + for (var i = 0; i < len; ++i) { + buf = (buf * 256) + stream.get(); + } + return buf; + }; + /** + * Retrieve the hexadecimal value (as a string) of the current ASN.1 element + * @returns {string} + * @public + */ + ASN1.prototype.getHexStringValue = function () { + var hexString = this.toHexString(); + var offset = this.header * 2; + var length = this.length * 2; + return hexString.substr(offset, length); + }; + ASN1.decode = function (str) { + var stream; + if (!(str instanceof Stream)) { + stream = new Stream(str, 0); + } + else { + stream = str; + } + var streamStart = new Stream(stream); + var tag = new ASN1Tag(stream); + var len = ASN1.decodeLength(stream); + var start = stream.pos; + var header = start - streamStart.pos; + var sub = null; + var getSub = function () { + var ret = []; + if (len !== null) { + // definite length + var end = start + len; + while (stream.pos < end) { + ret[ret.length] = ASN1.decode(stream); + } + if (stream.pos != end) { + throw new Error("Content size is not correct for container starting at offset " + start); + } + } + else { + // undefined length + try { + for (; ;) { + var s = ASN1.decode(stream); + if (s.tag.isEOC()) { + break; + } + ret[ret.length] = s; + } + len = start - stream.pos; // undefined lengths are represented as negative values + } + catch (e) { + throw new Error("Exception while decoding undefined length content: " + e); + } + } + return ret; + }; + if (tag.tagConstructed) { + // must have valid content + sub = getSub(); + } + else if (tag.isUniversal() && ((tag.tagNumber == 0x03) || (tag.tagNumber == 0x04))) { + // sometimes BitString and OctetString are used to encapsulate ASN.1 + try { + if (tag.tagNumber == 0x03) { + if (stream.get() != 0) { + throw new Error("BIT STRINGs with unused bits cannot encapsulate."); + } + } + sub = getSub(); + for (var i = 0; i < sub.length; ++i) { + if (sub[i].tag.isEOC()) { + throw new Error("EOC is not supposed to be actual content."); + } + } + } + catch (e) { + // but silently ignore when they don't + sub = null; + } + } + if (sub === null) { + if (len === null) { + throw new Error("We can't skip over an invalid tag with undefined length at offset " + start); + } + stream.pos = start + Math.abs(len); + } + return new ASN1(streamStart, header, len, tag, sub); + }; + return ASN1; + }()); + var ASN1Tag = /** @class */ (function () { + function ASN1Tag (stream) { + var buf = stream.get(); + this.tagClass = buf >> 6; + this.tagConstructed = ((buf & 0x20) !== 0); + this.tagNumber = buf & 0x1F; + if (this.tagNumber == 0x1F) { // long tag + var n = new Int10(); + do { + buf = stream.get(); + n.mulAdd(128, buf & 0x7F); + } while (buf & 0x80); + this.tagNumber = n.simplify(); + } + } + ASN1Tag.prototype.isUniversal = function () { + return this.tagClass === 0x00; + }; + ASN1Tag.prototype.isEOC = function () { + return this.tagClass === 0x00 && this.tagNumber === 0x00; + }; + return ASN1Tag; + }()); + + // Copyright (c) 2005 Tom Wu + // Bits per digit + var dbits; + // JavaScript engine analysis + var canary = 0xdeadbeefcafe; + var j_lm = ((canary & 0xffffff) == 0xefcafe); + //#region + var lowprimes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997]; + var lplim = (1 << 26) / lowprimes[lowprimes.length - 1]; + //#endregion + // (public) Constructor + var BigInteger = /** @class */ (function () { + function BigInteger (a, b, c) { + if (a != null) { + if ("number" == typeof a) { + this.fromNumber(a, b, c); + } + else if (b == null && "string" != typeof a) { + this.fromString(a, 256); + } + else { + this.fromString(a, b); + } + } + } + //#region PUBLIC + // BigInteger.prototype.toString = bnToString; + // (public) return string representation in given radix + BigInteger.prototype.toString = function (b) { + if (this.s < 0) { + return "-" + this.negate().toString(b); + } + var k; + if (b == 16) { + k = 4; + } + else if (b == 8) { + k = 3; + } + else if (b == 2) { + k = 1; + } + else if (b == 32) { + k = 5; + } + else if (b == 4) { + k = 2; + } + else { + return this.toRadix(b); + } + var km = (1 << k) - 1; + var d; + var m = false; + var r = ""; + var i = this.t; + var p = this.DB - (i * this.DB) % k; + if (i-- > 0) { + if (p < this.DB && (d = this[i] >> p) > 0) { + m = true; + r = int2char(d); + } + while (i >= 0) { + if (p < k) { + d = (this[i] & ((1 << p) - 1)) << (k - p); + d |= this[--i] >> (p += this.DB - k); + } + else { + d = (this[i] >> (p -= k)) & km; + if (p <= 0) { + p += this.DB; + --i; + } + } + if (d > 0) { + m = true; + } + if (m) { + r += int2char(d); + } + } + } + return m ? r : "0"; + }; + // BigInteger.prototype.negate = bnNegate; + // (public) -this + BigInteger.prototype.negate = function () { + var r = nbi(); + BigInteger.ZERO.subTo(this, r); + return r; + }; + // BigInteger.prototype.abs = bnAbs; + // (public) |this| + BigInteger.prototype.abs = function () { + return (this.s < 0) ? this.negate() : this; + }; + // BigInteger.prototype.compareTo = bnCompareTo; + // (public) return + if this > a, - if this < a, 0 if equal + BigInteger.prototype.compareTo = function (a) { + var r = this.s - a.s; + if (r != 0) { + return r; + } + var i = this.t; + r = i - a.t; + if (r != 0) { + return (this.s < 0) ? -r : r; + } + while (--i >= 0) { + if ((r = this[i] - a[i]) != 0) { + return r; + } + } + return 0; + }; + // BigInteger.prototype.bitLength = bnBitLength; + // (public) return the number of bits in "this" + BigInteger.prototype.bitLength = function () { + if (this.t <= 0) { + return 0; + } + return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ (this.s & this.DM)); + }; + // BigInteger.prototype.mod = bnMod; + // (public) this mod a + BigInteger.prototype.mod = function (a) { + var r = nbi(); + this.abs().divRemTo(a, null, r); + if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) { + a.subTo(r, r); + } + return r; + }; + // BigInteger.prototype.modPowInt = bnModPowInt; + // (public) this^e % m, 0 <= e < 2^32 + BigInteger.prototype.modPowInt = function (e, m) { + var z; + if (e < 256 || m.isEven()) { + z = new Classic(m); + } + else { + z = new Montgomery(m); + } + return this.exp(e, z); + }; + // BigInteger.prototype.clone = bnClone; + // (public) + BigInteger.prototype.clone = function () { + var r = nbi(); + this.copyTo(r); + return r; + }; + // BigInteger.prototype.intValue = bnIntValue; + // (public) return value as integer + BigInteger.prototype.intValue = function () { + if (this.s < 0) { + if (this.t == 1) { + return this[0] - this.DV; + } + else if (this.t == 0) { + return -1; + } + } + else if (this.t == 1) { + return this[0]; + } + else if (this.t == 0) { + return 0; + } + // assumes 16 < DB < 32 + return ((this[1] & ((1 << (32 - this.DB)) - 1)) << this.DB) | this[0]; + }; + // BigInteger.prototype.byteValue = bnByteValue; + // (public) return value as byte + BigInteger.prototype.byteValue = function () { + return (this.t == 0) ? this.s : (this[0] << 24) >> 24; + }; + // BigInteger.prototype.shortValue = bnShortValue; + // (public) return value as short (assumes DB>=16) + BigInteger.prototype.shortValue = function () { + return (this.t == 0) ? this.s : (this[0] << 16) >> 16; + }; + // BigInteger.prototype.signum = bnSigNum; + // (public) 0 if this == 0, 1 if this > 0 + BigInteger.prototype.signum = function () { + if (this.s < 0) { + return -1; + } + else if (this.t <= 0 || (this.t == 1 && this[0] <= 0)) { + return 0; + } + else { + return 1; + } + }; + // BigInteger.prototype.toByteArray = bnToByteArray; + // (public) convert to bigendian byte array + BigInteger.prototype.toByteArray = function () { + var i = this.t; + var r = []; + r[0] = this.s; + var p = this.DB - (i * this.DB) % 8; + var d; + var k = 0; + if (i-- > 0) { + if (p < this.DB && (d = this[i] >> p) != (this.s & this.DM) >> p) { + r[k++] = d | (this.s << (this.DB - p)); + } + while (i >= 0) { + if (p < 8) { + d = (this[i] & ((1 << p) - 1)) << (8 - p); + d |= this[--i] >> (p += this.DB - 8); + } + else { + d = (this[i] >> (p -= 8)) & 0xff; + if (p <= 0) { + p += this.DB; + --i; + } + } + if ((d & 0x80) != 0) { + d |= -256; + } + if (k == 0 && (this.s & 0x80) != (d & 0x80)) { + ++k; + } + if (k > 0 || d != this.s) { + r[k++] = d; + } + } + } + return r; + }; + // BigInteger.prototype.equals = bnEquals; + BigInteger.prototype.equals = function (a) { + return (this.compareTo(a) == 0); + }; + // BigInteger.prototype.min = bnMin; + BigInteger.prototype.min = function (a) { + return (this.compareTo(a) < 0) ? this : a; + }; + // BigInteger.prototype.max = bnMax; + BigInteger.prototype.max = function (a) { + return (this.compareTo(a) > 0) ? this : a; + }; + // BigInteger.prototype.and = bnAnd; + BigInteger.prototype.and = function (a) { + var r = nbi(); + this.bitwiseTo(a, op_and, r); + return r; + }; + // BigInteger.prototype.or = bnOr; + BigInteger.prototype.or = function (a) { + var r = nbi(); + this.bitwiseTo(a, op_or, r); + return r; + }; + // BigInteger.prototype.xor = bnXor; + BigInteger.prototype.xor = function (a) { + var r = nbi(); + this.bitwiseTo(a, op_xor, r); + return r; + }; + // BigInteger.prototype.andNot = bnAndNot; + BigInteger.prototype.andNot = function (a) { + var r = nbi(); + this.bitwiseTo(a, op_andnot, r); + return r; + }; + // BigInteger.prototype.not = bnNot; + // (public) ~this + BigInteger.prototype.not = function () { + var r = nbi(); + for (var i = 0; i < this.t; ++i) { + r[i] = this.DM & ~this[i]; + } + r.t = this.t; + r.s = ~this.s; + return r; + }; + // BigInteger.prototype.shiftLeft = bnShiftLeft; + // (public) this << n + BigInteger.prototype.shiftLeft = function (n) { + var r = nbi(); + if (n < 0) { + this.rShiftTo(-n, r); + } + else { + this.lShiftTo(n, r); + } + return r; + }; + // BigInteger.prototype.shiftRight = bnShiftRight; + // (public) this >> n + BigInteger.prototype.shiftRight = function (n) { + var r = nbi(); + if (n < 0) { + this.lShiftTo(-n, r); + } + else { + this.rShiftTo(n, r); + } + return r; + }; + // BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit; + // (public) returns index of lowest 1-bit (or -1 if none) + BigInteger.prototype.getLowestSetBit = function () { + for (var i = 0; i < this.t; ++i) { + if (this[i] != 0) { + return i * this.DB + lbit(this[i]); + } + } + if (this.s < 0) { + return this.t * this.DB; + } + return -1; + }; + // BigInteger.prototype.bitCount = bnBitCount; + // (public) return number of set bits + BigInteger.prototype.bitCount = function () { + var r = 0; + var x = this.s & this.DM; + for (var i = 0; i < this.t; ++i) { + r += cbit(this[i] ^ x); + } + return r; + }; + // BigInteger.prototype.testBit = bnTestBit; + // (public) true iff nth bit is set + BigInteger.prototype.testBit = function (n) { + var j = Math.floor(n / this.DB); + if (j >= this.t) { + return (this.s != 0); + } + return ((this[j] & (1 << (n % this.DB))) != 0); + }; + // BigInteger.prototype.setBit = bnSetBit; + // (public) this | (1< 1) { + var g2 = nbi(); + z.sqrTo(g[1], g2); + while (n <= km) { + g[n] = nbi(); + z.mulTo(g2, g[n - 2], g[n]); + n += 2; + } + } + var j = e.t - 1; + var w; + var is1 = true; + var r2 = nbi(); + var t; + i = nbits(e[j]) - 1; + while (j >= 0) { + if (i >= k1) { + w = (e[j] >> (i - k1)) & km; + } + else { + w = (e[j] & ((1 << (i + 1)) - 1)) << (k1 - i); + if (j > 0) { + w |= e[j - 1] >> (this.DB + i - k1); + } + } + n = k; + while ((w & 1) == 0) { + w >>= 1; + --n; + } + if ((i -= n) < 0) { + i += this.DB; + --j; + } + if (is1) { // ret == 1, don't bother squaring or multiplying it + g[w].copyTo(r); + is1 = false; + } + else { + while (n > 1) { + z.sqrTo(r, r2); + z.sqrTo(r2, r); + n -= 2; + } + if (n > 0) { + z.sqrTo(r, r2); + } + else { + t = r; + r = r2; + r2 = t; + } + z.mulTo(r2, g[w], r); + } + while (j >= 0 && (e[j] & (1 << i)) == 0) { + z.sqrTo(r, r2); + t = r; + r = r2; + r2 = t; + if (--i < 0) { + i = this.DB - 1; + --j; + } + } + } + return z.revert(r); + }; + // BigInteger.prototype.modInverse = bnModInverse; + // (public) 1/this % m (HAC 14.61) + BigInteger.prototype.modInverse = function (m) { + var ac = m.isEven(); + if ((this.isEven() && ac) || m.signum() == 0) { + return BigInteger.ZERO; + } + var u = m.clone(); + var v = this.clone(); + var a = nbv(1); + var b = nbv(0); + var c = nbv(0); + var d = nbv(1); + while (u.signum() != 0) { + while (u.isEven()) { + u.rShiftTo(1, u); + if (ac) { + if (!a.isEven() || !b.isEven()) { + a.addTo(this, a); + b.subTo(m, b); + } + a.rShiftTo(1, a); + } + else if (!b.isEven()) { + b.subTo(m, b); + } + b.rShiftTo(1, b); + } + while (v.isEven()) { + v.rShiftTo(1, v); + if (ac) { + if (!c.isEven() || !d.isEven()) { + c.addTo(this, c); + d.subTo(m, d); + } + c.rShiftTo(1, c); + } + else if (!d.isEven()) { + d.subTo(m, d); + } + d.rShiftTo(1, d); + } + if (u.compareTo(v) >= 0) { + u.subTo(v, u); + if (ac) { + a.subTo(c, a); + } + b.subTo(d, b); + } + else { + v.subTo(u, v); + if (ac) { + c.subTo(a, c); + } + d.subTo(b, d); + } + } + if (v.compareTo(BigInteger.ONE) != 0) { + return BigInteger.ZERO; + } + if (d.compareTo(m) >= 0) { + return d.subtract(m); + } + if (d.signum() < 0) { + d.addTo(m, d); + } + else { + return d; + } + if (d.signum() < 0) { + return d.add(m); + } + else { + return d; + } + }; + // BigInteger.prototype.pow = bnPow; + // (public) this^e + BigInteger.prototype.pow = function (e) { + return this.exp(e, new NullExp()); + }; + // BigInteger.prototype.gcd = bnGCD; + // (public) gcd(this,a) (HAC 14.54) + BigInteger.prototype.gcd = function (a) { + var x = (this.s < 0) ? this.negate() : this.clone(); + var y = (a.s < 0) ? a.negate() : a.clone(); + if (x.compareTo(y) < 0) { + var t = x; + x = y; + y = t; + } + var i = x.getLowestSetBit(); + var g = y.getLowestSetBit(); + if (g < 0) { + return x; + } + if (i < g) { + g = i; + } + if (g > 0) { + x.rShiftTo(g, x); + y.rShiftTo(g, y); + } + while (x.signum() > 0) { + if ((i = x.getLowestSetBit()) > 0) { + x.rShiftTo(i, x); + } + if ((i = y.getLowestSetBit()) > 0) { + y.rShiftTo(i, y); + } + if (x.compareTo(y) >= 0) { + x.subTo(y, x); + x.rShiftTo(1, x); + } + else { + y.subTo(x, y); + y.rShiftTo(1, y); + } + } + if (g > 0) { + y.lShiftTo(g, y); + } + return y; + }; + // BigInteger.prototype.isProbablePrime = bnIsProbablePrime; + // (public) test primality with certainty >= 1-.5^t + BigInteger.prototype.isProbablePrime = function (t) { + var i; + var x = this.abs(); + if (x.t == 1 && x[0] <= lowprimes[lowprimes.length - 1]) { + for (i = 0; i < lowprimes.length; ++i) { + if (x[0] == lowprimes[i]) { + return true; + } + } + return false; + } + if (x.isEven()) { + return false; + } + i = 1; + while (i < lowprimes.length) { + var m = lowprimes[i]; + var j = i + 1; + while (j < lowprimes.length && m < lplim) { + m *= lowprimes[j++]; + } + m = x.modInt(m); + while (i < j) { + if (m % lowprimes[i++] == 0) { + return false; + } + } + } + return x.millerRabin(t); + }; + //#endregion PUBLIC + //#region PROTECTED + // BigInteger.prototype.copyTo = bnpCopyTo; + // (protected) copy this to r + BigInteger.prototype.copyTo = function (r) { + for (var i = this.t - 1; i >= 0; --i) { + r[i] = this[i]; + } + r.t = this.t; + r.s = this.s; + }; + // BigInteger.prototype.fromInt = bnpFromInt; + // (protected) set from integer value x, -DV <= x < DV + BigInteger.prototype.fromInt = function (x) { + this.t = 1; + this.s = (x < 0) ? -1 : 0; + if (x > 0) { + this[0] = x; + } + else if (x < -1) { + this[0] = x + this.DV; + } + else { + this.t = 0; + } + }; + // BigInteger.prototype.fromString = bnpFromString; + // (protected) set from string and radix + BigInteger.prototype.fromString = function (s, b) { + var k; + if (b == 16) { + k = 4; + } + else if (b == 8) { + k = 3; + } + else if (b == 256) { + k = 8; + /* byte array */ + } + else if (b == 2) { + k = 1; + } + else if (b == 32) { + k = 5; + } + else if (b == 4) { + k = 2; + } + else { + this.fromRadix(s, b); + return; + } + this.t = 0; + this.s = 0; + var i = s.length; + var mi = false; + var sh = 0; + while (--i >= 0) { + var x = (k == 8) ? (+s[i]) & 0xff : intAt(s, i); + if (x < 0) { + if (s.charAt(i) == "-") { + mi = true; + } + continue; + } + mi = false; + if (sh == 0) { + this[this.t++] = x; + } + else if (sh + k > this.DB) { + this[this.t - 1] |= (x & ((1 << (this.DB - sh)) - 1)) << sh; + this[this.t++] = (x >> (this.DB - sh)); + } + else { + this[this.t - 1] |= x << sh; + } + sh += k; + if (sh >= this.DB) { + sh -= this.DB; + } + } + if (k == 8 && ((+s[0]) & 0x80) != 0) { + this.s = -1; + if (sh > 0) { + this[this.t - 1] |= ((1 << (this.DB - sh)) - 1) << sh; + } + } + this.clamp(); + if (mi) { + BigInteger.ZERO.subTo(this, this); + } + }; + // BigInteger.prototype.clamp = bnpClamp; + // (protected) clamp off excess high words + BigInteger.prototype.clamp = function () { + var c = this.s & this.DM; + while (this.t > 0 && this[this.t - 1] == c) { + --this.t; + } + }; + // BigInteger.prototype.dlShiftTo = bnpDLShiftTo; + // (protected) r = this << n*DB + BigInteger.prototype.dlShiftTo = function (n, r) { + var i; + for (i = this.t - 1; i >= 0; --i) { + r[i + n] = this[i]; + } + for (i = n - 1; i >= 0; --i) { + r[i] = 0; + } + r.t = this.t + n; + r.s = this.s; + }; + // BigInteger.prototype.drShiftTo = bnpDRShiftTo; + // (protected) r = this >> n*DB + BigInteger.prototype.drShiftTo = function (n, r) { + for (var i = n; i < this.t; ++i) { + r[i - n] = this[i]; + } + r.t = Math.max(this.t - n, 0); + r.s = this.s; + }; + // BigInteger.prototype.lShiftTo = bnpLShiftTo; + // (protected) r = this << n + BigInteger.prototype.lShiftTo = function (n, r) { + var bs = n % this.DB; + var cbs = this.DB - bs; + var bm = (1 << cbs) - 1; + var ds = Math.floor(n / this.DB); + var c = (this.s << bs) & this.DM; + for (var i = this.t - 1; i >= 0; --i) { + r[i + ds + 1] = (this[i] >> cbs) | c; + c = (this[i] & bm) << bs; + } + for (var i = ds - 1; i >= 0; --i) { + r[i] = 0; + } + r[ds] = c; + r.t = this.t + ds + 1; + r.s = this.s; + r.clamp(); + }; + // BigInteger.prototype.rShiftTo = bnpRShiftTo; + // (protected) r = this >> n + BigInteger.prototype.rShiftTo = function (n, r) { + r.s = this.s; + var ds = Math.floor(n / this.DB); + if (ds >= this.t) { + r.t = 0; + return; + } + var bs = n % this.DB; + var cbs = this.DB - bs; + var bm = (1 << bs) - 1; + r[0] = this[ds] >> bs; + for (var i = ds + 1; i < this.t; ++i) { + r[i - ds - 1] |= (this[i] & bm) << cbs; + r[i - ds] = this[i] >> bs; + } + if (bs > 0) { + r[this.t - ds - 1] |= (this.s & bm) << cbs; + } + r.t = this.t - ds; + r.clamp(); + }; + // BigInteger.prototype.subTo = bnpSubTo; + // (protected) r = this - a + BigInteger.prototype.subTo = function (a, r) { + var i = 0; + var c = 0; + var m = Math.min(a.t, this.t); + while (i < m) { + c += this[i] - a[i]; + r[i++] = c & this.DM; + c >>= this.DB; + } + if (a.t < this.t) { + c -= a.s; + while (i < this.t) { + c += this[i]; + r[i++] = c & this.DM; + c >>= this.DB; + } + c += this.s; + } + else { + c += this.s; + while (i < a.t) { + c -= a[i]; + r[i++] = c & this.DM; + c >>= this.DB; + } + c -= a.s; + } + r.s = (c < 0) ? -1 : 0; + if (c < -1) { + r[i++] = this.DV + c; + } + else if (c > 0) { + r[i++] = c; + } + r.t = i; + r.clamp(); + }; + // BigInteger.prototype.multiplyTo = bnpMultiplyTo; + // (protected) r = this * a, r != this,a (HAC 14.12) + // "this" should be the larger one if appropriate. + BigInteger.prototype.multiplyTo = function (a, r) { + var x = this.abs(); + var y = a.abs(); + var i = x.t; + r.t = i + y.t; + while (--i >= 0) { + r[i] = 0; + } + for (i = 0; i < y.t; ++i) { + r[i + x.t] = x.am(0, y[i], r, i, 0, x.t); + } + r.s = 0; + r.clamp(); + if (this.s != a.s) { + BigInteger.ZERO.subTo(r, r); + } + }; + // BigInteger.prototype.squareTo = bnpSquareTo; + // (protected) r = this^2, r != this (HAC 14.16) + BigInteger.prototype.squareTo = function (r) { + var x = this.abs(); + var i = r.t = 2 * x.t; + while (--i >= 0) { + r[i] = 0; + } + for (i = 0; i < x.t - 1; ++i) { + var c = x.am(i, x[i], r, 2 * i, 0, 1); + if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) { + r[i + x.t] -= x.DV; + r[i + x.t + 1] = 1; + } + } + if (r.t > 0) { + r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1); + } + r.s = 0; + r.clamp(); + }; + // BigInteger.prototype.divRemTo = bnpDivRemTo; + // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20) + // r != q, this != m. q or r may be null. + BigInteger.prototype.divRemTo = function (m, q, r) { + var pm = m.abs(); + if (pm.t <= 0) { + return; + } + var pt = this.abs(); + if (pt.t < pm.t) { + if (q != null) { + q.fromInt(0); + } + if (r != null) { + this.copyTo(r); + } + return; + } + if (r == null) { + r = nbi(); + } + var y = nbi(); + var ts = this.s; + var ms = m.s; + var nsh = this.DB - nbits(pm[pm.t - 1]); // normalize modulus + if (nsh > 0) { + pm.lShiftTo(nsh, y); + pt.lShiftTo(nsh, r); + } + else { + pm.copyTo(y); + pt.copyTo(r); + } + var ys = y.t; + var y0 = y[ys - 1]; + if (y0 == 0) { + return; + } + var yt = y0 * (1 << this.F1) + ((ys > 1) ? y[ys - 2] >> this.F2 : 0); + var d1 = this.FV / yt; + var d2 = (1 << this.F1) / yt; + var e = 1 << this.F2; + var i = r.t; + var j = i - ys; + var t = (q == null) ? nbi() : q; + y.dlShiftTo(j, t); + if (r.compareTo(t) >= 0) { + r[r.t++] = 1; + r.subTo(t, r); + } + BigInteger.ONE.dlShiftTo(ys, t); + t.subTo(y, y); // "negative" y so we can replace sub with am later + while (y.t < ys) { + y[y.t++] = 0; + } + while (--j >= 0) { + // Estimate quotient digit + var qd = (r[--i] == y0) ? this.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2); + if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) { // Try it out + y.dlShiftTo(j, t); + r.subTo(t, r); + while (r[i] < --qd) { + r.subTo(t, r); + } + } + } + if (q != null) { + r.drShiftTo(ys, q); + if (ts != ms) { + BigInteger.ZERO.subTo(q, q); + } + } + r.t = ys; + r.clamp(); + if (nsh > 0) { + r.rShiftTo(nsh, r); + } // Denormalize remainder + if (ts < 0) { + BigInteger.ZERO.subTo(r, r); + } + }; + // BigInteger.prototype.invDigit = bnpInvDigit; + // (protected) return "-1/this % 2^DB"; useful for Mont. reduction + // justification: + // xy == 1 (mod m) + // xy = 1+km + // xy(2-xy) = (1+km)(1-km) + // x[y(2-xy)] = 1-k^2m^2 + // x[y(2-xy)] == 1 (mod m^2) + // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2 + // should reduce x and y(2-xy) by m^2 at each step to keep size bounded. + // JS multiply "overflows" differently from C/C++, so care is needed here. + BigInteger.prototype.invDigit = function () { + if (this.t < 1) { + return 0; + } + var x = this[0]; + if ((x & 1) == 0) { + return 0; + } + var y = x & 3; // y == 1/x mod 2^2 + y = (y * (2 - (x & 0xf) * y)) & 0xf; // y == 1/x mod 2^4 + y = (y * (2 - (x & 0xff) * y)) & 0xff; // y == 1/x mod 2^8 + y = (y * (2 - (((x & 0xffff) * y) & 0xffff))) & 0xffff; // y == 1/x mod 2^16 + // last step - calculate inverse mod DV directly; + // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints + y = (y * (2 - x * y % this.DV)) % this.DV; // y == 1/x mod 2^dbits + // we really want the negative inverse, and -DV < y < DV + return (y > 0) ? this.DV - y : -y; + }; + // BigInteger.prototype.isEven = bnpIsEven; + // (protected) true iff this is even + BigInteger.prototype.isEven = function () { + return ((this.t > 0) ? (this[0] & 1) : this.s) == 0; + }; + // BigInteger.prototype.exp = bnpExp; + // (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79) + BigInteger.prototype.exp = function (e, z) { + if (e > 0xffffffff || e < 1) { + return BigInteger.ONE; + } + var r = nbi(); + var r2 = nbi(); + var g = z.convert(this); + var i = nbits(e) - 1; + g.copyTo(r); + while (--i >= 0) { + z.sqrTo(r, r2); + if ((e & (1 << i)) > 0) { + z.mulTo(r2, g, r); + } + else { + var t = r; + r = r2; + r2 = t; + } + } + return z.revert(r); + }; + // BigInteger.prototype.chunkSize = bnpChunkSize; + // (protected) return x s.t. r^x < DV + BigInteger.prototype.chunkSize = function (r) { + return Math.floor(Math.LN2 * this.DB / Math.log(r)); + }; + // BigInteger.prototype.toRadix = bnpToRadix; + // (protected) convert to radix string + BigInteger.prototype.toRadix = function (b) { + if (b == null) { + b = 10; + } + if (this.signum() == 0 || b < 2 || b > 36) { + return "0"; + } + var cs = this.chunkSize(b); + var a = Math.pow(b, cs); + var d = nbv(a); + var y = nbi(); + var z = nbi(); + var r = ""; + this.divRemTo(d, y, z); + while (y.signum() > 0) { + r = (a + z.intValue()).toString(b).substr(1) + r; + y.divRemTo(d, y, z); + } + return z.intValue().toString(b) + r; + }; + // BigInteger.prototype.fromRadix = bnpFromRadix; + // (protected) convert from radix string + BigInteger.prototype.fromRadix = function (s, b) { + this.fromInt(0); + if (b == null) { + b = 10; + } + var cs = this.chunkSize(b); + var d = Math.pow(b, cs); + var mi = false; + var j = 0; + var w = 0; + for (var i = 0; i < s.length; ++i) { + var x = intAt(s, i); + if (x < 0) { + if (s.charAt(i) == "-" && this.signum() == 0) { + mi = true; + } + continue; + } + w = b * w + x; + if (++j >= cs) { + this.dMultiply(d); + this.dAddOffset(w, 0); + j = 0; + w = 0; + } + } + if (j > 0) { + this.dMultiply(Math.pow(b, j)); + this.dAddOffset(w, 0); + } + if (mi) { + BigInteger.ZERO.subTo(this, this); + } + }; + // BigInteger.prototype.fromNumber = bnpFromNumber; + // (protected) alternate constructor + BigInteger.prototype.fromNumber = function (a, b, c) { + if ("number" == typeof b) { + // new BigInteger(int,int,RNG) + if (a < 2) { + this.fromInt(1); + } + else { + this.fromNumber(a, c); + if (!this.testBit(a - 1)) { + // force MSB set + this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, this); + } + if (this.isEven()) { + this.dAddOffset(1, 0); + } // force odd + while (!this.isProbablePrime(b)) { + this.dAddOffset(2, 0); + if (this.bitLength() > a) { + this.subTo(BigInteger.ONE.shiftLeft(a - 1), this); + } + } + } + } + else { + // new BigInteger(int,RNG) + var x = []; + var t = a & 7; + x.length = (a >> 3) + 1; + b.nextBytes(x); + if (t > 0) { + x[0] &= ((1 << t) - 1); + } + else { + x[0] = 0; + } + this.fromString(x, 256); + } + }; + // BigInteger.prototype.bitwiseTo = bnpBitwiseTo; + // (protected) r = this op a (bitwise) + BigInteger.prototype.bitwiseTo = function (a, op, r) { + var i; + var f; + var m = Math.min(a.t, this.t); + for (i = 0; i < m; ++i) { + r[i] = op(this[i], a[i]); + } + if (a.t < this.t) { + f = a.s & this.DM; + for (i = m; i < this.t; ++i) { + r[i] = op(this[i], f); + } + r.t = this.t; + } + else { + f = this.s & this.DM; + for (i = m; i < a.t; ++i) { + r[i] = op(f, a[i]); + } + r.t = a.t; + } + r.s = op(this.s, a.s); + r.clamp(); + }; + // BigInteger.prototype.changeBit = bnpChangeBit; + // (protected) this op (1<>= this.DB; + } + if (a.t < this.t) { + c += a.s; + while (i < this.t) { + c += this[i]; + r[i++] = c & this.DM; + c >>= this.DB; + } + c += this.s; + } + else { + c += this.s; + while (i < a.t) { + c += a[i]; + r[i++] = c & this.DM; + c >>= this.DB; + } + c += a.s; + } + r.s = (c < 0) ? -1 : 0; + if (c > 0) { + r[i++] = c; + } + else if (c < -1) { + r[i++] = this.DV + c; + } + r.t = i; + r.clamp(); + }; + // BigInteger.prototype.dMultiply = bnpDMultiply; + // (protected) this *= n, this >= 0, 1 < n < DV + BigInteger.prototype.dMultiply = function (n) { + this[this.t] = this.am(0, n - 1, this, 0, 0, this.t); + ++this.t; + this.clamp(); + }; + // BigInteger.prototype.dAddOffset = bnpDAddOffset; + // (protected) this += n << w words, this >= 0 + BigInteger.prototype.dAddOffset = function (n, w) { + if (n == 0) { + return; + } + while (this.t <= w) { + this[this.t++] = 0; + } + this[w] += n; + while (this[w] >= this.DV) { + this[w] -= this.DV; + if (++w >= this.t) { + this[this.t++] = 0; + } + ++this[w]; + } + }; + // BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo; + // (protected) r = lower n words of "this * a", a.t <= n + // "this" should be the larger one if appropriate. + BigInteger.prototype.multiplyLowerTo = function (a, n, r) { + var i = Math.min(this.t + a.t, n); + r.s = 0; // assumes a,this >= 0 + r.t = i; + while (i > 0) { + r[--i] = 0; + } + for (var j = r.t - this.t; i < j; ++i) { + r[i + this.t] = this.am(0, a[i], r, i, 0, this.t); + } + for (var j = Math.min(a.t, n); i < j; ++i) { + this.am(0, a[i], r, i, 0, n - i); + } + r.clamp(); + }; + // BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo; + // (protected) r = "this * a" without lower n words, n > 0 + // "this" should be the larger one if appropriate. + BigInteger.prototype.multiplyUpperTo = function (a, n, r) { + --n; + var i = r.t = this.t + a.t - n; + r.s = 0; // assumes a,this >= 0 + while (--i >= 0) { + r[i] = 0; + } + for (i = Math.max(n - this.t, 0); i < a.t; ++i) { + r[this.t + i - n] = this.am(n - i, a[i], r, 0, 0, this.t + i - n); + } + r.clamp(); + r.drShiftTo(1, r); + }; + // BigInteger.prototype.modInt = bnpModInt; + // (protected) this % n, n < 2^26 + BigInteger.prototype.modInt = function (n) { + if (n <= 0) { + return 0; + } + var d = this.DV % n; + var r = (this.s < 0) ? n - 1 : 0; + if (this.t > 0) { + if (d == 0) { + r = this[0] % n; + } + else { + for (var i = this.t - 1; i >= 0; --i) { + r = (d * r + this[i]) % n; + } + } + } + return r; + }; + // BigInteger.prototype.millerRabin = bnpMillerRabin; + // (protected) true if probably prime (HAC 4.24, Miller-Rabin) + BigInteger.prototype.millerRabin = function (t) { + var n1 = this.subtract(BigInteger.ONE); + var k = n1.getLowestSetBit(); + if (k <= 0) { + return false; + } + var r = n1.shiftRight(k); + t = (t + 1) >> 1; + if (t > lowprimes.length) { + t = lowprimes.length; + } + var a = nbi(); + for (var i = 0; i < t; ++i) { + // Pick bases at random, instead of starting at 2 + a.fromInt(lowprimes[Math.floor(Math.random() * lowprimes.length)]); + var y = a.modPow(r, this); + if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) { + var j = 1; + while (j++ < k && y.compareTo(n1) != 0) { + y = y.modPowInt(2, this); + if (y.compareTo(BigInteger.ONE) == 0) { + return false; + } + } + if (y.compareTo(n1) != 0) { + return false; + } + } + } + return true; + }; + // BigInteger.prototype.square = bnSquare; + // (public) this^2 + BigInteger.prototype.square = function () { + var r = nbi(); + this.squareTo(r); + return r; + }; + //#region ASYNC + // Public API method + BigInteger.prototype.gcda = function (a, callback) { + var x = (this.s < 0) ? this.negate() : this.clone(); + var y = (a.s < 0) ? a.negate() : a.clone(); + if (x.compareTo(y) < 0) { + var t = x; + x = y; + y = t; + } + var i = x.getLowestSetBit(); + var g = y.getLowestSetBit(); + if (g < 0) { + callback(x); + return; + } + if (i < g) { + g = i; + } + if (g > 0) { + x.rShiftTo(g, x); + y.rShiftTo(g, y); + } + // Workhorse of the algorithm, gets called 200 - 800 times per 512 bit keygen. + var gcda1 = function () { + if ((i = x.getLowestSetBit()) > 0) { + x.rShiftTo(i, x); + } + if ((i = y.getLowestSetBit()) > 0) { + y.rShiftTo(i, y); + } + if (x.compareTo(y) >= 0) { + x.subTo(y, x); + x.rShiftTo(1, x); + } + else { + y.subTo(x, y); + y.rShiftTo(1, y); + } + if (!(x.signum() > 0)) { + if (g > 0) { + y.lShiftTo(g, y); + } + setTimeout(function () { callback(y); }, 0); // escape + } + else { + setTimeout(gcda1, 0); + } + }; + setTimeout(gcda1, 10); + }; + // (protected) alternate constructor + BigInteger.prototype.fromNumberAsync = function (a, b, c, callback) { + if ("number" == typeof b) { + if (a < 2) { + this.fromInt(1); + } + else { + this.fromNumber(a, c); + if (!this.testBit(a - 1)) { + this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, this); + } + if (this.isEven()) { + this.dAddOffset(1, 0); + } + var bnp_1 = this; + var bnpfn1_1 = function () { + bnp_1.dAddOffset(2, 0); + if (bnp_1.bitLength() > a) { + bnp_1.subTo(BigInteger.ONE.shiftLeft(a - 1), bnp_1); + } + if (bnp_1.isProbablePrime(b)) { + setTimeout(function () { callback(); }, 0); // escape + } + else { + setTimeout(bnpfn1_1, 0); + } + }; + setTimeout(bnpfn1_1, 0); + } + } + else { + var x = []; + var t = a & 7; + x.length = (a >> 3) + 1; + b.nextBytes(x); + if (t > 0) { + x[0] &= ((1 << t) - 1); + } + else { + x[0] = 0; + } + this.fromString(x, 256); + } + }; + return BigInteger; + }()); + //#region REDUCERS + //#region NullExp + var NullExp = /** @class */ (function () { + function NullExp () { + } + // NullExp.prototype.convert = nNop; + NullExp.prototype.convert = function (x) { + return x; + }; + // NullExp.prototype.revert = nNop; + NullExp.prototype.revert = function (x) { + return x; + }; + // NullExp.prototype.mulTo = nMulTo; + NullExp.prototype.mulTo = function (x, y, r) { + x.multiplyTo(y, r); + }; + // NullExp.prototype.sqrTo = nSqrTo; + NullExp.prototype.sqrTo = function (x, r) { + x.squareTo(r); + }; + return NullExp; + }()); + // Modular reduction using "classic" algorithm + var Classic = /** @class */ (function () { + function Classic (m) { + this.m = m; + } + // Classic.prototype.convert = cConvert; + Classic.prototype.convert = function (x) { + if (x.s < 0 || x.compareTo(this.m) >= 0) { + return x.mod(this.m); + } + else { + return x; + } + }; + // Classic.prototype.revert = cRevert; + Classic.prototype.revert = function (x) { + return x; + }; + // Classic.prototype.reduce = cReduce; + Classic.prototype.reduce = function (x) { + x.divRemTo(this.m, null, x); + }; + // Classic.prototype.mulTo = cMulTo; + Classic.prototype.mulTo = function (x, y, r) { + x.multiplyTo(y, r); + this.reduce(r); + }; + // Classic.prototype.sqrTo = cSqrTo; + Classic.prototype.sqrTo = function (x, r) { + x.squareTo(r); + this.reduce(r); + }; + return Classic; + }()); + //#endregion + //#region Montgomery + // Montgomery reduction + var Montgomery = /** @class */ (function () { + function Montgomery (m) { + this.m = m; + this.mp = m.invDigit(); + this.mpl = this.mp & 0x7fff; + this.mph = this.mp >> 15; + this.um = (1 << (m.DB - 15)) - 1; + this.mt2 = 2 * m.t; + } + // Montgomery.prototype.convert = montConvert; + // xR mod m + Montgomery.prototype.convert = function (x) { + var r = nbi(); + x.abs().dlShiftTo(this.m.t, r); + r.divRemTo(this.m, null, r); + if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) { + this.m.subTo(r, r); + } + return r; + }; + // Montgomery.prototype.revert = montRevert; + // x/R mod m + Montgomery.prototype.revert = function (x) { + var r = nbi(); + x.copyTo(r); + this.reduce(r); + return r; + }; + // Montgomery.prototype.reduce = montReduce; + // x = x/R mod m (HAC 14.32) + Montgomery.prototype.reduce = function (x) { + while (x.t <= this.mt2) { + // pad x so am has enough room later + x[x.t++] = 0; + } + for (var i = 0; i < this.m.t; ++i) { + // faster way of calculating u0 = x[i]*mp mod DV + var j = x[i] & 0x7fff; + var u0 = (j * this.mpl + (((j * this.mph + (x[i] >> 15) * this.mpl) & this.um) << 15)) & x.DM; + // use am to combine the multiply-shift-add into one call + j = i + this.m.t; + x[j] += this.m.am(0, u0, x, i, 0, this.m.t); + // propagate carry + while (x[j] >= x.DV) { + x[j] -= x.DV; + x[++j]++; + } + } + x.clamp(); + x.drShiftTo(this.m.t, x); + if (x.compareTo(this.m) >= 0) { + x.subTo(this.m, x); + } + }; + // Montgomery.prototype.mulTo = montMulTo; + // r = "xy/R mod m"; x,y != r + Montgomery.prototype.mulTo = function (x, y, r) { + x.multiplyTo(y, r); + this.reduce(r); + }; + // Montgomery.prototype.sqrTo = montSqrTo; + // r = "x^2/R mod m"; x != r + Montgomery.prototype.sqrTo = function (x, r) { + x.squareTo(r); + this.reduce(r); + }; + return Montgomery; + }()); + //#endregion Montgomery + //#region Barrett + // Barrett modular reduction + var Barrett = /** @class */ (function () { + function Barrett (m) { + this.m = m; + // setup Barrett + this.r2 = nbi(); + this.q3 = nbi(); + BigInteger.ONE.dlShiftTo(2 * m.t, this.r2); + this.mu = this.r2.divide(m); + } + // Barrett.prototype.convert = barrettConvert; + Barrett.prototype.convert = function (x) { + if (x.s < 0 || x.t > 2 * this.m.t) { + return x.mod(this.m); + } + else if (x.compareTo(this.m) < 0) { + return x; + } + else { + var r = nbi(); + x.copyTo(r); + this.reduce(r); + return r; + } + }; + // Barrett.prototype.revert = barrettRevert; + Barrett.prototype.revert = function (x) { + return x; + }; + // Barrett.prototype.reduce = barrettReduce; + // x = x mod m (HAC 14.42) + Barrett.prototype.reduce = function (x) { + x.drShiftTo(this.m.t - 1, this.r2); + if (x.t > this.m.t + 1) { + x.t = this.m.t + 1; + x.clamp(); + } + this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3); + this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2); + while (x.compareTo(this.r2) < 0) { + x.dAddOffset(1, this.m.t + 1); + } + x.subTo(this.r2, x); + while (x.compareTo(this.m) >= 0) { + x.subTo(this.m, x); + } + }; + // Barrett.prototype.mulTo = barrettMulTo; + // r = x*y mod m; x,y != r + Barrett.prototype.mulTo = function (x, y, r) { + x.multiplyTo(y, r); + this.reduce(r); + }; + // Barrett.prototype.sqrTo = barrettSqrTo; + // r = x^2 mod m; x != r + Barrett.prototype.sqrTo = function (x, r) { + x.squareTo(r); + this.reduce(r); + }; + return Barrett; + }()); + //#endregion + //#endregion REDUCERS + // return new, unset BigInteger + function nbi () { return new BigInteger(null); } + function parseBigInt (str, r) { + return new BigInteger(str, r); + } + // am: Compute w_j += (x*this_i), propagate carries, + // c is initial carry, returns final carry. + // c < 3*dvalue, x < 2*dvalue, this_i < dvalue + // We need to select the fastest one that works in this environment. + // am1: use a single mult and divide to get the high bits, + // max digit bits should be 26 because + // max internal value = 2*dvalue^2-2*dvalue (< 2^53) + function am1 (i, x, w, j, c, n) { + while (--n >= 0) { + var v = x * this[i++] + w[j] + c; + c = Math.floor(v / 0x4000000); + w[j++] = v & 0x3ffffff; + } + return c; + } + // am2 avoids a big mult-and-extract completely. + // Max digit bits should be <= 30 because we do bitwise ops + // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31) + function am2 (i, x, w, j, c, n) { + var xl = x & 0x7fff; + var xh = x >> 15; + while (--n >= 0) { + var l = this[i] & 0x7fff; + var h = this[i++] >> 15; + var m = xh * l + h * xl; + l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff); + c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30); + w[j++] = l & 0x3fffffff; + } + return c; + } + // Alternately, set max digit bits to 28 since some + // browsers slow down when dealing with 32-bit numbers. + function am3 (i, x, w, j, c, n) { + var xl = x & 0x3fff; + var xh = x >> 14; + while (--n >= 0) { + var l = this[i] & 0x3fff; + var h = this[i++] >> 14; + var m = xh * l + h * xl; + l = xl * l + ((m & 0x3fff) << 14) + w[j] + c; + c = (l >> 28) + (m >> 14) + xh * h; + w[j++] = l & 0xfffffff; + } + return c; + } + if (j_lm && (navigator.appName == "Microsoft Internet Explorer")) { + BigInteger.prototype.am = am2; + dbits = 30; + } + else if (j_lm && (navigator.appName != "Netscape")) { + BigInteger.prototype.am = am1; + dbits = 26; + } + else { // Mozilla/Netscape seems to prefer am3 + BigInteger.prototype.am = am3; + dbits = 28; + } + BigInteger.prototype.DB = dbits; + BigInteger.prototype.DM = ((1 << dbits) - 1); + BigInteger.prototype.DV = (1 << dbits); + var BI_FP = 52; + BigInteger.prototype.FV = Math.pow(2, BI_FP); + BigInteger.prototype.F1 = BI_FP - dbits; + BigInteger.prototype.F2 = 2 * dbits - BI_FP; + // Digit conversions + var BI_RC = []; + var rr; + var vv; + rr = "0".charCodeAt(0); + for (vv = 0; vv <= 9; ++vv) { + BI_RC[rr++] = vv; + } + rr = "a".charCodeAt(0); + for (vv = 10; vv < 36; ++vv) { + BI_RC[rr++] = vv; + } + rr = "A".charCodeAt(0); + for (vv = 10; vv < 36; ++vv) { + BI_RC[rr++] = vv; + } + function intAt (s, i) { + var c = BI_RC[s.charCodeAt(i)]; + return (c == null) ? -1 : c; + } + // return bigint initialized to value + function nbv (i) { + var r = nbi(); + r.fromInt(i); + return r; + } + // returns bit length of the integer x + function nbits (x) { + var r = 1; + var t; + if ((t = x >>> 16) != 0) { + x = t; + r += 16; + } + if ((t = x >> 8) != 0) { + x = t; + r += 8; + } + if ((t = x >> 4) != 0) { + x = t; + r += 4; + } + if ((t = x >> 2) != 0) { + x = t; + r += 2; + } + if ((t = x >> 1) != 0) { + x = t; + r += 1; + } + return r; + } + // "constants" + BigInteger.ZERO = nbv(0); + BigInteger.ONE = nbv(1); + + // prng4.js - uses Arcfour as a PRNG + var Arcfour = /** @class */ (function () { + function Arcfour () { + this.i = 0; + this.j = 0; + this.S = []; + } + // Arcfour.prototype.init = ARC4init; + // Initialize arcfour context from key, an array of ints, each from [0..255] + Arcfour.prototype.init = function (key) { + var i; + var j; + var t; + for (i = 0; i < 256; ++i) { + this.S[i] = i; + } + j = 0; + for (i = 0; i < 256; ++i) { + j = (j + this.S[i] + key[i % key.length]) & 255; + t = this.S[i]; + this.S[i] = this.S[j]; + this.S[j] = t; + } + this.i = 0; + this.j = 0; + }; + // Arcfour.prototype.next = ARC4next; + Arcfour.prototype.next = function () { + var t; + this.i = (this.i + 1) & 255; + this.j = (this.j + this.S[this.i]) & 255; + t = this.S[this.i]; + this.S[this.i] = this.S[this.j]; + this.S[this.j] = t; + return this.S[(t + this.S[this.i]) & 255]; + }; + return Arcfour; + }()); + // Plug in your RNG constructor here + function prng_newstate () { + return new Arcfour(); + } + // Pool size must be a multiple of 4 and greater than 32. + // An array of bytes the size of the pool will be passed to init() + var rng_psize = 256; + + // Random number generator - requires a PRNG backend, e.g. prng4.js + var rng_state; + var rng_pool = null; + var rng_pptr; + // Initialize the pool with junk if needed. + if (rng_pool == null) { + rng_pool = []; + rng_pptr = 0; + var t = void 0; + if (window.crypto && window.crypto.getRandomValues) { + // Extract entropy (2048 bits) from RNG if available + var z = new Uint32Array(256); + window.crypto.getRandomValues(z); + for (t = 0; t < z.length; ++t) { + rng_pool[rng_pptr++] = z[t] & 255; + } + } + // Use mouse events for entropy, if we do not have enough entropy by the time + // we need it, entropy will be generated by Math.random. + var onMouseMoveListener_1 = function (ev) { + this.count = this.count || 0; + if (this.count >= 256 || rng_pptr >= rng_psize) { + if (window.removeEventListener) { + window.removeEventListener("mousemove", onMouseMoveListener_1, false); + } + else if (window.detachEvent) { + window.detachEvent("onmousemove", onMouseMoveListener_1); + } + return; + } + try { + var mouseCoordinates = ev.x + ev.y; + rng_pool[rng_pptr++] = mouseCoordinates & 255; + this.count += 1; + } + catch (e) { + // Sometimes Firefox will deny permission to access event properties for some reason. Ignore. + } + }; + if (window.addEventListener) { + window.addEventListener("mousemove", onMouseMoveListener_1, false); + } + else if (window.attachEvent) { + window.attachEvent("onmousemove", onMouseMoveListener_1); + } + } + function rng_get_byte () { + if (rng_state == null) { + rng_state = prng_newstate(); + // At this point, we may not have collected enough entropy. If not, fall back to Math.random + while (rng_pptr < rng_psize) { + var random = Math.floor(65536 * Math.random()); + rng_pool[rng_pptr++] = random & 255; + } + rng_state.init(rng_pool); + for (rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr) { + rng_pool[rng_pptr] = 0; + } + rng_pptr = 0; + } + // TODO: allow reseeding after first request + return rng_state.next(); + } + var SecureRandom = /** @class */ (function () { + function SecureRandom () { + } + SecureRandom.prototype.nextBytes = function (ba) { + for (var i = 0; i < ba.length; ++i) { + ba[i] = rng_get_byte(); + } + }; + return SecureRandom; + }()); + + // Depends on jsbn.js and rng.js + // function linebrk(s,n) { + // var ret = ""; + // var i = 0; + // while(i + n < s.length) { + // ret += s.substring(i,i+n) + "\n"; + // i += n; + // } + // return ret + s.substring(i,s.length); + // } + // function byte2Hex(b) { + // if(b < 0x10) + // return "0" + b.toString(16); + // else + // return b.toString(16); + // } + function pkcs1pad1 (s, n) { + if (n < s.length + 22) { + console.error("Message too long for RSA"); + return null; + } + var len = n - s.length - 6; + var filler = ""; + for (var f = 0; f < len; f += 2) { + filler += "ff"; + } + var m = "0001" + filler + "00" + s; + return parseBigInt(m, 16); + } + // PKCS#1 (type 2, random) pad input string s to n bytes, and return a bigint + function pkcs1pad2 (s, n) { + if (n < s.length + 11) { // TODO: fix for utf-8 + console.error("Message too long for RSA"); + return null; + } + var ba = []; + var i = s.length - 1; + while (i >= 0 && n > 0) { + var c = s.charCodeAt(i--); + if (c < 128) { // encode using utf-8 + ba[--n] = c; + } + else if ((c > 127) && (c < 2048)) { + ba[--n] = (c & 63) | 128; + ba[--n] = (c >> 6) | 192; + } + else { + ba[--n] = (c & 63) | 128; + ba[--n] = ((c >> 6) & 63) | 128; + ba[--n] = (c >> 12) | 224; + } + } + ba[--n] = 0; + var rng = new SecureRandom(); + var x = []; + while (n > 2) { // random non-zero pad + x[0] = 0; + while (x[0] == 0) { + rng.nextBytes(x); + } + ba[--n] = x[0]; + } + ba[--n] = 2; + ba[--n] = 0; + return new BigInteger(ba); + } + // "empty" RSA key constructor + var RSAKey = /** @class */ (function () { + function RSAKey () { + this.n = null; + this.e = 0; + this.d = null; + this.p = null; + this.q = null; + this.dmp1 = null; + this.dmq1 = null; + this.coeff = null; + } + //#region PROTECTED + // protected + // RSAKey.prototype.doPublic = RSADoPublic; + // Perform raw public operation on "x": return x^e (mod n) + RSAKey.prototype.doPublic = function (x) { + return x.modPowInt(this.e, this.n); + }; + // RSAKey.prototype.doPrivate = RSADoPrivate; + // Perform raw private operation on "x": return x^d (mod n) + RSAKey.prototype.doPrivate = function (x) { + if (this.p == null || this.q == null) { + return x.modPow(this.d, this.n); + } + // TODO: re-calculate any missing CRT params + var xp = x.mod(this.p).modPow(this.dmp1, this.p); + var xq = x.mod(this.q).modPow(this.dmq1, this.q); + while (xp.compareTo(xq) < 0) { + xp = xp.add(this.p); + } + return xp.subtract(xq).multiply(this.coeff).mod(this.p).multiply(this.q).add(xq); + }; + //#endregion PROTECTED + //#region PUBLIC + // RSAKey.prototype.setPublic = RSASetPublic; + // Set the public key fields N and e from hex strings + RSAKey.prototype.setPublic = function (N, E) { + if (N != null && E != null && N.length > 0 && E.length > 0) { + this.n = parseBigInt(N, 16); + this.e = parseInt(E, 16); + } + else { + console.error("Invalid RSA public key"); + } + }; + // RSAKey.prototype.encrypt = RSAEncrypt; + // Return the PKCS#1 RSA encryption of "text" as an even-length hex string + RSAKey.prototype.encrypt = function (text) { + var m = pkcs1pad2(text, (this.n.bitLength() + 7) >> 3); + if (m == null) { + return null; + } + var c = this.doPublic(m); + if (c == null) { + return null; + } + var h = c.toString(16); + if ((h.length & 1) == 0) { + return h; + } + else { + return "0" + h; + } + }; + // RSAKey.prototype.setPrivate = RSASetPrivate; + // Set the private key fields N, e, and d from hex strings + RSAKey.prototype.setPrivate = function (N, E, D) { + if (N != null && E != null && N.length > 0 && E.length > 0) { + this.n = parseBigInt(N, 16); + this.e = parseInt(E, 16); + this.d = parseBigInt(D, 16); + } + else { + console.error("Invalid RSA private key"); + } + }; + // RSAKey.prototype.setPrivateEx = RSASetPrivateEx; + // Set the private key fields N, e, d and CRT params from hex strings + RSAKey.prototype.setPrivateEx = function (N, E, D, P, Q, DP, DQ, C) { + if (N != null && E != null && N.length > 0 && E.length > 0) { + this.n = parseBigInt(N, 16); + this.e = parseInt(E, 16); + this.d = parseBigInt(D, 16); + this.p = parseBigInt(P, 16); + this.q = parseBigInt(Q, 16); + this.dmp1 = parseBigInt(DP, 16); + this.dmq1 = parseBigInt(DQ, 16); + this.coeff = parseBigInt(C, 16); + } + else { + console.error("Invalid RSA private key"); + } + }; + // RSAKey.prototype.generate = RSAGenerate; + // Generate a new random private key B bits long, using public expt E + RSAKey.prototype.generate = function (B, E) { + var rng = new SecureRandom(); + var qs = B >> 1; + this.e = parseInt(E, 16); + var ee = new BigInteger(E, 16); + for (; ;) { + for (; ;) { + this.p = new BigInteger(B - qs, 1, rng); + if (this.p.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && this.p.isProbablePrime(10)) { + break; + } + } + for (; ;) { + this.q = new BigInteger(qs, 1, rng); + if (this.q.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && this.q.isProbablePrime(10)) { + break; + } + } + if (this.p.compareTo(this.q) <= 0) { + var t = this.p; + this.p = this.q; + this.q = t; + } + var p1 = this.p.subtract(BigInteger.ONE); + var q1 = this.q.subtract(BigInteger.ONE); + var phi = p1.multiply(q1); + if (phi.gcd(ee).compareTo(BigInteger.ONE) == 0) { + this.n = this.p.multiply(this.q); + this.d = ee.modInverse(phi); + this.dmp1 = this.d.mod(p1); + this.dmq1 = this.d.mod(q1); + this.coeff = this.q.modInverse(this.p); + break; + } + } + }; + // RSAKey.prototype.decrypt = RSADecrypt; + // Return the PKCS#1 RSA decryption of "ctext". + // "ctext" is an even-length hex string and the output is a plain string. + RSAKey.prototype.decrypt = function (ctext) { + var c = parseBigInt(ctext, 16); + var m = this.doPublic(c); + //var m = this.doPrivate(c); + if (m == null) { + return null; + } + + return pkcs1unpad2(m, (this.n.bitLength() + 7) >> 3); + + }; + // Generate a new random private key B bits long, using public expt E + RSAKey.prototype.generateAsync = function (B, E, callback) { + var rng = new SecureRandom(); + var qs = B >> 1; + this.e = parseInt(E, 16); + var ee = new BigInteger(E, 16); + var rsa = this; + // These functions have non-descript names because they were originally for(;;) loops. + // I don't know about cryptography to give them better names than loop1-4. + var loop1 = function () { + var loop4 = function () { + if (rsa.p.compareTo(rsa.q) <= 0) { + var t = rsa.p; + rsa.p = rsa.q; + rsa.q = t; + } + var p1 = rsa.p.subtract(BigInteger.ONE); + var q1 = rsa.q.subtract(BigInteger.ONE); + var phi = p1.multiply(q1); + if (phi.gcd(ee).compareTo(BigInteger.ONE) == 0) { + rsa.n = rsa.p.multiply(rsa.q); + rsa.d = ee.modInverse(phi); + rsa.dmp1 = rsa.d.mod(p1); + rsa.dmq1 = rsa.d.mod(q1); + rsa.coeff = rsa.q.modInverse(rsa.p); + setTimeout(function () { callback(); }, 0); // escape + } + else { + setTimeout(loop1, 0); + } + }; + var loop3 = function () { + rsa.q = nbi(); + rsa.q.fromNumberAsync(qs, 1, rng, function () { + rsa.q.subtract(BigInteger.ONE).gcda(ee, function (r) { + if (r.compareTo(BigInteger.ONE) == 0 && rsa.q.isProbablePrime(10)) { + setTimeout(loop4, 0); + } + else { + setTimeout(loop3, 0); + } + }); + }); + }; + var loop2 = function () { + rsa.p = nbi(); + rsa.p.fromNumberAsync(B - qs, 1, rng, function () { + rsa.p.subtract(BigInteger.ONE).gcda(ee, function (r) { + if (r.compareTo(BigInteger.ONE) == 0 && rsa.p.isProbablePrime(10)) { + setTimeout(loop3, 0); + } + else { + setTimeout(loop2, 0); + } + }); + }); + }; + setTimeout(loop2, 0); + }; + setTimeout(loop1, 0); + }; + RSAKey.prototype.sign = function (text, digestMethod, digestName) { + var header = getDigestHeader(digestName); + var digest = header + digestMethod(text).toString(); + var m = pkcs1pad1(digest, this.n.bitLength() / 4); + if (m == null) { + return null; + } + var c = this.doPrivate(m); + if (c == null) { + return null; + } + var h = c.toString(16); + if ((h.length & 1) == 0) { + return h; + } + else { + return "0" + h; + } + }; + RSAKey.prototype.verify = function (text, signature, digestMethod) { + var c = parseBigInt(signature, 16); + var m = this.doPublic(c); + if (m == null) { + return null; + } + var unpadded = m.toString(16).replace(/^1f+00/, ""); + var digest = removeDigestHeader(unpadded); + return digest == digestMethod(text).toString(); + }; + return RSAKey; + }()); + // Undo PKCS#1 (type 2, random) padding and, if valid, return the plaintext + function pkcs1unpad2 (d, n) { + var b = d.toByteArray(); + var i = 0; + while (i < b.length && b[i] == 0) { + ++i; + } + // if (b.length - i != n - 1 || b[i] != 2) { + // return null; + // } + ++i; + while (b[i] != 0) { + if (++i >= b.length) { + return null; + } + } + var ret = ""; + while (++i < b.length) { + var c = b[i] & 255; + if (c < 128) { // utf-8 decode + ret += String.fromCharCode(c); + } + else if ((c > 191) && (c < 224)) { + ret += String.fromCharCode(((c & 31) << 6) | (b[i + 1] & 63)); + ++i; + } + else { + ret += String.fromCharCode(((c & 15) << 12) | ((b[i + 1] & 63) << 6) | (b[i + 2] & 63)); + i += 2; + } + } + return ret; + } + // https://tools.ietf.org/html/rfc3447#page-43 + var DIGEST_HEADERS = { + md2: "3020300c06082a864886f70d020205000410", + md5: "3020300c06082a864886f70d020505000410", + sha1: "3021300906052b0e03021a05000414", + sha224: "302d300d06096086480165030402040500041c", + sha256: "3031300d060960864801650304020105000420", + sha384: "3041300d060960864801650304020205000430", + sha512: "3051300d060960864801650304020305000440", + ripemd160: "3021300906052b2403020105000414", + }; + function getDigestHeader (name) { + return DIGEST_HEADERS[name] || ""; + } + function removeDigestHeader (str) { + for (var name_1 in DIGEST_HEADERS) { + if (DIGEST_HEADERS.hasOwnProperty(name_1)) { + var header = DIGEST_HEADERS[name_1]; + var len = header.length; + if (str.substr(0, len) == header) { + return str.substr(len); + } + } + } + return str; + } + // Return the PKCS#1 RSA encryption of "text" as a Base64-encoded string + // function RSAEncryptB64(text) { + // var h = this.encrypt(text); + // if(h) return hex2b64(h); else return null; + // } + // public + // RSAKey.prototype.encrypt_b64 = RSAEncryptB64; + + /*! + Copyright (c) 2011, Yahoo! Inc. All rights reserved. + Code licensed under the BSD License: + http://developer.yahoo.com/yui/license.html + version: 2.9.0 + */ + var YAHOO = {}; + YAHOO.lang = { + /** + * Utility to set up the prototype, constructor and superclass properties to + * support an inheritance strategy that can chain constructors and methods. + * Static members will not be inherited. + * + * @method extend + * @static + * @param {Function} subc the object to modify + * @param {Function} superc the object to inherit + * @param {Object} overrides additional properties/methods to add to the + * subclass prototype. These will override the + * matching items obtained from the superclass + * if present. + */ + extend: function (subc, superc, overrides) { + if (!superc || !subc) { + throw new Error("YAHOO.lang.extend failed, please check that " + + "all dependencies are included."); + } + + var F = function () { }; + F.prototype = superc.prototype; + subc.prototype = new F(); + subc.prototype.constructor = subc; + subc.superclass = superc.prototype; + + if (superc.prototype.constructor == Object.prototype.constructor) { + superc.prototype.constructor = superc; + } + + if (overrides) { + var i; + for (i in overrides) { + subc.prototype[i] = overrides[i]; + } + + /* + * IE will not enumerate native functions in a derived object even if the + * function was overridden. This is a workaround for specific functions + * we care about on the Object prototype. + * @property _IEEnumFix + * @param {Function} r the object to receive the augmentation + * @param {Function} s the object that supplies the properties to augment + * @static + * @private + */ + var _IEEnumFix = function () { }, + ADD = ["toString", "valueOf"]; + try { + if (/MSIE/.test(navigator.userAgent)) { + _IEEnumFix = function (r, s) { + for (i = 0; i < ADD.length; i = i + 1) { + var fname = ADD[i], f = s[fname]; + if (typeof f === 'function' && f != Object.prototype[fname]) { + r[fname] = f; + } + } + }; + } + } catch (ex) { } _IEEnumFix(subc.prototype, overrides); + } + } + }; + + /* asn1-1.0.13.js (c) 2013-2017 Kenji Urushima | kjur.github.com/jsrsasign/license + */ + + /** + * @fileOverview + * @name asn1-1.0.js + * @author Kenji Urushima kenji.urushima@gmail.com + * @version asn1 1.0.13 (2017-Jun-02) + * @since jsrsasign 2.1 + * @license
MIT License + */ + + /** + * kjur's class library name space + *

+ * This name space provides following name spaces: + *

    + *
  • {@link KJUR.asn1} - ASN.1 primitive hexadecimal encoder
  • + *
  • {@link KJUR.asn1.x509} - ASN.1 structure for X.509 certificate and CRL
  • + *
  • {@link KJUR.crypto} - Java Cryptographic Extension(JCE) style MessageDigest/Signature + * class and utilities
  • + *
+ *

+ * NOTE: Please ignore method summary and document of this namespace. This caused by a bug of jsdoc2. + * @name KJUR + * @namespace kjur's class library name space + */ + var KJUR = {}; + + /** + * kjur's ASN.1 class library name space + *

+ * This is ITU-T X.690 ASN.1 DER encoder class library and + * class structure and methods is very similar to + * org.bouncycastle.asn1 package of + * well known BouncyCaslte Cryptography Library. + *

PROVIDING ASN.1 PRIMITIVES

+ * Here are ASN.1 DER primitive classes. + *
    + *
  • 0x01 {@link KJUR.asn1.DERBoolean}
  • + *
  • 0x02 {@link KJUR.asn1.DERInteger}
  • + *
  • 0x03 {@link KJUR.asn1.DERBitString}
  • + *
  • 0x04 {@link KJUR.asn1.DEROctetString}
  • + *
  • 0x05 {@link KJUR.asn1.DERNull}
  • + *
  • 0x06 {@link KJUR.asn1.DERObjectIdentifier}
  • + *
  • 0x0a {@link KJUR.asn1.DEREnumerated}
  • + *
  • 0x0c {@link KJUR.asn1.DERUTF8String}
  • + *
  • 0x12 {@link KJUR.asn1.DERNumericString}
  • + *
  • 0x13 {@link KJUR.asn1.DERPrintableString}
  • + *
  • 0x14 {@link KJUR.asn1.DERTeletexString}
  • + *
  • 0x16 {@link KJUR.asn1.DERIA5String}
  • + *
  • 0x17 {@link KJUR.asn1.DERUTCTime}
  • + *
  • 0x18 {@link KJUR.asn1.DERGeneralizedTime}
  • + *
  • 0x30 {@link KJUR.asn1.DERSequence}
  • + *
  • 0x31 {@link KJUR.asn1.DERSet}
  • + *
+ *

OTHER ASN.1 CLASSES

+ *
    + *
  • {@link KJUR.asn1.ASN1Object}
  • + *
  • {@link KJUR.asn1.DERAbstractString}
  • + *
  • {@link KJUR.asn1.DERAbstractTime}
  • + *
  • {@link KJUR.asn1.DERAbstractStructured}
  • + *
  • {@link KJUR.asn1.DERTaggedObject}
  • + *
+ *

SUB NAME SPACES

+ *
    + *
  • {@link KJUR.asn1.cades} - CAdES long term signature format
  • + *
  • {@link KJUR.asn1.cms} - Cryptographic Message Syntax
  • + *
  • {@link KJUR.asn1.csr} - Certificate Signing Request (CSR/PKCS#10)
  • + *
  • {@link KJUR.asn1.tsp} - RFC 3161 Timestamping Protocol Format
  • + *
  • {@link KJUR.asn1.x509} - RFC 5280 X.509 certificate and CRL
  • + *
+ *

+ * NOTE: Please ignore method summary and document of this namespace. + * This caused by a bug of jsdoc2. + * @name KJUR.asn1 + * @namespace + */ + if (typeof KJUR.asn1 == "undefined" || !KJUR.asn1) KJUR.asn1 = {}; + + /** + * ASN1 utilities class + * @name KJUR.asn1.ASN1Util + * @class ASN1 utilities class + * @since asn1 1.0.2 + */ + KJUR.asn1.ASN1Util = new function () { + this.integerToByteHex = function (i) { + var h = i.toString(16); + if ((h.length % 2) == 1) h = '0' + h; + return h; + }; + this.bigIntToMinTwosComplementsHex = function (bigIntegerValue) { + var h = bigIntegerValue.toString(16); + if (h.substr(0, 1) != '-') { + if (h.length % 2 == 1) { + h = '0' + h; + } else { + if (!h.match(/^[0-7]/)) { + h = '00' + h; + } + } + } else { + var hPos = h.substr(1); + var xorLen = hPos.length; + if (xorLen % 2 == 1) { + xorLen += 1; + } else { + if (!h.match(/^[0-7]/)) { + xorLen += 2; + } + } + var hMask = ''; + for (var i = 0; i < xorLen; i++) { + hMask += 'f'; + } + var biMask = new BigInteger(hMask, 16); + var biNeg = biMask.xor(bigIntegerValue).add(BigInteger.ONE); + h = biNeg.toString(16).replace(/^-/, ''); + } + return h; + }; + /** + * get PEM string from hexadecimal data and header string + * @name getPEMStringFromHex + * @memberOf KJUR.asn1.ASN1Util + * @function + * @param {String} dataHex hexadecimal string of PEM body + * @param {String} pemHeader PEM header string (ex. 'RSA PRIVATE KEY') + * @return {String} PEM formatted string of input data + * @description + * This method converts a hexadecimal string to a PEM string with + * a specified header. Its line break will be CRLF("\r\n"). + * @example + * var pem = KJUR.asn1.ASN1Util.getPEMStringFromHex('616161', 'RSA PRIVATE KEY'); + * // value of pem will be: + * -----BEGIN PRIVATE KEY----- + * YWFh + * -----END PRIVATE KEY----- + */ + this.getPEMStringFromHex = function (dataHex, pemHeader) { + return hextopem(dataHex, pemHeader); + }; + + /** + * generate ASN1Object specifed by JSON parameters + * @name newObject + * @memberOf KJUR.asn1.ASN1Util + * @function + * @param {Array} param JSON parameter to generate ASN1Object + * @return {KJUR.asn1.ASN1Object} generated object + * @since asn1 1.0.3 + * @description + * generate any ASN1Object specified by JSON param + * including ASN.1 primitive or structured. + * Generally 'param' can be described as follows: + *
+ * {TYPE-OF-ASNOBJ: ASN1OBJ-PARAMETER} + *
+ * 'TYPE-OF-ASN1OBJ' can be one of following symbols: + *
    + *
  • 'bool' - DERBoolean
  • + *
  • 'int' - DERInteger
  • + *
  • 'bitstr' - DERBitString
  • + *
  • 'octstr' - DEROctetString
  • + *
  • 'null' - DERNull
  • + *
  • 'oid' - DERObjectIdentifier
  • + *
  • 'enum' - DEREnumerated
  • + *
  • 'utf8str' - DERUTF8String
  • + *
  • 'numstr' - DERNumericString
  • + *
  • 'prnstr' - DERPrintableString
  • + *
  • 'telstr' - DERTeletexString
  • + *
  • 'ia5str' - DERIA5String
  • + *
  • 'utctime' - DERUTCTime
  • + *
  • 'gentime' - DERGeneralizedTime
  • + *
  • 'seq' - DERSequence
  • + *
  • 'set' - DERSet
  • + *
  • 'tag' - DERTaggedObject
  • + *
+ * @example + * newObject({'prnstr': 'aaa'}); + * newObject({'seq': [{'int': 3}, {'prnstr': 'aaa'}]}) + * // ASN.1 Tagged Object + * newObject({'tag': {'tag': 'a1', + * 'explicit': true, + * 'obj': {'seq': [{'int': 3}, {'prnstr': 'aaa'}]}}}); + * // more simple representation of ASN.1 Tagged Object + * newObject({'tag': ['a1', + * true, + * {'seq': [ + * {'int': 3}, + * {'prnstr': 'aaa'}]} + * ]}); + */ + this.newObject = function (param) { + var _KJUR = KJUR, + _KJUR_asn1 = _KJUR.asn1, + _DERBoolean = _KJUR_asn1.DERBoolean, + _DERInteger = _KJUR_asn1.DERInteger, + _DERBitString = _KJUR_asn1.DERBitString, + _DEROctetString = _KJUR_asn1.DEROctetString, + _DERNull = _KJUR_asn1.DERNull, + _DERObjectIdentifier = _KJUR_asn1.DERObjectIdentifier, + _DEREnumerated = _KJUR_asn1.DEREnumerated, + _DERUTF8String = _KJUR_asn1.DERUTF8String, + _DERNumericString = _KJUR_asn1.DERNumericString, + _DERPrintableString = _KJUR_asn1.DERPrintableString, + _DERTeletexString = _KJUR_asn1.DERTeletexString, + _DERIA5String = _KJUR_asn1.DERIA5String, + _DERUTCTime = _KJUR_asn1.DERUTCTime, + _DERGeneralizedTime = _KJUR_asn1.DERGeneralizedTime, + _DERSequence = _KJUR_asn1.DERSequence, + _DERSet = _KJUR_asn1.DERSet, + _DERTaggedObject = _KJUR_asn1.DERTaggedObject, + _newObject = _KJUR_asn1.ASN1Util.newObject; + + var keys = Object.keys(param); + if (keys.length != 1) + throw "key of param shall be only one."; + var key = keys[0]; + + if (":bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:seq:set:tag:".indexOf(":" + key + ":") == -1) + throw "undefined key: " + key; + + if (key == "bool") return new _DERBoolean(param[key]); + if (key == "int") return new _DERInteger(param[key]); + if (key == "bitstr") return new _DERBitString(param[key]); + if (key == "octstr") return new _DEROctetString(param[key]); + if (key == "null") return new _DERNull(param[key]); + if (key == "oid") return new _DERObjectIdentifier(param[key]); + if (key == "enum") return new _DEREnumerated(param[key]); + if (key == "utf8str") return new _DERUTF8String(param[key]); + if (key == "numstr") return new _DERNumericString(param[key]); + if (key == "prnstr") return new _DERPrintableString(param[key]); + if (key == "telstr") return new _DERTeletexString(param[key]); + if (key == "ia5str") return new _DERIA5String(param[key]); + if (key == "utctime") return new _DERUTCTime(param[key]); + if (key == "gentime") return new _DERGeneralizedTime(param[key]); + + if (key == "seq") { + var paramList = param[key]; + var a = []; + for (var i = 0; i < paramList.length; i++) { + var asn1Obj = _newObject(paramList[i]); + a.push(asn1Obj); + } + return new _DERSequence({ 'array': a }); + } + + if (key == "set") { + var paramList = param[key]; + var a = []; + for (var i = 0; i < paramList.length; i++) { + var asn1Obj = _newObject(paramList[i]); + a.push(asn1Obj); + } + return new _DERSet({ 'array': a }); + } + + if (key == "tag") { + var tagParam = param[key]; + if (Object.prototype.toString.call(tagParam) === '[object Array]' && + tagParam.length == 3) { + var obj = _newObject(tagParam[2]); + return new _DERTaggedObject({ + tag: tagParam[0], + explicit: tagParam[1], + obj: obj + }); + } else { + var newParam = {}; + if (tagParam.explicit !== undefined) + newParam.explicit = tagParam.explicit; + if (tagParam.tag !== undefined) + newParam.tag = tagParam.tag; + if (tagParam.obj === undefined) + throw "obj shall be specified for 'tag'."; + newParam.obj = _newObject(tagParam.obj); + return new _DERTaggedObject(newParam); + } + } + }; + + /** + * get encoded hexadecimal string of ASN1Object specifed by JSON parameters + * @name jsonToASN1HEX + * @memberOf KJUR.asn1.ASN1Util + * @function + * @param {Array} param JSON parameter to generate ASN1Object + * @return hexadecimal string of ASN1Object + * @since asn1 1.0.4 + * @description + * As for ASN.1 object representation of JSON object, + * please see {@link newObject}. + * @example + * jsonToASN1HEX({'prnstr': 'aaa'}); + */ + this.jsonToASN1HEX = function (param) { + var asn1Obj = this.newObject(param); + return asn1Obj.getEncodedHex(); + }; + }; + + /** + * get dot noted oid number string from hexadecimal value of OID + * @name oidHexToInt + * @memberOf KJUR.asn1.ASN1Util + * @function + * @param {String} hex hexadecimal value of object identifier + * @return {String} dot noted string of object identifier + * @since jsrsasign 4.8.3 asn1 1.0.7 + * @description + * This static method converts from hexadecimal string representation of + * ASN.1 value of object identifier to oid number string. + * @example + * KJUR.asn1.ASN1Util.oidHexToInt('550406') → "2.5.4.6" + */ + KJUR.asn1.ASN1Util.oidHexToInt = function (hex) { + var s = ""; + var i01 = parseInt(hex.substr(0, 2), 16); + var i0 = Math.floor(i01 / 40); + var i1 = i01 % 40; + var s = i0 + "." + i1; + + var binbuf = ""; + for (var i = 2; i < hex.length; i += 2) { + var value = parseInt(hex.substr(i, 2), 16); + var bin = ("00000000" + value.toString(2)).slice(- 8); + binbuf = binbuf + bin.substr(1, 7); + if (bin.substr(0, 1) == "0") { + var bi = new BigInteger(binbuf, 2); + s = s + "." + bi.toString(10); + binbuf = ""; + } + } + return s; + }; + + /** + * get hexadecimal value of object identifier from dot noted oid value + * @name oidIntToHex + * @memberOf KJUR.asn1.ASN1Util + * @function + * @param {String} oidString dot noted string of object identifier + * @return {String} hexadecimal value of object identifier + * @since jsrsasign 4.8.3 asn1 1.0.7 + * @description + * This static method converts from object identifier value string. + * to hexadecimal string representation of it. + * @example + * KJUR.asn1.ASN1Util.oidIntToHex("2.5.4.6") → "550406" + */ + KJUR.asn1.ASN1Util.oidIntToHex = function (oidString) { + var itox = function (i) { + var h = i.toString(16); + if (h.length == 1) h = '0' + h; + return h; + }; + + var roidtox = function (roid) { + var h = ''; + var bi = new BigInteger(roid, 10); + var b = bi.toString(2); + var padLen = 7 - b.length % 7; + if (padLen == 7) padLen = 0; + var bPad = ''; + for (var i = 0; i < padLen; i++) bPad += '0'; + b = bPad + b; + for (var i = 0; i < b.length - 1; i += 7) { + var b8 = b.substr(i, 7); + if (i != b.length - 7) b8 = '1' + b8; + h += itox(parseInt(b8, 2)); + } + return h; + }; + + if (!oidString.match(/^[0-9.]+$/)) { + throw "malformed oid string: " + oidString; + } + var h = ''; + var a = oidString.split('.'); + var i0 = parseInt(a[0]) * 40 + parseInt(a[1]); + h += itox(i0); + a.splice(0, 2); + for (var i = 0; i < a.length; i++) { + h += roidtox(a[i]); + } + return h; + }; + + + // ******************************************************************** + // Abstract ASN.1 Classes + // ******************************************************************** + + // ******************************************************************** + + /** + * base class for ASN.1 DER encoder object + * @name KJUR.asn1.ASN1Object + * @class base class for ASN.1 DER encoder object + * @property {Boolean} isModified flag whether internal data was changed + * @property {String} hTLV hexadecimal string of ASN.1 TLV + * @property {String} hT hexadecimal string of ASN.1 TLV tag(T) + * @property {String} hL hexadecimal string of ASN.1 TLV length(L) + * @property {String} hV hexadecimal string of ASN.1 TLV value(V) + * @description + */ + KJUR.asn1.ASN1Object = function () { + var hV = ''; + + /** + * get hexadecimal ASN.1 TLV length(L) bytes from TLV value(V) + * @name getLengthHexFromValue + * @memberOf KJUR.asn1.ASN1Object# + * @function + * @return {String} hexadecimal string of ASN.1 TLV length(L) + */ + this.getLengthHexFromValue = function () { + if (typeof this.hV == "undefined" || this.hV == null) { + throw "this.hV is null or undefined."; + } + if (this.hV.length % 2 == 1) { + throw "value hex must be even length: n=" + hV.length + ",v=" + this.hV; + } + var n = this.hV.length / 2; + var hN = n.toString(16); + if (hN.length % 2 == 1) { + hN = "0" + hN; + } + if (n < 128) { + return hN; + } else { + var hNlen = hN.length / 2; + if (hNlen > 15) { + throw "ASN.1 length too long to represent by 8x: n = " + n.toString(16); + } + var head = 128 + hNlen; + return head.toString(16) + hN; + } + }; + + /** + * get hexadecimal string of ASN.1 TLV bytes + * @name getEncodedHex + * @memberOf KJUR.asn1.ASN1Object# + * @function + * @return {String} hexadecimal string of ASN.1 TLV + */ + this.getEncodedHex = function () { + if (this.hTLV == null || this.isModified) { + this.hV = this.getFreshValueHex(); + this.hL = this.getLengthHexFromValue(); + this.hTLV = this.hT + this.hL + this.hV; + this.isModified = false; + //alert("first time: " + this.hTLV); + } + return this.hTLV; + }; + + /** + * get hexadecimal string of ASN.1 TLV value(V) bytes + * @name getValueHex + * @memberOf KJUR.asn1.ASN1Object# + * @function + * @return {String} hexadecimal string of ASN.1 TLV value(V) bytes + */ + this.getValueHex = function () { + this.getEncodedHex(); + return this.hV; + }; + + this.getFreshValueHex = function () { + return ''; + }; + }; + + // == BEGIN DERAbstractString ================================================ + /** + * base class for ASN.1 DER string classes + * @name KJUR.asn1.DERAbstractString + * @class base class for ASN.1 DER string classes + * @param {Array} params associative array of parameters (ex. {'str': 'aaa'}) + * @property {String} s internal string of value + * @extends KJUR.asn1.ASN1Object + * @description + *
+ * As for argument 'params' for constructor, you can specify one of + * following properties: + *
    + *
  • str - specify initial ASN.1 value(V) by a string
  • + *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • + *
+ * NOTE: 'params' can be omitted. + */ + KJUR.asn1.DERAbstractString = function (params) { + KJUR.asn1.DERAbstractString.superclass.constructor.call(this); + + /** + * get string value of this string object + * @name getString + * @memberOf KJUR.asn1.DERAbstractString# + * @function + * @return {String} string value of this string object + */ + this.getString = function () { + return this.s; + }; + + /** + * set value by a string + * @name setString + * @memberOf KJUR.asn1.DERAbstractString# + * @function + * @param {String} newS value by a string to set + */ + this.setString = function (newS) { + this.hTLV = null; + this.isModified = true; + this.s = newS; + this.hV = stohex(this.s); + }; + + /** + * set value by a hexadecimal string + * @name setStringHex + * @memberOf KJUR.asn1.DERAbstractString# + * @function + * @param {String} newHexString value by a hexadecimal string to set + */ + this.setStringHex = function (newHexString) { + this.hTLV = null; + this.isModified = true; + this.s = null; + this.hV = newHexString; + }; + + this.getFreshValueHex = function () { + return this.hV; + }; + + if (typeof params != "undefined") { + if (typeof params == "string") { + this.setString(params); + } else if (typeof params['str'] != "undefined") { + this.setString(params['str']); + } else if (typeof params['hex'] != "undefined") { + this.setStringHex(params['hex']); + } + } + }; + YAHOO.lang.extend(KJUR.asn1.DERAbstractString, KJUR.asn1.ASN1Object); + // == END DERAbstractString ================================================ + + // == BEGIN DERAbstractTime ================================================== + /** + * base class for ASN.1 DER Generalized/UTCTime class + * @name KJUR.asn1.DERAbstractTime + * @class base class for ASN.1 DER Generalized/UTCTime class + * @param {Array} params associative array of parameters (ex. {'str': '130430235959Z'}) + * @extends KJUR.asn1.ASN1Object + * @description + * @see KJUR.asn1.ASN1Object - superclass + */ + KJUR.asn1.DERAbstractTime = function (params) { + KJUR.asn1.DERAbstractTime.superclass.constructor.call(this); + + // --- PRIVATE METHODS -------------------- + this.localDateToUTC = function (d) { + utc = d.getTime() + (d.getTimezoneOffset() * 60000); + var utcDate = new Date(utc); + return utcDate; + }; + + /* + * format date string by Data object + * @name formatDate + * @memberOf KJUR.asn1.AbstractTime; + * @param {Date} dateObject + * @param {string} type 'utc' or 'gen' + * @param {boolean} withMillis flag for with millisections or not + * @description + * 'withMillis' flag is supported from asn1 1.0.6. + */ + this.formatDate = function (dateObject, type, withMillis) { + var pad = this.zeroPadding; + var d = this.localDateToUTC(dateObject); + var year = String(d.getFullYear()); + if (type == 'utc') year = year.substr(2, 2); + var month = pad(String(d.getMonth() + 1), 2); + var day = pad(String(d.getDate()), 2); + var hour = pad(String(d.getHours()), 2); + var min = pad(String(d.getMinutes()), 2); + var sec = pad(String(d.getSeconds()), 2); + var s = year + month + day + hour + min + sec; + if (withMillis === true) { + var millis = d.getMilliseconds(); + if (millis != 0) { + var sMillis = pad(String(millis), 3); + sMillis = sMillis.replace(/[0]+$/, ""); + s = s + "." + sMillis; + } + } + return s + "Z"; + }; + + this.zeroPadding = function (s, len) { + if (s.length >= len) return s; + return new Array(len - s.length + 1).join('0') + s; + }; + + // --- PUBLIC METHODS -------------------- + /** + * get string value of this string object + * @name getString + * @memberOf KJUR.asn1.DERAbstractTime# + * @function + * @return {String} string value of this time object + */ + this.getString = function () { + return this.s; + }; + + /** + * set value by a string + * @name setString + * @memberOf KJUR.asn1.DERAbstractTime# + * @function + * @param {String} newS value by a string to set such like "130430235959Z" + */ + this.setString = function (newS) { + this.hTLV = null; + this.isModified = true; + this.s = newS; + this.hV = stohex(newS); + }; + + /** + * set value by a Date object + * @name setByDateValue + * @memberOf KJUR.asn1.DERAbstractTime# + * @function + * @param {Integer} year year of date (ex. 2013) + * @param {Integer} month month of date between 1 and 12 (ex. 12) + * @param {Integer} day day of month + * @param {Integer} hour hours of date + * @param {Integer} min minutes of date + * @param {Integer} sec seconds of date + */ + this.setByDateValue = function (year, month, day, hour, min, sec) { + var dateObject = new Date(Date.UTC(year, month - 1, day, hour, min, sec, 0)); + this.setByDate(dateObject); + }; + + this.getFreshValueHex = function () { + return this.hV; + }; + }; + YAHOO.lang.extend(KJUR.asn1.DERAbstractTime, KJUR.asn1.ASN1Object); + // == END DERAbstractTime ================================================== + + // == BEGIN DERAbstractStructured ============================================ + /** + * base class for ASN.1 DER structured class + * @name KJUR.asn1.DERAbstractStructured + * @class base class for ASN.1 DER structured class + * @property {Array} asn1Array internal array of ASN1Object + * @extends KJUR.asn1.ASN1Object + * @description + * @see KJUR.asn1.ASN1Object - superclass + */ + KJUR.asn1.DERAbstractStructured = function (params) { + KJUR.asn1.DERAbstractString.superclass.constructor.call(this); + + /** + * set value by array of ASN1Object + * @name setByASN1ObjectArray + * @memberOf KJUR.asn1.DERAbstractStructured# + * @function + * @param {array} asn1ObjectArray array of ASN1Object to set + */ + this.setByASN1ObjectArray = function (asn1ObjectArray) { + this.hTLV = null; + this.isModified = true; + this.asn1Array = asn1ObjectArray; + }; + + /** + * append an ASN1Object to internal array + * @name appendASN1Object + * @memberOf KJUR.asn1.DERAbstractStructured# + * @function + * @param {ASN1Object} asn1Object to add + */ + this.appendASN1Object = function (asn1Object) { + this.hTLV = null; + this.isModified = true; + this.asn1Array.push(asn1Object); + }; + + this.asn1Array = new Array(); + if (typeof params != "undefined") { + if (typeof params['array'] != "undefined") { + this.asn1Array = params['array']; + } + } + }; + YAHOO.lang.extend(KJUR.asn1.DERAbstractStructured, KJUR.asn1.ASN1Object); + + + // ******************************************************************** + // ASN.1 Object Classes + // ******************************************************************** + + // ******************************************************************** + /** + * class for ASN.1 DER Boolean + * @name KJUR.asn1.DERBoolean + * @class class for ASN.1 DER Boolean + * @extends KJUR.asn1.ASN1Object + * @description + * @see KJUR.asn1.ASN1Object - superclass + */ + KJUR.asn1.DERBoolean = function () { + KJUR.asn1.DERBoolean.superclass.constructor.call(this); + this.hT = "01"; + this.hTLV = "0101ff"; + }; + YAHOO.lang.extend(KJUR.asn1.DERBoolean, KJUR.asn1.ASN1Object); + + // ******************************************************************** + /** + * class for ASN.1 DER Integer + * @name KJUR.asn1.DERInteger + * @class class for ASN.1 DER Integer + * @extends KJUR.asn1.ASN1Object + * @description + *
+ * As for argument 'params' for constructor, you can specify one of + * following properties: + *
    + *
  • int - specify initial ASN.1 value(V) by integer value
  • + *
  • bigint - specify initial ASN.1 value(V) by BigInteger object
  • + *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • + *
+ * NOTE: 'params' can be omitted. + */ + KJUR.asn1.DERInteger = function (params) { + KJUR.asn1.DERInteger.superclass.constructor.call(this); + this.hT = "02"; + + /** + * set value by Tom Wu's BigInteger object + * @name setByBigInteger + * @memberOf KJUR.asn1.DERInteger# + * @function + * @param {BigInteger} bigIntegerValue to set + */ + this.setByBigInteger = function (bigIntegerValue) { + this.hTLV = null; + this.isModified = true; + this.hV = KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(bigIntegerValue); + }; + + /** + * set value by integer value + * @name setByInteger + * @memberOf KJUR.asn1.DERInteger + * @function + * @param {Integer} integer value to set + */ + this.setByInteger = function (intValue) { + var bi = new BigInteger(String(intValue), 10); + this.setByBigInteger(bi); + }; + + /** + * set value by integer value + * @name setValueHex + * @memberOf KJUR.asn1.DERInteger# + * @function + * @param {String} hexadecimal string of integer value + * @description + *
+ * NOTE: Value shall be represented by minimum octet length of + * two's complement representation. + * @example + * new KJUR.asn1.DERInteger(123); + * new KJUR.asn1.DERInteger({'int': 123}); + * new KJUR.asn1.DERInteger({'hex': '1fad'}); + */ + this.setValueHex = function (newHexString) { + this.hV = newHexString; + }; + + this.getFreshValueHex = function () { + return this.hV; + }; + + if (typeof params != "undefined") { + if (typeof params['bigint'] != "undefined") { + this.setByBigInteger(params['bigint']); + } else if (typeof params['int'] != "undefined") { + this.setByInteger(params['int']); + } else if (typeof params == "number") { + this.setByInteger(params); + } else if (typeof params['hex'] != "undefined") { + this.setValueHex(params['hex']); + } + } + }; + YAHOO.lang.extend(KJUR.asn1.DERInteger, KJUR.asn1.ASN1Object); + + // ******************************************************************** + /** + * class for ASN.1 DER encoded BitString primitive + * @name KJUR.asn1.DERBitString + * @class class for ASN.1 DER encoded BitString primitive + * @extends KJUR.asn1.ASN1Object + * @description + *
+ * As for argument 'params' for constructor, you can specify one of + * following properties: + *
    + *
  • bin - specify binary string (ex. '10111')
  • + *
  • array - specify array of boolean (ex. [true,false,true,true])
  • + *
  • hex - specify hexadecimal string of ASN.1 value(V) including unused bits
  • + *
  • obj - specify {@link KJUR.asn1.ASN1Util.newObject} + * argument for "BitString encapsulates" structure.
  • + *
+ * NOTE1: 'params' can be omitted.
+ * NOTE2: 'obj' parameter have been supported since + * asn1 1.0.11, jsrsasign 6.1.1 (2016-Sep-25).
+ * @example + * // default constructor + * o = new KJUR.asn1.DERBitString(); + * // initialize with binary string + * o = new KJUR.asn1.DERBitString({bin: "1011"}); + * // initialize with boolean array + * o = new KJUR.asn1.DERBitString({array: [true,false,true,true]}); + * // initialize with hexadecimal string (04 is unused bits) + * o = new KJUR.asn1.DEROctetString({hex: "04bac0"}); + * // initialize with ASN1Util.newObject argument for encapsulated + * o = new KJUR.asn1.DERBitString({obj: {seq: [{int: 3}, {prnstr: 'aaa'}]}}); + * // above generates a ASN.1 data like this: + * // BIT STRING, encapsulates { + * // SEQUENCE { + * // INTEGER 3 + * // PrintableString 'aaa' + * // } + * // } + */ + KJUR.asn1.DERBitString = function (params) { + if (params !== undefined && typeof params.obj !== "undefined") { + var o = KJUR.asn1.ASN1Util.newObject(params.obj); + params.hex = "00" + o.getEncodedHex(); + } + KJUR.asn1.DERBitString.superclass.constructor.call(this); + this.hT = "03"; + + /** + * set ASN.1 value(V) by a hexadecimal string including unused bits + * @name setHexValueIncludingUnusedBits + * @memberOf KJUR.asn1.DERBitString# + * @function + * @param {String} newHexStringIncludingUnusedBits + */ + this.setHexValueIncludingUnusedBits = function (newHexStringIncludingUnusedBits) { + this.hTLV = null; + this.isModified = true; + this.hV = newHexStringIncludingUnusedBits; + }; + + /** + * set ASN.1 value(V) by unused bit and hexadecimal string of value + * @name setUnusedBitsAndHexValue + * @memberOf KJUR.asn1.DERBitString# + * @function + * @param {Integer} unusedBits + * @param {String} hValue + */ + this.setUnusedBitsAndHexValue = function (unusedBits, hValue) { + if (unusedBits < 0 || 7 < unusedBits) { + throw "unused bits shall be from 0 to 7: u = " + unusedBits; + } + var hUnusedBits = "0" + unusedBits; + this.hTLV = null; + this.isModified = true; + this.hV = hUnusedBits + hValue; + }; + + /** + * set ASN.1 DER BitString by binary string
+ * @name setByBinaryString + * @memberOf KJUR.asn1.DERBitString# + * @function + * @param {String} binaryString binary value string (i.e. '10111') + * @description + * Its unused bits will be calculated automatically by length of + * 'binaryValue'.
+ * NOTE: Trailing zeros '0' will be ignored. + * @example + * o = new KJUR.asn1.DERBitString(); + * o.setByBooleanArray("01011"); + */ + this.setByBinaryString = function (binaryString) { + binaryString = binaryString.replace(/0+$/, ''); + var unusedBits = 8 - binaryString.length % 8; + if (unusedBits == 8) unusedBits = 0; + for (var i = 0; i <= unusedBits; i++) { + binaryString += '0'; + } + var h = ''; + for (var i = 0; i < binaryString.length - 1; i += 8) { + var b = binaryString.substr(i, 8); + var x = parseInt(b, 2).toString(16); + if (x.length == 1) x = '0' + x; + h += x; + } + this.hTLV = null; + this.isModified = true; + this.hV = '0' + unusedBits + h; + }; + + /** + * set ASN.1 TLV value(V) by an array of boolean
+ * @name setByBooleanArray + * @memberOf KJUR.asn1.DERBitString# + * @function + * @param {array} booleanArray array of boolean (ex. [true, false, true]) + * @description + * NOTE: Trailing falses will be ignored in the ASN.1 DER Object. + * @example + * o = new KJUR.asn1.DERBitString(); + * o.setByBooleanArray([false, true, false, true, true]); + */ + this.setByBooleanArray = function (booleanArray) { + var s = ''; + for (var i = 0; i < booleanArray.length; i++) { + if (booleanArray[i] == true) { + s += '1'; + } else { + s += '0'; + } + } + this.setByBinaryString(s); + }; + + /** + * generate an array of falses with specified length
+ * @name newFalseArray + * @memberOf KJUR.asn1.DERBitString + * @function + * @param {Integer} nLength length of array to generate + * @return {array} array of boolean falses + * @description + * This static method may be useful to initialize boolean array. + * @example + * o = new KJUR.asn1.DERBitString(); + * o.newFalseArray(3) → [false, false, false] + */ + this.newFalseArray = function (nLength) { + var a = new Array(nLength); + for (var i = 0; i < nLength; i++) { + a[i] = false; + } + return a; + }; + + this.getFreshValueHex = function () { + return this.hV; + }; + + if (typeof params != "undefined") { + if (typeof params == "string" && params.toLowerCase().match(/^[0-9a-f]+$/)) { + this.setHexValueIncludingUnusedBits(params); + } else if (typeof params['hex'] != "undefined") { + this.setHexValueIncludingUnusedBits(params['hex']); + } else if (typeof params['bin'] != "undefined") { + this.setByBinaryString(params['bin']); + } else if (typeof params['array'] != "undefined") { + this.setByBooleanArray(params['array']); + } + } + }; + YAHOO.lang.extend(KJUR.asn1.DERBitString, KJUR.asn1.ASN1Object); + + // ******************************************************************** + /** + * class for ASN.1 DER OctetString
+ * @name KJUR.asn1.DEROctetString + * @class class for ASN.1 DER OctetString + * @param {Array} params associative array of parameters (ex. {'str': 'aaa'}) + * @extends KJUR.asn1.DERAbstractString + * @description + * This class provides ASN.1 OctetString simple type.
+ * Supported "params" attributes are: + *
    + *
  • str - to set a string as a value
  • + *
  • hex - to set a hexadecimal string as a value
  • + *
  • obj - to set a encapsulated ASN.1 value by JSON object + * which is defined in {@link KJUR.asn1.ASN1Util.newObject}
  • + *
+ * NOTE: A parameter 'obj' have been supported + * for "OCTET STRING, encapsulates" structure. + * since asn1 1.0.11, jsrsasign 6.1.1 (2016-Sep-25). + * @see KJUR.asn1.DERAbstractString - superclass + * @example + * // default constructor + * o = new KJUR.asn1.DEROctetString(); + * // initialize with string + * o = new KJUR.asn1.DEROctetString({str: "aaa"}); + * // initialize with hexadecimal string + * o = new KJUR.asn1.DEROctetString({hex: "616161"}); + * // initialize with ASN1Util.newObject argument + * o = new KJUR.asn1.DEROctetString({obj: {seq: [{int: 3}, {prnstr: 'aaa'}]}}); + * // above generates a ASN.1 data like this: + * // OCTET STRING, encapsulates { + * // SEQUENCE { + * // INTEGER 3 + * // PrintableString 'aaa' + * // } + * // } + */ + KJUR.asn1.DEROctetString = function (params) { + if (params !== undefined && typeof params.obj !== "undefined") { + var o = KJUR.asn1.ASN1Util.newObject(params.obj); + params.hex = o.getEncodedHex(); + } + KJUR.asn1.DEROctetString.superclass.constructor.call(this, params); + this.hT = "04"; + }; + YAHOO.lang.extend(KJUR.asn1.DEROctetString, KJUR.asn1.DERAbstractString); + + // ******************************************************************** + /** + * class for ASN.1 DER Null + * @name KJUR.asn1.DERNull + * @class class for ASN.1 DER Null + * @extends KJUR.asn1.ASN1Object + * @description + * @see KJUR.asn1.ASN1Object - superclass + */ + KJUR.asn1.DERNull = function () { + KJUR.asn1.DERNull.superclass.constructor.call(this); + this.hT = "05"; + this.hTLV = "0500"; + }; + YAHOO.lang.extend(KJUR.asn1.DERNull, KJUR.asn1.ASN1Object); + + // ******************************************************************** + /** + * class for ASN.1 DER ObjectIdentifier + * @name KJUR.asn1.DERObjectIdentifier + * @class class for ASN.1 DER ObjectIdentifier + * @param {Array} params associative array of parameters (ex. {'oid': '2.5.4.5'}) + * @extends KJUR.asn1.ASN1Object + * @description + *
+ * As for argument 'params' for constructor, you can specify one of + * following properties: + *
    + *
  • oid - specify initial ASN.1 value(V) by a oid string (ex. 2.5.4.13)
  • + *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • + *
+ * NOTE: 'params' can be omitted. + */ + KJUR.asn1.DERObjectIdentifier = function (params) { + var itox = function (i) { + var h = i.toString(16); + if (h.length == 1) h = '0' + h; + return h; + }; + var roidtox = function (roid) { + var h = ''; + var bi = new BigInteger(roid, 10); + var b = bi.toString(2); + var padLen = 7 - b.length % 7; + if (padLen == 7) padLen = 0; + var bPad = ''; + for (var i = 0; i < padLen; i++) bPad += '0'; + b = bPad + b; + for (var i = 0; i < b.length - 1; i += 7) { + var b8 = b.substr(i, 7); + if (i != b.length - 7) b8 = '1' + b8; + h += itox(parseInt(b8, 2)); + } + return h; + }; + + KJUR.asn1.DERObjectIdentifier.superclass.constructor.call(this); + this.hT = "06"; + + /** + * set value by a hexadecimal string + * @name setValueHex + * @memberOf KJUR.asn1.DERObjectIdentifier# + * @function + * @param {String} newHexString hexadecimal value of OID bytes + */ + this.setValueHex = function (newHexString) { + this.hTLV = null; + this.isModified = true; + this.s = null; + this.hV = newHexString; + }; + + /** + * set value by a OID string
+ * @name setValueOidString + * @memberOf KJUR.asn1.DERObjectIdentifier# + * @function + * @param {String} oidString OID string (ex. 2.5.4.13) + * @example + * o = new KJUR.asn1.DERObjectIdentifier(); + * o.setValueOidString("2.5.4.13"); + */ + this.setValueOidString = function (oidString) { + if (!oidString.match(/^[0-9.]+$/)) { + throw "malformed oid string: " + oidString; + } + var h = ''; + var a = oidString.split('.'); + var i0 = parseInt(a[0]) * 40 + parseInt(a[1]); + h += itox(i0); + a.splice(0, 2); + for (var i = 0; i < a.length; i++) { + h += roidtox(a[i]); + } + this.hTLV = null; + this.isModified = true; + this.s = null; + this.hV = h; + }; + + /** + * set value by a OID name + * @name setValueName + * @memberOf KJUR.asn1.DERObjectIdentifier# + * @function + * @param {String} oidName OID name (ex. 'serverAuth') + * @since 1.0.1 + * @description + * OID name shall be defined in 'KJUR.asn1.x509.OID.name2oidList'. + * Otherwise raise error. + * @example + * o = new KJUR.asn1.DERObjectIdentifier(); + * o.setValueName("serverAuth"); + */ + this.setValueName = function (oidName) { + var oid = KJUR.asn1.x509.OID.name2oid(oidName); + if (oid !== '') { + this.setValueOidString(oid); + } else { + throw "DERObjectIdentifier oidName undefined: " + oidName; + } + }; + + this.getFreshValueHex = function () { + return this.hV; + }; + + if (params !== undefined) { + if (typeof params === "string") { + if (params.match(/^[0-2].[0-9.]+$/)) { + this.setValueOidString(params); + } else { + this.setValueName(params); + } + } else if (params.oid !== undefined) { + this.setValueOidString(params.oid); + } else if (params.hex !== undefined) { + this.setValueHex(params.hex); + } else if (params.name !== undefined) { + this.setValueName(params.name); + } + } + }; + YAHOO.lang.extend(KJUR.asn1.DERObjectIdentifier, KJUR.asn1.ASN1Object); + + // ******************************************************************** + /** + * class for ASN.1 DER Enumerated + * @name KJUR.asn1.DEREnumerated + * @class class for ASN.1 DER Enumerated + * @extends KJUR.asn1.ASN1Object + * @description + *
+ * As for argument 'params' for constructor, you can specify one of + * following properties: + *
    + *
  • int - specify initial ASN.1 value(V) by integer value
  • + *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • + *
+ * NOTE: 'params' can be omitted. + * @example + * new KJUR.asn1.DEREnumerated(123); + * new KJUR.asn1.DEREnumerated({int: 123}); + * new KJUR.asn1.DEREnumerated({hex: '1fad'}); + */ + KJUR.asn1.DEREnumerated = function (params) { + KJUR.asn1.DEREnumerated.superclass.constructor.call(this); + this.hT = "0a"; + + /** + * set value by Tom Wu's BigInteger object + * @name setByBigInteger + * @memberOf KJUR.asn1.DEREnumerated# + * @function + * @param {BigInteger} bigIntegerValue to set + */ + this.setByBigInteger = function (bigIntegerValue) { + this.hTLV = null; + this.isModified = true; + this.hV = KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(bigIntegerValue); + }; + + /** + * set value by integer value + * @name setByInteger + * @memberOf KJUR.asn1.DEREnumerated# + * @function + * @param {Integer} integer value to set + */ + this.setByInteger = function (intValue) { + var bi = new BigInteger(String(intValue), 10); + this.setByBigInteger(bi); + }; + + /** + * set value by integer value + * @name setValueHex + * @memberOf KJUR.asn1.DEREnumerated# + * @function + * @param {String} hexadecimal string of integer value + * @description + *
+ * NOTE: Value shall be represented by minimum octet length of + * two's complement representation. + */ + this.setValueHex = function (newHexString) { + this.hV = newHexString; + }; + + this.getFreshValueHex = function () { + return this.hV; + }; + + if (typeof params != "undefined") { + if (typeof params['int'] != "undefined") { + this.setByInteger(params['int']); + } else if (typeof params == "number") { + this.setByInteger(params); + } else if (typeof params['hex'] != "undefined") { + this.setValueHex(params['hex']); + } + } + }; + YAHOO.lang.extend(KJUR.asn1.DEREnumerated, KJUR.asn1.ASN1Object); + + // ******************************************************************** + /** + * class for ASN.1 DER UTF8String + * @name KJUR.asn1.DERUTF8String + * @class class for ASN.1 DER UTF8String + * @param {Array} params associative array of parameters (ex. {'str': 'aaa'}) + * @extends KJUR.asn1.DERAbstractString + * @description + * @see KJUR.asn1.DERAbstractString - superclass + */ + KJUR.asn1.DERUTF8String = function (params) { + KJUR.asn1.DERUTF8String.superclass.constructor.call(this, params); + this.hT = "0c"; + }; + YAHOO.lang.extend(KJUR.asn1.DERUTF8String, KJUR.asn1.DERAbstractString); + + // ******************************************************************** + /** + * class for ASN.1 DER NumericString + * @name KJUR.asn1.DERNumericString + * @class class for ASN.1 DER NumericString + * @param {Array} params associative array of parameters (ex. {'str': 'aaa'}) + * @extends KJUR.asn1.DERAbstractString + * @description + * @see KJUR.asn1.DERAbstractString - superclass + */ + KJUR.asn1.DERNumericString = function (params) { + KJUR.asn1.DERNumericString.superclass.constructor.call(this, params); + this.hT = "12"; + }; + YAHOO.lang.extend(KJUR.asn1.DERNumericString, KJUR.asn1.DERAbstractString); + + // ******************************************************************** + /** + * class for ASN.1 DER PrintableString + * @name KJUR.asn1.DERPrintableString + * @class class for ASN.1 DER PrintableString + * @param {Array} params associative array of parameters (ex. {'str': 'aaa'}) + * @extends KJUR.asn1.DERAbstractString + * @description + * @see KJUR.asn1.DERAbstractString - superclass + */ + KJUR.asn1.DERPrintableString = function (params) { + KJUR.asn1.DERPrintableString.superclass.constructor.call(this, params); + this.hT = "13"; + }; + YAHOO.lang.extend(KJUR.asn1.DERPrintableString, KJUR.asn1.DERAbstractString); + + // ******************************************************************** + /** + * class for ASN.1 DER TeletexString + * @name KJUR.asn1.DERTeletexString + * @class class for ASN.1 DER TeletexString + * @param {Array} params associative array of parameters (ex. {'str': 'aaa'}) + * @extends KJUR.asn1.DERAbstractString + * @description + * @see KJUR.asn1.DERAbstractString - superclass + */ + KJUR.asn1.DERTeletexString = function (params) { + KJUR.asn1.DERTeletexString.superclass.constructor.call(this, params); + this.hT = "14"; + }; + YAHOO.lang.extend(KJUR.asn1.DERTeletexString, KJUR.asn1.DERAbstractString); + + // ******************************************************************** + /** + * class for ASN.1 DER IA5String + * @name KJUR.asn1.DERIA5String + * @class class for ASN.1 DER IA5String + * @param {Array} params associative array of parameters (ex. {'str': 'aaa'}) + * @extends KJUR.asn1.DERAbstractString + * @description + * @see KJUR.asn1.DERAbstractString - superclass + */ + KJUR.asn1.DERIA5String = function (params) { + KJUR.asn1.DERIA5String.superclass.constructor.call(this, params); + this.hT = "16"; + }; + YAHOO.lang.extend(KJUR.asn1.DERIA5String, KJUR.asn1.DERAbstractString); + + // ******************************************************************** + /** + * class for ASN.1 DER UTCTime + * @name KJUR.asn1.DERUTCTime + * @class class for ASN.1 DER UTCTime + * @param {Array} params associative array of parameters (ex. {'str': '130430235959Z'}) + * @extends KJUR.asn1.DERAbstractTime + * @description + *
+ * As for argument 'params' for constructor, you can specify one of + * following properties: + *
    + *
  • str - specify initial ASN.1 value(V) by a string (ex.'130430235959Z')
  • + *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • + *
  • date - specify Date object.
  • + *
+ * NOTE: 'params' can be omitted. + *

EXAMPLES

+ * @example + * d1 = new KJUR.asn1.DERUTCTime(); + * d1.setString('130430125959Z'); + * + * d2 = new KJUR.asn1.DERUTCTime({'str': '130430125959Z'}); + * d3 = new KJUR.asn1.DERUTCTime({'date': new Date(Date.UTC(2015, 0, 31, 0, 0, 0, 0))}); + * d4 = new KJUR.asn1.DERUTCTime('130430125959Z'); + */ + KJUR.asn1.DERUTCTime = function (params) { + KJUR.asn1.DERUTCTime.superclass.constructor.call(this, params); + this.hT = "17"; + + /** + * set value by a Date object
+ * @name setByDate + * @memberOf KJUR.asn1.DERUTCTime# + * @function + * @param {Date} dateObject Date object to set ASN.1 value(V) + * @example + * o = new KJUR.asn1.DERUTCTime(); + * o.setByDate(new Date("2016/12/31")); + */ + this.setByDate = function (dateObject) { + this.hTLV = null; + this.isModified = true; + this.date = dateObject; + this.s = this.formatDate(this.date, 'utc'); + this.hV = stohex(this.s); + }; + + this.getFreshValueHex = function () { + if (typeof this.date == "undefined" && typeof this.s == "undefined") { + this.date = new Date(); + this.s = this.formatDate(this.date, 'utc'); + this.hV = stohex(this.s); + } + return this.hV; + }; + + if (params !== undefined) { + if (params.str !== undefined) { + this.setString(params.str); + } else if (typeof params == "string" && params.match(/^[0-9]{12}Z$/)) { + this.setString(params); + } else if (params.hex !== undefined) { + this.setStringHex(params.hex); + } else if (params.date !== undefined) { + this.setByDate(params.date); + } + } + }; + YAHOO.lang.extend(KJUR.asn1.DERUTCTime, KJUR.asn1.DERAbstractTime); + + // ******************************************************************** + /** + * class for ASN.1 DER GeneralizedTime + * @name KJUR.asn1.DERGeneralizedTime + * @class class for ASN.1 DER GeneralizedTime + * @param {Array} params associative array of parameters (ex. {'str': '20130430235959Z'}) + * @property {Boolean} withMillis flag to show milliseconds or not + * @extends KJUR.asn1.DERAbstractTime + * @description + *
+ * As for argument 'params' for constructor, you can specify one of + * following properties: + *
    + *
  • str - specify initial ASN.1 value(V) by a string (ex.'20130430235959Z')
  • + *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • + *
  • date - specify Date object.
  • + *
  • millis - specify flag to show milliseconds (from 1.0.6)
  • + *
+ * NOTE1: 'params' can be omitted. + * NOTE2: 'withMillis' property is supported from asn1 1.0.6. + */ + KJUR.asn1.DERGeneralizedTime = function (params) { + KJUR.asn1.DERGeneralizedTime.superclass.constructor.call(this, params); + this.hT = "18"; + this.withMillis = false; + + /** + * set value by a Date object + * @name setByDate + * @memberOf KJUR.asn1.DERGeneralizedTime# + * @function + * @param {Date} dateObject Date object to set ASN.1 value(V) + * @example + * When you specify UTC time, use 'Date.UTC' method like this:
+ * o1 = new DERUTCTime(); + * o1.setByDate(date); + * + * date = new Date(Date.UTC(2015, 0, 31, 23, 59, 59, 0)); #2015JAN31 23:59:59 + */ + this.setByDate = function (dateObject) { + this.hTLV = null; + this.isModified = true; + this.date = dateObject; + this.s = this.formatDate(this.date, 'gen', this.withMillis); + this.hV = stohex(this.s); + }; + + this.getFreshValueHex = function () { + if (this.date === undefined && this.s === undefined) { + this.date = new Date(); + this.s = this.formatDate(this.date, 'gen', this.withMillis); + this.hV = stohex(this.s); + } + return this.hV; + }; + + if (params !== undefined) { + if (params.str !== undefined) { + this.setString(params.str); + } else if (typeof params == "string" && params.match(/^[0-9]{14}Z$/)) { + this.setString(params); + } else if (params.hex !== undefined) { + this.setStringHex(params.hex); + } else if (params.date !== undefined) { + this.setByDate(params.date); + } + if (params.millis === true) { + this.withMillis = true; + } + } + }; + YAHOO.lang.extend(KJUR.asn1.DERGeneralizedTime, KJUR.asn1.DERAbstractTime); + + // ******************************************************************** + /** + * class for ASN.1 DER Sequence + * @name KJUR.asn1.DERSequence + * @class class for ASN.1 DER Sequence + * @extends KJUR.asn1.DERAbstractStructured + * @description + *
+ * As for argument 'params' for constructor, you can specify one of + * following properties: + *
    + *
  • array - specify array of ASN1Object to set elements of content
  • + *
+ * NOTE: 'params' can be omitted. + */ + KJUR.asn1.DERSequence = function (params) { + KJUR.asn1.DERSequence.superclass.constructor.call(this, params); + this.hT = "30"; + this.getFreshValueHex = function () { + var h = ''; + for (var i = 0; i < this.asn1Array.length; i++) { + var asn1Obj = this.asn1Array[i]; + h += asn1Obj.getEncodedHex(); + } + this.hV = h; + return this.hV; + }; + }; + YAHOO.lang.extend(KJUR.asn1.DERSequence, KJUR.asn1.DERAbstractStructured); + + // ******************************************************************** + /** + * class for ASN.1 DER Set + * @name KJUR.asn1.DERSet + * @class class for ASN.1 DER Set + * @extends KJUR.asn1.DERAbstractStructured + * @description + *
+ * As for argument 'params' for constructor, you can specify one of + * following properties: + *
    + *
  • array - specify array of ASN1Object to set elements of content
  • + *
  • sortflag - flag for sort (default: true). ASN.1 BER is not sorted in 'SET OF'.
  • + *
+ * NOTE1: 'params' can be omitted.
+ * NOTE2: sortflag is supported since 1.0.5. + */ + KJUR.asn1.DERSet = function (params) { + KJUR.asn1.DERSet.superclass.constructor.call(this, params); + this.hT = "31"; + this.sortFlag = true; // item shall be sorted only in ASN.1 DER + this.getFreshValueHex = function () { + var a = new Array(); + for (var i = 0; i < this.asn1Array.length; i++) { + var asn1Obj = this.asn1Array[i]; + a.push(asn1Obj.getEncodedHex()); + } + if (this.sortFlag == true) a.sort(); + this.hV = a.join(''); + return this.hV; + }; + + if (typeof params != "undefined") { + if (typeof params.sortflag != "undefined" && + params.sortflag == false) + this.sortFlag = false; + } + }; + YAHOO.lang.extend(KJUR.asn1.DERSet, KJUR.asn1.DERAbstractStructured); + + // ******************************************************************** + /** + * class for ASN.1 DER TaggedObject + * @name KJUR.asn1.DERTaggedObject + * @class class for ASN.1 DER TaggedObject + * @extends KJUR.asn1.ASN1Object + * @description + *
+ * Parameter 'tagNoNex' is ASN.1 tag(T) value for this object. + * For example, if you find '[1]' tag in a ASN.1 dump, + * 'tagNoHex' will be 'a1'. + *
+ * As for optional argument 'params' for constructor, you can specify *ANY* of + * following properties: + *
    + *
  • explicit - specify true if this is explicit tag otherwise false + * (default is 'true').
  • + *
  • tag - specify tag (default is 'a0' which means [0])
  • + *
  • obj - specify ASN1Object which is tagged
  • + *
+ * @example + * d1 = new KJUR.asn1.DERUTF8String({'str':'a'}); + * d2 = new KJUR.asn1.DERTaggedObject({'obj': d1}); + * hex = d2.getEncodedHex(); + */ + KJUR.asn1.DERTaggedObject = function (params) { + KJUR.asn1.DERTaggedObject.superclass.constructor.call(this); + this.hT = "a0"; + this.hV = ''; + this.isExplicit = true; + this.asn1Object = null; + + /** + * set value by an ASN1Object + * @name setString + * @memberOf KJUR.asn1.DERTaggedObject# + * @function + * @param {Boolean} isExplicitFlag flag for explicit/implicit tag + * @param {Integer} tagNoHex hexadecimal string of ASN.1 tag + * @param {ASN1Object} asn1Object ASN.1 to encapsulate + */ + this.setASN1Object = function (isExplicitFlag, tagNoHex, asn1Object) { + this.hT = tagNoHex; + this.isExplicit = isExplicitFlag; + this.asn1Object = asn1Object; + if (this.isExplicit) { + this.hV = this.asn1Object.getEncodedHex(); + this.hTLV = null; + this.isModified = true; + } else { + this.hV = null; + this.hTLV = asn1Object.getEncodedHex(); + this.hTLV = this.hTLV.replace(/^../, tagNoHex); + this.isModified = false; + } + }; + + this.getFreshValueHex = function () { + return this.hV; + }; + + if (typeof params != "undefined") { + if (typeof params['tag'] != "undefined") { + this.hT = params['tag']; + } + if (typeof params['explicit'] != "undefined") { + this.isExplicit = params['explicit']; + } + if (typeof params['obj'] != "undefined") { + this.asn1Object = params['obj']; + this.setASN1Object(this.isExplicit, this.hT, this.asn1Object); + } + } + }; + YAHOO.lang.extend(KJUR.asn1.DERTaggedObject, KJUR.asn1.ASN1Object); + + /** + * Create a new JSEncryptRSAKey that extends Tom Wu's RSA key object. + * This object is just a decorator for parsing the key parameter + * @param {string|Object} key - The key in string format, or an object containing + * the parameters needed to build a RSAKey object. + * @constructor + */ + var JSEncryptRSAKey = /** @class */ (function (_super) { + __extends(JSEncryptRSAKey, _super); + function JSEncryptRSAKey (key) { + var _this = _super.call(this) || this; + // Call the super constructor. + // RSAKey.call(this); + // If a key key was provided. + if (key) { + // If this is a string... + if (typeof key === "string") { + _this.parseKey(key); + } + else if (JSEncryptRSAKey.hasPrivateKeyProperty(key) || + JSEncryptRSAKey.hasPublicKeyProperty(key)) { + // Set the values for the key. + _this.parsePropertiesFrom(key); + } + } + return _this; + } + /** + * Method to parse a pem encoded string containing both a public or private key. + * The method will translate the pem encoded string in a der encoded string and + * will parse private key and public key parameters. This method accepts public key + * in the rsaencryption pkcs #1 format (oid: 1.2.840.113549.1.1.1). + * + * @todo Check how many rsa formats use the same format of pkcs #1. + * + * The format is defined as: + * PublicKeyInfo ::= SEQUENCE { + * algorithm AlgorithmIdentifier, + * PublicKey BIT STRING + * } + * Where AlgorithmIdentifier is: + * AlgorithmIdentifier ::= SEQUENCE { + * algorithm OBJECT IDENTIFIER, the OID of the enc algorithm + * parameters ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1) + * } + * and PublicKey is a SEQUENCE encapsulated in a BIT STRING + * RSAPublicKey ::= SEQUENCE { + * modulus INTEGER, -- n + * publicExponent INTEGER -- e + * } + * it's possible to examine the structure of the keys obtained from openssl using + * an asn.1 dumper as the one used here to parse the components: http://lapo.it/asn1js/ + * @argument {string} pem the pem encoded string, can include the BEGIN/END header/footer + * @private + */ + JSEncryptRSAKey.prototype.parseKey = function (pem) { + try { + var modulus = 0; + var public_exponent = 0; + var reHex = /^\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\s*)+$/; + var der = reHex.test(pem) ? Hex.decode(pem) : Base64.unarmor(pem); + var asn1 = ASN1.decode(der); + // Fixes a bug with OpenSSL 1.0+ private keys + if (asn1.sub.length === 3) { + asn1 = asn1.sub[2].sub[0]; + } + if (asn1.sub.length === 9) { + // Parse the private key. + modulus = asn1.sub[1].getHexStringValue(); // bigint + this.n = parseBigInt(modulus, 16); + public_exponent = asn1.sub[2].getHexStringValue(); // int + this.e = parseInt(public_exponent, 16); + var private_exponent = asn1.sub[3].getHexStringValue(); // bigint + this.d = parseBigInt(private_exponent, 16); + var prime1 = asn1.sub[4].getHexStringValue(); // bigint + this.p = parseBigInt(prime1, 16); + var prime2 = asn1.sub[5].getHexStringValue(); // bigint + this.q = parseBigInt(prime2, 16); + var exponent1 = asn1.sub[6].getHexStringValue(); // bigint + this.dmp1 = parseBigInt(exponent1, 16); + var exponent2 = asn1.sub[7].getHexStringValue(); // bigint + this.dmq1 = parseBigInt(exponent2, 16); + var coefficient = asn1.sub[8].getHexStringValue(); // bigint + this.coeff = parseBigInt(coefficient, 16); + } + else if (asn1.sub.length === 2) { + // Parse the public key. + var bit_string = asn1.sub[1]; + var sequence = bit_string.sub[0]; + modulus = sequence.sub[0].getHexStringValue(); + this.n = parseBigInt(modulus, 16); + public_exponent = sequence.sub[1].getHexStringValue(); + this.e = parseInt(public_exponent, 16); + } + else { + return false; + } + return true; + } + catch (ex) { + return false; + } + }; + /** + * Translate rsa parameters in a hex encoded string representing the rsa key. + * + * The translation follow the ASN.1 notation : + * RSAPrivateKey ::= SEQUENCE { + * version Version, + * modulus INTEGER, -- n + * publicExponent INTEGER, -- e + * privateExponent INTEGER, -- d + * prime1 INTEGER, -- p + * prime2 INTEGER, -- q + * exponent1 INTEGER, -- d mod (p1) + * exponent2 INTEGER, -- d mod (q-1) + * coefficient INTEGER, -- (inverse of q) mod p + * } + * @returns {string} DER Encoded String representing the rsa private key + * @private + */ + JSEncryptRSAKey.prototype.getPrivateBaseKey = function () { + var options = { + array: [ + new KJUR.asn1.DERInteger({ int: 0 }), + new KJUR.asn1.DERInteger({ bigint: this.n }), + new KJUR.asn1.DERInteger({ int: this.e }), + new KJUR.asn1.DERInteger({ bigint: this.d }), + new KJUR.asn1.DERInteger({ bigint: this.p }), + new KJUR.asn1.DERInteger({ bigint: this.q }), + new KJUR.asn1.DERInteger({ bigint: this.dmp1 }), + new KJUR.asn1.DERInteger({ bigint: this.dmq1 }), + new KJUR.asn1.DERInteger({ bigint: this.coeff }) + ] + }; + var seq = new KJUR.asn1.DERSequence(options); + return seq.getEncodedHex(); + }; + /** + * base64 (pem) encoded version of the DER encoded representation + * @returns {string} pem encoded representation without header and footer + * @public + */ + JSEncryptRSAKey.prototype.getPrivateBaseKeyB64 = function () { + return hex2b64(this.getPrivateBaseKey()); + }; + /** + * Translate rsa parameters in a hex encoded string representing the rsa public key. + * The representation follow the ASN.1 notation : + * PublicKeyInfo ::= SEQUENCE { + * algorithm AlgorithmIdentifier, + * PublicKey BIT STRING + * } + * Where AlgorithmIdentifier is: + * AlgorithmIdentifier ::= SEQUENCE { + * algorithm OBJECT IDENTIFIER, the OID of the enc algorithm + * parameters ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1) + * } + * and PublicKey is a SEQUENCE encapsulated in a BIT STRING + * RSAPublicKey ::= SEQUENCE { + * modulus INTEGER, -- n + * publicExponent INTEGER -- e + * } + * @returns {string} DER Encoded String representing the rsa public key + * @private + */ + JSEncryptRSAKey.prototype.getPublicBaseKey = function () { + var first_sequence = new KJUR.asn1.DERSequence({ + array: [ + new KJUR.asn1.DERObjectIdentifier({ oid: "1.2.840.113549.1.1.1" }), + new KJUR.asn1.DERNull() + ] + }); + var second_sequence = new KJUR.asn1.DERSequence({ + array: [ + new KJUR.asn1.DERInteger({ bigint: this.n }), + new KJUR.asn1.DERInteger({ int: this.e }) + ] + }); + var bit_string = new KJUR.asn1.DERBitString({ + hex: "00" + second_sequence.getEncodedHex() + }); + var seq = new KJUR.asn1.DERSequence({ + array: [ + first_sequence, + bit_string + ] + }); + return seq.getEncodedHex(); + }; + /** + * base64 (pem) encoded version of the DER encoded representation + * @returns {string} pem encoded representation without header and footer + * @public + */ + JSEncryptRSAKey.prototype.getPublicBaseKeyB64 = function () { + return hex2b64(this.getPublicBaseKey()); + }; + /** + * wrap the string in block of width chars. The default value for rsa keys is 64 + * characters. + * @param {string} str the pem encoded string without header and footer + * @param {Number} [width=64] - the length the string has to be wrapped at + * @returns {string} + * @private + */ + JSEncryptRSAKey.wordwrap = function (str, width) { + width = width || 64; + if (!str) { + return str; + } + var regex = "(.{1," + width + "})( +|$\n?)|(.{1," + width + "})"; + return str.match(RegExp(regex, "g")).join("\n"); + }; + /** + * Retrieve the pem encoded private key + * @returns {string} the pem encoded private key with header/footer + * @public + */ + JSEncryptRSAKey.prototype.getPrivateKey = function () { + var key = "-----BEGIN RSA PRIVATE KEY-----\n"; + key += JSEncryptRSAKey.wordwrap(this.getPrivateBaseKeyB64()) + "\n"; + key += "-----END RSA PRIVATE KEY-----"; + return key; + }; + /** + * Retrieve the pem encoded public key + * @returns {string} the pem encoded public key with header/footer + * @public + */ + JSEncryptRSAKey.prototype.getPublicKey = function () { + var key = "-----BEGIN PUBLIC KEY-----\n"; + key += JSEncryptRSAKey.wordwrap(this.getPublicBaseKeyB64()) + "\n"; + key += "-----END PUBLIC KEY-----"; + return key; + }; + /** + * Check if the object contains the necessary parameters to populate the rsa modulus + * and public exponent parameters. + * @param {Object} [obj={}] - An object that may contain the two public key + * parameters + * @returns {boolean} true if the object contains both the modulus and the public exponent + * properties (n and e) + * @todo check for types of n and e. N should be a parseable bigInt object, E should + * be a parseable integer number + * @private + */ + JSEncryptRSAKey.hasPublicKeyProperty = function (obj) { + obj = obj || {}; + return (obj.hasOwnProperty("n") && + obj.hasOwnProperty("e")); + }; + /** + * Check if the object contains ALL the parameters of an RSA key. + * @param {Object} [obj={}] - An object that may contain nine rsa key + * parameters + * @returns {boolean} true if the object contains all the parameters needed + * @todo check for types of the parameters all the parameters but the public exponent + * should be parseable bigint objects, the public exponent should be a parseable integer number + * @private + */ + JSEncryptRSAKey.hasPrivateKeyProperty = function (obj) { + obj = obj || {}; + return (obj.hasOwnProperty("n") && + obj.hasOwnProperty("e") && + obj.hasOwnProperty("d") && + obj.hasOwnProperty("p") && + obj.hasOwnProperty("q") && + obj.hasOwnProperty("dmp1") && + obj.hasOwnProperty("dmq1") && + obj.hasOwnProperty("coeff")); + }; + /** + * Parse the properties of obj in the current rsa object. Obj should AT LEAST + * include the modulus and public exponent (n, e) parameters. + * @param {Object} obj - the object containing rsa parameters + * @private + */ + JSEncryptRSAKey.prototype.parsePropertiesFrom = function (obj) { + this.n = obj.n; + this.e = obj.e; + if (obj.hasOwnProperty("d")) { + this.d = obj.d; + this.p = obj.p; + this.q = obj.q; + this.dmp1 = obj.dmp1; + this.dmq1 = obj.dmq1; + this.coeff = obj.coeff; + } + }; + return JSEncryptRSAKey; + }(RSAKey)); + + /** + * + * @param {Object} [options = {}] - An object to customize JSEncrypt behaviour + * possible parameters are: + * - default_key_size {number} default: 1024 the key size in bit + * - default_public_exponent {string} default: '010001' the hexadecimal representation of the public exponent + * - log {boolean} default: false whether log warn/error or not + * @constructor + */ + var JSEncrypt = /** @class */ (function () { + function JSEncrypt (options) { + options = options || {}; + this.default_key_size = parseInt(options.default_key_size, 10) || 1024; + this.default_public_exponent = options.default_public_exponent || "010001"; // 65537 default openssl public exponent for rsa key type + this.log = options.log || false; + // The private and public key. + this.key = null; + } + /** + * Method to set the rsa key parameter (one method is enough to set both the public + * and the private key, since the private key contains the public key paramenters) + * Log a warning if logs are enabled + * @param {Object|string} key the pem encoded string or an object (with or without header/footer) + * @public + */ + JSEncrypt.prototype.setKey = function (key) { + if (this.log && this.key) { + console.warn("A key was already set, overriding existing."); + } + this.key = new JSEncryptRSAKey(key); + }; + /** + * Proxy method for setKey, for api compatibility + * @see setKey + * @public + */ + JSEncrypt.prototype.setPrivateKey = function (privkey) { + // Create the key. + this.setKey(privkey); + }; + /** + * Proxy method for setKey, for api compatibility + * @see setKey + * @public + */ + JSEncrypt.prototype.setPublicKey = function (pubkey) { + // Sets the public key. + this.setKey(pubkey); + }; + /** + * Proxy method for RSAKey object's decrypt, decrypt the string using the private + * components of the rsa key object. Note that if the object was not set will be created + * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor + * @param {string} str base64 encoded crypted string to decrypt + * @return {string} the decrypted string + * @public + */ + JSEncrypt.prototype.decrypt = function (str) { + // Return the decrypted string. + try { + return this.getKey().decrypt(b64tohex(str)); + } + catch (ex) { + return false; + } + }; + /** + * Proxy method for RSAKey object's encrypt, encrypt the string using the public + * components of the rsa key object. Note that if the object was not set will be created + * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor + * @param {string} str the string to encrypt + * @return {string} the encrypted string encoded in base64 + * @public + */ + JSEncrypt.prototype.encrypt = function (str) { + // Return the encrypted string. + try { + return hex2b64(this.getKey().encrypt(str)); + } + catch (ex) { + return false; + } + }; + /** + * Proxy method for RSAKey object's sign. + * @param {string} str the string to sign + * @param {function} digestMethod hash method + * @param {string} digestName the name of the hash algorithm + * @return {string} the signature encoded in base64 + * @public + */ + JSEncrypt.prototype.sign = function (str, digestMethod, digestName) { + // return the RSA signature of 'str' in 'hex' format. + try { + return hex2b64(this.getKey().sign(str, digestMethod, digestName)); + } + catch (ex) { + return false; + } + }; + /** + * Proxy method for RSAKey object's verify. + * @param {string} str the string to verify + * @param {string} signature the signature encoded in base64 to compare the string to + * @param {function} digestMethod hash method + * @return {boolean} whether the data and signature match + * @public + */ + JSEncrypt.prototype.verify = function (str, signature, digestMethod) { + // Return the decrypted 'digest' of the signature. + try { + return this.getKey().verify(str, b64tohex(signature), digestMethod); + } + catch (ex) { + return false; + } + }; + /** + * Getter for the current JSEncryptRSAKey object. If it doesn't exists a new object + * will be created and returned + * @param {callback} [cb] the callback to be called if we want the key to be generated + * in an async fashion + * @returns {JSEncryptRSAKey} the JSEncryptRSAKey object + * @public + */ + JSEncrypt.prototype.getKey = function (cb) { + // Only create new if it does not exist. + if (!this.key) { + // Get a new private key. + this.key = new JSEncryptRSAKey(); + if (cb && {}.toString.call(cb) === "[object Function]") { + this.key.generateAsync(this.default_key_size, this.default_public_exponent, cb); + return; + } + // Generate the key. + this.key.generate(this.default_key_size, this.default_public_exponent); + } + return this.key; + }; + /** + * Returns the pem encoded representation of the private key + * If the key doesn't exists a new key will be created + * @returns {string} pem encoded representation of the private key WITH header and footer + * @public + */ + JSEncrypt.prototype.getPrivateKey = function () { + // Return the private representation of this key. + return this.getKey().getPrivateKey(); + }; + /** + * Returns the pem encoded representation of the private key + * If the key doesn't exists a new key will be created + * @returns {string} pem encoded representation of the private key WITHOUT header and footer + * @public + */ + JSEncrypt.prototype.getPrivateKeyB64 = function () { + // Return the private representation of this key. + return this.getKey().getPrivateBaseKeyB64(); + }; + /** + * Returns the pem encoded representation of the public key + * If the key doesn't exists a new key will be created + * @returns {string} pem encoded representation of the public key WITH header and footer + * @public + */ + JSEncrypt.prototype.getPublicKey = function () { + // Return the private representation of this key. + return this.getKey().getPublicKey(); + }; + /** + * Returns the pem encoded representation of the public key + * If the key doesn't exists a new key will be created + * @returns {string} pem encoded representation of the public key WITHOUT header and footer + * @public + */ + JSEncrypt.prototype.getPublicKeyB64 = function () { + // Return the private representation of this key. + return this.getKey().getPublicBaseKeyB64(); + }; + JSEncrypt.version = "3.0.0-rc.1"; + return JSEncrypt; + }()); + + window.JSEncrypt = JSEncrypt; + exports.JSEncrypt = JSEncrypt; + exports.default = JSEncrypt; + Object.defineProperty(exports, '__esModule', { value: true }); + +}))); \ No newline at end of file diff --git a/src/api/index.ts b/src/api/index.ts new file mode 100644 index 0000000..0cce3ec --- /dev/null +++ b/src/api/index.ts @@ -0,0 +1,674 @@ +import Http from '@/util/axios' +import {decrypt} from './data-analysis' +import md5 from 'md5'; + +const prefix = '/zero2/myships' +const icdPrefix = 'https://sinoagent.i.sinotrans.com' // 生产 +// const icdPrefix = 'http://sinoicd.i.sinotrans.com' // 测试 +class Api { + + public getInfoByDestPort(data: any) { + return Http.post(prefix + '/sp/ports/getDestPort', data).then((res: any) => { + const DesKey = res.headers.deskey + const data = decrypt(res.data, DesKey) + if (data.code === '0') { + return data.data + } + }) + } + + /** + * 查询单日新增靠泊船舶列表 + */ + public getBerthsOfNumber(data: any) { + return Http.post(prefix + '/exapi/berth/berth/vessel', data).then((res: any) => { + const DesKey = res.headers.deskey + const data = decrypt(res.data, DesKey) + if (data.code === '0') { + return data.data + } + }) + } + + /** + * 查询单日港外待靠泊数量及时长 + */ + public getMoorsOfNumber(data: any) { + return Http.post(prefix + '/exapi/berth/wait/num', data).then((res: any) => { + const DesKey = res.headers.deskey + const data = decrypt(res.data, DesKey) + if (data.code === '0') { + return data.data + } + }) + } + + /** + * 4.2查询单日新增离泊数量及靠泊时长 + * @param data + */ + public getLeaveBerth(data: any) { + return Http.post(prefix + '/exapi/berth/unberth/num', data).then((res: any) => { + const DesKey = res.headers.deskey + const data = decrypt(res.data, DesKey) + if (data.code === '0') { + return data.data + } + }) + } + + /** + * 获取船舶事件 + * @param data + */ + public getShipEvent(data: any) { + return Http.post(prefix + '/sp/ships/ihs/event', data).then((res: any) => { + const DesKey = res.headers.deskey + const data = decrypt(res.data, DesKey) + if (data.code === '0') { + return data.data + } + }) + } + + /** + * 集装箱查询接口 + * @param data + */ + public getContainersScreening(data: any) { + return Http.post(prefix + '/exapi/movements/containersScreening', data).then((res: any) => { + const DesKey = res.headers.deskey + const data = decrypt(res.data, DesKey) + if (data.code === '0') { + return data.data + } + }) + } + + /** + * 提单号查询接口 + * @param data + */ + public getContainersBillOfLadingScreening(data: any) { + return Http.post(prefix + '/exapi/movements/billofLadingScreening', data).then((res: any) => { + const DesKey = res.headers.deskey + const data = decrypt(res.data, DesKey) + if (data.code === '0') { + return data.data + } + }) + } + + /** + * 获取内贸船舶信息 + * @param data + */ + public getInnerShipData(data: string) { + return Http.post(prefix + '/sp/ships/cert/mmsi', {mmsi: data}).then((res: any) => { + const DesKey = res.headers.deskey + const data = decrypt(res.data, DesKey) + if (data.code === '0') { + return data.data + } + }) + } + + /** + * 查询具体船舶静态详情 + * @param data 参数 + */ + public async getShipMessage(data: any) { + return await Http.post(prefix + '/sp/ships/posAndAissta', data).then((res: any) => { + const DesKey = res.headers.deskey + const data = decrypt(res.data, DesKey) + if (data.code === '0') { + return data.data + } + }) + } + + /** + * 模糊搜索 AIS 船舶库 + * @param data 参数 + */ + public async searchBoathouse(data: any) { + let shipData: any[] = [] + + await Http.post(prefix + '/sp/search/shipAisWithTime', data).then((res: any) => { + const data = this.decryptUtil(res) + if (data.code) { + shipData = data.data + this.searchDictionary('2').then((res: any) => { + if (res) { + shipData.forEach((item2: any) => { + for (let i = 0, j = res.length; i < j; i++) { + if (item2.aisShiptypeId + '' === res[i].id + '') { + item2.type = res[i].valueChs + } + if (!item2.type) { + item2.type = '其他类型' + } + } + }) + } + }) + } + }) + return shipData + } + + /** + * 模糊查询港口 + * @param keyword + */ + public searchPortKeyWord(keyword: any) { + return Http.post(prefix + '/sp/search/ports', {keyword: keyword}) + } + + /** + * 到港查询 + * @param data + */ + public getArrivePortQuery(data: any) { + return Http.post(prefix + '/sp/ports/arrivalStatistics', data).then((res: any) => { + const DesKey = res.headers.deskey + const data = decrypt(res.data, DesKey) + if (data.code === '0') { + return data.data + } + }).catch((err) => { + return err + }) + } + + /** + * 离港查询 + * @param data + */ + public getLeavePortQuery(data: any) { + return Http.post(prefix + '/sp/ports/departureStatistics', data).then((res: any) => { + const DesKey = res.headers.deskey + const data = decrypt(res.data, DesKey) + if (data.code === '0') { + return data.data + } + }).catch((err) => { + return err + }) + } + + /** + * 预计到港查询 + * @param data + */ + public getYjPortQuery(data: any) { + return Http.post(prefix + '/sp/ports/expectedArrivalStatistics', data).then((res: any) => { + const DesKey = res.headers.deskey + const data = decrypt(res.data, DesKey) + if (data.code === '0') { + return data.data + } + }).catch((err) => { + return err + }) + } + + public getPortList(data: any) { + data.portLevelId = '1' + return Http.post(prefix + '/sp/ports/search', data).then((res: any) => { + const DesKey = res.headers.deskey + const data = decrypt(res.data, DesKey) + if (data.code === '0') { + return data.data + } + }) + } + + public getPortWeather(data: any) { + return Http.post(prefix + '/exapi/weather/singleMomentData', data).then((res: any) => { + const DesKey = res.headers.deskey + const data = decrypt(res.data, DesKey) + if (data.code === '0') { + return data.data + } + }) + } + + public getWeather(data: any) { + return Http.post(prefix + '/exapi/weather/singleMomentData', data).then((res: any) => { + const DesKey = res.headers.deskey + const data = decrypt(res.data, DesKey) + if (data.code === '0') { + return data.data + } + }) + } + + /** + * 获取字典 + * type + * 1: // 获取船舶国籍字典 + * 2: // 获取船舶类型字典 + * 3: // 获取航行状态字典 + */ + public searchDictionary(type: string) { + const param: { name: string } = {name: ''} + if (type === '1') { + param.name = 'ais_nationality_id' + } else if (type === '2') { + param.name = 'ais_ship_type_id' + } else if (type === '3') { + param.name = 'ais_nav_status_id' + } + return Http.post(prefix + '/sp/dict', param).then((res: any) => { + const data = this.decryptUtil(res) + if (data.code === '0') { + return data.data + } + }) + } + + /** + * 查询船舶历史轨迹 + * @param data + */ + public getHistoryTrack(data: any) { + return Http.post(prefix + '/sp/ships/position/history', data).then((res: any) => { + const data = this.decryptUtil(res) + if (data.code === '0') { + return data.data + } + }) + } + + public getShipHistoryInterval(data: any) { + return Http.post(prefix + '/sp/ships/position/history/intervalHour', data).then((res: any) => { + const data = this.decryptUtil(res) + if (data.code === '0') { + return data.data + } + }) + } + + /** + * 获取最新的提醒新信息 + * @param data + */ + public getLastRemindInfo(data: any) { + return Http.post(prefix + '/ms/event/getAllEventByTime', data).then((res: any) => { + const data = this.decryptUtil(res) + return data + }) + } + + /** + * 获取船舶港口历史 + * @param data + */ + public getShipPort(data: any) { + return Http.post(prefix + '/sp/ships/port/history', data).then((res: any) => { + const data = this.decryptUtil(res) + if (data.code === '0') { + return data.data + } + }) + } + + public getShipCnName(data: any) { + return Http.post(prefix + '/sp/ships/getCnNameByMMSI', data).then((res: any) => { + const data = this.decryptUtil(res) + if (data.code === '0') { + return data.data + } + }) + } + + public getDestPort(data: any) { + return Http.post(prefix + '/sp/ports/getDestPort', data).then((res: any) => { + const data = this.decryptUtil(res) + if (data.code === '0') { + return data.data + } + }) + } + + /** + * 获取数据分析图片地址 + * @param data + * @private + */ + public getDataAnalysisImg(data: any) { + return Http.post(prefix + '/uc/public/getMotImg', data).then((res: any) => { + const data = this.decryptUtil(res) + if (data.code === '0') { + return data.data.url + } + }) + } + + /** + * 获取最新的提醒消息 + * @param data + */ + public getMessageLast(data: any) { + return Http.post(prefix + '/ms/event/getLatestAreaEvent', data).then((res: any) => { + const data = this.decryptUtil(res) + if (data.code === '0') { + return data.data + } + }) + } + + /** + * 获取船舶挂靠港记录 + * @param data + */ + public getPortReport(data: any) { + return Http.post(prefix + '/sp/auth/ships/port/v2/history_api', data).then((res: any) => { + const data = this.decryptUtil(res) + if (data.code === '0') { + return data.data + } + }) + } + + /** + * 获取用户区域列表菜单 + * @param data + */ + public getAreaMenuList(data: any) { + return Http.post(prefix + '/ms/label/getAreaGroup', data).then((res: any) => { + const data = this.decryptUtil(res) + if (data.code === '0') { + return data.data + } + }) + } + + /** + * 查询区域范围内的船舶数据 + */ + public getAreaData(data: any) { + return Http.post(prefix + '/sp/auth/region/latest/dataAalysis', data).then((res: any) => { + const data = this.decryptUtil(res) + if (data.code === '0') { + return data.data + } + }) + } + + /** + * 获取船队数据 + */ + public async getShipRanks(data: any) { + return await Http.post(prefix + '/ms/business/getFollowShip', data).then((res: any) => { + const data = this.decryptUtil(res) + if (data.code === '0') { + return data.data + } + }) + } + + private decryptUtil(data: any) { + const DesKey = data.headers['deskey'] + return decrypt(data.data, DesKey) + } + + /** + * 模糊查询港口信息 + * @param keyword + */ + public getPort(keyword: string) { + return Http.post(prefix + '/sp/search/ports', {keyword: keyword}).then((res: any) => { + const data = this.decryptUtil(res) + if (data.code === '0') { + return data.data + } + }) + } + + /** + * 通过港口id获取港口的信息 + * @param data + */ + public getPortInfo(data: any) { + return Http.post(prefix + '/sp/ports/ihs/port', {portId: data}).then((res: any) => { + const result = this.decryptUtil(res) + if (result.code === '0') { + return result.data + } + }) + } + + public getShipRouteSearch(data: any) { + return Http.post(prefix + '/exapi/shipRoute/search', data).then((res: any) => { + const result = this.decryptUtil(res) + if (result.code === '0') { + return result + } + }) + } + + public getFollowFlag(data: any) { + return Http.post(prefix + '/ms/shipRoute/getFollowFlag', data) + } + + public getPortRouteList() { + return Http.post(prefix + '/ms/shipRoute/getFollow', 'POST', {}) + } + + public getRouteInfo(data: any) { + return Http.post(prefix + '/ms/shipRoute/get', data) + } + + public getStatusTrack(data: any) { + return Http.post(prefix + '/exapi/shipRoute/statusTrack', data).then((res: any) => { + const result = this.decryptUtil(res) + if (result.code === '0') { + return result + } + }) + } + + public getShipDoc(data: any) { + return Http.post(prefix + '/sp/ihs/v2/shipArchive', data).then((res: any) => { + const result = this.decryptUtil(res) + if (result.code === '0') { + return result.data + } + }) + } + + public testToken(appToken: string) { + return Http.get(icdPrefix + '/isa/sysClient/checkToken?appToken=' + appToken).then((res: any) => { + return res.data + }) + } + + public getShipFleet(token: string, companyId: string) { + return Http.get(icdPrefix + '/isa/sysClientFleet/getShipsMmsi?companyId=' + companyId, { + headers: { + Authorization: token + } + }).then((res: any) => { + return res.data + }) + } + + public getShipIdByMmmsi(mmsi: string) { + return Http.post(prefix + '/sp/ships/getShipIdByMMSI', {mmsiList: mmsi}).then((res: any) => { + const result = this.decryptUtil(res) + if (result.code === '0') { + return result + } + }) + } + + /** + * 根据mmsi查询船舶静态信息 + * @param mmsi + */ + public getShipBymmsi(mmsi: string) { + return Http.post(prefix + '/sp/auth/ships/getAisStaticLatest', {mmsiList: mmsi}).then((res: any) => { + const result = this.decryptUtil(res) + if (result.code === '0') { + return result + } + }) + } + + /** + * 预测船舶目的港及剩余里程和时长 + */ + public getPredictTime(data: any) { + return Http.post(prefix + '/exapi/shipRoute/predict', data).then((res: any) => { + const result = this.decryptUtil(res) + if (result.code === '0') { + return result + } + }) + } + + /** + * 获取台风列表 + */ + public getTyphoonList() { + return Http.post(prefix + '/weather/typhoonList', {daysnumber: -1}).then((res: any) => { + const result = this.decryptUtil(res) + if (result.code === '0') { + return result + } + }) + } + + /** + * 获取台风详情 + */ + public getTyphoonInfo(id: string) { + return Http.post(prefix + '/weather/typhoonData', {id: id}).then((res: any) => { + const result = this.decryptUtil(res) + if (result.code === '0') { + return result + } + }) + } + + /** + * 根据节点查询航线路由 + */ + public getRouteByNodes(data: any) { + return Http.post(prefix + '/exapi/shipRoute/routingNodes', data).then((res: any) => { + const result = this.decryptUtil(res) + if (result.code === '0') { + return result + } + }) + } + + /** + * 通告预警地区和分类标签下通告预警条数(用于柱状图) + */ + public getIncidentCount() { + const id = 'al00009' + const key = '99bd0e09e068a19600fb4ef1e1890200' + const time = parseInt(new Date().getTime() / 1000 + '') + return Http.post('https://talk.anlantech.cn/standard/incident/count', {}, { + headers: { + 'anlan-version': 'v2', + 'anlan-appid': id, + 'anlan-timestamp': time, + 'anlan-token': md5('' + id + time + key) + } + }).then((res) => { + return res.data + }) + } + + /** + * 通告预警地区和分类标签下通告预警条数(用于柱状图) + */ + public getIncidentInfo(param?: any) { + const id = 'al00009' + const key = '99bd0e09e068a19600fb4ef1e1890200' + const time = parseInt(new Date().getTime() / 1000 + '') + let typeIds = param && param.typeIds ? param.typeIds : ''; + let org = param && param.org ? param.org : ''; + let begin = param && param.begin ? param.begin : ''; + let end = param && param.end ? param.end : ''; + let page = param && param.page ? param.page : ''; + let size = param && param.size ? param.size : ''; + return Http.get('https://talk.anlantech.cn/standard/incidentInfo?' + `typeIds=${typeIds}&org=${org}&begin=${begin}&end=${end}&page=${page}&size=${size}`, { + headers: { + 'anlan-version': 'v2', + 'anlan-appid': id, + 'anlan-timestamp': time, + 'anlan-token': md5('' + id + time + key) + } + }).then((res) => { + return res.data + }) + } + + /** + * 分类标签地址 + */ + public getIncidentTypeTags() { + const id = 'al00009' + const key = '99bd0e09e068a19600fb4ef1e1890200' + const time = parseInt(new Date().getTime() / 1000 + '') + return Http.get('https://talk.anlantech.cn/standard/incident/tags', { + headers: { + 'anlan-version': 'v2', + 'anlan-appid': id, + 'anlan-timestamp': time, + 'anlan-token': md5('' + id + time + key) + } + }).then((res) => { + return res.data + }) + } + + /** + * 地区列表地址 + */ + public getIncidentOrgsTags() { + const id = 'al00009' + const key = '99bd0e09e068a19600fb4ef1e1890200' + const time = parseInt(new Date().getTime() / 1000 + '') + return Http.get('https://talk.anlantech.cn/standard/incident/orgs', { + headers: { + 'anlan-version': 'v2', + 'anlan-appid': id, + 'anlan-timestamp': time, + 'anlan-token': md5('' + id + time + key) + } + }).then((res) => { + return res.data + }) + } + + /** + * 获取车辆信息 + */ + // public getCarInfo() { + // return Http.post('/car/carhisttrack/car/track/getCarHistoricalTrackSingle',{carNum: '琼A2AJ02'}).then((res: any) => { + // console.log(res) + // }) + // } + /** + * 获取车辆信息 + */ + public getCarInfo() { + return Http.post('/zero2/car/carhisttrack/car/track/getCarHistoricalTrack').then((res: any) => { + return res.data + }) + } + public getCarTrack (data: any) { + return Http.post('/zeroi/free/freetrade/api/getCarTrack', data).then(res => { + return res.data + }) + } +} + +const HttpApi = new Api() +export default HttpApi diff --git a/src/components/arrive-leave-query/index.vue b/src/components/arrive-leave-query/index.vue new file mode 100644 index 0000000..578b603 --- /dev/null +++ b/src/components/arrive-leave-query/index.vue @@ -0,0 +1,1066 @@ + + + + + diff --git a/src/components/dialog/index.vue b/src/components/dialog/index.vue new file mode 100644 index 0000000..8d43781 --- /dev/null +++ b/src/components/dialog/index.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/components/header/index.vue b/src/components/header/index.vue new file mode 100644 index 0000000..c6447c7 --- /dev/null +++ b/src/components/header/index.vue @@ -0,0 +1,179 @@ + + + + + diff --git a/src/components/menu/analysis.ts b/src/components/menu/analysis.ts new file mode 100644 index 0000000..2b54121 --- /dev/null +++ b/src/components/menu/analysis.ts @@ -0,0 +1,96 @@ +import {MenuType} from "@/module/menu"; +import HttpApi from "@/api"; +import {Vue} from "vue-property-decorator"; + +interface MenuOption { + title: string, + icon: string, + children: MenuOption[], + type: string, + + [key: string]: any +} + +const config = require('../../../public/config/menu.json') +const menu: MenuType[] = config.menu +const menuList: MenuType[] = [] + +function analysisMenu(menus: MenuType[]) { + for (let i = 0; i < menus.length; i++) { + const menuItem = menus[i] + if (menuItem.open) { + if (!menuItem.children.length) { + // if (menuItem.nameEn === 'My Fleets' && !Vue.prototype.$myFleet.length) { + // continue + // } + menuList.push(menuItem) + } else { + menuList.push(analysisMenuChildren(menuItem)) + } + } + + } +} + +function analysisMenuChildren(menu: MenuType) { + const menuTemp: MenuType = JSON.parse(JSON.stringify(menu)); + menuTemp.children = [] + for (let child of menu.children) { + if (child.open) { + if (!child.children.length) { + menuTemp.children.push(child) + } else { + menuTemp.children.push(analysisMenuChildren(child)) + } + } + } + return menuTemp +} + +analysisMenu(menu) + +HttpApi.getAreaMenuList({}).then((res: any) => { + if (res) { + const tempMenuAll: MenuOption[] = [] + res.forEach((item: any, index1: number) => { + const tempData: MenuOption = { + title: item.name, + id: item.id, + index: 'area-' + index1, + icon: '', + children: [], + type: 'AreaListTemp', + hasMini: false + } + if (item.tsCustomAreaList) { + item.tsCustomAreaList.forEach((res: any, index: any) => { + const tempData2: MenuOption = { + title: '', + icon: '', + children: [], + type: 'AreaListTemp', + hasMini: false + } + tempData2.title = res.name + tempData2.area = res.area + tempData2.cLat = res.cLat + tempData2.cLon = res.cLon + tempData2.cagid = res.cagid + tempData2.check = res.check + tempData2.id = res.id + tempData2.useType = res.useType + tempData2.index = 'area-' + index1 + '-' + index + tempData.children.push(tempData2) + }) + } + tempMenuAll.push(tempData) + }) + + menuList.forEach((item: any) => { + if (item.title === '区域列表') { + item.children = tempMenuAll + } + }) + } +}) +export {menuList} diff --git a/src/components/menu/index.vue b/src/components/menu/index.vue new file mode 100644 index 0000000..4b40116 --- /dev/null +++ b/src/components/menu/index.vue @@ -0,0 +1,68 @@ + + + + diff --git a/src/components/menu/menu-item/index.vue b/src/components/menu/menu-item/index.vue new file mode 100644 index 0000000..5b0f11c --- /dev/null +++ b/src/components/menu/menu-item/index.vue @@ -0,0 +1,170 @@ + + + + + diff --git a/src/components/menu/menu-temp/index.vue b/src/components/menu/menu-temp/index.vue new file mode 100644 index 0000000..391fad6 --- /dev/null +++ b/src/components/menu/menu-temp/index.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/src/components/menu/style.css b/src/components/menu/style.css new file mode 100644 index 0000000..e55f852 --- /dev/null +++ b/src/components/menu/style.css @@ -0,0 +1,6 @@ +.menu-item-box-c .menu-icon-c { + width: 1.875rem !important; + text-align: center; + box-sizing: border-box; + padding-right: 0.625rem; +} diff --git a/src/components/menu/submenu-item/index.vue b/src/components/menu/submenu-item/index.vue new file mode 100644 index 0000000..7c8e5c5 --- /dev/null +++ b/src/components/menu/submenu-item/index.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/src/components/on-map-view/MapBottomMousePos.vue b/src/components/on-map-view/MapBottomMousePos.vue new file mode 100644 index 0000000..093a343 --- /dev/null +++ b/src/components/on-map-view/MapBottomMousePos.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/components/on-map-view/MapBottomShipType.vue b/src/components/on-map-view/MapBottomShipType.vue new file mode 100644 index 0000000..72aec97 --- /dev/null +++ b/src/components/on-map-view/MapBottomShipType.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/components/on-map-view/MiniBox.vue b/src/components/on-map-view/MiniBox.vue new file mode 100644 index 0000000..2949f68 --- /dev/null +++ b/src/components/on-map-view/MiniBox.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/src/components/on-map-view/OnClickWeather.vue b/src/components/on-map-view/OnClickWeather.vue new file mode 100644 index 0000000..97a97fd --- /dev/null +++ b/src/components/on-map-view/OnClickWeather.vue @@ -0,0 +1,82 @@ + + + + + diff --git a/src/components/on-map-view/PortHoverView.vue b/src/components/on-map-view/PortHoverView.vue new file mode 100644 index 0000000..e4809a3 --- /dev/null +++ b/src/components/on-map-view/PortHoverView.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/src/components/on-map-view/ShipHoverView.vue b/src/components/on-map-view/ShipHoverView.vue new file mode 100644 index 0000000..3df40e9 --- /dev/null +++ b/src/components/on-map-view/ShipHoverView.vue @@ -0,0 +1,52 @@ + + + + + diff --git a/src/components/on-map-view/TrackHoverView.vue b/src/components/on-map-view/TrackHoverView.vue new file mode 100644 index 0000000..ef689fb --- /dev/null +++ b/src/components/on-map-view/TrackHoverView.vue @@ -0,0 +1,49 @@ + + + + + diff --git a/src/components/on-map-view/ViewAllPort.vue b/src/components/on-map-view/ViewAllPort.vue new file mode 100644 index 0000000..d1543c2 --- /dev/null +++ b/src/components/on-map-view/ViewAllPort.vue @@ -0,0 +1,147 @@ + + + + + diff --git a/src/components/real-time-info/realTimeInfo.vue b/src/components/real-time-info/realTimeInfo.vue new file mode 100644 index 0000000..87d6c7a --- /dev/null +++ b/src/components/real-time-info/realTimeInfo.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/src/components/search/index.vue b/src/components/search/index.vue new file mode 100644 index 0000000..598da69 --- /dev/null +++ b/src/components/search/index.vue @@ -0,0 +1,338 @@ + + + + + diff --git a/src/components/ship-fleet/index.vue b/src/components/ship-fleet/index.vue new file mode 100644 index 0000000..6b9179f --- /dev/null +++ b/src/components/ship-fleet/index.vue @@ -0,0 +1,89 @@ + + + + + diff --git a/src/components/table/index.vue b/src/components/table/index.vue new file mode 100644 index 0000000..f387f5d --- /dev/null +++ b/src/components/table/index.vue @@ -0,0 +1,102 @@ + + + diff --git a/src/css/element/index.scss b/src/css/element/index.scss new file mode 100644 index 0000000..36f8cf7 --- /dev/null +++ b/src/css/element/index.scss @@ -0,0 +1,454 @@ +.el-aside { + background: var(--aside-bg) !important; + height: 100% !important; + border: none !important; + overflow-x: hidden !important; +} + +.el-table-filter .el-table-filter__content .el-checkbox__label{ + color: black; +} + +.el-container { + width: 100% !important; + height: 100% !important; +} + +.el-main { + overflow: hidden !important; + width: 100% !important; + height: 100% !important; + padding: unset !important; +} +.el-tabs__item { + font-size: 0.875rem!important; +} +/* el-tabs 样式开始*/ +/*去掉切换时el-tab-pane底部的蓝色下划线*/ +/*//.el-tabs__active-bar { +// background-color: transparent !important; +//} + +!*去掉tabs底部的下划线*! +//.el-tabs__nav-wrap::after { +// position: static !important; +//} + +!*tabs 居中*! +//.el-tabs__header { +// display: flex !important; +// justify-content: center !important; +// background: rgba(52, 51, 82, 0.7) !important; +// //border-radius: 0.12rem 0.12rem 0 0; +// border-radius: 12px 12px 0 0; +//} + +!* tabs 选中字体颜色 *! +//.el-tabs__item { +// color: var(--theme-color-no) !important; +//} + +!* tabs 选中字体颜色 *! +//.el-tabs__item.is-active { +// color: #ffffff !important; +//} + +!* tabs 选中字体颜色 *! +//.el-tabs__item:hover { +// color: var(--theme-color) !important; +//} + +//.el-tabs__content { +// //padding: 0 0.2rem !important;; +// padding: 0 20px !important; +//}*/ + +/* el-tabs 样式结束*/ + + +/* el-button 样式开始 */ +.el-button { + height: 1.875rem; + width: 8.125rem; + line-height: unset; + display: flex !important; + align-items: center; + justify-content: center; + background: var(--theme-color) !important; + border-color: var(--theme-color) !important; + color: #ffffff !important; + margin-right: 0.62rem !important; +} + +.cancel-btn .el-button { + background: var(--cancel-btn-gb) !important; + color: var(--theme-color) !important; + border-color: var(--theme-color) !important; +} + + +.el-button:hover { + opacity: 0.75 !important; +} + +/* el-button 样式结束 */ + + +/* el-select 样式开始 */ +.el-select { + height: 1.875rem !important; +} + +.el-select .el-input__inner { + height: 1.875rem; + background: rgba(255, 255, 255, 0.6); + color: black; + border-color: var(--aside-bg); +} + +.el-select .el-input__suffix-inner { + height: 100%; + display: flex; + align-items: center; + justify-content: center; +} + +.el-select .el-input__suffix-inner .el-select__caret { + line-height: unset !important; +} + +.el-select-dropdown__item.selected { + color: var(--theme-color) !important; +} + +/* el-select 样式结束 */ + + +/* el-form 样式开始 */ +.el-form { + margin-top: 1.25rem; +} + +.el-form .el-form-item { + height: 1.875rem !important; + margin-bottom: 0.62rem !important; +} + +.el-form .el-form-item .el-form-item__label { + height: 1.875rem; + color: #ffffff; + line-height: 1.875rem; +} + +.el-form .el-form-item .el-form-item__content { + line-height: 1.875rem; +} + +/* el-form 样式结束*/ + + +/* el-input 样式开始*/ + +.el-input .el-input__inner { + height: 2.5rem !important; + background: rgba(255, 255, 255, 0.2) !important; + color: black !important; + border-color: var(--aside-bg) !important; +} + +.el-input .el-input__inner:focus { + border-color: var(--theme-color) !important; +} + +.el-input__inner .el-input__icon { + height: 100% !important; + display: flex !important; + align-items: center !important; +} + +/* el-input 样式结束*/ + +/* .el-textarea 样式开始*/ +.el-textarea .el-textarea__inner { + background: rgba(255, 255, 255, 0.2); + color: var(--white-font); + border-color: var(--aside-bg); +} + +.el-textarea .el-textarea__inner:hover { + background: rgba(255, 255, 255, 0.2); + color: var(--white-font); + border-color: var(--aside-bg); +} + +.el-textarea .el-textarea__inner:focus { + border-color: var(--theme-color) !important; +} + +/* .el-textarea 样式结束*/ + + +/* 颜色选取器样式开始*/ +.el-color-picker, .el-color-picker .el-color-picker__trigger { + width: 1.875rem !important; + height: 1.875rem !important; +} + +.el-color-dropdown__btns { + display: flex; +} + +.el-color-dropdown__btns .el-button { + width: 3.125rem; + height: 1.875rem; +} + +/* 颜色选取器样式结束*/ + + +/* el-menu 样式开始*/ + +.el-menu { + border: none !important; +} + +.el-submenu__title { + height: 2.5rem !important; + line-height: 2.5rem !important; + font-size: 0.875rem!important; +} + + +.el-menu-item { + height: 2.5rem !important; + line-height: 2.5rem !important; + font-size: 0.875rem!important; +} + + +.vxe-modal--body .el-menu { + background: transparent !important; +} + +/* el-menu 样式结束*/ + + +/* 时间组件样式开始 */ +.el-date-editor { + width: 10.5rem !important; + height: 100% !important; +} + +.el-date-editor .el-range-separator { + height: 100% !important; + display: flex !important; + align-items: center !important; + justify-content: center; +} + +.el-picker-panel__footer { + display: flex; + align-items: center; + justify-content: flex-end; +} + +.el-picker-panel__footer .el-button { + width: 5rem !important; +} + +.el-picker-panel__footer .el-button:nth-child(1) { + background: transparent !important; + border: none !important; + color: var(--theme-color) !important; + width: 5rem; +} + +.el-date-table td.today span { + color: var(--theme-color) !important; +} + +.el-date-table td.available:hover { + color: var(--theme-color) !important; +} + +.el-date-table td.end-date span, .el-date-table td.start-date span { + background: var(--theme-color) !important; +} + +.el-date-range-picker__editor .el-input__inner { + //color: var(--white-font) !important; + color: black !important; +} + +.el-table.el-table__body-wrapper.el-table__cell.el-table__body.el-table__row { + height: 2.5rem !important; +} + +.el-range-editor.is-active { + border-color: var(--theme-color) !important; +} + +.el-date-editor { + background: rgba(255, 255, 255, 0.2) !important; + //border: none !important; +} + +.el-date-editor .el-range-input { + background: unset !important; + //color: var(--white-font) !important; +} + +.el-range-separator { + //color: var(--white-font) !important; +} + +/* 时间组件样式结束*/ + + +/*checkbox 样式开始*/ +.el-checkbox .el-checkbox__label { + color: var(--white-font); +} + +.is-checked .el-checkbox__label { + color: var(--theme-color) !important; +} + +.is-checked .el-checkbox__inner { + background: var(--theme-color) !important; + border-color: var(--theme-color) !important; +} + +/*checkbox 样式结束*/ + + +/* loading 样式开始*/ +.el-loading-mask { + height: 100%; +} + +.el-loading-mask .el-loading-spinner .circular { + width: 1.875rem; + height: 1.875rem; +} + +.el-loading-mask .el-loading-spinner { + display: flex; + align-items: center; + justify-content: center; + top: unset; + margin: unset; +} + +.el-loading-spinner .path { + stroke: var(--theme-color) !important; +} + +/* loading 样式结束*/ + + +/* message 开始*/ +.el-message-box { + background: transparent !important; + border: unset !important; + padding: 0 !important; + position: relative; + border-radius: 0.875rem !important; +} + +.el-message-box .el-message-box__header { + background: var(--theme-color) !important; +} + +.el-message-box .el-message-box__header .el-message-box__title { + color: var(--white-font) !important; + font-family: "Microsoft YaHei", serif !important; + font-weight: 400 !important; +} + +.el-message-box .el-message-box__header .el-message-box__headerbtn .el-message-box__close { + color: var(--white-font) !important; +} + +.el-message-box .el-message-box__header .el-message-box__headerbtn .el-message-box__close:hover { + opacity: 0.7 !important; +} + +.el-message-box .el-message-box__content .el-message-box__container { + color: var(--white-font) !important; +} + +.el-message-box .el-message-box__content, .el-message-box .el-message-box__btns { + background: var(--modal-bg-color) !important; +} + +.el-message-box .el-message-box__content { + font-size: 0.9rem !important; + height: 5rem !important; +} + +.el-message-box .el-message-box__btns { + height: 3.125rem; +} + + +.el-message-box .el-message-box__btns { + display: flex; + align-items: center; + justify-content: center; + flex-direction: row-reverse +} + +.el-message-box .el-message-box__btns .el-button:nth-child(1) { + background: transparent !important; +} + +/* message 结束*/ + + +/* 分页 开始*/ +.el-pagination { + height: 1.875rem !important; + box-sizing: border-box; + padding: 0 !important; + display: flex; + align-items: center; +} + +.el-pagination .el-pagination__sizes { + height: 1.375rem !important; + box-sizing: border-box; +} + +.el-pagination .el-pagination__sizes .el-select { + height: 1.375rem !important; +} + +.el-pagination .el-pagination__sizes .el-select .el-input { + height: 1.375rem !important; +} + +.el-pagination .el-pagination__sizes .el-select .el-input .el-input__inner { + height: 1.375rem !important; + box-sizing: border-box; +} + +.el-pagination .el-pager .number { + color: var(--theme-color) !important; +} + +.el-pagination .el-pagination__jump { + height: 1.375rem !important; + display: flex !important; + align-items: center !important; +} + +.el-pagination .el-pagination__jump .el-input { + height: 1.375rem !important; +} + +.el-pagination .el-pagination__jump .el-input .el-input__inner { + height: 1.375rem !important; +} + +/* 分页 结束*/ diff --git a/src/css/element/source-index.css b/src/css/element/source-index.css new file mode 100644 index 0000000..8752bb5 --- /dev/null +++ b/src/css/element/source-index.css @@ -0,0 +1 @@ +@font-face{font-family:vxeiconfont;src:url("data:application/x-font-woff2;charset=utf-8;base64,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 0.4375remxcQhT6JtOltxQqd1RaWylF5jSTYpvCkBUFkj0pyuAIKBKJdWIxiiImGClF5JwJkBqilQ7ZxjJ4ycKpoML1IOWnW5RFh2ICKUeVfC1m3rt0Z4MZCx8TPrajz0ZlEI/VENljqKHCSFQJliuDVl1qNEmsFR5aPLMYHAVFD1FzEsIZ7R2xyiGPgDRnz0Zk6JxTRZIuYJ+ex95KK+dboBFkkjwEG7ZSOq/vrZQ0QFNrt93VJuIMacPt858WK1LIByeWLOjvSwIRusf/BrWtxLXveV+qhamUR7cs2NVofVQfWVK7HWUCvWA2zqJlWOCwmdStyjMU+aPufflZHg0LBjmuzhnD1VI1++Gjz+t5W0l25DsqZ75VXxZHEVyaA04IqFOGavGA6IVUAVFILMI61EAm8ru13a3FtIPI1meGGd 0.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") format("woff2")}@-webkit-keyframes rollCircle{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes rollCircle{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}[class*=vxe-icon-]{font-family:vxeiconfont!important;font-style:normal;font-weight:400;font-size:1.1em;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[class*=vxe-icon-].animat,[class*=vxe-icon-].roll{display:inline-block}[class*=vxe-icon-].animat{-webkit-transition:-webkit-transform .25s ease-in-out;transition:-webkit-transform .25s ease-in-out;transition:transform .25s ease-in-out;transition:transform .25s ease-in-out,-webkit-transform .25s ease-in-out}[class*=vxe-icon-].rotate45{-webkit-transform:rotate(45deg);transform:rotate(45deg)}[class*=vxe-icon-].rotate90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}[class*=vxe-icon-].rotate180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}[class*=vxe-icon-].roll{-webkit-animation:rollCircle 1s linear infinite;animation:rollCircle 1s linear infinite}.vxe-icon-lightning:before{content:""}.vxe-icon-cloudy:before{content:""}.vxe-icon-heavy-rain:before{content:""}.vxe-icon-moon:before{content:""}.vxe-icon-sunny:before{content:""}.vxe-icon-location:before{content:""}.vxe-icon-location-fill:before{content:""}.vxe-icon-microphone-fill:before{content:""}.vxe-icon-microphone:before{content:""}.vxe-icon-share:before{content:""}.vxe-icon-share-fill:before{content:""}.vxe-icon-flag:before{content:""}.vxe-icon-flag-fill:before{content:""}.vxe-icon-platform:before{content:""}.vxe-icon-goods-fill:before{content:""}.vxe-icon-goods:before{content:""}.vxe-icon-funnel-clear:before{content:""}.vxe-icon-envelope:before{content:""}.vxe-icon-envelope-open-fill:before{content:""}.vxe-icon-envelope-open:before{content:""}.vxe-icon-envelope-fill:before{content:""}.vxe-icon-message-fill:before{content:""}.vxe-icon-chat:before{content:""}.vxe-icon-chat-fill:before{content:""}.vxe-icon-send:before{content:""}.vxe-icon-send-fill:before{content:""}.vxe-icon-user:before{content:""}.vxe-icon-user-fill:before{content:""}.vxe-icon-wechat:before{content:""}.vxe-icon-alipay:before{content:""}.vxe-icon-indicator:before{content:""}.vxe-icon-file-excel:before{content:""}.vxe-icon-file-pdf:before{content:""}.vxe-icon-file-image:before{content:""}.vxe-icon-file-markdown:before{content:""}.vxe-icon-file-ppt:before{content:""}.vxe-icon-file-word:before{content:""}.vxe-icon-file-zip:before{content:""}.vxe-icon-file-txt:before{content:""}.vxe-icon-refresh:before{content:""}.vxe-icon-checkbox-unchecked:before{content:""}.vxe-icon-information:before{content:""}.vxe-icon-info-circle-fill:before{content:""}.vxe-icon-info-circle:before{content:""}.vxe-icon-chart-radar:before{content:""}.vxe-icon-chart-bar-x:before{content:""}.vxe-icon-repeat:before{content:""}.vxe-icon-voice-fill:before{content:""}.vxe-icon-voice:before{content:""}.vxe-icon-flow-branch:before{content:""}.vxe-icon-comment:before{content:""}.vxe-icon-folder:before{content:""}.vxe-icon-folder-open:before{content:""}.vxe-icon-picture:before{content:""}.vxe-icon-picture-fill:before{content:""}.vxe-icon-bell:before{content:""}.vxe-icon-bell-fill:before{content:""}.vxe-icon-undo:before{content:""}.vxe-icon-home:before{content:""}.vxe-icon-home-fill:before{content:""}.vxe-icon-checkbox-checked:before{content:""}.vxe-icon-checkbox-indeterminate:before{content:""}.vxe-icon-fullscreen:before{content:""}.vxe-icon-minimize:before{content:""}.vxe-icon-print:before{content:""}.vxe-icon-upload:before{content:""}.vxe-icon-download:before{content:""}.vxe-icon-cloud-upload:before{content:""}.vxe-icon-cloud-download:before{content:""}.vxe-icon-spinner:before{content:""}.vxe-icon-close:before{content:""}.vxe-icon-custom-column:before{content:""}.vxe-icon-edit:before{content:""}.vxe-icon-zoom-in:before{content:""}.vxe-icon-caret-down:before{content:""}.vxe-icon-caret-up:before{content:""}.vxe-icon-caret-right:before{content:""}.vxe-icon-caret-left:before{content:""}.vxe-icon-square-checked-fill:before{content:""}.vxe-icon-square-close:before{content:""}.vxe-icon-square-down:before{content:""}.vxe-icon-square-left:before{content:""}.vxe-icon-square-caret-right:before{content:""}.vxe-icon-square-minus:before{content:""}.vxe-icon-square-plus:before{content:""}.vxe-icon-square-right:before{content:""}.vxe-icon-square-up:before{content:""}.vxe-icon-square-checked:before{content:""}.vxe-icon-square-down-fill:before{content:""}.vxe-icon-square-minus-fill:before{content:""}.vxe-icon-square-close-fill:before{content:""}.vxe-icon-square-left-fill:before{content:""}.vxe-icon-square-caret-right-fill:before{content:""}.vxe-icon-square-up-fill:before{content:""}.vxe-icon-square-right-fill:before{content:""}.vxe-icon-square-plus-fill:before{content:""}.vxe-icon-square-plus-square:before{content:""}.vxe-icon-square-fill:before{content:""}.vxe-icon-square-square:before{content:""}.vxe-icon-sort-alpha-desc:before{content:""}.vxe-icon-sort-alpha-asc:before{content:""}.vxe-icon-sort-numeric-asc:before{content:""}.vxe-icon-sort-numeric-desc:before{content:""}.vxe-icon-star-fill:before{content:""}.vxe-icon-star:before{content:""}.vxe-icon-star-half:before{content:""}.vxe-icon-lock-fill:before{content:""}.vxe-icon-unlock-fill:before{content:""}.vxe-icon-question:before{content:""}.vxe-icon-exclamation:before{content:""}.vxe-icon-ellipsis-h:before{content:""}.vxe-icon-ellipsis-v:before{content:""}.vxe-icon-save:before{content:""}.vxe-icon-setting:before{content:""}.vxe-icon-setting-fill:before{content:""}.vxe-icon-link:before{content:""}.vxe-icon-sort:before{content:""}.vxe-icon-chart-pie:before{content:""}.vxe-icon-chart-line:before{content:""}.vxe-icon-swap:before{content:""}.vxe-icon-num-list:before{content:""}.vxe-icon-copy:before{content:""}.vxe-icon-company:before{content:""}.vxe-icon-swap-right:before{content:""}.vxe-icon-swap-left:before{content:""}.vxe-icon-table:before{content:""}.vxe-icon-merge-cells:before{content:""}.vxe-icon-paste:before{content:""}.vxe-icon-cut:before{content:""}.vxe-icon-lock:before{content:""}.vxe-icon-unlock:before{content:""}.vxe-icon-chart-bar-y:before{content:""}.vxe-icon-fixed-fill:before{content:""}.vxe-icon-fixed:before{content:""}.vxe-icon-square:before{content:""}.vxe-icon-check:before{content:""}.vxe-icon-question-circle-fill:before{content:""}.vxe-icon-error-circle-fill:before{content:""}.vxe-icon-delete:before{content:""}.vxe-icon-dot:before{content:""}.vxe-icon-success-circle:before{content:""}.vxe-icon-delete-fill:before{content:""}.vxe-icon-minus:before{content:""}.vxe-icon-maximize:before{content:""}.vxe-icon-question-circle:before{content:""}.vxe-icon-warning-circle:before{content:""}.vxe-icon-warnion-circle-fill:before{content:""}.vxe-icon-eye-fill:before{content:""}.vxe-icon-search:before{content:""}.vxe-icon-funnel:before{content:""}.vxe-icon-eye-fill-close:before{content:""}.vxe-icon-search-zoom-in:before{content:""}.vxe-icon-arrow-right:before{content:""}.vxe-icon-arrow-left:before{content:""}.vxe-icon-arrow-up:before{content:""}.vxe-icon-calendar:before{content:""}.vxe-icon-arrow-down:before{content:""}.vxe-icon-warning-triangle:before{content:""}.vxe-icon-add:before{content:""}.vxe-icon-arrow-double-left:before{content:""}.vxe-icon-arrow-double-right:before{content:""}.vxe-icon-menu:before{content:""}.vxe-icon-warning-triangle-fill:before{content:""}.vxe-icon-error-circle:before{content:""}.vxe-icon-zoom-out:before{content:""}.vxe-icon-success-circle-fill:before{content:""}.vxe-icon-radio-checked:before{content:""}.vxe-icon-radio-unchecked:before{content:""}.vxe-cell--filter{padding:0 .1em 0 .25em;text-align:center;vertical-align:middle;display:inline-block;line-height:0}.vxe-cell--filter.col--filter .vxe-filter--btn{color:#606266}.vxe-cell--filter .vxe-filter--btn{color:#c0c4cc;cursor:pointer}.vxe-cell--filter .vxe-filter--btn:hover{color:#606266}.is--filter-active .vxe-cell--filter .vxe-filter--btn{color:#409eff}.vxe-table--filter-wrapper{display:none;position:absolute;top:0;min-width: 6.25rem;border-radius: 0.25rem;background-color:#fff;border: 0.0625rem solid #dadce0;-webkit-box-shadow:0 0.0625rem 0.375rem rgba(0,0,0,.2);box-shadow:0 0.0625rem 0.375rem rgba(0,0,0,.2);z-index:10}.vxe-table--filter-wrapper:not(.is--multiple){text-align:center}.vxe-table--filter-wrapper.is--active{display:block}.vxe-table--filter-wrapper .vxe-table--filter-body>li,.vxe-table--filter-wrapper .vxe-table--filter-header>li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width: 22.5rem;padding:.25em .8em;cursor:pointer}.vxe-table--filter-wrapper .vxe-table--filter-body>li.is--checked,.vxe-table--filter-wrapper .vxe-table--filter-header>li.is--checked{color:#409eff}.vxe-table--filter-wrapper .vxe-table--filter-body>li:hover,.vxe-table--filter-wrapper .vxe-table--filter-header>li:hover{background-color:#f5f7fa}.vxe-table--filter-wrapper .vxe-table--filter-header{padding-top:.2em}.vxe-table--filter-wrapper .vxe-table--filter-body{max-height: 12.5rem;padding-bottom:.2em}.vxe-table--filter-wrapper>ul{list-style-type:none;padding:0;margin:0;overflow:auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-table--filter-wrapper.is--multiple>ul>li{padding:.25em .8em .25em 1em}.vxe-table--filter-wrapper .vxe-table--filter-footer{border-top: 0.0625rem solid #dadce0;padding:.6em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-table--filter-wrapper .vxe-table--filter-footer button{background-color:transparent;padding:0 .4em;border:0;color:#606266;cursor:pointer}.vxe-table--filter-wrapper .vxe-table--filter-footer button:focus{outline:none}.vxe-table--filter-wrapper .vxe-table--filter-footer button:hover{color:#409eff}.vxe-table--filter-wrapper .vxe-table--filter-footer button.is--disabled{color:#bfbfbf;cursor:not-allowed}.vxe-table--context-menu-clild-wrapper,.vxe-table--context-menu-wrapper{position:absolute;top:0;left:0;font-size: 0.75rem;border: 0.0625rem solid #dadce0;-webkit-box-shadow: 0.1875rem 0.1875rem 0.25rem -0.125rem rgba(0,0,0,.6);box-shadow: 0.1875rem 0.1875rem 0.25rem -0.125rem rgba(0,0,0,.6);padding:0 0.0625rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#606266;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;background-color:#fff}.vxe-context-menu--link{display:block;padding:0 2.5em;width: 11.125rem;line-height: 1.625rem;color:#606266;cursor:pointer}.vxe-context-menu--link .vxe-context-menu--link-prefix,.vxe-context-menu--link .vxe-context-menu--link-suffix{position:absolute;top: 0.3125rem;margin-right: 0.3125rem;font-size: 1rem}.vxe-context-menu--link .vxe-context-menu--link-prefix{left: 0.3125rem}.vxe-context-menu--link .vxe-context-menu--link-suffix{right: 0.3125rem}.vxe-context-menu--link .vxe-context-menu--link-suffix.suffix--haschild{top: 0.5rem}.vxe-context-menu--link .vxe-context-menu--link-suffix.suffix--haschild:before{position:absolute;content:"";border: 0.25rem solid transparent;border-left-color:#727272}.vxe-context-menu--link .vxe-context-menu--link-content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-table--context-menu-clild-wrapper .vxe-context-menu--link{padding:0 2em 0 2.5em}.vxe-context-menu--option-wrapper,.vxe-table--context-menu-clild-wrapper{margin:0;padding:0;list-style-type:none;border-bottom: 0.0625rem solid #e8eaed}.vxe-context-menu--option-wrapper li,.vxe-table--context-menu-clild-wrapper li{position:relative;margin: 0.0625rem 0;border: 0.0625rem solid transparent}.vxe-context-menu--option-wrapper li:last-child,.vxe-table--context-menu-clild-wrapper li:last-child{border:0}.vxe-context-menu--option-wrapper li.link--active,.vxe-table--context-menu-clild-wrapper li.link--active{background-color:#c5c5c5;border-color:#c5c5c5}.vxe-context-menu--option-wrapper li.link--active>.vxe-context-menu--link,.vxe-table--context-menu-clild-wrapper li.link--active>.vxe-context-menu--link{color:#2b2b2b}.vxe-context-menu--option-wrapper li.link--disabled>.vxe-context-menu--link,.vxe-table--context-menu-clild-wrapper li.link--disabled>.vxe-context-menu--link{color:#bfbfbf;cursor:no-drop}.vxe-context-menu--option-wrapper li.link--disabled.link--active,.vxe-table--context-menu-clild-wrapper li.link--disabled.link--active{border-color:#c0c1c2;background-color:#eee}.vxe-context-menu--option-wrapper li.link--disabled.link--active:hover,.vxe-table--context-menu-clild-wrapper li.link--disabled.link--active:hover{background-color:inherit}.vxe-table--context-menu-clild-wrapper{display:none;top:0;left:100%}.vxe-table--context-menu-clild-wrapper.is--show{display:block}.vxe-export--panel-column>ul{list-style-type:none;overflow:auto;margin:0;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-export--panel-column>ul>li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.vxe-export--panel>table{width:100%;border:0;table-layout:fixed}.vxe-export--panel>table tr td{padding:0 0.625rem}.vxe-export--panel>table tr td:first-child{text-align:right;width:30%;font-weight:700;padding: 0.5rem 0.625rem}.vxe-export--panel>table tr td:nth-child(2){width:70%}.vxe-export--panel>table tr td>.vxe-input,.vxe-export--panel>table tr td>.vxe-select{width:80%}.vxe-export--panel>table tr td>.vxe-export--panel-option-row{padding:.25em 0}.vxe-export--panel .vxe-export--panel-column{width:80%;border: 0.0625rem solid #dcdfe6;margin: 0.1875rem 0;border-radius: 0.25rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-export--panel .vxe-export--panel-column>ul>li{padding:.2em 1em .2em 1em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--2{padding-left:3.5em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--2 .vxe-checkbox--icon{left:1.8em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--3{padding-left:4.5em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--3 .vxe-checkbox--icon{left:2.8em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--4{padding-left:5.5em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--4 .vxe-checkbox--icon{left:3.8em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--5{padding-left:6.5em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--5 .vxe-checkbox--icon{left:4.8em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--6{padding-left:7.5em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--6 .vxe-checkbox--icon{left:5.8em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--7{padding-left:8.5em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--7 .vxe-checkbox--icon{left:6.8em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--8{padding-left:9.5em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--8 .vxe-checkbox--icon{left:7.8em}.vxe-export--panel .vxe-export--panel-column .vxe-export--panel-column-header{padding:.1em 0;background-color:#f8f8f9;font-weight:700;border-bottom: 0.0625rem solid #e8eaec}.vxe-export--panel .vxe-export--panel-column .vxe-export--panel-column-body{padding:.2em 0;min-height:10em;max-height:17.6em}.vxe-export--panel .vxe-import-selected--file{padding-right: 2.5rem;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-export--panel .vxe-import-selected--file>i{display:none;position:absolute;top:50%;right: 0.9375rem;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size: 1rem;cursor:pointer}.vxe-export--panel .vxe-import-selected--file:hover{color:#409eff}.vxe-export--panel .vxe-import-selected--file:hover>i{display:block}.vxe-export--panel .vxe-import-select--file{border: 0.0625rem dashed #dcdfe6;padding: 0.375rem 2.125rem;outline:0;border-radius: 0.25rem;background-color:#fff;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.vxe-export--panel .vxe-import-select--file:focus{border-color:#409eff;-webkit-box-shadow:0 0 .25em 0 #409eff;box-shadow:0 0 .25em 0 #409eff}.vxe-export--panel .vxe-import-select--file:hover{color:#409eff;border-color:#409eff}.vxe-export--panel .vxe-export--panel-btns{text-align:right;padding:.25em}.vxe-loading{display:none;position:absolute;width:100%;height:100%;top:0;left:0;z-index:99;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:hsla(0,0%,100%,.5)}.vxe-loading.is--visible{display:block}.vxe-loading>.vxe-loading--chunk{width:100%;position:absolute;top:50%;left:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-align:center;color:#409eff}.vxe-loading .vxe-loading--default-icon{font-size:1.4em}.vxe-loading .vxe-loading--text{padding:.4em 0}.vxe-loading .vxe-loading--spinner{display:inline-block;position:relative;width: 3.5rem;height: 3.5rem}.vxe-loading .vxe-loading--spinner:after,.vxe-loading .vxe-loading--spinner:before{content:"";width:100%;height:100%;border-radius:50%;background-color:#409eff;opacity:.6;position:absolute;top:0;left:0;-webkit-animation:bounce 2s ease-in-out infinite;animation:bounce 2s ease-in-out infinite}.vxe-loading .vxe-loading--spinner:after{-webkit-animation-delay:-1s;animation-delay:-1s}@-webkit-keyframes bounce{0%,to{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes bounce{0%,to{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}.size--mini .vxe-loading .vxe-loading--spinner{width: 2.375rem;height: 2.375rem}.size--small .vxe-loading .vxe-loading--spinner{width: 2.75rem;height: 2.75rem}.size--medium .vxe-loading .vxe-loading--spinner{width: 3.125rem;height: 3.125rem}.vxe-table--render-default .vxe-body--column.col--ellipsis,.vxe-table--render-default.vxe-editable .vxe-body--column,.vxe-table--render-default .vxe-footer--column.col--ellipsis,.vxe-table--render-default .vxe-header--column.col--ellipsis{height: 3rem}.vxe-table--render-default.size--medium .vxe-body--column.col--ellipsis,.vxe-table--render-default.size--medium .vxe-footer--column.col--ellipsis,.vxe-table--render-default.size--medium .vxe-header--column.col--ellipsis,.vxe-table--render-default.vxe-editable.size--medium .vxe-body--column{height: 2.75rem}.vxe-table--render-default.size--small .vxe-body--column.col--ellipsis,.vxe-table--render-default.size--small .vxe-footer--column.col--ellipsis,.vxe-table--render-default.size--small .vxe-header--column.col--ellipsis,.vxe-table--render-default.vxe-editable.size--small .vxe-body--column{height: 2.5rem}.vxe-table--render-default.size--mini .vxe-body--column.col--ellipsis,.vxe-table--render-default.size--mini .vxe-footer--column.col--ellipsis,.vxe-table--render-default.size--mini .vxe-header--column.col--ellipsis,.vxe-table--render-default.vxe-editable.size--mini .vxe-body--column{height: 2.25rem}.vxe-table--file-form,.vxe-table-slots{display:none}.vxe-table--print-frame{position:fixed;bottom:-100%;left:-100%;height:0;width:0;border:0}.vxe-table--body-wrapper{scroll-behavior:auto}.vxe-table--body-wrapper,.vxe-table--fixed-left-body-wrapper,.vxe-table--fixed-right-body-wrapper{overflow-y:auto;overflow-x:auto}.vxe-cell .vxe-default-input,.vxe-cell .vxe-default-textarea,.vxe-table--filter-wrapper .vxe-default-input,.vxe-table--filter-wrapper .vxe-default-textarea{background-color:#fff}.vxe-cell .vxe-default-input,.vxe-cell .vxe-default-select,.vxe-cell .vxe-default-textarea,.vxe-table--filter-wrapper .vxe-default-input,.vxe-table--filter-wrapper .vxe-default-select,.vxe-table--filter-wrapper .vxe-default-textarea{outline:0;padding:0 0.125rem;width:100%;color:#606266;border-radius: 0.25rem;border: 0.0625rem solid #dcdfe6}.vxe-cell .vxe-default-input:focus,.vxe-cell .vxe-default-select:focus,.vxe-cell .vxe-default-textarea:focus,.vxe-table--filter-wrapper .vxe-default-input:focus,.vxe-table--filter-wrapper .vxe-default-select:focus,.vxe-table--filter-wrapper .vxe-default-textarea:focus{border: 0.0625rem solid #409eff}.vxe-cell .vxe-default-input[disabled],.vxe-cell .vxe-default-select[disabled],.vxe-cell .vxe-default-textarea[disabled],.vxe-table--filter-wrapper .vxe-default-input[disabled],.vxe-table--filter-wrapper .vxe-default-select[disabled],.vxe-table--filter-wrapper .vxe-default-textarea[disabled]{cursor:not-allowed;background-color:#f3f3f3}.vxe-cell .vxe-default-input,.vxe-cell .vxe-default-select,.vxe-cell .vxe-default-textarea,.vxe-table--filter-wrapper .vxe-default-input,.vxe-table--filter-wrapper .vxe-default-select,.vxe-table--filter-wrapper .vxe-default-textarea{height: 2.125rem}.vxe-cell .vxe-default-input[type=date]::-webkit-inner-spin-button,.vxe-table--filter-wrapper .vxe-default-input[type=date]::-webkit-inner-spin-button{margin-top: 0.25rem}.vxe-cell .vxe-default-input[type=date]::-webkit-inner-spin-button,.vxe-cell .vxe-default-input[type=number]::-webkit-inner-spin-button,.vxe-table--filter-wrapper .vxe-default-input[type=date]::-webkit-inner-spin-button,.vxe-table--filter-wrapper .vxe-default-input[type=number]::-webkit-inner-spin-button{height: 1.5rem}.vxe-cell .vxe-default-input::-webkit-input-placeholder,.vxe-table--filter-wrapper .vxe-default-input::-webkit-input-placeholder{color:#c0c4cc}.vxe-cell .vxe-default-input::-moz-placeholder,.vxe-table--filter-wrapper .vxe-default-input::-moz-placeholder{color:#c0c4cc}.vxe-cell .vxe-default-input:-ms-input-placeholder,.vxe-table--filter-wrapper .vxe-default-input:-ms-input-placeholder{color:#c0c4cc}.vxe-cell .vxe-default-input::-ms-input-placeholder,.vxe-table--filter-wrapper .vxe-default-input::-ms-input-placeholder{color:#c0c4cc}.vxe-cell .vxe-default-input::placeholder,.vxe-table--filter-wrapper .vxe-default-input::placeholder{color:#c0c4cc}.vxe-cell .vxe-default-textarea,.vxe-table--filter-wrapper .vxe-default-textarea{resize:none;vertical-align:middle}.vxe-cell .vxe-input,.vxe-cell .vxe-select,.vxe-cell .vxe-textarea,.vxe-table--filter-wrapper .vxe-input,.vxe-table--filter-wrapper .vxe-select,.vxe-table--filter-wrapper .vxe-textarea{width:100%;display:block}.vxe-cell .vxe-input>.vxe-input--inner,.vxe-cell .vxe-textarea>.vxe-textarea--inner,.vxe-table--filter-wrapper .vxe-input>.vxe-input--inner,.vxe-table--filter-wrapper .vxe-textarea>.vxe-textarea--inner{padding:0 0.125rem}.vxe-cell .vxe-default-textarea,.vxe-cell .vxe-textarea--inner,.vxe-table--filter-wrapper .vxe-default-textarea,.vxe-table--filter-wrapper .vxe-textarea--inner{resize:none}.vxe-table--cell-active-area,.vxe-table--cell-copy-area,.vxe-table--cell-extend-area,.vxe-table--cell-main-area,.vxe-table--checkbox-range{display:none;position:absolute;pointer-events:none;z-index:1}.vxe-table--fixed-left-wrapper .vxe-table--cell-active-area,.vxe-table--fixed-left-wrapper .vxe-table--cell-copy-area,.vxe-table--fixed-left-wrapper .vxe-table--cell-extend-area,.vxe-table--fixed-left-wrapper .vxe-table--cell-main-area,.vxe-table--fixed-left-wrapper .vxe-table--checkbox-range,.vxe-table--fixed-right-wrapper .vxe-table--cell-active-area,.vxe-table--fixed-right-wrapper .vxe-table--cell-copy-area,.vxe-table--fixed-right-wrapper .vxe-table--cell-extend-area,.vxe-table--fixed-right-wrapper .vxe-table--cell-main-area,.vxe-table--fixed-right-wrapper .vxe-table--checkbox-range{z-index:2}.vxe-table--fixed-left-wrapper .vxe-table--cell-active-area[half="1"],.vxe-table--fixed-left-wrapper .vxe-table--cell-extend-area[half="1"],.vxe-table--fixed-left-wrapper .vxe-table--cell-main-area[half="1"]{border-right:0}.vxe-table--fixed-left-wrapper .vxe-table--cell-copy-area[half="1"]{background-size: 0.1875rem 0.75rem,0 0.75rem, 0.75rem 0.1875rem, 0.75rem 0.1875rem}.vxe-table--fixed-right-wrapper .vxe-table--cell-active-area[half="1"],.vxe-table--fixed-right-wrapper .vxe-table--cell-extend-area[half="1"],.vxe-table--fixed-right-wrapper .vxe-table--cell-main-area[half="1"]{border-left:0}.vxe-table--fixed-right-wrapper .vxe-table--cell-copy-area[half="1"]{background-size:0 0.75rem, 0.1875rem 0.75rem, 0.75rem 0.1875rem, 0.75rem 0.1875rem}.vxe-table--checkbox-range{background-color:rgba(50,128,252,.2);border: 0.0625rem solid #006af1}.vxe-table--cell-area{height:0;font-size:0;display:none}.vxe-table--cell-area>.vxe-table--cell-main-area{background-color:rgba(64,158,255,.2);border: 0.0625rem solid #409eff}.vxe-table--cell-area .vxe-table--cell-main-area-btn{display:none;position:absolute;right: -0.0625rem;bottom: -0.0625rem;width: 0.4375rem;height: 0.4375rem;border-style:solid;border-color:#fff;border-width: 0.0625rem 0 0 0.0625rem;background-color:#409eff;pointer-events:auto;cursor:crosshair}.vxe-table--cell-area .vxe-table--cell-extend-area{border: 0.125rem solid #409eff}@-webkit-keyframes moveCopyCellBorder{to{background-position:0 -0.75rem,100% 0.75rem, 0.75rem 0, -0.75rem 100%}}@keyframes moveCopyCellBorder{to{background-position:0 -0.75rem,100% 0.75rem, 0.75rem 0, -0.75rem 100%}}.vxe-table--cell-copy-area{background:linear-gradient(0deg,transparent 0.375rem,#409eff 0) repeat-y,linear-gradient(0deg,transparent 50%,#409eff 0) repeat-y,linear-gradient(90deg,transparent 50%,#409eff 0) repeat-x,linear-gradient(90deg,transparent 50%,#409eff 0) repeat-x;background-size: 0.1875rem 0.75rem, 0.1875rem 0.75rem, 0.75rem 0.1875rem, 0.75rem 0.1875rem;background-position:0 0,100% 0,0 0,0 100%;-webkit-animation:moveCopyCellBorder .5s linear infinite;animation:moveCopyCellBorder .5s linear infinite}.vxe-table--cell-active-area{border: 0.125rem solid #409eff}.vxe-table--cell-multi-area>.vxe-table--cell-main-area{background-color:rgba(64,158,255,.2)}.vxe-table--render-default.is--round .vxe-table--border-line,.vxe-table--render-default.is--round .vxe-table--render-default.is--round,.vxe-table--render-default.is--round:not(.is--header):not(.is--footer) .vxe-table--body-wrapper.body--wrapper{border-radius: 0.25rem}.vxe-table--render-default.is--round.is--footer:not(.is--header) .vxe-table--body-wrapper.body--wrapper,.vxe-table--render-default.is--round.is--header .vxe-table--header-wrapper.body--wrapper{border-radius: 0.25rem 0.25rem 0 0}.vxe-table--render-default.is--round.is--header .vxe-table--header-wrapper.fixed-left--wrapper{border-radius: 0.25rem 0 0 0}.vxe-table--render-default.is--round.is--header .vxe-table--header-wrapper.fixed-right--wrapper{border-radius:0 0.25rem 0 0}.vxe-table--render-default.is--round.is--footer .vxe-table--footer-wrapper.body--wrapper,.vxe-table--render-default.is--round.is--header:not(.is--footer) .vxe-table--body-wrapper.body--wrapper{border-radius:0 0 0.25rem 0.25rem}.vxe-table--render-default.is--round.is--footer .vxe-table--footer-wrapper.fixed-left--wrapper,.vxe-table--render-default.is--round.is--footer:not(.is--header) .vxe-table--body-wrapper.fixed-left--wrapper,.vxe-table--render-default.is--round.is--header:not(.is--footer) .vxe-table--body-wrapper.fixed-left--wrapper{border-radius:0 0 0 0.25rem}.vxe-table--render-default.is--round.is--footer .vxe-table--footer-wrapper.fixed-right--wrapper,.vxe-table--render-default.is--round.is--footer:not(.is--header) .vxe-table--body-wrapper.fixed-right--wrapper,.vxe-table--render-default.is--round.is--header:not(.is--footer) .vxe-table--body-wrapper.fixed-right--wrapper{border-radius:0 0 0.25rem 0}.vxe-table .vxe-table--header-wrapper{color:#606266}.vxe-table .vxe-table--header-wrapper .vxe-table--header-border-line{position:absolute;left:0;bottom:0;height:0;border-bottom: 0.0625rem solid #e8eaec}.vxe-table .vxe-cell--sort{width:1.5em;height:1.35em;vertical-align:middle;text-align:center;display:inline-block;position:relative}.vxe-table .vxe-sort--asc-btn,.vxe-table .vxe-sort--desc-btn{position:absolute;left:.2em;color:#c0c4cc;width:1em;text-align:center;height:.8em;line-height:.8em;cursor:pointer}.vxe-table .vxe-sort--asc-btn:hover,.vxe-table .vxe-sort--desc-btn:hover{color:#606266}.vxe-table .vxe-sort--asc-btn.sort--active,.vxe-table .vxe-sort--desc-btn.sort--active{color:#409eff}.vxe-table .vxe-sort--asc-btn{top:-.1em}.vxe-table .vxe-sort--desc-btn{bottom:-.2em}.vxe-header--column{position:relative;font-weight:700}.vxe-header--column.col--ellipsis>.vxe-cell{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.vxe-header--column.col--ellipsis>.vxe-cell .vxe-cell--title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-header--column.col--ellipsis>.vxe-cell>i:not(.vxe-cell--title),.vxe-header--column.col--ellipsis>.vxe-cell>span:not(.vxe-cell--title){-ms-flex-negative:0;flex-shrink:0}.vxe-header--column .vxe-cell--required-icon{display:inline-block;color:#f56c6c;width:.8em;height:1em;line-height:1em;font-family:Verdana,Arial,Tahoma;font-weight:400;position:relative}.vxe-header--column .vxe-cell--required-icon:before{content:"*";position:absolute;left:0;top:.2em}.vxe-header--column .vxe-cell--required-icon{margin-right:.1em}.vxe-header--column .vxe-cell--edit-icon,.vxe-header--column .vxe-cell-help-icon{margin-right:.2em}.vxe-header--column .vxe-cell-help-icon{cursor:help}.vxe-header--column .vxe-resizable{position:absolute;right: -0.4375rem;bottom:0;width: 0.875rem;height:100%;text-align:center;z-index:1;cursor:col-resize}.vxe-header--column .vxe-resizable.is--line:after,.vxe-header--column .vxe-resizable.is--line:before{content:"";display:inline-block;vertical-align:middle}.vxe-header--column .vxe-resizable.is--line:before{width: 0.0625rem;height:50%;background-color:#d9dddf}.vxe-header--column .vxe-resizable.is--line:after{width:0;height:100%}.vxe-table--fixed-right-wrapper .vxe-header--column .vxe-resizable{right:auto;left: -0.4375rem}.vxe-table--render-default{position:relative;font-size: 0.875rem;color:#606266;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;direction:ltr}.vxe-table--render-default .vxe-table--body-wrapper,.vxe-table--render-default .vxe-table--footer-wrapper{background-color:#fff}.vxe-table--render-default .vxe-table--body,.vxe-table--render-default .vxe-table--footer,.vxe-table--render-default .vxe-table--header{border:0;border-spacing:0;border-collapse:separate;table-layout:fixed}.vxe-table--render-default .vxe-table--footer-wrapper,.vxe-table--render-default .vxe-table--header-wrapper{overflow-x:hidden;overflow-y:hidden}.vxe-table--render-default:not(.is--empty).is--footer.is--scroll-x .vxe-table--body-wrapper{overflow-x:scroll}.vxe-table--render-default .vxe-body--row.row--stripe{background-color:#fafafa}.vxe-table--render-default .vxe-body--row.row--checked,.vxe-table--render-default .vxe-body--row.row--radio{background-color:#fff3e0}.vxe-table--render-default .vxe-body--row.row--current{background-color:#e6f7ff}.vxe-table--render-default .vxe-body--row.row--hover,.vxe-table--render-default .vxe-body--row.row--hover.row--stripe{background-color:#f5f7fa}.vxe-table--render-default .vxe-body--row.row--hover.row--checked,.vxe-table--render-default .vxe-body--row.row--hover.row--radio{background-color:#ffebbc}.vxe-table--render-default .vxe-body--row.row--hover.row--current{background-color:#d7effb}.vxe-table--render-default.drag--resize .vxe-table--fixed-left-wrapper *,.vxe-table--render-default.drag--resize .vxe-table--fixed-right-wrapper *,.vxe-table--render-default.drag--resize .vxe-table--main-wrapper *{cursor:col-resize}.vxe-table--render-default.drag--area .vxe-table--fixed-left-wrapper *,.vxe-table--render-default.drag--area .vxe-table--fixed-right-wrapper *,.vxe-table--render-default.drag--area .vxe-table--main-wrapper *,.vxe-table--render-default.drag--range .vxe-table--fixed-left-wrapper *,.vxe-table--render-default.drag--range .vxe-table--fixed-right-wrapper *,.vxe-table--render-default.drag--range .vxe-table--main-wrapper *{cursor:default}.vxe-table--render-default.drag--extend-range .vxe-table--fixed-left-wrapper *,.vxe-table--render-default.drag--extend-range .vxe-table--fixed-right-wrapper *,.vxe-table--render-default.drag--extend-range .vxe-table--main-wrapper *{cursor:crosshair}.vxe-table--render-default.column--highlight .vxe-header--column:not(.col--seq):hover{background-color:#d7effb}.vxe-table--render-default.cell--area .vxe-table--main-wrapper{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-table--render-default .vxe-body--column,.vxe-table--render-default .vxe-footer--column,.vxe-table--render-default .vxe-header--column{position:relative;line-height: 1.375rem;text-align:left}.vxe-table--render-default .vxe-body--column:not(.col--ellipsis),.vxe-table--render-default .vxe-footer--column:not(.col--ellipsis),.vxe-table--render-default .vxe-header--column:not(.col--ellipsis){padding: 0.8125rem 0}.vxe-table--render-default .vxe-body--column.col--current,.vxe-table--render-default .vxe-footer--column.col--current,.vxe-table--render-default .vxe-header--column.col--current{background-color:#e6f7ff}.vxe-table--render-default .vxe-body--column.col--center,.vxe-table--render-default .vxe-footer--column.col--center,.vxe-table--render-default .vxe-header--column.col--center{text-align:center}.vxe-table--render-default .vxe-body--column.col--right,.vxe-table--render-default .vxe-footer--column.col--right,.vxe-table--render-default .vxe-header--column.col--right{text-align:right}.vxe-table--render-default .vxe-footer--column.col--ellipsis.col--center .vxe-cell,.vxe-table--render-default .vxe-header--column.col--ellipsis.col--center .vxe-cell{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.vxe-table--render-default .vxe-footer--column.col--ellipsis.col--right .vxe-cell,.vxe-table--render-default .vxe-header--column.col--ellipsis.col--right .vxe-cell{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.vxe-table--render-default .vxe-body--column.col--checkbox{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-table--render-default .vxe-table--footer-wrapper{border-top: 0.0625rem solid #e8eaec}.vxe-table--render-default.border--default .vxe-table--header-wrapper,.vxe-table--render-default.border--full .vxe-table--header-wrapper,.vxe-table--render-default.border--outer .vxe-table--header-wrapper{background-color:#f8f8f9}.vxe-table--render-default.border--default .vxe-body--column,.vxe-table--render-default.border--default .vxe-footer--column,.vxe-table--render-default.border--default .vxe-header--column,.vxe-table--render-default.border--inner .vxe-body--column,.vxe-table--render-default.border--inner .vxe-footer--column,.vxe-table--render-default.border--inner .vxe-header--column{background-image:-webkit-gradient(linear,left top,left bottom,from(#e8eaec),to(#e8eaec));background-image:linear-gradient(#e8eaec,#e8eaec);background-repeat:no-repeat;background-size:100% 0.0625rem;background-position:100% 100%}.vxe-table--render-default.border--full .vxe-body--column,.vxe-table--render-default.border--full .vxe-footer--column,.vxe-table--render-default.border--full .vxe-header--column{background-image:-webkit-gradient(linear,left top,left bottom,from(#e8eaec),to(#e8eaec)),-webkit-gradient(linear,left top,left bottom,from(#e8eaec),to(#e8eaec));background-image:linear-gradient(#e8eaec,#e8eaec),linear-gradient(#e8eaec,#e8eaec);background-repeat:no-repeat;background-size: 0.0625rem 100%,100% 0.0625rem;background-position:100% 0,100% 100%}.vxe-table--render-default.border--full .vxe-table--fixed-left-wrapper .vxe-body--column{border-right-color:#e8eaec}.vxe-table--render-default.border--default .vxe-table--header-wrapper .vxe-header--row:last-child .vxe-header--gutter,.vxe-table--render-default.border--full .vxe-table--header-wrapper .vxe-header--row:last-child .vxe-header--gutter,.vxe-table--render-default.border--inner .vxe-table--header-wrapper .vxe-header--row:last-child .vxe-header--gutter,.vxe-table--render-default.border--outer .vxe-table--header-wrapper .vxe-header--row:last-child .vxe-header--gutter{background-image:-webkit-gradient(linear,left top,left bottom,from(#e8eaec),to(#e8eaec));background-image:linear-gradient(#e8eaec,#e8eaec);background-repeat:no-repeat;background-size:100% 0.0625rem;background-position:100% 100%}.vxe-table--render-default.border--inner .vxe-table--header-wrapper,.vxe-table--render-default.border--none .vxe-table--header-wrapper{background-color:#fff}.vxe-table--render-default.border--inner .vxe-table--fixed-left-wrapper,.vxe-table--render-default.border--none .vxe-table--fixed-left-wrapper{border-right:0}.vxe-table--render-default.border--inner .vxe-table--border-line{border-width:0 0 0.0625rem 0}.vxe-table--render-default.border--none .vxe-table--border-line,.vxe-table--render-default.border--none .vxe-table--header-border-line{display:none}.vxe-table--render-default.size--medium{font-size: 0.875rem}.vxe-table--render-default.size--medium .vxe-table--empty-block,.vxe-table--render-default.size--medium .vxe-table--empty-placeholder{min-height: 2.75rem}.vxe-table--render-default.size--medium .vxe-body--column:not(.col--ellipsis),.vxe-table--render-default.size--medium .vxe-footer--column:not(.col--ellipsis),.vxe-table--render-default.size--medium .vxe-header--column:not(.col--ellipsis){padding: 0.6875rem 0}.vxe-table--render-default.size--medium .vxe-cell .vxe-default-input,.vxe-table--render-default.size--medium .vxe-cell .vxe-default-select,.vxe-table--render-default.size--medium .vxe-cell .vxe-default-textarea{height: 2rem}.vxe-table--render-default.size--medium .vxe-cell .vxe-default-input[type=date]::-webkit-inner-spin-button{margin-top: 0.1875rem}.vxe-table--render-default.size--small{font-size: 0.8125rem}.vxe-table--render-default.size--small .vxe-table--empty-block,.vxe-table--render-default.size--small .vxe-table--empty-placeholder{min-height: 2.5rem}.vxe-table--render-default.size--small .vxe-body--column:not(.col--ellipsis),.vxe-table--render-default.size--small .vxe-footer--column:not(.col--ellipsis),.vxe-table--render-default.size--small .vxe-header--column:not(.col--ellipsis){padding: 0.5625rem 0}.vxe-table--render-default.size--small .vxe-cell .vxe-default-input,.vxe-table--render-default.size--small .vxe-cell .vxe-default-select,.vxe-table--render-default.size--small .vxe-cell .vxe-default-textarea{height: 1.875rem}.vxe-table--render-default.size--small .vxe-cell .vxe-default-input[type=date]::-webkit-inner-spin-button{margin-top: 0.125rem}.vxe-table--render-default.size--mini{font-size: 0.75rem}.vxe-table--render-default.size--mini .vxe-table--empty-block,.vxe-table--render-default.size--mini .vxe-table--empty-placeholder{min-height: 2.25rem}.vxe-table--render-default.size--mini .vxe-body--column:not(.col--ellipsis),.vxe-table--render-default.size--mini .vxe-footer--column:not(.col--ellipsis),.vxe-table--render-default.size--mini .vxe-header--column:not(.col--ellipsis){padding: 0.4375rem 0}.vxe-table--render-default.size--mini .vxe-cell .vxe-default-input,.vxe-table--render-default.size--mini .vxe-cell .vxe-default-select,.vxe-table--render-default.size--mini .vxe-cell .vxe-default-textarea{height: 1.75rem}.vxe-table--render-default.size--mini .vxe-cell .vxe-default-input[type=date]::-webkit-inner-spin-button{margin-top: 0.0625rem}.vxe-table--render-default .vxe-cell{white-space:pre-line;word-break:break-all;padding-left: 0.625rem;padding-right: 0.625rem}.vxe-table--render-default .vxe-cell--placeholder{color:#c0c4cc}.vxe-table--render-default .fixed--hidden{visibility:hidden}.vxe-table--render-default .vxe-table--fixed-left-wrapper,.vxe-table--render-default .vxe-table--fixed-right-wrapper{width:100%;position:absolute;top:0;z-index:5;overflow:hidden;background-color:inherit;-webkit-transition:box-shadow .3s;transition:box-shadow .3s}.vxe-table--render-default .vxe-table--fixed-left-wrapper .vxe-table--body-wrapper,.vxe-table--render-default .vxe-table--fixed-right-wrapper .vxe-table--body-wrapper{overflow-x:hidden}.vxe-table--render-default .vxe-table--fixed-left-wrapper .vxe-table--body-wrapper{width:calc(100% + 2.5rem)}.vxe-table--render-default.is--header .vxe-table--fixed-left-wrapper .vxe-table--body-wrapper:before,.vxe-table--render-default.is--header .vxe-table--fixed-right-wrapper .vxe-table--body-wrapper:before{display:none}.vxe-table--render-default .vxe-table--fixed-left-wrapper{left:0;width: 12.5rem}.vxe-table--render-default .vxe-table--fixed-left-wrapper.scrolling--middle{-webkit-box-shadow: 0.25rem 0.1875rem 0.25rem 0 rgba(0,0,0,.12);box-shadow: 0.25rem 0.1875rem 0.25rem 0 rgba(0,0,0,.12)}.vxe-table--render-default .vxe-table--fixed-right-wrapper{right:0}.vxe-table--render-default .vxe-table--fixed-right-wrapper.scrolling--middle{-webkit-box-shadow: -0.25rem 0.1875rem 0.25rem 0 rgba(0,0,0,.12);box-shadow: -0.25rem 0.1875rem 0.25rem 0 rgba(0,0,0,.12)}.vxe-table--render-default .vxe-table--body-wrapper,.vxe-table--render-default .vxe-table--footer-wrapper,.vxe-table--render-default .vxe-table--header-wrapper{position:relative}.vxe-table--render-default .vxe-table--body-wrapper.fixed-left--wrapper,.vxe-table--render-default .vxe-table--body-wrapper.fixed-right--wrapper,.vxe-table--render-default .vxe-table--footer-wrapper.fixed-left--wrapper,.vxe-table--render-default .vxe-table--footer-wrapper.fixed-right--wrapper,.vxe-table--render-default .vxe-table--header-wrapper.fixed-left--wrapper,.vxe-table--render-default .vxe-table--header-wrapper.fixed-right--wrapper{position:absolute;top:0}.vxe-table--render-default .vxe-table--body-wrapper.fixed-left--wrapper,.vxe-table--render-default .vxe-table--footer-wrapper.fixed-left--wrapper,.vxe-table--render-default .vxe-table--header-wrapper.fixed-left--wrapper{left:0}.vxe-table--render-default .vxe-table--body-wrapper.fixed-right--wrapper,.vxe-table--render-default .vxe-table--footer-wrapper.fixed-right--wrapper,.vxe-table--render-default .vxe-table--header-wrapper.fixed-right--wrapper{right:0;overflow-y:auto}.vxe-table--render-default .vxe-body--x-space{width:100%;height: 0.0625rem;margin-bottom: -0.0625rem}.vxe-table--render-default .vxe-body--y-space{width:0;float:left}.vxe-table--render-default .vxe-table--resizable-bar{display:none;position:absolute;top:0;left:0;width: 0.0625rem;height:100%;z-index:9;cursor:col-resize}.vxe-table--render-default .vxe-table--resizable-bar:before{content:"";display:block;height:100%;background-color:#409eff}.vxe-table--render-default .vxe-table--border-line{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;pointer-events:none;border: 0.0625rem solid #e8eaec}.vxe-table--render-default.is--tree-line .vxe-body--row:first-child .vxe-tree--line{border-width:0 0 0.0625rem 0}.vxe-table--render-default.is--tree-line .vxe-body--row .vxe-body--column{background-image:none}.vxe-table--render-default .vxe-tree--line-wrapper{position:relative;display:block;height:0}.vxe-table--render-default .vxe-tree--line{content:"";position:absolute;bottom:-.9em;width:.8em;border-width:0 0 0.0625rem 0.0625rem;border-style:dotted;border-color:#909399;pointer-events:none}.vxe-table--render-default .vxe-cell--tree-node{position:relative}.vxe-table--render-default .vxe-tree--btn-wrapper{position:absolute;top:50%;width:1em;height:1em;text-align:center;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.vxe-table--render-default .vxe-tree--node-btn{display:block;color:#939599}.vxe-table--render-default .vxe-tree--node-btn:hover{color:#606266}.vxe-table--render-default .vxe-tree-cell{display:block;padding-left:1.5em}.vxe-table--render-default .vxe-body--column.col--ellipsis>.vxe-cell .vxe-tree-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-table--render-default .vxe-table--expanded{cursor:pointer}.vxe-table--render-default .vxe-table--expanded .vxe-table--expand-btn{display:inline-block;width:1em;height:1em;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#939599}.vxe-table--render-default .vxe-table--expanded .vxe-table--expand-btn:hover{color:#606266}.vxe-table--render-default .vxe-table--expanded+.vxe-table--expand-label{padding-left:.5em}.vxe-table--render-default .vxe-body--expanded-column{border-bottom: 0.0625rem solid #e8eaec}.vxe-table--render-default .vxe-body--expanded-column.col--ellipsis>.vxe-body--expanded-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-table--render-default .vxe-body--expanded-cell{position:relative;z-index:1}.vxe-table--render-default .vxe-body--expanded-cell.is--ellipsis{overflow:auto}.vxe-table--render-default .vxe-body--column.col--ellipsis>.vxe-cell,.vxe-table--render-default .vxe-footer--column.col--ellipsis>.vxe-cell,.vxe-table--render-default .vxe-header--column.col--ellipsis>.vxe-cell{max-height: 3rem}.vxe-table--render-default.size--medium .vxe-body--column.col--ellipsis>.vxe-cell,.vxe-table--render-default.size--medium .vxe-footer--column.col--ellipsis>.vxe-cell,.vxe-table--render-default.size--medium .vxe-header--column.col--ellipsis>.vxe-cell{max-height: 2.75rem}.vxe-table--render-default.size--medium .vxe-cell--checkbox,.vxe-table--render-default.size--medium .vxe-cell--radio{font-size: 0.875rem}.vxe-table--render-default.size--small .vxe-body--column.col--ellipsis>.vxe-cell,.vxe-table--render-default.size--small .vxe-footer--column.col--ellipsis>.vxe-cell,.vxe-table--render-default.size--small .vxe-header--column.col--ellipsis>.vxe-cell{max-height: 2.5rem}.vxe-table--render-default.size--small .vxe-cell--checkbox,.vxe-table--render-default.size--small .vxe-cell--radio{font-size: 0.8125rem}.vxe-table--render-default.size--mini .vxe-body--column.col--ellipsis>.vxe-cell,.vxe-table--render-default.size--mini .vxe-footer--column.col--ellipsis>.vxe-cell,.vxe-table--render-default.size--mini .vxe-header--column.col--ellipsis>.vxe-cell{max-height: 2.25rem}.vxe-table--render-default.size--mini .vxe-cell--checkbox,.vxe-table--render-default.size--mini .vxe-cell--radio{font-size: 0.75rem}.vxe-table--render-default .vxe-table--empty-block,.vxe-table--render-default .vxe-table--empty-placeholder{min-height: 3rem;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center;overflow:hidden;width:100%;pointer-events:none}.vxe-table--render-default .vxe-table--empty-block{display:none;visibility:hidden}.vxe-table--render-default .vxe-table--empty-placeholder{display:none;position:absolute;top:0;z-index:5}.vxe-table--render-default .vxe-table--empty-content{display:block;width:50%;pointer-events:auto}.vxe-table--render-default.is--empty .vxe-table--empty-block,.vxe-table--render-default.is--empty .vxe-table--empty-placeholder{display:-webkit-box;display:-ms-flexbox;display:flex}.vxe-table--render-default .vxe-body--column.col--selected{-webkit-box-shadow:inset 0 0 0 0.125rem #409eff;box-shadow:inset 0 0 0 0.125rem #409eff}.vxe-table--render-default .vxe-body--column.col--actived,.vxe-table--render-default .vxe-body--column.col--selected{position:relative}.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-cell--valid{width: 20rem;position:absolute;bottom:calc(100% + 0.25rem);left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);text-align:center;pointer-events:none;z-index:4}.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-cell--valid .vxe-cell--valid-msg{display:inline-block;border-radius: 0.25rem;padding: 0.5rem 0.75rem;color:#fff;background-color:#f56c6c;pointer-events:auto}.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-default-input,.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-default-select,.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-default-textarea,.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-input>.vxe-input--inner{border-color:#f56c6c}.vxe-table--render-default .vxe-body--row:first-child .vxe-cell--valid{bottom:auto;top:calc(100% + 0.25rem)}.vxe-table--render-default .vxe-body--column:first-child .vxe-cell--valid{left: 0.625rem;-webkit-transform:translateX(0);transform:translateX(0);text-align:left}.vxe-table--render-default .vxe-body--row.row--new>.vxe-body--column{position:relative}.vxe-table--render-default .vxe-body--row.row--new>.vxe-body--column:before{content:"";top: -0.3125rem;left: -0.3125rem;position:absolute;border-width: 0.3125rem;border-style:solid;border-color:transparent #19a15f transparent transparent;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.vxe-table--render-default .vxe-body--column.col--dirty{position:relative}.vxe-table--render-default .vxe-body--column.col--dirty:before{content:"";top: -0.3125rem;left: -0.3125rem;position:absolute;border-width: 0.3125rem;border-style:solid;border-color:transparent #f56c6c transparent transparent;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.vxe-table--render-default.vxe-editable.cell--highlight .vxe-body--column.col--actived{-webkit-box-shadow:inset 0 0 0 0.125rem #409eff;box-shadow:inset 0 0 0 0.125rem #409eff}.vxe-table--render-default.vxe-editable.cell--highlight .vxe-body--column.col--actived.col--valid-error{-webkit-box-shadow:inset 0 0 0 0.125rem #f56c6c;box-shadow:inset 0 0 0 0.125rem #f56c6c}.vxe-table--render-default.vxe-editable.cell--highlight .vxe-body--column.col--actived .vxe-cell .vxe-default-input,.vxe-table--render-default.vxe-editable.cell--highlight .vxe-body--column.col--actived .vxe-cell .vxe-default-textarea{border:0;padding:0}.vxe-table--render-default.vxe-editable.cell--highlight .vxe-body--column.col--actived .vxe-cell .vxe-default-input{height: 1.375rem}.vxe-table--render-default.vxe-editable.cell--highlight .vxe-body--column.col--actived .vxe-cell .vxe-input .vxe-input--inner{border:0;padding-left:0}.vxe-table--render-default.vxe-editable.cell--highlight .vxe-body--column.col--actived .vxe-cell .vxe-textarea{height: 1.3125rem}.vxe-table--render-default.vxe-editable.cell--highlight .vxe-body--column.col--actived .vxe-cell .vxe-textarea .vxe-textarea--inner{border:0}.vxe-table--render-default.vxe-editable .vxe-body--column,.vxe-table--render-default.vxe-editable .vxe-body--column.col--actived{padding:0}.vxe-table--footer-wrapper{color:#606266;margin-top: -0.0625rem}.vxe-table--footer-wrapper.body--wrapper{overflow-x:auto}.vxe-footer--column.col--ellipsis>.vxe-cell{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.vxe-footer--column.col--ellipsis>.vxe-cell .vxe-cell--item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-grid{position:relative}.vxe-grid.is--loading:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:99;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:hsla(0,0%,100%,.5)}.vxe-grid.is--loading>.vxe-table .vxe-loading{background-color:transparent}.vxe-grid.is--maximize{position:fixed;top:0;left:0;width:100%;height:100%;padding:.5em 1em;background-color:#fff}.vxe-grid .vxe-body--row.row--pending{color:#f56c6c;text-decoration:line-through;cursor:no-drop}.vxe-grid .vxe-body--row.row--pending .vxe-body--column{position:relative}.vxe-grid .vxe-body--row.row--pending .vxe-body--column:after{content:"";position:absolute;top:50%;left:0;width:100%;height:0;border-bottom: 0.0625rem solid #f56c6c;z-index:1}.vxe-grid .vxe-grid--bottom-wrapper,.vxe-grid .vxe-grid--form-wrapper,.vxe-grid .vxe-grid--top-wrapper{position:relative}.vxe-grid,.vxe-grid.size--medium{font-size: 0.875rem}.vxe-grid.size--small{font-size: 0.8125rem}.vxe-grid.size--mini{font-size: 0.75rem}.vxe-toolbar{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.6em 0;color:#606266;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;background-color:#fff}.vxe-toolbar:after{content:"";display:block;clear:both;height:0;overflow:hidden;visibility:hidden}.vxe-toolbar.is--perfect{border: 0.0625rem solid #e8eaec;border-bottom-width:0;background-color:#f8f8f9}.vxe-toolbar.is--loading:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:hsla(0,0%,100%,.5)}.vxe-toolbar .vxe-buttons--wrapper{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.vxe-toolbar .vxe-buttons--wrapper>.vxe-button+.vxe-button--item,.vxe-toolbar .vxe-buttons--wrapper>.vxe-button--item+.vxe-button,.vxe-toolbar .vxe-buttons--wrapper>.vxe-button--item+.vxe-button--item{margin-left:.8em}.vxe-toolbar .vxe-buttons--wrapper>.vxe-button--item{display:inline-block}.vxe-toolbar .vxe-tools--wrapper>.vxe-button+.vxe-tool--item,.vxe-toolbar .vxe-tools--wrapper>.vxe-tool--item+.vxe-button,.vxe-toolbar .vxe-tools--wrapper>.vxe-tool--item+.vxe-tool--item{margin-left:.8em}.vxe-toolbar .vxe-tools--wrapper>.vxe-tool--item{display:inline-block}.vxe-toolbar .vxe-tools--wrapper>.vxe-button{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.vxe-toolbar .vxe-buttons--wrapper,.vxe-toolbar .vxe-tools--operate,.vxe-toolbar .vxe-tools--wrapper,.vxe-toolbar .vxe-tools--wrapper>.vxe-button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.vxe-toolbar .vxe-buttons--wrapper,.vxe-toolbar .vxe-tools--wrapper{-ms-flex-wrap:wrap;flex-wrap:wrap}.vxe-toolbar .vxe-tools--operate{-ms-flex-negative:0;flex-shrink:0}.vxe-toolbar .vxe-custom--wrapper{position:relative;margin-left:.8em}.vxe-toolbar .vxe-custom--wrapper.is--active>.vxe-button{background-color:#d9dadb;border-radius:50%}.vxe-toolbar .vxe-custom--wrapper.is--active .vxe-custom--option-wrapper{display:block}.vxe-toolbar .vxe-custom--option-wrapper{display:none;position:absolute;right: 0.125rem;text-align:left;background-color:#fff;z-index:19;border: 0.0625rem solid #e8eaec;border-radius: 0.25rem;-webkit-box-shadow:0 0.0625rem 0.375rem rgba(0,0,0,.2);box-shadow:0 0.0625rem 0.375rem rgba(0,0,0,.2)}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header{padding:.28em 0;font-weight:700;border-bottom: 0.0625rem solid #dadce0}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body{padding:.2em 0;max-height:17.6em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body .vxe-custom--option:hover{background-color:#f5f7fa}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li{max-width:16em;min-width:12.5em;padding:.2em 1em .2em 1em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--2,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--2{padding-left:3.5em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--2 .vxe-checkbox--icon,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--2 .vxe-checkbox--icon{left:1.8em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--3,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--3{padding-left:4.5em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--3 .vxe-checkbox--icon,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--3 .vxe-checkbox--icon{left:2.8em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--4,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--4{padding-left:5.5em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--4 .vxe-checkbox--icon,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--4 .vxe-checkbox--icon{left:3.8em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--5,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--5{padding-left:6.5em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--5 .vxe-checkbox--icon,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--5 .vxe-checkbox--icon{left:4.8em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--6,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--6{padding-left:7.5em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--6 .vxe-checkbox--icon,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--6 .vxe-checkbox--icon{left:5.8em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--7,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--7{padding-left:8.5em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--7 .vxe-checkbox--icon,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--7 .vxe-checkbox--icon{left:6.8em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--8,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--8{padding-left:9.5em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--8 .vxe-checkbox--icon,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--8 .vxe-checkbox--icon{left:7.8em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--footer{border-top: 0.0625rem solid #dadce0;text-align:right}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--footer button{background-color:transparent;width:50%;height:2.5em;border:0;color:#606266;text-align:center;cursor:pointer}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--footer button:focus{outline:none}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--footer button:hover{color:#409eff}.vxe-custom--option-wrapper .vxe-custom--body,.vxe-custom--option-wrapper .vxe-custom--header{list-style-type:none;overflow-x:hidden;overflow-y:auto;margin:0;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-custom--option-wrapper .vxe-custom--body>li,.vxe-custom--option-wrapper .vxe-custom--header>li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-toolbar,.vxe-toolbar.size--medium{font-size: 0.875rem}.vxe-toolbar.size--small{font-size: 0.8125rem}.vxe-toolbar.size--mini{font-size: 0.75rem}.vxe-pager{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#606266;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;text-align:right;background-color:#fff}.vxe-pager.is--hidden{display:none}.vxe-pager.align--left{text-align:left}.vxe-pager.align--center{text-align:center}.vxe-pager.is--loading:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:hsla(0,0%,100%,.5)}.vxe-pager .vxe-pager--jump-next,.vxe-pager .vxe-pager--jump-prev,.vxe-pager .vxe-pager--next-btn,.vxe-pager .vxe-pager--num-btn,.vxe-pager .vxe-pager--prev-btn{color:inherit;outline:0;padding:0;border: 0.0625rem solid transparent}.vxe-pager .vxe-pager--jump-next:not(.is--disabled):focus,.vxe-pager .vxe-pager--jump-prev:not(.is--disabled):focus,.vxe-pager .vxe-pager--next-btn:not(.is--disabled):focus,.vxe-pager .vxe-pager--num-btn:not(.is--disabled):focus,.vxe-pager .vxe-pager--prev-btn:not(.is--disabled):focus{-webkit-box-shadow:0 0 .25em 0 #409eff;box-shadow:0 0 .25em 0 #409eff}.vxe-pager .vxe-pager--jump-next:not(.is--disabled):active,.vxe-pager .vxe-pager--jump-prev:not(.is--disabled):active,.vxe-pager .vxe-pager--next-btn:not(.is--disabled):active,.vxe-pager .vxe-pager--num-btn:not(.is--disabled):active,.vxe-pager .vxe-pager--prev-btn:not(.is--disabled):active{background-color:#f7f7f7}.vxe-pager.is--border:not(.is--background) .vxe-pager--jump-next,.vxe-pager.is--border:not(.is--background) .vxe-pager--jump-prev,.vxe-pager.is--border:not(.is--background) .vxe-pager--next-btn,.vxe-pager.is--border:not(.is--background) .vxe-pager--num-btn,.vxe-pager.is--border:not(.is--background) .vxe-pager--prev-btn,.vxe-pager.is--perfect:not(.is--background) .vxe-pager--jump-next,.vxe-pager.is--perfect:not(.is--background) .vxe-pager--jump-prev,.vxe-pager.is--perfect:not(.is--background) .vxe-pager--next-btn,.vxe-pager.is--perfect:not(.is--background) .vxe-pager--num-btn,.vxe-pager.is--perfect:not(.is--background) .vxe-pager--prev-btn{border-color:#dcdfe6}.vxe-pager.is--background .vxe-pager--jump-next,.vxe-pager.is--background .vxe-pager--jump-prev,.vxe-pager.is--background .vxe-pager--next-btn,.vxe-pager.is--background .vxe-pager--num-btn,.vxe-pager.is--background .vxe-pager--prev-btn,.vxe-pager.is--perfect .vxe-pager--jump-next,.vxe-pager.is--perfect .vxe-pager--jump-prev,.vxe-pager.is--perfect .vxe-pager--next-btn,.vxe-pager.is--perfect .vxe-pager--num-btn,.vxe-pager.is--perfect .vxe-pager--prev-btn{background-color:#f4f4f5}.vxe-pager.is--background .vxe-pager--jump-next:not(.is--disabled).is--active,.vxe-pager.is--background .vxe-pager--jump-prev:not(.is--disabled).is--active,.vxe-pager.is--background .vxe-pager--num-btn:not(.is--disabled).is--active,.vxe-pager.is--perfect .vxe-pager--jump-next:not(.is--disabled).is--active,.vxe-pager.is--perfect .vxe-pager--jump-prev:not(.is--disabled).is--active,.vxe-pager.is--perfect .vxe-pager--num-btn:not(.is--disabled).is--active{color:#fff;background-color:#409eff}.vxe-pager.is--background .vxe-pager--jump-next:not(.is--disabled).is--active:hover,.vxe-pager.is--background .vxe-pager--jump-prev:not(.is--disabled).is--active:hover,.vxe-pager.is--background .vxe-pager--num-btn:not(.is--disabled).is--active:hover,.vxe-pager.is--perfect .vxe-pager--jump-next:not(.is--disabled).is--active:hover,.vxe-pager.is--perfect .vxe-pager--jump-prev:not(.is--disabled).is--active:hover,.vxe-pager.is--perfect .vxe-pager--num-btn:not(.is--disabled).is--active:hover{background-color:#5faeff}.vxe-pager.is--background .vxe-pager--jump-next:not(.is--disabled).is--active:focus,.vxe-pager.is--background .vxe-pager--jump-prev:not(.is--disabled).is--active:focus,.vxe-pager.is--background .vxe-pager--num-btn:not(.is--disabled).is--active:focus,.vxe-pager.is--perfect .vxe-pager--jump-next:not(.is--disabled).is--active:focus,.vxe-pager.is--perfect .vxe-pager--jump-prev:not(.is--disabled).is--active:focus,.vxe-pager.is--perfect .vxe-pager--num-btn:not(.is--disabled).is--active:focus{border-color:#409eff}.vxe-pager.is--background .vxe-pager--jump-next:not(.is--disabled).is--active:active,.vxe-pager.is--background .vxe-pager--jump-prev:not(.is--disabled).is--active:active,.vxe-pager.is--background .vxe-pager--num-btn:not(.is--disabled).is--active:active,.vxe-pager.is--perfect .vxe-pager--jump-next:not(.is--disabled).is--active:active,.vxe-pager.is--perfect .vxe-pager--jump-prev:not(.is--disabled).is--active:active,.vxe-pager.is--perfect .vxe-pager--num-btn:not(.is--disabled).is--active:active{border-color:#3196ff;background-color:#3196ff}.vxe-pager.is--perfect{border: 0.0625rem solid #e8eaec;border-top-width:0;background-color:#fff}.vxe-pager.is--border .vxe-pager--num-btn.is--active{border-color:#409eff}.vxe-pager .vxe-pager--wrapper{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.vxe-pager .vxe-pager--btn-icon,.vxe-pager .vxe-pager--jump-icon{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.vxe-pager .vxe-pager--count,.vxe-pager .vxe-pager--jump,.vxe-pager .vxe-pager--jump-next,.vxe-pager .vxe-pager--jump-prev,.vxe-pager .vxe-pager--left-wrapper,.vxe-pager .vxe-pager--next-btn,.vxe-pager .vxe-pager--prev-btn,.vxe-pager .vxe-pager--right-wrapper,.vxe-pager .vxe-pager--sizes,.vxe-pager .vxe-pager--total{margin:0 .4em;vertical-align:middle;display:inline-block}.vxe-pager .vxe-pager--jump-next,.vxe-pager .vxe-pager--jump-prev,.vxe-pager .vxe-pager--next-btn,.vxe-pager .vxe-pager--num-btn,.vxe-pager .vxe-pager--prev-btn{position:relative;cursor:pointer}.vxe-pager .vxe-pager--count,.vxe-pager .vxe-pager--jump-next,.vxe-pager .vxe-pager--jump-prev,.vxe-pager .vxe-pager--left-wrapper,.vxe-pager .vxe-pager--next-btn,.vxe-pager .vxe-pager--num-btn,.vxe-pager .vxe-pager--prev-btn,.vxe-pager .vxe-pager--right-wrapper{height:2.15em;line-height:2em;display:inline-block}.vxe-pager .vxe-pager--jump .vxe-pager--goto,.vxe-pager .vxe-pager--sizes>.vxe-input{height:2.15em;line-height:2.15em}.vxe-pager .vxe-pager--sizes>.vxe-select--panel .vxe-select-option{text-align:center}.vxe-pager .vxe-pager--count,.vxe-pager .vxe-pager--jump-next,.vxe-pager .vxe-pager--jump-prev,.vxe-pager .vxe-pager--next-btn,.vxe-pager .vxe-pager--num-btn,.vxe-pager .vxe-pager--prev-btn{min-width:2.15em}.vxe-pager .vxe-pager--btn-wrapper{padding:0;margin:0;display:inline-block;text-align:center}.vxe-pager .vxe-pager--btn-wrapper .vxe-pager--jump-next:hover .vxe-pager--jump-more-icon,.vxe-pager .vxe-pager--btn-wrapper .vxe-pager--jump-prev:hover .vxe-pager--jump-more-icon{display:none}.vxe-pager .vxe-pager--btn-wrapper .vxe-pager--jump-next:hover .vxe-pager--jump-icon,.vxe-pager .vxe-pager--btn-wrapper .vxe-pager--jump-prev:hover .vxe-pager--jump-icon{display:inline-block}.vxe-pager .vxe-pager--btn-wrapper .vxe-pager--jump-icon{display:none}.vxe-pager .vxe-pager--jump-next,.vxe-pager .vxe-pager--jump-prev,.vxe-pager .vxe-pager--next-btn,.vxe-pager .vxe-pager--num-btn,.vxe-pager .vxe-pager--prev-btn{text-align:center;border-radius: 0.25rem;margin:0 .25em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff}.vxe-pager .vxe-pager--jump-next:not(.is--disabled):hover,.vxe-pager .vxe-pager--jump-prev:not(.is--disabled):hover,.vxe-pager .vxe-pager--next-btn:not(.is--disabled):hover,.vxe-pager .vxe-pager--num-btn:not(.is--disabled):hover,.vxe-pager .vxe-pager--prev-btn:not(.is--disabled):hover{color:#5faeff}.vxe-pager .vxe-pager--jump-next:not(.is--disabled).is--active,.vxe-pager .vxe-pager--jump-next:not(.is--disabled):focus,.vxe-pager .vxe-pager--jump-prev:not(.is--disabled).is--active,.vxe-pager .vxe-pager--jump-prev:not(.is--disabled):focus,.vxe-pager .vxe-pager--next-btn:not(.is--disabled).is--active,.vxe-pager .vxe-pager--next-btn:not(.is--disabled):focus,.vxe-pager .vxe-pager--num-btn:not(.is--disabled).is--active,.vxe-pager .vxe-pager--num-btn:not(.is--disabled):focus,.vxe-pager .vxe-pager--prev-btn:not(.is--disabled).is--active,.vxe-pager .vxe-pager--prev-btn:not(.is--disabled):focus{color:#409eff}.vxe-pager .vxe-pager--jump-next:not(.is--disabled):active,.vxe-pager .vxe-pager--jump-prev:not(.is--disabled):active,.vxe-pager .vxe-pager--next-btn:not(.is--disabled):active,.vxe-pager .vxe-pager--num-btn:not(.is--disabled):active,.vxe-pager .vxe-pager--prev-btn:not(.is--disabled):active{color:#3196ff}.vxe-pager .vxe-pager--jump-next.is--disabled,.vxe-pager .vxe-pager--jump-prev.is--disabled,.vxe-pager .vxe-pager--next-btn.is--disabled,.vxe-pager .vxe-pager--num-btn.is--disabled,.vxe-pager .vxe-pager--prev-btn.is--disabled{cursor:no-drop;color:#bfbfbf}.vxe-pager .vxe-pager--jump-next.is--disabled:hover,.vxe-pager .vxe-pager--jump-prev.is--disabled:hover,.vxe-pager .vxe-pager--next-btn.is--disabled:hover,.vxe-pager .vxe-pager--num-btn.is--disabled:hover,.vxe-pager .vxe-pager--prev-btn.is--disabled:hover{color:#bfbfbf}.vxe-pager .vxe-pager--num-btn{vertical-align:middle}.vxe-pager .vxe-pager--num-btn.is--active{font-weight:700}.vxe-pager .vxe-pager--sizes{width:7em;text-align:center;cursor:pointer}.vxe-pager .vxe-pager--count,.vxe-pager .vxe-pager--sizes .vxe-input--inner{text-align:center}.vxe-pager .vxe-pager--count>span{vertical-align:middle}.vxe-pager .vxe-pager--count .vxe-pager--separator{margin-right:.2em}.vxe-pager .vxe-pager--count .vxe-pager--separator:before{content:"/"}.vxe-pager .vxe-pager--jump .vxe-pager--goto{border-radius: 0.25rem;border: 0.0625rem solid #dcdfe6;color:#606266;-webkit-transition:border .2s ease-in-out;transition:border .2s ease-in-out;padding:0 .4em;background-color:#fff}.vxe-pager .vxe-pager--jump .vxe-pager--goto:focus{border: 0.0625rem solid #409eff;outline:0}.vxe-pager .vxe-pager--jump .vxe-pager--goto-text{margin-right:.25em}.vxe-pager .vxe-pager--jump .vxe-pager--classifier-text{margin-left:.25em}.vxe-pager .vxe-pager--jump .vxe-pager--goto{width:3.2em;text-align:center}.vxe-pager{font-size: 0.875rem;height: 3rem}.vxe-pager.size--medium{font-size: 0.875rem;height: 2.75rem}.vxe-pager.size--small{font-size: 0.8125rem;height: 2.5rem}.vxe-pager.size--mini{font-size: 0.75rem;height: 2.25rem}.vxe-checkbox,.vxe-checkbox-group{display:inline-block;vertical-align:middle;line-height:1}.vxe-checkbox{white-space:nowrap}.vxe-checkbox+.vxe-checkbox{margin-left: 0.625rem}.vxe-checkbox>input[type=checkbox]{position:absolute;width:0;height:0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.vxe-checkbox.is--indeterminate>input:not(:checked)+.vxe-checkbox--icon{color:#409eff}.vxe-checkbox:not(.is--disabled)>input:focus+.vxe-checkbox--icon{color:#409eff;-webkit-box-shadow:0 0 .2em 0 #409eff;box-shadow:0 0 .2em 0 #409eff}.vxe-checkbox:not(.is--disabled):hover>input+.vxe-checkbox--icon{border-color:#409eff}.vxe-checkbox.is--disabled{cursor:not-allowed}.vxe-checkbox.is--disabled>input+.vxe-checkbox--icon{color:#dcdfe6}.vxe-checkbox.is--disabled>input+.vxe-checkbox--icon+.vxe-checkbox--label{color:#bfbfbf}.vxe-checkbox.is--disabled>input:checked+.vxe-checkbox--icon{color:#dcdfe6}.vxe-checkbox .vxe-checkbox--label{padding-left:.5em;vertical-align:middle;display:inline-block;max-width:50em}.vxe-checkbox,.vxe-checkbox.size--medium{font-size: 0.875rem}.vxe-checkbox.size--small{font-size: 0.8125rem}.vxe-checkbox.size--mini{font-size: 0.75rem}[class*=vxe-],[class*=vxe-]:after,[class*=vxe-] :after,[class*=vxe-]:before,[class*=vxe-] :before{-webkit-box-sizing:border-box;box-sizing:border-box}.vxe-checkbox .vxe-checkbox--label,.vxe-radio-button .vxe-radio--label,.vxe-radio .vxe-radio--label,.vxe-table--render-default .vxe-body--column.col--ellipsis:not(.col--actived)>.vxe-cell,.vxe-table--render-default .vxe-footer--column.col--ellipsis:not(.col--actived)>.vxe-cell,.vxe-table--render-default .vxe-header--column.col--ellipsis:not(.col--actived)>.vxe-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[class*=vxe-]{font-variant:tabular-nums;-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum"}.vxe-primary-color{color:#409eff}.vxe-success-color{color:#67c23a}.vxe-info-color{color:#909399}.vxe-warning-color{color:#e6a23c}.vxe-danger-color{color:#f56c6c}.vxe-perfect-color{color:#f8f8f9}.vxe-row:after{content:"";display:block;clear:both;height:0;overflow:hidden;visibility:hidden}.vxe-row>.vxe-col--1{float:left;width:4.16667%}.vxe-row>.vxe-col--2{float:left;width:8.33333%}.vxe-row>.vxe-col--3{float:left;width:12.5%}.vxe-row>.vxe-col--4{float:left;width:16.66667%}.vxe-row>.vxe-col--5{float:left;width:20.83333%}.vxe-row>.vxe-col--6{float:left;width:25%}.vxe-row>.vxe-col--7{float:left;width:29.16667%}.vxe-row>.vxe-col--8{float:left;width:33.33333%}.vxe-row>.vxe-col--9{float:left;width:37.5%}.vxe-row>.vxe-col--10{float:left;width:41.66667%}.vxe-row>.vxe-col--11{float:left;width:45.83333%}.vxe-row>.vxe-col--12{float:left;width:50%}.vxe-row>.vxe-col--13{float:left;width:54.16667%}.vxe-row>.vxe-col--14{float:left;width:58.33333%}.vxe-row>.vxe-col--15{float:left;width:62.5%}.vxe-row>.vxe-col--16{float:left;width:66.66667%}.vxe-row>.vxe-col--17{float:left;width:70.83333%}.vxe-row>.vxe-col--18{float:left;width:75%}.vxe-row>.vxe-col--19{float:left;width:79.16667%}.vxe-row>.vxe-col--20{float:left;width:83.33333%}.vxe-row>.vxe-col--21{float:left;width:87.5%}.vxe-row>.vxe-col--22{float:left;width:91.66667%}.vxe-row>.vxe-col--23{float:left;width:95.83333%}.vxe-row>.vxe-col--24{float:left;width:100%}.is--animat .vxe-filter--btn:after,.is--animat .vxe-filter--btn:before,.is--animat .vxe-input--wrapper .vxe-input,.is--animat .vxe-sort--asc-btn:after,.is--animat .vxe-sort--asc-btn:before,.is--animat .vxe-sort--desc-btn:after,.is--animat .vxe-sort--desc-btn:before{-webkit-transition:border .1s ease-in-out;transition:border .1s ease-in-out}.is--animat .vxe-table--expand-btn,.is--animat .vxe-tree--node-btn{-webkit-transition:-webkit-transform .1s ease-in-out;transition:-webkit-transform .1s ease-in-out;transition:transform .1s ease-in-out;transition:transform .1s ease-in-out,-webkit-transform .1s ease-in-out}.is--animat .vxe-checkbox>input:checked+span,.is--animat .vxe-radio>input:checked+span{-webkit-transition:background-color .1s ease-in-out;transition:background-color .1s ease-in-out}.vxe-checkbox .vxe-checkbox--icon,.vxe-custom--option .vxe-checkbox--icon,.vxe-export--panel-column-option .vxe-checkbox--icon,.vxe-table--filter-option .vxe-checkbox--icon,.vxe-table--render-default .vxe-cell--checkbox .vxe-checkbox--icon{font-size:1.34em;color:#dcdfe6;vertical-align:middle;font-weight:700;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.is--checked.vxe-checkbox,.is--checked.vxe-checkbox .vxe-checkbox--icon,.is--checked.vxe-custom--option,.is--checked.vxe-custom--option .vxe-checkbox--icon,.is--checked.vxe-export--panel-column-option,.is--checked.vxe-export--panel-column-option .vxe-checkbox--icon,.is--checked.vxe-table--filter-option,.is--checked.vxe-table--filter-option .vxe-checkbox--icon,.is--indeterminate.vxe-checkbox,.is--indeterminate.vxe-checkbox .vxe-checkbox--icon,.is--indeterminate.vxe-custom--option,.is--indeterminate.vxe-custom--option .vxe-checkbox--icon,.is--indeterminate.vxe-export--panel-column-option,.is--indeterminate.vxe-export--panel-column-option .vxe-checkbox--icon,.is--indeterminate.vxe-table--filter-option,.is--indeterminate.vxe-table--filter-option .vxe-checkbox--icon,.vxe-table--render-default .is--checked.vxe-cell--checkbox,.vxe-table--render-default .is--checked.vxe-cell--checkbox .vxe-checkbox--icon,.vxe-table--render-default .is--indeterminate.vxe-cell--checkbox,.vxe-table--render-default .is--indeterminate.vxe-cell--checkbox .vxe-checkbox--icon{color:#409eff}.vxe-checkbox:not(.is--disabled),.vxe-custom--option:not(.is--disabled),.vxe-export--panel-column-option:not(.is--disabled),.vxe-table--filter-option:not(.is--disabled),.vxe-table--render-default .vxe-cell--checkbox:not(.is--disabled){cursor:pointer}.vxe-checkbox:not(.is--disabled):hover .vxe-checkbox--icon,.vxe-custom--option:not(.is--disabled):hover .vxe-checkbox--icon,.vxe-export--panel-column-option:not(.is--disabled):hover .vxe-checkbox--icon,.vxe-table--filter-option:not(.is--disabled):hover .vxe-checkbox--icon,.vxe-table--render-default .vxe-cell--checkbox:not(.is--disabled):hover .vxe-checkbox--icon{color:#409eff}.is--disabled.vxe-checkbox,.is--disabled.vxe-custom--option,.is--disabled.vxe-export--panel-column-option,.is--disabled.vxe-table--filter-option,.vxe-table--render-default .is--disabled.vxe-cell--checkbox{color:#bfbfbf;cursor:not-allowed}.is--disabled.vxe-checkbox .vxe-checkbox--icon,.is--disabled.vxe-custom--option .vxe-checkbox--icon,.is--disabled.vxe-export--panel-column-option .vxe-checkbox--icon,.is--disabled.vxe-table--filter-option .vxe-checkbox--icon,.vxe-table--render-default .is--disabled.vxe-cell--checkbox .vxe-checkbox--icon{color:#dcdfe6}.vxe-checkbox .vxe-checkbox--label,.vxe-custom--option .vxe-checkbox--label,.vxe-export--panel-column-option .vxe-checkbox--label,.vxe-table--filter-option .vxe-checkbox--label,.vxe-table--render-default .vxe-cell--checkbox .vxe-checkbox--label{padding-left:.5em;vertical-align:middle}.vxe-radio,.vxe-table--render-default .vxe-cell--radio{cursor:pointer}.vxe-radio .vxe-radio--icon,.vxe-table--render-default .vxe-cell--radio .vxe-radio--icon{font-size:1.4em;color:#dcdfe6;vertical-align:middle;font-weight:700;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.is--checked.vxe-radio,.is--checked.vxe-radio .vxe-radio--icon,.vxe-table--render-default .is--checked.vxe-cell--radio,.vxe-table--render-default .is--checked.vxe-cell--radio .vxe-radio--icon{color:#409eff}.vxe-radio:not(.is--disabled),.vxe-table--render-default .vxe-cell--radio:not(.is--disabled){cursor:pointer}.vxe-radio:not(.is--disabled):hover .vxe-radio--icon,.vxe-table--render-default .vxe-cell--radio:not(.is--disabled):hover .vxe-radio--icon{color:#409eff}.is--disabled.vxe-radio,.vxe-table--render-default .is--disabled.vxe-cell--radio{color:#bfbfbf;cursor:not-allowed}.is--disabled.vxe-radio .vxe-radio--icon,.vxe-table--render-default .is--disabled.vxe-cell--radio .vxe-radio--icon{color:#dcdfe6}.vxe-radio .vxe-radio--label,.vxe-table--render-default .vxe-cell--radio .vxe-radio--label{padding-left:.5em;vertical-align:middle}.vxe-radio-group{display:inline-block;vertical-align:middle;line-height:1;font-size:0}.vxe-radio-group+.vxe-radio-group{margin-left: 0.625rem}.vxe-radio{display:inline-block;vertical-align:middle;white-space:nowrap;line-height:1}.vxe-radio>input[type=radio]{position:absolute;width:0;height:0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.vxe-radio .vxe-radio--label{vertical-align:middle;display:inline-block;max-width:50em}.vxe-radio:not(.is--disabled)>input:focus+.vxe-radio--icon{color:#409eff}.vxe-radio:not(.vxe-radio-button)+.vxe-radio{margin-left: 0.625rem}.vxe-radio-button .vxe-radio--label{background-color:#fff}.vxe-radio-button:first-child .vxe-radio--label{border-left: 0.0625rem solid #dcdfe6;border-radius: 0.25rem 0 0 0.25rem}.vxe-radio-button:last-child .vxe-radio--label{border-radius:0 0.25rem 0.25rem 0}.vxe-radio-button>input:checked+.vxe-radio--label{color:#fff;background-color:#409eff;border-color:#409eff}.vxe-radio-button .vxe-radio--label{padding:0 1em;line-height: 2rem;display:inline-block;border-style:solid;border-color:#dcdfe6;border-width: 0.0625rem 0.0625rem 0.0625rem 0;max-width:50em}.vxe-radio-button.is--disabled{cursor:not-allowed}.vxe-radio-button.is--disabled>input:not(:checked)+.vxe-radio--label{color:#dcdfe6}.vxe-radio-button.is--disabled>input:checked+.vxe-radio--label{border-color:#a6d2ff;background-color:#a6d2ff}.vxe-radio-button:not(.is--disabled)>input:focus+.vxe-radio--label{border-color:#409eff;-webkit-box-shadow:0 0 .2em 0 #409eff;box-shadow:0 0 .2em 0 #409eff}.vxe-radio-button:not(.is--disabled):hover>input:not(:checked)+.vxe-radio--label{color:#409eff}.vxe-radio-button.size--medium .vxe-radio--label{line-height: 1.875rem}.vxe-radio-button.size--small .vxe-radio--label{line-height: 1.75rem}.vxe-radio-button.size--mini .vxe-radio--label{line-height: 1.625rem}.vxe-radio,.vxe-radio.size--medium{font-size: 0.875rem}.vxe-radio.size--small{font-size: 0.8125rem}.vxe-radio.size--mini{font-size: 0.75rem}.vxe-input--inner{width:100%;height:100%;border-radius: 0.25rem;outline:0;margin:0;font-size:inherit;font-family:inherit;line-height:inherit;padding:0 .6em;color:#606266;border: 0.0625rem solid #dcdfe6;background-color:#fff;-webkit-box-shadow:none;box-shadow:none}.vxe-input--inner::-webkit-input-placeholder{color:#c0c4cc}.vxe-input--inner::-moz-placeholder{color:#c0c4cc}.vxe-input--inner:-ms-input-placeholder{color:#c0c4cc}.vxe-input--inner::-ms-input-placeholder{color:#c0c4cc}.vxe-input--inner::placeholder{color:#c0c4cc}.vxe-input--inner::-webkit-autofill{background-color:#fff}.vxe-input--inner[type=number]{-webkit-appearance:none;appearance:none;-moz-appearance:textfield}.vxe-input--inner[type=number]::-webkit-inner-spin-button,.vxe-input--inner[type=number]::-webkit-outer-spin-button,.vxe-input--inner[type=search],.vxe-input--inner[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.vxe-input--inner[disabled]{cursor:not-allowed;color:#bfbfbf;background-color:#f3f3f3}.vxe-input{display:inline-block;position:relative;width: 11.25rem}.vxe-input.is--disabled .vxe-input--date-picker-suffix,.vxe-input.is--disabled .vxe-input--number-suffix,.vxe-input.is--disabled .vxe-input--password-suffix,.vxe-input.is--disabled .vxe-input--search-suffix,.vxe-input.is--disabled .vxe-input--suffix{cursor:no-drop}.vxe-input:not(.is--disabled) .vxe-input--clear-icon,.vxe-input:not(.is--disabled) .vxe-input--number-suffix,.vxe-input:not(.is--disabled) .vxe-input--password-suffix,.vxe-input:not(.is--disabled) .vxe-input--search-suffix{cursor:pointer}.vxe-input:not(.is--disabled).is--active .vxe-input--inner{border: 0.0625rem solid #409eff}.vxe-input .vxe-input--extra-suffix,.vxe-input .vxe-input--prefix,.vxe-input .vxe-input--suffix{display:-webkit-box;display:-ms-flexbox;display:flex;position:absolute;top:0;width:1.6em;height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#c0c4cc}.vxe-input .vxe-input--prefix{left:.2em}.vxe-input.is--prefix .vxe-input--inner{padding-left:1.8em}.vxe-input .vxe-input--clear-icon{display:none}.vxe-input .vxe-input--extra-suffix,.vxe-input .vxe-input--suffix{right:.2em}.vxe-input.is--suffix .vxe-input--inner{padding-right:1.8em}.vxe-input.is--left .vxe-input--inner{text-align:left}.vxe-input.is--center .vxe-input--inner{text-align:center}.vxe-input.is--right .vxe-input--inner{text-align:right}.vxe-input.is--controls.type--date .vxe-input--inner,.vxe-input.is--controls.type--datetime .vxe-input--inner,.vxe-input.is--controls.type--float .vxe-input--inner,.vxe-input.is--controls.type--integer .vxe-input--inner,.vxe-input.is--controls.type--month .vxe-input--inner,.vxe-input.is--controls.type--number .vxe-input--inner,.vxe-input.is--controls.type--password .vxe-input--inner,.vxe-input.is--controls.type--quarter .vxe-input--inner,.vxe-input.is--controls.type--search .vxe-input--inner,.vxe-input.is--controls.type--time .vxe-input--inner,.vxe-input.is--controls.type--week .vxe-input--inner,.vxe-input.is--controls.type--year .vxe-input--inner{padding-right:1.8em}.vxe-input.is--controls.type--date .vxe-input--suffix,.vxe-input.is--controls.type--datetime .vxe-input--suffix,.vxe-input.is--controls.type--float .vxe-input--suffix,.vxe-input.is--controls.type--integer .vxe-input--suffix,.vxe-input.is--controls.type--month .vxe-input--suffix,.vxe-input.is--controls.type--number .vxe-input--suffix,.vxe-input.is--controls.type--password .vxe-input--suffix,.vxe-input.is--controls.type--quarter .vxe-input--suffix,.vxe-input.is--controls.type--search .vxe-input--suffix,.vxe-input.is--controls.type--time .vxe-input--suffix,.vxe-input.is--controls.type--week .vxe-input--suffix,.vxe-input.is--controls.type--year .vxe-input--suffix{right:1.6em}.vxe-input.is--suffix.is--controls.type--date .vxe-input--inner,.vxe-input.is--suffix.is--controls.type--datetime .vxe-input--inner,.vxe-input.is--suffix.is--controls.type--float .vxe-input--inner,.vxe-input.is--suffix.is--controls.type--integer .vxe-input--inner,.vxe-input.is--suffix.is--controls.type--month .vxe-input--inner,.vxe-input.is--suffix.is--controls.type--number .vxe-input--inner,.vxe-input.is--suffix.is--controls.type--password .vxe-input--inner,.vxe-input.is--suffix.is--controls.type--quarter .vxe-input--inner,.vxe-input.is--suffix.is--controls.type--search .vxe-input--inner,.vxe-input.is--suffix.is--controls.type--time .vxe-input--inner,.vxe-input.is--suffix.is--controls.type--week .vxe-input--inner,.vxe-input.is--suffix.is--controls.type--year .vxe-input--inner{padding-right:3.2em}.vxe-input.is--suffix:hover .vxe-input--suffix.is--clear .vxe-input--suffix-icon{display:none}.vxe-input.is--suffix:hover .vxe-input--suffix.is--clear .vxe-input--clear-icon{display:inline}.vxe-input:not(.is--disabled) .vxe-input--suffix:hover .vxe-input--clear-icon{color:#606266}.vxe-input:not(.is--disabled) .vxe-input--suffix:active .vxe-input--clear-icon{color:#409eff}.vxe-input:not(.is--disabled) .vxe-input--extra-suffix:hover .vxe-input--password-suffix,.vxe-input:not(.is--disabled) .vxe-input--extra-suffix:hover .vxe-input--search-suffix{color:#606266}.vxe-input:not(.is--disabled) .vxe-input--extra-suffix:active .vxe-input--password-suffix,.vxe-input:not(.is--disabled) .vxe-input--extra-suffix:active .vxe-input--search-suffix{color:#409eff}.vxe-input:not(.is--disabled) .vxe-input--number-next:hover,.vxe-input:not(.is--disabled) .vxe-input--number-prev:hover{color:#606266}.vxe-input:not(.is--disabled) .vxe-input--number-next:active,.vxe-input:not(.is--disabled) .vxe-input--number-prev:active{color:#409eff}.vxe-input:not(.is--disabled) .vxe-input--number-next.is--disabled,.vxe-input:not(.is--disabled) .vxe-input--number-prev.is--disabled{cursor:no-drop;color:#e4e7ed}.vxe-input .vxe-input--date-picker-suffix,.vxe-input .vxe-input--number-suffix,.vxe-input .vxe-input--password-suffix,.vxe-input .vxe-input--search-suffix{position:relative;width:100%;height:100%}.vxe-input .vxe-input--date-picker-icon,.vxe-input .vxe-input--password-icon,.vxe-input .vxe-input--search-icon{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.vxe-input .vxe-input--date-picker-icon[class*=vxe-icon-],.vxe-input .vxe-input--password-icon[class*=vxe-icon-],.vxe-input .vxe-input--search-icon[class*=vxe-icon-]{font-size:1.2em}.vxe-input .vxe-input--date-picker-suffix{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.vxe-input .vxe-input--date-picker-suffix .vxe-input--panel-icon{-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out}.vxe-input .vxe-input--number-next,.vxe-input .vxe-input--number-prev{position:relative;display:block;height:50%;width:100%;text-align:center}.vxe-input .vxe-input--number-next-icon,.vxe-input .vxe-input--number-prev-icon{line-height:.8em;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.vxe-input .vxe-input--number-prev-icon{bottom:0}.vxe-input .vxe-input--number-next-icon{top:0}.vxe-input--panel{display:none;position:absolute;left:0;padding: 0.25rem 0;color:#606266;text-align:left}.vxe-input--panel:not(.is--transfer){min-width:100%}.vxe-input--panel.is--transfer{position:fixed}.vxe-input--panel.animat--leave{display:block;opacity:0;-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.vxe-input--panel.animat--leave[placement=top]{-webkit-transform-origin:center bottom;transform-origin:center bottom}.vxe-input--panel.animat--enter{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1)}.vxe-input--panel-layout-wrapper,.vxe-input--panel-wrapper{background-color:#fff;border: 0.0625rem solid #dadce0;-webkit-box-shadow:0 0 0.375rem 0.125rem rgba(0,0,0,.1);box-shadow:0 0 0.375rem 0.125rem rgba(0,0,0,.1);border-radius: 0.25rem}.vxe-input--panel-wrapper{overflow-x:hidden;overflow-y:auto}.vxe-input--panel-layout-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.vxe-input--panel.type--date,.vxe-input--panel.type--month,.vxe-input--panel.type--quarter,.vxe-input--panel.type--week,.vxe-input--panel.type--year{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-input--panel.type--datetime .vxe-input--panel-right-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border-left: 0.0625rem solid #dcdfe6}.vxe-input--panel.type--date .vxe-input--date-picker-body th,.vxe-input--panel.type--datetime .vxe-input--date-picker-body th{width:14.28571%}.vxe-input--panel.type--week .vxe-input--date-picker-body table th{width:12%}.vxe-input--panel.type--week .vxe-input--date-picker-body table th:first-child{width:14%}.vxe-input--panel.type--quarter .vxe-input--date-picker-body table th{width:50%}.vxe-input--panel.type--month .vxe-input--date-picker-body td,.vxe-input--panel.type--year .vxe-input--date-picker-body td{width:25%}.vxe-input--time-picker-title{display:inline-block;text-align:center;border: 0.0625rem solid #dcdfe6;border-radius: 0.25rem}.vxe-input--time-picker-confirm{position:absolute;right:0;top:0}.vxe-input--date-picker-confirm,.vxe-input--time-picker-confirm{outline:0;border: 0.0625rem solid #dcdfe6;border-radius: 0.25rem;cursor:pointer;color:#fff;border-color:#409eff;background-color:#409eff}.vxe-input--date-picker-confirm:hover,.vxe-input--time-picker-confirm:hover{background-color:#5faeff;border-color:#5faeff}.vxe-input--date-picker-confirm:active,.vxe-input--time-picker-confirm:active{background-color:#3196ff;border-color:#3196ff}.vxe-input--time-picker-header{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-ms-flex-negative:0;flex-shrink:0}.vxe-input--date-picker-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-input--date-picker-header .vxe-input--date-picker-type-wrapper{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.vxe-input--date-picker-header .vxe-input--date-picker-btn-wrapper{-ms-flex-negative:0;flex-shrink:0;text-align:center}.vxe-input--date-picker-type-wrapper .vxe-input--date-picker-btn,.vxe-input--date-picker-type-wrapper .vxe-input--date-picker-label{display:inline-block}.vxe-input--date-picker-btn-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.vxe-input--date-picker-btn,.vxe-input--date-picker-label{display:inline-block;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background-color:#fff}.vxe-input--date-picker-btn.is--disabled{color:#bfbfbf;cursor:no-drop}.vxe-input--date-picker-btn:not(.is--disabled){cursor:pointer}.vxe-input--date-picker-btn:not(.is--disabled):hover{background-color:#fff}.vxe-input--date-picker-btn:not(.is--disabled):active{background-color:#f7f7f7}.vxe-input--date-picker-body{border-radius: 0.25rem;border: 0.0625rem solid #dadce0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-input--date-picker-body table{border:0;width:100%;border-spacing:0;border-collapse:separate;text-align:center;table-layout:fixed}.vxe-input--date-picker-body td,.vxe-input--date-picker-body th{font-weight:400}.vxe-input--date-picker-body th{-webkit-box-shadow:inset 0 -0.0625rem 0 0 #dadce0;box-shadow:inset 0 -0.0625rem 0 0 #dadce0}.vxe-input--date-picker-body td.is--next,.vxe-input--date-picker-body td.is--next .vxe-input--date-festival,.vxe-input--date-picker-body td.is--next .vxe-input--date-label,.vxe-input--date-picker-body td.is--prev,.vxe-input--date-picker-body td.is--prev .vxe-input--date-festival,.vxe-input--date-picker-body td.is--prev .vxe-input--date-label{color:#bfbfbf}.vxe-input--date-picker-body td.is--now{-webkit-box-shadow:inset 0 0 0 0.0625rem #dadce0;box-shadow:inset 0 0 0 0.0625rem #dadce0}.vxe-input--date-picker-body td.is--now:not(.is--selected).is--current,.vxe-input--date-picker-body td.is--now:not(.is--selected).is--current .vxe-input--date-festival,.vxe-input--date-picker-body td.is--now:not(.is--selected).is--current .vxe-input--date-label{color:#409eff}.vxe-input--date-picker-body td.is--hover{background-color:#f2f6fc}.vxe-input--date-picker-body td.is--selected{color:#fff;background-color:#409eff}.vxe-input--date-picker-body td.is--selected.is--next,.vxe-input--date-picker-body td.is--selected.is--prev{background-color:#73b8ff}.vxe-input--date-picker-body td.is--selected .vxe-input--date-festival,.vxe-input--date-picker-body td.is--selected .vxe-input--date-label{color:#fff}.vxe-input--date-picker-body td.is--selected .vxe-input--date-label.is-notice:before{background-color:#fff}.vxe-input--date-picker-body td:not(.is--disabled){cursor:pointer}.vxe-input--date-picker-body td.is--disabled{cursor:no-drop;color:#dcdfe6;background-color:#f3f3f3}.vxe-input--date-picker-body td.is--disabled .vxe-input--date-festival,.vxe-input--date-picker-body td.is--disabled .vxe-input--date-label{color:#dcdfe6}.vxe-input--date-week-view th:first-child{-webkit-box-shadow:inset -0.0625rem -0.0625rem 0 0 #dadce0;box-shadow:inset -0.0625rem -0.0625rem 0 0 #dadce0}.vxe-input--date-week-view td:first-child{-webkit-box-shadow:inset -0.0625rem 0 0 0 #dadce0;box-shadow:inset -0.0625rem 0 0 0 #dadce0}.vxe-input--date-festival,.vxe-input--date-label{display:block;overflow:hidden}.vxe-input--date-label{position:relative}.vxe-input--date-label.is-notice:before{content:"";position:absolute;width: 0.25rem;height: 0.25rem;left:.8em;top:.1em;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-radius:100%;background-color:red}.vxe-input--date-label--extra{position:absolute;right:.1em;top:-.2em;font-size: 0.75rem;line-height: 0.75rem;-webkit-transform:scale(.7);transform:scale(.7);color:#67c23a}.vxe-input--date-label--extra.is-important{color:#fd2222}.vxe-input--date-festival{color:#999;height: 0.875rem;line-height:1;overflow:hidden}.vxe-input--date-festival.is-important{color:#409eff}.vxe-input--date-festival--label{display:block;font-size: 0.75rem;-webkit-transform:scale(.8);transform:scale(.8)}@-webkit-keyframes festivalOverlap2{0%,45%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%,95%{-webkit-transform:translateY( -0.875rem);transform:translateY( -0.875rem)}}@keyframes festivalOverlap2{0%,45%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%,95%{-webkit-transform:translateY( -0.875rem);transform:translateY( -0.875rem)}}@-webkit-keyframes festivalOverlap3{0%,20%,to{-webkit-transform:translateY(0);transform:translateY(0)}25%,45%,75%,95%{-webkit-transform:translateY( -0.875rem);transform:translateY( -0.875rem)}50%,70%{-webkit-transform:translateY( -1.75rem);transform:translateY( -1.75rem)}}@keyframes festivalOverlap3{0%,20%,to{-webkit-transform:translateY(0);transform:translateY(0)}25%,45%,75%,95%{-webkit-transform:translateY( -0.875rem);transform:translateY( -0.875rem)}50%,70%{-webkit-transform:translateY( -1.75rem);transform:translateY( -1.75rem)}}.vxe-input--date-festival--overlap{display:block;font-size: 0.75rem}.vxe-input--date-festival--overlap.overlap--2{-webkit-animation:festivalOverlap2 6s ease-in-out infinite;animation:festivalOverlap2 6s ease-in-out infinite}.vxe-input--date-festival--overlap.overlap--3{-webkit-animation:festivalOverlap3 9s ease-in-out infinite;animation:festivalOverlap3 9s ease-in-out infinite}.vxe-input--date-festival--overlap>span{height: 0.875rem;display:block;-webkit-transform:scale(.8);transform:scale(.8)}.vxe-input--time-picker-body{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;border: 0.0625rem solid #dadce0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;border-radius: 0.25rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-input--time-picker-body>ul{height:100%;overflow:hidden;margin:0;padding:0}.vxe-input--time-picker-body>ul:after,.vxe-input--time-picker-body>ul:before{content:" ";display:block}.vxe-input--time-picker-body>ul:hover{overflow-y:auto}.vxe-input--time-picker-body>ul>li{display:block}.vxe-input--time-picker-body>ul>li:hover{background-color:#f2f6fc;cursor:pointer}.vxe-input--time-picker-body>ul>li.is--selected{font-weight:700;color:#409eff}.vxe-input--time-picker-body .vxe-input--time-picker-minute-list,.vxe-input--time-picker-body .vxe-input--time-picker-second-list{border-left: 0.0625rem solid #dadce0}.vxe-input{font-size: 0.875rem;height: 2.125rem;line-height: 2.125rem}.vxe-input .vxe-input--inner[type=date]::-webkit-inner-spin-button,.vxe-input .vxe-input--inner[type=month]::-webkit-inner-spin-button,.vxe-input .vxe-input--inner[type=week]::-webkit-inner-spin-button{margin-top: 0.375rem}.vxe-input .vxe-input--inner[type=date]::-webkit-inner-spin-button,.vxe-input .vxe-input--inner[type=month]::-webkit-inner-spin-button,.vxe-input .vxe-input--inner[type=number]::-webkit-inner-spin-button,.vxe-input .vxe-input--inner[type=week]::-webkit-inner-spin-button{height: 1.5rem}.vxe-input.size--medium{font-size: 0.875rem;height: 2rem;line-height: 2rem}.vxe-input.size--medium .vxe-input--inner[type=date]::-webkit-inner-spin-button,.vxe-input.size--medium .vxe-input--inner[type=month]::-webkit-inner-spin-button,.vxe-input.size--medium .vxe-input--inner[type=week]::-webkit-inner-spin-button{margin-top: 0.25rem}.vxe-input.size--small{font-size: 0.8125rem;height: 1.875rem;line-height: 1.875rem}.vxe-input.size--small .vxe-input--inner[type=date]::-webkit-inner-spin-button,.vxe-input.size--small .vxe-input--inner[type=month]::-webkit-inner-spin-button,.vxe-input.size--small .vxe-input--inner[type=week]::-webkit-inner-spin-button{margin-top: 0.125rem}.vxe-input.size--mini{font-size: 0.75rem;height: 1.75rem;line-height: 1.75rem}.vxe-input.size--mini .vxe-input--inner[type=date]::-webkit-inner-spin-button,.vxe-input.size--mini .vxe-input--inner[type=month]::-webkit-inner-spin-button,.vxe-input.size--mini .vxe-input--inner[type=week]::-webkit-inner-spin-button{margin-top:0}.vxe-input--panel{font-size: 0.875rem}.vxe-input--panel .vxe-input--panel-wrapper{max-height: 23.75rem}.vxe-input--panel.type--date .vxe-input--panel-wrapper,.vxe-input--panel.type--month .vxe-input--panel-wrapper,.vxe-input--panel.type--quarter .vxe-input--panel-wrapper,.vxe-input--panel.type--time .vxe-input--panel-wrapper,.vxe-input--panel.type--week .vxe-input--panel-wrapper,.vxe-input--panel.type--year .vxe-input--panel-wrapper{padding: 0.6875rem}.vxe-input--panel.type--date .vxe-input--panel-wrapper,.vxe-input--panel.type--month .vxe-input--panel-wrapper,.vxe-input--panel.type--quarter .vxe-input--panel-wrapper,.vxe-input--panel.type--year .vxe-input--panel-wrapper{width: 21rem}.vxe-input--panel.type--week .vxe-input--panel-wrapper{width: 23.75rem}.vxe-input--panel.type--time .vxe-input--panel-wrapper{width: 10.625rem}.vxe-input--panel.type--datetime .vxe-input--panel-left-wrapper{width: 21rem}.vxe-input--panel.type--datetime .vxe-input--panel-left-wrapper,.vxe-input--panel.type--datetime .vxe-input--panel-right-wrapper{padding: 0.6875rem}.vxe-input--panel .vxe-input--time-picker-title{height: 1.875rem;line-height: 1.875rem;padding:0 0.6875rem}.vxe-input--panel .vxe-input--date-picker-btn,.vxe-input--panel .vxe-input--date-picker-label{height: 1.875rem;line-height: 1.875rem}.vxe-input--panel .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-btn{margin-left: 0.5rem}.vxe-input--panel .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-current-btn,.vxe-input--panel .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-next-btn,.vxe-input--panel .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-prev-btn{width: 1.875rem;border-radius: 0.25rem;border: 0.0625rem solid #dcdfe6}.vxe-input--panel .vxe-input--date-picker-type-wrapper .vxe-input--date-picker-btn,.vxe-input--panel .vxe-input--date-picker-type-wrapper .vxe-input--date-picker-label{padding:0 0.5625rem}.vxe-input--panel .vxe-input--date-picker-header,.vxe-input--panel .vxe-input--time-picker-header{padding-bottom: 0.5rem}.vxe-input--panel .vxe-input--date-picker-body table,.vxe-input--panel .vxe-input--time-picker-body{height: 16.125rem}.vxe-input--panel .vxe-input--time-picker-body>ul{width: 3rem}.vxe-input--panel .vxe-input--time-picker-body>ul:after,.vxe-input--panel .vxe-input--time-picker-body>ul:before{height: 7.5rem}.vxe-input--panel .vxe-input--time-picker-body>ul>li{height: 1.625rem;padding-left: 0.5625rem}.vxe-input--panel .vxe-input--time-picker-body .vxe-input--time-picker-minute-list{left: 3rem}.vxe-input--panel .vxe-input--time-picker-body .vxe-input--time-picker-second-list{left: 6rem}.vxe-input--panel .vxe-input--date-day-view td,.vxe-input--panel .vxe-input--date-week-view td{height: 2.375rem}.vxe-input--panel .vxe-input--date-quarter-view td{height: 3.75rem}.vxe-input--panel .vxe-input--date-month-view td,.vxe-input--panel .vxe-input--date-year-view td{height: 3rem}.vxe-input--panel .vxe-input--date-picker-body th{height: 1.875rem}.vxe-input--panel .vxe-input--date-picker-confirm,.vxe-input--panel .vxe-input--time-picker-confirm{height: 1.875rem;padding:0 0.5625rem}.vxe-input--panel .vxe-input--date-label{line-height: 0.9375rem}.vxe-input--panel.size--medium{font-size: 0.875rem}.vxe-input--panel.size--medium .vxe-input--panel-wrapper{max-height: 22.5rem}.vxe-input--panel.size--medium.type--date .vxe-input--panel-wrapper,.vxe-input--panel.size--medium.type--month .vxe-input--panel-wrapper,.vxe-input--panel.size--medium.type--quarter .vxe-input--panel-wrapper,.vxe-input--panel.size--medium.type--time .vxe-input--panel-wrapper,.vxe-input--panel.size--medium.type--week .vxe-input--panel-wrapper,.vxe-input--panel.size--medium.type--year .vxe-input--panel-wrapper{padding: 0.625rem}.vxe-input--panel.size--medium.type--date .vxe-input--panel-wrapper,.vxe-input--panel.size--medium.type--month .vxe-input--panel-wrapper,.vxe-input--panel.size--medium.type--quarter .vxe-input--panel-wrapper,.vxe-input--panel.size--medium.type--year .vxe-input--panel-wrapper{width: 21rem}.vxe-input--panel.size--medium.type--week .vxe-input--panel-wrapper{width: 23.75rem}.vxe-input--panel.size--medium.type--time .vxe-input--panel-wrapper{width: 10.5rem}.vxe-input--panel.size--medium.type--datetime .vxe-input--panel-left-wrapper{width: 21rem}.vxe-input--panel.size--medium.type--datetime .vxe-input--panel-left-wrapper,.vxe-input--panel.size--medium.type--datetime .vxe-input--panel-right-wrapper{padding: 0.625rem}.vxe-input--panel.size--medium .vxe-input--time-picker-title{height: 1.8125rem;line-height: 1.8125rem;padding:0 0.625rem}.vxe-input--panel.size--medium .vxe-input--date-picker-btn,.vxe-input--panel.size--medium .vxe-input--date-picker-label{height: 1.8125rem;line-height: 1.8125rem}.vxe-input--panel.size--medium .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-btn{margin-left: 0.4375rem}.vxe-input--panel.size--medium .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-current-btn,.vxe-input--panel.size--medium .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-next-btn,.vxe-input--panel.size--medium .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-prev-btn{width: 1.8125rem;border-radius: 0.25rem;border: 0.0625rem solid #dcdfe6}.vxe-input--panel.size--medium .vxe-input--date-picker-type-wrapper .vxe-input--date-picker-btn,.vxe-input--panel.size--medium .vxe-input--date-picker-type-wrapper .vxe-input--date-picker-label{padding:0 0.5rem}.vxe-input--panel.size--medium .vxe-input--date-picker-header,.vxe-input--panel.size--medium .vxe-input--time-picker-header{padding-bottom: 0.4375rem}.vxe-input--panel.size--medium .vxe-input--date-picker-body table,.vxe-input--panel.size--medium .vxe-input--time-picker-body{height: 15.3125rem}.vxe-input--panel.size--medium .vxe-input--time-picker-body>ul{width: 3rem}.vxe-input--panel.size--medium .vxe-input--time-picker-body>ul:after,.vxe-input--panel.size--medium .vxe-input--time-picker-body>ul:before{height: 7.5rem}.vxe-input--panel.size--medium .vxe-input--time-picker-body>ul>li{height: 1.625rem;padding-left: 0.5rem}.vxe-input--panel.size--medium .vxe-input--time-picker-body .vxe-input--time-picker-minute-list{left: 3rem}.vxe-input--panel.size--medium .vxe-input--time-picker-body .vxe-input--time-picker-second-list{left: 6rem}.vxe-input--panel.size--medium .vxe-input--date-day-view td,.vxe-input--panel.size--medium .vxe-input--date-week-view td{height: 2.25rem}.vxe-input--panel.size--medium .vxe-input--date-quarter-view td{height: 3.625rem}.vxe-input--panel.size--medium .vxe-input--date-month-view td,.vxe-input--panel.size--medium .vxe-input--date-year-view td{height: 2.875rem}.vxe-input--panel.size--medium .vxe-input--date-picker-body th{height: 1.8125rem}.vxe-input--panel.size--medium .vxe-input--date-picker-confirm,.vxe-input--panel.size--medium .vxe-input--time-picker-confirm{height: 1.8125rem;padding:0 0.5rem}.vxe-input--panel.size--medium .vxe-input--date-label{line-height: 0.9375rem}.vxe-input--panel.size--small{font-size: 0.8125rem}.vxe-input--panel.size--small .vxe-input--panel-wrapper{max-height: 21.25rem}.vxe-input--panel.size--small.type--date .vxe-input--panel-wrapper,.vxe-input--panel.size--small.type--month .vxe-input--panel-wrapper,.vxe-input--panel.size--small.type--quarter .vxe-input--panel-wrapper,.vxe-input--panel.size--small.type--time .vxe-input--panel-wrapper,.vxe-input--panel.size--small.type--week .vxe-input--panel-wrapper,.vxe-input--panel.size--small.type--year .vxe-input--panel-wrapper{padding: 0.5625rem}.vxe-input--panel.size--small.type--date .vxe-input--panel-wrapper,.vxe-input--panel.size--small.type--month .vxe-input--panel-wrapper,.vxe-input--panel.size--small.type--quarter .vxe-input--panel-wrapper,.vxe-input--panel.size--small.type--year .vxe-input--panel-wrapper{width: 19.5rem}.vxe-input--panel.size--small.type--week .vxe-input--panel-wrapper{width: 22.125rem}.vxe-input--panel.size--small.type--time .vxe-input--panel-wrapper{width: 9.625rem}.vxe-input--panel.size--small.type--datetime .vxe-input--panel-left-wrapper{width: 19.5rem}.vxe-input--panel.size--small.type--datetime .vxe-input--panel-left-wrapper,.vxe-input--panel.size--small.type--datetime .vxe-input--panel-right-wrapper{padding: 0.5625rem}.vxe-input--panel.size--small .vxe-input--time-picker-title{height: 1.75rem;line-height: 1.75rem;padding:0 0.5625rem}.vxe-input--panel.size--small .vxe-input--date-picker-btn,.vxe-input--panel.size--small .vxe-input--date-picker-label{height: 1.75rem;line-height: 1.75rem}.vxe-input--panel.size--small .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-btn{margin-left: 0.375rem}.vxe-input--panel.size--small .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-current-btn,.vxe-input--panel.size--small .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-next-btn,.vxe-input--panel.size--small .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-prev-btn{width: 1.75rem;border-radius: 0.25rem;border: 0.0625rem solid #dcdfe6}.vxe-input--panel.size--small .vxe-input--date-picker-type-wrapper .vxe-input--date-picker-btn,.vxe-input--panel.size--small .vxe-input--date-picker-type-wrapper .vxe-input--date-picker-label{padding:0 0.4375rem}.vxe-input--panel.size--small .vxe-input--date-picker-header,.vxe-input--panel.size--small .vxe-input--time-picker-header{padding-bottom: 0.375rem}.vxe-input--panel.size--small .vxe-input--date-picker-body table,.vxe-input--panel.size--small .vxe-input--time-picker-body{height: 14.5rem}.vxe-input--panel.size--small .vxe-input--time-picker-body>ul{width: 2.75rem}.vxe-input--panel.size--small .vxe-input--time-picker-body>ul:after,.vxe-input--panel.size--small .vxe-input--time-picker-body>ul:before{height: 6.875rem}.vxe-input--panel.size--small .vxe-input--time-picker-body>ul>li{height: 1.625rem;padding-left: 0.4375rem}.vxe-input--panel.size--small .vxe-input--time-picker-body .vxe-input--time-picker-minute-list{left: 2.75rem}.vxe-input--panel.size--small .vxe-input--time-picker-body .vxe-input--time-picker-second-list{left: 5.5rem}.vxe-input--panel.size--small .vxe-input--date-day-view td,.vxe-input--panel.size--small .vxe-input--date-week-view td{height: 2.125rem}.vxe-input--panel.size--small .vxe-input--date-quarter-view td{height: 3.5rem}.vxe-input--panel.size--small .vxe-input--date-month-view td,.vxe-input--panel.size--small .vxe-input--date-year-view td{height: 2.75rem}.vxe-input--panel.size--small .vxe-input--date-picker-body th{height: 1.75rem}.vxe-input--panel.size--small .vxe-input--date-picker-confirm,.vxe-input--panel.size--small .vxe-input--time-picker-confirm{height: 1.75rem;padding:0 0.4375rem}.vxe-input--panel.size--small .vxe-input--date-label{line-height: 0.875rem}.vxe-input--panel.size--mini{font-size: 0.75rem}.vxe-input--panel.size--mini .vxe-input--panel-wrapper{max-height: 20rem}.vxe-input--panel.size--mini.type--date .vxe-input--panel-wrapper,.vxe-input--panel.size--mini.type--month .vxe-input--panel-wrapper,.vxe-input--panel.size--mini.type--quarter .vxe-input--panel-wrapper,.vxe-input--panel.size--mini.type--time .vxe-input--panel-wrapper,.vxe-input--panel.size--mini.type--week .vxe-input--panel-wrapper,.vxe-input--panel.size--mini.type--year .vxe-input--panel-wrapper{padding: 0.5rem}.vxe-input--panel.size--mini.type--date .vxe-input--panel-wrapper,.vxe-input--panel.size--mini.type--month .vxe-input--panel-wrapper,.vxe-input--panel.size--mini.type--quarter .vxe-input--panel-wrapper,.vxe-input--panel.size--mini.type--year .vxe-input--panel-wrapper{width: 18rem}.vxe-input--panel.size--mini.type--week .vxe-input--panel-wrapper{width: 20.375rem}.vxe-input--panel.size--mini.type--time .vxe-input--panel-wrapper{width: 9.125rem}.vxe-input--panel.size--mini.type--datetime .vxe-input--panel-left-wrapper{width: 18rem}.vxe-input--panel.size--mini.type--datetime .vxe-input--panel-left-wrapper,.vxe-input--panel.size--mini.type--datetime .vxe-input--panel-right-wrapper{padding: 0.5rem}.vxe-input--panel.size--mini .vxe-input--time-picker-title{height: 1.6875rem;line-height: 1.6875rem;padding:0 0.5rem}.vxe-input--panel.size--mini .vxe-input--date-picker-btn,.vxe-input--panel.size--mini .vxe-input--date-picker-label{height: 1.6875rem;line-height: 1.6875rem}.vxe-input--panel.size--mini .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-btn{margin-left: 0.3125rem}.vxe-input--panel.size--mini .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-current-btn,.vxe-input--panel.size--mini .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-next-btn,.vxe-input--panel.size--mini .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-prev-btn{width: 1.6875rem;border-radius: 0.25rem;border: 0.0625rem solid #dcdfe6}.vxe-input--panel.size--mini .vxe-input--date-picker-type-wrapper .vxe-input--date-picker-btn,.vxe-input--panel.size--mini .vxe-input--date-picker-type-wrapper .vxe-input--date-picker-label{padding:0 0.375rem}.vxe-input--panel.size--mini .vxe-input--date-picker-header,.vxe-input--panel.size--mini .vxe-input--time-picker-header{padding-bottom: 0.3125rem}.vxe-input--panel.size--mini .vxe-input--date-picker-body table,.vxe-input--panel.size--mini .vxe-input--time-picker-body{height: 13.625rem}.vxe-input--panel.size--mini .vxe-input--time-picker-body>ul{width: 2.625rem}.vxe-input--panel.size--mini .vxe-input--time-picker-body>ul:after,.vxe-input--panel.size--mini .vxe-input--time-picker-body>ul:before{height: 6.25rem}.vxe-input--panel.size--mini .vxe-input--time-picker-body>ul>li{height: 1.625rem;padding-left: 0.375rem}.vxe-input--panel.size--mini .vxe-input--time-picker-body .vxe-input--time-picker-minute-list{left: 2.625rem}.vxe-input--panel.size--mini .vxe-input--time-picker-body .vxe-input--time-picker-second-list{left: 5.25rem}.vxe-input--panel.size--mini .vxe-input--date-day-view td,.vxe-input--panel.size--mini .vxe-input--date-week-view td{height: 2rem}.vxe-input--panel.size--mini .vxe-input--date-quarter-view td{height: 3.375rem}.vxe-input--panel.size--mini .vxe-input--date-month-view td,.vxe-input--panel.size--mini .vxe-input--date-year-view td{height: 2.625rem}.vxe-input--panel.size--mini .vxe-input--date-picker-body th{height: 1.625rem}.vxe-input--panel.size--mini .vxe-input--date-picker-confirm,.vxe-input--panel.size--mini .vxe-input--time-picker-confirm{height: 1.6875rem;padding:0 0.375rem}.vxe-input--panel.size--mini .vxe-input--date-label{line-height: 0.8125rem}.vxe-textarea{position:relative;display:inline-block}.vxe-textarea:not(.def--cols),.vxe-textarea:not(.def--cols) .vxe-textarea--inner{width:100%}.vxe-textarea--inner{border-radius: 0.25rem;outline:0;font-size:inherit;padding:0 .6em;color:#606266;line-height:inherit;border: 0.0625rem solid #dcdfe6;background-color:#fff;display:block;padding:.3em .6em}.vxe-textarea--inner::-webkit-input-placeholder{color:#c0c4cc}.vxe-textarea--inner::-moz-placeholder{color:#c0c4cc}.vxe-textarea--inner:-ms-input-placeholder{color:#c0c4cc}.vxe-textarea--inner::-ms-input-placeholder{color:#c0c4cc}.vxe-textarea--inner::placeholder{color:#c0c4cc}.vxe-textarea--inner:focus{border: 0.0625rem solid #409eff}.vxe-textarea--inner[disabled]{cursor:not-allowed;background-color:#f3f3f3}.vxe-textarea--autosize,.vxe-textarea--inner{line-height:1.5715;color:#606266;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}.vxe-textarea--autosize{display:block;position:fixed;top:0;left:0;width:100%;margin:0;padding:.3em .6em;word-wrap:break-word;white-space:pre-wrap;z-index:-1;visibility:hidden}.vxe-textarea--count{position:absolute;bottom:.2em;right:1.4em;padding-left:.2em;color:#999;background-color:#fff}.vxe-textarea--count.is--error{color:#f56c6c}.vxe-textarea,.vxe-textarea--autosize,.vxe-textarea--autosize.size--medium,.vxe-textarea.size--medium{font-size: 0.875rem}.vxe-textarea--autosize.size--small,.vxe-textarea.size--small{font-size: 0.8125rem}.vxe-textarea--autosize.size--mini,.vxe-textarea.size--mini{font-size: 0.75rem}.vxe-textarea:not(.is--autosize){min-height: 2.125rem}.vxe-textarea.size--medium{font-size: 0.875rem}.vxe-textarea.size--medium:not(.is--autosize){min-height: 2rem}.vxe-textarea.size--small:not(.is--autosize){min-height: 1.875rem}.vxe-textarea.size--mini:not(.is--autosize){min-height: 1.75rem}.vxe-button{position:relative;text-align:center;background-color:#fff;outline:0;font-size: 0.875rem;max-width: 31.25rem;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.vxe-button:not(.is--disabled){color:#606266;cursor:pointer}.vxe-button.is--loading{cursor:progress}.vxe-button.is--loading:before{content:"";position:absolute;left: -0.0625rem;top: -0.0625rem;right: -0.0625rem;bottom: -0.0625rem;border-radius:inherit;background-color:hsla(0,0%,100%,.35);pointer-events:none}.vxe-button.is--disabled{color:#bfbfbf}.vxe-button.is--disabled:not(.is--loading){cursor:no-drop}.vxe-button.type--text{text-decoration:none;border:0;padding:.1em .5em;background-color:transparent}.vxe-button.type--text:not(.is--disabled):focus{color:#2f3031}.vxe-button.type--text:not(.is--disabled):hover{color:#73b8ff}.vxe-button.type--text.theme--primary{color:#409eff}.vxe-button.type--text.theme--primary:not(.is--disabled):focus{color:#0d84ff}.vxe-button.type--text.theme--primary:not(.is--disabled):hover{color:#73b8ff}.vxe-button.type--text.theme--primary.is--disabled{color:#a6d2ff}.vxe-button.type--text.theme--success{color:#67c23a}.vxe-button.type--text.theme--success:not(.is--disabled):focus{color:#529b2e}.vxe-button.type--text.theme--success:not(.is--disabled):hover{color:#85cf60}.vxe-button.type--text.theme--success.is--disabled{color:#a3db87}.vxe-button.type--text.theme--info{color:#909399}.vxe-button.type--text.theme--info:not(.is--disabled):focus{color:#767980}.vxe-button.type--text.theme--info:not(.is--disabled):hover{color:#abadb1}.vxe-button.type--text.theme--info.is--disabled{color:#c5c7ca}.vxe-button.type--text.theme--warning{color:#e6a23c}.vxe-button.type--text.theme--warning:not(.is--disabled):focus{color:#d48a1b}.vxe-button.type--text.theme--warning:not(.is--disabled):hover{color:#ecb869}.vxe-button.type--text.theme--warning.is--disabled{color:#f2cd96}.vxe-button.type--text.theme--danger{color:#f56c6c}.vxe-button.type--text.theme--danger:not(.is--disabled):focus{color:#f23c3c}.vxe-button.type--text.theme--danger:not(.is--disabled):hover{color:#f89c9c}.vxe-button.type--text.theme--danger.is--disabled{color:#fbcccc}.vxe-button.type--text.theme--perfect{color:#f8f8f9}.vxe-button.type--text.theme--perfect:not(.is--disabled):focus{color:#dddde1}.vxe-button.type--text.theme--perfect.is--disabled,.vxe-button.type--text.theme--perfect:not(.is--disabled):hover{color:#fff}.vxe-button.type--button{font-family:inherit;height: 2.125rem;line-height:1;border: 0.0625rem solid #dcdfe6}.vxe-button.type--button.is--round{border-radius: 1.0625rem}.vxe-button.type--button:not(.is--round){border-radius: 0.25rem}.vxe-button.type--button.is--circle{padding:0 .5em;min-width: 2.125rem;border-radius:50%}.vxe-button.type--button:not(.is--circle){padding:0 1em}.vxe-button.type--button:not(.is--disabled):hover{color:#5faeff}.vxe-button.type--button:not(.is--disabled):focus{border-color:#409eff}.vxe-button.type--button:not(.is--disabled):active{color:#3196ff;border-color:#3196ff;background-color:#f7f7f7}.vxe-button.type--button.theme--primary{color:#fff}.vxe-button.type--button.theme--primary:not(.is--disabled){border-color:#409eff;background-color:#409eff}.vxe-button.type--button.theme--primary:not(.is--disabled):hover{color:#fff;background-color:#5faeff;border-color:#5faeff}.vxe-button.type--button.theme--primary:not(.is--disabled):active{color:#fff;background-color:#3196ff;border-color:#3196ff}.vxe-button.type--button.theme--primary.is--disabled{border-color:#a6d2ff;background-color:#a6d2ff}.vxe-button.type--button.theme--primary.is--loading{border-color:#409eff;background-color:#409eff}.vxe-button.type--button.theme--success{color:#fff}.vxe-button.type--button.theme--success:not(.is--disabled){border-color:#67c23a;background-color:#67c23a}.vxe-button.type--button.theme--success:not(.is--disabled):hover{color:#fff;background-color:#79cb50;border-color:#79cb50}.vxe-button.type--button.theme--success:not(.is--disabled):active{color:#fff;background-color:#61b636;border-color:#61b636}.vxe-button.type--button.theme--success.is--disabled{border-color:#a3db87;background-color:#a3db87}.vxe-button.type--button.theme--success.is--loading{border-color:#67c23a;background-color:#67c23a}.vxe-button.type--button.theme--info{color:#fff}.vxe-button.type--button.theme--info:not(.is--disabled){border-color:#909399;background-color:#909399}.vxe-button.type--button.theme--info:not(.is--disabled):hover{color:#fff;background-color:#a0a3a8;border-color:#a0a3a8}.vxe-button.type--button.theme--info:not(.is--disabled):active{color:#fff;background-color:#888b92;border-color:#888b92}.vxe-button.type--button.theme--info.is--disabled{border-color:#c5c7ca;background-color:#c5c7ca}.vxe-button.type--button.theme--info.is--loading{border-color:#909399;background-color:#909399}.vxe-button.type--button.theme--warning{color:#fff}.vxe-button.type--button.theme--warning:not(.is--disabled){border-color:#e6a23c;background-color:#e6a23c}.vxe-button.type--button.theme--warning:not(.is--disabled):hover{color:#fff;background-color:#e9af57;border-color:#e9af57}.vxe-button.type--button.theme--warning:not(.is--disabled):active{color:#fff;background-color:#e49c2e;border-color:#e49c2e}.vxe-button.type--button.theme--warning.is--disabled{border-color:#f2cd96;background-color:#f2cd96}.vxe-button.type--button.theme--warning.is--loading{border-color:#e6a23c;background-color:#e6a23c}.vxe-button.type--button.theme--danger{color:#fff}.vxe-button.type--button.theme--danger:not(.is--disabled){border-color:#f56c6c;background-color:#f56c6c}.vxe-button.type--button.theme--danger:not(.is--disabled):hover{color:#fff;background-color:#f78989;border-color:#f78989}.vxe-button.type--button.theme--danger:not(.is--disabled):active{color:#fff;background-color:#f45e5e;border-color:#f45e5e}.vxe-button.type--button.theme--danger.is--disabled{border-color:#fbcccc;background-color:#fbcccc}.vxe-button.type--button.theme--danger.is--loading{border-color:#f56c6c;background-color:#f56c6c}.vxe-button.type--button.theme--perfect{color:#606266}.vxe-button.type--button.theme--perfect:not(.is--disabled){border-color:#f8f8f9;background-color:#f8f8f9}.vxe-button.type--button.theme--perfect:not(.is--disabled):hover{color:#606266;background-color:#fff;border-color:#fff}.vxe-button.type--button.theme--perfect:not(.is--disabled):active{color:#606266;background-color:#f0f0f2;border-color:#f0f0f2}.vxe-button.type--button.theme--perfect.is--disabled{border-color:#fff;background-color:#fff}.vxe-button.type--button.theme--perfect.is--loading{border-color:#f8f8f9;background-color:#f8f8f9}.vxe-button.size--medium{font-size: 0.875rem}.vxe-button.size--medium.type--button{height: 2rem}.vxe-button.size--medium.type--button.is--circle{min-width: 2rem}.vxe-button.size--medium.type--button.is--round{border-radius: 1rem}.vxe-button.size--medium .vxe-button--icon,.vxe-button.size--medium .vxe-button--loading-icon{min-width: 0.875rem}.vxe-button.size--small{font-size: 0.8125rem}.vxe-button.size--small.type--button{height: 1.875rem}.vxe-button.size--small.type--button.is--circle{min-width: 1.875rem}.vxe-button.size--small.type--button.is--round{border-radius: 0.9375rem}.vxe-button.size--small .vxe-button--icon,.vxe-button.size--small .vxe-button--loading-icon{min-width: 0.8125rem}.vxe-button.size--mini{font-size: 0.75rem}.vxe-button.size--mini.type--button{height: 1.75rem}.vxe-button.size--mini.type--button.is--circle{min-width: 1.75rem}.vxe-button.size--mini.type--button.is--round{border-radius: 0.875rem}.vxe-button.size--mini .vxe-button--icon,.vxe-button.size--mini .vxe-button--loading-icon{min-width: 0.75rem}.vxe-button+.vxe-button,.vxe-button+.vxe-button--dropdown,.vxe-input+.vxe-button,.vxe-input+.vxe-button--dropdown{margin-left: 0.75rem}.vxe-button--icon,.vxe-button--loading-icon{min-width: 0.875rem}.vxe-button--icon+.vxe-button--content,.vxe-button--loading-icon+.vxe-button--content{margin-left: 0.25rem}.vxe-button--dropdown,.vxe-button--wrapper{display:inline-block}.vxe-button--dropdown{position:relative}.vxe-button--dropdown+.vxe-button,.vxe-button--dropdown+.vxe-button--dropdown{margin-left: 0.75rem}.vxe-button--dropdown>.vxe-button.type--button.theme--danger,.vxe-button--dropdown>.vxe-button.type--button.theme--info,.vxe-button--dropdown>.vxe-button.type--button.theme--primary,.vxe-button--dropdown>.vxe-button.type--button.theme--success,.vxe-button--dropdown>.vxe-button.type--button.theme--warning{color:#fff}.vxe-button--dropdown>.vxe-button.type--button.theme--perfect{color:#606266}.vxe-button--dropdown.is--active>.vxe-button:not(.is--disabled){color:#5faeff}.vxe-button--dropdown.is--active>.vxe-button.type--text.theme--primary{color:#73b8ff}.vxe-button--dropdown.is--active>.vxe-button.type--text.theme--success{color:#85cf60}.vxe-button--dropdown.is--active>.vxe-button.type--text.theme--info{color:#abadb1}.vxe-button--dropdown.is--active>.vxe-button.type--text.theme--warning{color:#ecb869}.vxe-button--dropdown.is--active>.vxe-button.type--text.theme--danger{color:#f89c9c}.vxe-button--dropdown.is--active>.vxe-button.type--text.theme--perfect{color:#fff}.vxe-button--dropdown.is--active>.vxe-button.type--button.theme--primary{color:#fff;background-color:#5faeff;border-color:#5faeff}.vxe-button--dropdown.is--active>.vxe-button.type--button.theme--success{color:#fff;background-color:#79cb50;border-color:#79cb50}.vxe-button--dropdown.is--active>.vxe-button.type--button.theme--info{color:#fff;background-color:#a0a3a8;border-color:#a0a3a8}.vxe-button--dropdown.is--active>.vxe-button.type--button.theme--warning{color:#fff;background-color:#e9af57;border-color:#e9af57}.vxe-button--dropdown.is--active>.vxe-button.type--button.theme--danger{color:#fff;background-color:#f78989;border-color:#f78989}.vxe-button--dropdown.is--active>.vxe-button.type--button.theme--perfect{color:#606266;background-color:#fff;border-color:#fff}.vxe-button--dropdown.is--active .vxe-button--dropdown-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vxe-button--dropdown-arrow{display:inline-block;font-size: 0.75rem;margin-left: 0.25rem;-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out}.vxe-button--dropdown-panel{display:none;position:absolute;right:0;padding: 0.25rem 0}.vxe-button--dropdown-panel.animat--leave{display:block;opacity:0;-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.vxe-button--dropdown-panel.animat--leave[placement=top]{-webkit-transform-origin:center bottom;transform-origin:center bottom}.vxe-button--dropdown-panel.animat--enter{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1)}.vxe-button--dropdown-wrapper{padding: 0.3125rem;background-color:#fff;border-radius: 0.25rem;border: 0.0625rem solid #dcdfe6;-webkit-box-shadow:0 0.0625rem 0.375rem rgba(0,0,0,.2);box-shadow:0 0.0625rem 0.375rem rgba(0,0,0,.2)}.vxe-button--dropdown-wrapper>.vxe-button{margin-left:0;margin-top:.4em;display:block;width:100%;border:0}.vxe-button--dropdown-wrapper>.vxe-button.type--text{padding: 0.125rem 0.5rem}.vxe-button--dropdown-wrapper>.vxe-button:first-child{margin-top:0}.vxe-button--dropdown-wrapper>.vxe-button:last-child{margin-bottom:0}.vxe-modal--wrapper{display:none;position:fixed;top:0;left:0;line-height:1.5;width:calc(100% + 1.125rem);height:calc(100% + 1.125rem);color:#606266;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;-webkit-transition:top .4s ease-in-out;transition:top .4s ease-in-out}.vxe-modal--wrapper.is--active{display:block}.vxe-modal--wrapper.is--visible.is--mask:before{background-color:rgba(0,0,0,.5)}.vxe-modal--wrapper.is--visible.type--message .vxe-modal--box{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.vxe-modal--wrapper.is--visible .vxe-modal--box{opacity:1;visibility:visible}.vxe-modal--wrapper.is--loading .vxe-modal--footer,.vxe-modal--wrapper.is--loading .vxe-modal--header{position:relative;border-bottom-color:hsla(0,0%,100%,.5)}.vxe-modal--wrapper.is--loading .vxe-modal--footer:before,.vxe-modal--wrapper.is--loading .vxe-modal--header:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:hsla(0,0%,100%,.5)}.vxe-modal--wrapper:not(.lock--view){pointer-events:none}.vxe-modal--wrapper:not(.type--message).lock--scroll{overflow:hidden}.vxe-modal--wrapper:not(.type--message):not(.lock--scroll){overflow:auto}.vxe-modal--wrapper.is--mask:before,.vxe-modal--wrapper.lock--view:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:auto}.vxe-modal--wrapper.is--mask:before{background-color:transparent}.vxe-modal--wrapper.is--animat.is--mask:before{-webkit-transition:background-color .2s ease-in-out;transition:background-color .2s ease-in-out}.vxe-modal--wrapper.is--animat.type--message .vxe-modal--box:not(.is--drag){-webkit-transition:all .4s ease-out;transition:all .4s ease-out}.vxe-modal--wrapper.type--alert .vxe-modal--body,.vxe-modal--wrapper.type--confirm .vxe-modal--body,.vxe-modal--wrapper.type--message .vxe-modal--body{white-space:normal;word-break:break-word}.vxe-modal--wrapper.type--message{text-align:center}.vxe-modal--wrapper.type--message .vxe-modal--box{display:inline-block;padding: 0.125rem 0;margin-top:0;width:auto;-webkit-box-shadow:0 0 0.5rem 0 rgba(0,0,0,.1);box-shadow:0 0 0.5rem 0 rgba(0,0,0,.1);opacity:0;-webkit-transform:translateY(-100%);transform:translateY(-100%)}.vxe-modal--wrapper.type--message .vxe-modal--box .vxe-modal--body:after{content:"";display:block;clear:both;height:0;overflow:hidden;visibility:hidden}.vxe-modal--wrapper.type--message .vxe-modal--box .vxe-modal--content{max-width: 50rem;float:left}.vxe-modal--wrapper.type--message .vxe-modal--status-wrapper{font-size:1.4em;padding-left: 0.625rem}.vxe-modal--wrapper.type--alert .vxe-modal--box,.vxe-modal--wrapper.type--confirm .vxe-modal--box,.vxe-modal--wrapper.type--modal .vxe-modal--box{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:fixed;left:50%;top:0;-webkit-box-shadow:0 0 0.625rem 0 rgba(0,0,0,.2);box-shadow:0 0 0.625rem 0 rgba(0,0,0,.2)}.vxe-modal--wrapper.type--alert .vxe-modal--body,.vxe-modal--wrapper.type--alert .vxe-modal--body .vxe-modal--content,.vxe-modal--wrapper.type--confirm .vxe-modal--body,.vxe-modal--wrapper.type--confirm .vxe-modal--body .vxe-modal--content,.vxe-modal--wrapper.type--modal .vxe-modal--body,.vxe-modal--wrapper.type--modal .vxe-modal--body .vxe-modal--content{overflow:auto}.vxe-modal--wrapper.type--alert .vxe-modal--status-wrapper,.vxe-modal--wrapper.type--confirm .vxe-modal--status-wrapper{font-size:1.6em;padding-left: 0.625rem}.vxe-modal--wrapper .vxe-modal--box{visibility:hidden;width: 26.25rem;background-color:#fff;border-radius: 0.25rem;border: 0.0625rem solid #ebeef5;text-align:left;pointer-events:auto;opacity:0}.vxe-modal--wrapper .vxe-modal--box.is--drag{cursor:move}.vxe-modal--wrapper .vxe-modal--box.is--drag .vxe-modal--body:after,.vxe-modal--wrapper .vxe-modal--box.is--drag .vxe-modal--footer:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.vxe-modal--wrapper .vxe-modal--box.is--drag .vxe-modal--body,.vxe-modal--wrapper .vxe-modal--box.is--drag .vxe-modal--body .vxe-modal--content{overflow:hidden}.vxe-modal--wrapper.status--info .vxe-modal--status-wrapper{color:#909399}.vxe-modal--wrapper.status--question .vxe-modal--status-wrapper,.vxe-modal--wrapper.status--warning .vxe-modal--status-wrapper{color:#e6a23c}.vxe-modal--wrapper.status--success .vxe-modal--status-wrapper{color:#67c23a}.vxe-modal--wrapper.status--error .vxe-modal--status-wrapper{color:#f56c6c}.vxe-modal--wrapper.status--loading .vxe-modal--status-wrapper{color:#bfbfbf}.vxe-modal--wrapper .vxe-modal--status-wrapper{-ms-flex-negative:0;flex-shrink:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.vxe-modal--wrapper .vxe-modal--content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:.8em 1em;white-space:pre-line}.vxe-modal--wrapper .vxe-modal--body,.vxe-modal--wrapper .vxe-modal--footer,.vxe-modal--wrapper .vxe-modal--header{position:relative}.vxe-modal--wrapper .vxe-modal--body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.vxe-modal--wrapper .vxe-modal--header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-negative:0;flex-shrink:0;font-size:1.1em;font-weight:700;border-bottom: 0.0625rem solid #ebeef5;background-color:#f8f8f8;border-radius: 0.25rem 0.25rem 0 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-modal--wrapper .vxe-modal--header.is--draggable .vxe-modal--header-title{cursor:move}.vxe-modal--wrapper .vxe-modal--header.is--ellipsis .vxe-modal--header-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-modal--wrapper .vxe-modal--header-title{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:.6em 0 .6em 1em}.vxe-modal--wrapper .vxe-modal--header-right{-ms-flex-negative:0;flex-shrink:0;padding:.6em 1em .6em 0}.vxe-modal--wrapper .vxe-modal--close-btn,.vxe-modal--wrapper .vxe-modal--zoom-btn{cursor:pointer;margin-left:.6em}.vxe-modal--wrapper .vxe-modal--close-btn:hover,.vxe-modal--wrapper .vxe-modal--zoom-btn:hover{color:#409eff}.vxe-modal--wrapper .vxe-modal--footer{-ms-flex-negative:0;flex-shrink:0;text-align:right;padding:.4em 1em .8em 1em}.vxe-modal--wrapper.is--maximize .vxe-modal--box .vxe-modal--header{cursor:default}.vxe-modal--wrapper.is--maximize .vxe-modal--resize .sb-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .selb-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .sest-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .st-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .swlb-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .swst-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .wl-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .wr-resize{display:none}.vxe-modal--wrapper .vxe-modal--resize .sb-resize,.vxe-modal--wrapper .vxe-modal--resize .selb-resize,.vxe-modal--wrapper .vxe-modal--resize .sest-resize,.vxe-modal--wrapper .vxe-modal--resize .st-resize,.vxe-modal--wrapper .vxe-modal--resize .swlb-resize,.vxe-modal--wrapper .vxe-modal--resize .swst-resize,.vxe-modal--wrapper .vxe-modal--resize .wl-resize,.vxe-modal--wrapper .vxe-modal--resize .wr-resize{position:absolute;z-index:100}.vxe-modal--wrapper .vxe-modal--resize .wl-resize,.vxe-modal--wrapper .vxe-modal--resize .wr-resize{width: 0.5rem;height:100%;top:0;cursor:w-resize}.vxe-modal--wrapper .vxe-modal--resize .wl-resize{left: -0.3125rem}.vxe-modal--wrapper .vxe-modal--resize .wr-resize{right: -0.3125rem}.vxe-modal--wrapper .vxe-modal--resize .selb-resize,.vxe-modal--wrapper .vxe-modal--resize .sest-resize,.vxe-modal--wrapper .vxe-modal--resize .swlb-resize,.vxe-modal--wrapper .vxe-modal--resize .swst-resize{width: 0.625rem;height: 0.625rem;z-index:101}.vxe-modal--wrapper .vxe-modal--resize .sest-resize,.vxe-modal--wrapper .vxe-modal--resize .swst-resize{top: -0.5rem}.vxe-modal--wrapper .vxe-modal--resize .selb-resize,.vxe-modal--wrapper .vxe-modal--resize .swlb-resize{bottom: -0.5rem}.vxe-modal--wrapper .vxe-modal--resize .sest-resize,.vxe-modal--wrapper .vxe-modal--resize .swlb-resize{cursor:sw-resize}.vxe-modal--wrapper .vxe-modal--resize .selb-resize,.vxe-modal--wrapper .vxe-modal--resize .swst-resize{cursor:se-resize}.vxe-modal--wrapper .vxe-modal--resize .swlb-resize,.vxe-modal--wrapper .vxe-modal--resize .swst-resize{left: -0.5rem}.vxe-modal--wrapper .vxe-modal--resize .selb-resize,.vxe-modal--wrapper .vxe-modal--resize .sest-resize{right: -0.5rem}.vxe-modal--wrapper .vxe-modal--resize .sb-resize,.vxe-modal--wrapper .vxe-modal--resize .st-resize{width:100%;height: 0.5rem;left:0;cursor:s-resize}.vxe-modal--wrapper .vxe-modal--resize .st-resize{top: -0.3125rem}.vxe-modal--wrapper .vxe-modal--resize .sb-resize{bottom: -0.3125rem}.vxe-modal--wrapper,.vxe-modal--wrapper.size--medium{font-size: 0.875rem}.vxe-modal--wrapper.size--small{font-size: 0.8125rem}.vxe-modal--wrapper.size--mini{font-size: 0.75rem}.vxe-table--tooltip-wrapper{display:none;position:absolute;top:-100%;left:-100%;font-size: 0.75rem;max-width: 37.5rem;border-radius: 0.25rem;padding: 0.5rem 0.75rem;white-space:normal;word-break:break-word;-webkit-box-shadow: 0.125rem 0.125rem 0.25rem -0.125rem rgba(0,0,0,.2);box-shadow: 0.125rem 0.125rem 0.25rem -0.125rem rgba(0,0,0,.2);color:#606266;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}.vxe-table--tooltip-wrapper:not(.is--enterable){pointer-events:none}.vxe-table--tooltip-wrapper.is--arrow .vxe-table--tooltip-arrow,.vxe-table--tooltip-wrapper.is--visible{display:block}.vxe-table--tooltip-wrapper.is--enterable:after{content:"";position:absolute;left:0;width:100%;height: 0.375rem;background-color:transparent}.vxe-table--tooltip-wrapper .vxe-table--tooltip-content{white-space:pre-line}.vxe-table--tooltip-wrapper .vxe-table--tooltip-arrow{display:none;position:absolute;border-color:transparent;border-width: 0.375rem;border-style:solid;left:50%;-webkit-transform:translateX( -0.375rem);transform:translateX( -0.375rem)}.vxe-table--tooltip-wrapper .vxe-table--tooltip-arrow:before{content:"";position:absolute;border-color:transparent;border-width: 0.3125rem;border-style:solid;left: -0.3125rem}.vxe-table--tooltip-wrapper.placement--top.is--enterable:after{bottom: -0.375rem}.vxe-table--tooltip-wrapper.placement--top .vxe-table--tooltip-arrow{bottom: -0.75rem}.vxe-table--tooltip-wrapper.placement--top .vxe-table--tooltip-arrow:before{top: -0.4375rem}.vxe-table--tooltip-wrapper.placement--bottom.is--enterable:after{top: -0.375rem}.vxe-table--tooltip-wrapper.placement--bottom .vxe-table--tooltip-arrow{top: -0.75rem}.vxe-table--tooltip-wrapper.placement--bottom .vxe-table--tooltip-arrow:before{top: -0.25rem}.vxe-table--tooltip-wrapper.theme--light{background-color:#fff;border: 0.0625rem solid #dcdfe6}.vxe-table--tooltip-wrapper.theme--light.placement--top .vxe-table--tooltip-arrow{border-top-color:#dcdfe6}.vxe-table--tooltip-wrapper.theme--light.placement--top .vxe-table--tooltip-arrow:before{border-top-color:#fff}.vxe-table--tooltip-wrapper.theme--light.placement--bottom .vxe-table--tooltip-arrow{border-bottom-color:#dcdfe6}.vxe-table--tooltip-wrapper.theme--light.placement--bottom .vxe-table--tooltip-arrow:before{border-bottom-color:#fff}.vxe-table--tooltip-wrapper.theme--dark{background:#303133;color:#fff}.vxe-table--tooltip-wrapper.theme--dark.placement--top .vxe-table--tooltip-arrow,.vxe-table--tooltip-wrapper.theme--dark.placement--top .vxe-table--tooltip-arrow:before{border-top-color:#303133}.vxe-table--tooltip-wrapper.theme--dark.placement--bottom .vxe-table--tooltip-arrow,.vxe-table--tooltip-wrapper.theme--dark.placement--bottom .vxe-table--tooltip-arrow:before{border-bottom-color:#303133}.vxe-table--tooltip-wrapper.vxe-table--valid-error{background-color:#f56c6c;color:#fff}.vxe-form--item .vxe-default-input[type=reset]:hover,.vxe-form--item .vxe-default-input[type=submit]:hover{color:#5faeff;border-color:#73b8ff}.vxe-form{position:relative;font-size: 0.875rem;color:#606266;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;background-color:#fff;text-align:left}.vxe-form-slots{display:none}.vxe-form--item-content,.vxe-form--item-trigger-node{display:inline-block;vertical-align:middle}.vxe-form--item-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;max-width: 20rem;padding-right:.8em}.vxe-form--item-title.is--ellipsis .vxe-form--item-title-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-form--item-title .vxe-form--item-title-postfix,.vxe-form--item-title .vxe-form--item-title-prefix,.vxe-form--item-title .vxe-form--item-title-suffix{-ms-flex-negative:0;flex-shrink:0}.vxe-form--item-title .vxe-form--item-title-prefix,.vxe-form--item-title .vxe-form--item-title-suffix{cursor:help;vertical-align:middle}.vxe-form--item-title .vxe-form--item-title-prefix{margin-right:.25em}.vxe-form--item-title .vxe-form--item-title-suffix{margin-left:.2em}.vxe-form--item-title .vxe-form--item-title-postfix{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.vxe-form--item-title .vxe-form--item-title-content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.vxe-form--item-title .vxe-form--item-title-label{vertical-align:middle}.vxe-form--item-trigger-node{font-size: 0.75rem;min-width: 6.25rem;color:#909399;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.vxe-form--item-trigger-node .vxe-form--item-trigger-icon{display:inline-block;margin:0 .25em;-webkit-transition:all .1s;transition:all .1s}.vxe-form--item-valid{position:absolute;width:100%;font-size: 0.75rem;line-height:1.2em;color:#f56c6c;background-color:inherit;z-index:1;opacity:0;-webkit-transform-origin:center top;transform-origin:center top;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.vxe-form .vxe-form--gather{display:inline-block}.vxe-form .vxe-form--item{display:none;padding:.5em .8em .5em 0}.vxe-form .vxe-form--item.is--active:not(.is--hidden){display:inline-block}.vxe-form--item.is--colon .vxe-form--item-title-postfix:after{content:":";font-weight:400;margin-left:.2em}.vxe-form--item.is--asterisk.is--required .vxe-form--item-title-content:before{content:"*";color:#f56c6c;font-family:Verdana,Arial,Tahoma;margin-right:.2em;font-weight:400;vertical-align:middle}.vxe-form--item.is--span .vxe-default-input:not([type=submit]):not([type=reset]),.vxe-form--item.is--span .vxe-default-select,.vxe-form--item.is--span .vxe-default-textarea,.vxe-form--item.is--span .vxe-input,.vxe-form--item.is--span .vxe-select,.vxe-form--item.is--span .vxe-textarea{width:100%}.vxe-form--item.is--error .vxe-default-input,.vxe-form--item.is--error .vxe-default-input[type=search]:focus,.vxe-form--item.is--error .vxe-default-input[type=text]:focus,.vxe-form--item.is--error .vxe-default-select,.vxe-form--item.is--error .vxe-default-select:focus,.vxe-form--item.is--error .vxe-default-textarea,.vxe-form--item.is--error .vxe-default-textarea:focus,.vxe-form--item.is--error .vxe-input>.vxe-input--inner,.vxe-form--item.is--error .vxe-input>.vxe-input--inner:focus,.vxe-form--item.is--error .vxe-select,.vxe-form--item.is--error .vxe-select.is--active>.vxe-input .vxe-input--inner,.vxe-form--item.is--error .vxe-textarea>.vxe-textarea--inner,.vxe-form--item.is--error .vxe-textarea>.vxe-textarea--inner:focus{border-color:#f56c6c}.vxe-form--item.is--error .vxe-form--item-valid{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1)}.vxe-form--item .vxe-form--item-inner{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.vxe-form--item .vxe-form--item-inner .vxe-form--item-title{-ms-flex-negative:0;flex-shrink:0}.vxe-form--item .vxe-form--item-inner .vxe-form--item-content{position:relative;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;word-break:break-all}.vxe-form--item .vxe-default-input,.vxe-form--item .vxe-default-select,.vxe-form--item .vxe-default-textarea{outline:0;border: 0.0625rem solid #dcdfe6;border-radius: 0.25rem}.vxe-form--item .vxe-default-input,.vxe-form--item .vxe-default-select{height: 2.125rem}.vxe-form--item .vxe-default-input{padding:0 .8em}.vxe-form--item .vxe-default-textarea{padding:.3em .6em}.vxe-form--item .vxe-default-input[type=number]{padding-right:.2em}.vxe-form--item .vxe-default-input[type=search],.vxe-form--item .vxe-default-input[type=text]{padding:0 1em}.vxe-form--item .vxe-default-input[type=search],.vxe-form--item .vxe-default-input[type=text],.vxe-form--item .vxe-default-select,.vxe-form--item .vxe-default-textarea{color:#606266}.vxe-form--item .vxe-default-input[type=search]:focus,.vxe-form--item .vxe-default-input[type=text]:focus,.vxe-form--item .vxe-default-select:focus,.vxe-form--item .vxe-default-textarea:focus{border: 0.0625rem solid #409eff}.vxe-form--item .vxe-default-input[type=search][disabled],.vxe-form--item .vxe-default-input[type=text][disabled],.vxe-form--item .vxe-default-select[disabled],.vxe-form--item .vxe-default-textarea[disabled]{cursor:not-allowed;background-color:#f3f3f3}.vxe-form--item .vxe-default-input[type=reset],.vxe-form--item .vxe-default-input[type=submit]{line-height: 2rem;background-color:#fff;cursor:pointer}.vxe-form--item .vxe-default-input[type=reset]:active,.vxe-form--item .vxe-default-input[type=submit]:active{color:#3699ff;border-color:#3699ff}.vxe-form--item .vxe-default-input[type=date]::-webkit-inner-spin-button{margin-top: 0.375rem}.vxe-form--item .vxe-default-input[type=date]::-webkit-inner-spin-button,.vxe-form--item .vxe-default-input[type=number]::-webkit-inner-spin-button{height: 1.5rem}.vxe-form--item .vxe-default-input::-webkit-input-placeholder{color:#c0c4cc}.vxe-form--item .vxe-default-input::-moz-placeholder{color:#c0c4cc}.vxe-form--item .vxe-default-input:-ms-input-placeholder{color:#c0c4cc}.vxe-form--item .vxe-default-input::-ms-input-placeholder{color:#c0c4cc}.vxe-form--item .vxe-default-input::placeholder{color:#c0c4cc}.vxe-form--item .vxe-default-input[type=search],.vxe-form--item .vxe-default-input[type=text],.vxe-form--item .vxe-default-select,.vxe-form--item .vxe-default-textarea{width: 11.25rem}.vxe-form--item .vxe-default-textarea{resize:none;vertical-align:middle}.vxe-form--item .vxe-default-textarea::-webkit-input-placeholder{color:#c0c4cc}.vxe-form--item .vxe-default-textarea::-moz-placeholder{color:#c0c4cc}.vxe-form--item .vxe-default-textarea:-ms-input-placeholder{color:#c0c4cc}.vxe-form--item .vxe-default-textarea::-ms-input-placeholder{color:#c0c4cc}.vxe-form--item .vxe-default-textarea::placeholder{color:#c0c4cc}.vxe-form .vxe-form--item-inner{min-height: 2.25rem}.vxe-form .vxe-form--item-inner>.align--center{text-align:center}.vxe-form .vxe-form--item-inner>.align--left{text-align:left}.vxe-form .vxe-form--item-inner>.align--right{text-align:right}.vxe-form.size--medium{font-size: 0.875rem}.vxe-form.size--medium .vxe-form--item-inner{min-height: 2.125rem}.vxe-form.size--medium .vxe-default-input[type=reset],.vxe-form.size--medium .vxe-default-input[type=submit]{line-height: 1.875rem}.vxe-form.size--medium .vxe-default-input,.vxe-form.size--medium .vxe-default-select{height: 2rem}.vxe-form.size--small{font-size: 0.8125rem}.vxe-form.size--small .vxe-form--item-inner{min-height: 2rem}.vxe-form.size--small .vxe-default-input[type=reset],.vxe-form.size--small .vxe-default-input[type=submit]{line-height: 1.75rem}.vxe-form.size--small .vxe-default-input,.vxe-form.size--small .vxe-default-select{height: 1.875rem}.vxe-form.size--mini{font-size: 0.75rem}.vxe-form.size--mini .vxe-form--item-inner{min-height: 1.875rem}.vxe-form.size--mini .vxe-default-input[type=reset],.vxe-form.size--mini .vxe-default-input[type=submit]{line-height: 1.625rem}.vxe-form.size--mini .vxe-default-input,.vxe-form.size--mini .vxe-default-select{height: 1.75rem}.vxe-select{position:relative;display:inline-block;width: 11.25rem;color:#606266;text-align:left}.vxe-select>.vxe-input .vxe-input--inner{cursor:pointer}.vxe-select.is--disabled>.vxe-input .vxe-input--inner{cursor:no-drop}.vxe-select.is--loading>.vxe-input .vxe-input--inner{cursor:progress}.vxe-select>.vxe-input{width:100%}.vxe-select>.vxe-input .vxe-input--suffix-icon{display:inline-block;-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out}.vxe-select.is--active:not(.is--filter)>.vxe-input .vxe-input--inner{border: 0.0625rem solid #409eff}.vxe-select-slots{display:none}.vxe-select--panel{display:none;position:absolute;left:0;padding: 0.25rem 0;color:#606266;text-align:left}.vxe-select--panel:not(.is--transfer){min-width:100%}.vxe-select--panel.is--transfer{position:fixed}.vxe-select--panel.animat--leave{display:block;opacity:0;-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.vxe-select--panel.animat--leave[placement=top]{-webkit-transform-origin:center bottom;transform-origin:center bottom}.vxe-select--panel.animat--enter{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1)}.vxe-select-filter--wrapper{display:block}.vxe-select-filter--wrapper .vxe-select-filter--input{width:100%}.vxe-select-option--wrapper{position:relative;overflow-x:hidden;overflow-y:auto;padding: 0.25rem 0;max-height: 12.5rem;border-radius: 0.25rem;border: 0.0625rem solid #dadce0;-webkit-box-shadow:0 0 0.375rem 0.125rem rgba(0,0,0,.1);box-shadow:0 0 0.375rem 0.125rem rgba(0,0,0,.1);background-color:#fff}.vxe-optgroup .vxe-optgroup--title{padding:0 0.375rem;color:#909399;font-size: 0.75rem}.vxe-optgroup--wrapper .vxe-select-option{padding:0 1.25rem}.vxe-select-option{padding:0 .6em;max-width: 37.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-select-option.is--selected{font-weight:700;color:#409eff}.vxe-select-option:not(.is--disabled){cursor:pointer}.vxe-select-option:not(.is--disabled).is--hover{background-color:#f5f7fa}.vxe-select-option.is--disabled{color:#bfbfbf;cursor:no-drop}.vxe-select--search-icon{margin-right:.5em}.vxe-select--empty-placeholder,.vxe-select--search-loading{padding:0 .6em;text-align:center;color:#c0c4cc}.vxe-select,.vxe-select--panel,.vxe-select--panel.size--medium,.vxe-select.size--medium{font-size: 0.875rem}.vxe-select--panel.size--small,.vxe-select.size--small{font-size: 0.8125rem}.vxe-select--panel.size--mini,.vxe-select.size--mini{font-size: 0.75rem}.vxe-select--panel .vxe-optgroup--title,.vxe-select--panel .vxe-select-option{height: 1.875rem}.vxe-select--panel .vxe-optgroup--title,.vxe-select--panel .vxe-select--empty-placeholder,.vxe-select--panel .vxe-select--search-loading,.vxe-select--panel .vxe-select-option{line-height: 1.875rem}.vxe-select--panel.size--medium .vxe-optgroup--title,.vxe-select--panel.size--medium .vxe-select-option{height: 1.75rem}.vxe-select--panel.size--medium .vxe-optgroup--title,.vxe-select--panel.size--medium .vxe-select--empty-placeholder,.vxe-select--panel.size--medium .vxe-select--search-loading,.vxe-select--panel.size--medium .vxe-select-option{line-height: 1.75rem}.vxe-select--panel.size--small .vxe-optgroup--title,.vxe-select--panel.size--small .vxe-select-option{height: 1.625rem}.vxe-select--panel.size--small .vxe-optgroup--title,.vxe-select--panel.size--small .vxe-select--empty-placeholder,.vxe-select--panel.size--small .vxe-select--search-loading,.vxe-select--panel.size--small .vxe-select-option{line-height: 1.625rem}.vxe-select--panel.size--mini .vxe-optgroup--title,.vxe-select--panel.size--mini .vxe-select-option{height: 1.5rem}.vxe-select--panel.size--mini .vxe-optgroup--title,.vxe-select--panel.size--mini .vxe-select--empty-placeholder,.vxe-select--panel.size--mini .vxe-select--search-loading,.vxe-select--panel.size--mini .vxe-select-option{line-height: 1.5rem}.vxe-switch{display:inline-block;color:#606266;vertical-align:middle;padding:.4em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center}.vxe-switch.is--animat .vxe-switch--button{-webkit-transition:border-color .3s,background-color .3s;transition:border-color .3s,background-color .3s}.vxe-switch.is--animat .vxe-switch--icon{-webkit-transition:all .3s;transition:all .3s}.vxe-switch.is--on .vxe-switch--button{padding-right:1.7em;background-color:#409eff}.vxe-switch.is--on .vxe-switch--icon{left:100%;-webkit-transform:translateX(-1.4em);transform:translateX(-1.4em)}.vxe-switch.is--off .vxe-switch--button{padding-left:1.7em;background-color:rgba(0,0,0,.35)}.vxe-switch.is--off .vxe-switch--icon{left:.2em;-webkit-transform:translateX(0);transform:translateX(0)}.vxe-switch.is--off .vxe-switch--label-on,.vxe-switch.is--on .vxe-switch--label-off{height:0;visibility:hidden;overflow:hidden}.vxe-switch.is--off .vxe-switch--label,.vxe-switch.is--on .vxe-switch--label{opacity:1}.vxe-switch:not(.is--disabled) .vxe-switch--button{cursor:pointer}.vxe-switch:not(.is--disabled) .vxe-switch--button:focus{-webkit-box-shadow:0 0 .4em 0 #409eff;box-shadow:0 0 .4em 0 #409eff}.vxe-switch.is--disabled .vxe-switch--button{cursor:no-drop}.vxe-switch.is--disabled.is--on .vxe-switch--button{background-color:#a6d2ff}.vxe-switch.is--disabled.is--off .vxe-switch--button{background-color:rgba(0,0,0,.15)}.vxe-switch .vxe-switch--button{display:block;position:relative;height:1.6em;line-height:1;min-width:3.2em;padding:0 .6em;border-radius:1em;border:0;outline:0}.vxe-switch .vxe-switch--label{opacity:0;display:block;color:#fff;font-size:.8em}.vxe-switch .vxe-switch--icon{position:absolute;top:.2em;left:0;width:1.2em;height:1.2em;border-radius:50%;background-color:#fff}.vxe-switch .vxe-switch--label-icon{margin-right:.25em}.vxe-switch,.vxe-switch.size--medium{font-size: 0.875rem}.vxe-switch.size--small{font-size: 0.8125rem}.vxe-switch.size--mini{font-size: 0.75rem}.vxe-list{position:relative;display:block;padding:0;color:#606266;direction:ltr}.vxe-list .vxe-list--virtual-wrapper{position:relative;overflow:auto}.vxe-list .vxe-list--y-space{width:0;float:left}.vxe-list .vxe-list--body,.vxe-list .vxe-list--virtual-wrapper{padding:0;margin:0;border:0;outline:0}.vxe-list--virtual-wrapper{height: 6.25rem}.vxe-pulldown{position:relative;display:inline-block;color:#606266;text-align:left}.vxe-pulldown--panel{display:none;position:absolute;left:0;padding: 0.25rem 0;color:#606266;text-align:left}.vxe-pulldown--panel:not(.is--transfer){min-width:100%}.vxe-pulldown--panel.is--transfer{position:fixed}.vxe-pulldown--panel.animat--leave{display:block;opacity:0;-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.vxe-pulldown--panel.animat--leave[placement=top]{-webkit-transform-origin:center bottom;transform-origin:center bottom}.vxe-pulldown--panel.animat--enter{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1)}.vxe-pulldown--wrapper{background-color:#fff}.vxe-pulldown,.vxe-pulldown--panel,.vxe-pulldown--panel.size--medium,.vxe-pulldown.size--medium{font-size: 0.875rem}.vxe-pulldown--panel.size--small,.vxe-pulldown.size--small{font-size: 0.8125rem}.vxe-pulldown--panel.size--mini,.vxe-pulldown.size--mini{font-size: 0.75rem} \ No newline at end of file diff --git a/src/css/global/index.scss b/src/css/global/index.scss new file mode 100644 index 0000000..7f1a92f --- /dev/null +++ b/src/css/global/index.scss @@ -0,0 +1,157 @@ +html, body, #app { + width: 100%; + height: 100%; + padding: 0; + margin: 0; +} + +html { + font-size: 16px; +} + +#__testStringWide { + display: none; + height: 1.375rem !important; + visibility: unset; + font-size: 0.875rem !important; +} + + +.confirm-btn-box { + display: flex; + flex-direction: row; + justify-content: center; + margin-top: 1.25rem; +} + +/* 字体图标样式开始*/ +.iconfont { + color: #ffffff; + margin-left: 0.7rem; + font-size: 1.25rem !important; +} + +.iconfont:hover { + color: var(--theme-color); +} + +/* 字体图标样式结束*/ + + +.flex { + display: flex; +} + +.flex-center { + display: flex; + align-items: center; + justify-content: center; +} + +.flex-column-center { + display: flex; + align-items: center; +} + +.is-can-click { + cursor: pointer; +} + + +.static-title { + background: linear-gradient(to right, #703AAC 0%, rgba(112, 58, 172, 0) 100%); + box-shadow: 0 0 0.06rem 0 rgba(41, 137, 248, 0.5) inset; + width: 16.88rem; + height: 1.56rem; + font-size: 1rem; + font-family: MicrosoftYaHei-Bold, MicrosoftYaHei, serif; + font-weight: bold; + color: #FFFFFF; +} + +/* 滚动条样式 开始*/ +::-webkit-scrollbar { + height: 0.5rem; + width: 0.5rem; + background: var(--gun-dong-tiao-gb); +} + +::-webkit-scrollbar-thumb { + background: var(--theme-color); + border-radius: 0.31rem; +} + +::-webkit-scrollbar-thumb:hover { + cursor: pointer !important; +} + +/* 滚动条样式 结束*/ + +.mb-10 { + //margin-bottom: 0.1rem !important; + margin-bottom: 0.62rem !important; +} + +.ml-10 { + margin-left: 0.62rem !important; +} + +.ml-20 { + margin-left: 0.125rem !important; +} + +.mr-10 { + margin-right: 0.62rem !important; +} + +.mr-20 { + margin-right: 1.25rem !important; +} + +.mr-5 { + margin-right: 0.31rem !important; +} + +.mt-10 { + margin-top: 0.62rem !important; +} + +.w-100 { + width: 100% !important; +} + +.h-100 { + height: 100% !important; +} + +.center { + display: flex; + align-items: center; + justify-content: center; +} + +.token-box { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} + + +.el-pagination { + display: flex; + align-content: center; + justify-content: center; +} + +.el-table__header-wrapper { + height: 40px !important; + + .el-table__header { + height: 40px !important; + } +} + +.el-table .el-table__cell { + padding: 0 !important; +} diff --git a/src/css/index.css b/src/css/index.css new file mode 100644 index 0000000..859f1fd --- /dev/null +++ b/src/css/index.css @@ -0,0 +1,24 @@ +@import url('./global/index.scss'); +@import url('./element/index.scss'); +@import url('./vxe-table/index.scss'); +@import url('./message/index.scss'); + +:root { + --theme-color: rgb(44, 70, 155); + --modal-bg-color: rgba(27, 26, 72, 0.75); + --white-font: #ffffff; + --aside-bg: rgb(44, 70, 155); + --cancel-btn-gb: rgba(0, 0, 0, 0); + --follow-list-bg: rgba(242, 242, 242, 0.9); + --table-header-row-bg: rgba(40, 39, 72, 1); + --gun-dong-tiao-gb: rgba(242, 242, 242, 0.9); + --aside-gbc: #2c469b; + --aside-font-color: #FFFFFF; + --map-control-gb: rgba(0, 60, 136, 0.3); + --map-control-font-color: #eee; + --dialog-bg: rgba(255, 255, 255, 0.6); + --dialog-header-bg: var(--aside-gbc); + --dialog-header-font-color: #FFFFFF; + --dialog-body-gb: rgba(255, 255, 255, 0.6) +} + diff --git a/src/css/message/index.scss b/src/css/message/index.scss new file mode 100644 index 0000000..6078010 --- /dev/null +++ b/src/css/message/index.scss @@ -0,0 +1,3 @@ +.toast-message { + font-size: 1rem !important; +} diff --git a/src/css/vxe-table/index.scss b/src/css/vxe-table/index.scss new file mode 100644 index 0000000..2a275ef --- /dev/null +++ b/src/css/vxe-table/index.scss @@ -0,0 +1,138 @@ +.vxe-modal--wrapper { +} + +.vxe-modal--body { + background: rgba(255, 255, 255, 0.95); + border-radius: 0 0 0.75rem 0.75rem !important; +} + +.vxe-modal--header { + background: #2c469b !important; + color: #ffffff !important; + border: none !important; + border-radius: 0.75rem 0.75rem 0 0 !important; + height: 2.5rem; + padding-left: 0.9rem; +} + +.vxe-modal--box { + background: transparent !important; + border: none !important; +} + + +/* table 样式开始*/ +.table-header-row-css { + background: rgb(148, 161, 204); + color: var(--white-font); + border: none !important; +} + +.vxe-table--main-wrapper { + border: none !important; +} + +.vxe-table--body-wrapper { + color: black; +} + +.custom-table-page { + background: transparent !important; + color: var(--white-font) !important; +} + +.vxe-table--border-line { +} + +.vxe-table .vxe-table--header-wrapper .vxe-table--header-border-line { + display: none !important; +} + +.vxe-header--gutter { + background-position: unset !important; +} + +.vxe-header--column { + border-bottom: none !important; + background-position: unset !important; +} + +.table-row-css { + border: none !important; + height: 2.5rem !important; +} + +.table-row-css:nth-child(odd) { + background: #343352 !important; + color: #B2B1CE !important; +} + +.table-cell-css { + height: 2.5rem !important; + border-bottom: none !important; +} + +.table-row-css:nth-child(even) { + background: #3C3B5B !important; + color: #B2B1CE !important; + border: none !important; +} + +/* table 样式结束*/ + + +/* header 按钮样式开始*/ +.is--filter-active .vxe-cell--filter .vxe-filter--btn { + color: var(--theme-color) !important; +} + +/* header 按钮样式结束*/ + + +/* 分页样式 开始*/ +.vxe-pager--wrapper .vxe-pager--prev-btn, .vxe-pager--wrapper .vxe-pager--next-btn { + background: var(--theme-color) !important; + color: var(--white-font) !important; +} + +.vxe-pager--wrapper .vxe-pager--prev-btn:hover, .vxe-pager--wrapper .vxe-pager--next-btn:hover { + background: var(--theme-color) !important; + color: var(--white-font) !important; + opacity: 0.7 !important; +} + +.vxe-pager--wrapper .vxe-pager--prev-btn:focus, .vxe-pager--wrapper .vxe-pager--next-btn:focus { + background: var(--theme-color) !important; + color: var(--white-font) !important; + opacity: 0.7 !important; +} + +.vxe-pager--wrapper .vxe-pager--sizes { + +} + +.vxe-pager--wrapper .vxe-pager--sizes .vxe-select--panel .vxe-select-option--wrapper .is--selected { + color: var(--theme-color) !important; +} + +.vxe-pager--wrapper .vxe-pager--sizes .vxe-select--panel .vxe-select-option--wrapper .is--hover { + color: var(--theme-color) !important; +} + +.vxe-pager--wrapper .vxe-pager--sizes .vxe-input .vxe-input--inner:focus { + border-color: var(--theme-color) !important; +} + +.vxe-pager--wrapper .vxe-pager--goto:focus { + border-color: var(--theme-color) !important; +} + +/* 分页样式 结束*/ + + +/* 表格中的加载 开始*/ +.vxe-loading .vxe-loading--spinner:after, .vxe-loading .vxe-loading--spinner:before { + background: var(--theme-color) !important; +} + +/* 表格中的加载 结束*/ diff --git a/src/css/vxe-table/source-index.css b/src/css/vxe-table/source-index.css new file mode 100644 index 0000000..8752bb5 --- /dev/null +++ b/src/css/vxe-table/source-index.css @@ -0,0 +1 @@ +@font-face{font-family:vxeiconfont;src:url("data:application/x-font-woff2;charset=utf-8;base64,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 0.4375remxcQhT6JtOltxQqd1RaWylF5jSTYpvCkBUFkj0pyuAIKBKJdWIxiiImGClF5JwJkBqilQ7ZxjJ4ycKpoML1IOWnW5RFh2ICKUeVfC1m3rt0Z4MZCx8TPrajz0ZlEI/VENljqKHCSFQJliuDVl1qNEmsFR5aPLMYHAVFD1FzEsIZ7R2xyiGPgDRnz0Zk6JxTRZIuYJ+ex95KK+dboBFkkjwEG7ZSOq/vrZQ0QFNrt93VJuIMacPt858WK1LIByeWLOjvSwIRusf/BrWtxLXveV+qhamUR7cs2NVofVQfWVK7HWUCvWA2zqJlWOCwmdStyjMU+aPufflZHg0LBjmuzhnD1VI1++Gjz+t5W0l25DsqZ75VXxZHEVyaA04IqFOGavGA6IVUAVFILMI61EAm8ru13a3FtIPI1meGGd 0.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") format("woff2")}@-webkit-keyframes rollCircle{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes rollCircle{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}[class*=vxe-icon-]{font-family:vxeiconfont!important;font-style:normal;font-weight:400;font-size:1.1em;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[class*=vxe-icon-].animat,[class*=vxe-icon-].roll{display:inline-block}[class*=vxe-icon-].animat{-webkit-transition:-webkit-transform .25s ease-in-out;transition:-webkit-transform .25s ease-in-out;transition:transform .25s ease-in-out;transition:transform .25s ease-in-out,-webkit-transform .25s ease-in-out}[class*=vxe-icon-].rotate45{-webkit-transform:rotate(45deg);transform:rotate(45deg)}[class*=vxe-icon-].rotate90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}[class*=vxe-icon-].rotate180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}[class*=vxe-icon-].roll{-webkit-animation:rollCircle 1s linear infinite;animation:rollCircle 1s linear infinite}.vxe-icon-lightning:before{content:""}.vxe-icon-cloudy:before{content:""}.vxe-icon-heavy-rain:before{content:""}.vxe-icon-moon:before{content:""}.vxe-icon-sunny:before{content:""}.vxe-icon-location:before{content:""}.vxe-icon-location-fill:before{content:""}.vxe-icon-microphone-fill:before{content:""}.vxe-icon-microphone:before{content:""}.vxe-icon-share:before{content:""}.vxe-icon-share-fill:before{content:""}.vxe-icon-flag:before{content:""}.vxe-icon-flag-fill:before{content:""}.vxe-icon-platform:before{content:""}.vxe-icon-goods-fill:before{content:""}.vxe-icon-goods:before{content:""}.vxe-icon-funnel-clear:before{content:""}.vxe-icon-envelope:before{content:""}.vxe-icon-envelope-open-fill:before{content:""}.vxe-icon-envelope-open:before{content:""}.vxe-icon-envelope-fill:before{content:""}.vxe-icon-message-fill:before{content:""}.vxe-icon-chat:before{content:""}.vxe-icon-chat-fill:before{content:""}.vxe-icon-send:before{content:""}.vxe-icon-send-fill:before{content:""}.vxe-icon-user:before{content:""}.vxe-icon-user-fill:before{content:""}.vxe-icon-wechat:before{content:""}.vxe-icon-alipay:before{content:""}.vxe-icon-indicator:before{content:""}.vxe-icon-file-excel:before{content:""}.vxe-icon-file-pdf:before{content:""}.vxe-icon-file-image:before{content:""}.vxe-icon-file-markdown:before{content:""}.vxe-icon-file-ppt:before{content:""}.vxe-icon-file-word:before{content:""}.vxe-icon-file-zip:before{content:""}.vxe-icon-file-txt:before{content:""}.vxe-icon-refresh:before{content:""}.vxe-icon-checkbox-unchecked:before{content:""}.vxe-icon-information:before{content:""}.vxe-icon-info-circle-fill:before{content:""}.vxe-icon-info-circle:before{content:""}.vxe-icon-chart-radar:before{content:""}.vxe-icon-chart-bar-x:before{content:""}.vxe-icon-repeat:before{content:""}.vxe-icon-voice-fill:before{content:""}.vxe-icon-voice:before{content:""}.vxe-icon-flow-branch:before{content:""}.vxe-icon-comment:before{content:""}.vxe-icon-folder:before{content:""}.vxe-icon-folder-open:before{content:""}.vxe-icon-picture:before{content:""}.vxe-icon-picture-fill:before{content:""}.vxe-icon-bell:before{content:""}.vxe-icon-bell-fill:before{content:""}.vxe-icon-undo:before{content:""}.vxe-icon-home:before{content:""}.vxe-icon-home-fill:before{content:""}.vxe-icon-checkbox-checked:before{content:""}.vxe-icon-checkbox-indeterminate:before{content:""}.vxe-icon-fullscreen:before{content:""}.vxe-icon-minimize:before{content:""}.vxe-icon-print:before{content:""}.vxe-icon-upload:before{content:""}.vxe-icon-download:before{content:""}.vxe-icon-cloud-upload:before{content:""}.vxe-icon-cloud-download:before{content:""}.vxe-icon-spinner:before{content:""}.vxe-icon-close:before{content:""}.vxe-icon-custom-column:before{content:""}.vxe-icon-edit:before{content:""}.vxe-icon-zoom-in:before{content:""}.vxe-icon-caret-down:before{content:""}.vxe-icon-caret-up:before{content:""}.vxe-icon-caret-right:before{content:""}.vxe-icon-caret-left:before{content:""}.vxe-icon-square-checked-fill:before{content:""}.vxe-icon-square-close:before{content:""}.vxe-icon-square-down:before{content:""}.vxe-icon-square-left:before{content:""}.vxe-icon-square-caret-right:before{content:""}.vxe-icon-square-minus:before{content:""}.vxe-icon-square-plus:before{content:""}.vxe-icon-square-right:before{content:""}.vxe-icon-square-up:before{content:""}.vxe-icon-square-checked:before{content:""}.vxe-icon-square-down-fill:before{content:""}.vxe-icon-square-minus-fill:before{content:""}.vxe-icon-square-close-fill:before{content:""}.vxe-icon-square-left-fill:before{content:""}.vxe-icon-square-caret-right-fill:before{content:""}.vxe-icon-square-up-fill:before{content:""}.vxe-icon-square-right-fill:before{content:""}.vxe-icon-square-plus-fill:before{content:""}.vxe-icon-square-plus-square:before{content:""}.vxe-icon-square-fill:before{content:""}.vxe-icon-square-square:before{content:""}.vxe-icon-sort-alpha-desc:before{content:""}.vxe-icon-sort-alpha-asc:before{content:""}.vxe-icon-sort-numeric-asc:before{content:""}.vxe-icon-sort-numeric-desc:before{content:""}.vxe-icon-star-fill:before{content:""}.vxe-icon-star:before{content:""}.vxe-icon-star-half:before{content:""}.vxe-icon-lock-fill:before{content:""}.vxe-icon-unlock-fill:before{content:""}.vxe-icon-question:before{content:""}.vxe-icon-exclamation:before{content:""}.vxe-icon-ellipsis-h:before{content:""}.vxe-icon-ellipsis-v:before{content:""}.vxe-icon-save:before{content:""}.vxe-icon-setting:before{content:""}.vxe-icon-setting-fill:before{content:""}.vxe-icon-link:before{content:""}.vxe-icon-sort:before{content:""}.vxe-icon-chart-pie:before{content:""}.vxe-icon-chart-line:before{content:""}.vxe-icon-swap:before{content:""}.vxe-icon-num-list:before{content:""}.vxe-icon-copy:before{content:""}.vxe-icon-company:before{content:""}.vxe-icon-swap-right:before{content:""}.vxe-icon-swap-left:before{content:""}.vxe-icon-table:before{content:""}.vxe-icon-merge-cells:before{content:""}.vxe-icon-paste:before{content:""}.vxe-icon-cut:before{content:""}.vxe-icon-lock:before{content:""}.vxe-icon-unlock:before{content:""}.vxe-icon-chart-bar-y:before{content:""}.vxe-icon-fixed-fill:before{content:""}.vxe-icon-fixed:before{content:""}.vxe-icon-square:before{content:""}.vxe-icon-check:before{content:""}.vxe-icon-question-circle-fill:before{content:""}.vxe-icon-error-circle-fill:before{content:""}.vxe-icon-delete:before{content:""}.vxe-icon-dot:before{content:""}.vxe-icon-success-circle:before{content:""}.vxe-icon-delete-fill:before{content:""}.vxe-icon-minus:before{content:""}.vxe-icon-maximize:before{content:""}.vxe-icon-question-circle:before{content:""}.vxe-icon-warning-circle:before{content:""}.vxe-icon-warnion-circle-fill:before{content:""}.vxe-icon-eye-fill:before{content:""}.vxe-icon-search:before{content:""}.vxe-icon-funnel:before{content:""}.vxe-icon-eye-fill-close:before{content:""}.vxe-icon-search-zoom-in:before{content:""}.vxe-icon-arrow-right:before{content:""}.vxe-icon-arrow-left:before{content:""}.vxe-icon-arrow-up:before{content:""}.vxe-icon-calendar:before{content:""}.vxe-icon-arrow-down:before{content:""}.vxe-icon-warning-triangle:before{content:""}.vxe-icon-add:before{content:""}.vxe-icon-arrow-double-left:before{content:""}.vxe-icon-arrow-double-right:before{content:""}.vxe-icon-menu:before{content:""}.vxe-icon-warning-triangle-fill:before{content:""}.vxe-icon-error-circle:before{content:""}.vxe-icon-zoom-out:before{content:""}.vxe-icon-success-circle-fill:before{content:""}.vxe-icon-radio-checked:before{content:""}.vxe-icon-radio-unchecked:before{content:""}.vxe-cell--filter{padding:0 .1em 0 .25em;text-align:center;vertical-align:middle;display:inline-block;line-height:0}.vxe-cell--filter.col--filter .vxe-filter--btn{color:#606266}.vxe-cell--filter .vxe-filter--btn{color:#c0c4cc;cursor:pointer}.vxe-cell--filter .vxe-filter--btn:hover{color:#606266}.is--filter-active .vxe-cell--filter .vxe-filter--btn{color:#409eff}.vxe-table--filter-wrapper{display:none;position:absolute;top:0;min-width: 6.25rem;border-radius: 0.25rem;background-color:#fff;border: 0.0625rem solid #dadce0;-webkit-box-shadow:0 0.0625rem 0.375rem rgba(0,0,0,.2);box-shadow:0 0.0625rem 0.375rem rgba(0,0,0,.2);z-index:10}.vxe-table--filter-wrapper:not(.is--multiple){text-align:center}.vxe-table--filter-wrapper.is--active{display:block}.vxe-table--filter-wrapper .vxe-table--filter-body>li,.vxe-table--filter-wrapper .vxe-table--filter-header>li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width: 22.5rem;padding:.25em .8em;cursor:pointer}.vxe-table--filter-wrapper .vxe-table--filter-body>li.is--checked,.vxe-table--filter-wrapper .vxe-table--filter-header>li.is--checked{color:#409eff}.vxe-table--filter-wrapper .vxe-table--filter-body>li:hover,.vxe-table--filter-wrapper .vxe-table--filter-header>li:hover{background-color:#f5f7fa}.vxe-table--filter-wrapper .vxe-table--filter-header{padding-top:.2em}.vxe-table--filter-wrapper .vxe-table--filter-body{max-height: 12.5rem;padding-bottom:.2em}.vxe-table--filter-wrapper>ul{list-style-type:none;padding:0;margin:0;overflow:auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-table--filter-wrapper.is--multiple>ul>li{padding:.25em .8em .25em 1em}.vxe-table--filter-wrapper .vxe-table--filter-footer{border-top: 0.0625rem solid #dadce0;padding:.6em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-table--filter-wrapper .vxe-table--filter-footer button{background-color:transparent;padding:0 .4em;border:0;color:#606266;cursor:pointer}.vxe-table--filter-wrapper .vxe-table--filter-footer button:focus{outline:none}.vxe-table--filter-wrapper .vxe-table--filter-footer button:hover{color:#409eff}.vxe-table--filter-wrapper .vxe-table--filter-footer button.is--disabled{color:#bfbfbf;cursor:not-allowed}.vxe-table--context-menu-clild-wrapper,.vxe-table--context-menu-wrapper{position:absolute;top:0;left:0;font-size: 0.75rem;border: 0.0625rem solid #dadce0;-webkit-box-shadow: 0.1875rem 0.1875rem 0.25rem -0.125rem rgba(0,0,0,.6);box-shadow: 0.1875rem 0.1875rem 0.25rem -0.125rem rgba(0,0,0,.6);padding:0 0.0625rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#606266;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;background-color:#fff}.vxe-context-menu--link{display:block;padding:0 2.5em;width: 11.125rem;line-height: 1.625rem;color:#606266;cursor:pointer}.vxe-context-menu--link .vxe-context-menu--link-prefix,.vxe-context-menu--link .vxe-context-menu--link-suffix{position:absolute;top: 0.3125rem;margin-right: 0.3125rem;font-size: 1rem}.vxe-context-menu--link .vxe-context-menu--link-prefix{left: 0.3125rem}.vxe-context-menu--link .vxe-context-menu--link-suffix{right: 0.3125rem}.vxe-context-menu--link .vxe-context-menu--link-suffix.suffix--haschild{top: 0.5rem}.vxe-context-menu--link .vxe-context-menu--link-suffix.suffix--haschild:before{position:absolute;content:"";border: 0.25rem solid transparent;border-left-color:#727272}.vxe-context-menu--link .vxe-context-menu--link-content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-table--context-menu-clild-wrapper .vxe-context-menu--link{padding:0 2em 0 2.5em}.vxe-context-menu--option-wrapper,.vxe-table--context-menu-clild-wrapper{margin:0;padding:0;list-style-type:none;border-bottom: 0.0625rem solid #e8eaed}.vxe-context-menu--option-wrapper li,.vxe-table--context-menu-clild-wrapper li{position:relative;margin: 0.0625rem 0;border: 0.0625rem solid transparent}.vxe-context-menu--option-wrapper li:last-child,.vxe-table--context-menu-clild-wrapper li:last-child{border:0}.vxe-context-menu--option-wrapper li.link--active,.vxe-table--context-menu-clild-wrapper li.link--active{background-color:#c5c5c5;border-color:#c5c5c5}.vxe-context-menu--option-wrapper li.link--active>.vxe-context-menu--link,.vxe-table--context-menu-clild-wrapper li.link--active>.vxe-context-menu--link{color:#2b2b2b}.vxe-context-menu--option-wrapper li.link--disabled>.vxe-context-menu--link,.vxe-table--context-menu-clild-wrapper li.link--disabled>.vxe-context-menu--link{color:#bfbfbf;cursor:no-drop}.vxe-context-menu--option-wrapper li.link--disabled.link--active,.vxe-table--context-menu-clild-wrapper li.link--disabled.link--active{border-color:#c0c1c2;background-color:#eee}.vxe-context-menu--option-wrapper li.link--disabled.link--active:hover,.vxe-table--context-menu-clild-wrapper li.link--disabled.link--active:hover{background-color:inherit}.vxe-table--context-menu-clild-wrapper{display:none;top:0;left:100%}.vxe-table--context-menu-clild-wrapper.is--show{display:block}.vxe-export--panel-column>ul{list-style-type:none;overflow:auto;margin:0;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-export--panel-column>ul>li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.vxe-export--panel>table{width:100%;border:0;table-layout:fixed}.vxe-export--panel>table tr td{padding:0 0.625rem}.vxe-export--panel>table tr td:first-child{text-align:right;width:30%;font-weight:700;padding: 0.5rem 0.625rem}.vxe-export--panel>table tr td:nth-child(2){width:70%}.vxe-export--panel>table tr td>.vxe-input,.vxe-export--panel>table tr td>.vxe-select{width:80%}.vxe-export--panel>table tr td>.vxe-export--panel-option-row{padding:.25em 0}.vxe-export--panel .vxe-export--panel-column{width:80%;border: 0.0625rem solid #dcdfe6;margin: 0.1875rem 0;border-radius: 0.25rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-export--panel .vxe-export--panel-column>ul>li{padding:.2em 1em .2em 1em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--2{padding-left:3.5em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--2 .vxe-checkbox--icon{left:1.8em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--3{padding-left:4.5em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--3 .vxe-checkbox--icon{left:2.8em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--4{padding-left:5.5em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--4 .vxe-checkbox--icon{left:3.8em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--5{padding-left:6.5em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--5 .vxe-checkbox--icon{left:4.8em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--6{padding-left:7.5em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--6 .vxe-checkbox--icon{left:5.8em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--7{padding-left:8.5em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--7 .vxe-checkbox--icon{left:6.8em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--8{padding-left:9.5em}.vxe-export--panel .vxe-export--panel-column>ul>li.level--8 .vxe-checkbox--icon{left:7.8em}.vxe-export--panel .vxe-export--panel-column .vxe-export--panel-column-header{padding:.1em 0;background-color:#f8f8f9;font-weight:700;border-bottom: 0.0625rem solid #e8eaec}.vxe-export--panel .vxe-export--panel-column .vxe-export--panel-column-body{padding:.2em 0;min-height:10em;max-height:17.6em}.vxe-export--panel .vxe-import-selected--file{padding-right: 2.5rem;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-export--panel .vxe-import-selected--file>i{display:none;position:absolute;top:50%;right: 0.9375rem;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size: 1rem;cursor:pointer}.vxe-export--panel .vxe-import-selected--file:hover{color:#409eff}.vxe-export--panel .vxe-import-selected--file:hover>i{display:block}.vxe-export--panel .vxe-import-select--file{border: 0.0625rem dashed #dcdfe6;padding: 0.375rem 2.125rem;outline:0;border-radius: 0.25rem;background-color:#fff;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.vxe-export--panel .vxe-import-select--file:focus{border-color:#409eff;-webkit-box-shadow:0 0 .25em 0 #409eff;box-shadow:0 0 .25em 0 #409eff}.vxe-export--panel .vxe-import-select--file:hover{color:#409eff;border-color:#409eff}.vxe-export--panel .vxe-export--panel-btns{text-align:right;padding:.25em}.vxe-loading{display:none;position:absolute;width:100%;height:100%;top:0;left:0;z-index:99;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:hsla(0,0%,100%,.5)}.vxe-loading.is--visible{display:block}.vxe-loading>.vxe-loading--chunk{width:100%;position:absolute;top:50%;left:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-align:center;color:#409eff}.vxe-loading .vxe-loading--default-icon{font-size:1.4em}.vxe-loading .vxe-loading--text{padding:.4em 0}.vxe-loading .vxe-loading--spinner{display:inline-block;position:relative;width: 3.5rem;height: 3.5rem}.vxe-loading .vxe-loading--spinner:after,.vxe-loading .vxe-loading--spinner:before{content:"";width:100%;height:100%;border-radius:50%;background-color:#409eff;opacity:.6;position:absolute;top:0;left:0;-webkit-animation:bounce 2s ease-in-out infinite;animation:bounce 2s ease-in-out infinite}.vxe-loading .vxe-loading--spinner:after{-webkit-animation-delay:-1s;animation-delay:-1s}@-webkit-keyframes bounce{0%,to{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes bounce{0%,to{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}.size--mini .vxe-loading .vxe-loading--spinner{width: 2.375rem;height: 2.375rem}.size--small .vxe-loading .vxe-loading--spinner{width: 2.75rem;height: 2.75rem}.size--medium .vxe-loading .vxe-loading--spinner{width: 3.125rem;height: 3.125rem}.vxe-table--render-default .vxe-body--column.col--ellipsis,.vxe-table--render-default.vxe-editable .vxe-body--column,.vxe-table--render-default .vxe-footer--column.col--ellipsis,.vxe-table--render-default .vxe-header--column.col--ellipsis{height: 3rem}.vxe-table--render-default.size--medium .vxe-body--column.col--ellipsis,.vxe-table--render-default.size--medium .vxe-footer--column.col--ellipsis,.vxe-table--render-default.size--medium .vxe-header--column.col--ellipsis,.vxe-table--render-default.vxe-editable.size--medium .vxe-body--column{height: 2.75rem}.vxe-table--render-default.size--small .vxe-body--column.col--ellipsis,.vxe-table--render-default.size--small .vxe-footer--column.col--ellipsis,.vxe-table--render-default.size--small .vxe-header--column.col--ellipsis,.vxe-table--render-default.vxe-editable.size--small .vxe-body--column{height: 2.5rem}.vxe-table--render-default.size--mini .vxe-body--column.col--ellipsis,.vxe-table--render-default.size--mini .vxe-footer--column.col--ellipsis,.vxe-table--render-default.size--mini .vxe-header--column.col--ellipsis,.vxe-table--render-default.vxe-editable.size--mini .vxe-body--column{height: 2.25rem}.vxe-table--file-form,.vxe-table-slots{display:none}.vxe-table--print-frame{position:fixed;bottom:-100%;left:-100%;height:0;width:0;border:0}.vxe-table--body-wrapper{scroll-behavior:auto}.vxe-table--body-wrapper,.vxe-table--fixed-left-body-wrapper,.vxe-table--fixed-right-body-wrapper{overflow-y:auto;overflow-x:auto}.vxe-cell .vxe-default-input,.vxe-cell .vxe-default-textarea,.vxe-table--filter-wrapper .vxe-default-input,.vxe-table--filter-wrapper .vxe-default-textarea{background-color:#fff}.vxe-cell .vxe-default-input,.vxe-cell .vxe-default-select,.vxe-cell .vxe-default-textarea,.vxe-table--filter-wrapper .vxe-default-input,.vxe-table--filter-wrapper .vxe-default-select,.vxe-table--filter-wrapper .vxe-default-textarea{outline:0;padding:0 0.125rem;width:100%;color:#606266;border-radius: 0.25rem;border: 0.0625rem solid #dcdfe6}.vxe-cell .vxe-default-input:focus,.vxe-cell .vxe-default-select:focus,.vxe-cell .vxe-default-textarea:focus,.vxe-table--filter-wrapper .vxe-default-input:focus,.vxe-table--filter-wrapper .vxe-default-select:focus,.vxe-table--filter-wrapper .vxe-default-textarea:focus{border: 0.0625rem solid #409eff}.vxe-cell .vxe-default-input[disabled],.vxe-cell .vxe-default-select[disabled],.vxe-cell .vxe-default-textarea[disabled],.vxe-table--filter-wrapper .vxe-default-input[disabled],.vxe-table--filter-wrapper .vxe-default-select[disabled],.vxe-table--filter-wrapper .vxe-default-textarea[disabled]{cursor:not-allowed;background-color:#f3f3f3}.vxe-cell .vxe-default-input,.vxe-cell .vxe-default-select,.vxe-cell .vxe-default-textarea,.vxe-table--filter-wrapper .vxe-default-input,.vxe-table--filter-wrapper .vxe-default-select,.vxe-table--filter-wrapper .vxe-default-textarea{height: 2.125rem}.vxe-cell .vxe-default-input[type=date]::-webkit-inner-spin-button,.vxe-table--filter-wrapper .vxe-default-input[type=date]::-webkit-inner-spin-button{margin-top: 0.25rem}.vxe-cell .vxe-default-input[type=date]::-webkit-inner-spin-button,.vxe-cell .vxe-default-input[type=number]::-webkit-inner-spin-button,.vxe-table--filter-wrapper .vxe-default-input[type=date]::-webkit-inner-spin-button,.vxe-table--filter-wrapper .vxe-default-input[type=number]::-webkit-inner-spin-button{height: 1.5rem}.vxe-cell .vxe-default-input::-webkit-input-placeholder,.vxe-table--filter-wrapper .vxe-default-input::-webkit-input-placeholder{color:#c0c4cc}.vxe-cell .vxe-default-input::-moz-placeholder,.vxe-table--filter-wrapper .vxe-default-input::-moz-placeholder{color:#c0c4cc}.vxe-cell .vxe-default-input:-ms-input-placeholder,.vxe-table--filter-wrapper .vxe-default-input:-ms-input-placeholder{color:#c0c4cc}.vxe-cell .vxe-default-input::-ms-input-placeholder,.vxe-table--filter-wrapper .vxe-default-input::-ms-input-placeholder{color:#c0c4cc}.vxe-cell .vxe-default-input::placeholder,.vxe-table--filter-wrapper .vxe-default-input::placeholder{color:#c0c4cc}.vxe-cell .vxe-default-textarea,.vxe-table--filter-wrapper .vxe-default-textarea{resize:none;vertical-align:middle}.vxe-cell .vxe-input,.vxe-cell .vxe-select,.vxe-cell .vxe-textarea,.vxe-table--filter-wrapper .vxe-input,.vxe-table--filter-wrapper .vxe-select,.vxe-table--filter-wrapper .vxe-textarea{width:100%;display:block}.vxe-cell .vxe-input>.vxe-input--inner,.vxe-cell .vxe-textarea>.vxe-textarea--inner,.vxe-table--filter-wrapper .vxe-input>.vxe-input--inner,.vxe-table--filter-wrapper .vxe-textarea>.vxe-textarea--inner{padding:0 0.125rem}.vxe-cell .vxe-default-textarea,.vxe-cell .vxe-textarea--inner,.vxe-table--filter-wrapper .vxe-default-textarea,.vxe-table--filter-wrapper .vxe-textarea--inner{resize:none}.vxe-table--cell-active-area,.vxe-table--cell-copy-area,.vxe-table--cell-extend-area,.vxe-table--cell-main-area,.vxe-table--checkbox-range{display:none;position:absolute;pointer-events:none;z-index:1}.vxe-table--fixed-left-wrapper .vxe-table--cell-active-area,.vxe-table--fixed-left-wrapper .vxe-table--cell-copy-area,.vxe-table--fixed-left-wrapper .vxe-table--cell-extend-area,.vxe-table--fixed-left-wrapper .vxe-table--cell-main-area,.vxe-table--fixed-left-wrapper .vxe-table--checkbox-range,.vxe-table--fixed-right-wrapper .vxe-table--cell-active-area,.vxe-table--fixed-right-wrapper .vxe-table--cell-copy-area,.vxe-table--fixed-right-wrapper .vxe-table--cell-extend-area,.vxe-table--fixed-right-wrapper .vxe-table--cell-main-area,.vxe-table--fixed-right-wrapper .vxe-table--checkbox-range{z-index:2}.vxe-table--fixed-left-wrapper .vxe-table--cell-active-area[half="1"],.vxe-table--fixed-left-wrapper .vxe-table--cell-extend-area[half="1"],.vxe-table--fixed-left-wrapper .vxe-table--cell-main-area[half="1"]{border-right:0}.vxe-table--fixed-left-wrapper .vxe-table--cell-copy-area[half="1"]{background-size: 0.1875rem 0.75rem,0 0.75rem, 0.75rem 0.1875rem, 0.75rem 0.1875rem}.vxe-table--fixed-right-wrapper .vxe-table--cell-active-area[half="1"],.vxe-table--fixed-right-wrapper .vxe-table--cell-extend-area[half="1"],.vxe-table--fixed-right-wrapper .vxe-table--cell-main-area[half="1"]{border-left:0}.vxe-table--fixed-right-wrapper .vxe-table--cell-copy-area[half="1"]{background-size:0 0.75rem, 0.1875rem 0.75rem, 0.75rem 0.1875rem, 0.75rem 0.1875rem}.vxe-table--checkbox-range{background-color:rgba(50,128,252,.2);border: 0.0625rem solid #006af1}.vxe-table--cell-area{height:0;font-size:0;display:none}.vxe-table--cell-area>.vxe-table--cell-main-area{background-color:rgba(64,158,255,.2);border: 0.0625rem solid #409eff}.vxe-table--cell-area .vxe-table--cell-main-area-btn{display:none;position:absolute;right: -0.0625rem;bottom: -0.0625rem;width: 0.4375rem;height: 0.4375rem;border-style:solid;border-color:#fff;border-width: 0.0625rem 0 0 0.0625rem;background-color:#409eff;pointer-events:auto;cursor:crosshair}.vxe-table--cell-area .vxe-table--cell-extend-area{border: 0.125rem solid #409eff}@-webkit-keyframes moveCopyCellBorder{to{background-position:0 -0.75rem,100% 0.75rem, 0.75rem 0, -0.75rem 100%}}@keyframes moveCopyCellBorder{to{background-position:0 -0.75rem,100% 0.75rem, 0.75rem 0, -0.75rem 100%}}.vxe-table--cell-copy-area{background:linear-gradient(0deg,transparent 0.375rem,#409eff 0) repeat-y,linear-gradient(0deg,transparent 50%,#409eff 0) repeat-y,linear-gradient(90deg,transparent 50%,#409eff 0) repeat-x,linear-gradient(90deg,transparent 50%,#409eff 0) repeat-x;background-size: 0.1875rem 0.75rem, 0.1875rem 0.75rem, 0.75rem 0.1875rem, 0.75rem 0.1875rem;background-position:0 0,100% 0,0 0,0 100%;-webkit-animation:moveCopyCellBorder .5s linear infinite;animation:moveCopyCellBorder .5s linear infinite}.vxe-table--cell-active-area{border: 0.125rem solid #409eff}.vxe-table--cell-multi-area>.vxe-table--cell-main-area{background-color:rgba(64,158,255,.2)}.vxe-table--render-default.is--round .vxe-table--border-line,.vxe-table--render-default.is--round .vxe-table--render-default.is--round,.vxe-table--render-default.is--round:not(.is--header):not(.is--footer) .vxe-table--body-wrapper.body--wrapper{border-radius: 0.25rem}.vxe-table--render-default.is--round.is--footer:not(.is--header) .vxe-table--body-wrapper.body--wrapper,.vxe-table--render-default.is--round.is--header .vxe-table--header-wrapper.body--wrapper{border-radius: 0.25rem 0.25rem 0 0}.vxe-table--render-default.is--round.is--header .vxe-table--header-wrapper.fixed-left--wrapper{border-radius: 0.25rem 0 0 0}.vxe-table--render-default.is--round.is--header .vxe-table--header-wrapper.fixed-right--wrapper{border-radius:0 0.25rem 0 0}.vxe-table--render-default.is--round.is--footer .vxe-table--footer-wrapper.body--wrapper,.vxe-table--render-default.is--round.is--header:not(.is--footer) .vxe-table--body-wrapper.body--wrapper{border-radius:0 0 0.25rem 0.25rem}.vxe-table--render-default.is--round.is--footer .vxe-table--footer-wrapper.fixed-left--wrapper,.vxe-table--render-default.is--round.is--footer:not(.is--header) .vxe-table--body-wrapper.fixed-left--wrapper,.vxe-table--render-default.is--round.is--header:not(.is--footer) .vxe-table--body-wrapper.fixed-left--wrapper{border-radius:0 0 0 0.25rem}.vxe-table--render-default.is--round.is--footer .vxe-table--footer-wrapper.fixed-right--wrapper,.vxe-table--render-default.is--round.is--footer:not(.is--header) .vxe-table--body-wrapper.fixed-right--wrapper,.vxe-table--render-default.is--round.is--header:not(.is--footer) .vxe-table--body-wrapper.fixed-right--wrapper{border-radius:0 0 0.25rem 0}.vxe-table .vxe-table--header-wrapper{color:#606266}.vxe-table .vxe-table--header-wrapper .vxe-table--header-border-line{position:absolute;left:0;bottom:0;height:0;border-bottom: 0.0625rem solid #e8eaec}.vxe-table .vxe-cell--sort{width:1.5em;height:1.35em;vertical-align:middle;text-align:center;display:inline-block;position:relative}.vxe-table .vxe-sort--asc-btn,.vxe-table .vxe-sort--desc-btn{position:absolute;left:.2em;color:#c0c4cc;width:1em;text-align:center;height:.8em;line-height:.8em;cursor:pointer}.vxe-table .vxe-sort--asc-btn:hover,.vxe-table .vxe-sort--desc-btn:hover{color:#606266}.vxe-table .vxe-sort--asc-btn.sort--active,.vxe-table .vxe-sort--desc-btn.sort--active{color:#409eff}.vxe-table .vxe-sort--asc-btn{top:-.1em}.vxe-table .vxe-sort--desc-btn{bottom:-.2em}.vxe-header--column{position:relative;font-weight:700}.vxe-header--column.col--ellipsis>.vxe-cell{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.vxe-header--column.col--ellipsis>.vxe-cell .vxe-cell--title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-header--column.col--ellipsis>.vxe-cell>i:not(.vxe-cell--title),.vxe-header--column.col--ellipsis>.vxe-cell>span:not(.vxe-cell--title){-ms-flex-negative:0;flex-shrink:0}.vxe-header--column .vxe-cell--required-icon{display:inline-block;color:#f56c6c;width:.8em;height:1em;line-height:1em;font-family:Verdana,Arial,Tahoma;font-weight:400;position:relative}.vxe-header--column .vxe-cell--required-icon:before{content:"*";position:absolute;left:0;top:.2em}.vxe-header--column .vxe-cell--required-icon{margin-right:.1em}.vxe-header--column .vxe-cell--edit-icon,.vxe-header--column .vxe-cell-help-icon{margin-right:.2em}.vxe-header--column .vxe-cell-help-icon{cursor:help}.vxe-header--column .vxe-resizable{position:absolute;right: -0.4375rem;bottom:0;width: 0.875rem;height:100%;text-align:center;z-index:1;cursor:col-resize}.vxe-header--column .vxe-resizable.is--line:after,.vxe-header--column .vxe-resizable.is--line:before{content:"";display:inline-block;vertical-align:middle}.vxe-header--column .vxe-resizable.is--line:before{width: 0.0625rem;height:50%;background-color:#d9dddf}.vxe-header--column .vxe-resizable.is--line:after{width:0;height:100%}.vxe-table--fixed-right-wrapper .vxe-header--column .vxe-resizable{right:auto;left: -0.4375rem}.vxe-table--render-default{position:relative;font-size: 0.875rem;color:#606266;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;direction:ltr}.vxe-table--render-default .vxe-table--body-wrapper,.vxe-table--render-default .vxe-table--footer-wrapper{background-color:#fff}.vxe-table--render-default .vxe-table--body,.vxe-table--render-default .vxe-table--footer,.vxe-table--render-default .vxe-table--header{border:0;border-spacing:0;border-collapse:separate;table-layout:fixed}.vxe-table--render-default .vxe-table--footer-wrapper,.vxe-table--render-default .vxe-table--header-wrapper{overflow-x:hidden;overflow-y:hidden}.vxe-table--render-default:not(.is--empty).is--footer.is--scroll-x .vxe-table--body-wrapper{overflow-x:scroll}.vxe-table--render-default .vxe-body--row.row--stripe{background-color:#fafafa}.vxe-table--render-default .vxe-body--row.row--checked,.vxe-table--render-default .vxe-body--row.row--radio{background-color:#fff3e0}.vxe-table--render-default .vxe-body--row.row--current{background-color:#e6f7ff}.vxe-table--render-default .vxe-body--row.row--hover,.vxe-table--render-default .vxe-body--row.row--hover.row--stripe{background-color:#f5f7fa}.vxe-table--render-default .vxe-body--row.row--hover.row--checked,.vxe-table--render-default .vxe-body--row.row--hover.row--radio{background-color:#ffebbc}.vxe-table--render-default .vxe-body--row.row--hover.row--current{background-color:#d7effb}.vxe-table--render-default.drag--resize .vxe-table--fixed-left-wrapper *,.vxe-table--render-default.drag--resize .vxe-table--fixed-right-wrapper *,.vxe-table--render-default.drag--resize .vxe-table--main-wrapper *{cursor:col-resize}.vxe-table--render-default.drag--area .vxe-table--fixed-left-wrapper *,.vxe-table--render-default.drag--area .vxe-table--fixed-right-wrapper *,.vxe-table--render-default.drag--area .vxe-table--main-wrapper *,.vxe-table--render-default.drag--range .vxe-table--fixed-left-wrapper *,.vxe-table--render-default.drag--range .vxe-table--fixed-right-wrapper *,.vxe-table--render-default.drag--range .vxe-table--main-wrapper *{cursor:default}.vxe-table--render-default.drag--extend-range .vxe-table--fixed-left-wrapper *,.vxe-table--render-default.drag--extend-range .vxe-table--fixed-right-wrapper *,.vxe-table--render-default.drag--extend-range .vxe-table--main-wrapper *{cursor:crosshair}.vxe-table--render-default.column--highlight .vxe-header--column:not(.col--seq):hover{background-color:#d7effb}.vxe-table--render-default.cell--area .vxe-table--main-wrapper{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-table--render-default .vxe-body--column,.vxe-table--render-default .vxe-footer--column,.vxe-table--render-default .vxe-header--column{position:relative;line-height: 1.375rem;text-align:left}.vxe-table--render-default .vxe-body--column:not(.col--ellipsis),.vxe-table--render-default .vxe-footer--column:not(.col--ellipsis),.vxe-table--render-default .vxe-header--column:not(.col--ellipsis){padding: 0.8125rem 0}.vxe-table--render-default .vxe-body--column.col--current,.vxe-table--render-default .vxe-footer--column.col--current,.vxe-table--render-default .vxe-header--column.col--current{background-color:#e6f7ff}.vxe-table--render-default .vxe-body--column.col--center,.vxe-table--render-default .vxe-footer--column.col--center,.vxe-table--render-default .vxe-header--column.col--center{text-align:center}.vxe-table--render-default .vxe-body--column.col--right,.vxe-table--render-default .vxe-footer--column.col--right,.vxe-table--render-default .vxe-header--column.col--right{text-align:right}.vxe-table--render-default .vxe-footer--column.col--ellipsis.col--center .vxe-cell,.vxe-table--render-default .vxe-header--column.col--ellipsis.col--center .vxe-cell{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.vxe-table--render-default .vxe-footer--column.col--ellipsis.col--right .vxe-cell,.vxe-table--render-default .vxe-header--column.col--ellipsis.col--right .vxe-cell{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.vxe-table--render-default .vxe-body--column.col--checkbox{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-table--render-default .vxe-table--footer-wrapper{border-top: 0.0625rem solid #e8eaec}.vxe-table--render-default.border--default .vxe-table--header-wrapper,.vxe-table--render-default.border--full .vxe-table--header-wrapper,.vxe-table--render-default.border--outer .vxe-table--header-wrapper{background-color:#f8f8f9}.vxe-table--render-default.border--default .vxe-body--column,.vxe-table--render-default.border--default .vxe-footer--column,.vxe-table--render-default.border--default .vxe-header--column,.vxe-table--render-default.border--inner .vxe-body--column,.vxe-table--render-default.border--inner .vxe-footer--column,.vxe-table--render-default.border--inner .vxe-header--column{background-image:-webkit-gradient(linear,left top,left bottom,from(#e8eaec),to(#e8eaec));background-image:linear-gradient(#e8eaec,#e8eaec);background-repeat:no-repeat;background-size:100% 0.0625rem;background-position:100% 100%}.vxe-table--render-default.border--full .vxe-body--column,.vxe-table--render-default.border--full .vxe-footer--column,.vxe-table--render-default.border--full .vxe-header--column{background-image:-webkit-gradient(linear,left top,left bottom,from(#e8eaec),to(#e8eaec)),-webkit-gradient(linear,left top,left bottom,from(#e8eaec),to(#e8eaec));background-image:linear-gradient(#e8eaec,#e8eaec),linear-gradient(#e8eaec,#e8eaec);background-repeat:no-repeat;background-size: 0.0625rem 100%,100% 0.0625rem;background-position:100% 0,100% 100%}.vxe-table--render-default.border--full .vxe-table--fixed-left-wrapper .vxe-body--column{border-right-color:#e8eaec}.vxe-table--render-default.border--default .vxe-table--header-wrapper .vxe-header--row:last-child .vxe-header--gutter,.vxe-table--render-default.border--full .vxe-table--header-wrapper .vxe-header--row:last-child .vxe-header--gutter,.vxe-table--render-default.border--inner .vxe-table--header-wrapper .vxe-header--row:last-child .vxe-header--gutter,.vxe-table--render-default.border--outer .vxe-table--header-wrapper .vxe-header--row:last-child .vxe-header--gutter{background-image:-webkit-gradient(linear,left top,left bottom,from(#e8eaec),to(#e8eaec));background-image:linear-gradient(#e8eaec,#e8eaec);background-repeat:no-repeat;background-size:100% 0.0625rem;background-position:100% 100%}.vxe-table--render-default.border--inner .vxe-table--header-wrapper,.vxe-table--render-default.border--none .vxe-table--header-wrapper{background-color:#fff}.vxe-table--render-default.border--inner .vxe-table--fixed-left-wrapper,.vxe-table--render-default.border--none .vxe-table--fixed-left-wrapper{border-right:0}.vxe-table--render-default.border--inner .vxe-table--border-line{border-width:0 0 0.0625rem 0}.vxe-table--render-default.border--none .vxe-table--border-line,.vxe-table--render-default.border--none .vxe-table--header-border-line{display:none}.vxe-table--render-default.size--medium{font-size: 0.875rem}.vxe-table--render-default.size--medium .vxe-table--empty-block,.vxe-table--render-default.size--medium .vxe-table--empty-placeholder{min-height: 2.75rem}.vxe-table--render-default.size--medium .vxe-body--column:not(.col--ellipsis),.vxe-table--render-default.size--medium .vxe-footer--column:not(.col--ellipsis),.vxe-table--render-default.size--medium .vxe-header--column:not(.col--ellipsis){padding: 0.6875rem 0}.vxe-table--render-default.size--medium .vxe-cell .vxe-default-input,.vxe-table--render-default.size--medium .vxe-cell .vxe-default-select,.vxe-table--render-default.size--medium .vxe-cell .vxe-default-textarea{height: 2rem}.vxe-table--render-default.size--medium .vxe-cell .vxe-default-input[type=date]::-webkit-inner-spin-button{margin-top: 0.1875rem}.vxe-table--render-default.size--small{font-size: 0.8125rem}.vxe-table--render-default.size--small .vxe-table--empty-block,.vxe-table--render-default.size--small .vxe-table--empty-placeholder{min-height: 2.5rem}.vxe-table--render-default.size--small .vxe-body--column:not(.col--ellipsis),.vxe-table--render-default.size--small .vxe-footer--column:not(.col--ellipsis),.vxe-table--render-default.size--small .vxe-header--column:not(.col--ellipsis){padding: 0.5625rem 0}.vxe-table--render-default.size--small .vxe-cell .vxe-default-input,.vxe-table--render-default.size--small .vxe-cell .vxe-default-select,.vxe-table--render-default.size--small .vxe-cell .vxe-default-textarea{height: 1.875rem}.vxe-table--render-default.size--small .vxe-cell .vxe-default-input[type=date]::-webkit-inner-spin-button{margin-top: 0.125rem}.vxe-table--render-default.size--mini{font-size: 0.75rem}.vxe-table--render-default.size--mini .vxe-table--empty-block,.vxe-table--render-default.size--mini .vxe-table--empty-placeholder{min-height: 2.25rem}.vxe-table--render-default.size--mini .vxe-body--column:not(.col--ellipsis),.vxe-table--render-default.size--mini .vxe-footer--column:not(.col--ellipsis),.vxe-table--render-default.size--mini .vxe-header--column:not(.col--ellipsis){padding: 0.4375rem 0}.vxe-table--render-default.size--mini .vxe-cell .vxe-default-input,.vxe-table--render-default.size--mini .vxe-cell .vxe-default-select,.vxe-table--render-default.size--mini .vxe-cell .vxe-default-textarea{height: 1.75rem}.vxe-table--render-default.size--mini .vxe-cell .vxe-default-input[type=date]::-webkit-inner-spin-button{margin-top: 0.0625rem}.vxe-table--render-default .vxe-cell{white-space:pre-line;word-break:break-all;padding-left: 0.625rem;padding-right: 0.625rem}.vxe-table--render-default .vxe-cell--placeholder{color:#c0c4cc}.vxe-table--render-default .fixed--hidden{visibility:hidden}.vxe-table--render-default .vxe-table--fixed-left-wrapper,.vxe-table--render-default .vxe-table--fixed-right-wrapper{width:100%;position:absolute;top:0;z-index:5;overflow:hidden;background-color:inherit;-webkit-transition:box-shadow .3s;transition:box-shadow .3s}.vxe-table--render-default .vxe-table--fixed-left-wrapper .vxe-table--body-wrapper,.vxe-table--render-default .vxe-table--fixed-right-wrapper .vxe-table--body-wrapper{overflow-x:hidden}.vxe-table--render-default .vxe-table--fixed-left-wrapper .vxe-table--body-wrapper{width:calc(100% + 2.5rem)}.vxe-table--render-default.is--header .vxe-table--fixed-left-wrapper .vxe-table--body-wrapper:before,.vxe-table--render-default.is--header .vxe-table--fixed-right-wrapper .vxe-table--body-wrapper:before{display:none}.vxe-table--render-default .vxe-table--fixed-left-wrapper{left:0;width: 12.5rem}.vxe-table--render-default .vxe-table--fixed-left-wrapper.scrolling--middle{-webkit-box-shadow: 0.25rem 0.1875rem 0.25rem 0 rgba(0,0,0,.12);box-shadow: 0.25rem 0.1875rem 0.25rem 0 rgba(0,0,0,.12)}.vxe-table--render-default .vxe-table--fixed-right-wrapper{right:0}.vxe-table--render-default .vxe-table--fixed-right-wrapper.scrolling--middle{-webkit-box-shadow: -0.25rem 0.1875rem 0.25rem 0 rgba(0,0,0,.12);box-shadow: -0.25rem 0.1875rem 0.25rem 0 rgba(0,0,0,.12)}.vxe-table--render-default .vxe-table--body-wrapper,.vxe-table--render-default .vxe-table--footer-wrapper,.vxe-table--render-default .vxe-table--header-wrapper{position:relative}.vxe-table--render-default .vxe-table--body-wrapper.fixed-left--wrapper,.vxe-table--render-default .vxe-table--body-wrapper.fixed-right--wrapper,.vxe-table--render-default .vxe-table--footer-wrapper.fixed-left--wrapper,.vxe-table--render-default .vxe-table--footer-wrapper.fixed-right--wrapper,.vxe-table--render-default .vxe-table--header-wrapper.fixed-left--wrapper,.vxe-table--render-default .vxe-table--header-wrapper.fixed-right--wrapper{position:absolute;top:0}.vxe-table--render-default .vxe-table--body-wrapper.fixed-left--wrapper,.vxe-table--render-default .vxe-table--footer-wrapper.fixed-left--wrapper,.vxe-table--render-default .vxe-table--header-wrapper.fixed-left--wrapper{left:0}.vxe-table--render-default .vxe-table--body-wrapper.fixed-right--wrapper,.vxe-table--render-default .vxe-table--footer-wrapper.fixed-right--wrapper,.vxe-table--render-default .vxe-table--header-wrapper.fixed-right--wrapper{right:0;overflow-y:auto}.vxe-table--render-default .vxe-body--x-space{width:100%;height: 0.0625rem;margin-bottom: -0.0625rem}.vxe-table--render-default .vxe-body--y-space{width:0;float:left}.vxe-table--render-default .vxe-table--resizable-bar{display:none;position:absolute;top:0;left:0;width: 0.0625rem;height:100%;z-index:9;cursor:col-resize}.vxe-table--render-default .vxe-table--resizable-bar:before{content:"";display:block;height:100%;background-color:#409eff}.vxe-table--render-default .vxe-table--border-line{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;pointer-events:none;border: 0.0625rem solid #e8eaec}.vxe-table--render-default.is--tree-line .vxe-body--row:first-child .vxe-tree--line{border-width:0 0 0.0625rem 0}.vxe-table--render-default.is--tree-line .vxe-body--row .vxe-body--column{background-image:none}.vxe-table--render-default .vxe-tree--line-wrapper{position:relative;display:block;height:0}.vxe-table--render-default .vxe-tree--line{content:"";position:absolute;bottom:-.9em;width:.8em;border-width:0 0 0.0625rem 0.0625rem;border-style:dotted;border-color:#909399;pointer-events:none}.vxe-table--render-default .vxe-cell--tree-node{position:relative}.vxe-table--render-default .vxe-tree--btn-wrapper{position:absolute;top:50%;width:1em;height:1em;text-align:center;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.vxe-table--render-default .vxe-tree--node-btn{display:block;color:#939599}.vxe-table--render-default .vxe-tree--node-btn:hover{color:#606266}.vxe-table--render-default .vxe-tree-cell{display:block;padding-left:1.5em}.vxe-table--render-default .vxe-body--column.col--ellipsis>.vxe-cell .vxe-tree-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-table--render-default .vxe-table--expanded{cursor:pointer}.vxe-table--render-default .vxe-table--expanded .vxe-table--expand-btn{display:inline-block;width:1em;height:1em;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#939599}.vxe-table--render-default .vxe-table--expanded .vxe-table--expand-btn:hover{color:#606266}.vxe-table--render-default .vxe-table--expanded+.vxe-table--expand-label{padding-left:.5em}.vxe-table--render-default .vxe-body--expanded-column{border-bottom: 0.0625rem solid #e8eaec}.vxe-table--render-default .vxe-body--expanded-column.col--ellipsis>.vxe-body--expanded-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-table--render-default .vxe-body--expanded-cell{position:relative;z-index:1}.vxe-table--render-default .vxe-body--expanded-cell.is--ellipsis{overflow:auto}.vxe-table--render-default .vxe-body--column.col--ellipsis>.vxe-cell,.vxe-table--render-default .vxe-footer--column.col--ellipsis>.vxe-cell,.vxe-table--render-default .vxe-header--column.col--ellipsis>.vxe-cell{max-height: 3rem}.vxe-table--render-default.size--medium .vxe-body--column.col--ellipsis>.vxe-cell,.vxe-table--render-default.size--medium .vxe-footer--column.col--ellipsis>.vxe-cell,.vxe-table--render-default.size--medium .vxe-header--column.col--ellipsis>.vxe-cell{max-height: 2.75rem}.vxe-table--render-default.size--medium .vxe-cell--checkbox,.vxe-table--render-default.size--medium .vxe-cell--radio{font-size: 0.875rem}.vxe-table--render-default.size--small .vxe-body--column.col--ellipsis>.vxe-cell,.vxe-table--render-default.size--small .vxe-footer--column.col--ellipsis>.vxe-cell,.vxe-table--render-default.size--small .vxe-header--column.col--ellipsis>.vxe-cell{max-height: 2.5rem}.vxe-table--render-default.size--small .vxe-cell--checkbox,.vxe-table--render-default.size--small .vxe-cell--radio{font-size: 0.8125rem}.vxe-table--render-default.size--mini .vxe-body--column.col--ellipsis>.vxe-cell,.vxe-table--render-default.size--mini .vxe-footer--column.col--ellipsis>.vxe-cell,.vxe-table--render-default.size--mini .vxe-header--column.col--ellipsis>.vxe-cell{max-height: 2.25rem}.vxe-table--render-default.size--mini .vxe-cell--checkbox,.vxe-table--render-default.size--mini .vxe-cell--radio{font-size: 0.75rem}.vxe-table--render-default .vxe-table--empty-block,.vxe-table--render-default .vxe-table--empty-placeholder{min-height: 3rem;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center;overflow:hidden;width:100%;pointer-events:none}.vxe-table--render-default .vxe-table--empty-block{display:none;visibility:hidden}.vxe-table--render-default .vxe-table--empty-placeholder{display:none;position:absolute;top:0;z-index:5}.vxe-table--render-default .vxe-table--empty-content{display:block;width:50%;pointer-events:auto}.vxe-table--render-default.is--empty .vxe-table--empty-block,.vxe-table--render-default.is--empty .vxe-table--empty-placeholder{display:-webkit-box;display:-ms-flexbox;display:flex}.vxe-table--render-default .vxe-body--column.col--selected{-webkit-box-shadow:inset 0 0 0 0.125rem #409eff;box-shadow:inset 0 0 0 0.125rem #409eff}.vxe-table--render-default .vxe-body--column.col--actived,.vxe-table--render-default .vxe-body--column.col--selected{position:relative}.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-cell--valid{width: 20rem;position:absolute;bottom:calc(100% + 0.25rem);left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);text-align:center;pointer-events:none;z-index:4}.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-cell--valid .vxe-cell--valid-msg{display:inline-block;border-radius: 0.25rem;padding: 0.5rem 0.75rem;color:#fff;background-color:#f56c6c;pointer-events:auto}.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-default-input,.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-default-select,.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-default-textarea,.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-input>.vxe-input--inner{border-color:#f56c6c}.vxe-table--render-default .vxe-body--row:first-child .vxe-cell--valid{bottom:auto;top:calc(100% + 0.25rem)}.vxe-table--render-default .vxe-body--column:first-child .vxe-cell--valid{left: 0.625rem;-webkit-transform:translateX(0);transform:translateX(0);text-align:left}.vxe-table--render-default .vxe-body--row.row--new>.vxe-body--column{position:relative}.vxe-table--render-default .vxe-body--row.row--new>.vxe-body--column:before{content:"";top: -0.3125rem;left: -0.3125rem;position:absolute;border-width: 0.3125rem;border-style:solid;border-color:transparent #19a15f transparent transparent;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.vxe-table--render-default .vxe-body--column.col--dirty{position:relative}.vxe-table--render-default .vxe-body--column.col--dirty:before{content:"";top: -0.3125rem;left: -0.3125rem;position:absolute;border-width: 0.3125rem;border-style:solid;border-color:transparent #f56c6c transparent transparent;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.vxe-table--render-default.vxe-editable.cell--highlight .vxe-body--column.col--actived{-webkit-box-shadow:inset 0 0 0 0.125rem #409eff;box-shadow:inset 0 0 0 0.125rem #409eff}.vxe-table--render-default.vxe-editable.cell--highlight .vxe-body--column.col--actived.col--valid-error{-webkit-box-shadow:inset 0 0 0 0.125rem #f56c6c;box-shadow:inset 0 0 0 0.125rem #f56c6c}.vxe-table--render-default.vxe-editable.cell--highlight .vxe-body--column.col--actived .vxe-cell .vxe-default-input,.vxe-table--render-default.vxe-editable.cell--highlight .vxe-body--column.col--actived .vxe-cell .vxe-default-textarea{border:0;padding:0}.vxe-table--render-default.vxe-editable.cell--highlight .vxe-body--column.col--actived .vxe-cell .vxe-default-input{height: 1.375rem}.vxe-table--render-default.vxe-editable.cell--highlight .vxe-body--column.col--actived .vxe-cell .vxe-input .vxe-input--inner{border:0;padding-left:0}.vxe-table--render-default.vxe-editable.cell--highlight .vxe-body--column.col--actived .vxe-cell .vxe-textarea{height: 1.3125rem}.vxe-table--render-default.vxe-editable.cell--highlight .vxe-body--column.col--actived .vxe-cell .vxe-textarea .vxe-textarea--inner{border:0}.vxe-table--render-default.vxe-editable .vxe-body--column,.vxe-table--render-default.vxe-editable .vxe-body--column.col--actived{padding:0}.vxe-table--footer-wrapper{color:#606266;margin-top: -0.0625rem}.vxe-table--footer-wrapper.body--wrapper{overflow-x:auto}.vxe-footer--column.col--ellipsis>.vxe-cell{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.vxe-footer--column.col--ellipsis>.vxe-cell .vxe-cell--item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-grid{position:relative}.vxe-grid.is--loading:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:99;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:hsla(0,0%,100%,.5)}.vxe-grid.is--loading>.vxe-table .vxe-loading{background-color:transparent}.vxe-grid.is--maximize{position:fixed;top:0;left:0;width:100%;height:100%;padding:.5em 1em;background-color:#fff}.vxe-grid .vxe-body--row.row--pending{color:#f56c6c;text-decoration:line-through;cursor:no-drop}.vxe-grid .vxe-body--row.row--pending .vxe-body--column{position:relative}.vxe-grid .vxe-body--row.row--pending .vxe-body--column:after{content:"";position:absolute;top:50%;left:0;width:100%;height:0;border-bottom: 0.0625rem solid #f56c6c;z-index:1}.vxe-grid .vxe-grid--bottom-wrapper,.vxe-grid .vxe-grid--form-wrapper,.vxe-grid .vxe-grid--top-wrapper{position:relative}.vxe-grid,.vxe-grid.size--medium{font-size: 0.875rem}.vxe-grid.size--small{font-size: 0.8125rem}.vxe-grid.size--mini{font-size: 0.75rem}.vxe-toolbar{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.6em 0;color:#606266;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;background-color:#fff}.vxe-toolbar:after{content:"";display:block;clear:both;height:0;overflow:hidden;visibility:hidden}.vxe-toolbar.is--perfect{border: 0.0625rem solid #e8eaec;border-bottom-width:0;background-color:#f8f8f9}.vxe-toolbar.is--loading:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:hsla(0,0%,100%,.5)}.vxe-toolbar .vxe-buttons--wrapper{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.vxe-toolbar .vxe-buttons--wrapper>.vxe-button+.vxe-button--item,.vxe-toolbar .vxe-buttons--wrapper>.vxe-button--item+.vxe-button,.vxe-toolbar .vxe-buttons--wrapper>.vxe-button--item+.vxe-button--item{margin-left:.8em}.vxe-toolbar .vxe-buttons--wrapper>.vxe-button--item{display:inline-block}.vxe-toolbar .vxe-tools--wrapper>.vxe-button+.vxe-tool--item,.vxe-toolbar .vxe-tools--wrapper>.vxe-tool--item+.vxe-button,.vxe-toolbar .vxe-tools--wrapper>.vxe-tool--item+.vxe-tool--item{margin-left:.8em}.vxe-toolbar .vxe-tools--wrapper>.vxe-tool--item{display:inline-block}.vxe-toolbar .vxe-tools--wrapper>.vxe-button{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.vxe-toolbar .vxe-buttons--wrapper,.vxe-toolbar .vxe-tools--operate,.vxe-toolbar .vxe-tools--wrapper,.vxe-toolbar .vxe-tools--wrapper>.vxe-button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.vxe-toolbar .vxe-buttons--wrapper,.vxe-toolbar .vxe-tools--wrapper{-ms-flex-wrap:wrap;flex-wrap:wrap}.vxe-toolbar .vxe-tools--operate{-ms-flex-negative:0;flex-shrink:0}.vxe-toolbar .vxe-custom--wrapper{position:relative;margin-left:.8em}.vxe-toolbar .vxe-custom--wrapper.is--active>.vxe-button{background-color:#d9dadb;border-radius:50%}.vxe-toolbar .vxe-custom--wrapper.is--active .vxe-custom--option-wrapper{display:block}.vxe-toolbar .vxe-custom--option-wrapper{display:none;position:absolute;right: 0.125rem;text-align:left;background-color:#fff;z-index:19;border: 0.0625rem solid #e8eaec;border-radius: 0.25rem;-webkit-box-shadow:0 0.0625rem 0.375rem rgba(0,0,0,.2);box-shadow:0 0.0625rem 0.375rem rgba(0,0,0,.2)}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header{padding:.28em 0;font-weight:700;border-bottom: 0.0625rem solid #dadce0}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body{padding:.2em 0;max-height:17.6em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body .vxe-custom--option:hover{background-color:#f5f7fa}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li{max-width:16em;min-width:12.5em;padding:.2em 1em .2em 1em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--2,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--2{padding-left:3.5em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--2 .vxe-checkbox--icon,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--2 .vxe-checkbox--icon{left:1.8em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--3,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--3{padding-left:4.5em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--3 .vxe-checkbox--icon,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--3 .vxe-checkbox--icon{left:2.8em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--4,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--4{padding-left:5.5em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--4 .vxe-checkbox--icon,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--4 .vxe-checkbox--icon{left:3.8em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--5,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--5{padding-left:6.5em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--5 .vxe-checkbox--icon,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--5 .vxe-checkbox--icon{left:4.8em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--6,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--6{padding-left:7.5em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--6 .vxe-checkbox--icon,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--6 .vxe-checkbox--icon{left:5.8em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--7,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--7{padding-left:8.5em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--7 .vxe-checkbox--icon,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--7 .vxe-checkbox--icon{left:6.8em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--8,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--8{padding-left:9.5em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--body>li.level--8 .vxe-checkbox--icon,.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--header>li.level--8 .vxe-checkbox--icon{left:7.8em}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--footer{border-top: 0.0625rem solid #dadce0;text-align:right}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--footer button{background-color:transparent;width:50%;height:2.5em;border:0;color:#606266;text-align:center;cursor:pointer}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--footer button:focus{outline:none}.vxe-toolbar .vxe-custom--option-wrapper .vxe-custom--footer button:hover{color:#409eff}.vxe-custom--option-wrapper .vxe-custom--body,.vxe-custom--option-wrapper .vxe-custom--header{list-style-type:none;overflow-x:hidden;overflow-y:auto;margin:0;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-custom--option-wrapper .vxe-custom--body>li,.vxe-custom--option-wrapper .vxe-custom--header>li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-toolbar,.vxe-toolbar.size--medium{font-size: 0.875rem}.vxe-toolbar.size--small{font-size: 0.8125rem}.vxe-toolbar.size--mini{font-size: 0.75rem}.vxe-pager{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#606266;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;text-align:right;background-color:#fff}.vxe-pager.is--hidden{display:none}.vxe-pager.align--left{text-align:left}.vxe-pager.align--center{text-align:center}.vxe-pager.is--loading:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:hsla(0,0%,100%,.5)}.vxe-pager .vxe-pager--jump-next,.vxe-pager .vxe-pager--jump-prev,.vxe-pager .vxe-pager--next-btn,.vxe-pager .vxe-pager--num-btn,.vxe-pager .vxe-pager--prev-btn{color:inherit;outline:0;padding:0;border: 0.0625rem solid transparent}.vxe-pager .vxe-pager--jump-next:not(.is--disabled):focus,.vxe-pager .vxe-pager--jump-prev:not(.is--disabled):focus,.vxe-pager .vxe-pager--next-btn:not(.is--disabled):focus,.vxe-pager .vxe-pager--num-btn:not(.is--disabled):focus,.vxe-pager .vxe-pager--prev-btn:not(.is--disabled):focus{-webkit-box-shadow:0 0 .25em 0 #409eff;box-shadow:0 0 .25em 0 #409eff}.vxe-pager .vxe-pager--jump-next:not(.is--disabled):active,.vxe-pager .vxe-pager--jump-prev:not(.is--disabled):active,.vxe-pager .vxe-pager--next-btn:not(.is--disabled):active,.vxe-pager .vxe-pager--num-btn:not(.is--disabled):active,.vxe-pager .vxe-pager--prev-btn:not(.is--disabled):active{background-color:#f7f7f7}.vxe-pager.is--border:not(.is--background) .vxe-pager--jump-next,.vxe-pager.is--border:not(.is--background) .vxe-pager--jump-prev,.vxe-pager.is--border:not(.is--background) .vxe-pager--next-btn,.vxe-pager.is--border:not(.is--background) .vxe-pager--num-btn,.vxe-pager.is--border:not(.is--background) .vxe-pager--prev-btn,.vxe-pager.is--perfect:not(.is--background) .vxe-pager--jump-next,.vxe-pager.is--perfect:not(.is--background) .vxe-pager--jump-prev,.vxe-pager.is--perfect:not(.is--background) .vxe-pager--next-btn,.vxe-pager.is--perfect:not(.is--background) .vxe-pager--num-btn,.vxe-pager.is--perfect:not(.is--background) .vxe-pager--prev-btn{border-color:#dcdfe6}.vxe-pager.is--background .vxe-pager--jump-next,.vxe-pager.is--background .vxe-pager--jump-prev,.vxe-pager.is--background .vxe-pager--next-btn,.vxe-pager.is--background .vxe-pager--num-btn,.vxe-pager.is--background .vxe-pager--prev-btn,.vxe-pager.is--perfect .vxe-pager--jump-next,.vxe-pager.is--perfect .vxe-pager--jump-prev,.vxe-pager.is--perfect .vxe-pager--next-btn,.vxe-pager.is--perfect .vxe-pager--num-btn,.vxe-pager.is--perfect .vxe-pager--prev-btn{background-color:#f4f4f5}.vxe-pager.is--background .vxe-pager--jump-next:not(.is--disabled).is--active,.vxe-pager.is--background .vxe-pager--jump-prev:not(.is--disabled).is--active,.vxe-pager.is--background .vxe-pager--num-btn:not(.is--disabled).is--active,.vxe-pager.is--perfect .vxe-pager--jump-next:not(.is--disabled).is--active,.vxe-pager.is--perfect .vxe-pager--jump-prev:not(.is--disabled).is--active,.vxe-pager.is--perfect .vxe-pager--num-btn:not(.is--disabled).is--active{color:#fff;background-color:#409eff}.vxe-pager.is--background .vxe-pager--jump-next:not(.is--disabled).is--active:hover,.vxe-pager.is--background .vxe-pager--jump-prev:not(.is--disabled).is--active:hover,.vxe-pager.is--background .vxe-pager--num-btn:not(.is--disabled).is--active:hover,.vxe-pager.is--perfect .vxe-pager--jump-next:not(.is--disabled).is--active:hover,.vxe-pager.is--perfect .vxe-pager--jump-prev:not(.is--disabled).is--active:hover,.vxe-pager.is--perfect .vxe-pager--num-btn:not(.is--disabled).is--active:hover{background-color:#5faeff}.vxe-pager.is--background .vxe-pager--jump-next:not(.is--disabled).is--active:focus,.vxe-pager.is--background .vxe-pager--jump-prev:not(.is--disabled).is--active:focus,.vxe-pager.is--background .vxe-pager--num-btn:not(.is--disabled).is--active:focus,.vxe-pager.is--perfect .vxe-pager--jump-next:not(.is--disabled).is--active:focus,.vxe-pager.is--perfect .vxe-pager--jump-prev:not(.is--disabled).is--active:focus,.vxe-pager.is--perfect .vxe-pager--num-btn:not(.is--disabled).is--active:focus{border-color:#409eff}.vxe-pager.is--background .vxe-pager--jump-next:not(.is--disabled).is--active:active,.vxe-pager.is--background .vxe-pager--jump-prev:not(.is--disabled).is--active:active,.vxe-pager.is--background .vxe-pager--num-btn:not(.is--disabled).is--active:active,.vxe-pager.is--perfect .vxe-pager--jump-next:not(.is--disabled).is--active:active,.vxe-pager.is--perfect .vxe-pager--jump-prev:not(.is--disabled).is--active:active,.vxe-pager.is--perfect .vxe-pager--num-btn:not(.is--disabled).is--active:active{border-color:#3196ff;background-color:#3196ff}.vxe-pager.is--perfect{border: 0.0625rem solid #e8eaec;border-top-width:0;background-color:#fff}.vxe-pager.is--border .vxe-pager--num-btn.is--active{border-color:#409eff}.vxe-pager .vxe-pager--wrapper{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.vxe-pager .vxe-pager--btn-icon,.vxe-pager .vxe-pager--jump-icon{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.vxe-pager .vxe-pager--count,.vxe-pager .vxe-pager--jump,.vxe-pager .vxe-pager--jump-next,.vxe-pager .vxe-pager--jump-prev,.vxe-pager .vxe-pager--left-wrapper,.vxe-pager .vxe-pager--next-btn,.vxe-pager .vxe-pager--prev-btn,.vxe-pager .vxe-pager--right-wrapper,.vxe-pager .vxe-pager--sizes,.vxe-pager .vxe-pager--total{margin:0 .4em;vertical-align:middle;display:inline-block}.vxe-pager .vxe-pager--jump-next,.vxe-pager .vxe-pager--jump-prev,.vxe-pager .vxe-pager--next-btn,.vxe-pager .vxe-pager--num-btn,.vxe-pager .vxe-pager--prev-btn{position:relative;cursor:pointer}.vxe-pager .vxe-pager--count,.vxe-pager .vxe-pager--jump-next,.vxe-pager .vxe-pager--jump-prev,.vxe-pager .vxe-pager--left-wrapper,.vxe-pager .vxe-pager--next-btn,.vxe-pager .vxe-pager--num-btn,.vxe-pager .vxe-pager--prev-btn,.vxe-pager .vxe-pager--right-wrapper{height:2.15em;line-height:2em;display:inline-block}.vxe-pager .vxe-pager--jump .vxe-pager--goto,.vxe-pager .vxe-pager--sizes>.vxe-input{height:2.15em;line-height:2.15em}.vxe-pager .vxe-pager--sizes>.vxe-select--panel .vxe-select-option{text-align:center}.vxe-pager .vxe-pager--count,.vxe-pager .vxe-pager--jump-next,.vxe-pager .vxe-pager--jump-prev,.vxe-pager .vxe-pager--next-btn,.vxe-pager .vxe-pager--num-btn,.vxe-pager .vxe-pager--prev-btn{min-width:2.15em}.vxe-pager .vxe-pager--btn-wrapper{padding:0;margin:0;display:inline-block;text-align:center}.vxe-pager .vxe-pager--btn-wrapper .vxe-pager--jump-next:hover .vxe-pager--jump-more-icon,.vxe-pager .vxe-pager--btn-wrapper .vxe-pager--jump-prev:hover .vxe-pager--jump-more-icon{display:none}.vxe-pager .vxe-pager--btn-wrapper .vxe-pager--jump-next:hover .vxe-pager--jump-icon,.vxe-pager .vxe-pager--btn-wrapper .vxe-pager--jump-prev:hover .vxe-pager--jump-icon{display:inline-block}.vxe-pager .vxe-pager--btn-wrapper .vxe-pager--jump-icon{display:none}.vxe-pager .vxe-pager--jump-next,.vxe-pager .vxe-pager--jump-prev,.vxe-pager .vxe-pager--next-btn,.vxe-pager .vxe-pager--num-btn,.vxe-pager .vxe-pager--prev-btn{text-align:center;border-radius: 0.25rem;margin:0 .25em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff}.vxe-pager .vxe-pager--jump-next:not(.is--disabled):hover,.vxe-pager .vxe-pager--jump-prev:not(.is--disabled):hover,.vxe-pager .vxe-pager--next-btn:not(.is--disabled):hover,.vxe-pager .vxe-pager--num-btn:not(.is--disabled):hover,.vxe-pager .vxe-pager--prev-btn:not(.is--disabled):hover{color:#5faeff}.vxe-pager .vxe-pager--jump-next:not(.is--disabled).is--active,.vxe-pager .vxe-pager--jump-next:not(.is--disabled):focus,.vxe-pager .vxe-pager--jump-prev:not(.is--disabled).is--active,.vxe-pager .vxe-pager--jump-prev:not(.is--disabled):focus,.vxe-pager .vxe-pager--next-btn:not(.is--disabled).is--active,.vxe-pager .vxe-pager--next-btn:not(.is--disabled):focus,.vxe-pager .vxe-pager--num-btn:not(.is--disabled).is--active,.vxe-pager .vxe-pager--num-btn:not(.is--disabled):focus,.vxe-pager .vxe-pager--prev-btn:not(.is--disabled).is--active,.vxe-pager .vxe-pager--prev-btn:not(.is--disabled):focus{color:#409eff}.vxe-pager .vxe-pager--jump-next:not(.is--disabled):active,.vxe-pager .vxe-pager--jump-prev:not(.is--disabled):active,.vxe-pager .vxe-pager--next-btn:not(.is--disabled):active,.vxe-pager .vxe-pager--num-btn:not(.is--disabled):active,.vxe-pager .vxe-pager--prev-btn:not(.is--disabled):active{color:#3196ff}.vxe-pager .vxe-pager--jump-next.is--disabled,.vxe-pager .vxe-pager--jump-prev.is--disabled,.vxe-pager .vxe-pager--next-btn.is--disabled,.vxe-pager .vxe-pager--num-btn.is--disabled,.vxe-pager .vxe-pager--prev-btn.is--disabled{cursor:no-drop;color:#bfbfbf}.vxe-pager .vxe-pager--jump-next.is--disabled:hover,.vxe-pager .vxe-pager--jump-prev.is--disabled:hover,.vxe-pager .vxe-pager--next-btn.is--disabled:hover,.vxe-pager .vxe-pager--num-btn.is--disabled:hover,.vxe-pager .vxe-pager--prev-btn.is--disabled:hover{color:#bfbfbf}.vxe-pager .vxe-pager--num-btn{vertical-align:middle}.vxe-pager .vxe-pager--num-btn.is--active{font-weight:700}.vxe-pager .vxe-pager--sizes{width:7em;text-align:center;cursor:pointer}.vxe-pager .vxe-pager--count,.vxe-pager .vxe-pager--sizes .vxe-input--inner{text-align:center}.vxe-pager .vxe-pager--count>span{vertical-align:middle}.vxe-pager .vxe-pager--count .vxe-pager--separator{margin-right:.2em}.vxe-pager .vxe-pager--count .vxe-pager--separator:before{content:"/"}.vxe-pager .vxe-pager--jump .vxe-pager--goto{border-radius: 0.25rem;border: 0.0625rem solid #dcdfe6;color:#606266;-webkit-transition:border .2s ease-in-out;transition:border .2s ease-in-out;padding:0 .4em;background-color:#fff}.vxe-pager .vxe-pager--jump .vxe-pager--goto:focus{border: 0.0625rem solid #409eff;outline:0}.vxe-pager .vxe-pager--jump .vxe-pager--goto-text{margin-right:.25em}.vxe-pager .vxe-pager--jump .vxe-pager--classifier-text{margin-left:.25em}.vxe-pager .vxe-pager--jump .vxe-pager--goto{width:3.2em;text-align:center}.vxe-pager{font-size: 0.875rem;height: 3rem}.vxe-pager.size--medium{font-size: 0.875rem;height: 2.75rem}.vxe-pager.size--small{font-size: 0.8125rem;height: 2.5rem}.vxe-pager.size--mini{font-size: 0.75rem;height: 2.25rem}.vxe-checkbox,.vxe-checkbox-group{display:inline-block;vertical-align:middle;line-height:1}.vxe-checkbox{white-space:nowrap}.vxe-checkbox+.vxe-checkbox{margin-left: 0.625rem}.vxe-checkbox>input[type=checkbox]{position:absolute;width:0;height:0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.vxe-checkbox.is--indeterminate>input:not(:checked)+.vxe-checkbox--icon{color:#409eff}.vxe-checkbox:not(.is--disabled)>input:focus+.vxe-checkbox--icon{color:#409eff;-webkit-box-shadow:0 0 .2em 0 #409eff;box-shadow:0 0 .2em 0 #409eff}.vxe-checkbox:not(.is--disabled):hover>input+.vxe-checkbox--icon{border-color:#409eff}.vxe-checkbox.is--disabled{cursor:not-allowed}.vxe-checkbox.is--disabled>input+.vxe-checkbox--icon{color:#dcdfe6}.vxe-checkbox.is--disabled>input+.vxe-checkbox--icon+.vxe-checkbox--label{color:#bfbfbf}.vxe-checkbox.is--disabled>input:checked+.vxe-checkbox--icon{color:#dcdfe6}.vxe-checkbox .vxe-checkbox--label{padding-left:.5em;vertical-align:middle;display:inline-block;max-width:50em}.vxe-checkbox,.vxe-checkbox.size--medium{font-size: 0.875rem}.vxe-checkbox.size--small{font-size: 0.8125rem}.vxe-checkbox.size--mini{font-size: 0.75rem}[class*=vxe-],[class*=vxe-]:after,[class*=vxe-] :after,[class*=vxe-]:before,[class*=vxe-] :before{-webkit-box-sizing:border-box;box-sizing:border-box}.vxe-checkbox .vxe-checkbox--label,.vxe-radio-button .vxe-radio--label,.vxe-radio .vxe-radio--label,.vxe-table--render-default .vxe-body--column.col--ellipsis:not(.col--actived)>.vxe-cell,.vxe-table--render-default .vxe-footer--column.col--ellipsis:not(.col--actived)>.vxe-cell,.vxe-table--render-default .vxe-header--column.col--ellipsis:not(.col--actived)>.vxe-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[class*=vxe-]{font-variant:tabular-nums;-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum"}.vxe-primary-color{color:#409eff}.vxe-success-color{color:#67c23a}.vxe-info-color{color:#909399}.vxe-warning-color{color:#e6a23c}.vxe-danger-color{color:#f56c6c}.vxe-perfect-color{color:#f8f8f9}.vxe-row:after{content:"";display:block;clear:both;height:0;overflow:hidden;visibility:hidden}.vxe-row>.vxe-col--1{float:left;width:4.16667%}.vxe-row>.vxe-col--2{float:left;width:8.33333%}.vxe-row>.vxe-col--3{float:left;width:12.5%}.vxe-row>.vxe-col--4{float:left;width:16.66667%}.vxe-row>.vxe-col--5{float:left;width:20.83333%}.vxe-row>.vxe-col--6{float:left;width:25%}.vxe-row>.vxe-col--7{float:left;width:29.16667%}.vxe-row>.vxe-col--8{float:left;width:33.33333%}.vxe-row>.vxe-col--9{float:left;width:37.5%}.vxe-row>.vxe-col--10{float:left;width:41.66667%}.vxe-row>.vxe-col--11{float:left;width:45.83333%}.vxe-row>.vxe-col--12{float:left;width:50%}.vxe-row>.vxe-col--13{float:left;width:54.16667%}.vxe-row>.vxe-col--14{float:left;width:58.33333%}.vxe-row>.vxe-col--15{float:left;width:62.5%}.vxe-row>.vxe-col--16{float:left;width:66.66667%}.vxe-row>.vxe-col--17{float:left;width:70.83333%}.vxe-row>.vxe-col--18{float:left;width:75%}.vxe-row>.vxe-col--19{float:left;width:79.16667%}.vxe-row>.vxe-col--20{float:left;width:83.33333%}.vxe-row>.vxe-col--21{float:left;width:87.5%}.vxe-row>.vxe-col--22{float:left;width:91.66667%}.vxe-row>.vxe-col--23{float:left;width:95.83333%}.vxe-row>.vxe-col--24{float:left;width:100%}.is--animat .vxe-filter--btn:after,.is--animat .vxe-filter--btn:before,.is--animat .vxe-input--wrapper .vxe-input,.is--animat .vxe-sort--asc-btn:after,.is--animat .vxe-sort--asc-btn:before,.is--animat .vxe-sort--desc-btn:after,.is--animat .vxe-sort--desc-btn:before{-webkit-transition:border .1s ease-in-out;transition:border .1s ease-in-out}.is--animat .vxe-table--expand-btn,.is--animat .vxe-tree--node-btn{-webkit-transition:-webkit-transform .1s ease-in-out;transition:-webkit-transform .1s ease-in-out;transition:transform .1s ease-in-out;transition:transform .1s ease-in-out,-webkit-transform .1s ease-in-out}.is--animat .vxe-checkbox>input:checked+span,.is--animat .vxe-radio>input:checked+span{-webkit-transition:background-color .1s ease-in-out;transition:background-color .1s ease-in-out}.vxe-checkbox .vxe-checkbox--icon,.vxe-custom--option .vxe-checkbox--icon,.vxe-export--panel-column-option .vxe-checkbox--icon,.vxe-table--filter-option .vxe-checkbox--icon,.vxe-table--render-default .vxe-cell--checkbox .vxe-checkbox--icon{font-size:1.34em;color:#dcdfe6;vertical-align:middle;font-weight:700;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.is--checked.vxe-checkbox,.is--checked.vxe-checkbox .vxe-checkbox--icon,.is--checked.vxe-custom--option,.is--checked.vxe-custom--option .vxe-checkbox--icon,.is--checked.vxe-export--panel-column-option,.is--checked.vxe-export--panel-column-option .vxe-checkbox--icon,.is--checked.vxe-table--filter-option,.is--checked.vxe-table--filter-option .vxe-checkbox--icon,.is--indeterminate.vxe-checkbox,.is--indeterminate.vxe-checkbox .vxe-checkbox--icon,.is--indeterminate.vxe-custom--option,.is--indeterminate.vxe-custom--option .vxe-checkbox--icon,.is--indeterminate.vxe-export--panel-column-option,.is--indeterminate.vxe-export--panel-column-option .vxe-checkbox--icon,.is--indeterminate.vxe-table--filter-option,.is--indeterminate.vxe-table--filter-option .vxe-checkbox--icon,.vxe-table--render-default .is--checked.vxe-cell--checkbox,.vxe-table--render-default .is--checked.vxe-cell--checkbox .vxe-checkbox--icon,.vxe-table--render-default .is--indeterminate.vxe-cell--checkbox,.vxe-table--render-default .is--indeterminate.vxe-cell--checkbox .vxe-checkbox--icon{color:#409eff}.vxe-checkbox:not(.is--disabled),.vxe-custom--option:not(.is--disabled),.vxe-export--panel-column-option:not(.is--disabled),.vxe-table--filter-option:not(.is--disabled),.vxe-table--render-default .vxe-cell--checkbox:not(.is--disabled){cursor:pointer}.vxe-checkbox:not(.is--disabled):hover .vxe-checkbox--icon,.vxe-custom--option:not(.is--disabled):hover .vxe-checkbox--icon,.vxe-export--panel-column-option:not(.is--disabled):hover .vxe-checkbox--icon,.vxe-table--filter-option:not(.is--disabled):hover .vxe-checkbox--icon,.vxe-table--render-default .vxe-cell--checkbox:not(.is--disabled):hover .vxe-checkbox--icon{color:#409eff}.is--disabled.vxe-checkbox,.is--disabled.vxe-custom--option,.is--disabled.vxe-export--panel-column-option,.is--disabled.vxe-table--filter-option,.vxe-table--render-default .is--disabled.vxe-cell--checkbox{color:#bfbfbf;cursor:not-allowed}.is--disabled.vxe-checkbox .vxe-checkbox--icon,.is--disabled.vxe-custom--option .vxe-checkbox--icon,.is--disabled.vxe-export--panel-column-option .vxe-checkbox--icon,.is--disabled.vxe-table--filter-option .vxe-checkbox--icon,.vxe-table--render-default .is--disabled.vxe-cell--checkbox .vxe-checkbox--icon{color:#dcdfe6}.vxe-checkbox .vxe-checkbox--label,.vxe-custom--option .vxe-checkbox--label,.vxe-export--panel-column-option .vxe-checkbox--label,.vxe-table--filter-option .vxe-checkbox--label,.vxe-table--render-default .vxe-cell--checkbox .vxe-checkbox--label{padding-left:.5em;vertical-align:middle}.vxe-radio,.vxe-table--render-default .vxe-cell--radio{cursor:pointer}.vxe-radio .vxe-radio--icon,.vxe-table--render-default .vxe-cell--radio .vxe-radio--icon{font-size:1.4em;color:#dcdfe6;vertical-align:middle;font-weight:700;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.is--checked.vxe-radio,.is--checked.vxe-radio .vxe-radio--icon,.vxe-table--render-default .is--checked.vxe-cell--radio,.vxe-table--render-default .is--checked.vxe-cell--radio .vxe-radio--icon{color:#409eff}.vxe-radio:not(.is--disabled),.vxe-table--render-default .vxe-cell--radio:not(.is--disabled){cursor:pointer}.vxe-radio:not(.is--disabled):hover .vxe-radio--icon,.vxe-table--render-default .vxe-cell--radio:not(.is--disabled):hover .vxe-radio--icon{color:#409eff}.is--disabled.vxe-radio,.vxe-table--render-default .is--disabled.vxe-cell--radio{color:#bfbfbf;cursor:not-allowed}.is--disabled.vxe-radio .vxe-radio--icon,.vxe-table--render-default .is--disabled.vxe-cell--radio .vxe-radio--icon{color:#dcdfe6}.vxe-radio .vxe-radio--label,.vxe-table--render-default .vxe-cell--radio .vxe-radio--label{padding-left:.5em;vertical-align:middle}.vxe-radio-group{display:inline-block;vertical-align:middle;line-height:1;font-size:0}.vxe-radio-group+.vxe-radio-group{margin-left: 0.625rem}.vxe-radio{display:inline-block;vertical-align:middle;white-space:nowrap;line-height:1}.vxe-radio>input[type=radio]{position:absolute;width:0;height:0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.vxe-radio .vxe-radio--label{vertical-align:middle;display:inline-block;max-width:50em}.vxe-radio:not(.is--disabled)>input:focus+.vxe-radio--icon{color:#409eff}.vxe-radio:not(.vxe-radio-button)+.vxe-radio{margin-left: 0.625rem}.vxe-radio-button .vxe-radio--label{background-color:#fff}.vxe-radio-button:first-child .vxe-radio--label{border-left: 0.0625rem solid #dcdfe6;border-radius: 0.25rem 0 0 0.25rem}.vxe-radio-button:last-child .vxe-radio--label{border-radius:0 0.25rem 0.25rem 0}.vxe-radio-button>input:checked+.vxe-radio--label{color:#fff;background-color:#409eff;border-color:#409eff}.vxe-radio-button .vxe-radio--label{padding:0 1em;line-height: 2rem;display:inline-block;border-style:solid;border-color:#dcdfe6;border-width: 0.0625rem 0.0625rem 0.0625rem 0;max-width:50em}.vxe-radio-button.is--disabled{cursor:not-allowed}.vxe-radio-button.is--disabled>input:not(:checked)+.vxe-radio--label{color:#dcdfe6}.vxe-radio-button.is--disabled>input:checked+.vxe-radio--label{border-color:#a6d2ff;background-color:#a6d2ff}.vxe-radio-button:not(.is--disabled)>input:focus+.vxe-radio--label{border-color:#409eff;-webkit-box-shadow:0 0 .2em 0 #409eff;box-shadow:0 0 .2em 0 #409eff}.vxe-radio-button:not(.is--disabled):hover>input:not(:checked)+.vxe-radio--label{color:#409eff}.vxe-radio-button.size--medium .vxe-radio--label{line-height: 1.875rem}.vxe-radio-button.size--small .vxe-radio--label{line-height: 1.75rem}.vxe-radio-button.size--mini .vxe-radio--label{line-height: 1.625rem}.vxe-radio,.vxe-radio.size--medium{font-size: 0.875rem}.vxe-radio.size--small{font-size: 0.8125rem}.vxe-radio.size--mini{font-size: 0.75rem}.vxe-input--inner{width:100%;height:100%;border-radius: 0.25rem;outline:0;margin:0;font-size:inherit;font-family:inherit;line-height:inherit;padding:0 .6em;color:#606266;border: 0.0625rem solid #dcdfe6;background-color:#fff;-webkit-box-shadow:none;box-shadow:none}.vxe-input--inner::-webkit-input-placeholder{color:#c0c4cc}.vxe-input--inner::-moz-placeholder{color:#c0c4cc}.vxe-input--inner:-ms-input-placeholder{color:#c0c4cc}.vxe-input--inner::-ms-input-placeholder{color:#c0c4cc}.vxe-input--inner::placeholder{color:#c0c4cc}.vxe-input--inner::-webkit-autofill{background-color:#fff}.vxe-input--inner[type=number]{-webkit-appearance:none;appearance:none;-moz-appearance:textfield}.vxe-input--inner[type=number]::-webkit-inner-spin-button,.vxe-input--inner[type=number]::-webkit-outer-spin-button,.vxe-input--inner[type=search],.vxe-input--inner[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.vxe-input--inner[disabled]{cursor:not-allowed;color:#bfbfbf;background-color:#f3f3f3}.vxe-input{display:inline-block;position:relative;width: 11.25rem}.vxe-input.is--disabled .vxe-input--date-picker-suffix,.vxe-input.is--disabled .vxe-input--number-suffix,.vxe-input.is--disabled .vxe-input--password-suffix,.vxe-input.is--disabled .vxe-input--search-suffix,.vxe-input.is--disabled .vxe-input--suffix{cursor:no-drop}.vxe-input:not(.is--disabled) .vxe-input--clear-icon,.vxe-input:not(.is--disabled) .vxe-input--number-suffix,.vxe-input:not(.is--disabled) .vxe-input--password-suffix,.vxe-input:not(.is--disabled) .vxe-input--search-suffix{cursor:pointer}.vxe-input:not(.is--disabled).is--active .vxe-input--inner{border: 0.0625rem solid #409eff}.vxe-input .vxe-input--extra-suffix,.vxe-input .vxe-input--prefix,.vxe-input .vxe-input--suffix{display:-webkit-box;display:-ms-flexbox;display:flex;position:absolute;top:0;width:1.6em;height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#c0c4cc}.vxe-input .vxe-input--prefix{left:.2em}.vxe-input.is--prefix .vxe-input--inner{padding-left:1.8em}.vxe-input .vxe-input--clear-icon{display:none}.vxe-input .vxe-input--extra-suffix,.vxe-input .vxe-input--suffix{right:.2em}.vxe-input.is--suffix .vxe-input--inner{padding-right:1.8em}.vxe-input.is--left .vxe-input--inner{text-align:left}.vxe-input.is--center .vxe-input--inner{text-align:center}.vxe-input.is--right .vxe-input--inner{text-align:right}.vxe-input.is--controls.type--date .vxe-input--inner,.vxe-input.is--controls.type--datetime .vxe-input--inner,.vxe-input.is--controls.type--float .vxe-input--inner,.vxe-input.is--controls.type--integer .vxe-input--inner,.vxe-input.is--controls.type--month .vxe-input--inner,.vxe-input.is--controls.type--number .vxe-input--inner,.vxe-input.is--controls.type--password .vxe-input--inner,.vxe-input.is--controls.type--quarter .vxe-input--inner,.vxe-input.is--controls.type--search .vxe-input--inner,.vxe-input.is--controls.type--time .vxe-input--inner,.vxe-input.is--controls.type--week .vxe-input--inner,.vxe-input.is--controls.type--year .vxe-input--inner{padding-right:1.8em}.vxe-input.is--controls.type--date .vxe-input--suffix,.vxe-input.is--controls.type--datetime .vxe-input--suffix,.vxe-input.is--controls.type--float .vxe-input--suffix,.vxe-input.is--controls.type--integer .vxe-input--suffix,.vxe-input.is--controls.type--month .vxe-input--suffix,.vxe-input.is--controls.type--number .vxe-input--suffix,.vxe-input.is--controls.type--password .vxe-input--suffix,.vxe-input.is--controls.type--quarter .vxe-input--suffix,.vxe-input.is--controls.type--search .vxe-input--suffix,.vxe-input.is--controls.type--time .vxe-input--suffix,.vxe-input.is--controls.type--week .vxe-input--suffix,.vxe-input.is--controls.type--year .vxe-input--suffix{right:1.6em}.vxe-input.is--suffix.is--controls.type--date .vxe-input--inner,.vxe-input.is--suffix.is--controls.type--datetime .vxe-input--inner,.vxe-input.is--suffix.is--controls.type--float .vxe-input--inner,.vxe-input.is--suffix.is--controls.type--integer .vxe-input--inner,.vxe-input.is--suffix.is--controls.type--month .vxe-input--inner,.vxe-input.is--suffix.is--controls.type--number .vxe-input--inner,.vxe-input.is--suffix.is--controls.type--password .vxe-input--inner,.vxe-input.is--suffix.is--controls.type--quarter .vxe-input--inner,.vxe-input.is--suffix.is--controls.type--search .vxe-input--inner,.vxe-input.is--suffix.is--controls.type--time .vxe-input--inner,.vxe-input.is--suffix.is--controls.type--week .vxe-input--inner,.vxe-input.is--suffix.is--controls.type--year .vxe-input--inner{padding-right:3.2em}.vxe-input.is--suffix:hover .vxe-input--suffix.is--clear .vxe-input--suffix-icon{display:none}.vxe-input.is--suffix:hover .vxe-input--suffix.is--clear .vxe-input--clear-icon{display:inline}.vxe-input:not(.is--disabled) .vxe-input--suffix:hover .vxe-input--clear-icon{color:#606266}.vxe-input:not(.is--disabled) .vxe-input--suffix:active .vxe-input--clear-icon{color:#409eff}.vxe-input:not(.is--disabled) .vxe-input--extra-suffix:hover .vxe-input--password-suffix,.vxe-input:not(.is--disabled) .vxe-input--extra-suffix:hover .vxe-input--search-suffix{color:#606266}.vxe-input:not(.is--disabled) .vxe-input--extra-suffix:active .vxe-input--password-suffix,.vxe-input:not(.is--disabled) .vxe-input--extra-suffix:active .vxe-input--search-suffix{color:#409eff}.vxe-input:not(.is--disabled) .vxe-input--number-next:hover,.vxe-input:not(.is--disabled) .vxe-input--number-prev:hover{color:#606266}.vxe-input:not(.is--disabled) .vxe-input--number-next:active,.vxe-input:not(.is--disabled) .vxe-input--number-prev:active{color:#409eff}.vxe-input:not(.is--disabled) .vxe-input--number-next.is--disabled,.vxe-input:not(.is--disabled) .vxe-input--number-prev.is--disabled{cursor:no-drop;color:#e4e7ed}.vxe-input .vxe-input--date-picker-suffix,.vxe-input .vxe-input--number-suffix,.vxe-input .vxe-input--password-suffix,.vxe-input .vxe-input--search-suffix{position:relative;width:100%;height:100%}.vxe-input .vxe-input--date-picker-icon,.vxe-input .vxe-input--password-icon,.vxe-input .vxe-input--search-icon{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.vxe-input .vxe-input--date-picker-icon[class*=vxe-icon-],.vxe-input .vxe-input--password-icon[class*=vxe-icon-],.vxe-input .vxe-input--search-icon[class*=vxe-icon-]{font-size:1.2em}.vxe-input .vxe-input--date-picker-suffix{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.vxe-input .vxe-input--date-picker-suffix .vxe-input--panel-icon{-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out}.vxe-input .vxe-input--number-next,.vxe-input .vxe-input--number-prev{position:relative;display:block;height:50%;width:100%;text-align:center}.vxe-input .vxe-input--number-next-icon,.vxe-input .vxe-input--number-prev-icon{line-height:.8em;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.vxe-input .vxe-input--number-prev-icon{bottom:0}.vxe-input .vxe-input--number-next-icon{top:0}.vxe-input--panel{display:none;position:absolute;left:0;padding: 0.25rem 0;color:#606266;text-align:left}.vxe-input--panel:not(.is--transfer){min-width:100%}.vxe-input--panel.is--transfer{position:fixed}.vxe-input--panel.animat--leave{display:block;opacity:0;-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.vxe-input--panel.animat--leave[placement=top]{-webkit-transform-origin:center bottom;transform-origin:center bottom}.vxe-input--panel.animat--enter{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1)}.vxe-input--panel-layout-wrapper,.vxe-input--panel-wrapper{background-color:#fff;border: 0.0625rem solid #dadce0;-webkit-box-shadow:0 0 0.375rem 0.125rem rgba(0,0,0,.1);box-shadow:0 0 0.375rem 0.125rem rgba(0,0,0,.1);border-radius: 0.25rem}.vxe-input--panel-wrapper{overflow-x:hidden;overflow-y:auto}.vxe-input--panel-layout-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.vxe-input--panel.type--date,.vxe-input--panel.type--month,.vxe-input--panel.type--quarter,.vxe-input--panel.type--week,.vxe-input--panel.type--year{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-input--panel.type--datetime .vxe-input--panel-right-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border-left: 0.0625rem solid #dcdfe6}.vxe-input--panel.type--date .vxe-input--date-picker-body th,.vxe-input--panel.type--datetime .vxe-input--date-picker-body th{width:14.28571%}.vxe-input--panel.type--week .vxe-input--date-picker-body table th{width:12%}.vxe-input--panel.type--week .vxe-input--date-picker-body table th:first-child{width:14%}.vxe-input--panel.type--quarter .vxe-input--date-picker-body table th{width:50%}.vxe-input--panel.type--month .vxe-input--date-picker-body td,.vxe-input--panel.type--year .vxe-input--date-picker-body td{width:25%}.vxe-input--time-picker-title{display:inline-block;text-align:center;border: 0.0625rem solid #dcdfe6;border-radius: 0.25rem}.vxe-input--time-picker-confirm{position:absolute;right:0;top:0}.vxe-input--date-picker-confirm,.vxe-input--time-picker-confirm{outline:0;border: 0.0625rem solid #dcdfe6;border-radius: 0.25rem;cursor:pointer;color:#fff;border-color:#409eff;background-color:#409eff}.vxe-input--date-picker-confirm:hover,.vxe-input--time-picker-confirm:hover{background-color:#5faeff;border-color:#5faeff}.vxe-input--date-picker-confirm:active,.vxe-input--time-picker-confirm:active{background-color:#3196ff;border-color:#3196ff}.vxe-input--time-picker-header{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-ms-flex-negative:0;flex-shrink:0}.vxe-input--date-picker-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-input--date-picker-header .vxe-input--date-picker-type-wrapper{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.vxe-input--date-picker-header .vxe-input--date-picker-btn-wrapper{-ms-flex-negative:0;flex-shrink:0;text-align:center}.vxe-input--date-picker-type-wrapper .vxe-input--date-picker-btn,.vxe-input--date-picker-type-wrapper .vxe-input--date-picker-label{display:inline-block}.vxe-input--date-picker-btn-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.vxe-input--date-picker-btn,.vxe-input--date-picker-label{display:inline-block;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background-color:#fff}.vxe-input--date-picker-btn.is--disabled{color:#bfbfbf;cursor:no-drop}.vxe-input--date-picker-btn:not(.is--disabled){cursor:pointer}.vxe-input--date-picker-btn:not(.is--disabled):hover{background-color:#fff}.vxe-input--date-picker-btn:not(.is--disabled):active{background-color:#f7f7f7}.vxe-input--date-picker-body{border-radius: 0.25rem;border: 0.0625rem solid #dadce0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-input--date-picker-body table{border:0;width:100%;border-spacing:0;border-collapse:separate;text-align:center;table-layout:fixed}.vxe-input--date-picker-body td,.vxe-input--date-picker-body th{font-weight:400}.vxe-input--date-picker-body th{-webkit-box-shadow:inset 0 -0.0625rem 0 0 #dadce0;box-shadow:inset 0 -0.0625rem 0 0 #dadce0}.vxe-input--date-picker-body td.is--next,.vxe-input--date-picker-body td.is--next .vxe-input--date-festival,.vxe-input--date-picker-body td.is--next .vxe-input--date-label,.vxe-input--date-picker-body td.is--prev,.vxe-input--date-picker-body td.is--prev .vxe-input--date-festival,.vxe-input--date-picker-body td.is--prev .vxe-input--date-label{color:#bfbfbf}.vxe-input--date-picker-body td.is--now{-webkit-box-shadow:inset 0 0 0 0.0625rem #dadce0;box-shadow:inset 0 0 0 0.0625rem #dadce0}.vxe-input--date-picker-body td.is--now:not(.is--selected).is--current,.vxe-input--date-picker-body td.is--now:not(.is--selected).is--current .vxe-input--date-festival,.vxe-input--date-picker-body td.is--now:not(.is--selected).is--current .vxe-input--date-label{color:#409eff}.vxe-input--date-picker-body td.is--hover{background-color:#f2f6fc}.vxe-input--date-picker-body td.is--selected{color:#fff;background-color:#409eff}.vxe-input--date-picker-body td.is--selected.is--next,.vxe-input--date-picker-body td.is--selected.is--prev{background-color:#73b8ff}.vxe-input--date-picker-body td.is--selected .vxe-input--date-festival,.vxe-input--date-picker-body td.is--selected .vxe-input--date-label{color:#fff}.vxe-input--date-picker-body td.is--selected .vxe-input--date-label.is-notice:before{background-color:#fff}.vxe-input--date-picker-body td:not(.is--disabled){cursor:pointer}.vxe-input--date-picker-body td.is--disabled{cursor:no-drop;color:#dcdfe6;background-color:#f3f3f3}.vxe-input--date-picker-body td.is--disabled .vxe-input--date-festival,.vxe-input--date-picker-body td.is--disabled .vxe-input--date-label{color:#dcdfe6}.vxe-input--date-week-view th:first-child{-webkit-box-shadow:inset -0.0625rem -0.0625rem 0 0 #dadce0;box-shadow:inset -0.0625rem -0.0625rem 0 0 #dadce0}.vxe-input--date-week-view td:first-child{-webkit-box-shadow:inset -0.0625rem 0 0 0 #dadce0;box-shadow:inset -0.0625rem 0 0 0 #dadce0}.vxe-input--date-festival,.vxe-input--date-label{display:block;overflow:hidden}.vxe-input--date-label{position:relative}.vxe-input--date-label.is-notice:before{content:"";position:absolute;width: 0.25rem;height: 0.25rem;left:.8em;top:.1em;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-radius:100%;background-color:red}.vxe-input--date-label--extra{position:absolute;right:.1em;top:-.2em;font-size: 0.75rem;line-height: 0.75rem;-webkit-transform:scale(.7);transform:scale(.7);color:#67c23a}.vxe-input--date-label--extra.is-important{color:#fd2222}.vxe-input--date-festival{color:#999;height: 0.875rem;line-height:1;overflow:hidden}.vxe-input--date-festival.is-important{color:#409eff}.vxe-input--date-festival--label{display:block;font-size: 0.75rem;-webkit-transform:scale(.8);transform:scale(.8)}@-webkit-keyframes festivalOverlap2{0%,45%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%,95%{-webkit-transform:translateY( -0.875rem);transform:translateY( -0.875rem)}}@keyframes festivalOverlap2{0%,45%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%,95%{-webkit-transform:translateY( -0.875rem);transform:translateY( -0.875rem)}}@-webkit-keyframes festivalOverlap3{0%,20%,to{-webkit-transform:translateY(0);transform:translateY(0)}25%,45%,75%,95%{-webkit-transform:translateY( -0.875rem);transform:translateY( -0.875rem)}50%,70%{-webkit-transform:translateY( -1.75rem);transform:translateY( -1.75rem)}}@keyframes festivalOverlap3{0%,20%,to{-webkit-transform:translateY(0);transform:translateY(0)}25%,45%,75%,95%{-webkit-transform:translateY( -0.875rem);transform:translateY( -0.875rem)}50%,70%{-webkit-transform:translateY( -1.75rem);transform:translateY( -1.75rem)}}.vxe-input--date-festival--overlap{display:block;font-size: 0.75rem}.vxe-input--date-festival--overlap.overlap--2{-webkit-animation:festivalOverlap2 6s ease-in-out infinite;animation:festivalOverlap2 6s ease-in-out infinite}.vxe-input--date-festival--overlap.overlap--3{-webkit-animation:festivalOverlap3 9s ease-in-out infinite;animation:festivalOverlap3 9s ease-in-out infinite}.vxe-input--date-festival--overlap>span{height: 0.875rem;display:block;-webkit-transform:scale(.8);transform:scale(.8)}.vxe-input--time-picker-body{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;border: 0.0625rem solid #dadce0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;border-radius: 0.25rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-input--time-picker-body>ul{height:100%;overflow:hidden;margin:0;padding:0}.vxe-input--time-picker-body>ul:after,.vxe-input--time-picker-body>ul:before{content:" ";display:block}.vxe-input--time-picker-body>ul:hover{overflow-y:auto}.vxe-input--time-picker-body>ul>li{display:block}.vxe-input--time-picker-body>ul>li:hover{background-color:#f2f6fc;cursor:pointer}.vxe-input--time-picker-body>ul>li.is--selected{font-weight:700;color:#409eff}.vxe-input--time-picker-body .vxe-input--time-picker-minute-list,.vxe-input--time-picker-body .vxe-input--time-picker-second-list{border-left: 0.0625rem solid #dadce0}.vxe-input{font-size: 0.875rem;height: 2.125rem;line-height: 2.125rem}.vxe-input .vxe-input--inner[type=date]::-webkit-inner-spin-button,.vxe-input .vxe-input--inner[type=month]::-webkit-inner-spin-button,.vxe-input .vxe-input--inner[type=week]::-webkit-inner-spin-button{margin-top: 0.375rem}.vxe-input .vxe-input--inner[type=date]::-webkit-inner-spin-button,.vxe-input .vxe-input--inner[type=month]::-webkit-inner-spin-button,.vxe-input .vxe-input--inner[type=number]::-webkit-inner-spin-button,.vxe-input .vxe-input--inner[type=week]::-webkit-inner-spin-button{height: 1.5rem}.vxe-input.size--medium{font-size: 0.875rem;height: 2rem;line-height: 2rem}.vxe-input.size--medium .vxe-input--inner[type=date]::-webkit-inner-spin-button,.vxe-input.size--medium .vxe-input--inner[type=month]::-webkit-inner-spin-button,.vxe-input.size--medium .vxe-input--inner[type=week]::-webkit-inner-spin-button{margin-top: 0.25rem}.vxe-input.size--small{font-size: 0.8125rem;height: 1.875rem;line-height: 1.875rem}.vxe-input.size--small .vxe-input--inner[type=date]::-webkit-inner-spin-button,.vxe-input.size--small .vxe-input--inner[type=month]::-webkit-inner-spin-button,.vxe-input.size--small .vxe-input--inner[type=week]::-webkit-inner-spin-button{margin-top: 0.125rem}.vxe-input.size--mini{font-size: 0.75rem;height: 1.75rem;line-height: 1.75rem}.vxe-input.size--mini .vxe-input--inner[type=date]::-webkit-inner-spin-button,.vxe-input.size--mini .vxe-input--inner[type=month]::-webkit-inner-spin-button,.vxe-input.size--mini .vxe-input--inner[type=week]::-webkit-inner-spin-button{margin-top:0}.vxe-input--panel{font-size: 0.875rem}.vxe-input--panel .vxe-input--panel-wrapper{max-height: 23.75rem}.vxe-input--panel.type--date .vxe-input--panel-wrapper,.vxe-input--panel.type--month .vxe-input--panel-wrapper,.vxe-input--panel.type--quarter .vxe-input--panel-wrapper,.vxe-input--panel.type--time .vxe-input--panel-wrapper,.vxe-input--panel.type--week .vxe-input--panel-wrapper,.vxe-input--panel.type--year .vxe-input--panel-wrapper{padding: 0.6875rem}.vxe-input--panel.type--date .vxe-input--panel-wrapper,.vxe-input--panel.type--month .vxe-input--panel-wrapper,.vxe-input--panel.type--quarter .vxe-input--panel-wrapper,.vxe-input--panel.type--year .vxe-input--panel-wrapper{width: 21rem}.vxe-input--panel.type--week .vxe-input--panel-wrapper{width: 23.75rem}.vxe-input--panel.type--time .vxe-input--panel-wrapper{width: 10.625rem}.vxe-input--panel.type--datetime .vxe-input--panel-left-wrapper{width: 21rem}.vxe-input--panel.type--datetime .vxe-input--panel-left-wrapper,.vxe-input--panel.type--datetime .vxe-input--panel-right-wrapper{padding: 0.6875rem}.vxe-input--panel .vxe-input--time-picker-title{height: 1.875rem;line-height: 1.875rem;padding:0 0.6875rem}.vxe-input--panel .vxe-input--date-picker-btn,.vxe-input--panel .vxe-input--date-picker-label{height: 1.875rem;line-height: 1.875rem}.vxe-input--panel .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-btn{margin-left: 0.5rem}.vxe-input--panel .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-current-btn,.vxe-input--panel .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-next-btn,.vxe-input--panel .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-prev-btn{width: 1.875rem;border-radius: 0.25rem;border: 0.0625rem solid #dcdfe6}.vxe-input--panel .vxe-input--date-picker-type-wrapper .vxe-input--date-picker-btn,.vxe-input--panel .vxe-input--date-picker-type-wrapper .vxe-input--date-picker-label{padding:0 0.5625rem}.vxe-input--panel .vxe-input--date-picker-header,.vxe-input--panel .vxe-input--time-picker-header{padding-bottom: 0.5rem}.vxe-input--panel .vxe-input--date-picker-body table,.vxe-input--panel .vxe-input--time-picker-body{height: 16.125rem}.vxe-input--panel .vxe-input--time-picker-body>ul{width: 3rem}.vxe-input--panel .vxe-input--time-picker-body>ul:after,.vxe-input--panel .vxe-input--time-picker-body>ul:before{height: 7.5rem}.vxe-input--panel .vxe-input--time-picker-body>ul>li{height: 1.625rem;padding-left: 0.5625rem}.vxe-input--panel .vxe-input--time-picker-body .vxe-input--time-picker-minute-list{left: 3rem}.vxe-input--panel .vxe-input--time-picker-body .vxe-input--time-picker-second-list{left: 6rem}.vxe-input--panel .vxe-input--date-day-view td,.vxe-input--panel .vxe-input--date-week-view td{height: 2.375rem}.vxe-input--panel .vxe-input--date-quarter-view td{height: 3.75rem}.vxe-input--panel .vxe-input--date-month-view td,.vxe-input--panel .vxe-input--date-year-view td{height: 3rem}.vxe-input--panel .vxe-input--date-picker-body th{height: 1.875rem}.vxe-input--panel .vxe-input--date-picker-confirm,.vxe-input--panel .vxe-input--time-picker-confirm{height: 1.875rem;padding:0 0.5625rem}.vxe-input--panel .vxe-input--date-label{line-height: 0.9375rem}.vxe-input--panel.size--medium{font-size: 0.875rem}.vxe-input--panel.size--medium .vxe-input--panel-wrapper{max-height: 22.5rem}.vxe-input--panel.size--medium.type--date .vxe-input--panel-wrapper,.vxe-input--panel.size--medium.type--month .vxe-input--panel-wrapper,.vxe-input--panel.size--medium.type--quarter .vxe-input--panel-wrapper,.vxe-input--panel.size--medium.type--time .vxe-input--panel-wrapper,.vxe-input--panel.size--medium.type--week .vxe-input--panel-wrapper,.vxe-input--panel.size--medium.type--year .vxe-input--panel-wrapper{padding: 0.625rem}.vxe-input--panel.size--medium.type--date .vxe-input--panel-wrapper,.vxe-input--panel.size--medium.type--month .vxe-input--panel-wrapper,.vxe-input--panel.size--medium.type--quarter .vxe-input--panel-wrapper,.vxe-input--panel.size--medium.type--year .vxe-input--panel-wrapper{width: 21rem}.vxe-input--panel.size--medium.type--week .vxe-input--panel-wrapper{width: 23.75rem}.vxe-input--panel.size--medium.type--time .vxe-input--panel-wrapper{width: 10.5rem}.vxe-input--panel.size--medium.type--datetime .vxe-input--panel-left-wrapper{width: 21rem}.vxe-input--panel.size--medium.type--datetime .vxe-input--panel-left-wrapper,.vxe-input--panel.size--medium.type--datetime .vxe-input--panel-right-wrapper{padding: 0.625rem}.vxe-input--panel.size--medium .vxe-input--time-picker-title{height: 1.8125rem;line-height: 1.8125rem;padding:0 0.625rem}.vxe-input--panel.size--medium .vxe-input--date-picker-btn,.vxe-input--panel.size--medium .vxe-input--date-picker-label{height: 1.8125rem;line-height: 1.8125rem}.vxe-input--panel.size--medium .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-btn{margin-left: 0.4375rem}.vxe-input--panel.size--medium .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-current-btn,.vxe-input--panel.size--medium .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-next-btn,.vxe-input--panel.size--medium .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-prev-btn{width: 1.8125rem;border-radius: 0.25rem;border: 0.0625rem solid #dcdfe6}.vxe-input--panel.size--medium .vxe-input--date-picker-type-wrapper .vxe-input--date-picker-btn,.vxe-input--panel.size--medium .vxe-input--date-picker-type-wrapper .vxe-input--date-picker-label{padding:0 0.5rem}.vxe-input--panel.size--medium .vxe-input--date-picker-header,.vxe-input--panel.size--medium .vxe-input--time-picker-header{padding-bottom: 0.4375rem}.vxe-input--panel.size--medium .vxe-input--date-picker-body table,.vxe-input--panel.size--medium .vxe-input--time-picker-body{height: 15.3125rem}.vxe-input--panel.size--medium .vxe-input--time-picker-body>ul{width: 3rem}.vxe-input--panel.size--medium .vxe-input--time-picker-body>ul:after,.vxe-input--panel.size--medium .vxe-input--time-picker-body>ul:before{height: 7.5rem}.vxe-input--panel.size--medium .vxe-input--time-picker-body>ul>li{height: 1.625rem;padding-left: 0.5rem}.vxe-input--panel.size--medium .vxe-input--time-picker-body .vxe-input--time-picker-minute-list{left: 3rem}.vxe-input--panel.size--medium .vxe-input--time-picker-body .vxe-input--time-picker-second-list{left: 6rem}.vxe-input--panel.size--medium .vxe-input--date-day-view td,.vxe-input--panel.size--medium .vxe-input--date-week-view td{height: 2.25rem}.vxe-input--panel.size--medium .vxe-input--date-quarter-view td{height: 3.625rem}.vxe-input--panel.size--medium .vxe-input--date-month-view td,.vxe-input--panel.size--medium .vxe-input--date-year-view td{height: 2.875rem}.vxe-input--panel.size--medium .vxe-input--date-picker-body th{height: 1.8125rem}.vxe-input--panel.size--medium .vxe-input--date-picker-confirm,.vxe-input--panel.size--medium .vxe-input--time-picker-confirm{height: 1.8125rem;padding:0 0.5rem}.vxe-input--panel.size--medium .vxe-input--date-label{line-height: 0.9375rem}.vxe-input--panel.size--small{font-size: 0.8125rem}.vxe-input--panel.size--small .vxe-input--panel-wrapper{max-height: 21.25rem}.vxe-input--panel.size--small.type--date .vxe-input--panel-wrapper,.vxe-input--panel.size--small.type--month .vxe-input--panel-wrapper,.vxe-input--panel.size--small.type--quarter .vxe-input--panel-wrapper,.vxe-input--panel.size--small.type--time .vxe-input--panel-wrapper,.vxe-input--panel.size--small.type--week .vxe-input--panel-wrapper,.vxe-input--panel.size--small.type--year .vxe-input--panel-wrapper{padding: 0.5625rem}.vxe-input--panel.size--small.type--date .vxe-input--panel-wrapper,.vxe-input--panel.size--small.type--month .vxe-input--panel-wrapper,.vxe-input--panel.size--small.type--quarter .vxe-input--panel-wrapper,.vxe-input--panel.size--small.type--year .vxe-input--panel-wrapper{width: 19.5rem}.vxe-input--panel.size--small.type--week .vxe-input--panel-wrapper{width: 22.125rem}.vxe-input--panel.size--small.type--time .vxe-input--panel-wrapper{width: 9.625rem}.vxe-input--panel.size--small.type--datetime .vxe-input--panel-left-wrapper{width: 19.5rem}.vxe-input--panel.size--small.type--datetime .vxe-input--panel-left-wrapper,.vxe-input--panel.size--small.type--datetime .vxe-input--panel-right-wrapper{padding: 0.5625rem}.vxe-input--panel.size--small .vxe-input--time-picker-title{height: 1.75rem;line-height: 1.75rem;padding:0 0.5625rem}.vxe-input--panel.size--small .vxe-input--date-picker-btn,.vxe-input--panel.size--small .vxe-input--date-picker-label{height: 1.75rem;line-height: 1.75rem}.vxe-input--panel.size--small .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-btn{margin-left: 0.375rem}.vxe-input--panel.size--small .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-current-btn,.vxe-input--panel.size--small .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-next-btn,.vxe-input--panel.size--small .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-prev-btn{width: 1.75rem;border-radius: 0.25rem;border: 0.0625rem solid #dcdfe6}.vxe-input--panel.size--small .vxe-input--date-picker-type-wrapper .vxe-input--date-picker-btn,.vxe-input--panel.size--small .vxe-input--date-picker-type-wrapper .vxe-input--date-picker-label{padding:0 0.4375rem}.vxe-input--panel.size--small .vxe-input--date-picker-header,.vxe-input--panel.size--small .vxe-input--time-picker-header{padding-bottom: 0.375rem}.vxe-input--panel.size--small .vxe-input--date-picker-body table,.vxe-input--panel.size--small .vxe-input--time-picker-body{height: 14.5rem}.vxe-input--panel.size--small .vxe-input--time-picker-body>ul{width: 2.75rem}.vxe-input--panel.size--small .vxe-input--time-picker-body>ul:after,.vxe-input--panel.size--small .vxe-input--time-picker-body>ul:before{height: 6.875rem}.vxe-input--panel.size--small .vxe-input--time-picker-body>ul>li{height: 1.625rem;padding-left: 0.4375rem}.vxe-input--panel.size--small .vxe-input--time-picker-body .vxe-input--time-picker-minute-list{left: 2.75rem}.vxe-input--panel.size--small .vxe-input--time-picker-body .vxe-input--time-picker-second-list{left: 5.5rem}.vxe-input--panel.size--small .vxe-input--date-day-view td,.vxe-input--panel.size--small .vxe-input--date-week-view td{height: 2.125rem}.vxe-input--panel.size--small .vxe-input--date-quarter-view td{height: 3.5rem}.vxe-input--panel.size--small .vxe-input--date-month-view td,.vxe-input--panel.size--small .vxe-input--date-year-view td{height: 2.75rem}.vxe-input--panel.size--small .vxe-input--date-picker-body th{height: 1.75rem}.vxe-input--panel.size--small .vxe-input--date-picker-confirm,.vxe-input--panel.size--small .vxe-input--time-picker-confirm{height: 1.75rem;padding:0 0.4375rem}.vxe-input--panel.size--small .vxe-input--date-label{line-height: 0.875rem}.vxe-input--panel.size--mini{font-size: 0.75rem}.vxe-input--panel.size--mini .vxe-input--panel-wrapper{max-height: 20rem}.vxe-input--panel.size--mini.type--date .vxe-input--panel-wrapper,.vxe-input--panel.size--mini.type--month .vxe-input--panel-wrapper,.vxe-input--panel.size--mini.type--quarter .vxe-input--panel-wrapper,.vxe-input--panel.size--mini.type--time .vxe-input--panel-wrapper,.vxe-input--panel.size--mini.type--week .vxe-input--panel-wrapper,.vxe-input--panel.size--mini.type--year .vxe-input--panel-wrapper{padding: 0.5rem}.vxe-input--panel.size--mini.type--date .vxe-input--panel-wrapper,.vxe-input--panel.size--mini.type--month .vxe-input--panel-wrapper,.vxe-input--panel.size--mini.type--quarter .vxe-input--panel-wrapper,.vxe-input--panel.size--mini.type--year .vxe-input--panel-wrapper{width: 18rem}.vxe-input--panel.size--mini.type--week .vxe-input--panel-wrapper{width: 20.375rem}.vxe-input--panel.size--mini.type--time .vxe-input--panel-wrapper{width: 9.125rem}.vxe-input--panel.size--mini.type--datetime .vxe-input--panel-left-wrapper{width: 18rem}.vxe-input--panel.size--mini.type--datetime .vxe-input--panel-left-wrapper,.vxe-input--panel.size--mini.type--datetime .vxe-input--panel-right-wrapper{padding: 0.5rem}.vxe-input--panel.size--mini .vxe-input--time-picker-title{height: 1.6875rem;line-height: 1.6875rem;padding:0 0.5rem}.vxe-input--panel.size--mini .vxe-input--date-picker-btn,.vxe-input--panel.size--mini .vxe-input--date-picker-label{height: 1.6875rem;line-height: 1.6875rem}.vxe-input--panel.size--mini .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-btn{margin-left: 0.3125rem}.vxe-input--panel.size--mini .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-current-btn,.vxe-input--panel.size--mini .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-next-btn,.vxe-input--panel.size--mini .vxe-input--date-picker-btn-wrapper .vxe-input--date-picker-prev-btn{width: 1.6875rem;border-radius: 0.25rem;border: 0.0625rem solid #dcdfe6}.vxe-input--panel.size--mini .vxe-input--date-picker-type-wrapper .vxe-input--date-picker-btn,.vxe-input--panel.size--mini .vxe-input--date-picker-type-wrapper .vxe-input--date-picker-label{padding:0 0.375rem}.vxe-input--panel.size--mini .vxe-input--date-picker-header,.vxe-input--panel.size--mini .vxe-input--time-picker-header{padding-bottom: 0.3125rem}.vxe-input--panel.size--mini .vxe-input--date-picker-body table,.vxe-input--panel.size--mini .vxe-input--time-picker-body{height: 13.625rem}.vxe-input--panel.size--mini .vxe-input--time-picker-body>ul{width: 2.625rem}.vxe-input--panel.size--mini .vxe-input--time-picker-body>ul:after,.vxe-input--panel.size--mini .vxe-input--time-picker-body>ul:before{height: 6.25rem}.vxe-input--panel.size--mini .vxe-input--time-picker-body>ul>li{height: 1.625rem;padding-left: 0.375rem}.vxe-input--panel.size--mini .vxe-input--time-picker-body .vxe-input--time-picker-minute-list{left: 2.625rem}.vxe-input--panel.size--mini .vxe-input--time-picker-body .vxe-input--time-picker-second-list{left: 5.25rem}.vxe-input--panel.size--mini .vxe-input--date-day-view td,.vxe-input--panel.size--mini .vxe-input--date-week-view td{height: 2rem}.vxe-input--panel.size--mini .vxe-input--date-quarter-view td{height: 3.375rem}.vxe-input--panel.size--mini .vxe-input--date-month-view td,.vxe-input--panel.size--mini .vxe-input--date-year-view td{height: 2.625rem}.vxe-input--panel.size--mini .vxe-input--date-picker-body th{height: 1.625rem}.vxe-input--panel.size--mini .vxe-input--date-picker-confirm,.vxe-input--panel.size--mini .vxe-input--time-picker-confirm{height: 1.6875rem;padding:0 0.375rem}.vxe-input--panel.size--mini .vxe-input--date-label{line-height: 0.8125rem}.vxe-textarea{position:relative;display:inline-block}.vxe-textarea:not(.def--cols),.vxe-textarea:not(.def--cols) .vxe-textarea--inner{width:100%}.vxe-textarea--inner{border-radius: 0.25rem;outline:0;font-size:inherit;padding:0 .6em;color:#606266;line-height:inherit;border: 0.0625rem solid #dcdfe6;background-color:#fff;display:block;padding:.3em .6em}.vxe-textarea--inner::-webkit-input-placeholder{color:#c0c4cc}.vxe-textarea--inner::-moz-placeholder{color:#c0c4cc}.vxe-textarea--inner:-ms-input-placeholder{color:#c0c4cc}.vxe-textarea--inner::-ms-input-placeholder{color:#c0c4cc}.vxe-textarea--inner::placeholder{color:#c0c4cc}.vxe-textarea--inner:focus{border: 0.0625rem solid #409eff}.vxe-textarea--inner[disabled]{cursor:not-allowed;background-color:#f3f3f3}.vxe-textarea--autosize,.vxe-textarea--inner{line-height:1.5715;color:#606266;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}.vxe-textarea--autosize{display:block;position:fixed;top:0;left:0;width:100%;margin:0;padding:.3em .6em;word-wrap:break-word;white-space:pre-wrap;z-index:-1;visibility:hidden}.vxe-textarea--count{position:absolute;bottom:.2em;right:1.4em;padding-left:.2em;color:#999;background-color:#fff}.vxe-textarea--count.is--error{color:#f56c6c}.vxe-textarea,.vxe-textarea--autosize,.vxe-textarea--autosize.size--medium,.vxe-textarea.size--medium{font-size: 0.875rem}.vxe-textarea--autosize.size--small,.vxe-textarea.size--small{font-size: 0.8125rem}.vxe-textarea--autosize.size--mini,.vxe-textarea.size--mini{font-size: 0.75rem}.vxe-textarea:not(.is--autosize){min-height: 2.125rem}.vxe-textarea.size--medium{font-size: 0.875rem}.vxe-textarea.size--medium:not(.is--autosize){min-height: 2rem}.vxe-textarea.size--small:not(.is--autosize){min-height: 1.875rem}.vxe-textarea.size--mini:not(.is--autosize){min-height: 1.75rem}.vxe-button{position:relative;text-align:center;background-color:#fff;outline:0;font-size: 0.875rem;max-width: 31.25rem;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.vxe-button:not(.is--disabled){color:#606266;cursor:pointer}.vxe-button.is--loading{cursor:progress}.vxe-button.is--loading:before{content:"";position:absolute;left: -0.0625rem;top: -0.0625rem;right: -0.0625rem;bottom: -0.0625rem;border-radius:inherit;background-color:hsla(0,0%,100%,.35);pointer-events:none}.vxe-button.is--disabled{color:#bfbfbf}.vxe-button.is--disabled:not(.is--loading){cursor:no-drop}.vxe-button.type--text{text-decoration:none;border:0;padding:.1em .5em;background-color:transparent}.vxe-button.type--text:not(.is--disabled):focus{color:#2f3031}.vxe-button.type--text:not(.is--disabled):hover{color:#73b8ff}.vxe-button.type--text.theme--primary{color:#409eff}.vxe-button.type--text.theme--primary:not(.is--disabled):focus{color:#0d84ff}.vxe-button.type--text.theme--primary:not(.is--disabled):hover{color:#73b8ff}.vxe-button.type--text.theme--primary.is--disabled{color:#a6d2ff}.vxe-button.type--text.theme--success{color:#67c23a}.vxe-button.type--text.theme--success:not(.is--disabled):focus{color:#529b2e}.vxe-button.type--text.theme--success:not(.is--disabled):hover{color:#85cf60}.vxe-button.type--text.theme--success.is--disabled{color:#a3db87}.vxe-button.type--text.theme--info{color:#909399}.vxe-button.type--text.theme--info:not(.is--disabled):focus{color:#767980}.vxe-button.type--text.theme--info:not(.is--disabled):hover{color:#abadb1}.vxe-button.type--text.theme--info.is--disabled{color:#c5c7ca}.vxe-button.type--text.theme--warning{color:#e6a23c}.vxe-button.type--text.theme--warning:not(.is--disabled):focus{color:#d48a1b}.vxe-button.type--text.theme--warning:not(.is--disabled):hover{color:#ecb869}.vxe-button.type--text.theme--warning.is--disabled{color:#f2cd96}.vxe-button.type--text.theme--danger{color:#f56c6c}.vxe-button.type--text.theme--danger:not(.is--disabled):focus{color:#f23c3c}.vxe-button.type--text.theme--danger:not(.is--disabled):hover{color:#f89c9c}.vxe-button.type--text.theme--danger.is--disabled{color:#fbcccc}.vxe-button.type--text.theme--perfect{color:#f8f8f9}.vxe-button.type--text.theme--perfect:not(.is--disabled):focus{color:#dddde1}.vxe-button.type--text.theme--perfect.is--disabled,.vxe-button.type--text.theme--perfect:not(.is--disabled):hover{color:#fff}.vxe-button.type--button{font-family:inherit;height: 2.125rem;line-height:1;border: 0.0625rem solid #dcdfe6}.vxe-button.type--button.is--round{border-radius: 1.0625rem}.vxe-button.type--button:not(.is--round){border-radius: 0.25rem}.vxe-button.type--button.is--circle{padding:0 .5em;min-width: 2.125rem;border-radius:50%}.vxe-button.type--button:not(.is--circle){padding:0 1em}.vxe-button.type--button:not(.is--disabled):hover{color:#5faeff}.vxe-button.type--button:not(.is--disabled):focus{border-color:#409eff}.vxe-button.type--button:not(.is--disabled):active{color:#3196ff;border-color:#3196ff;background-color:#f7f7f7}.vxe-button.type--button.theme--primary{color:#fff}.vxe-button.type--button.theme--primary:not(.is--disabled){border-color:#409eff;background-color:#409eff}.vxe-button.type--button.theme--primary:not(.is--disabled):hover{color:#fff;background-color:#5faeff;border-color:#5faeff}.vxe-button.type--button.theme--primary:not(.is--disabled):active{color:#fff;background-color:#3196ff;border-color:#3196ff}.vxe-button.type--button.theme--primary.is--disabled{border-color:#a6d2ff;background-color:#a6d2ff}.vxe-button.type--button.theme--primary.is--loading{border-color:#409eff;background-color:#409eff}.vxe-button.type--button.theme--success{color:#fff}.vxe-button.type--button.theme--success:not(.is--disabled){border-color:#67c23a;background-color:#67c23a}.vxe-button.type--button.theme--success:not(.is--disabled):hover{color:#fff;background-color:#79cb50;border-color:#79cb50}.vxe-button.type--button.theme--success:not(.is--disabled):active{color:#fff;background-color:#61b636;border-color:#61b636}.vxe-button.type--button.theme--success.is--disabled{border-color:#a3db87;background-color:#a3db87}.vxe-button.type--button.theme--success.is--loading{border-color:#67c23a;background-color:#67c23a}.vxe-button.type--button.theme--info{color:#fff}.vxe-button.type--button.theme--info:not(.is--disabled){border-color:#909399;background-color:#909399}.vxe-button.type--button.theme--info:not(.is--disabled):hover{color:#fff;background-color:#a0a3a8;border-color:#a0a3a8}.vxe-button.type--button.theme--info:not(.is--disabled):active{color:#fff;background-color:#888b92;border-color:#888b92}.vxe-button.type--button.theme--info.is--disabled{border-color:#c5c7ca;background-color:#c5c7ca}.vxe-button.type--button.theme--info.is--loading{border-color:#909399;background-color:#909399}.vxe-button.type--button.theme--warning{color:#fff}.vxe-button.type--button.theme--warning:not(.is--disabled){border-color:#e6a23c;background-color:#e6a23c}.vxe-button.type--button.theme--warning:not(.is--disabled):hover{color:#fff;background-color:#e9af57;border-color:#e9af57}.vxe-button.type--button.theme--warning:not(.is--disabled):active{color:#fff;background-color:#e49c2e;border-color:#e49c2e}.vxe-button.type--button.theme--warning.is--disabled{border-color:#f2cd96;background-color:#f2cd96}.vxe-button.type--button.theme--warning.is--loading{border-color:#e6a23c;background-color:#e6a23c}.vxe-button.type--button.theme--danger{color:#fff}.vxe-button.type--button.theme--danger:not(.is--disabled){border-color:#f56c6c;background-color:#f56c6c}.vxe-button.type--button.theme--danger:not(.is--disabled):hover{color:#fff;background-color:#f78989;border-color:#f78989}.vxe-button.type--button.theme--danger:not(.is--disabled):active{color:#fff;background-color:#f45e5e;border-color:#f45e5e}.vxe-button.type--button.theme--danger.is--disabled{border-color:#fbcccc;background-color:#fbcccc}.vxe-button.type--button.theme--danger.is--loading{border-color:#f56c6c;background-color:#f56c6c}.vxe-button.type--button.theme--perfect{color:#606266}.vxe-button.type--button.theme--perfect:not(.is--disabled){border-color:#f8f8f9;background-color:#f8f8f9}.vxe-button.type--button.theme--perfect:not(.is--disabled):hover{color:#606266;background-color:#fff;border-color:#fff}.vxe-button.type--button.theme--perfect:not(.is--disabled):active{color:#606266;background-color:#f0f0f2;border-color:#f0f0f2}.vxe-button.type--button.theme--perfect.is--disabled{border-color:#fff;background-color:#fff}.vxe-button.type--button.theme--perfect.is--loading{border-color:#f8f8f9;background-color:#f8f8f9}.vxe-button.size--medium{font-size: 0.875rem}.vxe-button.size--medium.type--button{height: 2rem}.vxe-button.size--medium.type--button.is--circle{min-width: 2rem}.vxe-button.size--medium.type--button.is--round{border-radius: 1rem}.vxe-button.size--medium .vxe-button--icon,.vxe-button.size--medium .vxe-button--loading-icon{min-width: 0.875rem}.vxe-button.size--small{font-size: 0.8125rem}.vxe-button.size--small.type--button{height: 1.875rem}.vxe-button.size--small.type--button.is--circle{min-width: 1.875rem}.vxe-button.size--small.type--button.is--round{border-radius: 0.9375rem}.vxe-button.size--small .vxe-button--icon,.vxe-button.size--small .vxe-button--loading-icon{min-width: 0.8125rem}.vxe-button.size--mini{font-size: 0.75rem}.vxe-button.size--mini.type--button{height: 1.75rem}.vxe-button.size--mini.type--button.is--circle{min-width: 1.75rem}.vxe-button.size--mini.type--button.is--round{border-radius: 0.875rem}.vxe-button.size--mini .vxe-button--icon,.vxe-button.size--mini .vxe-button--loading-icon{min-width: 0.75rem}.vxe-button+.vxe-button,.vxe-button+.vxe-button--dropdown,.vxe-input+.vxe-button,.vxe-input+.vxe-button--dropdown{margin-left: 0.75rem}.vxe-button--icon,.vxe-button--loading-icon{min-width: 0.875rem}.vxe-button--icon+.vxe-button--content,.vxe-button--loading-icon+.vxe-button--content{margin-left: 0.25rem}.vxe-button--dropdown,.vxe-button--wrapper{display:inline-block}.vxe-button--dropdown{position:relative}.vxe-button--dropdown+.vxe-button,.vxe-button--dropdown+.vxe-button--dropdown{margin-left: 0.75rem}.vxe-button--dropdown>.vxe-button.type--button.theme--danger,.vxe-button--dropdown>.vxe-button.type--button.theme--info,.vxe-button--dropdown>.vxe-button.type--button.theme--primary,.vxe-button--dropdown>.vxe-button.type--button.theme--success,.vxe-button--dropdown>.vxe-button.type--button.theme--warning{color:#fff}.vxe-button--dropdown>.vxe-button.type--button.theme--perfect{color:#606266}.vxe-button--dropdown.is--active>.vxe-button:not(.is--disabled){color:#5faeff}.vxe-button--dropdown.is--active>.vxe-button.type--text.theme--primary{color:#73b8ff}.vxe-button--dropdown.is--active>.vxe-button.type--text.theme--success{color:#85cf60}.vxe-button--dropdown.is--active>.vxe-button.type--text.theme--info{color:#abadb1}.vxe-button--dropdown.is--active>.vxe-button.type--text.theme--warning{color:#ecb869}.vxe-button--dropdown.is--active>.vxe-button.type--text.theme--danger{color:#f89c9c}.vxe-button--dropdown.is--active>.vxe-button.type--text.theme--perfect{color:#fff}.vxe-button--dropdown.is--active>.vxe-button.type--button.theme--primary{color:#fff;background-color:#5faeff;border-color:#5faeff}.vxe-button--dropdown.is--active>.vxe-button.type--button.theme--success{color:#fff;background-color:#79cb50;border-color:#79cb50}.vxe-button--dropdown.is--active>.vxe-button.type--button.theme--info{color:#fff;background-color:#a0a3a8;border-color:#a0a3a8}.vxe-button--dropdown.is--active>.vxe-button.type--button.theme--warning{color:#fff;background-color:#e9af57;border-color:#e9af57}.vxe-button--dropdown.is--active>.vxe-button.type--button.theme--danger{color:#fff;background-color:#f78989;border-color:#f78989}.vxe-button--dropdown.is--active>.vxe-button.type--button.theme--perfect{color:#606266;background-color:#fff;border-color:#fff}.vxe-button--dropdown.is--active .vxe-button--dropdown-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vxe-button--dropdown-arrow{display:inline-block;font-size: 0.75rem;margin-left: 0.25rem;-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out}.vxe-button--dropdown-panel{display:none;position:absolute;right:0;padding: 0.25rem 0}.vxe-button--dropdown-panel.animat--leave{display:block;opacity:0;-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.vxe-button--dropdown-panel.animat--leave[placement=top]{-webkit-transform-origin:center bottom;transform-origin:center bottom}.vxe-button--dropdown-panel.animat--enter{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1)}.vxe-button--dropdown-wrapper{padding: 0.3125rem;background-color:#fff;border-radius: 0.25rem;border: 0.0625rem solid #dcdfe6;-webkit-box-shadow:0 0.0625rem 0.375rem rgba(0,0,0,.2);box-shadow:0 0.0625rem 0.375rem rgba(0,0,0,.2)}.vxe-button--dropdown-wrapper>.vxe-button{margin-left:0;margin-top:.4em;display:block;width:100%;border:0}.vxe-button--dropdown-wrapper>.vxe-button.type--text{padding: 0.125rem 0.5rem}.vxe-button--dropdown-wrapper>.vxe-button:first-child{margin-top:0}.vxe-button--dropdown-wrapper>.vxe-button:last-child{margin-bottom:0}.vxe-modal--wrapper{display:none;position:fixed;top:0;left:0;line-height:1.5;width:calc(100% + 1.125rem);height:calc(100% + 1.125rem);color:#606266;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;-webkit-transition:top .4s ease-in-out;transition:top .4s ease-in-out}.vxe-modal--wrapper.is--active{display:block}.vxe-modal--wrapper.is--visible.is--mask:before{background-color:rgba(0,0,0,.5)}.vxe-modal--wrapper.is--visible.type--message .vxe-modal--box{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.vxe-modal--wrapper.is--visible .vxe-modal--box{opacity:1;visibility:visible}.vxe-modal--wrapper.is--loading .vxe-modal--footer,.vxe-modal--wrapper.is--loading .vxe-modal--header{position:relative;border-bottom-color:hsla(0,0%,100%,.5)}.vxe-modal--wrapper.is--loading .vxe-modal--footer:before,.vxe-modal--wrapper.is--loading .vxe-modal--header:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:hsla(0,0%,100%,.5)}.vxe-modal--wrapper:not(.lock--view){pointer-events:none}.vxe-modal--wrapper:not(.type--message).lock--scroll{overflow:hidden}.vxe-modal--wrapper:not(.type--message):not(.lock--scroll){overflow:auto}.vxe-modal--wrapper.is--mask:before,.vxe-modal--wrapper.lock--view:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:auto}.vxe-modal--wrapper.is--mask:before{background-color:transparent}.vxe-modal--wrapper.is--animat.is--mask:before{-webkit-transition:background-color .2s ease-in-out;transition:background-color .2s ease-in-out}.vxe-modal--wrapper.is--animat.type--message .vxe-modal--box:not(.is--drag){-webkit-transition:all .4s ease-out;transition:all .4s ease-out}.vxe-modal--wrapper.type--alert .vxe-modal--body,.vxe-modal--wrapper.type--confirm .vxe-modal--body,.vxe-modal--wrapper.type--message .vxe-modal--body{white-space:normal;word-break:break-word}.vxe-modal--wrapper.type--message{text-align:center}.vxe-modal--wrapper.type--message .vxe-modal--box{display:inline-block;padding: 0.125rem 0;margin-top:0;width:auto;-webkit-box-shadow:0 0 0.5rem 0 rgba(0,0,0,.1);box-shadow:0 0 0.5rem 0 rgba(0,0,0,.1);opacity:0;-webkit-transform:translateY(-100%);transform:translateY(-100%)}.vxe-modal--wrapper.type--message .vxe-modal--box .vxe-modal--body:after{content:"";display:block;clear:both;height:0;overflow:hidden;visibility:hidden}.vxe-modal--wrapper.type--message .vxe-modal--box .vxe-modal--content{max-width: 50rem;float:left}.vxe-modal--wrapper.type--message .vxe-modal--status-wrapper{font-size:1.4em;padding-left: 0.625rem}.vxe-modal--wrapper.type--alert .vxe-modal--box,.vxe-modal--wrapper.type--confirm .vxe-modal--box,.vxe-modal--wrapper.type--modal .vxe-modal--box{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:fixed;left:50%;top:0;-webkit-box-shadow:0 0 0.625rem 0 rgba(0,0,0,.2);box-shadow:0 0 0.625rem 0 rgba(0,0,0,.2)}.vxe-modal--wrapper.type--alert .vxe-modal--body,.vxe-modal--wrapper.type--alert .vxe-modal--body .vxe-modal--content,.vxe-modal--wrapper.type--confirm .vxe-modal--body,.vxe-modal--wrapper.type--confirm .vxe-modal--body .vxe-modal--content,.vxe-modal--wrapper.type--modal .vxe-modal--body,.vxe-modal--wrapper.type--modal .vxe-modal--body .vxe-modal--content{overflow:auto}.vxe-modal--wrapper.type--alert .vxe-modal--status-wrapper,.vxe-modal--wrapper.type--confirm .vxe-modal--status-wrapper{font-size:1.6em;padding-left: 0.625rem}.vxe-modal--wrapper .vxe-modal--box{visibility:hidden;width: 26.25rem;background-color:#fff;border-radius: 0.25rem;border: 0.0625rem solid #ebeef5;text-align:left;pointer-events:auto;opacity:0}.vxe-modal--wrapper .vxe-modal--box.is--drag{cursor:move}.vxe-modal--wrapper .vxe-modal--box.is--drag .vxe-modal--body:after,.vxe-modal--wrapper .vxe-modal--box.is--drag .vxe-modal--footer:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.vxe-modal--wrapper .vxe-modal--box.is--drag .vxe-modal--body,.vxe-modal--wrapper .vxe-modal--box.is--drag .vxe-modal--body .vxe-modal--content{overflow:hidden}.vxe-modal--wrapper.status--info .vxe-modal--status-wrapper{color:#909399}.vxe-modal--wrapper.status--question .vxe-modal--status-wrapper,.vxe-modal--wrapper.status--warning .vxe-modal--status-wrapper{color:#e6a23c}.vxe-modal--wrapper.status--success .vxe-modal--status-wrapper{color:#67c23a}.vxe-modal--wrapper.status--error .vxe-modal--status-wrapper{color:#f56c6c}.vxe-modal--wrapper.status--loading .vxe-modal--status-wrapper{color:#bfbfbf}.vxe-modal--wrapper .vxe-modal--status-wrapper{-ms-flex-negative:0;flex-shrink:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.vxe-modal--wrapper .vxe-modal--content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:.8em 1em;white-space:pre-line}.vxe-modal--wrapper .vxe-modal--body,.vxe-modal--wrapper .vxe-modal--footer,.vxe-modal--wrapper .vxe-modal--header{position:relative}.vxe-modal--wrapper .vxe-modal--body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.vxe-modal--wrapper .vxe-modal--header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-negative:0;flex-shrink:0;font-size:1.1em;font-weight:700;border-bottom: 0.0625rem solid #ebeef5;background-color:#f8f8f8;border-radius: 0.25rem 0.25rem 0 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-modal--wrapper .vxe-modal--header.is--draggable .vxe-modal--header-title{cursor:move}.vxe-modal--wrapper .vxe-modal--header.is--ellipsis .vxe-modal--header-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-modal--wrapper .vxe-modal--header-title{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:.6em 0 .6em 1em}.vxe-modal--wrapper .vxe-modal--header-right{-ms-flex-negative:0;flex-shrink:0;padding:.6em 1em .6em 0}.vxe-modal--wrapper .vxe-modal--close-btn,.vxe-modal--wrapper .vxe-modal--zoom-btn{cursor:pointer;margin-left:.6em}.vxe-modal--wrapper .vxe-modal--close-btn:hover,.vxe-modal--wrapper .vxe-modal--zoom-btn:hover{color:#409eff}.vxe-modal--wrapper .vxe-modal--footer{-ms-flex-negative:0;flex-shrink:0;text-align:right;padding:.4em 1em .8em 1em}.vxe-modal--wrapper.is--maximize .vxe-modal--box .vxe-modal--header{cursor:default}.vxe-modal--wrapper.is--maximize .vxe-modal--resize .sb-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .selb-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .sest-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .st-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .swlb-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .swst-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .wl-resize,.vxe-modal--wrapper.is--maximize .vxe-modal--resize .wr-resize{display:none}.vxe-modal--wrapper .vxe-modal--resize .sb-resize,.vxe-modal--wrapper .vxe-modal--resize .selb-resize,.vxe-modal--wrapper .vxe-modal--resize .sest-resize,.vxe-modal--wrapper .vxe-modal--resize .st-resize,.vxe-modal--wrapper .vxe-modal--resize .swlb-resize,.vxe-modal--wrapper .vxe-modal--resize .swst-resize,.vxe-modal--wrapper .vxe-modal--resize .wl-resize,.vxe-modal--wrapper .vxe-modal--resize .wr-resize{position:absolute;z-index:100}.vxe-modal--wrapper .vxe-modal--resize .wl-resize,.vxe-modal--wrapper .vxe-modal--resize .wr-resize{width: 0.5rem;height:100%;top:0;cursor:w-resize}.vxe-modal--wrapper .vxe-modal--resize .wl-resize{left: -0.3125rem}.vxe-modal--wrapper .vxe-modal--resize .wr-resize{right: -0.3125rem}.vxe-modal--wrapper .vxe-modal--resize .selb-resize,.vxe-modal--wrapper .vxe-modal--resize .sest-resize,.vxe-modal--wrapper .vxe-modal--resize .swlb-resize,.vxe-modal--wrapper .vxe-modal--resize .swst-resize{width: 0.625rem;height: 0.625rem;z-index:101}.vxe-modal--wrapper .vxe-modal--resize .sest-resize,.vxe-modal--wrapper .vxe-modal--resize .swst-resize{top: -0.5rem}.vxe-modal--wrapper .vxe-modal--resize .selb-resize,.vxe-modal--wrapper .vxe-modal--resize .swlb-resize{bottom: -0.5rem}.vxe-modal--wrapper .vxe-modal--resize .sest-resize,.vxe-modal--wrapper .vxe-modal--resize .swlb-resize{cursor:sw-resize}.vxe-modal--wrapper .vxe-modal--resize .selb-resize,.vxe-modal--wrapper .vxe-modal--resize .swst-resize{cursor:se-resize}.vxe-modal--wrapper .vxe-modal--resize .swlb-resize,.vxe-modal--wrapper .vxe-modal--resize .swst-resize{left: -0.5rem}.vxe-modal--wrapper .vxe-modal--resize .selb-resize,.vxe-modal--wrapper .vxe-modal--resize .sest-resize{right: -0.5rem}.vxe-modal--wrapper .vxe-modal--resize .sb-resize,.vxe-modal--wrapper .vxe-modal--resize .st-resize{width:100%;height: 0.5rem;left:0;cursor:s-resize}.vxe-modal--wrapper .vxe-modal--resize .st-resize{top: -0.3125rem}.vxe-modal--wrapper .vxe-modal--resize .sb-resize{bottom: -0.3125rem}.vxe-modal--wrapper,.vxe-modal--wrapper.size--medium{font-size: 0.875rem}.vxe-modal--wrapper.size--small{font-size: 0.8125rem}.vxe-modal--wrapper.size--mini{font-size: 0.75rem}.vxe-table--tooltip-wrapper{display:none;position:absolute;top:-100%;left:-100%;font-size: 0.75rem;max-width: 37.5rem;border-radius: 0.25rem;padding: 0.5rem 0.75rem;white-space:normal;word-break:break-word;-webkit-box-shadow: 0.125rem 0.125rem 0.25rem -0.125rem rgba(0,0,0,.2);box-shadow: 0.125rem 0.125rem 0.25rem -0.125rem rgba(0,0,0,.2);color:#606266;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}.vxe-table--tooltip-wrapper:not(.is--enterable){pointer-events:none}.vxe-table--tooltip-wrapper.is--arrow .vxe-table--tooltip-arrow,.vxe-table--tooltip-wrapper.is--visible{display:block}.vxe-table--tooltip-wrapper.is--enterable:after{content:"";position:absolute;left:0;width:100%;height: 0.375rem;background-color:transparent}.vxe-table--tooltip-wrapper .vxe-table--tooltip-content{white-space:pre-line}.vxe-table--tooltip-wrapper .vxe-table--tooltip-arrow{display:none;position:absolute;border-color:transparent;border-width: 0.375rem;border-style:solid;left:50%;-webkit-transform:translateX( -0.375rem);transform:translateX( -0.375rem)}.vxe-table--tooltip-wrapper .vxe-table--tooltip-arrow:before{content:"";position:absolute;border-color:transparent;border-width: 0.3125rem;border-style:solid;left: -0.3125rem}.vxe-table--tooltip-wrapper.placement--top.is--enterable:after{bottom: -0.375rem}.vxe-table--tooltip-wrapper.placement--top .vxe-table--tooltip-arrow{bottom: -0.75rem}.vxe-table--tooltip-wrapper.placement--top .vxe-table--tooltip-arrow:before{top: -0.4375rem}.vxe-table--tooltip-wrapper.placement--bottom.is--enterable:after{top: -0.375rem}.vxe-table--tooltip-wrapper.placement--bottom .vxe-table--tooltip-arrow{top: -0.75rem}.vxe-table--tooltip-wrapper.placement--bottom .vxe-table--tooltip-arrow:before{top: -0.25rem}.vxe-table--tooltip-wrapper.theme--light{background-color:#fff;border: 0.0625rem solid #dcdfe6}.vxe-table--tooltip-wrapper.theme--light.placement--top .vxe-table--tooltip-arrow{border-top-color:#dcdfe6}.vxe-table--tooltip-wrapper.theme--light.placement--top .vxe-table--tooltip-arrow:before{border-top-color:#fff}.vxe-table--tooltip-wrapper.theme--light.placement--bottom .vxe-table--tooltip-arrow{border-bottom-color:#dcdfe6}.vxe-table--tooltip-wrapper.theme--light.placement--bottom .vxe-table--tooltip-arrow:before{border-bottom-color:#fff}.vxe-table--tooltip-wrapper.theme--dark{background:#303133;color:#fff}.vxe-table--tooltip-wrapper.theme--dark.placement--top .vxe-table--tooltip-arrow,.vxe-table--tooltip-wrapper.theme--dark.placement--top .vxe-table--tooltip-arrow:before{border-top-color:#303133}.vxe-table--tooltip-wrapper.theme--dark.placement--bottom .vxe-table--tooltip-arrow,.vxe-table--tooltip-wrapper.theme--dark.placement--bottom .vxe-table--tooltip-arrow:before{border-bottom-color:#303133}.vxe-table--tooltip-wrapper.vxe-table--valid-error{background-color:#f56c6c;color:#fff}.vxe-form--item .vxe-default-input[type=reset]:hover,.vxe-form--item .vxe-default-input[type=submit]:hover{color:#5faeff;border-color:#73b8ff}.vxe-form{position:relative;font-size: 0.875rem;color:#606266;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;background-color:#fff;text-align:left}.vxe-form-slots{display:none}.vxe-form--item-content,.vxe-form--item-trigger-node{display:inline-block;vertical-align:middle}.vxe-form--item-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;max-width: 20rem;padding-right:.8em}.vxe-form--item-title.is--ellipsis .vxe-form--item-title-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-form--item-title .vxe-form--item-title-postfix,.vxe-form--item-title .vxe-form--item-title-prefix,.vxe-form--item-title .vxe-form--item-title-suffix{-ms-flex-negative:0;flex-shrink:0}.vxe-form--item-title .vxe-form--item-title-prefix,.vxe-form--item-title .vxe-form--item-title-suffix{cursor:help;vertical-align:middle}.vxe-form--item-title .vxe-form--item-title-prefix{margin-right:.25em}.vxe-form--item-title .vxe-form--item-title-suffix{margin-left:.2em}.vxe-form--item-title .vxe-form--item-title-postfix{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.vxe-form--item-title .vxe-form--item-title-content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.vxe-form--item-title .vxe-form--item-title-label{vertical-align:middle}.vxe-form--item-trigger-node{font-size: 0.75rem;min-width: 6.25rem;color:#909399;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.vxe-form--item-trigger-node .vxe-form--item-trigger-icon{display:inline-block;margin:0 .25em;-webkit-transition:all .1s;transition:all .1s}.vxe-form--item-valid{position:absolute;width:100%;font-size: 0.75rem;line-height:1.2em;color:#f56c6c;background-color:inherit;z-index:1;opacity:0;-webkit-transform-origin:center top;transform-origin:center top;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.vxe-form .vxe-form--gather{display:inline-block}.vxe-form .vxe-form--item{display:none;padding:.5em .8em .5em 0}.vxe-form .vxe-form--item.is--active:not(.is--hidden){display:inline-block}.vxe-form--item.is--colon .vxe-form--item-title-postfix:after{content:":";font-weight:400;margin-left:.2em}.vxe-form--item.is--asterisk.is--required .vxe-form--item-title-content:before{content:"*";color:#f56c6c;font-family:Verdana,Arial,Tahoma;margin-right:.2em;font-weight:400;vertical-align:middle}.vxe-form--item.is--span .vxe-default-input:not([type=submit]):not([type=reset]),.vxe-form--item.is--span .vxe-default-select,.vxe-form--item.is--span .vxe-default-textarea,.vxe-form--item.is--span .vxe-input,.vxe-form--item.is--span .vxe-select,.vxe-form--item.is--span .vxe-textarea{width:100%}.vxe-form--item.is--error .vxe-default-input,.vxe-form--item.is--error .vxe-default-input[type=search]:focus,.vxe-form--item.is--error .vxe-default-input[type=text]:focus,.vxe-form--item.is--error .vxe-default-select,.vxe-form--item.is--error .vxe-default-select:focus,.vxe-form--item.is--error .vxe-default-textarea,.vxe-form--item.is--error .vxe-default-textarea:focus,.vxe-form--item.is--error .vxe-input>.vxe-input--inner,.vxe-form--item.is--error .vxe-input>.vxe-input--inner:focus,.vxe-form--item.is--error .vxe-select,.vxe-form--item.is--error .vxe-select.is--active>.vxe-input .vxe-input--inner,.vxe-form--item.is--error .vxe-textarea>.vxe-textarea--inner,.vxe-form--item.is--error .vxe-textarea>.vxe-textarea--inner:focus{border-color:#f56c6c}.vxe-form--item.is--error .vxe-form--item-valid{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1)}.vxe-form--item .vxe-form--item-inner{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.vxe-form--item .vxe-form--item-inner .vxe-form--item-title{-ms-flex-negative:0;flex-shrink:0}.vxe-form--item .vxe-form--item-inner .vxe-form--item-content{position:relative;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;word-break:break-all}.vxe-form--item .vxe-default-input,.vxe-form--item .vxe-default-select,.vxe-form--item .vxe-default-textarea{outline:0;border: 0.0625rem solid #dcdfe6;border-radius: 0.25rem}.vxe-form--item .vxe-default-input,.vxe-form--item .vxe-default-select{height: 2.125rem}.vxe-form--item .vxe-default-input{padding:0 .8em}.vxe-form--item .vxe-default-textarea{padding:.3em .6em}.vxe-form--item .vxe-default-input[type=number]{padding-right:.2em}.vxe-form--item .vxe-default-input[type=search],.vxe-form--item .vxe-default-input[type=text]{padding:0 1em}.vxe-form--item .vxe-default-input[type=search],.vxe-form--item .vxe-default-input[type=text],.vxe-form--item .vxe-default-select,.vxe-form--item .vxe-default-textarea{color:#606266}.vxe-form--item .vxe-default-input[type=search]:focus,.vxe-form--item .vxe-default-input[type=text]:focus,.vxe-form--item .vxe-default-select:focus,.vxe-form--item .vxe-default-textarea:focus{border: 0.0625rem solid #409eff}.vxe-form--item .vxe-default-input[type=search][disabled],.vxe-form--item .vxe-default-input[type=text][disabled],.vxe-form--item .vxe-default-select[disabled],.vxe-form--item .vxe-default-textarea[disabled]{cursor:not-allowed;background-color:#f3f3f3}.vxe-form--item .vxe-default-input[type=reset],.vxe-form--item .vxe-default-input[type=submit]{line-height: 2rem;background-color:#fff;cursor:pointer}.vxe-form--item .vxe-default-input[type=reset]:active,.vxe-form--item .vxe-default-input[type=submit]:active{color:#3699ff;border-color:#3699ff}.vxe-form--item .vxe-default-input[type=date]::-webkit-inner-spin-button{margin-top: 0.375rem}.vxe-form--item .vxe-default-input[type=date]::-webkit-inner-spin-button,.vxe-form--item .vxe-default-input[type=number]::-webkit-inner-spin-button{height: 1.5rem}.vxe-form--item .vxe-default-input::-webkit-input-placeholder{color:#c0c4cc}.vxe-form--item .vxe-default-input::-moz-placeholder{color:#c0c4cc}.vxe-form--item .vxe-default-input:-ms-input-placeholder{color:#c0c4cc}.vxe-form--item .vxe-default-input::-ms-input-placeholder{color:#c0c4cc}.vxe-form--item .vxe-default-input::placeholder{color:#c0c4cc}.vxe-form--item .vxe-default-input[type=search],.vxe-form--item .vxe-default-input[type=text],.vxe-form--item .vxe-default-select,.vxe-form--item .vxe-default-textarea{width: 11.25rem}.vxe-form--item .vxe-default-textarea{resize:none;vertical-align:middle}.vxe-form--item .vxe-default-textarea::-webkit-input-placeholder{color:#c0c4cc}.vxe-form--item .vxe-default-textarea::-moz-placeholder{color:#c0c4cc}.vxe-form--item .vxe-default-textarea:-ms-input-placeholder{color:#c0c4cc}.vxe-form--item .vxe-default-textarea::-ms-input-placeholder{color:#c0c4cc}.vxe-form--item .vxe-default-textarea::placeholder{color:#c0c4cc}.vxe-form .vxe-form--item-inner{min-height: 2.25rem}.vxe-form .vxe-form--item-inner>.align--center{text-align:center}.vxe-form .vxe-form--item-inner>.align--left{text-align:left}.vxe-form .vxe-form--item-inner>.align--right{text-align:right}.vxe-form.size--medium{font-size: 0.875rem}.vxe-form.size--medium .vxe-form--item-inner{min-height: 2.125rem}.vxe-form.size--medium .vxe-default-input[type=reset],.vxe-form.size--medium .vxe-default-input[type=submit]{line-height: 1.875rem}.vxe-form.size--medium .vxe-default-input,.vxe-form.size--medium .vxe-default-select{height: 2rem}.vxe-form.size--small{font-size: 0.8125rem}.vxe-form.size--small .vxe-form--item-inner{min-height: 2rem}.vxe-form.size--small .vxe-default-input[type=reset],.vxe-form.size--small .vxe-default-input[type=submit]{line-height: 1.75rem}.vxe-form.size--small .vxe-default-input,.vxe-form.size--small .vxe-default-select{height: 1.875rem}.vxe-form.size--mini{font-size: 0.75rem}.vxe-form.size--mini .vxe-form--item-inner{min-height: 1.875rem}.vxe-form.size--mini .vxe-default-input[type=reset],.vxe-form.size--mini .vxe-default-input[type=submit]{line-height: 1.625rem}.vxe-form.size--mini .vxe-default-input,.vxe-form.size--mini .vxe-default-select{height: 1.75rem}.vxe-select{position:relative;display:inline-block;width: 11.25rem;color:#606266;text-align:left}.vxe-select>.vxe-input .vxe-input--inner{cursor:pointer}.vxe-select.is--disabled>.vxe-input .vxe-input--inner{cursor:no-drop}.vxe-select.is--loading>.vxe-input .vxe-input--inner{cursor:progress}.vxe-select>.vxe-input{width:100%}.vxe-select>.vxe-input .vxe-input--suffix-icon{display:inline-block;-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out}.vxe-select.is--active:not(.is--filter)>.vxe-input .vxe-input--inner{border: 0.0625rem solid #409eff}.vxe-select-slots{display:none}.vxe-select--panel{display:none;position:absolute;left:0;padding: 0.25rem 0;color:#606266;text-align:left}.vxe-select--panel:not(.is--transfer){min-width:100%}.vxe-select--panel.is--transfer{position:fixed}.vxe-select--panel.animat--leave{display:block;opacity:0;-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.vxe-select--panel.animat--leave[placement=top]{-webkit-transform-origin:center bottom;transform-origin:center bottom}.vxe-select--panel.animat--enter{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1)}.vxe-select-filter--wrapper{display:block}.vxe-select-filter--wrapper .vxe-select-filter--input{width:100%}.vxe-select-option--wrapper{position:relative;overflow-x:hidden;overflow-y:auto;padding: 0.25rem 0;max-height: 12.5rem;border-radius: 0.25rem;border: 0.0625rem solid #dadce0;-webkit-box-shadow:0 0 0.375rem 0.125rem rgba(0,0,0,.1);box-shadow:0 0 0.375rem 0.125rem rgba(0,0,0,.1);background-color:#fff}.vxe-optgroup .vxe-optgroup--title{padding:0 0.375rem;color:#909399;font-size: 0.75rem}.vxe-optgroup--wrapper .vxe-select-option{padding:0 1.25rem}.vxe-select-option{padding:0 .6em;max-width: 37.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-select-option.is--selected{font-weight:700;color:#409eff}.vxe-select-option:not(.is--disabled){cursor:pointer}.vxe-select-option:not(.is--disabled).is--hover{background-color:#f5f7fa}.vxe-select-option.is--disabled{color:#bfbfbf;cursor:no-drop}.vxe-select--search-icon{margin-right:.5em}.vxe-select--empty-placeholder,.vxe-select--search-loading{padding:0 .6em;text-align:center;color:#c0c4cc}.vxe-select,.vxe-select--panel,.vxe-select--panel.size--medium,.vxe-select.size--medium{font-size: 0.875rem}.vxe-select--panel.size--small,.vxe-select.size--small{font-size: 0.8125rem}.vxe-select--panel.size--mini,.vxe-select.size--mini{font-size: 0.75rem}.vxe-select--panel .vxe-optgroup--title,.vxe-select--panel .vxe-select-option{height: 1.875rem}.vxe-select--panel .vxe-optgroup--title,.vxe-select--panel .vxe-select--empty-placeholder,.vxe-select--panel .vxe-select--search-loading,.vxe-select--panel .vxe-select-option{line-height: 1.875rem}.vxe-select--panel.size--medium .vxe-optgroup--title,.vxe-select--panel.size--medium .vxe-select-option{height: 1.75rem}.vxe-select--panel.size--medium .vxe-optgroup--title,.vxe-select--panel.size--medium .vxe-select--empty-placeholder,.vxe-select--panel.size--medium .vxe-select--search-loading,.vxe-select--panel.size--medium .vxe-select-option{line-height: 1.75rem}.vxe-select--panel.size--small .vxe-optgroup--title,.vxe-select--panel.size--small .vxe-select-option{height: 1.625rem}.vxe-select--panel.size--small .vxe-optgroup--title,.vxe-select--panel.size--small .vxe-select--empty-placeholder,.vxe-select--panel.size--small .vxe-select--search-loading,.vxe-select--panel.size--small .vxe-select-option{line-height: 1.625rem}.vxe-select--panel.size--mini .vxe-optgroup--title,.vxe-select--panel.size--mini .vxe-select-option{height: 1.5rem}.vxe-select--panel.size--mini .vxe-optgroup--title,.vxe-select--panel.size--mini .vxe-select--empty-placeholder,.vxe-select--panel.size--mini .vxe-select--search-loading,.vxe-select--panel.size--mini .vxe-select-option{line-height: 1.5rem}.vxe-switch{display:inline-block;color:#606266;vertical-align:middle;padding:.4em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center}.vxe-switch.is--animat .vxe-switch--button{-webkit-transition:border-color .3s,background-color .3s;transition:border-color .3s,background-color .3s}.vxe-switch.is--animat .vxe-switch--icon{-webkit-transition:all .3s;transition:all .3s}.vxe-switch.is--on .vxe-switch--button{padding-right:1.7em;background-color:#409eff}.vxe-switch.is--on .vxe-switch--icon{left:100%;-webkit-transform:translateX(-1.4em);transform:translateX(-1.4em)}.vxe-switch.is--off .vxe-switch--button{padding-left:1.7em;background-color:rgba(0,0,0,.35)}.vxe-switch.is--off .vxe-switch--icon{left:.2em;-webkit-transform:translateX(0);transform:translateX(0)}.vxe-switch.is--off .vxe-switch--label-on,.vxe-switch.is--on .vxe-switch--label-off{height:0;visibility:hidden;overflow:hidden}.vxe-switch.is--off .vxe-switch--label,.vxe-switch.is--on .vxe-switch--label{opacity:1}.vxe-switch:not(.is--disabled) .vxe-switch--button{cursor:pointer}.vxe-switch:not(.is--disabled) .vxe-switch--button:focus{-webkit-box-shadow:0 0 .4em 0 #409eff;box-shadow:0 0 .4em 0 #409eff}.vxe-switch.is--disabled .vxe-switch--button{cursor:no-drop}.vxe-switch.is--disabled.is--on .vxe-switch--button{background-color:#a6d2ff}.vxe-switch.is--disabled.is--off .vxe-switch--button{background-color:rgba(0,0,0,.15)}.vxe-switch .vxe-switch--button{display:block;position:relative;height:1.6em;line-height:1;min-width:3.2em;padding:0 .6em;border-radius:1em;border:0;outline:0}.vxe-switch .vxe-switch--label{opacity:0;display:block;color:#fff;font-size:.8em}.vxe-switch .vxe-switch--icon{position:absolute;top:.2em;left:0;width:1.2em;height:1.2em;border-radius:50%;background-color:#fff}.vxe-switch .vxe-switch--label-icon{margin-right:.25em}.vxe-switch,.vxe-switch.size--medium{font-size: 0.875rem}.vxe-switch.size--small{font-size: 0.8125rem}.vxe-switch.size--mini{font-size: 0.75rem}.vxe-list{position:relative;display:block;padding:0;color:#606266;direction:ltr}.vxe-list .vxe-list--virtual-wrapper{position:relative;overflow:auto}.vxe-list .vxe-list--y-space{width:0;float:left}.vxe-list .vxe-list--body,.vxe-list .vxe-list--virtual-wrapper{padding:0;margin:0;border:0;outline:0}.vxe-list--virtual-wrapper{height: 6.25rem}.vxe-pulldown{position:relative;display:inline-block;color:#606266;text-align:left}.vxe-pulldown--panel{display:none;position:absolute;left:0;padding: 0.25rem 0;color:#606266;text-align:left}.vxe-pulldown--panel:not(.is--transfer){min-width:100%}.vxe-pulldown--panel.is--transfer{position:fixed}.vxe-pulldown--panel.animat--leave{display:block;opacity:0;-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.vxe-pulldown--panel.animat--leave[placement=top]{-webkit-transform-origin:center bottom;transform-origin:center bottom}.vxe-pulldown--panel.animat--enter{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1)}.vxe-pulldown--wrapper{background-color:#fff}.vxe-pulldown,.vxe-pulldown--panel,.vxe-pulldown--panel.size--medium,.vxe-pulldown.size--medium{font-size: 0.875rem}.vxe-pulldown--panel.size--small,.vxe-pulldown.size--small{font-size: 0.8125rem}.vxe-pulldown--panel.size--mini,.vxe-pulldown.size--mini{font-size: 0.75rem} \ No newline at end of file diff --git a/src/font-icon/demo.css b/src/font-icon/demo.css new file mode 100644 index 0000000..a67054a --- /dev/null +++ b/src/font-icon/demo.css @@ -0,0 +1,539 @@ +/* Logo 字体 */ +@font-face { + font-family: "iconfont logo"; + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834'); + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg'); +} + +.logo { + font-family: "iconfont logo"; + font-size: 160px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* tabs */ +.nav-tabs { + position: relative; +} + +.nav-tabs .nav-more { + position: absolute; + right: 0; + bottom: 0; + height: 42px; + line-height: 42px; + color: #666; +} + +#tabs { + border-bottom: 1px solid #eee; +} + +#tabs li { + cursor: pointer; + width: 100px; + height: 40px; + line-height: 40px; + text-align: center; + font-size: 16px; + border-bottom: 2px solid transparent; + position: relative; + z-index: 1; + margin-bottom: -1px; + color: #666; +} + + +#tabs .active { + border-bottom-color: #f00; + color: #222; +} + +.tab-container .content { + display: none; +} + +/* 页面布局 */ +.main { + padding: 30px 100px; + width: 960px; + margin: 0 auto; +} + +.main .logo { + color: #333; + text-align: left; + margin-bottom: 30px; + line-height: 1; + height: 110px; + margin-top: -50px; + overflow: hidden; + *zoom: 1; +} + +.main .logo a { + font-size: 160px; + color: #333; +} + +.helps { + margin-top: 40px; +} + +.helps pre { + padding: 20px; + margin: 10px 0; + border: solid 1px #e7e1cd; + background-color: #fffdef; + overflow: auto; +} + +.icon_lists { + width: 100% !important; + overflow: hidden; + *zoom: 1; +} + +.icon_lists li { + width: 100px; + margin-bottom: 10px; + margin-right: 20px; + text-align: center; + list-style: none !important; + cursor: default; +} + +.icon_lists li .code-name { + line-height: 1.2; +} + +.icon_lists .icon { + display: block; + height: 100px; + line-height: 100px; + font-size: 42px; + margin: 10px auto; + color: #333; + -webkit-transition: font-size 0.25s linear, width 0.25s linear; + -moz-transition: font-size 0.25s linear, width 0.25s linear; + transition: font-size 0.25s linear, width 0.25s linear; +} + +.icon_lists .icon:hover { + font-size: 100px; +} + +.icon_lists .svg-icon { + /* 通过设置 font-size 来改变图标大小 */ + width: 1em; + /* 图标和文字相邻时,垂直对齐 */ + vertical-align: -0.15em; + /* 通过设置 color 来改变 SVG 的颜色/fill */ + fill: currentColor; + /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示 + normalize.css 中也包含这行 */ + overflow: hidden; +} + +.icon_lists li .name, +.icon_lists li .code-name { + color: #666; +} + +/* markdown 样式 */ +.markdown { + color: #666; + font-size: 14px; + line-height: 1.8; +} + +.highlight { + line-height: 1.5; +} + +.markdown img { + vertical-align: middle; + max-width: 100%; +} + +.markdown h1 { + color: #404040; + font-weight: 500; + line-height: 40px; + margin-bottom: 24px; +} + +.markdown h2, +.markdown h3, +.markdown h4, +.markdown h5, +.markdown h6 { + color: #404040; + margin: 1.6em 0 0.6em 0; + font-weight: 500; + clear: both; +} + +.markdown h1 { + font-size: 28px; +} + +.markdown h2 { + font-size: 22px; +} + +.markdown h3 { + font-size: 16px; +} + +.markdown h4 { + font-size: 14px; +} + +.markdown h5 { + font-size: 12px; +} + +.markdown h6 { + font-size: 12px; +} + +.markdown hr { + height: 1px; + border: 0; + background: #e9e9e9; + margin: 16px 0; + clear: both; +} + +.markdown p { + margin: 1em 0; +} + +.markdown>p, +.markdown>blockquote, +.markdown>.highlight, +.markdown>ol, +.markdown>ul { + width: 80%; +} + +.markdown ul>li { + list-style: circle; +} + +.markdown>ul li, +.markdown blockquote ul>li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown>ul li p, +.markdown>ol li p { + margin: 0.6em 0; +} + +.markdown ol>li { + list-style: decimal; +} + +.markdown>ol li, +.markdown blockquote ol>li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown code { + margin: 0 3px; + padding: 0 5px; + background: #eee; + border-radius: 3px; +} + +.markdown strong, +.markdown b { + font-weight: 600; +} + +.markdown>table { + border-collapse: collapse; + border-spacing: 0px; + empty-cells: show; + border: 1px solid #e9e9e9; + width: 95%; + margin-bottom: 24px; +} + +.markdown>table th { + white-space: nowrap; + color: #333; + font-weight: 600; +} + +.markdown>table th, +.markdown>table td { + border: 1px solid #e9e9e9; + padding: 8px 16px; + text-align: left; +} + +.markdown>table th { + background: #F7F7F7; +} + +.markdown blockquote { + font-size: 90%; + color: #999; + border-left: 4px solid #e9e9e9; + padding-left: 0.8em; + margin: 1em 0; +} + +.markdown blockquote p { + margin: 0; +} + +.markdown .anchor { + opacity: 0; + transition: opacity 0.3s ease; + margin-left: 8px; +} + +.markdown .waiting { + color: #ccc; +} + +.markdown h1:hover .anchor, +.markdown h2:hover .anchor, +.markdown h3:hover .anchor, +.markdown h4:hover .anchor, +.markdown h5:hover .anchor, +.markdown h6:hover .anchor { + opacity: 1; + display: inline-block; +} + +.markdown>br, +.markdown>p>br { + clear: both; +} + + +.hljs { + display: block; + background: white; + padding: 0.5em; + color: #333333; + overflow-x: auto; +} + +.hljs-comment, +.hljs-meta { + color: #969896; +} + +.hljs-string, +.hljs-variable, +.hljs-template-variable, +.hljs-strong, +.hljs-emphasis, +.hljs-quote { + color: #df5000; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-type { + color: #a71d5d; +} + +.hljs-literal, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute { + color: #0086b3; +} + +.hljs-section, +.hljs-name { + color: #63a35c; +} + +.hljs-tag { + color: #333333; +} + +.hljs-title, +.hljs-attr, +.hljs-selector-id, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #795da3; +} + +.hljs-addition { + color: #55a532; + background-color: #eaffea; +} + +.hljs-deletion { + color: #bd2c00; + background-color: #ffecec; +} + +.hljs-link { + text-decoration: underline; +} + +/* 代码高亮 */ +/* PrismJS 1.15.0 +https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} + +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} + +@media print { + + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre)>code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} + +/* Inline code */ +:not(pre)>code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #999; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, .5); +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} + +.token.function, +.token.class-name { + color: #DD4A68; +} + +.token.regex, +.token.important, +.token.variable { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/src/font-icon/demo_index.html b/src/font-icon/demo_index.html new file mode 100644 index 0000000..66d76bb --- /dev/null +++ b/src/font-icon/demo_index.html @@ -0,0 +1,901 @@ + + + + + iconfont Demo + + + + + + + + + + + + + +
+

+ + +

+ +
+
+
    + +
  • + +
    绘制
    +
    &#xe635;
    +
  • + +
  • + +
    211铃铛
    +
    &#xe8c0;
    +
  • + +
  • + +
    下拉
    +
    &#xe6b9;
    +
  • + +
  • + +
    用户-圆
    +
    &#xe623;
    +
  • + +
  • + +
    钥匙
    +
    &#xe627;
    +
  • + +
  • + +
    港口
    +
    &#xe6b1;
    +
  • + +
  • + +
    list_码头
    +
    &#xe712;
    +
  • + +
  • + +
    码头
    +
    &#xe629;
    +
  • + +
  • + +
    固定顺岸码头
    +
    &#xe642;
    +
  • + +
  • + +
    浮码头
    +
    &#xe644;
    +
  • + +
  • + +
    港口物流
    +
    &#xe60e;
    +
  • + +
  • + +
    长三角港口群
    +
    &#xe60f;
    +
  • + +
  • + +
    9船舶
    +
    &#xe639;
    +
  • + +
  • + +
    导入
    +
    &#xe61e;
    +
  • + +
  • + +
    导出
    +
    &#xe634;
    +
  • + +
  • + +
    删除
    +
    &#xe74b;
    +
  • + +
  • + +
    提醒
    +
    &#xe626;
    +
  • + +
  • + +
    编辑
    +
    &#xe8ac;
    +
  • + +
  • + +
    眼睛_隐藏_o
    +
    &#xebcd;
    +
  • + +
  • + +
    眼睛-可见
    +
    &#xe685;
    +
  • + +
  • + +
    user
    +
    &#xe7ae;
    +
  • + +
  • + +
    301加-圆框
    +
    &#xe8df;
    +
  • + +
  • + +
    302减-方框
    +
    &#xe8e0;
    +
  • + +
  • + +
    302减-圆框
    +
    &#xe8e1;
    +
  • + +
  • + +
    301加-方框
    +
    &#xe8de;
    +
  • + +
  • + +
    加号
    +
    &#xeaf3;
    +
  • + +
  • + +
    减号
    +
    &#xeaf5;
    +
  • + +
  • + +
    最大化
    +
    &#xe65b;
    +
  • + +
  • + +
    最小化
    +
    &#xe67a;
    +
  • + +
  • + +
    操作-全屏-展开
    +
    &#xe73b;
    +
  • + +
  • + +
    关闭
    +
    &#xeaf2;
    +
  • + +
+
+

Unicode 引用

+
+ +

Unicode 是字体在网页端最原始的应用方式,特点是:

+
    +
  • 支持按字体的方式去动态调整图标大小,颜色等等。
  • +
  • 默认情况下不支持多色,直接添加多色图标会自动去色。
  • +
+
+

注意:新版 iconfont 支持两种方式引用多色图标:SVG symbol 引用方式和彩色字体图标模式。(使用彩色字体图标需要在「编辑项目」中开启「彩色」选项后并重新生成。)

+
+

Unicode 使用步骤如下:

+

第一步:拷贝项目下面生成的 @font-face

+
@font-face {
+  font-family: 'iconfont';
+  src: url('iconfont.woff2?t=1659951671698') format('woff2'),
+       url('iconfont.woff?t=1659951671698') format('woff'),
+       url('iconfont.ttf?t=1659951671698') format('truetype');
+}
+
+

第二步:定义使用 iconfont 的样式

+
.iconfont {
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+

第三步:挑选相应图标并获取字体编码,应用于页面

+
+<span class="iconfont">&#x33;</span>
+
+
+

"iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。

+
+
+
+
+
    + +
  • + +
    + 绘制 +
    +
    .icon-huizhi +
    +
  • + +
  • + +
    + 211铃铛 +
    +
    .icon-lingdang +
    +
  • + +
  • + +
    + 下拉 +
    +
    .icon-xiala +
    +
  • + +
  • + +
    + 用户-圆 +
    +
    .icon-yonghu-yuan +
    +
  • + +
  • + +
    + 钥匙 +
    +
    .icon-yuechi +
    +
  • + +
  • + +
    + 港口 +
    +
    .icon-gangkou +
    +
  • + +
  • + +
    + list_码头 +
    +
    .icon-listmatou +
    +
  • + +
  • + +
    + 码头 +
    +
    .icon-matou +
    +
  • + +
  • + +
    + 固定顺岸码头 +
    +
    .icon-gudingshunanmatou +
    +
  • + +
  • + +
    + 浮码头 +
    +
    .icon-fumatou +
    +
  • + +
  • + +
    + 港口物流 +
    +
    .icon-gangkouwuliu +
    +
  • + +
  • + +
    + 长三角港口群 +
    +
    .icon-changsanjiaogangkouqun +
    +
  • + +
  • + +
    + 9船舶 +
    +
    .icon-chuanbo +
    +
  • + +
  • + +
    + 导入 +
    +
    .icon-daoru +
    +
  • + +
  • + +
    + 导出 +
    +
    .icon-daochu +
    +
  • + +
  • + +
    + 删除 +
    +
    .icon-shanchu +
    +
  • + +
  • + +
    + 提醒 +
    +
    .icon-tixing +
    +
  • + +
  • + +
    + 编辑 +
    +
    .icon-bianji +
    +
  • + +
  • + +
    + 眼睛_隐藏_o +
    +
    .icon-yanjing_yincang_o +
    +
  • + +
  • + +
    + 眼睛-可见 +
    +
    .icon-yanjing-kejian +
    +
  • + +
  • + +
    + user +
    +
    .icon-user +
    +
  • + +
  • + +
    + 301加-圆框 +
    +
    .icon-jia-yuankuang +
    +
  • + +
  • + +
    + 302减-方框 +
    +
    .icon-jian-fangkuang +
    +
  • + +
  • + +
    + 302减-圆框 +
    +
    .icon-jian-yuankuang +
    +
  • + +
  • + +
    + 301加-方框 +
    +
    .icon-jia-fangkuang +
    +
  • + +
  • + +
    + 加号 +
    +
    .icon-jiahao +
    +
  • + +
  • + +
    + 减号 +
    +
    .icon-jianhao +
    +
  • + +
  • + +
    + 最大化 +
    +
    .icon-zuidahua +
    +
  • + +
  • + +
    + 最小化 +
    +
    .icon-zuixiaohua +
    +
  • + +
  • + +
    + 操作-全屏-展开 +
    +
    .icon-caozuo-quanping-zhankai +
    +
  • + +
  • + +
    + 关闭 +
    +
    .icon-guanbi +
    +
  • + +
+
+

font-class 引用

+
+ +

font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。

+

与 Unicode 使用方式相比,具有如下特点:

+
    +
  • 相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。
  • +
  • 因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。
  • +
+

使用步骤如下:

+

第一步:引入项目下面生成的 fontclass 代码:

+
<link rel="stylesheet" href="./iconfont.css">
+
+

第二步:挑选相应图标并获取类名,应用于页面:

+
<span class="iconfont icon-xxx"></span>
+
+
+

" + iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。

+
+
+
+
+
    + +
  • + +
    绘制
    +
    #icon-huizhi
    +
  • + +
  • + +
    211铃铛
    +
    #icon-lingdang
    +
  • + +
  • + +
    下拉
    +
    #icon-xiala
    +
  • + +
  • + +
    用户-圆
    +
    #icon-yonghu-yuan
    +
  • + +
  • + +
    钥匙
    +
    #icon-yuechi
    +
  • + +
  • + +
    港口
    +
    #icon-gangkou
    +
  • + +
  • + +
    list_码头
    +
    #icon-listmatou
    +
  • + +
  • + +
    码头
    +
    #icon-matou
    +
  • + +
  • + +
    固定顺岸码头
    +
    #icon-gudingshunanmatou
    +
  • + +
  • + +
    浮码头
    +
    #icon-fumatou
    +
  • + +
  • + +
    港口物流
    +
    #icon-gangkouwuliu
    +
  • + +
  • + +
    长三角港口群
    +
    #icon-changsanjiaogangkouqun
    +
  • + +
  • + +
    9船舶
    +
    #icon-chuanbo
    +
  • + +
  • + +
    导入
    +
    #icon-daoru
    +
  • + +
  • + +
    导出
    +
    #icon-daochu
    +
  • + +
  • + +
    删除
    +
    #icon-shanchu
    +
  • + +
  • + +
    提醒
    +
    #icon-tixing
    +
  • + +
  • + +
    编辑
    +
    #icon-bianji
    +
  • + +
  • + +
    眼睛_隐藏_o
    +
    #icon-yanjing_yincang_o
    +
  • + +
  • + +
    眼睛-可见
    +
    #icon-yanjing-kejian
    +
  • + +
  • + +
    user
    +
    #icon-user
    +
  • + +
  • + +
    301加-圆框
    +
    #icon-jia-yuankuang
    +
  • + +
  • + +
    302减-方框
    +
    #icon-jian-fangkuang
    +
  • + +
  • + +
    302减-圆框
    +
    #icon-jian-yuankuang
    +
  • + +
  • + +
    301加-方框
    +
    #icon-jia-fangkuang
    +
  • + +
  • + +
    加号
    +
    #icon-jiahao
    +
  • + +
  • + +
    减号
    +
    #icon-jianhao
    +
  • + +
  • + +
    最大化
    +
    #icon-zuidahua
    +
  • + +
  • + +
    最小化
    +
    #icon-zuixiaohua
    +
  • + +
  • + +
    操作-全屏-展开
    +
    #icon-caozuo-quanping-zhankai
    +
  • + +
  • + +
    关闭
    +
    #icon-guanbi
    +
  • + +
+
+

Symbol 引用

+
+ +

这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇文章 + 这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:

+
    +
  • 支持多色图标了,不再受单色限制。
  • +
  • 通过一些技巧,支持像字体那样,通过 font-size, color 来调整样式。
  • +
  • 兼容性较差,支持 IE9+,及现代浏览器。
  • +
  • 浏览器渲染 SVG 的性能一般,还不如 png。
  • +
+

使用步骤如下:

+

第一步:引入项目下面生成的 symbol 代码:

+
<script src="./iconfont.js"></script>
+
+

第二步:加入通用 CSS 代码(引入一次就行):

+
<style>
+.icon {
+  width: 1em;
+  height: 1em;
+  vertical-align: -0.15em;
+  fill: currentColor;
+  overflow: hidden;
+}
+</style>
+
+

第三步:挑选相应图标并获取类名,应用于页面:

+
<svg class="icon" aria-hidden="true">
+  <use xlink:href="#icon-xxx"></use>
+</svg>
+
+
+
+ +
+
+ + + diff --git a/src/font-icon/iconfont.css b/src/font-icon/iconfont.css new file mode 100644 index 0000000..b9943ea --- /dev/null +++ b/src/font-icon/iconfont.css @@ -0,0 +1,139 @@ +@font-face { + font-family: "iconfont"; /* Project id 3410877 */ + src: url('iconfont.woff2?t=1659951671698') format('woff2'), + url('iconfont.woff?t=1659951671698') format('woff'), + url('iconfont.ttf?t=1659951671698') format('truetype'); +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-huizhi:before { + content: "\e635"; +} + +.icon-lingdang:before { + content: "\e8c0"; +} + +.icon-xiala:before { + content: "\e6b9"; +} + +.icon-yonghu-yuan:before { + content: "\e623"; +} + +.icon-yuechi:before { + content: "\e627"; +} + +.icon-gangkou:before { + content: "\e6b1"; +} + +.icon-listmatou:before { + content: "\e712"; +} + +.icon-matou:before { + content: "\e629"; +} + +.icon-gudingshunanmatou:before { + content: "\e642"; +} + +.icon-fumatou:before { + content: "\e644"; +} + +.icon-gangkouwuliu:before { + content: "\e60e"; +} + +.icon-changsanjiaogangkouqun:before { + content: "\e60f"; +} + +.icon-chuanbo:before { + content: "\e639"; +} + +.icon-daoru:before { + content: "\e61e"; +} + +.icon-daochu:before { + content: "\e634"; +} + +.icon-shanchu:before { + content: "\e74b"; +} + +.icon-tixing:before { + content: "\e626"; +} + +.icon-bianji:before { + content: "\e8ac"; +} + +.icon-yanjing_yincang_o:before { + content: "\ebcd"; +} + +.icon-yanjing-kejian:before { + content: "\e685"; +} + +.icon-user:before { + content: "\e7ae"; +} + +.icon-jia-yuankuang:before { + content: "\e8df"; +} + +.icon-jian-fangkuang:before { + content: "\e8e0"; +} + +.icon-jian-yuankuang:before { + content: "\e8e1"; +} + +.icon-jia-fangkuang:before { + content: "\e8de"; +} + +.icon-jiahao:before { + content: "\eaf3"; +} + +.icon-jianhao:before { + content: "\eaf5"; +} + +.icon-zuidahua:before { + content: "\e65b"; +} + +.icon-zuixiaohua:before { + content: "\e67a"; +} + +.icon-caozuo-quanping-zhankai:before { + content: "\e73b"; +} + +.icon-guanbi:before { + content: "\eaf2"; +} + diff --git a/src/font-icon/iconfont.js b/src/font-icon/iconfont.js new file mode 100644 index 0000000..9fae443 --- /dev/null +++ b/src/font-icon/iconfont.js @@ -0,0 +1 @@ +!function(a){var l,c,h,o,t,i='',n=(n=document.getElementsByTagName("script"))[n.length-1].getAttribute("data-injectcss"),s=function(a,l){l.parentNode.insertBefore(a,l)};if(n&&!a.__iconfont__svg__cssinject__){a.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(a){console&&console.log(a)}}function e(){t||(t=!0,h())}function v(){try{o.documentElement.doScroll("left")}catch(a){return void setTimeout(v,50)}e()}l=function(){var a,l=document.createElement("div");l.innerHTML=i,i=null,(l=l.getElementsByTagName("svg")[0])&&(l.setAttribute("aria-hidden","true"),l.style.position="absolute",l.style.width=0,l.style.height=0,l.style.overflow="hidden",l=l,(a=document.body).firstChild?s(l,a.firstChild):a.appendChild(l))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(l,0):(c=function(){document.removeEventListener("DOMContentLoaded",c,!1),l()},document.addEventListener("DOMContentLoaded",c,!1)):document.attachEvent&&(h=l,o=a.document,t=!1,v(),o.onreadystatechange=function(){"complete"==o.readyState&&(o.onreadystatechange=null,e())})}(window); \ No newline at end of file diff --git a/src/font-icon/iconfont.json b/src/font-icon/iconfont.json new file mode 100644 index 0000000..30b9596 --- /dev/null +++ b/src/font-icon/iconfont.json @@ -0,0 +1,226 @@ +{ + "id": "3410877", + "name": "lng-icon", + "font_family": "iconfont", + "css_prefix_text": "icon-", + "description": "", + "glyphs": [ + { + "icon_id": "11741138", + "name": "绘制 ", + "font_class": "huizhi", + "unicode": "e635", + "unicode_decimal": 58933 + }, + { + "icon_id": "1727435", + "name": "211铃铛", + "font_class": "lingdang", + "unicode": "e8c0", + "unicode_decimal": 59584 + }, + { + "icon_id": "672036", + "name": "下拉", + "font_class": "xiala", + "unicode": "e6b9", + "unicode_decimal": 59065 + }, + { + "icon_id": "1304895", + "name": "用户-圆", + "font_class": "yonghu-yuan", + "unicode": "e623", + "unicode_decimal": 58915 + }, + { + "icon_id": "24941125", + "name": "钥匙", + "font_class": "yuechi", + "unicode": "e627", + "unicode_decimal": 58919 + }, + { + "icon_id": "6452180", + "name": "港口", + "font_class": "gangkou", + "unicode": "e6b1", + "unicode_decimal": 59057 + }, + { + "icon_id": "724700", + "name": "list_码头", + "font_class": "listmatou", + "unicode": "e712", + "unicode_decimal": 59154 + }, + { + "icon_id": "19640760", + "name": "码头", + "font_class": "matou", + "unicode": "e629", + "unicode_decimal": 58921 + }, + { + "icon_id": "5566964", + "name": "固定顺岸码头", + "font_class": "gudingshunanmatou", + "unicode": "e642", + "unicode_decimal": 58946 + }, + { + "icon_id": "5567308", + "name": "浮码头", + "font_class": "fumatou", + "unicode": "e644", + "unicode_decimal": 58948 + }, + { + "icon_id": "22580449", + "name": "港口物流", + "font_class": "gangkouwuliu", + "unicode": "e60e", + "unicode_decimal": 58894 + }, + { + "icon_id": "22580460", + "name": "长三角港口群", + "font_class": "changsanjiaogangkouqun", + "unicode": "e60f", + "unicode_decimal": 58895 + }, + { + "icon_id": "1411092", + "name": "9船舶", + "font_class": "chuanbo", + "unicode": "e639", + "unicode_decimal": 58937 + }, + { + "icon_id": "604485", + "name": "导入", + "font_class": "daoru", + "unicode": "e61e", + "unicode_decimal": 58910 + }, + { + "icon_id": "4770726", + "name": "导出", + "font_class": "daochu", + "unicode": "e634", + "unicode_decimal": 58932 + }, + { + "icon_id": "577357", + "name": "删除", + "font_class": "shanchu", + "unicode": "e74b", + "unicode_decimal": 59211 + }, + { + "icon_id": "8765137", + "name": "提醒", + "font_class": "tixing", + "unicode": "e626", + "unicode_decimal": 58918 + }, + { + "icon_id": "11372640", + "name": "编辑", + "font_class": "bianji", + "unicode": "e8ac", + "unicode_decimal": 59564 + }, + { + "icon_id": "5388071", + "name": "眼睛_隐藏_o", + "font_class": "yanjing_yincang_o", + "unicode": "ebcd", + "unicode_decimal": 60365 + }, + { + "icon_id": "6302555", + "name": "眼睛-可见", + "font_class": "yanjing-kejian", + "unicode": "e685", + "unicode_decimal": 59013 + }, + { + "icon_id": "4766293", + "name": "user", + "font_class": "user", + "unicode": "e7ae", + "unicode_decimal": 59310 + }, + { + "icon_id": "1727509", + "name": "301加-圆框", + "font_class": "jia-yuankuang", + "unicode": "e8df", + "unicode_decimal": 59615 + }, + { + "icon_id": "1727510", + "name": "302减-方框", + "font_class": "jian-fangkuang", + "unicode": "e8e0", + "unicode_decimal": 59616 + }, + { + "icon_id": "1727512", + "name": "302减-圆框", + "font_class": "jian-yuankuang", + "unicode": "e8e1", + "unicode_decimal": 59617 + }, + { + "icon_id": "1727506", + "name": "301加-方框", + "font_class": "jia-fangkuang", + "unicode": "e8de", + "unicode_decimal": 59614 + }, + { + "icon_id": "5387527", + "name": "加号", + "font_class": "jiahao", + "unicode": "eaf3", + "unicode_decimal": 60147 + }, + { + "icon_id": "5387532", + "name": "减号", + "font_class": "jianhao", + "unicode": "eaf5", + "unicode_decimal": 60149 + }, + { + "icon_id": "428403", + "name": "最大化", + "font_class": "zuidahua", + "unicode": "e65b", + "unicode_decimal": 58971 + }, + { + "icon_id": "1649166", + "name": "最小化", + "font_class": "zuixiaohua", + "unicode": "e67a", + "unicode_decimal": 59002 + }, + { + "icon_id": "3018839", + "name": "操作-全屏-展开", + "font_class": "caozuo-quanping-zhankai", + "unicode": "e73b", + "unicode_decimal": 59195 + }, + { + "icon_id": "5387522", + "name": "关闭", + "font_class": "guanbi", + "unicode": "eaf2", + "unicode_decimal": 60146 + } + ] +} diff --git a/src/font-icon/iconfont.ttf b/src/font-icon/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a119bcbf30b57ff1be0920bec0bcfe7759677649 GIT binary patch literal 9644 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 literal 0 HcmV?d00001 diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..c40e1e8 --- /dev/null +++ b/src/main.ts @@ -0,0 +1,60 @@ +import Vue from 'vue' +import App from './App.vue' +import router from './router' +import store from './store' +import 'xe-utils' +import '@/css/index.css' +import VXETable from 'vxe-table' +import "@/css/vxe-table/source-index.css" +import ElementUI from 'element-ui' +import 'element-ui/lib/theme-chalk/index.css' +import '@/font-icon/iconfont.css' +import i18n from '@/util/translate' +import '@/util/init-data' +import '@/util/vue-global/index' + +Vue.prototype.$myFleet = [] +const config = require('../public/config/sys-config.json') +window.localStorage.setItem('pgName', config.projectName) +Vue.use(VXETable) +Vue.use(ElementUI) +Vue.config.productionTip = false + +Object.keys(store.state).forEach((item: string) => { + const data = { + data: null, + type: item + } + store.commit('setDataNull', data) +}) + +function getParam(name: string) { + let result: any = null + let paramStr: string[] = [] + let params: string[] = [] + if (location.hash.indexOf('?') !== -1) { + paramStr = location.hash.split('?') + } + if (paramStr.length) { + params = paramStr[1].split('&') + } + + for (let i = 0; i < params.length; i++) { + const str = params[i] + if (str.indexOf(name) !== -1) { + const p = str.split('=') + result = p[1] + break + } + } + return result +} + +document.title = config.title + +new Vue({ + router, + i18n, + store, + render: h => h(App) +}).$mount('#app') diff --git a/src/module/menu.ts b/src/module/menu.ts new file mode 100644 index 0000000..db67ec3 --- /dev/null +++ b/src/module/menu.ts @@ -0,0 +1,39 @@ +export interface MenuType { + name: string, + title: string, + icon: string, + type: string, + children: MenuType[], + open: boolean, + + [key: string]: any +} + +export enum Language { + zh = 'zh', // 中文 + en = 'en' // 英文 +} + +export interface DialogConfig { + show: boolean + template: string, + width: string, + height: string, + who: string + header: { + title: string, + hasIcon: boolean, + iconSrc: string, + hasMin: boolean, + hasMax: boolean + }, + position: { + top: string, + left: string + } +} + +export interface DialogAllConfig { + dialog: DialogConfig, + info: any +} diff --git a/src/router/index.ts b/src/router/index.ts new file mode 100644 index 0000000..af31939 --- /dev/null +++ b/src/router/index.ts @@ -0,0 +1,25 @@ +import Vue from 'vue' +import VueRouter, {RouteConfig} from 'vue-router' + +const config = require('../../public/config/sys-config.json'); + +Vue.use(VueRouter) + +const routes: Array = [ + { + path: '/', + redirect: '/index' + }, + { + path: '/index', + name: 'Home', + component: () => import('@/views/layout/Layout.vue') + } +] + +const router = new VueRouter({ + base: config.projectName, + routes +}) + +export default router diff --git a/src/shims-tsx.d.ts b/src/shims-tsx.d.ts new file mode 100644 index 0000000..64fc0a8 --- /dev/null +++ b/src/shims-tsx.d.ts @@ -0,0 +1,11 @@ +import Vue, { VNode } from 'vue' + +declare global { + namespace JSX { + interface Element extends VNode {} + interface ElementClass extends Vue {} + interface IntrinsicElements { + [elem: string]: any + } + } +} diff --git a/src/shims-vue.d.ts b/src/shims-vue.d.ts new file mode 100644 index 0000000..d9f24fa --- /dev/null +++ b/src/shims-vue.d.ts @@ -0,0 +1,4 @@ +declare module '*.vue' { + import Vue from 'vue' + export default Vue +} diff --git a/src/store/index.ts b/src/store/index.ts new file mode 100644 index 0000000..5347915 --- /dev/null +++ b/src/store/index.ts @@ -0,0 +1,38 @@ +import {Vue} from 'vue-property-decorator' +import Vuex from 'vuex' + +Vue.use(Vuex) +export default new Vuex.Store({ + state: { + mapFun: null, // 封装了地图的方法 + mapInstance: null, // 地图实例 + dictionary: null, // 字典信息 + ship: null, // 船舶信息, + showPort: false, + shipFleet: null + }, + mutations: { + setData(state, data) { + // @ts-ignore + state[data.type] = data + }, + setMapInstance(state, data) { + state.mapInstance = data + }, + setMapFun(state, data) { + state.mapFun = data + }, + setDataNull(state, data) { + // @ts-ignore + state[data.type] = data.data + }, + setShowPort(state, data) { + state.showPort = data + }, + setShipFleet(state, data) { + state.shipFleet = data + } + }, + actions: {}, + modules: {} +}) diff --git a/src/util/axios/index.ts b/src/util/axios/index.ts new file mode 100644 index 0000000..31718b4 --- /dev/null +++ b/src/util/axios/index.ts @@ -0,0 +1,12 @@ +import axios from 'axios' +const sysConfig = require('../../../public/config/sys-config.json') + +const Http = axios.create() +Http.interceptors.request.use((config: any) => { + config.headers['appKey'] = sysConfig.appKey + return config +}) +Http.interceptors.response.use((config) => { + return config +}) +export default Http diff --git a/src/util/bus/index.ts b/src/util/bus/index.ts new file mode 100644 index 0000000..e1b388d --- /dev/null +++ b/src/util/bus/index.ts @@ -0,0 +1,5 @@ +import Vue from 'vue' + +const bus = new Vue() + +export default bus \ No newline at end of file diff --git a/src/util/date/index.ts b/src/util/date/index.ts new file mode 100644 index 0000000..fdc0b05 --- /dev/null +++ b/src/util/date/index.ts @@ -0,0 +1,113 @@ +import dayjs from 'dayjs' +import i18n from "@/util/translate"; +import {Language} from "@/module/menu"; + +/** + * 获取指定时间到当前的时间的时间间隔 + * @param appointTime 指定时间 + */ +export const dateForNow = function (appointTime: any) { + const nowTime = Date.parse(new Date() + '') / 1000 + const time: number = nowTime - Number(appointTime) + const zn = window.localStorage.getItem('language') + if (time < 60) { + return `1${zn === 'Chinese' ? '分钟前' : 'minutes ago'}` + } else if (time < 3600) { + return parseInt(time / 60 + '') + `${zn === 'Chinese' ? '分钟前' : 'minutes ago'}` + } else if (time < 86400) { + return parseInt(time / 3600 + '') + `${zn === 'Chinese' ? '小时前' : 'hours ago'}` + } else if (time > 86400 && time < 2592000) { + return parseInt(time / (24 * 3600) + '') + `${zn === 'Chinese' ? '天前' : 'days ago'}` + } else { + return `30${zn === 'Chinese' ? '天前' : 'days ago'}` + } +} +/** + * 获取秒级字符串 + * @param time + */ +export const getLongByTime = function (time: any) { + return new Date(time).getTime() / 1000 +} + +/** + * 获取当前的时间 + */ +export const getNowTime = function () { + return dayjs().format('YYYY-MM-DD HH:mm:ss') +} + +/** + * 获取几天前的时间 + * @param time + * @param day + */ +export const getBeforeTime = function (time: any, day: number) { + return dayjs(time).subtract(day, 'day').format('YYYY-MM-DD HH:mm:ss') +} + +/** + * 获取月份的第一天 + */ +export const getFirstDayOfMonth = function (time: string) { + return dayjs(time).startOf('month').format('YYYY-MM-DD HH:mm:ss') +} + +/** + * 获取月份的最后一天 + */ +export const getLastDayOfMonth = function (time: string) { + return dayjs(time).endOf('month').format('YYYY-MM-DD HH:mm:ss') +} + +/** + * 获取上一个月的时间 + */ +export const getBeforeMonth = function (time: string) { + return dayjs(time).subtract(1, 'month').format('YYYY-MM') +} +export const getBeforeMonth2 = function (time: string, m: number) { + return dayjs(time).subtract(m, 'month') +} +/** + * 获取指定时间的月份 + * @param time + */ +export const getMonthOfTime = function (time: string) { + return dayjs(time).get('month') +} + +/** + * 根据时间戳返回时间 + */ +export const getTimeByLong = function (data: number) { + return dayjs(data).format('YYYY-MM-DD HH:mm:ss') +} +/** + * 根据时间戳返回时间 + */ +export const getTimeByLongByFormat = function (data: number, format: string) { + return dayjs(data).format(format) +} + +/** + * 根据时间戳返回时间 + */ +export const getTimeByLong2 = function (data: number) { + return dayjs(data).format('YYYY-MM-DD HH:00:00') +} + +export const getYMD = function (data: any) { + return dayjs(data).format('YYYYMMDD') +} + +export const getFullStrDate = function () { + return dayjs().format('YYYYMMDDHHmmss') +} + +export const formatDate = function (date: string, format: string) { + return dayjs(date).format(format) +} +export const getTimeForLong = function (data: number, format: string) { + return dayjs(data).format(format) +} diff --git a/src/util/drawMixin.js b/src/util/drawMixin.js new file mode 100644 index 0000000..29ae06f --- /dev/null +++ b/src/util/drawMixin.js @@ -0,0 +1,57 @@ +// 屏幕适配 mixin 函数 + +// * 默认缩放值 +const scale = { + width: '1', + height: '1', +} + +// * 设计稿尺寸(px) +const baseWidth = 1920 +const baseHeight = 1080 + +// * 需保持的比例(默认1.77778) +const baseProportion = parseFloat((baseWidth / baseHeight).toFixed(5)) + +export default { + data() { + return { + // * 定时函数 + drawTiming: null + } + }, + mounted() { + this.calcRate() + window.addEventListener('resize', this.resize) + }, + beforeDestroy() { + window.removeEventListener('resize', this.resize) + }, + methods: { + calcRate() { + const appRef = this.$refs["appRef"] + if (!appRef) return + // 当前宽高比 + const currentRate = parseFloat((window.innerWidth / window.innerHeight).toFixed(5)) + if (appRef) { + if (currentRate > baseProportion) { + // 表示更宽 + scale.width = ((window.innerHeight * baseProportion) / baseWidth).toFixed(5) + scale.height = (window.innerHeight / baseHeight).toFixed(5) + appRef.style.transform = `scale(${scale.width}, ${scale.height}) translate(-50%, -50%)` + } else { + // 表示更高 + scale.height = ((window.innerWidth / baseProportion) / baseHeight).toFixed(5) + scale.width = (window.innerWidth / baseWidth).toFixed(5) + appRef.style.transform = `scale(${scale.width}, ${scale.height}) translate(-50%, -50%)` + } + } + }, + resize() { + clearTimeout(this.drawTiming) + this.drawTiming = setTimeout(() => { + this.calcRate() + }, 200) + } + }, +} diff --git a/src/util/excel/exporeExcel.ts b/src/util/excel/exporeExcel.ts new file mode 100644 index 0000000..8527eb4 --- /dev/null +++ b/src/util/excel/exporeExcel.ts @@ -0,0 +1,34 @@ +//导入依赖项 +import FileSaver from 'file-saver'; +import * as XLSX from "xlsx"; + +/** + * elemet-ui el-table数据导出为xlsx表格 + * @param {*} _targetId Element-UI el-table组件的id值 + */ +export const exportTableAsXLSX = function (tableArray: any[], header: any, name: string) { + //根据table生成Book工作簿 + // let wb = XLSX.utils.table_to_book(document.getElementById('_targetId')); + + let wb = XLSX.utils.book_new() + let ws: any = XLSX.utils.json_to_sheet(tableArray, {header: header}) + wb.SheetNames.push('sheet1'); + wb.Sheets['sheet1'] = ws; + //将Book工作簿作为输出 + let wbout = XLSX.write(wb, { + bookType: "xlsx", + bookSST: true, + type: "array" + }); + //尝试将当前table内容保存为excel文件 + try { + FileSaver.saveAs( + //被导出的blob二进制对象 + new Blob([wbout], {type: "application/octet-stream"}), + //导出文件的名称+后缀名 + name + ".xlsx" + ); + } catch (e) { + if (typeof console !== "undefined") console.log(e, wbout); + } +} diff --git a/src/util/filters/filters.js b/src/util/filters/filters.js new file mode 100644 index 0000000..09a8659 --- /dev/null +++ b/src/util/filters/filters.js @@ -0,0 +1,78 @@ +/** + *格式化时间 + *yyyy-MM-dd hh:mm:ss + */ +export function formatDate(time, fmt) { + if (time === undefined || time === '' || time === null || time === 0) { + return + } + if (typeof time === 'string') { + return time + } + time = time * 1000 + const date = new Date(time) + if (/(y+)/.test(fmt)) { + fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length)) + } + const o = { + 'M+': date.getMonth() + 1, + 'd+': date.getDate(), + 'h+': date.getHours(), + 'm+': date.getMinutes(), + 's+': date.getSeconds() + } + for (const k in o) { + if (new RegExp(`(${k})`).test(fmt)) { + const str = o[k] + '' + fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? str : padLeftZero(str)) + } + } + return fmt +} + +function padLeftZero(str) { + return ('00' + str).substr(str.length) +} + +export function timestampFormatDate(timestamp, format) { + let date = timestampFormatDate(timestamp); + let result = formatDate(date, format) + return result +} + +var minute = 60; +var hour = minute * 60; +var day = hour * 24; +var week = day * 7; +var month = day * 30; + +export function getTimer(stringTime,language) { + var time1 = new Date().getTime() / 1000;//当前的时间戳 + var time2 = stringTime; //Date.parse(new Date(stringTime));//指定时间的时间戳 + var time = time1 - time2; + var result = null; + /*if(time < 0){ + + }else if(time/month >= 1){ + result = parseInt(time/month) + "月前"; + }else if(time/week >= 1){ + result = parseInt(time/week) + "周前"; + }else */ + if (time / day >= 30) { + result = language === 2 ? "30天前" : '30 days ago '; + } else if (time / day >= 1) { + result = language === 2 ? parseInt(time / day) + "天前" : parseInt(time / day) + 'days ago'; + } else if (time / hour >= 1) { + result = language === 2 ? parseInt(time / hour) + "小时前" : parseInt(time / hour) + 'hours ago'; + } else if (time / minute >= 1) { + result = language === 2 ? parseInt(time / minute) + "分钟前" : parseInt(time / minute) + 'minutes ago'; + } else { + // result = "刚刚"; + result = language === 2 ? "1分钟前" : '1 minutes age'; + } + return result; +} + + + + diff --git a/src/util/filters/index.js b/src/util/filters/index.js new file mode 100644 index 0000000..4be4c50 --- /dev/null +++ b/src/util/filters/index.js @@ -0,0 +1,6 @@ +import Vue from 'vue' +import * as filter from './filters' + +Object.keys(filter).forEach(k => Vue.filter(k, filter[k])) + +Vue.prototype.$formatDate = Vue.filter('formatDate') diff --git a/src/util/fix/index.ts b/src/util/fix/index.ts new file mode 100644 index 0000000..6e0472e --- /dev/null +++ b/src/util/fix/index.ts @@ -0,0 +1,4 @@ +// 获取设备独立像素 +const screenWidth = window.screen.width +const screenHeight = window.screen.height +// 基于1920 * 1080 diff --git a/src/util/format/index.ts b/src/util/format/index.ts new file mode 100644 index 0000000..0acd0bc --- /dev/null +++ b/src/util/format/index.ts @@ -0,0 +1,30 @@ +/** + * 格式化港口名称 + * @param data + */ +export const portName = function (data: any) { + if (data) { + let name = '' + if (data.nameEn && data.nameChs) { + name += `${data.nameChs}(${data.nameEn})` + } else if (data.nameChs || data.nameEn) { + name += `${data.nameChs || data.nameEn}` + } + return name + } +} +/** + * 格式化国家名称 + * @param data + */ +export const countryName = function (data: any) { + if (data) { + let name = '' + if (data.countryEn && data.countryChs) { + name += `${data.countryChs}(${data.countryEn})` + } else if (data.countryChs || data.countryEn) { + name += `${data.countryChs || data.countryEn}` + } + return name + } +} diff --git a/src/util/fun-switch/index.ts b/src/util/fun-switch/index.ts new file mode 100644 index 0000000..bd2cc6e --- /dev/null +++ b/src/util/fun-switch/index.ts @@ -0,0 +1,36 @@ +/*功能开关*/ + +/*搜索中的功能开关*/ +export const search = { + open: true, // 搜索总开关 + port: true, // 搜索港口功能 + ship: true, // 搜索船舶功能} + urlMMSI: true // url 中传递没mmsi 进行船舶搜索 +} +/* 头部的共能开关 */ +export const header = { + message: true, // 消息开关 + trans: false // 翻译开关 +} +/* 显示全部港口的功能开关 */ +export const allPort = false // 显示全部港口 + +/* 港口信息中的功能开关 */ +export const portQuery = { + dongTai: false, // 港口信息中动态开关 + weather: true // 港口信息中天气开关 +} +/* 船舶信息中的功能开关 */ +export const shipInfo = { + doc: false, // 船舶信息中船舶档案开关 + innerShip: false, // 船舶信息中内河船舶开关 + pos: true, // 船舶信息中定位按钮开关 + track: true, // 船舶信息中轨迹查询开关 + portCalling: true, // 船舶信息中挂靠港记录开关 + hc: false, // 船舶信息中航次开关 + destPortJump: false, // 目的地跳转 + shipEvent: false, // 船舶事件 + routeYc: false // 航线预测 +} +/*页面上消息滚动开关*/ +export const messageRoll = false diff --git a/src/util/init-data/index.ts b/src/util/init-data/index.ts new file mode 100644 index 0000000..4353d72 --- /dev/null +++ b/src/util/init-data/index.ts @@ -0,0 +1,99 @@ +import HttpApi from "@/api"; +import storeUtil from "@/util/store"; +import Vue from "vue"; + +/*----------------------初始化字典信息---------------------*/ +let dictionaryData: any = {}; +HttpApi.searchDictionary('1').then((res: any) => { + if (res) { + dictionaryData.shipCountry = res + } +}); +HttpApi.searchDictionary('2').then((res: any) => { + if (res) { + dictionaryData.shipType = res + } +}); +HttpApi.searchDictionary('3').then((res: any) => { + if (res) { + dictionaryData.shipStatus = res + } +}) + +setTimeout(() => { + storeUtil.setDictionary(dictionaryData) +}, 1000) +/*----------------------初始化字典信息结束---------------------*/ + +/* 获取船队数据*/ +// HttpApi.getShipRanks({}).then((res: any) => { +// const TreeData: any[] = [] +// let shipIds = '' +// const newShipList: any = [] +// for (let i = 0; i < res.length; i++) { +// const fleet = JSON.parse(JSON.stringify(res[i])) +// let tempData: any = {} +// tempData = JSON.parse(JSON.stringify(fleet)) +// tempData.status = true +// tempData.followShipList = [] +// +// if (fleet.followShipList && fleet.followShipList.length > 0) { +// for (let j = 0; j < fleet.followShipList.length; j++) { +// const ship = JSON.parse(JSON.stringify(fleet.followShipList[j])) +// ship.status = true +// ship.color = fleet.color +// ship.name = ship.customName +// tempData.followShipList.push(ship) +// shipIds += ship.shipId + ',' +// } +// } +// +// TreeData.push(tempData) +// } +// Vue.prototype.$fleetList = TreeData +// const data = {shipId: shipIds} +// +// HttpApi.getShipMessage(data).then((res: any) => { +// if (res) { +// const fleetList = Vue.prototype.$fleetList +// for (let i = 0; i < fleetList.length; i++) { +// const followShipList = fleetList[i].followShipList +// if (followShipList) { +// for (let j = 0; j < followShipList.length; j++) { +// for (let m = 0; m < res.length; m++) { +// if (res[m].shipId === followShipList[j].shipId) { +// res[m].color = followShipList[j].color +// const element = res[m] +// element.isFleet = true +// Vue.prototype.$sourceShips.push(element) +// newShipList.push({ +// y: element.shiptype, +// m: element.mmsi, +// h: element.heading, +// g: element.callsign, +// c: element.cog, +// o: element.imo, +// s: element.sog, +// v: element.aisNavStatus, +// l: element.length, +// p: element.destPort, +// b: element.breadth, +// r: element.eta, +// d: element.draught, +// t: element.posTime, +// i: element.shipId, +// n: element.lon, +// a: element.lat, +// e: element.shipnameEn, +// color: element.color, +// isFleet: true +// }) +// } +// } +// } +// } +// } +// Vue.prototype.$originAllShipRankList = JSON.parse(JSON.stringify(newShipList)) +// } +// }) +// }) diff --git a/src/util/map/img/berth.png b/src/util/map/img/berth.png new file mode 100644 index 0000000000000000000000000000000000000000..f3d1a5f5bd907d94feeba95c259df2ce834df6e3 GIT binary patch literal 920 zcmV;J184k+P)Tl}%`zRTPHbbMF0qruoKkW;*S(bsDHi9Z|$KQiM{Z zka3}_7W``$N)}xxbXgZFDq3_YQU#@yW?@l-x)Ov2LXd7WaZnUvlPa0PkS4anB$H-l zzVF`SVtx!JLqNRSd(O)_=RW7XgkFb;h*&`c0c7U&7J)2c ztsmc=&gO?tBy)$4JAR@c0K$58zEb{SVsU2ttNQBATb@u(KR7@8?T4>+a=U`v$__pC{DV)vdAU(r3W<~wBCa_k; z0D!B>T5F6K>~eno`t=t|#j(+j27!nm0x!rUkB)qHT{(V|V6eJwd3Y#;Bl#q(2zGc1 z@jeF^zPy3*(mGsC7NlUpdga=sXAU-M%M}nox0Fqk%@3dSf=s%3=T@Y(qazbxPujl%QFaK8dd}#CTk<|@7mqp0bXxOEzlV)QgIhU_a%{xI|w7ez`g+A|5|~g z7(jPfx(Ll0TB?f(jWo^xLumQn$17{G$617#5{$E2NJlku!aMB`{26@*_4lFWMPc7(!_#T z)9rF`yxkTyW8?ZsYYd2p&pkJYn5WPTEr(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ<1xZ9fRCwClS6@g|Q5gT`{&;s+)3sVl+oaMd5gRqs7ClJh5E{NE^x$0&v8aT= z5G3(Q7D6cm6*YqJ`VdGjiR&SI=%JKZ1{-_v4}@EyEH|&Zd+)*BxIM(gwrkt&ok<-y zFZVn5`+n#Ae&_qXBjb4<_HvZK9*;c-peXc*o}t;csUTG!Tm50!{=Ly|3|ziY@v8Y` zX{-=`vV1krGc?;a_C9_I)2Pt_qt;_8mu=ai6c1>PgTzXlwACttWOw~wQ2`MBpE_s0 zDQj(YWu8O(Q}BI5xfL{XFf8LkG>bj$Ieo)XjWLn|WCs5dRR{*o00COn=7aIUhAv4W zB;Q7?!5PkGt1I&W08E4-XK(-jT#du}rb_F1^!27B0FOr#w<=B?CIA5D7E%R?6<6b) z!1QwCaPE|_4@{#b#y&<|q5uTK zi)RfwIUyvrhu2KtsKx+S0hsg(@VYHfQ>7H7Vk$`0ivkc`T06?g%d>*lR4Kt?%ns&q z7zF)f=8JzP6=VAjB8JVr#&ZiPm|ac@Q6}iepp(Z$0XT1we*gfVknQ&KC``_yUsT08 z=zp^g6Jg65>*Qbr#Uq6auLJT*|!L-ad7upB&eanGN4M>IP8CN$tI~G$>-WpNv;F{c*&XYzkQtk8~`J# VxL5t#{Sp8G002ovPDHLkV1n!Zkskm6 literal 0 HcmV?d00001 diff --git a/src/util/map/img/duobianxing.png b/src/util/map/img/duobianxing.png new file mode 100644 index 0000000000000000000000000000000000000000..4b82999ed2a3c0d8171fddce132c2f4794e43791 GIT binary patch literal 376 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 V>Cjr2-o(YbjIWm;xzv+-_&-in?5qF) literal 0 HcmV?d00001 diff --git a/src/util/map/img/guiji.png b/src/util/map/img/guiji.png new file mode 100644 index 0000000000000000000000000000000000000000..7c69f0b6b887417e07526b371dd1288cf0882367 GIT binary patch literal 276 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 FV1kl}7a;%u literal 0 HcmV?d00001 diff --git a/src/util/map/img/logo1.png b/src/util/map/img/logo1.png new file mode 100644 index 0000000000000000000000000000000000000000..0147f677ff14ba51e5e4779ad51d5dd1737a7aeb GIT binary patch literal 9694 zcmb_>^>sPDS{{5002hh!@C;!nB8!06*%b2LG z)-%u^2BcI&Vlk0!4tCjN_W}TinErktUSDNzFlyZZK!E#{02_JV%KiHm9S$P^Q!)U_ zLcT?ak)#Xg7trqq0s3hGU-iD(5&%*G0B8Ro1r|UBF<|dhT?QL4Tb{B=4VW!{T#g5b z#{gt;sj>m(S^;kipt^iOL>Hj2N{&SU3sHj+_PR+}6&Tiz4e&`YPI@Hw1`w8|z&8Y7 z5(felpHK{AGHGBI3Qcq(%Prj_;c6HF#9-QR#;XYt5Ik*+&iD8bxyroS3HzS9YLTw9EV}u9*pt~IZaVIXDw6(duviWw)8FkuQd{Zb5%2?z=I z*{zG(h1TL^?nPGIkZ~br4`1&V0uBKl*>YLch?4iW9#*bCHM$8~gIEerUC*~z@A@J` zZxgu3S4Hd0_$XtKj6cA2STy_mzw0I|F%P7zlK%}AK4MJ2#ZU1i22@39Bea@u8wZ^c zAqN=1I1=LtAAnrQ3I9hr!ejucy{NGNIRKE-d6_83ivbwUC|v^p+O}!TV5!s^Kk)zn zr9vprS9x5bAD}7(N$wAZHUu@$3P(wfhz%h{s(`Z|_L!iECS9IZA0aV|)%X>Yu8=Hy zg|y+vQ*q)gB)J)M*PR;Y4NZO*OoNa3(2IC8xvQjwekS4Ao7gthr>W3-Fyt&rzCGb&RLm#j8=a0!I+MtkIH7l zSj;d{%!a}Exep~hBHs#y#|DfGqu9f894o^x_HP$dzgt70jHjuaA8R5T=c-qCu zk^<9iU=JX_?D4afs7o?dsp2?be!`s3Zox@HVVR=FMl$eeU5kL3JxN%dP#vPSpvGUS zS1L0>>X@s+v76*Fu(Xa>A6CVbk=&g0C`tR%^+5M}Gf1L0W>o{fm`%4dmHefco$LnI z=K^7ctilTLaC!bDUPX*Vfr+|Hp^uKBUUWHysCPE|a1NE?U@3pe)L6Eoz2muq;9sv6 z{6FuXC})giOhC4A|8D(#f9gv_97X)TPtBT(7D5|HTSn7NE10G61^ahKR=>W`j4*wc zedeP~Hv?myGoB#I#R4I&7E77-U{z)6pO!ZUP?#NhS`kf)> zE*~UQ)7rHDa!nW^7qfUD%$0=1WmnznnsN?J{J}Bua z?7uj(I%7X`IU8jddQ8qRE$Jm0^v=tB$j8~eZMSqqw7a~gy!)?_J-vOAXWoez^_N#k zgX9@L8Ps|%WwB+h1p$L;8*~RP6OF&oB{{7*i`8>3lYfS!dxI;lH3f3$2h6*rQSzsU z=fPQRw4aN_Q4UBdu9rPO}1d|af z3+pqk7SOv#8<9nOzU**2n9cipinQ(jV45fm_bmBDw3? z`srRaH5-e?->EnMjtu7eO1&0)ofISgHwUiaU0`9+@+{p)<4_0scXfzmlrW4xq6w?>DAN<$FF z>t{-1>IYYAS2LLuS$=!BbID2=P8HOi^i>D`_1i4m@AVOqrBk_;iZxD;+E?JIxo(TC zpX1>~@SwwBefq7=s1TO}^VuTBX?~#RO((^Bd?zkq+K}}?K*J~{wI;nn!crTGvp6k)mOVWKQZugAnutm zYS+oj&3Uo5v$G!GMfX|!6Ez9QY1I(-+ZDB1Q@35a^TB;1sT!|S&0WcH)bG$MC&ZNJ%*Bj=d4YdB>gOJPvn$7+ z$8h!*^o7saKD95wfySbFK%!smO~?H04(`>XozRB6Iy;05^5PBR&1m=QM<^2f=={6X z``^(k6RJb1Q>-ei@rikijP%5G?Z>twDJy05WfY^oLJaTycRee&mTyg69z@*X$DoA`j6flZ~3LCIAq?4giF`2LLYbAIiS~fVU6;u=550kjMl8sNFtU z_No8?^n~h4^7?-BdwGFDW(JLYoqsV**2llZf|Qc*@IbaqjbSsYQ&?mbQd$&PSV3m= zC|t^;!VhK;(~8UrRe3oF%9So`K~0j0M@(wrOzvbn-}4mW+OorSYv(5MJme7 zDQ{(w%TN*MZRH|WWf&w3k_!@y;d(H%SckPZNnHfn0awfJVoQ1nhYIr~7xYT`pQ&IP zW^jM$3lN+}yj*48{^?;bXYadz<|~1s)Ip~`N6Luj16t%W1hhyalgH2guRrC7Hd#@} z8=bX37k2!SgIci`|Fz-ad(f0b2p66-o+fxifmGmBR#Ex~Xe2?50>`i)GE`^fb4ju+ zMzvOKXzYK=MRD0q>|rkAYdqO-IS0A7rC6uMJj@OY0sFru7;=JNm!D09R6-rKV(tGo zJzy>c&?(-EAnYAzfm{%S@f8aZ3qd&3q(ryyj~sOoGI$_82ulZ@e(0jR1sK3xP3=P8cyJ7hU#jCj07E(&^k&{?EL{~dV?g^QX~ejO!4^o^Q47m;VPyW4 zh_e?}yp;6f0gWcp2aEkVzXF>iEw2IYnJKHv{|r{4pYme7^^yc(g#{pWFC8EHWR2Y8 zT5&)Y?YFt)bbEjL)ZndU+H!XdErYUsU@9Z^YgX!5yW$N~tTq~9J9O2!k{5Q=P0~}j zG2rZt2$yWRdkPyuJGo;(XBa#WMBSA>oh6gyGTF`*z3jXFF3KOmF`R5yy-DTA>v6jP z{mahSjrPSLA!)zb7Ha$M+6#%MtdrtGzsXhV_YnJbj{c;TOaU>aLjo7=hrz86M-)VButvz z_5KC&2Dorz-vc=Zj_&k*BixgHW}Rbaf>6Pk(Jtx=55*mdai|?#z0$@A#6$rOI1Zns z2hRJSZ1%SQDRje>TjsiG&)&uUlonGU21&meR0dhA;z!p9ud}gjz%;TGCAbd+FY%z~ z95wgsNCePS<_ii^PUKH_p_G{Q-cAizS|~9O&BV^0*&#{vrAzz5wsa^mbA%nw088-| zrSma7b+p_D;e;kyKWt-pWV=K0JV+vhooIE%Th z=JdxQw{Y&&Y?mFV>cdYp&3cw@#u{{|9+Evlv0NZJ_Px@;H+4Bh)6yM8aKUA^sub&Z zpRB4e*`YIyY)okFj%?2bc=Bi2+ljr+Qa_i>k@HMfo3K3S8q1T<>C(j* z-XT8|pMK>r+?xaAQSnQtemJ$q?OPzqG|;SVnAIelJoz?{^-hLSi+~Z$Bs^q?wK(5QX6~ zME!TElPp%;q``wRMtr&_W}kW|m@49rT6l~?W{~2=OqiQE_uVV{3WhL2z%ui59~r3z zS<;J!yZ6;U(4m+&i|YOm48fGm&c-4J;>a^Cx@X{iJE!f-lSr&0g2%>@Hc#~BXtd+{ z^|qM~sn)K_QvDB9An(3gB$|z@ES;{Ne0RFyqyDI=9l>=dHnIsh||8DMP5SEFqz@@+m{_rUDXJ$l~9Tusez^;Gw%Tp^?oEb4a0pwB^aZ zP}s^N59p}sS(8#ch&VD;-lKmq{0C^Jx-y`r$Z+@?`AY2A+((7x%Frc<{-xC0+6_7< zt8H5kaIsyys7b?*S}#=uymWqRIEPcD=B&en^e!xtsrcYD693O{!xL;&k$u64VNsgrh9cqVgDaTj^Btm#)$ ztW;|RraG%JDlqU*{eg=rY?;s4RxCWzOO;4(ZOkV<=yMOT_cmp(=aN+am;q z*enT(&#IuVWc^;WFf>}E@hS0dSC^DTlJ?cAG zFJKOzO>8r)WR|0y);;fePj46~Nvq<;ZVGmOM>V84W07)YfFTM-uWIe8G)Lqgqt{#F zo##)z`Np=Mk82O7<7Msc&AGQ@f65JMj z=)~G^<`|o2hqxz_%9`(|O@7^GTS=QDtCyT$=J&=?98@v@Gc6=##cK9XG<6F7yC5ld z0qFV5aNbJ>o`_S?TS;zopue84gez`{8Ly=ibYAurKj5;l$D!4tC`#GN4e5<^%8M3S zj2qJEML*&=%y-w7N>=y8<>9VL_v_eWh2MdWGd@~qA*sOdeT!Z6QyF8BDHswVGsrx>wh+cYsl~OX%h|h2X^e!NW0icEgW>x*2ng+h+k{z5;;^|es zlL|k+=6sRyy$RmsR}$&-N2XeCIrd-6f zH{BrJl-Dbl4Pr4vO&a0!RphdyvZgADiN*)327yM&edmK<>z%_uR1P-nLZfwbjm)Ai zh={KmYglTBN0hhOLMKdQvK3iR@(CKv-7qj3dM7}SQ^&2-VEV`Nzgy}ZKmXG7g1ooT zMotyQ<_AYzU_+)cEq|cnM{lp_9M|NL66X93Uiu?_vtabDE=0qKRo|men8>}lK5Uy! zNH2DQd0DlhM71>$rEw>U&L` ztAf0B8>xggV^CW7bJoZ*q|ty5hy`&ICHQk0%b6=|I#{f9>`N z8h>j;+|h$Q$t!8IC6iK*U|gl8B|l)v!`<_wY{cW$ij+-+)MmLl)~aPxk&VMU?dOpJ z7t*$#kFWT_+qGf5FhQ$F(oRnc*{-v(L$U|kMt&wStp^*wvBn~M=B^KuP zv>+Bfnh+L|J_kN3I#%B6df&-%*kKA?y61;cPC1VZd%8#}f6SIqN4oH=v}q?hKe3gl z3AM|&*)tCxES=9>3=?qK+o>j#XXPnF2sAw}3>^Lpon0c$jBc`q+|(IE z_M5SeDTdM5khna+cw9PAZgjr^K%8PfSGGUCBK&OF|kNGsnf?ElkDvYfZ(IfTfLe8#ZA z4k>99F#qhV^!O%;u$N{llI^@X$6%5m8FiAm>o&QiA<<_Qa2F{QK33MtTANwDo&V>V z|IfvcKk3peM67}Yg2gO0FY`*^S%|>G{@|LK;;-0nQUms>x$$(ZW7%K+T+59E0GtY#>f9v#Y#a=(=9S~qNaR6Drd^fope1e~uW%Jav zf(>V>!9EVJyFadrPXG0;?)Ms^j46LE%iz9ga9m`{s=7IaBUyLGMjM9soO+$StZdv~ z+n~dijhK&gXXz=?R+;*<*EwuMlc4rp&beZ-+v#@yMOWG`m3nsJma6mJ>JxPIqGGSg zx{~rOh`z(gi4E6A@+hgtnO zEH!e!dD~)K0g0n;Crq38S;? z5ehFxmik?Op-1KWnYjCKx4N+$PN#jfly#zP2BZzg`HY`#e*eiU;`j{M`F0!2;j?iG z_KN&&I+%5U(^Jz{Th{5Ia+I7#WS~uMnaT;e&Fsru zpfDH~Wo{Mxw5H~;)GM`>i=frSDY&P@r?r9d!ctp(KEz`H^01%G-+ZWy=@Lo=iSK{3 z+jYOh9U!lAewh=E*Y@1~)^s4=uO$<)K+bA0V>clM<(V-2dvSRU{gw+Fef`tzT%7z z7O)on!FWbCcQJC#ja{BuhO_sRMs_#2sCdhu@VpI2Og$hiWpzJBc7WMArx&>-_q|7e z(ZFc`sSWouocQAGg+#gnG)<&F;UEY{cJi(}$ zu+FqpH=$z<+wB{z@5OHxr3nYF>g_){yZ&JFi%gt(GQOL~NFJHRTtat{HIqVYzCSrL z1EIawRVC_8KUJ%Dam&Ar9j+8w=|oX4wt6t^;R;m5M%PdM9g!$aOw*=TK@$lHZ+J$nv{)zk_~oqQj#d3#o_5t8U=U z#x08~(|9YwadbOgU`qmd|As579RB)n6*rtqGRplB95m-0cRMSCc>1MVs9!t#?PS42 zq6O^1nTWvTU+gw3rG9#ZCJEz1rC9)H4_!8qof=un?LPEw7~_tS>aTWk*TG~pWDZ?G z2RJm;D01HAjC7o4=YARVw1qFyo%`q$cHr^H?>^9`1fAMDG8a$|AzrtFOHBMAH_ttj z6Pr-MUXWIubV#7}e2hr}J4d^J6SWd3mhG?!c?I?919cz3#&TaYPKs;AqCY(Mx&00G zz*-_VyO;RGddmwv*HPy*qO?!swN8Av`=?Ex*ejq4N=rh36_(~+&ymK+z@izWbdRB} zsE-2X_gk>~MKJi)%7;Bnk6XqhbAjnYCED;eAKyWgYFjirmlanU6YNa{Xai-ezl1z_ zBCUk}5?92%9>t^I2g7}!)re|%4~u&x zwMnCY)Kadzhj#AYJ_Bq;H(gS(HZNhPHa8tJz`Vb>j3i!syu47)pF#2I5^2;f!POUz zX@W$6+ia5lxufvW8CGc4bY1)_Zl}{R@^>gU+T@6Hlmcm#G6;yWGP@r|^u;ZD@{uC1 z`pEri6UgN+@SNJio)- z*pmgA#*Ts5m~|~CKh~10)AmUft{D*Znax`0!QVcq-=GeFa!dUFPD(g1{X&>EI*qwx zxhAna!8vv88qL*XE17frC@;OWY&2leE&e4PKSo_i>JS&FS!@Zufe7ES3)@VMkX4Ji zn@I1&ZT=b$h{7-nCA<9nXDyRJDrUDp11W7_WBpaI;$rCq>?X<{s!ic1xN_CWE_vyX z2{m%+ny)R_kI+C?_n{s|9s#F)>8Ii5zqK^SN}g8f5L2Gnd{}& z0bT0p8C9H;eL4=U7`wA7?pM{x>Y@F4O3*cqIgaHJv>m+SW0(M+0x0`*>%e4O+BAKy ziW{thgZ4~4FnZ3XsLakUFuZpZzma&y0O(dHldvxg z^doJYT&MbvMqVYZ!@Ozg>PoV4gKnW+N;+KRG)qyj*|-m*3U~>|7QE@ify=eV`6#5> z$?%HCUJ5~*pPjM%$7uKeE%F5}Gbrz;s8llq)!q?Z7Z=O!Jr18j^eN8u{9}q^xY)YT zreIIZH3-~1UmvZaXu+~^|!zc|(8p_X-H$#WQ*Z}X zwEQj2taej1kTkdWpcnTat)IOjqZ`*vq;EI)`Ra^_2fT+u@cO6pPPQSG-dF}pVu=%p zzf2Ujc6nZ5@mu)?#pr*?d`#l9jlT{APpOZxgz^^~fe%XL^RXRV&OR4gS-5C#J_0@f1M@`>=fr z4c18+YmIJN3gdZu4s-(NZot9=UPT4YY5$w;Cc^)vfSQPZsy(m(|1uB{;$bB}2&R8) l`eEJt|E*RSKDoyP(DCzN$U4j)JfzS7>dIP5H41OS{~s!nRviEU literal 0 HcmV?d00001 diff --git a/src/util/map/img/marineWeather.png b/src/util/map/img/marineWeather.png new file mode 100644 index 0000000000000000000000000000000000000000..34712617ee0a75406e92576eff8188c30c7a7a78 GIT binary patch literal 289 zcmV++0p9+JP)dOgh~ z$5`&ePhtfxSinTDp_1I=ZAkY`EaIf9u6yA87f#E6GE*wQ<$%#`j9HiM27H zCA9E_FSMID$Hxe82B&z%BZ9dGZU+EU*w$IrGY+w@bD4Hk9n_#wN#=2hPds3ws&;;R n20lquec%e;*uv3>(f&|B<9b3LMT diff --git a/src/util/map/img/port.png b/src/util/map/img/port.png new file mode 100644 index 0000000000000000000000000000000000000000..34f7da840991b1401fe4c7ec8230f285cab26cf7 GIT binary patch literal 1442 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&k$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|81#=KlDb#X~hD#E>34K5C;EJ)Q4 zN-fSWElLJPT$(b-ssbzLqSVBa{GyQj{2W*)24v)y2=9ZF3nBND}m`vLFhHbsTY(KatnYqyQCInmZhe+73JqDfW2&$iQ6qkIL(9V zO~LIJW1M>RfsWA!MJ!T8!-RmT2gHOYTObFX@Kf`Esl5o8tV3-YW-u@?iFvv>hE&{= z3G~hu4ix$K>|UkXIaZ4A`$;C8yu%jQ$ETP zy97gA0+zUBuGZD-+B)q@i(0Pw+%qc1=EZw=SgbDI_k7~KnyBM{oc3n@wz&W8=fv3d zrB=3L-z}GO&i$pOx?8gMk3`=^ad9>7_fNOkuGkZuwfCC|>#UUv-v8)m3271SYI}N^ zL-0@L#!H{{&1!$`DDS&s_NH6zp~o`bfMbCkZ6E%m2^xp@Cz>pC`eYI0$sBj!jcc@oBa#IDBr2k_ z7rkZA_-j>&p(2dw#CjUX=+Z~3mdWMd~b?sXMUT-l-(KQiy5H<2@ow6uh}-WT z-FqXnWCr8hMY_+0pB=k5t+c38-Qnj&rf2WwIO(iv6yOw2Hq+v_Pxh@5J#@4}Z?j&w zTG9D^Yt8f&6O&ReAG*@4uOWWl4V@#X51iy>DpOnH?S zqi<&Q_si+^Uky~aj91;>$sA>zeMvNy_t|5`Umxc)Ff$0$K4W(eyq^gwH9cMZT-G@y GGywo?Boc4{ literal 0 HcmV?d00001 diff --git a/src/util/map/img/select.png b/src/util/map/img/select.png new file mode 100644 index 0000000000000000000000000000000000000000..c2574d21b2bb1c25271776fedbeb3eeff8b1d584 GIT binary patch literal 1084 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 literal 0 HcmV?d00001 diff --git a/src/util/map/img/shipWarningIcon.png b/src/util/map/img/shipWarningIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..0d91560fcf87949c3056cb386aebed5cd56b7cae GIT binary patch literal 7086 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 literal 0 HcmV?d00001 diff --git a/src/util/map/img/start.png b/src/util/map/img/start.png new file mode 100644 index 0000000000000000000000000000000000000000..17e1894bfb600587bb4d608e10684437b24067cb GIT binary patch literal 2349 zcmaJ@dpwi-A75@Uq@U0!VP_E)ySQvDBWqg?Q^v{V=vT8nY}xj#Z5fkVCG`_Uor(@J zx;X2kvXF$)sho7d=t7io$t4vfAFYXA;+olFD-$pV5|vKW>J8|m$Z@Qfos0(?NiM8xrV0x=JLd28%`Da44*+8xDtcL^xxx&S(tu;+(Lq1UDSP8ISn- zAfad?b`*g@rhbhDt%yjDL?R@h(Nd`tC3Qi8qG&YM!^2}n!`ayhLO6-z1rlbQlR&(5 zR)GwNSt71b!UYA08AWC!xLra-LYe-31itW_tU&y=Oi;nlaZDi^i^9wtX%c- z{|zmcFo1vZ{hz|(;CLZ`W&mPvyNCrfE^6saC?R2u2w+M;Q7{PdW~;b?14=+K2NWXK z1mO@4AzT3)l!}*s!PDsknm{aJ3RnP*OhiHoC@z;xAXD8*q&4nXSE@TybqbzDa(D5; z<4GP^429%F#>{fbAZt4x5J+aZ?0>k<-{sC&fiHw2lK~Mo7GP6FARqDN$OP_pbHP); ztM`@5{(df)?{d*lGU%Dc{#T=Cw;=b-OuyL{T6{A;Ab{L1f^4nO5@f(&x(XWECpfP4 zmyL!zGhqJIbbDp=n^*1TMGX(VcivT`}}A|)f6cpi>@O1e4UL~fO*(MF;$uJF-Rvkj(OU-&$0RX3Vklju1t5E3zl z9TvsMJD;hYV|q6Ai2Zs`$EMc1_6nE$>T`X*U7zpt>bpUSmnvSWlIt9ko*>obj?~G+ z>YuZbNSSb%!BsDGJE#49_5|ahP{VQ6dADQotukjJF?VDPP^ZXud&snT%2kKus!{{L zZ0e(&4;0pgqD?DZbk@Rqsbz@cfXXJjKil@*=VSIeM2l{O*+kwgT3mJBj;dbd7JoKS z^Qil*rK+q7!(cDs1oB1SReZ}0=C8ef_eE+&OyN39bEXu^;xq;hRn3{=eAIkqwU!vEGhE83+l>on- zd`4b|Z7zPf87}a*tmcGQwM3+In>?Rte#jdc+L>|RrOEw$7jGfZGM4gsF9=|S6hB|b zUt`^d_vx6FmTodMj5$e^7SkEJ7ozko$ez+Y?%iq%)U`^UF9+cizqwsFc=e$e2(Xb~W2#g>a9i3zUapB!dpL9Zg+jdtUdBoIIH&;4p(0bC= zHS6RwT$56s%MR1sU*6nfVvs+zZOiJ@9j047&Ceb?;?JJGg3rHTM-%M#>eAz(!-Du> zUAy@2s3R_$_F`@AUU@7yJF?I2H;3rc25ytqB+Jp*0>1ZXQ{s_9^X?mNIUL6hqp9Qd zq(MXTh-B6TzkOTp$jHILb@W2bojlcv$XA(oDl0(kckXduheLrLu9n#_Oe*Y&t~SYM z9?2&r7@%}bavu+RL|%M9)oyK>af(^|S#!UjJc#GI?OB2rr{0T`oOG#v+<4D994dT(^tSd?V{_lZfbsm%Pn1%3v+5r`cH8RAvpk_*t#~l7s-uWl zTWye5N^CApJmcPAZl9A8D7$F(hTDCUBkjIC5~z8htbc5iTGrlACV^mhr6#1jdw-qm zK*_#WBU3Ke4+TEsRsmY%42A1#2lBDmLDKk(Ha=qO$Y)Lt`ONSNB!zGWDGQGLdht7d`bzX!LgKcpZDo zNwNN5SbOwP;1Bz2vYG>o8<&pDJgH@QG=0~ftdG6yylAQoTb;Q)3BTgZQr(9+x5rjH zH3pF!`)j&wwHa4SMy(1JD9I`vQRl<DbURYfrq~#u6nGCDl2~;b`D|*s?HhGes=TfuV@1i%4R%&ni?0Tl{oR);N z+~w7Cy#rGhB-P0}QlBQ#g$~MBCIm%7p~-r!%HdFJFKNq4e951jR*wH8{CTVP#CL=T zpl{peJ2y19F_I-p%mPzX{V=^~>vf*%V(hrhFD{oInV(O=v|(GEN+O41eoCCVz|bfG K6dx00002VoOIv0RM-N z%)bBt0NqJMK~xyiWzaiL0s#=l@!7Sp@(e;kyp5f_uHZd%TU$fo;{ZnB7(8wuXaNa= zODh)sEP!2zQ-1&XX1zn&A*VB?lS*pgEdXl;KhLLIsKjj*Ghs2eoh01p9 zSgsaFrDka;4Q;e`;yJ^cfJaonCOPNheA5Q5jtjJt2i%Fx3X})@2wc( q!?R4s1Ot`BVX3CBnT?s(^8bH}V8}w4mMI|s00006dx00002VoOIv0RM-N z%)bBt0VPR9K~xyiZO*YvlmP(7;kOhCC6|UkaJWSRAsnhdp>Pfwn?k~dhz1+vtEC|j zoCE`hYPdlNbCwoqY)MYi2Cwg=!y3+WvEewMhQ2F^=I8gqo5YYeo;jZ+iE+z5`(n*h z62sPYoO)|4F|OfI;k%ZbrlPK6##P@uO)P4gu;I`xEo<@EPcw;!PSk8!HmUSMOV>f1 zv##xtOSY8utR!lhwk_IEVpQS8dzUpFyPhN_O*pWW>TgZc$KPn$YcG@D?Z}1)dhS-ilD+t< zsPLVU#M~gTY9|V(7980$QmyXkd2UtDY!Zdi%K;{d+jf02oBRS1nGEG@wz2*I0000< KMNUMnLSTY&bEe$@ literal 0 HcmV?d00001 diff --git a/src/util/map/img/tool.svg b/src/util/map/img/tool.svg new file mode 100644 index 0000000..7be008c --- /dev/null +++ b/src/util/map/img/tool.svg @@ -0,0 +1,35 @@ + + 工具 + Created with Sketch. + + + + + + + + + diff --git a/src/util/map/img/tt_b3.png b/src/util/map/img/tt_b3.png new file mode 100644 index 0000000000000000000000000000000000000000..7642f9ebd8b1fb6f761c600065fbab2f579b21d0 GIT binary patch literal 1174 zcmeAS@N?(olHy`uVBq!ia0vp^NXlw^r(L`iUdT1k0gQ7VIDN`6wR zf@f}GdTLN=VoGJ<$y6H#24;=Skcg59UmvUF{9L_6kQ%*;+ybC(1_m4Zih{)C?9>v4 zq}24xJX@vryZ0+8WTx0Eg`4^s_!c;)W@LI)6{QAO`Gq7`WhYyvDB0U7*i={n4aiL` zNmQuF&B-gas<2f8n`;GRgM{^!6u?SKvTcwn`Gt*5rG&WK&x70H< zwKTFY(NQomFf`LQFwr-()HO7=0wNOw1t?Gg+E$d3W)b11gH!#vSGSUUA&@HaaD@m--%_~-hnc$LIoLrPyP?DLSrvNfBF)6>a z#8wIDQivCF3*g4)6+?pw7-0Gpi3R$GdIlgb!4&%X;#ZoR3s+rS5|oN?FIIz#Ln;eW z^@CE2^Gl18ff1Lc46>@g%DE^tu_V7JBtJg~7K#BG`6cryA&s6|>+$s~d zTMTiU2i2Q`+bu>o_38s1qYsK+r09kT0n-qO2~WI04m|m%<^j`u5ioJPaI@WIU|?kN zba4!+xRvzh|9|_#2@F0w%`81uDOVI*7`Qib_1=z~n0oN0*2al~rVA$cus>3E_`})N z?{G9CL(0^{fvLlsc_Zhn9i}47nKtqZ>|c=Dv4QC$+Y05RMhm{^qNY`eOP4x3IOg-E z+Os}Vx41IX`Rb)JiYF8|@OO0vdY87pn7ANp`ZT^o8J(Nol{mBXFJDsZ&R8-nrTq-k zqscBSm{-p9^ltyd^oT*huHXG^<%(JNx9B}`R9z-1kk0VYP~jif(c=q}o-LWS>WSD# zg%9jfUlyzoVn_-&{GB;=7NZ4&yug0uNBsfpz1uFh$r`-_wP}Vx62-RZJnd5TiczkWjF{mmb`c3xp1(dELOi@qwxZB#f=R+t;(45 z>Qb3@i7Z#1pwgQ5qFh_r#=z6#Tv{vdo3{*U(fWMS!Yx7>fxE0^c)YG}_z;ujE_5KS swC1SSM?MkddsC)mAFx{WEd3L!xvsIO+xv)jK(8}+y85}Sb4q9e0DKm2AOHXW literal 0 HcmV?d00001 diff --git a/src/util/map/index.ts b/src/util/map/index.ts new file mode 100644 index 0000000..3c966e3 --- /dev/null +++ b/src/util/map/index.ts @@ -0,0 +1,22 @@ +import store from '@/util/store' + +class MapUtil { + /** + * 选择船舶 + */ + public chooseShip (data: any,isArea?: boolean) { + const shipFun: any = store.getMapFun() + let shipmes = data + let lon = shipmes.n / 600000 + let lat = shipmes.a / 600000 + if (isArea) { + shipFun.showShips(shipmes.i) + } else { + shipFun.addShip([data], 2, data.map) + } + shipFun.setCenter([lon, lat]) + shipFun.addSelectByCoor([lon, lat]) + } +} + +export default new MapUtil() diff --git a/src/util/map/map.d.ts b/src/util/map/map.d.ts new file mode 100644 index 0000000..711be40 --- /dev/null +++ b/src/util/map/map.d.ts @@ -0,0 +1,4 @@ +declare module '@/util/map/map.js' { + import shipMap from '@/util/map/map.js' + export default shipMap +} diff --git a/src/util/map/map.js b/src/util/map/map.js new file mode 100644 index 0000000..fe87387 --- /dev/null +++ b/src/util/map/map.js @@ -0,0 +1,3039 @@ +import 'ol/ol.css' //引入样式 +import Map from 'ol/Map' //地图 +import View from 'ol/View' // 地图视图 +import TileLayer from 'ol/layer/Tile' //地图图层 +import {Group} from 'ol/layer' //地图图层 +import OSM from 'ol/source/OSM' +import XYZ from 'ol/source/XYZ' +import TileWMS from 'ol/source/TileWMS' +import {getHeight, getWidth} from 'ol/extent' +import {transform, fromLonLat, get} from 'ol/proj' //坐标系转换 +import TileGrid from 'ol/tilegrid/TileGrid' +import Projection from 'ol/proj/Projection' +import Vector from 'ol/layer/Vector' //图层 +import SourceVector from 'ol/source/Vector' //资源 +import ScaleLine from 'ol/control/ScaleLine' //比例尺 +import FullScreen from 'ol/control/FullScreen' //比例尺 +import Feature from 'ol/Feature' //矢量对象 +import Overlay from 'ol/Overlay' //矢量对象 +import Point from 'ol/geom/Point' //点 +import CircleGeom from 'ol/geom/Circle' +import Icon from 'ol/style/Icon' +import LineString from 'ol/geom/LineString' //线 +import Polygon from 'ol/geom/Polygon' //线 +import intSelect from 'ol/interaction/Select' //地图监听函数 +import MouseWheelZoom from 'ol/interaction/MouseWheelZoom' //滚轮放大缩小地图 +import Draw from 'ol/interaction/Draw' //画线工具 +import Snap from 'ol/interaction/Snap' +import MousePosition from 'ol/control/MousePosition' //实时显示鼠标位置 +import {createBox} from 'ol/interaction/Draw' //画线工具 +import dayjs from "dayjs"; +import {getArea, getLength, getDistance, DEFAULT_RADIUS} from 'ol/sphere' +import shipStyle from './style' +import {formatDate} from '../filters/filters' +import {register} from 'ol/proj/proj4' +import proj4 from 'proj4' +import ImageCanvasSource from 'ol/source/ImageCanvas' +import ImageLayer from 'ol/layer/Image' +import XYZSource from 'ol/source/XYZ' +import GeoJSON from 'ol/format/GeoJSON' +import {OlClient, Factor} from 'weatherv' +import WKT from 'ol/format/WKT' + +// import { GetShipMessage } from '../../api/index' +import {Circle, Fill, Stroke, Style, Text} from 'ol/style.js' +import unByKey from 'ol/Observable.js' + +const shipMap = new Object({ + map: null, //地图 + view: null, //地图的资源 + layer: null, //地图的图层 + shipSource: null, //船舶的资源 + portSource: null,//港口资源 + shipSourceStandby: null, //船舶的备用资源 + shipLayer: null, //船舶的图层 + shipStyle: null, //船舶样式 + shipClick: null, //船舶的点击函数 + pathLineSource: null, //轨迹路径资源层 + pathLineLayer: null, //轨迹路径图层 + portLayer: null,//港口图层 + pathPointSource: null, //轨迹点资源层 + pathPointLayer: null, //轨迹点图层 + selectSource: null, //船舶选择资源 + selectLayer: null, //船舶选择图层 + sourceList: [], //资源数组 + layerList: [], //图层数组 + drawPointSource: null, //标记资源 + drawPointLayer: null, //标记图层 + drawPointDraw: null, //标记画笔 + measureTooltipElement: null, //轨迹显示距离的div + //我的修改 + drawRingDraw: null, + maxpoint: Infinity, + __selectPort: null,//点击港口 + +}) +let mapToolOver = [] +const shipFun = new Object({}) +shipFun.setmap = function (map) { + shipMap.map = map +} + +var __pathData = {}; +var __pathDrawData = {}; +var __pathArray = {}; +const abcLineData = [ + [ + 11822129.922245655, + 2284881.0700673275 + ], + [ + 12022505.005673546, + 2284881.0700673275 + ], + [ + 12170927.282748217, + 2286852.8770299805 + ], + [ + 12356463.478053365, + 2309658.5222366545 + ], + [ + 12419544.522836259, + 2309658.5222366545 + ], + [ + 13503054.233224085, + 2309658.5222366545 + ] +] +//地图 +shipMap.view = new View({ + projection: 'EPSG:3857', //使用这个坐标系 + center: transform([120, 36], 'EPSG:4326', 'EPSG:3857'), //定义中心位置 + zoom: 6, //定义等级 + minZoom: 3, //最小等级 + maxZoom: 18 //最大等级 + // rotation:120 +}) +shipMap.layer = new TileLayer({ + source: new OSM(), //资源 + zIndex: 1 +}) + +var projection_3395 = new Projection({ + code: 'EPSG:3395', + extent: [-20026376.39, -15496570.74, 20026376.39, 18764656.23], + units: 'm', + axisOrientation: 'neu' +}) + +proj4.defs( + 'EPSG:3395', + '+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs' +) +register(proj4) + +var seaMapPath = 'http://cm191.myships.com/ChartMap' + +function getSeaMapSource() { + var projectionExtent = get('EPSG:3857').getExtent() + var height = getHeight(projectionExtent) + var width = getWidth(projectionExtent) + var tileSize = [256, 256] + var maxResolution = Math.max(width / tileSize[0], height / tileSize[1]) + var length = 18 + 1 + var resolutions = new Array(length) + for (var z = 0; z < length; ++z) { + resolutions[z] = maxResolution / Math.pow(2, z) + } + var tilegrid = new TileGrid({ + origin: [projectionExtent[0], projectionExtent[3]], + tileSize: tileSize, + resolutions: resolutions + }) + shipMap.view.on('change:resolution', function (event) { + freshPath(); + }); + + + function freshPath() { + for (var pathId in __pathData) { + var data = __pathData[pathId]; + var re = __makePathData(data, shipMap.map, pathId); + var old_re = __pathDrawData[pathId]; + if (!old_re || re.length != old_re.length) { + __pathDrawData[pathId] = re; + var ids = __pathArray[pathId]; + if (ids && ids.length > 0) { + ids.forEach(function (item, index) { + var f = shipMap.sourceList.pathLineSource.getFeatureById(item); + var f2 = shipMap.sourceList.pathPointSource.getFeatureById(item); + if (f || f2) { + shipMap.sourceList.pathLineSource.removeFeature(f); + shipMap.sourceList.pathPointSource.removeFeature(f2); + } + }) + } + __drawPathData(re, pathId); + } + } + } + + function padLeft(num, val) { + return (new Array(num).join('0') + val).slice(-num) + } + + return new XYZ({ + cacheSize: 256, + projection: projection_3395, + tileGrid: tilegrid, + tileUrlFunction: function (xyz, obj1, obj2) { + if (!xyz) { + return '' + } + var z = xyz[0] - 2 + if (z <= -1) return '' + var x = Math.abs(xyz[1]) + var y = Math.abs(xyz[2]) + x = 'C' + padLeft(8, x.toString(16)) + y = 'R' + padLeft(8, y.toString(16)) + z = 'L' + padLeft(2, z) + return seaMapPath + '/' + z + '/' + y + '/' + x + '.jpg' + } + }) +} + +shipMap.seaView = getSeaMapSource() + +shipMap.seaLayer = new TileLayer({ + preload: Infinity, + source: shipMap.seaView, + zIndex: 1 +}) +//卫星图 +shipMap.sateView = new XYZ({ + url: + 'http://mt{0-1}.google.cn/maps/vt?lyrs=s@198&hl=zh-CN&gl=CN&&x={x}&y={y}&z={z}' +}) +shipMap.sateLayer = new TileLayer({ + preload: Infinity, + source: shipMap.sateView, + zIndex: 1 +}) + + +shipMap.tdtLayer = new Group({ + layers: [ + new TileLayer({ + source: new XYZ({ + crossOrigin: 'anonymous', + url: 'https://t{0-7}.tianditu.gov.cn/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=f68226212bdd3ffed1b0bb884f81ddda' + }) + }), + new TileLayer({ + source: new XYZ({ + crossOrigin: 'anonymous', + url: 'https://t{0-7}.tianditu.gov.cn/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=f68226212bdd3ffed1b0bb884f81ddda' + }) + }) + ] +}) +//分布图 +shipMap.distributeLayer = new TileLayer({ + preload: Infinity, + visible: true, + source: new TileWMS({ + url: 'https://g.myships.com/dist/wms', + params: { + FORMAT: 'image/png', + VERSION: '1.1.0', + tiled: true, + LAYERS: 'myships:pos_latest_3857_1hour', + exceptions: 'application/vnd.ogc.se_inimage', + tilesOrigin: -20037508.342789244 + ',' + -20048966.1040146 + } + }), + zIndex: 20 +}) + + +//船舶 +shipMap.sourceList.shipSource = new SourceVector() +shipMap.layerList.shipLayer = new Vector({ + source: shipMap.sourceList.shipSource, + name: 'shipLayer', + style: (f, r) => shipStyle.newshipStyle(f, r, shipMap.map), + zIndex: 21 +}) +//船舶 +shipMap.sourceList.carSource = new SourceVector() +shipMap.layerList.carLayer = new Vector({ + source: shipMap.sourceList.carSource, + name: 'carLayer', + style: (f, r) => shipStyle.carStyle(f, r, shipMap.map), + zIndex: 22 +}) + + +// 港资源 +shipMap.sourceList.portSource = new SourceVector() +shipMap.layerList.portLayer = new Vector({ + source: shipMap.sourceList.portSource, + zIndex: 15 +}) + +// 泊位图层资源 +shipMap.sourceList.berthSource = new SourceVector() +shipMap.layerList.berthLayer = new Vector({ + source: shipMap.sourceList.berthSource, + zIndex: 17 +}) + +//轨迹 +shipMap.sourceList.pathLineSource = new SourceVector() +shipMap.layerList.pathLineLayer = new Vector({ + source: shipMap.sourceList.pathLineSource, + zIndex: 4 +}) + +// 轨迹上的点 +shipMap.sourceList.pathPointSource = new SourceVector() +shipMap.layerList.pathPointLayer = new Vector({ + source: shipMap.sourceList.pathPointSource, + zIndex: 5 +}) + + +// 地图上显示的点 +shipMap.sourceList.PointSource = new SourceVector() +shipMap.layerList.PointLayer = new Vector({ + source: shipMap.sourceList.PointSource, + zIndex: 5 +}) + +var lineStyle = new Style({ + stroke: new Stroke({ + color: '#FF0000', + width: 1 + }) +}); +shipMap.sourceList.jjxSource = new SourceVector(); +shipMap.layerList.jjxLayer = new Vector({ + source: shipMap.sourceList.jjxSource, + style: lineStyle, + visible: false, + zIndex: 3 +}); + +shipMap.sourceList.taifeng = new SourceVector(); +shipMap.layerList.taifengLayer = new Vector({ + source: shipMap.sourceList.taifeng, + style: function (feature, res) { + var style; + var t = parseInt(feature.get('t')); + if (t == 1 || t == 0)//历史当前点 + style = getTyphoonStyle(feature, res); + else if (t == 2)//预报点 + style = getTyphoonFutureStyle(feature, res); + else if (t == 3) { + style = getTyphoonStyleLine(feature, res); + return style; + } else { + style = getTyphoonFutureStyle(feature, res); + } + return style; + } +}); +shipMap.layerList.taifengLayer.setZIndex(20); + +//定义区间 +var min = [41.5, 10.8, 17.2, 24.5, 32.7, 51]; +var max = [50.9, 17.1, 24.4, 32.6, 41.4, 1000]; + +function getTyphoonStyle(f, r) { + var maxWindSpeed = f.get('maxWindSpeed'); + var level = 0; + for (var i = 0; i <= 5; i++) { + if (min[i] <= maxWindSpeed && maxWindSpeed <= max[i]) { + level = i; + } + } + var color = ''; + switch (level) { + case 0: + color = '#EB4FA0' + break; + case 1: + color = 'blue' + break; + case 2: + color = 'yellow' + break; + case 3: + color = 'orange' + break; + case 4: + color = 'red' + break; + case 5: + color = 'purple' + break; + default: + break; + } + + var s = new Style({ + fill: new Fill({ + color: color + }), + stroke: new Stroke({ + color: color, + width: 2 + }), + image: new Circle({ + radius: 4, + fill: new Fill({ + color: color + }) + }) + }); + if (r < 3000) { + var ntext = new Text({ + textAlign: "left", + font: '10px Microsoft YaHei', + fill: new Fill({ + color: color + }), + stroke: new Stroke({ + color: "#FFF", + width: 3 + }), + textBaseline: "bottom", + offsetX: 8, + offsetY: -8, + text: f.get("forecast") + }); + s.setText(ntext); + } + + const style2 = new Style({ + text: new Text({ + textAlign: "left", + font: '10px Microsoft YaHei', + fill: new Fill({ + color: '#fff' + }), + stroke: new Stroke({ + color: "black", + width: 1 + }), + textBaseline: "bottom", + offsetX: 8, + offsetY: -8, + text: f.get("time") + }) + }) + return [s, style2]; +} + +function getTyphoonFutureStyle(f, r) { + var maxWindSpeed = f.get('maxWindSpeed'); + + var level = 0; + for (var i = 0; i <= 5; i++) { + if (min[i] <= maxWindSpeed && maxWindSpeed <= max[i]) { + level = i; + } + } + var color = ''; + switch (level) { + case 0: + color = '#EB4FA0' + break; + case 1: + color = 'blue' + break; + case 2: + color = 'yellow' + break; + case 3: + color = 'orange' + break; + case 4: + color = 'red' + break; + case 5: + color = 'purple' + break; + default: + break; + } + var s = new Style({ + fill: new Fill({ + color: color + }), + stroke: new Stroke({ + color: color, + lineDash: [10, 10], + width: 2 + }), + image: new Circle({ + radius: 4, + fill: new Fill({ + color: color + }) + }) + }); + if (r < 3000) { + var t = f.get('temp'); + if (t != 1) { + var ntext = new Text({ + textAlign: "left", + font: '10px Microsoft YaHei', + fill: new Fill({ + color: color + }), + stroke: new Stroke({ + color: "#FFF", + width: 3 + }), + textBaseline: "bottom", + offsetX: 8, + offsetY: -8, + text: f.get("forecast") + }) + s.setText(ntext); + } + } + const style2 = new Style({ + text: new Text({ + textAlign: "left", + font: '10px Microsoft YaHei', + fill: new Fill({ + color: '#fff' + }), + stroke: new Stroke({ + color: "black", + width: 1 + }), + textBaseline: "bottom", + offsetX: 8, + offsetY: -8, + text: f.get("time") + }) + }) + + + return [s, style2]; +} + +function getTyphoonStyleLine(f, r) { + var ss = []; + var s = new Style({ + fill: new Fill({ + color: 'rgba(255, 120,120, 0.8)' + }), + stroke: new Stroke({ + color: 'rgba(255, 120,120, 0.8)', + width: 2 + }), + image: new Circle({ + radius: 4, + fill: new Fill({ + color: 'rgba(255,120,120, 0.8)' + }) + }) + }); + if (r < 3000) { + var ntext = new Text({ + textAlign: "left", + font: '10px Microsoft YaHei', + fill: new Fill({ + color: "RGB(255,120,120)" + }), + stroke: new Stroke({ + color: "#FFF", + width: 3 + }), + textBaseline: "bottom", + offsetX: 8, + offsetY: -8, + text: f.get("forecast") + }); + s.setText(ntext); + } + ss.push(s); + var geometry = f.getGeometry(); + geometry.forEachSegment(function (start, end) { + var dx = end[0] - start[0]; + var dy = end[1] - start[1]; + var rotation = Math.atan2(dy, dx); + // arrows + ss.push(new Style({ + geometry: new Point(end), + image: new Icon({ + src: 'images/msmap/arrow100.png', + anchor: [1.5, 0.5], + rotateWithView: true, + rotation: -rotation + }) + })); + }); + return ss; +} + +//船舶选择框 +shipMap.sourceList.selectSource = new SourceVector() +shipMap.layerList.selectLayer = new Vector({ + source: shipMap.sourceList.selectSource, + zIndex: 21 +}) + +//标记画笔的添加 +shipMap.drawPointSource = new SourceVector() +shipMap.drawPointLayer = new Vector({ + source: shipMap.drawPointSource, + zIndex: 7 +}) +shipMap.drawPointDraw = new Draw({ + source: shipMap.drawPointSource, + type: 'Point' //可以根据类型改变 +}) +//测距画笔的添加 +shipMap.drawRingSource = new SourceVector() +shipMap.drawRingLayer = new Vector({ + source: shipMap.drawRingSource, + zIndex: 8, + style: shipStyle.ceJuStyle +}) +//我的修改 +shipMap.drawRingDraw = new Draw({ + maxPoints: shipMap.maxpoint, + style: shipStyle.drawStyle, + source: shipMap.drawRingSource, + type: 'LineString' +}) + +//矩形画笔的添加 +shipMap.drawRectangleSource = new SourceVector() +shipMap.drawRectangleLayer = new Vector({ + source: shipMap.drawRectangleSource, + zIndex: 8 +}) +shipMap.drawRectangleDraw = new Draw({ + source: shipMap.drawRectangleSource, + type: 'Circle', + freehand: false, + geometryFunction: createBox() +}) +//圆型画笔的添加 +shipMap.drawCircleSource = new SourceVector() +shipMap.drawCircleLayer = new Vector({ + source: shipMap.drawCircleSource, + zIndex: 8 +}) +shipMap.drawCircleDraw = new Draw({ + source: shipMap.drawCircleSource, + type: 'Circle' +}) +//多边形的添加 +//我的修改 +shipMap.drawPolygonSource = new SourceVector() +shipMap.drawPolygonLayer = new Vector({ + source: shipMap.drawPolygonSource, + zIndex: 8 +}) +shipMap.drawPolygonDraw = new Draw({ + source: shipMap.drawPolygonSource, + type: 'Polygon' +}) +//我的修改 +//自定义线段的添加 +shipMap.agtSource = new SourceVector() +shipMap.agtLayer = new Vector({ + source: shipMap.agtSource, + zIndex: 16 +}) +//圆的半径 +shipMap.sourceList.circlePath = new SourceVector() +shipMap.layerList.circlePathLayer = new Vector({ + source: shipMap.sourceList.circlePath, + zIndex: 10 +}) +//我的修改 +//eez线 +shipMap.sourceList.eezSource = new XYZ({ + cacheSize: 256, + tileUrlFunction: function (xyz, obj1, obj2) { + if (!xyz) { + return '' + } + let z = xyz[0] + let x = Math.abs(xyz[1]) + let y = xyz[2] + y += Math.pow(2, z) + let tf = Math.pow(2, Math.ceil(z / 2) - 1) + let tt = Math.pow(2, z) + let t = tt / tf + let f1 = parseInt(x / t + '') + let f2 = parseInt(y / t + '') + let lev = shipFun.padLeft(2, z) + let folder = '0_0' + if (z <= 5) { + folder = f1 + '_' + f2 + } else if (z >= 6 && z <= 11) { + folder = shipFun.padLeft(2, f1) + '_' + shipFun.padLeft(2, f2) + } else if (z >= 12 && z <= 17) { + folder = shipFun.padLeft(3, f1) + '_' + shipFun.padLeft(3, f2) + } else { + folder = shipFun.padLeft(4, f1) + '_' + shipFun.padLeft(4, f2) + } + + let xx, yy + if (z <= 5) { + xx = shipFun.padLeft(2, x) + yy = shipFun.padLeft(2, y) + } else if (z >= 6 && z <= 11) { + if (x === 100 || x === 1000) { + xx = shipFun.padLeft(5, x) + } else { + xx = shipFun.padLeft(4, x) + } + + if (y === 100 || y === 1000) { + yy = shipFun.padLeft(5, y) + } else { + yy = shipFun.padLeft(4, y) + } + } else if (z >= 12 && z <= 17) { + if (x === 100 || x === 1000 || x === 10000 || x === 100000) { + xx = shipFun.padLeft(7, x) + } else { + xx = shipFun.padLeft(6, x) + } + + if (y === 100 || y === 1000 || x === 10000 || x === 100000) { + yy = shipFun.padLeft(7, y) + } else { + yy = shipFun.padLeft(6, y) + } + } else { + if ( + x === 100 || + x === 1000 || + x === 10000 || + x === 100000 || + x === 1000000 || + x === 10000000 + ) { + xx = shipFun.padLeft(9, x) + } else { + xx = shipFun.padLeft(8, x) + } + + if ( + y === 100 || + y === 1000 || + x === 10000 || + x === 100000 || + x === 1000000 || + x === 10000000 + ) { + yy = shipFun.padLeft(9, y) + } else { + yy = shipFun.padLeft(8, y) + } + } + return ( + 'http://47.93.90.52:9080' + + '/EPSG_900913_' + + lev + + '/' + + folder + + '/' + + xx + + '_' + + yy + + '.png' + ) + } +}) +shipMap.layerList.eezLayer = new TileLayer({ + preload: Infinity, + visible: true, + source: shipMap.sourceList.eezSource, + zIndex: 20 +}); +//eez线转换函数 +(shipFun.padLeft = function (num, val) { + return (new Array(num).join('0') + val).slice(-num) +}) +//等值线 +// shipMap.layerList.isobarLayer = new Vector({ +// zIndex: 5 +// }) + +// 行政区划图层/api/jfcfdt +// var darkMapPath = 'http://cfdt.ninecosmos.cn'; +var darkMapPath = '' +if (process.env.NODE_ENV === 'production') { + darkMapPath = '/myships/api/jfcfdt' +} else { + darkMapPath = '/myships/jfcfdt' +} +shipMap.layerList.vtLayer = (() => { + const style = new Style({ + stroke: new Stroke({ + color: 'black', + width: 1, + }), + text: new Text({ + font: '12px Calibri,sans-serif', + fill: new Fill({ + color: '#000', + }), + stroke: new Stroke({ + color: '#fff', + width: 3, + }), + }), + }) + return new TileLayer({ + declutter: true, + source: new XYZSource({ + crossOrigin: 'anonymous', + // url: darkMapPath + '/darkmap-retina/{z}/{x}/{y}.png', + url: 'https://api3.myships.com/tiledmap/darkmap-retina/{z}/{x}/{y}.png', + }), + style: function (feature) { + style.getText().setText(feature.get('name')) + return style + }, + }) +})() +shipMap.layerList.vtLayer.setZIndex(4) + +// 九方 初始化可视化sdk +const mapClient = new OlClient() + +// 气象图层数据源 +const sourceImageCanvas = new ImageCanvasSource({ + canvasFunction: (extent3857, resolution, pixelRatio, size) => + mapClient.renderColorMapTileFunction( + extent3857, + resolution, + pixelRatio, + size, + () => sourceImageCanvas.refresh() + ), +}) +// 气象图层 +const config = require('../../../public/config/sys-config.json') +shipMap.layerList.iLayer = new ImageLayer({source: sourceImageCanvas}) +shipMap.layerList.iLayer.setZIndex(3) +if (config.map.weatherLayerOpacity) { + shipMap.layerList.iLayer.setOpacity(config.map.weatherLayerOpacity) +} + + +// 粒子动画图层数据源 +const pImageCanvas = new ImageCanvasSource({ + canvasFunction: (extent3857, resolution, pixelRatio, size) => + mapClient.renderParticleFunction(extent3857, resolution, pixelRatio, size, () => shipMap.map.render()), +}) +// 粒子图层 +shipMap.layerList.pLayer = new ImageLayer({source: pImageCanvas}) +shipMap.layerList.pLayer.setZIndex(6); +//创建地图的函数 +(shipFun.creatMap = () => { + return new Map({ + target: 'map', //定义要显示的dom元素 使用id绑定 + layers: [ + shipMap.seaLayer, + //shipMap.layer, + shipMap.layerList.PointLayer, + shipMap.layerList.shipLayer, + shipMap.layerList.carLayer, + shipMap.layerList.jjxLayer, + shipMap.layerList.taifengLayer, + shipMap.layerList.pathLineLayer, + shipMap.layerList.berthLayer, + shipMap.layerList.pathPointLayer, + shipMap.layerList.selectLayer, + shipMap.layerList.portLayer, + //shipMap.layerList.iLayer,//九方气象图层 + shipMap.layerList.pLayer,// 九方粒子 + //shipMap.layerList.vtLayer,//九方行政区图层 + // shipMap.drawPointLayer, + shipMap.agtLayer, + shipMap.drawRingLayer, + shipMap.drawCircleLayer, + shipMap.drawRectangleLayer, + // ---我的修改--- + shipMap.drawPolygonLayer, + // ---我的修改--- + //我的修改 + shipMap.layerList.circlePathLayer + //我的修改 + ], + view: shipMap.view + }) +}) + +//监听返回zoom +shipFun.getSelectPortFun = function (selectPort) { + shipMap.__selectPort = selectPort +} + +//九方温度 +shipFun.loadTemp = function (url) { + if (!hasLayerInMap(shipMap.layerList.iLayer)) { + shipMap.map.addLayer(shipMap.layerList.iLayer) + } + if (!hasLayerInMap(shipMap.layerList.vtLayer)) { + shipMap.map.addLayer(shipMap.layerList.vtLayer) + } + mapClient.colorMapTileLayer.setOption({ + url: url, + factor: Factor.Temp, + }) + sourceImageCanvas.refresh() + +} +// 加载气压 +shipFun.loadPressure = function (url) { + if (!hasLayerInMap(shipMap.layerList.iLayer)) { + shipMap.map.addLayer(shipMap.layerList.iLayer) + } + if (!hasLayerInMap(shipMap.layerList.vtLayer)) { + shipMap.map.addLayer(shipMap.layerList.vtLayer) + } + // 气压色斑图 + mapClient.colorMapTileLayer.setOption({ + url: url, + factor: Factor.Pressure, + }) + sourceImageCanvas.refresh() +} +// 加载风场 +shipFun.loadWind = function (url) { + if (!hasLayerInMap(shipMap.layerList.iLayer)) { + shipMap.map.addLayer(shipMap.layerList.iLayer) + } + if (!hasLayerInMap(shipMap.layerList.vtLayer)) { + shipMap.map.addLayer(shipMap.layerList.vtLayer) + } + mapClient.colorMapTileLayer.setOption({ + url: url, + factor: Factor.Wind, + }) + sourceImageCanvas.refresh() +} +// 加载洋流 +shipFun.loadSeacurrents = function (url) { + if (!hasLayerInMap(shipMap.layerList.iLayer)) { + shipMap.map.addLayer(shipMap.layerList.iLayer) + } + if (!hasLayerInMap(shipMap.layerList.vtLayer)) { + shipMap.map.addLayer(shipMap.layerList.vtLayer) + } + // 气压色斑图 + mapClient.colorMapTileLayer.setOption({ + url: url, + factor: Factor.SeaCurrents, + }) + sourceImageCanvas.refresh() +} +//加载洋流粒子 +shipFun.loadNineParticleSeacurrents = function (url) { + if (!hasLayerInMap(shipMap.layerList.pLayer)) { + shipMap.map.addLayer(shipMap.layerList.pLayer) + } + // 粒子动画 + mapClient.particleAnimationLayer.setConfig({ + lineWidth: 0.95, + speedFactor: 1.8, + fadeOpacity: 0.85, + particlesNumber: 15000, + dropRate: 0.0005, + dropRateBump: 0.001, + colorRamp: { + 0.0: 'rgba(255,255,255,0.2)', + 1.0: 'rgba(255,255,255,0.5)', + } + }) + mapClient.particleAnimationLayer.setOption({ + url: url, + type: 'image', + factor: Factor.SeaCurrents, + }) +} +//加载风粒子 +shipFun.loadNineParticleWind = function (url) { + if (!hasLayerInMap(shipMap.layerList.pLayer)) { + shipMap.map.addLayer(shipMap.layerList.pLayer) + } + // 粒子动画 + mapClient.particleAnimationLayer.setConfig({ + lineWidth: 0.95, + speedFactor: 0.2, + fadeOpacity: 0.85, + particlesNumber: 15000 + }) + mapClient.particleAnimationLayer.setOption({ + url: url, + type: 'image', + factor: Factor.Wind, + }) +} +// 加载等值线 +shipFun.loadIsobar = function (url) { + if (!hasLayerInMap(shipMap.layerList.isobarLayer)) { + shipMap.layerList.isobarLayer = new Vector({ + source: new SourceVector({ + //'http://cfdt.ninecosmos.cn/meteo-open/s01/2021/09/06/006/pressure-surface-4326-isoline.json', + url: url, + format: new GeoJSON(), + }), + style: function (feature) { + if (shipStyle.isobarStyle && shipStyle.isobarStyle.getText()) { + shipStyle.isobarStyle.getText().setText(feature.get('values_')) + } + return shipStyle.isobarStyle + }, + }) + shipMap.layerList.isobarLayer.setZIndex(5) + shipMap.map.addLayer(shipMap.layerList.isobarLayer) + } +} + +//隐藏台风警戒线 +shipFun.hidejjx = function () { + shipMap.layerList.jjxLayer.setVisible(false) +} + +//显示台风警戒线 +shipFun.showjjx = function () { + shipMap.layerList.jjxLayer.setVisible(true) +} + +//清除九方气象 +shipFun.clearJfWeather = function () { + shipMap.map.removeLayer(shipMap.layerList.iLayer) + shipMap.map.removeLayer(shipMap.layerList.vtLayer) +} +shipFun.clearJfWeatherIsobar = function () { + if (hasLayerInMap(shipMap.layerList.isobarLayer)) { + shipMap.map.removeLayer(shipMap.layerList.isobarLayer) + } +} +shipFun.clearJfParticle = function () { + if (hasLayerInMap(shipMap.layerList.pLayer)) { + shipMap.map.removeLayer(shipMap.layerList.pLayer) + } +} +shipFun.showPort = function (portInfo) { + let coor = transform( + [portInfo.lon, portInfo.lat], + 'EPSG:4326', + 'EPSG:3857' + ) //先定义一个坐标 //速度 航向 经纬度 船舶名 类型 + let geom = new Point(coor) //根据坐标画点 + let f = new Feature({ + geometry: geom, + portId: portInfo.id, + type: 'port', + portNmaeCn: portInfo.nameCn, + portNmaeEn: portInfo.nameEn, + portCode: portInfo.code, + portLatLon: portInfo.latLonStr, + portLon: portInfo.lon, + portLat: portInfo.lat, + name: portInfo.nameEn + }) + f.setStyle(shipStyle.portStyle(f)) + f.set('geom', geom) + shipMap.sourceList.portSource.addFeature(f) +} + +shipFun.showBerth = function (berthInfo) { + let coor = transform( + [berthInfo.decLongitude, berthInfo.decLatitude], + 'EPSG:4326', + 'EPSG:3857' + ) //先定义一个坐标 //速度 航向 经纬度 船舶名 类型 + let geom = new Point(coor) //根据坐标画点 + let f = new Feature({ + geometry: geom, + berthId: berthInfo.berthId, + type: 'berth', + name: berthInfo.berthName, + berthLon: berthInfo.decLongitude, + berthLat: berthInfo.decLatitude, + }) + f.setStyle(shipStyle.berthStyle(f)) + f.set('geom', geom) + f.setId('berth-' + berthInfo.berthId) + shipMap.sourceList.berthSource.addFeature(f) +} +// 清除所有泊位 +shipFun.clearallBerth = (map) => { + shipMap.sourceList.berthSource.clear() + return true +} +//清除所有港口 +shipFun.clearallPort = (map) => { + shipMap.sourceList.portSource.clear() + return true +} +//判定图层是否存在map +//判断当前图层是否存在地图中 +function hasLayerInMap(layer) { + var layers = shipMap.map.getLayers() + for (var i = 0; i < layers.getLength(); i++) { + var item = layers.item(i) + if (item === layer) { + return true + } + } + return false +} + +//清除所有船舶 +shipFun.clearallship = (map) => { + shipMap.sourceList.shipSource.clear() + return true +} +shipFun.clearAllCar = (map) => { + shipMap.sourceList.carSource.clear() + return true +} +shipFun.addCar = (data, map) => { + const source = shipMap.sourceList.carSource + const features = source.getFeatures() + if (features) { + for (let i = 0; i < data.length; i++) { + const item = data[i] + features.forEach((f) => { + if (f.getId() === item.carNum) { + source.removeFeature(f) + } + }) + } + } + const newFeatures = [] + for (let i = 0; i < data.length; i++) { + const item = data[i] + if(item.carNum){ + const f = new Feature({ + geometry: new Point(transform([Number(item.longitude), Number(item.latitude)], 'EPSG:4326', 'EPSG:3857')) + }) + f.setId(item.carNum); + Object.keys(item).forEach((key) => { + f.set(key, item[key]) + }) + f.set('type','car') + newFeatures.push(f) + } + } + source.addFeatures(newFeatures) +} +function identifySouOrNor(lines, point) { + //将线段的点切割为数组,数组的每个元素为一条线段 + const lineData = [] + for(let i = 0; i { + if(point[0]>line[0][0] && point[0] { + latitudeArr.push(item[1]) + }) + const maxLatitude = Math.max(...latitudeArr) + if(point[1]>maxLatitude){ + return false + } else { + return true + } + } + if (projectionLine[0][1] == projectionLine[1][1]) { + if (point[1]0) { + return true + } else { + return false + } +} +//添加 船舶 +shipFun.addShip = (dataList, zoom, map, selectlist) => { + // shipMap.sourceList.shipSource.clear() + for (let i = 0; i < dataList.length; i++) { + const element = dataList[i] + let coor = transform( + [dataList[i].n / 600000, dataList[i].a / 600000], + 'EPSG:4326', + 'EPSG:3857' + ) //先定义一个坐标 //速度 航向 经纬度 船舶名 类型 + // 判断船舶坐标在abc线的南北 + // if(identifySouOrNor(abcLineData, coor)==false){ + // element.color = '#FF0000' + // } + let geom = new Point(coor) //根据坐标画点 + let f = new Feature({ + geometry: geom, //添加点图形 + type: 'ship', + shiptype: element.y, + mmsi: element.m, + heading: element.h, + callsign: element.g, + cog: element.c, + imo: element.o, + sog: element.s, + aisNavStatus: element.v, + length: element.l, + destPort: element.p, + breadth: element.b, + eta: element.r, + draught: element.d, + posTime: element.t, + shipId: element.i, + lon: dataList[i].n, + lat: dataList[i].a, + shipnameEn: dataList[i].e, + color: element.color + }) + f.setId(dataList[i].i) + f.set('geom', geom) + shipMap.sourceList.shipSource.addFeature(f, zoom) + } +} + +shipFun.getShipFeaturesByIds = (shipIds) => { //根据shipId找到对应的feature + const features = [] + shipIds.forEach(id => { + let f = shipMap.sourceList.shipSource.getFeatureById(id) + features.push(f) + }) + return features +} +shipFun.getCarFeaturesByIds = (carIds) => { //根据shipId找到对应的feature + const features = [] + carIds.forEach(id => { + let f = shipMap.sourceList.carSource.getFeatureById(id) + features.push(f) + }) + return features +} + +shipFun.plotting = function (number) { + shipStyle.plotting(number) +} +//添加全屏控件 +shipFun.addFullScreen = (map) => { + let FullScreenControl = new FullScreen({ + // units: 'metric', + // target: 'scalebar', + className: 'ol-full-screen' + }) + map.addControl(FullScreenControl) +} + +//添加比例尺控件 +shipFun.addScaleLine = (map) => { + let scaleLineControl = new ScaleLine({ + units: 'nautical', + target: 'scalebar', + className: 'ol-scale-line' + }) + map.addControl(scaleLineControl) +} +window.wulaFeature = [];//台风显示需要的这个是风圈 +window.wulaTime = [];//台风风圈运动的定时器 +var wulaFeature1 = [];//台风显示需要的 这个是风圈中心点 +var wktformat = new WKT() + + +// 显示台风 +shipFun.showTyphoon = function (data, level, time, name) { + __showTaiFengNew2(data, level, time, name); +} + +//绘制台风图层new +function __showTaiFengNew2(tdata, level, time, name) { + var data = tdata.data; + + var arr = data.filter(function (item, index) { + item.longitude = item.lon; + if (index > 0) { + if ((item.lon - data[index - 1].lon) < -180) + item.lon += 360; + else if ((item.lon - data[index - 1].lon) > 180) + item.lon -= 360; + + } + item.f = item.forcast.filter(function (it, idx) { + if (idx == 0) { + if ((it.lon - item.lon) < -180) + it.lon += 360; + else if ((it.lon - item.lon) > 180) + it.lon -= 360; + } + if (idx > 0) { + if ((it.lon - item.forcast[idx - 1].lon) < -180) + it.lon += 360; + else if ((it.lon - item.forcast[idx - 1].lon) > 180) + it.lon -= 360; + } + return it; + }); + return item; + }); + var his = [], current, fut = [], arrLength; + arrLength = arr.length; + for (var i = 0; i < arrLength - 1; i++) { + arr[i].t = 0; + his.push(arr[i]); + if (arr[i].f.length > 0) { + arr[i].f.unshift(arr[i]); + } + } + current = arr[arrLength - 1]; + current.t = 1; + for (var i = 0; i < current.f.length; i++) { + current.f[i].t = 2; + current.f[i].longitude = current.f[i].lon; + fut.push(current.f[i]); + } + var all = his.concat(current); + all = all.concat(fut); + + /*var startll = ol.proj.fromLonLat([arr[0].lon, arr[0].lat]); + var startf = new ol.Feature({ + geometry: new Point(startll) + }); + startf.set("name",tdata.seq); + startf.setStyle(typhoonStart); + Source.taifeng.addFeature(startf);*/ + + var center = fromLonLat([current.lon, current.lat]); + var ct = new Feature({ + geometry: new Point(center) + }); + ct.set("name", tdata.seq); + ct.setStyle(typhoonCenter2); + ct.set("code", tdata.code); + shipMap.sourceList.taifeng.addFeature(ct); + drawTyphoonNew(all, tdata.seq, tdata.code, name); + var rad_neq34kt = parseInt(current.radius7); + var rad_neq50kt = parseInt(current.radius10);//暴风圈 + var liefeng = new Feature({ + geometry: new CircleGeom(center, rad_neq34kt * 1000) + }); + var baofeng = new Feature({ + geometry: new CircleGeom(center, rad_neq50kt * 1000) + }); + + liefeng.setStyle(liefengStyle); + baofeng.setStyle(baofengStyle); + liefeng.set("code", tdata.code); + baofeng.set("code", tdata.code); + + //绑定定时器的数组 + if (window.wulaTime[name] == undefined) { + window.wulaTime[name] = []; + } + if (window.wulaTime[name].length == 0) { + //尝试改变台风的显示样式开始 + for (var i = 0; i < all.length; i++) { + (function (a) { + var k = setTimeout(function () { + typhoonMove(all[a], level, name); + }, a * time * 1000); //..... + window.wulaTime[name][a] = k; + })(i) + } + //最后一个定时器 显示台风当前的点的位置 + all.filter(function (item, index, arr) { + if (item.t == 1) { + var k = setTimeout(function () { + typhoonMove(all[index], level, name) + }, all.length * time * 1000) + window.wulaTime[name][all.length] = k; + } + }) + } + //尝试改变台风的显示样式结束 +} + +//显示台风运动 +function typhoonMove(data, level, name) { + if (window.wulaFeature[name] != null) { + shipMap.sourceList.taifeng.removeFeature(wulaFeature[name]); + } + // if(wulaFeature1[name] != null){ + // Source.taifeng.removeFeature(wulaFeature1[name]); + // } + + var Configs = { + CIRCLE_CENTER_X: data.lon, + CIRCLE_CENTER_Y: data.lat, + CIRCLE_R: { + "SE": parseFloat(data.radius10.se), + "NE": parseFloat(data.radius10.ne), + "NW": parseFloat(data.radius10.nw), + "SW": parseFloat(data.radius10.sw) + } + }; + var obj = makeTyphoonData(Configs, level); + window.wulaFeature[name] = wktformat.readFeature(obj.wkt); + window.wulaFeature[name].set('lineName', name); + // wulaFeature1[name] = wktformat.readFeature("POINT("+obj.xy[0]+" "+obj.xy[1]+")"); + // wulaFeature1[name].set('lineName',name); + window.wulaFeature[name].setStyle(styleFunc()); + shipMap.sourceList.taifeng.addFeatures([window.wulaFeature[name]]); +} + +//台风圈数据处理函数 +function makeTyphoonData(Configs, level) { + var wkt = "POLYGON(("; + var wkt0 = "", _interval = 6; + for (var i = 0; i < 360 / _interval; i++) { + var _r = 0; + var _ang = i * _interval; + if (_ang > 0 && _ang <= 90) { + _r = Configs.CIRCLE_R.NE * level; + } else if (_ang > 90 && _ang <= 180) { + _r = Configs.CIRCLE_R.NW * level; + } else if (_ang > 180 && _ang <= 270) { + _r = Configs.CIRCLE_R.SW * level; + } else { + _r = Configs.CIRCLE_R.SE * level; + } + + var xy = transform([Configs.CIRCLE_CENTER_X, Configs.CIRCLE_CENTER_Y], 'EPSG:4326', 'EPSG:3857'); + var x = xy[0] + _r * Math.cos(_ang * 3.14 / 180); + var y = xy[1] + _r * Math.sin(_ang * 3.14 / 180); + wkt = wkt + "" + x + " " + y + ", "; + if (i === 0) { + wkt0 = "" + x + " " + y + ""; + } + } + wkt = wkt + wkt0 + "))"; + return { + wkt: wkt, + xy: xy + } +} + +//台风圈样式 +function styleFunc() { + return new Style({ + fill: new Fill({ + color: 'rgba(255, 0, 0, 0.2)' + }), + stroke: new Stroke({ + color: '#ffcc33', + width: 2 + }), + image: new Circle({ + radius: 4, + fill: new Fill({ + color: '#ff0000' + }) + }) + }); +}; + + +//根据台风点绘制 线点 +//isFuture true是预报点,false是当前点 +//istemp是临时要素 +function drawTyphoonNew(typhoonpts, name, code, lineName) { + var typhoonLineFeatures = []; + var count = typhoonpts.length; + var _line1 = []; + var _line2 = []; + var cline = _line1; + for (var i = 0; i < count; i++) { + var _coor = fromLonLat([typhoonpts[i].lon, typhoonpts[i].lat]); + var _geom = new Point(_coor); + var _feature = new Feature(); + //var date = getDate(typhoonpts[i].typhoonTime); + //var secondDate = new Date(date.valueOf() + 8*60*60*1000); + //_feature.set("showTime",secondDate.format("yyyy-MM-dd hh")); + _feature.setProperties(typhoonpts[i]); + _feature.set("type", "typhoon"); + _feature.set("t", typhoonpts[i].t); + _feature.set("time", typhoonpts[i].time); + _feature.set("maxWindSpeed", typhoonpts[i].windSpeed); + _feature.set("airPressure", typhoonpts[i].airPressure); + _feature.set("maxRadius7", typhoonpts[i].maxRadius7); + _feature.set("maxRadius10", typhoonpts[i].maxRadius10); + _feature.set("radius7", typhoonpts[i].radius7); + _feature.set("radius10", typhoonpts[i].radius10); + _feature.set("moveDirection", typhoonpts[i].direction); + _feature.set("moveSpeed", typhoonpts[i].speed); + _feature.set("code", code); + _feature.set("name", name); + _feature.set("lineName", lineName);//这个用于删除时找到属于该台风的点 + _feature.setGeometry(_geom); + if (i == 0) { + _feature.setStyle(typhoonStartPoint); + } + // else { + // _feature.setStyle(typhoonStartPointTime); + // } + typhoonLineFeatures.push(_feature); + cline.push(_coor); + if (typhoonpts[i].t == 1) { + cline = _line2; + cline.push(_coor); + } + if (typhoonpts[i].lon >= 180) { + var l = typhoonpts[i].lon - 360; + var cd = fromLonLat([l, typhoonpts[i].lat]); + var _g = new Point(cd); + var _f = new Feature(); + _f.setProperties(typhoonpts[i]); + _f.set("type", "typhoon"); + _f.set("longitude", l); + _f.set("t", typhoonpts[i].t); + _f.set("time", typhoonpts[i].time); + _f.set("maxWindSpeed", typhoonpts[i].windSpeed); + _f.set("airPressure", typhoonpts[i].airPressure); + _f.set("maxRadius7", typhoonpts[i].maxRadius7); + _f.set("maxRadius10", typhoonpts[i].maxRadius10); + _f.set("radius7", typhoonpts[i].radius7); + _f.set("radius10", typhoonpts[i].radius10); + _f.set("moveDirection", typhoonpts[i].direction); + _f.set("moveSpeed", typhoonpts[i].speed); + _f.set("code", code); + _f.set("name", name); + _f.set("lineName", lineName); + _f.setGeometry(_g); + typhoonLineFeatures.push(_f); + } + if (typhoonpts[i].lon <= -180) { + var l = typhoonpts[i].lon + 360; + var cd = fromLonLat([l, typhoonpts[i].lat]); + var _g = new Point(cd); + var _f = new Feature(); + _f.setProperties(typhoonpts[i]); + _f.set("type", "typhoon"); + _f.set("longitude", l); + _f.set("t", typhoonpts[i].t); + _f.set("time", typhoonpts[i].time); + _f.set("maxWindSpeed", typhoonpts[i].windSpeed); + _f.set("airPressure", typhoonpts[i].airPressure); + _f.set("maxRadius7", typhoonpts[i].maxRadius7); + _f.set("maxRadius10", typhoonpts[i].maxRadius10); + _f.set("radius7", typhoonpts[i].radius7); + _f.set("radius10", typhoonpts[i].radius10); + _f.set("moveDirection", typhoonpts[i].direction); + _f.set("moveSpeed", typhoonpts[i].speed); + _f.set("code", code); + _f.set("name", name); + _f.set("lineName", lineName); + _f.setGeometry(_g); + typhoonLineFeatures.push(_f); + } + } + //台风已经经过的线路 + var taifengLine1 = new Feature({ + geometry: new LineString(_line1) + }); + taifengLine1.set("t", 3); + taifengLine1.set("type", "typhoonLine"); + taifengLine1.set("code", code); + taifengLine1.setId(lineName + '1'); + //台风未来经过的线路 + var taifengLine2 = new Feature({ + geometry: new LineString(_line2) + }); + taifengLine2.set("t", 4); + taifengLine2.set("type", "typhoonLine"); + taifengLine2.set("code", code); + taifengLine2.setId(lineName + '2'); + shipMap.sourceList.taifeng.addFeature(taifengLine1);//台风线 + shipMap.sourceList.taifeng.addFeature(taifengLine2);//台风线 + shipMap.sourceList.taifeng.addFeatures(typhoonLineFeatures);//台风点 +} + +function typhoonStartPoint(f, r) { + var s = new Style({ + fill: new Fill({ + color: 'rgba(255, 0, 0, 0.8)' + }), + stroke: new Stroke({ + color: 'rgba(255, 0, 0, 0.8)', + width: 2 + }), + image: new Circle({ + radius: 4, + fill: new Fill({ + color: 'rgba(255, 0, 0, 0.8)' + }) + }) + }); + var ntext = new Text({ + textAlign: "left", + font: '12px Microsoft YaHei', + fill: new Fill({ + color: "#5F88AA" + }), + stroke: new Stroke({ + color: "#FFF", + width: 3 + }), + textBaseline: "bottom", + offsetX: 8, + offsetY: -8, + text: f.get('name') + }) + s.setText(ntext); + return [s]; +} + +function typhoonStartPointTime(f, r) { + // var s = new Style({ + // fill: new Fill({ + // color: 'rgba(255, 0, 0, 0.8)' + // }), + // stroke: new Stroke({ + // color: 'rgba(255, 0, 0, 0.8)', + // width: 2 + // }), + // image: new Circle({ + // radius: 4, + // fill: new Fill({ + // color: 'rgba(255, 0, 0, 0.8)' + // }) + // }) + // }); + var ntext = new Style({ + text: new Text({ + textAlign: "left", + font: '12px Microsoft YaHei', + fill: new Fill({ + color: "#5F88AA" + }), + stroke: new Stroke({ + color: "#FFF", + width: 3 + }), + textBaseline: "bottom", + offsetX: 8, + offsetY: -8, + text: f.get('name') + }) + }) + // s.setText(ntext); + return [ntext]; +} + +//烈风圈 +var liefengStyle = new Style({ + fill: new Fill({ + color: 'rgba(0,0,255,0.1)' + }), + stroke: new Stroke({ + color: 'rgb(0,0,255)', + width: 2 + }) +}); + +//暴风圈 +var baofengStyle = new Style({ + fill: new Fill({ + color: 'rgba(255,0,0,0.2)' + }), + stroke: new Stroke({ + color: 'rgb(255,0,0)', + width: 2 + }) +}); + + +//添加分布图 +shipFun.addScattergram = (map) => { + map.addLayer(shipMap.distributeLayer) +} +//取消分布图 +shipFun.removeaScattergram = (map) => { + map.removeLayer(shipMap.distributeLayer) +} + +shipMap.languageType = 2 +//语言设置 +shipFun.setLanguage = (languageType) => { + shipMap.languageType = languageType +} +shipFun.getZoom = function () { + return shipMap.map.getView().getZoom() +} +//添加地图层级变化监听函数 +shipFun.addZoomListener = (map, callback) => { + map.on('moveend', function (e) { + var zoom = map.getView().getZoom() //获取当前地图的缩放级别 + callback(zoom) + }) + + // 监听气象点击 , 单击地图显示气象要素值 + shipMap.popupOverlay = new Overlay({ + element: document.getElementById('popup'), //绑定dom对象,纯js必须使用document绑定,不能像Map的dom对象,只写‘popup’ + autoPan: true, //点击地图边缘时,地图自动调节 + autoPanMargin: 20, + positioning: 'center-center' + }) + shipMap.map.addOverlay(shipMap.popupOverlay) + var container = document.getElementById('popup') + var content = document.getElementById('popup-content') + map.on('singleclick', function (evt) { + //包含气象图层 + if (hasLayerInMap(shipMap.layerList.iLayer)) { + let weatherType = mapClient.colorMapTileLayer.source.factor + let weatherTypeStr = '' + const language = window.localStorage.getItem('language') + if (shipMap.languageType == 2) { + switch (weatherType) { + case 'temp': + weatherTypeStr = language === 'zh' ? '温度' : 'temperature' + break + case 'pressure': + weatherTypeStr = language === 'zh' ? '气压' : 'pressure' + break + case 'wind': + weatherTypeStr = language === 'zh' ? '风' : 'wind' + break + case 'seaCurrents': + weatherTypeStr = language === 'zh' ? '洋流' : 'ocean current' + break + } + } else { + weatherTypeStr = weatherType + } + var weatherStr = mapClient.decodeColorMapTileValue(evt.pixel, mapClient.getExtent(map), map.getView().getZoom()) + var coordinate = evt.coordinate // 获取坐标 + shipMap.popupOverlay.setPosition(coordinate) + content.innerHTML = '

' + weatherTypeStr + ':' + weatherStr + '

' //弹窗展示内容为经纬度信息 + container.style.display = 'block' + container.style.color = '#ffffff' + } + + let pixel = map.getEventPixel(evt.originalEvent) + let feature = map.forEachFeatureAtPixel(pixel, function (feature) { + return feature + }) + // 查询方式有很多 + if (feature) { + let type = feature.getProperties()['type'] + } else { + shipFun.delSelect() + } + }) +} +//移除地图层级变化监听函数 +shipFun.removePopupOverlay = function () { + // 把弹窗位置设置为undefined,并清空坐标数据 + shipMap.popupOverlay.setPosition(undefined) + return false +} +//移除地图层级变化监听函数 +shipFun.removeZoomListener = () => { + unByKey(shipMap.Listen) +} + +//添加实时显示鼠标位置的函数 +shipFun.addMousePos = function (map) { + let mapMousePosition = new MousePosition({ + coordinateFormat: function (coor) { + while (coor[0] < -180) coor[0] = coor[0] + 360 + while (coor[0] > 180) coor[0] = coor[0] - 360 + //log(coor); + let lon = shipFun.cacuLonLat(coor[0], 'lon') + let lat = shipFun.cacuLonLat(coor[1], 'lat') + document.getElementById('positionLng').innerText = lon + document.getElementById('positionLat').innerText = lat + return '' + }, + projection: 'EPSG:4326' + }) + map.addControl(mapMousePosition) +} +//隐藏船舶 +shipFun.hideShips = (idList) => { + let type = typeof idList + if (type == 'string') { + let f = shipMap.sourceList.shipSource.getFeatureById(idList) + shipMap.sourceList.shipSource.removeFeature(f) + } else if (type == 'object') { + idList.forEach((x, i) => { + let f = shipMap.sourceList.shipSource.getFeatureById(x) + shipMap.sourceList.shipSource.removeFeature(f) + }) + } else { + } + return '' +} +//显示船舶 +shipFun.showShips = (idList) => { + let type = typeof idList + if (type == 'string') { + shipMap.sourceList.shipSource.addFeature(f) + } else if (type == 'object') { + idList.forEach((x, i) => { + shipMap.sourceList.shipSource.addFeature(f) + }) + } else { + } + return '' +} + +//船舶点击函数 +shipFun.addClick = (callback) => { + shipMap.shipClick = new intSelect({ + style: null, + layers: [shipMap.layerList.berthLayer, shipMap.layerList.shipLayer, shipMap.layerList.portLayer,shipMap.layerList.carLayer] + }) + let shipmes = '' + shipMap.shipClick.on('select', function (evt) { + let f = evt.selected[0] + shipFun.delSelect() + shipmes = f.values_ + if (f.values_.type === 'berth') { + shipFun.addSelectByCoor([f.values_.berthLon, f.values_.berthLat]) + shipmes.isType = 'berth' + } else if (f.values_.type === 'port') { + shipFun.addSelectByCoor([shipmes.portLon, shipmes.portLat]) + shipmes.isType = 'port' + } else if (f.values_.type === 'ship') { + shipFun.addSelectByCoor([shipmes.lon / 600000, shipmes.lat / 600000]) + shipmes.isType = 'ship' + } else if(f.values_.type === 'car') { + shipFun.addSelectByCoor([shipmes.longitude, shipmes.latitude]) + shipmes.isType = 'car' + } + callback(shipmes) + }) + shipMap.map.addInteraction(shipMap.shipClick) +} +//添加港口范围 +shipFun.addarea = (dataList) => { + let Coor = [] + for (let i = 0; i < dataList.length; i++) { + let coor = transform( + [dataList[i].lon, dataList[i].lat], + 'EPSG:4326', + 'EPSG:3857' + ) + Coor.push(coor) + } + let line = new LineString(Coor) //这是已知点画线 + //多边形要素类 + let newFeature = new Feature({ + geometry: line + }) + newFeature.setStyle(shipStyle.areastyle) + shipMap.sourceList.pathLineSource.addFeature(newFeature) +} +// 清除电子围栏 +shipFun.clearArea = () => { + shipMap.sourceList.pathLineSource.clear() +} + +function __makePathData(data, __map, pathId) { + var re = []; + var start = data[0]; + re.push(start); + var it0 = transform([Number(start.lon), Number(start.lat)], 'EPSG:4326', 'EPSG:3857'); + for (var i = 1; i <= data.length - 2; i++) { + var item = data[i]; + var it = transform([Number(item.lon), Number(item.lat)], 'EPSG:4326', 'EPSG:3857'); + var pix = __map.getPixelFromCoordinate(it); + var pix0 = __map.getPixelFromCoordinate(it0); + if (Math.abs(pix[0] - pix0[0]) > 50 || Math.abs(pix[1] - pix0[1]) > 50) { + re.push(item); + it0 = it; + } else { + var s = it0; + var c = it; + var e = transform([Number(data[i + 1].lon), Number(data[i + 1].lat)], 'EPSG:4326', 'EPSG:3857'); + var dx1 = c[0] - s[0]; + var dy1 = c[1] - s[1]; + var r1 = Math.atan2(dy1, dx1); + var dx2 = e[0] - c[0]; + var dy2 = e[1] - c[1]; + var r2 = Math.atan2(dy2, dx2); + var angle = Math.abs(r2 - r1); + var jd = 180 / Math.PI * angle; + if (jd > 30) { + re.push(item); + it0 = it; + } + } + } + re.push(data[data.length - 1]); + return re; +} + +function guid() { + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { + var r = Math.random() * 16 | 0, + v = c == 'x' ? r : (r & 0x3 | 0x8) + return v.toString(16) + }) +} + +function fitPath(data, map) { + if (data) { + var minx, miny, maxx, maxy + data.forEach(function (item, index) { + var it = transform([Number(item.lon), Number(item.lat)], 'EPSG:4326', 'EPSG:3857') + if (!minx) minx = it[0] + if (!miny) miny = it[1] + if (!maxx) maxx = it[0] + if (!maxy) maxy = it[1] + if (minx > it[0]) minx = it[0] + if (miny > it[1]) miny = it[1] + if (maxx < it[0]) maxx = it[0] + if (maxy < it[1]) maxy = it[1] + + }) + var view = map.getView() + view.fit([minx, miny, maxx, maxy], {padding: [50, 50, 50, 50]}) + } +} + +//添加轨迹 +shipFun.addPath = (dataList, __map) => { + dataList.map(function (item, index, arr) { + if (index > 0) { + if ((item.lon - arr[index - 1].lon) < -180) { + item.lon += 360 + } else if ((item.lon - arr[index - 1].lon) > 180) { + var i = index - 1 + while (i >= 0) { + arr[i--].lon += 360 + } + } + } + }) + + let pathId = guid() + let re = __makePathData(dataList, __map, pathId) + __pathDrawData[pathId] = re; + __pathData[pathId] = dataList; + __drawPathData(re, pathId) + fitPath(dataList, __map); + return pathId +} +var __tsize = []; + +function __drawPathData(dataList, pathId) { + let Coor = [] + let ids = [] + for (let i = 0; i < dataList.length; i++) { + let coor = transform( + [dataList[i].lon, dataList[i].lat], + 'EPSG:4326', + 'EPSG:3857' + ) + Coor.push(coor) + } + let line = new LineString(Coor) //这是已知点画线 + //多边形要素类 + let newFeature = new Feature({ + geometry: line + }) + newFeature.setStyle(shipStyle.pathColor) + newFeature.setId(pathId) + ids.push(pathId) + shipMap.sourceList.pathLineSource.addFeature(newFeature) + + for (let i = 0; i < Coor.length; i++) { + let point = new Point(Coor[i]) //这是已知点画线 + let newFeature = new Feature({ + geometry: point, + heading: dataList[i].direction, + sog: dataList[i].sog, + lon: dataList[i].lon, + lat: dataList[i].lat, + time: dataList[i].time, + type: 'pathPoint' + }) + newFeature.set('geom', point) + newFeature.setId(pathId + '-' + (i + 1)) + ids.push(pathId + '-' + (i + 1)) + newFeature.setStyle( + // shipStyle.pathStyle(formatDate(dataList[i].posTime, 'hh:mm:ss')) + shipStyle.pathStyle(dayjs(dataList[i].posTime * 1000).format('YYYY-MM-DD hh:mm:ss')) + ) + shipMap.sourceList.pathPointSource.addFeature(newFeature) + if (i == 0) { + let pointStart = new Point(Coor[i]) + let startF = new Feature({ + geometry: pointStart + }) + startF.setId(pathId + '-start') + ids.push(pathId + '-start') + startF.setStyle(shipStyle.pathSEStyle('start')) + shipMap.sourceList.pathPointSource.addFeature(startF) + } + if (i == dataList.length - 1) { + let pointEnd = new Point(Coor[i]) + let endF = new Feature({ + geometry: pointEnd + }) + endF.setId(pathId + '-end') + ids.push(pathId + '-end') + endF.setStyle(shipStyle.pathSEStyle('end')) + shipMap.sourceList.pathPointSource.addFeature(endF) + } + } + + // fitPath(dataList, shipMap.map) + __pathArray[pathId] = ids; + return pathId +} + +function _$(d) { + return document.getElementById(d); +} + +function textSize(text) { + if (__tsize[text]) { + return __tsize[text]; + } + var result = {}; + var span = _$("__testStringWide"); + if (!span) { + span = document.createElement("span"); + span.id = "__testStringWide"; + span.style.font = "16px Microsoft YaHei 100"; + span.style.whiteSpace = "nowrap"; + span.style.visibility = "hidden"; + document.body.appendChild(span); + } + if (typeof span.textContent != "undefined") + span.textContent = ""; + else span.innerText = ""; + result.width = span.offsetWidth; + result.height = span.offsetWidth; + if (typeof span.textContent != "undefined") + span.textContent = text; + else span.innerText = text; + result.width = span.offsetWidth - result.width + 3; + //result.height = span.offsetHeight - result.height; + result.height = 22; + __tsize[text] = result; + return result; +} + +var screenText = {}; +var heigthKey = 14; + +function calcLablePos3(center, size, id) { + var result = {}; + var pos = {}; + pos.l = Math.round((center.left + 10) / 30); + pos.length = Math.round(size.width / 30) + 1; + //右上 + pos.t = Math.round(center.top / 30) - 1; + let hasLable = false; + for (var i = pos.l; i < pos.l + pos.length; i++) { + var o = screenText[i + "-" + pos.t]; + if (o) { + if (o != id) { + hasLable = true; + break; + } + } + } + if (!hasLable) { + result.canDraw = true; + result.offsetX = 10; + result.offsetY = -heigthKey - (center.top - (pos.t + 1) * 30); + for (var i = pos.l; i < pos.l + pos.length; i++) { + screenText[i + "-" + pos.t] = id; + } + return result; + } + + //右下 + pos.t = Math.round(center.top / 30) + 1; + hasLable = false; + for (var i = pos.l; i < pos.l + pos.length; i++) { + var o = screenText[i + "-" + pos.t]; + if (o) { + if (o != id) { + hasLable = true; + break; + } + } + } + if (!hasLable) { + result.canDraw = true; + result.offsetX = 10; + result.offsetY = heigthKey - (center.top - (pos.t - 1) * 30); + for (var i = pos.l; i < pos.l + pos.length; i++) { + screenText[i + "-" + pos.t] = id; + } + return result; + } + + pos.length = Math.round(size.width / 30); + pos.l = Math.round((center.left - size.width - 10) / 30) - 1; + //左上 + pos.t = Math.round(center.top / 30) - 1; + hasLable = false; + for (var i = pos.l; i < pos.l + pos.length; i++) { + var o = screenText[i + "-" + pos.t]; + if (o) { + if (o != id) { + hasLable = true; + break; + } + } + } + if (!hasLable) { + result.canDraw = true; + result.offsetX = -size.width - 10; + result.offsetY = -heigthKey - (center.top - (pos.t + 1) * 30); + for (var i = pos.l; i < pos.l + pos.length; i++) { + screenText[i + "-" + pos.t] = id; + } + return result; + } + + + //左下 + pos.t = Math.round(center.top / 30) + 1; + hasLable = false; + for (var i = pos.l; i < pos.l + pos.length; i++) { + var o = screenText[i + "-" + pos.t]; + if (o) { + if (o != id) { + hasLable = true; + break; + } + } + } + if (!hasLable) { + result.canDraw = true; + result.offsetX = -size.width - 10; + result.offsetY = heigthKey - (center.top - (pos.t - 1) * 30); + for (var i = pos.l; i < pos.l + pos.length; i++) { + screenText[i + "-" + pos.t] = id; + } + return result; + } + return result; +} + +var wayPointStyle = function (f, r) { + let style = new Style({ + image: new Circle({ + radius: 3, + fill: new Fill({ + color: '#ffffff' + }), + stroke: new Stroke({ + color: '#3272dd', + width: 3 + }) + }) + }); + var map = shipMap.map; + var pix = map.getPixelFromCoordinate(f.getGeometry().getCoordinates()); + var name = f.get("timeStr"); + var size = textSize(name); + var center = {}; + center.left = Math.round(pix[0]); + center.top = Math.round(pix[1]); + var re = calcLablePos3(center, size, f.getId()); + var styles = []; + styles.push(style); + if (re.canDraw) { + if (Math.abs(re.offsetY) < 10) { + if (re.offsetY <= 0) + re.offsetY = -10; + else + re.offsetY = 10; + } + var ntext = new Text({ + textAlign: "left", + font: '10px Microsoft YaHei', + fill: new Fill({ + color: "#5F88AA" + }), + stroke: new Stroke({ + color: "#FFF", + width: 3 + }), + textBaseline: "bottom", + offsetX: re.offsetX, + offsetY: re.offsetY, + text: name + }); + style.setText(ntext); + var textLine = new Style({ + fill: new Fill({ + color: '#00C000' + }), + stroke: new Stroke({ + color: '#FF0000', + width: 0.5 + }) + }); + var e = []; + e[0] = pix[0]; + e[1] = pix[1]; + if (re.offsetX > 0) { + e[0] += 10; + e[1] += re.offsetY; + } + if (re.offsetX < 0) { + e[0] -= 10; + e[1] += re.offsetY; + } + var end = map.getCoordinateFromPixel(e); + var slGeo = new LineString([f.getGeometry().getCoordinates(), end]); + textLine.setGeometry(slGeo); + styles.push(textLine); + } + return styles; +} + +//删除轨迹 +shipFun.delPath = () => { + shipMap.sourceList.pathLineSource.clear() + shipMap.sourceList.pathPointSource.clear() + __pathData = {} + __pathArray = {} +} +// 删除单条轨迹 +shipFun.delPathOne = (path, points) => { + const pathLineSource = shipMap.sourceList.pathLineSource + const pathPointSource = shipMap.sourceList.pathPointSource + const Feature = pathLineSource.getFeatureById(path) + delete __pathData[path]; + delete __pathArray[path]; + const startFeature = pathPointSource.getFeatureById(path + '-start') + const endFeature = pathPointSource.getFeatureById(path + '-end') + pathLineSource.removeFeature(Feature) + pathPointSource.removeFeature(startFeature) + pathPointSource.removeFeature(endFeature) + for (let i = 0; i < points; i++) { + const Feature = pathPointSource.getFeatureById(path + '-' + (i + 1)) + pathPointSource.removeFeature(Feature) + } +} +//移动显示船舶信息及船舶轨迹信息 +shipFun.showShipPathMessage = (map, Vue) => { + let showMes = new Overlay({ + element: document.getElementById('showShipMessage') + }) + let showPathMes = new Overlay({ + element: document.getElementById('showPathPointMessage') + }) + let showPortMes = new Overlay({ + element: document.getElementById('showPortMessage') + }) + + map.on('pointermove', function (evt) { + if (evt.dragging) { + return + } + let pixel = map.getEventPixel(evt.originalEvent) + let feature = map.forEachFeatureAtPixel(pixel, function (feature) { + return feature + }) //查询方式有很多 + if (feature) { + let type = feature.getProperties()['type'] + if (type === 'ship') { + Vue.shipFloatMes = { + shipnameEn: feature.get('shipnameEn'), + mmsi: feature.get('mmsi'), + chuanboid: feature.get('shipid'), + lon: shipFun.cacuLonLat(feature.get('lon') / 600000, 'lon'), + lat: shipFun.cacuLonLat(feature.get('lat') / 600000, 'lat'), + time: feature.get('posTime') + } + showMes.setPosition(feature.get('geom').getCoordinates()) + map.addOverlay(showMes) + } else if (type === 'pathPoint') { + Vue.shipFloatMes = { + heading: feature.get('heading'), + sog: feature.get('sog'), + lon: shipFun.cacuLonLat(feature.get('lon'), 'lon'), + lat: shipFun.cacuLonLat(feature.get('lat'), 'lat'), + time: feature.get('time') + } + showPathMes.setPosition(feature.get('geom').getCoordinates()) + map.addOverlay(showPathMes) + } else if (type === 'port') { + // 港口鼠标事件 + Vue.shipFloatMes = { + portNameCn: feature.get('portNmaeCn'), + portNameEn: feature.get('portNmaeEn'), + portCode: feature.get('portCode'), + portLatLon: feature.get('portLatLon'), + } + showPortMes.setPosition(feature.get('geom').getCoordinates()) + map.addOverlay(showPortMes) + } + } else { + map.removeOverlay(showMes) + map.removeOverlay(showPathMes) + map.removeOverlay(showPortMes) + } + }) +} + +shipFun.updateSize = (map) => { + map.updateSize() +} +//添加船舶的选择框 +shipFun.addSelect = (id, type) => { + // let f = shipMap.sourceList.shipSource.getFeatureById(id) + let f = shipMap.sourceList.berthSource.getFeatureById(id) + let p = new Point(f.get('geom').getCoordinates()) + let s = new Feature({ + geometry: p + }) + s.setStyle(shipStyle.selectStyle) + shipMap.sourceList.selectSource.addFeature(s) +} +shipFun.addSelectByCoor = (coor) => { + shipFun.delSelect() + let Coor = transform(coor, 'EPSG:4326', 'EPSG:3857') + let p = new Point(Coor) + let s = new Feature({ + geometry: p + }) + // shipFun.setCenter(Coor); + // shipFun.setZoom(12); + s.setStyle(shipStyle.selectStyle) + shipMap.sourceList.selectSource.addFeature(s) +} +//消除船舶选中 +shipFun.delSelect = () => { + shipMap.sourceList.selectSource.clear() +} +//添加标记 +shipFun.addSign = (map) => { + map.addInteraction(shipMap.drawPointDraw) + shipMap.drawPointDraw.on('drawstart', function (e) { + e.feature.setStyle(shipStyle.signStyle) + }) + shipMap.drawPointDraw.on('drawend', function (e) { + map.removeInteraction(shipMap.drawPointDraw) + }) +} +//删除标记 +shipFun.delSign = () => { +} +//设置海图中心 +shipFun.setCenter = (coor) => { + coor = transform(coor, 'EPSG:4326', 'EPSG:3857') + shipMap.view.setCenter(coor) +} +// 绘制警戒线 +shipFun.drawLine = function (id, data, color, width, name, isDotted) { + if (!color) { + color = '#FF0000'; + } + if (!width) { + width = 1; + } + var feature = lineDataTrans(data); + feature.setId(id); + var style11 = null; + if (isDotted) { + style11 = new Style({ + stroke: new Stroke({ + color: color, + width: width, + lineDash: [5, 5] + }) + }); + } else { + style11 = new Style({ + stroke: new Stroke({ + color: color, + width: width + }) + }); + } + if (name) { + var ntext = new Text({ + textAlign: "left", + font: '10px Microsoft YaHei', + fill: new Fill({color: "#5F88AA"}), + stroke: new Stroke({color: "#FFF", width: 3}), + textBaseline: "bottom", + offsetX: 0, + offsetY: -8, + overflow: true + }); + ntext.setText(name); + style11.setText(ntext); + } + feature.setStyle(style11); + shipMap.sourceList.jjxSource.addFeature(feature); +} + + +shipFun.delTyphoon = function (name) { + shipMap.sourceList.taifeng.removeFeature(shipMap.sourceList.taifeng.getFeatureById(name + '1')); + window.wulaFeature[name] = null; + shipMap.sourceList.taifeng.removeFeature(shipMap.sourceList.taifeng.getFeatureById(name + '2')); + shipMap.sourceList.taifeng.forEachFeature(function (f) { + if (f.get("lineName") == name) { + shipMap.sourceList.taifeng.removeFeature(f); + } + }) + //清除台风定时器 + for (var i = 0; i < window.wulaTime[name].length; i++) { + window.clearTimeout(window.wulaTime[name][i]) + } + window.wulaTime[name].length = 0; +} + +shipFun.hideTyphoon = function () { + shipMap.sourceList.taifeng.clear(); + window.wulaFeature = []; + for (let x in window.wulaTime) { + for (var i = 0; i < window.wulaTime[x].length; i++) { + window.clearTimeout(window.wulaTime[x][i]) + } + window.wulaTime[x].length = 0; + } +} +//绘制台风图层new +shipFun.showTaiFengNew2 = function (tdata, level, time, name) { + var data = tdata.data; + + var arr = data.filter(function (item, index) { + item.longitude = item.lon; + if (index > 0) { + if ((item.lon - data[index - 1].lon) < -180) + item.lon += 360; + else if ((item.lon - data[index - 1].lon) > 180) + item.lon -= 360; + + } + item.f = item.forcast.filter(function (it, idx) { + if (idx === 0) { + if ((it.lon - item.lon) < -180) + it.lon += 360; + else if ((it.lon - item.lon) > 180) + it.lon -= 360; + } + if (idx > 0) { + if ((it.lon - item.forcast[idx - 1].lon) < -180) + it.lon += 360; + else if ((it.lon - item.forcast[idx - 1].lon) > 180) + it.lon -= 360; + } + return it; + }); + return item; + }); + var his = [], current, fut = [], arrLength; + arrLength = arr.length; + for (var i = 0; i < arrLength - 1; i++) { + arr[i].t = 0; + his.push(arr[i]); + if (arr[i].f.length > 0) { + arr[i].f.unshift(arr[i]); + } + } + current = arr[arrLength - 1]; + current.t = 1; + for (var i = 0; i < current.f.length; i++) { + current.f[i].t = 2; + current.f[i].longitude = current.f[i].lon; + fut.push(current.f[i]); + } + var all = his.concat(current); + all = all.concat(fut); + + /*var startll = ol.proj.fromLonLat([arr[0].lon, arr[0].lat]); + var startf = new ol.Feature({ + geometry: new Point(startll) + }); + startf.set("name",tdata.seq); + startf.setStyle(typhoonStart); + Source.taifeng.addFeature(startf);*/ + + var center = fromLonLat([current.lon, current.lat]); + var ct = new Feature({ + geometry: new Point(center) + }); + ct.set("name", tdata.seq); + ct.setStyle(typhoonCenter2); + ct.set("code", tdata.code); + Source.taifeng.addFeature(ct); + drawTyphoonNew(all, tdata.seq, tdata.code, name); + var rad_neq34kt = parseInt(current.radius7); + var rad_neq50kt = parseInt(current.radius10);//暴风圈 + var liefeng = new ol.Feature({ + geometry: new CircleGeom(center, rad_neq34kt * 1000) + }); + var baofeng = new ol.Feature({ + geometry: new CircleGeom(center, rad_neq50kt * 1000) + }); + + liefeng.setStyle(liefengStyle); + baofeng.setStyle(baofengStyle); + liefeng.set("code", tdata.code); + baofeng.set("code", tdata.code); + + //绑定定时器的数组 + if (window.wulaTime[name] == undefined) { + window.wulaTime[name] = []; + } + if (window.wulaTime[name].length == 0) { + //尝试改变台风的显示样式开始 + for (var i = 0; i < all.length; i++) { + (function (a) { + var k = setTimeout(function () { + typhoonMove(all[a], level, name); + }, a * time * 1000); //..... + window.wulaTime[name][a] = k; + })(i) + } + //最后一个定时器 显示台风当前的点的位置 + all.filter(function (item, index, arr) { + if (item.t == 1) { + var k = setTimeout(function () { + typhoonMove(all[index], level, name) + }, all.length * time * 1000) + window.wulaTime[name][all.length] = k; + } + }) + } + + + //尝试改变台风的显示样式结束 +} + +function typhoonCenter2(f, r) { + var s = new Style({ + image: new Icon({ + src: 'images/msmap/current.png', + anchor: [0.5, 1.1] + }) + }); + var ntext = new Text({ + textAlign: "left", + font: '12px Microsoft YaHei', + fill: new Fill({ + color: "#5F88AA" + }), + stroke: new Stroke({ + color: "#FFF", + width: 3 + }), + textBaseline: "bottom", + offsetX: 8, + offsetY: -8, + text: f.get('name') + }) + s.setText(ntext); + return [s]; +} + +function lineDataTrans(json) { + var data = []; + for (var i in json) { + data.push({lon: Number(json[i].lon), lat: Number(json[i].lat)}); + } + data.map(function (item, index, arr) { + if (index > 0) { + if ((item.lon - arr[index - 1].lon) < -180) + item.lon += 360; + else if ((item.lon - arr[index - 1].lon) > 180) { + var i = index - 1; + while (i >= 0) { + arr[i--].lon += 360; + } + } + + } + + }); + var ar = []; + data.forEach(function (item, index) { + ar.push(transform([Number(item.lon), Number(item.lat)], 'EPSG:4326', 'EPSG:3857')); + }); + var ls = new LineString(ar); + var lsf = new Feature({ + geometry: ls + }); + lsf.set("type", "line"); + return lsf; +}; + +//设置地图层级 +shipFun.setZoom = (num) => { + shipMap.view.setZoom(num) +} +//添加eez线 +shipFun.addEez = (map, state) => { + if (state) { + map.addLayer(shipMap.layerList.eezLayer) + } else { + map.removeLayer(shipMap.layerList.eezLayer) + } +} + +// ---我的修改--- +//添加测距 +shipFun.addRanging = (map, type) => { + map.removeInteraction(shipMap.drawPolygonDraw) + map.removeInteraction(shipMap.drawRingDraw) + map.removeInteraction(shipMap.drawRectangleDraw) + if (type == 'radius') { + shipMap.drawRingDraw.maxPoints_ = 2 + } else { + shipMap.drawRingDraw.maxPoints_ = Infinity + } + + map.addInteraction(shipMap.drawRingDraw) + let listener = null + let sketch = null + shipMap.drawRingDraw.on( + 'drawstart', + function (e) { + let tooltipCoord = e.coordinate + sketch = e.feature + listener = sketch.getGeometry().on('change', function (evt) { + let geom = evt.target + let output + if (geom instanceof LineString) { + output = shipFun.formatLength(geom) + tooltipCoord = geom.getLastCoordinate() + } + shipMap.measureTooltipElement.innerHTML = + output + + '' + + `` + shipMap.measureTooltipElement.style = + 'background: #0050AC;color:#ffffff;padding:2px;border-radius: 10px;font-size: 10px;min-width: 87px;text-align: center' + shipMap.measureTooltip.setPosition(tooltipCoord) + }) + }, + this + ) + shipMap.drawRingDraw.on('drawend', function (e) { + map.removeInteraction(shipMap.drawRingDraw) + shipMap.measureTooltipElement.style = + 'background: #0050AC;color:#ffffff;padding:2px;border-radius: 10px;font-size: 10px;min-width: 87px;text-align: center' + shipMap.measureTooltipElement.className = `ol-tooltip ol-tooltip-static ` + shipMap.measureTooltipElement.setAttribute('id', sketch.ol_uid) + shipMap.measureTooltip.setOffset([0, -7]) + sketch = null + shipMap.measureTooltipElement = null + shipFun.createMeasureTooltip(map) + unByKey(listener) + shipMap.maxpoint = 'infinity' + }) +} +//我的修改 测距多边形 +shipFun.addPolygon = (map) => { + map.removeInteraction(shipMap.drawPolygonDraw) + map.removeInteraction(shipMap.drawRingDraw) + map.removeInteraction(shipMap.drawCircleDraw) + map.removeInteraction(shipMap.drawRectangleDraw) + map.addInteraction(shipMap.drawPolygonDraw) + let listener = null + let sketch = null + shipMap.drawPolygonDraw.on( + 'drawstart', + function (e) { + let tooltipCoord = e.coordinate + sketch = e.feature + listener = sketch.getGeometry().on('change', function (evt) { + let geom = evt.target + let output + if (geom instanceof Polygon) { + output = shipFun.formatArea(geom) + tooltipCoord = geom.getInteriorPoint().getCoordinates() + } + shipMap.measureTooltipElement.innerHTML = + output + + '' + + `` + shipMap.measureTooltipElement.style = + 'background: #0050AC;color:#ffffff;padding:2px;border-radius: 10px;font-size: 10px;min-width: 87px;text-align: center' + shipMap.measureTooltip.setPosition(tooltipCoord) + }) + }, + this + ) + shipMap.drawPolygonDraw.on('drawend', function (e) { + map.removeInteraction(shipMap.drawPolygonDraw) + shipMap.measureTooltipElement.style = + 'background: #0050AC;color:#ffffff;padding:2px;border-radius: 10px;font-size: 10px;min-width: 87px;text-align: center' + shipMap.measureTooltipElement.className = `ol-tooltip ol-tooltip-static ` + shipMap.measureTooltipElement.setAttribute('id', sketch.ol_uid) + shipMap.measureTooltip.setOffset([0, -7]) + sketch = null + shipMap.measureTooltipElement = null + shipFun.createMeasureTooltip(map) + unByKey(listener) + }) +} +// ---我的修改--- +shipFun.backVector = (type) => { + if (type === 'line') { + return shipMap.drawRingSource + } else if (type === 'circle') { + return shipMap.drawCircleSource + } else if (type === 'polygon') { + return shipMap.drawPolygonSource + } else if (type === 'rectangle') { + return shipMap.drawRectangleSource + } +} + +shipFun.delAllMapTool = () => { + shipMap.drawPolygonLayer.getSource().clear() + shipMap.drawCircleLayer.getSource().clear() + shipMap.drawRectangleLayer.getSource().clear() + shipMap.drawRingLayer.getSource().clear() + shipMap.map.getOverlays() + .getArray().forEach((item) => { + shipMap.map.removeOverlay(item) + }) +} +// ---我的修改--- +//清楚圆 +shipFun.deleCircular = () => { + shipMap.drawCircularSource.clear() +} +//清楚测距 +shipFun.deleRing = () => { + shipMap.drawRingSource.clear() + let list = document.getElementsByName('ceju') + for (let i = 0; i < list.length; i++) { + list[i].style.display = 'none' + // removeNode(true) + } +} + +//设置绑定轨迹数据的div +shipFun.createMeasureTooltip = function (map) { + if (shipMap.measureTooltipElement) { + shipMap.measureTooltipElement.parentNode.removeChild( + shipMap.measureTooltipElement + ) + } + shipMap.measureTooltipElement = document.createElement('div') + shipMap.measureTooltipElement.className = 'ol-tooltip ol-tooltip-measure' + shipMap.measureTooltip = new Overlay({ + element: shipMap.measureTooltipElement, + offset: [1, -15], + positioning: 'bottom-center' + }) + map.addOverlay(shipMap.measureTooltip) + mapToolOver.push(shipMap.measureTooltip) +} + +//获取测距的长度 +var ringLength = 0 +shipFun.formatLength = function (line) { + let length = getLength(line) + ringLength = length + let output + if (length > 100) { + output = (Math.round((length / 1000) * 100) / 100) * +' ' + 'km' + } else { + output = Math.round(length * 100) / 100 + ' ' + 'm' + } + output = Math.round(length * 0.00054 * 100) / 100 + ' ' + 'nm' + return output +} +//我的修改 + +//获取多边形面积和矩形 +shipFun.formatArea = function (polygon) { + var area = getArea(polygon) + var output + if (area > 1000000) { + output = Math.round((area / 1000000) * 100) / 100 + ' ' + 'km2' + } else { + output = Math.round(area * 100) / 100 + ' ' + 'm2' + } + return output +} +//我的修改 + +shipFun.addRectangle = (map) => { + map.removeInteraction(shipMap.drawPolygonDraw) + map.removeInteraction(shipMap.drawRingDraw) + map.removeInteraction(shipMap.drawCircleDraw) + map.removeInteraction(shipMap.drawRectangleDraw) + map.addInteraction(shipMap.drawRectangleDraw) + let listener = null + let sketch = null + shipMap.drawRectangleDraw.on('drawstart', function (e) { + sketch = e.feature + let tooltipCoord = e.coordinate + listener = sketch.getGeometry().on('change', function (evt) { + let geom = evt.target + + let output + if (geom instanceof Polygon) { + output = shipFun.formatArea(geom) + tooltipCoord = geom.getInteriorPoint().getCoordinates() + } + shipMap.measureTooltipElement.innerHTML = + output + + '' + + `` + shipMap.measureTooltipElement.style = + 'background: #0050AC;color:#ffffff;padding:2px;border-radius: 10px;font-size: 10px;min-width: 87px;text-align: center' + shipMap.measureTooltip.setPosition(tooltipCoord) + }) + }) + shipMap.drawRectangleDraw.on('drawend', function (e) { + map.removeInteraction(shipMap.drawRectangleDraw) + shipMap.measureTooltipElement.style = + 'background: #0050AC;color:#ffffff;padding:2px;border-radius: 10px;font-size: 10px;min-width: 87px;text-align: center' + shipMap.measureTooltipElement.className = `ol-tooltip ol-tooltip-static ` + shipMap.measureTooltipElement.setAttribute('id', sketch.ol_uid) + shipMap.measureTooltip.setOffset([0, -7]) + sketch = null + shipMap.measureTooltipElement = null + shipFun.createMeasureTooltip(map) + unByKey(listener) + }) +} +// 我的修改 +//获取圆的半径长度 +shipFun.formatcirclelength = function (a) { + let output + let area = Math.pow(a, 2) * Math.PI // 得到的圆的面积 单位平方米 + if (area > 1000000) { + output = + Math.round(area / 1000000 * 100) / 100 + + ' ' + + 'km²' + } else { + output = Math.round(area * 100) / 100 + ' ' + 'm²' + } + return output +} +//我的修改 + +//添加圆 +shipFun.addCircle = (map) => { + map.removeInteraction(shipMap.drawPolygonDraw) + map.removeInteraction(shipMap.drawCircleDraw) + map.removeInteraction(shipMap.drawRectangleDraw) + map.addInteraction(shipMap.drawCircleDraw) + let listener = null + let sketch = null + shipMap.drawCircleDraw.on('drawstart', function (e) { + sketch = e.feature + let tooltipCoord = e.coordinate + listener = sketch.getGeometry().on('change', function (evt) { + let geom = evt.target + + let a1 = [] + let a2 = [] + a1 = transform(geom.getCenter(), 'EPSG:3857', 'EPSG:4326') + a2 = transform(geom.getLastCoordinate(), 'EPSG:3857', 'EPSG:4326') + shipMap.measureTooltip.setPosition(geom.getCenter()) + }) + }) + + shipMap.drawCircleDraw.on('drawend', function (e) { + map.removeInteraction(shipMap.drawCircleDraw) + shipMap.measureTooltipElement.style = + 'background: #0050AC;color:#ffffff;padding:2px;border-radius: 10px;font-size: 10px;min-width: 87px;text-align: center' + shipMap.measureTooltipElement.className = `ol-tooltip ol-tooltip-static ` + shipMap.measureTooltipElement.setAttribute('id', sketch.ol_uid) + let output = shipFun.formatcirclelength(e.feature.getGeometry().getRadius()) + shipMap.measureTooltipElement.innerHTML = + output + + '' + + `` + + shipMap.measureTooltip.setOffset([0, 0]) + sketch = null + shipMap.measureTooltipElement = null + shipFun.createMeasureTooltip(map) + unByKey(listener) + }) +} +//我的修改 +//转换地图海图卫星图 +shipFun.changeMap = function (map, str) { + switch (str) { + case 'haitu': + map.removeLayer(shipMap.sateLayer) + map.removeLayer(shipMap.layer) + map.removeLayer(shipMap.tdtLayer) + map.addLayer(shipMap.seaLayer) + break + case 'weixingtu': + map.removeLayer(shipMap.seaLayer) + map.removeLayer(shipMap.layer) + map.removeLayer(shipMap.tdtLayer) + map.addLayer(shipMap.sateLayer) + break + case 'ditu': + map.removeLayer(shipMap.sateLayer) + map.removeLayer(shipMap.seaLayer) + map.removeLayer(shipMap.tdtLayer) + map.addLayer(shipMap.layer) + break + case 'tdt': + map.removeLayer(shipMap.sateLayer) + map.removeLayer(shipMap.seaLayer) + map.removeLayer(shipMap.layer) + map.addLayer(shipMap.tdtLayer) + } +} +//添加线段 +shipFun.addArgentina = (data, id) => { + let f1 = lineDataTrans2(data) + f1.setStyle(shipStyle.agtStyle('#FF5454', 2)) + f1.setId(id) + shipMap.agtSource.addFeature(f1) +} +//获取测距的 + +//获得的经纬度转换 +shipFun.aroundLonLat = (value) => { + let lonlat = transform(value, 'EPSG:3857', 'EPSG:4326') + return lonlat +} + +//经纬度转化 +shipFun.cacuLonLat = function (num, dir) { + let degree = parseInt(num) + let direction = null + if (dir == 'lon') { + if (degree >= 0) { + direction = 'E' + } else { + direction = 'W' + } + } else if (dir == 'lat') { + if (degree >= 0) { + direction = 'N' + } else { + direction = 'S' + } + } + let min = parseInt((num - degree) * 60) + let sec = parseInt((num - degree) * 3600 - min * 60) + + degree = Math.abs(degree) + min = Math.abs(min) + sec = Math.abs(sec) + + let array = [direction, degree + '°' + min + '′' + sec + '″'] //这个得到的是方向 度 分 秒 + return array +} + +shipFun.clickGetCoor = function (index, cb) { + shipMap.map.once('singleclick', (e) => { + const coor = e.coordinate + const f = new Feature({ + geometry: new Point(coor) + }) + f.setStyle(pointInnerStyle(index + '')) + shipMap.sourceList.PointSource.addFeature(f) + cb(transform(coor, 'EPSG:3857', 'EPSG:4326')) + }) +} + +shipFun.clearPoint = function () { + shipMap.sourceList.PointSource.clear() +} + +function pointInnerStyle(textVale) { + const textStyle = new Style({ + text: new Text({ + textAlign: 'center', + textBaseline: 'middle', + font: '20px', + fill: new Fill({ + color: 'red' + }), + text: textVale, + stroke: new Stroke({ + color: 'white', + width: 2 + }) + }) + }) + return textStyle +} + +//生成随机数 +function Random() { + return Math.floor(Math.random() * 10) // 可均衡获取 0 到 9 的随机整数。 +} + +//根据数据处理数据函数 +function lineDataTrans2(d) { + let data = [] + let d1 = d.split(',') + for (let i1 in d1) { + let d2 = d1[i1].split(' ') + data.push({ + lon: Number(d2[0]), + lat: Number(d2[1]) + }) + } + data.map(function (item, index, arr) { + if (index > 0) { + if (item.lon - arr[index - 1].lon < -180) { + item.lon += 360 + } else if (item.lon - arr[index - 1].lon > 180) { + let i = index - 1 + while (i >= 0) { + arr[i--].lon += 360 + } + } + } + }) + let ar = [] + data.forEach(function (item, index) { + ar.push(fromLonLat([Number(item.lon), Number(item.lat)])) + }) + let ls = new LineString(ar) + let lsf = new Feature({ + geometry: ls + }) + lsf.set('type', 'line') + return lsf +} + +export default shipFun diff --git a/src/util/map/style.js b/src/util/map/style.js new file mode 100644 index 0000000..4d8089b --- /dev/null +++ b/src/util/map/style.js @@ -0,0 +1,637 @@ +import Style from 'ol/style/Style' //样式总类 +import styleIcon from 'ol/style/Icon' //添加图标 +import styleText from 'ol/style/Text' //添加文字标注 +import styleFill from 'ol/style/Fill' //添加填充样式 +import styleStroke from 'ol/style/Stroke' //添加填充样式 +import styleCircle from 'ol/style/Circle' //添加填充样式 +import Polygon from 'ol/geom/Polygon' //面 +import start from './img/start.png' +import end from './img/end.png' +import kuang from './img/kuang.png' +import sign from './img/blue.png' +import port from './img/port.png' +import berth from './img/berth.png' +import { transform } from 'ol/proj' //坐标系转换 +import { Circle as CircleStyle, Fill, RegularShape } from 'ol/style' + +const shipStyle = new Object({}) + + +shipStyle.carStyle = function (f) { + let flag = new Style({ + image: new styleIcon({ + src: '/zero2/img/car.svg', + scale: 0.2, + }), + text: new styleText({ + font: '16px Microsoft YaHei 100', + textAlign: 'center', + overflow: true, + fill: new styleFill({ + color: '#000' + }), + stroke: new styleStroke({ + color: '#fff', + width: 3 + }), + textBaseline: 'bottom', + text: f.get('carNum') + }) + }) + return [flag] +} +// ---我的修改--- +var shipsize = null +shipStyle.plotting = function (number) { + number = number <= 200 ? number : 200 + shipsize = number +} +// ---我的修改--- + +// ---我的修改 +shipStyle.lineStyle = function () { + return new Style({ + stroke: new styleStroke({ + color: 'rgba(77, 168, 213,0.7)', + width: 4 + }) + }) +} +//---我的修改 + +//普通船舶 +shipStyle.newshipStyle = function (f, r, map) { + let zoom = Math.ceil((Math.log(r) - Math.log(156543.03390625)) / Math.log(0.5)) + let style = null + let gemo = null + let styles = [] + let d = r * 7 + let shipnameEn = f.get('shipnameEn') //船名 + let heading = f.get('heading') + let direction = parseFloat(f.get('cog') / 10) //航向 + let speed = parseFloat(f.get('sog') / 10) //速度 + let o = f.get('geom').getCoordinates() + let lon = parseFloat(f.get('lon') / 60 / 10000) + let lat = parseFloat(f.get('lat') / 60 / 10000) + let shipColor = '' + let color = f.get('color') + if (color) { + shipColor = color + } else { + let shiptype = f.get('shiptype') + shiptype = shiptype ? Number(shiptype) : 90 + switch (true) { + //70-79 货船 + case shiptype >= 70 && shiptype <= 79: + shipColor = '#53cf90' + break + //80-89 油船 + case shiptype >= 80 && shiptype <= 89: + shipColor = '#743675' + break + //60-69 客船 + case shiptype >= 60 && shiptype <= 69 && shiptype === 73: + shipColor = '#ffc24d' + break + //渔船 + case shiptype == 30: + shipColor = '#fc8a2a' + break + //拖船 + case shiptype == 52: + shipColor = '#bd3154' + break + //工程船 + case shiptype == 31 || + shiptype == 32 || + shiptype == 33 || + shiptype == 34 || + shiptype == 53: + shipColor = '#2fb3cc' + break + //公务执法船 + case shiptype == 35 || + shiptype == 50 || + shiptype == 51 || + shiptype == 55 || + shiptype == 58: + // shiptype == 59: + shipColor = '#8d1d55' + break + //其他 + default: + shipColor = '#065880' + break + } + } + style = new Style({ + fill: new styleFill({ + color: shipColor + }), + stroke: new styleStroke({ + color: '#333', + width: 0.5 + }) + }) + styles.push(style) + let nameStyle = null + let textline = null + //判断图层级别 + var rot = heading + if (rot !== 0) { + if (!rot) { + rot = direction + if (!rot) { + rot = 0 + } + } + } + let rot2 = 0 + if (direction === 0) { + rot2 = 0 + } else { + rot2 = direction ? direction : heading + if (!rot2) rot2 = 0 + } + let geom = null + if (speed && speed >= 0.5) {//显示三角形 + let x = [o[0], o[1] + (1.3 + speed * 0.1) * d] + let a = [o[0], o[1] + 1.3 * d] + let b = [o[0] - 0.7 * d, o[1] - d] + let c = [o[0] + 0.7 * d, o[1] - d] + geom = new Polygon([ + [x, a, b, c, a] + ]) + geom.rotate(-Math.PI / 180 * direction, o) + } else { //显示菱形 + let x = [o[0] - 0.5 * d, o[1] - 0.5 * d] + let a = [o[0] + 0.5 * d, o[1] - 0.5 * d] + let b = [o[0] - 0.5 * d, o[1] + 0.5 * d] + let c = [o[0] + 0.5 * d, o[1] + 0.5 * d] + geom = new Polygon([ + [x, a, c, b] + ]) + geom.rotate(Math.PI / 180 * 45, o) + } + f.setGeometry(geom) + + nameStyle = new Style({ + text: new styleText({ + font: '16px Microsoft YaHei 100', + textAlign: 'left', + overflow: true, + fill: new styleFill({ + color: '#000' + }), + stroke: new styleStroke({ + color: '#fff', + width: 3 + }), + textBaseline: 'bottom', + offsetX: 10, + offsetY: 20, + text: shipnameEn + }) + }) + + // let pix = map.getPixelFromCoordinate(o) + // let e = [] + // e[0] = pix[0] + // e[1] = pix[1] + // e[0] += 20 + // e[1] += 10 + // let end = map.getCoordinateFromPixel(e) + // let slGeo = new LineString([o, end]) + // textline = new Style({ + // fill: new styleFill({ + // color: 'black' + // }), + // stroke: new styleStroke({ + // color: 'black', + // width: 0.5 + // }) + // }) + // textline.setGeometry(slGeo) + + if (zoom > 11) { + // if (nameStyle) { + // styles.push(nameStyle) + // } + // if (textline) { + // styles.push(textline) + // } + } + + return styles +} + +// 新的船舶样式 +shipStyle.newShipStyle = function (f, zoom, map) { + return new Style({ + image: new RegularShape({ + stroke: new styleStroke({ + color: '#333333FF', + width: 1 + }), + fill: new styleFill({ + color: 'red' + }), + radius: 8, + points: 4 + }) + }) +} + +//测距最终显示的样式 +shipStyle.ceJuStyle = new Style({ + fill: new styleFill({ + color: 'red' + }), + stroke: new styleStroke({ + color: 'red', + width: 3 + }), + image: new CircleStyle({ + radius: 7, + fill: new styleFill({ + color: 'red' + }) + }) +}) +//测距画笔的样式 +shipStyle.drawStyle = new Style({ + fill: new styleFill({ + color: 'red' + }), + stroke: new styleStroke({ + color: 'red', + width: 3 + }), + image: new CircleStyle({ + radius: 5, + stroke: new styleStroke({ + color: 'red' + }), + fill: new styleFill({ + color: 'red' + }) + }) +}) + +shipStyle.newShip = function () { + return new Style({ + image: new styleIcon({ + // 点的颜色 + fill: new styleFill({ + color: '#000' + }), + // 圆形半径 + radius: 7 + }) + }) +} +//船舶样式 +shipStyle.shipStyle = function (f, r) { + let r1 = 0.0005 //r=0.0005代表着100米 + let style = null + let gemo = null + let speed = parseFloat(f.get('sog')) + let direction = parseFloat(f.get('cog')) + let o = f.get('geom').getCoordinates() + let lon = parseFloat(f.get('lon') / 60 / 10000) + let lat = parseFloat(f.get('lat') / 60 / 10000) + let name = f.get('shipnameEn') + //判断图层级别 + if (r < 13) { + style = new Style({ + stroke: new styleStroke({ + color: 'red', + width: 1 + }) + }) + //判断航向是不是O 是就显示方块 + // if (speed == 0) { + // let a = changeCoor([lon - r1, lat - r1]); + // let s = changeCoor([lon - r1, lat + r1]); + // let v = changeCoor([lon + r1, lat + r1]); + // let g = changeCoor([lon + r1, lat - r1]); + // gemo = new Polygon([[a, s, v, g]]); + // gemo.rotate(Math.PI / 180 * 45, o); + // } else { + let x = changeCoor([lon, lat + (1.8 + speed * 0.2) * r1]) + let a1 = changeCoor([lon, lat + 1.8 * r1]) + let b1 = changeCoor([lon - 0.4 * r1, lat + r1]) + let c1 = changeCoor([lon + 0.4 * r1, lat + r1]) + let d1 = changeCoor([lon - 0.4 * r1, lat - 1.5 * r1]) + let e1 = changeCoor([lon + 0.4 * r1, lat - 1.5 * r1]) + gemo = new Polygon([[x, a1, b1, d1, e1, c1, a1]]) + gemo.rotate((-Math.PI / 180) * direction, o) + // } + } else { + r1 = r / 20000 + style = new Style({ + fill: new styleFill({ color: '#7CFC00' }), + stroke: new styleStroke({ + color: '#333', + width: 0.5 + }) + }) + let x = changeCoor([lon, lat + (1.3 + speed * 0.1) * r1]) + let a = changeCoor([lon, lat + 1.3 * r1]) + let b = changeCoor([lon - 0.7 * r1, lat - r1]) + let c = changeCoor([lon + 0.7 * r1, lat - r1]) + gemo = new Polygon([[x, a, b, c, a]]) + gemo.rotate((-Math.PI / 180) * direction, o) + } + f.setGeometry(gemo) + + let nameStyle = new Style({ + text: new styleText({ + font: '16px Microsoft YaHei 100', + textAlign: 'left', + overflow: true, + fill: new styleFill({ + color: '#000' + }), + stroke: new styleStroke({ + color: '#fff', + width: 3 + }), + textBaseline: 'bottom', + /*backgroundStroke:new Stroke({ + color: '#8D9080', + width: 1 + }),*/ + offsetX: 0, + offsetY: 20, + text: name + }) + }) + let flag = new Style({ + image: new styleIcon({ + src: '../img/end.png', + imgSize: [10, 22], + //scale: 0.5 + offsetX: 0, + offsetY: 11 + }), + text: new styleText({ + font: '16px Microsoft YaHei 100', + textAlign: 'left', + overflow: true, + fill: new styleFill({ + color: '#000' + }), + stroke: new styleStroke({ + color: '#fff', + width: 3 + }), + textBaseline: 'bottom', + /*backgroundStroke:new Stroke({ + color: '#8D9080', + width: 1 + }),*/ + offsetX: 50, + offsetY: 20, + text: 'name' + }) + }) + let styles = [] + styles.push(style) + if (r >= 11) { + styles.push(nameStyle) + } + return styles +} +//船舶选中框样式 +shipStyle.selectStyle = new Style({ + image: new styleIcon({ + anchor: [0.5, 0.5], + src: kuang + }) +}) +//标记的样式 +shipStyle.signStyle = new Style({ + image: new styleIcon({ + anchor: [0.5, 0.5], + src: sign + }), + text: new styleText({ + text: '未命名', //f.get('name') + font: '12px Calibri,sans-serif', + offsetY: 20, //位置 + offsetX: 0, //位置 + fill: new styleFill({ + color: 'black' //填充颜色 + }) + }) +}); + +//轨迹路线颜色 +(shipStyle.pathColor = function () { + return new Style({ + stroke: new styleStroke({ + color: 'red', + width: 3 + }) + }) +}), + //范围线样式 + (shipStyle.areastyle = function () { + return new Style({ + stroke: new styleStroke({ + color: 'rgba(230,162,60,0.8)', + width: 5 + }) + }) + }) +//船舶点击样式 +shipStyle.clickStyle = function () { + return function (f, r) { + let r1 = 0.0005 //r=0.0005代表着100米 + let style = null + let gemo = null + let speed = parseFloat(f.get('sog')) + let direction = parseFloat(f.get('cog')) + let o = f.get('geom').getCoordinates() + let lon = parseFloat(f.get('lon')) + let lat = parseFloat(f.get('lat')) + //判断图层级别 + if (r < 13) { + style = new Style({ + stroke: new styleStroke({ + color: 'black', + width: 1 + }), + fill: new styleFill({ + color: '#7CFC00' + }) + }) + //判断航向是不是O 是就显示方块 + if (speed == 0) { + let a = changeCoor([lon - r1, lat - r1]) + let s = changeCoor([lon - r1, lat + r1]) + let v = changeCoor([lon + r1, lat + r1]) + let g = changeCoor([lon + r1, lat - r1]) + gemo = new Polygon([[a, s, v, g]]) + gemo.rotate((Math.PI / 180) * 45, o) + } else { + let x = changeCoor([lon, lat + (1.8 + speed * 0.2) * r1]) + let a1 = changeCoor([lon, lat + 1.8 * r1]) + let b1 = changeCoor([lon - 0.4 * r1, lat + r1]) + let c1 = changeCoor([lon + 0.4 * r1, lat + r1]) + let d1 = changeCoor([lon - 0.4 * r1, lat - 1.5 * r1]) + let e1 = changeCoor([lon + 0.4 * r1, lat - 1.5 * r1]) + gemo = new Polygon([[x, a1, b1, d1, e1, c1, a1]]) + gemo.rotate((-Math.PI / 180) * direction, o) + } + } else { + r1 = r / 20000 + style = new Style({ + fill: new styleFill({ color: '#7CFC00' }), + stroke: new styleStroke({ + color: '#333', + width: 0.5 + }) + }) + let x = changeCoor([lon, lat + (1.3 + speed * 0.1) * r1]) + let a = changeCoor([lon, lat + 1.3 * r1]) + let b = changeCoor([lon - 0.7 * r1, lat - r1]) + let c = changeCoor([lon + 0.7 * r1, lat - r1]) + gemo = new Polygon([[x, a, b, c, a]]) + gemo.rotate((-Math.PI / 180) * direction, o) + } + f.setGeometry(gemo) + return style + } +} +//历史轨迹样式 +shipStyle.pathStyle = function (time) { + return new Style({ + image: new styleCircle({ + // 点的颜色 + fill: new styleFill({ + color: 'yellow' + }), + // 圆形半径 + radius: 5 + }), + text: new styleText({ + text: time, //f.get('name') + font: '12px Calibri,sans-serif', + offsetY: 20, //位置 + offsetX: 0, //位置 + fill: new styleFill({ + color: '#00a0e9' + }), + stroke: new styleStroke({ + color: 'white', + width: 4 + }) + }) + }) +} +//历史轨迹开始结束点的样式 +shipStyle.pathSEStyle = function (state) { + let style = null + if (state == 'start') { + style = new Style({ + image: new styleIcon({ + src: start, + anchor: [0.5, 1] + }) + }) + } else { + style = new Style({ + image: new styleIcon({ + src: end, + anchor: [0.5, 1] + }) + }) + } + return style +} +//自定义数据添加线段的样式 +shipStyle.agtStyle = (color, type) => { + color = color ? color : '#FF5454' + let style = null + if (type == 1) { + style = new Style({ + stroke: new styleStroke({ + color: color, + width: 2, + lineDash: [10, 10] + }) + }) + } else { + style = new Style({ + stroke: new styleStroke({ + color: color, + width: 2 + }) + }) + } + return style +} + +//等值线样式 +shipStyle.isobarStyle = new Style({ + fill: new Fill({ color: 'transparent' }), + stroke: new styleStroke({ + width: 2, + color: [241, 241, 241, 0.8], + }), + text: new styleText({ + font: '12px Calibri,sans-serif', + placement: 'line', + fill: new styleFill({ + color: '#000', + }), + stroke: new styleStroke({ + color: '#fff', + width: 3, + }), + }), +}) +//港口样式 +shipStyle.portStyle = function (f) { + return new Style({ + image: new styleIcon({ + anchor: [0.5, 0.5], + src: port + }), + text: new styleText({ + text: f.get('name'), + font: '12px Calibri,sans-serif', + offsetY: -10, //位置 + offsetX: 25, //位置 + fill: new styleFill({ + color: 'blue' //填充颜色 + }) + }) + }) +} +shipStyle.berthStyle = function (f) { + return new Style({ + image: new styleIcon({ + anchor: [0.5, 0.5], + src: berth, + size: [20, 20], + scale: 1 + }), + text: new styleText({ + text: f.get('name'), + font: '12px Calibri,sans-serif', + offsetY: -10, //位置 + offsetX: 25, //位置 + fill: new styleFill({ + color: 'blue' //填充颜色 + }) + }) + }) +} + +//定义一个函数用于转换坐标 +let changeCoor = (coor) => transform(coor, 'EPSG:4326', 'EPSG:3857') + +export default shipStyle diff --git a/src/util/message/index.ts b/src/util/message/index.ts new file mode 100644 index 0000000..9278f91 --- /dev/null +++ b/src/util/message/index.ts @@ -0,0 +1,45 @@ +import '../../../node_modules/toastr/toastr.scss' + +const toastr = require('../../../node_modules/toastr/toastr') +toastr.options = { + closeButton: true,//显示关闭按钮 + debug: false, + progressBar: true,//显示进度条 + positionClass: "toast-top-right",//位置 + onclick: null,//点击消息框自定义事件 + showDuration: "300",//显示动作时间 + hideDuration: "1000",//隐藏动作时间 + timeOut: "2000",//显示时间,0为永久显示 + extendedTimeOut: "1000",//鼠标移动过后显示显示时间 + showEasing: "swing", + hideEasing: "linear", + showMethod: "fadeIn",//显示方式 + hideMethod: "fadeOut"//隐藏方式 +} +class MessageUtil { + /** + * 正常消息弹窗 + * @param data + */ + public static info (data: any) { + return toastr.info(data) + } + + /** + * 警告消息弹窗 + * @param data + */ + public static warring (data: any) { + return toastr.warring(data) + } + + /** + * 错误消息弹窗 + * @param data + */ + public static error (data: any) { + return toastr.error(data) + } +} + +export default MessageUtil diff --git a/src/util/mini/index.ts b/src/util/mini/index.ts new file mode 100644 index 0000000..30363f2 --- /dev/null +++ b/src/util/mini/index.ts @@ -0,0 +1,46 @@ +import Vue from 'vue' + +/** + * 最小化列表 + */ +class MiniUtil { + /** + * 添加最小化内容 + * @param data + */ + public static addMini(data: any) { + Vue.prototype.$MiniList.push(data) + } + + /** + * 删除最小化内容 + * @param type + */ + public static delMini(type: string) { + const list = Vue.prototype.$MiniList + if (list) { + list.forEach((item: any, index: any) => { + if (item.type === type) { + Vue.prototype.$MiniList.splice(index, 1) + } + }) + } + } + + /** + * 判断传入的类型是否最小化显示 + * @param type + */ + public static isHasMini(type: string) { + let data = false + const list = Vue.prototype.$MiniList + list.forEach((item: any) => { + if (item.type === type) { + data = true + } + }) + return data + } +} + +export default MiniUtil diff --git a/src/util/new-dialog/index.ts b/src/util/new-dialog/index.ts new file mode 100644 index 0000000..1cb88b7 --- /dev/null +++ b/src/util/new-dialog/index.ts @@ -0,0 +1,128 @@ +import Vue from 'vue' +import MiniUtil from '@/util/mini' +import store from '@/store' +import i18n from '@/util/translate' + +class DialogUtil { + public static showDialog(vueTemplate: any, vueName: string, data: any) { + const flag = MiniUtil.isHasMini(vueName) + if (flag) this.closeMini(vueName) + const showComponents = Vue.prototype.$showComponents + const compent = showComponents.get(vueName) + if (!compent) { + const MountComponent = Vue.extend(vueTemplate) + const vm = new MountComponent({ + propsData: { + tempData: data + }, + store, + i18n + }) + const menug = vm.$data.menuGroup + if (menug) { + const group: Map = Vue.prototype.$menuGroup + if (!group.has(menug)) { + group.set(menug, vueName) + } else { + this.closeCom(group.get(menug)) + group.set(menug, vueName) + } + } + vm.$mount(document.createElement('div')); + (document.getElementById('ship-type-box') as HTMLElement).append(vm.$el) + showComponents.set(vueName, vm) + } else { + compent.$props.tempData = data + compent.$forceUpdate() + } + } + + /** + * 查看组件是否显示 + * @param vueName + */ + public static isShow(vueName: string) { + const showComponents = Vue.prototype.$showComponents + const component = showComponents.get(vueName) + if (component) { + return component.$options.propsData.tempData.show + } else { + return false + } + } + + /** + * 隐藏组件 + * @param vueName 组件名称 + */ + public static hideCom(vueName: string) { + const showComponents = Vue.prototype.$showComponents + const component = showComponents.get(vueName) + if (component) { + component.$props.tempData.show = false + component.$forceUpdate() + } + } + + /** + * 显示组件 + * @param vueName 组件名称 + */ + public static showCom(vueName: string) { + const showComponents = Vue.prototype.$showComponents + const component = showComponents.get(vueName) + if (component) { + component.$props.tempData.show = true + component.$forceUpdate() + } + } + + /** + * 添加最小化显示 + * @param vueName + */ + public static showMini(vueName: string) { + const showComponents = Vue.prototype.$showComponents + const component = showComponents.get(vueName) + MiniUtil.addMini({ + type: vueName, + title: component.dialogConfig.header.title + }) + this.hideCom(vueName) + } + + /** + * 关闭最小化显示 + * @param vueName + */ + public static closeMini(vueName: string) { + MiniUtil.delMini(vueName) + this.closeCom(vueName) + } + + /** + * 关闭销毁组件 + * @param vueName + */ + public static closeCom(vueName: string) { + const showComponents = Vue.prototype.$showComponents + const component = showComponents.get(vueName) + if (component) { + if (MiniUtil.isHasMini(vueName)) { + MiniUtil.delMini(vueName) + } + const el = component.$el + component.$refs[vueName].cancel() + el.parentElement.removeChild(el) + component.$destroy() + showComponents.delete(vueName) + } + } + + public static getCom(vueName: string) { + const showComponents = Vue.prototype.$showComponents + return showComponents.get(vueName) + } +} + +export default DialogUtil diff --git a/src/util/store/index.ts b/src/util/store/index.ts new file mode 100644 index 0000000..3af0c9a --- /dev/null +++ b/src/util/store/index.ts @@ -0,0 +1,107 @@ +import store from '@/store' + +class StoreUtil { + /** + * 设置地图实例 + * @param data + */ + public setMapInstance(data: any) { + store.commit('setMapInstance', data) + } + + /** + * 设置地图封装方法 + * @param data + */ + public setMapFun(data: any) { + store.commit('setMapFun', data) + } + + /** + * 获取地图封装方法 + */ + public getMapFun() { + return store.state.mapFun + } + + /** + * 获取地图实例 + */ + public getMapInstance() { + return store.state.mapInstance + } + + /** + * 设置目录 + * @param data + */ + public setDictionary(data: any) { + store.state.dictionary = data + } + + /** + * 设置船舶信息 + * @param data + */ + public setShipData(data: any) { + store.state.ship = data + } + + /** + * 设置船舶信息 + * @param data + */ + public setShipFleet(data: any) { + store.state.shipFleet = data + } + + /** + * 获取国籍字典 + */ + public getCountry() { + const data: any = store.state.dictionary + if (data) { + return data.shipCountry + } else { + return null + } + } + + /** + * 获取船舶类型字典 + */ + public getShipType() { + const data: any = store.state.dictionary + if (data) { + return data.shipType + } else { + return null + } + } + + /** + * 获取船舶状态字典 + */ + public getShipStatus() { + const data: any = store.state.dictionary + if (data) { + return data.shipStatus + } else { + return null + } + } + + /** + * 获取船舶状态字典 + */ + public getShipFleet() { + const data: any = store.state.shipFleet + if (data) { + return data + } else { + return null + } + } +} + +export default new StoreUtil() diff --git a/src/util/temp-interface/index.ts b/src/util/temp-interface/index.ts new file mode 100644 index 0000000..d4e2518 --- /dev/null +++ b/src/util/temp-interface/index.ts @@ -0,0 +1,31 @@ +/** + * FOLLOW_SHIP_FROM 添加分组组件名称 + * + */ +export enum DialogType { + TRACK_RECORD = 'TrackRecordTemp', // 轨迹查询弹窗 + TRACK_RECORD_LOG = 'TrackRecordLogTemp', // 轨迹记录弹窗 + SEARCH_LIST = 'SearchListTemp', // 搜索记录 + DATA_ANALYSIS = 'DataAnalysisTemp', // 数据分析 + MAP_TOOL = 'MapToolTemp', // 地图工具 + SHIP_RANKS = 'ShipRanksTemp', // 全部船队 + WEATHER = 'WeatherTemp', // 海况天气 + PORT_QUERY = 'PortQueryTemp', // 港口查询 + ROUTE_QUERY = 'RouteQueryTemp', // 航线查询 + SHIP_INFO = 'ShipInfoTemp', // 船舶信息 + CAR_INFO = 'CarInfoTemp', // 车辆信息 + PORT_OF_CALL = 'PortOfCallTemp', // 到离港记录 + CONTAINER_QUERY = 'ContainerQueryTemp', // 集装箱查询 + AREA_LIST = 'AreaListTemp', // 区域列表 + MESSAGE_LIST = 'MessageListTemp', // 消息列表 + ARRIVE_LEAVE_QUERY = 'ArriveLeaveQueryTemp', // 到港查询 + DEPARTURE_INQUIRY = 'DepartureInquiryTemp', // 离港查询 + EXPECTED_ARRIVAL = 'ExpectedArrivalTemp', // 预计到港 + SHIP_EVENT = 'ShipEventTemp', // 船舶事件 + NUMBER_OF_BERTHS = 'NumberOfBerthsTemp', // 在泊统计 + POINT_POINT_RES = 'PointToPointResTemp', // 点到点结果显示 + ROUTE_YC = 'RouteYcTemp', // 航线预测 + SHIP_IN_BERTH = 'ShipInBerthTemp', // 泊位统计中详情显示船舶信息 + NOTAN = 'NotanTemp', // 航行通告 + WEATHER_IMG = 'WeatherImgTemp' // 台风图例 +} diff --git a/src/util/tool/index.ts b/src/util/tool/index.ts new file mode 100644 index 0000000..e134951 --- /dev/null +++ b/src/util/tool/index.ts @@ -0,0 +1,274 @@ +import Vue from 'vue' +import store from '@/util/store' + +class SearchLog { + public addSearchLog(data: any) { + Vue.prototype.$SearchLog.push(data) + } +} + +class shipUtil { + + /** + * 通过船舶类型代码获取船舶类型 + * @param data 船舶类型代码 + */ + public getShipType(data: any, en?: boolean) { + const shipTypes = store.getShipType() + if (shipTypes) { + const shipType = shipTypes.find((val: any) => { + return val.id === data + }) + if (shipType) { + if (en) { + return shipType.valueEn + } else { + return shipType.valueChs + } + } else { + if (en) { + return 'Other' + } else { + return '其他类型' + } + } + } + } + + public newGetShipType(shipTypeId: any, en?: boolean) { + if (shipTypeId === '30') { + return en ? 'Fishing vessel' : '渔船' + } else if (shipTypeId === '52') { + return en ? 'TUG' : '拖轮' + } else if (['31', '32', '33', '34', '53'].indexOf(shipTypeId) !== -1) { + return en ? 'Working ship' : '工程船' + } else if (shipTypeId === '37') { + return en ? 'Passenger' : '客船' + } else if (shipTypeId[0] === '6') { + return en ? 'Passenger' : '客船' + } else if (['35', '50', '51', '55', '58', '59'].indexOf(shipTypeId) !== -1) { + return en ? 'Official law enforcement ship' : '公务执法船' + } else if (shipTypeId[0] === '7') { + return en ? 'Cargo ship' : '货船' + } else if (shipTypeId[0] === '8') { + return en ? 'Tanker' : '油船' + } else { + return en ? 'Other' : '其他' + } + } + + /** + * 通过mmsi的前3位获取船籍国 + * @param data mmsi的前3位 + */ + public getShipCountryImg(data: any) { + const countries = store.getCountry() + if (countries) { + const country = countries.find((val: any) => { + return val.id === data + }) + return country ? require(`../../../public/country-img/${country.valueAbbr}.png`) : require(`../../../public/country-img/undefined.png`) + } + } + + /** + * 通过mmsi的前3位获取国家名称 + * @param data mmsi的前3位 + */ + public getShipCountryImgName(data: any) { + const countries = store.getCountry() + if (countries) { + const country = countries.find((val: any) => { + return val.id === data + }) + return country && country.valueEn ? country.valueEn : '' + } + } + + /** + * 通过mmsi的前3位获取船籍字符 + * @param data mmsi的前3位 + */ + public getShipCountryCode(data: any) { + const countries = store.getCountry() + if (countries) { + const country = countries.find((val: any) => { + return val.id === data + }) + return country ? `${country.valueEn ? country.valueEn + '/' : ''}${country.valueChs ? country.valueChs : ''}` : 'undefined' + } + } + + /** + * 通过mmsi的前3位获取船籍对象 + * @param data mmsi的前3位 + */ + public getShipCountry(data: any) { + const countries = store.getCountry() + if (countries) { + const country = countries.find((val: any) => { + return val.id === data + }) + return country || 'undefined' + } + } + + /** + * 通过状态码获取船舶状态 + * @param data + */ + public getShipStatus(data: any, en?: boolean) { + const status = store.getShipStatus() + if (status) { + const sta = status.find((val: any) => { + return val.id === data + '' + }) + if (sta) { + if (en) { + return sta.valueEn + } else { + return sta.valueChs + } + } else { + if (en) { + return 'undefined' + } else { + return '未知' + } + } + // return sta ? sta.valueChs : '未知' + } + } + + /** + * 纬度格式化 + * @param value + */ + public filterLat(value: any) { + if (value === undefined || value === '' || value === null) { + return + } + let dData = 0 + if (Math.abs(value) < 90) { + dData = Math.abs(value) + } else { + dData = Math.abs(value / 10000 / 60) + } + let isPlus = value > 0 ? 'N' : 'S' + let degree = parseInt(dData + '') + let min = parseInt((dData - degree) * 60 + '') + let sec = (((dData - degree) * 60 - min) * 60).toFixed(2) + return `${degree}°${min}′${sec}″${isPlus}` + } + + /** + * 经度格式化 + * @param value + */ + public filterLon(value: any) { + if (value === undefined || value === '' || value === null) { + return + } + let dDate = 0 + if (Math.abs(value) < 180) { + dDate = Math.abs(value) + } else { + dDate = Math.abs(value / 10000 / 60) + } + let isPlus = value > 0 ? 'E' : 'W' + let degree = parseInt(dDate + '') + let min = parseInt((dDate - degree) * 60 + '') + let sec = (((dDate - degree) * 60 - min) * 60).toFixed(2) + return `${degree}°${min}′${sec}″${isPlus}` + } + + /** + * 时间格式化 + * @param data + */ + public formatDate(time: any, fmt: any) { + if (time === undefined || time === '' || time === null || time === 0) { + return + } + if (typeof time === 'string') { + return time + } + time = time * 1000 + const date = new Date(time) + if (/(y+)/.test(fmt)) { + fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length)) + } + const o = { + 'M+': date.getMonth() + 1, + 'd+': date.getDate(), + 'h+': date.getHours(), + 'm+': date.getMinutes(), + 's+': date.getSeconds() + } + for (const k in o) { + if (new RegExp(`(${k})`).test(fmt)) { + // @ts-ignore + const str = o[k] + '' + fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? str : this.padLeftZero(str)) + } + } + return fmt + } + + private padLeftZero(str: any) { + return ('00' + str).substr(str.length) + } +} + +/** + * 最小化列表 + */ +class MiniList { + + /** + * 添加最小化内容 + * @param data + */ + public addMini(data: any) { + Vue.prototype.$MiniList.push(data) + } + + /** + * 删除最小化内容 + * @param index + */ + public delMini(type: string) { + const list = Vue.prototype.$MiniList + if (list) { + list.forEach((item: any, index: any) => { + if (item.type === type) { + Vue.prototype.$MiniList.splice(index, 1) + } + }) + } + } + + /** + * 判断传入的类型是否最小化显示 + * @param type + */ + public isHasMini(type: string) { + let data: any = null + const list = Vue.prototype.$MiniList + list.forEach((item: any) => { + if (item.type === type) { + data = item.data + } + }) + return data + } +} + +const SearchLogUtil = new SearchLog() +const ShipUtils = new shipUtil() +const MiniUtils = new MiniList() +export { + SearchLogUtil, + ShipUtils, + MiniUtils +} diff --git a/src/util/translate/index.ts b/src/util/translate/index.ts new file mode 100644 index 0000000..f7d5b30 --- /dev/null +++ b/src/util/translate/index.ts @@ -0,0 +1,40 @@ +import Vue from 'vue' +import VueI18n from 'vue-i18n' +import {Language} from "@/module/menu"; + +// @ts-ignore +import ElLocal from 'element-ui/lib/locale' +// @ts-ignore +import enLocale from 'element-ui/lib/locale/lang/en' +// @ts-ignore +import zhLocale from 'element-ui/lib/locale/lang/zh-CN' + +const langZH = require('./lang/zh.json') +const langEn = require('./lang/en.json') +Vue.use(VueI18n) +const i18n = new VueI18n({ + locale: 'zh', + messages: { + en: { + message: { + ...langEn + }, + ...enLocale + }, + zh: { + message: { + ...langZH + }, + ...zhLocale + } + } +}) +ElLocal.i18n((key: any, value: any) => i18n.t(key, value)) +const nowL = window.localStorage.getItem('language') +if (nowL) { + i18n.locale = nowL +} else { + window.localStorage.setItem('language', Language.zh) +} + +export default i18n diff --git a/src/util/translate/lang/en.json b/src/util/translate/lang/en.json new file mode 100644 index 0000000..25598bb --- /dev/null +++ b/src/util/translate/lang/en.json @@ -0,0 +1,420 @@ +{ + "search": { + "shipName": "Ship name", + "mmsi": "Mmsi", + "imo": "Imo", + "lastUpdated": "Update time", + "port": "Port", + "country": "Country", + "portName": "Port name", + "info": "Enter Ship", + "minutesAgo": "minutes ago", + "hoursAgo": "hours ago", + "daysAgo": "days ago" + }, + "portHoverView": { + "chineseName": "Chinese name", + "englishName": "English name", + "portCode": "Port code", + "portPos": "Port coordinates" + }, + "ShipHoverView": { + "shipName": "Ship name", + "mmsi": "Mmsi", + "lon": "Lon", + "lat": "Lat", + "time": "Time" + }, + "TrackHoverView": { + "course": "Course", + "Speed": "Speed", + "time": "Time'" + }, + "PortQuery": { + "arrive": "Arrived", + "leave": "Departured", + "yj": "Arriving", + "crude": "Crude oil port", + "portTitle": "Port", + "portNameC": "Port name(CN)", + "portNameE": "Port name(En)", + "countryOfPort": "Country of port", + "areaOfPort": "Area of port", + "portTimeZone": "Time zone", + "maximumDraftLimit": "Maximum draft limit", + "maximumDWTLimit": "Maximum dwt limit", + "maximumCaptainLimit": "Maximum captain limit", + "dryBulkFacilities": "Dry bulk facilities", + "breakBulkFacilities": "Break bulk facilities", + "containerFacilities": "Container facilities", + "roRoFacilities": "Roro facilities", + "passengerFacilities": "Passenger facilities", + "liquidFacilities": "Liquid facilities", + "lngFacilities": "LNG facilities", + "lpgFacilities": "LPG facilities", + "dryDockFacilities": "Dry dock facilities", + "freeTradeZone": "Free trade zone", + "berthTitle": "Berth", + "noText": "null", + "allShowBerth": "All berths", + "berthName": "Berth name", + "berthOperator": "Berth operator", + "berthType": "Berth type", + "berthStatus": "Berth status", + "facilityType": "Facility type", + "nightBerthing": "Night berthing", + "nightBerthingNote": "Night berthing note", + "nightUnberthing": "Night unberthing", + "shipLOAMax": "Ship loa max", + "shipLOAMin": "Ship loa min", + "shipLOANote": "Ship loa note", + "shipDwtMax": "Ship dwt max", + "shipDwtMin": "Ship dwt min", + "shipDWTNote": "Ship dwt note", + "shipDispMax": "Ship disp max", + "shipDispMin": "ship disp min", + "shipDispNote": "Ship disp note", + "shipBeamMax": "Ship beam max", + "berthDispMax": "Berth disp max", + "gTMax": "GT max", + "TEU": "Teu", + "totalPBLMin": "Total pbl min", + "manifoldBCMMax": "Manifold bcm max", + "manifoldBCMMin": "Manifold bcm min", + "manifoldSCMMax": "Manifold scm max", + "manifoldSCMMin": "Manifold scm min", + "manifoldHeightMax": "Manifold height max", + "manifoldHeightMin": "Manifold height min", + "derrickSWLMin": "Derrick swl min", + "wLMastheadHeightMax": "Wl masthead height max", + "manifoldPBLMinFwd": "Manifold pbl min fwd", + "manifoldPBLMinAft": "Manifold pbl min aft", + "manifoldUsed": "Manifold used", + "roRo": "Ro ro", + "passengerType": "Passenger", + "rampWidth": "Ramp width(m)", + "rampSWL": "Ramp swl(t)", + "breakBulk": "Break bulk", + "naval": "Naval", + "coastal": "Coastal", + "timberProducts": "Timber products", + "fishing": "Fishing", + "container": "Container", + "transhipment": "Transhipment", + "offshore": "Off shore", + "projectHeavy": "Project heavy", + "steelProducts": "Steel products", + "twinSpan": "Twin span", + "cranesNote": "Cranes note", + "allWeatherBerth": "All weather berth", + "coldIroning": "Cold ironing", + "sideAlongside": "Side alongside", + "bunkersHFO": "Bunkers hfo", + "deliveryHFO": "Delivery hfo", + "gangwayUsed": "Gangway used", + "bunkersDOGO": "Bunkers do go", + "mooringsFwd": "Moorings fwd", + "mooringsAft": "Moorings aft", + "bunkersLNG": "Bunkers lng", + "deliveryLNG": "Delivery lng", + "freshWater": "Fresh water", + "deliveryFW": "Delivery fw", + "cow": "Cow", + "berthAdditionalInfo": "Berth additional info", + "reefer": "Reefer", + "waterLineHeightHWMaxDecimal": "Water line height hw max decimal", + "dryBulkCargo": "Dry bulk cargo", + "weather": "Weather", + "temperature": "Temperature", + "windSpeed": "Wind speed", + "waveHeight": "Wave height", + "rush": "Rush", + "windDirection": "Wind direction", + "surgeHeight": "Surge height", + "visibility": "Visibility", + "dongTai": "DongTai", + "day": "Day", + "week": "Week", + "month": "Month", + "mao": "Mao", + "berth": "Berth", + "port": "Port", + "maoTime": "Mao time", + "doTime": "Do time", + "chooseBerth": "Choose berth" + }, + "arriveLeave": { + "choosePort": "Place choose port", + "port": "Port", + "portCountry": "Country", + "startTime": "Start time", + "endTime": "End time", + "search": "Search", + "chooseShip": "Ship screening", + "etaStartChoose": "ETA start", + "etaEndChoose": "ETA end", + "screen": "Screening", + "choose": "Place choose", + "shipName": "Ship name", + "shipType": "Ship type", + "draught": "Draught", + "sog": "Sog", + "destPort": "Dest port", + "eta": "ETA", + "latestTime": "Update time", + "arrivalTime": "Arrival time", + "berthTime": "Berth time", + "leaveTime": "Leave time", + "shipLength": "LOA", + "flag": "Flag", + "lastPortName": "Last port name", + "nextPortName": "Next port name", + "lastOutTime": "Last port Dep", + "nextInTime": "Next in time", + "export": "Export" + }, + "shipInfo": { + "shipYc": "Route calculate", + "mmsi": "mmsi", + "shipHeading": "Ship heading", + "callsign": "Callsign", + "shipCoursing": "Ship coursing", + "imo": "Imo", + "speed": "Speed", + "vesselType": "Vessel type", + "lat": "Lat", + "status": "Status", + "lon": "Lon", + "shipLength": "Length", + "destination": "Destination", + "breadth": "Breadth", + "draught": "Draught", + "eta": "ETA", + "lastUpdated": "Last updated", + "shipFlag": "Flag", + "onTheWay": "On the way", + "arrival": "Arrival", + "noHc": "null", + "shipDoc": "Ship archives", + "ExName": "Ex name", + "FlagName": "Flag name", + "DateOfBuild": "Date Of build", + "shiptypeLevel3": "Ship type", + "Length": "Length", + "Depth": "Depth", + "GrossTonnage": "Gross tonnage", + "NetTonnage": "Net tonnage", + "Deadweight": "Dead weight", + "speedService": "Speed service", + "mainEngineModel": "Main engine model", + "mainEngineType": "Main engine type", + "fuelType1First": "Fuel type", + "fuelType1Capacity": "Fuel type capacity", + "groupBeneficialOwner": "Group beneficial owner", + "operator": "Operator", + "registeredOwner": "Registered owner", + "docCompany": "Doc company", + "cargoCapacitiesNarrative": "Cargo capacities narrative", + "innerShip": "China ship data", + "sailAreaName": "Sail area name", + "shipNameEn": "Ship name(en)", + "shipGrosston": "Ship grosston", + "shipType": "Ship type", + "shipEnginePower": "Ship engine power", + "shipPassengerNum": "Ship passenger number", + "location": "Location", + "trackHistory": "Track history", + "portCalling": "Port calling", + "ais": "Ais", + "shipName": "Ship name", + "predictionEta": "ETA (prediction by AI)" + }, + "trackRecord": { + "history": "History", + "moreHistory": "More history", + "noData": "null", + "voyageList": "Voyage list", + "startTime": "Start time", + "endTime": "End Time", + "c": "End time", + "delete": "Delete" + }, + "portOfCall": { + "oneMonth": "1 month", + "threeMonth": "3 months", + "sixMonth": "6 months", + "twelveMonth": "12 months", + "port": "Port", + "arriveTime": "Arrive time", + "departureTime": "Departure time", + "stopTime": "Stop time", + "portCalling": "Port calling" + }, + "searchList": { + "shipName": "Ship name", + "imo": "imo", + "mmsi": "mmsi", + "type": "type", + "shipLength": "Length", + "countryFlag": "Flag", + "draught": "Draught", + "speed": "Speed", + "destination": "Destination" + }, + "mapTool": { + "measureTool": "Measure tool", + "measureDistance": "Measure distance", + "measureArea": "Measure area", + "drawingArea": "Drawing area", + "shape": "Shape" + }, + "weather": { + "reset": "Reset", + "marineWeather": "Marine weather", + "temperature": "Temperature", + "airPressure": "Air pressure", + "wind": "Wind", + "current": "Current", + "typhoon": "Typhoon", + "legend": "Legend", + "typhoonList": "Typhoon List", + "view": "View", + "close": "Close" + }, + "routeQuery": { + "pol": "POL", + "pod": "POD", + "search": "Search", + "duration": "Voyage duration", + "mileage": "Mileage", + "averageSpeed": "Average speed", + "full": "Full", + "empty": "empty", + "origin": "origin", + "destination": "destination", + "port": "port", + "portToPort": "Port To Port", + "pointToPoint": "Point to Point", + "inputLon": "Enter longitude", + "inputLat": "Enter latitude", + "inputLonLatLong": "Please enter longitude and latitude, with longitude before latitude and then after latitude, separated by spaces, and multiple latitudes separated by commas", + "query": "Query", + "pointRoute": "Point to Point Route", + "route": "Route", + "voyageDistance": "Voyage Distance[nm]", + "timeInPort": "Time in Port", + "arrivePortTime": "Arrive Port Time", + "amount": "Amount", + "totalTime": "Total Time" + }, + "messageList": { + "status": "Status", + "arrival": "Arrival", + "leave": "Leave", + "shipName": "Ship name", + "port": "Port", + "startTime": "Time", + "messageStatistics": "Message statistics", + "messageDetails": "Message details", + "arrive": "Arrival", + "leave2": "Leave", + "details": "Details" + }, + "menu": { + "TrackRecordLogTemp": "Voyage history", + "AreaListTemp": "Area list", + "PortToPortTemp": "Port to port", + "SearchListTemp": "Search history", + "DataAnalysisTemp": "Data analysis", + "MapToolTemp": "Map selection", + "ShipRanksTemp": "My fleets", + "WeatherTemp": "Marine weather", + "RouteQueryTemp": "Voyage", + "ContainerQueryTemp": "Container module", + "portInfo": "Port Info", + "ArriveLeaveQueryTemp": "Arrived", + "DepartureInquiryTemp": "Departured", + "ExpectedArrivalTemp": "Arriving", + "crudeOilPort": "Crude oil port", + "messageList": "Message list", + "NumberOfBerthsTemp": "Ships at berths" + }, + "fleets": { + "location": "Location", + "vc": "Show/Hide", + "total": "Total" + }, + "containerQuery": { + "containerQuery": "Container code query", + "billOfLading": "Bill of lading", + "containerBoxNumber": "Number", + "tdCode": "Bol number", + "isoCode": "Iso code", + "containerPosName": "Container pos name", + "eventDescription": "Description", + "eventStatus": "Status", + "eventDate": "Date", + "eventActual": "Actual", + "eventType": "Type", + "vesselsName": "Name", + "eventVoyage": "Voyage", + "vesselCompliance": "Vessel compliance", + "eventlocationCompliance": "Location compliance", + "route": "Route" + }, + "areaList": { + "shipStatistics": "Ship statistics", + "shipFlagStatistics": "Ship flag statistics", + "shipList": "Ship list", + "shipType": "Type", + "shipFlag": "Ship flag", + "shipLength": "Length", + "select": "Select", + "type": "Type", + "nationality": "Nationality", + "draft": "Draft", + "sog": "Sog", + "destPort": "Dest port", + "shipName": "Ship name", + "all": "All" + }, + "allPort": "View all port", + "closeAllPort": "Close all port", + "shipEvent": { + "shipEvent": "Latest Event", + "eventName": "Event name", + "time": "Time", + "describe": "Describe", + "seaArea": "Sea area", + "screenPlaceholder": "Screen event name", + "oneMonth": "Last month", + "threeMonth": "Last three months", + "sixMonth": "Last six months", + "sevenDay": "Last seven days" + }, + "NumberOfBerthsTemp": { + "portName": "Port name", + "numberOfBerth": "Number of berths", + "operationDuration": "Operation duration", + "numberOfMao": "Number of mooring", + "mooringDuration": "Mooring duration", + "numberOfLeave": "Number of leave", + "operate": "operate" + }, + "typhoon": { + "name": "Name", + "start": "Start time", + "end": "End time", + "operate": "Operate" + }, + "routeCalculate": { + "destination": "Destination", + "speed": "Speed", + "search": "Search", + "rd": "Remaining Distance(nm)", + "td": "Travelled Distance(nm)", + "remainder": "Remainder(h)", + "tt": "Traveled Time(h)" + } +} + diff --git a/src/util/translate/lang/zh.json b/src/util/translate/lang/zh.json new file mode 100644 index 0000000..f20a3e5 --- /dev/null +++ b/src/util/translate/lang/zh.json @@ -0,0 +1,420 @@ +{ + "search": { + "shipName": "船名", + "mmsi": "MMSI", + "imo": "imo", + "lastUpdated": "更新时间", + "port": "港口", + "country": "国家", + "portName": "港口名称", + "info": "船舶", + "minutesAgo": "分钟前", + "hoursAgo": "小时前", + "daysAgo": "天前" + }, + "portHoverView": { + "chineseName": "中文名称", + "englishName": "英文名称", + "portCode": "港口代码", + "portPos": "港口坐标" + }, + "ShipHoverView": { + "shipName": "船名", + "mmsi": "MMSI", + "lon": "经度", + "lat": "纬度", + "time": "时间" + }, + "TrackHoverView": { + "course": "航向", + "Speed": "航速", + "time": "时间'" + }, + "PortQuery": { + "arrive": "到港查询", + "leave": "离港查询", + "yj": "预计到港", + "yy-": "预计到港", + "portTitle": "港口信息", + "portNameC": "港口名称(CN)", + "portNameE": "港口名称(EN)", + "countryOfPort": "港口所属国家", + "areaOfPort": "港口所属区域", + "portTimeZone": "时区", + "maximumDraftLimit": "最大吃水限制", + "maximumDWTLimit": "最大DWT限制", + "maximumCaptainLimit": "最大船长限制", + "dryBulkFacilities": "是否有干散货装卸设施", + "breakBulkFacilities": "是否有件杂货散货装卸设施", + "containerFacilities": "是否有集装箱装卸设施", + "roRoFacilities": "是否有滚装货物装卸设施", + "passengerFacilities": "是否有旅客登离设施", + "liquidFacilities": "是否有液货装卸设施", + "lngFacilities": "是否有液化天然气装卸设施", + "lpgFacilities": "是否有液化石油气装卸设施", + "dryDockFacilities": "是否有干船坞设施", + "freeTradeZone": "是否有自由贸易试验区", + "berthTitle": "泊位信息", + "noText": "无匹配数据", + "allShowBerth": "全部显示", + "berthName": "泊位名称", + "berthOperator": "泊位操作公司", + "berthType": "泊位类型", + "berthStatus": "泊位状态", + "facilityType": "泊位设施类型", + "nightBerthing": "夜间靠泊限制", + "nightBerthingNote": "夜间靠泊标准", + "nightUnberthing": "夜间离泊限制", + "shipLOAMax": "泊位最大船长", + "shipLOAMin": "泊位最小船长", + "shipLOANote": "允许靠泊船长标准说明", + "shipDwtMax": "泊位最大载重吨", + "shipDwtMin": "泊位最小载重吨", + "shipDWTNote": "允许靠泊船舶载重吨标准", + "shipDispMax": "泊位最大排水量", + "shipDispMin": "泊位最小排水量", + "shipDispNote": "允许靠泊船舶排水量标准", + "shipBeamMax": "泊位最大船宽", + "berthDispMax": "泊位对排水量的标准", + "gTMax": "泊位总吨最大限制", + "TEU": "泊位载箱量最大限制", + "totalPBLMin": "泊位最小平行体长", + "manifoldBCMMax": "最大船艏至集管中心距", + "manifoldBCMMin": "最小船艏至集管中心距", + "manifoldSCMMax": "最大船尾至集管中心距", + "manifoldSCMMin": "最小船尾至集管中心距", + "manifoldHeightMax": "总管距离水线最大高度", + "manifoldHeightMin": "总管距离水线最小高度", + "derrickSWLMin": "泊位起重机安全工作载荷", + "wLMastheadHeightMax": "水线上最大安全高度", + "manifoldPBLMinFwd": "允许的总管至船头最小平行长度", + "manifoldPBLMinAft": "允许的总管至船尾最小平行长度", + "manifoldUsed": "集管装卸使用位置", + "roRo": "泊位装卸滚装货物的类型", + "passengerType": "泊位登离旅客的类型", + "rampWidth": "滚装坡道宽度(米)", + "rampSWL": "滚装坡道安全工作载荷(吨)", + "breakBulk": "泊位是否能接收散货", + "naval": "泊位是否能接收海军舰艇补给", + "coastal": "泊位是否能接收海巡船舶", + "timberProducts": "泊位是否能接收木材货物", + "fishing": "泊位是否能接收渔船停靠", + "container": "泊位是否能接收集装箱货物", + "transhipment": "泊位是否能接收中转运输", + "offshore": "泊位是否能接收海上支援供应船舶", + "projectHeavy": "泊位是否能接收重型、大件货物", + "steelProducts": "泊位是否能接收钢铁及其制品", + "twinSpan": "是否有双千斤吊货锁", + "cranesNote": "泊位起重机类型", + "allWeatherBerth": "是否为全天候泊位", + "coldIroning": "泊位是否有岸电供使用", + "sideAlongside": "船舶停靠舷边限制", + "bunkersHFO": "泊位是否有船用HFO供应", + "deliveryHFO": "HFO加装方式", + "gangwayUsed": "使用舷梯方式", + "bunkersDOGO": "泊位是否有船用DO,GO供应", + "mooringsFwd": "泊位前系泊装置类型", + "mooringsAft": "泊位后系泊装置类型", + "bunkersLNG": "泊位是否有船用LNG供应", + "deliveryLNG": "LNG加装方式", + "freshWater": "泊位是否有船用淡水供应", + "deliveryFW": "淡水加装方式", + "cow": "泊位是否允许在排油期间对油罐进行原油洗舱", + "berthAdditionalInfo": "泊位额外使用说明", + "reefer": "泊位是否能接收冷藏货物", + "waterLineHeightHWMaxDecimal": "水线到舱盖板顶部最大距离", + "dryBulkCargo": "泊位是否能接收杂件货物", + "weather": "天气", + "temperature": "温度", + "windSpeed": "风速", + "waveHeight": "浪高", + "rush": "涌向", + "windDirection": "风向", + "surgeHeight": "涌高", + "visibility": "能见度", + "dongTai": "动态", + "day": "天", + "week": "周", + "month": "月", + "mao": "锚地情况", + "berth": "泊位情况", + "port": "港口情况", + "maoTime": "锚泊时间", + "doTime": "作业时长", + "chooseBerth": "选择泊位", + "crude": "原油港口" + }, + "arriveLeave": { + "choosePort": "请选择港口信息", + "port": "港口", + "portCountry": "国家", + "startTime": "开始时间", + "endTime": "结束时间", + "search": "搜索", + "chooseShip": "船舶查询", + "etaStartChoose": "ETA开始", + "etaEndChoose": "ETA结束", + "screen": "筛选", + "choose": "请选择", + "shipName": "船名", + "shipType": "类型", + "draught": "吃水", + "sog": "船速", + "destPort": "目的地", + "eta": "预到时间", + "latestTime": "最新时间", + "arrivalTime": "到港时间", + "berthTime": "靠泊时间", + "leaveTime": "离港时间", + "shipLength": "船长", + "flag": "船旗", + "lastPortName": "上一港", + "nextPortName": "下一港", + "lastOutTime": "离开上一港时间", + "nextInTime": "到达下一港时间", + "export": "导出" + }, + "shipInfo": { + "shipYc": "航线预测", + "mmsi": "mmsi", + "shipHeading": "船艏向", + "callsign": "呼号", + "shipCoursing": "船航向", + "imo": "imo", + "speed": "船速", + "vesselType": "类型", + "lat": "纬度", + "status": "状态", + "lon": "经度", + "shipLength": "船长", + "destination": "目的地", + "breadth": "船宽", + "draught": "吃水", + "eta": "预计到港", + "lastUpdated": "更新时间", + "shipFlag": "船旗", + "onTheWay": "在途", + "arrival": "到港", + "noHc": "暂无航次", + "shipDoc": "船舶档案", + "ExName": "曾用名", + "FlagName": "船旗国", + "DateOfBuild": "建造年份", + "shiptypeLevel3": "船舶类型", + "Length": "船长", + "Depth": "深度", + "GrossTonnage": "总吨", + "NetTonnage": "净吨", + "Deadweight": "载重吨", + "speedService": "经济航速", + "mainEngineModel": "主机型号", + "mainEngineType": "主机类型", + "fuelType1First": "燃料", + "fuelType1Capacity": "燃料类型1容量", + "groupBeneficialOwner": "船舶受益所有公司", + "operator": "船舶操作公司", + "registeredOwner": "注册所有公司", + "docCompany": "DOC公司", + "cargoCapacitiesNarrative": "货物类型描述", + "innerShip": "内贸船档案", + "sailAreaName": "航区", + "shipNameEn": "英文船名", + "shipGrosston": "船舶总吨位", + "shipType": "船型", + "shipEnginePower": "主机功率", + "shipPassengerNum": "船舶客位(个)", + "location": "定位", + "trackHistory": "轨迹查询", + "portCalling": "挂靠港记录", + "ais": "AIS信息", + "shipName": "船名", + "predictionEta": "计算ETA" + }, + "trackRecord": { + "history": "查询", + "moreHistory": "高级查询", + "noData": "暂无数据", + "voyageList": "轨迹列表", + "startTime": "开始时间", + "endTime": "结束时间", + "delete": "清除" + }, + "portOfCall": { + "oneMonth": "1个月", + "threeMonth": "3个月", + "sixMonth": "6个月", + "twelveMonth": "12个月", + "port": "港口", + "arriveTime": "到港时间", + "departureTime": "离港时间", + "stopTime": "停时", + "portCalling": "挂靠港记录" + }, + "searchList": { + "shipName": "船名", + "imo": "imo", + "mmsi": "mmsi", + "type": "类型", + "shipLength": "船长", + "countryFlag": "国籍", + "draught": "吃水", + "speed": "船速", + "destination": "目的地" + }, + "mapTool": { + "measureTool": "测量工具", + "measureDistance": "测距离", + "measureArea": "测面积", + "drawingArea": "绘制区域", + "shape": "形状" + }, + "weather": { + "reset": "重置", + "marineWeather": "海况天气", + "temperature": "温度", + "airPressure": "气压", + "wind": "风场", + "current": "洋流", + "typhoon": "台风", + "legend": "图例", + "typhoonList": "台风列表", + "view": "查看", + "close": "关闭" + }, + "routeQuery": { + "pol": "起始港", + "pod": "目的港", + "search": "搜索", + "duration": "航时", + "mileage": "航行里程", + "averageSpeed": "平均航速", + "full": "满", + "empty": "空", + "origin": "起始港", + "destination": "目的港", + "port": "港口", + "portToPort": "港到港", + "pointToPoint": "点到点", + "inputLon": "请输入经度", + "inputLat": "请输入纬度", + "inputLonLatLong": "请输入经纬度,经度在前纬度在后,经纬度之间用空格隔开,多个经纬度之间用逗号间隔", + "query": "Query", + "pointRoute": "点到点航线", + "route": "航线", + "voyageDistance": "航程[nm]", + "timeInPort": "在港时间", + "arrivePortTime": "到港时间", + "amount": "合计", + "totalTime": "用时" + }, + "messageList": { + "status": "状态", + "arrival": "到达区域", + "leave": "离开区域", + "shipName": "船名", + "port": "港口名称", + "startTime": "开始时间", + "messageStatistics": "消息统计", + "messageDetails": "消息详情", + "arrive": "到达", + "leave2": "离开", + "details": "详情" + }, + "menu": { + "TrackRecordLogTemp": "轨迹记录", + "AreaListTemp": "区域列表", + "PortToPortTemp": "港间距", + "SearchListTemp": "搜索记录", + "DataAnalysisTemp": "数据分析", + "MapToolTemp": "地图工具", + "ShipRanksTemp": "我的船队", + "WeatherTemp": "海况天气", + "RouteQueryTemp": "航线查询", + "ContainerQueryTemp": "集装箱查询", + "portInfo": "港口信息", + "ArriveLeaveQueryTemp": "到港查询", + "DepartureInquiryTemp": "离港查询", + "ExpectedArrivalTemp": "预计到港", + "crudeOilPort": "原油港口", + "messageList": "消息列表", + "NumberOfBerthsTemp": "在泊统计" + }, + "fleets": { + "location": "定位", + "vc": "显示/隐藏", + "total": "共" + }, + "containerQuery": { + "containerQuery": "集装箱号查询", + "billOfLading": "提单号查询", + "containerBoxNumber": "集装箱编号", + "tdCode": "提单编号", + "isoCode": "集装箱ISO代码", + "containerPosName": "集装箱位置", + "eventDescription": "描述", + "eventStatus": "状态", + "eventDate": "时间", + "eventActual": "actual", + "eventType": "类型", + "vesselsName": "船舶名称", + "eventVoyage": "voyage", + "vesselCompliance": "vesselCompliance", + "eventlocationCompliance": "locationCompliance", + "route": "航线相关" + }, + "areaList": { + "shipStatistics": "船舶统计", + "shipFlagStatistics": "船旗统计", + "shipList": "船舶列表", + "shipType": "船型", + "shipFlag": "船籍", + "shipLength": "船长", + "select": "筛选", + "type": "类型", + "nationality": "国籍", + "draft": "吃水", + "sog": "船速", + "destPort": "目的地", + "shipName": "船名", + "all": "全部" + }, + "shipEvent": { + "shipEvent": "船舶事件", + "eventName": "事件名称", + "time": "时间", + "describe": "事件描述", + "seaArea": "所处海区", + "screenPlaceholder": "事件名称筛选", + "oneMonth": "最近一个月", + "threeMonth": "最近三个月", + "sixMonth": "最近六个月", + "sevenDay": "最近七天" + }, + "allPort": "显示全部港口", + "closeAllPort": "关闭全部港口", + "NumberOfBerthsTemp": { + "portName": "港口名称", + "numberOfBerth": "在泊船舶数量", + "operationDuration": "作业时长", + "numberOfMao": "在锚船舶数量", + "mooringDuration": "锚泊时长", + "numberOfLeave": "离泊数量", + "operate": "操作" + }, + "typhoon": { + "name": "名称", + "start": "开始时间", + "end": "结束时间", + "operate": "操作" + }, + "routeCalculate": { + "destination": "目的地", + "speed": "航速", + "search": "搜索", + "rd": "剩余里程(海里)", + "td": "已行驶里程(海里)", + "remainder": "剩余时间(小时)", + "tt": "已行驶时间(小时)" + } +} + diff --git a/src/util/vue-global/index.ts b/src/util/vue-global/index.ts new file mode 100644 index 0000000..0f2f3d6 --- /dev/null +++ b/src/util/vue-global/index.ts @@ -0,0 +1,47 @@ +import Vue from 'vue' + +Vue.prototype.$SearchLog = [] +Vue.prototype.$fleetList = [] +Vue.prototype.$originAllShipRankList = [] +Vue.prototype.$sourceShips = [] +Vue.prototype.$MessageInfo = [] +Vue.prototype.$showComponents = new Map() // 显示的组件 +Vue.prototype.$MiniList = [] // 最小化列表 +Vue.prototype.$HistoryLog = [] // 轨迹记录 +Vue.prototype.$menuGroup = new Map() // 菜单分组 + +let localStorageMock = (function (win) { + let storage = win.localStorage; + return { + setItem: function (key: any, value: any) { + let setItemEvent: any = new Event("setItemEvent"); + let oldValue = storage[key]; + setItemEvent.key = key; + // 新旧值深度判断,派发监听事件 + if (oldValue !== value) { + setItemEvent.newValue = value; + setItemEvent.oldValue = oldValue; + win.dispatchEvent(setItemEvent); + storage[key] = value; + return true; + } + return false; + }, + getItem: function (key: any) { + return storage[key]; + }, + removeItem: function (key: any) { + storage[key] = null; + return true; + }, + clear: function () { + storage.clear(); + return true; + }, + key: function (index: any) { + return storage.key(index); + } + }; +}(window)); + +Object.defineProperty(window, 'localStorage', {value: localStorageMock, writable: true}); diff --git a/src/views/index-c.html b/src/views/index-c.html new file mode 100644 index 0000000..4ba6026 --- /dev/null +++ b/src/views/index-c.html @@ -0,0 +1,72 @@ + + + + + Title + + + + + + + \ No newline at end of file diff --git a/src/views/layout/Layout.vue b/src/views/layout/Layout.vue new file mode 100644 index 0000000..e7babaa --- /dev/null +++ b/src/views/layout/Layout.vue @@ -0,0 +1,84 @@ + + + + + diff --git a/src/views/main/Main.vue b/src/views/main/Main.vue new file mode 100644 index 0000000..ee977d1 --- /dev/null +++ b/src/views/main/Main.vue @@ -0,0 +1,444 @@ + + + + diff --git a/src/views/new-dialog/AreaListTemp.vue b/src/views/new-dialog/AreaListTemp.vue new file mode 100644 index 0000000..50d69ab --- /dev/null +++ b/src/views/new-dialog/AreaListTemp.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/views/new-dialog/ArriveLeaveQueryTemp.vue b/src/views/new-dialog/ArriveLeaveQueryTemp.vue new file mode 100644 index 0000000..5f31e16 --- /dev/null +++ b/src/views/new-dialog/ArriveLeaveQueryTemp.vue @@ -0,0 +1,95 @@ + + + + + diff --git a/src/views/new-dialog/CarInfoTemp.vue b/src/views/new-dialog/CarInfoTemp.vue new file mode 100644 index 0000000..a8218fa --- /dev/null +++ b/src/views/new-dialog/CarInfoTemp.vue @@ -0,0 +1,76 @@ + + + + + diff --git a/src/views/new-dialog/CarListTemp.vue b/src/views/new-dialog/CarListTemp.vue new file mode 100644 index 0000000..b208263 --- /dev/null +++ b/src/views/new-dialog/CarListTemp.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/views/new-dialog/CarTrackRecordTemp.vue b/src/views/new-dialog/CarTrackRecordTemp.vue new file mode 100644 index 0000000..59d5394 --- /dev/null +++ b/src/views/new-dialog/CarTrackRecordTemp.vue @@ -0,0 +1,68 @@ + + + + + diff --git a/src/views/new-dialog/ContainerQueryTemp.vue b/src/views/new-dialog/ContainerQueryTemp.vue new file mode 100644 index 0000000..393cf86 --- /dev/null +++ b/src/views/new-dialog/ContainerQueryTemp.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/views/new-dialog/DataAnalysisTemp.vue b/src/views/new-dialog/DataAnalysisTemp.vue new file mode 100644 index 0000000..0f9098f --- /dev/null +++ b/src/views/new-dialog/DataAnalysisTemp.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/views/new-dialog/DepartureInquiryTemp.vue b/src/views/new-dialog/DepartureInquiryTemp.vue new file mode 100644 index 0000000..0f8e25a --- /dev/null +++ b/src/views/new-dialog/DepartureInquiryTemp.vue @@ -0,0 +1,95 @@ + + + + + diff --git a/src/views/new-dialog/ExpectedArrivalTemp.vue b/src/views/new-dialog/ExpectedArrivalTemp.vue new file mode 100644 index 0000000..879d6b8 --- /dev/null +++ b/src/views/new-dialog/ExpectedArrivalTemp.vue @@ -0,0 +1,95 @@ + + + + + diff --git a/src/views/new-dialog/MapToolTemp.vue b/src/views/new-dialog/MapToolTemp.vue new file mode 100644 index 0000000..1d55999 --- /dev/null +++ b/src/views/new-dialog/MapToolTemp.vue @@ -0,0 +1,76 @@ + + + + + diff --git a/src/views/new-dialog/MessageListTemp.vue b/src/views/new-dialog/MessageListTemp.vue new file mode 100644 index 0000000..2505f09 --- /dev/null +++ b/src/views/new-dialog/MessageListTemp.vue @@ -0,0 +1,76 @@ + + + + + diff --git a/src/views/new-dialog/NotanTemp.vue b/src/views/new-dialog/NotanTemp.vue new file mode 100644 index 0000000..c15e0fd --- /dev/null +++ b/src/views/new-dialog/NotanTemp.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/views/new-dialog/NumberOfBerthsTemp.vue b/src/views/new-dialog/NumberOfBerthsTemp.vue new file mode 100644 index 0000000..270a3de --- /dev/null +++ b/src/views/new-dialog/NumberOfBerthsTemp.vue @@ -0,0 +1,76 @@ + + + + + diff --git a/src/views/new-dialog/PointToPointResTemp.vue b/src/views/new-dialog/PointToPointResTemp.vue new file mode 100644 index 0000000..b2b3ece --- /dev/null +++ b/src/views/new-dialog/PointToPointResTemp.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/views/new-dialog/PortOfCallTemp.vue b/src/views/new-dialog/PortOfCallTemp.vue new file mode 100644 index 0000000..bcb43a1 --- /dev/null +++ b/src/views/new-dialog/PortOfCallTemp.vue @@ -0,0 +1,74 @@ + + + + diff --git a/src/views/new-dialog/PortQueryTemp.vue b/src/views/new-dialog/PortQueryTemp.vue new file mode 100644 index 0000000..db7b777 --- /dev/null +++ b/src/views/new-dialog/PortQueryTemp.vue @@ -0,0 +1,67 @@ + + + + + diff --git a/src/views/new-dialog/RouteQueryTemp.vue b/src/views/new-dialog/RouteQueryTemp.vue new file mode 100644 index 0000000..260b284 --- /dev/null +++ b/src/views/new-dialog/RouteQueryTemp.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/views/new-dialog/RouteYcTemp.vue b/src/views/new-dialog/RouteYcTemp.vue new file mode 100644 index 0000000..13236b0 --- /dev/null +++ b/src/views/new-dialog/RouteYcTemp.vue @@ -0,0 +1,74 @@ + + + + + diff --git a/src/views/new-dialog/SearchListTemp.vue b/src/views/new-dialog/SearchListTemp.vue new file mode 100644 index 0000000..74dfbb4 --- /dev/null +++ b/src/views/new-dialog/SearchListTemp.vue @@ -0,0 +1,76 @@ + + + + + diff --git a/src/views/new-dialog/ShipEventTemp.vue b/src/views/new-dialog/ShipEventTemp.vue new file mode 100644 index 0000000..fb4f28d --- /dev/null +++ b/src/views/new-dialog/ShipEventTemp.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/views/new-dialog/ShipInBerthTemp.vue b/src/views/new-dialog/ShipInBerthTemp.vue new file mode 100644 index 0000000..b1bbb27 --- /dev/null +++ b/src/views/new-dialog/ShipInBerthTemp.vue @@ -0,0 +1,74 @@ + + + + + diff --git a/src/views/new-dialog/ShipInfoTemp.vue b/src/views/new-dialog/ShipInfoTemp.vue new file mode 100644 index 0000000..f210026 --- /dev/null +++ b/src/views/new-dialog/ShipInfoTemp.vue @@ -0,0 +1,76 @@ + + + + + diff --git a/src/views/new-dialog/ShipRanksTemp.vue b/src/views/new-dialog/ShipRanksTemp.vue new file mode 100644 index 0000000..7a4131c --- /dev/null +++ b/src/views/new-dialog/ShipRanksTemp.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/views/new-dialog/TrackRecordLogTemp.vue b/src/views/new-dialog/TrackRecordLogTemp.vue new file mode 100644 index 0000000..e0b290d --- /dev/null +++ b/src/views/new-dialog/TrackRecordLogTemp.vue @@ -0,0 +1,77 @@ + + + + + diff --git a/src/views/new-dialog/TrackRecordTemp.vue b/src/views/new-dialog/TrackRecordTemp.vue new file mode 100644 index 0000000..58a7bcd --- /dev/null +++ b/src/views/new-dialog/TrackRecordTemp.vue @@ -0,0 +1,68 @@ + + + + + diff --git a/src/views/new-dialog/WeatherImgTemp.vue b/src/views/new-dialog/WeatherImgTemp.vue new file mode 100644 index 0000000..228f4e5 --- /dev/null +++ b/src/views/new-dialog/WeatherImgTemp.vue @@ -0,0 +1,74 @@ + + + + + diff --git a/src/views/new-dialog/WeatherTemp.vue b/src/views/new-dialog/WeatherTemp.vue new file mode 100644 index 0000000..8fb706b --- /dev/null +++ b/src/views/new-dialog/WeatherTemp.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/views/on-map-view/AreaList.vue b/src/views/on-map-view/AreaList.vue new file mode 100644 index 0000000..655f852 --- /dev/null +++ b/src/views/on-map-view/AreaList.vue @@ -0,0 +1,889 @@ + + + + + diff --git a/src/views/on-map-view/CarInfo.vue b/src/views/on-map-view/CarInfo.vue new file mode 100644 index 0000000..4107c5a --- /dev/null +++ b/src/views/on-map-view/CarInfo.vue @@ -0,0 +1,127 @@ + + + + + diff --git a/src/views/on-map-view/CarList.vue b/src/views/on-map-view/CarList.vue new file mode 100644 index 0000000..880c038 --- /dev/null +++ b/src/views/on-map-view/CarList.vue @@ -0,0 +1,127 @@ + + + + + diff --git a/src/views/on-map-view/CarTrackRecord.vue b/src/views/on-map-view/CarTrackRecord.vue new file mode 100644 index 0000000..d93814f --- /dev/null +++ b/src/views/on-map-view/CarTrackRecord.vue @@ -0,0 +1,422 @@ + + + + + \ No newline at end of file diff --git a/src/views/on-map-view/ContainerQuery.vue b/src/views/on-map-view/ContainerQuery.vue new file mode 100644 index 0000000..a1c263a --- /dev/null +++ b/src/views/on-map-view/ContainerQuery.vue @@ -0,0 +1,769 @@ + + + + + diff --git a/src/views/on-map-view/DataAnalysis.vue b/src/views/on-map-view/DataAnalysis.vue new file mode 100644 index 0000000..543af43 --- /dev/null +++ b/src/views/on-map-view/DataAnalysis.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/src/views/on-map-view/MapTool.vue b/src/views/on-map-view/MapTool.vue new file mode 100644 index 0000000..eaba3c3 --- /dev/null +++ b/src/views/on-map-view/MapTool.vue @@ -0,0 +1,253 @@ + + + + + diff --git a/src/views/on-map-view/MessageList.vue b/src/views/on-map-view/MessageList.vue new file mode 100644 index 0000000..7e4130b --- /dev/null +++ b/src/views/on-map-view/MessageList.vue @@ -0,0 +1,237 @@ + + + + + diff --git a/src/views/on-map-view/Notan.vue b/src/views/on-map-view/Notan.vue new file mode 100644 index 0000000..9e94728 --- /dev/null +++ b/src/views/on-map-view/Notan.vue @@ -0,0 +1,343 @@ + + + + + diff --git a/src/views/on-map-view/NumberOfBerths.vue b/src/views/on-map-view/NumberOfBerths.vue new file mode 100644 index 0000000..aa69a85 --- /dev/null +++ b/src/views/on-map-view/NumberOfBerths.vue @@ -0,0 +1,308 @@ + + + + + diff --git a/src/views/on-map-view/PointToPoint.vue b/src/views/on-map-view/PointToPoint.vue new file mode 100644 index 0000000..2d6a50f --- /dev/null +++ b/src/views/on-map-view/PointToPoint.vue @@ -0,0 +1,219 @@ + + + + + diff --git a/src/views/on-map-view/PointToPointRes.vue b/src/views/on-map-view/PointToPointRes.vue new file mode 100644 index 0000000..3ae4f25 --- /dev/null +++ b/src/views/on-map-view/PointToPointRes.vue @@ -0,0 +1,273 @@ + + + + + diff --git a/src/views/on-map-view/PortOfCall.vue b/src/views/on-map-view/PortOfCall.vue new file mode 100644 index 0000000..27375ac --- /dev/null +++ b/src/views/on-map-view/PortOfCall.vue @@ -0,0 +1,195 @@ + + + + + diff --git a/src/views/on-map-view/PortQuery.vue b/src/views/on-map-view/PortQuery.vue new file mode 100644 index 0000000..2d4b19a --- /dev/null +++ b/src/views/on-map-view/PortQuery.vue @@ -0,0 +1,896 @@ + + + + + diff --git a/src/views/on-map-view/RouteQuery.vue b/src/views/on-map-view/RouteQuery.vue new file mode 100644 index 0000000..fffb967 --- /dev/null +++ b/src/views/on-map-view/RouteQuery.vue @@ -0,0 +1,759 @@ + + + + diff --git a/src/views/on-map-view/RouteYc.vue b/src/views/on-map-view/RouteYc.vue new file mode 100644 index 0000000..086b9d3 --- /dev/null +++ b/src/views/on-map-view/RouteYc.vue @@ -0,0 +1,169 @@ + + + + + diff --git a/src/views/on-map-view/SearchList.vue b/src/views/on-map-view/SearchList.vue new file mode 100644 index 0000000..76d760d --- /dev/null +++ b/src/views/on-map-view/SearchList.vue @@ -0,0 +1,178 @@ + + + + + diff --git a/src/views/on-map-view/ShipEvent.vue b/src/views/on-map-view/ShipEvent.vue new file mode 100644 index 0000000..0d860b6 --- /dev/null +++ b/src/views/on-map-view/ShipEvent.vue @@ -0,0 +1,203 @@ + + + + + diff --git a/src/views/on-map-view/ShipInBerth.vue b/src/views/on-map-view/ShipInBerth.vue new file mode 100644 index 0000000..63f0ab4 --- /dev/null +++ b/src/views/on-map-view/ShipInBerth.vue @@ -0,0 +1,163 @@ + + + + + diff --git a/src/views/on-map-view/ShipInfo.vue b/src/views/on-map-view/ShipInfo.vue new file mode 100644 index 0000000..8d3443b --- /dev/null +++ b/src/views/on-map-view/ShipInfo.vue @@ -0,0 +1,1214 @@ + + + + + diff --git a/src/views/on-map-view/ShipRanks.vue b/src/views/on-map-view/ShipRanks.vue new file mode 100644 index 0000000..eda485c --- /dev/null +++ b/src/views/on-map-view/ShipRanks.vue @@ -0,0 +1,393 @@ + + + + + diff --git a/src/views/on-map-view/TrackRecord.vue b/src/views/on-map-view/TrackRecord.vue new file mode 100644 index 0000000..50a579e --- /dev/null +++ b/src/views/on-map-view/TrackRecord.vue @@ -0,0 +1,432 @@ + + + + + diff --git a/src/views/on-map-view/TrackRecordLog.vue b/src/views/on-map-view/TrackRecordLog.vue new file mode 100644 index 0000000..d1c9723 --- /dev/null +++ b/src/views/on-map-view/TrackRecordLog.vue @@ -0,0 +1,186 @@ + + + + + diff --git a/src/views/on-map-view/Weather.vue b/src/views/on-map-view/Weather.vue new file mode 100644 index 0000000..d7c5d2a --- /dev/null +++ b/src/views/on-map-view/Weather.vue @@ -0,0 +1,456 @@ + + + + + diff --git a/src/views/on-map-view/WeatherImage.vue b/src/views/on-map-view/WeatherImage.vue new file mode 100644 index 0000000..0383376 --- /dev/null +++ b/src/views/on-map-view/WeatherImage.vue @@ -0,0 +1,205 @@ + + + + + diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..72c0cb5 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,42 @@ +{ + "compilerOptions": { + "target": "es5", + "module": "esnext", + "strict": true, + "jsx": "preserve", + "importHelpers": true, + "moduleResolution": "node", + "experimentalDecorators": true, + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "forceConsistentCasingInFileNames": true, + "useDefineForClassFields": true, + "sourceMap": true, + "baseUrl": ".", + "types": [ + "webpack-env" + ], + "paths": { + "@/*": [ + "src/*" + ] + }, + "lib": [ + "esnext", + "dom", + "dom.iterable", + "scripthost" + ] + }, + "include": [ + "src/**/*.ts", + "src/**/*.tsx", + "src/**/*.vue", + "tests/**/*.ts", + "tests/**/*.tsx" + ], + "exclude": [ + "node_modules" + ], +} diff --git a/vue.config.js b/vue.config.js new file mode 100644 index 0000000..ea88310 --- /dev/null +++ b/vue.config.js @@ -0,0 +1,50 @@ +const path = require('path') +const webpack = require('webpack') +const config = require('./public/config/sys-config.json') +const name = config.projectName ? '^/' + config.projectName + '/myships' : '^/myships' + +function resolve(dir) { + return path.join(__dirname, dir) +} + +module.exports = { + publicPath: `${config.projectName ? '/' + config.projectName : '/'}`, + devServer: { + proxy: { + '/zero2/myships': { + target: 'https://api3.myships.com/', + changOrigin: true, + pathRewrite: { + [name]: '' + } + } , + '/zero2/car': { + target: 'http://36.33.24.30:5005/', + changOrigin: true, + pathRewrite: { + '/zero2/car': '' + } + }, + '/zeroi/free': { + target: 'http://36.101.208.185:15380/', + changOrigin: true, + pathRewrite: { + '/zeroi/free': '' + } + } + } + }, + configureWebpack: { + plugins: [ + new webpack.ProvidePlugin({ + $: 'jquery', + jQuery: 'jquery', + 'windows.jQuery': 'jquery' + }) + ] + }, + chainWebpack: (config) => { + config.resolve.alias.set('@', resolve('./src')) + config.resolve.extensions.add('.js').add('.vue').add('.ts').add('.json') + } +}

*yb`|>bv*$FhErp&n)Y|765^vM5UFTrSI}Q|fu1FQl?5 zNtGm#6Y@j6P!O{%u8Pd616|zWT8CVrBR3iZ$0M0l=-XGJHSQw^GzymOj$Wkkj(Sb5 z)!7Tzk;@V@Y}D4@+T03}*@?F8p(Tg**h81hx=)7s_1RnBDC)?WqM9v-??1lfd)LO| z>KmoLJGOo@zLvQ3;M}9#l_$5?kM~=5zn4xG~@WgtulOZMG8z4yL%cb|N3dg^Md z|3W`SQL)mbQYPao@^17+$oIh!xJicdxLCzAXdX9p4^k5*szFe)^#xdly1BCS8je%c zX<${VxT;-~3}iEU$YBE8C2EQq&jqe-G#~~wxL`RlefWHv29_z)vuTaf+ybmyldB$_ zS)HmFs|_P-(z(lEJdlWi4Y3Xad(rWwK&D&15}AiEOM?~#H)Q%aR8^Y>1>`}HX1Jum zjdEa=XZVzu$z(==!0{Z*2`n!p`HYkjB#r~^hbGlLb6zSdYP%L$$#flKS7O;_v&l45 z4DuFOKAX*k9)gf0jHJKfU_D4W{!qt3fxh8cF1C;ZLPx!Zma$Beq{myZ-L9?Uw~vV& z7#rv=%QIZKr4CWk{!X>+F5Aatc#`*z#(rhRg=`u6XxTH!#mx_erCh1tK^-Hng3w~; z6sPM5BfpMZP?$-BS<5j|({HggO)5D))*SP zRTM>KOf2Npv0_K7AY<8v4(@2p6K$%eHf#jjC6yKESvR1mddLQ?4NF$Z*or6m zqWZ;=cw#4C1tSEwQYFA0g6~8KzJ7+_ebN6zj6aP2(;T-d!u#ma!QdRV`zbo1e80XO O{zXc~DP=Q1clQ@e;CcT5 literal 0 HcmV?d00001 diff --git a/public/country-img/RUS.png b/public/country-img/RUS.png new file mode 100644 index 0000000000000000000000000000000000000000..8bc3231e8cfd0b4685e4a194fa5f7fdc847c9e28 GIT binary patch literal 1246 zcmbVMTSyd97@kaFQ3RzDG9ON3PqDjmX59-rx!Jn2=1L>7Zn#kojx$FcbmmMm$96P` z5;yA6@TsSWh#*r7DlkM4y7&}D^bqtCVRs^WD~Zmit0iqj12gBGkMH~b%lVn}9qk7z z%WKOShN(=oifOt&qHo?)Lcin7;3Qpkl4O>2;$D)IEyToC+=D<$m-|o}$?EX&MbyYJ zTY;9zlB{${P_XWoU5?+;O{!*?#wN#tOR59-s582kC&JPR~6#&(4yD47Y=ueFX? zsB@$}ql^qFQI&1l4;meT8t90~z|jW{TX16RimyQTF3hoDg+c~m>}pb3sRJaig+Ry; zeF_Xi5a#`SLogDFctHU2kb?n^5BT_q&=3$H1ZxjVqgiUNkQQ6kV$oBK?I*+(I4+mV z`Ew0^Z1r(`G#Yh10s$Xo`0QbW$d1pj>kAGdvK31+iG~f}I?6qGh{RZ$>1qkOxo&IN zYi*(p;~d%Kct3PYDi9^kfi$(#RsRv=c~ev9JzS3Kq1YxrAGa z`mJfz;<>=0T8<{ex!3y3H5VW{JMMOUXz5{n?2$od-J(N1+dO@mVYXyaVm#x#`1tZ> z>7MsZIC#j9$H5=WH>kGD_jk<$FF zYt_#`eYsP1_|?&g>s9za{Wb@#gFl`QPvsIFXwG}&ndieSUb^I+)D|xv%R9+1{Aj%;W)XEwVFhDj5B!Pr*E^o zo6sNZY}hT;gIm8Hqm94(LhUYA4orelx{yocba zJo1O6V1W>bz*H!}q|$uFG!_kD(W!Jle>R)#12AZG8c1V+bcQdT&GBP!Xf)vCLnflB zBuSh&XvW7_#EwT!!Epr#1T`8BRpUp+RLLMcFfh=h!C?3j2w!!E97nXia<$u#0)(o? zDyagOVsgNwh%Cg?aUPk-^g{_U#V1+0`eU1jhJji{0n({7Q%OTWf#BbvGTA4z8jnLi z=lhSsYEgy)1>;aPmaY;L7nkH_3Z>vgs89sQR3Z#Z8|tDk1;a6Q3Z?)e;+eo4sa%3- z)bG&(0f#SFCQeZd^*@VWR6tM`#B89o>PVYwiY z3~0L6zg+Xs5ivU^_tVf4n@?kp%86N55ksA|{KZcs(x_lQ6eiMk_THQ->qP=yYVUw$wt&^p7mihm)@HKV! zf!I<;rhf1lPCXxOHh&=W?UD&I+nt)C&l>ef>R)!I^-sD~F}T6=($glT4+2F_wrc4M z+H#_#y*4gY*D&7M-atvbmEgPa-O4)4GBcyH=9a{naB^0+bDz@?cgwO>HMtgyoeoYE zg;D_Ty}z{O+4d__?Cu$acXLN|qJNb7@h_V-RJG-8U>j74qJlg7+N)iibWmkXd6a5N z>q@29Kn-BqdUctx9@=zcY{&8keUDDR*zH`fVNDiV(Xsh(lvMt%mvZ}YOu9XXLO8CxnnxUpliUiiJ^5}%d&#WV8loYIU_#G$a`UTg=%nK{O~#=ju*?l`1q zU4vENnQ+Itm3m<$yshr!^96^ERWE6xITd59Ssp)wmW?va+SNw*)xnJKArbNbg;^@iRD8AtQmU_l~n5pzsV-|pn}kX=tUa0e6V zZ&Nd)VB2pVdLEged)O}&po?9);k*a^-?@%3P_CWGB-eG<29F~;j9*f}aT{%*%&(eW zvBH^fI-(j2H*FK=d5-Pim5Cx@)T4vDv6P$MN|~+ny5UuEFX{D5S#jC*U;9OIcB!3} zXBf>1iyp73%WJJDQ{QZC$tw!7y)w9c+I?A)Ut_j@9XEuTb}=|O`3n zd@`oiIDO!}@IX*;+k@u%nf-kMhrFV_J72dQU+&_)^j`8a&pjnkeQ)#K%CZ9{BrHFE zDM(pALFdp^WSeDfFf)CMf49g8)5(9?>-(qi4PLwO73R*Qi$%Y$wPt}7)4!D;84Hz% HFIe>_qO%Oa literal 0 HcmV?d00001 diff --git a/public/country-img/SAU.png b/public/country-img/SAU.png new file mode 100644 index 0000000000000000000000000000000000000000..0ada5966c36d386703ab723bebba8c166c98f514 GIT binary patch literal 2692 zcmaJ@c|26>8%HQvN|r8d(~Ky~EXF!9#VnQ#Vlb%2Fb8AIV&-Iq%2Gd>lszdzMOtJn zYfAZ<8kNeVAthPTt>m^yT}$23t?uuS+wYvuIq!15-|zFh&-1*W_Z;x{bkSUFxL83! zLDS6@?;~#|@+W1{0{MHxW|!6S#sDNxKwnNcD4_8G1t&Tu6o9y~Xc2%9K%>XSbOH_v z3JV|%G6kfNJTPG#7MwPZfeTq&Ia@)&VUv(c3u6KxBov5XupOa)TyBFx7<5NyfHet8 z;^KfvhHE?z@QwE*hs86)?CH==ScroVBNt!+APpj9MYH)Bp(FI0E=Jy;pGH6--yk5< z5&E}N6p}Xt$Ke4GYdF#(3~7Ue*r4Djw3V%`tvSRJi9#ZfmI#!k1vxd^#4i21bsPnv&B$!ll6`?F}}gP&y&u;sPRlNWW*F7HS34WZ%fK_>h@ z_1unOv%4(bLSQZy?;TK3P#t!|JCTL`U|>6%3od6CX-uYV;e34Vlrh{tNYiOeTFs5?=WRR#hT5;ml`mRfnY?6P1}mx;Y4` zgnE2oZ@oZk)=AdhD%p3a#%pxHjh$EE%*yN=llg}`{l|ikn(Pf=zIys#(4hVuQMdS| z!pJs_m(^1>sp0QB4Xt`I3~p~t|NYgQ*eBt`Q_I>_BsLaW>9{X$%Ex=zp*L3?ef~`5 zoby{xP&V~OcKsmt)0TD9@S#iA*k!6iwc%9rB#Fy(!FFm4!Ao6m4j!>Nr`%7g^Lfbh=b<}F zvc*2bIcpP@y4kS{UyT9KWCK^b*jv4tw-0GOEEt!T)sLzKS7b9@FB55tY~Qh%llt6J z3xoA-WwQ>s#rIo}9wgVuT(W3T2f9+bX29f$xz12`06gAPWOmBK*Vkk&>}8Z5b6pms zd_qeRKfAH+Fr{q@efP{$-GpgM$1a1StPrWFTIS02`~)t_f7n12Wsk-Hx&hapOB;_B zJ-KCSCJ5l7R61a&30JyF7Cc-z0{&{9$y%c)#N(rD$9$Bfd)z;q*4AO7((Nm>9ZqVq z!^|0JA*arcjx620mWFTNpIn9xE^W+j5|1_G5|kv`kD~xPy_TGoGL%WFyFt3l4=B;A z(9bHC-OswTQ5EwzN8+iDNa(zlq2?;K(X1=m&O%uGa3@(5rNJ|T|XU(ZodV>$hf!Xfnl7MSNHH+QiVv>MaxHKTj=JTEi6UAe4fF}z9(_C9TVfh+IC z)e#l_T7OE_)}+3X@>d-_OV6EPSl5^fWEj%HUctjSA_n zr-RPk*(j)Wj%B%<@lWL*?Fy;0Tyf=)`D7l`@0H$>ma6JJaVFq*_dn;AC_9)|eRX=e zV|J6F;~U4uQmNLdT~9oelIl|oQ31Z}(QCd0?6Tc8`wRGhwA%cEWRFLC|F%C(@0eG( zP@ZS-7-htPKEHkBY%`tPt;=Bh(o#$=|A?c6|lcFL(VunenJzx#GUm%mFtC*-Yh^ z#3NhOO1uAXiP8E9Rv1r2A*BOGb?%|YNaAm;YB5t855L}HYDBL+8oDy~<2jQe#Hj}d zgcqB-E-KSUij@!Iy~ff_f$dcvQ5`9pi?3Qu8a3Jc3076n00Y-Vmic>3?cu(;-_^cL6vy{|lQIt9-Si@JiO+6R-Euw+ zmpPzLJ(IoAA@RcNCDgmKuWCzr;YAhz7zG;*@Xs;Kb^}`UKOg63G55$(iKk zpZyH~#5(xVzwpuz#ec}3k${75gDI~)s^(H#d|9(*+GDN6f(hu3bas5pqJZRQtpvQ+ z$pkWU6{eLvxkIQivy6Ftlg-)JY_(lFUSIEKt~pxtxL=*Fh^>7)z2I|{tR2@lw=Q+a zERf08?W-@1udu7mSuWPzhLJvEC8SNvKxYD%PVgV(lP(S(V-Ccr?*1&1e||>jdxNbh zX&u*Flia4dWm+--Br;MW1?(8ljOBAK_rxKGNpo9V6No9IfLKETl_}U7OMOl4mR$b) zZ)Zw)WmiyP{r9s6TW9^=7V-sd_^$Dt_7~rH?1zcAk7o>?jzmrw-%M1}P&n1R#N)_^ RB=`CMLN|gZzREdd?_V6%hN1uf literal 0 HcmV?d00001 diff --git a/public/country-img/SDN.png b/public/country-img/SDN.png new file mode 100644 index 0000000000000000000000000000000000000000..e5bf5b1c7a08cfd14817db9a2cb9189c79820737 GIT binary patch literal 2020 zcmaJ?c~ld39*-QgLaB%@ip3J5;);-iJJCQRi4ZXe0bvxV<`_swlL?uD1Qrx^IRb90 zs1(bkc2lXu*a$QVYIkc`Kn?{FxAA(SDQ93SqM{Hwv10p2*?Di~cf8N%^Zk5}_eL2N z8RlTO(hh^cI55NMY;%|bL!JJXf>`=aRsz2*6Iw8Wf+Ho6@I*^Wb3hjB|3k&% zcW4-4gTMRzQ(-tZQwkE;APl9;cxdC2S6f0!DWNiugFv!a2>NWUictaxfnWh7#fHZC zW8;MqJ|u_Vpjj*mQvxF#2@hn_sW_C67Yg|lk}r`QKo6k#`!Pr)62p%iNDiWreSAse zpddOelsLzwL%eh`C_(19{NK5o=jB=kK`cch(?OXq1LSX!L1OHigek)Ly#&px_m<0_ z-wSzOE&(+|u(b6LZJxVAXUDRAH?-*C-PnT?bk=3)Q1kAU@5f+lb}{L+ScPGZ>(nibn0>Lgx!1NxZ;1MPa)s1sL8>-;yI)3n;a3?$hfXdPef{M_V%({pW{#_@ zD*=%%>x8KKNP<-NXy(QutB|gQl+(Lc4A71MA8A52rk0!2#DZe%GEpbaXQJ#ru4dPx zjp{|8n#!RP<59zCw=?ZHP_8szHl<2V9f(smB-~dA58ocN-Kv$m?jP=+{H_xgU7R>H zNrL1Dhw94RK5D-rYHH%=F}>E;wMxCMw9j5vDOPE!ysMH2^MHh#weQEjh|c`J5XjQ? zNGg;4CGLIB2JSVFoQ&d8J6*2-zn}cny}qUS7=D?0_9qM{fdn9hF)uJ zFSXlnI&salu%R`lJPTDR(H&=+?d=W%uLg&=_bip!Yo7tH8xvg%fp16%6cZ*Nwgdr~^C zG&j_IbId`j&zgET)4ue2KANH?X$T$>^qy1{s_xX*)SCTNdta0mWX;@b^6y;7G`G%D zM`X87=nYnk%9wC{&(Y6$A4V^UxS?@a*uqO~JEXcs=9$1acDSDH({=TWA3b)^y&M|g z=oLxHP>q{!X~|6kZD4KlYAv7Ekh*V3J#~>`bc|RY%lR)kTx+L2hV)C$PgWdoFTG&> z;pZ&{-CxGqYxxzru)pR3ucBAgIz|-03!_Iy9=jMbFWzf`)rPVG(}vW8z}C}SCep{{ z!5R5+tz(PFv_NH0`&Ze)&fIV7&fZxW^#N)pBx%)#(TX(NV~>);j!)$DtSNOIIQ!$W z%fgSf^~-!?SU|Sk$ur&P*%f?3t8ewzOhzPKvw6>fUjZZUTZRAt literal 0 HcmV?d00001 diff --git a/public/country-img/SEN.png b/public/country-img/SEN.png new file mode 100644 index 0000000000000000000000000000000000000000..1f406510ed3cec15d1be08cfa1ab98b5bb26189f GIT binary patch literal 1760 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 SEns-}zsu4Tg{(C8jQ$tmUn-6O literal 0 HcmV?d00001 diff --git a/public/country-img/SLE.png b/public/country-img/SLE.png new file mode 100644 index 0000000000000000000000000000000000000000..6d4734d97c70b45509243b9488677a479e47e111 GIT binary patch literal 1204 zcmbVMO=uHA7~QtE^oK$ZQmRmyZavjx|B^J>C9$U2#0I*hrh!I!>2`P8EbZ>ByA!jm zAX?f(j~+bubMW9vL0b^~LjoQ|4<0;tQ3MZy7g0g*r08s#L_t%~h25EXy!XC0GatJ( zJ$1ad`(QUkQN7s-IY-8)L5sMoI*>~0XaRz(sV>1BRQ1(U z&tROQ+JKQS;DRzKX~<+$pTl^jP1F<>AM<(4QVwXkh3GdN!hPik*T* zV`9yLGiy_MZEaZ-b$aY5hzEB0=}cVfJ!()lcc*_Fztq| z<<^dg92o1VHp?@dzoj}+QTC>qW`phG9Q>8{uf}eE)rM>ix~Sx6980R#8g^LrMOs94s(26D~h-q*h;@$5+D_Q$(J_RhZw_o(o8=EwIVgU|c!{a>U% loCjW1;#)Td*6$x`>7Xt@>Jl%_S+D*7NH#qs-x{A^{|VtWc&q>b literal 0 HcmV?d00001 diff --git a/public/country-img/SLV.png b/public/country-img/SLV.png new file mode 100644 index 0000000000000000000000000000000000000000..319236bb8d7e1d2e577229599602de9ac295dc6c GIT binary patch literal 3908 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 b7QhHd6@ScMtQxofzYH)jG&d-QyM+A<4~DcF literal 0 HcmV?d00001 diff --git a/public/country-img/SMR.png b/public/country-img/SMR.png new file mode 100644 index 0000000000000000000000000000000000000000..974dc0b674ed081500907fb0aad9718b856a4ed5 GIT binary patch literal 2820 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 OA45=J7)9;>S=w)SD1@m1 literal 0 HcmV?d00001 diff --git a/public/country-img/SRB.png b/public/country-img/SRB.png new file mode 100644 index 0000000000000000000000000000000000000000..98b1efb2fc70c76e6657a8b632c75ccbfc1bed06 GIT binary patch literal 2684 zcmaJ@2{fBo8%|45T8-%F*gvsU`;(P~R1gV*Mx97&YiY=bAd4hOX=z%NQEhbw-B3n% zMXI*ZW&YL-T1F>K(;{i7JEeYV>4u4J^Upbd|L>gdyZ624d7gK+a+4+`{Mp=+WG zfk0OH(Wngd*r|SVbTri8wVu8f>cLp-9V!my$BNTfLJ&e`^P@q)kIRY!86b<89Xv0EbONggDdD zbO8m7=g`uHU~qaMGbTMT#+8lma0lEZM701H6te&cH;E@AN=S$gxvArNs`A{q^RdJt-F zLUt^XLG}6MOKp)5@nW%nh(e{Mr6JRBNWL%*g>iLtUDUv09n}a&(RQAgC2{15tUoJI zK~ap5BM@`=JYZ3g70pi(lMw1iKc>JHe39jeK9xybFqDKPKw*&R#gsk+>Gb~(<#NBE zMPdf{cf9{oSj5~e08tE3#7_~%s5dUwdeN1DND+c8F<;2!^OHVTF({rd=8NL_0)P_i z41{oaY<`;P1DZ}J`td|!7B2?$qmmG6K9a*>6P<7r0v1g{J3D#fF&J+r7cUH%feG>^VL|qyuYgV ziOc?KEM7ie<)YNVpcc3Fzqa}FlDc;mr(c>@ZG35akf-i-p}MJ05U|zi1Az|O!1TU{ z!%t35KE1ty8CQNMKYyU-mxr>3{%&pxh5JA`czZLYx8$4W&!5}4=MGugEi5clF1-02 z0?}&nqmr4Dfze}Q!bj_t=R%8sPN$&-WqHWb^)G)rZaMt2+C`&`ZoYo-PuW#4=Q-K( zqJ^c*sB>u;pvRUv9E4u<{AfHL0WR&-$>U8K01^9&+^L9)%5alMsmUi%qUI@5Oyb<`QI*(+9&rU2fs6PRn(k{HECd;xtrp7i8(aq z_Hw?2Vzw7kx(L3X4Jwv29ZVoW}aZ5l-qi?-1ONpdG+10;Gob81tc#{;tELXLt9(jTH0{F)7?Fk;J7%M1;BBq%eF~>TIG3%a(nUQI?{rPEm3-iN+7F+kN?5esdUEUok=r zPb7kSZ`xKr`$LbG9n^44ar0#MX5Z7~lZ_1j?3EAd<0kt2+h;qLM9k1ylnIGH=K5b~ z6gSW&gUod4js}AbyMM$CIaK-Zns%$zbWnqv6)oIua9-N2Gg zl*Tq2$Q%zGZsDGVCOW}tY(rV{M3%tiMK|87GB>kLx!$0A>*We%F-QAs;hIvNX1IS} z9REz7H1GJx6g=SqC^Yq(v9C03*^{@*Wl*zRBm3wLc|Tl=VJ;I~%UJaTBF9pw#VW9` zjW8V4fd>72MQ&KVDtC9WkhUyP&&=q_nv%Th0mX6?%N`;Qo*UZD{3-Sit!cfWYe%@6 z6IH}6blSJR7v}4XR8V;PmWZ-&#NCrhf$@=iqo{{uA8ll5R$XNiNYpS@R2$-_X5J1*HwCW((QH+6>HBfpLK5iJES-Rj3jOO*-& zOl2$osc_Y+Ud}_8s?D362~s&%v$ZN9`_OXJcbH&TJxaKUU;vqv1LeKJ)Ybn@zqmnx-;Z-xeF(U|v9b8A?BN zprU}zn49cht4n&%qgcpW5)y6z1DPk*jtwcerpS{_E5d!rjB10&B{8rlYGut!Eq z_j+2K{`Gy=-7D7ZH?mLF`u0026YS~H$=NBp&=F=6M%gXPx`v$Fp4kn3Zx9b}7E@EF zT@aCcXuw!p?Y*w^9*uF3Q_g^c)zs900vR$CJYe#o#64G#o=V>S=akk6D^o;8|*uO5ixux#MOuP;}J?-7R zy7c9GrE|b+!oPX=4^38zj;zteeiA)_`HZ+(19E2A|KtiP4>pR{C33~i4!aBa{2~6x;~b; zVk>ZE1+#-cQrI_}UQ@BhEyHeYVQ&62`$JQCvtw{zBm4=1(yIGPWu3mh;{bW!)r;-t zjz7pKQoi6AJ;4IK9ThvDotADpl)Cm{>f3Wx6T|h51yV@Pf?52XRRd5m%*@a-DrA?e ze5J!~S`z{NsxGU`)=w@K~Y+>DCK%Cs;4|Fa8huc?VK!y|(TC E3rM1DF#rGn literal 0 HcmV?d00001 diff --git a/public/country-img/STP.png b/public/country-img/STP.png new file mode 100644 index 0000000000000000000000000000000000000000..3a63437205d7c2a1ec15aed8c58b80dc9ee87eac GIT binary patch literal 2316 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 K#4cyXuKg2vJsH;k literal 0 HcmV?d00001 diff --git a/public/country-img/SVK.png b/public/country-img/SVK.png new file mode 100644 index 0000000000000000000000000000000000000000..2d910d559075b7abdbe0508514efa22f21c2e960 GIT binary patch literal 3205 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 Z1?hPod3?HLRyOyWN3o-kukSf>>OVH;Z)^Yn literal 0 HcmV?d00001 diff --git a/public/country-img/SWE.png b/public/country-img/SWE.png new file mode 100644 index 0000000000000000000000000000000000000000..32a7faa0fd7401e38a61c2fb30322222b35c277b GIT binary patch literal 1294 zcmeAS@N?(olHy`uVBq!ia0vp^CxEzyg9%73PRv*Zq$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~;1Ffc1*hD4M^`1)8S=jZArg4F0$^BXQ!4Z zB&DWj=GiK}-@RW+Av48RDcsc8z_-9TH6zobswg$M$}c3jDm&RSMakYy!KT6rXh3di zNuokUZcbjYRfVk**jy_h8zii+qySb@l5ML5aa4qFfP!;=QL2Keo`G(%fti7VnW3Jc zv5C34xsHO7fuVuEfswwUk*=Y+m9dePfq?=PC;@FNN=dT{a&d#&1?1T(Wt5Z@Sn2DR zmzV368|&p4rRy77T3Uk4Ff!5ws?aU2%qvN((9J7WhMC}!TAW;zSx}OhpQivaF)=B> zw8T~k=u(Imatq+b<`qMO2^e7d6^RA6Sd)^$=VDIj4hrnjv*Dd z-rQZ7$K)vDa4|M$qeX$MQuk|pg>L3>YYQE|=;-#R!d+{aJ6#{GSi3q!g|WBB)3~57 z!gA)GJ1N)qmetg08m^&3@EOs0~B|PAWq@`moGn^IL~j_y8n(@%a0Ay4p(-D%a_zI>YKH< zX7AUsomnh`lGomp{(TU<UQ`=9jYDQ};)`|QdSiWQFVdQ I&MBb@05trtF8}}l literal 0 HcmV?d00001 diff --git a/public/country-img/SWZ.png b/public/country-img/SWZ.png new file mode 100644 index 0000000000000000000000000000000000000000..308cb34ad9ccbc51bf415beadc3f1181eac76698 GIT binary patch literal 4492 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 literal 0 HcmV?d00001 diff --git a/public/country-img/TCA.png b/public/country-img/TCA.png new file mode 100644 index 0000000000000000000000000000000000000000..8fe5874548b8a4bfb70a9e7a82ad431f7fee88f2 GIT binary patch literal 2077 zcmaJ?dsGuw9u6c(KzSNoB6XTaWfAfOLIOcZh8QT}1c(I$kA%zsfxMUuByq(epduv@ z!L?fiJv`Q)Rtp6cq$(h#pjfe`(z4daDPY~U95D{L6LNu$TuI9$|blU|`Lgi#;|&Qoax+-R= zZJ9v^oQqkUR#9$K%;F*z6Dt5n?cFQH3c) zYoIJEfUrS{sPw2xrv+?^iX2@rDj;K(zSx3B|4LSCc-bbbVGNT(&tTD+wk<6KrPBWo z)o5O!4QLAdXT5(ZY>=DvFe3#v=!y{~c5t~ATPi(Ygun_^hsbq0^>Pqv1JPD&@y(4X8q^gyTU08ROGcDu~aCV~bfLE*KUX7r|o1g+_!4xv?NG zRwU$vb43y1%Un>WEY`qUbeRkN$&Fi)YcqmIk7Wj7L{$PqVnn9_o^P11TDcbCih3`( z(8{%lR^&3UVi>k#{hwoAUc$U%o4ztF7QC`Oti`;JV5a`cl!ss!f+Pw56%|rAJ*O*Y5t@KYWd}X=!N*M=fQE7rwyZ2x;+P ztlV_t{*ePECjj>tySO5!#icvZJ%NE&tfxtL6ca}qdfxc$(KxQcyQO(RNhz;Rmksg6 z41b~_$jS|wREWo_f^e(HJ(E&2T}A>+xYAFWe3x$V}STGxqKzQl21 zASMua%}$83n^Fav&#ome9-Ju)HV{h(JslV#`aIy}ZSiye_uog7-ab^f!!CB<)bEqx zDbqcf;^=g+l_}Ki)b$ z_0U}V{rP*_e@on55a9UTt&;Pck>isgYf>pSEXQHl`lNYrxzDN&-zjbMlXHO&4mu_* zXgkANnIq<-0c+YfH12(O&oGneG*|f4y_(G~s9ym5Zd1ka2R)XCv;4nn76%CfJNxu* zw^>6Zr^vOdTRylc858fCd%Wf3)H=V=(Q^r;(aLHIRYNt-42W4`UruxurQ5AHtQ%*6 z)KEuVWwN~7&XEaMx_knbJYXSI?_A5;)afQDB6vmg$YDm6Lt+OANW(wR3VorN}TZfAo zH{&;s`tW+Pd%K1{$mEc!HHJy@62)4iAKQHksfa+hna`$g9DC+(2HF-f%`P(u-N5u* zg>$Fs*l{N*)L8xKwMN{}CrX>t5ef5cx=p}|jl=sIGW<&kRlTp1>@Sc1^pS5%o>ux* zGr^i+DXTKvtUptPw}al=1l&Wecz?2*yf?~mb~~-@$TkY82%S8qO(BRobFem3G`yn60pX8Z9Nd2^G$$D3ac@IqG!?*^VPI0WCVjP@CBe;3S{ z^ge51S2eEdEpJ}j7c1ZWj~yu*4{(=WaW>iN)>?sDUzq;~AfWv(g8sUqJE$bs1is>S63`3@mHFpF?CC0JJhJIqBN)(aqVkjrS=*7O59F- z6hs$(02A;7s%{7&QHiNYOu&FxfQ1POR-{VhoF*v)VM18)`R>*8Jn!?~`^sD8g)74Y z=LP@(!}^?Bq2E3FZY2|R{W|@buHY=uYGe_wkd_%BFl*yw1a;S}qY5(Z^&79z6adGe zQ>~GjF)vxzWz87FMy?;z!PHFTn^qGMxQyzKCo|t)>@v`?Wo9XB@P@CThBLPjpv8@a zsN)xtt-)e9Of9bWvJi)!7R(CEk4J? zoWKg1iF`hvf+8>Q94~T$m=^LXi3+xrCqLw!>;P}MB9*h;uWxPgYhB`eg!S#ExUf8)NdSP5- z`kcV>aY?ZiQ{MVMw|c64SGguF4GMvyNj+c_mXSWhT|^geC}rHc`}yiY8_Y zld2-*a=FPaSH;$vi#*ch+DBZiFE<_p*Qc3P6gW4LT?()Z+XYKbe=o(pdL6Fa-;2_h z%TY62+}7XP+zrv$iMPF>rH9_wBahB{K!>{Wc>W0h$Ij^LY&H7$?cLaEz$bz5;o#uS z`~9KB+l#3$4{n|MdH>N%{o1y)_v6CDPfzdejEuf2)?jM$-p=J(a?rdT2NLF3YV#zG qCkJVKWR%9oQvVV7FTH^M=ZPV3b@#;3`Ag4)_>ZA$3+i_9`kh~JAZ~X6 literal 0 HcmV?d00001 diff --git a/public/country-img/TGO.png b/public/country-img/TGO.png new file mode 100644 index 0000000000000000000000000000000000000000..f0317615ac46ac3d3b34d959c87194021f817b12 GIT binary patch literal 1409 zcmeAS@N?(olHy`uVBq!ia0vp^CxEz(g9%8AX9QgZQj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS=07?>3@Ln2Bde0{8v^Ko2Tt~skz|cV7z)0WFNY~KZ%Gk)tz(4^Clz_GsrKDK}xwt{?0`hE?GD=Dctn~HE z%ggo3jrH=2()A53EiFN27#ZmTRp=I1=9MH?=;jqG!%T2VElw`VEGWs$&r<-In3$Ab zT4JjNbScCOxdm`z^NOLt1Pn0!io^naLp=kKmtYEgeeo;J&4sHjE(uCSxEHIz#UYgi zsro^w#rdU0$-sz9QwCX8VC7ttnpl!w6q28x0}I7~jQo=P;*9(P1?ON>h49S0l>G8y zuxejlE6=>*lEl2^R8JRMC7^!2%*+%k3u99QQ#U7bQxjK1Lqk^+M^_^Y7h?-!3nN!^ zGZRY-m|mCsATTyALtl;P_!aNGfW7Wc0f#cq6Ko`$v!m?nAVGciFz#q!#xHD#_ygkjv*Dd z-rT*JcgR4%AyE3`!-uEuDrrSIaTl?-p2wjp7~1|HqSPR?jW zplZ$E3+4t!d~m;epVQWQe%9L`+!0^?ta|08Htpy(QLXNU=OX$(917y^ZdodK$}pW{ z>yG@dA8s|DZQFX`YmVU6W7`k?OJ2MxOFezfXRqsZp&Qq){jlqa##Jq% z^P7N#d<&46>l!-s@bAsrY(8Zs9sT@g!G>#2U58FdhMy9ew(zJ&qNaC5{<~(qzb&Hg zgRVYKUw>97aqqM%zCQc6E!9c9Yw3HrduwF3uV?k)SAQ8_zg(F0%x9Xw9LpQ2(NKbLh*2~7YPsr$A7 literal 0 HcmV?d00001 diff --git a/public/country-img/THA.png b/public/country-img/THA.png new file mode 100644 index 0000000000000000000000000000000000000000..3fa92672cd5ec33a911b38953132fb7be05b9647 GIT binary patch literal 2231 zcmb7GdsGu=77qfJf}%wUid`8aR1xxo5E2L&5(0>U7y=HDig^qWLoy)=CZMpDDg`OU zf(0MYRl86jp&C?PmPOVG#TSKxbmeKaw4zjG39ca3PN>-JIc3k;`JI{XyZ7AR@80jb z_m9cvMuaT4b+$#JP|L$YSv+L@26+$JEJ41X&H?+7Wvx0GR7b%{YK=e%p%`LV2mxU- zK{CXH1mcXePRJjHvIHc2Pz`dn(?qZgCosq0v@!+4Mxp!zwF-eq3aJ4hlq`|cF%y?t zF@Qu&$Lu6?2pk0yN|A(SDxs*%2)-y&Dx!)pfdPQOmWBw(AhiI{%2MSjnwE~4*QFtQ zvm1{A=0ns{I_9^cKn@pR!b%7r;|N$0!G{3&5OG8=ZwiIt36Kax0-iv^6G>Pih2}+~ z5eUHR2ZLl&ij!zO7W;KB#G+$T)M^C{kJo54IE@z$Rwm<#R4Uc1K_X$12&^hYt`=yq za@EEK1s0?dDJ2TE1eOD4MS&1bSJN>_rN13Prg$SOSG~R_BnEpk2oxrj z63q6ZkiC2uzP<}w7A#7aL2~s1SNuDdyeQW^2r>ndnFT2&dm%Af3Cn=_1Jfjn*FsuU z?=@Gvcr9Lwa`8wpcyn9-tIZ28WOmHkH$#gUZ^j;yBeSkVhT2Q{B?E=B#)h#Nd~N@D zg74tq2Yf?nV*=}Xx;5v{yud?F;HHyNF%~~Mg+R=6rm?Q%3IF{MgF>?=A`^=qOD79y z4tDmdZWM>%vJA_y#(L_?q3jPpGf;WfX8ge*ted^_-N>t#9i#2uXTxh-_oFXKN@@xz z>F3*T<~Pm7mONx1to7ptPyMV3te|HPhM$}x#d&0{ZauO$`X#6Mmpbo%xaMISxpsT5 zWj-B#ajPWpDk&#h?8Q zRfAgwDlLEU)~Sokg73R6b2C)YQkrEob&=9f*Bef4(^of-9b-2&C`-vb zL%qEh=b(XZW?a~lNsAg|f2NmPR8Jb(Me}O7rI5KN7Jv4MVQ@IMqC6(4;XTQT1dqQ` ziF@mUE`cwis-0>Lej*P!({ftaRJG=4Jw2MbjIV0I_L-bVzB>L%Pw9uh0 ze33NBU;fDv@WaXTZ~NwewZya!MBWp)^R@~rLt`5D-4M^uDHg8ixt&JRUBvmZaSvz~ zAscf$Zzy!z)v{Yx&#(%TjY8Ki0o=T5@#rXw~(9zvU8gBLR14 zrr^Y9!n4()AlvB&x%#6S({7*Vm|6~QE_knu{g-|E)Z^72ou8Gj5i%-3r{uu6kBf_q zDNbEK+z(=M*VW&8adfxaE!Rt~X#Saz{j)p%WujTRl$aPIaHhTN$1P5+S+e*PmSkJQ)MVi6o2h-7uekvV*Zr~3yxrY6|_6&S77^q#Q*>R literal 0 HcmV?d00001 diff --git a/public/country-img/TJK.png b/public/country-img/TJK.png new file mode 100644 index 0000000000000000000000000000000000000000..55b6c547870503b915c31b5348e6da71a34fc19f GIT binary patch literal 2145 zcmb7FZB!Fy7S3XAyOBs;OQUp=F{p@|Z$2avC}a}88l(_H0z$P#t0GDRWq~5-Zh=(_?9mY7f+8qepdbjMh=6y(<8U}aNH7?Qtv9e2de;v7empc1k1cCat_Y1%B%xZd3dRLM3JDB^ z$i>NUBrJw9_TGejakyoGOdvu<{Et~ug`6U`VJJGe5@X|VzWzF;Sego>fCNsKA#BoQ z<24c>gV>}PPd<&WGG?h(ym6V7d0dN#581SUf$WodY4e+8<=u8i9Z|`jYgGQ%OX$&fzL8g1N zm<$$;2E2YqSTq%s#EJxYuVY~zo0Nj0N*0x>)oLkPCPkr2rqX?Ud~6yF1{p(;)fosX z){zml>!Jb(tEDQL5|t?sz@{jcC^RUWgk}1w1iA8!ETVpWP1uD|bz&uzPNCUKS_Ja> z{~aoqzd@_fNch)$|D&*4kfDUBk+52!QAx4JCAr!{DOns9EJhV7fkKhCc#9D!3RIy^ zQ78dUlqV1)Lm-7#{SwXRvqBIxDn_Jm2*@U3e2Pp4v3$5RE{(zQ@buu)>2$6~AkW(y z4&iWbnM1$;fv$JF zY`x&2=>3meJ{6vwFxN81a<^W&(Y`BYD7c4!D36wEK9g?v-Oc)hx`OUiLHBr(=KB4A zo1e{&jb+J=*L{`^^%ojf2bO$Q*q<>u_os#8rUi*Bj@n7RYxmJMo8emQZ1z7px-7|@ z$^QZ6`q7%%$B*B8mR6$LG4Rh;yEARCbSh5={807bmjf|KfO|F5U)2TbAvbGp&N)p- z-g?Q26~S9N^K-5Rmygb>*6tq5AFGVjE^nzIr!$Vfcvf7%uU%#pwOb;Y3EeZr;U1k0 za})QB#?J|({o9|5O~sg5Fw4N{Ezx zZNfJQV|V6nWK0z!@^bNDg4c-)M@8S6z6YyUJA37VdBLnBMeDTivZrZZ%x?zdd+zj@ z`?F@YzwKLhQ`|j#e}iX_vFG|RQhGDlIVI~E`%qdPW2K>AU3vR#`nLf$}1 zIr&OP*uAEE&ZT!lt%if)Zoe3K_4m_>B?61EQWaRgKJHGwWE4ror?~o=$@=NQ-Tg`F ztYc0Wy)Lyw(FVMoBso*V+Q@J5vF6Z*Xkh9q)&i?>!|P_wr2NXE!pfP*k`SjdN=oI%f>&oheDi z(qiHy`UO7K!>-6Lxhy_mz8q?)h&acueo&Qsw9OS@ZT1G}~A=X~OirHAZR zfB!^WS*{-bOuQ*E_S{3t*wD)Jwf@1w53;HTFBXcdI5(lgZO)vP_@v;c2)=)`xWq?_ zKYiCcx$<+z1j;7Ol@CaH4$_GPB^Y*SH4nK;}b~gIsgO0W}t(TZwi)3I! zsmUTtKHSB%chgrTM^&G6bFa5voZA)a^e*RQ_o3Zm$IH})bt`o5jol)jdY`a`+|d}r zm|or()zZ4gG+{N|zCFDlsIIE{Br&3M&dYwyL;hv_&r(w~&A$~jxSwg=AK$Uh!BSAx zB}@Us)+#xpLgvWTs)0bk?4~bw4Vs7#dFPvp0u1X+=44iLoSrS>wp4`vd86?!_Va!{ zZMpp>5we0nYpm{Qvp<^=u_54c51~$u5&5V2{fC#d@B=B_{FEZ5@)3A{=N;@!6Z$!}~1d|)%&|LI(H>K&b0u(QV@L4Vg0 T4(qqse)=KYaPUgto&)~^I=XgL literal 0 HcmV?d00001 diff --git a/public/country-img/TKM.png b/public/country-img/TKM.png new file mode 100644 index 0000000000000000000000000000000000000000..6794bc32ba425ee01990ca5081829ecdd52dea04 GIT binary patch literal 2570 zcmaJ@c{r4N8y-<82?tq{w~^E^X0bKHgfWAOu}ngiYM2-EjakeLGnTS6LX@$U^Od?R zrIT&qlZdp)R%k;MI#kNB)Jc-a8J+5Ue|&xKb-nLzx$gUZ?&tYEzw3I_Jlvetuhm%# zfk4)ioCy@^*e-o(3bNAgtZybpI%xBWzWhDx5WaxQ1tIn{b`S`VnAA{^0#a$w5gnin z1R@L2y?pt;WLIo3n`ug2!I%n}94Q+Dv9T3$sKE@74+MdsbQTUebFCQ)&}lfRj|CY? z<~V?1bmtf@xF^QVD>#M`jG;kocL6p+tWklF9!c%4GgP z^Y|3-AHV-onCBJE0TC3C$ByI%OAju@U?mg>>%ax6d^XpM%?|%wMUOBxpUn$na{z}u z7Jv_(MPmziU(sYTmc-)msjOg-M8H9%d{a7|hTUn2A`%G%GYfO#P85o0jz<$6F?a&n zo`83>$2(en=Mvb#kxY=q|IVfT!!`dYccl@S9BE_%$fZYtG)FF*34Bc$OaHkS)KB%k zacMvIg8nHNAvJ?oIoAI==I>k5-dUOcXjngnvNDo&pqV4XD zB9VxaikTOi_C0OCOEVO0);f#V?<&YoY&ub!VX`a=?yu zP+3KtF;APf#dkh1De^O(xT#j8nByo5-M%nXs-AUHBR!KUy}7^xTn7IGdQg z?*#~+gLFQSTT+_AdZ<5p_PXK1HB^77-SaEpLdA_U&YtG)GEzyphq~O~tfrSR!f$+R z3-yybo*UL=^zPV~7g-FZ#*2ZY?y1?a>Asa}kvQQVgOf+$bNZ0N^$NM;cAa!h6t(t~ zx0%`Gv5#qzm@yk8(PusJW3^6J8g_zcvh7fb%FKl0Cv$*|NKACa+Z?)t)AW|}Pm*LyHsv3%+F&Du*1bjbX6;8BG*mCku{Cy^f`s3dNvi>oFEls+ByEN`ru zLvsQnc#>I|Wh zB>jyG#a3%oHxGb4m`2_L({D-5#{F=z~*$kDh2+L>b9y z-5_@>Hbb)4{(%3D#~i(~)@!@v15WnBI-V4Y7)|wfuZkK(wcDz@m!Q4|Zo9n3jtzhG zRiVs0ggI^c-J?n$()#K+HVD2NhGf_PH3z^s~ z4wzKkAEA|m5Fn0-6e1FzyrSj~%t|(-IkYOMCbY?u(bLn(o49Yw(WZy;2G>QhZ`!xa zruzp9&J|S+4A(yI7v>!*-F~Y$HBOb;rYy7Ln4p|y9Y0pAUiHad+tBzL$9uHA%-r^Vy_ke>k zK~n{Fl%&fhK`apCaxB_=M{&&Ul%^JcwMV|1o&nY$T$9)4zpe-upNu|@$Y&_}1(+On zt;r0h^yl}<72QmjpX%$|ST)`h+RO|=FLS`DythV@dwcal0>BA6yb-Aa@hZ VHIg6wackx8j6`%JRN@aN{RKQSM!Wz3 literal 0 HcmV?d00001 diff --git a/public/country-img/TON.png b/public/country-img/TON.png new file mode 100644 index 0000000000000000000000000000000000000000..426d3311b33021c85d53a23d55583e54a3b93af5 GIT binary patch literal 1309 zcmeAS@N?(olHy`uVBq!ia0vp^CxAGGg9%9bJb4iVq$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~;1Ffc1*hD4M^`1)8S=jZArg4F0$^BXQ!4Z zB&DWj=GiK}-@RW+Av48RDcsc8z_-9TH6zobswg$M$}c3jDm&RSMakYy!KT6rXh3di zNuokUZcbjYRfVk**jy_h8zii+qySb@l5ML5aa4qFfP!;=QL2Keo`G(%fti7VnW3Jc zv5C34xsHO7fuVuEfswwUk*=Y+m9dePfq?=PC;@FNN=dT{a&d#&1?1T(Wt5Z@Sn2DR zmzV368|&p4rRy77T3Uk4Ff!5ws?aU2%qvN((9J7WhMC}!TAW;zSx}OhpQivaF)=B> zw8T~k=u(Imatq+b<`qMO2^e7d6^RA>Yy!Td*Q11-|sg1d3T`QTkpKLSO z|6b;nt#!fs_ixVMY$%+Ts{G>C*N0P||7@^-_&h7p#+JP>WuyPIy1MdIu@}u71jMG7 z_FbKywO6jSw0V(*M|zl3gzlU0)6VAh{hayfliS_371x+muUW)%W@E9AfY>3Y2nC&% z)(s939NdWqC-&`F8a(app4LS;5u7@b^#r# si0*O>EAS~iY;!Yyl#rK#mxSN-D?E1VZ>yl^ha?VGPKCvqUluX~2Ar1c-zj(mGZg zElwT{XN#8Sqi|AwJYSG67K8~&OCx}A6&ojz!Waaoq!O8et>Tczc-i>caZDuvVe4C{y^1GjL&r z02RqG5h4Q|j8F!m#5g3}>AMu9@(;8!#rrbh1*57UIh9VKIZ_%AjEnpKP^t7ov;s?n zKl=SoVg+9`B5zCqo>u3b299QPTs3;c}#-NB47)zKfn%E02JCT=nSmDH8m=j{D zxEZSBTK{#;<41V!IF=up7T7@7ZZy__wkrmK(`ewLk8#=Gp-d?&?3@ zzRlVddO<%&nX<3J;3d?P<178=?@BpWr+fRNNBe8Cd2LBVzTupEo|pQ;gBH8J{P$0) zw;p|*{d&QU6*Vr~iY&#Ihv+x82XgGew(JUj zi0OQpo6WURa$Vc(dCH8sM|C+**A2cQ8h2GE_%Uoz%3+W*xVEAGWLfcVYZ@EN>QWzi zp7qz~A6989{G0vM=0k%ciw}ZXxq4Em_0P6)OFLczPuI1*l@Uf1rOCbtqsk)pl_Q;tA&sSUeQ%aP38k(MM zBCK^XCNhUYjky5>;#Ygiu3pR4JC|C&&(H{pc5gTX3t9Q5!^17z1>Eg2 zd|a}4!2O}tn{R3NC+-fIZQxVVq5h?ksTHG-z*qdbADb?LH+15T=&72R@9JBg*>;Z7 z=7^&aUp~ds-j;H^uZ&T^@;<>deaVAjde?(JURvChwtlANel5E*gRBv+=$d5P6Lyhk zFt7>(y~XRh8k%=%nr=7D5!W~Dy`u{YuvgUDSB<8Ti<_&N8#{xi2o9$8EW#;H`ib`6 zJ62M9%VbomE9?1nv+J8iBqgWgH*7s&3peqF~+{t;!tXc>bGbyF6k_Dn~1 zIjy`~o{{Rkva7t+G)K3JVS9-($K=x?v2)7#nmZS_-R(PH)5xFMWVdhiowX?QKGkU& YA*MU_#^1X=NRB^NEH9p07nQ#4ANIuRf&c&j literal 0 HcmV?d00001 diff --git a/public/country-img/TUN.png b/public/country-img/TUN.png new file mode 100644 index 0000000000000000000000000000000000000000..5c30f80dcce4a0e9ddff58e00b851d8b73004ccc GIT binary patch literal 2972 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 C9KgB& literal 0 HcmV?d00001 diff --git a/public/country-img/TUV.png b/public/country-img/TUV.png new file mode 100644 index 0000000000000000000000000000000000000000..1a6c2876d0c650ecec588a810f738a8f5cf64e23 GIT binary patch literal 4201 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 P=YQJD%+9pj*gNXqAqgSW literal 0 HcmV?d00001 diff --git a/public/country-img/TZA.png b/public/country-img/TZA.png new file mode 100644 index 0000000000000000000000000000000000000000..ff163a05ef60ee78f24f97f05f5f4dfe513e7080 GIT binary patch literal 3828 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 literal 0 HcmV?d00001 diff --git a/public/country-img/UGA.png b/public/country-img/UGA.png new file mode 100644 index 0000000000000000000000000000000000000000..456a79f7fd967d2f5669394ea2190441d45fa692 GIT binary patch literal 1732 zcmaJ=Yfuwc7)^npJVY5^Q_+z%j*f#QyLmuhOJFdG0yPvv2thAvVZjGgv&B!-gRUnE2>a zHl0!hON6T@a#1TjT}_f&7z9lw6Vt?D61p^y6&xJw&|tF}6oR3*;3Q&Z;QFPL3PMz` z&|z8h@=t*l24~9eSZXvc1jl4Ph1mqVW1h&f-ENFIMO6gEdDf9qnSeMNeTL) z-j53Fr4}s;N>Dvv&?%^gQ!RC*(!v5Aijag(N)Q>7w-}=)NJ6hBw16Ns0EowMC1KK! zqs3x464#Rmu0SJ&d^*KvVwe&Z1@L$rA;b>gidZa`h#SNSVg&_qg{!#Xyg)%Pcake4 z6b227lapNK2QFt?uEPi#EtOe_>M$d!T&*KC!1#e-Z2DTDY4s+!%IRxiP0IzTVnD~U z{_mM5w^5VR7`{O-vz4Kf=FRZHe z_V@Ou0;i9Jxwf|ro4xis&C5-WJ$)q)Px4su>qybs@SZn)S%z3@b1wM3>p1g8<$;sNH%m5TA%nRI?(N;uyu=D7 zVkxr@AH10Tpwj!s=#$ZMta0wpy`OwewRCiJ4Ar@w@H4OMT5gwTuIwsnJ6YYEV;z}e ztg{*5qPpz9!CRp(YC|5xojTgQ{_o+`^128^W0|cfY1{UP?;1u^GJ3vlC`rifz9~D$ zb3gX1vdl6~`bCaQZZOF9$` zeDgp`SB>w?oo(i((%&EVC-(K965r2#0)O9GCQ&~QkGdmXv$giP3N|q}yMXfac<%kQ z?KQ-}bx<*Q!7pRCwO>=1dHAyXS4a+j)V$(ubaS@mM0~;g*NfX<-X5^c z!e2kK@rrMzFmR(lSe3u8>X}=U>$QY`N`p#k)gcjw`V1X4YahyI<=3?-^6Jf5i}I_E zzuWQ6qe4}U^~}6-`5y}t-$)CWo3h28wm%aPEVt5T<(USn|GAl`Fy_YoH~mrygS>! zqTI6cuNCV}M+kmgWqP%&rTd=O#{QSVJx>G1t{t-6>fn+a literal 0 HcmV?d00001 diff --git a/public/country-img/UKR.png b/public/country-img/UKR.png new file mode 100644 index 0000000000000000000000000000000000000000..46b5070885b6c1cdbdf2f52dac2e5405f2533269 GIT binary patch literal 1262 zcmb_cPe>F|9G*3cO)=L_WfYH*=%BmvXaBi_o2xskE;uIZf(t=3&OF^|oq5yDv)vUB zRv37RZXE5!E4jv+k~nZe1F9^WOXMec$iSJrL!2D z0>k9Z}b-157pu$?ZNkV!!sO<4-LxbZe8l_|t6 zC}U)$5t^)=;&2vWWM`2H;v+#Ysu?QE+ax4s$1O7np~$5bdzKjp`~4dYM+I4P%2o^ zYI_OR)GKq<+Fn96xePJGIM=%EnkymFJI=D&v}99lduWhew@6dp?Yl|7G?$tbd(wqB zpI&nfPh*~IFXks(pY%4Kd9QbL-G0zNf6D#r)ymxUxsaS|d3$y3d-qIYrSsfU%l-9x zu9$lea`xm# zu07U%`S;M;!q;DqFC6+Y9p+Z+ Zk5Jk}&q4Y4N5At2N+yQHrQY*b{s3b{Zu0;D literal 0 HcmV?d00001 diff --git a/public/country-img/URY.png b/public/country-img/URY.png new file mode 100644 index 0000000000000000000000000000000000000000..16d469ee2eac24003e678e4a2a40559a5c595e47 GIT binary patch literal 4784 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 Y7N~G?z7DVR?mr|`BMZY)1Lx@f0a18#VgLXD literal 0 HcmV?d00001 diff --git a/public/country-img/USA.png b/public/country-img/USA.png new file mode 100644 index 0000000000000000000000000000000000000000..80b06248d30cbdc0f4d7477f6ea5b733be256964 GIT binary patch literal 4990 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 Z6wixOEnl0z;{WwWOj|<_TC4^O{U1=?AL{@B literal 0 HcmV?d00001 diff --git a/public/country-img/UZB.png b/public/country-img/UZB.png new file mode 100644 index 0000000000000000000000000000000000000000..70bbb52293fdc62867215875f39ba6a7c8d0f463 GIT binary patch literal 2308 zcmbVOYgAKL8jWB}YoShywF*^Y6s$b*0*r~_9RdhZhyhaMVMs0zNpeGSW5Po%SZsAh zs3IUiA{r5jfJ@{ZsI!DZdA~%YJQWlpkE#$*5S<$pJ3oe5Yv$f{@A=MId+%?b^L;Vn+fHG872s3hYpSs&1i> zT#g;e-3{s zF`0$q^;6e5s(0#sbOlj)#^pz2_33YP+?7?tOq+E-QIp!jz|K5Dms#@kBc5jcTC4od zA+PLJEn9Tm*8GmtF+d8`>1{p{0d#hv-{hR#-*hyR%byI@-a6*iIP_`l)4Dza!u;WG z^eW_fvXO!z$tE{%YA)f|;%U+Hhn3{|#>vi-mOb{j^EdWE9)W#f_{Q{-^zQ5*O;k(? zkVqp4X~UhN8@qb5QkeRlW<7Crtih>}E9HYvrYe_wjB!*_qCS+;Y-RABwO$bvXJ8?U?c0ukRIq070 z-}qh9%~v9_MCFsq`b|B4nRd7>rDe&Kp0-01h&xJbOioVmJLvh+_kPAdmrj`ml|C_z z&WTN9FmFz{m~zoE25t59mekUe^sZu(QigizRqqCLHz!jH?iNX&I~Nu=O}WlTUG5wU z$a?%}HTD2YIO}1XLHfC>{z2X;jpUhQS$9&dbbY|%rI{o99vQg$Lvi=$ z+c)`&+!ZGbr0vpE4e@&BX|vwlss^=ctU9^2>W=XFi}Cn!_xMGc8z!@n2X$S?P@)27 ziYMC5@)bSc;CZ_HVn_MV4||McO_y^`N|;^UKKPnm!x&pZDNsV6#{n99$i-E2lz4 zJLx&i&3|49oWxYW85mNu(lck~X2d57MdO(rczvsy4Dp$<)6VF=4NF1kzJ@KBi?Skz z&&d@Jj`%wCr2b;@@H+VtZz?yg(zI_=e=T8s?t&K>E~^j*zO6mu8F{-&WVf zuF$HaeG8i7S7T%283}#{Q=1Q*?jfF3K5Mc!E=%Q+V%4oX&V>|XGAnv#dAUL*buMR* z;SP!JMA)mUrNU8nr2d7_*q|~(YTsM|{hQ5IOdq*k&Es7GiVBL(j!I~*>wq`&wO?8E z9lt8e&rXG;oi|d)nFbBrLl3Mvw{sy=Q*%{0oOgr2l~=VeDp&bEV^A+`Px$=6lc$xD zGeNfsZ_a3L{g8J5QC?2KP*ZishPuw;i{TzQU`sjyMDyhSdciyFJ!M51zsgImOO#zd zr_Y5+{lLH=Q-}Nij#>)^qh+fz8ZbOtNkob{bkPT2}O>o zdiGFrxn_+jN*tJS#WX71-aBcHCW|sKU7RXymYXybSWKWAg%i&J%kRx2EfIAIpbuMe z*$};&fw_Ba^^K9ub)sXtN1Yutp&5$yM8qknqopGZ)6u@#@PD0DSlo1ApL6@-Yn}YB zEv6=;wq(cL2qwH}FB7f}&02hAyfs^<_y20Y^Yi^~>qTp-V4Y}7cEIZ|4k7|ZsfT`B SYIV`xOFUfnQi_}pCj1K^@9Fvg literal 0 HcmV?d00001 diff --git a/public/country-img/VAT.png b/public/country-img/VAT.png new file mode 100644 index 0000000000000000000000000000000000000000..dcfa23d12b182bbb6cfb76cd3e1a5e9298c46e50 GIT binary patch literal 3323 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 JQ)A_q^dB|0iE;n{ literal 0 HcmV?d00001 diff --git a/public/country-img/VCT.png b/public/country-img/VCT.png new file mode 100644 index 0000000000000000000000000000000000000000..e8b1d405af15ce2b57347094af5eb035d4a7ebc2 GIT binary patch literal 2418 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 literal 0 HcmV?d00001 diff --git a/public/country-img/VGB.png b/public/country-img/VGB.png new file mode 100644 index 0000000000000000000000000000000000000000..6a5aed97e2b371fa3abab5cf007e07d48fff0fa5 GIT binary patch literal 2630 zcmaJ@c{o(-A0Kmx)OT-OO^*gxO^&SyCq1lWw;NZI;Lq zl_iyo(Nxl^1tn8avEY^X+VEPm? ziKbko%9k}uP5B)S$iyp`MItajw4S>~6h#+6Fjp3r0RfZQsR3-? z08xOKCxOY0K+}sWS&ndjJ1?{sj|gpL zlVb(Y`dF$jGd7HgXThDF0EcLTQXm2n(ShiQaE_1=?Fj#-OHl4-j!|&n8$=Z52>&Oj z055NV$Q3|<9TIKDL}Sqa7K6mt*y334=$Vv$0KL5aKQtoZCt4_? zLI1}4KZS+9F+2!GgM{2j0aMwyE#@<>cm$#VqKmi!UoJQNM-{!daz$L>RxS@9uD1jH z*&G%(O85=!;a&w6(W(a|5v;)*eLL z*kD1|A6ycb85sd_L_fH!f4Mfl_qxAj#uLWT*U`4q2-;1{*>}bC(HC9s zKcoNjKPHjs5$!L=ocYjRFPOBqw5?|S3G zOqcCwO`)!seQ?!ZC+kx9hrs?qqR)g>MZ(Lh&2-(D^C{b0&q%VvrD^u^7v?Ds><^4i zFG$|2DGz7o2fSFCrcI(BG%|~6MV}91s&oa&r5-v}5@QSIK{d0Or#L59f#0K`z&!yk zj0SG}wg$Ll5VkYv=tlWnkJM_--4mVFu7~ZUO_O4LO;7s;jT5~l=-U=g7C1dVJP^n3 zvJ$oHFcW&rqI9J^dQ)PFM+^{m1vn(R?opYxL#JH#_~vxocdP~)sia~NOp;ql2_+abQfr=Ze z%~XFvE$Aww_&OPmX(A4Yt@KOJ*3a)B%3ILKDsg#gQf6P{LpP~tT-CDXBuBp-f4zyH z^D>TY1@b)Sqk8wW3^Ph)PIqwWLD?Z$ICoOW#R8Q_!zJ+y@+bNeP`iB1%3PUa?#8;O zZmJX2pwTAP!Bh6dTKKEz$>Bo&oVH-n-2L_$3$7Y6mcWbEv!RnyWoKL|qtw$~?~Vu8 ztfg7yY`(WqbDvsPBiPtnse!MR@ZXJhRv7j)PW3mM$F);-$s1-{r0}1nPZP^M%kD=C z=edp-c1bwqvc+cEFJEa(2LF~~QcvMxA@5IiNmeJNFmRZ&UQt za}x_%#Z|1Gq?Dq^q0YW&uQAJxBBA|c!csTHuxQirmbH349Vu$__H3)ZL8~0GubN{K z%(;Z*)6{ZWy^n#9z^;4Tb` z)k|X-hf@E%&Q{Bl`VMUOav&t*F>keEVzONjZIaz!G=q!eEOeDOXMy z5AqFLUt_L%wqhAaj?3j_f2m;V-1*XqSSg-b;WDwD&nmsCq5f4J`_W`q;x;=Ih1bo1 zz@V^A$R7BW)G4G9b%Ui-?G&}1fU-TNwdlomX6oa>J0|T}-8(8D4QkA~^mbm`!^^`L z+05(uMr7MyGg?P4U9dS5L{-34LYgu1Rr^l+>NY!ykxa}xc;4zz>PK6$I3LVCReCDD zbZ@6a2%0iq`;$hK7*~+xpxggO%ugcwH9BN8thiFSy}#;#YRPMfn^n>X-LfFWv~}oQ zLUOuBa`?4ny%M4`rt?b*3m~bcc;HnVQeZ|MT|==3*IKV7HmDb6RP8WaUVJgnWRCyC z1I8-wXNnl?TCthdo~n^H8Meo-=+%?mJevBfb{&yoaj*CLzUXuY#X8vEf?RdOWnDhv z$l^_qE8Vtg;;&aGh#p;eV&Pa|u+QsuTI4eus;RjwtcTVYBMaK)RZ|R3B<*y)1Z>ViNf!+0e$-GX&A&~vrqvh1 Xw&Z;TaAy=fGkj_3rYG9N0?T# literal 0 HcmV?d00001 diff --git a/public/country-img/VIR.png b/public/country-img/VIR.png new file mode 100644 index 0000000000000000000000000000000000000000..71647c224e3a25f475cd6aee5d0052ee96621a79 GIT binary patch literal 4282 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 G=Klc6uW;u8 literal 0 HcmV?d00001 diff --git a/public/country-img/VNM.png b/public/country-img/VNM.png new file mode 100644 index 0000000000000000000000000000000000000000..af1faa57864b0ad70100d928a6a6cfb8828023bb GIT binary patch literal 1261 zcmeAS@N?(olHy`uVBq!ia0vp^CxEz>gBeI_I=IULDajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_cg49p6dArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8 zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb> zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XP}#GU}m6TW~gUq zY+`P1uA^XNU}&IkV5Dzoq-$tyWo%?+V4wg6Nh+i#(Mch>H3D2mX;thjEr=FDs+o0^GXscbn}XpVJ5hw7AF^F7L;V>=P7_pOiaoz zEwNPsx)kDt+yc06!V;*iRM zRQ;gT;{4L0WMIUlDTAykuyQU+O)SYT3dzsUfrVl~Mt(_taYlZDf^)E`LU?9gN`84U zShcUOm1kaYNn&1ds;7&s5>UThW@d_&i=~UPv5BjZsfnwZp`ojZrKOvhi?fM^p^=%n zg|o3UOs`9Ra%paAUI|QZ3PP_jPQ9RnkXrz>*(J3ovn(~mttdZN0qkL`Ox$iUz-b;- zZwhX=7~<5c4|I$^C|Z%C872fwJ0K=J(E>T}WS^P`OzTC!L_JBXTOODp*aCb)T>sqU zyr&`XQ+>*B1_s7JPZ!6Kid%1P-{m^2z|;2d{O|oQWpjEQ!?V1T>T2GeOyl}B!7n&b z%6C=+10xd)hk$|u8e_s*MW#tPJ$90T(|Z^^Sto{hG~6lv;oXqK9%$at!0@rK!n=WC zCFjI2&n@R3YAY&Nr!L`ki8WrNCwY?R;`3j1KmHcwynpb1Lwnzfo)c?Y?V~tF-1ZA9 zOzUo_nYR2X-{z<0GZJ_9AF(>5s9FBaqdm7%=(xf9t%qcuxh79Jyzf_U;*KdF1$pLw zpJ+B=8PXCjd zP@JfHqDJHU!^3+MqE1XMa656h!tBIW6U&seX`+5o>dR;Re^Xx6WU8>uyv@-jueYIv p_w0XxMjW9apm2GD+LY-G%nU3|2_I||*FOXmK%TCCF6*2Ung9tgsagO4 literal 0 HcmV?d00001 diff --git a/public/country-img/VUT.png b/public/country-img/VUT.png new file mode 100644 index 0000000000000000000000000000000000000000..67146763de9c6f3a130681a814d947ac2542ad29 GIT binary patch literal 4293 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 literal 0 HcmV?d00001 diff --git a/public/country-img/WLF.png b/public/country-img/WLF.png new file mode 100644 index 0000000000000000000000000000000000000000..7839773e96c45f67977f267c25f7b98ef0c3fc84 GIT binary patch literal 1199 zcmcgs&ui0A9FG&FZVU>-VB+B|)01s}wON<2>_?k!tC%^u!ZJ^$$=e#YoScNmCA(TgC6h%a5+d9a?uK=R)E^7(wepYQvA$?e&h zsow50-4sRj7N*rASznQNE7nE6cYlBzWa-Cw9nYafTr+$~O<1T5LBTPWU=bSD+UjdK zLQ%(oUDC0xU6M`YFh+!7LdPR)iW(UUJ;Pjv7?k0X?JD$_=PzhrTM9idYMkcfV8x!U z`*5y4Q!?wzrex7$qhKVIiGTyK0YYcR4dhUv8@e*tM`4x*4G3OV=tEPwHVbmdhd^Yw zq{$6&V2Eepf*?enJE~=BwT;!zC6^uQZWoxw> zQ%f<(Ut)Plk|GU3ND@RcSaY!vCf#7LrJ%yV^lcB@$OVz2QASm)(8TFs369s6b%W+L zkqcu(!((}di%Mz%HSONgB5}7^U*$oDU6*{1QSd zty`R}AdG?v@<47*1oO6Qp<2*DYnohe18le^ET{@i_>65^vZSVSX^BsXX?2+A^XaTO zEUKy~@dB6S1!xi4~$c+ZU@knMB`u25bP5Q_Ije=#nvlqUjUXyEe z_9ArTvcwD=&?U3(lcD}_@!UQ|9Xnr8CraV_PjC6&_3^m+ zMyc79*}{nov2XLmn7(63qV4yup#ccyM$-ub?I-`*XyV)4G0 zSsf%cx3XYo%jbDz_cH{s6 literal 0 HcmV?d00001 diff --git a/public/country-img/WSM.png b/public/country-img/WSM.png new file mode 100644 index 0000000000000000000000000000000000000000..9f51be19feb4685a79b78c846696ea2b1c4fd14b GIT binary patch literal 1966 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 literal 0 HcmV?d00001 diff --git a/public/country-img/ZWE.png b/public/country-img/ZWE.png new file mode 100644 index 0000000000000000000000000000000000000000..fb528bfe96d33a7abfe6cfdb657a15b3aa9f6748 GIT binary patch literal 3221 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 literal 0 HcmV?d00001 diff --git a/public/country-img/undefined.png b/public/country-img/undefined.png new file mode 100644 index 0000000000000000000000000000000000000000..0fd1fe7e548787294d0693d83018ad8c344874a6 GIT binary patch literal 2997 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 literal 0 HcmV?d00001 diff --git a/public/img/All-Fleets.png b/public/img/All-Fleets.png new file mode 100644 index 0000000000000000000000000000000000000000..0b62a237d2b52b38d320f9d4002b39596ae8ba2a GIT binary patch literal 401 zcmV;C0dD?@P)Px$OG!jQR47x0(!a|NP#DJX&qa8PfrTdip%iexaz;8&uoBqDB|r}IcpPrY}YPUqbB_niA&=ZcZ2stMe|hMszeok@QF zUz#!C7M#V#o_mG^Ngj^{t7-)fVinfmb}!tGCwPZ*Nj|pye>Yauaje13(JuOW51uAD zGYX!<_avvQYB9EAAs!`p+YkPoU;0>v*Z76$B*z9|Rn5Ug?7{rIp-mu3N*cz3aK2=2h) zB%5ae&*NK?qeE~m-eY@`m*ZNks`>cPjFIF`d*gjHSFFY-T&h+Zr_SIN7GN#bV=0-Ow00000NkvXXu0mjfp*FgK literal 0 HcmV?d00001 diff --git a/public/img/Map-Selection.png b/public/img/Map-Selection.png new file mode 100644 index 0000000000000000000000000000000000000000..6eab766f52e7532decb9e850885bc73d31ab5b2c GIT binary patch literal 364 zcmV-y0h9iTP)Px$CP_p=R5(wq(ywdPQ5eVZ*P|j1Wz04)Y{j71x1!bJz_y~na$#*+#AXtNg&Src zmRnYaS~O^pF$Dhyhp@D|O&R;hxqR;p!o4d#>2S_@KR-Utr;@zF3tTZh_Nr=m^rey< z<2DX3gNqaRQ~a)~llI=gbkzn}!P%6;g{`XUjlf&j#m%bvGYL#`4TqQ;fp_t-sus_g zQ<5Xx`2S#%tC+2-CfYd8t(fF7-r)z{<3o3DB0ibeYLYqpLJv!w;+MMw+f!#u(z3V3 z_mf<}Cf4w!fzP{EKL4v~k_UK$d-#Ow!#1nFw}m!|XR(hB44u)<^A$hw4XbGGS+AxE^#1~4Ta1;|!eiI~0000< KMNUMnLSTZknXID# literal 0 HcmV?d00001 diff --git a/public/img/Search-History.png b/public/img/Search-History.png new file mode 100644 index 0000000000000000000000000000000000000000..35d8d3258ab4b08bf9ebb04bbf5a21edb26f8598 GIT binary patch literal 300 zcmV+{0n`48P)Px#=1D|BR5(wi(!VZ5Q4j~43KFGgh=w;% zNW6gth4@pBoMa<*v+li#>Ay3-nKO}@o9JLvv--qtWabAJ@Yu|0;kv-YWJJ6)ftfjh z=O2hytX4!W5l=8a2utK6jQr903vG<`!T&^k!}hO^_YrYA*nQZHLt$pFV+HT%;tm^? zTg}Wh>|hI1<^M1j5f63n7KagWRw8HSF`go#QwJ|`6A=eJcu}H8#C{!|N5SWq#v-n; yTz7KiC}yzKTTXdk53K^Lj=UWaWv;%;%-L@+$cn>#U8}VK0000Px#|4BqaR5(wik}*nyQ4oZ`!BVkMw6q8*1tDOmcd+vYLQINimDJHrtyH{0ZV}Wn zAPANrH%PkFBWvC-kL3SFahu26-PxU;T~T4SyTFd5i?S4zIc;A7y%c){&Lug|T>;u| z07GC5tO0w#iKOQrff2O54fKIcpe<>(%Sfha@vTIEAgL+aw?GGY2R?v#-X(#afOTLWH~{Vf7_wgjZ@?%4FY}oa?EoGEAzrVb z8uGV*nxtvPibAjna4%^AOmrHOqHFOl6X!dp>HvPXj-`42bpU@qxopNzdskAdYQ;VQ X`HgN66bX9400000NkvXXu0mjf^Lc?h literal 0 HcmV?d00001 diff --git a/public/img/Voyage-History.png b/public/img/Voyage-History.png new file mode 100644 index 0000000000000000000000000000000000000000..1815c17923aa958ac82acb8d974f33de661e5a66 GIT binary patch literal 370 zcmV-&0ge8NP)Px$EJ;K`R5(wK(lJYxVHC#k-vtdVVj$!eh2&tn7zWW$4X%wX4(`#=P_)#b4SoY@ zacPNKl7vti8%jvX#i9BDViCA?Fx{6OYj}1(A4c=oR$=}BGfiH0%*OPp1MOF0-PjNfRhf&}zj*`p{)Kt|a{J`TR z%cH<8%-~9rqi*6IY+@XnFii>!Gaa>MvFbZtGw{df5aVOJy!A@H9^aT?g z{5r|K(~VM9b9jOa-NV}?t5tOu@34>AB<-Fj(ZHW*hIhK`_atqz?F#lK=n! literal 0 HcmV?d00001 diff --git a/public/img/Voyage.png b/public/img/Voyage.png new file mode 100644 index 0000000000000000000000000000000000000000..324c0f45c65b6a9538f51dd7a3758c6d2161aeed GIT binary patch literal 423 zcmV;Y0a*TtP)Px$VM#bCUP<-vgFXhVTK0QNd@i2g~prm$3; z5X$F}29$^mKQP;VKl@)jsZ*iebdWF3hYru!ipdF3u3WmDoRH<(ocnY&v zgPo`{$FU_zb^iA`nmHq=?DIH;(dO_I+{Fg$OY)*0SQ#hl(QyMCvAW&&B!1vTlIr}T z0DQ!e7Jzfu-Ne)Y)Vpr literal 0 HcmV?d00001 diff --git a/public/img/Weather.png b/public/img/Weather.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b667e241a2e2b15cda2457b1c6d1651ed98a31 GIT binary patch literal 393 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 P5&)`-8raJF=7IkY&r_+6 literal 0 HcmV?d00001 diff --git a/public/img/blue.png b/public/img/blue.png new file mode 100644 index 0000000000000000000000000000000000000000..afe426a458c08d866b7f7c09fada72cc2f537b0b GIT binary patch literal 895 zcmV-_1AzRAP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ<1xZ9fRCwClS6@g|Q5gT`{&;s+)3sVl+oaMd5gRqs7ClJh5E{NE^x$0&v8aT= z5G3(Q7D6cm6*YqJ`VdGjiR&SI=%JKZ1{-_v4}@EyEH|&Zd+)*BxIM(gwrkt&ok<-y zFZVn5`+n#Ae&_qXBjb4<_HvZK9*;c-peXc*o}t;csUTG!Tm50!{=Ly|3|ziY@v8Y` zX{-=`vV1krGc?;a_C9_I)2Pt_qt;_8mu=ai6c1>PgTzXlwACttWOw~wQ2`MBpE_s0 zDQj(YWu8O(Q}BI5xfL{XFf8LkG>bj$Ieo)XjWLn|WCs5dRR{*o00COn=7aIUhAv4W zB;Q7?!5PkGt1I&W08E4-XK(-jT#du}rb_F1^!27B0FOr#w<=B?CIA5D7E%R?6<6b) z!1QwCaPE|_4@{#b#y&<|q5uTK zi)RfwIUyvrhu2KtsKx+S0hsg(@VYHfQ>7H7Vk$`0ivkc`T06?g%d>*lR4Kt?%ns&q z7zF)f=8JzP6=VAjB8JVr#&ZiPm|ac@Q6}iepp(Z$0XT1we*gfVknQ&KC``_yUsT08 z=zp^g6Jg65>*Qbr#Uq6auLJT*|!L-ad7upB&eanGN4M>IP8CN$tI~G$>-WpNv;F{c*&XYzkQtk8~`J# VxL5t#{Sp8G002ovPDHLkV1n!Zkskm6 literal 0 HcmV?d00001 diff --git a/public/img/car.svg b/public/img/car.svg new file mode 100644 index 0000000..1462573 --- /dev/null +++ b/public/img/car.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/img/daosanjiao.svg b/public/img/daosanjiao.svg new file mode 100644 index 0000000..0adfb0b --- /dev/null +++ b/public/img/daosanjiao.svg @@ -0,0 +1,12 @@ + + + + + + + diff --git a/public/img/del.png b/public/img/del.png new file mode 100644 index 0000000000000000000000000000000000000000..5111acf5474aa4c9aaa941ce69f1f21c9da9553a GIT binary patch literal 5767 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 literal 0 HcmV?d00001 diff --git a/public/img/draw-point.png b/public/img/draw-point.png new file mode 100644 index 0000000000000000000000000000000000000000..c5aaa907301c6b01706a86b43a3ce2c9a243722e GIT binary patch literal 9034 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 UIvg{I<`{s2tg1};JCl(A0UIt}kpKVy literal 0 HcmV?d00001 diff --git a/public/img/duobianxing.png b/public/img/duobianxing.png new file mode 100644 index 0000000000000000000000000000000000000000..4b82999ed2a3c0d8171fddce132c2f4794e43791 GIT binary patch literal 376 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 V>Cjr2-o(YbjIWm;xzv+-_&-in?5qF) literal 0 HcmV?d00001 diff --git a/public/img/eye-close.png b/public/img/eye-close.png new file mode 100644 index 0000000000000000000000000000000000000000..8486c4667bc0e2c86764acd9222367b778fd5a7d GIT binary patch literal 7712 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 JqILht{{X+Za|Zwb literal 0 HcmV?d00001 diff --git a/public/img/eye-open.png b/public/img/eye-open.png new file mode 100644 index 0000000000000000000000000000000000000000..9d2a7cc3ef54ee673fde14f48dff845d7983f913 GIT binary patch literal 6154 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 Ug=N}TrJo!ajdF-AGCt1v5BR&(o&W#< literal 0 HcmV?d00001 diff --git a/public/img/guiji.png b/public/img/guiji.png new file mode 100644 index 0000000000000000000000000000000000000000..7c69f0b6b887417e07526b371dd1288cf0882367 GIT binary patch literal 276 zcmV+v0qg#WP)IBE zoEk!?$*pWE5Ne3LNoY{`1$T+(S>MN;8(#b7#DPunT(j@O70WzT->qBm#F;ZAvh1oy zB + + 轨迹 + Created with Sketch. + + + + + + + + + diff --git a/public/img/jiantou.png b/public/img/jiantou.png new file mode 100644 index 0000000000000000000000000000000000000000..c9bcf637d8a0d4bf67fb2ef6c061ec8b41948739 GIT binary patch literal 476 zcmeAS@N?(olHy`uVBq!ia0vp^!9dK(!N$PAXt_Xv9mruU4sv&5Sa(k5C6MEi8sVAd z>&u`8WOFbuwr4W1fRq5S6c95oFfU+aUhi=Q%E$MlJE@7^s)3+U4^ON6bO6PRv6-B$wS1&rmc~kVq zjSC-aJVmEJ+T0Og`J{sJR|Mmed~D0Erp>69h<<#{&G1k9 zgceR7iNF8r`OS7qN=imYNc=Z`!XT^J?aNquRAT;tH_q!+{u%%Amodo{dUl|3+3loj zH4N7n7HGW^HmLVWd6fFzU0=a9>U=sFKJ*=Ma)3|eD y`(FNOMUuB4Ut|0C`+L3Yu2X?_D-{n^a4^&~6@H%(@_iL3WIbK|T-G@yGywpiz^>>3 literal 0 HcmV?d00001 diff --git a/public/img/jizhuangxiang.png b/public/img/jizhuangxiang.png new file mode 100644 index 0000000000000000000000000000000000000000..75ebd9a0e8750103829b41f5ec0a3f454dbc114e GIT binary patch literal 297 zcmV+^0oMMBP)Px#<4Ht8R5(xVld&#DQ4~ejQi#wgRWv$3AdwJXpqWPD6DUwgW>nKsX-A?FwOS)S zLMa+wvE{zZn_R()8Ri&`2t vQR@x&59d}rtrqmIZddtCpDnEKbM$H7U`(@Zt+ro<00000NkvXXu0mjfz^->U literal 0 HcmV?d00001 diff --git a/public/img/juxing.png b/public/img/juxing.png new file mode 100644 index 0000000000000000000000000000000000000000..c6aa3d99ba357e1272fcff12a2dd49cb634a20e2 GIT binary patch literal 302 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 FV1kl}7a;%u literal 0 HcmV?d00001 diff --git a/public/img/logo.svg b/public/img/logo.svg new file mode 100644 index 0000000..80518f7 --- /dev/null +++ b/public/img/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/img/logo1.png b/public/img/logo1.png new file mode 100644 index 0000000000000000000000000000000000000000..0147f677ff14ba51e5e4779ad51d5dd1737a7aeb GIT binary patch literal 9694 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 literal 0 HcmV?d00001 diff --git a/public/img/mao_ico.png b/public/img/mao_ico.png new file mode 100644 index 0000000000000000000000000000000000000000..8965b81795eb0205a55e5272b2e1aabf77876de7 GIT binary patch literal 520 zcmV+j0{8uiP)HVo9FpM099-4ZO`)_@3?0N#&NvL%*V9WcZx(8D;(HH zud4u#E2Y+UB*$@lmzl3SSVXD-7KrH2nndJPy2#LLz!kLI z=+_J+kTx_*k=~m!>auh}7EXx+j81qv^UITbDolfuj zzCUpv70Je!TST-hA{UA1rjtLo@&JUx;czVo0y|GmlH@88J^4F=?0}OK0Ea~61T(KF zrQQ|EQ4}4iR4NawwU(LpD5cI*yWQT`Xf%EpW3B+`646_0?F%A01z-ulOA)zDM3(^E z(^_}pI6mkmziCy2!C?1jG+G95MnnXFC8AwK^eIi#XD-R?V1EN*`^dK=`{jcG0000< KMNUMnLSTaH9Poqy literal 0 HcmV?d00001 diff --git a/public/img/marineWeather.png b/public/img/marineWeather.png new file mode 100644 index 0000000000000000000000000000000000000000..34712617ee0a75406e92576eff8188c30c7a7a78 GIT binary patch literal 289 zcmV++0p9+JP)dOgh~ z$5`&ePhtfxSinTDp_1I=ZAkY`EaIf9u6yA87f#E6GE*wQ<$%#`j9HiM27H zCA9E_FSMID$Hxe82B&z%BZ9dGZU+EU*w$IrGY+w@bD4Hk9n_#wN#=2hPds3ws&;;R n20lquec%e;*uv3>(f&|B<9b3LMT diff --git a/public/img/point.png b/public/img/point.png new file mode 100644 index 0000000000000000000000000000000000000000..704f0e5a3e3d68729d12d9c3fed4b05ab81995a6 GIT binary patch literal 2114 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST_$yF%}28J29*~C-ahlf&GuCi(^Pd z+}pW(CxxU6wB6swu$N7@gE83T%B2AP1`$E$dOat@FYG~j4ovzvDpEql+ZF;(sjRHfXF(*q7klM_tz;T|B!={;`>BE-> zAR*Jx;NB1}&@Ub8%c0;gc|qi5g^HsA1944qaZeHfj;AoQUG>s3+J0Jz`=!{FO1~oE|FVv159V$!>G`;8Nx$me z>U*>P|E&M6a<{8vez;YC@;QYD1!+6eV-lxVA9+6M-u)G4b3Ny~9homZ_x`^KmYXj$ z4USbrUoxK*cXP$j$;tAby95RA=igcW^drY6$2ZA6{3^9u4_-WP^(oDzW^eI%@qMyQ zYh*r3Bv-EA_$OlO#~&(6d8sCKfz?VUx=yO?Et+$$A$*dkvFn7X33B&}Yqno1+8rKdia|C6J9;FbB<3%Q~Kr~leoXGqP3=I*78&DU5`{} z%inrw!!pz3cR~Ku^}_CN0;^i9x7VEEc(ge>&URWhpS-WkM)#NEf*WIIKTH&G5MaL5 zY5x4QZNT~J@OLimtG^Vw=wp5O!Pqvd*KYKp+ z-{FoMzwd4Me6H-ue}2a^6@6cB9gnq-ppz5W4|T4?Acm=S$v^< z(+tf%!+$p(=G&fmIZvxvL~#AO(un270!MtLff|mU5;(%cgTd%Af2p=331}ozw9jc9$0nvDhp)^0sdFj+t|u>3K6Ab641RIPXOjPFndEJE37t^3W^)YVdE)Vp zXZq@A+G$-1+J|iRO#1MZUEBDq4WFagg85&(4rw1}i&Q$n7T~`}{h{^^vq!tHZ{*md z`10^|rJ8LI)%WYiKiXNdS|q-BLtr1rCczt%kAE_~VC`^k1#43d%eVb~ws&@y`d%u1 ztn58KywiHpyHAN%ez&$M{NDI4e0j4@_;l_nq+AlE=Wy@&V&~!}rwKCeN_2t6V;9TO z8I~*pD(%*>-N2Gm$zopr0C%NcbN~PV literal 0 HcmV?d00001 diff --git a/public/img/port.png b/public/img/port.png new file mode 100644 index 0000000000000000000000000000000000000000..34f7da840991b1401fe4c7ec8230f285cab26cf7 GIT binary patch literal 1442 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&k$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|81#=KlDb#X~hD#E>34K5C;EJ)Q4 zN-fSWElLJPT$(b-ssbzLqSVBa{GyQj{2W*)24v)y2=9ZF3nBND}m`vLFhHbsTY(KatnYqyQCInmZhe+73JqDfW2&$iQ6qkIL(9V zO~LIJW1M>RfsWA!MJ!T8!-RmT2gHOYTObFX@Kf`Esl5o8tV3-YW-u@?iFvv>hE&{= z3G~hu4ix$K>|UkXIaZ4A`$;C8yu%jQ$ETP zy97gA0+zUBuGZD-+B)q@i(0Pw+%qc1=EZw=SgbDI_k7~KnyBM{oc3n@wz&W8=fv3d zrB=3L-z}GO&i$pOx?8gMk3`=^ad9>7_fNOkuGkZuwfCC|>#UUv-v8)m3271SYI}N^ zL-0@L#!H{{&1!$`DDS&s_NH6zp~o`bfMbCkZ6E%m2^xp@Cz>pC`eYI0$sBj!jcc@oBa#IDBr2k_ z7rkZA_-j>&p(2dw#CjUX=+Z~3mdWMd~b?sXMUT-l-(KQiy5H<2@ow6uh}-WT z-FqXnWCr8hMY_+0pB=k5t+c38-Qnj&rf2WwIO(iv6yOw2Hq+v_Pxh@5J#@4}Z?j&w zTG9D^Yt8f&6O&ReAG*@4uOWWl4V@#X51iy>DpOnH?S zqi<&Q_si+^Uky~aj91;>$sA>zeMvNy_t|5`Umxc)Ff$0$K4W(eyq^gwH9cMZT-G@y GGywo?Boc4{ literal 0 HcmV?d00001 diff --git a/public/img/portIcon.png b/public/img/portIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..4668710bb5a94db3f2b0ee013bae2d451c84a2ce GIT binary patch literal 6433 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